Funzione InitVariantFromVariantArrayElem (propvarutil.h)
Inizializza una struttura VARIANT con un valore archiviato in un'altra struttura VARIANT .
Sintassi
PSSTDAPI InitVariantFromVariantArrayElem(
[in] REFVARIANT varIn,
[in] ULONG iElem,
[out] VARIANT *pvar
);
Parametri
[in] varIn
Tipo: REFVARIANT
Riferimento alla struttura VARIANT di origine.
[in] iElem
Tipo: ULONG
Indice di uno degli elementi della struttura VARIANT di origine.
[out] pvar
Tipo: VARIANT*
Quando questa funzione restituisce, contiene la struttura VARIANT inizializzata.
Valore restituito
Tipo: HRESULT
Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Questa funzione helper funziona per le strutture VARIANT dei tipi seguenti:
- VT_BSTR
- VT_BOOL
- VT_I2
- VT_I4
- VT_I8
- VT_U12
- VT_U14
- VT_U18
- VT_DATE
- VT_ARRAY | (uno qualsiasi di VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18, VT_DATE)
Questa funzione estrae un singolo valore dalla struttura VARIANT di origine e usa tale valore per inizializzare la struttura VARIANT di output. L'applicazione chiamante deve usare VariantClear per liberare variantia cui fa riferimento pvar quando non è più necessario.
Se l'origine VARIANT è una matrice, iElem deve essere minore del numero di elementi nella matrice.
Se l'origine VARIANT ha un singolo valore, iElem deve essere 0.
Se l'origine VARIANT è vuota, questa funzione restituisce sempre un codice di errore.
È possibile usare VariantGetElementCount per ottenere il numero di elementi nella matrice o nella matrice.
Esempio
Nell'esempio seguente, da includere come parte di un programma più ampio, viene illustrato come usare InitVariantFromVariantArrayElem in un'istruzione di iterazione per accedere ai valori in una variante.
// VARIANT var;
// Assume var is initialized and valid.
UINT cElem = VariantGetElementCount(var);
HRESULT hr = <mark type="const">S_OK</mark>;
for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
VARIANT varElem = {0};
hr = InitVariantFromVariantArrayElem(var, iElem, &varElem);
if (SUCCEEDED(hr))
{
// varElem is now valid.
VariantClear(&varElem);
}
}
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 |