Freigeben über


WDF_FILEOBJECT_CLASS-Enumeration (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die WDF_FILEOBJECT_CLASS-Enumeration definiert Werte, die angeben, ob ein Treiber ein Frameworkdateiobjekt benötigt, um eine Datei darzustellen, die eine Anwendung oder ein anderer Treiber zu erstellen oder zu öffnen versucht. 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
Für die interne Verwendung reserviert.
WdfFileObjectNotRequired
Wert: 1
Der Treiber erfordert kein Frameworkdateiobjekt.
WdfFileObjectWdfCanUseFsContext
Wert: 2
Der Treiber erfordert ein Frameworkdateiobjekt. Das Framework kann das Handle des Objekts im FsContext-Member des Windows-Treibermodells (WDM) der Datei FILE_OBJECT-Struktur speichern.
WdfFileObjectWdfCanUseFsContext2
Wert: 3
Der Treiber erfordert ein Frameworkdateiobjekt. Das Framework kann das Handle des Objekts im FsContext2-Member 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-Member 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 sich unterscheidet. Weitere Informationen zu diesen Situationen finden Sie im abschnitt "Hinweise".

WdfFileObjectCanBeOptional ist ein Bitflag, das Ihr Treiber ODER mit dem WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2 oder WdfFileObjectWdfCannotUseFsContexts Enumeratorwert verwenden kann.

Die meisten frameworkbasierten Treiber verwenden dieses Bitflag nicht.

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

Hinweise

Die WDF_FILEOBJECT_CLASS-Enumeration wird in der WDF_FILEOBJECT_CONFIG-Struktur verwendet.

Wenn Ihr Treiber WdfRequestGetFileObject aufruft , um Frameworkdateiobjekte für E/A-Anforderungen abzurufen, und wenn Sie wissen, dass einige der WDM-E/A-Anforderungspakete (IRPs), die Ihr Treiber empfängt, keine WDM-Dateiobjekte enthalten, kann der Treiber das WdfFileObjectCanBeOptional-Bitflag festlegen.

Wenn Ihr Treiber den Wert WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2 oder WdfFileObjectWdfCannotUseFsContexts festlegt und nicht das WdfFileObjectCanBeOptional-Bitflag festlegt, meldet die Überprüfung des Frameworks 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, das das IRP für die Dateierstellung enthalten hat.
Wenn das WdfFileObjectCanBeOptional-Bitflag festgelegt ist, ignoriert die Überprüfung des Frameworks solche Fälle.

Anforderungen

Anforderung Wert
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfdevice.h (einschließen von Wdf.h)

Weitere Informationen

FILE_OBJECT

WDF_FILEOBJECT_CONFIG