Macro WdfObjectGetTypedContext
[Aplica-se a KMDF e UMDF]
A macro WdfObjectGetTypedContext retorna um ponteiro para o espaço de contexto de um objeto.
Sintaxe
PVOID WdfObjectGetTypedContext(
Handle,
Type
);
Parâmetros
Handle
Um identificador para um objeto de estrutura.
Tipo
O nome do símbolo de uma estrutura definida pelo driver que descreve o espaço de contexto de um objeto.
Retornar valor
WdfObjectGetTypedContext retorna um ponteiro para o espaço de contexto do objeto especificado.
Comentários
Você pode usar a macro WdfObjectGetTypedContext para obter um ponteiro para o espaço de contexto de qualquer objeto de estrutura. Use essa macro como alternativa para chamar um método de acessador de contexto específico do objeto criado pela macro WDF_DECLARE_CONTEXT_TYPE ou pela macro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME . Observe que, se você usar WdfObjectGetTypedContext, ainda deverá usar WDF_DECLARE_CONTEXT_TYPE ou WDF_DECLARE_CONTEXT_TYPE_WITH_NAME para declarar o contexto do objeto.
Para obter mais informações sobre essas macros, consulte Espaço de Contexto do Objeto framework.
Exemplos
O exemplo de código a seguir define uma estrutura de contexto (MY_REQUEST_CONTEXT) para um objeto de solicitação e, em seguida, registra a estrutura.
typedef struct _MY_REQUEST_CONTEXT {
LIST_ENTRY ListEntry;
WDFMEMORY Memory;
} MY_REQUEST_CONTEXT, *PMY_REQUEST_CONTEXT;
WDF_DECLARE_CONTEXT_TYPE(MY_REQUEST_CONTEXT)
O exemplo de código a seguir cria um objeto de solicitação e obtém um ponteiro para seu espaço de contexto.
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 = WdfObjectGetTypedContext(
Request,
MY_REQUEST_CONTEXT
);
Requisitos
Plataforma de destino |
Universal |
Versão mínima do KMDF |
1.0 |
Versão mínima do UMDF |
2,0 |
parâmetro |
Wdfobject.h (inclua Wdf.h) |
Biblioteca |
Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL |
Qualquer nível |