Использование макроса 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-разрядные указатели .