ミニポート アダプター OID 要求のシリアル化

ミニポート アダプターに対するすべての OID 要求は、シリアル化されるように設計されていない 直接 OID 要求を除き、NDIS によってシリアル化されます。 ミニポート アダプターは、保留中の要求が完了するまで、新しい OID 要求を受信しません。 そのため、ミニポート アダプターは、OID を速やかに完了する必要があります。

Note

1,000 ミリ秒未満 (つまり、1 秒未満) で OID 要求を完了することをお勧めします。そうすることで、ユーザーがパフォーマンスの遅延に気付くことはありません。 OID 要求のタイム計測の詳細については、NdisTimedOidComplete の「ドライバー検証ツール規則」を参照してください。

この OID シリアル化ルールの例外の 1 つは、WDI を使用する Wi-Fi ミニポート アダプターの場合です。この場合、前の OID を完了するのに時間がかかりすぎると、2 番目の OID 要求が表示されることがあります。 次の例では、この状況で何が起こるかについて説明します。

  1. 最初の OID 要求は、WDI ミニポート アダプターに渡されます。
  2. NIC は、ドライバーで指定された制限時間内に OID に応答しません。
  3. WDI は、ドライバーの MINIPORT_WDI_ADAPTER_HANG_DIAGNOSE コールバック関数を呼び出して、NIC に関する診断データを収集します。
  4. 最初の OID は、シリアル化をブロックするものとは見なされなくなりました。 つまり、WDI ミニポート アダプターは、最初の OID がシリアル化されている場合でも、他の OID 要求を受信できるようになりました。 ただし、こうした他の OID もシリアル化されます。つまり、WDI ミニポート アダプターが同時保留できる OID は 2 つ (ハング状態が続く最初の OID と、2 番目の OID) までだということです。

WDI UE ハング検出の詳細については、「UE ハング検出: 手順 1-14」を参照してください。

NDIS での OID 要求の詳細については、NDIS ブログの「OID 要求ハンドラーの簡略化」を参照してください。