次の方法で共有


MsiGetFileVersionA 関数 (msi.h)

MsiGetFileVersion は、バージョン文字列と言語文字列を、インストーラーがデータベースで検索する形式で返します。 バージョン情報のみが必要な場合は、lpLangBuf 設定し、pcchLangBuf を 0 (ゼロ) に します。 言語情報が必要な場合は、lpVersionBuf 設定し、pcchVersionBuf を 0 (ゼロ) に します。

構文

UINT MsiGetFileVersionA(
  [in]      LPCSTR  szFilePath,
  [out]     LPSTR   lpVersionBuf,
  [in, out] LPDWORD pcchVersionBuf,
  [out]     LPSTR   lpLangBuf,
  [in, out] LPDWORD pcchLangBuf
);

パラメーター

[in] szFilePath

ファイルへのパスを指定します。

[out] lpVersionBuf

ファイルのバージョンを返します。

言語情報の場合のみ、0 に設定します。

[in, out] pcchVersionBuf

TCHARの数としてバッファーのインとアウトの数。

言語情報の場合のみ、0 (ゼロ) に設定します。 入力時には、これはバッファーのフル サイズであり、終端の null 文字のスペースも含まれます。 渡されたバッファーが小さすぎる場合、返されるカウントには終端の null 文字は含まれません。

[out] lpLangBuf

ファイル言語を返します。

バージョン情報の場合のみ、0 (ゼロ) に設定します。

[in, out] pcchLangBuf

TCHARの数としてバッファーのインとアウトの数。

バージョン情報の場合のみ、0 (ゼロ) に設定します。 入力時には、これはバッファーのフル サイズであり、終端の null 文字のスペースも含まれます。 渡されたバッファーが小さすぎる場合、返されるカウントには終端の null 文字は含まれません。

戻り値

価値 意味
ERROR_SUCCESS
正常に完了しました。
ERROR_FILE_NOT_FOUND
ファイルが存在しません。
ERROR_ACCESS_DENIED
バージョン情報を取得するためにファイルを開くことができません。
ERROR_FILE_INVALID
ファイルにバージョン情報が含まれていません。
ERROR_INVALID_DATA
バージョン情報が無効です。
E_FAIL
予期しないエラー。

備考

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP 上の Windows インストーラー。 Windows インストーラーのバージョンで必要な最小 Windows Service Pack の詳細については、Windows インストーラーの Run-Time 要件を参照してください。
ターゲット プラットフォーム の ウィンドウズ
ヘッダー msi.h
ライブラリ Msi.lib
DLL Msi.dll

関連項目

システムステータス機能