애플리케이션에서 알려진 폴더 작업

알려진 폴더 시스템은 기본적으로 Windows에 있는 특정 상위 프로필 폴더와 상호 작용하는 방법을 제공합니다. 또한 애플리케이션에서 알려진 폴더 시스템에 설치 및 등록된 폴더와 동일한 상호 작용을 허용합니다. 이 항목에서는 알려진 폴더 API에서 제공하는 가능한 상호 작용에 대해 설명합니다.

중요

문서, 그림 또는 데스크톱 폴더를 OneDrive로 리디렉션하려면 이 문서에 설명된 리디렉션 방법 대신 OneDrive 알려진 폴더 이동을 사용합니다. 자세한 내용은 Windows 알려진 폴더를 OneDrive로 리디렉션 및 이동을 참조하세요.

알려진 폴더 인터페이스

알려진 폴더 인터페이스에는 IKnownFolderIKnownFolderManager라는 두 가지가 있습니다.

IKnownFolderManager 는 이러한 폴더와 관련하여 많은 일반적인 기능을 제공합니다. 해당 메서드를 사용하면 다음을 수행할 수 있습니다.

  • 해당 폴더의 KNOWNFOLDERID, 정식 이름, 문자열로 표현된 경로 또는 IDList로 표현된 경로를 기반으로 IKnownFolder를 검색합니다.
  • CSIDL을 해당 KNOWNFOLDERID 로 변환하거나 KNOWNFOLDERID 를 해당 레거시 CSIDL로 변환합니다.
  • 알려진 폴더를 시스템에 등록하거나 등록 취소합니다.
  • 해당 시스템에 등록된 모든 KNOWNFOLDERID 값을 검색합니다.
  • 알려진 폴더를 새 위치로 리디렉션합니다.

IKnownFolder 는 폴더가 새 경로를 제공하여 자신을 리디렉션할 수 있도록 하는 메서드를 제공합니다. 다른 방법은 다음을 포함하여 특정 알려진 폴더에 대한 정보를 가져옵니다.

  • 폴더의 범주: 가상, 고정, 일반 또는 사용자별.
  • 압축, 문서, 그림 또는 사용자 파일과 같은 폴더의 형식입니다.
  • 폴더의 KNOWNFOLDERID 입니다.
  • IDList 또는 문자열로 폴더의 전체 경로입니다. 부모 폴더에 대한 상대 경로도 있습니다.
  • 폴더의 정식 이름입니다.
  • 폴더에 대해 표시되는 도구 설명입니다.
  • 폴더에 대해 표시되는 아이콘입니다.
  • 용도 및 사용을 설명하는 폴더에 대한 설명입니다.
  • 폴더를 리디렉션할 수 있는지 여부입니다.

IKnownFolder 는 폴더를 기반으로 IShellItem 을 검색하는 메서드도 제공합니다. 이를 통해 폴더를 처리기에 바인딩하고, 두 폴더를 비교하고, 폴더의 특성, 표시 이름 및 부모 폴더를 검색할 수 있습니다.

리디렉션

폴더 리디렉션은 알려진 폴더 시스템의 중요한 기능입니다. 일반KF_CATEGORY_COMMON**** 또는 사용자별KF_CATEGORY_PERUSER**** 범주의 알려진 모든 폴더는 리디렉션할 수 있습니다. 그러나 범주 가상KF_CATEGORY_VIRTUAL**** 또는 fixedrKF_CATEGORY_FIXED****의 폴더는 리디렉션할 수 없습니다.

폴더는 동일한 컴퓨터의 다른 위치 또는 네트워크의 위치로 리디렉션할 수 있습니다. 네트워크 리디렉션의 경우 오프라인 액세스를 제공하기 위해 클라이언트 쪽 캐싱을 통해 폴더를 로컬로 캐시할 수 있습니다. 그러나 로컬 캐시가 있는 경우에도 네트워크를 통해 리디렉션된 폴더 자체에 액세스해야 합니다.

Windows Vista의 경우 폴더 리디렉션이 새로운 것이 아닙니다. 예를 들어 Windows XP에서 CSIDL 시스템을 통해 식별된 일부 폴더는 SHSetFolderPath 호출을 통해 또는 레지스트리에서 CSIDL의 항목을 수정하여 리디렉션될 수 있습니다. Windows Vista 이상에서는 IKnownFolder::SetPath 또는 SHSetKnownFolderPath를 통해 리디렉션을 수행해야 합니다.

폴더를 리디렉션할 수 있는지 여부를 확인하려면 IKnownFolder::GetRedirectionCapabilities를 호출합니다. 폴더를 리디렉션할 수 없는 경우 이 호출은 설명을 제공할 수 있습니다.

폴더가 네트워크 위치로 리디렉션되는 경우에도 IKnownFolder 메서드를 성공적으로 호출할 수 있습니다.

알려진 폴더 샘플