Freigeben über


WdfObjectGetTypedContext-Makro

[Gilt für KMDF und UMDF]

Das WdfObjectGetTypedContext- Makros gibt einen Zeiger auf den Kontextbereich eines Objekts zurück.

Syntax

PVOID WdfObjectGetTypedContext(
    Handle,
    Type
);

Die Parameter

Handle
Ein Handle für ein Frameworkobjekt.

Typ
Der Symbolname einer vom Treiber definierten Struktur, die den Kontextbereich eines Objekts beschreibt.

Rückgabewert

WdfObjectGetTypedContext- gibt einen Zeiger auf den Kontextbereich des angegebenen Objekts zurück.

Bemerkungen

Sie können das WdfObjectGetTypedContext- Makro verwenden, um einen Zeiger auf den Kontextbereich eines Frameworkobjekts abzurufen. Verwenden Sie dieses Makro als Alternative zum Aufrufen einer objektspezifischen Kontextaccessormethode, die vom WDF_DECLARE_CONTEXT_TYPE Makro oder dem WDF_DECLARE_CONTEXT_TYPE_WITH_NAME Makro erstellt wird. Wenn Sie WdfObjectGetTypedContext-verwenden, müssen Sie weiterhin WDF_DECLARE_CONTEXT_TYPE oder WDF_DECLARE_CONTEXT_TYPE_WITH_NAME verwenden, um den Objektkontext zu deklarieren.

Weitere Informationen zu diesen Makros finden Sie unter Framework Object Context Space.

Beispiele

Im folgenden Codebeispiel wird eine Kontextstruktur (MY_REQUEST_CONTEXT) für ein Anforderungsobjekt definiert und anschließend 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 den Kontextbereich erhalten.

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

universelle

Minimale KMDF-Version

1.0

Minimale UMDF-Version

2.0

Kopfzeile

Wdfobject.h (enthalten Wdf.h)

Bibliothek

Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)

IRQL

Beliebige Ebene

Siehe auch

WDF_DECLARE_CONTEXT_TYPE

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME