複製鏈接
請複製以下鏈接發送給好友

GetLastError

鎖定
GetLastError返回的值通過在api函數中調用SetLastError或SetLastErrorEx設置。函數並無必要設置上一次錯誤信息,所以即使一次GetLastError調用返回的是零值,也不能擔保函數已成功執行。只有在函數調用返回一個錯誤結果時,這個函數指出的錯誤結果才是有效的。通常,只有在函數返回一個錯誤結果,而且已知函數會設置GetLastError變量的前提下,才應訪問GetLastError;這時能保證獲得有效的結果。SetLastError函數主要在對api函數進行模擬的dll函數中使用,所以對vb應用程序來説是沒有意義的
中文名
取最後錯誤
外文名
GetLastError
VB聲明
Declare Function
函數原型
DWORD GetLastError
錯誤代碼
〖0〗-操作成功完成。

GetLastErrorVB聲明

Declare Function GetLastError Lib "kernel32" () As Long

GetLastError函數原型

DWORD GetLastError(VOID);

GetLastError註解

函數返回值顯示此調用將返回有用的數據時,應該立即調用 GetLastError 函數,這是因為當調用成功時,一些函數調用 GetLastError(0) 來刪除掉通過函數調用失敗設置的錯誤代碼很多 Win32 API 中的函數當函數調用失敗時設置線程的錯誤代碼值。有幾個函數當用於函數調用成功時,設置此代碼值,函數調用失敗,一般由一個返回錯誤代碼值來顯示。如 FALSE、NULL、0xFFFF 或 C1,一些函數在調用成功的情況下調用GetLastError,這些情況已寫在每個函數的參考頁中。
錯誤代碼是 32 位值(但是第31位是最重要的位),第29位是為應用程序定義的錯誤代碼值,系統沒有設置這種錯誤代碼,如果為應用程序定義了一個錯誤代碼,則設第29位的值為1,這表明錯誤代碼已經被一個應用程序定義,並保證次錯誤代碼不與系統定義的錯誤代碼發生衝突。
為得到系統錯誤代碼相應的錯誤信息串,可調用 FormatMessage 函數,有關全部的錯誤代碼列表,請常見 ErrorCode 或 SDK 標題文件 WINERROR.H。

GetLastError參數

GetLastError函數功能

該函數返回調用線程最近的錯誤代碼值,錯誤代碼以單線程為基礎來維護的,多線程不重寫各自的錯誤代碼值。

GetLastError返回值

返回值為調用的線程的錯誤代碼值(unsigned long),函數通過調 SetLastError 函數來設置此值,每個函數資料的返回值部分都註釋了函數設置錯誤代碼的情況。
Windows 95Windows 98 中因為 SetLastError 僅是 32 位的函數,實際上以 16 位代碼來操作的 Win32 不能設置錯誤代碼值,應當在調用這些函數時忽略錯誤代碼。它們包括窗口管理函數,GDI 函數和 Multimedia(多媒體)函數。

GetLastError錯誤代碼

〖0〗-操作成功完成。
〖1〗-功能錯誤。
〖2〗-系統找不到指定的文件。
〖3〗-系統找不到指定的路徑。
〖4〗-系統無法打開文件。
〖5〗-拒絕訪問。
〖6〗-句柄無效。
〖7〗-存儲控制塊被損壞。
〖8〗-存儲空間不足,無法處理此命令。
〖9〗-存儲控制塊地址無效。
〖10〗-環境錯誤。
〖11〗-試圖加載格式錯誤的程序。
〖12〗-訪問碼無效。
〖13〗-數據無效。
〖14〗-存儲器不足,無法完成此操作。
〖15〗-系統找不到指定的驅動器
〖16〗-無法刪除目錄。
〖17〗-系統無法將文件移到不同的驅動器。
〖18〗-沒有更多文件。
〖19〗-介質受寫入保護。
〖20〗-系統找不到指定的設備。
〖21〗-設備未就緒。
〖22〗-設備不識別此命令。
〖23〗-數據錯誤 (循環冗餘檢查)。
〖24〗-程序發出命令,但命令長度不正確。
〖25〗-驅動器無法找出磁盤上特定區域或磁道的位置。
〖26〗-無法訪問指定的磁盤或軟盤
〖27〗-驅動器找不到請求的扇區
〖28〗-打印機缺紙。
〖29〗-系統無法寫入指定的設備。
〖30〗-系統無法從指定的設備上讀取。
〖31〗-連到系統上的設備沒有發揮作用。
〖32〗-進程無法訪問文件,因為另一個程序正在使用此文件。
〖33〗-進程無法訪問文件,因為另一個程序已鎖定文件的一部分。
〖36〗-用來共享的打開文件過多。
〖38〗-到達文件結尾
〖39〗-磁盤已滿。
〖50〗-不支持該請求。
〖51〗-遠程計算機不可用 。
〖52〗-在網絡上已有重複的名稱。
〖53〗-找不到網絡路徑
〖54〗-網絡忙。
〖55〗-指定的網絡資源或設備不再可用。
〖56〗-已到達網絡 BIOS 命令限制。
〖57〗-網絡適配器硬件出錯。
〖58〗-指定的服務器無法運行請求的操作。
〖59〗-發生意外的網絡錯誤。
〖60〗-遠程適配器不兼容。
〖61〗-打印機隊列已滿。
〖62〗-無法在服務器上獲得用於保存待打印文件的空間。
〖63〗-刪除等候打印的文件。
〖64〗-指定的網絡名不再可用。
〖65〗-拒絕網絡訪問。
〖66〗-網絡資源類型錯誤。
〖67〗-找不到網絡名。
〖68〗-超過本地計算機網卡的名稱限制。
〖69〗-超出網絡 BIOS 會話限制。
〖70〗-遠程服務器已暫停,或正在啓動過程中。
〖71〗-當前已無法再同此遠程計算機連接,因為已達到計算機的連接數目極限。
〖72〗-已暫停指定的打印機或磁盤設備。
〖80〗-文件存在。
〖82〗-無法創建目錄或文件。
〖83〗-INT 24 失敗。
〖84〗-無法取得處理此請求的存儲空間。
〖85〗-本地設備名已在使用中。
〖86〗-指定的網絡密碼錯誤。
〖87〗-參數錯誤。
〖88〗-網絡上發生寫入錯誤。
〖89〗-系統無法在此時啓動另一個進程。
〖100〗-無法創建另一個系統信號燈
〖101〗-另一個進程擁有獨佔的信號燈。
〖102〗-已設置信號燈且無法關閉。
〖103〗-無法再次設置信號量
〖104〗-無法在中斷時請求獨佔的信號燈。
〖105〗-此信號燈的前一個所有權已結束。
〖107〗-程序停止,因為替代的軟盤未插入。
〖108〗-磁盤在使用中,或被另一個進程鎖定
〖109〗-管道已結束。
〖110〗-系統無法打開指定的設備或文件。
〖111〗-文件名太長。
〖112〗-磁盤空間不足。
〖113〗-無法再獲得內部文件的標識。
〖114〗-目標內部文件的標識不正確。
〖117〗-應用程序製作的 IOCTL 調用錯誤。
〖118〗-驗證寫入的切換參數值錯誤。
〖119〗-系統不支持請求的命令。
〖120〗-此功能只被此系統支持
〖121〗-信號燈超時時間已到。
〖122〗-傳遞到系統調用數據區太小。
〖123〗-文件名、目錄名或卷標語法不正確。
〖124〗-系統調用級別錯誤。
〖125〗-磁盤沒有卷標。
〖126〗-找不到指定的模塊。
〖127〗-找不到指定的程序。
〖128〗-沒有等候的子進程
〖130〗-試圖使用操作(而非原始磁盤 I/O)的已打開磁盤分區文件句柄
〖131〗-試圖移動文件指針到文件開頭之前。
〖132〗-無法在指定的設備或文件上設置文件指針。
〖133〗-包含先前加入驅動器的驅動器無法使用 JOIN 或 SUBST 命令。
〖134〗-試圖在已被合併的驅動器上使用 JOIN 或 SUBST 命令。
〖135〗-試圖在已被合併的驅動器上使用 JOIN 或 SUBST 命令。
〖136〗-系統試圖解除未合併驅動器的 JOIN。
〖137〗-系統試圖解除未替代驅動器的 SUBST。
〖138〗-系統試圖將驅動器合併到合併驅動器上的目錄。
〖139〗-系統試圖將驅動器替代為替代驅動器上的目錄。
〖140〗-系統試圖將驅動器合併到替代驅動器上的目錄。
〖141〗-系統試圖替代驅動器為合併驅動器上的目錄。
〖142〗-系統無法在此時運行 JOIN 或 SUBST。
〖143〗-系統無法將驅動器合併到或替代為相同驅動器上的目錄。
〖144〗-目錄並非根目錄下的子目錄
〖145〗-目錄非空。
〖146〗-指定的路徑已在替代中使用。
〖147〗-資源不足,無法處理此命令。
〖148〗-指定的路徑無法在此時使用。
〖149〗-企圖將驅動器合併或替代為驅動器上目錄是上一個替代的目標的驅動器。
〖150〗-系統跟蹤信息未在 CONFIG.SYS 文件中指定,或不允許跟蹤。
〖151〗-為 DosMuxSemWait 指定的信號燈事件個數錯誤。
〖152〗-DosMuxSemWait 不可運行。已設置過多的信號燈。
〖153〗-DosMuxSemWait 清單錯誤。
〖154〗-輸入的卷標超過目標文件系統的長度限制
〖155〗-無法創建另一個線程。
〖156〗-接收進程已拒絕此信號。
〖157〗-段已被放棄且無法鎖定。
〖158〗-段已解除鎖定。
〖159〗-線程標識的地址錯誤。
〖160〗-傳遞到 DosExecPgm 的參數字符串錯誤。
〖161〗-指定的路徑無效。
〖162〗-信號已暫停。
〖164〗-無法在系統中創建更多的線程。
〖167〗-無法鎖定文件區域。
〖170〗-請求的資源在使用中。
〖173〗-對於提供取消區域進行鎖定的請求不明顯。
〖174〗-文件系統不支持鎖定類型的最小單元更改。
〖180〗-系統檢測出錯誤的段號。
〖183〗-當文件已存在時,無法創建該文件。
〖186〗-傳遞的標誌錯誤。
〖187〗-找不到指定的系統信號燈名稱。
〖193〗-不是有效的WIN32應用程序。如果是LoadLibrary/LoadLibraryEx,則表示DLL或DLL依賴庫有錯誤,例如:有可能是版本不同,32位程序調用了64位DLL
〖196〗-操作系統無法運行此應用程序。
〖197〗-操作系統當前的配置不能運行此應用程序。
〖199〗-操作系統無法運行此應用程序。
〖200〗-代碼段不可大於或等於 64K。
〖203〗-操作系統找不到已輸入的環境選項。
〖205〗-命令子樹中的進程沒有信號處理程序。
〖206〗-文件名或擴展名太長。
〖207〗-第 2 環堆棧已被佔用。
〖208〗-沒有正確輸入文件名通配符 * 或 ?,或指定過多的文件名通配符。
〖209〗-正在發送的信號錯誤。
〖210〗-無法設置信號處理程序。
〖212〗-段已鎖定且無法重新分配。
〖214〗-連到該程序或動態鏈接模塊的動態鏈接模塊太多。
〖215〗-無法嵌套調用 LoadModule。
〖230〗-管道狀態無效。
〖231〗-所有的管道實例都在使用中。
〖232〗-管道正在關閉中。
〖233〗-管道的另一端上無任何進程。
〖234〗-更多數據可用。
〖240〗-取消會話。
〖254〗-指定的擴展屬性名無效。
〖255〗-擴展屬性不一致。
〖258〗-等待的操作過時。
〖259〗-沒有可用的數據了。
〖266〗-無法使用複製功能。
〖267〗-目錄名無效。
〖275〗-擴展屬性在緩衝區中不適用。
〖276〗-裝在文件系統上的擴展屬性文件已損壞。
〖277〗-擴展屬性表格文件已滿。
〖278〗-指定的擴展屬性句柄無效。
〖282〗-裝入的文件系統不支持擴展屬性。
〖288〗-企圖釋放並非呼叫方所擁有的多用户終端運行程序。
〖298〗-發向信號燈的請求過多。
〖299〗-僅完成部分的 ReadProcessMemoty 或 WriteProcessMemory 請求。
〖300〗-操作鎖定請求被拒絕。
〖301〗-系統接收了一個無效的操作鎖定確認。
〖487〗-試圖訪問無效的地址。
〖534〗-算術結果超過 32 位。
〖535〗-管道的另一端有一進程。
〖536〗-等候打開管道另一端的進程。
〖994〗-拒絕訪問擴展屬性。
〖995〗-由於線程退出或應用程序請求,已放棄 I/O 操作。
〖996〗-重疊 I/O 事件不在信號狀態中。
〖997〗-重疊 I/O 操作在進行中。
〖998〗-內存分配訪問無效。
〖999〗-錯誤運行頁內操作。
〖1001〗-遞歸太深;棧溢出
〖1002〗-窗口無法在已發送的消息上操作。
〖1003〗-無法完成此功能。
〖1004〗-無效標誌。
〖1005〗-此卷不包含可識別的文件系統。請確定所有請求的文件系統驅動程序已加載,且此卷未損壞。
〖1006〗-文件所在的卷已被外部改變,因此打開的文件不再有效。
〖1007〗-無法在全屏幕模式下運行請求的操作。
〖1008〗-試圖引用不存在的令牌。
〖1009〗-配置註冊表數據庫損壞。
〖1010〗-配置註冊表項無效。
〖1011〗-無法打開配置註冊表項。
〖1012〗-無法讀取配置註冊表項。
〖1013〗-無法寫入配置註冊表項。
〖1014〗-註冊表數據庫中的某一文件必須使用記錄或替代複製來恢復。恢復成功完成。
〖1015〗-註冊表損壞。包含註冊表數據的某一文件結構損壞,或系統的文件內存映像損壞,或因為替代副本、日誌缺少或損壞而無法恢復文件。
〖1016〗-由註冊表啓動的 I/O 操作恢復失敗。註冊表無法讀入、寫出或清除任意一個包含註冊表系統映像的文件。
〖1017〗-系統試圖加載或還原文件到註冊表,但指定的文件並非註冊表文件格式
〖1018〗-試圖在標記為刪除的註冊表項上運行不合法的操作。
〖1019〗-系統無法配置註冊表日誌中所請求的空間。
〖1020〗-無法在已有子項或值的註冊表項中創建符號鏈接
〖1021〗-無法在易變父項下創建穩定子項。
〖1022〗-通知更改請求正在完成中,且信息並未返回到呼叫方的緩衝區中。當前呼叫方必須枚舉文件來查找更改。
〖1051〗-已發送停止控制到服務,該服務被其它正在運行的服務所依賴。
〖1052〗-請求的控件對此服務無效
〖1053〗-服務並未及時響應啓動或控制請求。
〖1054〗-無法創建此服務的線程。
〖1055〗-鎖定服務數據庫。
〖1056〗-服務的實例已在運行中。
〖1057〗-帳户名無效或不存在,或者密碼對於指定的帳户名無效。
〖1058〗-無法啓動服務,原因可能是它被禁用或與它相關聯的設備沒有啓動。
〖1059〗-指定了循環服務依存。
〖1060〗-指定的服務並未以已安裝的服務存在。
〖1061〗-服務無法在此時接受控制信息
〖1062〗-服務未啓動。
〖1063〗-服務進程無法連接到服務控制器上。
〖1064〗-當處理控制請求時,在服務中發生異常。
〖1065〗-指定的數據庫不存在。
〖1066〗-服務已返回特定的服務錯誤碼
〖1067〗-進程意外終止。
〖1068〗-依存服務或組無法啓動。
〖1069〗-由於登錄失敗而無法啓動服務。
〖1070〗-啓動後,服務停留在啓動暫停狀態。
〖1071〗-指定的服務數據庫鎖定無效。
〖1072〗-指定的服務已標記為刪除。
〖1073〗-指定的服務已存在。
〖1074〗-系統當前以最新的有效配置運行。
〖1075〗-依存服務不存在,或已被標記為刪除。
〖1076〗-已接受使用當前引導作為最後的有效控制設置。
〖1077〗-上次啓動之後,仍未嘗試引導服務。
〖1078〗-名稱已用作服務名或服務顯示名。
〖1079〗-此服務的帳户不同於運行於同一進程上的其它服務的帳户。
〖1080〗-只能為 Win32 服務設置失敗操作,不能為驅動程序設置。
〖1081〗-這個服務所運行的處理和服務控制管理器相同。所以,如果服務處理程序意外中止的話,服務控制管理器無法進行任何操作。
〖1082〗-這個服務尚未設置恢復程序。
〖1083〗-配置成在該可執行程序中運行的這個服務不能執行該服務。
〖1100〗-已達磁帶的實際結尾。
〖1101〗-磁帶訪問已達文件標記。
〖1102〗-已達磁帶或磁盤分區的開頭。
〖1103〗-磁帶訪問已達一組文件的結尾。
〖1104〗-磁帶上不再有任何數據。
〖1105〗-磁帶無法分區。
〖1106〗-在訪問多卷分區的新磁帶時,當前的塊大小不正確。
〖1107〗-當加載磁帶時,找不到分區信息。
〖1108〗-無法鎖定媒體彈出功能。
〖1109〗-無法卸載介質。
〖1110〗-驅動器中的介質可能已更改。
〖1111〗-復位 I/O 總線。
〖1112〗-驅動器中沒有媒體。
〖1113〗-在多字節的目標代碼頁中,沒有此 Unicode 字符可以映射到的字符。
〖1114〗-動態鏈接庫 (DLL) 初始化例程失敗。
〖1115〗-系統關機正在進行。
〖1116〗-因為沒有任何進行中的關機過程,所以無法中斷系統關機。
〖1117〗-因為 I/O 設備錯誤,所以無法運行此項請求。
〖1118〗-沒有串行設備被初始化成功。串行驅動程序將卸載。
〖1119〗-無法打開正在與其他設備共享中斷請求(IRQ)的設備。至少有一個使用該 IRQ 的其他設備已打開。
〖1120〗-序列 I/O 操作已由另一個串行口的寫入完成。(IOCTL_SERIAL_XOFF_COUNTER 已達零。)
〖1121〗-因為已過超時時間,所以串行 I/O 操作完成。(IOCTL_SERIAL_XOFF_COUNTER 未達零。)
〖1122〗-在軟盤上找不到 ID 地址標記。
〖1123〗-軟盤扇區 ID 字符域與軟盤控制器磁道地址不相符。
〖1124〗-軟盤控制器報告軟盤驅動程序不能識別的錯誤。
〖1125〗-軟盤控制器返回與其寄存器中不一致的結果。
〖1126〗-當訪問硬盤時,重新校準操作失敗,重試仍然失敗。
〖1127〗-當訪問硬盤時,磁盤操作失敗,重試仍然失敗。
〖1128〗-當訪問硬盤時,即使失敗,仍須復位磁盤控制器。
〖1129〗-已達磁帶結尾。
〖1130〗-服務器存儲空間不足,無法處理此命令。
〖1131〗-檢測出潛在的死鎖狀態。
〖1132〗-指定的基址或文件偏移量沒有適當對齊。
〖1140〗-改變系統供電狀態的嘗試被另一應用程序或驅動程序否決。
〖1141〗-系統 BIOS 改變系統供電狀態的嘗試失敗。
〖1142〗-試圖在一文件上創建超過系統允許數額的鏈接。
〖1150〗-指定程序要求更新的 Windows 版本。
〖1151〗-指定程序不是 Windows 或 MS-DOS 程序。
〖1152〗-只能啓動該指定程序的一個實例。
〖1153〗-該指定程序適用於舊的 Windows 版本。
〖1154〗-執行該應用程序所需的庫文件之一被損壞。
〖1155〗-沒有應用程序與此操作的指定文件有關聯。
〖1156〗-在輸送指令到應用程序的過程中出現錯誤。
〖1157〗-執行該應用程序所需的庫文件之一無法找到。
〖1158〗-當前程序已使用了 Window 管理器對象的系統允許的所有句柄。
〖1159〗-消息只能與同步操作一起使用。
〖1160〗-指出的源元素沒有媒體。
〖1161〗-指出的目標元素已包含媒體。
〖1162〗-指出的元素不存在。
〖1163〗-指出的元素是未顯示的存儲資源的一部分。
〖1164〗-顯示設備需要重新初始化,因為硬件有錯誤。
〖1165〗-設備顯示在嘗試進一步操作之前需要清除。
〖1166〗-設備顯示它的門仍是打開狀態。
〖1167〗-設備沒有連接。
〖1168〗-找不到元素。
〖1169〗-索引中沒有同指定項相匹配的項。
〖1170〗-在對象上不存在指定的屬性集。
〖1171〗-傳遞到 GetMouseMovePoints 的點不在緩衝區中。
〖1172〗-跟蹤(工作站)服務沒運行。
〖1173〗-找不到卷 ID。
〖1175〗-無法刪除要被替換的文件。
〖1176〗-無法將替換文件移到要被替換的文件。要被替換的文件保持原來的名稱。
〖1177〗-無法將替換文件移到要被替換的文件。要被替換的文件已被重新命名為備份名稱。
〖1178〗-卷更改記錄被刪除。
〖1179〗-卷更改記錄服務不處於活動中。
〖1180〗-找到一份文件,但是可能不是正確的文件。
〖1181〗-日誌項從日誌中被刪除。
〖1200〗-指定的設備名無效。
〖1201〗-設備當前未連接上,但其為一個記錄連接。
〖1202〗-企圖記錄先前已被記錄的設備。
〖1203〗-無任何網絡提供程序接受指定的網絡路徑。
〖1204〗-指定的網絡提供程序名稱無效。
〖1205〗-無法打開網絡連接配置文件
〖1206〗-網絡連接配置文件損壞。
〖1207〗-無法枚舉空載體。
〖1208〗-發生擴展錯誤。
〖1209〗-指定的組名格式無效。
〖1210〗-指定的計算機名格式無效。
〖1211〗-指定的事件名格式無效。
〖1212〗-指定的域名格式無效。
〖1213〗-指定的服務名格式無效。
〖1214〗-指定的網絡名格式無效。
〖1215〗-指定的共享名格式無效。
〖1216〗-指定的密碼格式無效。
〖1217〗-指定的消息名格式無效。
〖1218〗-指定的消息目標格式無效。
〖1219〗-提供的憑據與已存在的憑據集衝突。
〖1220〗-企圖創建網絡服務器的會話,但已對該服務器創建過多的會話。
〖1221〗-工作組或域名已由網絡上的另一部計算機使用。
〖1222〗-網絡未連接或啓動。
〖1223〗-操作已被用户取消。
〖1224〗-請求的操作無法在使用用户映射區域打開的文件上執行。
〖1225〗-遠程系統拒絕網絡連接。
〖1226〗-網絡連接已被適當地關閉了。
〖1227〗-網絡傳輸終結點已有與其關聯的地址。
〖1228〗-地址仍未與網絡終結點關聯。
〖1229〗-企圖在不存在的網絡連接上進行操作。
〖1230〗-企圖在使用中的網絡連接上進行無效的操作。
〖1231〗-不能訪問網絡位置。有關網絡排除故障的信息,請參閲 Windows 幫助。
〖1232〗-不能訪問網絡位置。有關網絡排除故障的信息,請參閲 Windows 幫助。
〖1233〗-不能訪問網絡位置。有關網絡排除故障的信息,請參閲 Windows 幫助。
〖1234〗-沒有任何服務正在遠程系統上的目標網絡終結點上操作。
〖1235〗-請求被終止。
〖1236〗-由本地系統終止網絡連接。
〖1237〗-操作無法完成。應該重試。
〖1238〗-因為已達到此帳户的最大同時連接數限制,所以無法連接服務器。
〖1239〗-試圖在這個帳户未被授權的時間內登錄。
〖1240〗-此帳户並未得到從這個工作站登錄的授權。
〖1241〗-請求的操作不能使用這個網絡地址
〖1242〗-服務器已經註冊。
〖1243〗-指定的服務不存在。
〖1244〗-因為用户還未被驗證,不能執行所要求的操作。
〖1245〗-因為用户還未登錄網絡,不能執行所要求的操作。指定的服務不存在。
〖1246〗-正在繼續工作。
〖1247〗-試圖進行初始操作,但是初始化已完成。
〖1248〗-沒有更多的本地設備。
〖1249〗-指定的站點不存在。
〖1250〗-具有指定名稱的域控制器已經存在。
〖1251〗-只有連接到服務器上時,該操作才受支持。
〖1252〗-即使沒有改動,組策略框架也應該調用擴展。
〖1253〗-指定的用户沒有一個有效的配置文件。
〖1254〗-Microsoft Small Business Server 不支持此操作。
〖1300〗-並非所有被引用的特權都指派給呼叫方。
〖1301〗-帳户名和安全標識間的某些映射未完成。
〖1302〗-沒有為該帳户特別設置系統配額限制。
〖1303〗-沒有可用的加密密鑰。返回了一個已知加密密鑰。
〖1304〗-密碼太複雜,無法轉換成 LAN Manager 密碼。返回的 LAN Manager 密碼為空字符串
〖1305〗-修訂級別未知。
〖1306〗-表明兩個修訂級別是不兼容的。
〖1307〗-這個安全標識不能指派為此對象的所有者
〖1308〗-這個安全標識不能指派為對象的主要組。
〖1309〗-當前並未模擬客户的線程試圖操作模擬令牌。
〖1310〗-組可能未被禁用。
〖1311〗-當前沒有可用的登錄服務器來服務登錄請求。
〖1312〗-指定的登錄會話不存在。可能已被終止。
〖1313〗-指定的特權不存在。
〖1314〗-客户沒有所需的特權。
〖1315〗-提供的名稱並非正確的帳户名形式。
〖1316〗-指定的用户已存在。
〖1317〗-指定的用户不存在。
〖1318〗-指定的組已存在。
〖1319〗-指定的組不存在。
〖1320〗-指定的用户帳户已是指定組的成員,或是因為組包含成員所以無法刪除指定的組。
〖1321〗-指定的用户帳户不是指定組帳户的成員。
〖1322〗-無法禁用或刪除最後剩餘的系統管理帳户
〖1323〗-無法更新密碼。提供作為當前密碼的值不正確。
〖1324〗-無法更新密碼。提供給新密碼的值包含密碼中不允許的值。
〖1325〗-無法更新密碼。為新密碼提供的值不符合字符域的長度、複雜性或歷史要求。
〖1326〗-登錄失敗: 未知的用户名或錯誤密碼。
〖1327〗-登錄失敗: 用户帳户限制
〖1328〗-登錄失敗: 違反帳户登錄時間限制。
〖1329〗-登錄失敗: 不允許用户登錄到此計算機。
〖1330〗-登錄失敗: 指定的帳户密碼已過期。
〖1331〗-登錄失敗: 禁用當前的帳户。
〖1332〗-帳户名與安全標識間無任何映射完成。
〖1333〗-一次請求過多的本地用户標識符(LUIDs)。
〖1334〗-無更多可用的本地用户標識符(LUIDs)。
〖1335〗-對於該特別用法,安全 ID 的次級授權部分無效。
〖1336〗-訪問控制列表(ACL)結構無效。
〖1337〗-安全 ID 結構無效。
〖1338〗-安全描述符結構無效。
〖1340〗-無法創建固有的訪問控制列表(ACL)或訪問控制項目(ACE)。
〖1341〗-服務器當前已禁用。
〖1342〗-服務器當前已啓用。
〖1343〗-提供給識別代號頒發機構的值為無效值。
〖1344〗-無更多可用的內存以更新安全信息
〖1345〗-指定屬性無效,或與整個羣體的屬性不兼容。
〖1346〗-指定的模擬級別無效, 或所提供的模擬級別無效。
〖1347〗-無法打開匿名級安全令牌。
〖1348〗-請求的驗證信息類別無效。
〖1349〗-令牌的類型對其嘗試使用的方法不適當。
〖1350〗-無法在與安全性無關聯的對象上運行安全性操作。
〖1351〗-未能從域控制器讀取配置信息,或者是因為機器不可使用,或者是訪問被拒絕。
〖1352〗-安全帳户管理器(SAM)或本地安全頒發機構(LSA)服務器處於運行安全操作的錯誤狀態
〖1353〗-域處於運行安全操作的錯誤狀態。
〖1354〗-此操作只對域的主要域控制器可行。
〖1355〗-指定的域不存在,或無法聯繫。
〖1356〗-指定的域已存在。
〖1357〗-試圖超出每服務器域個數的限制。
〖1358〗-無法完成請求操作,因為磁盤上的嚴重介質失敗或數據結構損壞。
〖1359〗-出現了內部錯誤。
〖1360〗-通用訪問類型包含於已映射到非通用類型的訪問掩碼中。
〖1361〗-安全描述符格式不正確 (絕對或自相關的)。
〖1362〗-請求操作只限制在登錄進程中使用。調用進程未註冊為一個登錄進程。
〖1363〗-無法使用已在使用中的標識啓動新的會話。
〖1364〗-未知的指定驗證數據包
〖1365〗-登錄會話並非處於與請求操作一致的狀態中。
〖1366〗-登錄會話標識已在使用中。
〖1367〗-登錄請求包含無效的登錄類型值。
〖1368〗-在使用命名管道讀取數據之前,無法經由該管道模擬。
〖1369〗-註冊表子樹的事務處理狀態與請求狀態不一致。
〖1370〗-安全性數據庫內部出現損壞。
〖1371〗-無法在內置帳户上運行此操作。
〖1372〗-無法在內置特殊組上運行此操作。
〖1373〗-無法在內置特殊用户上運行此操作。
〖1374〗-無法從組中刪除用户,因為當前組為用户的主要組。
〖1375〗-令牌已作為主要令牌使用。
〖1376〗-指定的本地組不存在。
〖1377〗-指定的帳户名不是本地組的成員。
〖1378〗-指定的帳户名已是本地組的成員。
〖1379〗-指定的本地組已存在。
〖1380〗-登錄失敗: 未授予用户在此計算機上的請求登錄類型。
〖1381〗-已超過在單一系統中可保存機密的最大個數。
〖1382〗-機密的長度超過允許的最大長度。
〖1383〗-本地安全頒發機構數據庫內部包含不一致性
〖1384〗-在嘗試登錄的過程中,用户的安全上下文積累了過多的安全標識。
〖1385〗-登錄失敗: 未授予用户在此計算機上的請求登錄類型。
〖1386〗-更改用户密碼時需要交叉加密密碼。
〖1387〗-由於成員不存在,無法將成員添加到本地組中,也無法從本地組將其刪除。
〖1388〗-無法將新成員加入到本地組中,因為成員的帳户類型錯誤。
〖1389〗-已指定過多的安全標識。
〖1390〗-更改此用户密碼時需要交叉加密密碼。
〖1391〗-表明 ACL 未包含任何可承繼的組件。
〖1393〗-磁盤結構損壞且無法讀取。
〖1394〗-無任何指定登錄會話的用户會話項。
〖1395〗-正在訪問的服務有連接數目標授權限制。這時候已經無法再連接,原因是已經到達可接受的連接數目上限。
〖1396〗-登錄失敗: 該目標帳户名稱不正確。
〖1397〗-相互身份驗證失敗。該服務器在域控制器的密碼過期。
〖1398〗-在客户機和服務器之間有一個時間差。

GetLastError錯誤調試

Visual C++ 中,可以在監視窗口添加 $err,hr 一行來實時顯示錯誤。調試過程中,該項相當於在每次調用API函數之後調用GetLastError函數。其值由兩部分組成,一個是錯誤代碼十六進制),另一個是錯誤代碼所對應的文本提示。該方法支持多語言。 [1] 
參考資料
  • 1.    《Windows核心編程》(第五版)