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


функция обратного вызова 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

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

WDF_FILEOBJECT_CONFIG