Passthru例程说明
### Passthru例程详解 #### 一、WDK安装与使用 WDK(Windows Driver Kit)是一个由微软提供的用于开发Windows系统内核模式驱动程序的工具包。它集成了必要的编译工具、调试工具以及其他资源,使得开发者能够更加便捷地进行驱动程序的开发。 - **WDK的前身**:在WDK出现之前,开发者使用的是DDK(Driver Development Kit),但现在DDK已经被WDK所取代,并且不再发布新版本。 - **安装指导**:尽管网络上有许多关于如何下载和安装WDK的文章,但由于下载方法会随时间变化,本文不再详细介绍。重要的是,在安装过程中选择全部安装选项,这样可以确保所有必需的工具和库都被正确安装,避免之后遇到缺少某些文件或组件的问题。 - **配置编译环境**:本文档描述了一个基于Visual C++ 6.0的配置过程。首先需要建立一个Makefile项目,并创建一个名为`build.bat`的批处理文件,用于自动化编译流程。此外,还需设置环境变量`WDKROOT`指向WDK的安装目录。 #### 二、Passthru例程分析 Passthru例程是WDK中的一个示例项目,旨在演示如何开发一种特殊的网络驱动程序——Passthru驱动。这类驱动程序主要用于将来自上层协议的数据直接传递到物理网络接口卡(NIC)上,从而绕过传统的协议栈处理,以提高性能或满足特定需求。 - **工程文件结构概述**: - `Passthru.h`: 定义了所有函数的原型。 - `Miniport.c`: 提供了上层协议栈调用的函数,这些函数以MP开头,实现了NDIS协议对上层伪装为微端口驱动的功能。 - `Protocol.c`: 包含了NDIS驱动注册、设备注册、与应用程序交互的分派函数等。 - `Passthru.c`: 提供了下层驱动调用的函数,这些函数以Pt开头,实现了NDIS协议对下层伪装为协议端口的功能。 - `precomp.h`: 公共头文件,包含了公共头文件和一些常用的宏定义。 - **关键函数介绍**: - **MPInitialize**: 初始化微端口协议,这是驱动加载后的第一个被调用的函数,用于进行必要的初始化操作。 - **MPSend**: 发送单个数据包。此函数负责将封装好的数据包通过NDIS协议栈发送出去,数据包通常存储在Packet结构体中。 #### 三、实践操作指南 - **工程搭建**:使用Visual C++ 6.0创建Makefile工程,并根据指定路径建立相应的文件夹和批处理文件。 - **配置命令行**:设置工程命令行以调用`build.bat`文件,同时传入必要的参数,如WDK根目录、编译类型等。 - **编译验证**:完成上述步骤后,编译工程。如果输出框显示已复制一个文件,并且在Debug目录下找到了`passthru.sys`文件,则表明编译成功,配置正确。 通过上述步骤,开发者可以顺利地在本地环境中构建和测试Passthru驱动程序,这对于理解和掌握NDIS驱动开发具有重要的参考价值。
- zhongbozhi2013-01-16哎,就是wdk的例子,什么都没有改
- xiao11xiang1232012-10-18有wdk的安装使用方法。。。还有passthru例程分析讲的不多。。总共才5页
- chenboting12013-05-04就是wdk的例子
- 粉丝: 3
- 资源: 64
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 鸟类目标检测数据集-含画眉鸟-百灵鸟xml文件数据集
- pyheif-0.8.0-cp37-cp37m-win-amd64.whl.zip
- 基于深度学习的鸟类种类目标检测-含数据集和训练代码-对百灵鸟-画眉鸟检测.zip
- pyheif-0.8.0-cp38-cp38-win-amd64.whl.zip
- pyheif-0.8.0-cp39-cp39-win-amd64.whl.zip
- pyheif-0.8.0-cp313-cp313-win-amd64.whl.zip
- MyBatis SQL mapper framework for Java.zip
- pyheif-0.8.0-cp312-cp312-win-amd64.whl.zip
- pyheif-0.8.0-cp311-cp311-win-amd64.whl.zip
- pyheif-0.8.0-cp310-cp310-win-amd64.whl.zip