如何使用NDIS协议驱动程序



我写了一个NDIS协议驱动程序。我可以用NdisRegisterProtocol注册我的协议。

应用程序通常如何访问这个驱动程序?是否有一种方法来使用windows套接字或我需要提供一个StreamDriver接口?

套接字函数有第三个参数'protocol',通常类似于IPPROTO_UDP。我可以使用这个参数选择我的协议驱动程序吗?

协议驱动程序不会在Windows Sockets API中自动暴露(这是一件好事,因为它为您提供了最大的架构灵活性)。但是你可以通过实现一些额外的部分来让它工作。

  1. 你需要实现一些通道来与你的驱动程序通信。我对Windows CE不太熟悉,但StreamDriver听起来像是一种可行的方法。

  2. 您需要通过Winsock公开该通道。编写一个"传输服务提供者"库,接收来自Winsock的请求,并将其转换为您的协议驱动程序可以理解的内容。

这就是TCPIP(协议驱动程序)显示为IPPROTO_UDP (Winsock协议类型)—操作系统包括TCP、UDP和Raw IP的TSP。

ce特有的文档在这里,但是对于概述部分,NT文档也值得阅读。

最新更新