处理 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,则必须传递整个双字值。