빠른 사용자 전환
사용자가 컴퓨터에 로그온하면 시스템에서 해당 프로필을 로드합니다. 각 사용자에게 고유한 사용자 계정이 있으므로 여러 사용자가 컴퓨터를 공유할 수 있습니다. 사용자가 로그온할 때 표시되는 데스크톱 설정, 파일, 즐겨찾기 및 기록은 해당 항목입니다. 다른 사용자가 액세스할 수 없습니다. 해당 사용자가 로그오프하면 다음에 로그온할 때 해당 프로필이 유지됩니다. 이전 운영 체제에서는 다른 사용자가 로그온하기 전에 사용자가 로그오프해야 했습니다. Windows XP에서는 다른 사용자가 로그온할 수 있도록 사용자가 로그오프할 필요가 없습니다. 대신, 여러 사용자가 로그온하여 열린 계정 간에 빠르게 전환할 수 있습니다. 이 기능을 빠른 사용자 전환이라고 합니다. 다른 계정으로 전환해도 사용자가 현재 실행 중인 애플리케이션의 상태는 변경되지 않습니다. 예를 들어 한 사용자가 첫 번째 사용자가 로그온하는 동안 다른 사용자가 자신의 계정으로 전환할 수 있도록 허용한다고 가정합니다. 첫 번째 사용자가 계정으로 다시 전환하면 애플리케이션이 실행되고 네트워크 연결이 유지됩니다. 따라서 두 사용자가 동시에 컴퓨터를 사용하는 것으로 나타납니다.
애플리케이션이 Windows 2000 로고 요구 사항을 준수하는 경우 Windows XP 이상 운영 체제에서 빠른 사용자 전환을 사용해야 합니다. 그러나 사용자가 예상한 대로 작동하도록 애플리케이션을 개발할 때 이 시나리오를 염두에 두어야 합니다. 애플리케이션을 작성할 때 다음 지침을 사용합니다.
- 진정한 프로필 분리를 구현합니다. 시스템은 사용자 데이터, 사용자 설정 및 컴퓨터 설정의 분리를 지원하는 기본 인프라를 제공합니다. 예를 들어 사용자의 Documents 폴더를 사용하여 사용자가 만든 데이터를 저장합니다. 애플리케이션별 데이터에 대한 디렉터리를 찾으려면 FOLDERID_RoamingAppData)에서 알려진 폴더 시스템을 사용하거나 이전 운영 체제의 경우 CSIDL_APPDATA)가 있는 CSIDL 시스템을 사용합니다. 임시 파일과 같은 다른 컴퓨터에서 사용자가 사용할 수 없는 데이터에는 FOLDERID_LocalAppData 또는 CSIDL_LOCAL_APPDATA 사용합니다.
- 사용자 스위치의 알림을 등록합니다. 일반적으로 스위치가 발생할 때 애플리케이션에 알림을 받을 필요가 없습니다. 그러나 애플리케이션에 세션 변경에 대한 알림을 받아야 하는 경우 등록하여 WM_WTSSESSION_CHANGE 메시지를 받을 수 있습니다.
- 애플리케이션의 다른 인스턴스에 유의하세요. 예를 들어 애플리케이션이 인터넷에서 업데이트를 다운로드해야 하는 경우가 있습니다. 다른 사용자가 다른 세션에서 애플리케이션 인스턴스를 동시에 실행하는 경우 업데이트가 실패할 수 있습니다. 업데이트가 성공하더라도 업데이트로 인해 애플리케이션의 다른 실행 중인 인스턴스가 예측할 수 없는 방식으로 동작할 수 있습니다. 따라서 애플리케이션의 다른 인스턴스가 실행되고 있지 않은 경우에만 동적 업그레이드를 수행하는 것이 가장 좋습니다. 애플리케이션 업데이트를 다운로드하기 전에 데이터를 저장하고 클린 종료하도록 애플리케이션의 실행 중인 모든 인스턴스를 알리는 메서드를 구현하는 것이 적절할 수 있습니다.