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完成要求。
驅動程式必須先呼叫 WdfFdoInitSetFilter ,才能呼叫 WdfDeviceCreate。 如需呼叫 WdfDeviceCreate 的詳細資訊,請參閱 建立架構裝置物件。 此外,驅動程式必須先呼叫 WdfFdoInitSetFilter ,才能從 其 EvtDriverDeviceAdd 回呼函式傳回。
如需 WdfFdoInitSetFilter 的詳細資訊,請參閱 在篩選驅動程式中建立裝置物件、 建立 I/O 佇列 和 轉送 I/O 要求。
範例
下列程式代碼範例會將呼叫驅動程序識別為指定裝置的篩選驅動程式。
WdfFdoInitSetFilter(DeviceInit);
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最低 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) |