Bagikan melalui


Fungsi IoInitializeIrp (wdm.h)

Rutinitas IoInitializeIrp menginisialisasi IRP tertentu yang dialokasikan oleh pemanggil.

Sintaks

void IoInitializeIrp(
  [in, out] PIRP   Irp,
  [in]      USHORT PacketSize,
  [in]      CCHAR  StackSize
);

Parameter

[in, out] Irp

Arahkan ke IRP yang akan diinisialisasi.

[in] PacketSize

Menentukan ukuran dalam byte IRP.

[in] StackSize

Menentukan jumlah lokasi tumpukan dalam IRP.

Nilai kembali

Tidak ada

Keterangan

Driver menggunakan IoInitializeIrp untuk menginisialisasi RUNPS yang dialokasikan driver sebagai memori mentah. Jangan gunakan IoInitializeIrp untuk menginisialisasi IRP yang dialokasikan oleh IoAllocateIrp. IoAllocateIrp secara otomatis menginisialisasi anggota IRP.

Driver dapat menggunakan IoInitializeIrp untuk menginisialisasi ulang IRP untuk digunakan kembali hanya dalam keadaan tertentu. Lihat Menggunakan kembali RUNPS untuk detailnya.

Jika driver mengaitkan MDL dengan IRP yang dialokasikannya, driver bertanggung jawab untuk merilis MDL ketika IRP selesai.

Driver tingkat menengah atau tertinggi juga dapat memanggil IoBuildDeviceIoControlRequest, IoBuildAsynchronousFsdRequest, atau IoBuildSynchronousFsdRequest untuk menyiapkan permintaan yang dikirimnya ke driver tingkat bawah. Hanya driver tingkat tertinggi yang dapat memanggil IoMakeAssociatedIrp.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
Aturan kepatuhan DDI HwStorPortProhibitedDDIs(storport), IoReuseIrp(wdm)

Lihat juga

IRP

IoAllocateIrp

IoAllocateMdl

IoBuildPartialMdl

IoFreeIrp

IoFreeMdl

IoReuseIrp

IoSetNextIrpStackLocation

IoSizeOfIrp