问题标签 [miniport]

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 回答
476 浏览

windows-7 - Windows 音频驱动程序能否位于默认 Windows 驱动程序之上并后处理其输出?

是否可以编写一个驱动程序以坐在另一个驱动程序之上,获取较低驱动程序的输出并对其进行后处理。

我想编写一个驱动程序来确保音量始终保持不变。在我的脑海中,这个驱动程序将位于声卡驱动程序之上,并在返回给操作系统发送到扬声器之前对输出进行后处理。

我阅读了有关 MS 微型端口的信息,这似乎提供了一些基本的保证曝光。

恒定音量级别的实现并不是我在这个问题中真正关心的。我想知道是否有可能因为缺少更好的词而编写一个“过滤器”驱动程序,所以我可以做一些声音后处理。

编辑:好的,我很抱歉没有先用谷歌搜索,结果它实际上被称为过滤器驱动程序,这让我看起来像个白痴。不过,我将是一个完全的菜鸟,所以任何好的方向或文字将不胜感激。

0 投票
0 回答
149 浏览

miniport - 微型端口驱动程序的名称从何而来?

为什么叫“小港”?

有谁知道?

0 投票
1 回答
287 浏览

windows - 禁用和启用接口时不调用 Miniport 驱动程序的 InitializeHandler

我正在为基于 USB 的硬件编写 Ndis 6 微型端口 802.11 驱动程序。该设备工作正常 - 当我安装驱动程序时它工作正常。但是,如果我从控制面板禁用然后启用接口,则不会调用 initializeHandler。禁用工作正常。当我启用接口时,驱动程序条目也返回成功。

有人可以帮我吗?原因是什么?

问候, 苏维克

0 投票
1 回答
483 浏览

windows - 如何实现多 vpn 动态路由表 NDIS 微型端口驱动程序?

我想编写一个 NDIS 微型端口驱动程序,作为虚拟适配器映像描述在此处弹出(就像 VMWare 一样)。其目的是将数据包转发到现有连接的 vpn 内部 IP(适配器)。可能有许多现有的 vpn 连接。我的驱动程序通过不同的进程将数据包转发给其中一个(这些进程可能连接到同一个 IP,因此用于区分不同连接的路由表将不起作用)。

我可以参考的任何提示或示例?谢谢。 数字

0 投票
1 回答
385 浏览

ndis - 是什么导致我的 NDIS 微型端口驱动程序在 XP 操作系统上崩溃

我基于 Windows DDK 的示例“passthru”编写了一个简单的数据包过滤驱动程序,当我打开过滤功能时,操作系统崩溃,我从 WinDbg 收到以下消息:

Microsoft (R) Windows 调试器版本 6.12.0002.633 X86 版权所有 (c) Microsoft Corporation。版权所有。

加载转储文件 [D:\iCheckTool\dump\MEMORY.DMP] 内核摘要转储文件:只有内核地址空间可用

警告:路径元素开头的空格符号搜索路径为:D:\iCheckTool\dump;SRV*E:\DebuggingSymbols*http://msdl.microsoft.com/download/symbols;SRV*C:\MyLocalSymbols*http://192.168.20.25/zfprisymbols/ 可执行搜索路径为:Windows XP Kernel Version 2600 (Service包 3) MP (2 procs) 免费 x86 兼容产品:WinNt,套件:TerminalServer SingleUserTS 构建者:2600.xpsp_sp3_qfe.120504-1617 机器名称:内核基础 = 0x804d8000 PsLoadedModuleList = 0x8055e720 调试会话时间:9 月 11 日星期二 09:41: 2012 年 2 月 828 日(UTC + 8:00)系统正常运行时间:0 天 0:02:30.578 加载内核符号 .................... ...................................................... .............................. 加载用户符号 PEB被调出 (Peb.Ldr = 7ffd800c)。键入“.hh dbgerr001”


  • *
  • 错误检查分析 *
  • *

使用 !analyze -v 获取详细的调试信息。

错误检查 C5、{4、2、1、8054c10f}

可能是由于:Pool_Corruption (nt!ExDeferredFreePool+109)

跟进:池腐败

1:kd>!分析-v


  • *
  • 错误检查分析 *
  • *

DRIVER_CORRUPTED_EXPOOL (c5) 试图以过高的中断请求级别 (IRQL) 访问可分页(或完全无效)地址。这是由损坏系统池的驱动程序引起的。针对任何新的(或可疑的)驱动程序运行驱动程序验证程序,如果没有发现罪魁祸首,则使用 gflags 启用特殊池。参数: Arg1:00000004,内存引用 Arg2:00000002,IRQL Arg3:00000001,值 0 = 读取操作,1 = 写入操作 Arg4:8054c10f,引用内存的地址

调试细节:

BUGCHECK_STR:0xC5_2

当前_IRQL:2

FAULTING_IP: nt!ExDeferredFreePool+109 8054c10f 895f04 mov
dword ptr [edi+4],ebx

DEFAULT_BUCKET_ID:DRIVER_FAULT

PROCESS_NAME:explorer.exe

trap_frame:b42555dc - (.trap 0xfffffffffb425555dc)errcode = 00000002 eax = 89cc1c60 ebx = 89e4ded8 ecx = 000001ff edx = 89cc2a78 esi = 80565d20 edi = 00000000 EIP = 8054C10F ESP = B4255650 EBP = B4255650 EI NZ = 0 NV UP EI NZ AC PE cy cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010297 nt!ExDeferredFreePool+0x109: 8054c10f 895f04 mov dword ptr [edi+4],ebx ds:0023:00000004=??? ???重置默认范围

LOCK_ADDRESS: 8055c4e0 -- (!locks 8055c4e0)

资源@nt!PiEngineLock (0x8055c4e0) 可用争用计数 = 1 1 总锁

PNP_TRIAGE:锁定地址:0x8055c4e0 线程数:0 线程地址:0x00000000 线程等待:0x0

LAST_CONTROL_TRANSFER:从 8054c10f 到 80545768

STACK_TEXT:!!!!!b42555dc 8054c10f badb0d00 89cc2a78 b8338538 NT KiTrap0E + 0x238 b4255690 8054c75f 00000001 8055c100 00020019 NT ExDeferredFreePool + 0x109 b42556d0 8058635e 899522e8 00000000 b42557d8新台币ExFreePoolWithTag + 0x47f b42556fc 805878b8 c0000023 00000007 8058758c NT PiGetDeviceRegistryProperty +量0x108 b425578c bf879f40 8a523030 00000001 00000100 NT IoGetDeviceProperty + 0x25e b42558f8 bf879735 00000000 e1b5e008 00000000 WIN32K DrvEnumDisplayDevices + 0x33b b425591c 8054268c 00000000 00000000 0007ecc4 WIN32K NtUserEnumDisplayDevices + 0x7c b425591c 7c92e514 00000000 00000000 0007ecc4 NT KiFastCallEntry + 0xFC有警告:!!!IP帧中没有任何已知的模块。以下框架可能是错误的。0007f010 00000000 00000000 00000000 00000000 0x7c92e514

堆栈命令:kb

FOLLOWUP_IP: nt!ExDeferredFreePool+109 8054c10f 895f04 mov
dword ptr [edi+4],ebx

SYMBOL_STACK_INDEX:1

SYMBOL_NAME: nt!ExDeferredFreePool+109

FOLLOWUP_NAME:池腐败

IMAGE_NAME:Pool_Corruption

DEBUG_FLR_IMAGE_TIMESTAMP:0

MODULE_NAME:Pool_Corruption

FAILURE_BUCKET_ID: 0xC5_2_nt!ExDeferredFreePool+109

BUCKET_ID: 0xC5_2_nt!ExDeferredFreePool+109

跟进:池腐败

谁能告诉我是什么导致了这个问题以及如何解决它?谢谢。

0 投票
1 回答
2533 浏览

windows - 到 USB 驱动器的 ATA 命令

Windows 7
C 编程
Visual C++ 2008(在 VMWare 中)

我想用DeviceIOControl 向 USB 硬盘驱动器发送一些 ATA 命令(IDENTIFY DEVICE、READ NATIVE MAX ADDRESS、SET MAX ADDRESS)。因此我有一些问题。

据我了解,USBSTOR 无法直接处理 ATA 命令(使用IOCTL_ATA_PASS_THROUGH)。我试过这个,它适用于本机 IDE 硬盘,但不适用于 USB。

  1. 应用程序将 SCSI 命令发送到设备并将它们转发到设备是否正确?所以我需要创建一个封装了相应 ATA 命令的 SCSI 命令?

  2. dwIoControlCode能用什么来做到这一点?我试过了,IOCTL_SCSI_MINIPORT但错误是ERROR_NOT_SUPPORTED. 它可以与 minport 一起使用吗?微型端口是否仍然是最新的?

0 投票
1 回答
666 浏览

windows - WDDM 驱动程序是否需要用户模式显示驱动程序?

根据“ Windows Vista 和更高版本的显示驱动程序模型架构”,应用程序和显示微型端口驱动程序之间有一个通道,如下所示:

应用程序 <---> 用户模式 ​​Win32 GDI <---> 内核模式 Win32K.sys <---> Dxgikrnl.sys <---> 显示微型端口驱动程序

它不需要用户模式显示驱动程序。

我想知道是否可以提供仅支持简单的基于帧缓冲区的图形卡的微型端口驱动程序?

0 投票
0 回答
68 浏览

windows - 是否可以将显示面板亮度支持添加到现有的 Windows 显示驱动程序?

所以,保留现有的驱动程序,但添加一些其他驱动程序和 Windows 寄存器配置,告诉 Windows 如何在硬件级别进行亮度?

这在Windows中甚至可能吗?还是需要将其内置到图形驱动程序本身中?

(我特别询问英特尔的“传统背光亮度(LBB)I/O 寄存器”。它适用于很多英特尔 GPU。)

作为参考,我并没有真正理解所有的行话: http: //msdn.microsoft.com/en-us/library/windows/hardware/ff569755 (v=vs.85).aspx

0 投票
1 回答
1167 浏览

windows - 了解 NDIS 虚拟微型端口驱动程序

我已经在 Windows 7/8 上构建并安装了 netvmini。而且我能够从一个 IP ping 到另一个 IP。但我对其功能有一些疑问,如下所列:

  1. 驱动程序放置在 OSI 层的哪一层。
  2. 驱动程序是否根据应用程序提供的 IP 地址路由数据包。
  3. NDIS协议驱动的作用是什么。
  4. NDIS 协议驱动程序和微型端口驱动程序有什么区别。

期待一些答案,这将是很大的帮助......

0 投票
1 回答
106 浏览

windows-ce - NdisMGetBusData 函数返回零

我正在尝试NDIS6.0在 WEC7(Windows Embedded Compact 7)上为 PCIe 网卡开发基于微型端口的驱动程序。

在 MPInitialize 函数中,当我尝试使用函数 NdisMGetBusData 读取 PCI 配置空间时,它返回零。

从文档中,它应该读取读取的字节数。文档中没有更多可用信息。

我没有从 NDIS 包装层收到任何调试消息。

OALPCICfgRead在我的 OAL 层中添加了打印。我也没有得到这个打印。

我正在调用的函数是:

这里 ulResult 为零。

没有从 NDIS 获得任何额外的调试打印。

打印在 PCI 控制器较低级别的功能也没有出现。

如果有人帮助我调试这个问题会很有帮助。