本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
- 中文名
- 取最后错误
- 外文名
- GetLastError
- VB声明
- Declare Function
- 函数原型
- DWORD GetLastError
- 错误代码
- 〖0〗-操作成功完成。
DWORD GetLastError(VOID);
当函数垫誉腊立签体杠的返回值显示此调用将返回有用的数据时,应该立即调用 GetLastError 函数,这是因为当调用成功时,一些函数调用 GetLastError(0) 来删除掉通过函数调用失败设置的错误代码充欠蒸很多 Win32 API 中的函数当函数调用失败时设置线程的错误代码值。有几个函数当用于函数调用成功时,设置此代码值,函数调用失败,一般由一个返回错误代码值来显示。如 FALSE、NULL、0x境朽纹FFFF 或 C1,一些函数在调用成功的情况下调用GetLastError,这些情况已写在每个函数的参考页中。
错误代码是 32 位值(但是第31位是最重要的位),第29位是为应用程序定义的错误代码值,系统没有设置这种错误代码,如果为应用程序定义了一个错误代码,则设第29位的值为1,这表明错误代码已经被一个应用程序定义,并保证次错误代码不与系统定义的错误代码发生备海乎冲突。
为得到系统错误代码相应的错误信息串,可调用 FormatMessage 函数,有胶劝关全部的错误代码列牛欢剃表,请常见 ErrorCode 或 SDK 标题辩拔文件 WINERROR.H。
无
在 Windows 95 和 Windows 98 中因为 SetLastError 仅是 32 位的函数,实际上以 16 位代码来操作的 Win32 不能设置错误代码值,应当在调用这些函数时忽略错误代码。它们包括窗口管理函数,GDI 函数和 Multimedia(多媒体)函数。
〖0〗-操作成功完成。
〖1〗-功能错误。
〖2〗-系统找不到指定的文件。
〖3〗-系统找不到指定的路径。
〖4〗-系统无法打开文件。
〖5〗-拒绝访问。
〖6〗-句柄无效。
〖9〗-存储控制块地址无效。
〖10〗-环境错误。
〖11〗-试图加载格式错误的程序。
〖12〗-访问码无效。
〖13〗-数据无效。
〖16〗-无法删除目录。
〖17〗-系统无法将文件移到不同的驱动器。
〖18〗-没有更多文件。
〖19〗-介质受写入保护。
〖20〗-系统找不到指定的设备。
〖21〗-设备未就绪。
〖22〗-设备不识别此命令。
〖24〗-程序发出命令,但命令长度不正确。
〖28〗-打印机缺纸。
〖29〗-系统无法写入指定的设备。
〖30〗-系统无法从指定的设备上读取。
〖31〗-连到系统上的设备没有发挥作用。
〖32〗-进程无法访问文件,因为另一个程序正在使用此文件。
〖33〗-进程无法访问文件,因为另一个程序已锁定文件的一部分。
〖36〗-用来共享的打开文件过多。
〖39〗-磁盘已满。
〖50〗-不支持该请求。
〖51〗-远程计算机不可用 。
〖52〗-在网络上已有重复的名称。
〖54〗-网络忙。
〖58〗-指定的服务器无法运行请求的操作。
〖59〗-发生意外的网络错误。
〖61〗-打印机队列已满。
〖62〗-无法在服务器上获得用于保存待打印文件的空间。
〖63〗-删除等候打印的文件。
〖64〗-指定的网络名不再可用。
〖65〗-拒绝网络访问。
〖66〗-网络资源类型错误。
〖67〗-找不到网络名。
〖68〗-超过本地计算机网卡的名称限制。
〖69〗-超出网络 BIOS 会话限制。
〖71〗-当前已无法再同此远程计算机连接,因为已达到计算机的连接数目极限。
〖72〗-已暂停指定的打印机或磁盘设备。
〖80〗-文件存在。
〖82〗-无法创建目录或文件。
〖83〗-INT 24 失败。
〖84〗-无法取得处理此请求的存储空间。
〖85〗-本地设备名已在使用中。
〖86〗-指定的网络密码错误。
〖87〗-参数错误。
〖88〗-网络上发生写入错误。
〖89〗-系统无法在此时启动另一个进程。
〖101〗-另一个进程拥有独占的信号灯。
〖102〗-已设置信号灯且无法关闭。
〖104〗-无法在中断时请求独占的信号灯。
〖105〗-此信号灯的前一个所有权已结束。
〖107〗-程序停止,因为替代的软盘未插入。
〖109〗-管道已结束。
〖110〗-系统无法打开指定的设备或文件。
〖111〗-文件名太长。
〖114〗-目标内部文件的标识不正确。
〖117〗-应用程序制作的 IOCTL 调用错误。
〖119〗-系统不支持请求的命令。
〖121〗-信号灯超时时间已到。
〖124〗-系统调用级别错误。
〖125〗-磁盘没有卷标。
〖126〗-找不到指定的模块。
〖127〗-找不到指定的程序。
〖132〗-无法在指定的设备或文件上设置文件指针。
〖133〗-包含先前加入驱动器的驱动器无法使用 JOIN 或 SUBST 命令。
〖134〗-试图在已被合并的驱动器上使用 JOIN 或 SUBST 命令。
〖135〗-试图在已被合并的驱动器上使用 JOIN 或 SUBST 命令。
〖136〗-系统试图解除未合并驱动器的 JOIN。
〖137〗-系统试图解除未替代驱动器的 SUBST。
〖138〗-系统试图将驱动器合并到合并驱动器上的目录。
〖139〗-系统试图将驱动器替代为替代驱动器上的目录。
〖140〗-系统试图将驱动器合并到替代驱动器上的目录。
〖141〗-系统试图替代驱动器为合并驱动器上的目录。
〖142〗-系统无法在此时运行 JOIN 或 SUBST。
〖143〗-系统无法将驱动器合并到或替代为相同驱动器上的目录。
〖145〗-目录非空。
〖146〗-指定的路径已在替代中使用。
〖147〗-资源不足,无法处理此命令。
〖148〗-指定的路径无法在此时使用。
〖149〗-企图将驱动器合并或替代为驱动器上目录是上一个替代的目标的驱动器。
〖150〗-系统跟踪信息未在 CONFIG.SYS 文件中指定,或不允许跟踪。
〖151〗-为 DosMuxSemWait 指定的信号灯事件个数错误。
〖152〗-DosMuxSemWait 不可运行。已设置过多的信号灯。
〖153〗-DosMuxSemWait 清单错误。
〖155〗-无法创建另一个线程。
〖156〗-接收进程已拒绝此信号。
〖157〗-段已被放弃且无法锁定。
〖158〗-段已解除锁定。
〖159〗-线程标识的地址错误。
〖161〗-指定的路径无效。
〖162〗-信号已暂停。
〖164〗-无法在系统中创建更多的线程。
〖167〗-无法锁定文件区域。
〖170〗-请求的资源在使用中。
〖173〗-对于提供取消区域进行锁定的请求不明显。
〖174〗-文件系统不支持锁定类型的最小单元更改。
〖180〗-系统检测出错误的段号。
〖183〗-当文件已存在时,无法创建该文件。
〖186〗-传递的标志错误。
〖187〗-找不到指定的系统信号灯名称。
〖196〗-操作系统无法运行此应用程序。
〖197〗-操作系统当前的配置不能运行此应用程序。
〖199〗-操作系统无法运行此应用程序。
〖203〗-操作系统找不到已输入的环境选项。
〖209〗-正在发送的信号错误。
〖210〗-无法设置信号处理程序。
〖212〗-段已锁定且无法重新分配。
〖230〗-管道状态无效。
〖231〗-所有的管道实例都在使用中。
〖232〗-管道正在关闭中。
〖233〗-管道的另一端上无任何进程。
〖234〗-更多数据可用。
〖240〗-取消会话。
〖254〗-指定的扩展属性名无效。
〖255〗-扩展属性不一致。
〖258〗-等待的操作过时。
〖259〗-没有可用的数据了。
〖266〗-无法使用复制功能。
〖267〗-目录名无效。
〖276〗-装在文件系统上的扩展属性文件已损坏。
〖277〗-扩展属性表格文件已满。
〖278〗-指定的扩展属性句柄无效。
〖282〗-装入的文件系统不支持扩展属性。
〖288〗-企图释放并非呼叫方所拥有的多用户终端运行程序。
〖298〗-发向信号灯的请求过多。
〖300〗-操作锁定请求被拒绝。
〖301〗-系统接收了一个无效的操作锁定确认。
〖487〗-试图访问无效的地址。
〖534〗-算术结果超过 32 位。
〖535〗-管道的另一端有一进程。
〖536〗-等候打开管道另一端的进程。
〖994〗-拒绝访问扩展属性。
〖995〗-由于线程退出或应用程序请求,已放弃 I/O 操作。
〖996〗-重叠 I/O 事件不在信号状态中。
〖997〗-重叠 I/O 操作在进行中。
〖999〗-错误运行页内操作。
〖1002〗-窗口无法在已发送的消息上操作。
〖1003〗-无法完成此功能。
〖1004〗-无效标志。
〖1006〗-文件所在的卷已被外部改变,因此打开的文件不再有效。
〖1007〗-无法在全屏幕模式下运行请求的操作。
〖1008〗-试图引用不存在的令牌。
〖1011〗-无法打开配置注册表项。
〖1012〗-无法读取配置注册表项。
〖1013〗-无法写入配置注册表项。
〖1014〗-注册表数据库中的某一文件必须使用记录或替代复制来恢复。恢复成功完成。
〖1018〗-试图在标记为删除的注册表项上运行不合法的操作。
〖1019〗-系统无法配置注册表日志中所请求的空间。
〖1051〗-已发送停止控制到服务,该服务被其它正在运行的服务所依赖。
〖1052〗-请求的控件对此服务无效
〖1053〗-服务并未及时响应启动或控制请求。
〖1054〗-无法创建此服务的线程。
〖1055〗-锁定服务数据库。
〖1056〗-服务的实例已在运行中。
〖1057〗-帐户名无效或不存在,或者密码对于指定的帐户名无效。
〖1058〗-无法启动服务,原因可能是它被禁用或与它相关联的设备没有启动。
〖1059〗-指定了循环服务依存。
〖1060〗-指定的服务并未以已安装的服务存在。
〖1062〗-服务未启动。
〖1063〗-服务进程无法连接到服务控制器上。
〖1065〗-指定的数据库不存在。
〖1067〗-进程意外终止。
〖1068〗-依存服务或组无法启动。
〖1069〗-由于登录失败而无法启动服务。
〖1070〗-启动后,服务停留在启动暂停状态。
〖1072〗-指定的服务已标记为删除。
〖1073〗-指定的服务已存在。
〖1074〗-系统当前以最新的有效配置运行。
〖1075〗-依存服务不存在,或已被标记为删除。
〖1077〗-上次启动之后,仍未尝试引导服务。
〖1078〗-名称已用作服务名或服务显示名。
〖1079〗-此服务的帐户不同于运行于同一进程上的其它服务的帐户。
〖1080〗-只能为 Win32 服务设置失败操作,不能为驱动程序设置。
〖1082〗-这个服务尚未设置恢复程序。
〖1100〗-已达磁带的实际结尾。
〖1101〗-磁带访问已达文件标记。
〖1102〗-已达磁带或磁盘分区的开头。
〖1103〗-磁带访问已达一组文件的结尾。
〖1104〗-磁带上不再有任何数据。
〖1105〗-磁带无法分区。
〖1106〗-在访问多卷分区的新磁带时,当前的块大小不正确。
〖1107〗-当加载磁带时,找不到分区信息。
〖1108〗-无法锁定媒体弹出功能。
〖1109〗-无法卸载介质。
〖1110〗-驱动器中的介质可能已更改。
〖1111〗-复位 I/O 总线。
〖1112〗-驱动器中没有媒体。
〖1115〗-系统关机正在进行。
〖1117〗-因为 I/O 设备错误,所以无法运行此项请求。
〖1118〗-没有串行设备被初始化成功。串行驱动程序将卸载。
〖1121〗-因为已过超时时间,所以串行 I/O 操作完成。(IOCTL_SERIAL_XOFF_COUNTER 未达零。)
〖1122〗-在软盘上找不到 ID 地址标记。
〖1124〗-软盘控制器报告软盘驱动程序不能识别的错误。
〖1126〗-当访问硬盘时,重新校准操作失败,重试仍然失败。
〖1127〗-当访问硬盘时,磁盘操作失败,重试仍然失败。
〖1128〗-当访问硬盘时,即使失败,仍须复位磁盘控制器。
〖1129〗-已达磁带结尾。
〖1130〗-服务器存储空间不足,无法处理此命令。
〖1131〗-检测出潜在的死锁状态。
〖1141〗-系统 BIOS 改变系统供电状态的尝试失败。
〖1142〗-试图在一文件上创建超过系统允许数额的链接。
〖1150〗-指定程序要求更新的 Windows 版本。
〖1152〗-只能启动该指定程序的一个实例。
〖1153〗-该指定程序适用于旧的 Windows 版本。
〖1155〗-没有应用程序与此操作的指定文件有关联。
〖1156〗-在输送指令到应用程序的过程中出现错误。
〖1157〗-执行该应用程序所需的库文件之一无法找到。
〖1158〗-当前程序已使用了 Window 管理器对象的系统允许的所有句柄。
〖1160〗-指出的源元素没有媒体。
〖1161〗-指出的目标元素已包含媒体。
〖1162〗-指出的元素不存在。
〖1163〗-指出的元素是未显示的存储资源的一部分。
〖1165〗-设备显示在尝试进一步操作之前需要清除。
〖1166〗-设备显示它的门仍是打开状态。
〖1167〗-设备没有连接。
〖1168〗-找不到元素。
〖1169〗-索引中没有同指定项相匹配的项。
〖1170〗-在对象上不存在指定的属性集。
〖1172〗-跟踪(工作站)服务没运行。
〖1173〗-找不到卷 ID。
〖1175〗-无法删除要被替换的文件。
〖1176〗-无法将替换文件移到要被替换的文件。要被替换的文件保持原来的名称。
〖1177〗-无法将替换文件移到要被替换的文件。要被替换的文件已被重新命名为备份名称。
〖1178〗-卷更改记录被删除。
〖1179〗-卷更改记录服务不处于活动中。
〖1180〗-找到一份文件,但是可能不是正确的文件。
〖1181〗-日志项从日志中被删除。
〖1200〗-指定的设备名无效。
〖1201〗-设备当前未连接上,但其为一个记录连接。
〖1202〗-企图记录先前已被记录的设备。
〖1203〗-无任何网络提供程序接受指定的网络路径。
〖1204〗-指定的网络提供程序名称无效。
〖1206〗-网络连接配置文件损坏。
〖1207〗-无法枚举空载体。
〖1208〗-发生扩展错误。
〖1209〗-指定的组名格式无效。
〖1210〗-指定的计算机名格式无效。
〖1211〗-指定的事件名格式无效。
〖1212〗-指定的域名格式无效。
〖1213〗-指定的服务名格式无效。
〖1214〗-指定的网络名格式无效。
〖1215〗-指定的共享名格式无效。
〖1216〗-指定的密码格式无效。
〖1217〗-指定的消息名格式无效。
〖1218〗-指定的消息目标格式无效。
〖1219〗-提供的凭据与已存在的凭据集冲突。
〖1221〗-工作组或域名已由网络上的另一部计算机使用。
〖1222〗-网络未连接或启动。
〖1223〗-操作已被用户取消。
〖1224〗-请求的操作无法在使用用户映射区域打开的文件上执行。
〖1225〗-远程系统拒绝网络连接。
〖1226〗-网络连接已被适当地关闭了。
〖1228〗-地址仍未与网络终结点关联。
〖1229〗-企图在不存在的网络连接上进行操作。
〖1230〗-企图在使用中的网络连接上进行无效的操作。
〖1232〗-不能访问网络位置。有关网络排除故障的信息,请参阅 Windows 帮助。
〖1233〗-不能访问网络位置。有关网络排除故障的信息,请参阅 Windows 帮助。
〖1234〗-没有任何服务正在远程系统上的目标网络终结点上操作。
〖1235〗-请求被终止。
〖1236〗-由本地系统终止网络连接。
〖1237〗-操作无法完成。应该重试。
〖1239〗-试图在这个帐户未被授权的时间内登录。
〖1240〗-此帐户并未得到从这个工作站登录的授权。
〖1242〗-服务器已经注册。
〖1243〗-指定的服务不存在。
〖1244〗-因为用户还未被验证,不能执行所要求的操作。
〖1245〗-因为用户还未登录网络,不能执行所要求的操作。指定的服务不存在。
〖1246〗-正在继续工作。
〖1247〗-试图进行初始操作,但是初始化已完成。
〖1248〗-没有更多的本地设备。
〖1249〗-指定的站点不存在。
〖1251〗-只有连接到服务器上时,该操作才受支持。
〖1253〗-指定的用户没有一个有效的配置文件。
〖1254〗-Microsoft Small Business Server 不支持此操作。
〖1300〗-并非所有被引用的特权都指派给呼叫方。
〖1302〗-没有为该帐户特别设置系统配额限制。
〖1303〗-没有可用的加密密钥。返回了一个已知加密密钥。
〖1305〗-修订级别未知。
〖1306〗-表明两个修订级别是不兼容的。
〖1308〗-这个安全标识不能指派为对象的主要组。
〖1309〗-当前并未模拟客户的线程试图操作模拟令牌。
〖1310〗-组可能未被禁用。
〖1311〗-当前没有可用的登录服务器来服务登录请求。
〖1312〗-指定的登录会话不存在。可能已被终止。
〖1313〗-指定的特权不存在。
〖1314〗-客户没有所需的特权。
〖1315〗-提供的名称并非正确的帐户名形式。
〖1316〗-指定的用户已存在。
〖1317〗-指定的用户不存在。
〖1318〗-指定的组已存在。
〖1319〗-指定的组不存在。
〖1321〗-指定的用户帐户不是指定组帐户的成员。
〖1323〗-无法更新密码。提供作为当前密码的值不正确。
〖1324〗-无法更新密码。提供给新密码的值包含密码中不允许的值。
〖1325〗-无法更新密码。为新密码提供的值不符合字符域的长度、复杂性或历史要求。
〖1328〗-登录失败: 违反帐户登录时间限制。
〖1330〗-登录失败: 指定的帐户密码已过期。
〖1331〗-登录失败: 禁用当前的帐户。
〖1332〗-帐户名与安全标识间无任何映射完成。
〖1334〗-无更多可用的本地用户标识符(LUIDs)。
〖1335〗-对于该特别用法,安全 ID 的次级授权部分无效。
〖1337〗-安全 ID 结构无效。
〖1341〗-服务器当前已禁用。
〖1342〗-服务器当前已启用。
〖1343〗-提供给识别代号颁发机构的值为无效值。
〖1345〗-指定属性无效,或与整个群体的属性不兼容。
〖1346〗-指定的模拟级别无效, 或所提供的模拟级别无效。
〖1347〗-无法打开匿名级安全令牌。
〖1349〗-令牌的类型对其尝试使用的方法不适当。
〖1350〗-无法在与安全性无关联的对象上运行安全性操作。
〖1351〗-未能从域控制器读取配置信息,或者是因为机器不可使用,或者是访问被拒绝。
〖1353〗-域处于运行安全操作的错误状态。
〖1354〗-此操作只对域的主要域控制器可行。
〖1355〗-指定的域不存在,或无法联系。
〖1356〗-指定的域已存在。
〖1357〗-试图超出每服务器域个数的限制。
〖1359〗-出现了内部错误。
〖1361〗-安全描述符格式不正确 (绝对或自相关的)。
〖1362〗-请求操作只限制在登录进程中使用。调用进程未注册为一个登录进程。
〖1363〗-无法使用已在使用中的标识启动新的会话。
〖1365〗-登录会话并非处于与请求操作一致的状态中。
〖1366〗-登录会话标识已在使用中。
〖1367〗-登录请求包含无效的登录类型值。
〖1370〗-安全性数据库内部出现损坏。
〖1371〗-无法在内置帐户上运行此操作。
〖1372〗-无法在内置特殊组上运行此操作。
〖1373〗-无法在内置特殊用户上运行此操作。
〖1374〗-无法从组中删除用户,因为当前组为用户的主要组。
〖1375〗-令牌已作为主要令牌使用。
〖1377〗-指定的帐户名不是本地组的成员。
〖1378〗-指定的帐户名已是本地组的成员。
〖1379〗-指定的本地组已存在。
〖1380〗-登录失败: 未授予用户在此计算机上的请求登录类型。
〖1381〗-已超过在单一系统中可保存机密的最大个数。
〖1382〗-机密的长度超过允许的最大长度。
〖1385〗-登录失败: 未授予用户在此计算机上的请求登录类型。
〖1386〗-更改用户密码时需要交叉加密密码。
〖1387〗-由于成员不存在,无法将成员添加到本地组中,也无法从本地组将其删除。
〖1388〗-无法将新成员加入到本地组中,因为成员的帐户类型错误。
〖1389〗-已指定过多的安全标识。
〖1390〗-更改此用户密码时需要交叉加密密码。
〖1391〗-表明 ACL 未包含任何可承继的组件。
〖1393〗-磁盘结构损坏且无法读取。
〖1394〗-无任何指定登录会话的用户会话项。
〖1395〗-正在访问的服务有连接数目标授权限制。这时候已经无法再连接,原因是已经到达可接受的连接数目上限。
〖1396〗-登录失败: 该目标帐户名称不正确。