/************************************************************************* File: runtime.cpp - Dynamic link functions. HISTORY 19Jun98 JET eliminate duplicate code with NO_EXTERN, reformat for easy maint. 16Jun98 JET add ncPpGetDouble and ncPpSetDouble for parametric programming. 13Apr98 JET Add AddErrRecordEx 02Apr98 JET Add DPR Numeric read/write functions. 13Mar98 JET Add DPRWriteBuffer 12Mar98 JET Add DPRVarBufChange, DPRBackground, DPRFloat, DPRLFixed 13Jan98 JET added NcGetErrorLevel for probing. 19Nov97 JET added PMACLMH definition. 02/02/1996 DES created. **************************************************************************/ #ifdef _NC #include #endif #pragma hdrstop #define NO_EXTERN #include "runtime.h" #undef NO_EXTERN //************************************************************************ // Function instants for runtime linking //************************************************************************ HINSTANCE hPmacLib = NULL; //---------------------------------------------------------------------------- /* FARPROC GetFuncAddress(HMODULE hModule, LPCSTR lpProcName) { char tmp[256]; FARPROC adr; adr = GetProcAddress(hModule,lpProcName); if (adr == NULL) { sprintf(tmp,"Error in loading library function: %s",lpProcName); MessageBox(NULL,tmp,"",MB_ICONSTOP | MB_OK); } return adr; } */ //---------------------------------------------------------------------------- void CloseRuntimeLink() { if (hPmacLib != NULL) { FreeLibrary(hPmacLib); hPmacLib = NULL; } } // Macro to make things consistant and easier #define DLL_LINK(var,type,name) var=(type)GetProcAddress(hPmacLib,name); \ if (var==NULL) goto load_err //---------------------------------------------------------------------------- HINSTANCE OpenRuntimeLink() { // Get handle to PMAC.DLL hPmacLib = LoadLibrary(DRIVERNAME); if (hPmacLib == NULL) { MessageBox(NULL,"Error in loading PMAC library.","PMAC",MB_ICONSTOP | MB_OK); return NULL; } else { // Get all COMM the function handles required DLL_LINK(DeviceOpen ,OPENPMACDEVICE ,"OpenPmacDevice"); DLL_LINK(DeviceSelect ,SELECTPMACDEVICE ,"PmacSelect"); DLL_LINK(DeviceNumberOfDevices ,NUMBEROFDEVICES ,"DrvNumberOfDevices"); DLL_LINK(DeviceClose ,CLOSEPMACDEVICE ,"ClosePmacDevice"); DLL_LINK(DeviceSetLanguage ,PMACSETLANGUAGE ,"PmacSetLanguage"); DLL_LINK(DeviceLMH ,PMACLMH ,"PmacLMH"); DLL_LINK(DeviceSetLanguageModule ,SETLANGUAGEMODULE ,"SetLanguageModule"); DLL_LINK(DeviceConfigure ,CONFIGURE ,"PmacConfigure"); DLL_LINK(DeviceLoadString ,SZLOADSTRINGA ,"szLoadStringA"); DLL_LINK(DeviceReadReady ,READREADY ,"PmacReadReady"); DLL_LINK(DeviceSendLine ,SENDLINEA ,"PmacSendLineA"); DLL_LINK(DeviceGetLine ,GETLINEA ,"PmacGetLineA"); DLL_LINK(DeviceSendChar ,SENDCHARA ,"PmacSendCharA"); DLL_LINK(DeviceGetResponse ,GETRESPONSEA ,"PmacGetResponseA"); DLL_LINK(DeviceGetControlResponse ,GETCONTROLRESPONSEA ,"PmacGetControlResponseA"); DLL_LINK(DeviceGetAsciiComm ,GETASCIICOMM ,"PmacGetAsciiComm"); DLL_LINK(DeviceSetAsciiComm ,SETASCIICOMM ,"PmacSetAsciiComm"); DLL_LINK(DeviceGetError ,GETERROR ,"PmacGetError"); DLL_LINK(DeviceDownload ,DOWNLOADA ,"PmacDownloadA"); DLL_LINK(DeviceINTRTerminate ,INTRTERMINATE ,"PmacINTRTerminate"); DLL_LINK(DeviceINTRWndMsgInit ,INTRWNDMSGINIT ,"PmacINTRWndMsgInit"); DLL_LINK(DeviceINTRFuncCallInit ,INTRFUNCCALLINIT ,"PmacINTRFuncCallInit"); //DLL_LINK(DeviceINTRSetupInterruptEvent ,INTRSETUPINTERRUPTEVENT ,"PmacINTRSetupInterruptEvent"); DLL_LINK(DeviceLock ,LOCKPMAC ,"LockPmac"); DLL_LINK(DeviceRelease ,RELEASEPMAC ,"ReleasePmac"); DLL_LINK(DeviceGetRomDate ,GETROMDATEA ,"PmacGetRomDateA"); DLL_LINK(DeviceGetRomVersion ,GETROMVERSIONA ,"PmacGetRomVersionA"); DLL_LINK(DeviceGetErrorStr ,GETERRORSTRA ,"PmacGetErrorStrA"); DLL_LINK(DeviceMultiDownload ,MULTIDOWNLOADA ,"PmacMultiDownloadA"); DLL_LINK(DeviceAddDownloadFile ,ADDDOWNLOADFILEA ,"PmacAddDownloadFileA"); DLL_LINK(DeviceRemoveDownloadFile ,REMOVEDOWNLOADFILEA ,"PmacRemoveDownloadFileA"); DLL_LINK(DeviceRenumberFiles ,RENUMBERFILESA ,"PmacRenumberFilesA"); DLL_LINK(DeviceRemoveDownloadFile ,REMOVEDOWNLOADFILEA ,"PmacRemoveDownloadFileA"); DLL_LINK(DeviceInBootStrapMode ,INBOOTSTRAP ,"PmacInBootStrapMode"); DLL_LINK(DeviceGetBuffer ,GETBUFFERA ,"PmacGetBufferA"); DLL_LINK(DevicePmacConfigure ,PMACCONFIGURE ,"PmacConfigure"); DLL_LINK(DeviceTestDPRAM ,TESTDPRAM ,"PmacDPRTest"); //DLL_LINK(DeviceGetType ,GETPMACTYPE ,"PmacGetPmacType"); DLL_LINK(DeviceTestDPRAMAbort ,TESTDPRABORT ,"PmacAbortDPRTest"); DLL_LINK(DeviceDPRBufLast ,DPRBUFLAST ,"PmacDPRBufLast"); DLL_LINK(DeviceDPRRotBuf ,DPRROTBUF ,"PmacDPRRotBuf"); DLL_LINK(DeviceDPRAsciiStrToRot ,DPRASCIISTRTOROTA ,"PmacDPRAsciiStrToRotA"); DLL_LINK(DeviceDPRRotBufInit ,DPRROTBUFINIT ,"PmacDPRRotBufInit"); DLL_LINK(DeviceDPRRotBufRemove ,DPRROTBUFREMOVE ,"PmacDPRRotBufRemove"); DLL_LINK(DeviceDPRRotBufChange ,DPRROTBUFCHANGE ,"PmacDPRRotBufChange"); DLL_LINK(DeviceDPRGetVBGServoTimer ,DPRGETVBGSERVOTIMER ,"PmacDPRGetVBGServoTimer"); DLL_LINK(DeviceDPRRealTime ,DPRREALTIME ,"PmacDPRRealTime"); DLL_LINK(DeviceDPRSetHostBusyBit ,DPRSETHOSTBUSYBIT ,"PmacDPRSetHostBusyBit"); DLL_LINK(DeviceDPRGetHostBusyBit ,DPRGETHOSTBUSYBIT ,"PmacDPRGetHostBusyBit"); DLL_LINK(DeviceDPRGetPMACBusyBit ,DPRGETPMACBUSYBIT ,"PmacDPRGetPmacBusyBit"); DLL_LINK(DeviceDPRGetServoTimer ,DPRGETSERVOTIMER ,"PmacDPRGetServoTimer"); DLL_LINK(DeviceDPRSetMotors ,DPRSETMOTORS ,"PmacDPRSetMotors"); DLL_LINK(DeviceDPRGetCommandedPos ,DPRGETCOMMANDEDPOS ,"PmacDPRGetCommandedPos"); DLL_LINK(DeviceDPRPosition ,DPRPOSITION ,"PmacDPRPosition"); DLL_LINK(DeviceDPRFollowError ,DPRFOLLOWERROR ,"PmacDPRFollowError"); DLL_LINK(DeviceDPRGetVel ,DPRGETVEL ,"PmacDPRGetVel"); DLL_LINK(DeviceDPRGetMasterPos ,DPRGETMASTERPOS ,"PmacDPRGetMasterPos"); DLL_LINK(DeviceDPRGetCompensationPos ,DPRGETCOMPENSATIONPOS ,"PmacDPRGetCompensationPos"); DLL_LINK(DeviceDPRGetPrevDAC ,DPRGETPREVDAC ,"PmacDPRGetPrevDAC"); DLL_LINK(DeviceDPRGetMoveTime ,DPRGETMOVETIME ,"PmacDPRGetMoveTime"); DLL_LINK(DeviceDPRAvailable ,DPRAVAILABLE ,"PmacGetDpramAvailable"); DLL_LINK(DeviceDPRResetDataReadyBit ,DPRRESETDATAREADYBIT ,"PmacDPRResetDataReadyBit"); DLL_LINK(DeviceDPRGetDataReadyBit ,DPRGETDATAREADYBIT ,"PmacDPRGetDataReadyBit"); DLL_LINK(DeviceDPRDoRealTimeHandshake ,DPRDOREALTIMEHANDSHAKE ,"PmacDPRUpdateRealTime"); DLL_LINK(DeviceDPRMotorServoStatusTurbo,DPRMOTORSERVOSTATUSTURBO ,"PmacDPRMotorServoStatusTurbo"); DLL_LINK(DeviceDPRRealTimeEx ,DPRREALTIMEEX ,"PmacDPRRealTimeEx"); DLL_LINK(DeviceDPRRealTimeSetMotor ,DPRREALTIMESETMOTOR ,"PmacDPRRealTimeSetMotor"); DLL_LINK(DeviceDPRBackground ,DPRBACKGROUND ,"PmacDPRBackground"); DLL_LINK(DeviceDPRBackgroundEx ,DPRBACKGROUNDEX ,"PmacDPRBackgroundEx"); //DLL_LINK(DeviceDPRBackgroundVar ,DPRBACKGROUNDVAR ,"PmacDPRBackGroundVar"); DLL_LINK(DeviceDPRGetTargetPos ,DPRGETTARGETPOS ,"PmacDPRGetTargetPos"); DLL_LINK(DeviceDPRGetBiasPos ,DPRGETBIASPOS ,"PmacDPRGetBiasPos"); DLL_LINK(DeviceDPRPe ,DPRPE ,"PmacDPRPe"); DLL_LINK(DeviceDPRTimeRemainingInMove ,DPRTIMEREMINMOVE ,"PmacDPRTimeRemInMove"); DLL_LINK(DeviceTimeRemInTATS ,DPRTIMEREMINTATS ,"PmacDPRTimeRemInTATS"); DLL_LINK(DeviceDPRCommanded ,DPRCOMMANDED ,"PmacDPRCommanded"); ///////////////////////////////// /////////////////////////////////////////// // DPR Control Panel ///////////////////////////////// /////////////////////////////////////////// DLL_LINK(DeviceDPRControlPanel ,DPRCONTROLPANEL ,"PmacDPRControlPanel"); DLL_LINK(DeviceDPRSetJogPosBit ,DPRSETJOGPOSBIT ,"PmacDPRSetJogPosBit"); DLL_LINK(DeviceDPRGetJogPosBit ,DPRGETJOGPOSBIT ,"PmacDPRGetJogPosBit"); DLL_LINK(DeviceDPRSetJogNegBit ,DPRSETJOGNEGBIT ,"PmacDPRSetJogNegBit"); DLL_LINK(DeviceDPRGetJogNegBit ,DPRGETJOGNEGBIT ,"PmacDPRGetJogNegBit"); DLL_LINK(DeviceDPRSetJogReturnBit ,DPRSETJOGRETURNBIT ,"PmacDPRSetJogReturnBit"); DLL_LINK(DeviceDPRGetJogReturnBit ,DPRGETJOGRETURNBIT ,"PmacDPRGetJogReturnBit"); DLL_LINK(DeviceDPRSetRunBit ,DPRSETRUNBIT ,"PmacDPRSetRunBit"); DLL_LINK(DeviceDPRGetRunBit ,DPRGETRUNBIT ,"PmacDPRGetRunBit"); DLL_LINK(DeviceDPRSetStopBit ,DPRSETSTOPBIT ,"PmacDPRSetStopBit"); DLL_LINK(DeviceDPRGetStopBit ,DPRGETSTOPBIT ,"PmacDPRGetStopBit"); DLL_LINK(DeviceDPRSetHomeBit ,DPRSETHOMEBIT ,"PmacDPRSetHomeBit"); DLL_LINK(DeviceDPRGetHomeBit ,DPRGETHOMEBIT ,"PmacDPRGetHomeBit"); DLL_LINK(DeviceDPRSetHoldBit ,DPRSETHOLDBIT ,"PmacDPRSetHoldBit"); DLL_LINK(DeviceDPRGetHoldBit ,DPRGETHOLDBIT ,"PmacDPRGetHoldBit"); DLL_LINK(DeviceDPRGetStepBit ,DPRGETSTEPBIT ,"PmacDPRGetStepBit"); DLL_LINK(DeviceDPRSetStepBit ,DPRSETSTEPBIT ,"PmacDPRSetStepBit"); DLL_LINK(DeviceDPRGetRequestBit ,DPRGETREQUESTBIT ,"PmacDPRGetRequestBit"); DLL_LINK(DeviceDPRSetRequestBit ,DPRSETREQUESTBIT ,"PmacDPRSetRequestBit"); DLL_LINK(DeviceDPRGetFOEnableBit ,DPRGETFOENABLEBIT ,"PmacDPRGetFOEnableBit"); DLL_LINK(DeviceDPRSetFOEnableBit ,DPRSETFOENABLEBIT ,"PmacDPRSetFOEnableBit"); DLL_LINK(DeviceDPRSetFOValue ,DPRSETFOVALUE ,"PmacDPRSetFOValue"); DLL_LINK(DeviceDPRGetFOValue ,DPRGETFOVALUE ,"PmacDPRGetFOValue"); DLL_LINK(DeviceGetVariableStr ,GETVARIABLESTRA ,"PmacGetVariableStrA"); DLL_LINK(DeviceGetVariableLong ,GETVARIABLELONG ,"PmacGetVariableLong"); DLL_LINK(DeviceGetVariableDouble ,GETVARIABLEDOUBLE ,"PmacGetVariableDouble"); DLL_LINK(DeviceGetIVariableLong ,GETIVARIABLELONG ,"PmacGetIVariableLong"); DLL_LINK(DeviceGetIVariableDouble ,GETIVARIABLEDOUBLE ,"PmacGetIVariableDouble"); DLL_LINK(DeviceSetIVariableLong ,SETIVARIABLELONG ,"PmacSetIVariableLong"); DLL_LINK(DeviceSetIVariableDouble ,SETIVARIABLEDOUBLE ,"PmacSetIVariableDouble"); DLL_LINK(DeviceFlush ,FLUSH ,"PmacFlush"); DLL_LINK(DeviceGetPlcStatus ,GETPLCSTATUS ,"PmacGetPlcStatus"); DLL_LINK(DeviceGetUserHandle ,GETUSERHANDLE ,"PmacGetUserHandle"); //DLL_LINK(DeviceGetType ,GETPMACTYPE ,"PmacGetPmacType"); DLL_LINK(DeviceDPRVarBufInit ,DPRVARBUFINIT ,"PmacDPRVarBufInit"); DLL_LINK(DeviceDPRVarBufInitEx ,DPRVARBUFINITEX ,"PmacDPRVarBufInitEx"); DLL_LINK(DeviceDPRVarBufRemove ,DPRVARBUFREMOVE ,"PmacDPRVarBufRemove"); DLL_LINK(DeviceDPRVarBufChange ,DPRVARBUFCHANGE ,"PmacDPRVarBufChange"); DLL_LINK(DeviceDPRBackground ,DPRBACKGROUND ,"PmacDPRBackground"); DLL_LINK(DeviceDPRWriteBuffer ,DPRWRITEBUFFER ,"PmacDPRWriteBuffer"); DLL_LINK(DeviceDPRVelocity ,DPRVELOCITY ,"PmacDPRVelocity"); DLL_LINK(DeviceDPRVarBufRead ,DPRVARBUFREAD ,"PmacDPRVarBufRead"); DLL_LINK(DeviceDPRVarBufRead ,DPRVARBUFREAD ,"PmacDPRVarBufRead"); DLL_LINK(DeviceDPRGetMotorMotion ,DPRGETMOTORMOTION ,"PmacDPRGetMotorMotion"); DLL_LINK(DeviceDPRGetProgramMode ,DPRGETPROGRAMMODE ,"PmacDPRGetProgramMode"); DLL_LINK(DeviceDPRSysInposition ,DPRSYSINPOSITION ,"PmacDPRSysInposition"); DLL_LINK(DeviceDPRRotBufOpen ,DPRROTBUFOPEN ,"PmacDPRRotBufOpen"); DLL_LINK(DeviceDPRProgRemaining ,DPRPROGREMAINING ,"PmacDPRProgRemaining"); DLL_LINK(DeviceDPRGetFeedRateMode ,DPRGETFEEDRATEMODE ,"PmacDPRGetFeedRateMode"); DLL_LINK(DeviceDPRGetBiasPos ,DPRGETBIASPOS ,"PmacDPRGetBiasPos"); DLL_LINK(DeviceWhyMotorNotMoving ,WHYMOTORNOTMOVING ,"whyMotorNotMoving"); DLL_LINK(DeviceWhyMotorNotMovingTURBO ,WHYMOTORNOTMOVINGTURBO ,"whyMotorNotMovingStringTURBO"); DLL_LINK(DeviceWhyMotorNotMovingString ,WHYMOTORNOTMOVINGSTRING ,"whyMotorNotMovingString"); DLL_LINK(DeviceWhyMotorNotMovingStringTURBO ,WHYMOTORNOTMOVINGSTRINGTURBO ,"whyMotorNotMovingStringTURBO"); DLL_LINK(DeviceWhyCsNotMovingString ,WHYCSNOTMOVINGSTRING ,"whyCSNotMovingString"); DLL_LINK(DeviceWhyCsNotMoving ,WHYCSNOTMOVING ,"whyCSNotMoving"); DLL_LINK(DeviceWhyCsNotMovingStringTURBO ,WHYCSNOTMOVINGSTRINGTURBO ,"whyCSNotMovingString"); DLL_LINK(DeviceWhyCsNotMovingTURBO ,WHYCSNOTMOVINGTURBO ,"whyCSNotMoving"); DLL_LINK(DeviceGetBitValue ,GETBITVALUE ,"getBitValue"); DLL_LINK(DeviceHexLong2 ,HEXLONG2 ,"hex_long2"); // Numeric read/write functions // Standard DLL_LINK(DeviceDPRGetWord ,DPRGETWORD ,"PmacDPRGetWord"); DLL_LINK(DeviceDPRSetWord ,DPRSETWORD ,"PmacDPRSetWord"); DLL_LINK(DeviceDPRGetDWord ,DPRGETDWORD ,"PmacDPRGetDWord"); DLL_LINK(DeviceDPRSetDWord ,DPRSETDWORD ,"PmacDPRSetDWord"); DLL_LINK(DeviceDPRGetFloat ,DPRGETFLOAT ,"PmacDPRGetFloat"); DLL_LINK(DeviceDPRSetFloat ,DPRSETFLOAT ,"PmacDPRSetFloat"); // Masking DLL_LINK(DeviceDPRDWordBitSet ,DPRDWORDBITSET ,"PmacDPRDWordBitSet"); DLL_LINK(DeviceDPRSetDWordBit ,DPRSETDWORDBIT ,"PmacDPRSetDWordBit"); DLL_LINK(DeviceDPRResetDWordBit ,DPRRESETDWORDBIT ,"PmacDPRResetDWordBit"); DLL_LINK(DeviceDPRSetDWordMask ,DPRSETDWORDMASK ,"PmacDPRSetDWordMask"); DLL_LINK(DeviceDPRGetDWordMask ,DPRGETDWORDMASK ,"PmacDPRGetDWordMask"); DLL_LINK(DeviceDPRFloat ,DPRFLOAT ,"PmacDPRFloat"); DLL_LINK(DeviceDPRLFixed ,DPRLFIXED ,"PmacDPRLFixed"); DLL_LINK(DeviceSERGetPort ,SERGETPORT ,"PmacSERGetPort"); DLL_LINK(DeviceSERSetPort ,SERSETPORT ,"PmacSERSetPort"); DLL_LINK(DeviceSERGetBaudrate ,SERGETBAUDRATE ,"PmacSERGetBaudrate"); DLL_LINK(DeviceSERSetBaudrate ,SERSETBAUDRATE ,"PmacSERSetBaudrate"); //DLL_LINK(DeviceGetDpramAvailable ,GETDPRAMAVAILABLE ,"PmacGetDpramAvailable"); // Data Gathering DLL_LINK(DeviceGetGatherPeriod ,GETGATHERPERIOD ,"PmacGetGatherPeriod"); DLL_LINK(DeviceGetGatherSampleTime ,GETGATHERSAMPLETIME ,"PmacGetGatherSampleTime"); DLL_LINK(DeviceSetGatherSampleTime ,SETGATHERSAMPLETIME ,"PmacSetGatherSampleTime"); DLL_LINK(DeviceGetNumGatherSources ,GETNUMGATHERSOURCES ,"PmacGetNumGatherSources"); DLL_LINK(DeviceGetNumGatherSamples ,GETNUMGATHERSAMPLES ,"PmacGetNumGatherSamples"); DLL_LINK(DeviceSetGatherPeriod ,SETGATHERPERIOD ,"PmacSetGatherPeriod"); DLL_LINK(DeviceSetGatherEnable ,SETGATHERENABLE ,"PmacSetGatherEnable"); DLL_LINK(DeviceGetGatherEnable ,GETGATHERENABLE ,"PmacGetGatherEnable"); DLL_LINK(DeviceSetGather ,SETGATHER ,"PmacSetGather"); DLL_LINK(DeviceSetQuickGather ,SETQUICKGATHER ,"PmacSetQuickGather"); DLL_LINK(DeviceSetQuickGatherEx ,SETQUICKGATHEREX ,"PmacSetQuickGatherEx"); DLL_LINK(DeviceGetGather ,GETGATHER ,"PmacGetGather"); DLL_LINK(DeviceClearGather ,CLEARGATHER ,"PmacClearGather"); DLL_LINK(DeviceInitGather ,INITGATHER ,"PmacInitGather"); DLL_LINK(DeviceClearGatherData ,CLEARGATHERDATA ,"PmacClearGatherData"); DLL_LINK(DeviceCollectGatherData ,COLLECTGATHERDATA ,"PmacCollectGatherData"); DLL_LINK(DeviceGetGatherPoint ,GETGATHERPOINT ,"PmacGetGatherPoint"); DLL_LINK(DeviceGetGatherSamples ,GETGATHERSAMPLES ,"PmacGetGatherSamples"); DLL_LINK(DeviceStartGather ,STARTGATHER ,"PmacStartGather"); DLL_LINK(DeviceStopGather ,STOPGATHER ,"PmacStopGather"); // Real time DLL_LINK(DeviceInitRTGather ,INITRTGATHER ,"PmacInitRTGather"); DLL_LINK(DeviceClearRTGather ,CLEARRTGATHER ,"PmacClearRTGather"); DLL_LINK(DeviceAddRTGather ,ADDRTGATHER ,"PmacAddRTGather"); DLL_LINK(DeviceCollectRTGatherData ,COLLECTRTGATHERDATA ,"PmacCollectRTGatherData"); // MACRO Station DLL_LINK(DeviceMACROGetIVariableLong ,MACROGETIVARIABLELONG ,"MACROGetIVariableLong"); DLL_LINK(DeviceMACROUploadConfig ,MACROUPLOADCONFIG ,"MACROUploadConfig"); #ifdef _NC // Get all NC the function handles required DLL_LINK(NcLoadString ,SZLOADNCSTRING ,"szLoadNCString"); DLL_LINK(NcSetOrgin ,SETORGIN ,"SetOrgin"); DLL_LINK(NcZeroShift ,ZEROSHIFT ,"ZeroShift"); DLL_LINK(NcCreateCncSystem ,CREATECNCSYSTEM ,"CreateCncSystem"); DLL_LINK(NcDeleteCncSystem ,DELETECNCSYSTEM ,"DeleteCncSystem"); DLL_LINK(NcDoCommand ,DOCOMMAND ,"DoCommand"); DLL_LINK(NcOpenTextFile ,OPENTEXTFILE ,"OpenTextFile"); DLL_LINK(NcCloseTextFile ,CLOSETEXTFILE ,"CloseTextFile"); DLL_LINK(NcRun ,RUNCNCSYSTEM ,"RunCncSystem"); DLL_LINK(NcStop ,STOPCNCSYSTEM ,"StopCncSystem"); DLL_LINK(NcDrawMotorCoord ,DRAWMOTORCOORD ,"DrawMotorCoord"); DLL_LINK(NcDrawMotorMeasure ,DRAWMOTORMEASURE ,"DrawMotorMeasure"); DLL_LINK(NcSetMotorCoord ,SETMOTORCOORD ,"SetMotorCoord"); DLL_LINK(NcSetCoord ,SETCOORD ,"SetCoord"); DLL_LINK(NcWriteCoordSysProfile ,WRITECOORDSYSPROFILE ,"WriteCoordSysProfile"); DLL_LINK(NcRewindTextBuffer ,REWINDTEXTBUFFER ,"RewindTextBuffer"); DLL_LINK(NcUpdateMotor ,UPDATEMOTOR ,"UpdateMotor"); DLL_LINK(NcSetRapidOverride ,SETRAPIDOVERRIDE ,"SetRapidOverride"); DLL_LINK(NcSetFeedOverride ,SETFEEDOVERRIDE ,"SetFeedOverride"); DLL_LINK(NcDrawMotor ,DRAWMOTOR ,"DrawMotor"); DLL_LINK(NcDisplayTextBufferRect ,DISPLAYTEXTBUFFERRECT ,"DisplayTextBufferRect"); DLL_LINK(NcGetVectorVelocity ,GETVECTORVELOCITY ,"GetVectorVelocity"); DLL_LINK(NcReadMdiBuffer ,READMDIBUFFER ,"ReadMdiBuffer"); DLL_LINK(NcClearTextBuffer ,CLEARTEXTBUFFER ,"ClearTextBuffer"); DLL_LINK(NcLoadMdiBuffer ,LOADMDIBUFFER ,"LoadMdiBuffer"); DLL_LINK(NcGetCoordSystem ,GETCOORDSYSTEM ,"GetCoordSystem"); DLL_LINK(NcGetMetricUnits ,GETMETRICUNITS ,"GetMetricUnits"); DLL_LINK(NcSetMetricUnits ,SETMETRICUNITS ,"SetMetricUnits"); DLL_LINK(NcGetMode ,GETMODE ,"GetMode"); DLL_LINK(NcGetTitle ,GETTITLE ,"GetTitle"); DLL_LINK(NcSetTitle ,SETTITLE ,"SetTitle"); DLL_LINK(NcGetAxisEnabled ,GETAXISENABLED ,"GetAxisEnabled"); DLL_LINK(NcGetNumCoordSystems ,GETNUMCOORDSYSTEMS ,"GetNumCoordSystems"); DLL_LINK(NcGetMachineLock ,GETMACHINELOCK ,"GetMachineLock"); DLL_LINK(NcSetMachineLock ,SETMACHINELOCK ,"SetMachineLock"); DLL_LINK(NcGetMachineType ,GETMACHINETYPE ,"GetMachineType"); DLL_LINK(NcGetProgramName ,GETPROGRAMNAME ,"GetProgramName"); DLL_LINK(NcGetProgramPath ,GETPROGRAMPATH ,"GetProgramPath"); DLL_LINK(NcGetProgramLoaded ,GETPROGRAMLOADED ,"GetProgramLoaded"); DLL_LINK(NcGetSemaphore ,GETSEMAPHORE ,"GetSemaphore"); DLL_LINK(NcGetProgramStatus ,GETPROGRAMSTATUS ,"GetProgramStatus"); DLL_LINK(NcGetProgramNumber ,GETPROGRAMNUMBER ,"GetProgramNumber"); DLL_LINK(NcGetCurrentLabel ,GETCURRENTLABEL ,"GetCurrentLabel"); DLL_LINK(NcGetJogSelect ,GETJOGSELECT ,"GetJogSelect"); DLL_LINK(NcSetJogSelect ,SETJOGSELECT ,"SetJogSelect"); DLL_LINK(NcGetSpeedSelect ,GETSPEEDSELECT ,"GetSpeedSelect"); DLL_LINK(NcSetSpeedSelect ,SETSPEEDSELECT ,"SetSpeedSelect"); DLL_LINK(NcGetDistanceSelect ,GETDISTANCESELECT ,"GetDistanceSelect"); DLL_LINK(NcSetDistanceSelect ,SETDISTANCESELECT ,"SetDistanceSelect"); DLL_LINK(NcGetJogStep ,GETJOGSTEP ,"GetJogStep"); DLL_LINK(NcGetHandleStep ,GETHANDLESTEP ,"GetHandleStep"); DLL_LINK(NcGetAxisPointer ,GETAXISPOINTER ,"GetAxisPointer"); DLL_LINK(NcGetSingleBlock ,GETSINGLEBLOCK ,"GetSingleBlock"); DLL_LINK(NcSetSingleBlock ,SETSINGLEBLOCK ,"SetSingleBlock"); DLL_LINK(NcGetBlockDelete ,GETBLOCKDELETE ,"GetBlockDelete"); DLL_LINK(NcSetBlockDelete ,SETBLOCKDELETE ,"SetBlockDelete"); DLL_LINK(NcGetOptionalStop ,GETOPTIONALSTOP ,"GetOptionalStop"); DLL_LINK(NcSetOptionalStop ,SETOPTIONALSTOP ,"SetOptionalStop"); DLL_LINK(NcGetSelectedAxisChar ,GETSELECTEDAXISCHAR ,"GetSelectedAxisChar"); DLL_LINK(NcGetCurrentGValue ,GETCURRENTGVALUE ,"GetCurrentGValue"); DLL_LINK(NcGetCurrentErrorLevel ,GETCURRENTERRORLEVEL ,"GetCurrentErrorLevel"); DLL_LINK(NcGetAxisSelect ,GETAXISSELECT ,"GetAxisSelect"); DLL_LINK(NcSetAxisSelect ,SETAXISSELECT ,"SetAxisSelect"); DLL_LINK(NcGetSelectedAxisPointer ,GETSELECTEDAXISPOINTER ,"GetSelectedAxisPointer"); DLL_LINK(NcGetInposition ,GETINPOSITION ,"GetInposition"); DLL_LINK(NcGetBufferMode ,GETBUFFERMODE ,"GetBufferMode"); DLL_LINK(NcGetSelectedBufferMode ,GETSELECTEDBUFFERMODE ,"GetSelectedBufferMode"); DLL_LINK(NcSetBufferMode ,SETBUFFERMODE ,"SetBufferMode"); DLL_LINK(NcGetProgramMode ,GETPROGRAMMODE ,"GetProgramMode"); DLL_LINK(NcGetSelectedAxisMotionMode ,GETSELECTEDAXISMOTIONMODE,"GetSelectedAxisMotionMode"); DLL_LINK(NcGetProgramMotionMode ,GETPROGRAMMOTIONMODE ,"GetProgramMotionMode"); DLL_LINK(NcGetBufferOpen ,GETBUFFEROPEN ,"GetBufferOpen"); DLL_LINK(NcGetBufferRemaining ,GETBUFFERREMAINING ,"GetBufferRemaining"); DLL_LINK(NcSetSpindleSelect ,SETSPINDLESELECT ,"SetSpindleSelect"); DLL_LINK(NcGetSpindleSelect ,GETSPINDLESELECT ,"GetSpindleSelect"); DLL_LINK(NcGetSpindleRPM ,GETSPINDLERPM ,"GetSpindleRPM"); DLL_LINK(NcSetSpindleRPM ,SETSPINDLERPM ,"SetSpindleRPM"); DLL_LINK(NcGetSpindleCSS ,GETSPINDLECSS ,"GetSpindleCSS"); DLL_LINK(NcGetSpindleActRPM ,GETSPINDLEACTRPM ,"GetSpindleActRPM"); DLL_LINK(NcGetSpindleMaxRPM ,GETSPINDLEMAXRPM ,"GetSpindleMaxRPM"); DLL_LINK(NcSetSpindleMaxRPM ,SETSPINDLEMAXRPM ,"SetSpindleMaxRPM"); DLL_LINK(NcGetSpindleCSSMode ,GETSPINDLECSSMODE ,"GetSpindleCSSMode"); DLL_LINK(NcSetSpindleCSSMode ,SETSPINDLECSSMODE ,"SetSpindleCSSMode"); DLL_LINK(NcSetSpindleOverride ,SETSPINDLEOVERRIDE ,"SetSpindleOverride"); DLL_LINK(NcGetSpindleOverride ,GETSPINDLEOVERRIDE ,"GetSpindleOverride"); DLL_LINK(NcSetSpindleOvrSelect ,SETSPINDLEOVRSELECT ,"SetSpindleOvrSelect"); DLL_LINK(NcGetSpindleOvrSelect ,GETSPINDLEOVRSELECT ,"GetSpindleOvrSelect"); DLL_LINK(NcGetFeedOverride ,GETFEEDOVERRIDE ,"GetFeedOverride"); DLL_LINK(NcSetFeedOverride ,SETFEEDOVERRIDE ,"SetFeedOverride"); DLL_LINK(NcGetFeedOvrSelect ,GETFEEDOVRSELECT ,"GetFeedOvrSelect"); DLL_LINK(NcSetFeedOvrSelect ,SETFEEDOVRSELECT ,"SetFeedOvrSelect"); DLL_LINK(NcGetRapidOverride ,GETRAPIDOVERRIDE ,"GetRapidOverride"); DLL_LINK(NcSetRapidOverride ,SETRAPIDOVERRIDE ,"SetRapidOverride"); DLL_LINK(NcGetRapidOvrSelect ,GETRAPIDOVRSELECT ,"GetRapidOvrSelect"); DLL_LINK(NcSetRapidOvrSelect ,SETRAPIDOVRSELECT ,"SetRapidOvrSelect"); DLL_LINK(NcGetCoolantSelect ,GETCOOLANTSELECT ,"GetCoolantSelect"); DLL_LINK(NcGetCoolantStatus ,GETCOOLANTSTATUS ,"GetCoolantStatus"); DLL_LINK(NcSetCoolantSelect ,SETCOOLANTSELECT ,"SetCoolantSelect"); DLL_LINK(NcGetTimebaseMode ,GETTIMEBASEMODE ,"GetTimebaseMode"); DLL_LINK(NcSetTimebaseMode ,SETTIMEBASEMODE ,"SetTimebaseMode"); DLL_LINK(NcGetFeedrate ,GETFEEDRATE ,"GetFeedrate"); DLL_LINK(NcSetFeedrate ,SETFEEDRATE ,"SetFeedrate"); DLL_LINK(NcGetDryRun ,GETDRYRUN ,"GetDryRun"); DLL_LINK(NcSetDryRun ,SETDRYRUN ,"SetDryRun"); DLL_LINK(NcGetThreadLead ,GETTHREADLEAD ,"GetThreadLead"); DLL_LINK(NcSetThreadLead ,SETTHREADLEAD ,"SetThreadLead"); DLL_LINK(NcGetSysToolNumber ,GETSYSTOOLNUMBER ,"GetSysToolNumber"); DLL_LINK(NcSetSysToolNumber ,SETSYSTOOLNUMBER ,"SetSysToolNumber"); DLL_LINK(NcGetTypeToolOffset ,GETTYPETOOLOFFSET ,"GetTypeToolOffset"); DLL_LINK(NcSetTypeToolOffset ,SETTYPETOOLOFFSET ,"SetTypeToolOffset"); DLL_LINK(NcGetNextToolNumber ,GETNEXTTOOLNUMBER ,"GetNextToolNumber"); DLL_LINK(NcSetNextToolNumber ,SETNEXTTOOLNUMBER ,"SetNextToolNumber"); DLL_LINK(NcGetToolHolderNumber ,GETTOOLHOLDERNUMBER ,"GetToolHolderNumber"); DLL_LINK(NcSetToolHolderNumber ,SETTOOLHOLDERNUMBER ,"SetToolHolderNumber"); DLL_LINK(NcGetToolInSpindle ,GETTOOLINSPINDLE ,"GetToolInSpindle"); DLL_LINK(NcSetToolInSpindle ,SETTOOLINSPINDLE ,"SetToolInSpindle"); DLL_LINK(NcDrawPositions ,DRAWPOSITIONS ,"DrawPositions"); DLL_LINK(NcDrawPositionsRect ,DRAWPOSITIONSRECT ,"DrawPositionsRect"); DLL_LINK(NcGetNumDisplayAxis ,GETNUMDISPLAYAXIS ,"GetNumDisplayAxis"); DLL_LINK(NcGetNumDisplayAxisTotal ,GETNUMDISPLAYAXISTOTAL ,"GetNumDisplayAxisTotal"); DLL_LINK(NcGetNumAxisTotal ,GETNUMAXISTOTAL ,"GetNumAxisTotal"); DLL_LINK(NcGetOffsetValue ,GETOFFSETVALUE ,"GetOffsetValue"); DLL_LINK(NcSetOffsetValue ,SETOFFSETVALUE ,"SetOffsetValue"); DLL_LINK(NcAutoSetWorkOffset ,AUTOSETOFFSET ,"AutoSetWorkOffset"); DLL_LINK(NcGetOffsetString ,GETOFFSETSTRING ,"GetOffsetString"); DLL_LINK(NcGetToolBlockHeight ,GETTOOLBLOCKHEIGHT ,"GetToolBlockHeight"); DLL_LINK(NcSetToolBlockHeight ,SETTOOLBLOCKHEIGHT ,"SetToolBlockHeight"); DLL_LINK(NcUpdateAllMotors ,UPDATEALLMOTORS ,"UpdateAllMotors"); DLL_LINK(NcGetPositionBias ,GETPOSITIONBIAS ,"GetPositionBias"); DLL_LINK(NcGetToolTipAngle ,GETTOOLTIPANGLE ,"GetToolTipAngle"); DLL_LINK(NcSetToolTipAngle ,SETTOOLTIPANGLE ,"SetToolTipAngle"); DLL_LINK(NcGetToolClearanceAngle ,GETTOOLCLEARANCEANGLE ,"GetToolClearanceAngle"); DLL_LINK(NcSetToolClearanceAngle ,SETTOOLCLEARANCEANGLE ,"SetToolClearanceAngle"); DLL_LINK(NcGetToolComp ,GETTOOLCOMP ,"GetToolComp"); DLL_LINK(NcSetToolComp ,SETTOOLCOMP ,"SetToolComp"); DLL_LINK(NcGetToolRadius ,GETTOOLRADIUS ,"GetToolRadius"); DLL_LINK(NcSetToolRadius ,SETTOOLRADIUS ,"SetToolRadius"); DLL_LINK(NcGetToolMetricUnits ,GETTOOLMETRICUNITS ,"GetToolMetricUnits"); DLL_LINK(NcSetToolMetricUnits ,SETTOOLMETRICUNITS ,"SetToolMetricUnits"); DLL_LINK(NcGetToolGeometryOffset ,GETTOOLGEOMETRYOFFSET ,"GetToolGeometryOffset"); DLL_LINK(NcSetToolGeometryOffset ,SETTOOLGEOMETRYOFFSET ,"SetToolGeometryOffset"); DLL_LINK(NcGetToolWearOffset ,GETTOOLWEAROFFSET ,"GetToolWearOffset"); DLL_LINK(NcSetToolWearOffset ,SETTOOLWEAROFFSET ,"SetToolWearOffset"); DLL_LINK(NcGetToolGuageOffset ,GETTOOLGUAGEOFFSET ,"GetToolGuageOffset"); DLL_LINK(NcSetToolGuageOffset ,SETTOOLGUAGEOFFSET ,"SetToolGuageOffset"); DLL_LINK(NcGetToolType ,GETTOOLTYPE ,"GetToolType"); DLL_LINK(NcSetToolType ,SETTOOLTYPE ,"SetToolType"); DLL_LINK(NcAutoSetToolOffset ,AUTOSETTOOLOFFSET ,"AutoSetToolOffset"); DLL_LINK(NcGetToolMaterial ,GETTOOLMATERIAL ,"GetToolMaterial"); DLL_LINK(NcSetToolMaterial ,SETTOOLMATERIAL ,"SetToolMaterial"); DLL_LINK(NcGetToolHand ,GETTOOLHAND ,"GetToolHand"); DLL_LINK(NcSetToolHand ,SETTOOLHAND ,"SetToolHand"); DLL_LINK(NcGetNumberOfControls ,GETNUMBEROFCONTROLS ,"GetNumberOfControls"); DLL_LINK(NcMetricConversion ,METRICCONVERSION ,"MetricConversion"); DLL_LINK(NcGetPartsTotal ,GETPARTSTOTAL ,"GetPartsTotal"); DLL_LINK(NcSetPartsTotal ,SETPARTSTOTAL ,"SetPartsTotal"); DLL_LINK(NcGetToolDirection ,GETTOOLDIRECTION ,"GetToolDirection"); DLL_LINK(NcSetToolDirection ,SETTOOLDIRECTION ,"SetToolDirection"); DLL_LINK(NcGetPartsRequired ,GETPARTSREQUIRED ,"GetPartsRequired"); DLL_LINK(NcSetPartsRequired ,SETPARTSREQUIRED ,"SetPartsRequired"); DLL_LINK(NcGetPartsCount ,GETPARTSCOUNT ,"GetPartsCount"); DLL_LINK(NcSetPartsCount ,SETPARTSCOUNT ,"SetPartsCount"); DLL_LINK(NcGetActiveGCode ,GETACTIVEGCODE ,"GetActiveGCode"); DLL_LINK(NcGetActiveGCodeStr ,GETACTIVEGCODESTR ,"GetActiveGCodeStr"); DLL_LINK(NcGetToolOffset ,GETTOOLOFFSET ,"GetToolOffset"); DLL_LINK(NcGetCompOffset ,GETCOMPOFFSET ,"GetCompOffset"); DLL_LINK(NcGetOperatingTime ,GETOPERATINGTIME ,"GetOperatingTime"); DLL_LINK(NcGetCycleTime ,GETCYCLETIME ,"GetCycleTime"); DLL_LINK(NcGetRunningTime ,GETRUNNINGTIME ,"GetRunningTime"); DLL_LINK(NcGetCycleCuttingTime ,GETCYCLECUTTINGTIME ,"GetCycleCuttingTime"); DLL_LINK(NcGetTotalCuttingTime ,GETTOTALCUTTINGTIME ,"GetTotalCuttingTime"); DLL_LINK(NcGetSpindleCtsRev ,GETSPINDLECTSREV ,"GetSpindleCtsRev"); DLL_LINK(NcSetSpindleCtsRev ,SETSPINDLECTSREV ,"SetSpindleCtsRev"); DLL_LINK(NcGetSpindleCssUnits ,GETSPINDLECSSUNITS ,"GetSpindleCSSUnits"); DLL_LINK(NcSetSpindleCssUnits ,SETSPINDLECSSUNITS ,"SetSpindleCSSUnits"); DLL_LINK(NcSetSpindleCSS ,SETSPINDLECSS ,"SetSpindleCSS"); DLL_LINK(NcGetSpindleGearRatio ,GETSPINDLEGEARRATIO ,"GetSpindleGearRatio"); DLL_LINK(NcSetSpindleGearRatio ,SETSPINDLEGEARRATIO ,"SetSpindleGearRatio"); DLL_LINK(NcGetSpindleCmdRPM ,GETSPINDLECMDRPM ,"GetSpindleCmdRPM"); DLL_LINK(NcGetSpindleDetect ,GETSPINDLEDETECT ,"GetSpindleDetect"); DLL_LINK(NcSetSpindleDetect ,SETSPINDLEDETECT ,"SetSpindleDetect"); DLL_LINK(NcGetSpindleAtZero ,GETSPINDLEATZERO ,"GetSpindleAtZero"); DLL_LINK(NcSetSpindleAtZero ,SETSPINDLEATZERO ,"SetSpindleAtZero"); DLL_LINK(NcGetSpindleAtSpeed ,GETSPINDLEATSPEED ,"GetSpindleAtSpeed"); DLL_LINK(NcSetSpindleAtSpeed ,SETSPINDLEATSPEED ,"SetSpindleAtSpeed"); DLL_LINK(NcGetSpindleFPR ,GETSPINDLEFPR ,"GetSpindleFPR"); DLL_LINK(NcSetSpindleFPR ,SETSPINDLEFPR ,"SetSpindleFPR"); DLL_LINK(NcGetInputDword ,GETINPUTDWORD ,"GetInputDword"); DLL_LINK(NcGetOutputDword ,GETOUTPUTDWORD ,"GetOutputDword"); DLL_LINK(NcGetCommandDword ,GETCOMMANDDWORD ,"GetCommandDword"); DLL_LINK(NcGetStatusDword ,GETSTATUSDWORD ,"GetStatusDword"); DLL_LINK(NcGetChangeDword ,GETCHANGEDWORD ,"GetChangeDword"); DLL_LINK(NcGetHomeReference ,GETHOMEREFERENCE ,"GetHomeReference"); DLL_LINK(NcSetHomeReference ,SETHOMEREFERENCE ,"SetHomeReference"); DLL_LINK(NcGetHomeInit ,GETHOMEINIT ,"GetHomeInit"); DLL_LINK(NcSetHomeInit ,SETHOMEINIT ,"SetHomeInit"); DLL_LINK(NcGetHomeMotorMask ,GETHOMEMOTORMASK ,"GetHomeMotorMask"); DLL_LINK(NcSetHomeMotorMask ,SETHOMEMOTORMASK ,"SetHomeMotorMask"); DLL_LINK(NcGetHomeInProgress ,GETHOMEINPROGRESS ,"GetHomeInProgress"); DLL_LINK(NcUpdateErrors ,UPDATEERRORS ,"UpdateErrors"); DLL_LINK(NcClearErrors ,CLEARERRORS ,"ClearErrors"); DLL_LINK(NcGetErrorLevel ,GETERRORLEVEL ,"GetErrorLevel"); DLL_LINK(NcGetNumOfErrors ,GETNUMOFERRORS ,"GetNumOfErrors"); DLL_LINK(NcGetErrorHeader ,GETERRORHEADER ,"GetErrorHeader"); DLL_LINK(NcGetErrorString ,GETERRORSTRING ,"GetErrorString"); DLL_LINK(NcGetErrorRecord ,GETERRORRECORD ,"GetErrorRecord"); DLL_LINK(NcAddErrorRecord ,ADDERRRECORD ,"AddErrRecord"); DLL_LINK(NcAddErrorRecordEx ,ADDERRRECORDEX ,"AddErrRecordEx"); DLL_LINK(NcDeleteErrorRecord ,DELETEERRRECORD ,"DeleteErrRecord"); DLL_LINK(NcClearErrLogFile ,CLEARERRLOGFILE ,"ClearErrLogFile"); DLL_LINK(NcSetErrLogFilePath ,SETERRLOGFILEPATH ,"SetErrLogFilePath"); DLL_LINK(NcGetErrLogFilePath ,GETERRLOGFILEPATH ,"GetErrLogFilePath"); DLL_LINK(NcGetErrorLogging ,GETERRORLOGGING ,"GetErrorLogging"); DLL_LINK(NcSetErrorLogging ,SETERRORLOGGING ,"SetErrorLogging"); DLL_LINK(NcGetNumOfTools ,GETNUMOFTOOLS ,"GetNumOfTools"); DLL_LINK(NcGetToolHolderNumber ,GETTOOLHOLDERNUMBER ,"GetToolHolderNumber"); DLL_LINK(NcSetToolHolderNumber ,SETTOOLHOLDERNUMBER ,"SetToolHolderNumber"); DLL_LINK(NcGetToolCompDia ,GETTOOLCOMPDIA ,"GetToolCompDia"); DLL_LINK(NcSetToolCompDia ,SETTOOLCOMPDIA ,"SetToolCompDia"); DLL_LINK(NcGetAxisFormatStr ,GETAXISFORMATSTR ,"GetAxisFormatStr"); DLL_LINK(NcSetAxisFormat ,SETAXISFORMAT ,"SetAxisFormat"); DLL_LINK(NcGetAxisPosition ,GETAXISPOSITION ,"GetAxisPosition"); DLL_LINK(NcOpenKey ,DRVOPENNCKEY ,"DrvOpenNcKey"); DLL_LINK(NcSetDword ,DRVSETNCDWORD ,"DrvSetNcDword"); DLL_LINK(NcGetDword ,DRVQUERYNCDWORD ,"DrvQueryNcDword"); DLL_LINK(NcSetDouble ,DRVSETNCDOUBLE ,"DrvSetNcDouble"); DLL_LINK(NcGetDouble ,DRVQUERYNCDOUBLE ,"DrvQueryNcDouble"); DLL_LINK(NcSetString ,DRVSETNCSTRING ,"DrvSetNcString"); DLL_LINK(NcGetString ,DRVQUERYNCSTRING ,"DrvQueryNcString"); DLL_LINK(NcSetBool ,DRVSETNCBOOL ,"DrvSetNcBool"); DLL_LINK(NcGetBool ,DRVQUERYNCBOOL ,"DrvQueryNcBool"); DLL_LINK(NcSetDncMode ,SETDNCMODE ,"SetDncMode"); DLL_LINK(NcGetDncMode ,GETDNCMODE ,"GetDncMode"); DLL_LINK(NcGetDncConfig ,GETDNCCONFIG ,"GetDncConfig"); DLL_LINK(NcSetDncConfig ,SETDNCCONFIG ,"SetDncConfig"); DLL_LINK(ncaudit ,NC_AUDIT ,"audit"); DLL_LINK(ncauditopen ,NC_AUDITOPEN ,"auditopen"); DLL_LINK(ncauditclose ,NC_AUDITCLOSE ,"auditclose"); DLL_LINK(NcOffsetsUpdate ,NCOFFSETSUPDATE ,"OffsetsUpdate"); DLL_LINK(NcOffsetsUpdateClear ,NCOFFSETSUPDATECLEAR ,"OffsetsUpdateClear"); DLL_LINK(ncGetNcdllVersionStr ,NC_GETNCDLLVERSIONSTR ,"GetNcdllVersionStr"); DLL_LINK(ncPpGetDouble ,PPGETDOUBLE ,"ppGetDouble"); DLL_LINK(ncPpSetDouble ,PPSETDOUBLE ,"ppSetDouble"); #endif return hPmacLib; load_err: FreeLibrary(hPmacLib); hPmacLib = NULL; return NULL; } }