国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

windows核心編程系列學習記錄1——錯誤處理

2019-11-11 00:22:38
字體:
來源:轉載
供稿:網友

    寫在前面:最近要在Windows下搞一些語言環境、字符集編碼的一些處理工作,決心好好研究一下Windows的工作原理,拾起擺在桌上最多翻一翻的Windows核心編程5。

    第一章 錯誤處理    使用Windows函數,最好關注一下他的各個返回值類型,這樣有助于我們在函數調用失敗的時候更好的解決錯誤。windows函數返回值常見的包括 VOID 、BOOL、HANDLE、PVOID、LONG/DWord。返回VOID說明這個函數不可能失敗,BOOL返回0表示失敗,HANDLE通常返回NULL表示失敗,否則指向一個可操控的對象,當然也有一些返回INVALID_HANDLE_VALUE=-1標識失敗。PVOID返回NULL表示失敗,否則指向一個內存地址,LONG/DWORD通常返回0/-1標識失敗,具體情況參考SDK文檔。    使用GetError()返回由上一個函數調用設置的線程的32位錯誤代碼,包括一個消息ID,消息文本,和消息編號。ID用于用GetLastError的返回值進行比較。如果Windows函數調用失敗,應該立即調用GetLastError來獲取上一次錯誤代碼。    Windows提供原生的256個錯誤代碼對應256個錯誤情況。一個錯誤代碼對應著一段文本描述,詳細的描述錯誤原因。當我們在自己的程序中檢測到一個錯誤,我們可能需要向用戶顯示錯誤的文本描述,而不是一個干巴巴的錯誤代碼,讓用戶自己去查畢竟不是個好主意。Windows提供一個函數,FormatMesssage可以返回傳入的錯誤代碼對應的字符串的首地址,可以將錯誤代碼轉換為相應的文本描述。

    還有一個函數SetLastError,接受一個錯誤代碼,再調用GetLastError就會返回一個我們自己定義的錯誤。這就是Windows為我們提供的一個定義自己錯誤代碼的機制。

    第一章好像就這些知識點。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青神县| 亳州市| 建湖县| 手机| 含山县| 兴城市| 光泽县| 厦门市| 阳城县| 大港区| 岢岚县| 荣成市| 漳州市| 咸宁市| 乐昌市| 巴彦淖尔市| 朔州市| 北票市| 定安县| 宿州市| 北川| 大埔县| 巫山县| 苗栗市| 彩票| 建阳市| 临高县| 博湖县| 永顺县| 万荣县| 石屏县| 慈利县| 禄劝| 呼伦贝尔市| 宁河县| 遵义县| 新竹县| 娄烦县| 绥棱县| 临泉县| 迁安市|