Função VariantToDoubleArray (propvarutil.h)
Extrai uma matriz de valores DOUBLE de uma estrutura VARIANT .
Sintaxe
PSSTDAPI VariantToDoubleArray(
[in] REFVARIANT var,
[out] DOUBLE *prgn,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Parâmetros
[in] var
Tipo: REFVARIANT
Referência a uma estrutura VARIANT de origem.
[out] prgn
Tipo: DOUBLE*
Ponteiro para um buffer que contém valores CRGNDOUBLE . Quando essa função retorna, o buffer foi inicializado com elementos *pcElemDOUBLE extraídos da estrutura VARIANT de origem.
[in] crgn
Tipo: ULONG
O número de elementos no buffer apontado por prgn.
[out] pcElem
Tipo: ULONG*
Quando essa função retorna, contém a contagem de elementos DOUBLE extraídos da estrutura VARIANT de origem.
Retornar valor
Tipo: HRESULT
Retorna S_OK se tiver êxito ou um valor de erro, caso contrário, incluindo o seguinte:
Código de retorno | Descrição |
---|---|
|
A VARIANT de origem continha mais do que valores crgn . |
|
A VARIANT não era do tipo apropriado. |
Comentários
Essa função auxiliar é usada quando o aplicativo de chamada espera que uma VARIANT mantenha uma matriz que consiste em um número fixo de valores DOUBLE .
Se a VARIANT de origem tiver VT_ARRAY de tipo | VT_DOUBLE, essa função extrai até valores CRGNDOUBLE e os coloca no buffer apontado por prgn.
Se VARIANT contiver mais elementos do que caberá no buffer prgn , essa função retornará um erro e definirá *pcElem como 0.
Exemplos
O exemplo a seguir, a ser incluído como parte de um programa maior, demonstra como usar VariantToDoubleArray para acessar uma matriz DOUBLE armazenada em uma VARIANT.
// VARIANT var;
// Assume variable var is initialized and valid.
DOUBLE rgDoubles[4]; // The application expects var to hold 4 DOUBLEs in an array.
ULONG cDoubles;
HRESULT hr = VariantToDoubleArray(var, rgDoubles, ARRAYSIZE(rgDoubles), &cFlags);
if (SUCCEEDED(hr))
{
if (cFlags == ARRAYSIZE(rgDoubles))
{
// The application got 4 DOUBLEs which are now stored in rgDoubles.
}
else
{
// The application got *pcElem DOUBLEs which are stored in the first
// *pcElem elements of rgDoubles.
}
}
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 |