Funzione VariantToDoubleArray (propvarutil.h)
Estrae una matrice di valori DOUBLE da una struttura VARIANT .
Sintassi
PSSTDAPI VariantToDoubleArray(
[in] REFVARIANT var,
[out] DOUBLE *prgn,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Parametri
[in] var
Tipo: REFVARIANT
Riferimento a una struttura VARIANT di origine.
[out] prgn
Tipo: DOUBLE*
Puntatore a un buffer che contiene valori DOUBLE crgn. Al termine di questa funzione, il buffer è stato inizializzato con *pcElemDOUBLE elementi estratti dalla struttura VARIANT di origine.
[in] crgn
Tipo: ULONG
Numero di elementi nel buffer a cui punta prgn.
[out] pcElem
Tipo: ULONG*
Quando questa funzione viene restituita, contiene il numero di elementi DOUBLE estratti dalla struttura VARIANT di origine.
Valore restituito
Tipo: HRESULT
Restituisce S_OK in caso di esito positivo o un valore di errore, incluso quanto segue:
Codice restituito | Descrizione |
---|---|
|
L'origine VARIANT contiene più valori crgn . |
|
VARIANT non era del tipo appropriato. |
Commenti
Questa funzione helper viene usata quando l'applicazione chiamante prevede che un valore VARIANT contenga una matrice costituita da un numero fisso di valori DOUBLE .
Se l'origine VARIANT ha tipo VT_ARRAY | VT_DOUBLE, questa funzione estrae fino a valori DOUBLEcrgn e li inserisce nel buffer a cui punta prgn.
Se variant contiene più elementi di quanto si inserisca nel buffer prgn , questa funzione restituisce un errore e imposta *pcElem su 0.
Esempio
Nell'esempio seguente, da includere come parte di un programma più ampio, viene illustrato come usare VariantToDoubleArray per accedere a una matrice DOUBLE archiviata in un valore 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.
}
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP con SP2, Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2003 con SP1 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | propvarutil.h |
Libreria | Propsys.lib |
DLL | Propsys.dll (versione 6.0 o successiva) |
Componente ridistribuibile | Windows Desktop Search (WDS) 3.0 |