Составители:
dwRet = mciSendCommand( mciDevice, MCI_SAVE, MCI_SAVE_FILE |
MCI_WAIT, (DWORD)(LPVOID) &mciSaveParms ) ;
if( dwRet != 0 )
{
ReportMCIError( hWnd, dwRet ) ;
return( FALSE ) ;
}
return ( TRUE ); //успешное завершение
}
Обработка ошибок. Последняя функция в модуле MCI осуществляет
обработку ошибок, возникших при выполнении предыдущих функций. Она
отображает окно сообщения, в котором содержится информация о том, что
случилось.
Процедура обработки ошибок использует две строки. Первая из них
представляет собой название программы, которое будет отображаться в
заголовке окна. Эта строка загружается из ресурса строковой таблицы. Вторая -
это сообщение об ошибке, получаемое непосредственно от MCI. Функция
mciSendCommand возвращает код ошибки, который программа ShowWave
записывает в переменную dwRet. Если результирующее значение не равно 0,
значит, произошла ошибка, и программа ShowWave вызывает функцию
ReportMCIError. Функция mciGetErrorString возвращает строку,
соответствующую коду ошибки, который содержится в переменной dwRet.
В файле Mmsystem.H определено приблизительно 90 кодов различных
ошибок. Некоторые из них, например MCIERR_INVALID_DEVICE_ID,
могут
произойти в любой момент; другие, такие как
MCIERR_CANNOT_LOAD_DRIVER,
возникают только при выполнении
определенных команд (в данном случае команды Open). Некоторые ошибки
характерны только для определенных устройств. В частности, ошибка
MCIERR_WAVES_OUTPUTSINUSE
свидетельствует о том, что все
аудиоустройства в настоящий момент заняты.
/*-------------------------------------
REPORT MCI ERROR
Сообщить пользователю о возникшей MCI-ошибке
---------------------------------------------------------------*/
static void ReportMClError( HWND hWnd, DWORD dwError )
{
HINSTANCE hInstance;
char szErrStr[MAXERRORLENGTH];
char szCaption[MAX_RSRC_STRING_LEN];
hInstance = GetWindowInstance( hWnd );
LoadString( hInstance, IDS_CAPTION, szCaption, sizeof(szCaption) );
mciGetErrorString( dwError, szErrStr, sizeof(szErrStr) );
76
dwRet = mciSendCommand( mciDevice, MCI_SAVE, MCI_SAVE_FILE | MCI_WAIT, (DWORD)(LPVOID) &mciSaveParms ) ; if( dwRet != 0 ) { ReportMCIError( hWnd, dwRet ) ; return( FALSE ) ; } return ( TRUE ); //успешное завершение } Обработка ошибок. Последняя функция в модуле MCI осуществляет обработку ошибок, возникших при выполнении предыдущих функций. Она отображает окно сообщения, в котором содержится информация о том, что случилось. Процедура обработки ошибок использует две строки. Первая из них представляет собой название программы, которое будет отображаться в заголовке окна. Эта строка загружается из ресурса строковой таблицы. Вторая - это сообщение об ошибке, получаемое непосредственно от MCI. Функция mciSendCommand возвращает код ошибки, который программа ShowWave записывает в переменную dwRet. Если результирующее значение не равно 0, значит, произошла ошибка, и программа ShowWave вызывает функцию ReportMCIError. Функция mciGetErrorString возвращает строку, соответствующую коду ошибки, который содержится в переменной dwRet. В файле Mmsystem.H определено приблизительно 90 кодов различных ошибок. Некоторые из них, например MCIERR_INVALID_DEVICE_ID, могут произойти в любой момент; другие, такие как MCIERR_CANNOT_LOAD_DRIVER, возникают только при выполнении определенных команд (в данном случае команды Open). Некоторые ошибки характерны только для определенных устройств. В частности, ошибка MCIERR_WAVES_OUTPUTSINUSE свидетельствует о том, что все аудиоустройства в настоящий момент заняты. /*------------------------------------- REPORT MCI ERROR Сообщить пользователю о возникшей MCI-ошибке ---------------------------------------------------------------*/ static void ReportMClError( HWND hWnd, DWORD dwError ) { HINSTANCE hInstance; char szErrStr[MAXERRORLENGTH]; char szCaption[MAX_RSRC_STRING_LEN]; hInstance = GetWindowInstance( hWnd ); LoadString( hInstance, IDS_CAPTION, szCaption, sizeof(szCaption) ); mciGetErrorString( dwError, szErrStr, sizeof(szErrStr) ); 76
Страницы
- « первая
- ‹ предыдущая
- …
- 74
- 75
- 76
- 77
- 78
- …
- следующая ›
- последняя »