IGlobalOptions 인터페이스(objidl.h)
COM(구성 요소 개체 모델) 런타임의 전역 속성을 설정하고 쿼리합니다.
상속
IGlobalOptions 인터페이스는IUnknown 인터페이스에서 상속됩니다. IGlobalOptions 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
IGlobalOptions 인터페이스에는 이러한 메서드가 있습니다.
IGlobalOptions::Query IGlobalOptions::Query 메서드(objidl.h)는 COM 런타임의 지정된 전역 속성을 쿼리합니다. |
IGlobalOptions::Set IGlobalOptions::Set 메서드(objidl.h)는 COM 런타임의 지정된 전역 속성을 설정합니다. |
설명
이 인터페이스를 사용하여 COM 런타임의 다음 전역 속성을 설정하고 쿼리할 수 있습니다.
속성 | 값 |
---|---|
COMGLB_APPID | 프로세스에 대한 AppID입니다. Windows XP에서 유일하게 지원되는 속성입니다. |
COMGLB_EXCEPTION_HANDLING |
COMGLB_EXCEPTION_HANDLING 속성의 가능한 값은 다음과 같습니다.
참고 COM 런타임 예외 처리를 사용하지 않도록 설정하더라도 예외를 처리하는 프로세스에 다른 애플리케이션 수준 예외 처리기가 있는 경우 예외가 WER로 전파되지 않을 수 있습니다.
|
COMGLB_RPC_THREADPOOL_SETTING |
Set 메서드의 COMGLB_RPC_THREADPOOL_SETTING 속성에 대한 가능한 값은 다음과 같습니다.
COMGLB_RPC_THREADPOOL_SETTING 속성을 사용하여 RPC 스레드 풀 동작을 변경할 수 있습니다. 기본 동작을 변경하면 RPC가 추가 스레드를 사용하므로 성능 저하가 발생합니다. 따라서 이 설정을 변경할 때는 주의해야 합니다. 이 설정은 애플리케이션 호환성을 위해만 변경하는 것이 좋습니다.
참고 이 속성은 프로세스에서 COM이 초기화된 직후에 설정해야 합니다. COM이 RPC 채널을 초기화하는 작업을 수행한 후 이 속성이 설정되면(예: 개체 참조 마샬링 또는 마샬링 취소) Set 메서드가 실패합니다.
|
COMGLB_RO_SETTINGS |
COMGLB_RO_SETTINGS 속성의 가능한 값은 다음과 같습니다.
|
COMGLB_UNMARSHALING_POLICY |
COMGLB_UNMARSHALING_POLICY 속성의 가능한 값은 다음과 같습니다.
|
로컬 서버 또는 IDropTarget::D rop 메서드를 실행할 때 인바운드 COM 호출을 실행하는 동안 생성될 수 있는 크래시 및 기타 예외를 검색하는 애플리케이션에서 COMGLB_EXCEPTION_HANDLING COMGLB_EXCEPTION_DONOT_HANDLE 설정하여 예외를 catch하는 COM 동작을 사용하지 않도록 설정하는 것이 중요합니다. 이렇게 하지 않으면 프로세스 상태가 손상될 수 있습니다. 예를 들어 이러한 예외가 throw될 때 유지되는 잠금이 중단되고 프로세스가 일관되지 않은 상태가 될 수 있습니다.
이러한 모든 애플리케이션은 시작할 때 이 코드를 실행해야 합니다.
IGlobalOptions *pGlobalOptions;
hr = CoCreateInstance(CLSID_GlobalOptions, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pGlobalOptions));
if (SUCCEEDED(hr))
{
hr = pGlobalOptions->Set(COMGLB_EXCEPTION_HANDLING, COMGLB_EXCEPTION_DONOT_HANDLE);
pGlobalOptions->Release();
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | objidl.h(ObjIdl.h 포함) |