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