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

任意のレベル

こちらもご覧ください

WDF_DECLARE_CONTEXT_TYPE

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME