Что означает код HRESULT 0x8000400F (CO_E_INIT_SCM_FILE_MAPPING_EXISTS)?

 
Предыдущий Следующий
CO_E_INIT_SCM_MUTEX_EXISTS CO_E_INIT_SCM_MAP_VIEW_OF_FILE

CO_E_INIT_SCM_FILE_MAPPING_EXISTS

Что означает результат

CO_E_INIT_SCM_FILE_MAPPING_EXISTS: Во время инициализации COM обнаружила уже существующий SCM file mapping, с которым текущая инициализация конфликтует. Это состояние процесса/SCM initialization, а не ошибка регистрации конкретного CLSID.

Что проверить

  • Найдите первый COM initialization в процессе и момент создания/подключения к SCM mapping.
  • Проверьте гонку параллельных потоков или повторный initialization path после частично завершённого старта.
  • Сохраните apartment model и последовательность CoInitializeEx/COM startup для потоков, участвующих в конфликте.
  • Если процесс переживает restart/recovery внутри хоста, проверьте, не остаётся ли старое process-wide состояние при повторной инициализации.

Диагностика и исправление

Исправьте порядок и однократность process-wide COM/SCM initialization. Перерегистрация COM-классов не устраняет уже существующий file mapping внутри lifecycle процесса.

Технические ссылки


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