서로게이트 공유
DLL 서버는 일치하는 보안 ID가 있고 동일한 AppID 값을 공유하는 경우 서로게이트를 공유합니다.
DLL 서버는 기본적으로 자체 서로게이트 프로세스에 로드됩니다. 둘 이상의 DLL 서버를 지원하도록 다른 DLL 서버를 기존 서로게이트에 로드하려면 다음 두 가지 요구 사항이 있습니다.
- DLL 서버에는 동일한 AppID 값이 있어야 합니다.
- DLL 서버의 보안 컨텍스트는 동일해야 합니다.
두 개의 DLL 서버를 서로 다른 보안 ID로 시작하려면 AppID가 일치하는지 여부에 관계없이 서로 다른 서로게이트에 있어야 합니다.
다음은 AppID와 서로게이트 공유를 관리하는 예제입니다.
AppID
{00001111-aaaa-2222-bbbb-3333cccc4444}
@DllSurrogate REG_SZ
CLSID
{12345678-0000-0000-0000-000000000001}
@AppId REG_SZ {00001111-aaaa-2222-bbbb-3333cccc4444}
InProcServer32
@ REG_SZ c:\myapp\comp1.dll
{12345678-0000-0000-0000-000000000002}
@AppId REG_SZ {00001111-aaaa-2222-bbbb-3333cccc4444}
InProcServer32
@ REG_SZ c:\myapp\comp2.dll
comp1.dll 및 comp2.dll DLL 구성 요소에 대한 두 CLSID가 AppID를 공유하도록 구성되었습니다. AppID 키는 DllSurrogate 값을 지정하여 DLL 서버를 서로게이트에 로드할 수 있도록 지정합니다. 이 예제에서 DllSurrogate 값은 DLL 서로게이트의 기본 시스템 구현을 사용해야 함을 나타내는 빈 문자열입니다.
관련 항목