远程 NDIS (RNDIS) 概述 - Windows drivers | Microsoft DocsRNDIS 使硬件供应商无需为连接到 USB 总线的网络设备编写 NDIS 微型端口驱动程序。https://docs.microsoft.com/zh-cn/windows-hardware/drivers/network/overview-of-remote-ndis--rndis-

远程 NDIS (RNDIS) 是一种独立于总线的类规范,适用于动态即插即用上的网络设备) (802.3 (PnP) 总线,如 USB、1394、蓝牙和自动限制。 远程 NDIS 通过抽象控件和数据通道定义主机计算机和远程 NDIS 设备之间与总线无关的消息协议。 远程 NDIS 的精确度足以允许主机计算机上的远程 NDIS 设备具有与供应商无关的类驱动程序支持。

从 Windows XP 开始,Microsoft Windows 版本包括用于 USB 设备的远程 NDIS 驱动程序。 此 NDIS 微型端口驱动程序 Rndismp.sys 由 Microsoft 实现和维护,并在所有支持的 Windows 版本中进行分发。 可以在%SystemRoot%\System32\drivers 目录中找到该文件。

若要将此驱动程序与 USB 设备一起使用,IHV 必须提供遵循 远程 NDIS INF 模板中的模板的 INF 文件。

远程 NDIS 消息从主机发送到远程 NDIS 设备,远程 NDIS 设备使用适当的完成消息进行响应。 消息也将以未经请求的方式从远程 NDIS 设备发送到主机。

远程 NDIS (RNDIS) 无需硬件供应商为连接到 USB 总线的网络设备编写 NDIS 微型端口设备驱动程序。 远程 NDIS 通过定义独立于总线的消息集并说明此消息集在 USB 总线上的运行方式来实现此目的。 由于此远程 NDIS 接口是标准化的,因此一组主机驱动程序可以支持连接到 USB 总线的任意数目的网络设备。 这大大减少了设备制造商的开发负担,提高了系统的整体稳定性,因为不需要新的驱动程序,并且改进了最终用户体验,因为没有要安装的驱动程序来支持新的 USB 总线连接网络设备。 目前,Microsoft Windows支持通过 USB 进行远程 NDIS。

下图显示了将设备制造商的 NDIS 微型端口与远程 NDIS 微型端口驱动程序和 USB 传输驱动程序组合在一起。 因此,设备制造商可以专注于设备实现,并且不需要开发Windows NDIS 设备驱动程序。

Microsoft 提供了 NDIS 微型端口驱动程序 Rndismp.sys,该驱动程序实现远程 NDIS 消息集并与通用总线传输驱动程序通信,而通用总线传输驱动程序又与相应的总线驱动程序通信。 此 NDIS 微型端口驱动程序由 Microsoft 实现和维护,并作为该驱动程序的一Windows。

以下远程 NDIS 消息集镜像 NDIS 微型端口驱动程序接口的语义:

  • 初始化、重置和停止设备操作

  • 传输和接收网络数据包

  • 设置和查询设备操作参数

  • 指示媒体链接状态和监视设备状态

Microsoft 还提供一个 USB 总线传输驱动程序,该驱动程序实现用于跨 USB 总线传送远程 NDIS 消息的机制。 此驱动程序在远程 NDIS 微型端口驱动程序和特定于总线的驱动程序(如 USB)之间传输标准化的远程 NDIS 消息。 还需要特定于总线的驱动程序将任何特定于总线的要求(如电源管理)映射到标准化的远程 NDIS 消息。 USB 1.1 和 2.0 的传输驱动程序由 Microsoft 实现和维护,并作为 USB 1.1 和 2.0 的一Windows。

此结构允许将单个设备驱动程序用于具有特定于总线的传输层的任何远程 NDIS 设备。 此外,对于特定总线上的所有网络设备,只需要一个总线传输层。

本部分包含以下其他主题:

远程 NDIS 的优势

远程 NDIS 的概念和定义

远程 NDIS 文件命名约定

远程 NDIS 消息传送

远程 NDIS 设备控制

远程 NDIS INF 模板

远程 NDIS 设备的类型

Remote NDIS (RNDIS)相关推荐

  1. 拨号PPP NDIS RNDIS CDC ECM NCM QMI_WWAN GOBINET RMNET MBIM概念介绍

    PPP   PPP 用于建立点对点链路.最初是用于慢速设备的,比如早期通过串行线上网.通过一套协议,维护硬件链路上的数据连接,并具备安全和认证特性,可建立计费模式.   我们在PPP拨号脚本中也常常可 ...

  2. 拨号之 PPP NDIS RNDIS CDC ECM NCM QMI-WWAN GOBINET RMNET MBIM 区别

    如果做3.4.5G的上网,常常会遇到上述几个名词,他们都跟拨号联网相关,总是弄得人云里雾里,这些概念到底是什么意思,或者有啥区别呢? 这里结合网上资料,基于个人理解,再次整理,如有错误之处,欢迎指正. ...

  3. 《深入理解Android:Wi-Fi,NFC和GPS》章节连载[节选]--第二章 深入理解Netd

    原文: http://blog.csdn.net/innost/article/details/20400389 本文使用的源码版本为Android5.1 本章主要内容 介绍Netd; 介绍MDNS和 ...

  4. Raspbian镜像无头烧录

    Raspbian镜像无头烧录 1. 源由 2. 需求 3. 分析 4. 步骤 4.1 删除tf卡分区内容 4.2 balena烧录镜像 4.3 配置USB直接登录 4.4 配置WiFi 2.4G网络登 ...

  5. RmNet和CDC-ECM的区别,NDIS和RNDIS的区别。

    RmNet,CDC-ECM ,NDIS,RNDIS区别 一.RmNet和CDC-ECM区别:更像是两种拨号方式的区别,RmNet获取公网IP,ECD-ECM获取局域网IP. 1.如果是使用RmNet, ...

  6. NDIS和Rndis区别

    NDIS和Rndis区别:NDIS是一种规范,定义了网络驱动接口的api.RNDIS是一种技术,是将TCP/IP封装在USB报文里,实现网络通信. 1,RNDIS是指Remote NDIS,基于USB ...

  7. RmNet,CDC-ECM ,NDIS,RNDIS区别

    RmNet和CDC-ECM区别:更像是两种拨号方式的区别,RmNet获取公网IP,ECD-ECM获取局域网IP. 在高通平台上,rmnet driver 和标准的CDC-ECM是有区别的,rmnet ...

  8. ecm、ppp、ndis 拨号

    RmNet和CDC-ECM区别:更像是两种拨号方式的区别,RmNet获取公网IP,ECD-ECM获取局域网IP. 在高通平台上,rmnet driver 和标准的CDC-ECM是有区别的,rmnet ...

  9. Air780E模块RNDIS应用开发指南

    目录 简介 Window系统 Linux系统 常见问题 简介 RNDIS是指Remote NDIS,基于USB实现RNDIS实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP, ...

最新文章

  1. CF484E Sign on Fence
  2. 【opencv】13.摄像头焦距和视场角
  3. 【专访】PP租车创业故事二:为什么要创业?
  4. zuul默认的路由规则及禁用路由规则
  5. 每天一道LeetCode-----链表插入排序
  6. linux后台运行命令,nohup
  7. linux之uniq命令
  8. java ArrayList的实现
  9. 在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如RXXLRXRXL)中进行移动操作。一次移动操作指用一个LX替换一个XL,或者用一个XR替换一个RX。现给定起始...
  10. PowerDesigner 常用配置修改
  11. 在线协作编辑OT算法简介
  12. 【项目3-2】多肉植物网站
  13. window.requestAnimationFrame()的使用,处理更流畅的动画效果
  14. Java基础知识——JNI入门介绍
  15. ORK FrameWork - 自定义存储数据ISaveData接口
  16. 左对齐杨辉三角python_什么是左的错误?
  17. 【ONE·Linux || 权限 】
  18. 如何在web配置一个高效采集数据的DTM?
  19. 初学JAVA GUI
  20. popupWindow在5.0版本以下不显示的问题

热门文章

  1. mysql数据库之ddl语句盘点
  2. 「File」计算机常见文件数据格式
  3. Android开发基础规范(一)
  4. 在PowerPoint如何绘制流程图
  5. Python入门基础(下)之魔方方法
  6. 有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,棋盘上放的所有芝麻的重量
  7. 为什么需要虚继承,虚继承的实现原理
  8. 均匀传输线插入损耗分析
  9. 期望、方差、标准差、协方差、相关系数、协方差矩阵、残差、残差平方和(SSE)、标准化残差,残差分析
  10. python3下安装h5py