次の方法で共有


IoGetAttachedDevice 関数 (ntifs.h)

IoGetAttachedDevice ルーチンは、指定したデバイスに関連付けられている最上位のデバイス オブジェクトへのポインターを返します。

構文

PDEVICE_OBJECT IoGetAttachedDevice(
  [in] PDEVICE_OBJECT DeviceObject
);

パラメーター

[in] DeviceObject

最上位の接続デバイスが返されるデバイス オブジェクトへのポインター。

戻り値

IoGetAttachedDevice は、指定されたデバイスに接続されている最上位レベルのデバイスを返します。

備考

DeviceObject で指定されたデバイス オブジェクトに他のデバイス オブジェクトがアタッチされていない場合は、DeviceObject し、返されるポインターは等しくなります。

IoGetAttachedDevice は、次の点で IoGetAttachedDeviceReferenceとは異なります。

  • IoGetAttachedDevice は、デバイス オブジェクトの参照カウントをインクリメントしません。 (したがって、obDereferenceObject一致する呼び出しは必要ありません)。

  • IoGetAttachedDevice の呼び出し元は、IoGetAttachedDevice の実行中 デバイス オブジェクトがスタックに追加されたりスタックから削除されたりしないようにする必要があります。 これを行うことができない呼び出し元は、代わりに IoGetAttachedDeviceReference使用する必要があります。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー ntifs.h (Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

関連項目

IoGetAttachedDeviceReference

ObDereferenceObject