Condividi tramite


Funzione PropVariantToInt32VectorAlloc (propvarutil.h)

Estrae i dati da una struttura PROPVARIANT in un vettore Int32 appena allocato.

Sintassi

PSSTDAPI PropVariantToInt32VectorAlloc(
  [in]  REFPROPVARIANT propvar,
  [out] LONG           **pprgn,
  [out] ULONG          *pcElem
);

Parametri

[in] propvar

Tipo: REFPROPVARIANT

Riferimento a una struttura PROPVARIANT di origine.

[out] pprgn

Tipo: LONG**

Quando questa funzione restituisce, contiene un puntatore a un vettore di valori LONG estratti dalla struttura PROPVARIANT di origine.

[out] pcElem

Tipo: ULONG*

Quando questa funzione restituisce, contiene il numero di elementi LONG estratti dalla struttura PROPVARIANT di origine.

Valore restituito

Tipo: HRESULT

Questa funzione può restituire uno di questi valori.

Codice restituito Descrizione
S_OK
Restituisce S_OK se ha esito positivo o un valore di errore in caso contrario.
E_INVALIDARG
PropVARIANT non era del tipo appropriato.

Commenti

Questa funzione helper viene usata nelle posizioni in cui l'applicazione chiamante prevede che un OGGETTO PROPVARIANT contenga un valore vettore Int32.

Se l'origine PROPVARIANT ha tipo VT_VECTOR VT_I4o | VT_ARRAY | VT_I4, questa funzione estrae un vettore di valori LONG in un vettore appena allocato. L'applicazione chiamante è responsabile dell'uso di CoTaskMemFree per rilasciare il vettore puntato da pprgn quando non è più necessario.

Esempio

Nell'esempio seguente, da includere come parte di un programma più ampio, viene illustrato come usare PropVariantToInt32VectorAlloc per accedere a un valore vettore LONG in un PROPVARIANT.

// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid. The application is expecting propvar to contain a vector of LONG values.
LONG *prgLongs;
ULONG cElems;
HRESULT hr = PropVariantToInt32VectorAlloc(propvar, &prgLongs, &cElems);
if (SUCCEEDED(hr))
{
     // prgLongs now points to a vector of cElems LONGs.
     CoTaskMemFree(prgLongs);
}

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

InitPropVariantFromInt32Vector

PropVariantGetInt32Elem

PropVariantToInt32

PropVariantToInt32Vector

VariantToInt32Array