The concept of individual Libusb-1.0 sessions allows for your program to use two libraries (or dynamically load two modules) which both independently use libusb. This will prevent interference between the individual libusb users - for example MonoUsbApi.SetDebug will not affect the other user of the library, and SafeHandle.Close will not destroy resources that the other user is still using.
Sessions are created when a new MonoUsbSessionHandle instance is created and destroyed through SafeHandle.Close.
A MonoUsbSessionHandle instance must be created before calling any other Libusb-1.0 API function.
Session handles are equivalent to a libusb_context.