Обработка ошибок 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.