Macro WdfObjectGetTypedContext
[Se aplica a KMDF y UMDF]
La macro WdfObjectGetTypedContext devuelve un puntero al espacio de contexto de un objeto.
Sintaxis
PVOID WdfObjectGetTypedContext(
Handle,
Type
);
Parámetros
Handle
Identificador de un objeto de marco.
Tipo
Nombre de símbolo de una estructura definida por el controlador que describe el espacio de contexto de un objeto.
Valor devuelto
WdfObjectGetTypedContext devuelve un puntero al espacio de contexto del objeto especificado.
Comentarios
Puede usar la macro WdfObjectGetTypedContext para obtener un puntero al espacio de contexto de cualquier objeto de marco. Use esta macro como alternativa a llamar a un método de descriptor de acceso de contexto específico del objeto creado por la macro WDF_DECLARE_CONTEXT_TYPE o la macro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME . Tenga en cuenta que si usa WdfObjectGetTypedContext, todavía debe usar WDF_DECLARE_CONTEXT_TYPE o WDF_DECLARE_CONTEXT_TYPE_WITH_NAME para declarar el contexto del objeto.
Para obtener más información sobre estas macros, 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 y, a continuación, se registra la estructura .
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 se obtiene un puntero a su espacio 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 |
Versión mínima de KMDF |
1.0 |
Versión mínima de UMDF |
2.0 |
Encabezado |
Wdfobject.h (incluir Wdf.h) |
Biblioteca |
Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL |
Cualquier nivel |