Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam keadaan tertentu, driver dapat menggunakan kembali IRPs. Driver dapat mengalokasikan kumpulan buffer memori yang digunakannya untuk menampung IRP saat perlu dibuat.
Driver perangkat lunak tidak boleh mencoba menggunakan kembali IRP yang dikeluarkan oleh manajer I/O. Secara khusus, driver tidak boleh mencoba menggunakan kembali IRPs yang telah dibuat oleh rutinitas IoMakeAssociatedIrp, IoBuildSynchronousFsdRequest, IoBuildAsynchronousFsdRequest, atau IoBuildDeviceIoControlRequest.
Driver dapat menggunakan kembali IRP yang telah dibuat dengan aman, sebagai berikut:
Jika driver mengalokasikan IRP sebagai memori mentah (misalnya, dengan memanggil ExAllocatePoolWithTag), dan kemudian menginisialisasinya dengan IoInitializeIrp, maka dapat dengan aman memanggil IoInitializeIrp atau IoReuseIrp untuk menginisialisasi ulang buffer memori.
Pada sistem operasi Microsoft Windows 2000 dan yang lebih baru, driver yang membuat IRP dengan IoAllocateIrp dapat menggunakan kembali IRP dengan memanggil IoReuseIrp.
Jika driver mengalokasikan IRP dengan memanggil IoAllocateIrp dengan parameter ChargeQuota yang diatur ke FALSE, maka dapat dengan aman menggunakan IoInitializeIrp untuk menginisialisasi ulang IRP. Driver yang harus bekerja pada Windows 98/Me dapat menggunakan metode ini sebagai solusi. Driver yang dirancang secara ketat untuk Windows 2000 dan yang lebih baru sistem operasi harus menggunakan metode sebelumnya.