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 |