Lists all available tapes on this computer
#define cszNxCoreListTapes "sNxCoreListTapes" typedef int (__stdcall *NxCoreListTapes) (unsigned int controlFlags, NxCoreCallbackTapeList stdcallback, void* pYourParam); int ListTapes( unsigned int controlFlags, NxCoreCallbackTapeList stdcallbacklist, void* pYourParam );
#define | Value | Comments |
---|---|---|
NxLTF_SEARCH_LOCAL | 0 | Only search local drives for NxCore tapes |
NxLTF_SEARCH_NETWORK | 1 | Search local and network drives for NxCore tapes |
NxLTF_SEARCH_REMOVEABLE | 2 | Search local and removable drives for NxCore tapes |
Here's an example of finding and printing all NxCore tapes on this machine
#define _CRT_SECURE_NO_WARNINGS #include <windows.h> #include <stdio.h> #include <NxCoreAPI.h> #include <NxCoreAPI_class.h> NxCoreClass nxCoreClass; struct MyTapeList { static const int numTapes = 512; NxCoreTapeFile tapeFiles[numTapes]; unsigned int count; }; int __stdcall listTape(void* pUserParam, const NxCoreTapeFile* pNxTF) { MyTapeList* tapeList = (MyTapeList*) pUserParam; if (tapeList->count < tapeList->numTapes) { memcpy(&tapeList->tapeFiles[tapeList->count++], pNxTF, sizeof(*pNxTF)); } return 0; } void dumpTapes() { MyTapeList tapeList; tapeList.count = 0; nxCoreClass.ListTapes(NxLTF_SEARCH_LOCAL, listTape, (void*) &tapeList); for (unsigned int i = 0; i < tapeList.count; i++) { printf("%s\n", tapeList.tapeFiles[i].PathnameStrZ); } } 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; } dumpTapes(); return 0; }