微型端口适配器 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 微型端口适配器不会同时挂起超过 2 个 OID(即一个仍挂起的第一个 OID 和一个第二个 OID)。

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

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