Fonction InitPropVariantFromPropVariantVectorElem (propvarutil.h)
Initialise une structure PROPVARIANT basée sur un élément vecteur PROPVARIANT spécifié.
Syntaxe
PSSTDAPI InitPropVariantFromPropVariantVectorElem(
[in] REFPROPVARIANT propvarIn,
[in] ULONG iElem,
[out] PROPVARIANT *ppropvar
);
Paramètres
[in] propvarIn
Type : REFPROPVARIANT
Structure PROPVARIANT source.
[in] iElem
Type : ULONG
Index de l’élément de structure PROPVARIANT source.
[out] ppropvar
Type : PROPVARIANT*
Lorsque cette fonction retourne, contient la structure PROPVARIANT initialisée.
Valeur retournée
Type : HRESULT
Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Cette fonction d’assistance fonctionne pour les structures PROPVARIANT des types suivants :
- VT_LPWSTR
- VT_BSTR
- VT_BOOL
- VT_I2
- VT_I4
- VT_I8
- VT_U12
- VT_U14
- VT_U18
- VT_FILETIME
- VT_VECTOR | (toute VT_LPWSTR, VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18, VT_FILETIME)
- VT_ARRAY | (toute VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18)
Cette fonction extrait une valeur unique de la structure PROPVARIANT source et utilise cette valeur pour initialiser la structure PROPVARIANT de sortie. L’application appelante doit utiliser PropVariantClear pour libérer le PROPVARIANT auquel fait référence ppropvar lorsqu’il n’est plus nécessaire.
Si le PROPVARIANT source est un vecteur ou un tableau, iElem doit être inférieur au nombre d’éléments dans le vecteur ou le tableau.
Si le PROPVARIANT source a une seule valeur, iElem doit être 0.
Si le PROPVARIANT source est vide, cette fonction retourne toujours un code d’erreur.
Vous pouvez utiliser PropVariantGetElementCount pour obtenir le nombre d’éléments dans le vecteur ou le tableau.
Exemples
L’exemple de code suivant, à inclure dans le cadre d’un programme plus grand, montre comment utiliser InitPropVariantFromPropVariantVectorElem dans une instruction d’itération pour accéder aux valeurs d’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);
}
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP avec SP2, Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 avec SP1 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | propvarutil.h |
Bibliothèque | Propsys.lib |
DLL | Propsys.dll (version 6.0 ou ultérieure) |
Composant redistribuable | Windows Desktop Search (WDS) 3.0 |