次の方法で共有


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 関数がソース メディアの説明を取得する必要があることを指定します。 バッファーは説明を受け取る文字列を指し、MaxBufSize はバッファーに割り当てられたリソースを示し、BufSize はバッファーを格納するために必要なリソースを示します。

BufSize が MaxBufSize より大きい場合、関数は FALSE を返し、 GetLastError の後続の呼び出しはERROR_INSUFFICIENT_BUFFERを返します。