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

Obtiene una representación de cadena Unicode con formato de un valor de propiedad.

Sintaxis

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

Parámetros

[in] propvar

Tipo: REFPROPVARIANT

Referencia a una estructura PROPVARIANT que contiene el tipo y el valor de la propiedad.

[in] pdfFlags

Tipo: PROPDESC_FORMAT_FLAGS

Una o varias marcas de PROPDESC_FORMAT_FLAGS , que son bit a bit o varios valores, que indican el formato de cadena de propiedad.

[out] ppszDisplay

Tipo: LPWSTR*

Dirección de un puntero a una cadena Unicode terminada en null que contiene el texto para mostrar.

Valor devuelto

Tipo: HRESULT

Devuelve uno de los valores siguientes.

Código devuelto Descripción
S_OK
La cadena se copió y terminó en null sin truncamiento. Esta cadena puede devolverse vacía debido a una cadena de entrada vacía o a un valor no vacío al que se le ha dado formato como una cadena vacía.
S_FALSE
La cadena vacía resultó de un VT_EMPTY.
E_INVALIDARG
El parámetro pszText es NULL.
ERROR_INSUFFICIENT_BUFFER
Error en la operación de copia debido a un espacio insuficiente. El búfer de destino se modifica para contener una versión truncada del resultado ideal y termina en null.

Comentarios

Debe inicializar el modelo de objetos componentes (COM) con CoInitialize o OleInitialize antes de llamar a IPropertyDescription::FormatForDisplay.

Si se ejecuta correctamente, este método obtiene una representación de cadena Unicode con formato de un valor de propiedad para un PROPERTYKEY especificado y una o varias PROPDESC_FORMAT_FLAGS.

El propósito de este método es convertir los datos en una cadena adecuada para mostrar al usuario. El valor tiene el formato según la configuración regional actual, el idioma del usuario, el PROPDESC_FORMAT_FLAGS y la descripción de la propiedad especificada por la clave de propiedad. Para obtener información sobre cómo el esquema de descripción de propiedades influye en el formato del valor, vea displayInfo, stringFormat, booleanFormat, numberFormat, NMDATETIMEFORMAT y enumeratedList. Normalmente, el PROPDESC_FORMAT_FLAGS se usa para modificar el formato prescrito por la descripción de la propiedad.

La cadena de salida puede contener caracteres direccionales Unicode. Estos caracteres sin espaciado influyen en el algoritmo bidireccional Unicode para que los valores aparezcan correctamente cuando se dibuja un idioma de izquierda a derecha (LTR) en una ventana de derecha a izquierda (RTL) y viceversa. Estos caracteres incluyen lo siguiente: "\x200e", "\x200f", "\x202a", "\x202b", "\x202c", "\x202d", "\x202e".

Las siguientes propiedades usan formatos especiales y no se ven afectados por el PROPDESC_FORMAT_FLAGS (los ejemplos citados son para cadenas con una configuración regional actual establecida en inglés; normalmente, la salida se localiza excepto donde se indica).

Propiedad Formato
System.FileAttributes Los siguientes atributos de archivo se convierten en letras y se anexan para crear una cadena (por ejemplo, un valor de 0x1801 (FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_COMPRESSED | FILE_ATTRIBUTE_OFFLINE) se convierte en "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 ejemplo, "ISO-400".
System.Photo.ShutterSpeed El valor de APEX se convierte en un tiempo de exposición mediante esta fórmula:

Exposure_time = 2^(-APEX_value)

Por ejemplo, "2 segundos". o "1/125 s.".

System.Photo.ExposureTime Por ejemplo, "2 segundos". o "1/125 s."
System.Photo.Aperture El valor de APEX se convierte en un número F mediante esta fórmula:

F_Number = 2^(APEX_Value / 2)

Por ejemplo, "f/5.6".

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado propsys.h

Consulte también

IPropertyDescription

Esquema de descripción de propiedad