API Documentation


Converts a string index into an pre-defined null-terminated ASCII string.

NOTE: These strings are a part of the tape, not the dll, so on older tapes you may have less indexes available than on newer tapes, but the resulting values will be the same.

NOTE: Defined strings are loaded after NxCORESTATUS_INITIALIZING status callback.

    #define cszNxCoreGetDefinedString "sNxCoreGetDefinedString"
    typedef const char* (__stdcall *NxCoreGetDefinedString) (int ixTable, int ixString);

    const char* GetDefinedString(
        int                             ixTable,
        int                             ixString



One of values as defined in reference_Tables.html


A zero-based number that indexes into one of the String Tables indexed by ixTable.


Here's an example of printing the first exchange as soon as we're sure that the string tables are loaded

#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_RUNNING:
                    static bool needToPrint = true;
                    if (needToPrint && pNxCoreSys->nxTime.MsOfDay > 0)
                        needToPrint = false;
                        printf("%s\n", nxCoreClass.GetDefinedString(NxST_EXCHANGE, 1));



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;