COMでインスタンスを作る関数はCoCreateInstanceですが、その裏では様々な作業が行われています。 その中でも、実際にインスタンスを作る段階ではIClassFactoryインタフェースが関係してきます。このIClassFactoryは、ずばりCreateInstanceというメソッドを持っているのです。

そのインタフェースを拡張したIClassFactory2というインタフェースもあります。こちらはライセンス管理の機能を備えているそうです。きちんとリファレンスを見たことも勿論使ったこともないので、詳しくは知りませんが。

そして今日IClassFactory3まであるのを知りました。どういう使い道があるのかよくわかりませんけど。共通状況の共有?無理やり全て漢字にしたところでさっぱりなことに変わりありませんが。

それにしても2、3という命名はどうにかならないのでしょうか。たとえばIClassFactory2ならIClassFactoryWithLicensingなどという風に内容を反映させた名前のほうが良いと私は思うのです(強いて言えば名称が長くなるのは問題かもしれませんけど)。

スポンサード リンク

この記事のカテゴリ

  • ⇒ IClassFactory3