zoukankan      html  css  js  c++  java
  • 请问WIN32编程中的HRESULT类型和LRESULT类型有什么不同呢

    LRESULT :WIN32环境下Windows进程或者回调函数的返回值
    HRESULT :COM函数和方法的返回值
    LRESULT  LRESULT是一个数据类型
    HRESULT      函数返回值。

    其实都是32位的无符号长整型值,只不过其分别代表的含义不同
    
    

    LRESULT

      LRESULT是一个数据类型,
      MSDN: 32-bit value returned from a window procedure or callback function
      指的是从窗口程序或者回调函数返回的32位值

    HRESULT 

     
          函数返回值。如果这个函数是执行完返回的话将包含就有实际意义的数据,如果立即返回则包含状态信息--发送成功与否,并不能说明执行的如何。
      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 宏进行判断。
  • 相关阅读:
    Shell脚本中cd命令使用
    OpenStack 的Nova组件详解
    Linux 查看网络连接状态
    Linux 怎么查看服务的启动进程所占用的目录
    邮政短信 运营商常见错误
    Linux 怎么把自己写的脚本添加到服务里面,即可以使用service命令来调用
    Linux 命令行生成随机密码的十种方法
    Linux rpm安装问题解决
    Codeforces 1082G(最大权闭合子图)
    Codeforces 1105D (BFS)
  • 原文地址:https://www.cnblogs.com/carl2380/p/1924624.html
Copyright © 2011-2022 走看看