enumerazione WDF_FILEOBJECT_CLASS (wdfdevice.h)
[Si applica a KMDF e UMDF]
L'enumerazione WDF_FILEOBJECT_CLASS definisce i valori che identificano se un driver richiede un oggetto file framework per rappresentare un file che un'applicazione o un altro driver tenta di creare o aprire. Questi valori specificano anche dove il framework può archiviare l'handle dell'oggetto.
Sintassi
typedef enum _WDF_FILEOBJECT_CLASS {
WdfFileObjectInvalid = 0,
WdfFileObjectNotRequired = 1,
WdfFileObjectWdfCanUseFsContext = 2,
WdfFileObjectWdfCanUseFsContext2 = 3,
WdfFileObjectWdfCannotUseFsContexts = 4,
WdfFileObjectCanBeOptional = 0x80000000
} WDF_FILEOBJECT_CLASS, *PWDF_FILEOBJECT_CLASS;
Costanti
WdfFileObjectInvalid Valore: 0 Riservato per utilizzo interno. |
WdfFileObjectNotRequired Valore: 1 Il driver non richiede un oggetto file framework. |
WdfFileObjectWdfCanUseFsContext Valore: 2 Il driver richiede un oggetto file framework. Il framework può archiviare l'handle dell'oggetto nel membro FsContext della struttura WDM (Windows Driver Model FILE_OBJECT ) del file. |
WdfFileObjectWdfCanUseFsContext2 Valore: 3 Il driver richiede un oggetto file framework. Il framework può archiviare l'handle dell'oggetto nel membro FsContext2 della struttura WD FILE_OBJECT M del file. |
WdfFileObjectWdfCannotUseFsContexts Valore: 4 Il driver richiede un oggetto file framework. Il framework non può archiviare l'handle dell'oggetto nel membro FsContext o FsContext2 della struttura WD FILE_OBJECT M del file, perché uno o più driver usano questi membri. Pertanto, il framework deve archiviare internamente l'handle. |
WdfFileObjectCanBeOptional Valore: 0x80000000 Il driver richiede in genere un oggetto file framework, ma il driver può anche gestire situazioni speciali in cui un oggetto file framework manca o diverso. Per altre informazioni su queste situazioni, vedere la sezione Osservazioni seguenti. WdfFileObjectCanBeOptional è un flag bit che il driver può OR con il valore dell'enumeratore WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCantext2 o WdfFileObjectWdfCannotUseFsContexts . La maggior parte dei driver basati su framework non usa questo flag di bit. Il valore WdfFileObjectCanBeOptional è disponibile nella versione 1.9 e versioni successive di KMDF. |
Commenti
L'enumerazione WDF_FILEOBJECT_CLASS viene usata nella struttura WDF_FILEOBJECT_CONFIG .
Se il driver chiama WdfRequestGetFileObject per ottenere oggetti file framework per le richieste di I/O e se si sa che alcuni pacchetti di richieste di I/O WDM (IRP) che il driver riceve non include oggetti file WDM, il driver può impostare il flag di bit WdfFileObjectCanBeOptional .
Se il driver imposta il valore WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2 o WdfFileObjectWdfCannotUseFsContexts e non imposta il flag bit WdfFileObjectCanBeOptional, il verificatore del framework segnala un errore per i casi seguenti quando il driver chiama il metodo WdfRequestGetFileObject:
- Un'IRP non include un oggetto file WDM.
- Un'IRP include un oggetto file WDM, ma l'oggetto file è diverso da quello incluso nell'IRP di creazione del file.
Requisiti
Requisito | Valore |
---|---|
Versione KMDF minima | 1,0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfdevice.h (includere Wdf.h) |