Составители:
RegCreateKey( m_hRegKey, szBuff, ShKeyItem );
Так как заранее известно, что этот раздел существует (об этом
свидетельствует результат выполнения функции RegEnumKey), функция
RegCreateKey просто открывает раздел и возвращает его дескриптор, который
может использоваться в запросах для определения значений параметров,
содержащихся в открытом разделе.
ulSize = sizeof( m_dwNameStatus );
lResult = RegQueryValueEx ( hKeyltem, "Status", NULL,
&ulType, (LPBYTE) &m_dwNameStatus, &ulSize );
Указанная выше функция RegQueryValueEx запрашивает значение,
содержащееся в именованном параметре Status. Вместе с этим значением
переменная-член ulType возвращает также идентификатор соответствующего
типа данных в виде длинного целого без знака. Информация о размере данных
будет получена посредством переменной-члена ulSize. Независимо от того, что
собой представляют запрашиваемые данные - значение типа DWORD,
строковое значение, двоичный массив или данные любого другого типа, адрес
получающей их переменной всегда преобразуется в формат указателя на байт.
Затем, чтобы убедиться в корректности выполнения функции, произвести
проверку значения lResult. В случае некорректного ее завершения на экране
появляется сообщение об ошибке.
if( lResult != ERROR_SUCCESS ) ReportError( lResult );
К этому моменту уже получен из подраздела код состояния, а также имя
самого подраздела. Прежде чем цикл будет продолжен для следующего
подраздела, эти значения необходимо задействовать путем размещения их
соответственно в качестве строкового элемента списка ComboListbox и индекса
данного элемента.
nIndex = m_cbNamesList.AddString( m_csNameEntry );
m_cbNamesList.SetItemData( nIndex, m dwNameStatus );
}
Затем цикл будет выполнен для всех остальных подразделов.
}
while( lResult != ERROR_NO_MORE_ITEMS );
return TRUE;
}
29
RegCreateKey( m_hRegKey, szBuff, ShKeyItem ); Так как заранее известно, что этот раздел существует (об этом свидетельствует результат выполнения функции RegEnumKey), функция RegCreateKey просто открывает раздел и возвращает его дескриптор, который может использоваться в запросах для определения значений параметров, содержащихся в открытом разделе. ulSize = sizeof( m_dwNameStatus ); lResult = RegQueryValueEx ( hKeyltem, "Status", NULL, &ulType, (LPBYTE) &m_dwNameStatus, &ulSize ); Указанная выше функция RegQueryValueEx запрашивает значение, содержащееся в именованном параметре Status. Вместе с этим значением переменная-член ulType возвращает также идентификатор соответствующего типа данных в виде длинного целого без знака. Информация о размере данных будет получена посредством переменной-члена ulSize. Независимо от того, что собой представляют запрашиваемые данные - значение типа DWORD, строковое значение, двоичный массив или данные любого другого типа, адрес получающей их переменной всегда преобразуется в формат указателя на байт. Затем, чтобы убедиться в корректности выполнения функции, произвести проверку значения lResult. В случае некорректного ее завершения на экране появляется сообщение об ошибке. if( lResult != ERROR_SUCCESS ) ReportError( lResult ); К этому моменту уже получен из подраздела код состояния, а также имя самого подраздела. Прежде чем цикл будет продолжен для следующего подраздела, эти значения необходимо задействовать путем размещения их соответственно в качестве строкового элемента списка ComboListbox и индекса данного элемента. nIndex = m_cbNamesList.AddString( m_csNameEntry ); m_cbNamesList.SetItemData( nIndex, m dwNameStatus ); } Затем цикл будет выполнен для всех остальных подразделов. } while( lResult != ERROR_NO_MORE_ITEMS ); return TRUE; } 29
Страницы
- « первая
- ‹ предыдущая
- …
- 27
- 28
- 29
- 30
- 31
- …
- следующая ›
- последняя »