Método IPropertyDescription::FormatForDisplay (propsys.h)

Obtém uma representação de cadeia de caracteres Unicode formatada de um valor de propriedade.

Sintaxe

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

Parâmetros

[in] propvar

Tipo: REFPROPVARIANT

Uma referência a uma estrutura PROPVARIANT que contém o tipo e o valor da propriedade.

[in] pdfFlags

Tipo: PROPDESC_FORMAT_FLAGS

Um ou mais dos sinalizadores de PROPDESC_FORMAT_FLAGS , que são bit a bit ou vários valores, que indicam o formato da cadeia de caracteres de propriedade.

[out] ppszDisplay

Tipo: LPWSTR*

O endereço de um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o texto de exibição.

Retornar valor

Tipo: HRESULT

Retorna um dos valores a seguir.

Código de retorno Descrição
S_OK
A cadeia de caracteres foi copiada e terminada em nulo sem truncamento. Essa cadeia de caracteres pode ser retornada vazia devido a uma cadeia de caracteres de entrada vazia ou de um valor não vazio que foi formatado como uma cadeia de caracteres vazia.
S_FALSE
A cadeia de caracteres vazia resultou de um VT_EMPTY.
E_INVALIDARG
O parâmetro pszText é NULL.
ERROR_INSUFFICIENT_BUFFER
A operação de cópia falhou devido a espaço insuficiente. O buffer de destino é modificado para conter uma versão truncada do resultado ideal e é encerrado em nulo.

Comentários

Você deve inicializar o COM (Component Object Model) com CoInitialize ou OleInitialize antes de chamar IPropertyDescription::FormatForDisplay.

Em caso de êxito, esse método obtém uma representação de cadeia de caracteres Unicode formatada de um valor de propriedade para um PROPERTYKEY especificado e um ou mais PROPDESC_FORMAT_FLAGS.

A finalidade desse método é converter dados em uma cadeia de caracteres adequada para exibição para o usuário. O valor é formatado de acordo com a localidade atual, o idioma do usuário, o PROPDESC_FORMAT_FLAGS e a descrição da propriedade especificada pela chave de propriedade. Para obter informações sobre como o esquema de descrição da propriedade influencia a formatação do valor, consulte displayInfo, stringFormat, booleanFormat, numberFormat, NMDATETIMEFORMAT e enumeratedList. Normalmente, os PROPDESC_FORMAT_FLAGS são usados para modificar o formato prescrito pela descrição da propriedade.

A cadeia de caracteres de saída pode conter caracteres direcionais Unicode. Esses caracteres sem espaçamento influenciam o algoritmo bidirecional Unicode para que os valores apareçam corretamente quando uma linguagem LTR (da esquerda para a direita) é desenhada em uma janela da direita para a esquerda (RTL) e vice-versa. Esses caracteres incluem o seguinte: "\x200e", "\x200f", "\x202a", "\x202b", "\x202c", "\x202d", "\x202e".

As propriedades a seguir usam formatos especiais e não são afetadas pelo PROPDESC_FORMAT_FLAGS (exemplos citados são para cadeias de caracteres com uma localidade atual definida como inglês; normalmente, a saída é localizada, exceto quando indicado).

Propriedade Formatar
System.FileAttributes Os atributos de arquivo a seguir são convertidos em letras e acrescentados para criar uma cadeia de caracteres (por exemplo, um valor de 0x1801 (FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_COMPRESSED | FILE_ATTRIBUTE_OFFLINE) é convertido em "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 Por exemplo, "ISO-400".
System.Photo.ShutterSpeed O valor APEX é convertido em um tempo de exposição usando esta fórmula:

Exposure_time = 2^(-APEX_value)

Por exemplo, "2 segundos". ou "1/125 s".

System.Photo.ExposureTime Por exemplo, "2 segundos". ou "1/125 s".
System.Photo.Aperture O valor APEX é convertido em um número F usando esta fórmula:

F_Number = 2^(APEX_Value / 2)

Por exemplo, "f/5.6".

System.Photo.FNumber Por exemplo, "f/5.6".
System.Photo.SubjectDistance Por exemplo, "15 m" ou "250 mm".
System.Photo.FocalLength Por exemplo, "50 mm".
System.Photo.FlashEnergy Por exemplo, "500 bpcs".
System.Photo.ExposureBias Por exemplo, "-2 etapa", "0 etapa" ou "+3 etapa".
System.Computer.DecoratedFreeSpace Por exemplo, "105 MB livres de 13,2 GB".
System.ItemType Por exemplo, "Application" ou "JPEG Image".
System.ComputerName Por exemplo, "LITWARE05 (este computador)" ou "testbox07".

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho propsys.h

Confira também

IPropertyDescription

Esquema de descrição da propriedade