Condividi tramite


Regola WlanAssert (ndis)

La regola WlanAssert include un set di controlli convalidati all'interno del driver WDIWIFI.

Sono possibili le violazioni seguenti:

  • TxPeerBacklogStub: miniport WDI IHV denominato datapath after datapath deinitialization - Questa regola si applica solo alla modalità Peer-Queuing. Quando miniport è stato arrestato o reimpostato, WDI chiamerà la funzione CloseAdapterHandler del driver IHV che richiederà al driver di pulire lo stato e non chiamare alcun callback dei dati dopo tale operazione. Queste asserzioni verranno richiamate se il driver chiama uno qualsiasi dei gestori dati, ad esempio TxTransferCompleteIndication, TxSendPauseIndication o TxReleaseFrameIndication dopo Close o se sono ancora presenti frame Tx in sospeso dopo la chiusura.

  • TxAbortStub: miniport WDI IHV denominato datapath after datapath deinitialization - Questa regola si applica solo alla modalità Peer-Queuing. Quando miniport è stato arrestato o reimpostato, WDI chiamerà la funzione CloseAdapterHandler del driver IHV che richiederà al driver di pulire lo stato e non chiamare alcun callback dei dati dopo tale operazione. Queste asserzioni verranno richiamate se il driver chiama uno qualsiasi dei gestori dati, ad esempio TxTransferCompleteIndication, TxSendPauseIndication o TxReleaseFrameIndication dopo Close o se sono ancora presenti frame Tx in sospeso dopo la chiusura.

  • Il driver WDIWIFI viene scaricato con chiamate non corrispondenti a NdisMDeregisterWdiMiniportDriver e NdisMRegisterWdiMiniportDriver : questa asserzione viene richiamata se la chiamata del driver IHV a NdisMRegisterWdiMiniportDriver non è riuscita, ma il driver IHV chiama ancora il gestore NdisMDeregisterWdiportMiniDriver .

  • IhvWdiVersion è troppo basso per la revisione MiniportDataHandler passata . WdI otterrà la versione WDI del driver IHV chiamando OID_WDI_GET_ADAPTER_CAPABILITIES e chiamerà quindi il gestore TalTxRxInitializeHandler del driver per ottenere i WdiCharacteristics, dove il driver può aggiornare la revisione del gestore WDI, se necessario. Questa asserzione verrà raggiunta se la versione WDI del driver è minore o uguale a WDI_VERSION_1_1_0, ma la versione WdiCharacteristics del driver è impostata su una versione maggiore di NDIS_OBJECT_TYPE_MINIPORT_WDI_DATA_HANDLERS_REVISION_1.

  • La revisione MiniportDataHandler è troppo bassa per il gestore IhvWdiVersion : WDI otterrà la versione WDI del driver IHV chiamando OID_WDI_GET_ADAPTER_CAPABILITIES e chiamerà quindi il gestore TalTxRxInitializeHandler del driver per ottenere wdiCharacteristics, dove il driver può aggiornare la revisione del gestore WDI, se necessario. Questa asserzione verrà raggiunta se la versione WDI del driver è maggiore di WDI_VERSION_1_1_0, ma la versione WdiCharacteristics del driver è impostata su una versione minore di NDIS_OBJECT_TYPE_MINIPORT_WDI_DATA_HANDLERS_REVISION_2.

Il testo di violazione verrà fornito come parametro 2 nel controllo dei bug 0xC4.

Modello di driver: NDIS

Verifica bug rilevata con questa regola: Controllo bug 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION ( 0x00093004)

Come eseguire il test

In fase di esecuzione

Eseguire Driver Verifier e selezionare l'opzione di verifica NDIS/WIFI .

Si applica a

TxTransferCompleteIndication

TxSendPauseIndication

TxReleaseFrameIndication

OID_WDI_GET_ADAPTER_CAPABILITIES

MINIPORT_HALT funzione di callback

MINIPORT_SHUTDOWN funzione di callback

NdisMRegisterWdiMiniportDriver

NdisMDeregisterWdiMiniportDriver

Vedi anche

Interfacce del driver IHV WDI

Linee guida generali sull'operazione di connessione

OID_DOT11_RESET_REQUEST

NDIS_STATUS_DOT11_ASSOCIATION_START