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


Правило MemAfterReqCompletedIntIoctl (kmdf)

Правило MemAfterReqCompletedIntIoctl указывает, что в функции обратного вызова EvtIoInternalDeviceControl объект памяти платформы невозможно получить после завершения запроса ввода-вывода.

В функции обратного вызова EvtIoInternalDeviceControl объекта памяти платформы, полученного путем вызова метода WdfRequestRetrieveInputMemory или WdfRequestRetrieveOutputMemory, невозможно получить доступ после вызова WdfRequestComplete, WdfRequestCompleteWithInformation или WdfRequestCompleteWithPriorityBoost в запросе ввода-вывода.

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

WdfRequestRetrieveInputMemoryWdfRequestRetrieveOutputMemory

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

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

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

Запустите средство проверки статических драйверов и укажите правило MemAfterReqCompletedIntIoctl .

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

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

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

WdfRequestComplete WdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputMemory WdfRequestRetrieveOutputMemory