функция обратного вызова EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART (wdfdevice.h)
[Применимо к KMDF и UMDF]
Функция обратного вызова события EvtDeviceSelfManagedIoRestart драйвера перезапускает самоуправляемые операции ввода-вывода устройства.
Синтаксис
EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART EvtWdfDeviceSelfManagedIoRestart;
NTSTATUS EvtWdfDeviceSelfManagedIoRestart(
[in] WDFDEVICE Device
)
{...}
Параметры
[in] Device
Дескриптор объекта устройства платформы.
Возвращаемое значение
Если функция обратного вызова EvtDeviceSelfManagedIoRestart не обнаруживает ошибок, она должна возвращать STATUS_SUCCESS или другое значение состояния, для которого NT_SUCCESS(status) равно TRUE. В противном случае он должен возвращать значение состояния, для которого NT_SUCCESS(status) равно FALSE. Если NT_SUCCESS (состояние) равно FALSE, платформа останавливает устройство и выгружает драйверы устройства.
Если NT_SUCCESS(status) равно FALSE, платформа вызывает функции обратного вызова EvtDeviceSelfManagedIoFlush и EvtDeviceSelfManagedIoCleanup драйвера.
Дополнительные сведения о возвращаемых значениях этой функции обратного вызова см. в разделе Создание отчетов о сбоях устройств.
Комментарии
Чтобы зарегистрировать функцию обратного вызова EvtDeviceSelfManagedIoRestart , драйвер должен вызвать WdfDeviceInitSetPnpPowerEventCallbacks.
Если драйвер зарегистрировал функцию обратного вызова EvtDeviceSelfManagedIoRestart , платформа вызывает ее каждый раз, когда устройство возвращается из состояния с низким энергопотреблением в рабочее состояние (D0). Платформа вызывает функцию обратного вызова EvtDeviceSelfManagedIoRestart только после вызова функции обратного вызова EvtDeviceSelfManagedIoSuspend драйвера.
Функция обратного вызова EvtDeviceSelfManagedIoRestart драйвера должна выполнять все необходимое для возобновления самоуправляемых операций ввода-вывода устройства.
Дополнительные сведения о том, когда платформа вызывает эту функцию обратного вызова, см. в разделе Сценарии PnP и управления питанием.
Дополнительные сведения о драйверах, предоставляющих эту функцию обратного вызова, см. в разделе Использование Self-Managed ввода-вывода.
Функция обратного вызова EvtDeviceSelfManagedIoRestart вызывается по адресу IRQL = PASSIVE_LEVEL. Не следует делать эту функцию обратного вызова страничной.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | wdfdevice.h (включая Wdf.h) |
IRQL | PASSIVE_LEVEL (см. раздел "Примечания") |