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

Confira também

WDF_DECLARE_CONTEXT_TYPE

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME