애플리케이션 호환성 계층
원격 데스크톱 서비스 환경에서 레거시 애플리케이션을 실행하려면 원격 데스크톱 서비스 애플리케이션 호환성 계층을 사용할 수 있습니다. RD 세션 호스트(원격 데스크톱 세션 호스트) 서버가 원격 데스크톱 서비스가 인식하지 않는 애플리케이션을 로드하는 경우 호환성 코드가 포함된 DLL도 로드합니다. 원격 데스크톱 서비스 애플리케이션 호환성 계층을 사용하려면 애플리케이션을 컴파일할 때 NOT TSAWARE 플래그를 설정할 수 있습니다.
애플리케이션이 원격 데스크톱 서비스를 인식하는 경우 이 추가 DLL을 로드하고 호환성 코드를 실행하는 오버헤드를 방지할 수 있습니다.
애플리케이션이 원격 데스크톱 서비스 인식임을 나타내려면 선택적 헤더에서 IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE 플래그를 설정합니다. Microsoft Visual C++ 함께 제공되는 링커를 사용하는 경우 TSAWARE 링커 옵션을 사용하여 이 플래그를 설정할 수 있습니다. Microsoft Visual C++ 함께 제공되는 DUMPBIN 도구는 TSAWARE 플래그의 상태를 확인하는 /HEADERS 옵션을 제공합니다. DUMPBIN 도구를 사용하는 방법에 대한 자세한 내용은 DUMPBIN 참조를 참조하세요.
TSAWARE 플래그를 사용하면 애플리케이션이 원격 데스크톱 서비스 호환성 최적화를 무시할 수 있으므로 주의해야 합니다. TSAWARE 플래그는 애플리케이션이 원격 데스크톱 서비스 환경을 위해 설계되었다는 확신이 있는 경우에만 사용해야 합니다. 애플리케이션이 다음 조건을 충족하는 경우 IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE 플래그를 안전하게 사용할 수 있습니다.
- 애플리케이션은 .ini 파일을 사용하지 않습니다.
- 애플리케이션은 설치하는 동안 HKEY_CURRENT_USER 쓰지 않습니다. 자세한 내용은 User-Specific 정보 저장을 참조하세요.
- 애플리케이션은 시스템 서비스(즉, LUID=시스템)로 실행되지 않습니다.
- 애플리케이션은 Windows 또는 다른 시스템 디렉터리에 대한 단독 액세스를 기대하지 않습니다. 즉, 애플리케이션은 Windows 또는 다른 시스템 디렉터리에 사용자별 임시 또는 구성 데이터를 저장하지 않습니다.
- 애플리케이션은 사용자별 데이터 또는 구성을 위해 HKEY 로컬 머신 레지스트리 하이브에 쓰지 않습니다.
- 애플리케이션은 이 문서에 언급된 다른 원격 데스크톱 서비스 호환성 지침을 따릅니다.