다음을 통해 공유


DF - 디바이스 PNP 리밸런스 실패 다시 시작 테스트(개발 및 통합)

제거 테스트와 마찬가지로 테스트 애플리케이션은 대상 디바이스 스택에 상위 필터를 추가한 다음, DIF_PROPERTYCHANGE에서 SetupDiCallClassInstaller를 사용하여 디바이스 스택을 다시 시작하려고 시도합니다. 이 시도가 실패하면(즉, 대상 디바이스 스택의 누군가가 IRP 쿼리-제거에 실패한 경우) 테스트는 컴퓨터를 다시 시작하여 리밸런스를 테스트합니다.

이 테스트는 리밸런스를 시작하지만 리밸런스 후 필터 드라이버가 시작되면 의도적으로 실패합니다. 이로 인해 예기치 않은 제거 IRP 후에 제거 IRP가 발생합니다.

먼저 리밸런스 절차를 시작하고, 리소스를 사용하지 않는 디바이스에 대해 가짜 리소스 요구를 생성하여 드라이버가 중지되었다가 시작되도록 합니다.

  • IRP_MN_QUERY_STOP_DEVICE(이 IRP가 모든 드라이버에 의해 통과되었다고 가정합니다. 테스트는 이미 이 IRP가 실패한 경우를 다루었습니다.)
  • IRP_MN_QUERY_RESOURCE_REQUIREMENTS
  • IRP_MN_FILTER_RESOURCE_REQUIREMENTS(실제 리소스 요구가 null인 경우 필터는 가짜 리소스 요구를 할당하므로 중지 후 시작이 발생합니다.)
  • IRP_MN_STOP_DEVICE
  • IRP_MN_START_DEVICE(작동되는 동안 필터는 이 IRP를 실패합니다. 이 작업을 수행하면 예기치 않은 제거 IRP가 발생합니다.)
  • IRP_MN_SURPRISE_REMOVAL
  • IRP_MN_REMOVE

리밸런스 테스트가 완료되면 디바이스가 제거되고 다시 열거되며 스택에서 필터 드라이버도 제거됩니다.

  • 테스트 이진: Devfund_PnPDTest.dll
  • 테스트 방법: PNPTryStopDeviceAndFailRestart

EDT(고급 디바이스 테스트) 지원 비활성화 테스트는 DQ 매개 변수를 사용하여 지정된 디바이스에서 상위 필터로 테스트 필터 드라이버(msdmfilt.sys)를 제거합니다. 이 테스트 필터는 이 테스트 범주에서 실행 중인 테스트의 일부로 설치됩니다.

  • 테스트 이진: Devfund_PnPDTest.dll
  • 테스트 방법: DisableEnhancedDeviceTestingSupport

테스트 세부 정보

   
사양
  • Device.DevFund.Reliability.Discretional
플랫폼
  • Windows 10, 클라이언트 버전(x86)
  • Windows 10, 클라이언트 버전(x64)
  • Windows Server 2016(x64)
  • Windows 10, 클라이언트 버전(Arm64)
  • Windows 10, 모바일 버전(Arm)
  • Windows 10, 모바일 버전(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
특별한 구성 필요 true
형식 automatic

 

추가 설명서

이 기능 영역의 테스트에는 다음 항목에서 찾을 수 있는 필수 조건, 설정, 문제 해결 정보를 포함한 추가 설명서가 있을 수 있습니다.

테스트 실행

테스트를 실행하기 전에 테스트 요구 사항: Device.Fundamentals 안정성 테스트 필수 구성 요소에 설명된 대로 테스트 설정을 완료합니다.

문제 해결

HLK 테스트 실패의 일반적인 문제 해결은 Windows HLK 테스트 실패 문제 해결을 참조하세요.

HLK 및 WDK의 Device Fundamentals 테스트와 관련된 문제 해결 정보는 Device.DevFund 추가 설명서를 참조하세요.

추가 정보

매개 변수

매개 변수 이름 매개 변수 설명
DQ 대상 디바이스를 식별하는 데 사용되는 WDTF SDEL 쿼리 - https://go.microsoft.com/fwlink/?LinkId=232678
Wpa2PskAesSsid DUT 또는 자식 디바이스 중 하나가 WiFi 어댑터인 경우에만 필요합니다. 테스트에서 WiFi 어댑터를 테스트하는 데 사용할 수 있는 WPA2 AES WiFi 네트워크의 SSID를 제공합니다. 기본값은 ‘kitstestssid’입니다.
Wpa2PskPassword DUT 또는 자식 디바이스 중 하나가 WiFi 어댑터인 경우에만 필요합니다. Wpa2PskAesSsid 매개 변수를 사용하여 지정된 WPA2 AES WiFi 네트워크의 암호를 제공합니다. 기본값은 'password'입니다.
WDTFREMOTESYSTEM DUT 또는 자식 디바이스 중 하나가 IPv6 게이트웨이 주소가 없는 유선 NIC인 경우에만 필요합니다. 필요하다고 판단되면 테스트 NIC가 네트워크 I/O를 테스트하기 위해 ping할 수 있는 IPv6 주소를 제공합니다. 예: fe80::78b6:810:9c12:46cd
DriverVerifierAdditionalDrivers 드라이버 검증 도구를 사용하도록 설정해야 하는 추가 드라이버입니다.
DriverVerifierExcludedFlags 테스트 실행을 위해 수동으로 제외할 수 있는 드라이버 검증 도구 플래그의 자리 표시자
MultiDeviceHardwareIdSdelQueryHardwareID 다중 디바이스 SDEL
MultiDeviceInstanceIdSdelWDKDeviceID DUT의 디바이스 ID
DriverVerifierCustomizeConfiguration 이 테스트에서 드라이버 검증 도구 설정을 자동으로 업데이트하도록 지정합니다.
TestCycles 테스트를 실행할 주기 수입니다.
DoSimpleIO True 또는 False PNP 작업을 수행하기 전후에 테스트 디바이스에서 SimpleIO(있는 경우)를 실행합니다.
IOPeriod SimpleIO(있는 경우)를 실행하는 데 걸리는 시간(분)입니다.
DoConcurrentIO True 또는 False WDTF 동시 IO 인터페이스를 사용하여 PNP 작업을 수행하는 동안 대상 디바이스 스택에 I/O 요청을 보냅니다.