WdfObjectGetTypedContext マクロ
[KMDF と UMDF に適用されます]
WdfObjectGetTypedContext マクロは、オブジェクトのコンテキスト空間へのポインターを返します。
構文
PVOID WdfObjectGetTypedContext(
Handle,
Type
);
パラメーター
Handle
フレームワーク オブジェクトへのハンドル。
Type
オブジェクトのコンテキスト空間を記述するドライバー定義構造体のシンボル名。
戻り値
WdfObjectGetTypedContext は 、指定されたオブジェクトのコンテキスト空間へのポインターを返します。
注釈
WdfObjectGetTypedContext マクロを使用して、フレームワーク オブジェクトのコンテキスト空間へのポインターを取得できます。 このマクロは、オブジェクト固有のコンテキスト アクセサー メソッドを呼び出す代わりに使用します。このメソッドは、WDF_DECLARE_CONTEXT_TYPEマクロまたは WDF_DECLARE_CONTEXT_TYPE_WITH_NAMEマクロです。 WdfObjectGetTypedContext を使用する場合でも、オブジェクト コンテキストを宣言するには、WDF_DECLARE_CONTEXT_TYPEまたはWDF_DECLARE_CONTEXT_TYPE_WITH_NAMEを使用する必要があります。
これらのマクロの詳細については、「フレームワーク オブジェクトコンテキスト 空間」を参照してください。
例
次のコード例では、要求オブジェクトのコンテキスト構造 (MY_REQUEST_CONTEXT) を定義し、その構造体を登録します。
typedef struct _MY_REQUEST_CONTEXT {
LIST_ENTRY ListEntry;
WDFMEMORY Memory;
} MY_REQUEST_CONTEXT, *PMY_REQUEST_CONTEXT;
WDF_DECLARE_CONTEXT_TYPE(MY_REQUEST_CONTEXT)
次のコード例では、要求オブジェクトを作成し、そのコンテキスト空間へのポインターを取得します。
WDFREQUEST Request;
WDF_OBJECT_ATTRIBUTES MyRequestObjectAttributes;
PMY_REQUEST_CONTEXT pMyContext;
WDF_OBJECT_ATTRIBUTES_INIT(&MyRequestObjectAttributes);
WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE(
&MyRequestObjectAttributes,
MY_REQUEST_CONTEXT
);
status = WdfRequestCreate(
&MyRequestObjectAttributes,
NULL,
&Request
);
if (!NT_SUCCESS(status)) {
return status;
}
pMyContext = WdfObjectGetTypedContext(
Request,
MY_REQUEST_CONTEXT
);
要件
ターゲット プラットフォーム |
ユニバーサル |
最小 KMDF バージョン |
1.0 |
最小 UMDF バージョン |
2.0 |
Header |
Wdfobject.h (Wdf.h を含む) |
ライブラリ |
Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL |
任意のレベル |