macro de WDF_DECLARE_CONTEXT_TYPE

[Se aplica a KMDF y UMDF]

La macro WDF_DECLARE_CONTEXT_TYPE crea un nombre y un método de descriptor de acceso para el espacio de contexto específico del objeto de un controlador.

Sintaxis

void WDF_DECLARE_CONTEXT_TYPE(
    _contexttype
);

Parámetros

_contexttype
Nombre del tipo de estructura de una estructura definida por el controlador que describe el contenido del espacio de contexto de un objeto.

Valor devuelto

Esta macro no devuelve un valor.

Comentarios

Para obtener más información sobre el uso de esta macro, vea Espacio de contexto de objetos de marco.

Ejemplos

En el ejemplo de código siguiente se define una estructura de contexto (MY_REQUEST_CONTEXT) para un objeto de solicitud, se registra la estructura y, a continuación, se invoca la macro WDF_DECLARE_CONTEXT_TYPE. La macro crea un método de descriptor de acceso para la estructura de contexto y asigna un nombre al 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)

En el ejemplo de código siguiente se crea un objeto de solicitud y, a continuación, se usa el método de descriptor de acceso WdfObjectGet_MY_REQUEST_CONTEXT para obtener un puntero al espacio de contexto del 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);

Requisitos

Plataforma de destino

Universal

Versión mínima de KMDF

1.0

Versión mínima de UMDF

2.0

Encabezado

Wdfobject.h (incluya Wdf.h)

Consulte también

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME