DF - 디바이스 PNP 리밸런스 새 리소스 요청 테스트(개발 및 통합)
제거 테스트와 마찬가지로 테스트 애플리케이션은 대상 디바이스 스택에 상위 필터를 추가한 다음, DIF_PROPERTYCHANGE에서 SetupDiCallClassInstaller를 사용하여 디바이스 스택을 다시 시작하려고 시도합니다. 이 시도가 실패하면(즉, 대상 디바이스 스택의 누군가가 IRP 쿼리-제거에 실패한 경우) 테스트는 컴퓨터를 다시 시작하여 리밸런스를 테스트합니다.
이 테스트는 리밸런스를 시작하고 디바이스의 리소스 요구 사항을 조작하여 실제로 새 리소스가 디바이스에 할당될 가능성을 극대화합니다. 또한 이 옵션을 사용하면 리소스가 없는 디바이스에서 전체 리밸런스 절차를 실제로 진행할 수 있습니다.
먼저 간단한 리밸런스가 시작되어 다음 IRP가 발생합니다.
IRP_MN_QUERY_STOP_DEVICE(이 IRP가 모든 드라이버에 의해 통과되었다고 가정합니다. 테스트는 이미 이 IRP가 실패한 경우를 다루었습니다.)
IRP_MN_QUERY_RESOURCE_REQUIREMENTS
IRP_MN_FILTER_RESOURCE_REQUIREMENTS. 이 IRP에 대한 응답으로, 진행하는 동안 필터 드라이버는 디바이스가 리소스를 사용하는지 여부에 따라 작업을 수행합니다.
- 디바이스에 리소스 요구 사항이 없는 경우 필터는 가짜 리소스를 할당합니다.
- 디바이스에 리소스 요구 사항이 있는 경우 현재 할당을 변경할 가능성을 최대화하는 방식으로 리소스 요구 사항 목록을 재구성하려고 합니다. 예를 들어, 디바이스에 00에서 FF 사이의 2바이트 메모리가 필요하고 현재 3A-3B가 할당된 경우 새 리소스 요구 사항(기본 설정 순서)이 00-39, 3C-FF 또는 3A-3B처럼 보이도록 수정합니다. 마찬가지로 디바이스 리소스 요구 사항 목록에 대체 요구 사항이 있는 경우 대체 요구 사항이 목록의 앞부분에서 표시되도록 순서가 변경됩니다.
이제 디바이스는 항상 리밸런스 절차를 완료해야 합니다.
IRP_MN_STOP_DEVICE
IRP_MN_START_DEVICE(새로 할당된 리소스입니다. 가짜 요구 사항이 만들어진 경우 실제 드라이버의 새 리소스를 마스크합니다.)
- 테스트 이진: Devfund_PnPDTest.dll
- 테스트 방법: PNPTryStopDeviceRequestNewResourcesAndRestartDevice
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 요청을 보냅니다. |