macro de WDF_DECLARE_CONTEXT_TYPE_WITH_NAME
[Se aplica a KMDF y UMDF]
La macro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME crea un método de descriptor de acceso con un nombre especificado para el espacio de contexto específico del objeto de un controlador.
Sintaxis
void WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(
_contexttype,
_castingfunction
);
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.
_castingfunction
Nombre de rutina del lenguaje C. La macro usa este nombre como nombre para el método de descriptor de acceso que crea para el espacio de contexto del 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 objeto de marco.
Ejemplos
En el ejemplo de código siguiente se define una estructura de contexto (MY_REQUEST_CONTEXT) para un objeto de solicitud. A continuación, en el ejemplo se invoca la macro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME para registrar la estructura y especificar que el método de descriptor de acceso de contexto se denominará RequestGetMyContext.
typedef struct _MY_REQUEST_CONTEXT {
LIST_ENTRY ListEntry;
WDFMEMORY Memory;
} MY_REQUEST_CONTEXT, *PMY_REQUEST_CONTEXT;
WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(MY_REQUEST_CONTEXT, RequestGetMyContext)
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 RequestGetMyContext 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 = RequestGetMyContext(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 (incluir Wdf.h) |