/*Copyright (c) 2014, Blizzardo1*/ // The following ifdef block is the standard way of creating macros which make exporting // from a DLL simpler. All files within this DLL are compiled with the Gwabble_EXPORTS // symbol defined on the command line. This symbol should not be defined on any project // that uses this DLL. This way any other project whose source files include this file see // Gwabble_API functions as being imported from a DLL, whereas this DLL sees symbols // defined with this macro as being exported. #include "stdafx.h" #include #define GWABBLE_EXPORTS #ifdef GWABBLE_EXPORTS #define GWABBLE_API __declspec(dllexport) #else #define GWABBLE_API __declspec(dllimport) #endif #define GWABBLE int WINAPI #define VWABBLE void WINAPI #define GWABBLE_PROTO (HWND mWnd, HWND aWnd, char* data, char* parms, BOOL show, BOOL nopause) #define MIRC_API(procname) GWABBLE procname GWABBLE_PROTO #define VMIRC_API(procname) GWABBLE_API VWABBLE procname #define IMIRC_API(procname) GWABBLE_API GWABBLE procname GWABBLE_PROTO //#define lustercopy(dest, szDest, src) StringCchCopy(dest, szDest, src); #define lustercopy(dest, src) strcpy_s(dest, sizeof(src), src); #define ret(x) { lustercopy(data, x); return 3; } #define returns(x) lustercopy(data, x); return 3; #pragma comment(linker, "/export:version") #pragma comment(linker, "/export:getSystemBuild") IShellLink *psl; IPersistFile *ppf; extern "C" { class GWABBLE_API CGwabble { public: CGwabble(void); }; VWABBLE LoadDll(void*); GWABBLE UnloadDll(int timeout); IMIRC_API(version); IMIRC_API(getSystemBuild); }