WdfFdoInitSetFilter 函数 (wdffdo.h)
[适用于 KMDF 和 UMDF]
WdfFdoInitSetFilter 方法将调用驱动程序标识为指定设备的上级或较低级别的筛选器驱动程序。
语法
void WdfFdoInitSetFilter(
[in] PWDFDEVICE_INIT DeviceInit
);
参数
[in] DeviceInit
指向驱动程序从其 EvtDriverDeviceAdd 回调函数获取的WDFDEVICE_INIT结构的指针。
返回值
无
备注
筛选器驱动程序通常处理某些 I/O 请求,但它们只是将大多数请求传递到驱动程序堆栈中的下一个驱动程序。 如果框架收到针对某个驱动程序设备的请求,并且驱动程序尚未创建 I/O 队列来接收与请求类型匹配的请求,则框架处理请求的方式取决于驱动程序是否调用 了 WdfFdoInitSetFilter:
- 如果驱动程序调用 WdfFdoInitSetFilter,驱动程序框架会将请求转发到下一个驱动程序。
- 如果驱动程序不调用 WdfFdoInitSetFilter,框架将完成状态值为 STATUS_INVALID_DEVICE_REQUEST 的请求。
驱动程序必须在调用 WdfDeviceCreate 之前调用 WdfFdoInitSetFilter。 有关调用 WdfDeviceCreate 的详细信息,请参阅 创建框架设备对象。 此外,驱动程序必须在从其 EvtDriverDeviceAdd 回调函数返回之前调用 WdfFdoInitSetFilter。
有关 WdfFdoInitSetFilter 的详细信息,请参阅 在筛选器驱动程序中创建设备对象、 创建 I/O 队列 和 转发 I/O 请求。
示例
下面的代码示例将调用驱动程序标识为指定设备的筛选器驱动程序。
WdfFdoInitSetFilter(DeviceInit);
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
标头 | wdffdo.h (包括 Wdf.h) |
Library | Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
DDI 符合性规则 | DeviceInitAPI (kmdf) 、 DriverCreate (kmdf) 、 DrvAckIoStop (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、KmdfIrqlExplicit (kmdf) |