表示: Delphi C++
表示設定

カスタムインターフェース

提供:RAD Studio XE2
移動: 案内, 検索

単純な COM サーバーの作成:インデックス への移動

カスタムインターフェースは,クライアントが仮想テーブルでの順序と引数の型に基づいてインターフェースメソッドを呼び出せるようにする,ユーザー定義インターフェースです。仮想テーブルはオブジェクトのメンバーであるすべてのプロパティとメソッドのアドレスを一覧にしたもので,オブジェクトがサポートするインターフェースのメンバー関数も含まれています。オブジェクトが IDispatch をサポートしない場合,そのオブジェクトのカスタムインターフェースのメンバーのエントリが IUnknown のメンバーのすぐ後に続きます。

オブジェクトにタイプライブラリがある場合は,VTable レイアウトを通じてカスタムインターフェースにアクセスできます。これは,タイプライブラリエディタを使って取得できます。オブジェクトにタイプライブラリがあって,IDispatch もサポートしている場合は,クライアントも IDispatch インターフェースの dispID を取得して VTable オフセットに直接バインドすることができます。Delphi のタイプライブラリインポータ(TLIBIMP)はインポート時に dispID を取得するので,ディスパッチインターフェースラッパーを使用するクライアントは,GetIDsOfNames への呼び出しを回避できます。この情報は,すでに _TLB ユニット内に存在します。ただし,この場合でもクライアントは Invoke を呼び出す必要はあります。

以前のバージョン
他言語版