SetupOpenInfFileA, 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 SetupOpenInfFile ouvre un fichier INF et lui retourne un handle.
Syntaxe
WINSETUPAPI HINF SetupOpenInfFileA(
[in] PCSTR FileName,
[in] PCSTR InfClass,
[in] DWORD InfStyle,
[in] PUINT ErrorLine
);
Paramètres
[in] FileName
Pointeur vers une chaîne terminée par null contenant le nom (et le chemin facultatif) du fichier INF à ouvrir. Si le nom de fichier ne contient pas de caractères séparateurs de chemin d’accès, il est recherché, d’abord dans le répertoire %windir%\inf, puis dans le répertoire %windir%\system32. Si le nom de fichier contient des caractères séparateurs de chemin d’accès, il est supposé être une spécification de chemin d’accès complète et aucun traitement supplémentaire n’est effectué dessus.
[in] InfClass
Pointeur facultatif vers une chaîne terminée par null contenant la classe de fichier INF souhaitée. Cette chaîne doit correspondre à la valeur Class de la section Version (par exemple, Class=Net). S’il n’existe aucune entrée dans la valeur Class, mais qu’il existe une entrée pour ClassGUID dans la section Version , le nom de classe correspondant à ce GUID est récupéré et utilisé pour la comparaison.
[in] InfStyle
Style du fichier INF à ouvrir ou à rechercher. Ce paramètre peut être une combinaison des indicateurs suivants.
INF_STYLE_OLDNT
Format de fichier INF hérité.
INF_STYLE_WIN4
Format de fichier INF Windows.
[in] ErrorLine
Pointeur facultatif vers une variable vers laquelle cette fonction retourne le numéro de ligne (de base 1) où une erreur s’est produite lors du chargement du fichier INF. Cette valeur est généralement fiable uniquement si GetLastError ne retourne pas ERROR_NOT_ENOUGH_MEMORY. Si une condition de mémoire insuffisante se produit, ErrorLine peut être 0.
Valeur retournée
La fonction retourne un handle au fichier INF ouvert s’il réussit. Sinon, la valeur de retour est INVALID_HANDLE_VALUE. Les informations d’erreur étendues peuvent être récupérées par un appel à GetLastError.
Remarques
Si le chargement échoue, car le type de fichier INF ne correspond pas à InfClass, la fonction retourne INVALID_HANDLE_VALUE et un appel à GetLastError retourne ERROR_CLASS_MISMATCH.
Si plusieurs styles de fichier INF sont spécifiés, le style du fichier INF ouvert peut être déterminé en appelant la fonction SetupGetInfInformation .
Étant donné qu’il peut y avoir plusieurs GUID de classe avec le même nom de classe, les appelants intéressés par les fichiers INF d’une classe particulière (c’est-à-dire un GUID de classe particulier) doivent récupérer la valeur ClassGUID du fichier INF en appelant SetupQueryInfVersionInformation.
Pour les fichiers INF hérités, la chaîne InfClass doit correspondre au type spécifié dans la valeur OptionType de la section Identification du fichier INF (par exemple, OptionType=NetAdapter).
Notes
L’en-tête setupapi.h définit SetupOpenInfFile 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-0 (introduit dans Windows 8) |