Función PropVariantToDoubleWithDefault (propvarutil.h)
Extrae un valor de propiedad doble de una estructura PROPVARIANT . Si no existe ningún valor, se devuelve el valor predeterminado especificado.
Sintaxis
PSSTDAPI_(DOUBLE) PropVariantToDoubleWithDefault(
[in] REFPROPVARIANT propvarIn,
[in] DOUBLE dblDefault
);
Parámetros
[in] propvarIn
Tipo: REFPROPVARIANT
Referencia a una estructura PROPVARIANT de origen.
[in] dblDefault
Tipo: DOUBLE
Especifica el valor de propiedad predeterminado, para su uso cuando no existe ningún valor actualmente.
Valor devuelto
Tipo: DOUBLE
Devuelve el valor doble extraído o el valor predeterminado.
Comentarios
Esta función auxiliar se usa en lugares donde la aplicación que realiza la llamada espera que un PROPVARIANT contenga un valor doble y desea usar un valor predeterminado si no lo hace. Por ejemplo, una aplicación que obtiene valores de un almacén de propiedades puede usarlo para extraer de forma segura el valor doble de las propiedades dobles.
Si el PROPVARIANT de origen tiene el tipo VT_R8, esta función auxiliar extrae el valor doble. De lo contrario, intenta convertir el valor en la estructura PROPVARIANT en un doble. Si el PROPVARIANT de origen tiene el tipo VT_EMPTY o una conversión no es posible, PropVariantToDoubleWithDefault devolverá el valor predeterminado proporcionado por dblDefault. Consulte PropVariantChangeType para obtener una lista de las posibles conversiones.
Ejemplos
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_Image_HorizontalResolution, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_Image_HorizontalResolution is expected to produce a VT_R8 or VT_EMPTY value.
// The application developer decided to treat VT_EMPTY or invalid values as 72.0
DOUBLE dblResolution = PropVariantToDoubleWithDefault(propvar, 72.0);
// dblResolution is now valid.
PropVariantClear(&propvar);
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP con SP2, Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 con SP1 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | propvarutil.h |
Library | Propsys.lib |
Archivo DLL | Propsys.dll (versión 6.0 o posterior) |
Redistribuible | Búsqueda de escritorio de Windows (WDS) 3.0 |