windows常见的函数返回值类型:
VOID: 一般用于那些极少数的不可能失败的函数。
BOOL:如果函数失败,返回0;否则,返回一个非0的值;因此检查时,最好是检验返回值是否为FALSE而不是TRUE。
HANDLE:如果函数失败,返回NULL或者INVALID_HANDLE_VVALUE的句柄值,它被定义为-1;成功,HANDLE将标志一个可操纵的句柄值。
PVOID:失败,返回NULL;成功,PVOID将标志一个数据块的内存地址。
LONG/DWORD: 主要用于计数的函数,如果失败通常返回0或-1。
--------------------------------------------------------------------------------------------------------------------------
在windows中,如果函数遇到错误,会通过“thread-local storage”的机制,将错误代码与“Calling thread” 关联到一起。通常通过DWORD GetLastError()函数,获得错误详情。
当然。这个函数,并不是用于获得错误详情的,他是用于获得最近一次操作的详细信息(包括成功和失败)。
-----------------------------------------------------------------------------------------------------------------------------
自定义错误代码:
首先通过VOID SetLastError(DWORD dwErrCode)设置线程上的一个错误代码,然后让自己的函数返回FALSE,INVAVID_HANDLE_VALUES,NULL或者其他合适值。
位 |
内容 |
含义 |
31-30 |
严重性 |
0=成功 1=信息 2=警告 3=错误 |
29 |
MS/客户 |
0=MS定义的代码 1=客户自定义的代码 |
28 |
0 |
保留字 |
27-16 |
facility代码 |
前256个值由MS保留 |
15-0 |
异常代码 |
|
分享到:
相关推荐
API 的错误处理包括函数的返回值、GetLastError、FormatMessage 等。 字符集与字符编码 字符集与字符编码是 Windows 编程中需要了解的知识点,包括 ASCII、DBCS、Unicode、UTF-8、MultiByteToWideChar、...
【大家网】Windows应用高级编程——C#编程篇是一份深度探讨C#在Windows平台下进行应用程序开发的教程,旨在帮助开发者提升技能,构建高效、稳定的桌面应用。这份资料主要来源于知名在线教育平台【www.TopSage.com】...
8. **错误处理**:程序设计中要考虑异常处理,确保在遇到错误时能给出合适的提示,而不是突然崩溃。 通过开发连连看小游戏,开发者可以深入理解Windows程序设计的原理,掌握GUI编程技巧,同时提升逻辑思维能力和...
总的来说,"深入浅出讲解Windows程序设计——Visual+C++课程"是一门系统性、实践性很强的课程,它不仅让学生掌握Visual C++编程语言和Windows平台的开发技巧,还能够帮助学生形成分析问题和解决问题的能力,为其在...
《C#编程——学生信息管理系统》 在信息技术领域,C#是一种广泛应用于Windows平台的面向对象的编程语言,由微软公司开发,旨在提高软件开发的效率和代码的可读性。本项目“学生信息管理系统”是利用C#编程实现的一...
《基于MFC的网络编程——Chat》 网络编程是计算机科学中的一个重要领域,它涉及到不同设备间的通信,而Socket套接字是实现网络通信的基础。本文将深入探讨如何使用Microsoft Foundation Class (MFC)库来构建一个...
4. **异常处理与故障恢复**:在内核模式下,错误处理必须非常谨慎,因为错误可能导致系统蓝屏。理解如何设置和处理异常,以及如何设计健壮的故障恢复机制,可以减少系统的不稳定性和提高容错性。 5. **内核调试技术...
2. **安全编程原则**:阐述编写安全代码的基本准则,如最小权限原则、错误处理、边界检查等,以降低漏洞出现的可能性。 3. **内存安全**:探讨Windows内核中的内存分配、释放机制,以及如何防止内存泄漏和缓冲区...
《精通C# 3.0与NET 3.5高级编程——LINQ、WCF、WPF、WF 课件》是一份深入学习.NET Framework 3.5平台下C#高级特性的宝贵资源,涵盖了Language Integrated Query (LINQ)、Windows Communication Foundation (WCF)、...
《精通C# 3.0与.NET 3.5高级编程——LINQ、WCF、WPF、WF 源代码》是一本深入探讨C#编程技术和.NET Framework 3.5核心组件的教材,其中包含了丰富的实践源代码。这本书旨在帮助开发者掌握C#语言的高级特性,以及利用...
源码中的磁盘驱动示例可能会涉及读写操作、错误处理、缓存管理等内容。学习这部分可以让你了解如何在内核模式下正确地进行I/O操作,以及如何处理可能的硬件异常。 文件系统驱动则是操作系统中处理文件和目录的软件...
7. **安全编程原则**:最小权限原则、纵深防御策略、错误处理和日志记录等都是内核安全编程的基本原则,应当贯穿整个开发过程。 8. **安全编程工具**:掌握静态代码分析工具和动态分析工具,如静态分析器、Fuzzing...
《电子科技大学网络编程——协议的程序接口》的学习教案主要探讨了网络编程中协议与程序接口的概念,特别是如何在操作系统层面实现TCP/IP协议。首先,它强调了操作系统如何为应用程序提供网络通信功能,以及这种功能...
3. **错误处理**:良好的错误处理机制可以防止程序在遇到异常时崩溃,而是安全地恢复或终止。这包括对异常和故障的捕获、记录和处理。 4. **输入验证**:内核接收到的任何输入,无论是来自硬件设备还是用户态软件,...
10. **异常处理**:MFC有自己的异常处理机制,通过CException类及其派生类来捕获和处理运行时错误。 掌握以上知识点,对于深入理解和高效开发MFC应用程序至关重要。通过阅读和实践书中提供的例子,开发者可以逐步...
2. **错误处理与调试**:掌握使用Visual Studio等工具进行程序调试的方法,学习编写异常处理代码,确保程序的健壮性。 3. **安全性设计**:理解Windows安全模型,学习如何使用Windows API中的安全功能来保护应用程序...
《天书夜读——从汇编语言到Windows内核编程》是一本深入探讨计算机底层原理和技术的书籍,尤其关注汇编语言与操作系统内核的交互。汇编语言是计算机科学的基础,它允许程序员直接控制硬件,是理解计算机工作原理的...
总之,《深入编程内幕——Visual C++.60》是一本全面的指南,不仅讲解了C++语言的高级特性,还涵盖了在Windows平台上开发的各个方面,是提升开发者技能和理解Windows程序设计精髓的宝贵资源。通过学习,读者将能更好...
同时,还会涉及模板、异常处理和STL(标准模板库)等核心特性。 2. **MFC框架**: MFC(Microsoft Foundation Classes)是VC++用于Windows编程的重要框架,书中会详细介绍MFC的架构、类库和如何使用MFC进行GUI开发。...