Fungsi IoStartPacket (wdm.h)
IoStartPacket rutin memanggil rutinitas StartIo driver dengan IRP yang diberikan atau memasukkan IRP ke dalam antrean perangkat yang terkait dengan objek perangkat tertentu jika perangkat sudah sibuk.
void IoStartPacket(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIRP Irp,
[in, optional] PULONG Key,
[in, optional] PDRIVER_CANCEL CancelFunction
);
[in] DeviceObject
Penunjuk ke objek perangkat target untuk IRP.
[in] Irp
Penunjuk ke IRP yang akan diproses.
[in, optional] Key
Penunjuk ke nilai yang menentukan tempat memasukkan paket ke dalam antrean perangkat. Jika ini nol, paket dimasukkan di ekor antrean perangkat.
[in, optional] CancelFunction
Menentukan titik masuk untuk rutinitas Batalkan yang disediakan driver.
Tidak
Jika driver sudah sibuk memproses permintaan untuk objek perangkat target, maka paket diantrekan dalam antrean perangkat. Jika tidak, rutinitas ini memanggil rutinitas StartIo driver dengan IRP yang ditentukan.
Jika pointer CancelFunction non-NULL disediakan, penunjuk diatur dalam IRP sehingga Batalkan rutin driver dipanggil jika IRP dibatalkan sebelum selesai.
Driver yang tidak memiliki rutinitas StartIo tidak dapat memanggil IoStartPacket.
Penelepon IoStartPacket harus berjalan di IRQL <= DISPATCH_LEVEL. Biasanya, rutinitas ini dipanggil dari rutinitas Pengiriman driver perangkat di IRQL = PASSIVE_LEVEL.
Syarat | Nilai |
---|---|
klien minimum yang didukung | Tersedia dimulai dengan Windows 2000. |
Platform Target | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (lihat bagian Keterangan) |