虚拟连接的差异

呼叫管理器使用 信号 VC 向网络实体(例如交换机)发送和接收信号消息。 NDIS 可以看到呼叫管理器的信号 VC。 调用管理器必须创建、激活、停用和删除调用 NDIS 的所有 VC。 但是,MCM 驱动程序的信号 VC 对 NDIS 是不透明的。 MCM 驱动程序不会通过调用 NDIS 创建、激活、停用和删除发出信号的 VC。 相反,MCM 驱动程序在内部执行此类操作。 MCM 驱动程序必须调用 NDIS 才能对用于发送或接收客户端数据的 VC 执行操作。 这是因为 NDIS 必须跟踪客户端 VC。

由于 MCM 驱动程序既是调用管理器又是微型端口驱动程序,因此某些面向连接的函数是冗余的。 具体而言, MiniportCoCreateVcMiniportCoDeleteVc 是冗余的,因此不由 MCM 驱动程序提供。 VC 操作由以下操作处理:

MCM 驱动程序必须提供 MiniportCoOidRequest 函数供客户端用于查询或设置微型端口驱动程序信息,并提供 MiniportCoSendNetBufferLists 函数来处理来自客户端的发送操作。