ボンジュール・マドモアゼル

本サイトの情報は自己責任にてご利用下さい。

[COM] COM モニカと表示名の概念

 
モニカとは COM で DI(Dependency Injection) を実現するための機構と言えるだろう。


モニカと表示名

表示名とモニカ・オブジェクトは一対のもの。
表示名は、任意のオブジェクトの識別するための名前。特定の構文を持つ。
モニカ・オブジェクトは、表示名が識別するオブジェクトにバインドするオブジェクト。

各々の表示名に対して、各々のモニカ・オブジェクトが対応する。

例 ファイルモニカ
識別されるオブジェクト
ファイルに永続化されたオブジェクト

表示名
c:tmpursus.obj

モニカ・オブジェクト
ファイルモニカのインスタンス



モニカを使ってオブジェクトをバインドする典型的な手順
  1. MkParseDisplayName を呼び出し、表示名から、表示名に対応するモニカ・オブジェクトを取得
  2. モニカ・オブジェクトのIMoniker::BindToObject を呼び出し、対象のオブジェクトをバインドする。


クラスモニカについて

クラスモニカの何が有り難いんだ、直接、CoGetClassObject を呼び出せばいいじゃないか、という疑問に対して。。

利点のひとつは、Inside DCOM に書かれていたとおり、Visual Basic でカスタム クラス オブジェクトにアクセスできること。
そもそもの意義としては、統一的なやり方でオブジェクトを取得できるということ。モニカは、オブジェクトの名前解決の標準メカニズムである。クラスオブジェクトもCOMオブジェクトである。そのクラスオブジェクトでさえ、普通のCOMオブジェクトとして、上に記した典型的な手順で取得できる。
<<ソースコード 色づけ サイト | ホーム | 情報セキュリティ技術大全 用語集>>

コメント

コメントの投稿

管理者にだけ表示を許可する

画像の文字を半角数字で下記ボックスに記入ください。
文字が読みにくい場合はブラウザの更新をすると新しい文字列が表示されます。