使用 DECLARE_API 宏

WdbgExts 扩展 DLL 中的每个扩展命令都是使用 DECLARE_API 宏声明的。 此宏在 wdbgexts.h 中定义。

扩展命令的代码的基本格式为:

DECLARE_API( myextension )
{
    code for myextension
}

DECLARE_API 宏为扩展命令设置标准接口。 例如,如果用户将任何参数传递给扩展命令,则整个参数字符串将存储为字符串,并且指向此字符串 (PCSTR) 的指针将作为 参数传递给扩展函数。

如果使用 64 位指针,则DECLARE_API宏的定义如下:

#define DECLARE_API(s)                             \
    CPPMOD VOID                                    \
    s(                                             \
        HANDLE                 hCurrentProcess,    \
        HANDLE                 hCurrentThread,     \
        ULONG64                dwCurrentPc,        \
        ULONG                  dwProcessor,        \
        PCSTR                  args                \
     )

如果使用 32 位指针,DECLARE_API保持不变,只不过 dwCurrentPc 的类型为 ULONG 而不是 ULONG64。 但是,对于正在写入的任何扩展,建议使用 64 位指针。 有关详细信息 ,请参阅 32 位指针和 64 位指针