Table of Contents


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

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


    return 0;