Partager via


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

Voir aussi

SetupGetInfDriverStoreLocation