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


RequestCompletedLocal rule (kmdf)

Правило RequestCompletedLocal указывает, что если запрос ввода-вывода не выполнен ни в одной из функций обратного вызова EvtIoDefault, EvtIoRead, EvtIoWrite, EvtIoDeviceControl и EvtIoInternalDeviceControl , а wdfRequestMarkCancelable не был вызван для запроса в функции обратного вызова, может возникнуть проблема с завершением запроса в коде драйвера.

Это правило предназначено только для драйверов, для которых правило RequestCompleted неприменимо.

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

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

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

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

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

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

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

WdfDeviceEnqueueRequestWdfDmaTransactionInitializeWdfDmaTransactionInitializeUsingRequestWdfIoTargetSendInternalioctlOthersSynchronouslyWdfIoTargetSendInternalioctlSynchronouslyWdfIoTargetSendIoctlSynchronouslyWdfIoTargetSendReadSynchronouslyWdfIoTargetSendWriteSynchronouslyWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestForwardToIoQueueWdfRequestMarkCancelableWdfRequestMarkCancelableExWdfRequestSendWdfRequestStopAcknowledgeWdfWorkItemEnqueue