Операционные системы. Марапулец Ю.В. - 32 стр.

UptoLike

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

void CReg_OpsDlg::ReportError( long lError )
{
#ifdef _DEBUG
LPVOID lpMsgBuf;
FormatMessage ( FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM, NULL,
lError, MAKELANGID(LANG_NEUTRAL,
SUBLANG_DEFAULT), // язык, заданный по умолчанию
(LPTSTR) SipMsgBuf, 0, NULL ) ;
MessageBox( (char *)lpMsgBuf );
LocalFree( lpMsgBuf ) ;
#endif
}
Если вместо аргумента lError указать функцию GetLastError, то
представленную выше подпрограмму можно будет использовать для
интерпретации других ошибок, для которых код ошибки не был явно возвращен.
Функцию ReportError не рекомендуется включать в окончательную
версию приложения. Возвращаемые ею сообщения об ошибках не несут
полезной для пользователей информации, так как предназначены для
программистов - помогают им при отладке программы. Поэтому в
подпрограмме содержится конструкция #ifdef _DEBUG
/ #endif.
6. Запустить программу
Reg_Ops. Диалоговое окно программы,
содержащее поле со списком и набор кнопок состояния, представлено на
рисунке 3.1. Программа позволяет выбрать одно из имен, содержащихся в
списке (при этом будет запрошен пароль), либо ввести новое имя в поле,
назначить статус и задать пароль для данной записи. Введенное имя будет
присвоено новому подразделу реестра, а код состояния и пароль станут
именованными параметрами этого подраздела.
Рис.3.1 Окно программы Reg_Ops, демонстрирующей принципы
выполнения операций с реестром
Разобраться, какие действия выполняются каждой из кнопок состояния
(за исключением кнопки Computer Dweeb). Использование кнопки System
Guru (системный гуру) подразумевает, что пользователь обладает
32
void CReg_OpsDlg::ReportError( long lError )
{
#ifdef _DEBUG
       LPVOID lpMsgBuf;
       FormatMessage ( FORMAT_MESSAGE_ALLOCATE_BUFFER |
                        FORMAT_MESSAGE_FROM_SYSTEM, NULL,
                        lError, MAKELANGID(LANG_NEUTRAL,
                        SUBLANG_DEFAULT), // язык, заданный по умолчанию
                        (LPTSTR) SipMsgBuf, 0, NULL ) ;
       MessageBox( (char *)lpMsgBuf );
       LocalFree( lpMsgBuf ) ;
#endif
}
       Если вместо аргумента lError указать функцию GetLastError, то
представленную выше подпрограмму можно будет использовать для
интерпретации других ошибок, для которых код ошибки не был явно возвращен.
       Функцию ReportError не рекомендуется включать в окончательную
версию приложения. Возвращаемые ею сообщения об ошибках не несут
полезной для пользователей информации, так как предназначены для
программистов - помогают им при отладке программы. Поэтому в
подпрограмме содержится конструкция #ifdef _DEBUG / #endif.
       6. Запустить программу Reg_Ops. Диалоговое окно программы,
содержащее поле со списком и набор кнопок состояния, представлено на
рисунке 3.1. Программа позволяет выбрать одно из имен, содержащихся в
списке (при этом будет запрошен пароль), либо ввести новое имя в поле,
назначить статус и задать пароль для данной записи. Введенное имя будет
присвоено новому подразделу реестра, а код состояния и пароль станут
именованными параметрами этого подраздела.




     Рис.3.1    Окно программы Reg_Ops, демонстрирующей        принципы
               выполнения операций с реестром

      Разобраться, какие действия выполняются каждой из кнопок состояния
(за исключением кнопки Computer Dweeb). Использование кнопки System
Guru (системный гуру) подразумевает, что пользователь обладает
                                   32