Share via


인스턴스 만들기 도우미 함수

COM의 이전 릴리스에서 instance 개체를 만드는 데 사용된 기본 메커니즘은 CoCreateInstance 함수였습니다. 이 함수는 클래스 개체를 만들어 새 instance 만들고 클래스 개체를 해제하는 프로세스를 캡슐화합니다. 이러한 종류의 또 다른 함수는 클래스 개체를 만들고 요청된 개체에 대한 포인터를 검색하는 OLE 복합 문서 도우미인 보다 구체적인 OleCreate입니다.

분산 시스템에서 instance 생성 프로세스를 원활하게 하기 위해 COM은 다음과 같은 네 가지 중요한 새 instance 만들기 메커니즘을 도입했습니다.

클래스 모니커를 사용하면 개체의 클래스를 식별할 수 있으며 일반적으로 파일 모니커와 같은 다른 모니커와 함께 개체의 위치를 나타내는 데 사용됩니다. 이렇게 하면 개체에 바인딩하고 해당 개체에 대해 시작할 서버를 지정할 수 있습니다. 클래스 모니커도 IClassActivator 인터페이스에 대한 바인딩을 지원하는 모니커의 오른쪽에 구성될 수 있습니다. 자세한 내용은 클래스 모니커를 참조하세요.

CoCreateInstanceEx 는 지정된 원격 머신에서 지정된 CLSID와 연결된 초기화되지 않은 단일 개체를 만들 수 있도록 CoCreateInstance 를 확장합니다. 또한 단일 인터페이스를 요청하고 해당 인터페이스에 대한 단일 포인터를 가져오는 대신 CoCreateInstanceEx 를 사용하면 여러 인터페이스를 쿼리할 수 있으며(사용 가능한 경우) 단일 왕복으로 포인터를 받을 수 있으므로 컴퓨터 간의 왕복을 줄일 수 있습니다. 이렇게 하면 원격 개체 상호 작용이 훨씬 더 효율적일 수 있습니다. 이를 위해 함수는 MULTI_QI 구조의 배열을 사용합니다.

CoCreateInstanceEx를 통해 개체를 만들려면 초기화 인터페이스 중 하나(예: IPersistStorage::Load)에 대한 호출을 통해 개체를 초기화해야 합니다. 도우미 함수 CoGetInstanceFromFileCoGetInstanceFromIStorageCoCreateInstanceEx의 instance 생성 능력과 초기화, 파일의 전자 및 스토리지의 후자를 모두 캡슐화합니다.

클래스 개체를 통해 개체 만들기