WDF_DECLARE_CONTEXT_TYPE 宏

[适用于 KMDF 和 UMDF]

WDF_DECLARE_CONTEXT_TYPE 宏为驱动程序的特定于对象的上下文空间创建名称和访问器方法。

语法

void WDF_DECLARE_CONTEXT_TYPE(
    _contexttype
);

参数

_contexttype
驱动程序定义的结构的结构类型名称,用于描述对象的上下文空间的内容。

返回值

此宏不返回值。

注解

有关使用此宏的详细信息,请参阅 框架对象上下文空间

示例

下面的代码示例定义请求对象的上下文结构 (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);

要求

目标平台

通用

最低 KMDF 版本

1.0

最低 UMDF 版本

2.0

标头

Wdfobject.h (包括 Wdf.h)

另请参阅

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME