Macro WdfObjectGetTypedContext

[Si applica a KMDF e UMDF]

La macro WdfObjectGetTypedContext restituisce un puntatore allo spazio di contesto di un oggetto.

Sintassi

PVOID WdfObjectGetTypedContext(
    Handle,
    Type
);

Parametri

Handle
Handle per un oggetto framework.

Tipo
Nome del simbolo di una struttura definita dal driver che descrive lo spazio di contesto di un oggetto.

Valore restituito

WdfObjectGetTypedContext restituisce un puntatore allo spazio di contesto dell'oggetto specificato.

Commenti

È possibile utilizzare la macro WdfObjectGetTypedContext per ottenere un puntatore allo spazio di contesto di qualsiasi oggetto framework. Utilizzare questa macro come alternativa alla chiamata di un metodo di accesso al contesto specifico dell'oggetto creato dalla macro WDF_DECLARE_CONTEXT_TYPE o dalla macro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME . Si noti che se si usa WdfObjectGetTypedContext, è comunque necessario usare WDF_DECLARE_CONTEXT_TYPE o WDF_DECLARE_CONTEXT_TYPE_WITH_NAME per dichiarare il contesto dell'oggetto.

Per altre informazioni su queste macro, vedere Framework Object Context Space.

Esempio

Nell'esempio di codice seguente viene definita una struttura di contesto (MY_REQUEST_CONTEXT) per un oggetto richiesta e quindi viene registrata la struttura.

typedef struct _MY_REQUEST_CONTEXT {
  LIST_ENTRY ListEntry;
  WDFMEMORY Memory;
} MY_REQUEST_CONTEXT, *PMY_REQUEST_CONTEXT;

WDF_DECLARE_CONTEXT_TYPE(MY_REQUEST_CONTEXT)

Nell'esempio di codice seguente viene creato un oggetto richiesta e viene ottenuto un puntatore al relativo spazio di contesto.

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

Requisiti

Piattaforma di destinazione

Universale

Versione KMDF minima

1.0

Versione UMDF minima

2,0

Intestazione

Wdfobject.h (include Wdf.h)

Libreria

Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)

IRQL

Qualsiasi livello

Vedi anche

WDF_DECLARE_CONTEXT_TYPE

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME