Condividi tramite


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)
I tipi aggiuntivi possono essere supportati in futuro.

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.

Nota È 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 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

Vedi anche

InitPropVariantFromPropVariantVectorElem