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.

Sintaksis

C++
void IoStartPacket(
  [in]           PDEVICE_OBJECT DeviceObject,
  [in]           PIRP           Irp,
  [in, optional] PULONG         Key,
  [in, optional] PDRIVER_CANCEL CancelFunction
);

Parameter

[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.

Mengembalikan nilai

Tidak

Komentar

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.

Persyaratan

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)

Lihat juga

DEVICE_OBJECT

IoMarkIrpPending

IoSetCancelRoutine

IoStartNextPacket

IoStartNextPacketByKey