windows 核心程式設計 第一章學習筆記

2021-08-23 15:02:27 字數 920 閱讀 9385

windows 核心程式設計第五版

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>

第一章 錯誤處理

1.呼叫系統api時候仔細檢視msdn返回值含義。

2.函式呼叫失敗後,可以立即呼叫 getlasterror來檢視錯誤碼。

3.可以利用visual studio 自帶工具 error lookup 來檢視錯誤碼對應的含義。

4.在除錯的時候在watch 視窗中選擇一行,然後輸入$err,hr。對於錯誤碼和錯誤資訊都能更有效的檢視。

5.定義自己的錯誤碼:有時候我們會寫函式提供給別人呼叫,這樣就需要向別人指出錯誤。為了指出錯誤,只需要設定執行緒上的乙個錯誤**,然後另自己的函式返回false,invalid_handle_value,null 或者其它合適的值。為了設定執行緒的上乙個錯誤**,只需要呼叫:

void setlasterror(dword dwerrcode);

盡量使用winerror.h 中現有的**來表示錯誤碼。如果都不能很好的反應自己想要表達的錯誤資訊,就可以自己建立錯誤碼,錯誤**是乙個32位數。唯一需要注意的是29位為1(表示使用者自定義錯誤)

位 31-30

2928

27-16

15-0

內容 嚴重性

microsoft / soft

保留 facility**

異常**

含義 0 = 成功

1 = 資訊

2 = 警告

3 = 錯誤

0 = 微軟定義的**

1 = 使用者定義的**

必須為0

前256個值由microsoft保留

microsoft / 客戶定義的**

Windows核心程式設計第一章 錯誤處理

不管是做逆向,開始做開發.在windows下.你都需要看一下核心程式設計這本書.這本書確實寫得很好.所以自己在學習這本書的同時,也把自己所學的知識進行 總結,以及鞏固.資料型別 作用 void 如果是void表示函式不可能失敗.極少數windows函式會返回void bool 表示這個函式會有失敗情...

程式設計珠璣第一章

原文中的問題 如何在1mb的空間裡面對一千萬個整數進行排序?並且每個數都小於1千萬。實際上這個需要1.25mb的記憶體空間。1mb總共有838,8608。所以估計也可以在1mb左右的空間裡面進行排序了。include include define bitsperword 32 define shif...

第一章 C 程式設計

今天終於下定決心將資料結構與演算法重新在複習一遍,先是c 的一些比較容易忘記的特性簡單的溫習一遍 包括遞迴呼叫,異常操作,類模板,函式模板等等,這三天寫得原始碼如下 book name c structure and algorithm filename chapter1.cpp version 1...