boxxie 发表于 昨天 22:58

C++源码转火山

本帖最后由 boxxie 于 2025-12-31 09:12 编辑

新手发贴,大大们请帮看看.
问题出在这句 struct _EXCEPTION_POINTERS* ExceptionInfo 这个参数不会写怎么转.
烦请大大帮转下.多谢了!

Xelloss0618 发表于 昨天 23:41

<火山程序 类型 = "通常" 版本 = 1 />

类 PEXCEPTION_POINTERS <公开 基础类 = 本地结构指针模板 折叠 @模板实现类 = "" @别名 = "PEXCEPTION_POINTERS"
      @视窗.外部头文件 = "winnt.h">
{
    变量 ExceptionRecord <公开 类型 = EXCEPTION_RECORD指针 @输出名 = "ExceptionRecord">
    变量 "// ContextRecord" <公开 类型 = CONTEXT指针 注释 = "懒得封了,别名可以只封一部分" @输出名 = "ContextRecord">
}

类 EXCEPTION_RECORD指针 <公开 基础类 = 本地结构指针模板 折叠 @模板实现类 = "" @别名 = "EXCEPTION_RECORD*">
{
    变量 ExceptionCode <公开 类型 = 无符号整数 @输出名 = "ExceptionCode">
    变量 ExceptionFlags <公开 类型 = 无符号整数 @输出名 = "ExceptionFlags">
    变量 ExceptionRecord <公开 类型 = EXCEPTION_RECORD指针 @输出名 = "ExceptionRecord">
    变量 ExceptionAddress <公开 类型 = 通用指针 @输出名 = "ExceptionAddress">
    变量 NumberParameters <公开 类型 = 无符号整数 @输出名 = "NumberParameters">
    变量 ExceptionInformation <公开 类型 = "变整数 " @输出名 = "ExceptionInformation">
}

类 例子 <公开>
{
    变量 HOOKADDR <公开 静态 类型 = 变整数>
    变量 old <公开 静态 类型 = 整数>

    方法 VECTORED_EXCEPTION_HANDLER1 <公开 静态 类型 = 整数>
    参数 ExceptionInfo <类型 = PEXCEPTION_POINTERS>
    {
      如果 ((变整数)ExceptionInfo.ExceptionRecord.ExceptionAddress == HOOKADDR)
      {
            old = 0
      }
      返回 (0)
    }
}

boxxie 发表于 1 小时前

:loveliness:
非常感谢您你回复.
多谢
页: [1]
查看完整版本: C++源码转火山