最終更新:2008-07-18 (金) 08:46:00 (5759d)  

IDispatch
Top / IDispatch

COMイベント処理をするときに使うインターフェイス (リフレクションによる遅延バインディング)。Invokeとかする。

COMコンポーネント?で発生したイベントを受け取るには、IDispatchインターフェースをサポートしなければならない。イベントを受け取るオブジェクトのことをCOMの世界の言葉でシンク(sink?)と言う。

メモ

  • ただし、Visual Basic のように IDispatch をサポートするツールがあり、かつ呼び出すオブジェクトが IDispatch をサポートしていれば、間接的に COMインターフェイスを呼び出すことはできます。
  • IDispatch によって提供されるメインのメソッドは Invoke という名前です。IDispatch を使う場合、メンバー メソッドを直接呼び出す代わりに IDispatch::Invoke を呼び出すと、IDispatch::Invoke がメンバー メソッドを呼び出します。
  • VB.NET では、IDispatch::GetIDsOfNames? メソッドを使用して、そのオブジェクトでサポートされているメソッドおよびプロパティを確認し、IDispatch::Invoke メソッドを使用して、それらのメソッドやプロパティを呼び出すことができます。

リンク