从 INF 文件中提取文件信息

打开 INF 文件后,可以从该文件中收集信息以生成用户界面或指导安装过程。 设置函数提供多个级别的功能,用于从 INF 文件收集信息。

收集信息... 使用这些函数...
关于 INF 文件 SetupGetInfInformation
  SetupQueryInfFileInformation
  SetupQueryInfVersionInformation
关于源文件和目标文件 SetupGetSourceFileLocation
  SetupGetSourceFileSize
  SetupGetTargetPath
  SetupGetSourceInfo
从 INF 文件的一行 SetupGetLineText
  SetupFindNextLine
  SetupFindNextMatchLine
  SetupGetLineByIndex
  SetupFindFirstLine
从 INF 文件中行的字段 SetupGetStringField
  SetupGetIntField
  SetupGetBinaryField
  SetupGetMultiSzField

 

以下示例使用 SetupGetSourceInfo 函数从 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;
}

在本示例中,MyInf 是打开的 INF 文件的句柄。 SourceId 是特定源媒体的标识符。 值SRCINFO_DESCRIPTION指定 SetupGetSourceInfo 函数应检索源媒体说明。 Buffer 指向将接收说明的字符串,MaxBufSize 指示分配给缓冲区的资源,BufSize 指示存储缓冲区所需的资源。

如果 BufSize 大于 MaxBufSize,则函数将返回 FALSE,并且对 GetLastError 的后续调用将返回ERROR_INSUFFICIENT_BUFFER。