Fonction InitVariantFromVariantArrayElem (propvarutil.h)
Initialise une structure VARIANT avec une valeur stockée dans une autre structure VARIANT .
Syntaxe
PSSTDAPI InitVariantFromVariantArrayElem(
[in] REFVARIANT varIn,
[in] ULONG iElem,
[out] VARIANT *pvar
);
Paramètres
[in] varIn
Type : REFVARIANT
Référence à la structure VARIANT source.
[in] iElem
Type : ULONG
Index de l’un des éléments de structure VARIANT source.
[out] pvar
Type : VARIANT*
Lorsque cette fonction retourne, contient la structure VARIANT 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 VARIANT des types suivants :
- VT_BSTR
- VT_BOOL
- VT_I2
- VT_I4
- VT_I8
- VT_U12
- VT_U14
- VT_U18
- VT_DATE
- VT_ARRAY | (toute VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18, VT_DATE)
Cette fonction extrait une seule valeur de la structure VARIANT source et utilise cette valeur pour initialiser la structure VARIANT de sortie. L’application appelante doit utiliser VariantClear pour libérer le VARIANT auquel il est fait référence par pvar lorsqu’il n’est plus nécessaire.
Si le VARIANT source est un tableau, iElem doit être inférieur au nombre d’éléments dans le tableau.
Si le VARIANT source a une seule valeur, iElem doit être 0.
Si le VARIANT source est vide, cette fonction retourne toujours un code d’erreur.
Vous pouvez utiliser VariantGetElementCount pour obtenir le nombre d’éléments dans le tableau ou le tableau.
Exemples
L’exemple suivant, à inclure dans le cadre d’un programme plus grand, montre comment utiliser InitVariantFromVariantArrayElem dans une instruction d’itération pour accéder aux valeurs d’un VARIANT.
// VARIANT var;
// Assume var is initialized and valid.
UINT cElem = VariantGetElementCount(var);
HRESULT hr = <mark type="const">S_OK</mark>;
for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
VARIANT varElem = {0};
hr = InitVariantFromVariantArrayElem(var, iElem, &varElem);
if (SUCCEEDED(hr))
{
// varElem is now valid.
VariantClear(&varElem);
}
}
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 |