Поделиться через


перечисление 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 создания файла.
Если установлен флаг бита WdfFileObjectCanBeOptional , средство проверки платформы игнорирует такие случаи.

Требования

Требование Значение
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfdevice.h (включая Wdf.h)

См. также раздел

FILE_OBJECT

WDF_FILEOBJECT_CONFIG