Sdílet prostřednictvím


Extrahování informací o souboru z souboru INF

Po otevření souboru INF můžete shromáždit informace z něj k sestavení uživatelského rozhraní nebo k nasměrování procesu instalace. Instalační funkce poskytují několik úrovní funkcí pro shromažďování informací ze souboru INF.

Shromažďování informací... Použijte tyto funkce...
O souboru INF SetupGetInfInformation
  SetupQueryInfFileInformation
  SetupQueryInfVersionInformation.
Informace o zdrojových a cílových souborech SetupGetSourceFileLocation
  SetupGetSourceFileSize
  SetupGetTargetPath
  SetupGetSourceInfo
Z řádku souboru INF SetupGetLineText
  SetupFindNextLine
  SetupFindNextMatchLine
  SetupGetLineByIndex
  SetupFindFirstLine
Z pole řádku v souboru INF SetupGetStringField
  SetupGetIntField
  SetupGetBinaryField
  SetupGetMultiSzField

 

Následující příklad používá funkci SetupGetSourceInfo k načtení popisu zdrojového média ze souboru INF, který je čitelný pro člověka.

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

V tomto příkladu je MyInf popisovačem otevřeného souboru INF. SourceId je identifikátor pro konkrétní zdrojové médium. Hodnota SRCINFO_DESCRIPTION určuje, že funkce SetupGetSourceInfo by měla načíst popis zdrojového média. Buffer ukazuje na řetězec, který obdrží popis, MaxBufSize označuje prostředky přidělené bufferu a BufSize označuje prostředky potřebné k uložení bufferu.

Pokud je BufSize větší než MaxBufSize, vrátí funkce FALSEa následné volání GetLastError vrátí ERROR_INSUFFICIENT_BUFFER.