Правило MdlAfterReqCompletedIoctl (kmdf)
Правило MdlAfterReqCompletedIoctl указывает, что в функции обратного вызова EvtIoDeviceControl невозможно получить доступ к списку дескрипторов памяти (MDL) после завершения запроса ввода-вывода.
В функции обратного вызова EvtIoDeviceControl драйвера невозможно получить доступ к MDL, полученному путем вызова метода WdfRequestRetrieveInputWdmMdl или WdfRequestRetrieveOutputWdmMdl после вызова метода WdfRequestComplete, WdfRequestCompleteWithInformation или WdfRequestCompleteWithPriorityBoost в запросе ввода-вывода.
Это правило рассматривает следующие функции доступа MDL:
WDF_MEMORY_DESCRIPTOR_INIT_MDLMmGetMdlByteCountMmGetSystemAddressForMdlSafeMmGetMdlVirtualAddressIoBuildPartialMdl (первый и второй параметр) KeFlushIoBuffersMmGetMdlPfnArrayMmGetMdlByteOffsetMmPrepareMdlForReuseWdfDmaTransactionInitialize
Модель драйвера: KMDF
Как тестировать
Во время компиляции |
---|
Запустите средство проверки статических драйверов и укажите правило MdlAfterReqCompletedIoctl . Чтобы выполнить анализ кода, выполните следующие действия.
Дополнительные сведения см. в статье Использование средства проверки статических драйверов для поиска дефектов в драйверах. |
Применяется к
WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputWdmMdlWdfRequestRetrieveOutputWdmMdl