SetupGetMultiSzFieldW, fonction (setupapi.h)
[Cette fonction est disponible pour une utilisation dans les systèmes d’exploitation indiqués dans la section Configuration requise. Il 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 des 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 commençant à ce stade à la fin de la ligne. Une 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 est -terminated, avec un null supplémentaire à la fin de la liste de chaînes. La chaîne null-terminated 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. Cette technique vous permet d’éviter les erreurs en raison d’une taille de mémoire tampon insuffisante. Consultez la section Remarques. Ce paramètre peut être NULL.
[in] ReturnBufferSize
Taille de la mémoire tampon pointée par ReturnBuffer , en caractères. Cela inclut la la marque de fin de 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 la marque de fin de 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 de retour
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’erreur étendues, appelez GetLastError.
Remarques
Si cette fonction est appelée avec un ReturnBuffer de NULL 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 les informations d’erreur étendues peuvent être obtenues en appelant GetLastError.
SetupGetMultiSzField ne doit pas être utilisé pour effectuer une itération via des valeurs de chaîne sur une ligne INF. Au lieu de cela, vous devez utiliser SetupGetStringField. SetupGetMultiSzField retourne une valeur au format de REG_MULTI_SZ. Il s’agit d’un tableau de chaînes null-terminated terminées par un caractère null supplémentaire. Ce format n’autorise pas les chaînes de longueur nulle. Si la liste des chaînes contient des chaînes de longueur nulle, SetupGetMultiSzField retourne prématurément lorsqu’elle rencontre la première valeur de chaîne vide.
Note
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. Le mélange 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
plateforme cible | Windows |
d’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) |