Реестр арқылы басқару Реестр арқылы басқару функциясы параметрлердің мəндерін қабылдай, орналастыра жəне де жаңа бөлімдерді, параметр-мəнді ала алады. Барлық бөлімшелер дікөр сету жəне жаңа сыналу үшін HKEY типті бөлімде скрипторы қолданылады. Мəндері нақты типті иемденеді; мүмкін типтердің бірнеше түрі бар, мысалы қатарлар, екілік сөздер (DWORD) жəне параметрлері айнымалы ортамен алмастырылатын кеңейтілетін қатар.
Бөлімдерді басқару RegOpenKeyEx функциясы бөлімшелерді ашады. Стандарты резервтелген бөлімдердің біреуінен басталып, барлық реестрді айналып шығуға болады жəнеде кез келген керек бөлімше дескрипторын алуға болады.
LONG RegOpenKeyEx { HKEY hKey, LPCTSTR lpSubKey, DWORDulOptions, REGSAM samDesired, PHKEY phkResult)
Параметрлер
hKey берілген уақыттағы ашық бөлімнің дескрипторын немесе стандарты резервтелген бөлімнің біреуін идентификациялайды;
phkResultHKEY типті айнымалыны көрсетеді, ол ашық бөлімнің дескрипторын қабылдайды.
lpSubKey - бөлімше аты. Ол жолды сақтайды, мыс: Microsoft\WindowsNT\CurrentVersion. мəні жаңа hKey дубликат бөлімнің ашуын шақырады. ulOptions мəні нөлге тең болу керек.
samDesired — жаңа бөлімнің қауіпсіздік атрибутын сипаттайтын қатынас маскасы. Мүмкін болатын мəндері — KEY_ALL_ACCESS, KEY_WRITE,KEY_QUERY_VALUE ЖƏНЕ KEY_ENUMERATE_SUBKEYS.
Əдетте қайтарылатын мəн - ERROR_SUCCESS. Кезкелген басқа мəн қатені көрсетеді. Ашық бөлімді жабу үшін RegCloseKey параметр функциясы қызмететеді. Бөлімшелер діңатыналу үшін RegEnumKeyEx функциясында бөлім дескрипторын көрсетіп кету керек .Бұданбасқа,параметрмəндіалуүшінарналғанфункцияларбар:
RegEnumValue жəне RegQueryValueEx. RegSetValueEx функция сытиптелген мəндерді ашық бөлім мəндер аймағында жазады.
RegEnumKeyEx – ашық бөлім реестрінің бөлімшелерін, каталог құрамыншығаратын FirstFile жəне FindNextFile сияқты шығарады. Бұл функция бөлімнің атын береді, жол класын жəне соңғы өзгерту уақытын береді.
LONG RegEnumKeyEx ( HKEY hKey, DWORD dwIndex,
LPTSTR lpMame, LPDWORD lpcbName, LPDWORD lpReserved,
LPTSTR lpClass, LPDWORD lpcbClass,
PFILETIME lpftLastWriteTime)
dwIndex параметрі алғашқы шақыруында нөлге тең болу керек., ал келесі шақыруларында 1-ге сіптұру керек. Бөлім аты жəне өлшемі, класс қатары жəне өлшемі қарапайымдіспен қайтарылады. Функция ERROR_SUCCESS-ті немесе қателік мəнін қайтарады. Бұдан басқа жаңа бөлімдер құруға болады. Ол үшін RegCreateKeyExфункциясы арналған. Бөлімдерге каталог жəне файлдардағы дай қауіпсздік атрибутын мекшіктеуге болады.
LONG RegCreateKeyEx ( HKEY hKey, LPCTSTR lpSubKey,DWORD Reserved, LPTSTR lpClass, DWORD dwOptions,R EG S AMsamDesired,
LPSECURITY_ATTRIBUTESlpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition)
Параметрлер:
lpSubKey — hKey дескрипторымен сипатталғанашықбөлімдегі жаңа бөлімшенің аты.
lpClass — өзі ұсынатын мағлұматтарды сипатайтын бөлімнің классы немесе тип объектісі. Жеке жағдайдағы мүмкін мəндері REG_SZ(нөлмен бітетін қатар) жəне REG_DWORD (екіліксөз).
dwOptions — нөл немесе өзара ерекшеленетінмəн: REG_OPTION_VOLATILE немесе REG_OPTION_NON_VOLATILE.
Тұрақты (non-volatile) реестр ақпараты файлда сақаталады жəне жүйені қайта бастак кезінде орнатылады. Тұрақты емес бөлімдер жадыда сақталады жəне қайта орнатылмайды.
samDesired — RegOpenKeyEx сияқты .
lpSecurityAttributes мəн іниеленуі мүмкін немесе қауіпсіздік атрибутын көрсетеді. Мүмкін болатын қатынау құқықтары samDesired үшін көрсетілген мəннен таңдалады .
lpdwDisposition DWORD мəніне көрсетеді, мəннің ертерек бар болғандығын REG_OPENED_EXISTING_KEY) немесе ол қайтақұрылған (REG_CREATED_NEW_KEY). Бөлімді өшіру үшін RegDeleteKey функциясы қызмететеді. Оныңек параметрі бар — ашық бөлімді дескриптор жəне бөлімше аты.Өлшемдермен басқару Көрсетілген ашық бөлімнің өлшемдерін
RegEnumValue функциясының көмегімен шығаруға болады . Өлшем индексін көрсетіп кету керек: алғашқы шақыруда – 0, келесілерде 1-ге өсіріп тұрамыз. Функция өлшем атымен оның ұзындығын шығарады. Оған қоса өлшем мəні жəне типі қайтарылады. LONG RegEnumValue ( HKEY hKey, DWORD dwIndex,
LPTSTR lpValueName, LPDWORD lpcbValueName,
LPDWORD lpReserved, LPDWORD lpType,
LPBYTE lpData, LPDWORD lpcbData)
Өлшемнің ағындағы мəні lpData-ға көрсететін буферге қайтарылады. Нəтиже өлшемін lpcbData-даналуға болады. lpType көрсететін мағлұматтар типі REG_BINARY, REG_DWORD,REG_SZ (қатар) жəне REG_EXPAND_SZ-пен (өлшемдер мен кеңейтілген қатар,айнымалы ортамен ауыстырылады) қоса көптеген мəндерге ие болаалады. Барлық типтердің тізімін енгізілген анықтамадан алуға болады. Функцияның қайтарылатын міні өлшемнің барлығының шығарылғанын білуге көрсетеді. Егер дұрыс өлшем табыса, онда мəн ERROR_SUCCESS-КЕтең.
RegQueryValueEx функциясы жоғарыда көрсетілгендей, тек мұнда индекс емес параметр аты көрсетіледі. Егер өлшем аты белгілі болса, осы функцияны қолдануға болады, кері жағдайда бөлімді RegEnumValueEx арқылы қарастырамыз.
Ашық бөлімде өлшем атын орналастыру үшін RegSetValueEx функциясы қолданылады. Мұнда өлшем атын, мəн типін жəне мəннің өзін көрсетеміз.
LONG RegSetValueEx ( HKEY hKey, LPCTSTR lpValueName,
DWORD Reserved, DWORD dwType, CONST BYTE *lpData,
CONST cbData)
RegDeleteValue функциясы өлшемді өшіру үшін қолданылады.