Fonction VariantToBuffer (propvarutil.h)
Extrait le contenu d’une mémoire tampon stockée dans une structure VARIANT de type VT_ARRRAY | VT_UI1.
Syntaxe
PSSTDAPI VariantToBuffer(
[in] REFVARIANT varIn,
[out] void *pv,
[in] UINT cb
);
Paramètres
[in] varIn
Type : REFVARIANT
Référence à une structure VARIANT source.
[out] pv
Type : VOID*
Pointeur vers une mémoire tampon de longueur cb octets. Lorsque cette fonction est retournée, contient les premiers octets cb de la valeur de mémoire tampon extraite.
[in] cb
Type : UINT
Taille de la mémoire tampon pv , en octets. La mémoire tampon doit avoir la même taille que les données à extraire, ou être plus petite.
Valeur retournée
Type : HRESULT
Renvoie l'une des valeurs suivantes :
Code de retour | Description |
---|---|
|
Données extraites avec succès. |
|
Variant n’était pas de type VT_ARRRAY | VT_UI1. |
|
La valeur de la mémoire tampon VARIANT avait moins d’octets cb . |
Remarques
Cette fonction est utilisée lorsque l’application appelante s’attend à ce qu’un VARIANT contienne une valeur de mémoire tampon. L’application appelante doit case activée que la valeur a la longueur attendue avant d’appeler cette fonction.
Si le VARIANT source a le type VT_ARRAY | VT_UI1, cette fonction extrait les premiers octets cb de la structure et les place dans la mémoire tampon pointée par pv.
Si la valeur stockée a moins de cb octets, VariantToBuffer échoue et la mémoire tampon n’est pas modifiée.
Si la valeur a plus de cb octets, VariantToBuffer réussit et tronque la valeur.
Exemples
L’exemple suivant, à inclure dans le cadre d’un programme plus large, montre comment utiliser VariantToBuffer pour accéder à une structure qui a été stockée dans un variant.
// VARIANT var;
// Assume variable var is initialized and valid.
// The application expects var to hold a WIN32_FIND_DATAW structure
// with sizeof(WIN32_FIND_DATAW) bytes.
HRESULT hr = E_UNEXPECTED;
// Verify that the value length is acceptable before you call VariantToBuffer.
if (VariantGetElementCount(var) == sizeof(WIN32_FIND_DATAW))
{
WIN32_FIND_DATAW wfd;
hr = VariantToBuffer(var, &wfd, sizeof(wfd));
if (SUCCEEDED(hr))
{
// wfd is now initialized.
}
}
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 |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour