Funzione NdisMSleep (ndis.h)
La funzione NdisMSleep ritarda l'esecuzione del chiamante per un determinato intervallo in microsecondi.
Sintassi
void NdisMSleep(
[in] ULONG MicrosecondsToSleep
);
Parametri
[in] MicrosecondsToSleep
Numero di microsecondi da ritardare.
Valore restituito
nessuno
Osservazioni
Per il tempo specificato nel parametro MicrosecondsToSleep , il thread di esecuzione del chiamante viene inserito in uno stato di attesa, consentendo così ad altri thread di lavorare sul processore corrente. Alla scadenza dell'intervallo specificato, il chiamante di NdisMSleep riprende l'esecuzione.
Un driver NDIS deve sempre chiamare NdisMSleep in preferenza alla funzione NdisStallExecution a meno che il driver non sia in esecuzione in IRQL >= DISPATCH_LEVEL. NdisMSleep può accettare un intervallo di ritardo maggiore di NdisStallExecution, che non deve mai essere chiamato con un intervallo maggiore di 50 microsecondi. Non chiamare NdisMSleep con un timeout di più di 30.000.000 microsecondi (ovvero 30 secondi o mezzo minuto).
I driver Miniport possono chiamare NdisMSleep dal miniportInitializeEx e, possibilmente, le funzioni MiniportHaltEx quando una delle due funzioni deve attendere che le modifiche di stato vengano apportate nella scheda di interfaccia di rete prima che tale funzione continui le operazioni.
Sia NdisMSleep che NdisStallExecution consentono a un driver miniport di specificare un ritardo coerente e indipendentemente dalla velocità di clock della CPU host. Nessuna delle due funzioni implica un oggetto timer, ad esempio quelli usati dalla funzione NdisSetTimerObject . La risoluzione dell'orologio del sistema host varia, pertanto i ritardi molto brevi possono richiedere tempi leggermente più lunghi rispetto al tempo di ritardo specificato dal chiamante di NdisMSleep o NdisStallExecution .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere NdisMSleep (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere NdisMSleep (NDIS 5.1)). |
Piattaforma di destinazione | Universale |
Intestazione | ndis.h (include Ndis.h) |
Libreria | Ndis.lib |
IRQL | < DISPATCH_LEVEL |
Regole di conformità DDI | Irql_Miniport_Driver_Function(ndis) |