Обработка ошибок MCI
[Функция, связанная с этой страницей, MCI, является устаревшей функцией. Он был заменен MediaPlayer. MediaPlayer оптимизирован для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует по возможности использовать MediaPlayer вместо MCI. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Всегда следует проверка возвращаемое значение функции mciSendCommand. Если это указывает на ошибку, можно использовать mciGetErrorString для получения текстового описания ошибки.
В следующем примере код ошибки MCI, заданный dwError, передается в mciGetErrorString, а затем отображается итоговое текстовое описание ошибки с помощью функции MessageBox .
// Use mciGetErrorString to get a textual description of an MCI error.
// Display the error description using MessageBox.
void showError(DWORD dwError)
{
char szErrorBuf[MAXERRORLENGTH];
MessageBeep(MB_ICONEXCLAMATION);
if(mciGetErrorString(dwError, (LPSTR) szErrorBuf, MAXERRORLENGTH))
{
MessageBox(hMainWnd, szErrorBuf, "MCI Error",
MB_ICONEXCLAMATION);
}
else
{
MessageBox(hMainWnd, "Unknown Error", "MCI Error",
MB_ICONEXCLAMATION);
}
}
Примечание
Чтобы самостоятельно интерпретировать возвращаемое значение ошибки mciSendCommand , маскируйте слово высокого порядка (слово низкого порядка содержит код ошибки). Однако при передаче возвращаемого значения ошибки в mciGetErrorString необходимо передать все значение doubleword.