It is hard to be specific, but what I can say is:
The problem is after closing down my program (and calling hrdlCloseUnit() ) when I try to get a handle to the device it returns a devicehandle of 0. Once this occurs I've found I must unplug the device from the machine and plug it back in.
Currently I only Call HRDLCloseUnit() when my program is closing down, I haven't tested Closing the unit and then re initialising it within a single program instance.
When I call HRDLCloseUnit() it occasionally hangs for an indeterminate period of time without returning. Usually after a few minutes, I will kill the program, so I don't know whether given time it would return. Usually If I kill the program, the logger will be registered correctly when I initialise the device the next time I run the program.
Other times, HRDLCloseUnit() returns quickly (most of the time). In these cases, when I try to get a Device Handle the next time I start the program it will return a handle of zero.
Both of these cases have occurred with and without starting to collect data.
I only have tried running the device in streaming mode.
Initially I thought I had made a mistake with my code, but upon seeing a similar issue with picolog recorder, I thought I should inquire further.