DF – Solicitação de reequilíbrio PNP novo teste de dispositivo de recursos (desenvolvimento e integração)
Assim como acontece com o teste de remoção, o aplicativo de teste tenta adicionar um filtro superior à pilha do dispositivo de destino e, em seguida, reinicia a pilha do dispositivo usando SetupDiCallClassInstaller com DIF_PROPERTYCHANGE. Se essa tentativa não for bem-sucedida (ou seja, se alguém na pilha do dispositivo de destino falhou no IRP de remoção de consulta), o teste reiniciará o computador para testar o reequilíbrio.
Esse teste inicia um rebalanceamento e também manipula o requisito de recurso do dispositivo para maximizar as chances de que novos recursos sejam alocados para o dispositivo. Essa opção também ajuda um dispositivo sem recursos a realmente passar pelo procedimento de reequilíbrio completo:
Primeiro, o reequilíbrio simples é iniciado, causando os seguintes IRPs:
IRP_MN_QUERY_STOP_DEVICE (supondo que esse IRP seja passado por todos os drivers. O teste já abordou o caso em que esse IRP falhou.)
IRP_MN_QUERY_RESOURCE_REQUIREMENTS
IRP_MN_FILTER_RESOURCE_REQUIREMENTS. Em resposta a esse IRP, ao subir, o driver de filtro executa uma ação com base em se o dispositivo consome recursos ou não:
- Se o dispositivo não tiver nenhum requisito de recurso, o filtro atribuirá um recurso falso.
- Se o dispositivo tiver um requisito de recurso, ele tentará reestruturar a lista de requisitos de recursos de forma a maximizar a probabilidade de alterar a atribuição atual. Por exemplo, se um dispositivo precisar de 2 bytes de memória entre 00 e FF e atualmente for atribuído a 3A-3B, modifique de modo que o novo requisito de recurso (em ordem de preferência) se pareça com 00-39 ou 3C-FF ou 3A-3B. Da mesma forma, se a lista de requisitos de recursos do dispositivo tiver requisitos alternativos, ela alterará sua ordem para que o requisito alternativo venha anteriormente na lista.
Agora, o dispositivo deve sempre concluir o procedimento de rebalanceamento.
IRP_MN_STOP_DEVICE
IRP_MN_START_DEVICE (Os novos recursos alocados. Se forem criados requisitos falsos, mascarar os novos recursos dos drivers reais.)
- Binário de teste: Devfund_PnPDTest.dll
- Método de teste: PNPTryStopDeviceRequestNewResourcesAndRestartDevice
O teste Desabilitar o Teste avançado de dispositivo (EDT) desinstala o driver de filtro de teste (msdmfilt.sys) como um filtro superior em dispositivos especificados usando o parâmetro DQ. Esse filtro de teste é instalado como parte da execução de testes nesta categoria de teste
- Binário de teste: Devfund_PnPDTest.dll
- Método de teste: DisableEnhancedDeviceTestingSupport
Detalhes do teste
Especificações |
|
Plataformas |
|
Versões com suporte |
|
Tempo de execução esperado (em minutos) | 3 |
Categoria | Cenário |
Tempo limite (em minutos) | 45 |
Requer reinicialização | false |
Requer configuração especial | true |
Tipo | automático |
Documentação adicional
Os testes nessa área de recursos podem ter documentação adicional, incluindo pré-requisitos, configuração e informações de solução de problemas, que podem ser encontrados nos tópicos a seguir:
Executando o teste
Antes de executar o teste, conclua a configuração de teste conforme descrito nos requisitos de teste: Pré-requisitos de Teste de Confiabilidade device.fundamentals.
Solucionando problemas
Para solucionar problemas genéricos de falhas de teste do HLK, consulte Solução de problemas de falhas de teste do Windows HLK.
Para obter informações de solução de problemas específicas dos testes de Conceitos Básicos do Dispositivo no HLK e no WDK, consulte Documentação adicional device.DevFund.
Mais informações
Parâmetros
Nome do parâmetro | Descrição do parâmetro |
---|---|
DQ | Uma consulta SDEL do WDTF usada para identificar os dispositivos de destino – https://go.microsoft.com/fwlink/?LinkId=232678 |
Wpa2PskAesSsid | Obrigatório SOMENTE se o DUT ou um de seus dispositivos filho for um adaptador WiFi. Forneça SSID de uma rede WiFi AES WPA2 que o teste pode usar para testar o adaptador WiFi. O padrão é 'kitstestssid'. |
Wpa2PskPassword | Obrigatório SOMENTE se o DUT ou um de seus dispositivos filho for um adaptador WiFi. Forneça a senha da rede WiFi do AES WPA2 especificada usando o parâmetro Wpa2PskAesSsid. O padrão é 'password'. |
WDTFREMOTESYSTEM | Obrigatório SOMENTE se DUT ou um de seus dispositivos filho for uma NIC com fio que não tenha um endereço de gateway IPv6. Se determinado a ser necessário, forneça um endereço IPv6 que a NIC de teste pode executar ping para testar a E/S da rede. Por exemplo: fe80::78b6:810:9c12:46cd |
DriverVerifierAdditionalDrivers | Drivers adicionais que devem ter o Verificador de Driver habilitado |
DriverVerifierExcludedFlags | Espaço reservado para sinalizadores do Verificador de Driver que podem ser excluídos manualmente para a execução do teste |
MultiDeviceHardwareIdSdelQueryHardwareID | SDEL de vários dispositivos |
MultiDeviceInstanceIdSdelWDKDeviceID | ID do dispositivo do DUT |
DriverVerifierCustomizeConfiguration | Especifica que esse teste pode querer atualizar automaticamente as configurações do Verificador de Driver |
TestCycles | Número de ciclos para os qual executar o teste. |
DoSimpleIO | Verdadeiro ou falso. Executa SimpleIO (se encontrado) em dispositivos de teste antes e depois de executar operações PNP. |
IOPeriod | Período de tempo em minutos para executar o SimpleIO (se encontrado). |
DoConcurrentIO | Verdadeiro ou falso. Usa a interface de E/S simultânea WDTF para enviar solicitações de E/S para pilhas de dispositivo de destino ao executar operações PNP. |