Freigeben über


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

Weitere Informationen

WDF_DECLARE_CONTEXT_TYPE

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME