Condividi tramite


Funzione PropVariantToInt16Vector (propvarutil.h)

Estrae un vettore di valori Int16 da una struttura PROPVARIANT .

Sintassi

PSSTDAPI PropVariantToInt16Vector(
  [in]  REFPROPVARIANT propvar,
  [out] SHORT          *prgn,
  [in]  ULONG          crgn,
  [out] ULONG          *pcElem
);

Parametri

[in] propvar

Tipo: REFPROPVARIANT

Riferimento a una struttura PROPVARIANT di origine.

[out] prgn

Tipo: SHORT*

Punta a un buffer contenente valori CRGN SHORT. Al termine di questa funzione, il buffer è stato inizializzato con elementi pcElem SHORT estratti dalla struttura PROPVARIANT di origine.

[in] crgn

Tipo: ULONG

Dimensione del buffer a cui punta prgn negli elementi .

[out] pcElem

Tipo: ULONG*

Quando termina, questa funzione contiene il conteggio degli elementi Int16 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 in caso di esito positivo o un valore di errore in caso contrario.
TYPE_E_BUFFERTOOSMALL
L'origine PROPVARIANT contiene più valori crgn. Buffer a cui punta prgn.
E_INVALIDARG
PropVARIANT non era del tipo appropriato.

Commenti

Questa funzione helper viene usata in posizioni in cui l'applicazione chiamante prevede che un PROPVARIANT contenga un valore vettore Int16 con un numero fisso di elementi.

Se l'origine PROPVARIANT ha tipo VT_VECTOR | VT_I2 o VT_ARRAY | VT_I2, questa funzione helper estrae fino a valori crgn Int16 e li inserisce nel buffer a cui punta prgn. Se PROPVARIANT contiene più elementi di quelli che verranno inseriti nel buffer prgn , questa funzione restituisce un errore e imposta pcElem su 0.

Esempio

// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid
SHORT rgShorts[4]; // The application is expecting propvar to hold 4 Int16s in a vector
ULONG cElems;
HRESULT hr = PropVariantToInt16Vector(propvar, rgShorts, ARRAYSIZE(rgShorts), &cElems);
if (SUCCEEDED(hr))
{
     if (cElems == ARRAYSIZE(rgShorts))
     {
         // The application got 4 Int16s which are now stored in rgShorts
     }
     else
     {
         // The application got cElems which are stored in the first cElems elements of rgShorts
     }
}

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

InitPropVariantFromInt16Vector

PropVariantGetInt16Elem

PropVariantToInt16

PropVariantToInt16VectorAlloc

VariantToInt16Array