驱动日记
驱动开发
B01814124
这个作者很懒,什么都没留下…
展开
-
驱动日记-4.0
windows消息机制 #include<Windows.h> //回调函数 #define CALLBACK __stdcall LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_CLOSE: DestroyWindow(hWnd); break; case WM_DESTROY: PostQuitMessage原创 2021-08-09 16:10:25 · 83 阅读 · 0 评论 -
驱动日记-3.0
添加设备及删除设备例程 #include<ntddk.h> //卸载函数 VOID UnLoad(PDRIVER_OBJECT pDriverObj) { PDEVICE_OBJECT pDevObj; UNICODE_STRING symLinkName; //取得设备对象 pDevObj = pDriverObj->DeviceObject; IoDeleteDevice(pDevObj); RtlInitUnicodeString(&symLinkName, L原创 2021-08-08 11:34:37 · 109 阅读 · 0 评论 -
驱动日记-2.1
创建设备实例 include<ntddk.h> VOID DriverUnload(PDRIVER_Object driver) { DbgPrint("Unload!"); } //入口点 NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING reg_path) { //创建变量 NTSTATUS status; DbgPrint("Hello World"); //创建驱动设备对象 status=D原创 2021-08-07 14:46:32 · 135 阅读 · 0 评论 -
驱动日记-2.0
1.背景 DriverEntry主要作用是对驱动程序进行初始化工作,它是由系统进程所调用的。DriverEntry的返回值是NTSTATUS,这是一个是被定义为32位的无符号长整形。不同的值对应不同的返回状态。DriverObject是一个驱动对象的指针,RegistryPath是一个指向设备服务器键键名的字符串指针;在DriverEntry函数中,一般设置卸载例程数和IRP的派遣函数,另外还有一部分代码负责创建设备对象。设置卸载例程和设置派遣函数都是对驱动对象的的设置。 extern "C" NTSTAT原创 2021-08-07 13:34:32 · 124 阅读 · 0 评论 -
驱动开发-1
include<ntddk.h> VOID DriverUnload(PDRIVER_Object driver) { DbgPrint("Unload!"); } //入口点 NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path) { DbgPrint("Hello World"); driver->DriverUnload=DriverUnload; return STATUS_SUCCESS原创 2021-08-06 16:53:19 · 113 阅读 · 0 评论