Windows内核编程
文章平均质量分 91
Windows内核编程
刘仕豪
操作系统行业从业者,开源精神,希望可以推动科技进步。
展开
-
Windows驱动开发技术详解__派遣函数
派遣函数是Windows驱动程序中的重要概念。驱动程序的主要功能是负责处理I/O请求,其中大部分I/O请求是在派遣函数中处理的。用户模式下所有对驱动程序的I/O请求,全部由操作系统转换为一个叫做IRP数据结构,不同的IRP会被“派遣”到不同的派遣函数中。IRP与派遣函数IRP的处理机制类似于Windows应用程序中的“消息处理”,驱动程序接收到不同的IRP后,会原创 2016-08-08 14:40:19 · 1102 阅读 · 0 评论 -
Win10下VS2015(WDK10)驱动开发环境配置
1、 概述微软在”WDK7600“以后就不再提供独立的内核驱动开发包了,而是必须首先安装微软集成开发环境VisualStudio,然后再从微软官网下载集成的WDK开发包、或者离线安装包,但是安装后Visual Studio就集驱动程序开发,编译,安装,部署和调试于一身,使得Windows驱动程序开发会变得更容易。对于Windows 10和Visual Studio2015驱动开发WDK...原创 2018-08-10 09:43:31 · 4464 阅读 · 0 评论 -
ANSI字符串和Unicode字符串
原创 2017-03-13 15:10:28 · 561 阅读 · 0 评论 -
Irp的传递与完成
1.在本层驱动中完成1.1在本层驱动中以同步方式完成在本层同步完成一般做完相应处理后,设置Irp->IoStatus.Status和Irp->IoStatus.Information,调用IoCompleteRequest完成该IRP,returnIRP的完成状态即可。1.2在本层驱动中以异步方式完成在本层异步完成一般是得到IRP后将其入队/起线程另行处理,同时调用IoMarkIrpPending转载 2017-02-23 10:31:44 · 690 阅读 · 0 评论 -
串口过滤驱动练习
一个简单的串口过滤驱动框架用来对串口的读写进行过滤。 注意问题:用来和应用层通信的buffer区域有三种方式。完成的读写分发函数的方式特殊还未搞懂?//以下为完整代码#include <ntddk.h>#include <string.h>static PDEVICE_OBJECT m_fltobj;static PDEVICE_OBJECT m_topobj;//定义一个读的完原创 2017-02-22 09:15:30 · 697 阅读 · 0 评论 -
一个简单的文件系统过滤驱动框架
很多人认为文件系统过滤驱动很复杂,其实也有一定道理,因为需要有很多细节需要考虑到,这是一个简单的文件系统过滤驱动,抛去了大部分细节,留下了一个简单的框架,其实这样文件系统过滤驱动就变得蛮简单的,很多接口可以不用实现,只要知道大致流程,其它都将会很清晰。#define DBG 1#include #include "fsfilter.h"PDEVICE_OBJECT g_Cdo;PD原创 2017-01-11 15:00:06 · 1376 阅读 · 1 评论 -
VMware+Windgb+Win7内核驱动调试
--------------------------------------------------------------转自http://yexin218.iteye.com/blog/545187VMware+Windgb+Win7内核驱动调试本人在此基础之上根据具体情况有所改动-------------------------------------------------转载 2016-08-01 09:59:13 · 897 阅读 · 0 评论 -
《Windows内核编程》---内核模式下字符串的基本操作
驱动程序中字符串操作涉及到ASCII字符串、宽字符串,还有DDK定义的ANSI_STRING数据结构和UNICODE_STRING数据结构。 1)ASCII字符串和宽字符串在应用程序中使用两种字符:一是char型字符串,负责记录ANSI字符集,它是指向一个char数组的指针,每个char型变量大小是一个字节,字符串是以0标志字符串结束的;一是wchar_t型的宽字符串,负责描述unic转载 2016-08-22 18:26:46 · 468 阅读 · 0 评论 -
Windows驱动开发入门
对于初学者,DbgView.exe和SRVINSTW.EXE是非常简单有用的两个工具,一定要装上。前者用于查看日志信息,后者用于加载驱动。一、驱动程序设计的必要性 在传统DOS系统下,每个应用程序都有权利读写硬件,读写I/O端口,控制系统中断,然而到了Windows系统中,为了保持良好的系统安全性,对应用程序的权限作出了限制,因为不适当的硬件读写会引发整个系统的崩溃。在Win原创 2016-08-30 10:28:03 · 2387 阅读 · 0 评论 -
什么是驱动程序?
什么是驱动程序?为术语“驱动程序”给出单一的准确定义比较困难。就最基本的意义而言,驱动程序是一个软件组件,可让操作系统和设备彼此通信。例如,假设应用程序需要从设备中读取某些数据。应用程序会调用由操作系统实现的函数,操作系统会调用由驱动程序实现的函数。驱动程序(由设计和制造该设备的同一公司编写)了解如何与设备硬件通信以获取数据。当驱动程序从设备获取数据后,它会将数据返回到操作系统,操转载 2016-07-29 11:07:42 · 857 阅读 · 0 评论