Поделиться через


Правило MdlAfterReqCompletedIoctlA (kmdf)

Правило MdlAfterReqCompletedIoctlA указывает, что в функции обратного вызова EvtIoDeviceControl после завершения запроса ввода-вывода невозможно получить доступ к списку дескрипторов памяти (MDL).

В функции обратного вызова EvtIoDeviceControl драйвера невозможно получить доступ к MDL, полученному путем вызова метода WdfRequestRetrieveInputWdmMdl или WdfRequestRetrieveOutputWdmMdl после вызова метода WdfRequestComplete, WdfRequestCompleteWithInformation или WdfRequestCompleteWithPriorityBoost в запросе ввода-вывода.

Это правило рассматривает следующие два метода доступа MDL:

WdfRequestRetrieveOutputWdmMdlWdfRequestRetrieveInputWdmMdl

Модель драйвера: KMDF

Как тестировать

Во время компиляции

Запустите Static Driver Verifier и укажите правило MdlAfterReqCompletedIoctlA .

Выполните следующие действия, чтобы выполнить анализ кода.
  1. Подготовьте код (используйте объявления типов ролей).
  2. Запустите средство проверки статических драйверов.
  3. Просмотр и анализ результатов.

Дополнительные сведения см. в разделе Использование средства проверки статических драйверов для поиска дефектов в драйверах.

Применяется к

WDF_MEMORY_DESCRIPTOR_INIT_MDLWdfDmaTransactionInitializeWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputWdmMdlWdfRequestRetrieveOutputWdmMdlIoBuildPartialMdlKeFlushIoBuffersmmGetMdlByteCountmmGetMdlByteOffsetMmGetMdlPfnArrayMmGetMdlVirtualAddressMmGetSystemAddressForMdlSafeMmPrepareMdlForReuse