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


функция обратного вызова EVT_WDF_DEVICE_SELF_MANAGED_IO_INIT (wdfdevice.h)

[Применимо к KMDF и UMDF]

Функция обратного вызова события EvtDeviceSelfManagedIoInit драйвера инициализирует и запускает самоуправляемые операции ввода-вывода устройства.

Синтаксис

EVT_WDF_DEVICE_SELF_MANAGED_IO_INIT EvtWdfDeviceSelfManagedIoInit;

NTSTATUS EvtWdfDeviceSelfManagedIoInit(
  [in] WDFDEVICE Device
)
{...}

Параметры

[in] Device

Дескриптор объекта устройства платформы.

Возвращаемое значение

Если функция обратного вызова EvtDeviceSelfManagedIoInit не обнаруживает ошибок, она должна возвращать STATUS_SUCCESS или другое значение состояния, для которого NT_SUCCESS(status) равно TRUE. В противном случае он должен возвращать значение состояния, для которого NT_SUCCESS(status) равно FALSE. Если NT_SUCCESS(состояние) равно FALSE, платформа не запускает устройство.

Если NT_SUCCESS(status) равно FALSE, платформа вызывает функции обратного вызова EvtDeviceSelfManagedIoFlush и EvtDeviceSelfManagedIoCleanup драйвера.

Дополнительные сведения о возвращаемых значениях этой функции обратного вызова см. в разделе Создание отчетов о сбоях устройств.

Комментарии

Чтобы зарегистрировать функцию обратного вызова EvtDeviceSelfManagedIoInit , драйвер должен вызвать WdfDeviceInitSetPnpPowerEventCallbacks.

Если драйвер зарегистрировал функцию обратного вызова EvtDeviceSelfManagedIoInit , платформа вызывает ее один раз для каждого устройства после того, как платформа впервые вызовет функцию обратного вызова EvtDeviceD0Entry драйвера. Платформа не вызывает функцию обратного вызова EvtDeviceSelfManagedIoInit для этого устройства, если устройство не удалено и повторно подключено или драйверы не перезагружены.

Функция обратного вызова EvtDeviceSelfManagedIoInit должна инициализировать и запустить самоуправляемые операции ввода-вывода, которые драйвер будет обрабатывать для устройства.

Дополнительные сведения о том, когда платформа вызывает эту функцию обратного вызова, см. в разделе Сценарии PnP и управления питанием.

Дополнительные сведения о драйверах, предоставляющих эту функцию обратного вызова, см. в разделе Использование Self-Managed ввода-вывода.

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfdevice.h (включая Wdf.h)
IRQL PASSIVE_LEVEL

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

EvtDeviceSelfManagedIoCleanup

EvtDeviceSelfManagedIoFlush

EvtDeviceSelfManagedIoRestart

EvtDeviceSelfManagedIoSuspend