InprocServer32

32비트 In-Process 서버를 등록하고 서버가 실행할 수 있는 아파트의 스레딩 모델을 지정합니다.

레지스트리 항목

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
   {CLSID}
      InprocServer32
         (Default) = path
         ThreadingModel = value

설명

ThreadingModel가 스 레딩 모델을 지정하는 REG_SZ 값입니다. 가능한 값은 다음 표에 나와 있습니다.

설명
Apartment 단일 스레드 아파트
둘 다 단일 스레드 또는 다중 스레드 아파트
무료 다중 스레드 아파트
무감정 중립 아파트

 

In-process 서버에서 제공하는 모든 개체에 대해 동일한 값을 사용해야 합니다.

ThreadingModel이 없거나 값으로 설정되지 않은 경우 서버는 프로세스에서 초기화된 첫 번째 아파트에 로드됩니다. 이 아파트는 STA(기본 단일 스레드 아파트)라고도 합니다. 프로세스의 첫 번째 STA가 CoInitialize 또는 CoInitializeEx에 대한 명시적 호출이 아닌 COM에 의해 초기화되면 호스트 STA라고 합니다. 예를 들어 로드할 In Process 서버에 STA가 필요하지만 현재 프로세스에 STA가 없는 경우 COM은 호스트 STA를 만듭니다.

가능하면 In-process 서버는 로드하는 클라이언트와 동일한 아파트에 로드됩니다. 클라이언트 아파트의 스레딩 모델이 지정된 모델과 호환되지 않으면 다음 표에 표시된 대로 서버가 로드됩니다.

서버의 스레딩 모델 아파트 서버가 실행 중임
< 지정된\not> 주 STA
둘 다 클라이언트와 동일한 아파트
무료 다중 스레드 아파트
무감정 중립 아파트

 

서버의 스레딩 모델이 Apartment인 경우 서버가 로드되는 아파트는 다음 표에 표시된 대로 클라이언트가 실행 중인 아파트에 따라 달라집니다.

아파트 클라이언트는 에서 실행됩니다. 아파트 서버가 실행 중임
다중 스레드 호스트 STA
중립(STA 스레드) 클라이언트와 동일한 아파트
중립(MTA 스레드) 호스트 STA

 

COM은 호스트 MTA(다중 스레드 아파트)를 만들 수도 있습니다. 단일 스레드 아파트의 클라이언트가 프로세스에 MTA가 없을 때 스레딩 모델이 Free인 In Process 서버를 요청하는 경우 COM은 호스트 MTA를 만들고 서버를 로드합니다.

32비트 In-process 서버의 경우 InprocHandler32, InprocServer, InprocServer32삽입 가능한 키를 등록해야 합니다. InprocServer 항목은 이전 버전과의 호환성을 위해서만 필요합니다. 누락된 경우 클래스는 계속 작동하지만 16비트 애플리케이션에서 로드할 수 없습니다.

컨테이너가 레지스트리에서 In-Process 서버를 검색하는 경우 16비트 버전의 우선 순위는 16비트 컨테이너이고 32비트 버전에는 32비트 컨테이너가 있는 우선 순위가 있습니다.

InprocServer