WlanAssert 規則 (ndis)
WlanAssert 規則包含一組在 WDIWIFI 驅動程式內驗證的檢查。
可能會發生下列違規:
TxPeerBacklogStub:在數據路徑取消初始化之後呼叫 datapath 的 IHV WDI 迷你埠 - 此規則僅適用於 Peer-Queuing 模式。 當 Miniport 已停止或重設時,WDI 會呼叫 IHV 驅動程式的 CloseAdapterHandler 函式,這會要求驅動程式清除其狀態,而不會在該之後呼叫任何數據回呼。 如果驅動程式在 Close 之後呼叫任何數據處理處理程式,例如 TxTransferCompleteIndication、 TxSendPauseIndication 或 TxReleaseFrameIndication ,或在 Close 之後仍有任何未完成的 Tx 畫面格,則會叫用這些判斷提示。
TxAbortStub:在數據路徑取消初始化之後呼叫 datapath 的 IHV WDI 迷你埠 - 此規則僅適用於 Peer-Queuing 模式。 當 Miniport 已停止或重設時,WDI 會呼叫 IHV 驅動程式的 CloseAdapterHandler 函式,這會要求驅動程式清除其狀態,而不會在該之後呼叫任何數據回呼。 如果驅動程式在 Close 之後呼叫任何數據處理處理程式,例如 TxTransferCompleteIndication、 TxSendPauseIndication 或 TxReleaseFrameIndication ,或在 Close 之後仍有任何未完成的 Tx 畫面格,則會叫用這些判斷提示。
卸除 WDIWIFI 驅動程式與 NdisMDeregisterWdiMiniportDriver 和 NdisMRegisterWdiMiniportDriver - 如果 IHV 驅動程式對 NdisMRegisterWdiMiniportDriver 的呼叫失敗,則會叫用此判斷提示,但 IHV 驅動程式仍會呼叫 NdisMDeregisterWdiMiniportDriver 處理程式。
IhvWdiVersion 對於傳遞的 MiniportDataHandler 修訂而言太低 - WDI 會藉由呼叫 OID_WDI_GET_ADAPTER_CAPABILITIES 來取得 IHV 驅動程式的 WDI 版本,然後呼叫驅動程式的 TalTxRxInitializeHandler 處理程式來取得 WdiCharacteristics,其中驅動程式可以視需要更新 WDI 處理程式修訂。 如果驅動程式的 WDI 版本小於或等於WDI_VERSION_1_1_0,但驅動程式的 WdiCharacteristics,Revision 會設定為大於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錯誤檢查中以參數二的形式提供。
驅動程式模型:NDIS
使用此規則找到的錯誤檢查 () :錯誤檢查0xC4:DRIVER_VERIFIER_DETECTED_VIOLATION ( 0x00093004)
測試方法
运行时 |
---|
執行 驅動程式驗證器 ,然後選取 [NDIS/WIFI 驗證 ] 選項。 |
適用於
OID_WDI_GET_ADAPTER_CAPABILITIES
NdisMRegisterWdiMiniportDriver
NdisMDeregisterWdiMiniportDriver