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


Восстановление ошибок PTP

Во время инициализации мини-драйвера класса Microsoft PTP (то есть при первоначальном извлечении наборов данных DeviceInfo и ObjectInfo, а также описаний свойств) любая ошибка рассматривается как катастрофический сбой, а мини-накопитель WIA не инициализируется.

Во время последующей обработки (например, при извлечении изображения) при возникновении нераспознанной ошибки мини-отвертка Microsoft PTP сначала пытается отправить запрос на получение состояния устройства ДЛЯ КЛАССА USB (описано в определении устройства для захвата изображений USB). Если этот запрос будет выполнен успешно, драйвер очищает все остановленные конечные точки и продолжает работу.

Если запрос получить состояние устройства завершается сбоем, мини-накопитель PTP пытается сбросить устройство с помощью запроса класса Сброс устройства (описано в определении устройства для захвата изображений USB). Если запрос класса "Сброс устройства" выполняется успешно, он возвращает S_FALSE вместо S_OK. Если сброс устройства завершается сбоем, запрос на сброс устройства, зависящий от класса, возвращает код ошибки.