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


Правило IoctlReqs (kmdf)

Правило IoctlReqs указывает, что запросы IOCTL не должны передаваться в недопустимый запрос KMDF или отправлять интерфейсы драйвера устройства (DIS).

Все запросы, представленные функции обратного вызова события EvtIoDeviceControl драйвера, гарантированно являются запросами IOCTL. Функция EvtIoDeviceControl драйвера объявляется с помощью объявления типа роли функции EVT_WDF_IO_QUEUE_IO_DEVICE_CONTROL.

Эти запросы IOCTL не могут быть отправлены в следующие DDIs, относящиеся к отправке запросов на чтение, запись или IOCTL:

WdfUsbTargetPipeSendUrbSynchronously, WdfIoTargetSendReadSynchronously, WdfIoTargetSendWriteSynchronously, WdfIoTargetSendInternalioctlSynchronously, WdfIoTargetSendInternalIoctlOthersSynchronously, WdfUsbTargetPipeWriteSynchronously, WdfUsbTargetPipeReadSynchronously

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

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

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

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

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

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

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

WdfIoTargetSendInternalIoctlOthersSynchronouslyWdfIoTargetSendInternalIoctlSynchronouslyWdfIoTargetSendReadSynchronouslyWdfIoTargetSendWriteSynchronouslyWdfUsbTargetPipeReadhronouslyWdfUsbTargetPipeSendUrbSynchronouslyWdfUsbTargetPipeWriteSynchronously