Partilhar via


WDF_DECLARE_CONTEXT_TYPE macro

[Aplica-se a KMDF e UMDF]

A macro WDF_DECLARE_CONTEXT_TYPE cria um nome e um método de acessador para o espaço de contexto específico do objeto de um driver.

Sintaxe

void WDF_DECLARE_CONTEXT_TYPE(
    _contexttype
);

Parâmetros

_contexttype
O nome do tipo de estrutura de uma estrutura definida pelo driver que descreve o conteúdo do espaço de contexto de um objeto.

Valor de retorno

Essa macro não retorna um valor.

Observações

Para obter mais informações sobre como usar essa macro, consulte Framework Object Context Space.

Exemplos

O exemplo de código a seguir define uma estrutura de contexto (MY_REQUEST_CONTEXT) para um objeto de solicitação, registra a estrutura e, em seguida, invoca a macro WDF_DECLARE_CONTEXT_TYPE. A macro cria um método de acessador para a estrutura de contexto e nomeia o método 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)

O exemplo de código a seguir cria um objeto de solicitação e, em seguida, usa o método WdfObjectGet_MY_REQUEST_CONTEXT accessor para obter um ponteiro para o espaço de contexto do objeto.

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);

Requerimentos

Plataforma de destino

Universal

Versão mínima do KMDF

1.0

Versão mínima UMDF

2.0

Cabeçalho

Wdfobject.h (inclui Wdf.h)

Ver também

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME