WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE 宏

[适用于 KMDF 和 UMDF]

WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE宏初始化驱动程序的WDF_OBJECT_ATTRIBUTES结构,并将对象的驱动程序定义的上下文信息插入到结构中。

语法

void WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(
    _attributes,
    _contexttype
);

参数

_属性
指向 WDF_OBJECT_ATTRIBUTES 结构的指针。

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

返回值

此宏不返回值。

注解

调用 WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE之前,必须全局调用 WDF_DECLARE_CONTEXT_TYPEWDF_DECLARE_CONTEXT_TYPE_WITH_NAME (不在函数) 中。

WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE宏将 WDF_OBJECT_ATTRIBUTES_INIT 函数和 WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE 宏组合在一起。

示例

下面的代码示例定义WDM_NDIS_REQUEST上下文结构。 然后,该示例调用 WDF_DECLARE_CONTEXT_TYPE_WITH_NAME 宏来注册 结构,并指定上下文访问器方法将命名为 RequestGetMyContext。 然后,在 函数中,该示例分配一个 WDF_OBJECT_ATTRIBUTES 结构,然后初始化 WDF_OBJECT_ATTRIBUTES 结构。

typedef struct _WDM_NDIS_REQUEST
{
   PMP_ADAPTER  Adapter;
   NDIS_OID  Oid;
   NDIS_REQUEST_TYPE  RequestType;
   PVOID  InformationBuffer;
   ULONG  InformationBufferLength;
   PULONG  BytesReadOrWritten;
   PULONG  BytesNeeded;
} WDM_NDIS_REQUEST, *PWDM_NDIS_REQUEST;

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(WDM_NDIS_REQUEST, RequestGetMyContext);

// above are in global space

...

WDF_OBJECT_ATTRIBUTES  attributes;

WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE( &attributes, WDM_NDIS_REQUEST );

要求

目标平台

通用

最低 KMDF 版本

1.0

最低 UMDF 版本

2.0

标头

Wdfobject.h (包括 Wdf.h)

另请参阅

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT

WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE