IPropertyDescription::FormatForDisplay メソッド (propsys.h)
プロパティ値の書式設定された Unicode 文字列表現を取得します。
構文
HRESULT FormatForDisplay(
[in] REFPROPVARIANT propvar,
[in] PROPDESC_FORMAT_FLAGS pdfFlags,
[out] LPWSTR *ppszDisplay
);
パラメーター
[in] propvar
型: REFPROPVARIANT
プロパティの型と値を含む PROPVARIANT 構造体への参照。
[in] pdfFlags
プロパティ文字列形式を示す 1 つ以上の PROPDESC_FORMAT_FLAGS フラグ (ビットごとの値または複数の値)。
[out] ppszDisplay
種類: LPWSTR*
表示テキストを含む null で終わる Unicode 文字列へのポインターのアドレス。
戻り値
種類: HRESULT
次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
|
文字列がコピーされ、切り捨てずに null で終了しました。 この文字列は、空の入力文字列または空でない値から空の文字列として書式設定されているため、空で返される場合があります。 |
|
VT_EMPTYから生成された空の文字列。 |
|
pszText パラメーターは NULL です。 |
|
領域が不足しているため、コピー操作が失敗しました。 コピー先バッファーは、理想的な結果の切り捨てられたバージョンを含むよう変更され、 null で終了します。 |
注釈
IPropertyDescription::FormatForDisplay を呼び出す前に、CoInitialize または OleInitialize を使用してコンポーネント オブジェクト モデル (COM) を初期化する必要があります。
成功すると、このメソッドは、指定された PROPERTYKEY のプロパティ値の書式設定された Unicode 文字列表現を取得し、1 つ以上 のPROPDESC_FORMAT_FLAGS。
このメソッドの目的は、データをユーザーに表示するのに適した文字列に変換することです。 値は、現在のロケール、ユーザーの言語、 PROPDESC_FORMAT_FLAGS、およびプロパティ キーで指定されたプロパティの説明に従って書式設定されます。 プロパティ記述スキーマが値の書式設定にどのように影響するかについては、「 displayInfo、 stringFormat、 booleanFormat、 numberFormat、 NMDATETIMEFORMAT、および enumeratedList」を参照してください。 通常、 PROPDESC_FORMAT_FLAGS は、プロパティの説明で規定されている形式を変更するために使用されます。
出力文字列には Unicode 方向文字を含めることができます。 これらの非スペーシング文字は Unicode 双方向アルゴリズムに影響を与え、左から右 (LTR) 言語が右から左 (RTL) ウィンドウに描画されるときに値が正しく表示されるようにします。その逆も同様です。 これらの文字には、次のものが含まれます。 "\x200e", "\x200f", "\x202a", "\x202b", "\x202c", "\x202d", "\x202e".
次のプロパティは特殊な形式を使用し、 PROPDESC_FORMAT_FLAGS の影響を受けません (引用例は、現在のロケールが英語に設定されている文字列の場合です。通常、出力は記載されている場合を除いてローカライズされます)。
プロパティ | Format |
---|---|
System.FileAttributes | 次のファイル属性は文字に変換され、文字列を作成するために追加されます (たとえば、0x1801 の値 (FILE_ATTRIBUTE_READONLY |FILE_ATTRIBUTE_COMPRESSED |FILE_ATTRIBUTE_OFFLINE) が "RCO" に変換されます。
|
System.Photo.ISOSpeed | たとえば、"ISO-400" です。 |
System.Photo.ShutterSpeed |
APEX 値は、次の式を使用して公開時間に変換されます。
たとえば、"2 秒" とします。または "1/125 秒"。 |
System.Photo.ExposureTime | たとえば、"2 秒" とします。または "1/125 秒" です。 |
System.Photo.Aperture |
APEX 値は、次の数式を使用して F 数値に変換されます。
たとえば、"f/5.6" などです。 |
System.Photo.FNumber | たとえば、"f/5.6" などです。 |
System.Photo.SubjectDistance | たとえば、"15 m"、"250 mm" などです。 |
System.Photo.FocalLength | たとえば、"50 mm" です。 |
System.Photo.FlashEnergy | たとえば、"500 bpcs" などです。 |
System.Photo.ExposureBias | たとえば、"-2 ステップ"、"0 ステップ"、"+3 ステップ" などです。 |
System.Computer.DecoratedFreeSpace | たとえば、"105 MB の空き 13.2 GB" などです。 |
System.ItemType | たとえば、"Application" や "JPEG Image" などです。 |
System.ComputerName | たとえば、"LITWARE05 (このコンピューター)"、"testbox07" などです。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | propsys.h |