Why do I receive copies of my canWrite messages in the receive buffer of my other handle to the channel?

12/04/2022 by Kvaser

Multiple handles to the same channel work like a virtual bus extension.  When a message is successfully placed on the CAN bus through the canWrite call, a copy of the message is placed in every handle’s receive buffer associated with the same channel.  This is the default behavior.  You can change this behavior for a handle using the canIoCtl function with a func parameter value of canIOCTL_SET_LOCAL_TXECHO.  See the API documentation for more detail.