DECLARE_API Macro の使用

WdbgExts 拡張 DLL の各拡張機能コマンドは、DECLARE_API マクロを使用して宣言されています。 このマクロは wdbgexts.h で定義されています。

拡張機能コマンドのコードの基本形式は次のとおりです。

DECLARE_API( myextension )
{
    code for myextension
}

DECLARE_API マクロは、拡張機能コマンドの標準インターフェイスを設定します。 たとえば、ユーザーが拡張機能コマンドに引数を渡した場合、引数文字列全体が文字列として格納され、この文字列へのポインター (PCSTR) が拡張関数に args として渡されます。

64 ビット ポインターを使用する場合、DECLARE_API マクロは次のように定義します。

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

32 ビット ポインターを使用する場合、DECLARE_API は同じままですが、dwCurrentPc は ULONG64 ではなく ULONG 型になります。 ただし、作成する拡張には、64 ビット ポインターを使用することをお勧めします。 詳細については、「32 ビット ポインターと 64 ビット ポインター」を参照してください。