Windows - статьи




Программирование для системного реестра на С++ - часть 8


} else cout<<"Value is empty"<<endl; } else cerr<<"Error in query"<<endl; } else cerr<<"Error in open"<<endl;

Следующие две функции: RegEnumKeyEx и RegEnumValue используются для перечисления всех подразделов и параметров, указанного описателем раздела.

LONG RegEnumKeyEx(HKEY hKey, DWORD dwIndex, LPTSTR lpName, LPDWORD lpcName, LPDWORD lpReserved, LPTSTR lpClass, LPDWORD lpcClass, PFILETIME lpftLastWriteTime)

Функция перечисляет подразделы раздела, определяемого описателем.

  • hKey Описатель открытого раздела. Раздел должен быть открыт с правами KEY_ENUMERATE_SUB_KEYS.
  • dwIndex Индекс подраздела. При первом вызове этот параметр должен быть равен нулю, а затем увеличиваться, для получения всех подразделов раздела.
  • lpName Указатель на буфер, принимающий название подраздела.
  • lpcName Указатель на переменную, которая определяет размер буфера, определенного параметром lpName, в TCHAR. Когда функция возвратит значение, переменная, на которую указывает указатель будет содержать кол-во символов, сохраненных в буфере, не включая нулевой символ.
  • lpReserved Зарезервировано - NULL.
  • lpClass Указатель на буфер, который получает класс строки с нулевым символом. Может быть - NULL.
  • lpcClass Указатель на переменную, которая определяет размер буфера, определенного параметром lpClass, в TCHAR. Размер должен включать нулевой символ. После выполнения этот параметр содержит кол-во символов, сохраненных в буфере. Кол-во не включает нулевой байт.
  • lpftLastWriteTime Указатель на переменную, которая получает время последней модификации раздела. Может быть - NULL.

    Если функция выполнена успешно, то возвращается - ERROR_SUCCESS. В противном случае возвращается системный код ошибки, определенный в WinError.h. Приложение, вызывающее эту функцию должно увеличивать параметр dwIndex и вызывать функцию, пока она не возвратит значение - ERROR_NO_MORE_ITEMS.

    LONG RegEnumValue(HKEY hKey, DWORD dwIndex, LPTSTR lpValueName, LPDWORD lpcValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData)




    Содержание  Назад  Вперед