次の方法で共有


WlanAssert ルール (ndis)

WlanAssert ルールには、WDIWIFI ドライバー内で検証される一連のチェックが含まれます。

次の違反の可能性があります。

  • TxPeerBacklogStub: データパスの初期化解除後に IHV WDI ミニポートがデータパスを呼び出します。 - このルールは、Peer-Queuing モードにのみ適用されます。 ミニポートが停止またはリセットされると、WDI は IHV ドライバーの CloseAdapterHandler 関数を呼び出します。この関数は、ドライバーがその状態をクリーンアップし、その後にデータ コールバックを呼び出さないように要求します。 これらのアサートは、ドライバーがクローズ後に TxTransferCompleteIndicationTxSendPauseIndicationTxReleaseFrameIndication などのデータ ハンドラーのいずれかを呼び出した場合、またはクローズ後に未処理の Tx フレームがまだ存在する場合に呼び出されます。

  • TxAbortStub: データパスの初期化解除後に IHV WDI ミニポートがデータパスを呼び出します。 - このルールは、Peer-Queuing モードにのみ適用されます。 ミニポートが停止またはリセットされると、WDI は IHV ドライバーの CloseAdapterHandler 関数を呼び出します。この関数は、ドライバーがその状態をクリーンアップし、その後にデータ コールバックを呼び出さないように要求します。 これらのアサートは、ドライバーがクローズ後に TxTransferCompleteIndicationTxSendPauseIndicationTxReleaseFrameIndication などのデータ ハンドラーのいずれかを呼び出した場合、またはクローズ後に未処理の Tx フレームがまだ存在する場合に呼び出されます。

  • NdisMDeregisterWdiMiniportDriver と NdisMRegisterWdiMiniportDriver に対する呼び出しが一致せず、WDIWIFI ドライバーがアンロードされます。このアサートは、IHV ドライバーによる NdisMRegisterWdiMiniportDriverの呼び出しが失敗したにもかかわらず、IHV ドライバーが引き続き NdisMDeregisterWdiMiniportDriver ハンドラーを呼び出した場合に呼び出されます。

  • IhvWdiVersion が、渡された MiniportDataHandler リビジョンに対して低すぎます。WDI は、OID_WDI_GET_ADAPTER_CAPABILITIES, を呼び出すことで IHV ドライバーの WDI バージョンを取得し、次にドライバーの TalTxRxInitializeHandler ハンドラーを呼び出して WdiCharacteristics を取得します。このドライバーは、必要に応じて WDI ハンドラーのリビジョンを更新できます。 このアサートは、ドライバーの WDI バージョンが WDI_VERSION_1_1_0 以下の場合にヒットしますが、ドライバーの WdiCharacteristics、リビジョンが NDIS_OBJECT_TYPE_MINIPORT_WDI_DATA_HANDLERS_REVISION_1 より大きいバージョンに設定されています。

  • MiniportDataHandler リビジョンが、渡された IhvWdiVersion に対して低すぎます。WDI は、OID_WDI_GET_ADAPTER_CAPABILITIES, を呼び出すことで IHV ドライバーの WDI バージョンを取得し、次にドライバーの TalTxRxInitializeHandler ハンドラーを呼び出して WdiCharacteristics を取得します。このドライバーは、必要に応じて WDI ハンドラーのリビジョンを更新できます。 このアサートは、ドライバーの WDI バージョンが WDI_VERSION_1_1_0 以上の場合にヒットしますが、ドライバーの WdiCharacteristics、リビジョンが NDIS_OBJECT_TYPE_MINIPORT_WDI_DATA_HANDLERS_REVISION_2 より小さいバージョンに設定されています。

違反テキストは、0xC4 バグ チェックのパラメーター 2 として提供されます。

ドライバーモデル: NDIS

このルールで検出されるバグ チェック: バグ チェック 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x00093004)

テスト方法

実行時

ドライバー検証ツールを実行し、NDIS/WIFI 検証オプションを選択します。

適用対象

TxTransferCompleteIndication

TxSendPauseIndication

TxReleaseFrameIndication

OID_WDI_GET_ADAPTER_CAPABILITIES

MINIPORT_HALT コールバック関数

MINIPORT_SHUTDOWN コールバック関数

NdisMRegisterWdiMiniportDriver

NdisMDeregisterWdiMiniportDriver

関連項目

WDI IHV ドライバー インターフェイス

一般的な接続操作のガイドライン

OID_DOT11_RESET_REQUEST

NDIS_STATUS_DOT11_ASSOCIATION_START