如何解释HRESULT -2003292276
?
通过调用IWICFactory factory->CreateBitmapFromMemory()
:
hr = m_factory->CreateBitmapFromMemory(
m_format.imageWidthPels,
m_format.imageHeightPels,
GUID_WICPixelFormat32bppBGR,
m_format.strideSize,
cbBitmapData,
data,
&pBitmap);
答案 0 :(得分:1)
来自Wikipedia:
winerror.h
文件定义了一些通用的HRESULT值。硬编码的HRESULT值有时会编码在给定子系统的关联头文件(.h文件)中。这些值也在使用Microsoft Windows平台SDK或DDK的相应标头(.h)文件中定义。要检查返回HRESULT的调用是否成功,请确保S字段为0(即数字为非负数)或使用FAILED()宏。要获取HRESULT的Code部分,请使用HRESULT_CODE()宏。您还可以使用名为ERR.EXE的工具获取值并将其转换为相应的错误字符串。另一个名为ERRLOOK.EXE的工具也可用于显示与给定HRESULT值关联的错误字符串。 ERRLOOK.EXE可以在Visual Studio命令提示符下运行。
Windows原生
SetErrorInfo
和GetErrorInfo
API用于将HRESULT返回代码与对应的IErrorInfo
对象相关联。FormatMessage API函数可用于将一些非
IErrorInfo
HRESULT转换为用户可读的字符串。
答案 1 :(得分:1)
Codec Error Codes
本文档包含Windows Imaging Component(WIC)定义的错误代码列表。
| Error Code | Error Value | |---------------------------------|-------------| | WINCODEC_ERR_INSUFFICIENTBUFFER | 0x88982f8C |
你正在创建一个太大的图像。
答案 2 :(得分:0)
在网络上搜索HRESULT可能很棘手,因为您通常必须将大的负数转换为十六进制并进行搜索(大概是Ian在正确答案中所做的事情)。 Ted还描述了诸如ERRLOOK.exe
这样的命令行工具(这是更好的命令行选项之一),它将把数字转换成定义或错误描述。
但是我们发现Web浏览器有时比cmd提示符更方便,因此我们创建了http://errorco.de,其中包含许多错误消息,您可以根据手头的数量进行搜索。
例如,将您的-2003292276
带到http://errorco.de会给您:
This errorco.de is a pseudonym for winerror.h 0x88982F8C.
See that errorco.de for possible comments or remarks.
winerror.h -2003292276
#define WINCODEC_ERR_INSUFFICIENTBUFFER
The buffer allocated is insufficient.
Ian和Ted提到的所有信息都在一页上(并在需要时易于与他人共享)。也许您会发现它有用。