Compartir a través de


Función WdfFdoInitSetFilter (wdffdo.h)

[Se aplica a KMDF y UMDF]

El método WdfFdoInitSetFilter identifica el controlador de llamada como un controlador de nivel superior o inferior controlador de filtro, para un dispositivo especificado.

Sintaxis

void WdfFdoInitSetFilter(
  [in] PWDFDEVICE_INIT DeviceInit
);

Parámetros

[in] DeviceInit

Puntero a una estructura WDFDEVICE_INIT que el controlador obtuvo de su EvtDriverDeviceAdd función de devolución de llamada.

Valor devuelto

Ninguno

Observaciones

Normalmente, los controladores de filtro procesan algunas solicitudes de E/S, pero simplemente pasan la mayoría de las solicitudes al siguiente controlador de la pila de controladores. Si el marco recibe una solicitud para uno de los dispositivos del controlador y si el controlador no ha creado una cola de E/S para recibir solicitudes que coincidan con el tipo de solicitud, la forma en que el marco procesa la solicitud depende de si el controlador ha llamado a WdfFdoInitSetFilter:

  • Si un controlador llama a WdfFdoInitSetFilter, el marco de trabajo del controlador reenvía la solicitud al siguiente controlador.
  • Si un controlador no llama a WdfFdoInitSetFilter, el marco completa la solicitud con un valor de estado de STATUS_INVALID_DEVICE_REQUEST.
Si un controlador llama a WdfFdoInitSetFilter, no debe llamar a WdfDeviceInitSetIoType, WdfDeviceInitSetPowerInrusho WdfDeviceInitSetPowerPageable porque el marco omite la información proporcionada por estas llamadas. En su lugar, el marco obtiene esta información del objeto de dispositivo siguiente inferior en la pila de dispositivos del controlador.

El controlador debe llamar a WdfFdoInitSetFilter antes de llamar a WdfDeviceCreate. Para obtener más información sobre cómo llamar a WdfDeviceCreate, vea Creating a Framework Device Object. Además, el controlador debe llamar a WdfFdoInitSetFilter antes de volver de su Función de devolución de llamada EvtDriverDeviceAdd.

Para obtener más información sobre WdfFdoInitSetFilter, vea Crear objetos de dispositivo en un controlador de filtro, crear colas de E/S y solicitudes de E/S de reenvío.

Ejemplos

En el ejemplo de código siguiente se identifica el controlador que llama como controlador de filtro para el dispositivo especificado.

WdfFdoInitSetFilter(DeviceInit);

Requisitos

Requisito Valor
de la plataforma de destino de Universal
versión mínima de KMDF 1.0
versión mínima de UMDF 2.0
encabezado wdffdo.h (incluya Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
irQL PASSIVE_LEVEL
reglas de cumplimiento de DDI DeviceInitAPI(kmdf), DriverCreate(kmdf), DrvAckIoStop(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

WDFDEVICE_INIT