/* $Id: APICheck.c $ */ /* A simple Windows program to display the details of the CryptoSys API core DLL */ /* $ $Date: 2010-08-09 21:12:00 $ */ #define WIN32_LEAN_AND_MEAN #define STRICT #include <windows.h> #include "diCryptoSys.h" // Compiler-specific explicit link to library // This pragma trick works in (old) MSVC and Borland for LIB in current dir. #if (_MSC_VER < 1400) #pragma comment(lib, ".\\diCryptoSys.lib") #endif // For MSVC 2005+, set a Linker dependency in Properties to diCryptoSys.lib: // Configuration Properties > Linker > Input > Additional Dependencies. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) { char msg[2048]; char compiled[255]; char modname[MAX_PATH]; long ver, lic, iswin64; /* Get details from API */ ver = API_Version(); API_CompileTime(compiled, sizeof(compiled)-1); API_ModuleName(modname, sizeof(modname)-1, 0); lic = API_LicenceType(0); /* New in version 4.3: check if DLL is compiled for Win64 */ iswin64 = API_LicenceType(API_GEN_PLATFORM); /* Returns 1 if X64 or 0 if Win32 */ /* Compose into a string */ wsprintf(msg, "Version=%ld\r\nLicence Type=%c\r\nModule=%s\r\nPlatform=%s\r\nCompiled=%s", ver, lic, modname, (iswin64 ? "X64" : "Win32"), compiled); /* Display */ MessageBox(NULL, msg, "CryptoSys API Check", 0); return 0; }