Funzione PropVariantToUInt16Vector (propvarutil.h)
Estrae dati da una struttura di
Sintassi
PSSTDAPI PropVariantToUInt16Vector(
[in] REFPROPVARIANT propvar,
[out] USHORT *prgn,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Parametri
[in] propvar
Tipo: REFPROPVARIANT
Riferimento a una struttura di PROPVARIANT
[out] prgn
Tipo: USHORT*
Punta a un buffer contenente crgnvalori di brevi senza segno. Al termine di questa funzione, il buffer è stato inizializzato con pcElemelementi brevi senza segno estratti dall'origine PROPVARIANT.
[in] crgn
Tipo: ULONG
Dimensione del buffer a cui punta prgn negli elementi.
[out] pcElem
Tipo: ULONG*
Quando termina, questa funzione contiene il numero di valori
Valore restituito
Tipo: HRESULT
Questa funzione può restituire uno di questi valori.
Codice restituito | Descrizione |
---|---|
|
Restituisce S_OK in caso di esito positivo o un valore di errore in caso contrario. |
|
L'origine PROPVARIANT contiene più di valori di crgn. Buffer a cui punta prgn. |
|
Il PROPVARIANT non era del tipo appropriato. |
Osservazioni
Questa funzione helper viene usata in posizioni in cui l'applicazione chiamante prevede un PROPVARIANT contenere un vettore di valori brevi senza segno con un numero fisso di elementi.
Se l'origine PROPVARIANT ha un tipo VT_VECTOR | VT_UI2 o VT_ARRAY | VT_UI2, questa funzione helper estrae fino a crgnvalori brevi senza segno e li inserisce nel buffer a cui punta prgn. Se il PROPVARIANT contiene più elementi di quelli che verranno inseriti nel buffer prgn, questa funzione restituisce un errore e imposta pcElem su 0.
Esempi
Nell'esempio seguente, da includere come parte di un programma più ampio, viene illustrato come usare
// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid
USHORT rgShorts[4]; // The application is expecting propvar to hold 4 USHORTs in a vector
ULONG cElems;
HRESULT hr = PropVariantToUInt16Vector(propvar, rgShorts, ARRAYSIZE(rgShorts), &cElems);
if (SUCCEEDED(hr))
{
if (cElems == ARRAYSIZE(rgShorts))
{
// The application got 4 USHORTs which are now stored in rgShorts
}
else
{
// The application got cElems which are stored in the first cElems elements of rgShorts
}
}
Fabbisogno
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 | Finestre |
intestazione |
propvarutil.h |
libreria |
Propsys.lib |
dll | Propsys.dll (versione 6.0 o successiva) |
Ridistribuibile | Windows Desktop Search (WDS) 3.0 |
Vedere anche
InitPropVariantFromUInt16Vector