перечисление WDF_FILEOBJECT_CLASS (wdfdevice.h)
[Применимо к KMDF и UMDF]
Перечисление WDF_FILEOBJECT_CLASS определяет значения, определяющие, требуется ли драйверу объект файла платформы для представления файла, который приложение или другой драйвер пытается создать или открыть. Эти значения также указывают, где платформа может хранить дескриптор объекта.
Синтаксис
typedef enum _WDF_FILEOBJECT_CLASS {
WdfFileObjectInvalid = 0,
WdfFileObjectNotRequired = 1,
WdfFileObjectWdfCanUseFsContext = 2,
WdfFileObjectWdfCanUseFsContext2 = 3,
WdfFileObjectWdfCannotUseFsContexts = 4,
WdfFileObjectCanBeOptional = 0x80000000
} WDF_FILEOBJECT_CLASS, *PWDF_FILEOBJECT_CLASS;
Константы
WdfFileObjectInvalid Значение: 0 Зарезервировано для внутреннего использования. |
WdfFileObjectNotRequired Значение: 1 Драйверу не требуется объект файла платформы. |
WdfFileObjectWdfCanUseFsContext Значение: 2 Драйверу требуется объект файла платформы. Платформа может хранить дескриптор объекта в элементе FsContext структуры FILE_OBJECT файла windows Driver Model (WDM). |
WdfFileObjectWdfCanUseFsContext2 Значение: 3 Драйверу требуется объект файла платформы. Платформа может хранить дескриптор объекта в элементе FsContext2 структуры WDM FILE_OBJECT файла. |
WdfFileObjectWdfCannotUseFsContexts Значение: 4 Драйверу требуется объект файла платформы. Платформа не может хранить дескриптор объекта в элементе FsContext или FsContext2 структуры WDM файла FILE_OBJECT, так как эти элементы используются одним или несколькими драйверами. Поэтому платформа должна хранить дескриптор внутри системы. |
WdfFileObjectCanBeOptional Значение: 0x80000000 Драйверу обычно требуется объект файла платформы, но драйвер также может обрабатывать особые ситуации, когда объект файла платформы отсутствует или отличается. Дополнительные сведения об этих ситуациях см. в следующем разделе Примечания. WdfFileObjectCanBeOptional — это битовый флаг, который драйвер может или с помощью значения перечислителя WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2 или WdfFileObjectWdfCannotUseFsContexts . Большинство драйверов на основе платформы не используют этот битовый флаг. Значение WdfFileObjectCanBeOptional доступно в KMDF версии 1.9 и более поздних версиях. |
Комментарии
Перечисление WDF_FILEOBJECT_CLASS используется в структуре WDF_FILEOBJECT_CONFIG .
Если драйвер вызывает WdfRequestGetFileObject для получения объектов файлов платформы для запросов ввода-вывода и вы знаете, что некоторые пакеты запросов WDM I/O request request (IRP), получаемые вашим драйвером, не включают объекты файлов WDM, драйвер может установить флаг бита WdfFileObjectCanBeOptional .
Если драйвер задает значение WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2 или WdfFileObjectWdfCannotUseFsContexts и не устанавливает флаг бита WdfFileObjectCanBeOptional , проверяющий объект платформы сообщает об ошибке в следующих случаях, когда драйвер вызывает метод WdfRequestGetFileObject :
- IRP не включает объект файла WDM.
- IRP включает объект файла WDM, но объект файла отличается от объекта, включенного в IRP создания файла.
Требования
Требование | Значение |
---|---|
Минимальная версия KMDF | 1,0 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | wdfdevice.h (включая Wdf.h) |