Partager via


Fonction SetupGetInfInformationA (setupapi.h)

[Cette fonction est disponible pour une utilisation 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 l’installation d’applications. Utilisez plutôt Windows Installer pour développer des programmes d’installation d’applications. SetupAPI continue d’être utilisé pour l’installation des pilotes de périphérique.]

La fonction SetUpGetInfInformation retourne la structure SP_INF_INFORMATION du fichier INF spécifié à une mémoire tampon.

Syntaxe

WINSETUPAPI BOOL SetupGetInfInformationA(
  [in]      LPCVOID             InfSpec,
  [in]      DWORD               SearchControl,
  [in, out] PSP_INF_INFORMATION ReturnBuffer,
  [in]      DWORD               ReturnBufferSize,
  [in, out] PDWORD              RequiredSize
);

Paramètres

[in] InfSpec

Handle ou un nom de fichier pour un fichier INF, en fonction de la valeur de SearchControl.

[in] SearchControl

Ce paramètre peut être l’une des constantes suivantes.

INFINFO_INF_SPEC_IS_HINF

InfSpec est un handle INF. Un seul handle INF peut référencer plusieurs fichiers INF s’ils ont été chargés ensemble. Si c’est le cas, la structure retournée par cette fonction contient plusieurs ensembles d’informations.

INFINFO_INF_NAME_IS_ABSOLUTE

La chaîne spécifiée pour InfSpec est un chemin d’accès complet. Aucun autre traitement n’est effectué sur InfSpec.

Recherchez dans les emplacements par défaut le fichier INF spécifié pour InfSpec, qui est supposé être un nom de fichier uniquement. Les emplacements par défaut sont %windir%\inf, suivis de %windir%\system32.

Identique à INFINFO_DEFAULT_SEARCH, sauf que les emplacements par défaut sont recherchés dans l’ordre inverse.

Recherchez l’inf dans chacun des répertoires répertoriés dans l’entrée de valeur DevicePath sous les éléments suivants :HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

[in, out] ReturnBuffer

Si ce n’est pas NULL, pointe vers une mémoire tampon dans laquelle cette fonction retourne la structure SP_INF_INFORMATION .

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. Pour plus d’informations, consultez la section Remarques de cette rubrique.

[in] ReturnBufferSize

Taille de ReturnBuffer, en octets.

[in, out] RequiredSize

S’il n’est pas NULL, pointe vers une variable dans laquelle cette fonction retourne la taille requise, en octets, pour la mémoire tampon pointée par ReturnBuffer.

Si ReturnBuffer est spécifié et que la taille nécessaire est supérieure à 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 zéro (0). Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Si le fichier INF ne peut pas être localisé, la fonction retourne FALSE et un appel suivant à GetLastError retourne ERROR_FILE_NOT_FOUND.

Remarques

Si cette fonction est appelée avec un ReturnBuffer de NULL et un ReturnBufferSize de 0 (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, la valeur de retour est une valeur différente de zéro. Sinon, la valeur de retour est 0 (zéro), et les informations d’erreur étendues peuvent être obtenues en appelant GetLastError.

Notes

L’en-tête setupapi.h définit SetupGetInfInformation comme un 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.

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

Voir aussi

Fonctions

Vue d'ensemble

SetupQueryInfFileInformation

SetupQueryInfVersionInformation