COM (Component Object Model) 전문가가 아니지만 다음과 같이 작동하는 것으로 이해합니다. 프로그램 A ("서버"프로그램)는 COM 인터페이스를 나타냅니다. TLB 파일을 통해. 클라이언트 프로그램은이 인터페이스를 사용하여 함수를 호출합니다 (기본 요소는 모두 무료로 제공됩니다). 이 경우 "서버"프로그램이 실행 중이고 "클라이언트"프로그램이 COM 개체를 사용하여 "서버"와 통신 할 때. 각 프로그램 (프로세스)에는 자체 주소 공간이 있습니다. 이제는 MSXML과 약간 다릅니다. 내가 이해할 때, msxmlX.dll은 COM dll이지만 실행 중에 msxmlX.h와 msxmlX.lib를 사용하여 암시 적으로 링크하면 실행 파일과 동일한 메모리 공간에로드됩니다. 그래서이 경우에 분명히 IPC가 진행되지 않을 때 COM 개체가 사용되는 이유는 무엇입니까? (msxml.dll과 "내 응용 프로그램"모두 동일한 메모리를 사용하며 함수를 호출하는 것처럼 간단하게 "의사 소통"할 수 있습니까?) ???MSXML은 어떻게 작동합니까? (in-process COM 개체 작동 방법)
1
A
답변
1
프로세스, 프로세스 외부 또는 다른 컴퓨터에서 COM 개체를 완전히 만들 수 있습니다. 선택은 요구 사항에 따라 다릅니다.
COM은 소프트웨어 구성 요소를 재사용 및 언어 독립적으로 만들 수 있도록 설계되었습니다. IPC를 쉽게 수행 할 수있는 메커니즘이 아닙니다.
COM 개체는 in-process에서 살 수 있으며 ipc는 필요하지 않습니다. COM은 절대적으로 단순하지 않으며, 알아야 할 모든 것을 다루는 MS (ISBN10 : 1572313498 ISBN13 : 9781572313491)에 의해 출판 된 [Inside COM] (http://www.amazon.com/books/dp/1572313498) 세부 묘사. – fvu