请问WIN32编程中的HRESULT类型和LRESULT类型有什么不同呢
2011-01-03 13:11
260 查看
LRESULT :WIN32环境下Windows进程或者回调函数的返回值
HRESULT :COM函数和方法的返回值
[/code]
LRESULT LRESULT是一个数据类型
HRESULT 函数返回值。
其实都是32位的无符号长整型值,只不过其分别代表的含义不同
LRESULT
LRESULT是一个数据类型,MSDN: 32-bit value returned from a window procedure or callback function
指的是从窗口程序或者回调函数返回的32位值
HRESULT
http://baike.baidu.com/view/1754469.htm?fr=ala0函数返回值。如果这个函数是执行完返回的话将包含就有实际意义的数据,如果立即返回则包含状态信息--发送成功与否,并不能说明执行的如何。
HRESULT
A value returned from a function call to an interface, consisting of a severity code, context information, a facility code, and a status code that describes the result. For 16-bit Windows systems, the HRESULT is an opaque result handle defined to be zero for a successful return from a function, and nonzero if error or status information is to be returned. To convert an HRESULT into a more detailed SCODE (or return value), applications call GetSCode(). See SCODE.
HRESULT 是一种简单的数据类型,通常被属性和 ATL 用作返回值。下表说明各种不同的值。头文件 winerror.h 中包含更多的值。
名称 说明 值
S_OK 操作成功 0x00000000
E_UNEXPECTED 意外的失败 0x8000FFFF
E_NOTIMPL 未实现 0x80004001
E_OUTOFMEMORY 未能分配所需的内存 0x8007000E
E_INVALIDARG 一个或多个参数无效 0x80070057
E_NOINTERFACE 不支持此接口 0x80004002
E_POINTER 无效指针 0x80004003
E_HANDLE 无效句柄 0x80070006
E_ABORT 操作已中止 0x80004004
E_FAIL 未指定的失败 0x80004005
E_ACCESSDENIED 一般的访问被拒绝错误 0x80070005
不能简单地把返回值与 S_OK 和 S_FALSE 比较,而要用 SUCCEEDED 和 FAILED 宏进行判断。
相关文章推荐
- 请问WIN32编程中的HRESULT类型和LRESULT类型有什么不同呢
- 【转】WIN32编程中的HRESULT类型和LRESULT类型的区别
- linux中不同颜色的文件代表什么不同的类型
- java梳理-int类型在32位和64位有什么不同
- 数据类型和抽象数据类型是如何定义的。二者有何相同和不同之处,抽象数据类型的主要特点是什么?使用抽象数据类型的主要好处是什么?
- 解析域名的时候不同的项目代表什么含义?主机记录、记录类型、线路类型、记录值、MX优先级、TTL
- 发生类型为 System.OutOfMemoryException 的异常。请问这是什么原因
- C++ socket编程——3种方法发送不同类型的数据
- WORD文档类型跟WORD97-2003文档类型有什么不同
- JAVA Socket编程和C++ Socket编程有什么不同
- 请问谁知道有什么办法可以--检测是否是同一台电脑通过不同的代理访问某个网站吗?
- 函数的返回类型可以为值、指针、引用,这三种返回类型有什么不同,各有什么好处?(c++)
- OO_W2:C#数据类型和C语言有什么不同?
- 我要从com向应用程序返回一个结构,结构中包括二进制数据,请问用什么方式传替比较好呢?BSTR,VARIANT还是其他什么类型比较好呢
- 请问exit(0)与exit(1)有什么区别?它们可以通用吗?里面的参数的不同具体体现在那里?
- 请问socket编程的开发环境包括什么?比如软件,语言等
- 我要从com向应用程序返回一个结构,结构中包括二进制数据,请问用什么方式传替比较好呢?BSTR,VARIANT还是其他什么类型比较好呢
- 网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?
- 请问cin>>和cin.get()对EOF的处理机制有什么不同
- 请问linux 高手们,一个入门级问题,tgz包和tar.gz包有什么区别?是相当与不同的格式吗