[适用于 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) |
图书馆 | Wdf01000.sys(KMDF):WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
DDI 符合性规则 | DeviceInitAPI(kmdf),DriverCreate(kmdf),DrvAckIoStop(kmdf),KmdfIrql(kmdf),KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf) |