In order for your module to be used within WinGate it needs to export a set of mandatory functions. The WinGate Module Wizard creates these for you if you use it to create your solution/project.
For GUI modules
Code Block | ||
---|---|---|
| ||
extern "C" __declspec(dllexport) int InitialiseGUI(HostAPI* pHost, HostModuleHandle hModule) |
See InitialiseGUI
For Engine modules
Code Block | ||
---|---|---|
| ||
extern "C" __declspec(dllexport) int Initialise(HostAPI* pHost, HostModuleHandle hModule, LPCWSTR szRegistryPath) |
See Initialise
For all modules
Code Block | ||
---|---|---|
| ||
extern "C" __declspec(dllexport) int ModuleGetAPIVersion() |
ModuleGetAPIVersion should return the version of the API that your module was compiled with. WinGate will check that the version returned from ModuleGetAPIVersion is the same as its own internal version. If they differ, the module will not be loaded.
Typically the function looks like so:
Code Block | ||
---|---|---|
| ||
extern "C" __declspec(dllexport) int ModuleGetAPIVersion()
{
return COMPONENTS_API_VERSION;
} |