Compartilhar via


Função VariantToDoubleArrayAlloc (propvarutil.h)

Aloca uma matriz de valores DOUBLE e extrai dados de uma estrutura VARIANT nessa matriz.

Sintaxe

PSSTDAPI VariantToDoubleArrayAlloc(
  [in]  REFVARIANT var,
  [out] DOUBLE     **pprgn,
  [out] ULONG      *pcElem
);

Parâmetros

[in] var

Tipo: REFVARIANT

Referência a uma estrutura VARIANT de origem.

[out] pprgn

Tipo: DOUBLE**

Quando essa função retorna, contém um ponteiro para uma matriz de valores DOUBLE extraídos da estrutura VARIANT de origem.

[out] pcElem

Tipo: ULONG*

Quando essa função retorna, contém um ponteiro para a contagem de elementos extraídos da estrutura VARIANT de origem.

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 uma VARIANT mantenha uma matriz de valores DOUBLE .

Se o VARIANT de origem for do tipo VT_ARRAY | VT_R8, essa função extrai uma matriz de valores DOUBLE em uma matriz recém-alocada. O aplicativo de chamada é responsável por usar CoTaskMemFree para liberar a matriz apontada pelo pprgn quando ela não for mais necessária.

Exemplos

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

// VARIANT var;
// Assume variable var is initialized and valid.
// The application expects var to contain an array of DOUBLE values.
DOUBLE *prgDoubles;
ULONG cElems;

HRESULT hr = VariantToDoubleArrayAlloc(var, &prgDoubles, &cElems);

if (SUCCEEDED(hr))
{
     // prgDoubles now points to a vector of cElems DOUBLEs.
     CoTaskMemFree(prgDoubles);
}

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

InitVariantFromDoubleArray

PropVariantChangeType

PropVariantToDoubleVectorAlloc

VariantToDoubleArray