IoGetLowerDeviceObject 関数 (ntifs.h)
IoGetLowerDeviceObject ルーチンは、ドライバー スタック上の次の下位レベルのデバイス オブジェクトへのポインターを返します。
構文
PDEVICE_OBJECT IoGetLowerDeviceObject(
[in] PDEVICE_OBJECT DeviceObject
);
パラメーター
[in] DeviceObject
次の下位レベルのデバイス オブジェクトが返されるスタック内のデバイス オブジェクトへのポインター。
戻り値
IoGetLowerDeviceObject は、ドライバー スタック上の次の下位レベルのデバイス オブジェクトへのポインターを返します。
注釈
ファイル システムまたはデバイス ドライバー スタック内のデバイス オブジェクトへのポインターを指定すると、 IoGetLowerDeviceObject は スタック上の次の下位レベルのデバイス オブジェクトへのポインターを返します。
IoGetLowerDeviceObject は、 次の場合に NULL を返します。
次の下位レベルのドライバーは読み込まれません。
次の下位レベルのドライバーは現在、アンロード、削除、または削除されています。
DeviceObject が指すデバイス オブジェクトは、ドライバー スタック内で最も低いデバイス オブジェクトです。
ファイル システム フィルター ドライバーは、通常 、IoGetLowerDeviceObject を使用して、特定のファイル システム デバイス オブジェクトの上にチェーンされているフィルター ドライバー スタックに既にアタッチされているかどうかを判断します。 最初に、フィルターは IoGetAttachedDeviceReference を呼び出して、スタック内の最上位のデバイス オブジェクトへのポインターを取得します。 次に、 IoGetLowerDeviceObject を繰り返し呼び出してドライバー スタックをウォークし、各デバイス オブジェクトを確認して、オブジェクトがフィルター ドライバーに属しているかどうかを確認します。
IoGetLowerDeviceObject は、次の下位レベルのデバイス オブジェクトが存在する場合、参照カウントをインクリメントします。 したがって、NULL を返さない IoGetLowerDeviceObject の呼び出しはすべて、後続の ObDereferenceObject 呼び出しで一致する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 SP4 更新プログラムのロールアップ。Windows XP |
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示