Does windows provide some notification to kernel-drivers that system is out of hibernate?

Is there a way for a device driver to know if all drivers in the system have completed D0Entry and system is out of hibernate?

What bigger problem are you trying to solve?

There is a DDI consumer that tries to use an interface before DDI provider has completed D0Entry. Am trying to see if there is a system-provided alternative that the DDI consumer can use, or if we need the DDI provider to add a custom interface-ready notification to the consumer.

Want to add: The DDI consumer uses PnP notification on cold boot to be notified of interface readiness. But on resuming from hibernate, PnP notification is not an option, according to guidelines from MSDN.

No such global notification exists. This problem is why you want to use IRPs/asynchronous patterns for driver to driver communication, it allows for the producer to manage its state behind the scenes without the additional workarounds like the one you suggested. If all you have is a synchronous interface that you can’t change, the producer must either block until the device has been powered up (which may cause a deadlock in power relations) or fail the request and the consumer retries later. As for when to to know when to retry, you can create another interface or define a new IOCTL which is completed when the producer is powered on.

Thank you, Doron.