多数のクラスを提供する COM dll を利用する C++/CLI アプリケーションを作成しています。それらのほとんどは、いくつかのインターフェースを実装しています。さまざまなインターフェイスのそれぞれのメソッドにどのようにアクセスできるのか疑問に思っていました。たとえば、タイプ ライブラリを見ると、クラスの 1 つが次のように定義されています。
coclass FWFile {
[default] interface IFWFile;
interface _IFWFileInternal;
[default, source] interface _FWFileEvents;
interface CStatistics;
interface IFWFile2;
interface IFWFile3;
interface IFWFile4;
};
このタイプのオブジェクトを作成すると、IFWFile インターフェイスが実装されているように見えます。ただし、IFWFile2 のメソッドを利用したいと考えています。タイプ IFWFile2 のオブジェクトを作成してキャストすることはできますか?
IFWFile2 file2 = (IFWFile2)file1;