WDF_DECLARE_CONTEXT_TYPE_WITH_NAME 宏

[适用于 KMDF 和 UMDF]

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME 宏为驱动程序的对象特定上下文空间创建具有指定名称的访问器方法。

语法

void WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(
    _contexttype,
    _castingfunction
);

参数

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

_castingfunction
C 语言例程名称。 宏使用此名称作为它为对象的上下文空间创建的访问器方法的名称。

返回值

此宏不返回值。

注解

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

示例

下面的代码示例定义请求对象的上下文结构 (MY_REQUEST_CONTEXT) 。 然后,该示例调用 WDF_DECLARE_CONTEXT_TYPE_WITH_NAME 宏来注册 结构,并指定上下文访问器方法将命名为 RequestGetMyContext

typedef struct _MY_REQUEST_CONTEXT {
  LIST_ENTRY ListEntry;
  WDFMEMORY Memory;
} MY_REQUEST_CONTEXT, *PMY_REQUEST_CONTEXT;

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(MY_REQUEST_CONTEXT, RequestGetMyContext)

下面的代码示例创建一个请求对象,然后使用 RequestGetMyContext 访问器方法获取指向该对象的上下文空间的指针。

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 = RequestGetMyContext(Request);

要求

目标平台

通用

最低 KMDF 版本

1.0

最低 UMDF 版本

2.0

标头

Wdfobject.h (包括 Wdf.h)

另请参阅

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE