Partager via


Extraction des informations de fichier à partir du fichier INF

Une fois le fichier INF ouvert, vous pouvez collecter des informations à partir de celui-ci pour générer l’interface utilisateur ou diriger le processus d’installation. Les fonctions d’installation fournissent plusieurs niveaux de fonctionnalités pour la collecte d’informations à partir d’un fichier INF.

Pour recueillir des informations... Utilisez ces fonctions...
À propos du fichier INF SetupGetInfInformation
  SetupQueryInfFileInformation
  SetupQueryInfVersionInformation.
À propos des fichiers source et cible SetupGetSourceFileLocation
  SetupGetSourceFileSize
  SetupGetTargetPath
  SetupGetSourceInfo
À partir d’une ligne d’un fichier INF SetupGetLineText
  SetupFindNextLine
  SetupFindNextMatchLine
  SetupGetLineByIndex
  SetupFindFirstLine
À partir d’un champ d’une ligne dans un fichier INF SetupGetStringField
  SetupGetIntField
  SetupGetBinaryField
  SetupGetMultiSzField

 

L’exemple suivant utilise la fonction SetupGetSourceInfo pour récupérer la description accessible en lecture humaine d’un média source à partir d’un fichier INF.

#include <windows.h>
#include <setupapi.h>

BOOL test;  
HINF MyInf;
UINT SourceId;
PTSTR Buffer;
DWORD MaxBufSize;
DWORD BufSize;

int main()  
{ 

test = SetupGetSourceInfo (
     MyInf,   //Handle to the INF file to access                
     SourceId, //Id of the source media                 
     SRCINFO_DESCRIPTION, //which information to retrieve     
     Buffer, //a pointer to the buffer to receive the information                     
     MaxBufSize,  //the size allocated for the buffer 
     &BufSize    //buffer size actually needed
);
  
return 0;
}

Dans l’exemple, MyInf est le handle du fichier INF ouvert. SourceId est l’identificateur d’un média source spécifique. La valeur SRCINFO_DESCRIPTION spécifie que la fonction SetupGetSourceInfo doit récupérer la description du média source. La mémoire tampon pointe vers une chaîne qui recevra la description, MaxBufSize indique les ressources allouées à la mémoire tampon et BufSize indique les ressources nécessaires pour stocker la mémoire tampon.

Si BufSize est supérieur à MaxBufSize, la fonction retourne FALSE et un appel ultérieur à GetLastError retourne ERROR_INSUFFICIENT_BUFFER.