`
andyjackson
  • 浏览: 58363 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

WINDOWS核心编程——错误处理

阅读更多

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 异常代码

 

0
0
分享到:
评论

相关推荐

    Windows编程入门——字节跳动.pptx

    API 的错误处理包括函数的返回值、GetLastError、FormatMessage 等。 字符集与字符编码 字符集与字符编码是 Windows 编程中需要了解的知识点,包括 ASCII、DBCS、Unicode、UTF-8、MultiByteToWideChar、...

    [大家网]Windows应用高级编程——C#编程篇[www.TopSage.com]

    【大家网】Windows应用高级编程——C#编程篇是一份深度探讨C#在Windows平台下进行应用程序开发的教程,旨在帮助开发者提升技能,构建高效、稳定的桌面应用。这份资料主要来源于知名在线教育平台【www.TopSage.com】...

    windows程序设计——连连看

    8. **错误处理**:程序设计中要考虑异常处理,确保在遇到错误时能给出合适的提示,而不是突然崩溃。 通过开发连连看小游戏,开发者可以深入理解Windows程序设计的原理,掌握GUI编程技巧,同时提升逻辑思维能力和...

    深入浅出讲解Windows程序设计——Visual+C++课

    总的来说,"深入浅出讲解Windows程序设计——Visual+C++课程"是一门系统性、实践性很强的课程,它不仅让学生掌握Visual C++编程语言和Windows平台的开发技巧,还能够帮助学生形成分析问题和解决问题的能力,为其在...

    C#编程——学生信息管理系统

    《C#编程——学生信息管理系统》 在信息技术领域,C#是一种广泛应用于Windows平台的面向对象的编程语言,由微软公司开发,旨在提高软件开发的效率和代码的可读性。本项目“学生信息管理系统”是利用C#编程实现的一...

    基于MFC的网络编程——Chat

    《基于MFC的网络编程——Chat》 网络编程是计算机科学中的一个重要领域,它涉及到不同设备间的通信,而Socket套接字是实现网络通信的基础。本文将深入探讨如何使用Microsoft Foundation Class (MFC)库来构建一个...

    寒江独钓——Windows内核安全编程(光盘)

    4. **异常处理与故障恢复**:在内核模式下,错误处理必须非常谨慎,因为错误可能导致系统蓝屏。理解如何设置和处理异常,以及如何设计健壮的故障恢复机制,可以减少系统的不稳定性和提高容错性。 5. **内核调试技术...

    寒江独钓——Windows内核安全编程

    2. **安全编程原则**:阐述编写安全代码的基本准则,如最小权限原则、错误处理、边界检查等,以降低漏洞出现的可能性。 3. **内存安全**:探讨Windows内核中的内存分配、释放机制,以及如何防止内存泄漏和缓冲区...

    精通C# 3.0与NET 3.5高级编程——LINQ、WCF、WPF、WF 课件

    《精通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# 3.0与.NET 3.5高级编程——LINQ、WCF、WPF、WF 源代码》是一本深入探讨C#编程技术和.NET Framework 3.5核心组件的教材,其中包含了丰富的实践源代码。这本书旨在帮助开发者掌握C#语言的高级特性,以及利用...

    寒江独钓--windows内核安全编程光盘源码_寒江独钓windows内核安全编程_

    源码中的磁盘驱动示例可能会涉及读写操作、错误处理、缓存管理等内容。学习这部分可以让你了解如何在内核模式下正确地进行I/O操作,以及如何处理可能的硬件异常。 文件系统驱动则是操作系统中处理文件和目录的软件...

    寒江独钓——Windows内核安全编程 package2

    7. **安全编程原则**:最小权限原则、纵深防御策略、错误处理和日志记录等都是内核安全编程的基本原则,应当贯穿整个开发过程。 8. **安全编程工具**:掌握静态代码分析工具和动态分析工具,如静态分析器、Fuzzing...

    电子科技大学网络编程——协议的程序接口PPT学习教案.pptx

    《电子科技大学网络编程——协议的程序接口》的学习教案主要探讨了网络编程中协议与程序接口的概念,特别是如何在操作系统层面实现TCP/IP协议。首先,它强调了操作系统如何为应用程序提供网络通信功能,以及这种功能...

    寒江独钓——Windows内核安全编程.rar

    3. **错误处理**:良好的错误处理机制可以防止程序在遇到异常时崩溃,而是安全地恢复或终止。这包括对异常和故障的捕获、记录和处理。 4. **输入验证**:内核接收到的任何输入,无论是来自硬件设备还是用户态软件,...

    MFC扩展编程——提高学习的好书!

    10. **异常处理**:MFC有自己的异常处理机制,通过CException类及其派生类来捕获和处理运行时错误。 掌握以上知识点,对于深入理解和高效开发MFC应用程序至关重要。通过阅读和实践书中提供的例子,开发者可以逐步...

    Windows高级编程指南

    2. **错误处理与调试**:掌握使用Visual Studio等工具进行程序调试的方法,学习编写异常处理代码,确保程序的健壮性。 3. **安全性设计**:理解Windows安全模型,学习如何使用Windows API中的安全功能来保护应用程序...

    天书夜读——从汇编语言到windows内核编程

    《天书夜读——从汇编语言到Windows内核编程》是一本深入探讨计算机底层原理和技术的书籍,尤其关注汇编语言与操作系统内核的交互。汇编语言是计算机科学的基础,它允许程序员直接控制硬件,是理解计算机工作原理的...

    深入编程内幕——Visual C++.60

    总之,《深入编程内幕——Visual C++.60》是一本全面的指南,不仅讲解了C++语言的高级特性,还涵盖了在Windows平台上开发的各个方面,是提升开发者技能和理解Windows程序设计精髓的宝贵资源。通过学习,读者将能更好...

    深入编程内幕——Visual C++

    同时,还会涉及模板、异常处理和STL(标准模板库)等核心特性。 2. **MFC框架**: MFC(Microsoft Foundation Classes)是VC++用于Windows编程的重要框架,书中会详细介绍MFC的架构、类库和如何使用MFC进行GUI开发。...

Global site tag (gtag.js) - Google Analytics