SetupGetInfPublishedNameA, fonction (setupapi.h)
La fonction SetupGetInfPublishedName récupère le nom de fichier complet (chemin du répertoire et nom de fichier) d’un fichier INF dans le répertoire de fichiers INF système qui correspond à un fichier INF spécifié dans le magasin de pilotes ou un fichier INF spécifié dans le répertoire de fichiers INF système.
Syntaxe
WINSETUPAPI BOOL SetupGetInfPublishedNameA(
[in] PCSTR DriverStoreLocation,
[out] PSTR ReturnBuffer,
[in] DWORD ReturnBufferSize,
[out, optional] PDWORD RequiredSize
);
Paramètres
[in] DriverStoreLocation
Pointeur vers une chaîne terminée par NULL qui contient le nom de fichier complet (chemin du répertoire et nom de fichier) d’un fichier INF dans le magasin de pilotes. Ce paramètre est également un pointeur vers une chaîne terminée par NULL qui contient le nom et éventuellement le chemin du répertoire complet d’un fichier INF dans le répertoire de fichiers INF système. Pour plus d’informations sur la façon de spécifier le fichier INF, consultez la section Remarques suivante.
[out] ReturnBuffer
Pointeur vers la mémoire tampon dans laquelle SetupGetInfPublishedName retourne une chaîne terminée par NULL qui contient le nom de fichier complet du fichier INF spécifié dans le répertoire INF système. La taille maximale du chemin est MAX_PATH. Ce pointeur peut être défini sur NULL. Pour plus d’informations sur la façon de déterminer la taille requise de la mémoire tampon de retour, consultez la section Remarques suivante.
[in] ReturnBufferSize
Taille, en caractères, de la mémoire tampon fournie par ReturnBuffer.
[out, optional] RequiredSize
Pointeur vers une variable de type DWORD qui reçoit la taille, en caractères, de la mémoire tampon ReturnBuffer . Ce paramètre est facultatif et peut être défini sur NULL.
Valeur retournée
Si SetupGetInfPublishedName réussit, la fonction retourne TRUE ; sinon, la fonction retourne FALSE. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Si la taille, en caractères, du nom de fichier complet du fichier INF demandé, y compris un terminateur Null, est supérieure à ReturnBufferSize, la fonction échoue et un appel à GetLastError retourne ERROR_INSUFFICIENT_BUFFER.
Remarques
Pour déterminer la taille de la mémoire tampon de retour requise pour contenir le nom de fichier complet du fichier INF spécifié dans le répertoire INF système, appelez SetupGetInfPublishedName et définissez ReturnBuffer sur NULL, ReturnBufferSize sur zéro et indiquez RequiredSize. SetupGetInfPublishedName retourne la taille de mémoire tampon requise dans RequiredSize.
Lorsque l’installation de l’appareil préinstalle un package de pilotes dans le magasin de pilotes, elle crée deux copies du fichier INF du package de pilotes. L’installation de l’appareil ajoute une copie au répertoire INF système et attribue à cette copie du fichier INF un nom de fichier publié unique sous la forme OEMnnn.inf. L’installation de l’appareil ajoute une deuxième copie du fichier INF au magasin de pilotes et lui attribue le nom du fichier INF d’origine.
SetupGetInfPublishedName retourne le nom de fichier complet du fichier INF dans le répertoire de fichiers INF système qui correspond au fichier INF, le cas échéant, fourni par DriverStoreLocation. DriverStoreLocation doit spécifier le nom de fichier complet d’un fichier INF dans le magasin de pilotes ou doit spécifier le nom de fichier, et éventuellement le chemin du répertoire, d’un fichier INF dans le répertoire INF système. Par exemple, supposons que le fichier INF d’un package de pilotes est myinf.inf et que, pour ce package de pilotes, l’installation du périphérique installe le fichier INF OEM1.inf dans le répertoire INF système C :\Windows\inf. Supposons également que l’installation de l’appareil installe la copie de fichier INF correspondante C :\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf dans le magasin de pilotes. Dans ce cas, la fonction renvoie C :\Windows\inf\OEM1.inf si DriverStoreLocation fournit l’une des chaînes suivantes : C :\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf, OEM1.inf ou C :\Windows\inf\OEM1.inf.
Appelez la fonction SetupGetInfDriverStoreLocation pour récupérer le nom de fichier complet d’un fichier INF dans le magasin de pilotes qui correspond à un fichier INF spécifié dans le répertoire de fichiers INF système ou à un fichier spécifié dans le magasin de pilotes.
Notes
L’en-tête setupapi.h définit SetupGetInfPublishedName 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 | Disponible dans Windows Vista et les versions plus récentes de Windows. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | setupapi.h (inclure Setupapi.h) |
Bibliothèque | Setupapi.lib |