Condividi tramite


Come selezionare e configurare i test di Nozioni fondamentali sui dispositivi

WdK per Windows 8 fornisce un framework di test dei driver che include un set di test denominato Test fondamentali del dispositivo. I test Di base del dispositivo sono una raccolta di test usati internamente in Microsoft per testare i driver e gli esempi di driver forniti con Windows e WDK ed esternamente come parte del Programma di certificazione Windows per l'hardware. È possibile eseguire i test dall'ambiente di sviluppo. Quando si eseguono i test, è possibile usare gli stessi parametri usati per i test di certificazione Windows oppure è possibile configurare e personalizzare i parametri di runtime in base alle esigenze di test e debug.

Ottenere il massimo dai test di Nozioni fondamentali sui dispositivi

Per ottenere il massimo vantaggio dai test Device Fundamentals, il dispositivo deve essere supportato dai plug-in di I/O predefiniti. Per verificare se il tipo di dispositivo è supportato e per determinare se sono presenti requisiti specifici per i test, vedere Plug-in di I/O WDTF semplici forniti. Il test Nozioni fondamentali sul dispositivo include anche un'utilità che è possibile usare per testare il dispositivo per verificare se è supportato. Se il dispositivo non è supportato, è possibile creare un plug-in I/O semplice WDTF. in Visual Studio. Per altre informazioni, vedere How to customize I/O for your device using the WDTF Simple I/O Action Plug-in .For more information, see How to customize I/O for your device using the WDTF Simple I/O Action Plug-in.

Informazioni sui test fondamentali del dispositivo

WdK fornisce i test nozioni fondamentali sul dispositivo in due configurazioni, Basic e Certification. In entrambe le configurazioni è possibile modificare i parametri di test per variare la lunghezza del test, il numero di cicli di test da eseguire e altri parametri di test, a seconda di come si vogliono testare i dispositivi o i driver di destinazione. La configurazione di base è destinata al test generale dei driver e dei dispositivi e al debug. Usare la configurazione di base all'inizio e durante tutto il ciclo di sviluppo. I test nella configurazione di base hanno le stesse impostazioni usate nei test di certificazione Windows, ad eccezione di un tempo di esecuzione più breve. Nella configurazione della certificazione i test hanno le stesse impostazioni usate nei test di certificazione Windows. Usare la configurazione di certificazione per verificare l'idoneità per il test del dispositivo o del driver per il programma di certificazione Windows per l'hardware.

I test dei concetti fondamentali del dispositivo includono i test nelle categorie seguenti.

Impostazione dei parametri di test in fase di esecuzione

È possibile modificare i parametri di runtime per molti dei test Di base del dispositivo. Nella finestra Gruppo di test driver una freccia (») accanto a un nome di test indica che il test contiene parametri che è possibile modificare. Selezionare la freccia (") per visualizzare i parametri di runtime.

Uno dei parametri più utili è DQ, che specifica il dispositivo di destinazione da testare. Il valore predefinito (IsDevice) verifica tutti i dispositivi nel computer di destinazione. Il parametro DQ accetta una query SDEL WDTF che identifica i dispositivi di destinazione. È possibile specificare un particolare dispositivo per i test, ad esempio:

DeviceID='USB\ROOT_HUB\4&1CD5D022&0' seleziona solo il dispositivo per il test con l'ID dispositivo specificato.

Per altre informazioni su DQ e sugli altri parametri di runtime, vedere Device Fundamentals test parameters .For more information about DQ and other run-time parameters, see Device Fundamentals test parameters.For more information about DQ and other run-time parameters, see Device Fundamentals test parameters.

Parametri di test dei concetti fondamentali del dispositivo

Parametro Descrizione

DQ

Identifica il dispositivo o i dispositivi da usare per il test. Il parametro DQ accetta una query SDEL WDTFche identifica i dispositivi di destinazione. Questa query può essere molto flessibile e può essere usata per esprimere qualsiasi numero di dispositivi, da un singolo dispositivo a tutti i dispositivi nel sistema.

Esempi comuni:

Per testare tutti i dispositivi installati con un file INF specifico:

INF::FileName=INF_File_Name

Ad esempio, INF::OriginalInfFileName='KMDFTest.inf'

Inf::OriginalInFileName può essere usato con qualsiasi INF.

Per testare un dispositivo con un ID dispositivo specifico:

DeviceId='DeviceId'

Ad esempio, DeviceID='USB\ROOT_HUB\4&1CD5D022&0'

Per testare un dispositivo con un'interfaccia specifica:

Interfaces::InterfaceGUID

Per testare un dispositivo con una lettera di driver specifica:

Volume::D riverLetter='DriveLetter'

Ad esempio, Volume::D riverLetter='c:\'

Per testare un dispositivo con un driver specifico:

DriverBinaryNames=mydriver.sys

Dove KMDFTest.inf è l'inf usato per installare il driver. È anche possibile usare la destinazione folloiwng dei dispositivi che usano KMDFTest.sys driver.

(DriverBinaryNames='KMDFTest.sys') funziona.

Dopo aver impostato correttamente SDEL, quando si esegue un test verrà visualizzato l'output seguente nella console.

WDTF_TARGETS : INFO : - Query("IsDevice AND ((Inf::OriginalInfFileName='KMDFTest.inf')") WDTF_TARGETS : INFO : Target: KMDFTest Device ROOT\SAMPLE\0000 WDTF_TEST : INFO : WARNING: The test is not applicationing that Driver Verifier is enabled. WDTF_TEST : INFO : DV è abilitato con Flag:=0x209bb WDTF_TEST : INFO : DV è abilitato correttamente per tutti i driver di questo devnode(UniqueTargetName):=KMDFTest Device ROOT\SAMPLE\0000 WDTF_TARGET : INFO : GetInterface("Support") WDTF_TARGET : INFO : destinazione: DESKTOP-2OVFH3G WDTF_TARGETS : INFO : - Query("IsDevice") WDTF_TARGETS : INFO : Target: KMDFTest Device ROOT\SAMPLE\0000 WDTF_TARGETS : INFO : - GetRelations("below-or-self/", "IsDevice") WDTF_TARGETS : INFO : Target: KMDFTest Device ROOT\SAMPLE\0000 WDTF_TARGETS : INFO : - GetInterfacesIfExist("SimpleIOStressProc") WDTF_SIMPLE_IO : INFO : - For Target:KMDFTest Device ROOT\SAMPLE\0000 no Simple IO Interface was found. WDTF_SIMPLE_IO : INFO : - Per Target:KMDFTest Device ROOT\SAMPLE\0000 WDTF userà l'interfaccia I/O semplice ANY.

Per altri dettagli, vedere file di configurazione e di log dei file allegati. WDTF_TARGETS : INFO : Destinazione: KMDFTest Device ROOT\SAMPLE\0000 WDTF_TEST : INFO : Eseguire 1 ciclo di test di terminazione di I/O WDTF_TEST : INFO : Ciclo di terminazione I/O #1 WDTF_SIMPLEIO_STRESS_PROC : INFO : - StartAsync(KMDFTest Device ROOT\SAMPLE\0000 ) WDTF_SIMPLEIO_STRESS_PROC : INFO : - WaitAsyncCompletion(KMDFTest Device ROOT\SAMPLE\0000 ) WDTF_SIMPLE_IO : INFO : - Per Target: KMDFTest Device ROOT\SAMPLE\0000 non è stata trovata alcuna interfaccia di I/O semplice. WDTF_SIMPLE_IO : INFO : - Per Target:KMDFTest Device ROOT\SAMPLE\0000 WDTF userà l'interfaccia I/O semplice ANY. WDTF_SIMPLE_IO : INFO : - Open(KMDFTest Device ROOT\SAMPLE\0000 ) Try count 1 WDTF_SUPPORT : INFO : - WaitForMinutes : 1 WDTF_SIMPLE_IO : INFO : - PerformIO(KMDFTest Device ROOT\SAMPLE\0000 ) Count 1 WDTF_SIMPLEIO_STRESS_PROC : INFO : Terminate(KMDFTest Device ROOT\SAMPLE\0000 ) process

Per testare tutto il dispositivo di una classe di dispositivo specifica:

Ad esempio, Class=CDROM testerebbe tutto il dispositivo della classe CDROM.

Ad esempio, ClassGUID= {36fc9e60-c465-11cf-8056-444553540000} testerebbe tutti i dispositivi il cui GUID di classe corrisponde al GUID specificato. In questo caso, il GUID è per la classe USB.

DoPoolCheck

Vero o falso. Monitora l'uso del driver dei pool di memoria di sistema di paging e non di paging usando tag del pool ed elenchi lookaside. Questa opzione monitora anche le modifiche apportate al numero di eccezioni gestite che potrebbero indicare errori nella gestione delle eccezioni.

ChangeBufferProtectionFlags

Vero o falso. Modifica i flag di protezione della memoria dei buffer passati al dispositivo testato. I flag di protezione della memoria alternano tra nessun accesso, sola lettura e sola lettura con protezione di pagina.

DoSimpleIO

Vero o falso. Esegue SimpleI/O (se trovato) nei dispositivi di test prima e dopo l'esecuzione di operazioni PNP.

DoConcurrentIO

Vero o falso. Usa l'interfaccia di I/O wdTF simultanea per inviare richieste di I/O agli stack di dispositivi di destinazione durante l'esecuzione di operazioni PnP.

FillZeroPageWithNull

Vero o falso. Esegue il mapping della pagina zero e lo riempie con valori NULL. Questo test identifica i driver che non verificano un riferimento puntatore prima di dereferenziare il puntatore.

FuzzTestPeriod

Periodo di test fuzz in minuti.

HPU

Specifica la percentuale di utilizzo elevato del processore.

Impersonate

Vero o falso. Esegue il test come utente senza privilegi di amministratore.

IOPeriod

Specifica il periodo di I/O in minuti.

IOType

Specifica il tipo di test di stress di I/O: SimpleIOStressEx o SimpleIOStressProc (I/O in un processo separato).

LPU

Specifica la percentuale di utilizzo basso del processore

MaxInBuffer

Specifica le dimensioni massime, in byte, dei buffer di input superati dal test al driver in FILETLS (o IOCTLs per i test IOCTL).

MinInBuffer

Specifica le dimensioni minime, in byte, dei buffer di input che il test passa al driver in FILETLS (o IOCTLs per i test IOCTL).

MaxOutBuffer

Specifica le dimensioni massime, in byte, dei buffer di output che il test passa al driver in FILETLS (o IOCTLs per i test IOCTL).

MinOutBuffer

Specifica le dimensioni minime, in byte, dei buffer di output che il test passa al driver in FILETLS (o IOCTLs per i test IOCTL).

MaxRandomCalls

Specifica il numero massimo di chiamate che il test rilascia.

MaxTailoredCalls

Specifica il numero massimo di chiamate che il test rilascia durante il test casuale personalizzato.

MaxDeviceType

Specifica il valore massimo del campo DeviceType negli elenchi DITLS (o IOCTLs per i test IOCTL). Il valore massimo possibile è 65535.

MinDeviceType

Specifica il valore minimo del campo DeviceType negli elenchi DITLS (o IOCTLs per i test IOCTL). Il valore minimo possibile è 0.

MaxFunctionCode

Specifica il valore massimo del campo FunctionCode negli elenchi DITLS (o IOCTLs per i test IOCTL). Il valore massimo possibile è 4095.

MinFunctionCode

Specifica il valore minimo del campo FunctionCode negli elenchi DITLS (o IOCTL per i test IOCTL). Il valore minimo possibile è 0.

PU

Specifica la percentuale di utilizzo del processore

PingPongPeriod

Specifica il periodo di ping pong in minuti; il tempo che il processore alterna tra livelli di utilizzo elevato (HPU) e basso (LPU).

ResumeDelay

Tempo di ritardo (in secondi) dopo che il computer riprende dalla modalità sospensione e prima dell'avvio del ciclo di I/O successivo. Il tempo di ritardo è necessario per consentire ai dispositivi di ripristinare lo stato di lavoro (rinnovare l'indirizzo IP per la scheda di rete e così via).

TestCycles

Specifica il numero di cicli di test (iterazioni) da eseguire.

WDTFREMOTESYSTEM

Questo parametro è obbligatorio solo se il dispositivo sottoposto a test o uno dei relativi dispositivi figlio è una scheda di rete cablata che non ha un indirizzo gateway IPv6. Se questo parametro è obbligatorio nella rete, è necessario specificare un indirizzo IPv6 che la scheda di rete di test può effettuare il ping per testare la rete.

Esempio: fe80::78b6:810:9c12:46cd

Wpa2PskAesSsid

Questo parametro è obbligatorio solo se il dispositivo sottoposto a test o uno dei dispositivi figlio è una scheda Wi-Fi. Specificare il SSID di una rete Wi-Fi WPA2 AES che il test può usare per testare la scheda WiFi.

Valore predefinito: kitstestssid

Wpa2PskPassword

Questo parametro è obbligatorio solo se il dispositivo sottoposto a test o uno dei dispositivi figlio è una scheda Wi-Fi. Specificare la password della rete WiFi WPA2 AES specificata usando il parametro Wpa2PskAesSsid.

Valore predefinito: password

Test di utilità

  Test Descrizione

Visualizzare i dispositivi con plug-in I/O semplici WDTF

Parametri: Nessuno

Visualizzare i dispositivi con Driver Verifier abilitato

Parametri: Nessuno

Visualizzare i dispositivi

Parametri: Nessuno

Driver Verifier

  Test Descrizione

Disabilitare il driver Verifier

Disabilita Driver Verifier nel computer di test.

Parametri: Nessuno

Abilitare Driver Verifier

È possibile usare questo test per abilitare Driver Verifier per tutti i driver di un dispositivo (o dispositivi) nel computer di test.

Parametri: - Vedere Opzioni del driver Verifier.