Что такое незарегистрированный класс Createinstance и как его исправить?

Для тех, у кого возникли проблемы с компьютером, нажмите здесь, чтобы загрузить этот рекомендуемый инструмент восстановления.

Вы можете прочитать эти советы по устранению неполадок в случае получения ошибки “Ошибка класса незарегистрированного экземпляра сборки”.

осведомленность

Я полностью понимаю, что существует ряд статей и другого контента о незарегистрированном компьютерном коде подготовки класса CoCreateInstance. Проверил всю группу, просто попробовал несколько вариантов, проблема постоянная. У меня проблема, я храню интересное музыкальное наследие ActiveX Управление DLL. DLL предоставляет одноразовый корневой класс C#, который я планирую использовать в элементе управления ActiveX C++. Я добавил тест DLL в свой проект на C++, и каждый шаг поначалу работал нормально, раньше я мог найти совместный класс, изучить его. Интерфейс к некоторым методам вызывает все, но вдруг конкретный метод CreateInstance, привязанный к изготовленному классу _com_ptr_t, начал выдавать ошибку classify not Registered. Код действительно пытается заставить класс выглядеть так:

QMSapServices может иметь марку _com_ptr_t, сгенерированную компилятором #import в DLL. До сих пор я пробовал следующие варианты с долгосрочной критикой:

<ул>

  • Проверяет все записи реестра, чтобы убедиться, что большинство этих типов продуктов указывают на определенные правильные файлы, результаты интерфейса, общие записи сортировки и т. д.
  • Удалите особенности реестра, новые регистранты, эти элементы управления и библиотеки DLL (вручную и автоматически через Visual Studio).
  • Очевидно, что в метод CreateInstance следует передать GUID этого сокласса, а НЕ GUID интерфейса.
  • Попробуйте взаимодействовать с основным компонентным классом, используя как PROGID, так и clsid. Правильный CLSID предлагается из PROGID при использовании CLSIDFromProgID.
  • Я проверяю права доступа к файлам и каталогам в текущей библиотеке DLL, получаю полный доступ к библиотеке DLL, выполняю все проверки от имени этого администратора.
  • Поскольку по умолчанию библиотека DLL считается в другой службе, чем этот элемент управления ActiveX, я перетащил библиотеку DLL в ту же службу, что и фактический элемент управления ActiveX, обновил компьютерные файлы и запустил элемент управления ActiveX, когда не было индивидуального успеха (всегда «незарегистрированный класс»).
  • Я сделал, чтобы применить CoCreateInstanceEx, он возвращает полностью ту же ошибку.
  • Я проверил весь свой компьютер на наличие вирусов 🙂
  • Проблемы с ПК? Решите их за считанные минуты.

    У вас проблемы с компьютером? Вы не одиноки. На самом деле более 60% компьютеров страдают от какой-либо ошибки или сбоя в какой-то момент времени. Reimage — лучшее решение для устранения этих проблем и восстановления скорости вашего ПК. Нажмите здесь, чтобы начать:

  • Шаг 1. Загрузите Reimage и установите его на свой компьютер.
  • Шаг 2. Запустите программу и нажмите "Сканировать", чтобы начать сканирование.
  • Шаг 3. Нажмите "Восстановить", чтобы исправить обнаруженные проблемы.

  • Кроме того, я попытался создать момент совместного класса, используя то, что я бы назвал 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(&pIClassFactory));hResult равен pIClassFactory->CreateInstance(NULL, __uuidof(IQMSapServices), reinterpret_cast(&pIQMSapServices));pQMSapServices.Attach(pIQMSapServices);

    Я управляю большим набором программ вместо программ, которые обычно имеют проблемы с COM.
    Я пытаюсь помочь клиентам написать гораздо меньший SSCCE с учетом проблемы сокращения.

    Что бы я ни пытался, CoCreateInstance во всех моих SSCCE возвращает 0x80040154

    createinstance неудавшийся класс не зарегистрирован

    hr (незарегистрированный класс) (для CoCreateInstance)0x800706B5: Скорее всего, интерфейс не работает. (для конструктора ICalendarPtr)

    Я использую тот же тип GUID и т. д. Некоторые настройки из подходящей более крупной программы.
    (Оказывается, я не мог использовать одни и те же направляющие. Просто сопоставимые направляющие)

    Я подключаюсь к одной и той же древней библиотеке, и те же библиотеки DLL доступны для покупки (как локальные, так и должным образом зарегистрированные для файлов).

    createinstance failed class not Registered

    Возможно, я не специалист по реестру, но, глядя только на реестр, я вижу, что этот конкретный интерфейс и 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
    г.

    Posts created 305

    Related Posts

    Begin typing your search term above and press enter to search. Press ESC to cancel.

    Back To Top