Что означает код HRESULT 0x80005008 (E_ADS_BAD_PARAMETER)?

 
Предыдущий Следующий
E_ADS_PROPERTY_INVALID E_ADS_OBJECT_UNBOUND

E_ADS_BAD_PARAMETER

Что означает E_ADS_BAD_PARAMETER

E_ADS_BAD_PARAMETER (0x80005008) — Один или несколько входных параметров недопустимы.

Результат 0x80005008 пришёл из подсистемы «ADSI» при работе с областью «directory objects, schema, properties и ADSI operations». Для сообщения «один или несколько входных параметров недопустимы» практический предмет проверки — «ads, недопустимый, параметр».

Что проверить и как подтвердить исправление

До изменения конфигурации проверьте допустимость и структуру входных данных первого неуспешного вызова. Для 0x80005008 с описанием «один или несколько входных параметров недопустимы» сверьте тип, размер, диапазон, маску флагов и принадлежность каждого дескриптора текущему объекту именно по контракту первого неуспешного метода.

Чтобы локализовать 0x80005008, соберите ADsPath, IID, schema class, property name/type, security context и extended ADSI error; отдельно запишите VARIANT, IDirectorySearch. Затем для 0x80005008 сравните исправный и неуспешный запуск в части «ads, недопустимый, параметр», меняя одно условие за раз.

Для 0x80005008 применяйте исправление на границе первого отказа: проверяйте существование объекта и свойства в схеме, тип значения и права текущей учётной записи. Сообщение «один или несколько входных параметров недопустимы» при 0x80005008 не следует подавлять общей обработкой исключения.

Считайте исправление подтверждённым только после устойчивого повтора исходного сценария без результата 0x80005008 и без обхода штатных проверок.

Документация для результата 0x80005008: Generic ADSI errors · Attribute-scope query contract · Searching with IDirectorySearch.


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