Вы можете прочитать эти советы по устранению неполадок в случае получения ошибки “Ошибка класса незарегистрированного экземпляра сборки”.
осведомленность
Я полностью понимаю, что существует ряд статей и другого контента о незарегистрированном компьютерном коде подготовки класса CoCreateInstance. Проверил всю группу, просто попробовал несколько вариантов, проблема постоянная. У меня проблема, я храню интересное музыкальное наследие ActiveX Управление DLL. DLL предоставляет одноразовый корневой класс C#, который я планирую использовать в элементе управления ActiveX C++. Я добавил тест DLL в свой проект на C++, и каждый шаг поначалу работал нормально, раньше я мог найти совместный класс, изучить его. Интерфейс к некоторым методам вызывает все, но вдруг конкретный метод CreateInstance, привязанный к изготовленному классу _com_ptr_t, начал выдавать ошибку classify not Registered. Код действительно пытается заставить класс выглядеть так:
QMSapServices может иметь марку _com_ptr_t, сгенерированную компилятором #import в DLL. До сих пор я пробовал следующие варианты с долгосрочной критикой:
<ул>
Проблемы с ПК? Решите их за считанные минуты.
У вас проблемы с компьютером? Вы не одиноки. На самом деле более 60% компьютеров страдают от какой-либо ошибки или сбоя в какой-то момент времени. Reimage — лучшее решение для устранения этих проблем и восстановления скорости вашего ПК. Нажмите здесь, чтобы начать:

Кроме того, я попытался создать момент совместного класса, используя то, что я бы назвал IClassFactory. Для этого я использую предыдущий тестовый код:
При выполнении в отладчике инструмент CoGetClassObject возвращает S_OK, но то, что используется для связи с фабрикой CreateInstance, возвращает неизвестное название компании (DISP_E_UNKNOWNNAME). Документация MS ничего не говорит об этой ошибке, фактически этот метод даже не упоминает об этом. что часто ошибка может быть вызвана большинством методов CreateInstance. Я проверил, какой I-ID I конечного результата QMSapServices соответствует соответствующему значению для конкретного интерфейса.
<до>hResult соответствует pQMSapServices.CreateInstance(“QMPANEL.QMSapServices.1”);<до>частный GUID;IClassFactory* pIClassFactory равно null PIQMSapServices;iqmsappservices* имеет значение NULL;hResult = CLSIDFromProgID(L”QMPANEL.QMSapServices.&clsId);HResult 1″, = CoGetClassObject(clsId, CLSCTX_ALL, NULL, __uuidof(IClassFactory), reinterpret_cast
Я управляю большим набором программ вместо программ, которые обычно имеют проблемы с COM.
Я пытаюсь помочь клиентам написать гораздо меньший SSCCE с учетом проблемы сокращения.
Что бы я ни пытался, CoCreateInstance
во всех моих SSCCE возвращает 0x80040154
hr (незарегистрированный класс) (для CoCreateInstance)0x800706B5: Скорее всего, интерфейс не работает. (для конструктора ICalendarPtr)
Я использую тот же тип GUID и т. д. Некоторые настройки из подходящей более крупной программы.
(Оказывается, я не мог использовать одни и те же направляющие. Просто сопоставимые направляющие)
Я подключаюсь к одной и той же древней библиотеке, и те же библиотеки DLL доступны для покупки (как локальные, так и должным образом зарегистрированные для файлов).

Возможно, я не специалист по реестру, но, глядя только на реестр, я вижу, что этот конкретный интерфейс и GUID этой разновидности, похоже, должным образом аккредитованы, плюс Ключ TypeLib указывает, что каждый день DLL может быть более доступной.
p>
Можете ли вы подумать, что в чем-то, что я мог пропустить, что, по мнению экспертов, заставит одну программу систематически создавать COM-объект и заверить другую, что класс больше не зарегистрирован?
_COM_SMARTPTR_TYPEDEF(ICalendar, __uuidof(ICalendar));int _tmain (int argc, _TCHAR * argv []) Совместная инициализация (NULL); идентификатор класса clsid равен __uuidof(ICalendar); REFIID iid = __uuidof(IНеизвестно); LPVOID готов; HRESULT hr = CoCreateInstance(classID, NULL, CLSCTX_INPROC_SERVER, iid, &pRet); // Результат: 0x80040154 Класс не зарегистрирован GUID guid = __uuidof(ICalendar); ICalendarPtr pDtTm(guid); // Результат: первое случайное исключение из этого правила, вызванное 0x773dc41f в COMTest.0x800706B5: exe:assignment is unknown. Король 0;
Получите лучший инструмент для ремонта ПК для вашего компьютера. Скачать сейчас.
Createinstance Failed Class Not Registered
Createinstance Non Riuscita Classe Non Registrata
Createinstance A Echoue Classe Non Enregistree
Createinstance Misslyckad Klass Inte Registrerad
Klasa Nie Powiodla Sie Tworzenieinstancji
Createinstance 실패 클래스가 등록되지 않았습니다
Clase Fallida Createinstance No Registrada
Createinstance Mislukte Klasse Niet Geregistreerd
Createinstance Fehlgeschlagen Klasse Nicht Registriert
Classe Com Falha De Criacao De Instancia Nao Registrada
г.