質問: cocreateinstanceでエラーになる。 こんにちわ。 いまvc++で開発している初心者です。 cocreateinstanceという関数の箇所で, 戻り値が"0x80040154 (regdb_e_classnotreg) " となってしまいます。 調べると「指定されたクラスが登録データベースに登録されていないか、dwclscontextパラメータで指定されたサーバータイプが登録されていないか、レジストリのサーバータイプ値が不正です。」 ということなんですが, 具体的にはどのような箇所を確認すれば良いでしょうか? 教えてください。 よろしくお願いします。
回答: comについての質問ですね。 戻り値から見ての推測ですが cocreateinstanceしようとしているcomオブジェクトが レジストリに登録されていないのではないでしょうか。 例えば、そのcomオブジェクトがdllであれば regsvr32コマンドをコマンドプロンプトから実行して 引数に登録したいdllファイル名を指定します。 登録されました、とメッセージが表示されれば レジストリにcomが登録されます。 或いは、それが済んでいるのでしたら comオブジェクトが実装しなくてはならない iunknownインターフェイスが実装されておらず cocreateinstanceできない。。。 というオチかもしれません。 clsid(comを識別するguid)が レジストリに登録されてないんじゃないかと思います。 まずは前者のレジストリ登録をお試しください。