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.
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) |