Compartir a través de


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

Consulte también

WDF_DECLARE_CONTEXT_TYPE

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME