WDF_DECLARE_CONTEXT_TYPE宏

[適用於 KMDF 和 UMDF]

WDF_DECLARE_CONTEXT_TYPE宏會為驅動程序的物件特定內容空間建立名稱和存取子方法。

語法

void WDF_DECLARE_CONTEXT_TYPE(
    _contexttype
);

參數

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

傳回值

這個宏不會傳回值。

備註

如需使用此宏的詳細資訊,請參閱 Framework 對象內容空間

範例

下列程式代碼範例會定義要求對象的內容結構 (MY_REQUEST_CONTEXT) 、註冊結構,然後叫用WDF_DECLARE_CONTEXT_TYPE宏。 宏會建立內容結構的存取子方法,並將方法命名 為WdfObjectGet_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)

下列程式代碼範例會建立要求對象,然後使用 WdfObjectGet_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 = WdfObjectGet_MY_REQUEST_CONTEXT(Request);

規格需求

目標平台

Universal

最低 KMDF 版本

1.0

最低UMDF版本

2.0

標頭

Wdfobject.h (包含 Wdf.h)

另請參閱

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME