Freigeben über


makro WDF_DECLARE_CONTEXT_TYPE

[Gilt für KMDF und UMDF]

Das WDF_DECLARE_CONTEXT_TYPE Makros erstellt einen Namen und eine Accessormethode für den objektspezifischen Kontextraum eines Treibers.

Syntax

void WDF_DECLARE_CONTEXT_TYPE(
    _contexttype
);

Parameter

_Contexttype
Der Strukturtypname einer vom Treiber definierten Struktur, die den Inhalt des Kontextraums eines Objekts beschreibt.

Rückgabewert

Dieses Makro gibt keinen Wert zurück.

Hinweise

Weitere Informationen zur Verwendung dieses Makros finden Sie unter Framework-Objektkontextraum.

Beispiele

Im folgenden Codebeispiel wird eine Kontextstruktur (MY_REQUEST_CONTEXT) für ein Anforderungsobjekt definiert, die Struktur registriert und dann das WDF_DECLARE_CONTEXT_TYPE Makro aufgerufen. Das Makro erstellt eine Accessormethode für die Kontextstruktur und benennt die Methode WdfObjectGet_MY_REQUEST_CONTEXT.

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 anschließend die WdfObjectGet_MY_REQUEST_CONTEXT Accessormethode verwendet, um einen Zeiger auf den Kontextraum des Objekts abzurufen.

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 = WdfObjectGet_MY_REQUEST_CONTEXT(Request);

Anforderungen

Zielplattform

Universell

KMDF-Mindestversion

1.0

UMDF-Mindestversion

2.0

Header

Wdfobject.h (einschließen von Wdf.h)

Weitere Informationen

WdfObjectGetTypedContext

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME