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;
}