Основы программирования в Win32API. Марапулец Ю.В. - 77 стр.

UptoLike

Составители: 

Функция RegQueryValueEx(), производящая чтение информации из разде-
ла реестра, определяется следующим образом:
LONG RegQueryValueEx(HKEY hKey, //дескриптор раздела для чтения
LPCTSTR lpValueName, // адрес имени параметра
DWORD lpReserved, // зарезервирован
DWORD lpType, //тип данных
BYTE lpData, // значение параметра
DWORD lpcbData, // размер значения параметра);…
Функция RegSetValueEx(), записывающая информацию в реестр, опреде-
ляется следующим образом:
LONG RegSetValueEx (HKEY hKey, //дескриптор раздела для записи
LPCTSTR lpValueName, // адрес имени параметра
DWORD lpReserved, // зарезервирован
DWORD dwType, // флаг типа параметра
CONST BYTE * lpData, // адрес значения параметра
DWORD cbData, // размер значения параметра);…
Рассмотрим аргументы функций RegQueryValueEx() и RegSetValueEx():
hKey – идентифицирует текущий открытый раздел или один из следую-
щих предопределенных дескрипторов:
HKEY_CLASSES_ROOT,
HKEY_CURRENT_USER,
HKEY_LOCAL_MACHINE,
– HKEY_USERS;
lpValueName – указывает строку, содержащую имя записываемого параметра.
Если ранее данный параметр отсутствовал, то теперь он добавляется в текущий
раздел; если он имеет значение NULL
или указывает на пустую строку,
а переменная dwType имеет тип REG_SZ, то параметру lpValueName присваивает-
ся имя (default) (в Windows 3.х. с помощью функции RegSetValue);
lpReserved – зарезервирован, должен иметь значение NULL;
lpType – указывает на переменную, которая может иметь один из типов
данных, представленных в табл. 5.2;
dwType – идентифицирует тип записываемых данных. Все возможные
идентификаторы типов перечислены в табл. 5.2;
lpData – указывает на буфер, содержащий данные, которые должны быть
записаны. Этот параметр может иметь значение NULL, если данные не требу-
ются;
cbData – содержит размер (в байтах) буфера, заданный параметром lpData.
При использовании типов данных REG_SZ,
REG_EXPAND_SZ
и REG_MULTI_SZ
в параметре cbData нужно учитывать наличие завершающе-
го нулевого символа.
Размер буфера ограничивается доступной памятью. С целью повышения
быстродействия значения, размер которых превышает 2 Кб, должны записы-
77
     Функция RegQueryValueEx(), производящая чтение информации из разде-
ла реестра, определяется следующим образом:
LONG RegQueryValueEx(HKEY hKey,       //дескриптор раздела для чтения
   LPCTSTR lpValueName,    // адрес имени параметра
   DWORD lpReserved,       // зарезервирован
   DWORD lpType,           //тип данных
   BYTE lpData,             // значение параметра
   DWORD lpcbData,        // размер значения параметра);…
    Функция RegSetValueEx(), записывающая информацию в реестр, опреде-
ляется следующим образом:
LONG RegSetValueEx (HKEY hKey,        //дескриптор раздела для записи
   LPCTSTR lpValueName, // адрес имени параметра
   DWORD lpReserved,      // зарезервирован
   DWORD dwType,          // флаг типа параметра
   CONST BYTE * lpData, // адрес значения параметра
   DWORD cbData,       // размер значения параметра);…
     Рассмотрим аргументы функций RegQueryValueEx() и RegSetValueEx():
     hKey – идентифицирует текущий открытый раздел или один из следую-
щих предопределенных дескрипторов:
     – HKEY_CLASSES_ROOT,
     – HKEY_CURRENT_USER,
     – HKEY_LOCAL_MACHINE,
     – HKEY_USERS;
     lpValueName – указывает строку, содержащую имя записываемого параметра.
Если ранее данный параметр отсутствовал, то теперь он добавляется в текущий
раздел; если он имеет значение NULL или указывает на пустую строку,
а переменная dwType имеет тип REG_SZ, то параметру lpValueName присваивает-
ся имя (default) (в Windows 3.х. с помощью функции RegSetValue);
     lpReserved – зарезервирован, должен иметь значение NULL;
     lpType – указывает на переменную, которая может иметь один из типов
данных, представленных в табл. 5.2;
     dwType – идентифицирует тип записываемых данных. Все возможные
идентификаторы типов перечислены в табл. 5.2;
     lpData – указывает на буфер, содержащий данные, которые должны быть
записаны. Этот параметр может иметь значение NULL, если данные не требу-
ются;
     cbData – содержит размер (в байтах) буфера, заданный параметром lpData.
При     использовании       типов      данных   REG_SZ,     REG_EXPAND_SZ
и REG_MULTI_SZ в параметре cbData нужно учитывать наличие завершающе-
го нулевого символа.
     Размер буфера ограничивается доступной памятью. С целью повышения
быстродействия значения, размер которых превышает 2 Кб, должны записы-

                                    77