макрос WDF_DECLARE_CONTEXT_TYPE_WITH_NAME
[Применимо к KMDF и UMDF]
Макрос WDF_DECLARE_CONTEXT_TYPE_WITH_NAME создает метод доступа с указанным именем для контекстного пространства конкретного объекта драйвера.
Синтаксис
void WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(
_contexttype,
_castingfunction
);
Параметры
_contexttype
Имя типа структуры структуры, определяемой драйвером, которая описывает содержимое контекстного пространства объекта.
_castingfunction
Имя подпрограммы языка C. Макрос использует это имя в качестве имени метода доступа, создаваемого для контекстного пространства объекта.
Возвращаемое значение
Этот макрос не возвращает значение.
Комментарии
Дополнительные сведения об использовании этого макроса см. в разделе Пространство контекста объекта платформы.
Примеры
В следующем примере кода определяется структура контекста (MY_REQUEST_CONTEXT) для объекта запроса. Затем в примере вызывается макрос WDF_DECLARE_CONTEXT_TYPE_WITH_NAME, чтобы зарегистрировать структуру и указать, что метод доступа контекста будет называться RequestGetMyContext.
typedef struct _MY_REQUEST_CONTEXT {
LIST_ENTRY ListEntry;
WDFMEMORY Memory;
} MY_REQUEST_CONTEXT, *PMY_REQUEST_CONTEXT;
WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(MY_REQUEST_CONTEXT, RequestGetMyContext)
В следующем примере кода создается объект запроса, а затем используется метод доступа RequestGetMyContext для получения указателя на контекстное пространство объекта.
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 = RequestGetMyContext(Request);
Требования
Целевая платформа |
Универсальное |
Минимальная версия KMDF |
1,0 |
Минимальная версия UMDF |
2,0 |
Заголовок |
Wdfobject.h (включая Wdf.h) |