📄 handleresult.h
字号:
#ifndef __ZSY_OLEDB_HANDLERESULT_H__
#define __ZSY_OLEDB_HANDLERESULT_H__
// 错误处理有关函数
#define __LONGSTRING(string) L##string
#define LONGSTRING(string) __LONGSTRING(string)
// 如果错误则跳转到CLEANUP.
#define CHECK_HR(hr) if(FAILED(hr)) goto CLEANUP
// 如果错误则跳转到CLEANUP, 并显示所有错误信息.
#define XCHECK_HR(hr) \
{ \
if(FAILED(HandleResult(hr, LONGSTRING(__FILE__), __LINE__))) \
goto CLEANUP; \
}
// 检查内存地址
#define CHECK_MEMORY(hr, pv) \
{ \
if(!pv) \
{ \
hr = E_OUTOFMEMORY; \
CHECK_HR(hr); \
} \
}
// ROUNDUP on all platforms pointers must be aligned properly
#define ROUNDUP_AMOUNT 8
#define ROUNDUP_(size,amount) (((ULONG)(size)+((amount)-1))&~((amount)-1))
#define ROUNDUP(size) ROUNDUP_(size, ROUNDUP_AMOUNT)
// 处理返回的HRESULT值.
HRESULT HandleResult(HRESULT hrReturned, LPCWSTR pwszFile, ULONG ulLine);
// 显示单个错误记录的错误信息. 包括来自ISQLErrorInfo的.
HRESULT DisplayErrorRecord(HRESULT hrReturned, ULONG iRecord,
IErrorRecords *pIErrorRecords,
LPCWSTR pwszFile, ULONG ulLine);
// 如果不支持IErrorInfo, 则显示基本的错误信息.
HRESULT DisplayErrorInfo(HRESULT hrReturned, IErrorInfo *pIErrorInfo,
LPCWSTR pwszFile, ULONG ulLine);
// 如果支持ISQLErrorInfo, 则获取SQL错误字符串和本地错误代码.
HRESULT GetSqlErrorInfo(ULONG iRecord, IErrorRecords *pIErrorRecords,
BSTR *pBstr, LONG *plNativeError);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -