다음을 통해 공유


KNOWNFOLDER_DEFINITION 구조체(shobjidl_core.h)

알려진 폴더의 세부 정보를 정의합니다.

구문

typedef struct KNOWNFOLDER_DEFINITION {
  KF_CATEGORY         category;
  LPWSTR              pszName;
  LPWSTR              pszDescription;
  KNOWNFOLDERID       fidParent;
  LPWSTR              pszRelativePath;
  LPWSTR              pszParsingName;
  LPWSTR              pszTooltip;
  LPWSTR              pszLocalizedName;
  LPWSTR              pszIcon;
  LPWSTR              pszSecurity;
  DWORD               dwAttributes;
  KF_DEFINITION_FLAGS kfdFlags;
  FOLDERTYPEID        ftidType;
} KNOWNFOLDER_DEFINITION;

멤버

category

형식: KF_CATEGORY

폴더를 가상, 고정, 공통 또는 사용자별로 분류하는 KF_CATEGORY 상수의 단일 값입니다.

pszName

형식: LPWSTR

null로 끝나는 유니코드 문자열로 저장된 알려진 폴더의 지역화되지 않은 정식 이름에 대한 포인터입니다. 이 폴더가 일반 또는 사용자별 폴더인 경우 이 값은 "사용자 셸 폴더" 레지스트리 설정의 값 이름으로도 사용됩니다. 이 이름은 사람이 읽을 수 있는 고유한 이름입니다. 제3자는 형식 Company.Application.Name을 따르는 것이 좋습니다. 여기에 지정된 이름은 표시 이름과 혼동해서는 안 됩니다.

pszDescription

형식: LPWSTR

null로 끝나는 유니코드 문자열로 저장된 알려진 폴더에 대한 간단한 설명에 대한 포인터입니다. 이 설명에는 폴더의 용도와 사용법이 포함되어야 합니다.

fidParent

형식: KNOWNFOLDERID

상위 폴더로 사용할 다른 알려진 폴더의 이름을 지정하는 KNOWNFOLDERID 값입니다. 일반 및 사용자별 폴더에만 적용됩니다. 이 값은 pszRelativePath와 함께 사용됩니다. 자세한 내용은 비고를 참조하세요.

pszRelativePath에 대한 값이 제공되지 않은 경우 이 값은 선택 사항입니다.

pszRelativePath

형식: LPWSTR

선택 사항입니다. fidParent에 지정된 부모 폴더를 기준으로 하는 경로에 대한 포인터입니다. null로 끝나는 유니코드 문자열이며 실제 파일 시스템 경로를 참조하며 지역화되지 않습니다. 일반 및 사용자별 폴더에만 적용됩니다. 자세한 내용은 비고를 참조하세요.

pszParsingName

형식: LPWSTR

null로 끝나는 유니코드 문자열로 저장된 폴더의 셸 네임스페이스 폴더 경로에 대한 포인터입니다. 가상 폴더에만 적용됩니다. 예를 들어 Control Panel 에는 의 구문 분석 이름이 있습니다 ::%CLSID_MyComputer%::%CLSID_ControlPanel%.

pszTooltip

형식: LPWSTR

선택 사항입니다. 이 알려진 폴더를 만들 때 사용되는 기본 도구 설명 리소스에 대한 포인터입니다. 이 형식의 null로 끝나는 유니코드 문자열입니다.

모듈 이름, 리소스 ID

예를 들어 @%_SYS_MOD_PATH%,-12688 은 일반 그림의 도구 설명입니다. 폴더를 만들 때 이 문자열은 해당 폴더의 Desktop.ini 복사본에 저장됩니다. 나중에 다른 셸 API에서 변경할 수 있습니다. 이 리소스는 지역화될 수 있습니다.

가상 폴더에는 이 정보가 필요하지 않습니다.

pszLocalizedName

형식: LPWSTR

선택 사항입니다. 폴더를 만들 때 사용되는 기본 지역화된 이름 리소스에 대한 포인터입니다. 이 형식의 null로 끝나는 유니코드 문자열입니다.

모듈 이름, 리소스 ID

폴더를 만들 때 이 문자열은 해당 폴더의 Desktop.ini 복사본에 저장됩니다. 나중에 다른 셸 API에서 변경할 수 있습니다.

가상 폴더에는 이 정보가 필요하지 않습니다.

pszIcon

형식: LPWSTR

선택 사항입니다. 폴더를 만들 때 사용되는 기본 아이콘 리소스에 대한 포인터입니다. 이 형식의 null로 끝나는 유니코드 문자열입니다.

모듈 이름, 리소스 ID

폴더를 만들 때 이 문자열은 해당 폴더의 Desktop.ini 복사본에 저장됩니다. 나중에 다른 셸 API에서 변경할 수 있습니다.

가상 폴더에는 이 정보가 필요하지 않습니다.

pszSecurity

형식: LPWSTR

선택 사항입니다. 보안 설명자 정의 언어 형식 문자열에 대한 포인터입니다. 폴더를 만들 때 수신하는 기본 보안 설명자를 설명하는 null로 끝나는 유니코드 문자열입니다. 이 매개 변수가 NULL인 경우 새 폴더는 해당 부모의 보안 설명자를 상속합니다. 이는 모든 사용자가 액세스하는 공통 폴더에 특히 유용합니다.

dwAttributes

형식:DWORD

선택 사항입니다. 폴더를 만들 때 폴더에 지정된 기본 파일 시스템 특성입니다. 예를 들어 파일이 숨겨지고 읽기 전용일 수 있습니다(FILE_ATTRIBUTE_HIDDEN 및 FILE_ATTRIBUTE_READONLY). 가능한 값의 전체 목록은 CreateFile 함수의 dwFlagsAndAttributes 매개 변수를 참조하세요. 필요하지 않은 경우 -1로 설정합니다.

kfdFlags

형식: KF_DEFINITION_FLAGS

선택 사항입니다. 리디렉션을 제한하고, PC-PC 로밍을 허용하고, 알려진 폴더가 만들어지는 시간을 제어할 수 있는 KF_DEFINITION_FLAGS 열거형의 값 중 하나입니다. 필요하지 않은 경우 0으로 설정합니다.

ftidType

형식: FOLDERTYPEID

콘텐츠(예: 문서, 음악 또는 사진)를 기반으로 알려진 폴더 유형을 식별하는 FOLDERTYPEID 값 중 하나입니다. 이 값은 GUID입니다.

설명

fidParentpszRelativePath 값이 함께 작동합니다. 예를 들어 MyNewFolder라는 폴더를 정의하고 해당 폴더를 ...< Username>\AppData\Local\MyApp\MyNewFolder. fidParent에서 ...& lt를 나타내는 FOLDERID_LocalAppData 제공합니다. Username>\AppData\Local. pszRelativePath에서 "\MyApp\MyNewFolder"를 제공합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
머리글 shobjidl_core.h(Shobjidl.h 포함)

추가 정보

IKnownFolder::GetFolderDefinition

IKnownFolderManager::RegisterFolder

알려진 폴더 샘플