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