IDispatch インターフェイスとアクセシビリティ
IDispatch インターフェイスは、最初はオートメーションをサポートするように設計されました。 オブジェクトのメソッドとプロパティに関する情報にアクセスして取得するための遅延バインディング メカニズムを提供します。 以前は、サーバー開発者は、IDispatch と、アクセス可能なオブジェクトの IAccessibleインターフェイスの両方を実装する必要がありました。つまり、デュアルインターフェイスを提供する必要がありました。 Microsoft Active Accessibility 2.0 では、サーバーは IDispatch メソッドから E_NOTIMPL を返すことができます。また、Microsoft Active Accessibility では、IAccessible インターフェイスが実装されます。
IUnknown継承されたメソッドに加えて、サーバー開発者は、公開される各オブジェクトのクラス定義内に次のメソッドを実装する必要があります。
- GetTypeInfoCount は、オブジェクトの型の説明の数を返します。 IDispatchサポートするオブジェクトの場合、型情報の数は常に 1 です。
- GetTypeInfo、オブジェクトのプログラミング可能なインターフェイスの説明を取得します。
- GetIDsOfNamesは、メソッドまたはプロパティの名前を DISPIDにマップします。これは後でメソッドまたはプロパティを呼び出すために使用されます。
- Invoke は、オブジェクトのいずれかのメソッドを呼び出すか、そのプロパティのいずれかを取得または設定します。