MAKE_HRESULT 不是 Win32 API 中的一个函数,而是一个宏,通常定义在 WinError.h 头文件中,而不是 Dmerror.h。这个宏用于创建 HRESULT 类型的错误代码。HRESULT 是一种用于表示函数返回值和错误代码的标准 Windows 数据类型。

以下是 MAKE_HRESULT 宏的一般形式:
#define MAKE_HRESULT(sev,fac,code) \
    ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) )

其中:
  •  sev 表示错误的严重性,0 表示成功,1 表示错误。

  •  fac 表示错误的来源(设备或库等)。

  •  code 是具体的错误代码。


具体的用法如下:
HRESULT hr = MAKE_HRESULT(sev, fac, code);

请注意,这个宏主要用于创建自定义的 HRESULT 值,通常在开发过程中用于表示特定的错误条件。要了解具体的 sev、fac 和 code 的值以及它们的含义,需要参考 Microsoft 提供的文档或相关头文件的注释。




转载请注明出处:http://www.zyzy.cn/article/detail/27231/Win32 API/Dmerror.h/MAKE_HRESULT