Что означает код HRESULT 0x800F021F (SPAPI_E_INVALID_REFERENCE_STRING)?

 
Предыдущий Следующий
SPAPI_E_NO_SUCH_INTERFACE_CLASS SPAPI_E_INVALID_MACHINENAME

SPAPI_E_INVALID_REFERENCE_STRING

Строка ссылки различает интерфейсы внутри одного экземпляра устройства

SPAPI_E_INVALID_REFERENCE_STRING связана с регистрацией интерфейса устройства. Необязательная строка ссылки становится частью идентичности интерфейса и возвращается драйверам, использующим несколько экземпляров интерфейса. Это не отображаемое имя, не произвольный путь устройства и не место хранения данных приложения.

Большинство функциональных драйверов не должны передавать строку ссылки. Драйверы шин, использующие интерфейсы как заполнители для создаваемых по требованию дочерних объектов, должны определить стабильный синтаксис и разбирать его согласованно. Обратные косые черты и предположения о формате пути могут конфликтовать со способом построения системой имён символических ссылок.

Проверяйте контракт интерфейса, а не только кодировку строки

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

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.