IDispatch 인터페이스 및 접근성

IDispatch 인터페이스는 처음에 Automation을 지원하도록 설계되었습니다. 개체의 메서드 및 속성에 대한 정보에 액세스하고 검색하는 지연 바인딩 메커니즘을 제공합니다. 이전에는 서버 개발자가 액세스 가능한 개체에 대해 IDispatchIAccessible 인터페이스를 모두 구현해야 했습니다. 즉, 이중 인터페이스를 제공해야 했습니다. Microsoft Active Accessibility 2.0을 사용하면 서버가 IDispatch 메서드에서 E_NOTIMPL 반환할 수 있으며 Microsoft Active Accessibility는 IAccessible 인터페이스를 구현합니다.

서버 개발자는 IUnknown에서 상속된 메서드 외에도 노출되는 각 개체의 클래스 정의 내에서 다음 메서드를 구현해야 합니다.

  • GetTypeInfoCount 는 개체에 대한 형식 설명의 수를 반환합니다. IDispatch를 지원하는 개체의 경우 형식 정보 수는 항상 1입니다.
  • GetTypeInfo 는 개체의 프로그래밍 가능한 인터페이스에 대한 설명을 검색합니다.
  • GetIDsOfNames 는 메서드 또는 속성의 이름을 나중에 메서드 또는 속성을 호출하는 데 사용되는 DISPID에 매핑합니다.
  • Invoke는 개체의 메서드 중 하나를 호출하거나 해당 속성 중 하나를 가져오거나 설정합니다.