windows函式呼叫失敗時返回的值是和函式返回值的資料型別是有關的
資料型別
函式呼叫失敗(除傳參錯誤,程式設計師書寫錯誤等)返回的值
void
一般不會失敗
bool
函式失敗返回值為0,否則返回-個非0值,穩妥的做法為判斷值是否為false
pvoid
呼叫失敗返回null,否則返回乙個資料塊的記憶體位址
handle
函式失敗返回null;否則,返回-個可操作的物件,如果返回的物件不可操作那麼可能返回了invalid_ handle_ value的乙個控制代碼值,定義為-1.
long/dword
通常返回0/-1(具體取決於函式)
windows函式可以返回乙個錯誤**,微軟編輯了-乙個列表,列出了所有可能的錯誤**,並為每個錯誤**賠了乙個32位的編號。
呼叫getlasterror函式就可以得到上一乙個函式呼叫設定的執行緒的32為錯誤**。windows函式失敗後就應該馬上呼叫getl asterror,假如又呼叫了另乙個windows函式,那getlasterror函式的返回值很 可能會改寫,呼叫成功的
windows函式可以用error_ success改寫此值。假如後乙個函式也呼叫失敗就會顯示後個函式的錯誤**。
另外formatmessage函式可以將錯誤**轉換為相應的文字描述
微軟還允許定義自己的錯誤**(用於自己的建立的函式)
只需要設定執行緒的上乙個錯誤**,可以呼叫函式
void setlasterror(dword dwerrcode);
傳遞乙個32位的值,只要現有的**可以很好的反映出自己像報告的錯誤就可以盡量使用微軟提供的**,如果不能就建立乙個自己的錯誤**該注意的是我們自己
建立的錯誤**第29位必須是1.
《Windows核心程式設計》筆記1 核心物件
由於.net framework中很多地方需要用到以前win32中的一些知識點,不了解其中的來朧去脈學習起來會比較吃力,於是準備用點時間補一下windows 核心方面的知識點,參考書本是經典的核心物件是核心分配的乙個記憶體塊,這種記憶體塊是乙個資料結構,表示核心物件的各種特徵。並且只能由核心來訪問。...
windows核心程式設計 記錄 1
物件,windows分為使用者物件和核心物件.說的最多的就是核心物件.核心物件有很多,程序,檔案,管道,and so on.需要記錄的只有乙個東西 closehandle 程序,有程序的核心物件,程序的核心物件比此程序的存在週期要常.程序結束的時候它所對應的核心物件並不會立刻結束,而是檢查它的計數器...
windows核心程式設計筆記(一)
1.setwindowredraw 設定視窗的可重繪狀態 這個函式是不是把整個視窗 包括視窗控制項 的和重繪相關的訊號 遮蔽掉了?2.combobox setitemdata 巨集 函式原型 int combobox setitemdata hwnd hwndctl,空間控制代碼 int index...