Lists all available NxCoreAPI.dll files on this computer
#define cszNxCoreListAPIDLLs "sNxCoreListAPIDLLs" typedef int (__stdcall *NxCoreListAPIDLLs) (unsigned int controlFlags, NxCoreCallbackAPIList stdcallback, void* pUserParam); int ListAPIDLLs( unsigned int controlFlags, NxCoreCallbackAPIList stdcallbacklist, void* pYourParam );
Here's an example of finding and printing all NxCoreAPI.dll files on this machine
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include "NxCoreAPI.h" #include "NxCoreAPI_Wrapper_C++.h" NxCoreClass NxCore; struct MyDLLList { static const int numDLLs = 512; NxCoreAPIDLLFile dllFiles[numDLLs]; unsigned int count; }; int __stdcall listDLL(void* pUserParam, const NxCoreAPIDLLFile* pNxDF) { MyDLLList* dllList = (MyDLLList*) pUserParam; if (dllList->count < dllList->numDLLs) memcpy(&dllList->dllFiles[dllList->count++], pNxDF, sizeof(*pNxDF)); return NxCALLBACKRETURN_CONTINUE; } void dumpDLLs() { MyDLLList dllList; dllList.count = 0; NxCore.ListAPIDLLs(0, listDLL, &dllList); for (unsigned int i = 0; i < dllList.count; i++) printf("%s\n", dllList.dllFiles[i].PathnameStrZ); } int main(int argc, char** argv) { if (!NxCore.LoadNxCore("NxCoreAPI64.dll") && !NxCore.LoadNxCore("NxCoreAPI.dll")) { printf("loading library failed\n"); return -1; } dumpDLLs(); return 0; } |
import net.nanex.NxCoreClass; class ListAPIDLLsSample extends NxCoreClass{ MyDLLList dllList= new MyDLLList(); class MyDLLList { int numDLLs = 512; NxCoreAPIDLLFile dllFiles[] = new NxCoreAPIDLLFile[numDLLs]; int count = 0; }; //callback function must be named OnUserListAPI for Java @Override public int OnUserListAPI(NxCoreAPIDLLFile nxDF) { if (dllList.count < dllList.numDLLs) dllList.dllFiles[dllList.count++] = nxDF; return defines.NxCALLBACKRETURN_CONTINUE; } void dumpDLLs() { //Only argument is ControlFlags for Java ListAPIDLLs(0); for (int i = 0; i < dllList.count; i++) System.out.println(dllList.dllFiles[i].PathnameStrZ); } public static void main(String args[]) { ListAPIDLLsSample nxCore = new ListAPIDLLsSample(); if (nxCore.LoadNxCore("NxCoreAPI64.dll") != 0){ nxCore.dumpDLLs(); } else System.out.println("loading library failed"); } } |
import NxCore dllFiles = [] def OnUserListAPI(nxDF): global dllFiles dllFiles.append(nxDF) return NxCore.NxCALLBACKRETURN_CONTINUE def dumpDLLs(): NxCore.ListAPIDLLs(0,OnUserListAPI); for i in range(len(dllFiles)): print(dllFiles[i].PathnameStrZ); if NxCore.LoadNxCore("NxCoreAPI64.dll"): dumpDLLs() else: print("loading library failed") |