0: ptAddressList
  

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
};