Funzione PropVariantGetElem (propvarutil.h)
Inizializza una struttura PROPVARIANT basata su un elemento specificato in un'altra struttura PROPVARIANT .
Sintassi
HRESULT PropVariantGetElem(
[in] REFPROPVARIANT propvarIn,
[in] ULONG iElem,
[out] PROPVARIANT *ppropvar
);
Parametri
[in] propvarIn
Tipo: REFPROPVARIANT
Riferimento alla struttura PROPVARIANT di origine.
[in] iElem
Tipo: ULONG
Indice di un elemento struttura PROPVARIANT in propvarIn.
[out] ppropvar
Tipo: PROPVARIANT*
Quando questa funzione restituisce, contiene un PROPVARIANT con il valore specificato dalla struttura PROPVARIANT di origine.
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 PROPVARIANT dei tipi seguenti:
- VT_LPWSTR
- VT_BSTR
- VT_BOOL
- VT_I2
- VT_I4
- VT_I8
- VT_U12
- VT_U14
- VT_U18
- VT_FILETIME
- VT_VECTOR | (qualsiasi VT_LPWSTR, VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18, VT_FILETIME)
- VT_ARRAY | (qualsiasi VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18)
Si tratta di una funzione inline, con il relativo codice sorgente fornito nell'intestazione. Non è incluso in alcun file .dll o lib.
Questa funzione estrae un singolo valore dalla struttura PROPVARIANT di origine e usa tale valore per inizializzare la struttura PROPVARIANT di output. L'applicazione chiamante deve usare PropVariantClear per liberare il PROPVARIANT a cui fa riferimento ppropvar quando non è più necessario.
Se l'origine PROPVARIANT è un vettore o una matrice, iElem deve essere minore del numero di elementi nel vettore o nella matrice.
Se l'origine PROPVARIANT ha un solo valore, iElem deve essere 0.
Se l'origine PROPVARIANT è vuota, questa funzione restituisce sempre un codice di errore.
Esempio
Nell'esempio di codice seguente, da includere come parte di un programma più ampio, viene illustrato come usare PropVariantGetElem in un'istruzione iterazione per accedere ai valori in PROPVARIANT.
// PROPVARIANT propvar;
// Assume propvar is initialized and valid.
UINT cElem = PropVariantGetElementCount(propvar);
HRESULT hr = <mark type="const">S_OK</mark>;
for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
<xref rid="_stg_propvariant"/>propvarElem = {0};
hr = PropVariantGetElem(propvar, iElem, &propvarElem);
if (SUCCEEDED(hr))
{
// propvarElem is valid now.
PropVariantClear(&propvarElem);
}
}
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 |
Componente ridistribuibile | Windows Desktop Search (WDS) 3.0 |