システム内に該当ファイルの別バージョンがあるかどうかに基づいて、ファイルをインストールする場所を決定する。VerFindFile が指定バッファに返す値は、後続の VerInstallFile 関数呼び出しで使用される。(Unicode)
VerFindFileW uFlags, szFileName, szWinDir, szAppDir, szCurDir, puCurDirLen, szDestDir, puDestDirLen
uFlags : [int] 型: DWORD このパラメータには次の値を指定できる。その他のビットはすべて予約されている。 szFileName : [wstr] 型: LPCTSTR インストールするファイルの名前。ファイル名と拡張子のみを指定し、パスを含めてはならない。 szWinDir : [wstr] 型: LPCTSTR Windows が動作している、または動作する予定のディレクトリ。この文字列は GetWindowsDirectory 関数によって返される。 szAppDir : [wstr] 型: LPCTSTR インストールプログラムが関連ファイル群をインストールするディレクトリ。インストールプログラムがアプリケーションをインストールする場合は、これがアプリケーションの配置先ディレクトリとなる。このパラメータは、特に指定しない限りアプリケーションのカレントディレクトリも指す。 szCurDir : [wstr] 型: LPWSTR インストールするファイルの現行バージョンへのパスを受け取るバッファ。このパスは null 終端文字列である。現行バージョンがインストールされていない場合、バッファは長さ 0 の文字列を含む。バッファは少なくとも _MAX_PATH 文字以上の長さを持つことが望ましいが、必須ではない。 puCurDirLen : [var] 型: PUINT szCurDir バッファの長さ。このポインタは NULL であってはならない。関数が戻ったとき、lpuCurDirLen は szCurDir に返されるデータのサイズ(終端の null 文字を含む文字数)を保持する。バッファがすべてのデータを格納するには小さすぎる場合、lpuCurDirLen にはパスを保持するために必要なバッファサイズが格納される。 szDestDir : [wstr] 型: LPTSTR VerFindFile が推奨するインストール場所へのパスを受け取るバッファ。このパスは null 終端文字列である。バッファは少なくとも _MAX_PATH 文字以上の長さを持つことが望ましいが、必須ではない。 puDestDirLen : [var] 型: PUINT szDestDir バッファの長さを指定する変数へのポインタ。このポインタは NULL であってはならない。関数が戻ったとき、lpuDestDirLen は szDestDir に返されるデータのサイズ(終端の null 文字を含む文字数)を保持する。バッファがすべてのデータを格納するには小さすぎる場合、lpuDestDirLen にはパスを保持するために必要なバッファサイズが格納される。
(プラグイン / モジュール : version.dll)
システム内に該当ファイルの別バージョンがあるかどうかに基づいて、ファイルをインストールする場所を決定する。VerFindFile が指定バッファに返す値は、後続の VerInstallFile 関数呼び出しで使用される。(Unicode) [戻り値] 型: DWORD 戻り値はファイルの状態を示すビットマスクである。次の値の 1 つ以上を含む可能性がある。その他の値はすべて予約されている。 (以下省略) [備考] この関数は 16 ビット、32 ビット、64 ビットのファイルイメージで動作する。VerFindFile は OpenFile 関数を使用して指定されたファイルのコピーを検索する。ただし、システムディレクトリは指定された Windows ディレクトリから決定するか、パスを検索する。dwFlags パラメータがファイルがこのアプリケーション専用(VFFF_ISSHAREDFILE ではない)であることを示している場合、VerFindFile はアプリケーションのディレクトリにファイルをインストールすることを推奨する。それ以外の場合、システムが共有コピーで動作しているなら関数は Windows ディレクトリへのインストールを推奨し、システムがプライベートコピーで動作しているならシステムディレクトリへのインストールを推奨する。 > [!NOTE] > winver.h ヘッダは VerFindFile を、UNICODE プリプロセッサ定数の定義に基づいてこの関数の ANSI 版または Unicode 版を自動的に選択するエイリアスとして定義している。エンコーディング中立なエイリアスとエンコーディング中立でないコードを混在させると、コンパイルや実行時のエラーにつながる不一致が発生する場合がある。詳細は [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes) を参照。
| プラグイン / モジュール | version.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の version.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_version_gen2.hs |