This is not a complete answer to this question, however this minimal code example is able to reproduce the Invalid Handle
error.
Ths example is using the ximea python API.
from ximea import xiapi
cam = xiapi.Camera()
cam.open_device()
cam.close_device()
cam.set_framerate(30.0)
This has different behaviour to the following code:
from ximea import xiapi
cam = xiapi.Camera()
cam.set_framerate(30.0)
Both example raise an error because the Camera.set_framerate
function is raising an error, however something about the initialising and the de-initalising of the camera sets up the Camera
object correctly so that the (? Correct) Invalid Handle
error is returned instead of the ERROR 103: Wrong parameter type
error being returned