
驱动
新源译码
这个作者很懒,什么都没留下…
展开
-
VC安装驱动源码
WDM式驱动源码:#include "stdafx.h"#include // Make all functions UNICODE safe.#include // for the API UpdateDriverForPlugAndPlayDevices().#include // for SetupDiXxx functions.#include "inst原创 2015-01-27 15:28:27 · 1284 阅读 · 0 评论 -
(转)驱动开发之五 --- TDI之八 【译文】
http://hi.baidu.com/combojiang/item/fe7ee5147f64a621f6625c0e步骤8:关闭句柄这个函数被两个句柄调用,传输句柄和上下文句柄。NTSTATUS TdiFuncs_CloseTdiOpenHandle(HANDLE hTdiHandle, PFILE_翻译 2015-11-10 14:19:24 · 476 阅读 · 0 评论 -
(转)驱动开发之五 --- TDI之六 【译文】
http://hi.baidu.com/combojiang/item/d0287ca509180ddf5bf19132同样的使用TDI_RECEIVE来完成数据接收。然而我们却没有用它来实现。实际上,如果你注意到,你可以创建回调来通知你数据或者其他事件什么时候到达。这就是我们所做的。我实现了一个API包装函数来创建任意的事件句柄。如下: NTSTATUS TdiFuncs翻译 2015-11-10 14:18:27 · 668 阅读 · 0 评论 -
驱动程序与应用程序之间共享内存
http://blog.youkuaiyun.com/whf727/article/details/2592267 随手写点自己碰到的问题。在写内核模式的驱动程序时,经常需要做的就是驱动程序和应用程序之间的通信。如应层程序和驱动程序之间共享事件来完成同步,事件可以有应用程序来创建然后将其句柄下发到驱动程序中,驱动程序进行引用等操作,就可以实现共享事件了。这里就不说这个了,主要说说驱动和应用程序之间的原创 2015-11-10 14:12:47 · 2170 阅读 · 1 评论 -
(转)驱动开发之五 --- TDI之二 【译文】
http://hi.baidu.com/combojiang/item/e0e610dcfce00413e0f46f0e接上:传输设备接口 前面socket知识的了解是为了让你对TDI API做好准备。传输设备接口是一组用于驱动中, 与传输协议驱动通讯的API. 就像TCP。传输驱动实现了这组API,所以你的驱动能够与它通讯。 这比socket的使用多少翻译 2015-11-10 14:16:33 · 829 阅读 · 0 评论 -
(转)关于TDI过滤和通讯的一点儿体会
http://blog.sina.com.cn/s/blog_539dee350100nekw.html TDI驱动在内核模式下工作,本来想写一个TDI的过滤驱动,主要过滤TDI_SEND和TDI_RECEIVE包,TDI_SEND部分很容易写,通过双机调试,很快就找到了数据位置,不过这一点并不是那么显而易见,我在网上找过的资料就没有一处说明了数据的具体位置,不知道那些人怎么想的,而微软转载 2015-11-10 14:20:14 · 896 阅读 · 0 评论 -
(转)TDI FILTER 网络过滤驱动完全解析
http://blog.youkuaiyun.com/charlesprince/article/details/5924376 TDI FILTER 过滤驱动的功能一般用来进行整个系统中的所有网络流量的分析,记录和管理,可以实现非常强大的管理功能,这里就将讨论它的设计架构,和具体实现的方法。 进行系统级网络数据包的过滤,很明显,第一步需要在系统内核中截取到网络数据包,那么在WINDOWS转载 2015-11-10 14:19:49 · 2488 阅读 · 0 评论 -
(转)驱动开发之五 --- TDI之三 【译文】
http://hi.baidu.com/combojiang/item/778f34ad3c88e9ac29ce9d32接上步骤2:打开连接上下文第二步是打开连接上下文。在你建立的连接中,执行后续的操作会用到这个句柄。这也是由ZwCreateFile完成,也是在相同的设备"\Device\Tcp"上执行。实际上这个设备允许你打开三个不同的句柄。这三个句柄是传输句柄,连接上下翻译 2015-11-10 14:17:19 · 748 阅读 · 0 评论 -
(转)驱动开发之五 --- TDI之一 【译文】
http://hi.baidu.com/combojiang/item/635f7c0d3b3c2b14addc700e理论: 本篇的题目有点容易让人误解。出于演示目的,我们写一个TDI客户端,但这并不是我们本篇的目的所在。本篇意在进一步探究怎样处理irp和怎样与之交互。本篇将会介绍怎样排队和处理要取消的IRP. 本篇真正的题目应该是“IRP处理介绍“,然而它不是一个非常引人注意翻译 2015-11-10 14:16:08 · 903 阅读 · 0 评论 -
DriverStudio工具包介绍
DriverStudio 是一套用来简化微软Windows 平台下设备驱动程序的开发,调试和测试的工具包。DriverStudio 当前的版本包括下列工具模块:DriverAgent DriverAgent 为Win32 应用程序提供直接访问硬件的功能。即使你没有任何设备驱动程序开发的经验或经历,你也能编写出DriverAgent应用程序来直接访问硬件设备。DriverAgent原创 2015-09-29 18:17:27 · 716 阅读 · 0 评论 -
基于AFD驱动的进程流量控制
基于AFD驱动的进程流量控制摘要:目前有些软件可以监控进程流量,功能实现的都很多错的。对于进程流量的控制很很多种方案,每一种方案也都有其缺点。比如有应用层基于LSP来做的,也有通过TDI和NDIS中间层来做的。其实现的效果和复杂度也各不相同。而我们要讨论的是一种基于AFD驱动来做的一种进程流量控制方案。 关键词:AFD进程流量 控制驱动1. 总述目翻译 2015-07-27 16:17:34 · 1323 阅读 · 0 评论 -
VC安装驱动详细解释
最近用C++写了一款类似android手机助手的产品,其中的一个模块功能是检测与监测android设备的设备ID,根据设备ID检索驱动并进行安装。因此搜索了好多关于驱动安装的资料,现整理如下:驱动分为WDM式和NT式两种驱动,我所理解的两者区别:1. WDM由.inf文件加载,NT通过服务手动加载2. WDM支持即插即用,NT不支持即插即用3. WDM通过注册表指定挂载那个驱动原创 2015-01-27 15:27:28 · 2015 阅读 · 0 评论 -
(转)ZwQuerySystemInformation枚举内核模块及简单应用
http://hi.baidu.com/_achillis/item/8b33ead8ccac28ea3cc2cb17简单说,即调用第11号功能,枚举一下内核中已加载的模块。部分代码如下://功能号为11,先获取所需的缓冲区大小ZwQuerySystemInformation(SystemModuleInformation,NULL,0,&needlen);//申请内存转载 2015-11-10 14:21:35 · 1008 阅读 · 0 评论