次の方法で共有


IoGetAttachedDeviceReference 関数 (ntifs.h)

IoGetAttachedDeviceReference ルーチンは、ドライバー スタック内の最上位レベルのデバイス オブジェクトへのポインターを返し、そのオブジェクトの参照カウントをインクリメントします。

構文

PDEVICE_OBJECT IoGetAttachedDeviceReference(
  [in] PDEVICE_OBJECT DeviceObject
);

パラメーター

[in] DeviceObject

最上位のアタッチされたデバイス オブジェクトが取得されるデバイス オブジェクトへのポインター。

戻り値

IoGetAttachedDeviceReference は、オブジェクトの参照カウントをインクリメントした後、アタッチされたデバイス オブジェクトのスタック内の最上位レベルのデバイス オブジェクトへのポインターを返します。

備考

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

デバイス ドライバーライターは、この呼び出しを行う必要があるすべての操作を完了したときに、このルーチンによって返されるデバイス オブジェクト ポインター ObDereferenceObject を呼び出すようにする必要があります。 これを行わないと、未処理の参照カウントが原因で、システムがデバイス オブジェクトを解放または削除できなくなります。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000
ターゲット プラットフォーム 万国
ヘッダー ntifs.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 する DanglingDeviceObjectReference(wdm), HwStorPortProhibitedDDIs(storport)

関連項目

ObDereferenceObject