Partager via


SetupGetInfDriverStoreLocationW, fonction (setupapi.h)

La fonction SetupGetInfDriverStoreLocation récupère le nom de fichier complet (chemin d’accès au répertoire et nom de fichier) 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 INF spécifié dans le magasin de pilotes.

Syntaxe

WINSETUPAPI BOOL SetupGetInfDriverStoreLocationW(
  [in]            PCWSTR               FileName,
  [in, optional]  PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
  [in, optional]  PCWSTR               LocaleName,
  [out]           PWSTR                ReturnBuffer,
  [in]            DWORD                ReturnBufferSize,
  [out, optional] PDWORD               RequiredSize
);

Paramètres

[in] FileName

Pointeur vers une chaîne terminée par NULL qui contient le nom, et éventuellement le chemin d’accès au répertoire complet, d’un fichier INF dans le répertoire de fichiers INF système. Ce paramètre est également un pointeur vers une chaîne terminée par NULL qui contient le nom de fichier complet (chemin d’accès au répertoire et nom de fichier) d’un fichier INF dans le magasin de pilotes.

Pour plus d’informations sur la façon de spécifier le fichier INF, consultez la section remarques suivante.

[in, optional] AlternatePlatformInfo

Réservé à l’utilisation du système.

[in, optional] LocaleName

Réservé à l’utilisation du système.

[out] ReturnBuffer

Pointeur vers une mémoire tampon dans laquelle la fonction retourne une chaîne terminée par NULL qui contient le nom de fichier complet du fichier INF spécifié. Ce paramètre peut être défini sur NULL . La taille maximale du chemin pris en charge est MAX_PATH. Pour plus d’informations sur la façon de déterminer la taille requise de la mémoire tampon, 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 typée 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 de retour

Si SetupGetInfDriverStoreLocation 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 point de terminaison 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 magasin de pilotes, appelez SetupGetInfDriverStoreLocation et définissez ReturnBuffer sur NULL, ReturnBufferSize à zéro et fournissez RequiredSize. SetupGetInfDriverStoreLocation 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, il crée deux copies du fichier INF du package de pilotes. L’installation de l’appareil installe une copie dans le répertoire INF système et affecte cette copie du fichier INF un nom de fichier publié unique du formulaire OEMnnn.inf. L’installation de l’appareil installe une deuxième copie du fichier INF dans le magasin de pilotes et affecte ce nom de fichier INF d’origine.

SetupGetInfDriverStoreLocation retourne le nom de fichier complet du fichier INF dans le magasin de pilotes qui correspond au fichier INF, le cas échéant, fourni par FileName. nom de fichier doit spécifier le nom de fichier, et éventuellement le chemin d’accès du répertoire, d’un fichier INF dans le répertoire INF système. Vous pouvez également nom de fichier doit spécifier le nom de fichier complet d’un fichier INF dans le magasin de pilotes.

Par exemple, supposons que le fichier INF d’un package de pilotes est Myinf.inf, et que pour ce package de pilotes, L’installation de l’appareil installe le fichier INF OEM1.inf dans le répertoire INF système C :\Windows\inf. Supposez plus en détail 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 retourne C :\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf si FileName fournit l’une des chaînes suivantes : OEM1.inf, C :\Windows\inf\OEM1.inf, ou C :\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf.

programmes d’installation de classe et co-programmes d’installation peuvent utiliser SetupGetInfDriverStoreLocation pour accéder aux fichiers d’un package de pilotes préinstallé dans le magasin de pilotes. Pour déterminer le chemin du package de pilotes dans le magasin de pilotes, le programme d’installation effectue les opérations suivantes :

  1. Appelez SetupDiGetDriverInfoDetail pour récupérer une structure de SP_DRVINFO_DETAIL_DATA pour un pilote. Le InfFileName membre de cette structure contient le nom de fichier complet du fichier INF du pilote dans le répertoire INF système.
  2. Appelez SetupGetInfDriverStoreLocation et fournissez le nom de fichier complet du fichier INF du pilote récupéré en appelant SetupDiGetDriverInfoDetail. SetupGetInfDriverStoreLocation retourne le nom de fichier complet du fichier INF du pilote dans le magasin de pilotes. La partie du chemin d’accès au répertoire du nom de fichier complet du fichier INF est le chemin d’accès du package de pilotes fichiers.
RemarqueSetupGetInfDriverStoreLocation ne traite pas le contenu du fichier INF spécifié dans FileName. Vous ne pouvez pas utiliser cette fonction pour effectuer une recherche spécifique au contenu d’un fichier INF dans le magasin de pilotes.
 
Appelez la fonction SetupGetInfPublishedName pour récupérer le nom de fichier complet d’un fichier INF dans le répertoire de fichiers INF système 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.

Note

L’en-tête setupapi.h définit SetupGetInfDriverStoreLocation en tant qu’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 Disponible dans Windows Vista et versions ultérieures de Windows.
plateforme cible Bureau
d’en-tête setupapi.h (include Setupapi.h)
bibliothèque Setupapi.lib

Voir aussi

SP_ALTPLATFORM_INFO

SP_DRVINFO_DETAIL_DATA

SetupDiGetDriverInfoDetail

SetupGetInfPublishedName