Método IPropertySystem::FormatForDisplay (propsys.h)
Obtiene una representación de cadena Unicode con formato de un valor de propiedad.
Sintaxis
HRESULT FormatForDisplay(
[in] REFPROPERTYKEY key,
[in] REFPROPVARIANT propvar,
[in] PROPDESC_FORMAT_FLAGS pdff,
[out] LPWSTR pszText,
[in] DWORD cchText
);
Parámetros
[in] key
Tipo: REFPROPERTYKEY
Referencia a la clave de propiedad solicitada.
[in] propvar
Tipo: REFPROPVARIANT
Referencia a una estructura PROPVARIANT que contiene el tipo y el valor de la propiedad.
[in] pdff
Tipo: PROPDESC_FORMAT_FLAGS
Formato de la cadena de propiedad. Consulte PROPDESC_FORMAT_FLAGS para ver los valores posibles.
[out] pszText
Tipo: LPWSTR
Recibe el valor con formato como una cadena Unicode terminada en null. La aplicación que llama debe asignar memoria para el búfer.
[in] cchText
Tipo: DWORD
Longitud del búfer en pszText en WCHARs, incluida la terminación NULL. El tamaño máximo es 0x8000 (32 000).
Valor devuelto
Tipo: HRESULT
Devuelve uno de los valores siguientes.
Código devuelto | Descripción |
---|---|
|
Se crea una cadena con formato. |
|
No se crea una cadena con formato. S_FALSE indica que la cadena vacía ha resultado de un VT_EMPTY. |
|
Se produjo un error de asignación de memoria. |
Comentarios
Debe inicializar el modelo de objetos componentes (COM) con CoInitialize o OleInitialize antes de llamar a IPropertySystem::FormatForDisplay.
Cuando 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. Si el subsistema de esquema no reconoce propertykey , IPropertySystem::FormatForDisplay intenta dar formato al valor según su VARTYPE.
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 la propiedad 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 lenguaje 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 propiedades de la tabla siguiente 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 indique).
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"):
|
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:
Por ejemplo, "2 s". o "1/125 s.". |
System.Photo.ExposureTime | Por ejemplo, "2 s". o "1/125 s." |
System.Photo.Aperture |
El valor de APEX se convierte en un número F mediante esta fórmula:
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.ControlPanel.Category | Por ejemplo, "Apariencia y personalización". |
System.ComputerName | Por ejemplo, "LITWARE05 (este equipo)" o "testbox07". |
Si la clave de propiedad no corresponde a una descripción de propiedad en cualquiera de los esquemas de propiedad registrados, este método elige un formato basado en el tipo del valor, tal y como se describe en la tabla siguiente.
Tipo del valor | Formato |
---|---|
VT_BOOLEAN | No compatible. |
VT_FILETIME | Cadena de fecha y hora especificada por PROPDESC_FORMAT_FLAGS y la configuración regional actual. PDFF_SHORTTIME y PDFF_SHORTDATE son el valor predeterminado. Por ejemplo, "11/13/2006 3:22 PM". |
VARTYPE numérico | Cadena decimal en la configuración regional actual. Por ejemplo, "42". |
VT_LPWSTR u otro | String. Las secuencias de "\r", "\t" o "\n" se reemplazan por un solo espacio. |
VT_VECTOR | Nada | Valores separados por punto y coma: se usa un punto y coma independientemente de la configuración regional. |
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 |
Redistribuible | Windows Desktop Search (WDS) 3.0 |