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


Правило DoubleCompletion (kmdf)

Правило DoubleCompletion указывает, что драйверы не должны выполнять запрос ввода-вывода дважды. Следующие методы не следует вызывать дважды в одной строке для одного запроса: WdfRequestComplete, WdfRequestCompleteWithInformation, WdfRequestCompleteWithPriorityBoost.

Разница между этим правилом и правилом DoubleCompletionLocal заключается в том, что правило DoubleCompletionLocal выполняется только в функциях обратного вызова очереди ввода-вывода по умолчанию.

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

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

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

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

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

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

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

WdfIoQueueRetrieveFoundRequestWdfIoQueueRetrieveNextRequestWdfIoQueueRetrieveRequestByFileObjectWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoost