本文主要是介绍查询directshow错误句柄的字符串形式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2010-4
directdraw的错误返回值只有需要,需要查资料才知道什么意思,所以
错误例子
#define DDERR_INVALIDDIRECTDRAWGUID MAKE_DDHRESULT( 561 )
#define _FACDD 0x876
#define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code )
= 0X88760231 = 2289435185
HRESULT ddrval = m_lpdd->GetCaps(&ddcaps, &helcaps);
if (FAILED(ddrval))
只能
CUtil::Instance()->DbgFilePrintf(L"Client",_T("Player: GetCaps Failed.error=%X"),ddrval);
ShowError(ddrval);
不能使用
//error=%s"),strerror(GetLastError())
CUtil::Instance()->DbgFilePrintf(L"Client",L"Player: GetCaps fail! error=%s",_tcserror(GetLastError()));
错误字符串保存在Quartz库
#pragma comment(lib,"Quartz.lib")//,
void ShowError(HRESULT hr)
{if (FAILED(hr)){TCHAR szErr[MAX_ERROR_TEXT_LEN];DWORD res = AMGetErrorText(hr, szErr, MAX_ERROR_TEXT_LEN);if (res == 0){wsprintf(szErr, "Unknown Error: 0x%2x", hr);}MessageBox(0, szErr, TEXT("Error!"), MB_OK | MB_ICONERROR);}
}
这篇关于查询directshow错误句柄的字符串形式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!