HRESULT是什麼類型

來源:互聯網
上載者:User

摘自:http://hi.baidu.com/hankcs/blog/item/7a5cc2080b8a2cc43ac76342.html

簡單地說,就是判斷函數執行結果。

COM要求所有的方法都會返回一個HRESULT類型的錯誤號碼。HRESULT 其實就一個類型定義:

typedef LONG HRESULT;
HRESULT 類型的傳回值反映了函數中的一些情況,其類型定義規範如下:
   31 30 29 28                    16 15                                0
|-----|--|------------------------|-----------------------------------|類別碼 (30-31) 反映函數調用結果:
                00 調用成功
                01 包含一些資訊
                10 警告
                11 錯誤
自訂標籤(29) 反映結果是否為自訂標識,1 為是,0 則不是;
作業碼 (16-28) 標識結果操作來源,在 Windows 平台上,其定義如下:
                #define FACILITY_WINDOWS         8
                #define FACILITY_STORAGE         3
                #define FACILITY_RPC             1
                #define FACILITY_SSPI            9
                #define FACILITY_WIN32           7
                #define FACILITY_CONTROL         10
                #define FACILITY_NULL            0
                #define FACILITY_INTERNET        12
                #define FACILITY_ITF             4
                #define FACILITY_DISPATCH        2
                #define FACILITY_CERT            11
操作結果碼(0-15) 反映操作的狀態,WinError.h 定義了 Win32 函數所有可能返回結果。
                以下是一些經常用到的傳回值和宏定義:
                S_OK            函數執行成功,其值為 0 (注意,其值與 TRUE 相反)
                S_FALSE         函數執行成功,其值為 1
                S_FAIL          函數執行失敗,失敗原因不確定
                E_OUTOFMEMORY   函數執行失敗,失敗原因為記憶體配置不成功
                E_NOTIMPL       函數執行失敗,成員函數沒有被實現
                E_NOTINTERFACE 函數執行失敗,組件沒有實現指定的介面不能簡單地把傳回值與 S_OK 和 S_FALSE 比較,而要用 SECCEEDED 和 FAILED 宏進行判斷。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.