A device is opened exclusively, so if another process (or even your process) already has the device open, a failed attempt to re-open the device will be indistinguishable from there being no device at all.starting new threads within the DLL)- you may not be able to poll this way very frequently.
Opening the device incurs some overhead (e.g.You must close this device with PassThruClose if your PassThruOpen was successful.You end up with a opened device when you may have just wanted to know if the device is there - even though you are not ready to use it.It is possible to use the PassThruOpen call and look for for success or failure to determine if a device is present, but this is undesirable for a number of reasons. The standard J2534 API does not effectively address this issue. It is customary in an application to give the user some feedback that a needed device is plugged in and ready to be used.