2016-02-25 53 views
0

我有Windows內核模式驅動程序和用戶模式DLL作爲驅動程序和GUI應用程序之間的中間層。從用戶模式發送IRP_MJ_SYSTEM_CONTROL請求

我使用DeviceIoControl函數發送請求IRP_MJ_DEVICE_CONTROL從用戶模式的DLL驅動程序,它工作得很好。

但我想從用戶模式發送IRP_MJ_SYSTEM_CONTROL請求以及。我的驅動程序源代碼中包含pnp.c模塊,並執行DispatchSystemControl例程,該例程處理IRP_MN_START_DEVICE,IRP_MN_START_DEVICE,IRP_MN_REMOVE_DEVICE等IRP。

我可以看到,該處理器非常適用於例如IRP_MN_REMOVE_DEVICE處理程序被調用時,我刪除我的設備中的任何時間。

但我想知道有沒有辦法使用一些功能來發送從用戶模式IRP_MJ_SYSTEM_CONTROL請求,例如以同樣的方式,因爲我使用的DeviceIoControl

回答

0

IRP_MJ_SYSTEM_CONTROL請求是由內核模式發送發送IRP_MJ_DEVICE_CONTROL WMI的驅動程序。詳情請參閱this MSDN article