0

Windows 7 で VirtualBox sdk を使用しようとしています。これを行うには、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 (ファイルまたはアセンブリ エラーを読み込めませんでした)。CoCreateInstance() で作成しようとしている COM オブジェクトを提供するサーバー側 (おそらく) が存在しないと想定しています。提供されたサンプルを開始しただけですが、サーバーも実行されているはずだと思いますか?! 提供されたドキュメントには、一部のサーバーについては何も言及されていませんが、これが私の考えです。ありがとうございました

4

2 に答える 2

0

0x80040154 は「クラスが登録されていません」です。

  1. コンポーネントをregsvr32に登録してみてください
  2. インスタンス化しようとしているコンポーネントが 64 ビットの場合は、64 ビット プロジェクトをビルドします。
于 2013-10-25T11:20:19.360 に答える
0

問題は COM オブジェクトにあるようです。このサンプルは、サーバー COM オブジェクトを取得しようとしています。解決策は、Virtual Box アプリケーションをインストールして起動することでした。これはサーバー側を表します。このサーバーは、提供されたこの「クライアント」によって操作されます。

于 2013-11-03T15:53:51.850 に答える