nami,
Do you dismount volumes in the system when you hibernate it? To use HORM you should be doing that from your code. Here is how you
typically implement that:
- Lock volumes (your app code)
- Dismount the volumes (your app code)
- Hibernate the system (your app code)
........ machine in hibernate state (HORM) ....
...... Resume ..........
- Unlock the volumes (your app code)
Note that upon calling Unlock in the app code above you have a point where you know that the system is resuming and you can launch
another app or do whatever you need to.
If you use a 3rd party app that takes care of the lock/dismount volumes and you don't have the source code for the app to make the
changes mentioned above, you can always process system power events in your own separate application and catch the moment when
system is resuming.
When transitioning to hibernated state the OS will actually suspend all the operations and put drivers in standby mode. This means
that the system should broadcast WM_POWERBROADCAST( PBT_APMSUSPEND). On resume another event (flag) should be broadcasted -
PBT_APMRESUMESUSPEND (sometimes it could be PBT_APMRESUMECRITICAL, depending on how did you put the system asleep). If you process
the event in your application code, it should give you another good point on where to start operations [launch an app, etc.] when
system is resumed from HORM state.
MSDN page on relevant event description:
http://msdn2.microsoft.com/en-us/aa373247.aspx.
You can also write a driver where you would know when the system is waking up. Driver receive related events too.
--
=========
Regards,
KM
Hello.
I would like to run only OS from HORM and then run specific applications
after HORM is activated.
I wonder if there is any method that allows to automatic run of a specific
application after XPe is activated from HORM.
I look for your reply.
Thank you.