Bagikan melalui


Menggunakan Makro DECLARE_API

Setiap perintah ekstensi dalam DLL ekstensi WdbgExts dinyatakan menggunakan makro DECLARE_API. Makro ini didefinisikan dalam wdbgexts.h.

Format dasar kode untuk perintah ekstensi adalah:

DECLARE_API( myextension )
{
    code for myextension
}

Makro DECLARE_API menyiapkan antarmuka standar untuk perintah ekstensi. Misalnya, jika pengguna meneruskan argumen apa pun ke perintah ekstensi, seluruh string argumen akan disimpan sebagai string, dan penunjuk ke string ini (PCSTR) akan diteruskan ke fungsi ekstensi sebagai argumen.

Jika Anda menggunakan pointer 64-bit, makro DECLARE_API didefinisikan sebagai berikut:

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

Jika Anda menggunakan pointer 32-bit, DECLARE_API tetap sama, kecuali bahwa dwCurrentPc akan berjenis ULONG alih-alih ULONG64. Namun, pointer 64-bit direkomendasikan untuk ekstensi apa pun yang Anda tulis. Lihat Pointer 32-Bit dan Pointer 64-Bit untuk detailnya.