ObReferenceObject マクロ (wdm.h)
ObReferenceObject ルーチンは、指定されたオブジェクトに対して参照カウントをインクリメントします。
構文
void ObReferenceObject(
[in] Object
);
パラメーター
[in] Object
オブジェクトへのポインター。 呼び出し元は、オブジェクトを作成したとき、またはオブジェクトを開いた後の ObReferenceObjectByHandle の前の呼び出しから、このパラメーターを取得しました。
戻り値
なし
解説
ObReferenceObject は、システム使用のために予約されている値を返します。 ドライバーは、この値を VOID として扱う必要があります。
ObReferenceObject は、ObReferenceObjectByHandle および ObReferenceObjectByPointer のように、特定のオブジェクトに対するアクセス チェックを行わずに、オブジェクトのポインター参照カウントをインクリメントするだけです。
ObReferenceObject は、少なくとも、ドライバーがその後、その逆数、 ObDereferenceObject を呼び出すか、指定されたオブジェクトを閉じるまで、オブジェクトの削除を防止します。 呼び出し元は、オブジェクトで完了したらすぐに ObDereferenceObject を使用して参照カウントをデクリメントする必要があります。
オブジェクトの参照カウントが 0 に達すると、カーネル モード コンポーネントはシステムからオブジェクトを削除できます。 ただし、ドライバーは、作成したオブジェクトのみを削除できます。また、ドライバーが作成しなかったオブジェクトを削除しようとしないでください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs(storport) |