Funzione PropVariantGetDoubleElem (propvarutil.h)
Estrae un singolo elemento double da una struttura PROPVARIANT di tipo VT_R8
, VT_VECTOR | VT_R8
o VT_ARRAY | VT_R8
.
Sintassi
PSSTDAPI PropVariantGetDoubleElem(
[in] REFPROPVARIANT propvar,
[in] ULONG iElem,
[out] DOUBLE *pnVal
);
Parametri
[in] propvar
Tipo: REFPROPVARIANT
Riferimento alla struttura PROPVARIANT di origine.
[in] iElem
Tipo: ULONG
Specifica l'indice vettoriale o matrice; in caso contrario, iElem deve essere 0.
[out] pnVal
Tipo: DOUBLE*
Quando termina, questa funzione contiene il valore double estratto.
Valore restituito
Tipo: HRESULT
Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Se l'origine PROPVARIANT ha tipo VT_R8
, iElem deve essere 0. In caso contrario , iElem deve essere minore del numero di elementi nel vettore o nella matrice. È possibile usare PropVariantGetElementCount per ottenere il numero di elementi nel vettore o nella matrice.
Nell'esempio seguente viene utilizzata questa funzione per scorrere i valori in una struttura PROPVARIANT .
Esempio
// PROPVARIANT propvar;
// assume propvar is initialized and valid
if ((propvar.vt & VT_TYPEMASK) == VT_R8)
{
UINT cElem = PropVariantGetElementCount(propvar);
HRESULT hr = <mark type="const">S_OK</mark>;
for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
DOUBLE nValue;
hr = PropVariantGetDoubleElem(propvar, iElem, &nValue);
if (SUCCEEDED(hr))
{
// nValue is valid now
}
}
}
Requisiti
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 |