функция обратного вызова 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.
Возвращаемое значение
None
Remarks
Платформа вызывает функцию обратного вызова EvtDeviceFileCreate драйвера, когда пользовательское приложение или другой драйвер открывает устройство для выполнения операции ввода-вывода, например чтения или записи файла.
Драйвер может передать дескриптор запросав WdfRequestGetParameters для получения параметров, связанных с запросом на создание файла. Параметры хранятся в элементе Parameters.Create структуры WDF_REQUEST_PARAMETERS .
Эта функция обратного вызова вызывается синхронно в контексте потока, который открывает устройство.
Чтобы зарегистрировать функцию обратного вызова EvtDeviceFileCreate , драйвер должен вызвать метод WdfDeviceInitSetFileObjectConfig .
Драйвер должен либо завершить запрос, либо отправить его с помощью WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET.
Кроме того, драйвер может получать запросы на создание в очереди. Дополнительные сведения см. в разделе WdfDeviceConfigureRequestDispatching.
Дополнительные сведения об объектах файлов платформы и функции обратного вызова EvtDeviceFileCreate см. в разделе Объекты файлов платформы.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | wdfdevice.h (включая Wdf.h) |
IRQL | PASSIVE_LEVEL |