アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちわ。
いまVC++で開発している初心者です。
CoCreateInstanceという関数の箇所で,
戻り値が"0x80040154 (REGDB_E_CLASSNOTREG) "
となってしまいます。
調べると「指定されたクラスが登録データベースに登録されていないか、dwClsContextパラメータで指定されたサーバータイプが登録されていないか、レジストリのサーバータイプ値が不正です。」
ということなんですが,
具体的にはどのような箇所を確認すれば良いでしょうか?
教えてください。
よろしくお願いします。

A 回答 (1件)

COMについての質問ですね。


戻り値から見ての推測ですが
CoCreateInstanceしようとしているCOMオブジェクトが
レジストリに登録されていないのではないでしょうか。

例えば、そのCOMオブジェクトがDLLであれば
regsvr32コマンドをコマンドプロンプトから実行して
引数に登録したいDLLファイル名を指定します。
登録されました、とメッセージが表示されれば
レジストリにCOMが登録されます。

或いは、それが済んでいるのでしたら
COMオブジェクトが実装しなくてはならない
IUnknownインターフェイスが実装されておらず
CoCreateInstanceできない。。。
というオチかもしれません。

CLSID(COMを識別するGUID)が
レジストリに登録されてないんじゃないかと思います。
まずは前者のレジストリ登録をお試しください。
    • good
    • 0
この回答へのお礼

taranrappuさん
回答ありがとうございます。
ご指摘の通り,CLSIDが崩れていたことが原因のようです。
解決しました。

お礼日時:2006/02/08 09:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!