次の方法で共有


IoGetAttachedDevice 関数 (ntifs.h)

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

構文

PDEVICE_OBJECT IoGetAttachedDevice(
  [in] PDEVICE_OBJECT DeviceObject
);

パラメーター

[in] DeviceObject

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

戻り値

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

注釈

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

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

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

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

要件

要件
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

IoGetAttachedDeviceReference

ObDereferenceObject