Compartir a través de


función WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE (wdfiotarget.h)

[Solo se aplica a KMDF]

La función WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE inicializa la estructura de WDF_IO_TARGET_OPEN_PARAMS de un controlador para que el controlador pueda abrir un destino de E/S remoto especificando un objeto de dispositivo modelo de controlador de Windows (WDM).

Sintaxis

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

Parámetros

[out] Params

Puntero a una estructura de WDF_IO_TARGET_OPEN_PARAMS asignada por el controlador que inicializa la función.

[in] DeviceObject

Puntero a una estructura DEVICE_OBJECT , que se usa como valor para el miembro DeviceObject de la estructura WDF_IO_TARGET_OPEN_PARAMS .

Valor devuelto

None

Observaciones

La estructura WDF_IO_TARGET_OPEN_PARAMS se usa como entrada para el método WdfIoTargetOpen .

La función WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE inicializa los miembros Size, Type y TargetDeviceObject de la estructura WDF_IO_TARGET_OPEN_PARAMS especificada.

Normalmente, un controlador establece el miembro TargetFileObject de la estructura WDF_IO_TARGET_OPEN_PARAMS después de llamar al controlador WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE.

Para obtener más información sobre los destinos de E/S, consulte Uso de destinos de E/S.

Ejemplos

En el ejemplo de código siguiente se crea un objeto de destino de E/S y se abre el destino especificando una estructura de DEVICE_OBJECT. El controlador de ejemplo obtiene la estructura DEVICE_OBJECT llamando a NdisMGetDeviceProperty (no se muestra).

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;
}

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Encabezado wdfiotarget.h (incluya Wdf.h)
IRQL Cualquier nivel

Consulte también

WDF_IO_TARGET_OPEN_PARAMS

WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME

WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME

WdfIoTargetOpen