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 WdfFalse festgelegt ist, leitet das Framework keine Anforderungen zum Erstellen, Bereinigen oder Schließen von Dateien weiter. Stattdessen schließt das Framework die Anforderungen für den Treiber ab.

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)