次の方法で共有


SetupQueryInfVersionInformationA 関数 (setupapi.h)

[この機能は、[要件] セクションに示されているオペレーティング システムで使用できます。 以降のバージョンでは、変更または使用できない場合があります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、Windows インストーラーを使用してアプリケーション インストーラーを開発します。 SetupAPI は、デバイス ドライバーのインストールに引き続き使用されます。

SetupQueryInfVersionInformation 関数は、SP_INF_INFORMATION 構造体からバッファーに INF ファイルのバージョン情報を返します。

構文

WINSETUPAPI BOOL SetupQueryInfVersionInformationA(
  [in]      PSP_INF_INFORMATION InfInformation,
  [in]      UINT                InfIndex,
  [in]      PCSTR               Key,
  [in, out] PSTR                ReturnBuffer,
  [in]      DWORD               ReturnBufferSize,
  [in, out] PDWORD              RequiredSize
);

パラメーター

[in] InfInformation

SetupGetInfInformation 関数の呼び出しから以前に返された SP_INF_INFORMATION 構造体へのポインター。

[in] InfIndex

バージョン情報を取得する構成 INF ファイルのインデックス。 このインデックスの範囲は 、[0, InfInformation.InfCount) です。 つまり、infInformation.InfCount を 、含まない値は有効です。

[in] Key

関連付けられた文字列を取得するキー名を含む null-terminated 文字列への省略可能なポインター。 このパラメーターが NULL場合、すべてのリソース キーが指定されたバッファーにコピーされます。 各文字列は null-terminated され、リストの末尾に余分な null が含まれます。

[in, out] ReturnBuffer

NULLしない場合、ReturnBuffer は、この関数が INF ファイル スタイルを返す呼び出し指定の文字バッファーを指します。 null-terminated 文字列を使用する必要があります。 null-terminated 文字列は、宛先バッファーのサイズを超えないようにする必要があります。 関数を 1 回呼び出して、必要なバッファー サイズを取得し、必要なメモリを割り当ててから、もう一度関数を呼び出してデータを取得できます。 この手法を使用すると、バッファー サイズが不十分なため、エラーを回避できます。 「解説」セクションを参照してください。 このパラメーターは NULLできます。

[in] ReturnBufferSize

ReturnBuffer パラメーターが指すバッファーのサイズ (文字数)。 この数値には、null ターミネータが含まれます。

[in, out] RequiredSize

NULLしない場合は、ReturnBuffer パラメーターが指すバッファーに必要なサイズを文字で受け取る変数へのポインター。 この数値には、null ターミネータが含まれます。 ReturnBuffer を指定し、実際のサイズが ReturnBufferSize で指定された値より大きい場合、関数は失敗し、GetLastError 呼び出しERROR_INSUFFICIENT_BUFFER返します。

戻り値

関数が成功した場合、戻り値は 0 以外の値になります。

関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

この関数が null ReturnBuffer で呼び出され、ReturnBufferSize が 0 の場合、この関数は、指定されたデータを保持するために必要なバッファー サイズ RequiredSizeが指す変数に格納します。 この関数が成功した場合、戻り値は 0 以外の値になります。 それ以外の場合、戻り値は 0 で、GetLastError呼び出すことによって拡張エラー情報を取得できます。

SetupQueryInfVersionInformation がレガシ INF ファイルで呼び出された場合、バージョン情報はレガシ INF ファイルから次のように生成されます。

  1. レガシ ファイルの Identification セクションの OptionType キーは、クラス キー値として返されます。
  2. レガシ INF ファイルの Signature セクションの FileType キーは、署名キーの値になります。
  3. レガシ INF ファイルの FileType キーの値がMICROSOFT_FILE場合、プロバイダー キーの値は "Microsoft" に設定されます。
次の表は、SP_INF_INFORMATION 構造体に渡される前に情報がどのように変換されるかをまとめたものです。
従来のファイル情報 Windows INF 情報
[Identification]
OptionType = Mouse
[Version]
Class=Mouse
[Signature]
FileType = MICROSOFT_FILE
Signature=MICROSOFT_FILE
(FileType がMICROSOFT_FILEの場合)
Provider="Microsoft"
 

手記

setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupQueryInfVersionInformation を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー setupapi.h
ライブラリ Setupapi.lib
DLL Setupapi.dll

関連項目

Functions

の概要

SetupGetInfInformation の

SetupQueryInfFileInformation の