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 来声明对象上下文。

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

示例

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

标头

Wdfobject.h (包括 Wdf.h)

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

IRQL

任何级别

另请参阅

WDF_DECLARE_CONTEXT_TYPE

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME