WDF_FILEOBJECT_CONFIG-Struktur (wdfdevice.h)
[Gilt für KMDF und UMDF]
Die WDF_FILEOBJECT_CONFIG-Struktur enthält Konfigurationsinformationen der Frameworkdateiobjekte eines Treibers.
Syntax
typedef struct _WDF_FILEOBJECT_CONFIG {
ULONG Size;
PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate;
PFN_WDF_FILE_CLOSE EvtFileClose;
PFN_WDF_FILE_CLEANUP EvtFileCleanup;
WDF_TRI_STATE AutoForwardCleanupClose;
WDF_FILEOBJECT_CLASS FileObjectClass;
} WDF_FILEOBJECT_CONFIG, *PWDF_FILEOBJECT_CONFIG;
Member
Size
Die Größe (in Bytes) dieser Struktur.
EvtDeviceFileCreate
Ein Zeiger auf die Rückruffunktion EvtDeviceFileCreate des Treibers oder NULL.
EvtFileClose
Ein Zeiger auf die EvtFileClose-Rückruffunktion des Treibers oder NULL.
EvtFileCleanup
Ein Zeiger auf die EvtFileCleanup-Rückruffunktion des Treibers oder NULL.
AutoForwardCleanupClose
Ein WDF_TRI_STATE typisierter Wert. Weitere Informationen zu diesem Member finden Sie im folgenden Abschnitt Kommentare.
FileObjectClass
Ein WDF_FILEOBJECT_CLASS typisierter Wert, der angibt, ob der Treiber ein Frameworkdateiobjekt benötigt, um jede Datei darzustellen, die von einer Anwendung oder einem anderen Treiber erstellt oder geöffnet wird. Darüber hinaus gibt dieser Wert an, wo das Framework das Handle des Objekts speichern kann.
Hinweise
Die WDF_FILEOBJECT_CONFIG-Struktur wird als Eingabe für die WdfDeviceInitSetFileObjectConfig-Methode verwendet.
WDF_FILEOBJECT_CONFIG muss durch Aufrufen von WDF_FILEOBJECT_CONFIG_INIT initialisiert werden.
Frameworkverhalten für AutoForwardCleanupClose
Wenn AutoForwardCleanupClose auf WdfTrue festgelegt ist, führt das Framework folgendes aus:- Das Framework leitet Dateierstellungsanforderungen an den nächstniedrigen Treiber weiter, wenn der Treiber keine EvtDeviceFileCreate-Rückruffunktion bereitstellt und WdfDeviceConfigureRequestDispatching nicht aufgerufen hat, um eine E/A-Warteschlange zum Empfangen von Dateierstellungsanforderungen festzulegen. Das Framework leitet keine Dateierstellungsanforderungen weiter, wenn der Treiber eine Rückruffunktion oder eine Warteschlange zur Verarbeitung der Anforderungen bereitstellt, sodass der Treiber die Anforderungen weiterleiten, abschließen oder abbrechen muss.
- Das Framework sendet Dateibereinigungs- und Schließenanforderungen an den nächstniedrigen Treiber, nachdem die Rückruffunktionen EvtFileCleanup und EvtFileClose des Treibers aufgerufen wurden.
Wenn AutoForwardCleanupClose auf WdfUseDefault festgelegt ist, verwendet das Framework das WdfTrue-Verhalten für Filtertreiber und das WdfFalse-Verhalten für Funktionstreiber.
Treiberverhalten für AutoForwardCleanupClose
Das lokale E/A-Ziel Ihres Treibers muss immer die gleiche Anzahl von E/A-Anforderungen mit Den Anforderungstypen WdfRequestTypeCreate, WdfRequestTypeCleanup und WdfRequestTypeClose empfangen. Wenn der Treiber daher entweder eine EvtDeviceFileCreate-Rückruffunktion oder eine E/A-Warteschlange bereitstellt, die Dateierstellungsanforderungen empfängt, müssen Sie die folgenden Regeln verwenden:- Wenn Ihr Treiber AutoForwardCleanupClose auf WdfTrue festlegt, muss der Treiber alle Dateierstellungsanforderungen an das lokale E/A-Ziel weiterleiten. Sie müssen diese Regel befolgen, da das Framework alle Bereinigungs- und Schließanforderungen an das lokale Ziel weiterleite, unabhängig davon, ob Ihr Treiber die Rückruffunktionen EvtFileCleanup und EvtFileClose bereitstellt.
- Wenn Ihr Treiber AutoForwardCleanupClose auf WdfFalse festlegt, darf der Treiber keine Dateierstellungsanforderungen an das lokale E/A-Ziel weiterleiten. Sie müssen diese Regel befolgen, da das Framework keine Bereinigungs- und Schließungsanforderungen an das lokale Ziel weiterleite, unabhängig davon, ob Ihr Treiber die Rückruffunktionen EvtFileCleanup und EvtFileClose bereitstellt.
- Wenn Ihr Treiber AutoForwardCleanupClose auf WdfDefault festlegt, muss der Treiber die Regel für WdfTrue befolgen, wenn es sich um einen Filtertreiber handelt. Der Treiber muss die Regel für WdfFalse befolgen, wenn es sich um einen Funktionstreiber handelt.
Anforderungen
Anforderung | Wert |
---|---|
KMDF-Mindestversion | 1.0 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | wdfdevice.h (einschließen von Wdf.h) |