다음을 통해 공유


사용자별 정보 저장

원격 데스크톱 서비스 환경에서 애플리케이션은 모든 사용자에게 적용되는 전역 정보와는 별도로 사용자별 위치에 사용자별 정보를 저장해야 합니다. 이 규칙은 레지스트리에 저장된 정보와 파일에 저장된 정보에 적용됩니다. 일반적으로 한 컴퓨터가 한 사용자와 같다고 가정하지 마세요.

사용자별 레지스트리 정보를 HKEY_CURRENT_USER 레지스트리 키 아래에 저장합니다. 원격 데스크톱 서비스는 사용자가 로그온할 때 현재 사용자의 개인 레지스트리 하이브를 HKEY_CURRENT_USER 로드합니다. 물론 원격 데스크톱 서비스는 레지스트리를 관리하여 로그온한 각 클라이언트가 HKEY_CURRENT_USER 따라 올바른 사용자 하이브를 검색하도록 합니다. 레지스트리 키에 대한 자세한 내용은 레지스트리 키 보안 및 액세스 권한 및레지스트리 Hives를 참조하세요.

반면, 모든 사용자는 HKEY_LOCAL_MACHINE 하이브를 공유합니다. HKEY_LOCAL_MACHINE 사용하여 사용자별 정보가 아닌 컴퓨터 관련 정보를 저장합니다.

사용자 기본 설정 파일 또는 기타 사용자별 파일을 사용자의 루트 디렉터리 또는 사용자 지정 디렉터리에 저장합니다. 이 고려 사항은 중간 정보(예: 캐시된 데이터)를 저장하거나 다른 애플리케이션에 데이터를 전달하는 데 사용되는 임시 파일에 적용됩니다. 사용자별 임시 파일도 사용자별로 저장해야 합니다.

shGetSpecialFolderLocation 함수를 CSIDL_PERSONAL 플래그와 함께 사용하여 사용자의 개인 파일 디렉터리의 위치를 가져올 수 있습니다. GetWindowsDirectory 함수를 사용하여 Windows 디렉터리의 경로를 검색할 수도 있습니다. 원격 데스크톱 서비스 환경에서 Windows 디렉터리가 각 사용자에 대해 프라이빗으로 보장됩니다. WINDOWS와 같은 시스템 디렉터리 또는 프로그램 디렉터리(예: 프로그램 파일)에 사용자별 파일을 저장하지 마세요.

사용자의 정보 및 기본 설정 간의 충돌을 방지하려면 애플리케이션은 사용자별 임시 정보를 사용자별 임시 파일에 저장해야 합니다. 사용자별 임시 파일은 파일 잠금 충돌로 인한 애플리케이션 오류도 방지합니다. 임시 정보를 저장하는 경로를 지정하려면 GetTempPath 함수를 사용합니다.