每一個driver,由device manager 管理(load)的driver,可以宣告一個自己的GUID。
然後Device Manager 在loading/unloading 這個driver時,會 AdvertiseInterface( )。
需要知道這些動作的其他driver,ap,可以create 一個message queue,請device manager在 AdvertiseInterface時將對應的message放到queue中 。
這樣需要被通知的driver, ap就可以利用這個message queue來得知該driver load/unload的狀態(時機)
記得在不需要通知時,要StopDeviceNotification。和 CloseMsgQueue。
msgQ = CreateMessasgeQueue( ).
RequestDeviceNotification( GUID_XXX, msgQ,,,)
WaitSingleEvent(msgQ...)
ReadMessageQueue(msgQ, buf....)
buf->....