With this plugintype you create a new plugin menu on the rightclick menu of the addresslist.
When the user clicks the menu item your callback routine will get information about the selected
record if one is selected and will give you the ability to change the address, and description.
callback definition:
typedef
BOOL
(
__stdcall
*CEP_PLUGINTYPE0)(
struct
PLUGINTYPE0_RECORD
*SelectedRecord);
return TRUE if you edited the description or address
definition of PLIGINTYPE0_RECORD:
struct
PLUGINTYPE0_RECORD
{
char
*interpretedaddress;
//pointer to a 255 bytes long string (0 terminated)
ULONG address;
//this is a read-only representaion of the address. Change interpretedaddress
if you want to change this
BOOL ispointer;
//readonly
int
countoffsets;
//readonly
ULONG *offsets;
//array of dwords ranging from 0 to countoffsets-1 (readonly)
char
*description;
//pointer to a 255 bytes long string
char
valuetype;
//0=byte, 1=word, 2=dword, 3=float, 4=double, 5=bit, 6=int64, 7=string
char
size;
//stringlength or bitlength;
};
Pointer to structure of init you have to pass:
struct
PLUGINTYPE0_INIT
{
char
* name;
//0 terminated string describing the name for the user's menu item
CEP_PLUGINTYPE0 callbackroutine;
//pointer to a callback routine of the type 0
plugin
};