2012-06-26 76 views
0

我寫了一個驅動程序,它從IRP緩衝區中提取一個值。現在基於這個關鍵字我必須通過或丟棄IRP。所以我需要與內核模式驅動程序中不容易的數據庫進行通信。所以我正在使用一個應用程序或exe來做到這一點,這將導致基於我將通過或放棄IRP的真或假。如何:在用戶模式和內核模式之間做2路通信

我想司機與我得到的客戶端應用程序數據的應用程序聯繫起來。

我想過使用臨時文件,可以作爲一個管道作用。

請提出建議。

回答

1

我會去的IOCTL。

與數據庫通信的應用程序啓動與發送一個或多個的IOCTL給駕駛員。我們稱這種類型的IOCTL爲IOCTL-1。

IOCTL-1的完成idicates從驅動器到數據庫的請求。請求細節可以在IOCTL輸出緩衝區中傳遞。

應用程序檢測IOCTL-1完成,檢索請求的詳細信息,運行使用不同的IOCTL(IOCTL-2)查詢和結果傳遞給駕駛員。然後它重新發送IOCTL-1,以便驅動程序可以發出另一個請求。

相關問題