Funzione PropVariantGetStringElem (propvarutil.h)
Estrae un singolo elemento stringa Unicode da una struttura PROPVARIANT di tipo VT_LPWSTR, VT_BSTR, VT_VECTOR | VT_LPWSTR, VT_VECTOR | VT_BSTR o VT_ARRAY | VT_BSTR.
Sintassi
PSSTDAPI PropVariantGetStringElem(
[in] REFPROPVARIANT propvar,
[in] ULONG iElem,
[out] PWSTR *ppszVal
);
Parametri
[in] propvar
Tipo: REFPROPVARIANT
Riferimento a una struttura PROPVARIANT di origine.
[in] iElem
Tipo: ULONG
Vettore o indice matrice; in caso contrario, iElem deve essere 0.
[out] ppszVal
Tipo: PWSTR*
Quando questa funzione viene restituita, contiene il valore stringa estratto. L'applicazione chiamante è responsabile della liberazione di questa stringa chiamando CoTaskMemFree quando non è più necessaria.
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_VECTOR | VT_LPWSTR
- VT_VECTOR | VT_BSTR
- VT_ARRAY | VT_BSTR
Se un elemento BSTR ha un puntatore NULL , questa funzione alloca una stringa vuota.
Esempio
Nell'esempio di codice seguente, da includere come parte di un programma più ampio, viene illustrato come usare PropVariantGetStringElem con un'istruzione di iterazione per accedere ai valori in un PROPVARIANT.
// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid
if ((propvar.vt & VT_TYPEMASK) == VT_LPWSTR || (propvar.vt & VT_TYPEMASK) == VT_BSTR)
{
UINT cElem = PropVariantGetElementCount(propvar);
HRESULT hr = <mark type="const">S_OK</mark>;
for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
PWSTR pszValue;
hr = PropVariantGetStringElem(propvar, iElem, &pszValue);
if (SUCCEEDED(hr))
{
// pszValue is valid now
CoTaskMemFree(pszValue);
}
}
}
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 |