模块名称:try_end异常处理
版本:1.0
------------------------------
.版本 2
.子程序 _forcenaked_异常处理结束, 逻辑型, 公开, try_end
.子程序 异常处理开始, 逻辑型, 公开, try 参数不提供请置0,这样用如果真(异常处理开始(&处理地址))+保护的代码+异常处理结束+如果真结束+其它代码
.参数 处理地址_参, 整数型, , 4个整型参数,整数型返回值,详见seh回调函数结构.
.数据类型 context, 公开
.成员 ContextFlags, 整数型, , , 该字段控制返回上下文结构中的内容
.成员 Dr0, 整数型, , , 调试寄存器,下同
.成员 Dr1, 整数型
.成员 Dr2, 整数型
.成员 Dr3, 整数型
.成员 Dr6, 整数型
.成员 Dr7, 整数型
.成员 ControlWord, 整数型, , , 浮点运算相关信息
.成员 StatusWord, 整数型
.成员 TagWord, 整数型
.成员 ErrorOffset, 整数型
.成员 ErrorSelector, 整数型
.成员 DataOffset, 整数型
.成员 DataSelector, 整数型
.成员 RegisterArea, 字节型, , "80"
.成员 Cr0NpxState, 整数型
.成员 SegGs, 整数型, , , 段寄存器4个
.成员 SegFs, 整数型
.成员 SegEs, 整数型
.成员 SegDs, 整数型
.成员 Edi, 整数型, , , 通用寄存器6个
.成员 Esi, 整数型
.成员 Ebx, 整数型
.成员 Edx, 整数型
.成员 Ecx, 整数型
.成员 Eax, 整数型
.成员 Ebp, 整数型, , , 控制寄存器
.成员 Eip, 整数型, , , 地址
.成员 SegCs, 整数型
.成员 EFlags, 整数型
.成员 Esp, 整数型
.成员 SegSs, 整数型
.成员 reserve, 字节型, , "512", 扩展寄存器MAXIMUM_SUPPORTED_EXTENSION=512
.数据类型 EXCEPTION_RECORD, 公开, EXCEPTION_ RECORD
.成员 异常代码, 整数型, , , 可以在windows.inc里查找STATUS_找到异常类型
.成员 异常标志, 整数型, , , 0可修复异常1不可修复2正在展开,不要试图修复什么,需要的话,释放必要的资源
.成员 EXCEPTION_RECORD, 整数型, , , 如果程序本身导致异常指向那个异常结构EXCEPTION_RECORD
.成员 发生的地址, 整数型, , , 发生异常的eip地址
.成员 参数数量, 整数型, , , 下面ExceptionInformation所含有的dword数目
.成员 ExceptionInformation, 整数型, , "1", 附加消息
.DLL命令 LocalSize_CONTEXT, 整数型, "kernel32", "LocalSize", 公开, 返回本地内存块大小
.参数 hMem, context
.DLL命令 LocalSize_lpexceptionrecord, 整数型, "kernel32", "LocalSize", 公开, 返回本地内存块大小
.参数 hMem, EXCEPTION_RECORD
.DLL命令 RtlMoveMemory_CONTEXT结构, , "kernel32.dll", "RtlMoveMemory", 公开
.参数 lpvDest, context
.参数 lpvSource, 整数型
.参数 cbCopy, 整数型
.DLL命令 RtlMoveMemory_EXCEPTION_RECORD结构, , "kernel32.dll", "RtlMoveMemory", 公开
.参数 lpvDest, EXCEPTION_RECORD
.参数 lpvSource, 整数型
.参数 cbCopy, 整数型
17254550072[下载].rar
|