아파트 간 인터페이스 액세스

COM은 프로세스의 모든 아파트가 프로세스의 다른 아파트의 개체에 구현된 인터페이스에 액세스할 수 있는 방법을 제공합니다. 이 작업은 IGlobalInterfaceTable 인터페이스를 통해 수행됩니다. 이 인터페이스에는 다음을 수행할 수 있는 세 가지 메서드가 있습니다.

  • 인터페이스를 전역 (프로세스 전체) 인터페이스로 등록합니다.
  • 쿠키를 통해 다른 아파트에서 해당 인터페이스에 대한 포인터를 가져옵니다.
  • 인터페이스의 전역 등록을 취소합니다.

IGlobalInterfaceTable 인터페이스는 프로세스 전체 변수 및 다른 개체에 대한 인터페이스 포인터를 포함하는 agile 개체(자유 스레드, 마샬링된 개체)와 같이 프로세스 내의 여러 아파트에서 액세스할 수 있는 메모리 위치에 인터페이스 포인터를 저장하는 프로세스의 효율적인 방법입니다.

Agile 개체는 실행되는 기본 COM 인프라를 인식하지 못합니다. 즉, 실행 중인 아파트, 컨텍스트 및 스레드입니다. 개체는 아파트 또는 컨텍스트와 관련된 인터페이스에 유지될 수 있습니다. 이러한 이유로 Agile 구성 요소가 실행되는 위치에서 이러한 인터페이스를 호출하는 것이 항상 제대로 작동하지 않을 수 있습니다. 전역 인터페이스 테이블은 Agile 개체가 실행되는 위치에 따라 개체에 대한 유효한 프록시(또는 직접 포인터)가 사용되도록 보장하여 이 문제를 방지합니다.

참고

전역 인터페이스 테이블은 프로세스 또는 컴퓨터 경계를 넘어 이식할 수 없으므로 일반적인 매개 변수 전달 메커니즘 대신 사용할 수 없습니다.

 

전역 인터페이스 테이블을 만들고 사용하는 방법에 대한 자세한 내용은 다음 topics 참조하세요.

스레딩 모델 선택

다중 스레드 아파트먼트

In-Process 서버 스레딩 문제

프로세스, 스레드 및 아파트

단일 스레드 및 다중 스레드 통신

단일 스레드 아파트먼트