Windows核心程式設計筆記 (1)錯誤處理

2021-10-05 16:11:21 字數 884 閱讀 7307

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...