IDispatch インターフェイスとアクセシビリティ

IDispatch インターフェイスは、最初は Automation をサポートするように設計されていました。 オブジェクトのメソッドとプロパティに関する情報にアクセスして取得するための遅延バインディング メカニズムが提供されます。 以前は、サーバー開発者は、アクセス可能なオブジェクトに IDispatch インターフェイスと IAccessible インターフェイスの両方を実装する必要がありました。つまり、 デュアル インターフェイスを提供する必要がありました。 Microsoft Active Accessibility 2.0 では、サーバーは IDispatch メソッドからE_NOTIMPLを返すことができます。Microsoft Active Accessibility は IAccessible インターフェイスを実装します。

サーバー開発者は、 IUnknown から継承されたメソッドに加えて、公開される各オブジェクトのクラス定義内に次のメソッドを実装する必要があります。

  • GetTypeInfoCount は、オブジェクトの型の説明の数を返します。 IDispatch をサポートするオブジェクトの場合、型情報の数は常に 1 です。
  • GetTypeInfo は、オブジェクトのプログラミング可能なインターフェイスの説明を取得します。
  • GetIDsOfNames は、メソッドまたはプロパティの名前を DISPID にマップします。これは後でメソッドまたはプロパティを呼び出すために使用されます。
  • 呼び出し は、オブジェクトのいずれかのメソッドを呼び出すか、そのプロパティの 1 つを取得または設定します。