MsiGetFileVersionA 関数 (msi.h)

MsiGetFileVersion は、バージョン文字列と言語文字列を、インストーラーがデータベースで検索する形式で返します。 バージョン情報のみが必要な場合は、 lpLangBufpcchLangBuf を 0 (ゼロ) に設定します。 言語情報が必要な場合は、 lpVersionBufpcchVersionBuf を 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 ヘッダーは、MSIGetFileVersion をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント 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 サービス パックに関する詳細については、Windows インストーラーの実行時の要件に関する記事を参照してください。
対象プラットフォーム Windows
ヘッダー msi.h
Library Msi.lib
[DLL] Msi.dll

関連項目

システム状態関数