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


DF — проверка FSCTL буфера нулевой длины нечеткой длины (надежность)

Во время теста буфера Zero-Length тест нечетких данных выполняет серию вызовов функции DeviceIoControl с длиной входного и (или) выходного буфера 0. Тест создает различные коды управления вводом-выводом, используя различные коды функций, типы устройств, методы передачи данных и требования к доступу. Сведения о содержимом кодов элементов управления ввода-вывода см. в разделе Определение кодов элементов управления ввода-вывода.

Чтобы проверить обработку драйвером недопустимых указателей буфера, указатели буфера в этих вызовах пользовательского режима указывают адреса с высоким уровнем в виртуальном адресном пространстве ядра, например 0xFFFFFC00).

Тест нечетких четверок выполняет тест буфера Zero-Length на всех устройствах, открытых во время базовых и дополнительных открытых тестов. Этот тест можно настроить с помощью параметров команд MinFunctionCode и MaxFunctionCode , чтобы указать диапазон кодов функций FSCTL, используемых в вызовах, и MinDeviceType и MaxDeviceType , чтобы указать диапазон типов устройств, используемых в вызовах.

  • Тестовый двоичный файл: Devfund_FuzzTest.dll
  • Методы тестирования: DoZeroLengthBufferFSCTLTest

Сведения о тесте

   
Характеристики
  • Device.DevFund.Reliability.BasicReliabilityAndPerformance
  • Device.DevFund.Reliability.BasicSecurity
  • Device.DevFund.DriverFramework.KMDF.Reliability
  • Device.DevFund.DriverFramework.UMDF.Reliability
Платформы
  • Windows 10, клиентские выпуски (x86)
  • Windows 10, клиентские выпуски (x64)
  • Windows Server 2016 (x64)
  • Windows 10, клиентские выпуски (Arm64)
  • Windows 10, mobile edition (Arm)
  • Windows 10, mobile edition (Arm64)
Поддерживаемые выпуски
  • Windows 10
  • Windows 10 версии 1511
  • Windows 10, версия 1607
  • Windows 10 версии 1703
  • Windows 10 версии 1709
  • Windows 10 версии 1803
  • Windows 10, версия 1809
  • Windows 10 версии 1903
  • Следующее обновление до Windows 10
Ожидаемое время выполнения (в минутах) 15
Категория Сценарий
Время ожидания (в минутах) 180
Требуется перезагрузка false
Требуется специальная конфигурация Да
Тип automatic

 

Дополнительная документация

Тесты в этой области функций могут содержать дополнительную документацию, включая предварительные требования, сведения о настройке и устранении неполадок, которые можно найти в следующих разделах:

Запуск теста

Перед запуском теста выполните настройку теста, как описано в разделе Требования к тестированию : Предварительные требования к тестированию надежности Device.Fundamentals.

Устранение неполадок

Общие сведения об устранении неполадок при тестировании HLK см. в статье Устранение неполадок тестов HLK в Windows.

Сведения об устранении неполадок, относящихся к тестам с основами устройств в HLK и WDK, см . в дополнительной документации по Device.DevFund.

Дополнительные сведения

Параметры

Имя параметра Описание параметра
DQ Запрос SDEL WDTF, используемый для идентификации целевых устройств. https://go.microsoft.com/fwlink/?LinkId=232678
Wpa2PskAesSsid Требуется ТОЛЬКО в том случае, если DUT или одно из его дочерних устройств является адаптером Wi-Fi. Укажите SSID сети WIFi WPA2 AES, которую тест может использовать для тестирования адаптера Wi-Fi. Значение по умолчанию — kitstestssid.
Wpa2PskPassword Требуется ТОЛЬКО в том случае, если DUT или одно из его дочерних устройств является адаптером Wi-Fi. Укажите пароль сети Wi-Fi WPA2 AES, указанной с помощью параметра Wpa2PskAesSsid. Значение по умолчанию — password.
ChangeBufferProtectionFlags Верно или неверно. Изменяет флаги защиты памяти буферов, передаваемых на тестируемое устройство. Флаги защиты памяти чередуются между отсутствием доступа, только для чтения и только для чтения с помощью page guard.
Impersonate Верно или неверно. Запускает тест от имени пользователя без прав администратора.
FillZeroPageWithNull Верно или неверно. Сопоставляет нулевую страницу и заполняет ее значениями NULL. Этот тест определяет драйверы, которые не проверяют ссылку указателя перед разыменовкой указателя.
DoPoolCheck Верно или неверно. Отслеживает использование драйвером выгружаемых и несгружаемых пулов системной памяти с помощью тегов пулов и списков просмотра. Этот параметр также отслеживает изменения в количестве обрабатываемых исключений, которые могут указывать на ошибки в обработке исключений.
DoSync Верно или неверно. Также открывает дескриптор устройства в режиме синхронизации (FILE_SYNCHRONOUS_IO_ALERT). Случайные операции чтения и записи пропускаются.
TestCycles Количество циклов тестирования.
DriverVerifierAdditionalDrivers Дополнительные драйверы, для которых должен быть включен средство проверки драйверов
DriverVerifierExcludedFlags Заполнитель для флагов средства проверки драйверов, которые могут быть исключены вручную для тестового запуска
WDKDeviceID Идентификатор тестируемого устройства
QueryHardwareID Идентификатор оборудования тестируемого устройства
WDTFREMOTESYSTEM Требуется ТОЛЬКО в том случае, если DUT или одно из его дочерних устройств является проводной сетевой картой без адреса шлюза IPv6. Если это необходимо, укажите IPv6-адрес, по которому тестовый сетевой адаптер может проверить связь для тестирования сетевых операций ввода-вывода. Например: fe80::78b6:810:9c12:46cd
DriverVerifierCustomizeConfiguration Указывает, что для этого теста может потребоваться автоматически обновить параметры средства проверки драйверов.
MinDeviceType Задает минимальное значение поля DeviceType в ioCTLs. Минимальное возможное значение — 0. Используйте -1 для автоматического обнаружения типов (предпочтительно).
MaxDeviceType Задает максимальное значение поля DeviceType в ioCTLs. Максимально возможное значение — 65535. Используйте -1 для автоматического обнаружения типов (предпочтительно).
MinFunctionCode Задает минимальное значение поля FunctionCode в FSCTL. Минимальное возможное значение — 0.
MaxFunctionCode Задает максимальное значение поля FunctionCode в FSCTLs. Максимально возможное значение — 4095.