Поделиться через


Использование макроса DECLARE_API

Каждая команда расширения в библиотеке DLL расширения WdbgExts объявляется с помощью макроса 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-разрядные указатели .