| Предыдущий | Следующий |
| CO_E_ACESINWRONGORDER | CO_E_FAILEDTOOPENPROCESSTOKEN |
CO_E_INCOMPATIBLESTREAMVERSION
Практический смысл результата
Результат CO_E_INCOMPATIBLESTREAMVERSION читается как Эта реализация IAccessControl не поддерживает используемую в потоке версию формата ACL. Практический разбор начинается на границе OLE persistence / conversion, где можно получить воспроизводимые входы и первый нижележащий статус.
Данные для воспроизведения
- запишите storage/stream format, CLSID metadata, stream version и исходный serialized payload hash. Для условия «Эта реализация IAccessControl не поддерживает используемую в потоке версию формата ACL» это позволяет восстановить исходный объект и не спутать его с последующим состоянием.
- соберите для сравнения технические маркеры
CO_E_DECODEFAILED,HRESULT,sid,SID,Sidс теми значениями, которые были видны до очистки/rollback; они привязывают «Эта реализация IAccessControl не поддерживает используемую в потоке версию формата ACL» к реальному вызову. - запишите момент первого результата и один исправный запуск, сохранив одинаковыми входные данные; различие должно появиться именно на стадии OLE persistence / conversion.
Как подтвердить исправление
сравните отделить определение класса и декодирование формата от создания COM-объекта. Изменяйте только предпосылку, связанную с «Эта реализация IAccessControl не поддерживает используемую в потоке версию формата ACL», а регистрацию, identity, входной объект и окружение по возможности оставляйте прежними.
не перезаписывать исходное хранилище до проверки версии и class identity на копии; для результата «Эта реализация IAccessControl не поддерживает используемую в потоке версию формата ACL» широкая переустановка, очистка каталога или ослабление безопасности не считается доказательством причины.
Для соседних результатов CO_E_DECODEFAILED сравнивайте первую различающуюся операцию. Исправление подтверждено только тогда, когда исходная граница проходит при прежних входах и следующий ожидаемый шаг получает корректное состояние.
Технические ссылки
- Microsoft: IAccessControl
- Microsoft: IAccessControl::IsAccessAllowed
- Microsoft: AccessCheck
- Microsoft: LookupAccountSidW
- Microsoft: LookupAccountNameW
- Microsoft: access control lists
Нужно найти другой код? Найти другой код состояния или ошибки.