CoGetDefaultContext 함수(combaseapi.h)
지정된 아파트의 기본 컨텍스트에 대한 참조를 검색합니다.
구문
HRESULT CoGetDefaultContext(
[in] APTTYPE aptType,
[in] REFIID riid,
[out] void **ppv
);
매개 변수
[in] aptType
요청되는 기본 컨텍스트의 아파트 유형입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
발신자의 아파트. |
|
현재 프로세스에 대한 다중 스레드 아파트입니다. |
|
현재 프로세스에 대한 중립 아파트. |
|
현재 프로세스에 대한 기본 단일 스레드 아파트입니다. |
APTTYPE 값 APTTYPE_STA(0)은 지원되지 않습니다. 프로세스에는 각각 자체 컨텍스트가 있는 여러 단일 스레드 아파트가 포함될 수 있으므로 CoGetDefaultContext 는 관심 있는 STA를 확인할 수 없습니다. 따라서 이 함수는 APTTYPE_STA 지정된 경우 E_INVALIDARG 반환합니다.
[in] riid
기본 컨텍스트에서 요청되는 인터페이스의 IID(인터페이스 식별자)입니다. 일반적으로 호출자는 IID_IObjectContext 요청합니다. 기본 컨텍스트는 모든 일반 개체 컨텍스트 인터페이스를 지원하지 않습니다.
[out] ppv
기본 컨텍스트에서 riid로 지정된 인터페이스에 대한 참조입니다. 개체의 구성 요소가 구성되지 않은 경우(즉, 개체의 구성 요소를 COM+ 애플리케이션으로 가져오지 않았거나, 생성자 또는 IUnknown 메서드에서 CoGetDefaultContext 함수가 호출된 경우 이 매개 변수는 NULL 포인터로 설정됩니다.
반환 값
이 메서드는 다음 값을 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
|
메서드가 완료되었습니다. |
|
매개 변수 중 하나가 잘못되었습니다. |
|
호출자가 초기화된 아파트에 없습니다. |
|
개체 컨텍스트는 riid로 지정된 인터페이스를 지원하지 않습니다. |
설명
모든 COM 아파트에는 기본 컨텍스트라는 특수 컨텍스트가 있습니다. 기본 컨텍스트는 런타임 서비스를 제공하지 않으므로 아파트의 다른 모든 기본 컨텍스트와 다릅니다. 모든 일반 개체 컨텍스트 인터페이스를 지원하지는 않습니다.
기본 컨텍스트는 구성되지 않은 COM 구성 요소(즉, COM+ 애플리케이션에 속하지 않은 구성 요소)의 인스턴스에서 스레딩 모델을 지원하지 않는 아파트에서 생성되는 경우에도 사용됩니다. 즉, COM 개체가 구성되지 않은 구성 요소의 instance 만들고 스레딩 모델 때문에 새 개체를 작성자의 컨텍스트에 추가할 수 없는 경우 새 개체는 스레딩 모델을 지원하는 아파트의 기본 컨텍스트에 추가됩니다.
개체는 IObjectContext 참조를 다른 개체에 전달해서는 안 됩니다. IObjectContext 참조를 다른 개체에 전달하면 더 이상 유효한 참조가 아닙니다.
개체가 IObjectContext에 대한 참조를 가져오는 경우 IObjectContext 개체가 완료되면 IObjectContext 개체를 해제해야 합니다.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | combaseapi.h |
라이브러리 | Ole32.lib |
DLL | Ole32.dll |