WritePrivateProfileSectionW

初期化ファイル内の指定セクションのキーと値を置き換える。(Unicode)

WritePrivateProfileSectionW lpAppName, lpString, lpFileName

lpAppName : [wstr] データを書き込むセクションの名前。通常は呼び出し側アプリケーションの名前。
lpString : [wstr] 指定セクションに書き込む新しいキー名と関連付けられた値。65,535 バイトに制限される。
lpFileName : [wstr] 初期化ファイルの名前。フルパスを含まない場合、Windows ディレクトリを検索する。ファイルが存在せず lpFileName にフルパスが含まれない場合、関数は Windows ディレクトリにファイルを作成する。ファイルが存在し Unicode 文字で作成されていれば、関数は Unicode 文字を書き込む。それ以外は ANSI 文字でファイルを作成する。

(プラグイン / モジュール : kernel32.dll)

解説

初期化ファイル内の指定セクションのキーと値を置き換える。(Unicode)

[戻り値]
関数が成功した場合、戻り値は 0 以外である。関数が失敗した場合、戻り値は 0 となる。拡張エラー情報を取得するには
GetLastError を呼ぶ。

[備考]
lpString が指すバッファのデータは 1 つ以上の NULL 終端文字列とそれに続く最終 NULL 文字からなる。各文字列は
key=string の形式である。WritePrivateProfileSection は大文字小文字を区別せず、lpAppName
が指す文字列は大文字小文字の任意の組み合わせでよい。lpAppName
と一致するセクション名がない場合、WritePrivateProfileSection
は指定初期化ファイル末尾にセクションを作成し、指定キー / 値で初期化する。WritePrivateProfileSection
は名前付きセクションの既存キー・値を削除し、lpString
バッファ内のキー名と値を挿入する。本関数は新旧キー名の対応を試みず、新しい名前の順序が古いものと異なる場合、既存キーや値に関連付けられたコメントが誤ったキーや値に関連付けられる可能性がある。本操作はアトミックで、書き込み中に同じ初期化ファイルを読み書きする操作は許可されない。システムは性能向上のため、最新のレジストリファイルマッピングのキャッシュを保持する。すべてのパラメータが
NULL
なら関数はキャッシュをフラッシュする。システムがキャッシュ版を編集中、ファイル自体を編集するプロセスはキャッシュがクリアされるまで元のファイルを使う。システムは大半の
.ini ファイル参照を、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\IniFileMapping レジストリキー以下のマッピングでレジストリにマップする。
アプリケーションが Control.ini、System.ini、Winfile.ini
などのシステムコンポーネント初期化ファイルを変更する場合に該当する。この場合、本関数は初期化ファイルではなくレジストリに書き込むが、関数の動作には影響しない。プロファイル関数は次の手順で初期化情報を見つける。
(以下省略)

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs