W32.01a.x

DLL UMF module library format specifications

Library

Type Win 32 Dynamic Link Library
Extension DLL
Platform Windows
Language W32 Assembly (c++, assembly)

DLL Offset

The dll requires to have the function:

extern "C" __declspec(dllexport) bool plglib_offset(void* host, int version);

void* host The pointer to the main umf object (umf*)
int version Number which represents the way (and version) UMF will handle this dll
1 UMF 0.1x

This template for the plglib_offset function is recommended

extern "C" bool plglib_offset (void* host, int version){
  if (version != 1)
    return false;
  umf* host2 = (umf*)host;
  [pluginclass]* [pluginclass]i = new [pluginclass];
  host2->[pladdmodule|pladdplugin]([pluginclass]i);
  return true;
}

note,
You`ll have to replace [pluginclass] with the name of the plugin/module class you want to use.
This format is also used for the plugins of UMF, that`s why you can use pladdmodule, or pladdplugin.
The w32.01a.x formats all use the UMF host as host, there is no specific wrapper as host in between. That is because the w32.01.a.x use the same module class format as UMF.

Module / Plugin classes

Which are returned using the pladdmodule, or pladdplugin have to be inherited from the module (for modules) class which is defined in UMF.h (which uses umf_lib.lib) and plugin (for plugins) which is also defined in UMF.h.


(c) The UMF-team 2003. (made by bws @ 27-11-2003)