makro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME

[Gilt für KMDF und UMDF]

Das WDF_DECLARE_CONTEXT_TYPE_WITH_NAME Makros erstellt eine Accessormethode mit einem angegebenen Namen für den objektspezifischen Kontextraum eines Treibers.

Syntax

void WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(
    _contexttype,
    _castingfunction
);

Parameter

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

_castingfunction
Ein C-Sprachroutinename. Das Makro verwendet diesen Namen als Namen für die Accessormethode, die es für den Kontextraum des Objekts erstellt.

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. Anschließend ruft das Beispiel das makro WDF_DECLARE_CONTEXT_TYPE_WITH_NAME auf, um die Struktur zu registrieren und anzugeben, dass die Kontextzugriffsmethode den Namen RequestGetMyContext trägt.

typedef struct _MY_REQUEST_CONTEXT {
  LIST_ENTRY ListEntry;
  WDFMEMORY Memory;
} MY_REQUEST_CONTEXT, *PMY_REQUEST_CONTEXT;

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(MY_REQUEST_CONTEXT, RequestGetMyContext)

Im folgenden Codebeispiel wird ein Anforderungsobjekt erstellt und anschließend die RequestGetMyContext-Accessormethode verwendet, um einen Zeiger auf den Kontextbereich 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 = RequestGetMyContext(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