функция обратного вызова EVT_WDF_DEVICE_FILE_CREATE (wdfdevice.h)
[Применимо к KMDF и UMDF]
Функция обратного вызова драйвера EvtDeviceFileCreate обрабатывает операции, которые должны выполняться при запросе приложения доступа к устройству.
Синтаксис
EVT_WDF_DEVICE_FILE_CREATE EvtWdfDeviceFileCreate;
void EvtWdfDeviceFileCreate(
[in] WDFDEVICE Device,
[in] WDFREQUEST Request,
[in] WDFFILEOBJECT FileObject
)
{...}
Параметры
[in] Device
Дескриптор объекта устройства платформы.
[in] Request
Дескриптор объекта запроса платформы, представляющий запрос на создание файла.
[in] FileObject
Дескриптор объекта файла платформы, описывающий файл, открытый для указанного запроса. Этот параметр NULL, если драйвер указал WdfFileObjectNotRequired для элемента FileObjectClass структуры WDF_FILEOBJECT_CONFIG.
Возвращаемое значение
Никакой
Замечания
Платформа вызывает функцию обратного вызова драйвера EvtDeviceFileCreate, когда пользовательское приложение или другой драйвер открывает устройство для выполнения операции ввода-вывода, например чтения или записи файла.
Драйвер может передать дескриптор запроса WdfRequestGetParameters для получения параметров, связанных с запросом на создание файла. Параметры хранятся в элементе Parameters.Create структуры WDF_REQUEST_PARAMETERS.
Эта функция обратного вызова вызывается синхронно в контексте потока, открывающего устройство.
Чтобы зарегистрировать функцию обратного вызова EvtDeviceFileCreate, драйвер должен вызвать метод WdfDeviceInitSetFileObjectConfig.
Драйвер должен либо завершить запрос, либо отправить его с помощью WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET.
Кроме того, драйвер может получать запросы на создание в очереди. Дополнительные сведения см. в разделе WdfDeviceConfigureRequestDispatching.
Дополнительные сведения об объектах файлов платформы и функции обратного вызова EvtDeviceFileCrea te см. в разделе Объектов файлов платформы.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
минимальная версия KMDF | 1.0 |
минимальная версия UMDF | 2.0 |
заголовка | wdfdevice.h (include Wdf.h) |
IRQL | PASSIVE_LEVEL |