处理 MCI 错误

[与此页面关联的功能 MCI 是旧版功能。 它已被 MediaPlayer 取代。 MediaPlayer 已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer 而不是 MCI。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

应始终检查 mciSendCommand 函数的返回值。 如果它指示错误,则可以使用 mciGetErrorString 获取错误的文本说明。

以下示例将 dwError 指定的 MCI 错误代码传递给 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,则必须传递整个双字值。