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) |