IDispatch 인터페이스 및 접근성
IDispatch 인터페이스는 처음에 Automation을 지원하도록 설계되었습니다. 개체의 메서드 및 속성에 대한 정보에 액세스하고 검색하는 지연 바인딩 메커니즘을 제공합니다. 이전에는 서버 개발자가 액세스 가능한 개체에 대해 IDispatch 및 IAccessible 인터페이스를 모두 구현해야 했습니다. 즉, 이중 인터페이스를 제공해야 했습니다. Microsoft Active Accessibility 2.0을 사용하면 서버가 IDispatch 메서드에서 E_NOTIMPL 반환할 수 있으며 Microsoft Active Accessibility는 IAccessible 인터페이스를 구현합니다.
서버 개발자는 IUnknown에서 상속된 메서드 외에도 노출되는 각 개체의 클래스 정의 내에서 다음 메서드를 구현해야 합니다.
- GetTypeInfoCount 는 개체에 대한 형식 설명의 수를 반환합니다. IDispatch를 지원하는 개체의 경우 형식 정보 수는 항상 1입니다.
- GetTypeInfo 는 개체의 프로그래밍 가능한 인터페이스에 대한 설명을 검색합니다.
- GetIDsOfNames 는 메서드 또는 속성의 이름을 나중에 메서드 또는 속성을 호출하는 데 사용되는 DISPID에 매핑합니다.
- Invoke는 개체의 메서드 중 하나를 호출하거나 해당 속성 중 하나를 가져오거나 설정합니다.