Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применимо к 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 (WDM). |
WdfFileObjectWdfCanUseFsContext2 Значение: 3 Драйверу требуется объект файла платформы. Платформа может хранить дескриптор объекта в FsContext2 член структуры W FILE_OBJECT DM файла. |
WdfFileObjectWdfCannotUseFsContexts Значение: 4 Драйверу требуется объект файла платформы. Платформа не может хранить дескриптор объекта в FsContext или FsContext2 член структуры W FILE_OBJECT DM файла, так как один или несколько драйверов используют эти элементы. Таким образом, платформа должна хранить дескриптор внутри. |
WdfFileObjectCanBeOptional Значение: 0x80000000 Для драйвера обычно требуется объект файла платформы, но драйвер также может обрабатывать особые ситуации, в которых отсутствует или отличается объект файла платформы. Дополнительные сведения об этих ситуациях см. в следующем разделе "Примечания". WdfFileObjectCanBeOptional представляет собой битовый флаг, который драйвер может или с помощью WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanjectWdfCanjtext2или WdfFileObjectWdfCannotUseFsContexts значение перечислителя. Большинство драйверов на основе платформы не используют этот битовый флаг. Значение WdfFileObjectCanBeOptional доступно в версии 1.9 и более поздних версиях KMDF. |
Замечания
Перечисление WDF_FILEOBJECT_CLASS используется в структуре WDF_FILEOBJECT_CONFIG.
Если драйвер вызывает WdfRequestGetFileObject для получения объектов файлов платформы для запросов ввода-вывода, и если вы знаете, что некоторые из пакетов запросов ввода-вывода WDM(IRPs), которые ваш драйвер получает, не включают объекты файлов WDM, драйвер может задать флаг WdfFileObjectCanBeOptional битов.
Если драйвер задает WdfFileObjectWdfCanUseFsContext, WdfFileObjectWdfCanUseFsContext2или Wdf Значение fileObjectWdfCannotUseFsContexts и не не задать флаг WdfFileObjectCanBeOptional, проверяющий объект платформы сообщает об ошибке в следующих случаях, когда драйвер вызывает метод WdfRequestGetFileObject:
- IRP не включает объект WDM-файла.
- IRP включает в себя объект WDM-файла, но объект файла отличается от того, который был включен в состав IRP создания файла.
Требования
Требование | Ценность |
---|---|
минимальная версия KMDF | 1.0 |
минимальная версия UMDF | 2.0 |
заголовка | wdfdevice.h (include Wdf.h) |