Что означает код HRESULT 0x8000400D (CO_E_INIT_UNACCEPTED_USER_ALLOCATOR)?

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

CO_E_INIT_UNACCEPTED_USER_ALLOCATOR

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

CO_E_INIT_UNACCEPTED_USER_ALLOCATOR: Предоставленный пользователем распределитель памяти неприемлем. COM initialization отвергла пользовательский allocator: переданный memory allocator не соответствует требованиям runtime. Это ранняя initialization error.

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

  • Проверьте API, через которое передаётся allocator, и ожидаемый контракт allocate/free/realloc.
  • Убедитесь, что allocator живёт дольше COM runtime, который его использует.
  • Исключите несовместимые debug/custom heap wrappers.

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

Используйте поддерживаемый allocator или стандартный COM memory management. Повтор инициализации с тем же неподходящим allocator ничего не изменит.

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


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