Condividi tramite


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)
In futuro potrebbero essere supportati altri tipi.

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

Vedi anche

PropVariantGetElem