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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk