Condividi tramite


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.

Osservazioni:

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

Esempi

L'esempio di codice seguente definisce una struttura di contesto (MY_REQUEST_CONTEXT) per un oggetto richiesta, 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 assegna un nome al 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 richiesta e quindi viene utilizzato il metodo della funzione 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 minima di KMDF

1.0

Versione minima di UMDF

2.0

Header

Wdfobject.h (include Wdf.h)

Vedere anche

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME