_SHGDNF 열거형(shobjidl_core.h)
IShellFolder::GetDisplayNameOf 및 IShellFolder::SetNameOf 메서드와 함께 사용되는 값을 정의하여 해당 메서드에서 사용하는 파일 또는 폴더 이름의 형식을 지정합니다.
Syntax
typedef enum _SHGDNF {
SHGDN_NORMAL = 0,
SHGDN_INFOLDER = 0x1,
SHGDN_FOREDITING = 0x1000,
SHGDN_FORADDRESSBAR = 0x4000,
SHGDN_FORPARSING = 0x8000
} ;
상수
SHGDN_NORMAL 값: 0 다른 플래그와 결합되지 않은 경우 항목을 식별하는 부모 상대 이름을 반환하여 사용자에게 표시하기에 적합합니다. 이 이름은 파일 이름 확장명과 같은 추가 정보를 포함하지 않는 경우가 많으며 고유할 필요가 없습니다. 이 이름에는 항목이 포함된 폴더를 식별하는 정보가 포함될 수 있습니다. instance 경우 이 플래그로 인해 IShellFolder::GetDisplayNameOf가 특정 사용자의 폴더에 대해 "username(컴퓨터의 사용자 이름)" 문자열을 반환할 수 있습니다. |
SHGDN_INFOLDER 값: 0x1 이름은 요청이 이루어진 폴더를 기준으로 합니다. 폴더의 컨텍스트에서 사용할 때 사용자에게 표시되는 이름입니다. 예를 들어 보기 및 폴더의 주소 표시줄 경로 세그먼트에서 사용됩니다. 이 이름에는 특정 사용자의 폴더에 대한 "username(컴퓨터의 사용자 이름)" 대신 instance "username"에 대한 명확성 정보가 포함되어서는 안 됩니다. SHGDN_FORPARSING 및SHGDN_FOREDITING 조합하여 이 플래그를 사용합니다. |
SHGDN_FOREDITING 값: 0x1000 이름은 사용자가 항목의 이름을 바꿀 때 현재 위치 편집에 사용됩니다. |
SHGDN_FORADDRESSBAR 값: 0x4000 이름은 주소 표시줄 콤보 상자에 표시됩니다. |
SHGDN_FORPARSING 값: 0x8000 이름은 구문 분석에 사용됩니다. 즉, 개체의 PIDL을 복구하기 위해 IShellFolder::P arseDisplayName 에 전달할 수 있습니다. 이 이름이 사용하는 양식은 특정 개체에 따라 달라집니다. SHGDN_FORPARSING 단독으로 사용하는 경우 이름은 바탕 화면을 기준으로 합니다. SHGDN_INFOLDER 함께 사용하면 이름은 요청이 이루어진 폴더를 기준으로 합니다. |
설명
SHGDNF 형식은 다음과 같이 Shobjidl.h에 정의됩니다.
typedef DWORD SHGDNF;
이 열거형은 두 값 그룹으로 구성됩니다. 첫 번째 그룹(SHGDN_NORMAL 및 SHGDN_INFOLDER)은 이름의 형식을 지정합니다. 두 번째 그룹(SHGDN_FOREDITING, SHGDN_FORADDRESSBAR 및 SHGDN_FORPARSING)은 이름 검색 옵션을 지정하는 첫 번째 그룹에 대한 한정자로 구성됩니다.
SHGDN_FORPARSING 설정되고 SHGDN_INFOLDER 설정되지 않은 경우 IShellFolder::GetDisplayNameOf 는 SHITEMID 구조보다 많은 PIDL을 수락할 수 있습니다. 그렇지 않으면 단일 수준 PIDL만 전달할 수 있습니다.
참고 파일 시스템 개체에서 반환된 구문 분석 이름은 개체의 정규화된 경로이지만 가상 폴더는 매우 다른 항목을 사용할 수 있습니다. 예를 들어 일부 가상 폴더는 GUID를 구문 분석 이름으로 사용하고 "::{GUID}" 형식의 문자열을 반환합니다. 개체가 파일 시스템의 일부인지 검사 IShellFolder::GetAttributesOf를 호출하고 SFGAO_FILESYSTEM 플래그가 설정되어 있는지 확인합니다. IShellFolder::GetDisplayNameOf를 구현하는 개발자는 최종 사용자가 이러한 이름을 입력하거나 편집해야 하기 때문에 표시 이름에 최대한 가까운 구문 분석 이름을 반환하는 것이 좋습니다.
SHGDN_NORMAL 숫자 값은 0이므로 이 비트의 존재를 테스트할 수 없습니다. 해당 그룹의 다른 플래그가 설정되지 않은 경우 사용되는 기본 설정을 SHGDN_NORMAL 것이 좋습니다.
예제
다음 표에서는 5가지 플래그 옵션과 세 가지 항목 유형에 대해 가능한 반환 값의 예를 보여 줍니다.
플래그 옵션입니다.
숫자 | 플래그 | Description |
---|---|---|
1 | SHGDN_FORPARSING | 정규화된 구문 분석 이름을 반환합니다. |
2 | SHGDN_INFOLDER | SHGDN_FORPARSING | 부모 폴더를 기준으로 구문 분석 이름을 반환합니다. |
3 | SHGDN_INFOLDER | SHGDN_FOREDITING | 부모 폴더를 기준으로 편집 이름을 반환합니다. |
4 | SHGDN_INFOLDER | 부모 폴더를 기준으로 표시 이름을 반환합니다. |
5 | SHGDN_NORMAL | 특정 폴더가 아닌 바탕 화면을 기준으로 표시 이름을 반환합니다. |
다음은 샘플 항목 유형입니다.
Letter | Description |
---|---|
A | 볼륨 레이블이 C_DRIVE 로컬 컴퓨터의 C: 드라이브입니다. |
b | Mailroom이라는 컴퓨터의 레이저라는 프린터. |
C | 파일 C:\Directory\File.txt(파일 이름 확장명을 숨기면). |
다음 표에서는 표시 이름이 반환되는 대로 설명합니다.
A | b | C | |
---|---|---|---|
1 | C:\ | \\Mailroom\Laser | C:\Directory\File.txt |
2 | C:\ | 레이저 | File.txt |
3 | C_DRIVE | 레이저 | 파일 |
4 | C_DRIVE(C:) | 레이저 | 파일 |
5 | C_DRIVE(C:) | 우편실에 레이저 | 파일 |
예제에 대한 설명
- A3: C: 드라이브는 전체 문자열 "C_DRIVE(C:)"이 아닌 편집을 위한 볼륨 이름을 표시합니다.
- B1-B5: 원격 프린터의 표시 이름은 부모에 상대적으로 표시되는지 여부에 따라 변경됩니다. 부모에 상대적으로 표시되면 프린터 이름만 필요하지만 부모 외부에 표시되면 프린터 이름과 컴퓨터 이름이 모두 표시됩니다.
- C3: File.txt 전체 이름 대신 편집할 기본 이름만 표시합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP, Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
머리글 | shobjidl_core.h(Shobjidl.h 포함) |