鱼C论坛

 找回密码
 立即注册
查看: 2744|回复: 0

[API档案] GetExceptionInformation 宏

[复制链接]
发表于 2016-7-12 02:21:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
注:本文档由 Diu 翻译,小甲鱼校对。

原文链接 -> 传送门

宏功能:

GetExceptionInformation 宏用于获取机器相关的异常描述,以及当异常发生时,线程中存在的计算机状态的信息。该函数只能在异常处理程序的过滤表达式或异常处理块中被使用。

注意:Microsoft C/C++ 优化编译器会将该函数解释成一个关键字,并且在适当的异常处理语法之外的使用将产生编译错误。


宏原型:

  1. LPEXCEPTION_POINTERS GetExceptionInformation(void);
复制代码


参数解析:

这个宏没有参数。


返回值:

指向一个 EXCEPTION_POINTERS 结构的指针,该结构包含指向下列两个结构的指针:

  • EXCEPTION_RECORD 结构是包含异常描述的结构体
  • CONTEXT 结构是包含计算机状态信息的结构体


备注:

1. 如果在 __try 块的执行中一个异常发生,则过滤表达式(被调用函数中的)将被计算,并且它决定 __except 块是否将被执行。

2. 过滤表达式能够调用一个过滤函数。过滤函数不能调用 GetExceptionInformation 函数。然而,GetExceptionInformation 函数的返回值能够当作参数传递给该过滤函数。

3. 为了将 EXCEPTION_POINTERS 结构信息传递给异常处理块,过滤表达式或过滤函数必须拷贝该指针或数据到之后该句柄能够访问的安全存储区域。

4. 当嵌套处理程序存在时,直到某一个过滤表达式被计算为 EXCEPTION_EXECUTE_HANDLER 或 EXCEPTION_CONTINUE_EXECUTION 之前,每一个过滤表达式都会被计算。每一个过滤表达式都可以调用 GetExceptionInformation 函数来获取异常信息。


需求:

Minimum supported client Windows XP [仅桌面应用程序]
Minimum supported server Windows 2003 服务器版 [仅桌面应用程序]
Header Wingid.h (包含于 Windows.h)


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-30 18:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表