struct MofIf { // MOF streams -- first variable is a pointer to to a MofStream structure int (*Stream_New)(void**); int (*Stream_Read)(void*, void*, uintL, uintL*); int (*Stream_Seek)(void*, ulong); int (*Stream_Tell)(void*, ulong*); int (*Stream_GetSize)(void*, ulong*); int (*Stream_GetAvailable)(void*, ulong*); }; private SharedLib _lib; public static void function(MofIf* _mof) initMof; public static int function(char* path) mimeOnFire; public void _loadLib() { if(_lib) return; scope(failure) { _unloadLib(); } _lib = SharedLib.load("platif-d.dll"); initMof = cast(typeof(initMof)) _lib.getSymbol("initMof"); mimeOnFire = cast(typeof(mimeOnFire)) _lib.getSymbol("mimeOnFire"); } public void _unloadLib() { if(_lib) { _lib.unload(); } initMof = null; mimeOnFire = null; }