IoGetDeviceAttachmentBaseRef 関数 (ntifs.h)
IoGetDeviceAttachmentBaseRef ルーチンは、ファイル システムまたはデバイス ドライバー スタック内の最下位レベルのデバイス オブジェクトへのポインターを返します。
構文
PDEVICE_OBJECT IoGetDeviceAttachmentBaseRef(
[in] PDEVICE_OBJECT DeviceObject
);
パラメーター
[in] DeviceObject
スタック内のデバイス オブジェクトへのポインター。
戻り値
IoGetDeviceAttachmentBaseRef は、ファイル システムまたはデバイス ドライバー スタックの下部にあるデバイス オブジェクトへのポインターを返します。 指定されたデバイス オブジェクトがドライバー スタックにアタッチされていない場合、IoGetDeviceAttachmentBaseRef は、DeviceObject 内のデバイス オブジェクト ポインター返します。
備考
通常、ファイル システム フィルター ドライバーは、IoGetDeviceAttachmentBaseRef 呼び出して、ファイル システム ドライバー スタック内の最下位レベルのデバイス オブジェクトを取得します。 多くの場合、これは、フィルター ドライバーが、ファイル システムがアクティブなファイル システムとして自身を登録または登録解除したことを示す通知を受け取ったときに行われます。 フィルター ドライバーの通知コールバック ルーチンは、IoGetDeviceAttachmentBaseRef 呼び出してファイル システムのコントロール デバイス オブジェクトへのポインターを取得し、ObQueryNameString を呼び出して、デバッグ目的でこのオブジェクトの名前を取得します。
IoGetDeviceAttachmentBaseRef 、スタックの下部にあるデバイス オブジェクトの参照カウントをインクリメントします。 したがって、IoGetDeviceAttachmentBaseRef への正常な呼び出しはすべて、後続の obDereferenceObject への呼び出し照合する必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 SP4 更新プログラムのロールアップ。Windows XP |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ntifs.h (Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
関連項目
IoEnumerateDeviceObjectList の
IoGetLowerDeviceObject の
IoRegisterFsRegistrationChange の
IoUnregisterFsRegistrationChange の
ObQueryNameString を する