macro WDF_DECLARE_CONTEXT_TYPE

[Si applica a KMDF e UMDF]

La macro WDF_DECLARE_CONTEXT_TYPE crea un nome e un metodo di accesso per lo spazio di contesto specifico di un driver.

Sintassi

void WDF_DECLARE_CONTEXT_TYPE(
    _contexttype
);

Parametri

_Contexttype
Nome del tipo di struttura di una struttura definita dal driver che descrive il contenuto dello spazio di contesto di un oggetto.

Valore restituito

Questa macro non restituisce un valore.

Commenti

Per altre informazioni sull'uso di questa macro, vedere Framework Object Context Space.

Esempio

L'esempio di codice seguente definisce una struttura di contesto (MY_REQUEST_CONTEXT) per un oggetto request, registra la struttura e quindi richiama la macro WDF_DECLARE_CONTEXT_TYPE. La macro crea un metodo di accesso per la struttura del contesto e nomi il metodo 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)

Nell'esempio di codice seguente viene creato un oggetto request e quindi viene usato il metodo di accesso WdfObjectGet_MY_REQUEST_CONTEXT per ottenere un puntatore allo spazio di contesto dell'oggetto.

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

Requisiti

Piattaforma di destinazione

Universale

Versione KMDF minima

1.0

Versione UMDF minima

2,0

Intestazione

Wdfobject.h (includere Wdf.h)

Vedi anche

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME