Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применимо к KMDF и UMDF]
Структура WDF_FILEOBJECT_CONFIG содержит сведения о конфигурации объектов файлов платформы драйвера.
Синтаксис
typedef struct _WDF_FILEOBJECT_CONFIG {
ULONG Size;
PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate;
PFN_WDF_FILE_CLOSE EvtFileClose;
PFN_WDF_FILE_CLEANUP EvtFileCleanup;
WDF_TRI_STATE AutoForwardCleanupClose;
WDF_FILEOBJECT_CLASS FileObjectClass;
} WDF_FILEOBJECT_CONFIG, *PWDF_FILEOBJECT_CONFIG;
Члены
Size
Размер этой структуры в байтах.
EvtDeviceFileCreate
Указатель на функцию обратного вызова драйвера EvtDeviceFileCreate или NULL.
EvtFileClose
Указатель на функцию обратного вызова драйвера EvtFileCl ose или NULL.
EvtFileCleanup
Указатель на функцию обратного вызова драйвера EvtFileCleanup или NULL.
AutoForwardCleanupClose
Значение типа WDF_TRI_STATE. Дополнительные сведения об этом члене см. в следующем разделе "Комментарии".
FileObjectClass
Значение WDF_FILEOBJECT_CLASSтипа, определяющее, требуется ли драйверу объект файла платформы представлять каждый файл, создаваемый приложением или другим драйвером. Кроме того, это значение указывает, где платформа может хранить дескриптор объекта.
Замечания
Структура WDF_FILEOBJECT_CONFIG используется в качестве входных данных для метода WdfDeviceInitSetFileObjectConfig.
WDF_FILEOBJECT_CONFIG необходимо инициализировать путем вызова WDF_FILEOBJECT_CONFIG_INIT.
Поведение платформы для AutoForwardCleanupClose
Если AutoForwardCleanupClose задано значение WdfTrue, платформа выполняет следующие действия:- Платформа перенаправит запросы на создание файла следующему драйверу, если драйвер не предоставляет функцию обратного вызова EvtDeviceFileCreate и не вызывает WdfDeviceConfigureRequestDispatching, чтобы задать очередь ввода-вывода для получения запросов на создание файлов. Платформа не пересылает запросы на создание файлов, если драйвер предоставляет функцию обратного вызова или очередь для обработки запросов, поэтому драйвер должен пересылки, завершитьили отменить запросов.
- Платформа отправляет запросы на очистку и закрытие файлов следующему драйверу после вызова функций обратного вызова evtFileClean up и EvtFileClose.
Если AutoForwardCleanupClose задано значение WdfUseDefault, платформа использует поведение WdfTrue для драйверов фильтров и поведения WdfFalse для драйверов функций.
поведение драйвера для AutoForwardCleanupClose
Локальный целевой объект ввода-вывода драйвера всегда должен получать равное количество запросов с типами запросов WdfRequestTypeCreate, WdfRequestTypeCleanupи WdfRequestTypeClose. Таким образом, если драйвер предоставляет функцию обратного вызова EvtDeviceFileCreate или очередь ввода-вывода, получающую запросы на создание файла, необходимо использовать следующие правила:- Если драйвер устанавливает AutoForwardCleanupClose для WdfTrue, драйвер должен перенаправлять все запросы на создание файлов в локальный целевой объект ввода-вывода. Это правило необходимо выполнить, так как платформа перенаправит все запросы очистки и закрытия локального целевого объекта, независимо от того, предоставляет ли драйвер evtFileCleanup и функции обратного вызова EvtFileCl ose.
- Если драйвер задает AutoForwardCleanupCloseWdfFalse, драйвер должен не пересылать запросы на создание файлов в локальный целевой объект ввода-вывода. Это правило необходимо соблюдать, так как платформа не перенаправляет запросы к локальному целевому объекту, независимо от того, предоставляет ли драйвер EvtFileCleanup и функции обратного вызова EvtFileClose.
- Если драйвер задает AutoForwardCleanupCloseWdfDefault, драйвер должен следовать правилу WdfTrue, если это драйвер фильтра. Драйвер должен следовать правилу WdfFalse, если он является драйвером функции.
Требования
Требование | Ценность |
---|---|
минимальная версия KMDF | 1.0 |
минимальная версия UMDF | 2.0 |
Заголовок | wdfdevice.h (include Wdf.h) |