共用方式為


WdfObjectGetTypedContext 宏

[適用於 KMDF 和 UMDF]

WdfObjectGetTypedContext 宏會傳回對象的內容空間指標。

語法

PVOID WdfObjectGetTypedContext(
    Handle,
    Type
);

參數

Handle
架構物件的句柄。

類型
描述物件內容空間之驅動程式定義結構的符號名稱。

傳回值

WdfObjectGetTypedContext 會傳回指定之對象內容空間的指標。

備註

您可以使用 WdfObjectGetTypedContext 宏,取得任何架構對象內容空間的指標。 使用此宏做為呼叫物件特定內容存取子方法的替代方法,該方法是由 WDF_DECLARE_CONTEXT_TYPE 宏或 WDF_DECLARE_CONTEXT_TYPE_WITH_NAME 宏所建立。 請注意,如果您使用 WdfObjectGetTypedContext,您仍必須使用WDF_DECLARE_CONTEXT_TYPE或WDF_DECLARE_CONTEXT_TYPE_WITH_NAME來宣告對象內容。

如需這些宏的詳細資訊,請參閱 Framework 對象內容空間

範例

下列程式代碼範例會定義要求對象的內容結構 (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
                                      );

規格需求

目標平台

Universal

最小 KMDF 版本

1.0

最低UMDF版本

2.0

標頭

Wdfobject.h (包含 Wdf.h)

媒體櫃

Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF)

IRQL

任何層級

另請參閱

WDF_DECLARE_CONTEXT_TYPE

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME