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