次の方法で共有


WdfObjectDereferenceActual 関数 (wdfobject.h)

[KMDF と UMDF に適用]

WdfObjectDereferenceActual メソッドは、指定したフレームワーク オブジェクトの参照カウントをデクリメントし、タグ値、行番号、およびファイル名を参照に割り当てます

構文

void WdfObjectDereferenceActual(
  [in]           WDFOBJECT Handle,
  [in, optional] PVOID     Tag,
  [in]           LONG      Line,
  [in, optional] PCCH      File
);

パラメーター

[in] Handle

フレームワーク オブジェクトへのハンドル。

[in, optional] Tag

オブジェクト参照を識別するドライバー定義の値。 タグ値は、ドライバーが WdfObjectReferenceActual に以前に指定したタグ値と一致する必要があります。

[in] Line

ドライバー ソース ファイル内の行番号を表す数値。

[in, optional] File

ドライバー ソース ファイルの名前を表す null で終わる定数文字列へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。

戻り値

なし

解説

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

オブジェクトの参照カウントが 0 になると、 WdfObjectDereferenceActual が返される前にオブジェクトが削除される可能性があります。

WdfObjectDereference の代わりに WdfObjectDereferenceActual または WdfObjectDereferenceWithTag を呼び出すと、Microsoft デバッガーに追加情報 (タグ文字列、行番号、ファイル名) が提供されます。 WdfObjectDereferenceActual を使用すると、ドライバーで行番号とファイル名を指定できます。一方、 WdfObjectDereferenceWithTag はドライバーの現在の行番号とファイル名を使用します。

!wdftagtracker デバッガー拡張機能を使用して、タグ、行番号、およびファイル名の値を表示できます。 デバッガー拡張機能は、ポインターと一連の文字の両方としてタグ値を表示します。 デバッガー拡張機能の詳細については、「 KMDF ドライバーのデバッグ」を参照してください。

オブジェクト参照カウントとフレームワーク オブジェクト階層のクリーンアップ規則の詳細については、「 Framework オブジェクトのライフ サイクル」を参照してください。

次のコード例では、オブジェクトの参照カウントをデクリメントし、タグ値、行番号、およびファイル名を参照に割り当てます。

WdfObjectDereferenceActual(
                           object,
                           pTag,
                           line,
                           FILE_NAME
                           );

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfobject.h (Wdf.h を含む)
Library Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf)

こちらもご覧ください

WdfObjectDereference

WdfObjectReferenceActual