微型端口适配器 OID 请求序列化

对微型端口适配器的所有 OID 请求都由 NDIS 序列化,直接 OID 请求除外,这些请求在设计上未序列化。 在完成任何挂起的请求之前,微型端口适配器不会收到新的 OID 请求。 因此,微型端口适配器必须立即完成 OID。

注意

建议在 1000 毫秒或 1 秒内完成 OID 请求,这样用户就不会注意到性能有任何延迟。 有关 OID 请求计时的特定信息,请参阅 NdisTimedOidComplete 驱动程序验证程序规则。

此 OID 序列化规则的一个例外是,对于使用 WDI 的Wi-Fi微型端口适配器,如果它们花费的时间太长而无法完成以前的 OID,则可能会看到第二个 OID 请求。 以下示例说明在这种情况下会发生什么情况:

  1. 第一个 OID 请求传递到 WDI 微型端口适配器。
  2. NIC 不会在驱动程序指定的时间限制内响应 OID。
  3. WDI 调用驱动程序的 MINIPORT_WDI_ADAPTER_HANG_DIAGNOSE 回调函数来收集有关 NIC 的诊断数据。
  4. 第一个 OID 不再被视为阻止序列化。 这意味着 WDI 微型端口适配器现在可以接收其他 OID 请求,即使第一个 OID 已序列化。 但是,这些其他 OIDS 也会序列化,这意味着 WDI 微型端口适配器不会同时 (第一个仍挂起的 OID,第二个 OID) 。

有关 WDI UE 挂起检测的详细信息,请参阅 UE 挂起检测:步骤 1-14

有关 NDIS 中的 OID 请求的详细信息,请参阅 NDIS 博客上的 简化 OID 请求处理程序