Timeout dei / o effettivo è 10 volte più breve rispetto al valore specificato in 2.0 di Framework Driver modalità utente

Support Topic:

  • Developer Tools\Windows Driver Kit (WDK, HLK)\Windows Driver Kit 10\Windows Device Driver Interface (DDI)\User-Mode Driver Framework (UMDF)

  • Developer Tools\Windows Driver Kit (WDK, HLK)\Windows Driver Kit 8.1\Windows Device Driver Interface (DDI)\User-Mode Driver Framework (UMDF)

Sintomi

Si supponga che il driver utilizza Framework Driver modalità utente (UMDF) versione 2.0 nei sistemi operativi Windows. Si noterà che il valore di timeout dell'operazione dei / o è 10 volte più breve rispetto al valore specificato.

Ad esempio, se si chiama la funzione WdfIoTargetSendWriteSynchronously come indicato di seguito, la richiesta di scrittura deve causare un timeout si verifichi dopo 10 millisecondi. Tuttavia, si verifica il timeout dopo 1 millisecondo.

WDF_REQUEST_SEND_OPTIONS reqOptions;

WDF_REQUEST_SEND_OPTIONS_INIT(&reqOptions, WDF_REQUEST_SEND_OPTION_TIMEOUT); // We specify 10 milliseconds as a timeout.
WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT(&reqOptions, WDF_REL_TIMEOUT_IN_MS(10));

WdfIoTargetSendWriteSynchronously(ioTarget, request, &memDescr, NULL, & reqOptions, &bytesWritten);

Causa

Il problema si verifica perché il calcolo timeout UMDF 2.0 non è corretto.

Risoluzione

Il problema è risolto in Windows 10, 1511 versione. Se il driver utilizza un sistema precedente a Windows 10, 1511 versione, è possibile aumentare il valore di timeout di un fattore pari a 10.

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×