Compartilhar via


Função VariantToDouble (propvarutil.h)

Extrai um valor DOUBLE de uma estrutura VARIANT . Se nenhum valor puder ser extraído, um valor padrão será atribuído.

Sintaxe

PSSTDAPI VariantToDouble(
  [in]  REFVARIANT varIn,
  [out] DOUBLE     *pdblRet
);

Parâmetros

[in] varIn

Tipo: REFVARIANT

Referência a uma estrutura VARIANT de origem.

[out] pdblRet

Tipo: DOUBLE*

Quando essa função retorna, contém o valor extraído se houver um; caso contrário, 0.0.

Retornar valor

Tipo: HRESULT

Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Essa função auxiliar é usada quando o aplicativo de chamada espera que um VARIANT mantenha um valor DOUBLE . Por exemplo, um aplicativo que obtém valores de uma pasta Shell pode usar essa função para extrair com segurança o valor de uma das propriedades da pasta cujo valor é armazenado como um DOUBLE.

Se o VARIANT de origem for do tipo VT_R8, essa função extrairá o valor DOUBLE .

Se o VARIANT de origem não for do tipo VT_R8, a função tentará converter o valor armazenado na estrutura VARIANT em um DOUBLE. Se uma conversão não for possível, VariantToDouble retornará um código de falha e definirá pdblRet como 0.0. Consulte PropVariantChangeType para obter uma lista de conversões possíveis. Observe que VT_EMPTY é convertido com êxito em 0,0.

Exemplos

O exemplo a seguir, a ser incluído como parte de um programa maior, demonstra como usar VariantToDouble para acessar um valor DOUBLE armazenado em uma estrutura VARIANT .

// VARIANT var;
// Assume variable var is initialize and valid.
// The application expects var to hold a VT_R8 value.
DOUBLE dblValue;

HRESULT hr = VariantToDouble(var, & dblValue);

if (SUCCEEDED(hr))
{
    // dblValue is now valid.
}
else
{
    // dblValue is always FALSE.
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP com SP2, Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 com SP1 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho propvarutil.h
Biblioteca Propsys.lib
DLL Propsys.dll (versão 6.0 ou posterior)
Redistribuível Pesquisa da Área de Trabalho do Windows (WDS) 3.0

Confira também

InitVariantFromDouble

PropVariantChangeType

PropVariantToDouble

VariantToDoubleArray