Fungsi IoStartPacket (ntifs.h)
Rutinitas IoStartPacket memanggil rutinitas StartIo driver dengan IRP yang diberikan atau memasukkan IRP ke dalam antrean perangkat yang terkait dengan objek perangkat yang diberikan jika perangkat sudah sibuk.
Sintaks
void IoStartPacket(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIRP Irp,
[in, optional] PULONG Key,
[in, optional] PDRIVER_CANCEL CancelFunction
);
Parameter
[in] DeviceObject
Arahkan ke objek perangkat target untuk IRP.
[in] Irp
Arahkan ke IRP yang akan diproses.
[in, optional] Key
Penunjuk ke nilai yang menentukan tempat menyisipkan paket ke dalam antrean perangkat. Jika ini nol, paket dimasukkan di ekor antrean perangkat.
[in, optional] CancelFunction
Menentukan titik masuk untuk rutinitas Batal yang disediakan driver.
Nilai kembali
Tidak ada
Keterangan
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, pointer diatur dalam IRP sehingga rutinitas Batalkan 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.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 |
Target Platform | Universal |
Header | ntifs.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (lihat bagian Keterangan) |