问题标签 [ndis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
260 浏览

windows - Windows 7 64 位上的 ndisprot 不使用签名驱动程序

我听说在必须创建签名驱动程序之前,可以在 Windows 7 64 位上运行 ndisprot 6 进行开发。有人可以帮忙吗?创建一个签名的驱动程序不是我想要的。

我一直在 Windows 32 位下使用 ndisprot 示例驱动程序没有问题。如何配置 Windows 以便开发/运行未修改的示例驱动程序。如果有签名的示例驱动程序,我也会很感激。

0 投票
1 回答
172 浏览

ndis - NDIS 6 LWF 的一个 INF 文件中有两个二进制文件

在以前使用 NDIS 5.1 时,我们设法制作了一个 inf 文件,该文件安装了相应的 32 位或 64 位 sys 文件二进制文件,具体取决于安装它的操作系统。

我们现在正在尝试使用 NDIS 6 LWF INF 文件做同样的事情,但不知道如何复制 [Install.Services] 部分,因此操作系统会自动选择要选择的二进制文件,32 位或 64 位一。

这基本上将我们带到以下 INF 文件部分:

在 [Daihinia_Service_Inst] 中,我们有上例中的 32 位二进制文​​件。

鉴于 [Install.Services] 部分未在 INF 中的任何地方明确引用,因此我们不能在那里进行分叉,因此有任何见解如何修改它们吗?

0 投票
1 回答
77 浏览

windows - ndis5.0驱动和禁用驱动签名enfrcement

我正在安装带有“禁用驱动程序签名强制”的 ndis 4.0。并且驱动程序没有给出错误并且工作正常。但是 ndis5.0 驱动程序的相同情况不起作用。ndis5.0 是否与禁用驱动程序签名强制一起工作。或者它必须需要签名。

0 投票
1 回答
325 浏览

networking - NdisProt 写以太网包需要很长时间

我正在用 C# 开发一个需要网络访问的虚拟化应用程序。我正在使用 ndisprot 示例驱动程序来读取和写入以太网第 2 层数据包。我一切正常,除了 WriteFile 操作需要大量时间。通常在 300-800 毫秒之间,但有时需要几秒钟才能完成写入。

这是我的 C# 函数,它将以太网数据包写入驱动程序。我正在使用秒表来测量需要多长时间。

当我运行我的应用程序时,我的输出看起来像这样。我是有线连接的。

如果我 ping 我的应用程序,响应时间几乎与 WriteFile 完成所需的时间完全匹配,因此我知道挂断在驱动程序的某个地方。我可以在示例驱动程序中做些什么来加快速度吗?我究竟做错了什么?

编辑:今天我尝试使用我的 USB 以太网适配器而不是内置适配器,性能更差!完成写作需要 15-30 秒。这是最奇怪的,因为阅读几乎是瞬时的。

Edit2:我的驱动程序有两个线程——一个读线程和一个写线程。似乎如果我禁用我的阅读器线程,写入会立即完成。为什么读取文件会影响写入文件?

0 投票
1 回答
280 浏览

filter - 通过 DPInst 和 DIFxAPI 的 NDIS6 LWF 安装问题

我们有一个 NDIS6 LWF 驱动程序,如果从适配器的属性表安装,它可以正常安装,但既不能通过 DPInst 安装,也不能通过 DIFxAPI.dll 的 DriverPackageInstall 函数安装

除了供应商信息和描述外,它与 NDIS6 LWF Passthru 示例的不同之处在于以下方面:

  1. 仅绑定到 WLAN 介质:HKR、Ndi\Interfaces、FilterMediaTypes、“wlan”

  2. 指定 DriverPackageType=Network(DIFxAPI 的要求)

  3. passthru 示例在这里说“压缩”,我们说“自定义” HKR, Ndi,FilterClass,, custom

INF 的当前完整版本存储在https://docs.google.com/file/d/0By4TPkL7aR-RelRSZC1PZmdQYnc/edit?pli=1因为它太大,无法在此处引用。

所以,问题是:这个 INF 还需要什么才能通过 DIFxAPI 安装?(它目前通过适配器的属性表安装得很好)

0 投票
0 回答
604 浏览

c++ - Microsoft Network Monitor 3.4 - 使用 WDK 和 NDIS 在监控模式下设置 wifi 通道

我正在编写一个程序(C++),它将在 Windows 操作系统上使用 Wi-fi 检测我周围的设备。为此,我使用 WDK 和 NDIS 通过以下方式将无线网络适配器切换到监控模式:

有谁知道如何设置一个特定的频道来监控?我将不胜感激代码示例。

谢谢。

0 投票
1 回答
280 浏览

windows - NdisChainBufferAtBack substitution in NDIS 6

I am building a filter driver in NDIS 6. I want to add some data at the back of my NET_BUFFER. To add data I have allocated an MDL through the NdisAllocateMdl API. Now I want to know, is there any wrapper to add this MDL to the existing MDL chain?

If not, is it correct to make the last MDL's Next pointer to point to my new allocated MDL, as I was able to do so? Also what are the fields in NET_BUFFER I have to change to make it recognize the added MDL?

0 投票
0 回答
350 浏览

ndis - NDIS6修改过滤器

我们正在为 NDIS6 修改过滤器,它使用将原始数据包包装到自己的层协议中。

在添加我们自己的标头之前,我们调用 NdisRetreatNetBufferDataStart(pNetBuffer, sizeof(OurHeader), 0, NULL),假设 NDIS 将通过其“默认”函数自行分配额外的 MDL,如http://msdn.microsoft中所述.com/en-us/library/windows/hardware/ff570697%28v=vs.85%29.aspx(“如果入口点为 NULL,NDIS 使用默认方法分配 MDL。”)

我们注意 FilterSendNetBufferListsComplete 中的 NdisAdvanceNetBufferDataStart(pNetBuffer, sizeof(OurHeader), TRUE, NULL)。

但是,我们得到一个 BSOD DRIVER_IRQL_NOT_LESS_OR_EQUAL,这意味着从 IRQ 处理程序中访问了一些分页内存(读取操作,根据错误检查的第三个参数判断)。

我们怀疑我们的 RetratXxx 调用导致分配分页内存,并且在尝试发送该数据时被困微型端口?如果是这样,那是“默认”内存分配行为,在这种情况下我们应该如何调用 NdisRetreatNetBufferDataStart ?

0 投票
0 回答
124 浏览

ndis - 在 NDIS6 中将标头附加到 NetBuffer

在 NDIS6 LWF 中,我们使用以下代码片段在发送之前将名为 DaiHdr 的结构添加到网络缓冲区:

但是,我们的发送例程中似乎有问题。有人能告诉我这件作品是否正确吗?

0 投票
1 回答
194 浏览

windows - Windows 上的空闲网络过滤器驱动程序性能

我遇到了一个关于 Windows 上的网络驱动程序过滤器的奇怪问题。似乎仅安装网络驱动程序过滤器会导致性能下降。

我正在测试 1 Gigabit 带宽连接的不同场景,并体验到 CPU 中断增加和整体网络利用率降低。安装的驱动程序完全处于数据包直通模式(没有数据包到达用户模式)。

  1. 是驱动程序的错,还是每个安装的网络过滤器驱动程序都会导致降级,即使它没有做任何事情,而是将内核模式下的数据包传递给堆栈中的下一个驱动程序?

  2. 这样的驱动程序对虚拟机有什么影响?

找遍了之后,我没有得出任何结论。我将非常感谢任何建议!