макрос 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_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 (включая Wdf.h) |