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
테스트 세부 정보
사양 |
|
플랫폼 |
|
지원되는 릴리스 |
|
예상 실행 시간(분) | 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 요청을 보냅니다. |