Get the API version
#define cszNxCoreAPIVersion "sNxCoreAPIVersion"
typedef unsigned int (__stdcall *NxCoreAPIVersion) (void);
unsigned int APIVersion();
Here's an example of printing out the version of the DLL at program startup
#define _CRT_SECURE_NO_WARNINGS
#include <windows.h>
#include <stdio.h>
#include <NxCoreAPI.h>
#include <NxCoreAPI_class.h>
NxCoreClass nxCoreClass;
int __stdcall nxCoreCallback(const NxCoreSystem* pNxCoreSys, const NxCoreMessage* pNxCoreMessage)
{
switch (pNxCoreMessage->MessageType)
{
case NxMSG_STATUS:
{
switch (pNxCoreSys->Status)
{
case NxCORESTATUS_INITIALIZING:
{
unsigned int version = nxCoreClass.APIVersion();
printf("NxCoreAPI.dll version is %ld.%ld.%ld\n",
NxCORE_VER_MAJOR(version),
NxCORE_VER_MINOR(version),
NxCORE_VER_BUILD(version));
// also can do this
printf("NxCoreAPI.dll version is %ld.%ld.%ld\n",
NxCORE_VER_MAJOR(pNxCoreSys->DLLVersion),
NxCORE_VER_MINOR(pNxCoreSys->DLLVersion),
NxCORE_VER_BUILD(pNxCoreSys->DLLVersion));
break;
}
}
}
}
return NxCALLBACKRETURN_CONTINUE;
}
int main(int argc, char** argv)
{
if (!nxCoreClass.LoadNxCore("NxCoreAPI.dll") &&
!nxCoreClass.LoadNxCore("C:\\Program Files\\Nanex\\NxCoreAPI\\NxCoreAPI.dll"))
{
fprintf(stderr, "Can't find NxCoreAPI.dll\n");
return -1;
}
nxCoreClass.ProcessTape(argv[1], 0, NxCF_EXCLUDE_CRC_CHECK, 0, nxCoreCallback);
return 0;
}
Here's an example of find all NxCoreAPI.dlls on your system, and printing them, and a binary executable
#define _CRT_SECURE_NO_WARNINGS
#include <windows.h>
#include <stdio.h>
#include <NxCoreAPI.h>
#include <NxCoreAPI_class.h>
NxCoreClass nxCoreClass;
int __stdcall listDLL(void* pUserParam, const NxCoreAPIDLLFile* pNxDF)
{
printf("%ld/%.2ld/%.2ld %.2d:%.2d:%.2d version:%ld.%ld.%ld size:%ld | %s\n",
(long) pNxDF->BuildDate.Year, (long) pNxDF->BuildDate.Month, (long) pNxDF->BuildDate.Day,
(long) pNxDF->BuildTime.Hour, (long) pNxDF->BuildTime.Minute, (long) pNxDF->BuildTime.Second,
(long) pNxDF->verMajor, (long) pNxDF->verMinor, (long) pNxDF->verBuild,
(long) pNxDF->FileSize,
pNxDF->PathnameStrZ
);
return 0;
}
int main(int argc, char** argv)
{
const char* tape = "";
if (!nxCoreClass.LoadNxCore("NxCoreAPI.dll"))
{
nxCoreClass.LoadNxCore("C:\\Program Files\\Nanex\\NxCoreAPI\\NxCoreAPI.dll");
}
printf("Looking for all NxCoreAPI.dll files in your system\n");
nxCoreClass.ListAPIDLLs(0, listDLL, 0);
return 0;
}