| Предыдущий | Следующий |
| SPAPI_E_NO_SUCH_INTERFACE_CLASS | SPAPI_E_INVALID_MACHINENAME |
SPAPI_E_INVALID_REFERENCE_STRING
Строка ссылки различает интерфейсы внутри одного экземпляра устройства
SPAPI_E_INVALID_REFERENCE_STRING связана с регистрацией интерфейса устройства. Необязательная строка ссылки становится частью идентичности интерфейса и возвращается драйверам, использующим несколько экземпляров интерфейса. Это не отображаемое имя, не произвольный путь устройства и не место хранения данных приложения.
Большинство функциональных драйверов не должны передавать строку ссылки. Драйверы шин, использующие интерфейсы как заполнители для создаваемых по требованию дочерних объектов, должны определить стабильный синтаксис и разбирать его согласованно. Обратные косые черты и предположения о формате пути могут конфликтовать со способом построения системой имён символических ссылок.
Проверяйте контракт интерфейса, а не только кодировку строки
- Убедитесь, что архитектуре драйвера действительно нужны несколько интерфейсов с разными строками ссылок.
- Для обычного случая одного интерфейса используйте нулевую строку ссылки.
- Сохраняйте стабильность значения и соблюдайте синтаксис, ожидаемый владеющим драйвером шины или функциональным драйвером.
- Не сохраняйте получившийся путь устройства так, как будто это исходная строка ссылки.
Ссылки
- Microsoft: SetupDiCreateDeviceInterface
- Microsoft: семантика строки ссылки в Framework
- Microsoft: коды ошибок SetupAPI
Нужно найти другой код? Найти другой код состояния или ошибки.