Funzione InitPropVariantFromPropVariantVectorElem (propvarutil.h)
Inizializza una struttura PROPVARIANT basata su un elemento vettore PROPVARIANT specificato.
Sintassi
PSSTDAPI InitPropVariantFromPropVariantVectorElem(
[in] REFPROPVARIANT propvarIn,
[in] ULONG iElem,
[out] PROPVARIANT *ppropvar
);
Parametri
[in] propvarIn
Tipo: REFPROPVARIANT
Struttura PROPVARIANT di origine.
[in] iElem
Tipo: ULONG
Indice dell'elemento della struttura PROPVARIANT di origine.
[out] ppropvar
Tipo: PROPVARIANT*
Quando termina, questa funzione contiene la struttura PROPVARIANT 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 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)
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 singolo valore, iElem deve essere 0.
Se l'origine PROPVARIANT è vuota, questa funzione restituisce sempre un codice di errore.
È possibile usare PropVariantGetElementCount per ottenere il numero di elementi nel vettore o nella matrice.
Esempio
Nell'esempio di codice seguente, da includere come parte di un programma più ampio, viene illustrato come usare InitPropVariantFromPropVariantVectorElem in un'istruzione di iterazione per accedere ai valori in un 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 ++)
{
PROPVARIANT propvarElem = {0};
hr = InitPropVariantFromPropVariantVectorElem(propvar, iElem, &propvarElem);
if (SUCCEEDED(hr))
{
// propvarElem is now valid.
PropVariantClear(&propvarElem);
}
}
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 |