SetupGetMultiSzFieldW, fonction (setupapi.h)
[Cette fonction peut être utilisée dans les systèmes d’exploitation indiqués dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. SetupAPI ne doit plus être utilisé pour installer des applications. Utilisez plutôt Windows Installer pour développer des programmes d’installation d’applications. SetupAPI continue d’être utilisé pour installer les pilotes de périphérique.]
La fonction SetupGetMultiSzField récupère plusieurs chaînes stockées dans une ligne d’un fichier INF, du champ spécifié à la fin de la ligne.
Syntaxe
WINSETUPAPI BOOL SetupGetMultiSzFieldW(
[in] PINFCONTEXT Context,
[in] DWORD FieldIndex,
[in, out] PWSTR ReturnBuffer,
[in] DWORD ReturnBufferSize,
[in] LPDWORD RequiredSize
);
Paramètres
[in] Context
Pointeur vers le contexte d’une ligne dans un fichier INF.
[in] FieldIndex
Index de base 1 du champ de départ dans la ligne spécifiée à partir de laquelle les chaînes doivent être récupérées. La liste de chaînes est générée à partir de chaque champ à partir de ce point jusqu’à la fin de la ligne. Un FieldIndex de zéro n’est pas valide avec cette fonction.
[in, out] ReturnBuffer
Pointeur facultatif vers une mémoire tampon de caractères qui reçoit les chaînes. Chaque chaîne se termine par une valeur Null, avec une valeur Null supplémentaire à la fin de la liste de chaînes. La chaîne terminée par un caractère Null ne doit pas dépasser la taille de la mémoire tampon de destination. Vous pouvez appeler la fonction une fois pour obtenir la taille de mémoire tampon requise, allouer la mémoire nécessaire, puis appeler la fonction une deuxième fois pour récupérer les données. À l’aide de cette technique, vous pouvez éviter les erreurs dues à une taille de mémoire tampon insuffisante. Consultez la section Notes. Ce paramètre peut être NULL.
[in] ReturnBufferSize
Taille de la mémoire tampon pointée par ReturnBuffer, en caractères. Cela inclut la marque de fin null .
[in] RequiredSize
Pointeur facultatif vers une variable qui reçoit la taille requise pour la mémoire tampon pointée par ReturnBuffer, en caractères. Cela inclut la marque de fin null . Si la taille nécessaire est supérieure à la valeur spécifiée par ReturnBufferSize, la fonction échoue et un appel à GetLastError retourne ERROR_INSUFFICIENT_BUFFER.
Valeur retournée
Si la fonction réussit, la valeur de retour est une valeur différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Si cette fonction est appelée avec un ReturnBuffernull et un ReturnBufferSize de zéro, la fonction place la taille de mémoire tampon nécessaire pour contenir les données spécifiées dans la variable pointée par RequiredSize. Si la fonction réussit dans ce cas, la valeur de retour est une valeur différente de zéro. Sinon, la valeur de retour est zéro et des informations d’erreur étendues peuvent être obtenues en appelant GetLastError.
SetupGetMultiSzField ne doit pas être utilisé pour itérer au sein des valeurs de chaîne sur une ligne INF. Au lieu de cela, vous devez utiliser SetupGetStringField. SetupGetMultiSzField retourne une valeur au format REG_MULTI_SZ. Il s’agit d’un tableau de chaînes terminées par un caractère Null supplémentaire. Ce format n’autorise pas les chaînes de longueur nulle. Si la liste de chaînes contient des chaînes de longueur nulle, SetupGetMultiSzField retourne prématurément lorsqu’il rencontre la première valeur de chaîne vide.
Notes
L’en-tête setupapi.h définit SetupGetMultiSzField comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | setupapi.h |
Bibliothèque | Setupapi.lib |
DLL | Setupapi.dll |
Ensemble d’API | ext-ms-win-setupapi-inf-l1-1-1 (introduit dans Windows 10, version 10.0.14393) |