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


DF — PNP Remove Device Test (Разработка и интеграция)

В этом тесте используется драйвер фильтра EDT для отправки IRP_MN_QUERY_REMOVE_DEVICE и IRP_MN_REMOVE_DEVICE в целевые стеки устройств.

Тест пытается установить драйвер верхнего фильтра в стеке целевых устройств. Эта попытка приводит к удалению запроса IRP.

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

Тест с помощью API установки вызывает отправку IRP для удаления запроса в стек устройств. Драйвер фильтра не выполняет этот запрос на удаление, поэтому отправляется IRP отмены и удаления. Драйвер фильтра будет утверждать, что отмена и удаление выполнена успешно.

Затем тестовое приложение вызывает соответствующий установщик класса и все зарегистрированные соинсталлеры для отключения или включения, а также удаления или повторной регистрации устройства (это тестирует обработку DIF_PROPERTYCHANGE класса и совместного установщика с DICS_DISABLE, DICS_ENABLE и DICS_PROPCHANGE). При получении IRP_MN_REMOVE_DEVICE драйвер фильтра будет утверждать, что более низкие драйверы успешно выполнили его.

Каждый из этих шагов включает предварительный запрос на удаление. Если этот запрос наложен вето, устройство не будет удалено. При необходимости вы можете наложить вето на запрос на удаление, например при потоковой передаче видео на USB-камеру или в том случае, если целевое устройство находится в пути загрузки или разбиения по страницам. Помните, что просто сбой всех запросов на удаление обычно не рекомендуется. Сбой всех запросов на удаление не гарантирует, что драйвер никогда не получит удаление, так как удаление IRP по-прежнему будет выдано после неожиданного удаления или если кто-либо в стеке устройств не сможет запустить IRP.

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

Тест Отключить поддержку расширенного тестирования устройств (EDT) удаляет драйвер фильтра теста (msdmfilt.sys) в качестве верхнего фильтра на устройствах, указанных с помощью параметра DQ. Этот тестовый фильтр устанавливается в рамках выполнения тестов в этой категории тестов.

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

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

   
Характеристики
  • Device.DevFund.Reliability.Discretional
Платформы
  • 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
Ожидаемое время выполнения (в минутах) 3
Категория Сценарий
Время ожидания (в минутах) 45
Требуется перезагрузка 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.
WDTFREMOTESYSTEM Требуется ТОЛЬКО в том случае, если DUT или одно из его дочерних устройств является проводной сетевой картой без адреса шлюза IPv6. Если это необходимо, укажите IPv6-адрес, по которому тестовый сетевой адаптер может проверить связь для тестирования сетевых операций ввода-вывода. Например: fe80::78b6:810:9c12:46cd
DriverVerifierAdditionalDrivers Дополнительные драйверы, для которых должен быть включен средство проверки драйверов
DriverVerifierExcludedFlags Заполнитель для флагов средства проверки драйверов, которые могут быть исключены вручную для тестового запуска
MultiDeviceHardwareIdSdelQueryHardwareID Несколько устройств SDEL
MultiDeviceInstanceIdSdelWDKDeviceID Идентификатор устройства DUT
DriverVerifierCustomizeConfiguration Указывает, что для этого теста может потребоваться автоматическое обновление параметров средства проверки драйверов.
TestCycles Количество циклов, для которых выполняется тест.
DoSimpleIO Верно или неверно. Выполняет SimpleIO (если он найден) на тестовых устройствах до и после выполнения операций PNP.
IOPeriod Период времени в минутах для запуска SimpleIO (если он найден).
DoConcurrentIO Верно или неверно. Использует параллельный интерфейс ввода-вывода WDTF для отправки запросов ввода-вывода в стеки целевых устройств при выполнении операций PNP.