Condividi tramite


Funzione IoStartNextPacketByKey (wdm.h)

La routine IoStartNextPacketByKey dequeue il pacchetto di richiesta I/O successivo dalla coda del dispositivo associata all'oggetto dispositivo specificato in base a un valore di ordinamento specificato e chiama la routine StartIo del driver 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 è possibile annullare gli indirizzi IP nella coda del dispositivo.

[in] Key

Specifica la chiave di ordinamento che determina quale voce rimuovere dalla coda.

Valore restituito

nessuno

Osservazioni

Se non sono presenti irP attualmente 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 Cancelable è TRUE, il gestore di I/O userà il blocco di rotazione annulla per proteggere la coda del dispositivo e l'IRP corrente.

I driver che non hanno 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 o CustomDpc di un driver di dispositivo, entrambe eseguite in IRQL = DISPATCH_LEVEL.

Requisiti

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

Vedi anche

DEVICE_OBJECT

IoStartNextPacket

IoStartPacket