Операционные системы. Кручинин А.Ю. - 30 стр.

UptoLike

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

30
Функция RegCloseKey
LONG RegCloseKey(HKEY hKey);
Функция закрывает описатель раздела реестра.
Параметры:
hKey описатель открытого раздела, который подлежит закрытию.
Если описатель успешно освобожден, функция возвращает
ERROR_SUCCESS, в противном случае вернет ненулевой код ошибки,
определенный в Winerror.h
Пример использования описанных функций для получения информации о дате
BIOS представлен в листинге 12.
HKEY hKeyResult = 0;
DWORD dwType;
DWORD dwBytes=256;
char buf[256];
LONG lResult = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
"HARDWARE\\DESCRIPTION\\System" ,0, KEY_ALL_ACCESS, &hKeyResult );
lResult=RegQueryValueEx( hKeyResult, "SystemBiosDate", 0, &dwType,(BYTE*)buf, &dwBytes );
RegCloseKey(hKeyResult);
Листинг 12 Получение информации из ключа реестра
При типе «несколько строк» в буфер buf возвращается массив строк, конец
которого определяется двумя нулевыми символами.
Информацию о памяти и еѐ текущем состоянии можно получить с помощью
функции (winbase.h):
Функция GlobalMemoryStatus
void GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer);
После вызова функции информацией о состоянии памяти заполняется
структура MEMORYSTATUS.
Структура MEMORYSTATUS
typedef struct _MEMORYSTATUS
{
DWORD dwLength; // размер структуры
DWORD dwMemoryLoad; // процент занятой памяти (0-100)
SIZE_T dwTotalPhys; // объѐм физической памяти в байтах
SIZE_T dwAvailPhys; // свободный объѐм физической памяти в байтах
SIZE_T dwTotalPageFile; // объѐм в байтах файла подкачки
      Функция RegCloseKey

LONG RegCloseKey(HKEY hKey);

     Функция закрывает описатель раздела реестра.
     Параметры:
hKey – описатель открытого раздела, который подлежит закрытию.
     Если     описатель     успешно      освобожден,    функция возвращает
ERROR_SUCCESS, в противном случае вернет ненулевой код ошибки,
определенный в Winerror.h

     Пример использования описанных функций для получения информации о дате
BIOS представлен в листинге 12.

HKEY hKeyResult = 0;
DWORD dwType;
DWORD dwBytes=256;
char buf[256];

LONG lResult = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
"HARDWARE\\DESCRIPTION\\System" ,0, KEY_ALL_ACCESS, &hKeyResult );

lResult=RegQueryValueEx( hKeyResult, "SystemBiosDate", 0, &dwType,(BYTE*)buf, &dwBytes );

RegCloseKey(hKeyResult);
                Листинг 12 – Получение информации из ключа реестра

     При типе «несколько строк» в буфер buf возвращается массив строк, конец
которого определяется двумя нулевыми символами.
     Информацию о памяти и еѐ текущем состоянии можно получить с помощью
функции (winbase.h):

      Функция GlobalMemoryStatus

void GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer);

     После вызова функции информацией о состоянии памяти заполняется
структура MEMORYSTATUS.

      Структура MEMORYSTATUS

typedef struct _MEMORYSTATUS
{
       DWORD dwLength;         // размер структуры
       DWORD dwMemoryLoad; // процент занятой памяти (0-100)
       SIZE_T dwTotalPhys;     // объѐм физической памяти в байтах
       SIZE_T dwAvailPhys;     // свободный объѐм физической памяти в байтах
       SIZE_T dwTotalPageFile; // объѐм в байтах файла подкачки

                                                                                            30