COM은 프로세스의 모든 아파트가 프로세스의 다른 아파트의 개체에 구현된 인터페이스에 액세스할 수 있는 방법을 제공합니다. 이 작업은 IGlobalInterfaceTable 인터페이스를 통해 수행됩니다. 이 인터페이스에는 다음을 수행할 수 있는 세 가지 메서드가 있습니다.
- 인터페이스를 전역(프로세스 전체) 인터페이스로 등록합니다.
- 쿠키를 통해 다른 아파트에서 해당 인터페이스에 대한 포인터를 가져옵니다.
- 인터페이스의 전역 등록을 취소합니다.
IGlobalInterfaceTable 인터페이스는 프로세스 전체 변수 및 다른 개체에 대한 인터페이스 포인터를 포함하는 민첩한 개체(자유 스레드, 마샬링된 개체)와 같은 프로세스 내의 여러 아파트에서 액세스할 수 있는 메모리 위치에 인터페이스 포인터를 저장하는 프로세스의 효율적인 방법입니다.
Agile 개체는 자신이 실행되는 기반이 되는 COM 인프라, 즉 어떤 아파트, 컨텍스트, 스레드에서 실행 중인지 인식하지 못합니다. 개체가 아파트 또는 컨텍스트에 특정한 인터페이스를 붙잡고 있을 수 있습니다. 이러한 이유로 Agile 구성 요소가 실행되는 위치에서 이러한 인터페이스를 호출하는 것이 항상 제대로 작동하지 않을 수 있습니다. 전역 인터페이스 테이블은 Agile 개체가 실행되는 위치에 따라 개체에 대한 유효한 프록시(또는 직접 포인터)가 사용되도록 보장하여 이 문제를 방지합니다.
메모
전역 인터페이스 테이블은 프로세스 또는 컴퓨터 경계를 넘어 이식할 수 없으므로 일반적인 매개 변수 전달 메커니즘 대신 사용할 수 없습니다.
전역 인터페이스 테이블을 만들고 사용하는 방법에 대한 자세한 내용은 다음 항목을 참조하세요.
- 전역 인터페이스 테이블 작성
- 전역 인터페이스 테이블 사용하는 경우
관련 항목