Compartilhar via


Tratamento de erros de MCI

[O recurso associado a esta página, MCI, é um recurso herdado. Foi substituído pelo MediaPlayer. O MediaPlayer foi otimizado para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer em vez de MCI, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Você sempre deve marcar o valor retornado da função mciSendCommand. Se indicar um erro, você poderá usar mciGetErrorString para obter uma descrição textual do erro.

O exemplo a seguir passa o código de erro MCI especificado por dwError para mciGetErrorString e exibe a descrição de erro textual resultante usando a função 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);
    }
}
 

Observação

Para interpretar um valor retornado de erro mciSendCommand por conta própria, mascara a palavra de alta ordem (a palavra de baixa ordem contém o código de erro). No entanto, se você passar o valor de retorno de erro para mciGetErrorString, deverá passar todo o valor de palavra dupla.