세션 연결 및 연결 끊김 모니터링

가상 채널 서버 애플리케이션과 같은 서비스 애플리케이션의 경우 세션 연결 및 연결 끊김을 모니터링하려면 원격 데스크톱 서비스에 등록해야 합니다. 원격 데스크톱 서비스에 애플리케이션을 등록하려면 다음 위치에 하위 키를 추가하여 레지스트리에 가상 채널 서버 애플리케이션의 이름을 저장합니다.

Hkey_local_machine\시스템\CurrentControlSet\컨트롤\TerminalServer\Addins

하위 키는 모든 이름을 가질 수 있습니다. 애플리케이션의 기호 이름을 포함하는 REG_SZ 값 Name이 있어야 합니다.

Name = AddinName

하위 키의 최대 길이와 Name 값은 99자입니다.

하위 키에는 서버 애플리케이션의 형식을 나타내는 REG_DWORD 값도 있어야 합니다.

Type = AddinType

AddinType 은 다음 값이어야 합니다.

의미
3 사용자 모드 애플리케이션, 세션 공간.

 

서비스 애플리케이션 등록은 등록이 수행된 후 생성된 세션에서만 적용됩니다.

등록된 각 서비스 애플리케이션에 대해 원격 데스크톱 서비스는 클라이언트가 세션에 연결하거나 연결을 끊을 때 이벤트 개체 집합에 신호를 보냅니다. 각 가상 채널 플러그 인은 자신을 등록하고 CreateEvent를 호출하여 알림 이벤트를 만들어야 합니다. 이러한 이벤트 개체의 이름은 다음 형식을 따릅니다.

AddinName-Reconnect

AddinName-Disconnect

AddinName 은 서버 애플리케이션이 등록된 레지스트리 하위 키의 이름 값에 지정된 문자열입니다. 세션 아래에 이러한 이벤트를 만들면 특별한 세션별 이벤트 디렉터리에 생성됩니다. 이벤트 디렉터리에서는 다른 세션의 애플리케이션이 이러한 이벤트의 상태를 수정하지 못하도록 하여 추가 보안을 제공합니다.

서버에 RECONNECT 및 DISCONNECT 이벤트가 수신되는지 여부를 제어하려면 다음 키 아래의 레지스트리에 RemoteControlPersistent 플래그를 배치할 수 있습니다.

Hkey_local_machine\시스템\CurrentControlSet\컨트롤\TerminalServer\Addins\addinname

플래그는 클라이언트 세션이 시작되거나 중지될 때 RECONNECT 및 DISCONNECT 이벤트가 신호를 받지 않도록 설정하거나 사용하지 않도록 설정합니다. REG_DWORD 값의 구문은 다음과 비슷합니다.

RemoteControlPersistent = flag

플래그 값은 1 또는 0일 수 있습니다. 0은 기본값입니다. 1로 설정하면 클라이언트 세션이 시작되거나 중지된 경우 서비스 애플리케이션에 알림이 표시되지 않습니다. 0으로 설정하면 클라이언트 세션이 시작될 때 RECONNECT 이벤트가 신호를 받고 클라이언트 세션이 중지될 때 DISCONNECT 이벤트가 신호를 보냅니다.

이전 이벤트 개체 이름 형식은 이전 버전과의 호환성을 위해 Windows Server 2008에서 계속 지원됩니다. 더 안전하기 때문에 최신 Windows Server 2008 형식을 사용하는 것이 좋습니다.

이전 이벤트 형식은 다음과 같습니다.

Global\AddinName-SessionId-Reconnect
 
Global\AddinName-SessionId-Disconnect

AddinName 은 서버 애플리케이션이 등록된 레지스트리 하위 키의 이름 값에 지정된 문자열입니다. SessionId 는 클라이언트 세션의 세션 식별자입니다.