макрос WDF_DECLARE_CONTEXT_TYPE
[Применимо к KMDF и UMDF]
Макрос WDF_DECLARE_CONTEXT_TYPE создает имя и метод доступа для контекстного пространства конкретного объекта драйвера.
Синтаксис
void WDF_DECLARE_CONTEXT_TYPE(
_contexttype
);
Параметры
_contexttype
Имя типа структуры структуры, определяемой драйвером, которая описывает содержимое контекстного пространства объекта.
Возвращаемое значение
Этот макрос не возвращает значение.
Комментарии
Дополнительные сведения об использовании этого макроса см. в разделе Пространство контекста объекта платформы.
Примеры
В следующем примере кода определяется структура контекста (MY_REQUEST_CONTEXT) для объекта запроса, регистрируется структура, а затем вызывается макрос WDF_DECLARE_CONTEXT_TYPE. Макрос создает метод доступа для структуры контекста и присваивает имя методу , WdfObjectGet_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)
В следующем примере кода создается объект запроса, а затем используется метод доступа WdfObjectGet_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 = WdfObjectGet_MY_REQUEST_CONTEXT(Request);
Требования
Целевая платформа |
Универсальное |
Минимальная версия KMDF |
1,0 |
Минимальная версия UMDF |
2,0 |
Заголовок |
Wdfobject.h (включая Wdf.h) |