GetPrivateProfileStruct 関数 (winbase.h)
初期化ファイルの指定したセクションのキーに関連付けられているデータを取得します。 データを取得すると、関数はチェックサムを計算し、データがファイルに追加されたときに WritePrivateProfileStruct 関数によって計算されたチェックサムと比較します。
構文
BOOL GetPrivateProfileStruct(
[in] LPCTSTR lpszSection,
[in] LPCTSTR lpszKey,
[out] LPVOID lpStruct,
[in] UINT uSizeStruct,
[in] LPCTSTR szFile
);
パラメーター
[in] lpszSection
初期化ファイル内のセクションの名前。
[in] lpszKey
データを取得するキーの名前。
[out] lpStruct
ファイル、セクション、およびキー名に関連付けられているデータを受け取るバッファーへのポインター。
[in] uSizeStruct
lpStruct パラメーターが指すバッファーのサイズ (バイト単位)。
[in] szFile
初期化ファイルの名前。 このパラメーターにファイルへの完全なパスが含まれていない場合、システムは Windows ディレクトリ内のファイルを検索します。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。
注釈
初期化ファイルのセクションには、次の形式が必要です。
[section]
key=data
.
.
.
システムは、次のレジストリ キーで定義されているマッピングを使用して、ほとんどの .ini ファイル参照をレジストリにマップします:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping
このマッピングは、アプリケーションがシステム コンポーネントの初期化ファイル (Control.ini、System.ini、Winfile.ini など) を変更する場合に発生する可能性があります。 このような場合、関数は初期化ファイルからではなく、レジストリから情報を取得します。ストレージの場所の変更は、関数の動作には影響しません。
プロファイル関数では、次の手順を使用して初期化情報を検索します。
- 初期化ファイルの名前 (例: MyFile.ini) の [ IniFileMapping] の下にあるレジストリを探します。
- lpAppName で指定されたセクション名を探します。 これは、 myfile.iniの名前付き値であるか、 のサブキー myfile.iniするか、存在しません。
- lpAppName で指定されたセクション名が myfile.iniの名前付き値である場合、その値はレジストリ内のセクションのキーを検索する場所を指定します。
- lpAppName で指定されたセクション名が myfile.iniのサブキーである場合、そのサブキーの下の名前付き値は、レジストリ内のどこでセクションのキーを見つけるかを指定します。 探しているキーが名前付き値として存在しない場合は、キーを検索するレジストリ内の既定の場所を指定する名前のない値 (名前>なし)< が表示されます。
- lpAppName で指定されたセクション名が、名前付き値またはサブキーとして myfile.iniの下に存在しない場合は、セクションのキーを検索するレジストリ内の既定の場所を指定する名前のない値 (<名前>なし) が myfile.ini の下に表示されます。
- myfile.ini サブキーがない場合、またはセクション名のエントリが含まれていない場合は、ディスク上の実際の MyFile.ini を探してその内容を読み取ります。
- ! - この文字により、すべての書き込みがレジストリとディスク上の .ini ファイルの両方に強制的に移動されます。
- # - この文字により、新しいユーザーがセットアップ後に初めてログインしたときに、レジストリ値が Windows 3.1 .ini ファイルの値に設定されます。
- @ - この文字は、要求されたデータがレジストリに見つからない場合、ディスク上の .ini ファイルに読み取りが行われるのを防ぎます。
- USR: - このプレフィックスは HKEY_CURRENT_USERを表し、プレフィックスの後のテキストはそのキーを基準にしています。
- SYS: - このプレフィックスは HKEY_LOCAL_MACHINE\SOFTWAREを表し、プレフィックスの後のテキストはそのキーを基準にしています。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winbase.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |