Поделиться через


Функция SHRegGetUSValueA (shlwapi.h)

Извлекает значение из подраздела реестра в пользовательском поддереве (HKEY_CURRENT_USER или HKEY_LOCAL_MACHINE).

Синтаксис

LSTATUS SHRegGetUSValueA(
  [in]                LPCSTR pszSubKey,
  [in, optional]      LPCSTR pszValue,
  [in, out, optional] DWORD  *pdwType,
  [out, optional]     void   *pvData,
  [in, out, optional] DWORD  *pcbData,
  [in]                BOOL   fIgnoreHKCU,
  [in, optional]      void   *pvDefaultData,
  [in]                DWORD  dwDefaultDataSize
);

Параметры

[in] pszSubKey

Тип: LPCTSTR

Указатель на строку, завершаемую null, с именем подраздела относительно HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER. Например: "Software\MyCompany\MyProduct".

[in, optional] pszValue

Тип: LPCTSTR

Указатель на строку, завершаемую null, с именем значения. Это значение может иметь значение NULL.

[in, out, optional] pdwType

Тип: DWORD*

Указатель на DWORD , который получает тип данных, хранящихся в полученном значении. При использовании значений по умолчанию входной pdwType является типом значения по умолчанию. Возможные значения см. в разделе Типы данных реестра. Если сведения о типе не требуются, этот параметр может иметь значение NULL.

[out, optional] pvData

Тип: void*

Указатель на буфер, который получает данные значения.

[in, out, optional] pcbData

Тип: DWORD*

Указатель на переменную, указывающую размер (в байтах) буфера, на который указывает pvData. Когда функция SHRegGetUSValue возвращает значение , pcbData содержит размер данных, скопированных в pvData.

[in] fIgnoreHKCU

Тип: BOOL

Переменная, указывающая, какой ключ следует просмотреть. Если задано значение TRUE, SHRegGetUSValue игнорирует HKEY_CURRENT_USER и возвращает значение из ключа в HKEY_LOCAL_MACHINE.

[in, optional] pvDefaultData

Тип: void*

Указатель на буфер, который получает данные значения по умолчанию.

[in] dwDefaultDataSize

Тип: DWORD

Длина (в байтах) буфера, на который указывает pvDefaultData.

Возвращаемое значение

Тип: LSTATUS

Возвращает ERROR_SUCCESS в случае успешного выполнения, или ненулевой код ошибки, определенный в Winerror.h, в противном случае. Чтобы получить общее описание ошибки, можно использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM.

Комментарии

Если параметр fIgnoreHKCU имеет значение TRUE, функция SHRegGetUSValue возвращает значение из ключа в HKEY_LOCAL_MACHINE. Если задано значение FALSE, SHRegGetUSValue сначала пытается вернуть значение из ключа в HKEY_CURRENT_USER. Однако если ключ не найден в HKEY_CURRENT_USER, значение возвращается из ключа в HKEY_LOCAL_MACHINE. Если ни тот или иный ключ отсутствует или произошла ошибка и dwDefaultDataSize не равно нулю, данные по умолчанию копируются в pvData и ERROR_SUCCESS возвращается. ERROR_SUCCESS возвращает данные по умолчанию и не по умолчанию, и невозможно определить, какое значение копирует в pvData. Чтобы предотвратить использование данных по умолчанию, задайте для параметра pvDefaultDataзначение NULL , а для dwDefaultDataSize — нулевое значение.

Эта функция открывает ключ каждый раз при его использовании. Если код включает в себя получение ряда значений из одного ключа, эффективнее открыть ключ один раз с помощью SHRegOpenUSKey , а затем использовать SHRegQueryUSValue для получения данных.

Примечание

Заголовок shlwapi.h определяет SHRegGetUSValue в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shlwapi.h
Библиотека Shlwapi.lib
DLL Shlwapi.dll (версия 4.71 или более поздняя)