Funzione IoStartPacket (wdm.h)
La routine IoStartPacket chiama la routine StartIo del driver con l'IRP specificato o inserisce l'IRP nella coda di dispositivi associata all'oggetto dispositivo specificato se il dispositivo è già occupato.
Sintassi
void IoStartPacket(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIRP Irp,
[in, optional] PULONG Key,
[in, optional] PDRIVER_CANCEL CancelFunction
);
Parametri
[in] DeviceObject
Puntatore all'oggetto dispositivo di destinazione per IRP.
[in] Irp
Puntatore all'IRP da elaborare.
[in, optional] Key
Puntatore a un valore che determina dove inserire il pacchetto nella coda del dispositivo. Se questo è zero, il pacchetto viene inserito nella parte finale della coda del dispositivo.
[in, optional] CancelFunction
Specifica il punto di ingresso per una routine Cancel fornita dal driver.
Valore restituito
nessuno
Osservazioni
Se il driver è già occupato nell'elaborazione di una richiesta per l'oggetto dispositivo di destinazione, il pacchetto viene accodato nella coda del dispositivo. In caso contrario, questa routine chiama la routine StartIo del driver con l'IRP specificato.
Se viene fornito un puntatore CancelFunction non NULL, viene impostato in IRP in modo che la routine Cancel del driver venga chiamata se l'IRP viene annullato prima del completamento.
I driver che non dispongono di una routine StartIo non possono chiamare IoStartPacket.
I chiamanti di IoStartPacket devono essere in esecuzione in IRQL <= DISPATCH_LEVEL. In genere, questa routine viene chiamata dalla routine Dispatch di un driver di dispositivo in IRQL = PASSIVE_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 (vedere la sezione Osservazioni) |