Is there a (detailed) description somewhere of what exactly happens or is supposed to happen with the resources an application is holding when a PC goes into low power and/or sleep/hibernation mode?

More specifically, I'm interested in knowing what happens to synchronisation objects and files and database files opened on a server.

If you have a file open on a server and you hibernate. does the file get closed and reopened at wakeup ? or does the file keep being open ?
What about range locks being held on the file ?

Connections to a database, pending transactions etc ?

I've been snooping around on MSDN, but there doesn't seem to be a proper description of what happens when a pc goes hibernating.