次の方法で共有


ICallIndirect インターフェイス (callobj.h)

従来の直接呼び出しではなく、呼び出し引数への間接参照を使用して オブジェクトを呼び出します。 ICallIndirect のインスタンスは、1 つのインターフェイス ID に対してのみ間接呼び出しをサポートします。

継承

ICallIndirect インターフェイスは、IUnknown インターフェイスから継承されます。 ICallIndirect には、次の種類のメンバーもあります。

メソッド

ICallIndirect インターフェイスには、これらのメソッドがあります。

 
ICallIndirect::CallIndirect

呼び出しの引数への間接参照を使用して、 インターフェイス内のいずれかのメソッドを呼び出します。
ICallIndirect::GetIID

この ICallIndirect 実装でサポートされているインターフェイス ID を取得します。
ICallIndirect::GetMethodInfo

呼び出しフレームからインターフェイス メソッドに関する情報を取得します。
ICallIndirect::GetStackSize

メソッドの呼び出しから返すためにスタックからポップする必要があるバイト数を取得します。

注釈

間接呼び出しを実行する方法の実際の詳細なセマンティクスは、 ICallIndirect インターフェイス自体に依存しません。代わりに、インターフェイスの実装に固有です。 たとえば、呼び出しインターセプターで見つかった ICallIndirect の実装では、適切な ICallFrame インスタンスを構築し、登録されたシンクで ICallFrameEvents::OnCall を呼び出すことによって呼び出しが実行されます。 他の実装では、呼び出し引数を適切に取り出し、その呼び出しを実際の特定のオブジェクト (おそらく実装固有の手段を使用して ICallIndirect に登録されたもの) に転送する場合があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー callobj.h

こちらもご覧ください

ICallInterceptor