Freigeben über


Extrahieren von Dateiinformationen aus der INF-Datei

Nachdem die INF-Datei geöffnet wurde, können Sie Informationen daraus sammeln, um die Benutzeroberfläche zu erstellen oder den Installationsprozess zu leiten. Die Setupfunktionen bieten mehrere Funktionen zum Sammeln von Informationen aus einer INF-Datei.

Um Informationen zu sammeln... Verwenden Sie diese Funktionen...
Informationen zur INF-Datei SetupGetInfInformation
  SetupQueryInfFileInformation
  SetupQueryInfVersionInformation.
Informationen zu Quell- und Zieldateien SetupGetSourceFileLocation
  SetupGetSourceFileSize
  SetupGetTargetPath
  SetupGetSourceInfo
Aus einer Zeile einer INF-Datei SetupGetLineText
  SetupFindNextLine
  SetupFindNextMatchLine
  SetupGetLineByIndex
  SetupFindFirstLine
Aus einem Feld einer Zeile in einer INF-Datei SetupGetStringField
  SetupGetIntField
  SetupGetBinaryField
  SetupGetMultiSzField

 

Im folgenden Beispiel wird die SetupGetSourceInfo-Funktion verwendet, um die lesbare Beschreibung eines Quellmediums aus einer INF-Datei abzurufen.

#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;
}

Im Beispiel ist MyInf das Handle für die geöffnete INF-Datei. SourceId ist der Bezeichner für ein bestimmtes Quellmedium. Der Wert SRCINFO_DESCRIPTION gibt an, dass die SetupGetSourceInfo-Funktion die Quellmedienbeschreibung abrufen soll. Puffer verweist auf eine Zeichenfolge, die die Beschreibung empfängt, MaxBufSize gibt die dem Puffer zugeordneten Ressourcen an, und BufSize gibt die ressourcen an, die zum Speichern des Puffers erforderlich sind.

Wenn BufSize größer als MaxBufSize ist, gibt die Funktion FALSE zurück, und ein späterer Aufruf von GetLastError gibt ERROR_INSUFFICIENT_BUFFER zurück.