APPIDの必要性について – プログラミング – Home

通知
すべてクリア

APPIDの必要性について


たくみ
 たくみ
(@たくみ)
ゲスト
結合: 17年前
投稿: 4
Topic starter  

おせわになっております。

COMオブジェクトを作成するときにATLプロジェクトから作成しているのですが
レジストリに HKEY_CLASSES_ROOTのAppID以下にモジュール名とAPPIDが
登録されるようになっています。

この登録がなぜ必要なのでしょうか?

http://msdn.microsoft.com/ja-jp/library/4cb7td54.aspx
MSDNのページを読む限りDCOMに関係しているようですが、
通常COMオブジェクトを使用するときには必要なさそうに見えます。

レジストリからこの項目を削除しても COMオブジェクトを使用することが
できました。
登録をやめることでなにか弊害があったりするのでしょうか?

また、必要な場合に TYPELIBと同じCLSIDにしても大丈夫でしょうか?


引用解決済
トピックタグ
Atata!!
 Atata!!
(@Atata!!)
ゲスト
結合: 18年前
投稿: 25
 

Atata!!です。

文書のリンクでも貼ろうと思って探してみたら、AppID自体の解説が全然無いです
ね・・・。

> この登録がなぜ必要なのでしょうか?

ATLのDLLプロジェクトではほぼ不要と言って差し支えありません。
DLLの場合、サロゲートプロセスを使用する場合(COM+として構成するのも含めて)に使用
します。

ATLのEXEとサービスプロジェクトでは、プロセスのセキュリティと起動方法を制御するの
に使用します。
前述のサロゲートプロセスのセキュリティと起動方法を制御するのにも使用されます。

> 登録をやめることでなにか弊害があったりするのでしょうか?

上記の使用内容に該当しなければ特に問題ありません。
ただし、DCOMCNFG等でDCOMの構成画面を起動した際、AppIDが勝手に設定されるのです
が、
その時に表示されるメッセージボックスが鬱陶しいと思うなら
設定しておいてもいいのではないでしょうか?

> また、必要な場合に TYPELIBと同じCLSIDにしても大丈夫でしょうか?

レジストリの HKEY_CLASSES_ROOT\AppID キー配下で一意であれば問題ないようです。

# 私の実験した限りですが、公式な文書は見たことがありません。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました