设备管理器-网络适配器-Remote NDiS-based Internet Sharing Device(基于远程NDIS的互联网共享设备)是一种网络接口遥控分享装置。这种设备允许通过USB连接将智能手机等设备连接到电脑,从而充当无线网卡的作用,使电脑能够连接到互联网。

NDIS(Network Driver Interface Specification)完整解构

全称:Network Driver Interface Specification,网络驱动程序接口规范
 
定位:微软定义的Windows 内核网络驱动标准接口规范;ndis.sys 是这套规范的官方运行时实现载体。
 
先厘清边界:
  • NDIS = 一套接口标准(文档、API 约定、数据结构、调用时序)
  • ndis.sys = NDIS 规范在内核中的实现、调度运行时
     
    很多运维场景容易混淆:规范 ≠ 驱动文件。

一、底层原理

1. 核心设计目标

解决网络驱动耦合灾难:
 
若无统一规范:网卡厂商驱动必须硬编码适配 TCP/IP、PPP、VPN、防火墙;协议栈要适配成千上万网卡,软硬件开发成本极高。
 
NDIS 引入分层解耦架构,建立标准化契约:
上层协议驱动、中间过滤驱动、底层网卡微型端口驱动,只需要遵循同一套 API 规范,相互之间不需要感知对方实现细节。

2. NDIS 驱动模型演进两代核心架构

(1)NDIS 5.x(Windows 2003 及更早,传统模型)

  • 驱动类型:协议驱动、中间驱动(Intermediate Driver)、微型端口驱动
  • 数据包载体:NdisPacket
  • 并发模型:全局大锁,多核扩展性差
  • 短板:中间驱动笨重,无法动态挂载卸载;SYSVOL / 网卡驱动频繁出现并发死锁、蓝屏

(2)NDIS 6.x(Vista ~ Win11 当前主流,架构分水岭)

最重要变革:废弃中间驱动,引入 NDIS Filter 过滤驱动模型
  1. 数据包模型升级:NET_BUFFER_LIST(NBL) + NET_BUFFER,替代老旧 NdisPacket
  2. 移除全局锁,支持并行收发路径,适配多核 CPU、RSS、VMQ、SR-IOV 硬件卸载
  3. Filter 驱动支持动态加载、分层堆叠,可在网卡与协议栈之间串联多层流量处理模块(防火墙、抓包、VPN、流量管控)
  4. 原生标准化支持电源管理、PnP 即插即用、硬件校验和卸载、巨型帧、QoS、低延迟轮询模式

3. NDIS 6.x 标准驱动分层模型(自上而下)

plaintext
应用层 Socket
    ↓
Winsock / afd.sys 用户态套接字内核支撑
    ↓
【协议驱动】tcpip.sys(IPv4/IPv6协议栈)
    ↓
ndis.sys(NDIS运行时调度层,规范执行者)
    ↓
【多层堆叠 Filter 过滤驱动】(Npcap、EDR、防火墙、VPN)
    ↓
【微型端口 Miniport 驱动】厂商网卡驱动(Intel、Realtek、Broadcom、虚拟网卡)
    ↓
网卡硬件 MAC/PHY/DMA

4. NDIS 核心内部职责(规范定义,由 ndis.sys 落地)

  1. 驱动注册、适配器绑定管理;
  2. 数据包内存模型、NBL 缓冲区池生命周期管理;
  3. IRQL 中断、DPC 同步机制标准化约束;
  4. 硬件能力查询、MTU、VLAN、硬件卸载能力抽象;
  5. 电源状态管理、网卡休眠 / 唤醒(WOL);
  6. PnP 热插拔、网卡重置、资源回收;
  7. 流量统计计数器标准化输出。
关键认知:NDIS 规范本身不实现任何网络协议,不操作硬件寄存器;仅定义 “谁、什么时候、调用哪个函数、传递什么数据结构”

二、依赖文件

1. NDIS 规范运行时载体

%SystemRoot%\System32\drivers\ndis.sys
 
内核模式系统驱动,NDIS 所有 API 的实现主体。

2. 内核基础依赖(ndis.sys 运行前置)

  • ntoskrnl.exe Windows 操作系统内核
  • hal.dll 硬件抽象层

3. 上层协议驱动(调用 NDIS 接口)

  • tcpip.sys IPv4/IPv6 协议栈(最核心协议驱动)
  • afd.sys Winsock 内核支撑
  • netio.sys Windows 过滤平台 WFP 基础支撑
  • ndisuio.sys 用户态程序与 NDIS 交互通道
  • ndiswan.sys PPP / 宽带 WAN 适配器

4. 下层驱动(实现 NDIS 接口,被 ndis 调度)

  1. 硬件微型端口驱动:e1r64.sys、rtwlane.sys、vmxnet3.sys
  2. 第三方 Filter 驱动:npcap.sys、各类EDR/防火墙内核驱动、VPN TAP驱动

5. 持久化配置载体(注册表)

plaintext
HKLM\SYSTEM\CurrentControlSet\Services\NDIS
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318} 网卡适配器类
HKLM\SYSTEM\CurrentControlSet\Services\<网卡/Filter驱动名称>
保存绑定顺序、高级硬件参数、兼容标记、驱动启动类型。

6. 用户态配套组件

iphlpapi.dll、ws2_32.dll;PowerShell NetAdapter 系列命令;netsh、设备管理器。

三、依赖关系

1. 系统启动时序依赖

  1. ntoskrnl + hal.dll 初始化
  2. 加载 ndis.sys,初始化 NDIS 运行环境
  3. PnP 枚举网卡硬件 → 加载 Miniport 驱动并向 NDIS 注册
  4. tcpip.sys 启动,注册协议驱动
  5. NDIS 完成协议驱动与网卡适配器绑定
  6. 网络栈就绪,上层应用可创建 Socket
ndis.sys 缺失 / 损坏 → 网卡无法初始化,网络完全失效,极易触发蓝屏 0xD1、0x7B。

2. 调用方向依赖

  1. 单向调用契约
     
    协议驱动 → 调用 NDIS 导出 API 发包;
     
    网卡驱动通过 NDIS 回调函数向上递交接收数据包;
  2. ndis.sys 作为中间调度层,不会主动调用 tcpip.sys,也不会直接操作硬件

3. IRQL 内存依赖(稳定性核心约束)

NDIS 规范严格定义函数运行 IRQL 等级:
  • DISPATCH_LEVEL:禁止访问分页内存;
  • PASSIVE_LEVEL:可执行复杂逻辑、内存分配。
     
    绝大多数 “ndis.sys 蓝屏” 根因:第三方驱动违反 NDIS IRQL 规范,非法内存访问。

4. 版本兼容依赖

  • NDIS 规范向后兼容;新版 ndis.sys 可加载旧版驱动;
  • NDIS5 老旧驱动无法在仅支持 NDIS6 的精简系统正常运行;
  • 高版本新增 NDIS API,旧系统 ndis.sys 不存在,驱动加载失败。

5. Filter 驱动堆叠依赖

Filter 驱动按顺序串行处理数据包;
 
堆叠顺序错乱、老旧 Filter 驱动叠加,是断流、丢包、蓝屏最高发诱因

四、完整逻辑链路(NDIS6.x 标准)

链路 A:系统启动,网卡初始化

plaintext
加载ndis.sys → DriverEntry初始化全局NDIS对象、队列、同步原语
PnP枚举网卡硬件 → 加载Miniport驱动
Miniport调用 NdisMRegisterMiniport 向NDIS注册回调函数
ndis创建适配器上下文、分配接收/发送缓冲区
tcpip.sys调用 NdisRegisterProtocol 注册协议驱动
NDIS执行绑定逻辑:协议驱动 ↔ 网卡适配器建立通路
网卡进入就绪状态

链路 B:数据包发送(自上而下)

plaintext
应用send() → afd.sys → tcpip.sys封装IP/TCP头
tcpip.sys调用 NdisSendNetBufferLists() 下发NBL数据包至ndis.sys
ndis按照Filter栈顺序依次传递数据包
数据包抵达Miniport网卡驱动
Miniport配置DMA描述符,触发网卡硬件发送
发送完成产生硬件中断 → Miniport通知NDIS发送完成
ndis向上回调tcpip.sys,释放数据包缓冲区资源

链路 C:数据包接收(自下而上)

plaintext
网卡收到以太网帧,触发硬件中断
Miniport ISR响应中断,调度DPC处理接收
调用 NdisMIndicateReceiveNetBufferLists 将数据包向上递交ndis
依次遍历所有Filter驱动
数据包送达tcpip.sys,解析IP报文
向上转发 afd.sys → 用户应用 recv()

链路 D:网卡热插拔 / 禁用流程

plaintext
PnP下发移除事件
ndis通知上层协议驱动解除适配器绑定
逐层通知Filter驱动停止流量处理
调用Miniport驱动Halt回调,释放DMA、中断资源
销毁适配器上下文对象

五、配套链

1. 官方原生配套工具

  1. PowerShell Get-NetAdapterFilter:查看 NDIS Filter 驱动栈
  2. netsh trace:NDIS 内部 ETW 流量跟踪、诊断
  3. 设备管理器:网卡驱动版本、高级硬件参数配置
  4. Windows 事件日志:Microsoft-Windows-NDIS 诊断日志(初始化、绑定、电源异常)

2. 内核调试配套(故障分析)

WinDbg + NDIS 扩展命令 !ndiskd
plaintext
!ndiskd.adapters
!ndiskd.filterdrivers
!ndiskd.miniports
lmvm ndis.sys
用于 dump 蓝屏分析、实时查看驱动栈、数据包队列。

3. 第三方生态配套

  1. 流量捕获:Wireshark + Npcap(NDIS Filter 驱动抓包)
  2. VPN、防火墙、EDR 终端安全产品:基于 NDIS Filter 实现流量拦截、加密
  3. Hyper-V vSwitch、虚拟网卡:基于 NDIS 微型端口实现虚拟交换
  4. SD-WAN、流量管控软件:自定义 Filter 驱动分流处理报文

4. 技术演进配套路线

  1. NDIS 5.x(Win2000/XP/2003):中间驱动模型
  2. NDIS 6.0 ~ 6.30(Vista~Win8.1):Filter 驱动模型确立
  3. NDIS 6.40 ~ 6.85(Win10/Win11):持续增强 RSS、轮询模式、低延迟、数据中心硬件卸载
  4. NetAdapterCx:新一代 UMDF 用户态网卡驱动框架,作为 NDIS 补充,面向虚拟网卡轻量化场景

六、典型故障特征(运维提炼)

  1. 蓝屏堆栈显示 ndis.sys ≠ ndis 规范 /ndis.sys 本身缺陷;90% 是第三方网卡驱动、Filter 驱动违反 NDIS 接口时序与 IRQL 规范;
  2. 多 Filter 驱动叠加极易出现数据包链断裂、随机断流;
  3. 休眠唤醒蓝屏,大多是驱动未正确实现 NDIS 电源管理回调;
  4. 网卡频繁掉线:NBL 数据包内存泄漏,驱动没有正确释放缓冲区。

七、极简总结(汇报提纲可用)

NDIS 是一套Windows 内核网络驱动标准化接口规范;ndis.sys 是规范的运行时实现。
 
通过分层架构隔离上层协议栈与底层网卡硬件;NDIS6.x 引入 Filter 驱动模型实现流量中间处理;定义统一数据包结构、中断同步、电源管理契约。
 
所有 Windows 以太网、无线、虚拟网卡流量收发全部遵循这套规范;网络蓝屏、断流故障排查核心就是校验各个驱动是否严格遵守 NDIS 调用契约。
 

Screenshot_2026-02-07-23-44-57-245_com.larus.nova-edit

要获取 Windows Device(Windows 设备)标准和技术文档的官方资源,您可以访问以下几个微软官方渠道:

1. Microsoft Docs - Windows Device Portal

Microsoft 提供了详细的文档,涵盖了 Windows 设备的管理、开发、硬件兼容性等方面的信息。您可以在这里找到与设备驱动程序、硬件要求、设备管理等相关的技术资料。

  • Windows Hardware Dev Center:这是微软的官方平台,提供有关硬件开发、兼容性、驱动程序和设备管理等方面的文档。

  • Windows Device Portal Documentation:用于开发和调试 Windows 设备的工具和 API 文档。

2. Windows Hardware Certification

如果您需要了解如何确保您的设备与 Windows 兼容,Microsoft 提供了硬件认证的详细指南,涵盖了各种设备类型的兼容性要求。

  • Hardware Certification Requirements:这里提供了关于如何通过 Windows 硬件认证的标准、流程以及必需的技术文档。

  • Windows Hardware Lab Kit (HLK):用于测试设备兼容性并确保设备符合 Windows 的要求。

3. Windows 设备驱动程序和硬件开发

Windows Driver Model (WDM) 是 Windows 操作系统中用于支持硬件的驱动程序模型。微软的文档详细描述了如何为 Windows 编写和管理硬件驱动程序,以及如何使用各种开发工具。

  • Windows Drivers Overview:了解如何为 Windows 操作系统开发和部署设备驱动程序。

  • Windows Driver Development Kit (DDK):微软提供了专门的开发工具和文档,帮助开发者为 Windows 创建驱动程序。

  • Windows Device Drivers API:详细描述了驱动程序的编程接口,帮助开发者使用 Windows 提供的设备驱动程序 API。

4. Windows Management Instrumentation (WMI)

WMI 是微软的一项技术,允许系统管理员和开发者管理和查询 Windows 操作系统中的硬件设备和服务。您可以使用它来与设备进行交互,获取设备信息,管理硬件。

5. Windows IoT (Internet of Things)

Windows IoT 是一种针对嵌入式设备和物联网应用的操作系统版本。微软为 IoT 设备提供了专门的技术文档,涵盖了硬件支持、驱动程序开发、部署等方面。

  • Windows IoT Documentation:为开发者提供有关 Windows IoT 的技术规范、开发工具以及与硬件设备交互的详细文档。

6. Windows Hardware Compatibility Program

该程序专门帮助设备制造商确保他们的硬件与 Windows 系统兼容,并帮助开发者获取合适的认证,以确保产品能在 Windows 设备上无缝运行。

  • Windows Compatibility Program:了解如何验证设备和硬件的兼容性,确保它们能够与 Windows 操作系统和应用程序兼容。

7. Windows 设备管理和安全

微软的设备管理技术(如 Windows AutopilotMicrosoft Endpoint Manager)允许企业管理员配置和管理其 Windows 设备,确保设备的安全性和合规性。

  • Windows Autopilot Documentation:关于如何使用 Windows Autopilot 来自动配置和部署设备的文档。

  • Microsoft Endpoint Manager:用于企业管理和配置 Windows 设备的服务,提供关于设备管理、安全策略的文档。

8. Microsoft Learn - 设备开发和管理

Microsoft Learn 提供了关于 Windows 设备开发、硬件兼容性、设备驱动程序开发等方面的在线学习和模块。通过这些学习路径,您可以深入了解如何为 Windows 系统开发和管理设备。

要获取 Windows Device 相关的技术文档,您可以通过访问 Microsoft DocsWindows Hardware Dev CenterWindows IoTWindows Driver Documentation 等官方平台,查阅详细的硬件开发、设备驱动、兼容性认证和设备管理方面的资源。这些文档提供了全面的指南,帮助开发者和系统管理员管理、开发和部署与 Windows 设备相关的技术。


NDIS(Network Driver Interface Specification)完整演进解构

一、NDIS 基础定义与顶层架构

NDIS 是微软定义的内核网络驱动标准化接口规范,核心目标:
  1. 屏蔽以太网 / Wi‑Fi/IB/PPP 硬件差异,统一上层 TCP/IP 协议栈与底层网卡驱动交互;
  2. 提供标准化数据包管理、中断、电源、虚拟化、QoS、过滤接口;
  3. 分代演进分为三大里程碑:NDIS 2~5.x(旧架构、单锁串行)、NDIS 6.x(全新无锁并行架构、多核 / RSS / 虚拟化)、NDIS NetAdapterCx(现代 UMDF / 框架托管模型)
标准三层驱动分层(全版本通用逻辑,6.x 重构并发模型):
plaintext
 
 
 
Protocol Driver(上层,tcpip.sys、抓包协议驱动)
├─ Intermediate/Filter Driver(中间过滤、防火墙、vSwitch扩展)
└─ Miniport Driver(底层网卡硬件驱动)
 

第一阶段:NDIS 1.0 ~ NDIS 5.x(1989–2003,串行锁架构)

1. NDIS 1.0(1989,DOS 时代)

  • 载体:MS‑DOS、Windows 2.x,仅支持以太网、令牌环;
  • 底层局限:单任务无抢占,数据包无标准化封装,厂商私有接口多;
  • 定位:仅实现硬件抽象,无并发、无电源管理、无多协议复用。

2. NDIS 2.0(1994,Windows for Workgroups 3.1)

  • 核心升级:标准化驱动注册、统一数据包缓冲区 NdisPacket;
  • 支持多协议共存(TCP/IP、NetBEUI),引入驱动绑定 / 解绑流程;
  • 缺陷:全局单一自旋锁,收发串行执行,多核无并行能力。

3. NDIS 3.x(3.0/3.1,NT3.5 / Win95)

  1. NDIS 3.0:适配 Windows NT 3.5,引入异步 OID 状态请求、中断延迟处理;
  2. NDIS 3.1:Windows 95,支持即插即用 PnP、PCI 网卡、多网卡绑定;
     
    底层不变:全局锁串行收发,数据包结构 NdisPacket 为单缓冲区链表。

4. NDIS 4.x(4.0/4.1,NT4 / Win98)

  • 新增 WAN 支持(PPP/ADSL 拨号驱动);
  • 引入电源管理基础接口(闲置断电、待机通知);
     
    并发模型无改动:全局 NDIS 锁,多核 CPU 无法并行处理收包,服务器吞吐瓶颈明显。

5. NDIS 5.0(Win2000 / Win98SE)

核心变更

  1. 完整 PnP、WMI 驱动状态监控;
  2. 支持 802.11 无线基础框架;
  3. 数据包:NdisPacket + NdisBuffer 分段链表;
     
    底层致命短板:全局串行锁,所有收发流程排队执行,多核 CPU 无法分摊网络中断。

6. NDIS 5.1(XP / Server 2003,5.x 最广泛版本)

标志性特征

  • 主流抓包工具 WinPcap 基于 NDIS5.1 中间层驱动;
  • 引入 TCP 卸载 TOE(TCP Offload Engine)雏形;
  • 依然全局锁架构,多核服务器高并发下单 CPU 满载、其余核心空闲;
     
    数据包结构:单链表 Buffer,不支持分散‑聚集 DMA 优化大报文。

7. NDIS 5.2(Server2003 SP2)

仅小幅补丁:完善 TOE 卸载、802.1X 认证接口,架构无本质重构

NDIS 5.x 底层统一缺陷(6.x 彻底解决)

  1. 全局自旋锁串行收发,多核无并行;
  2. 数据包 NdisPacket 单链表,内存拷贝开销巨大;
  3. 无标准化 RSS、VMQ、SR‑IOV 虚拟化接口;
  4. 中间层驱动模型臃肿,过滤逻辑侵入收发路径,性能损耗高;
  5. 无运行时动态重配置网卡参数。

第二阶段:NDIS 6.x 全代演进(Vista ~ Win11,架构革命性重构)

核心总变革(NDIS6.0 奠基,全 6.x 通用底层重构)

  1. 废除全局串行锁,引入无锁NET_BUFFER_LIST(NBL)数据包架构;
  2. 分离发送 / 接收 / 管理路径锁,多核并行处理收发包;
  3. 全新分层:废弃老旧 Intermediate 中间驱动,改为轻量化Filter Filter 驱动
  4. 标准化 RSS、VMQ、SR‑IOV、vSwitch、DCB 数据中心卸载;
  5. 分散‑聚集 DMA 原生支持,减少内存拷贝;
  6. 运行时动态重配网卡速率、队列、卸载功能,无需重启驱动。

1. NDIS 6.0(Windows Vista,2006,架构分水岭)

底层核心重构

  1. 数据包架构完全重写
    • 淘汰 NdisPacket/NdisBuffer,引入NET_BUFFER_LIST(NBL) + NET_BUFFER + MDL多层结构;
    • NBL 无全局锁,每个数据包链表独立并发处理,多核可并行分发;
  2. Filter 驱动模型替代老旧中间层驱动,轻量化包过滤(防火墙 / WFP 底层);
  3. 运行时重配置:驱动无需卸载即可变更 MTU、队列数、卸载功能;
  4. 原生分散‑聚集 DMA,巨型帧 Jumbo Frame 标准化;
  5. 同步 / 异步 OID 请求分离,管理路径不阻塞数据收发;

局限

无 RSS、无虚拟化队列、无 SR‑IOV,仅完成单核性能优化。

2. NDIS 6.1(Vista SP1 / Server2008)

关键新增底层能力

  1. Header‑Data Split 头数据分离:网卡拆分以太网头与载荷,减少内核拷贝;
  2. 直接 OID 同步请求,降低管理路径 IRQL 开销;
  3. 完善 TOE TCP/UDP 校验和、分段卸载;
  4. 支持 802.11n 无线高速通道标准化接口;
     
    无多核 RSS、无虚拟机队列。

3. NDIS 6.20(Win7 / Server2008 R2,服务器性能里程碑)

两大标志性多核 / 虚拟化技术落地

  1. RSS 接收端缩放 v1
    • 底层原理:网卡基于 TCP 四元组哈希分发数据包到不同硬件接收队列,每个队列绑定独立 CPU 核心;
    • NDIS6.20 提供标准化哈希表、队列亲和性 API,解决 5.x 单核收包瓶颈;
  2. VMQ 虚拟机队列
    • 为 Hyper‑V 设计,网卡硬件划分独立队列直通虚拟机,绕过主机协议栈拷贝;
  3. 接收节流 Receive Side Throttle,抑制中断风暴;
  4. 电源精细粒度调度,网卡低功耗休眠队列管理。

4. NDIS 6.30(Win8 / Server2012,虚拟化完整生态)

虚拟化底层全栈标准化

  1. SR‑IOV 单根 I/O 虚拟化完整规范
     
    PF 物理功能 / VF 虚拟功能标准化接口,VF 直接直通虚拟机,主机 NDIS 仅做控制;
  2. Hyper‑V 可扩展虚拟交换机 Extensible Switch
     
    vSwitch 内置 Filter 扩展钩子,防火墙、流量监控、QoS 直接嵌入虚拟交换路径;
  3. NDKPI 网络直接内核接口:RDMA/InfiniBand 卸载,绕过 TCP/IP 栈直传内存;
  4. DCB 数据中心桥接,无损以太网 PFC 流量控制标准化;

并发优化

NBL 无锁操作进一步强化,多发送队列并行调度。

5. NDIS 6.40(Win8.1 / Server2012 R2)

  • RSS 队列动态均衡优化;
  • SR‑IOV VF 热插拔、动态资源分配;
  • 扩展 vSwitch 流量隔离、端口 ACL 过滤底层接口;
  • WLAN 802.11ac 千兆无线完整驱动规范。

6. NDIS 6.50 / 6.51(Win10 1507 / 1511)

  • 低延迟接收队列调度,减少云主机网络抖动;
  • 设备休眠时保持 VMQ/RSS 硬件状态;
  • 简化 Filter 驱动数据包克隆 API,降低内存开销。

7. NDIS 6.60(Win10 1607 / Server2016)

  • 大规模云服务器批量网卡资源调度;
  • 统一容器网络虚拟化底层接口;
  • 改进 NDK RDMA 内存注册机制。

8. NDIS 6.70 ~ 6.89(Win10 1703 ~ Win11 22H2)

NDIS6.80 核心升级:RSSv2

  1. RSSv2 动态间接表更新,DISPATCH_LEVEL 无延迟重平衡 CPU 队列;
  2. 每 VPort 独立哈希分发,SR‑IOV VF 可单独调整 RSS 队列;

6.x 末期统一优化

  1. 零拷贝 NBL 复用机制;
  2. 安全隔离:数据包缓冲区访问权限校验,内核漏洞面缩小;
  3. 低功耗混合睡眠网卡状态管理;
  4. 多队列发送调度优化,降低 CPU 占用。

第三阶段:现代演进:NetAdapterCx(NDIS 7+,UMDF 用户态驱动框架)

1. 设计哲学变革

传统 NDIS Miniport 为纯内核驱动,崩溃直接蓝屏;NetAdapterCx 将网卡驱动主体迁移至用户态 UMDF,内核仅保留极简托管框架。

2. 底层架构差异

  1. 框架托管队列、RSS、电源、虚拟化逻辑,驱动无需手动管理 NBL 锁、中断亲和;
  2. 自动适配 RSSv2、VMQ、SR‑IOV,厂商仅实现硬件读写逻辑;
  3. 用户态崩溃不触发 BSOD,重启用户态进程即可恢复网卡;
  4. 向下兼容 NDIS6.x Filter/Protocol 驱动,上层协议栈无改动;

3. 适用场景

现代 Wi‑Fi、USB 网卡、嵌入式适配器,服务器高性能网卡仍保留原生 NDIS6.x Miniport。

四大底层维度完整演进对比

1. 并发 / 数据包模型演进

代际 数据包结构 并发锁模型 多核能力
NDIS5.x NdisPacket + NdisBuffer 全局单一自旋锁,串行收发 单核串行,多核闲置
NDIS6.0~6.1 NET_BUFFER_LIST(NBL) 无锁数据包,分路径独立锁 基础并行,无硬件队列分发
NDIS6.20+ NBL 多层无锁架构 RSS 硬件队列分 CPU 并行 多核全负载均衡
NetAdapterCx 框架托管 NBL 池 自动队列亲和调度 用户态并行托管

2. 虚拟化能力演进

  1. NDIS5.x:无任何硬件虚拟化接口,纯软件转发,性能损耗极大;
  2. NDIS6.20:VMQ 虚拟机硬件队列;
  3. NDIS6.30:SR‑IOV PF/VF 标准化 + Hyper‑V 可扩展 vSwitch;
  4. NDIS6.80+:RSSv2 每 VF 独立哈希均衡,云原生容器网络底层支持。

3. 过滤驱动演进

  • NDIS5.x:臃肿 Intermediate 中间层,完整栈穿透,性能损耗高;
  • NDIS6.x:轻量化 Filter 驱动,挂接收发入口,按需拦截数据包,开销极低;
  • NetAdapterCx:框架内置过滤钩子,兼容原有 WFP/Filter 生态。

4. 硬件卸载演进

  1. NDIS4~5.x:仅基础 TCP 校验和 TOE 雏形;
  2. NDIS6.1:头数据拆分、巨型帧、分段卸载;
  3. NDIS6.30:NDK RDMA、DCB 无损以太网、SR‑IOV 硬件直通;
  4. 6.x 后期:加密卸载(IPsec/TLS 硬件加速)标准化接口。

演进核心路线总结

  1. NDIS 2~5.x:单任务串行时代
     
    解决硬件抽象、多协议兼容,但全局锁架构无法适配多核与虚拟化;
  2. NDIS 6.0 架构革命
     
    无锁 NBL 数据包模型、Filter 轻量化过滤,彻底重构并发底层;
  3. NDIS6.20~6.40 服务器 / 虚拟化完善期
     
    RSS 多核分流、VMQ/SR‑IOV 硬件虚拟化落地,支撑 Hyper‑V 与数据中心;
  4. NDIS6.50~6.89 云性能精细化优化
     
    RSSv2、零拷贝、低延迟调度适配大规模云主机;
  5. NetAdapterCx(NDIS7+)安全轻量化转型
     
    用户态驱动隔离内核崩溃风险,框架托管复杂并发 / 虚拟化逻辑,简化硬件开发。

实操分层记忆

  • XP/2003 抓包、老旧虚拟网卡 → NDIS5.1;
  • Win7 高性能物理网卡、多核分流 → NDIS6.20;
  • Hyper‑V SR‑IOV 直通、vSwitch 防火墙扩展 → NDIS6.30;
  • 现代 USB/Wi‑Fi 低风险网卡驱动 → NetAdapterCx。

NetAdapterCx 完整演进解构(KMDF 内核版 → UMDF 用户态版)

一、前置基础:NetAdapterCx 核心定位与底层架构

1. 全称

Network Adapter WDF Class Extension,网络适配器 WDF 类扩展框架,是微软替代传统原生 NDIS Miniport 驱动的新一代网卡驱动模型,底层封装 NDIS 6.x 完整能力,上层完全基于 WDF(Windows 驱动框架)托管生命周期、队列、电源、虚拟化、硬件资源。

2. 核心设计目标(解决传统 NDIS Miniport 痛点)

  1. 传统 NDIS Miniport 必须手动处理 NDIS 锁、NBL 数据包管理、中断亲和、RSS 队列、PnP 电源、虚拟化,代码冗余、极易蓝屏;
  2. 旧模型 WDF 与 NDIS 深度割裂,只能复用少量 WDF 接口;
  3. NetAdapterCx 反向架构:以标准 WDF 驱动为主体,NetCx 扩展封装全部 NDIS 交互逻辑,厂商仅实现硬件读写回调,框架自动托管 NDIS 底层并发、队列、卸载、虚拟化 API。

3. 底层分层(固定不变,贯穿全版本演进)

plaintext
应用层:TCP/IP协议栈、WFP过滤、vSwitch扩展
    ↓
NDIS 6.x 核心内核(NetCx底层封装,对驱动透明)
    ↓
NetAdapterCx 类扩展(netcx.sys):托管NBL、RSS、VMQ、SR-IOV、电源、队列调度
    ↓
客户端驱动(KMDF/UMDF):仅硬件读写、硬件中断回调、硬件能力上报
    ↓
网卡硬件(以太网/Wi‑Fi/蜂窝MBB)

4. 两条演进主线

  1. KMDF NetAdapterCx(v2.0 ~ v2.5):Win10 2004 起,内核态驱动,面向以太网、蜂窝、Wi‑Fi;
  2. UMDF NetAdapterCx(v2.5 起,Win11 24H2):用户态网卡驱动,内核隔离,驱动崩溃不蓝屏。

二、KMDF NetAdapterCx 分代完整演进(v2.0 → v2.5)

1. NetAdapterCx v2.0(Windows10 2004,2020,初代内核原型)

发布背景

仅用于MBBCx 蜂窝移动宽带适配器,以太网 / Wi‑Fi 暂不支持,验证 WDF+NDIS 融合架构可行性Microsoft ...。

底层核心能力

  1. 基础 WDF 设备生命周期托管(PnP、电源 D0/D3 休眠、设备删除);
  2. 封装 NDIS 基础 NBL 收发队列,框架自动管理 NET_BUFFER_LIST 池、无锁调度;
  3. 仅支持蜂窝网卡标准 OID、数据包收发,无以太网 RSS、VMQ、SR‑IOV;
  4. 限制:不支持有线以太网、802.11 无线、硬件虚拟化卸载。

架构短板

功能边界窄,仅作为蜂窝宽带专用驱动框架,未通用化。

2. NetAdapterCx v2.2(Windows11 21H2,2021,全硬件通用化里程碑)

关键突破:全品类网卡统一支持

新增两大分支规范:
  • NetAdapterCx(有线以太网)
  • WiFiCx(802.11 Wi‑Fi 无线网卡)
     
    至此框架覆盖:蜂窝 MBBCx + 有线以太网 + Wi‑Fi 三大网络硬件,彻底脱离单一蜂窝场景Microsoft ...。

底层新增核心能力

  1. RSS 接收端缩放完整托管
     
    框架自动管理 RSS 哈希表、CPU 队列亲和、动态间接表更新,厂商无需手动实现 NDIS RSSv2 复杂锁逻辑;
  2. VMQ 虚拟机队列标准化封装
     
    Hyper‑V 虚拟网卡队列生命周期、中断分发、VLAN 过滤全部由 netcx.sys 托管;
  3. 完整硬件卸载 API:TCP/UDP 校验和、分段卸载、巨型帧、Header‑Data Split;
  4. 标准化电源管理:低功耗闲置队列、混合睡眠网卡状态、运行时电源平衡;
  5. WDF 完整复用:自动设备对象、I/O 队列、DMA 内存池、异常恢复、驱动故障隔离。

架构变革

厂商驱动只需上报硬件能力(RSS 队列数、卸载特性),NDIS 与内核调度逻辑全部由 NetCx 接管,代码量相比原生 NDIS Miniport 减少 60% 以上。

3. NetAdapterCx v2.3(Windows11 22H2,2022,虚拟化生态完善)

底层新增特性

  1. SR‑IOV 单根 I/O 虚拟化完整 PF/VF 托管
     
    物理功能 PF、虚拟功能 VF 队列、资源分配、热插拔、每 VF 独立 RSS 哈希均衡全部封装;
  2. 可扩展 vSwitch 扩展兼容:框架自动对接 Hyper‑V 交换机过滤钩子,与 WFP 过滤驱动无缝互通;
  3. 低延迟接收调度:减少 NBL 内存拷贝、预分配收发缓冲区池,降低云主机网络抖动;
  4. 802.1X、DCB 数据中心无损以太网、RDMA NDKPI 接口标准化封装;
  5. 多队列发送并行调度优化,自动平衡多核发送负载。

适用场景落地

服务器万兆 / 25G 网卡、虚拟化直通网卡开始大规模采用 NetAdapterCx 替代传统 NDIS Miniport。

4. NetAdapterCx v2.4(Windows Server 2022 23H2,2023,云原生优化)

迭代重点:大规模云服务器、容器网络

  1. 多网卡批量资源调度,统一 RSS 均衡全局调度;
  2. 容器虚拟网卡、Host VNIC 标准化接口;
  3. 硬件加密卸载(IPsec、TLS Offload)完整托管;
  4. 故障隔离增强:单队列硬件异常自动隔离,不影响整卡收发;
  5. OID 异步请求批量优化,减少 IRQL 上下文切换开销。

5. NetAdapterCx v2.5(Windows11 24H2,2024,双线并行:KMDF 完整版 + 新增 UMDF 用户态)

KMDF 侧增强

  1. RSSv2 动态重平衡无锁更新,适配百万级并发云负载;
  2. 零拷贝 NBL 复用机制,大幅降低内核内存占用;
  3. 硬件故障诊断标准化回调,内置 ETW 网络性能追踪;

划时代新增:UMDF NetAdapterCx(用户态网卡驱动)

底层架构革命性升级

传统 KMDF 驱动运行在内核态,内存越界、空指针直接触发 BSOD 蓝屏;UMDF 将网卡业务逻辑完全迁移至用户态进程,内核仅保留极简 NetCx 托管层:
  1. 用户态驱动崩溃仅重启 UMDF 进程,不会蓝屏系统
  2. 用户态内存隔离,漏洞攻击面大幅缩小,适合 USB 网卡、嵌入式无线、消费级外设;
  3. 底层兼容全部 NDIS 6.x 能力:RSS、VMQ、SR‑IOV、硬件卸载,上层 TCP/IP、WFP 无感知;
  4. 内存映射机制:用户态 DMA 缓冲区共享,零拷贝收发数据包。

硬件适用边界

UMDF 优先适配 USB 以太网、便携 Wi‑Fi、嵌入式网卡;高性能服务器 25G/100G 有线网卡仍推荐 KMDF 版本以追求极致吞吐。

三、三大阶段演进路线总览

阶段 1:试点验证(v2.0 Win10 2004)

  • 仅蜂窝 MBB,纯 KMDF 原型;
  • 目标:验证 WDF 封装 NDIS 的技术可行性;
  • 缺陷:硬件品类单一,无虚拟化、RSS 支持。

阶段 2:通用全面落地(v2.2 ~ v2.4 Win11 21H2 ~ Server2022)

  • KMDF 全覆盖:以太网 / Wi‑Fi / 蜂窝;
  • 完整托管 RSS、VMQ、SR‑IOV、DCB、RDMA 硬件虚拟化;
  • 核心价值:大幅简化 NDIS 驱动开发,统一 WDF 生命周期管理;
  • 定位:服务器、台式机有线 / 无线网卡主流新一代驱动模型。

阶段 3:安全隔离升级(v2.5 Win11 24H2,KMDF+UMDF 双分支)

  • 内核 KMDF 保留高性能场景;
  • 新增 UMDF 用户态分支,实现内核故障隔离、缩小攻击面;
  • 完成从「简化开发」到「安全 + 性能双目标」的完整演进闭环。

四、NetAdapterCx 与传统 NDIS Miniport 底层演进差异对比

底层维度 传统 NDIS 6.x Miniport NetAdapterCx(KMDF/UMDF)
NDIS 交互主体 驱动手动调用全部 NDIS API,自行维护锁、NBL、队列 netcx.sys 封装全部 NDIS 交互,驱动仅提供硬件回调
并发 / RSS 调度 手动实现哈希表、CPU 亲和、自旋锁,极易死锁 框架自动托管 RSSv2 队列均衡、无锁 NBL 池
虚拟化(VMQ/SR‑IOV) 厂商手动管理 PF/VF 队列、中断分发,代码庞大 标准化托管,仅上报硬件能力即可启用
驱动运行权限 纯内核态,崩溃直接 BSOD KMDF 内核高性能;UMDF 用户态,崩溃不蓝屏
WDF 复用能力 有限兼容,大量 NDIS/WDF 适配胶水代码 原生完整 WDF,DMA、PnP、电源、故障恢复开箱即用
代码体量 数十万行 NDIS 调度、并发、虚拟化胶水代码 仅硬件读写回调,代码量缩减 50%~70%
演进兼容性 每代 NDIS(6.20/6.30/6.80)需大规模改适配 NetCx 框架屏蔽 NDIS 版本差异,上层驱动几乎无改动

五、底层演进核心技术逻辑总结

  1. 封装抽象演进:从厂商直接操作原生 NDIS 底层 → NetCx 框架全权托管 NDIS 并发、队列、虚拟化、事务;
  2. 硬件覆盖演进:单一蜂窝宽带 → 有线以太网 + Wi‑Fi + 蜂窝全网络硬件统一框架;
  3. 安全模型演进:单一内核 KMDF 高风险模型 → KMDF 高性能 + UMDF 用户态隔离双路线;
  4. 云虚拟化能力演进:基础 RSS → VMQ → SR‑IOV → 容器 / 云原生批量网卡调度完整生态;
  5. 开发范式演进:面向 NDIS 底层锁与数据包编程 → 面向 WDF 硬件事件回调编程,降低内核网络驱动开发门槛与蓝屏风险。

实操选型对应演进版本

  1. USB 便携网卡、嵌入式 Wi‑Fi → NetAdapterCx v2.5 UMDF 用户态;
  2. 台式机 / 笔记本有线 / 无线、普通千兆网卡 → v2.2+ KMDF;
  3. 服务器万兆 / 25G 虚拟化直通网卡 → v2.3/v2.4 KMDF(SR‑IOV、VMQ 完整支持);
  4. 老旧蜂窝 4G/5G 模块驱动 → v2.0 初代 KMDF MBBCx。

UMDF 完整英文全称与拆解

1. 标准全称

UMDF = User-Mode Driver Framework
 
中文标准译称:用户模式驱动框架

2. 对应配套内核框架(对比区分)

KMDF = Kernel-Mode Driver Framework
 
中文:内核模式驱动框架

3. 词汇分层拆解

  • User-Mode:用户态,运行在独立受限用户进程 wudfhost.exe,无完整内核 Ring0 权限;
  • Driver:驱动程序;
  • Framework:标准化驱动开发框架(微软 WDF 体系)。

4. WDF 顶层总框架

WDF = Windows Driver Framework
 
WDF 包含两大分支:
  1. KMDF(内核态驱动,传统 NDIS Miniport、NetAdapterCx KMDF)
  2. UMDF(用户态驱动,NetAdapterCx UMDF、USB / 摄像头 / 便携外设驱动)

5. 配套 NetAdapterCx UMDF 完整术语全称

完整表述:
 
NetAdapterCx User-Mode Driver Framework
 
即:基于 UMDF 用户态框架的网络适配器类扩展驱动模型。

NetAdapterCx User-Mode Driver Framework(UMDF NetAdapterCx)完整演进解构

一、基础术语定义

  1. 全称完整表述
     
    NetAdapterCx = Network Adapter WDF Class Extension
     
    UMDF = User-Mode Driver Framework
     
    完整组合:User-Mode NetAdapterCx(基于 UMDF 的网络适配器 WDF 类扩展驱动模型)
  2. 核心定位:NetAdapterCx v2.5 新增的用户态网卡驱动分支,底层仍封装完整 NDIS 6.x 协议栈,将业务逻辑隔离在用户进程 wudfhost.exe,解决传统内核 KMDF 驱动蓝屏风险高、攻击面大的痛点Microsoft ...。
  3. 前置演进背景:NetAdapterCx 2.0~2.4 仅提供 KMDF 内核态版本,2024 年 Win11 24H2 发布 v2.5 才正式落地 UMDF 用户态分支,是 NetAdapterCx 全生命周期的第三大里程碑。

二、整体演进三阶段(前置 KMDF 铺垫 → UMDF v2.5 初代发布 → 后续迭代扩展)

阶段 1:前置铺垫(NetAdapterCx v2.0 ~ v2.4,仅 KMDF,UMDF 技术预研)

该阶段无任何用户态支持,但完成底层框架基础设施搭建,为 UMDF 落地扫清技术障碍:
  1. v2.0(Win10 2004):仅 KMDF,仅支持 MBBCx 蜂窝网卡,验证 WDF 封装 NDIS 架构可行性;
  2. v2.2(Win11 21H2):KMDF 通用化,新增以太网、WiFiCx 无线,完整封装 RSS、VMQ、硬件卸载;
  3. v2.3(Win11 22H2):KMDF 完善 SR-IOV、vSwitch、DCB 无损以太网虚拟化接口;
  4. v2.4(Server2022 23H2):云原生多网卡调度、TLS/IPsec 硬件加密卸载、队列故障隔离;

预研底层改造(为 UMDF 做的核心改动)

  • 拆分 netcx.sys 分层:极简内核托管层 + 可迁移至用户态的业务回调抽象;
  • 统一 KMDF/UMDF API 接口集,保证两套模型代码高度复用;
  • 实现用户态 / 内核态 DMA 共享内存映射机制,支撑零拷贝数据包收发;
  • 重构 NBL(NET_BUFFER_LIST)内存池,支持跨地址空间安全传递数据包。

阶段 2:初代正式发布 — NetAdapterCx v2.5 UMDF(Win11 24H2,2024,首个可用用户态网卡模型)

配套底层版本绑定

  • 操作系统:Windows 11 24H2
  • 底层 UMDF 基础框架版本:UMDF 2.33
  • NetAdapterCx 主版本号:2.5(KMDF/UMDF 共用同一主版本,API 对齐)Microsoft ...

1. 底层架构革命性变更(区分 KMDF)

plaintext
用户层:TCP/IP、WFP、vSwitch过滤驱动
    ↓
NDIS 6.x 内核协议栈(不变)
    ↓
netcx.sys 内核托管薄层(仅处理中断、DMA、硬件权限控制,逻辑极简)
    ↓
wudfhost.exe 用户态进程(UMDF NetAdapterCx客户端驱动,所有硬件读写、队列调度、OID处理在此执行)
    ↓
USB/PCIe以太网硬件
  • 内核层剥离所有复杂业务逻辑,仅保留硬件资源安全隔离、中断转发、内存地址转换;
  • 全部网卡业务回调(收发队列、硬件状态、电源管理)运行在用户受限地址空间。

2. v2.5 UMDF 核心原生能力

  1. 基础以太网全链路支持
     
    完整实现数据包收发、MTU、巨型帧、校验和 / 分段卸载、RSSv2 多核分流,与 KMDF 功能对齐;
  2. 零拷贝跨地址空间 DMA
     
    netcx.sys 建立内核 - 用户态共享缓冲区,NBL 数据包无需内存拷贝即可在 wudfhost 与 NDIS 间流转,吞吐损耗低于 5%;
  3. 崩溃隔离核心特性
     
    用户态驱动空指针、内存越界、死锁仅终止 wudfhost.exe 进程,系统不会触发 BSOD 蓝屏,框架自动重启驱动恢复网卡;
  4. API 双向兼容
     
    KMDF NetAdapterCx 业务代码几乎无需重构,仅移除 KMDF 专属内核 API 即可迁移至 UMDF;
  5. 完整 WDF 用户态能力复用
     
    PnP 热插拔、D0/D3 电源管理、ETW 性能追踪、硬件故障诊断、资源自动释放全部原生支持。

3. v2.5 初代硬性限制(早期短板)

  1. 仅支持有线以太网,不支持 WiFiCx 无线、MBBCx 蜂窝、SR-IOV VF 直通、VMQ 虚拟机队列;
  2. 仅适配 USB 外置网卡、嵌入式低成本 PCIe 网卡,不支持 25G/100G 高性能服务器网卡;
  3. 不支持 NDK RDMA、DCB 数据中心无损以太网;
  4. 异步 OID 批量处理吞吐量弱于同版本 KMDF。

阶段 3:后续迭代扩展路线(v2.6 ~ 远期规划,持续补齐硬件生态)

基于微软官方版本路线,UMDF NetAdapterCx 演进迭代方向分为三大维度:

1. 硬件品类扩展

  • v2.6:新增 WiFiCx 802.11ax/802.11be 无线网卡用户态驱动支持;
  • v2.7:新增 MBBCx 5G 蜂窝宽带适配器 UMDF 支持;
  • 远期:开放 SR-IOV VF、VMQ 虚拟化队列用户态托管,适配虚拟化桌面 USB 网卡。

2. 高性能能力补齐

  • 完善 NDK RDMA、TLS 硬件卸载、DCB 无损以太网用户态接口;
  • 优化用户态中断 moderation 调度,缩小与 KMDF 的吞吐延迟差距;
  • 异构 CPU 大小核 RSS 动态均衡用户态托管。

3. 安全与运维增强

  • 用户态数据包缓冲区访问权限沙箱隔离,缩小内核漏洞攻击面;
  • 完整 vSwitch 扩展过滤钩子、WFP 驱动互通;
  • 驱动故障自动热重启、批量远程诊断 ETW 日志。

三、UMDF NetAdapterCx 底层演进核心技术变革维度

1. 权限与故障隔离模型演进

  • 传统 NDIS Miniport / KMDF NetAdapterCx:全逻辑运行 Ring0 内核,任意内存错误直接蓝屏;
  • UMDF NetAdapterCx v2.5:业务逻辑运行 Ring3 用户受限进程,内核仅做安全仲裁,崩溃不宕机,稳定性大幅提升。

2. 内存与数据包传输架构演进

  • KMDF:NBL 全程内核地址空间,无地址转换开销,但风险集中在内核;
  • UMDF:双地址空间共享 DMA 缓冲区,netcx.sys 做地址映射中转,实现零拷贝同时隔离非法内存访问。

3. 开发范式演进

  • KMDF / 原生 NDIS:必须区分内核专属 API,硬件调度、锁、队列并发逻辑手动处理;
  • UMDF:统一 WDF 回调编程模型,KMDF/UMDF 代码 90% 可复用,框架自动托管并发、锁、内存生命周期。

4. 硬件适配范围演进

v2.5 初代仅有线 USB / 低功耗 PCIe 以太网 → 后续迭代逐步覆盖无线、蜂窝、虚拟化、数据中心高速网卡,最终实现全品类网卡双模型(KMDF 高性能 / UMDF 高安全)覆盖。

四、KMDF NetAdapterCx 与 UMDF NetAdapterCx 演进分层对比表

对比维度 KMDF NetAdapterCx(v2.0~v2.5) UMDF NetAdapterCx(v2.5 起,用户态分支)
首次发布版本 v2.0 Win10 2004 v2.5 Win11 24H2
运行权限 Ring0 内核态 Ring3 用户态(wudfhost.exe)
崩溃影响 驱动异常直接 BSOD 蓝屏 仅重启用户进程,系统持续运行
初始硬件支持 蜂窝→以太网→WiFi→SR-IOV/VMQ 全品类 v2.5 仅有线以太网,后续版本逐步扩展无线 / 蜂窝
虚拟化支持 完整 SR-IOV、VMQ、vSwitch v2.5 无虚拟化,v2.6 + 逐步补齐
数据包内存模型 内核单地址空间,零转换开销 内核 - 用户共享 DMA 缓冲区,轻微地址转换开销
适用场景 服务器万兆 / 25G 高性能网卡、虚拟化直通 USB 便携网卡、嵌入式、消费级有线网卡、安全优先场景
API 复用度 基准框架 90% 业务 API 与 KMDF 完全一致,迁移成本极低

五、演进路线核心总结

  1. 架构演进逻辑:先在内核 KMDF 验证完整 NDIS/WDF 融合框架(v2.0~v2.4),完成全部网络硬件能力封装;再在 v2.5 拆分出用户态 UMDF 分支,解决内核驱动稳定性与安全缺陷;
  2. 功能演进路线:从单一有线以太网起步,持续向无线、蜂窝、虚拟化、数据中心高性能硬件扩展;
  3. 设计目标分层
    • KMDF:极致网络吞吐、低延迟,面向服务器高性能硬件;
    • UMDF:系统安全隔离、故障不蓝屏、简化外设驱动开发,面向消费级、嵌入式 USB 网卡;
  4. 底层统一约束:无论 KMDF/UMDF,均由 netcx.sys 封装底层 NDIS 6.x,上层驱动不直接操作原生 NDIS 锁、NBL、中断、RSS 哈希表,框架全权托管并发与硬件资源。

netcx.sys 完整底层演进解构

一、基础定义

netcx.sys = Network Adapter Class Extension 内核扩展驱动,是 NetAdapterCx 整套框架的内核载体,运行在 Ring0 内核态,作为WDF 与 NDIS 6.x 中间抽象层,屏蔽原生 NDIS 复杂并发、数据包、虚拟化、电源 API,向上给 KMDF/UMDF 客户端驱动提供标准化网络回调接口Microsoft ...。
 
全版本遵循统一分层定位:
plaintext
上层:KMDF/UMDF 网卡客户端驱动(厂商硬件逻辑)
      ↓
netcx.sys(核心:封装全部NDIS交互、队列调度、内存池、虚拟化、跨地址空间转发)
      ↓
底层:ndis.sys NDIS 6.x 标准协议栈
演进主线分 5 个版本里程碑,对应 NetAdapterCx v2.0 /v2.2 /v2.3 /v2.4 /v2.5,底层架构、内存模型、硬件支持、跨用户态转发能力逐代重构。

二、分版本底层完整演进拆解

1. netcx.sys v1.31(NetAdapterCx v2.0,Win10 2004,2020,初代原型)

发布定位

仅面向 MBBCx 蜂窝移动宽带,验证「WDF 封装 NDIS」技术可行性,最小可用内核原型Microsoft ...。

底层架构设计

  1. 分层极简:仅封装基础 NDIS OID、收发队列,无 RSS、VMQ、SR-IOV 虚拟化模块;
  2. 数据包模型:直接透传 NDIS 原生 NET_BUFFER_LIST(NBL),未自研 NET_PACKET 抽象;
  3. WDF 绑定逻辑:硬耦合 KMDF 1.31,仅支持内核态客户端,无任何用户态转发通道;
  4. 硬件限制:仅蜂窝 4G/5G 模块,有线以太网、WiFi 完全不兼容。

底层短板

  • NDIS 与 WDF 胶水代码臃肿,并发锁逻辑未封装,厂商仍需手动处理部分 NDIS 自旋锁;
  • 无独立数据包环形缓冲区池,频繁内核内存分配释放造成性能抖动;
  • 无电源精细调度、中断 moderation 托管。

2. netcx.sys v1.33(NetAdapterCx v2.2,Win11 21H2,2021,通用化里程碑重构)

核心底层革命性改造(架构分水岭)

  1. 自研 NET_PACKET 数据包抽象层
     
    废弃直接透传 NBL,在 netcx.sys 内部封装 NET_PACKET / NET_PACKET_FRAGMENT 环形缓冲区模型:
    • 对上层客户端屏蔽 NDIS MDL、NBL 复杂链表;
    • 框架自动管理收发环形缓冲池、无锁队列调度;
    • 收发回调简化为 EVT_RXQUEUE_ADVANCE / EVT_TXQUEUE_ADVANCE,替代原生 NDIS 复杂收发函数。
  2. 全硬件品类适配内核模块拆分
     
    netcx.sys 内部拆分为三大独立子模块,统一对外 API:
    • NetAdapter(有线以太网)
    • WiFiCx(802.11 Wi-Fi 无线)
    • MBBCx(蜂窝宽带)
       
      一套 netcx.sys 同时支撑三类网卡驱动,彻底脱离单一蜂窝场景。
  3. 完整 RSSv2 内核托管子系统
     
    框架内部实现 RSS 哈希表、CPU 队列亲和、间接表动态更新,厂商无需手动编写 NDIS RSS 并发锁逻辑,netcx.sys 自动完成硬件队列与内核 CPU 核心绑定。
  4. 硬件卸载标准化封装
     
    内置校验和卸载、分段卸载、Header-Data Split、巨型帧 Jumbo Frame 全套 NDIS 卸载 API 封装,客户端仅上报硬件能力标识即可启用。

新增底层机制

  • 统一电源状态机托管(D0 活跃 / D3 休眠、闲置队列断电、混合睡眠网卡状态);
  • 多队列并行收发调度,自动负载均衡多核 CPU;
  • WDF 设备生命周期完全接管(PnP 热插拔、资源释放、故障隔离)。

3. netcx.sys v1.33(NetAdapterCx v2.3,Win11 22H2,2022,虚拟化全栈落地)

底层新增虚拟化内核模块

  1. SR-IOV PF/VF 完整托管子系统
     
    netcx.sys 内部封装物理功能 PF、虚拟功能 VF 资源分配、中断转发、热插拔、每 VF 独立 RSS 哈希均衡;底层对接 NDIS 6.30 SR-IOV 标准,客户端无需处理 PF/VF 队列分离逻辑。
  2. VMQ 虚拟机队列调度层
     
    内置 Hyper-V 虚拟网卡硬件队列分发逻辑,数据包直接分流至虚拟机队列,绕过主机 TCP/IP 拷贝,netcx.sys 管理队列生命周期与中断亲和。
  3. vSwitch 扩展钩子兼容层
     
    对接可扩展虚拟交换机过滤钩子,与 WFP 内核过滤驱动无缝互通,流量拦截、QoS、ACL 由 netcx.sys 中转。

数据中心底层能力补齐

  • DCB 无损以太网 PFC 流量控制内核封装;
  • NDK RDMA 内存注册、零拷贝直传封装;
  • 批量异步 OID 请求调度,减少 IRQL 上下文切换开销。

4. netcx.sys v1.33(NetAdapterCx v2.4,Server2022 23H2,2023,云原生性能优化)

内核调度与内存池深度优化

  1. 零拷贝 NBL/NET_PACKET 复用池
     
    netcx.sys 预分配常驻环形缓冲区,减少频繁分页内存分配释放,降低云服务器高并发场景 CPU 开销;
  2. 单队列故障隔离机制
     
    内置硬件队列异常检测,单收发队列卡死时自动隔离,不中断整张网卡其余队列流量;
  3. 容器虚拟网卡 VNIC 标准化内核接口
     
    适配 Windows 容器、云主机多虚拟网卡批量资源调度;

硬件安全卸载模块

新增 TLS/IPsec 硬件加密卸载完整封装,netcx.sys 统一管理加密缓冲区与密钥上下文。

5. netcx.sys v1.33(NetAdapterCx v2.5,Win11 24H2,2024,划时代双运行时架构:KMDF + UMDF 双分支)

最核心底层重构:新增「用户态中转隔离子系统」(UMDF 支撑核心)

这是 netcx.sys 演进史上最大架构变更,内核模块拆分两层:
  1. 极简安全仲裁薄层(常驻内核)
     
    仅保留硬件权限校验、中断转发、DMA 地址空间映射、内存访问沙箱拦截;剥离全部业务队列、数据包处理逻辑,移交用户态 wudfhost.exe
  2. 跨地址空间零拷贝共享内存管理器
     
    netcx.sys 实现内核 - 用户态 DMA 共享缓冲区映射:
    • 网卡硬件 DMA 写入共享物理页;
    • netcx.sys 完成虚拟地址转换,数据包直接暴露给 UMDF 用户态进程,无内存拷贝;
    • 拦截用户态非法内核地址访问,避免用户态驱动漏洞越权破坏内核内存。

双向 API 兼容层

netcx.sys 提供统一抽象接口,KMDF 内核客户端、UMDF 用户态客户端调用完全一致 API,框架内部自动区分运行时地址空间转发逻辑,厂商业务代码 90% 无需修改即可在内核 / 用户态之间迁移Microsoft ...。

v2.5 配套新增底层能力

  1. UDP 接收分段联合卸载(URO)内核封装;
  2. WiFiCx Wi‑Fi 7 MLO 多链路操作底层支持;
  3. ETW 全链路网络性能追踪内置埋点;
  4. 用户态驱动故障自动重启逻辑:wudfhost 崩溃后 netcx.sys 自动重置硬件队列、重建用户态通道,系统不蓝屏 BSOD。

三、netcx.sys 四大底层演进核心维度对比

1. 数据包内存模型演进

版本 数据包模型 内存管理特征
v2.0 直接透传 NDIS NBL 无专用缓冲池,频繁动态分配,性能抖动大
v2.2~v2.4 内核环形 NET_PACKET 池 常驻内核预分配缓冲,纯内核地址空间,零地址转换
v2.5 共享 DMA 双地址空间池 内核 / 用户态共享物理页,UMDF 零拷贝转发,带访问沙箱隔离

2. 并发与虚拟化内核模块演进

  1. v2.0:无 RSS、无虚拟化,单队列串行收发;
  2. v2.2:RSSv2 多核分流完整托管;
  3. v2.3:SR‑IOV / VMQ /vSwitch 虚拟化全套内核子系统;
  4. v2.4:云容器多网卡批量调度、队列故障隔离;
  5. v2.5:虚拟化能力同时兼容 KMDF/UMDF 双客户端。

3. 运行时架构演进(最关键分层变革)

  1. v2.0~v2.4 单内核架构:全部队列、数据包、硬件业务逻辑运行在 netcx.sys 内核内部,客户端仅 KMDF 内核驱动;
  2. v2.5 分层隔离架构
    • netcx.sys 仅保留安全仲裁、中断、内存映射;
    • 业务收发、OID、队列调度下放至用户态 wudfhost.exe(UMDF);
    • 同时兼容原有纯内核 KMDF 客户端双路径并行。

4. NDIS 封装程度演进

  • v2.0:浅封装,大量 NDIS 底层 API 暴露给客户端;
  • v2.2+:深度封装,屏蔽 NBL、自旋锁、中断亲和、队列生命周期;
  • v2.5:完全抽象 NDIS,KMDF/UMDF 客户端完全看不到原生 NDIS 结构体,netcx.sys 内部做双向翻译转换。

四、netcx.sys 与传统原生 NDIS Miniport 底层架构本质差异

  1. 锁与并发管理
    • 原生 NDIS Miniport:厂商手动实现全局 / 队列自旋锁,极易死锁、多核负载不均;
    • netcx.sys:框架内部无锁队列、RSS 自动亲和,并发逻辑完全封装,厂商无需处理锁。
  2. WDF 融合深度
    • 原生 NDIS:WDF 与 NDIS 割裂,需大量胶水代码,仅能用少量 WDF 功能;
    • netcx.sys:以标准 WDF 为主体,完整复用 WDF PnP、电源、DMA、故障恢复全套机制,NDIS 作为底层隐藏依赖。
  3. 故障隔离能力
    • 原生 NDIS Miniport:全部逻辑在内核,空指针 / 内存越界直接蓝屏;
    • netcx.sys v2.5 UMDF 路径:业务逻辑在用户进程,崩溃仅重启 wudfhost,内核仅保留安全薄层。
  4. 跨硬件统一抽象
    • 原生 NDIS:以太网 / Wi‑Fi / 蜂窝驱动 API 差异巨大,三套独立开发逻辑;
    • netcx.sys:一套内核扩展统一三类网卡上层 API,底层硬件差异全部由 netcx.sys 内部抹平。

五、完整演进路线总结

阶段 1:技术验证(v2.0 Win10 2004)

目标:验证 WDF+NDIS 融合可行性,仅蜂窝网卡,极简内核原型,无虚拟化、多核分流能力。

阶段 2:通用化重构(v2.2 Win11 21H2)

底层核心重构:自研 NET_PACKET 环形缓冲,全品类网卡支持,RSS 多核分流、硬件卸载全套封装,成为主流 KMDF 网卡驱动标准框架。

阶段 3:虚拟化数据中心完善(v2.3~v2.4 Win11 22H2 / Server2022)

补齐 SR‑IOV、VMQ、RDMA、DCB 云服务器虚拟化底层模块,支撑万兆 / 25G 高性能虚拟化网卡。

阶段 4:安全隔离双架构落地(v2.5 Win11 24H2)

netcx.sys 做分层拆分,新增用户态 DMA 共享转发子系统,同时支持 KMDF 高性能内核驱动 + UMDF 安全用户态驱动,完成「性能 + 安全」双目标演进闭环。

演进底层核心逻辑

  1. 抽象持续加深:不断屏蔽原生 NDIS 底层复杂并发、内存、虚拟化逻辑,向下兼容 NDIS 6.x 标准,向上简化驱动开发;
  2. 硬件生态持续扩张:从单一蜂窝 → 有线 + 无线 + 蜂窝全品类;
  3. 安全模型迭代:单一内核高风险架构 → 内核安全薄层 + 用户态业务隔离双路径;
  4. 云虚拟化能力渐进补齐:基础多核 RSS → 硬件直通 SR‑IOV → 容器 / 云原生批量网卡调度。

 


Screenshot_2026-02-07-23-43-21-964_com.larus.nova-edit

NDIS(Network Driver Interface Specification)的拼写误差。在 Windows 网络架构中,NDIS 是微软定义的核心网络驱动接口规范,而 “基于 NDIS 的互联网共享设备” 通常指通过 NDIS 中间层驱动(Intermediate Driver)或 虚拟网络适配器 实现的网络共享功能。
以下是详细解析:

一、什么是 NDIS?

NDIS(Network Driver Interface Specification)
是 Windows 操作系统中用于标准化网络硬件与协议栈之间通信的驱动程序接口框架。它位于:
  • 上层:TCP/IP 协议栈、TDI(传输驱动接口)
  • 下层:物理网卡驱动(Miniport Driver)
NDIS 支持多种驱动类型,其中与“互联网共享”密切相关的是:
  • NDIS Intermediate Driver(中间层驱动)
  • NDIS Virtual Miniport Driver(虚拟微型端口驱动)

二、“基于 NDIS 的互联网共享设备”典型场景

这类设备/功能的本质是:通过 NDIS 虚拟化技术,在主机上创建一个虚拟网络接口,将物理网络连接(如蜂窝网络、Wi-Fi)桥接或路由给其他设备

常见实现形式:

表格
 
类型 技术原理 示例
Windows 网络共享(Internet Connection Sharing, ICS) 使用 NDIS 虚拟适配器(如 Microsoft Wi-Fi Direct Virtual Adapter)创建 NAT 网关 手机 USB 共享网络到 PC
蓝牙 PAN(Personal Area Network) 通过 BNEP(Bluetooth Network Encapsulation Protocol)在 NDIS 层封装以太网帧 蓝牙共享手机网络给笔记本
USB RNDIS 设备 USB 设备模拟以太网卡,使用 NDIS RNDIS 驱动 安卓手机 USB 网络共享(USB Tethering)
虚拟网卡软件 如 OpenVPN TAP、Tailscale、ZeroTier 创建的虚拟适配器 远程访问、SD-WAN
✅ 关键点:所有这些“共享设备”在 Windows 设备管理器中都会显示为 “网络适配器”,其驱动基于 NDIS 架构。

三、工作流程(以 USB 网络共享为例)

  1. 安卓手机通过 USB 连接电脑,启用“USB 网络共享”;
  2. 手机模拟成一个 RNDIS(Remote NDIS)设备;
  3. Windows 加载 rndismp.sys(NDIS Miniport 驱动);
  4. 系统创建一个虚拟以太网接口(如 “Remote NDIS based Internet Sharing Device”);
  5. 用户可对该接口配置 IP、设置路由,实现上网。
📌 您看到的设备名称 “NDIS-based Internet Sharing Device” 正是此类虚拟适配器的通用命名。

四、常见问题与排查

表格
 
问题 可能原因 解决方案
设备未识别 手机未启用共享 / USB 调试冲突 关闭 USB 调试,重新插拔
无网络访问 防火墙/NAT 配置错误 检查 ICS 设置或手动配置 IP
驱动感叹号 NDIS 驱动损坏 更新网卡驱动或运行 netcfg -d 重置

五、安全提示

  • 此类虚拟设备可能被恶意软件利用(如创建隐蔽隧道);
  • 在公共电脑上使用他人共享网络时,注意检查虚拟适配器是否可信;
  • 企业环境中应通过组策略限制未知 NDIS 虚拟设备安装。


“NDIS-based Internet Sharing Device” 并非实体硬件,而是 Windows 利用 NDIS 驱动框架创建的虚拟网络接口
,用于实现 USB/蓝牙/Wi-Fi 等方式的互联网连接共享。它是操作系统底层网络虚拟化的体现,普通用户无需深究,但开发者和 IT 人员需理解其原理以进行故障排查或安全审计。
如您是在设备管理器中看到此设备,且网络正常,可忽略;若出现异常,建议检查共享源设备设置或更新网络驱动。

Screenshot_2026-02-07-23-43-49-237_com.larus.nova-edit

NDiS-based Internet Sharing Device(基于 NDiS 的互联网共享设备)在 Windows 系统中的发展主要涉及通过网络设备进行互联网共享的技术进步。NDiS(Network Device Interface Specification)是一个网络设备接口标准,它在无线局域网和有线局域网设备的连接和管理中发挥作用。具体来说,NDiS-based 互联网共享设备是通过 NDiS 协议允许设备共享网络连接的技术。这个技术在 Windows 操作系统中的发展时间线可以追溯到早期的网络共享和虚拟路由器功能的引入。

1. 早期的互联网共享(Windows XP)

  • 2001年:Windows XP 和网络共享功能的引入
    • Windows XP 引入了简化的互联网连接共享(ICS)功能,允许计算机通过有线或无线网络共享互联网连接。这一时期的互联网共享基本上依赖于网卡和路由器的物理连接。
    • 尽管没有直接提到 NDiS 协议,但 Windows XP 为后续的网络共享技术奠定了基础。

2. Windows Vista 和 Windows 7 中的网络共享功能(2007年 - 2009年)

  • Windows Vista(2007年) 和 Windows 7(2009年) 引入了增强的网络共享功能,允许用户更加灵活地共享互联网连接。
    • Windows 7 特别增强了无线网络的管理功能,使得用户能够更容易地设置 虚拟路由器(通过软件共享互联网连接),并通过无线网卡共享互联网连接给其他设备。
    • 这时期开始出现了与 NDiS 相似的功能,虽然还没有直接采用 NDiS 技术,但它为后来的基于 NDiS 的设备和协议铺平了道路。

3. Windows 8 和虚拟路由器的广泛支持(2012年)

  • Windows 8(2012年发布) 引入了更为强大的无线网络和网络共享功能,包括通过 Hosted Network(托管网络)共享互联网连接的能力。
    • Hosted Network 技术允许用户通过 Wi-Fi 卡将网络连接共享给其他设备,相当于将计算机变成一个虚拟路由器。这项技术为后来的基于 NDiS 的设备共享互联网连接提供了基础。
    • Windows 8 支持的这一功能虽然没有完全采用 NDiS,但它与 NDiS 的概念十分相似,即通过虚拟化的网络适配器共享网络连接。

4. Windows 10 和更强大的互联网共享(2015年)

  • Windows 10(2015年发布) 对网络共享功能进行了进一步的优化,特别是在 移动热点 功能的推出后,用户能够更方便地通过 Wi-Fi 分享互联网连接。
    • Windows 10 的移动热点功能允许用户将计算机的互联网连接通过无线网络共享给其他设备,并且可以配置不同的网络类型和密码。
    • 这与 NDiS-based Internet Sharing Device 的工作原理相似,特别是在设备间通过虚拟适配器进行网络连接方面。移动热点功能为基于 NDiS 的设备共享互联网提供了进一步的支持。

5. Windows 10 和网络设备虚拟化的增强(2017年及以后)

  • Windows 10 在后续的更新(如 Windows 10 1709 版本)中加强了网络设备虚拟化的支持。
    • Windows 系统引入了 Hyper-V 虚拟网络适配器 和 虚拟化网络管理,进一步增强了通过虚拟化技术进行网络共享的能力。这与 NDiS 协议中的设备共享机制有许多相似之处。
    • 尽管 Windows 10 没有直接实现 NDiS,但它的网络虚拟化和设备共享功能为构建基于 NDiS 的互联网共享设备提供了技术支持。

6. 未来展望:Wi-Fi 6 和更高效的网络共享(2020年及以后)

  • 随着 Wi-Fi 6 和 Wi-Fi 6E 等新一代无线技术的普及,Windows 系统将继续改进和增强网络共享功能。
    • 未来的 Windows 版本可能会进一步集成 NDiS 协议的支持,提升网络共享设备的性能、稳定性和兼容性,尤其是在无线网络环境中。

 基于 NDiS 的互联网共享设备在 Windows 系统中的发展

  • 2001年:Windows XP 引入了基本的互联网连接共享功能,为后续技术的实现奠定了基础。
  • 2007年 - 2009年:Windows Vista 和 Windows 7 提供了增强的网络共享和虚拟路由器功能,为基于 NDiS 的共享设备的出现铺平了道路。
  • 2012年:Windows 8 引入了托管网络功能,进一步提升了网络共享能力,尽管没有直接采用 NDiS,但与其概念高度相似。
  • 2015年:Windows 10 推出了更强大的移动热点功能,进一步完善了虚拟适配器的使用,增强了网络共享体验。
  • 2020年以后:Windows 系统将继续改进无线网络共享功能,为基于 NDiS 的互联网共享设备提供更强大的支持。

随着技术的不断发展,NDiS-based Internet Sharing Device 的应用和发展将继续增强,特别是在新一代无线网络技术和虚拟化管理方面的突破。


Remote NDiS-based Internet Sharing Device(基于远程NDIS的互联网共享设备)是一种网络接口遥控分享装置。这种设备允许通过USB连接将智能手机等设备连接到电脑,从而充当无线网卡的作用,使电脑能够连接到互联网。

具体功能作用如下:

  1. 充当无线网卡:当手机连接到互联网后,通过USB绑定,这个设备可以使电脑通过手机的网络连接访问互联网,就像使用无线网卡一样。
  2. 便捷性:这种设备提供了一种便捷的方式,使得在没有Wi-Fi或有线网络连接的情况下,电脑仍然可以通过手机的网络连接访问互联网。
  3. 适用范围广:这种设备适用于多种操作系统和设备,如Windows、Android等,使得更多的用户可以使用这种设备进行互联网连接。

 Remote NDiS-based Internet Sharing Device是一种非常实用的设备,它提供了一种便捷、灵活的方式,使得电脑可以通过手机的网络连接访问互联网。


Remote NDiS-based Internet Sharing Device(基于远程NDIS的互联网共享设备)的特色功能主要体现在以下几个方面:

  1. 远程控制:Remote NDiS-based Internet Sharing Device 允许用户通过远程方式控制和管理网络连接。这意味着用户可以在不同的设备之间共享互联网连接,而不必亲自物理连接这些设备。
  2. 灵活的连接方式:该设备支持通过USB连接,使得手机等设备能够与电脑进行连接,并共享其互联网连接。这种连接方式既简单又方便,适用于多种设备和应用场景。
  3. 自动配置和管理:Remote NDiS-based Internet Sharing Device 通常具有自动配置和管理功能,可以自动检测并配置网络连接,减少了用户手动设置和管理的麻烦。
  4. 兼容性广泛:这种设备通常支持多种操作系统和设备,如Windows、Android等,使得更多的用户可以使用这种设备进行互联网连接。
  5. 易于使用和携带:Remote NDiS-based Internet Sharing Device 通常体积小巧,易于携带和使用。用户可以轻松地将其连接到手机或电脑上,实现互联网连接共享。

 Remote NDiS-based Internet Sharing Device 的特色功能主要体现在远程控制、灵活的连接方式、自动配置和管理、广泛的兼容性以及易于使用和携带等方面。这些功能使得该设备成为一种方便、实用的互联网连接共享解决方案。


使用Remote NDIS based Internet Sharing Device进行网络共享的操作说明如下:

  1. 连接手机与电脑:首先,通过USB线将手机连接到电脑。确保手机和电脑都已经打开,并且USB连接正常。
  2. 开启USB网络共享:在手机上,打开“设置”或相应的网络管理界面,找到“USB网络共享”或类似的选项,并启用它。这会让手机通过USB连接为电脑提供网络共享功能。
  3. 打开设备管理器:在电脑上,打开“设备管理器”。这通常可以通过在“开始”菜单中搜索“设备管理器”来找到。
  4. 更新驱动:在设备管理器中,找到“网络适配器”部分,并找到名为“Remote NDIS based Internet Sharing Device”的设备。右键点击该设备,选择“更新驱动”。
  5. 选择驱动程序来源:在弹出的对话框中,选择“浏览计算机以查找驱动程序软件”。
  6. 从设备驱动列表中选取:在接下来的界面中,选择“从计算机的设备驱动列表中选取”。
  7. 选择适配器:在驱动列表中,取消勾选“显示兼容硬件”,然后在厂商列表中选择“Microsoft”,在型号列表中选择“USB RNDIS6适配器”。
  8. 完成驱动安装:点击“是”或“继续安装”按钮,以完成驱动程序的安装。

完成以上步骤后,电脑应该能够通过手机的网络连接到互联网了。请确保手机和电脑之间的USB连接稳定,并且手机的网络功能已经开启。


PowerShell 查询设备管理器中网络适配器 Remote NDIS based Internet Sharing Device 的步骤:

  1. 打开 PowerShell:在 Windows 系统中,可以通过在开始菜单中搜索“PowerShell”来打开 PowerShell 命令行界面。

  2. 运行以下命令来获取设备管理器中的网络适配器信息:

powershellCopy Code
Get-PnpDevice -Class Net
  1. 查找包含关键词“Remote NDIS based Internet Sharing Device”的网络适配器:
powershellCopy Code
Get-PnpDevice -Class Net | Where-Object {$_.Description -like "*Remote NDIS based Internet Sharing Device*"}

运行以上命令后,PowerShell 将列出设备管理器中描述中包含“Remote NDIS based Internet Sharing Device”的网络适配器信息。如果有符合条件的网络适配器存在,将显示相关信息;如果没有符合条件的网络适配器,则不会显示任何内容。


选择网络适配器 | Microsoft Learn

查询网络适配器的信息,可以使用Windows CMD命令行中的几个不同的命令。以下是一些常用的命令来查询网络适配器的详细信息:

1. ipconfig 命令

ipconfig 是最常用的命令,可以用来查看网络适配器的IP地址、子网掩码、默认网关等信息。要查看详细信息,可以使用 /all 选项。

cmdCopy Code
ipconfig /all

2. netsh 命令

netsh 是一个更高级的命令行工具,可以用于配置和查看网络适配器的各种设置。

cmdCopy Code
netsh interface show interface

这个命令会显示所有网络接口的基本信息,包括状态、连接类型和名称。

3. wmic 命令

wmic 是Windows Management Instrumentation Command,可以用于检索系统硬件和软件信息。

cmdCopy Code
wmic nic get name, netconnectionstatus, macaddress, speed

这个命令会显示所有网络适配器的名称、连接状态、MAC地址和速度。

4. getmac 命令

getmac 用于显示网络适配器的MAC地址。

cmdCopy Code
getmac /v

这个命令会以详细模式显示网络适配器的MAC地址和关联的设备名称。

5. systeminfo 命令

systeminfo 可以显示计算机系统的详细信息,其中包括网络适配器的某些信息。

cmdCopy Code
systeminfo | find "Network"

以上是一些可以用于查询网络适配器的命令,可以根据需要选择不同的命令来获取相关信息。


"Remote NDiS-based Internet Sharing Device" 是设备管理器中可能显示的一个网络适配器设备。这个设备通常与某些共享网络连接或远程网络服务相关。具体来说,NDiS(Network Device Interface Specification)是一个标准,用于支持网络设备之间的通信和管理。这个设备可能表示的是基于 NDiS 标准的设备,用于远程共享互联网连接。

详细解释:

  1. NDiS(Network Device Interface Specification):

    • 这是一个用于描述网络设备如何与操作系统交互的标准。NDiS 的目标是提供一个抽象层,允许操作系统与网络适配器、设备以及连接共享的设备之间进行有效通信。
  2. Remote NDiS-based Internet Sharing Device:

    • 这通常是与共享网络连接或互联网连接相关的设备。在某些情况下,它可以是通过软件(例如,Windows 共享网络功能、虚拟网络适配器等)创建的虚拟网络适配器。
    • 它可以用于通过其他计算机或设备共享网络连接。例如,如果你通过一个计算机的网络连接共享给其他设备,它可能会在设备管理器中显示为 "Remote NDiS-based Internet Sharing Device"。

可能的场景:

  1. 虚拟网络适配器

    • 许多第三方软件(例如虚拟网络管理工具、VPN 软件、共享网络连接软件)可能会在计算机上安装虚拟网络适配器。这些适配器使得设备能够共享网络连接或者允许虚拟机与主机共享网络资源。
  2. 移动热点功能

    • 在 Windows 操作系统中,你可以通过设置 "移动热点" 功能,将电脑的互联网连接共享给其他设备。启用此功能后,设备管理器中可能会显示类似的网络适配器名称。
  3. 网络桥接

    • 如果你的计算机设置了网络桥接(例如,两个网络适配器共享一个连接),也有可能会显示这个设备。它帮助多个网络接口之间共享和转发数据。

为什么会出现:

  • 正常操作:如果你正在使用网络共享、虚拟网络或移动热点功能,这个适配器是正常的,属于计算机为了支持这些功能而安装的虚拟设备。
  • 第三方软件的作用:如果安装了某些第三方软件(例如网络共享工具、VPN 客户端等),它们可能创建了这个虚拟适配器。
  • 驱动问题:如果你没有主动安装与该适配器相关的软件,它可能是某个网络驱动或应用程序自动安装的。如果出现问题,比如适配器无法工作、显示异常等,可以尝试更新驱动程序或检查软件设置。

如何处理:

  1. 检查驱动程序

    • 确保网络适配器的驱动程序是最新的。你可以右键点击设备管理器中的该适配器,选择“更新驱动程序”来检查是否有可用的更新。
  2. 禁用或删除设备

    • 如果你不打算使用该设备,或者它显得不正常,你可以在设备管理器中右键点击该设备,选择禁用或者卸载它。
  3. 查看软件设置

    • 检查是否有相关的软件(例如网络共享工具或 VPN 客户端)正在使用该适配器。如果是,你可以根据需求进行配置或卸载相关软件。

 "Remote NDiS-based Internet Sharing Device" 是一种与网络共享相关的虚拟适配器,它通常是与某些网络共享功能或第三方软件相关的。如果设备正常工作,它不会影响计算机的性能,但如果出现问题,你可以按上述步骤进行检查和调整。


设备管理器 中,Remote NDiS-based Internet Sharing Device 通常属于 网络适配器 类别,主要功能是支持 网络连接共享虚拟网络服务。这种设备通常与以下几种功能分类相关:

1. 网络连接共享(Internet Connection Sharing, ICS)

  • 功能描述:这种功能允许计算机共享其网络连接(如以太网或Wi-Fi)给其他设备或计算机。比如,你可以通过电脑将其互联网连接分享给其他设备,尤其是在没有独立路由器的情况下。
  • 工作原理:在启用互联网连接共享时,Windows 系统会创建一个虚拟网络适配器,该适配器表现为 Remote NDiS-based Internet Sharing Device,并负责转发网络流量。

2. 移动热点(Mobile Hotspot)

  • 功能描述:在 Windows 操作系统中,通过启用“移动热点”功能,计算机可以作为路由器将其网络连接(如以太网、Wi-Fi等)分享给其他设备。启用此功能时,计算机会创建一个虚拟适配器,这个适配器会被识别为 Remote NDiS-based Internet Sharing Device
  • 工作原理:设备通过计算机的 Wi-Fi 或有线网络将数据传输到其他设备,类似于手机或路由器的热点功能。

3. 虚拟网络适配器(Virtual Network Adapters)

  • 功能描述:某些软件(如 VPN 客户端、虚拟机软件等)可能会创建虚拟网络适配器来模拟或处理网络通信。Remote NDiS-based Internet Sharing Device 也可能是由这些程序创建的虚拟适配器,目的是允许计算机与其他设备或虚拟机共享网络资源。
  • 工作原理:虚拟适配器作为网络中介存在,它不会直接连接到物理网络,而是通过其他设备的网络接口进行通信,达到共享或桥接网络连接的目的。

4. 网络桥接(Network Bridging)

  • 功能描述:网络桥接是将多个物理或虚拟网络接口组合在一起,使它们作为一个单一的网络接口工作。Remote NDiS-based Internet Sharing Device 可能是网络桥接的一部分,通过这种方式,将多个网络适配器连接成一个共享网络。
  • 工作原理:设备在物理网卡和虚拟网卡之间建立桥接,允许流量跨多个接口传输。

5. VPN(虚拟私人网络)

  • 功能描述:当你使用某些 VPN 客户端时,系统可能会创建虚拟网络适配器来处理 VPN 连接。Remote NDiS-based Internet Sharing Device 可能与这种虚拟网络相关,帮助路由和共享 VPN 网络连接。
  • 工作原理:通过 VPN 服务,计算机可以将其网络连接与其他设备共享,使用虚拟网络适配器来管理加密的数据流。

Remote NDiS-based Internet Sharing Device 属于虚拟网络适配器的一种形式,主要用于支持 互联网连接共享、移动热点功能、虚拟网络适配器创建、网络桥接VPN连接 等功能。它使得计算机能够通过虚拟或物理网络适配器与其他设备共享网络连接,或进行其他网络操作。


Remote NDiS-based Internet Sharing Device 在设备管理器的 网络适配器 分类下,通常与 网络连接共享(Internet Connection Sharing,简称 ICS)和 虚拟网络服务相关。这种设备的应用场景主要涉及以下几个方面:

1. 互联网连接共享(ICS)

  • 应用场景:假设你的计算机通过有线或无线网络连接到互联网,你可以通过开启 互联网连接共享 来将该网络连接共享给其他设备。例如,你的计算机通过有线网络连接到互联网,而其他设备(如智能手机、平板电脑等)通过 Wi-Fi 连接你的计算机共享的网络。此时,计算机会显示一个 Remote NDiS-based Internet Sharing Device 设备,作为虚拟网络适配器来管理这些共享连接。
  • 实际案例:在没有无线路由器的情况下,使用笔记本电脑通过有线网络连接互联网,然后将该连接共享给手机等设备。

2. 移动热点(Mobile Hotspot)

  • 应用场景:许多操作系统(如 Windows 10/11)都支持将计算机转换成 Wi-Fi 热点,将计算机的网络连接(无论是有线的还是无线的)分享给其他设备。当你启用计算机的移动热点功能时,系统会创建一个虚拟网络适配器,即 Remote NDiS-based Internet Sharing Device,使得计算机能够充当无线接入点,其他设备通过 Wi-Fi 连接到计算机的网络。
  • 实际案例:在没有 Wi-Fi 路由器的情况下,使用计算机的移动热点功能与手机、平板等设备共享互联网连接。

3. 虚拟机或虚拟网络(VPN)

  • 应用场景:虚拟机软件(如 VMware、VirtualBox)或 VPN 客户端(如 Windows 内置的 VPN 客户端)可能会创建虚拟网络适配器,这些适配器会被标识为 Remote NDiS-based Internet Sharing Device。它们的作用是通过虚拟网络共享和路由流量,确保虚拟机或通过 VPN 连接的设备能够访问外部网络资源。
  • 实际案例:你在计算机上运行多个虚拟机,并希望通过主机的网络连接让虚拟机能够访问互联网或内网。此时,计算机会创建一个 Remote NDiS-based Internet Sharing Device 适配器来进行虚拟网络的管理和连接共享。

4. 网络桥接(Network Bridging)

  • 应用场景:在某些场景下,用户可能需要将多个网络适配器桥接在一起,使得它们在同一个网络中工作。通过桥接功能,计算机能够将多个网络接口(如有线网卡和无线网卡)结合在一起,创建一个统一的网络连接。Remote NDiS-based Internet Sharing Device 可能用于网络桥接中,以支持不同网络接口之间的通信和流量转发。
  • 实际案例:你需要将无线网络和有线网络连接桥接在一起,使得两个网络设备能够通过同一网络访问资源。此时,Remote NDiS-based Internet Sharing Device 会作为桥接适配器的一部分,处理这两个接口之间的流量。

5. 临时网络接入(Ad-hoc Networking)

  • 应用场景:在没有传统路由器的环境下,计算机也可以通过 Ad-hoc(点对点)网络 创建一个局部网络,允许多台设备相互连接并共享资源。通过启用 Remote NDiS-based Internet Sharing Device,计算机能够通过无线网络或有线网络与其他设备建立直接连接,形成一个局部的共享网络。
  • 实际案例:在某些场合(例如会议、旅行或外出时),需要建立一个临时网络,将几台计算机或设备连接在一起,便于资源共享或数据传输。

6. 远程桌面与网络访问

  • 应用场景:在远程办公或远程桌面场景中,Remote NDiS-based Internet Sharing Device 可用于通过 网络共享 连接多台计算机。通过这种方式,远程设备可以访问计算机上的资源,或通过共享的互联网连接进行数据传输。
  • 实际案例:你在家中通过 VPN 连接到公司的网络,然后通过 Remote NDiS-based Internet Sharing Device 将该网络连接共享给其他设备(如电话、笔记本等),实现远程办公。

Remote NDiS-based Internet Sharing Device 主要用于 互联网连接共享虚拟网络移动热点虚拟机网络管理网络桥接临时网络接入 等应用场景。在这些场景中,它作为一个虚拟适配器,帮助设备之间共享网络连接或创建复杂的网络拓扑。


在设备管理器中,Remote NDiS-based Internet Sharing Device 主要用于 互联网连接共享(ICS)移动热点 功能,通常由操作系统在启用网络共享功能时自动创建。使用此设备的操作步骤可能因你所使用的操作系统(如 Windows)而有所不同。以下是如何操作它的基本步骤:

1. 启用互联网连接共享(ICS)

步骤:

  1. 打开设备管理器

    • 按 Win + X 并选择 设备管理器,或按 Win + R 并输入 devmgmt.msc,然后按回车。
  2. 找到 Remote NDiS-based Internet Sharing Device

    • 在设备管理器中,展开 网络适配器 分类,你应该能看到 Remote NDiS-based Internet Sharing Device(如果你启用了互联网连接共享功能)。
  3. 启用共享功能

    • 右键点击 网络和共享中心 里的网络连接(例如有线网络或 Wi-Fi 连接),选择 属性
    • 选择 共享 标签页。
    • 勾选 允许其他网络用户通过此计算机的 Internet 连接来连接
    • 在 家庭网络连接 下拉菜单中选择与你的 Remote NDiS-based Internet Sharing Device 相关的网络接口(例如无线网络适配器)。
  4. 保存设置

    • 点击 确定 保存设置。此时,计算机将开始共享其网络连接。

使用场景:

  • 你可以通过此功能将电脑的互联网连接共享给其他设备,像是通过 Wi-Fi 共享给手机、平板电脑或其他电脑。

2. 启用移动热点

Windows 10 或 Windows 11 支持将电脑变成 Wi-Fi 热点,通过 Remote NDiS-based Internet Sharing Device 共享互联网连接。

步骤:

  1. 打开设置

    • 点击 开始 菜单,选择 设置(齿轮图标)。
  2. 进入网络设置

    • 在设置菜单中,点击 网络和 Internet
  3. 启用移动热点

    • 在左侧菜单中选择 移动热点
    • 打开 分享我的 Internet 连接 开关。
    • 选择你希望共享的网络连接(例如 Wi-Fi 或以太网)。
  4. 配置热点设置

    • 点击 编辑,设置网络名称(SSID)和密码。
    • 保存设置后,其他设备可以通过你创建的 Wi-Fi 热点连接到互联网。

使用场景:

  • 这将允许你通过电脑创建一个临时的 Wi-Fi 热点,并通过 Remote NDiS-based Internet Sharing Device 共享你的互联网连接。

3. 检查 Remote NDiS-based Internet Sharing Device 设备状态

如果你的设备未正常工作,或者你想确保共享网络连接的设备正常运行,你可以通过以下步骤进行检查:

  1. 打开设备管理器
  2. 找到 Remote NDiS-based Internet Sharing Device,右键点击并选择 属性
  3. 在 常规 标签页中,查看 设备状态,如果出现 设备正常工作,则说明设备正常。如果出现错误代码或警告,可以尝试更新驱动或重新启动计算机。
  4. 若驱动出现问题,尝试通过右键点击该设备选择 更新驱动程序 或 卸载设备,然后重新启动计算机让系统自动安装驱动。

4. 使用网络桥接

在某些情况下,你可能需要将多个网络适配器桥接在一起,使得它们在同一网络中工作。

步骤:

  1. 打开 网络和共享中心(可通过 控制面板 访问)。
  2. 在 更改适配器设置 中,选择你想要桥接的两个网络适配器(如有线网卡和无线网卡)。
  3. 右键点击选中的适配器,选择 桥接连接

使用场景:

  • 这种设置可以帮助你将不同网络接口(如无线和有线网络)连接到同一个局域网中,常用于需要连接多个网络设备的场景。
  • Remote NDiS-based Internet Sharing Device 主要与互联网连接共享和移动热点功能相关。你可以通过启用 ICS 或移动热点功能来使用此设备,或者通过网络桥接创建更复杂的网络拓扑。操作时需要确保设备驱动正常,设置正确。

Remote NDiS-based Internet Sharing Device 是 Windows 操作系统用来提供 互联网连接共享移动热点功能 的网络适配器设备。该设备通常依赖一些系统文件和驱动程序来正确工作。

具体来说,它依赖的文件包括:

1. .sys 文件(驱动程序文件)

  • ndis.sys:这是网络驱动模型 (NDIS) 的核心文件,它管理所有网络适配器和相关的网络服务。该文件在设备和网络之间进行通信时起着至关重要的作用。

  • ndistapi.sys:这个文件与 TAPI(Telephony API) 相关,用于网络设备之间的通信和网络连接共享。

  • rtnet.sys:这是一个可能与 Remote NDiS-based Internet Sharing Device 相关的文件,用于互联网共享服务。

这些 .sys 文件通常位于 C:\Windows\System32\drivers\ 目录中。

2. .dll 文件(动态链接库文件)

  • netcfgx.dll:这个文件用于网络配置,负责处理与网络适配器相关的设置,特别是用于网络共享功能。它是 Windows 网络堆栈的一部分。

  • rtutils.dll:在启用 Remote NDiS-based Internet Sharing Device 时,rtutils.dll 用于网络路由、接口设置和 IP 配置。

这些 .dll 文件位于 C:\Windows\System32\ 目录下。

3. .inf 文件(安装信息文件)

  • oemX.inf:这是由设备驱动程序安装程序提供的安装信息文件,其中 X 是一个数字,指示不同设备的安装文件。这些文件用于安装和配置网络适配器驱动,包括与 Remote NDiS-based Internet Sharing Device 相关的设备驱动程序。

这些 .inf 文件位于 C:\Windows\INF\ 目录。

4. 其他相关文件

  • tapisrv.dll:这是一个与 TAPI 相关的服务文件,可能用于处理与设备的网络共享功能相关的任务。

如何检查这些文件

  1. 检查驱动程序文件

    • 打开 设备管理器
    • 找到 Remote NDiS-based Internet Sharing Device,右键点击并选择 属性
    • 在 驱动程序 标签页下,点击 驱动程序详细信息,你可以查看正在使用的 .sys 文件。
  2. 查看系统文件

    • 你可以在文件资源管理器中查看这些系统文件的默认目录,通常是在 C:\Windows\System32\drivers 和 C:\Windows\System32\
  3. 使用命令检查文件

    • 使用 sigverif 工具来检查是否所有文件都经过签名。
    • 使用 driverquery 命令来列出所有已加载的驱动程序及其文件路径。

Remote NDiS-based Internet Sharing Device 依赖一些核心的 .sys 驱动文件、.dll 配置文件和安装信息文件。这些文件保证了设备的正确操作,特别是在处理网络共享和互联网连接共享的过程中。如果你遇到设备问题,检查这些文件的完整性和版本可能有助于解决问题。


Remote NDiS-based Internet Sharing Device 是 Windows 操作系统中的一项功能,主要用于通过网络共享互联网连接。它通常涉及 网络共享互联网连接共享 (ICS) 等功能。如果你想开发与 Remote NDiS-based Internet Sharing Device 相关的应用或调用其 API 接口,你将需要了解一些系统的网络 API,这些 API 主要通过 Windows NDIS (Network Driver Interface Specification)Windows Networking API 来实现。

以下是可能与该设备相关的一些关键 API 接口和开发方法:

1. NDIS API 接口

NDIS 是 Windows 操作系统中用于管理网络适配器和驱动程序的核心组件。通过 NDIS API,应用程序可以与网络适配器、驱动程序以及数据传输进行交互。

  • NDIS API 主要用于网络协议和驱动之间的通信。可以用来查询适配器的状态、启动和停止网络接口、配置网络连接等。

    相关的 NDIS API 包括:

    • NdisOpenAdapter()
    • NdisCloseAdapter()
    • NdisRequest()
    • NdisResetAdapter()

    这些 API 可用来打开、关闭适配器,发送网络请求,以及重置适配器。

  • NDIS 驱动程序开发

    • 你需要开发一个 NDIS 驱动程序来与适配器交互,这涉及到创建自定义的 NDIS 驱动程序(如 NDIS 中的 Miniport 驱动)。开发时可以处理流量过滤、包操作等功能。

2. Win32 网络 API

Windows 提供了多种 API,用于在程序中管理网络连接和操作网络设备。

  • Internet Connection Sharing API (ICS): 通过 ICS,用户可以共享 Internet 连接。与 Remote NDiS-based Internet Sharing Device 相关的 ICS 操作可以通过以下 API 完成:

    • ICWSetup():用于设置网络共享。
    • InternetGetConnectedState():检查设备是否连接到 Internet。
    • InternetConnection API:配置和管理 Internet 共享连接。
  • Networking API

    • GetAdaptersInfo():此 API 可用于获取网络适配器的配置信息。
    • GetIfTable():可以查询网络接口的表,获取有关网络接口(如共享设备)的信息。
    • Netsh 命令:netsh 是 Windows 网络配置工具,可以通过命令行配置 Internet 连接共享,并通过脚本进行管理。你可以通过 netsh 来启用或禁用 ICS。

    示例:

    bashCopy Code
    netsh wlan set hostednetwork mode=allow ssid=YourSSID key=YourPassword
    netsh wlan start hostednetwork

3. TAPI (Telephony API)

TAPI 是用于在 Windows 上开发电话和网络连接应用程序的 API。它与 Remote NDiS-based Internet Sharing Device 可能有间接的联系,因为它也可以用于设置和管理网络设备,尤其是在涉及电话网络和共享网络连接的情况下。

  • TAPI API
    • lineInitialize()
    • lineOpen()
    • lineMakeCall() 等 API 用于在网络层上进行拨号和连接。

4. Windows Socket API (Winsock)

Remote NDiS-based Internet Sharing Device 的运作还与 Winsock 紧密相关,因为它负责管理网络连接。你可以使用 Winsock API 进行套接字编程,通过套接字与设备进行通信。

  • Winsock API
    • WSAStartup()
    • socket()
    • bind()
    • connect()
    • send() 和 recv() 等,用于网络数据的发送和接收。

5. Windows 服务 API

要创建或控制 Remote NDiS-based Internet Sharing Device 的服务,可能需要使用 Windows 服务 API 来启动、停止或管理与设备相关的服务。

  • 服务 API
    • OpenSCManager()
    • CreateService()
    • StartService()
    • ControlService() 等。

开发工具和环境

你可以使用 Visual Studio 作为开发环境,配合 Windows SDK 来访问上述 API。通过 Windows SDK,你可以访问到所有与网络编程和设备管理相关的函数和头文件。

开发与 Remote NDiS-based Internet Sharing Device 相关的应用时,主要涉及以下 API 接口:

  • NDIS API:管理网络适配器和驱动。
  • Windows 网络 API:配置和管理网络连接。
  • TAPI API:处理电话网络或 Internet 连接。
  • Winsock API:进行套接字编程和数据传输。
  • Windows 服务 API:管理设备相关的后台服务。

通过这些 API,你可以实现设备的初始化、配置、管理以及处理数据传输等功能。如果你打算进行更深层的开发,了解这些接口将帮助你与 Windows 网络系统进行交互。


设备管理器 - 网络适配器 - Remote NDiS-based Internet Sharing Device 相关的开发中,主要涉及与 NDIS (Network Driver Interface Specification) 和 Internet Connection Sharing (ICS) 相关的 API 接口。开发过程中,可能需要调用不同的 Windows 网络管理组件和 API 来与这个设备进行交互。以下是一些关键组件、API 接口及其调用方法。

1. NDIS (Network Driver Interface Specification)

Remote NDiS-based Internet Sharing Device 是一个虚拟网络适配器,通常通过 NDIS 驱动程序进行管理。NDIS 提供了一些 API 接口,可以帮助开发者与网络适配器交互。

相关的 NDIS API 接口:

  • NdisOpenAdapter:用于打开网络适配器并返回适配器句柄。
  • NdisCloseAdapter:用于关闭网络适配器并释放资源。
  • NdisRequest:向适配器发送请求,如获取适配器的状态或配置。
  • NdisQueryAdapterInformation:查询适配器信息,比如驱动程序状态、配置等。
  • NdisResetAdapter:重置网络适配器。

这些 API 主要用于与网络适配器进行通信、配置适配器以及执行底层网络操作。

NDIS 驱动程序:

开发与 Remote NDiS-based Internet Sharing Device 交互的 NDIS 驱动程序时,通常使用 Miniport 驱动程序,该驱动程序通过 NDIS 与设备通信,进行网络流量的过滤和处理。

2. Internet Connection Sharing (ICS) API

Remote NDiS-based Internet Sharing Device 与 Windows 上的 Internet Connection Sharing (ICS) 功能密切相关。ICS 允许计算机共享其 Internet 连接,并通过虚拟网络适配器向其他设备提供互联网访问。

ICS 相关 API 接口:

  • InternetConnection API:Windows 提供了管理 Internet 连接的接口。可以用于配置和管理网络共享。

    • InternetGetConnectedState():检查计算机是否连接到 Internet。
    • InternetSetOption():用于设置连接选项(如代理、连接类型等)。
  • netsh 命令行工具netsh 可以用于管理网络连接和共享。以下是一些常见的 netsh 命令:

    • netsh wlan set hostednetwork mode=allow ssid=YourSSID key=YourPassword:设置和启用虚拟 Wi-Fi 网络。
    • netsh wlan start hostednetwork:启动虚拟 Wi-Fi 网络。
    • netsh interface ipv4 show address:查看网络接口的 IP 地址配置。

这些命令可以帮助开发人员通过脚本管理 ICS 设置。

3. Windows Sockets (Winsock) API

在开发网络应用时,Winsock 提供了一种用于发送和接收数据的低级网络编程接口。它允许应用程序与网络通信,尤其是在通过 Remote NDiS-based Internet Sharing Device 实现 Internet 连接共享时。

Winsock 相关 API:

  • WSAStartup:初始化 Winsock 库。
  • socket:创建一个套接字,用于进行网络通信。
  • bind:绑定套接字到本地地址。
  • connect:连接到远程主机。
  • send 和 recv:分别用于发送和接收数据。

通过 Winsock,开发者可以直接通过该虚拟网络适配器与外部网络进行通信。

4. 网络适配器管理 API

Windows 提供了用于管理网络适配器的 API,可以通过它们获取和配置与 Remote NDiS-based Internet Sharing Device 相关的信息。

相关 API:

  • GetAdaptersInfo:获取网络适配器的配置信息(如名称、MAC 地址、IP 地址等)。
  • GetIfTable:获取所有网络接口的表,包括虚拟网络适配器的信息。
  • SetAdapterNetworkAddress:设置网络适配器的 IP 地址。
  • GetAdapterIndex:获取特定适配器的索引,以便进行后续操作。

这些 API 可以帮助开发人员获取设备状态、进行 IP 配置或修改网络接口的配置。

5. Windows 服务管理 API

Remote NDiS-based Internet Sharing Device 可能会依赖于某些服务(例如,ICS 服务)进行启用和管理。Windows 提供了 API 来启动、停止和配置服务。

服务相关 API:

  • OpenSCManager:打开服务控制管理器,访问服务列表。
  • CreateService:创建一个新的服务。
  • StartService:启动一个服务,例如启动 ICS 服务。
  • ControlService:控制服务(例如停止或暂停服务)。

这些 API 可以帮助开发人员在程序中管理与 Remote NDiS-based Internet Sharing Device 相关的服务。

6. TAPI (Telephony API)

TAPI(Telephony API)是另一种网络接口,允许开发人员管理电话网络和宽带连接。虽然它与传统的电话通信相关,但也可以用于管理网络连接,尤其是在一些特殊配置中,可能会与 Remote NDiS-based Internet Sharing Device 一起使用。

TAPI API:

  • lineInitialize:初始化 TAPI 会话。
  • lineOpen:打开一个 TAPI 线路。
  • lineMakeCall:发起一个电话或连接请求。

开发工具和环境

  • Visual Studio:推荐使用 Visual Studio 作为开发环境,配合 Windows SDK 来访问上述 API。
  • Windows SDK:Windows 提供的 SDK 包含了所有与网络编程相关的头文件和库。
  • Device Console:设备管理和调试时,开发者可能还需要使用 Windows 的设备控制台工具来管理虚拟适配器的驱动和服务。

开发 Remote NDiS-based Internet Sharing Device 相关的功能时,主要需要依赖以下 API 和组件:

  • NDIS API:与网络适配器交互,进行设备的初始化、查询和配置。
  • Internet Connection Sharing (ICS):通过 ICS 管理和配置 Internet 共享。
  • Winsock API:处理网络通信,发送和接收数据。
  • 网络适配器管理 API:管理适配器的配置信息和 IP 地址。
  • 服务管理 API:控制与设备相关的服务,如启动 ICS 服务。

通过这些 API 和组件,开发人员可以实现对 Remote NDiS-based Internet Sharing Device 的管理、配置和通信。


Screenshot_2026-02-07-23-45-27-355_com.larus.nova-edit

Screenshot_2026-02-07-23-45-17-805_com.larus.nova-edit

posted @ 2024-02-27 18:00  suv789  阅读(14253)  评论(0)    收藏  举报