Condividi tramite


funzione WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE (wdfiotarget.h)

[Si applica solo a KMDF]

La funzione WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE inizializza la struttura di WDF_IO_TARGET_OPEN_PARAMS di un driver in modo che il driver possa aprire una destinazione di I/O remota specificando un oggetto dispositivo WDM (Windows Driver Model).

Sintassi

void WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE(
  [out] PWDF_IO_TARGET_OPEN_PARAMS Params,
  [in]  PDEVICE_OBJECT             DeviceObject
);

Parametri

[out] Params

Puntatore a una struttura WDF_IO_TARGET_OPEN_PARAMS allocata dal driver che la funzione inizializza.

[in] DeviceObject

Puntatore a una struttura DEVICE_OBJECT , utilizzata come valore per il membro DeviceObject della struttura WDF_IO_TARGET_OPEN_PARAMS .

Valore restituito

nessuno

Osservazioni

La struttura WDF_IO_TARGET_OPEN_PARAMS viene usata come input per il metodo WdfIoTargetOpen .

La funzione WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE inizializza i membri Size, Type e TargetDeviceObject della struttura di WDF_IO_TARGET_OPEN_PARAMS specificata.

In genere, un driver imposta il membro TargetFileObject della struttura WDF_IO_TARGET_OPEN_PARAMS dopo che il driver ha chiamato WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE.

Per altre informazioni sulle destinazioni di I/O, vedere Uso delle destinazioni di I/O.

Esempio

L'esempio di codice seguente crea un oggetto di destinazione I/O e apre la destinazione specificando una struttura DEVICE_OBJECT. Il driver di esempio ottiene la struttura DEVICE_OBJECT chiamando NdisMGetDeviceProperty (non visualizzato).

WDF_IO_TARGET_OPEN_PARAMS  openParams;
NTSTATUS  ntStatus;

ntStatus = WdfIoTargetCreate(
                             Adapter->WdfDevice,
                             WDF_NO_OBJECT_ATTRIBUTES,
                             &Adapter->IoTarget
                             );
if (!NT_SUCCESS(ntStatus)) {
    DEBUGP(MP_ERROR, ("WdfIoTargetCreate failed 0x%x\n", ntStatus));
    break;
}

WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE(
                                               &openParams,
                                               Adapter->NextDeviceObject
                                               );

ntStatus = WdfIoTargetOpen(Adapter->IoTarget,
                           &openParams);
if (!NT_SUCCESS(ntStatus)) {
    DEBUGP(MP_ERROR, ("WdfIoTargetOpen failed 0x%x\n", ntStatus));
    break;
}

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Intestazione wdfiotarget.h (include Wdf.h)
IRQL Qualsiasi livello

Vedi anche

WDF_IO_TARGET_OPEN_PARAMS

WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME

WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME

WdfIoTargetOpen