다음을 통해 공유


Automation Clients

자동화를 사용하면 애플리케이션이 다른 애플리케이션에서 구현된 개체를 조작하거나 개체를 조작할 수 있도록 개체를 노출할 수 있습니다. Automation 클라이언트는 다른 애플리케이션에 속하는 노출된 개체를 조작할 수 있는 애플리케이션입니다. 개체를 노출하는 애플리케이션을 Automation 서버라고 합니다. 클라이언트는 해당 개체의 속성 및 함수에 액세스하여 서버 애플리케이션의 개체를 조작합니다.

Automation 클라이언트 유형

Automation 클라이언트에는 두 가지 유형이 있습니다.

  • 동적으로(런타임에) 서버의 속성 및 작업에 대한 정보를 가져오는 클라이언트입니다.

  • 서버의 속성 및 작업을 지정하는 정적 정보(컴파일 시간에 제공됨)를 소유한 클라이언트입니다.

첫 번째 종류의 클라이언트는 OLE 시스템의 IDispatch 메커니즘을 쿼리하여 서버의 메서드 및 속성에 대한 정보를 가져옵니다. 동적 클라이언트에 사용하기에는 적절하지만, IDispatch 구동되는 개체를 컴파일 시간에 알려야 하는 정적 클라이언트에는 사용하기가 어렵습니다. 정적 바인딩된 클라이언트의 경우 Microsoft Foundation 클래스는 COleDispatchDriver 클래스를 제공합니다.

정적 바인딩된 클라이언트는 클라이언트 애플리케이션과 정적으로 연결된 프록시 클래스를 사용합니다. 이 클래스는 서버 애플리케이션의 속성 및 작업에 대한 형식이 안전한 C++ 캡슐화를 제공합니다.

이 클래스 COleDispatchDriver 는 Automation의 클라이언트 쪽에 대한 보안 주체 지원을 제공합니다. 새 항목 추가 대화 상자를 사용하여 에서 파생된 클래스를 만듭니다COleDispatchDriver.

그런 다음 서버 애플리케이션 개체의 속성과 함수를 설명하는 형식 라이브러리 파일을 지정합니다. 항목 추가 대화 상자는 이 파일을 읽고 애플리케이션이 C++로 서버 애플리케이션의 개체에 액세스하기 위해 형식이 안전한 방식으로 호출할 수 있는 멤버 함수를 사용하여 파생 클래스를 만듭니다 COleDispatchDriver. 상속된 COleDispatchDriver 추가 기능은 적절한 Automation 서버를 호출하는 프로세스를 간소화합니다.

Automation 클라이언트에서 이벤트 처리

자동화 클라이언트에서 이벤트를 처리하려면 싱크 인터페이스를 추가해야 합니다. MFC는 ActiveX 컨트롤에 대한 싱크 인터페이스를 추가하는 마법사 지원을 제공하지만 다른 COM 서버는 지원하지 않습니다.

참고 항목

자동화 클라이언트: 형식 라이브러리 사용
자동화
MFC 애플리케이션 마법사