Составители:
dwName = sizeof( szBuff );
do
{
lResult = RegEnumKey( m_hRegKey, --dwIndex, (LPTSTR)szBuff, dwName );
Так как нумерация подразделов начинается с нуля, значение переменной
dwIndex перед его использованием следует декрементировать, т.е. необходимо
запросить пять подразделов с индексами 4, 3, 2, 1 и 0.
Посредством функции RegEnumKey можно осуществить циклический
запрос имен подразделов. Каждый раз при вызове функции RegEnumKey со
следующим значением номера dwIndex в переменной lpName возвращается имя
другой подстроки. Когда список подстрок заканчивается, функция
RegEnumKey выдает код ошибки ERROR_NO_MORE_ITEMS,
свидетельствующей о том, что подразделов больше нет.
Порядок, в котором эти элементы возвращаются, не имеет значения. До
тех пор пока не задан индекс, для которого подраздела с данным номером нет,
функция будет возвращать значение ERROR_SUCCESS,
а в массиве lpName
будет храниться имя соответствующего подраздела. При получении любого
результирующего значения, кроме ERROR_SUCCESS
и
ERROR_NO_MORE_ITEMS,
должно выводиться сообщение об ошибке.
if(lResult != ERROR_SUCCESS && lResult !=
ERROR_NO_MORE_ITEMS )
ReportError ( lResult );
else
if( lResult == ERROR_SUCCESS )
{
HKEY hKeyItem;
ULONG ulSize, ulType;
int nIndex;
m_csNameEntry = szBuff;
Если был получен результат ERROR_SUCCESS,
строку из переменной
szBuff необходимо передать в переменную m_csNameEntry, являющуюся
членом класса CString. Переменная szBuff сразу же будет использоваться
повторно, но содержащееся в ней значение не должно потеряться.
Далее снова вызвать функцию RegCreateKey. На этот раз для
идентификации открываемого подраздела используется дескриптор корневого
раздела m_hRegKey и строковое значение, которое содержится в переменной
szBuff. В результате получен дескриптор hKeyItem, идентифицирующий
открытый подраздел.
28
dwName = sizeof( szBuff ); do { lResult = RegEnumKey( m_hRegKey, --dwIndex, (LPTSTR)szBuff, dwName ); Так как нумерация подразделов начинается с нуля, значение переменной dwIndex перед его использованием следует декрементировать, т.е. необходимо запросить пять подразделов с индексами 4, 3, 2, 1 и 0. Посредством функции RegEnumKey можно осуществить циклический запрос имен подразделов. Каждый раз при вызове функции RegEnumKey со следующим значением номера dwIndex в переменной lpName возвращается имя другой подстроки. Когда список подстрок заканчивается, функция RegEnumKey выдает код ошибки ERROR_NO_MORE_ITEMS, свидетельствующей о том, что подразделов больше нет. Порядок, в котором эти элементы возвращаются, не имеет значения. До тех пор пока не задан индекс, для которого подраздела с данным номером нет, функция будет возвращать значение ERROR_SUCCESS, а в массиве lpName будет храниться имя соответствующего подраздела. При получении любого результирующего значения, кроме ERROR_SUCCESS и ERROR_NO_MORE_ITEMS, должно выводиться сообщение об ошибке. if(lResult != ERROR_SUCCESS && lResult != ERROR_NO_MORE_ITEMS ) ReportError ( lResult ); else if( lResult == ERROR_SUCCESS ) { HKEY hKeyItem; ULONG ulSize, ulType; int nIndex; m_csNameEntry = szBuff; Если был получен результат ERROR_SUCCESS, строку из переменной szBuff необходимо передать в переменную m_csNameEntry, являющуюся членом класса CString. Переменная szBuff сразу же будет использоваться повторно, но содержащееся в ней значение не должно потеряться. Далее снова вызвать функцию RegCreateKey. На этот раз для идентификации открываемого подраздела используется дескриптор корневого раздела m_hRegKey и строковое значение, которое содержится в переменной szBuff. В результате получен дескриптор hKeyItem, идентифицирующий открытый подраздел. 28
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »