I'm using a home-grown application that uses an external USB I/O device as part of a lights-out unmanned infinite loop application. The problem arises when the PC is placed in hibernate mode. Upon restarting, the I/O device is not restored into a proper state, nor does the application detect any problem. The result of this is that the application is unable to properly communicate with the device. Is there any way to programatically determine when such an infinite appliation is "awakened" from a hibernate state, so that additional logic can be envoked to fix the problem (i.e. re-open its connection & initialization of the I/O card)? Thanks in advance for your assistance.