Freigeben über


WDF_FILEOBJECT_CLASS-Aufzählung (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die WDF_FILEOBJECT_CLASS Enumeration definiert Werte, die bestimmen, ob ein Treiber ein Frameworkdateiobjekt benötigt, um eine Datei darzustellen, die eine Anwendung oder ein anderer Treiber erstellt oder geöffnet hat. Diese Werte geben auch an, wo das Framework das Handle des Objekts speichern kann.

Syntax

typedef enum _WDF_FILEOBJECT_CLASS {
  WdfFileObjectInvalid = 0,
  WdfFileObjectNotRequired = 1,
  WdfFileObjectWdfCanUseFsContext = 2,
  WdfFileObjectWdfCanUseFsContext2 = 3,
  WdfFileObjectWdfCannotUseFsContexts = 4,
  WdfFileObjectCanBeOptional = 0x80000000
} WDF_FILEOBJECT_CLASS, *PWDF_FILEOBJECT_CLASS;

Konstanten

 
WdfFileObjectInvalid
Wert: 0
Reserviert für die interne Verwendung.
WdfFileObjectNotRequired
Wert: 1
Für den Treiber ist kein Frameworkdateiobjekt erforderlich.
WdfFileObjectWdfCanUseFsContext
Wert: 2
Der Treiber erfordert ein Frameworkdateiobjekt. Das Framework kann das Handle des Objekts im FsContext- Mitglied der Windows-Treibermodell(WDM)-Struktur der Datei FILE_OBJECT speichern.
WdfFileObjectWdfCanUseFsContext2
Wert: 3
Der Treiber erfordert ein Frameworkdateiobjekt. Das Framework kann das Handle des Objekts im FsContext2- Element der WDM-FILE_OBJECT-Struktur der Datei speichern.
WdfFileObjectWdfCannotUseFsContexts
Wert: 4
Der Treiber erfordert ein Frameworkdateiobjekt. Das Framework kann das Handle des Objekts nicht im FsContext- oder FsContext2 Mitglied der WDM-FILE_OBJECT struktur der Datei speichern, da mindestens ein Treiber diese Member verwendet. Daher muss das Framework das Handle intern speichern.
WdfFileObjectCanBeOptional
Wert: 0x80000000
Der Treiber erfordert in der Regel ein Frameworkdateiobjekt, aber der Treiber kann auch spezielle Situationen behandeln, in denen ein Frameworkdateiobjekt fehlt oder anders ist. Weitere Informationen zu diesen Situationen finden Sie im folgenden Abschnitt "Hinweise".

WdfFileObjectCanBeOptional ist ein Bit-Flag, das Ihr Treiber mit dem WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2oder WdfFileObjectWdfCannotUseFsContexts Enumeratorwert verwenden kann.

Die meisten frameworkbasierten Treiber verwenden dieses Bit-Flag nicht.

Der wert WdfFileObjectCanBeOptional ist in Version 1.9 und höheren Versionen von KMDF verfügbar.

Bemerkungen

Die WDF_FILEOBJECT_CLASS-Aufzählung wird in der WDF_FILEOBJECT_CONFIG-Struktur verwendet.

Wenn Ihr Treiber WdfRequestGetFileObject aufruft, um Framework-Dateiobjekte für E/A-Anforderungen abzurufen, und wenn Sie wissen, dass einige der VOM Treiber empfangenen WDM-E/A-Anforderungspakete (IRPs) keine WDM-Dateiobjekte enthalten, kann der Treiber die WdfFileObjectCanBeOptional Bitkennzeichnung festlegen.

Wenn Der Treiber die WdfFileObjectWdfCanUseFsContext-, WdfFileObjectWdfCanUseFsContext2oder WdfFileObjectWdfCannotUseFsContexts Wert festlegt und die WdfFileObjectCanBeOptional Bitkennzeichnung nicht festlegen, der Prüfer des Frameworks meldet einen Fehler für die folgenden Fälle, wenn der Treiber die WdfRequestGetFileObject--Methode aufruft:

  • Ein IRP enthält kein WDM-Dateiobjekt.
  • Ein IRP enthält ein WDM-Dateiobjekt, aber das Dateiobjekt unterscheidet sich von dem, den das Dateierstellungs-IRP enthalten hat.
Wenn die WdfFileObjectCanBeOptional Bitflagge festgelegt ist, ignoriert die Überprüfung des Frameworks solche Fälle.

Anforderungen

Anforderung Wert
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 2.0
Header- wdfdevice.h (einschließen Wdf.h)

Siehe auch

FILE_OBJECT

WDF_FILEOBJECT_CONFIG