Funzione IoStartNextPacketByKey (wdm.h)
La routine IoStartNextPacketByKey rimuove dalla coda del dispositivo il pacchetto di richiesta I/O successivo dalla coda del dispositivo associato all'oggetto dispositivo specificato in base a un valore di chiave di ordinamento specificato e chiama la routine StartIo startIo con tale IRP.
Sintassi
void IoStartNextPacketByKey(
[in] PDEVICE_OBJECT DeviceObject,
[in] BOOLEAN Cancelable,
[in] ULONG Key
);
Parametri
[in] DeviceObject
Puntatore all'oggetto dispositivo per il quale l'IRP deve essere dequeued.
[in] Cancelable
Specifica se i runtime di integrazione nella coda del dispositivo possono essere annullati.
[in] Key
Specifica la chiave di ordinamento che determina quale voce rimuovere dalla coda.
Valore restituito
Nessuno
Osservazioni
Se non sono attualmente presenti irP nella coda del dispositivo per l'oggetto dispositivo di destinazione, questa routine restituisce semplicemente il controllo al chiamante.
Se il driver ha passato un puntatore a una routine di annullamento quando ha chiamato IoStartPacket, deve passare TRUE nel parametro Cancelable. Se Annullabile è TRUE, il gestore di I/O userà il blocco di selezione annulla per proteggere la coda del dispositivo e l'IRP corrente.
I driver che non dispongono di una routine startIo non possono chiamare IoStartNextPacketByKey.
I chiamanti di IoStartNextPacketByKey devono essere in esecuzione in IRQL <= DISPATCH_LEVEL. In genere, questa routine viene chiamata dalla routine DpcForIsr di un driver di dispositivo o routine CustomDpc, entrambe eseguite in IRQL = DISPATCH_LEVEL.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 2000. |
piattaforma di destinazione | Universale |
intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
libreria | NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |