macro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME

[Si applica a KMDF e UMDF]

La macro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME crea un metodo di accesso con un nome specificato per lo spazio di contesto specifico di un driver.

Sintassi

void WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(
    _contexttype,
    _castingfunction
);

Parametri

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

_castingfunction
Nome di routine del linguaggio C. La macro usa questo nome come nome per il metodo della funzione di accesso creato per lo spazio di contesto dell'oggetto.

Valore restituito

Questa macro non restituisce un valore.

Commenti

Per altre informazioni sull'uso di questa 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. Nell'esempio viene quindi richiamata la macro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME per registrare la struttura e specificare che il metodo della funzione di accesso al contesto verrà denominato RequestGetMyContext.

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

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(MY_REQUEST_CONTEXT, RequestGetMyContext)

Nell'esempio di codice seguente viene creato un oggetto richiesta e quindi viene utilizzato il metodo della funzione di accesso RequestGetMyContext 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 = RequestGetMyContext(Request);

Requisiti

Piattaforma di destinazione

Universale

Versione KMDF minima

1.0

Versione UMDF minima

2,0

Intestazione

Wdfobject.h (include Wdf.h)

Vedi anche

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE