Поделиться через


макрос 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
);

Параметры

_attributes
Указатель на структуру WDF_OBJECT_ATTRIBUTES.

_contexttype
Имя типа структуры определяемой драйвером структуры, описывающей содержимое пространства контекста объекта.

Возвращаемое значение

Этот макрос не возвращает значение.

Замечания

Перед вызовом WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPEнеобходимо вызвать WDF_DECLARE_CONTEXT_TYPE или WDF_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 (include Wdf.h)

См. также

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT

WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE