WdfObjectGetTypedContext-Makro
[Gilt für KMDF und UMDF]
Das WdfObjectGetTypedContext-Makro gibt einen Zeiger auf den Kontextraum eines Objekts zurück.
Syntax
PVOID WdfObjectGetTypedContext(
Handle,
Type
);
Parameter
Handle
Ein Handle für ein Frameworkobjekt.
Typ
Der Symbolname einer vom Treiber definierten Struktur, die den Kontextraum eines Objekts beschreibt.
Rückgabewert
WdfObjectGetTypedContext gibt einen Zeiger auf den Kontextraum des angegebenen Objekts zurück.
Hinweise
Sie können das WdfObjectGetTypedContext-Makro verwenden, um einen Zeiger auf den Kontextbereich eines beliebigen Frameworkobjekts abzurufen. Verwenden Sie dieses Makro als Alternative zum Aufrufen einer objektspezifischen Kontextzugriffsmethode, die vom WDF_DECLARE_CONTEXT_TYPE Makro oder dem WDF_DECLARE_CONTEXT_TYPE_WITH_NAME Makros erstellt wird. Beachten Sie, dass Sie bei Verwendung von WdfObjectGetTypedContext weiterhin WDF_DECLARE_CONTEXT_TYPE oder WDF_DECLARE_CONTEXT_TYPE_WITH_NAME verwenden müssen, um den Objektkontext zu deklarieren.
Weitere Informationen zu diesen Makros finden Sie unter Framework-Objektkontextraum.
Beispiele
Im folgenden Codebeispiel wird eine Kontextstruktur (MY_REQUEST_CONTEXT) für ein Anforderungsobjekt definiert und dann die Struktur registriert.
typedef struct _MY_REQUEST_CONTEXT {
LIST_ENTRY ListEntry;
WDFMEMORY Memory;
} MY_REQUEST_CONTEXT, *PMY_REQUEST_CONTEXT;
WDF_DECLARE_CONTEXT_TYPE(MY_REQUEST_CONTEXT)
Im folgenden Codebeispiel wird ein Anforderungsobjekt erstellt und ein Zeiger auf seinen Kontextbereich abgerufen.
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
);
Anforderungen
Zielplattform |
Universell |
KMDF-Mindestversion |
1.0 |
UMDF-Mindestversion |
2.0 |
Header |
Wdfobject.h (einschließen von Wdf.h) |
Bibliothek |
Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL |
Beliebige Ebene |