При запуске тестового приложения VirtualBoxSDK возвращается ошибка «Ошибка создания экземпляра виртуальной коробки»

0

Я пытаюсь использовать VirtualBox sdk для Windows 7. Для этого я использую пример кода, представленный в VirtualBoxSDK\bindings\mscom\samples\в качестве запуска. Этот пример содержит следующий код:

 /* Instantiate the VirtualBox root object. */
    rc = CoCreateInstance(CLSID_VirtualBox,       /* the VirtualBox base object */
                          NULL,                   /* no aggregation */
                          CLSCTX_LOCAL_SERVER,    /* the object lives in a server          process on this machine */
                          IID_IVirtualBox,        /* IID of the interface */
                          (void**)&virtualBox);

    if (!SUCCEEDED(rc))
    {
        printf("Error creating VirtualBox instance! rc = 0x%x\n", rc);
        break;
    }

Код строит нормально, ссылки ок, но когда я его запускаю, я получаю: Ошибка при создании экземпляра VirtualBox! rc = 0x80040154 (Не удалось загрузить ошибку файла или сборки). Я предполагаю, что нет серверной части (возможно), которая предоставит объекты COM, которые я пытаюсь создать с помощью CoCreateInstance(). Я только начинаю выборку, но я предполагаю, что на сервере тоже будет работать?! В представленной документации ничего не говорится о каком-то сервере, но это то, что я думаю. спасибо

  • 0
    Не знаю, в чем причина этой проблемы. Я просто хотел бы сказать вам, что я совершенно недоволен API COM и SOAP VirtualBox. Они очень сильно глючат. Подумайте об использовании управления виртуальной машиной на основе командной строки, потому что это тот, который использовался чаще всего.
Теги:
com
virtualbox

2 ответа

0
Лучший ответ

Проблема, похоже, связана с объектом COM. Этот пример пытается получить COM-объект сервера. Решение заключалось в установке и запуске приложения Virtual Box, которое представляет собой серверную часть. Затем этот сервер управляется этим "клиентом".

0

0x80040154 - "Класс не зарегистрирован".

  1. попробуйте зарегистрировать компонент с помощью regsvr32
  2. если компонент, который вы пытаетесь создать, составляет 64 бита, постройте 64-битный проект

Ещё вопросы

Сообщество Overcoder
Наверх
Меню