다음을 통해 공유


세션 모니커를 사용하여 세션-세션 활성화

세션 간 활성화(세션 간 활성화라고도 함)를 사용하면 클라이언트 프로세스가 지정된 세션에서 로컬 서버 프로세스를 시작(활성화)할 수 있습니다. 이 기능은 대화형 사용자의 보안 컨텍스트에서 실행되도록 구성된 애플리케이션("RunAs Interactive User" 개체 활성화 모드라고도 함)에 사용할 수 있습니다. 보안 컨텍스트에 대한 자세한 내용은 클라이언트의 보안 컨텍스트를 참조하세요.

DCOM(분산 COM)은 시스템 제공 세션 모니커를 사용하여 세션별로 개체 활성화를 사용하도록 설정합니다. 다른 시스템 제공 모니커에는 파일 모니커, 항목 모니커, 제네릭 복합 모니커, 안티 모니커, 포인터 모니커URL 모니커가 포함됩니다.

세션 모니커를 사용하려면 DCOM 애플리케이션을 대화형 사용자로 실행하도록 설정해야 합니다. 구성 요소 서비스 관리 도구를 사용하고, DCOM 애플리케이션의 속성을 보고, ID 탭에서 대화형 사용자를 선택하여 설정할 수 있습니다 . 원격 데스크톱 서비스 환경에서 대화형 사용자로 실행되도록 DCOM 애플리케이션을 설정하는 것과 관련된 가능한 보안 위험에 대한 자세한 내용은 플랫폼 SDK(소프트웨어 개발 키트)의 COM 설명서의 "COM(애플리케이션 ID)" 섹션을 참조하세요.

애플리케이션을 실행하기 위해 다른 유형의 사용자를 선택하면 애플리케이션에서 세션 모니커가 무시됩니다. COM+ 서버 애플리케이션에서도 세션 모니커가 무시됩니다. 애플리케이션을 실행할 사용자 유형을 선택하는 다른 방법에 대한 자세한 내용은 플랫폼 SDK의 COM 설명서를 참조하세요.

세션 모니커를 만들려면 프로세스 서버의 클래스 ID를 지정하는 클래스 모니커를 사용하여 원격 데스크톱 서비스 세션의 세션 ID를 작성해야 합니다.

세션 모니커를 만들려면

  1. 다음 구문을 사용하여 클래스 모니커의 표시 이름 앞에 세션 모니커의 표시 이름을 접두사로 추가합니다.

    "Session:[digits]!clsid:[class id]"
    

    여기서 숫자는 서버 프로세스가 시작될 세션의 세션 ID를 나타내고 여기서 클래스 ID 는 서버의 클래스 ID를 나타냅니다. 세션 ID는 base-10 숫자입니다.

    Windows XP 이상을 실행하는 컴퓨터의 경우 다음 구문을 사용하면 COM이 세션 ID에 관계없이 현재 활성 실제 콘솔 세션으로 정품 인증을 보냅니다.

    "Session:Console!clsid:[class id]"
    
  2. 세션 모니커를 만든 후에는 결과를 MkParseDisplayName 함수 또는 MkParseDisplayNameEx 함수에 전달할 수 있습니다.

다른 모니커를 사용하는 것과 동일한 방식으로 세션 모니커를 사용할 수 있습니다.

지정된 세션에서 로컬 서버 프로세스를 활성화하는 방법을 보여 주는 코드 샘플은 세션 모니커 사용을 참조하세요.

개체 활성화, 시스템 제공 모니커 및 클래스 모니커에 대한 자세한 내용은 플랫폼 SDK의 COM 설명서를 참조하세요.

참고

세션 간에 생성되는 프로세스는 환경 블록의 크기에 대한 상한이 있습니다. 이 제한은 약 4KB이지만 프로세스를 만드는 데 필요한 다른 정보(예: 새 프로세스의 파일 이름, 디렉터리 및 매개 변수)에 따라 크거나 작을 수 있습니다.