ODBG2_Pluginuddrecord

Optional plugin callback function, called when OllyDbg reads .udd file for each record belonging to this plugin.

Plugin-owned records in the .udd file are indexed by the plugin name (reported in ODBG2_Pluginquery(), not the name of DLL!). If there are two or more plugins with the same name, records may be sent to the false plugin. Therefore plugins must always perform some kind of sanity check on the input data. A good (but insufficient) solution is to select random tags. For example, if both plugins use tags 1, 2 and 3, the collision is unavoidable. If tags are 121, 122 and 123 in one case and 9902, 9903 and 9904 in another, there will be no collision.


void ODBG2_Pluginuddrecord(t_module *pmod,int ismainmodule,ulong tag,ulong size,void *data);


Parameters:

pmod
(in) Pointer to the structure of type t_module that describes the processed module. Note that module descriptor may be incomplete. For example, information which is not yet extracted from the .udd file is definitely missing. However, most important information, like module name, base address and size is always defined. Plugin records are usually the last in the .udd file, but plugins must be prepared for the cases when this information is rearranged
ismainmodule
(in) 1 if this is the main module (usually belonging to the file with extention .exe) and 0 otherwise
tag
(in) Tag assigned to the record when data was saved
size
(in) Record size, bytes
data
(in) Pointer to the record


Return values:

None


See also:
Plugins, ODBG2_Pluginsaveudd()