We use cookies on our website to provide you with the best possible service and to further improve our website. By clicking the "Accept All" button, you agree to the use of all cookies. You can limit the cookies used by clicking on "Accept selection". Further information and an option to revoke your selection can be found in our privacy policy.


These cookies are necessary for basic functionality. This allows you to register on our website and forum or order products with our online shop.


With these cookies, we collect anonymized usage data for our website. For example, we can see which content is interesting for our visitors and which resolutions are used. We use the information to optimize our website to provide you with the best possible user experience.


show more

PCAN-API 2 (CANAPI2.DLL) Version History

2019-02-06 - Version 2.59.0


  • Several improvements in log file output


  • Default Device changed from PEAKCAN to PCAN_USB
  • CAN_SetDeviceName() calls with parameter value "peakcan" fail on 64-bit systems with error CAN_ERR_ILLPARAMVAL so that the PEAK Hardware Control Panel can be used to override the Default Device for older software that has built in a switch to the legacy 32-bit PEAKCAN device

2016-04-01 - Version 2.58.0

  • Improvement: Closing the different devices when unloading the DLL could cause problems in multi-threaded applications

2015-10-19 - Version 2.57.3

  • Improvement: Some code optimizations

2015-05-12 - Version 2.57.2

  • Bug fix: Querying parameters CAN_PARAM_IPADDRESS and CAN_PARAM_PARTNO from PCAN drivers v4.x did not return correct values

2014-10-13 - Version 2.57.1

Bug fixes:

  • Some minor bug fixes

2014-09-04 - Version 2.57.0


  • New possibility to generate a Log file containing a protocol of all CAN-API function calls
  • Some minor bug fixes

2011-02-23 - Version 2.56.2

  • Small memory leak fixed

2010-05-12 - Version 2.56.1

  • Type of value parameter in CAN_Set..Param() functions was changed from DWORD to UINT_PTR, to make it possible to pass 64-bit pointers to the API DLL on 64-bit platforms
  • Added support for PCAN-USB Pro Error Generator feature
  • Added support for new device "PCAN_VIRTUAL"

2009-07-09 - Version 2.55.0

  • The initialization of the DLL is no longer carried out when loading the DLL, but only if the first API function is called
  • Bug  fix: If CAN_SetDeviceName was called with an unsupported device name parameter, the DLL used a previously opened device for subsequent API calls instead of returning the error code CAN_ERR_NODRIVER
  • Bug  fix: If the DLL was loaded after system start first from a Windows service using System account privileges, accessing the DLL functions was no longer possible with normal user privileges
  • Bug  fix: CAN_GetErrText did not return strings for the error codes CAN_ERR_UNKNOWN and CAN_ERR_ILLFUNCTION

2008-05-09 - Version 2.49.5

  • Supports a new data transfer mechanism between device driver and DLL that was introduced with PCAN drivers V2.49

2006-05-18 - Version 2.48.1

  • A call to CAN_SetDeviceName no longer closes a previously opened device if the device name is different. All devices are now being kept open until the DLL is unloaded. This reduces the overhead when switching repeatedly between devices
  • CAN_Read_Multi now uses a safe non-paged memory block to transfer received messages from the driver to the calling application, to make the data transfer safer and to prevent Blue Screens

2004-11-05 - Version 2.47.1

  • New API function CAN_RemoveAllMsgs

2004-10-29 - Version 2.47.0

  • New API function CAN_SetClientFilterEx

2004-04-23 - Version 2.46.0

  • New API functions CAN_RegisterMemory, CAN_GetMemory, and CAN_RemoveMemory to allocate non-paged memory. All function parameters are copied using a safe non-paged memory block before calling into the device driver

2003-11-26 - Version 2.43.1

  • Bug  fix: CAN_SetDriverParam and CAN_VersionInfo still did not use the Mutex object, which was introduced in V2.20.1 to serialize the API function calls

2003-01-31 - Version 2.42.0

  • Bug  fix: Conversion of Receive Event Handles did not work correctly for Non-WDM Windows 95/98 drivers

2002-12-16 - Version 2.41.1

  • New API function CAN_Read_Multi
  • Some API functions did not use the Mutex object, which was introduced in V2.20.1 to serialize the API function calls

2002-04-25 - Version 2.39.0

  • New API function CAN_SetClientFilter

2001-08-23 - Version 2.31.0

  • Bug  fix: The Receive Event Handle was not converted in dependency of the used platform before it was passed to the device driver

2001-06-26 - Version 2.20.4

  • The DLL reads the Registry value HKLM\Software\PEAK-System\CanApi2\Device when the DLL is loaded to determine the device that shall be opened by default

2001-04-27 - Version 2.20.2

  • Bug  fix: CAN_SetDeviceName did not close a previously opened device

2001-02-20 - Version 2.20.1

  • A Mutex object is used to serialize calls of the API functions

2000-11-28 - Version 2.20.0:

  • New API functions CAN_SetDriverParam and CAN_GetDriverParam