int Plugingetuniquedatatype(void);

OllyDbg keeps small pieces of the data of variable size in the central depository called data table. Each kind of data has its own tag, or data type. For example, labels added by the Analyser are saved as NM_ANALYSE and switch cases - as records of type DT_CASE. Data types are scarce resource. As data table may contain tens of millions of records, type is kept in a 1-byte field. Of these, only 126 may be used by plugins. They are distributed dynamically, according to the "first asked - first served" rule.

During the initialization, plugins should call Plugingetuniquedatatype() as many times as necessary (best of all, inside ODBG2_Plugininit()). Received data types are valid for the whole session. Again: data types are very scarce resource! Always check whether there is some alternative way to keep your data!



Return values:

On success, returns data type that can be used by plugin in the calls to data function all the time till OllyDbg is closed. If all available data types are already distributed, returns DT_NONE

See also:
Data functions, plugins