| Предыдущий | Следующий |
| SPAPI_E_NO_ASSOCIATED_SERVICE | SPAPI_E_DEVICE_INTERFACE_ACTIVE |
SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE
Выбор по умолчанию является необязательными метаданными класса
SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE означает, что запрос специально потребовал стандартный член класса интерфейсов устройств, но ни один интерфейс не имеет такого назначения. Это не доказывает отсутствие присутствующих интерфейсов класса или недоступность устройств.
Приложения, способные работать с любым подходящим интерфейсом, должны перечислять активные члены, а не считать отсутствие стандартного интерфейса фатальным. Программа, владеющая политикой выбора, может назначить интерфейс по умолчанию специальной функцией SetupAPI, но не должна выбирать его произвольно, если семантика класса требует решения пользователя или системы.
Отделяйте перечисление от выбора по умолчанию
- Перечислите класс без фильтра только стандартного интерфейса, чтобы увидеть доступные интерфейсы.
- Проверьте флаги интерфейса и состояние присутствия устройства до открытия пути.
- Определите компонент, отвечающий за назначение интерфейса по умолчанию для этого класса.
- Не сохраняйте путь устройства как постоянную замену признаку интерфейса по умолчанию.
Ссылки
- Microsoft: свойства классов интерфейсов устройств
- Microsoft: SetupDiSetDeviceInterfaceDefault
- Microsoft: SetupDiGetClassDevs
Нужно найти другой код? Найти другой код состояния или ошибки.