From 06f6861130cf488e9e666677faddada24cb4cf9b Mon Sep 17 00:00:00 2001 From: David Rebbe Date: Thu, 7 Mar 2024 19:45:46 +0000 Subject: [PATCH] Legacy: Drop deprecated APIs Drop icsneoFindNeoDevices() and icsneoOpenNeoDevice() in favor of icsneoFindDevices() and icsneoOpenDevice(), respectively. Also fixes: - Failure to re-open a device after it has been closed with the C/legacy APIs - NumberOfClients not being updated - FIRE3 settings missing in icsneoGetDeviceSettingsType() --- api/icsneoc/icsneoc.cpp | 11 +- api/icsneolegacy/dllhelper/icsneo40DLLAPI.cpp | 8 +- api/icsneolegacy/dllhelper/icsneo40DLLAPI.h | 2 - api/icsneolegacy/icsneolegacy.cpp | 249 +++++++----------- device/device.cpp | 4 + examples/c/legacy/deviceSettings/main.c | 15 +- examples/c/legacy/lin/main.c | 13 +- include/icsneo/icsneolegacy.h | 24 +- platform/windows/icsneolegacy.def | 12 +- 9 files changed, 148 insertions(+), 190 deletions(-) diff --git a/api/icsneoc/icsneoc.cpp b/api/icsneoc/icsneoc.cpp index a2b69f3..91b4bdb 100644 --- a/api/icsneoc/icsneoc.cpp +++ b/api/icsneoc/icsneoc.cpp @@ -144,8 +144,17 @@ bool icsneo_closeDevice(const neodevice_t* device) { if((*it).get() == device->device) itemsToDelete.push_back(it); } - for(auto it : itemsToDelete) + for(auto it : itemsToDelete) { + // Move it back into connectable devices so we can open it again. + // Without this we will be unable to use/reopen the device due to + // icsneo_isValidNeoDevice / icsneo_openDevice checks against this + // container. Since its closed we are in a connectable state again. + // Notice: When we search again this will be cleaned up by + // icsneo_freeUnconnectedDevices() + connectableFoundDevices.push_back(*it); + // Remove it from the connected devices as we are no longer connected. connectedDevices.erase(it); + } return true; } diff --git a/api/icsneolegacy/dllhelper/icsneo40DLLAPI.cpp b/api/icsneolegacy/dllhelper/icsneo40DLLAPI.cpp index dafea23..f55fdaa 100644 --- a/api/icsneolegacy/dllhelper/icsneo40DLLAPI.cpp +++ b/api/icsneolegacy/dllhelper/icsneo40DLLAPI.cpp @@ -3,8 +3,6 @@ #include //Basic Functions -FINDNEODEVICES icsneoFindNeoDevices; -OPENNEODEVICE icsneoOpenNeoDevice; OPENDEVICE icsneoOpenDevice; CLOSEPORT icsneoClosePort; FREEOBJECT icsneoFreeObject; @@ -134,10 +132,6 @@ bool LoadDLLAPI(HINSTANCE &hAPIDLL) if((hAPIDLL = LoadLibrary(_T("icsneo40.dll"))) == NULL) return false; - - - icsneoFindNeoDevices = (FINDNEODEVICES) GetProcAddress(hAPIDLL, "icsneoFindNeoDevices"); - icsneoOpenNeoDevice = (OPENNEODEVICE) GetProcAddress(hAPIDLL, "icsneoOpenNeoDevice"); icsneoOpenDevice = (OPENDEVICE) GetProcAddress(hAPIDLL, "icsneoOpenDevice"); icsneoClosePort = (CLOSEPORT) GetProcAddress(hAPIDLL, "icsneoClosePort"); icsneoFreeObject = (FREEOBJECT) GetProcAddress(hAPIDLL, "icsneoFreeObject"); @@ -206,7 +200,7 @@ bool LoadDLLAPI(HINSTANCE &hAPIDLL) icsneoEnableDOIPLine = (ENABLEDOIPACTIVATIONLINE)GetProcAddress(hAPIDLL, "icsneoEnableDOIPLine"); - if(!icsneoFindNeoDevices || !icsneoOpenNeoDevice || !icsneoOpenDevice || !icsneoClosePort || !icsneoFreeObject || + if(!icsneoOpenDevice || !icsneoClosePort || !icsneoFreeObject || !icsneoTxMessages || !icsneoGetMessages || !icsneoWaitForRxMessagesWithTimeOut || !icsneoGetTimeStampForMsg || !icsneoEnableNetworkRXQueue || !icsneoGetISO15765Status || !icsneoTxMessagesEx || !icsneoSetISO15765RxParameters || !icsneoGetConfiguration || !icsneoSendConfiguration || diff --git a/api/icsneolegacy/dllhelper/icsneo40DLLAPI.h b/api/icsneolegacy/dllhelper/icsneo40DLLAPI.h index 4bed6e0..bbd0c43 100644 --- a/api/icsneolegacy/dllhelper/icsneo40DLLAPI.h +++ b/api/icsneolegacy/dllhelper/icsneo40DLLAPI.h @@ -114,8 +114,6 @@ typedef int (__stdcall *SCRIPTWRITEISO15765TXMESSAGE)(void * hObject, unsigned //Basic Functions -extern FINDNEODEVICES icsneoFindNeoDevices; -extern OPENNEODEVICE icsneoOpenNeoDevice; extern OPENDEVICE icsneoOpenDevice; extern CLOSEPORT icsneoClosePort; extern FREEOBJECT icsneoFreeObject; diff --git a/api/icsneolegacy/icsneolegacy.cpp b/api/icsneolegacy/icsneolegacy.cpp index d36c63c..db58439 100644 --- a/api/icsneolegacy/icsneolegacy.cpp +++ b/api/icsneolegacy/icsneolegacy.cpp @@ -14,7 +14,6 @@ #include "icsneo/communication/network.h" #include #include - #include #include @@ -27,6 +26,7 @@ using namespace icsneo; typedef uint64_t legacymaphandle_t; static std::map neodevices; +static std::map openneodevices; static const std::map mp_netIDToVnetOffSet = { {NETID_HSCAN, 1}, @@ -52,18 +52,6 @@ static const std::map mp_HWnetIDToCMnetID = { static unsigned long vnet_table[] = {0, PLASMA_SLAVE1_OFFSET, PLASMA_SLAVE2_OFFSET}; -static NeoDevice OldNeoDeviceFromNew(const neodevice_t* newnd) -{ - NeoDevice oldnd = {0}; - oldnd.DeviceType = newnd->type; - oldnd.SerialNumber = icsneo_serialStringToNum(newnd->serial); - oldnd.NumberOfClients = 0; - oldnd.MaxAllowedClients = 1; - static_assert(sizeof(neodevice_handle_t) == sizeof(oldnd.Handle), - "neodevice_handle_t size must be sizeof(int) for compatibility reasons"); - oldnd.Handle = newnd->handle; - return oldnd; -} static bool NeoMessageToSpyMessage(const neodevice_t* device, const neomessage_t& newmsg, icsSpyMessage& oldmsg) { @@ -318,120 +306,81 @@ static inline size_t GetVnetAgnosticNetid(size_t fullNetid) int LegacyDLLExport icsneoFindDevices(NeoDeviceEx* devs, int* devCount, unsigned int* devTypes, unsigned int devTypeCount, POptionsFindNeoEx* POptionsFindNeoEx, unsigned int* zero) { - if (!devs || !devCount) + // Match the legacy API maximum, this derives from the maximum COM Port on old windows versions. + constexpr int MAX_NEO_DEVICES = 255; + + // Validate arguments + if (!devCount && *devCount < 0) { return 0; - - if (*devCount < 0 || *devCount > 255) - return 0; - - // Find the devices without filtering by the device type - // We allow this to find more than the requested number, - // as we may filter out some devices. - constexpr const size_t MAX_DEVICES = 255; - NeoDevice foundDevices[MAX_DEVICES]; - int NumDevices = MAX_DEVICES; - - int filteredDeviceCount = 0; - - if (!icsneoFindNeoDevices(0, foundDevices, &NumDevices)) - return 0; - - for (auto i = 0; i < NumDevices; i++) - { - // Check if the next device would overrun the user's buffer - // We check this up here since the documentation allows zero - // to be specified. - if (filteredDeviceCount >= *devCount) - break; - - if (devTypes && devTypeCount) - { - for (unsigned int j = 0; j < devTypeCount; j++) - { - if (foundDevices[i].DeviceType == devTypes[j]) - { - devs[filteredDeviceCount++].neoDevice = foundDevices[i]; - break; - } - } - } - else - { - devs[filteredDeviceCount++].neoDevice = foundDevices[i]; - } } - - *devCount = filteredDeviceCount; - return 1; // If the function succeeds but no devices are found 1 will still be returned and devCount will equal 0 -} - -int LegacyDLLExport icsneoFindNeoDevices(unsigned long DeviceTypes, NeoDevice* pNeoDevice, int* pNumDevices) -{ - constexpr size_t MAX_DEVICES = 255; - size_t count = MAX_DEVICES; - - if (pNumDevices == nullptr) - return 0; - - if (pNeoDevice == nullptr) + // return the size only if devs is NULL. + if (!devs) { - icsneo_findAllDevices(nullptr, &count); - *pNumDevices = (int)count; + icsneo_findAllDevices(nullptr, (size_t*)devCount); return 1; } - - size_t bufferSize = (size_t)*pNumDevices; - if (*pNumDevices < 0 || bufferSize > MAX_DEVICES) - return 0; - - neodevice_t devices[MAX_DEVICES]; - icsneo_findAllDevices(devices, &count); - if (bufferSize < count) - count = bufferSize; - *pNumDevices = (int)count; - - for (size_t i = 0; i < count; i++) - { - pNeoDevice[i] = OldNeoDeviceFromNew(&devices[i]); // Write out into user memory - neodevices[uint64_t(devices[i].handle) << 32 | icsneo_serialStringToNum(devices[i].serial)] = devices[i]; // Fill the look up table + // shrink the number of devices allowed to find + if (*devCount > MAX_NEO_DEVICES) { + *devCount = MAX_NEO_DEVICES; } - + // Find all the neodevice_t devices + std::vector neoDevices(*devCount); + auto neoDevicesSize = neoDevices.size(); + icsneo_findAllDevices(neoDevices.data(), &neoDevicesSize); + neoDevices.resize(neoDevicesSize); + // Filter out the devices if needed + // No filtering needed + if (devTypes && devTypeCount > 0) { + neoDevices.erase( + std::remove_if( + neoDevices.begin(), + neoDevices.end(), + [&](const auto& iter) { + for (unsigned int i=0; i < devTypeCount; ++i) { + if (iter.type == devTypes[i]) { + return false; + } + } + return true; + } + ), + neoDevices.end() + ); + } + // Create a NeoDeviceEx From a neodevice_t + auto _createNeoDeviceExFrom = [](const neodevice_t* neoDevice) -> NeoDeviceEx { + NeoDeviceEx nde = {}; + nde.neoDevice.DeviceType = neoDevice->type; + nde.neoDevice.SerialNumber = icsneo_serialStringToNum(neoDevice->serial); + nde.neoDevice.NumberOfClients = 0; + nde.neoDevice.MaxAllowedClients = 1; + static_assert(sizeof(neodevice_handle_t) == sizeof(nde.neoDevice.Handle), + "neodevice_handle_t size must be sizeof(int) for compatibility reasons"); + nde.neoDevice.Handle = neoDevice->handle; + return nde; + }; + + // Create the NeoDeviceEx from the neodevice_t + auto i = 0; + for (const auto& neoDevice : neoDevices) { + // Fill the look up table + neodevices[uint64_t(neoDevice.handle) << 32 | icsneo_serialStringToNum(neoDevice.serial)] = neoDevice; + // Create the NeoDeviceEx + devs[i] = _createNeoDeviceExFrom(&neoDevice); + NeoDeviceEx* nde = &devs[i]; + ++i; + // Lookup the open NeoDeviceEx devices and match the NumberOfClients value if available. + for (auto& [neo_device, open_nde]: openneodevices) { + // SerialNumber should always be unique so lets compare against that. + if (nde->neoDevice.SerialNumber == open_nde->neoDevice.SerialNumber) { + nde->neoDevice.NumberOfClients = open_nde->neoDevice.NumberOfClients; + } + } + } + *devCount = (int)neoDevices.size(); return 1; } -int LegacyDLLExport icsneoOpenNeoDevice(NeoDevice* pNeoDevice, void** hObject, unsigned char* bNetworkIDs, int bConfigRead, int bSyncToPC) -{ - if (pNeoDevice == nullptr || hObject == nullptr) - return false; - - neodevice_t *device; - try - { - device = &neodevices.at(uint64_t(pNeoDevice->Handle) << 32 | pNeoDevice->SerialNumber); - } - catch (const std::out_of_range&) - { - return false; - } - - *hObject = device; - if (!icsneo_openDevice(device)) - return false; - - if (icsneo_isOnlineSupported(device)) { - if (!icsneo_setPollingMessageLimit(device, 20000)) - return false; - - if (!icsneo_enableMessagePolling(device)) - return false; - - if (!icsneo_goOnline(device)) - return false; - } - - return true; -} - int LegacyDLLExport icsneoOpenDevice( NeoDeviceEx* pNeoDeviceEx, void** hObject, @@ -454,20 +403,34 @@ int LegacyDLLExport icsneoOpenDevice( return false; } - *hObject = device; - if(!icsneo_openDevice(device)) + if (pNeoDeviceEx->neoDevice.NumberOfClients >= pNeoDeviceEx->neoDevice.MaxAllowedClients) { return false; + } + + *hObject = device; + if(!icsneo_openDevice(device)) { + return false; + } if (icsneo_isOnlineSupported(device)) { - if (!icsneo_setPollingMessageLimit(device, 20000)) + if (!icsneo_setPollingMessageLimit(device, 20000)) { + icsneo_closeDevice(device); return false; + } - if (!icsneo_enableMessagePolling(device)) + if (!icsneo_enableMessagePolling(device)) { + icsneo_closeDevice(device); return false; + } - if (!icsneo_goOnline(device)) + if (!icsneo_goOnline(device)) { + icsneo_closeDevice(device); return false; + } } + pNeoDeviceEx->neoDevice.NumberOfClients = 1; + // Add the open NeoDevice to the container so we can decrement NumberOfClients on close + openneodevices[device] = pNeoDeviceEx; return true; } @@ -476,8 +439,14 @@ int LegacyDLLExport icsneoClosePort(void* hObject, int* pNumberOfErrors) { if (!icsneoValidateHObject(hObject)) return false; + if (pNumberOfErrors) { + *pNumberOfErrors = 0; + } neodevice_t* device = reinterpret_cast(hObject); - + if (openneodevices.find(device) != openneodevices.end()) { + openneodevices[device]->neoDevice.NumberOfClients -= 1; + openneodevices.erase(device); + } return icsneo_closeDevice(device); } @@ -1013,20 +982,7 @@ int LegacyDLLExport icsneoScriptWriteAppSignal(void* hObject, unsigned int iInde return false; } -//Deprecated (but still suppored in the DLL) -int LegacyDLLExport icsneoOpenPortEx(void* lPortNumber, int lPortType, int lDriverType, int lIPAddressMSB, - int lIPAddressLSBOrBaudRate, int bConfigRead, unsigned char* bNetworkID, int* hObject) -{ - // TODO Implement - return false; -} -int LegacyDLLExport icsneoOpenPort(int lPortNumber, int lPortType, int lDriverType, unsigned char *bNetworkID, - unsigned char* bSCPIDs, int* hObject) -{ - // TODO Implement - return false; -} int LegacyDLLExport icsneoEnableNetworkCom(void* hObject, int Enable) { @@ -1040,19 +996,6 @@ int LegacyDLLExport icsneoEnableNetworkCom(void* hObject, int Enable) return icsneo_goOffline(device); } -int LegacyDLLExport icsneoFindAllCOMDevices(int lDriverType, int lGetSerialNumbers, int lStopAtFirst, int lUSBCommOnly, - int* p_lDeviceTypes, int* p_lComPorts, int* p_lSerialNumbers, int* lNumDevices) -{ - // TODO Implement - return false; -} - -int LegacyDLLExport icsneoOpenNeoDeviceByChannels(NeoDevice* pNeoDevice, void** hObject, unsigned char* uChannels, int iSize, - int bConfigRead, int iOptions) -{ - // TODO Implement - return false; -} int LegacyDLLExport icsneoGetVCAN4Settings(void* hObject, SVCAN4Settings* pSettings, int iNumBytes) { @@ -1137,6 +1080,12 @@ int LegacyDLLExport icsneoGetDeviceSettingsType(void* hObject, EPlasmaIonVnetCha case NEODEVICE_RED2: *pDeviceSettingsType = DeviceRed2SettingsType; break; + case NEODEVICE_FIRE3: + *pDeviceSettingsType = DeviceFire3SettingsType; + break; + case NEODEVICE_FIRE3_FLEXRAY: + *pDeviceSettingsType = DeviceFire3FlexraySettingsType; + break; default: return 0; } diff --git a/device/device.cpp b/device/device.cpp index 9807fd4..6655848 100644 --- a/device/device.cpp +++ b/device/device.cpp @@ -356,6 +356,10 @@ bool Device::close() { stopHeartbeatThread = true; + if (isMessagePollingEnabled()) { + disableMessagePolling(); + } + if(isOnline()) goOffline(); diff --git a/examples/c/legacy/deviceSettings/main.c b/examples/c/legacy/deviceSettings/main.c index e9129cc..fa41f06 100644 --- a/examples/c/legacy/deviceSettings/main.c +++ b/examples/c/legacy/deviceSettings/main.c @@ -37,18 +37,17 @@ int main() { printf("ICS icsneolegacy.dll version %u\n\n", ver); // Find and attempt to open device //legacy open device - int numDevices = 10; - NeoDevice devices[10]; - void* hObject; // holds a handle to the neoVI object + int numDevices = 255; + NeoDeviceEx devices[255] = {0}; + void* hObject = NULL; // holds a handle to the neoVI object int iRetVal = 0; - int deviceTypes = 0; int iResult = 0; - SDeviceSettings pSettings; + SDeviceSettings pSettings = {0}; - iRetVal = icsneoFindNeoDevices(deviceTypes, devices, &numDevices); - if(iRetVal) { + iRetVal = icsneoFindDevices(devices, &numDevices, NULL, 0, NULL, 0); + if(iRetVal && numDevices > 0) { // Attempt to open the selected device, enable message polling, and go online - iRetVal = icsneoOpenNeoDevice(&devices[0], &hObject, NULL, 1, 0); + iRetVal = icsneoOpenDevice(&devices[0], &hObject, NULL, 1, 0, NULL, 0); if(iRetVal) { puts("Device found and opened!\n"); } else { diff --git a/examples/c/legacy/lin/main.c b/examples/c/legacy/lin/main.c index 334ffcd..f07e921 100644 --- a/examples/c/legacy/lin/main.c +++ b/examples/c/legacy/lin/main.c @@ -31,17 +31,16 @@ int main() { printf("ICS icsneolegacy.dll version %u\n\n", ver); // Find and attempt to open device //legacy open device - int numDevices = 10; - NeoDevice devices[10]; - void* hObject; // holds a handle to the neoVI object + int numDevices = 255; + NeoDeviceEx devices[255] = {0}; + void* hObject = NULL; // holds a handle to the neoVI object int iRetVal = 0; - int deviceTypes = 0; int iResult = 0; - iRetVal = icsneoFindNeoDevices(deviceTypes, devices, &numDevices); - if(iRetVal) { + iRetVal = icsneoFindDevices(devices, &numDevices, NULL, 0, NULL, 0); + if(iRetVal && numDevices < 0) { // Attempt to open the selected device, enable message polling, and go online - iRetVal = icsneoOpenNeoDevice(&devices[0], &hObject, NULL, 1, 0); + iRetVal = icsneoOpenDevice(&devices[0], &hObject, NULL, 1, 0, NULL, 0); if(iRetVal) { printf("Device found and opened!\n"); } else { diff --git a/include/icsneo/icsneolegacy.h b/include/icsneo/icsneolegacy.h index 973b7e2..dc6f154 100644 --- a/include/icsneo/icsneolegacy.h +++ b/include/icsneo/icsneolegacy.h @@ -22,8 +22,10 @@ extern "C" { //Basic Functions extern int LegacyDLLExport icsneoFindDevices(NeoDeviceEx* pNeoDeviceEx, int* pNumDevices, unsigned int* DeviceTypes, unsigned int numDeviceTypes,POptionsFindNeoEx* pOptionsNeoEx, unsigned int* reserved); -extern int LegacyDLLExport icsneoFindNeoDevices(unsigned long DeviceTypes, NeoDevice* pNeoDevice, int* pNumDevices); -extern int LegacyDLLExport icsneoOpenNeoDevice(NeoDevice* pNeoDevice, void** hObject, unsigned char* bNetworkIDs, int bConfigRead, int bSyncToPC); +// icsneoFindNeoDevices was marked as obsolete in icsneo40 in 2016, Please move to icsneoFindDevices +// extern int LegacyDLLExport icsneoFindNeoDevices(unsigned long DeviceTypes, NeoDevice* pNeoDevice, int* pNumDevices); +// icsneoOpenNeoDevice was marked as obsolete in icsneo40 in 2016, Please move to icsneoOpenNeoDevice +// extern int LegacyDLLExport icsneoOpenNeoDevice(NeoDevice* pNeoDevice, void** hObject, unsigned char* bNetworkIDs, int bConfigRead, int bSyncToPC); extern int LegacyDLLExport icsneoOpenDevice(NeoDeviceEx* pNeoDeviceEx, void** hObject, unsigned char* bNetworkIDs, int bConfigRead, int iOptions, OptionsOpenNeoEx* stOptionsOpenNeoEx, unsigned long reserved); extern int LegacyDLLExport icsneoClosePort(void* hObject, int* pNumberOfErrors); extern void LegacyDLLExport icsneoFreeObject(void* hObject); @@ -133,13 +135,17 @@ extern int LegacyDLLExport icsneoScriptReadAppSignal(void* hObject, unsigned int extern int LegacyDLLExport icsneoScriptWriteAppSignal(void* hObject, unsigned int iIndex, double dValue); //Deprecated (but still supported in the DLL) -extern int LegacyDLLExport icsneoOpenPortEx(void* lPortNumber, int lPortType, int lDriverType, int lIPAddressMSB, int lIPAddressLSBOrBaudRate, int bConfigRead, unsigned char* bNetworkID, int* hObject); -extern int LegacyDLLExport icsneoOpenPort(int lPortNumber, int lPortType, int lDriverType, unsigned char* bNetworkID, unsigned char* bSCPIDs, int* hObject); -extern int LegacyDLLExport icsneoFindAllCOMDevices(int lDriverType, int lGetSerialNumbers, int lStopAtFirst, int lUSBCommOnly, int* p_lDeviceTypes, int* p_lComPorts, int* p_lSerialNumbers, int*lNumDevices); -extern int LegacyDLLExport icsneoOpenNeoDeviceByChannels(NeoDevice* pNeoDevice,void** hObject,unsigned char* uChannels,int iSize,int bConfigRead,int iOptions); -extern int LegacyDLLExport icsneoLockChannels(void* hObject, unsigned char* uChannels, int iSize); -extern int LegacyDLLExport icsneoUnlockChannels(void* hObject, unsigned char* uChannels, int iSize); -extern int LegacyDLLExport icsneoGetChannelLockStatus(void* hObject, unsigned char* uChannels, int iSize); +// icsneoOpenPortEx was marked as obsolete in icsneo40 in 2016, Please move to icsneoOpenNeoDevice +// extern int LegacyDLLExport icsneoOpenPortEx(void* lPortNumber, int lPortType, int lDriverType, int lIPAddressMSB, int lIPAddressLSBOrBaudRate, int bConfigRead, unsigned char* bNetworkID, int* hObject); +// icsneoOpenPort was marked as obsolete in icsneo40 in 2016, Please move to icsneoOpenNeoDevice +// extern int LegacyDLLExport icsneoOpenPort(int lPortNumber, int lPortType, int lDriverType, unsigned char* bNetworkID, unsigned char* bSCPIDs, int* hObject); +// icsneoFindAllCOMDevices was marked as obsolete in icsneo40 in 2016, Please move to icsneoOpenNeoDevice +// extern int LegacyDLLExport icsneoFindAllCOMDevices(int lDriverType, int lGetSerialNumbers, int lStopAtFirst, int lUSBCommOnly, int* p_lDeviceTypes, int* p_lComPorts, int* p_lSerialNumbers, int*lNumDevices); +// icsneoOpenNeoDeviceByChannels was marked as obsolete in icsneo40 in 2016, Please move to icsneoOpenNeoDevice +// extern int LegacyDLLExport icsneoOpenNeoDeviceByChannels(NeoDevice* pNeoDevice,void** hObject,unsigned char* uChannels,int iSize,int bConfigRead,int iOptions); +// extern int LegacyDLLExport icsneoLockChannels(void* hObject, unsigned char* uChannels, int iSize); +// extern int LegacyDLLExport icsneoUnlockChannels(void* hObject, unsigned char* uChannels, int iSize); +// extern int LegacyDLLExport icsneoGetChannelLockStatus(void* hObject, unsigned char* uChannels, int iSize); //Enable Network Com Functions extern int LegacyDLLExport icsneoEnableNetworkComEx(void* hObject, int iEnable, int iNetId); diff --git a/platform/windows/icsneolegacy.def b/platform/windows/icsneolegacy.def index 4a7f183..9fdb04c 100644 --- a/platform/windows/icsneolegacy.def +++ b/platform/windows/icsneolegacy.def @@ -2,7 +2,7 @@ LIBRARY icsneolegacy EXPORTS - icsneoOpenPort @21 + ; icsneoOpenPort @21 icsneoClosePort @22 icsneoGetMessages @23 icsneoTxMessages @24 @@ -12,12 +12,12 @@ EXPORTS icsneoSendConfiguration @30 icsneoGetSerialNumber @32 ; icsneoFindAllUSBDevices @33 - icsneoOpenPortEx @34 + ; icsneoOpenPortEx @34 icsneoStopSockServer @35 icsneoGetErrorInfo @36 icsneoGetDLLVersion @37 icsneoGetConfiguration @38 - icsneoFindAllCOMDevices @39 + ; icsneoFindAllCOMDevices @39 icsneoGetISO15765Status @40 icsneoSetISO15765RxParameters @41 ; icsneoSetPerformanceParameters @42 @@ -39,8 +39,8 @@ EXPORTS icsneoScriptStart @ 57 icsneoScriptStop @ 58 - icsneoFindNeoDevices @ 62 - icsneoOpenNeoDevice @ 63 + ; icsneoFindNeoDevices @ 62 + ; icsneoOpenNeoDevice @ 63 ; icsneoOpenNeoDeviceBySerialNumber @ 64 icsneoForceFirmwareUpdate @ 65 @@ -132,7 +132,7 @@ EXPORTS ; icsneoGetAllChipVersions @149 icsneoSetBitRateEx @ 150 ; icsneoScriptGetScriptStatusEx @ 151 - icsneoOpenNeoDeviceByChannels @ 152 + ; icsneoOpenNeoDeviceByChannels @ 152 ; icsneoGetChannelLockStatus @ 153 ; icsneoRequestEnterSleepMode @ 154 icsneoEnableNetworkComEx @ 155