Regola MdlAfterReqCompletedWriteA (kmdf)
La regola MdlAfterReqCompletedWriteA specifica che all'interno della funzione di callback EvtIoWrite non è possibile accedere all'oggetto MDL (Memory Descriptor List) recuperato dopo il completamento della richiesta di I/O.
All'interno della funzione di callback EvtIoWrite del driver per la coda di I/O di un dispositivo, non è possibile accedere al buffer della richiesta recuperato chiamando il metodo WdfRequestRetrieveInputWdmMdl dopo aver chiamato WdfRequestComplete, WdfRequestCompleteWithInformation o WdfRequestCompleteWithPriorityBoost nella richiesta di I/O.
Questa regola considera le funzioni di accesso MDL seguenti:
WDF_MEMORY_DESCRIPTOR_INIT_MDLMmGetMdlByteCountMmGetSystemAddressForMdlSafeMmGetMdlVirtualAddressIoBuildPartialMdl (primo e secondo parametro) KeFlushIoBuffersMmGetMdlPfnArrayMmGetMdlByteOffsetMmPrepareMdlForReuseWdfDmaTransactionInitialize
Modello di driver: KMDF
Come eseguire il test
In fase di compilazione |
---|
Eseguire Static Driver Verifier e specificare la regola MdlAfterReqCompletedWriteA . Usa i passaggi descritti di seguito per eseguire un'analisi del codice:
Per altre informazioni, vedere Using Static Driver Verifier to Find Defects in Drivers.For more information, see Using Static Driver Verifier to Find Defects in Drivers. |
Si applica a
WDF_MEMORY_DESCRIPTOR_INIT_MDLWdfDmaTransactionInitializeWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputWdmdlIoBuildPartialMdlKeFlushIoBuffersMmGetMdlByteCountMmGetMdlByteOffsetMmGetMdlPfnArrayMmGetMdlVirtualAddressMmGetSystemAddressForMdlSafeMmPrepareMdlForReuse