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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für