« | October 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | |
| 公告 |
暂无公告... |
Blog信息 |
blog名称: 日志总数:29 评论数量:48 留言数量:0 访问次数:189453 建立时间:2006年5月24日 |

| |
[Windows驱动]网络驱动程序自动安装 心得体会, 软件技术
wangchuanfa 发表于 2006/7/31 16:43:37 |
自己编制了驱动(*.sys),同时完成了安装信息(*.inf),利用添加网络协议或网络服务等方式,可以手动安装。但毕竟对使用者来说很不方便,如何利用程序来完成驱动的自动安装呢?
可以使用DDK的snetcfg工具来完成,以PassThru示例如下:
1)安装驱动
在应用程序中CreateProcess传递如下参数
snetcfg -l "path" -c s -i ms_passthru
其中"path"为netsf.inf的绝对路径,如"C:\test\netsf.inf",这里面的双引号最好保留,避免"Program Files"之类的中间空格导致安装失败。
2)卸载驱动
将-i改为-u即可,即
snetcfg -u ms_passthru
但这样做了以后,你会发觉,每次安装及卸载均弹出一个控制台窗口(黑乎乎的那个),甚是影响美观,可将其隐去,如下:
STARTUPINFO si; Z |
|
[Windows驱动]Passthru IM Driver简析 读书笔记, 心得体会, 软件技术
wangchuanfa 发表于 2006/7/31 16:19:09 |
Windows Server 2003 DDK 中关于Passthru的sample对于想进行NDIS开发的人来说是个好的入门案例,大部分代码不需改变。
如果你希望对本机发出的数据包进行修改,则涉及如下几个函数:
1)MPSendPackets
由本机协议层调用,用于发送数据包。在这里你可以针对要发送的数据包进行识别及修改,然后再调用NdisSend发送到网络上。此处涉及新内存分配、新Buffer分配以及Buffer与Packet关联NdisChainBufferAtFront。
2)PtSendComplete
当NdisSend成功将数据发出后,NDIS会回调IM的协议层,此时应释放自己分配内存及Buffer,并通过NdisMSendComplete通知真正协议层“您所提交的数据包已发送完成”,以便协议层释放该原始数据包的资源。
如果你希望对本机收到的数据包进行修改,则涉及如下几个函数:
1)PtReceivePacket
2)PtSendCom |
|
« 1 ›
|