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