IPropertyDescription::FormatForDisplay 메서드(propsys.h)

속성 값의 형식이 지정된 유니코드 문자열 표현을 가져옵니다.

구문

HRESULT FormatForDisplay(
  [in]  REFPROPVARIANT        propvar,
  [in]  PROPDESC_FORMAT_FLAGS pdfFlags,
  [out] LPWSTR                *ppszDisplay
);

매개 변수

[in] propvar

형식: REFPROPVARIANT

속성의 형식과 값을 포함하는 PROPVARIANT 구조체에 대한 참조입니다.

[in] pdfFlags

형식: PROPDESC_FORMAT_FLAGS

속성 문자열 형식을 나타내는 하나 이상의 PROPDESC_FORMAT_FLAGS 플래그(비트 또는 여러 값)입니다.

[out] ppszDisplay

형식: LPWSTR*

표시 텍스트가 포함된 null로 끝나는 유니코드 문자열에 대한 포인터의 주소입니다.

반환 값

형식: HRESULT

다음 값 중 하나를 반환합니다.

반환 코드 Description
S_OK
문자열이 복사되고 잘림 없이 null이 종료되었습니다. 이 문자열은 빈 입력 문자열로 인해 비어 있거나 빈 문자열로 형식이 지정된 비어 있지 않은 값에서 반환될 수 있습니다.
S_FALSE
빈 문자열은 VT_EMPTY 결과입니다.
E_INVALIDARG
pszText 매개 변수는 NULL입니다.
ERROR_INSUFFICIENT_BUFFER
공간이 부족하여 복사 작업이 실패했습니다. 대상 버퍼는 잘린 버전의 이상적인 결과를 포함하도록 수정되며 null로 종료됩니다.

설명

IPropertyDescription::FormatForDisplay를 호출하기 전에 CoInitialize 또는 OleInitialize를 사용하여 COM(구성 요소 개체 모델)을 초기화해야 합니다.

성공하면 이 메서드는 지정된 PROPERTYKEY에 대한 속성 값의 형식이 지정된 유니코드 문자열 표현과 하나 이상의 PROPDESC_FORMAT_FLAGS 가져옵니다.

이 메서드의 목적은 데이터를 사용자에게 표시하기에 적합한 문자열로 변환하는 것입니다. 값은 현재 로캘, 사용자의 언어, PROPDESC_FORMAT_FLAGS 및 속성 키에 지정된 속성 설명에 따라 형식이 지정됩니다. 속성 설명 스키마가 값의 서식에 미치는 영향에 대한 자세한 내용은 displayInfo, stringFormat, booleanFormat, numberFormat, NMDATETIMEFORMATenumeratedList를 참조하세요. 일반적으로 PROPDESC_FORMAT_FLAGS 속성 설명에 지정된 형식을 수정하는 데 사용됩니다.

출력 문자열에는 유니코드 방향 문자가 포함될 수 있습니다. 이러한 비선형 문자는 유니코드 양방향 알고리즘에 영향을 주므로 LTR(왼쪽에서 오른쪽) 언어를 RTL(오른쪽에서 왼쪽으로) 창에 그릴 때 값이 올바르게 표시되고 그 반대의 경우도 마찬가지입니다. 이러한 문자는 다음과 같습니다. "\x200e", "\x200f", "\x202a", "\x202b", "\x202c", "\x202d", "\x202e".

다음 속성은 특수 형식을 사용하며 PROPDESC_FORMAT_FLAGS 영향을 받지 않습니다(인용된 예제는 현재 로캘이 영어로 설정된 문자열에 대한 것입니다. 일반적으로 출력은 명시된 경우를 제외하고 지역화됨).

속성 형식
System.FileAttributes 다음 파일 특성은 문자로 변환되고 문자열을 만들기 위해 추가됩니다(예: 0x1801 값(FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_COMPRESSED | FILE_ATTRIBUTE_OFFLINE)은 "RCO"로 변환됩니다.
  • FILE_ATTRIBUTE_READONLY(0x00000001) - 'R'
  • FILE_ATTRIBUTE_SYSTEM(0x00000004) - 'S'
  • FILE_ATTRIBUTE_ARCHIVE(0x00000020) -'A'
  • FILE_ATTRIBUTE_COMPRESSED(0x00000800) - 'C'
  • FILE_ATTRIBUTE_ENCRYPTED(0x00004000) - 'E'
  • FILE_ATTRIBUTE_OFFLINE(0x00001000) - 'O'
  • FILE_ATTRIBUTE_NOT_CONTENT_INDEXED(0x00002000) - 'I'
System.Photo.ISOSpeed 예를 들어 "ISO-400"입니다.
System.Photo.ShutterSpeed APEX 값은 다음 수식을 사용하여 노출 시간으로 변환됩니다.

Exposure_time = 2^(-APEX_value)

예를 들어 "2초"입니다. 또는 "1/125 초".

System.Photo.ExposureTime 예를 들어 "2초"입니다. 또는 "1/125초"
System.Photo.Aperture APEX 값은 다음 수식을 사용하여 F 숫자로 변환됩니다.

F_Number = 2^(APEX_Value / 2)

예를 들어 "f/5.6"입니다.

System.Photo.FNumber 예를 들어 "f/5.6"입니다.
System.Photo.SubjectDistance 예를 들어 "15m" 또는 "250mm"입니다.
System.Photo.FocalLength 예를 들어 "50mm"입니다.
System.Photo.FlashEnergy 예를 들어 "500 bpcs"입니다.
System.Photo.ExposureBias 예를 들어 "-2단계", "0단계" 또는 "+3단계"가 있습니다.
System.Computer.DecoratedFreeSpace 예를 들어 "13.2GB의 105MB 무료"입니다.
System.ItemType 예를 들어 "애플리케이션" 또는 "JPEG 이미지"입니다.
System.ComputerName 예를 들어 "LITWARE05(이 컴퓨터)" 또는 "testbox07"입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 propsys.h

추가 정보

IPropertyDescription

속성 설명 스키마