我知道這個問題可以通過在谷歌搜索來解答。但是我花了很多時間尋找嘗試讓我的應用程序與我的編程驅動程序連接。 當我開始尋找我讀了一些技術如何共享用戶模式和內核模式和這些技術之間的信息是:將我的應用程序與內核連接的最佳方式是什麼?
•I/O請求
•同步和通知
•共享處理
•共享內存
這white paper解釋了這些技術。但我很困惑!哪種技術最好? 對於I/O請求:呃...,我不明白它的完整性,但是我知道(簡要地)關於它在應用程序請求I/O操作時交換數據,並且這個msdn article解釋了I/O控制代碼。
我已經閱讀了許多複雜的文章,但是我不知道這條道路讓我以正確的方式使我的程序在與驅動程序交換數據的過程中快速運行。
所以,我問:什麼是最好的方式來連接我的應用程序與內核? 我的意思是「最好的辦法」。 這是我的驅動程序代碼:
#include <ntddk.h>
VOID
Unload(
IN PDRIVER_OBJECT DriverObject
)
{
DbgPrint("Driver Unloaded");
};
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPathName
)
{
DbgPrint("Driver Loaded");
DriverObject->DriverUnload = Unload;
return STATUS_SUCCESS;
};
正如你看到的,司機也很簡單。卸載時輸出「驅動程序已加載」,卸載時輸出「驅動程序已卸載」。 我只想讓這個驅動程序能夠從用戶接收並打印它,使程序從驅動程序接收並打印出來。 我不想做代碼,我只想從你那裏引導我:我必須做什麼?什麼是最好的辦法呢?
非常感謝你