Функция WriteProfileStringW (winbase.h)
Копирует строку в указанный раздел файла Win.ini. Если Win.ini использует символы Юникода, функция записывает символы Юникода в файл. В противном случае функция записывает символы ANSI.
Синтаксис
BOOL WriteProfileStringW(
[in] LPCWSTR lpAppName,
[in] LPCWSTR lpKeyName,
[in] LPCWSTR lpString
);
Параметры
[in] lpAppName
Раздел, в который копируется строка. Если раздел не существует, он создается. Имя раздела не учитывает регистр; Строка может быть любой комбинацией прописных и строчных букв.
[in] lpKeyName
Ключ, связанный со строкой. Если ключ не существует в указанном разделе, он создается. Если этот параметр null, удаляется весь раздел, включая все записи в разделе.
[in] lpString
Строка null-terminated, которая записывается в файл. Если этот параметр значение NULL, ключ, указывающий на параметр lpKeyName, удаляется.
Возвращаемое значение
Если функция успешно копирует строку в файл Win.ini, возвращаемое значение ненулевое.
Если функция завершается ошибкой или если она очищает кэшированную версию Win.ini, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
Раздел в файле Win.ini должен иметь следующую форму: ключ=строка.
Система сохраняет кэшированную версию последнего сопоставления файлов реестра для повышения производительности. Если все параметры NULL, функция очищает кэш. Хотя система редактирует кэшированную версию файла, процессы, изменяющие сам файл, будут использовать исходный файл до очистки кэша.
Система сопоставляет большинство .ini ссылок на файл реестра, используя сопоставление, определенное в следующем разделе реестра:
HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion IniFileMapping
При сопоставлении операции функция WriteProfileString записывает сведения в реестр, а не в файл инициализации; Изменение расположения хранилища не влияет на поведение функции.
Функции профиля используют следующие действия для поиска сведений о инициализации:
- Найдите в реестре имя файла инициализации в
ключа IniFileMapping. - Найдите имя раздела, указанное lpAppName. Это будет именованное значение под ключом, которое имеет имя файла инициализации, или подраздел с этим именем, или имя не будет существовать как значение или вложенный ключ.
- Если имя раздела, указанное lpAppName является именованным значением, то это значение указывает, где в реестре будут находиться ключи для раздела.
- Если имя раздела, указанное lpAppName является вложенным ключом, то именованные значения в этом подразделе указывают, где в реестре будут находиться ключи для раздела. Если ключ, который вы ищете, не существует в качестве именованного значения, то будет неименованное значение (показано как <No Name>), указывающее расположение по умолчанию в реестре, где будет находиться ключ.
- Если имя раздела, указанное lpAppName, не существует в качестве именованного значения или в качестве подраздела, то будет неименованное значение (показано как <no Name>), указывающее расположение по умолчанию в реестре, где будут находиться ключи раздела.
- Если для имени раздела нет подраздела или записи, найдите фактический файл инициализации на диске и считывает его содержимое.
- ! — этот символ заставляет все записи переходить как в реестр, так и в файл .ini на диске.
- # — этот символ приводит к тому, что значение реестра должно быть задано в файле Windows 3.1 .ini при первом входе пользователя в систему.
- @ — этот символ запрещает чтение в файл .ini на диске, если запрошенные данные не найдены в реестре.
- USR: — этот префикс обозначает HKEY_CURRENT_USER, а текст после префикса относительно этого ключа.
- SYS: — этот префикс обозначает HKEY_LOCAL_MACHINE\SOFTWAREи текст после префикса относительно этого ключа.
Заметка
Заголовок winbase.h определяет WriteProfileString как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winbase.h (включая Windows.h) |
библиотеки |
Kernel32.lib |
DLL | Kernel32.dll |