首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带tcp/ip协议栈的NDIS 5/6驱动程序,有没有代码?

带tcp/ip协议栈的NDIS 5/6驱动程序,有没有代码?
EN

Stack Overflow用户
提问于 2011-10-13 06:33:58
回答 1查看 490关注 0票数 0

我正在尝试编写一个windows内核驱动程序,它需要使用NDIS 5/6进行tcp/ip通信。因为它将使用NDIS,据我所知,它需要自己的tcp/ip堆栈实现。

有没有人能告诉我这个的实现方向,或者类似的东西?

任何帮助都将不胜感激!

亲切的问候

EN

回答 1

Stack Overflow用户

发布于 2011-10-14 20:51:13

你不需要实现你自己的TCP/IP协议栈!

首先,您确定需要在驱动程序中执行此操作吗?所有复杂的代码和业务逻辑通常都应该在用户模式应用程序或服务中。大多数情况下,驱动程序是非常简单的硬件包装。这个规则也不仅仅是一些抽象的原则--编写用户模式代码要容易得多,您可以在其中使用熟悉的调试器和更广泛的Win32 API集。如果你能把大部分代码移到用户模式,你就能更快地解决你的问题。

如果您确实必须在内核模式下执行TCP socket I/O,那么您应该使用Winsock Kernel (WSK)。WSK允许你打开一个套接字,类似于用户模式下的Winsock。(尽管usermode Winsock API有更多的选项和特性,但WSK是最基本的)。

WSK在Windows Vista及更高版本上可用。如果您必须支持Windows XP,则需要使用TDI。TDI更难正确处理;如果可以避免的话,我不推荐使用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7747371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档