| Предыдущий | Следующий |
| CO_E_FAILEDTOGENUUID | CO_E_FAILEDTOCLOSEHANDLE |
CO_E_FAILEDTOCREATEFILE
Что именно проверять
Если возвращён CO_E_FAILEDTOCREATEFILE, непосредственно известно следующее: Не удалось создать файл. Для COM/DCOM это сужает расследование до внутренняя системная операция COM.
Диагностическая выборка
- снимите в трассировку исходный Win32/RPC status, path/handle/resource identity и security context процесса. Для условия «Не удалось создать файл» это позволяет восстановить исходный объект и не спутать его с последующим состоянием.
- снимите в трассировку технические маркеры
CO_E_PATHTOOLONG,RPC,HRESULT,sid,SIDс теми значениями, которые были видны до очистки/rollback; они привязывают «Не удалось создать файл» к реальному вызову. - приложите к инциденту момент первого результата и один исправный запуск, сохранив одинаковыми входные данные; различие должно появиться именно на стадии внутренняя системная операция COM.
Как подтвердить исправление
повторите на контрольном случае зафиксировать первый системный вызов, который не выполнил контракт, до преобразования результата в HRESULT. Изменяйте только предпосылку, связанную с «Не удалось создать файл», а регистрацию, identity, входной объект и окружение по возможности оставляйте прежними.
не диагностировать только верхний COM-код, если доступен первичный Win32 или RPC status; для результата «Не удалось создать файл» широкая переустановка, очистка каталога или ослабление безопасности не считается доказательством причины.
Для соседних результатов CO_E_PATHTOOLONG сравнивайте первую различающуюся операцию. Исправление подтверждено только тогда, когда исходная граница проходит при прежних входах и следующий ожидаемый шаг получает корректное состояние.
Технические ссылки
- Microsoft: IAccessControl
- Microsoft: IAccessControl::IsAccessAllowed
- Microsoft: AccessCheck
- Microsoft: LookupAccountSidW
- Microsoft: LookupAccountNameW
- Microsoft: access control lists
Нужно найти другой код? Найти другой код состояния или ошибки.