Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Dewesoft C++ DLLTrenz Electronic C++ DLL
HANDLE m_handle = 0;

CCyUSBDevice *USBdevList = new CCyUSBDevice((HANDLE)0,CYUSBDRV_GUID,true);

The handles are internally managed by CyAPI.lib and there is no need to expose them to the user.

cout << endl << TE0300_ScanCards() << endl;cout << endl << TE_USB_FX2_ScanCards(USBdevList) << endl;
TE0300_Open(&m_handle, 0) !=0;TE_USB_FX2_Open(USBdevList, 0)!=0;
TE0300_Open(&m_handle, 1)!=0;TE_USB_FX2_Open(USBdevList, 1)!=0
TE0300_Close(&m_handle);

TE_USB_FX2_Close(USBdevList);

The TE_USB_FX2_Close() function takes an already initialized USB device list (USBDeviceList) and closes the handle to the Trenz Electronic device driver, if one is open. This function closes all internal handles of USBDeviceList.

TE0300_SendCommand(handle, cmd, cmd_length, reply, &reply_length, timeout)TE_USB_FX2_SendCommand(USBdevList, cmd, cmd_length, reply, reply_length, timeout)
Note
titleNote 1
TE_USB_FX2_Open(USBdevList, x) acts more as a SelectCard() function because the list (handles) of USB devices is already created in USBdevList.

 

The TE_USB_FX2_Close() function takes an already initialized USB device list (USBDeviceList) and closes the handle to the Trenz Electronic device driver, if one is open. This function closes all internal handles of USBDeviceList.

 

 

 

Note
titleWarning about derived variables

...

If TE_USB_FX2_Close() is called, then dynamically allocated members of the CCyUSBDevice class are de-allocated. And, all "shortcut" pointers to elements of the EndPoints array (ControlEndPt, IsocIn/OutEndPt, BulkIn/OutEndPt, InterruptIn/OutEndPt) are reset to NULL.

 

This function does not differ much from from its homonym of the previous TE0300DLL.dll; the only difference is that this function closes a handle (like TE0300DLL.dll) to the driver but the handle is not exposed to user because it is not exposed by USBDeviceList (unlike TE0300DLL.dll).

...