解决支持WDK环境配置过程中的插件不支持问题和最近调试的问题
来源:互联网 发布:ubuntu中setting在哪 编辑:程序博客网 时间:2024/04/30 06:06
1:
对于插件的支持,我想都是每个人都有不同程度的依赖吧,为什么在SDK 的编程中,他能很好的识别哪些表述,但是到了WDK的就不行了,
我想首先应该是配置的问题,导致了插件无法识别,那么我们能不能用其他的方法来解决这个问题呢?
其实,这是很简单的。
通过加入所需要的头文件,插件就可以支持了。
2:
在实现应用层与内核的通信过程中,我们可以使用三种方式的读取方法
(1):缓冲读取
(2):直接读取
(3):都不是读取
目前,我只能使用第一种的方式处理通信的问题,在实现通信的过程中,应用层将发出一个IRP ,如果传入了信息,信息将保存在
pIrp->AssociatedIrp.SystemBuffer; 中,
写入的长度与返回应用层的长度可以通过:
uIn = irpStack->Parameters.DeviceIoControl.InputBufferLength;
uOut = irpStack->Parameters.DeviceIoControl.OutputBufferLength;
他们来获得,当然,我们要实现通信,必须要捕获这样的IRP ,捕获的方法:
(1)我们首先要定义我们自己的操作码,这个当内核识别IRP的时候,会去匹配我们的信息,操作码必须分别在应用层和内涵层都定义一样的, 具体可看 WDK 的 CTL_CODE
(2)捕获IRP 的方法:
首先当然是获取当前的: irpStack = IoGetCurrentIrpStackLocation(pIrp);
然后通过 uCode = irpStack->Parameters.DeviceIoControl.IoControlCode;
PIO_STACK_LOCATION 下的域,得到操作码,
最后在 将信息取得,取信息的顺序,先是得到传入的(如果有),然后才是设置返回。。
在应用层中的发送信息的方法:
我主要使用的是 DeviceIoControl(), 这个函数,当然,首先必须打开内核的符号链接,也就是内核对外的借口名,
HANDLE handle = CreateFile("////.//xumin",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
这是一种方式,好像OpenFile(), 也是可以的。。。
然后就是DeviceIoControl(), 的操作了,读写由你设置,这部分也可以用 ReadFile() 和 WriteFile 来做。。。
3:为什么我的驱动卸载后不能再次的加载,加载提示符号链接已存在
这个问题在于原来创建的驱动在卸载时,没有删除符号链接,导致的,这个问题困扰了我好久,调试了一个下午,真的让人郁闷
- 解决支持WDK环境配置过程中的插件不支持问题和最近调试的问题
- 执行wdk中的ndisprot遇到的问题
- 解决iOS6中编译和真机调试出现不支持armv7s的问题
- 解决linux环境下,atom编辑器不支持中文的问题
- VS2008+WDK+Win7 32位 驱动开发环境配置中遇到的问题
- Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
- Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
- Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG .
- Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
- [7]EC_Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
- Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
- Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
- Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
- Virtual PC环境中调试WDK配置
- 总结自己Python环境配置过程和碰到的问题
- [转]解决调试AutoCAD 2006启动过程中的异常问题
- 解决调试AutoCAD 2006启动过程中的异常问题
- androidl40 之前不支持 支持硬件加速的问题
- cobol文件操作
- CPLD-RS232 验证
- 一天带天天去永和豆浆,问:八宝粥吃不吃?天天说:我喜欢喝八宝粥,因为里面有爱的味道!
- C# 向web网站GET、POST 数据
- 我们还是打车回吧!
- 解决支持WDK环境配置过程中的插件不支持问题和最近调试的问题
- 乌鸦喝水
- 杭州手趣3G网址成为移动互联网应用主流
- 我画的怪物呀!
- CString char string等的相互转换
- 出租车
- 爸爸抱……
- JavaScript 调用后台事件和方法
- iptables的状态检测机制