====== zfunc_Load ====== ===== Description ===== Load a Zeolite extension function from a plugin. ===== Files ===== ^ Declaration | ''Zeolite.h'' | ^ Implementation | ''Zeolite.cpp'' | ===== Function prototype ===== TYPE zfunc_Load(const char* lpFnName, const char* lpExportName, long rvalVarID, ZLIST hArgList); ===== Arguments ===== ^ Name ^ Type ^ Comment ^ | lpFnName | const char* | A handle to a C-style string containing the name of the function as is to appear in the Zeolite function list. Use the '.' (dot) character to delimit namespaces. | | lpFnName | const char* | A handle to a C-style string containing the name of the function as it is defined in the plugin source code. | | rvalVarID | long | The [[zeolite:varID|variable type ID]] of the return variable when the function is called. May be VarID_void if no var is returned. | | hArgListPrototype | ZLIST | A handle to the prototype of the argument list for the function. If null, no arguments are expected. | ===== Return value ===== A null handle if an error occurred, and a valid (non-null) handle to the function otherwise. ===== Comments ===== ==== zeoexport ==== For ''zfunc_Load'' to succeed, the function in the plugin must be declared using the ''zeoexport'' keyword, which disables name mangling and enforces C-style name decoration. Below is an example of a 'correct' function definition: zeoexport bool __stdcall MyFunctionName(ZVAR hRval, ZVAR hArgList) { // do your stuff here... return true; }