Bagikan melalui


Fungsi RxCeAllocateIrpWithMDL (rxce.h)

RxCeAllocateIrpWithMDL mengalokasikan IRP dan mengaitkannya dengan daftar deskriptor memori yang ada.

Sintaks

PIRP RxCeAllocateIrpWithMDL(
  [in] IN CCHAR   StackSize,
  [in] IN BOOLEAN ChargeQuota,
  [in] IN PMDL    Buffer
);

Parameter

[in] StackSize

Ukuran tumpukan yang akan dialokasikan untuk IRP.

[in] ChargeQuota

Parameter ini harus diatur ke FALSE oleh driver perantara. Ini dapat diatur ke TRUE hanya oleh driver tingkat tertinggi yang dipanggil dalam konteks utas yang berasal dari permintaan I/O tempat driver mengalokasikan IRP lain.

[in] Buffer

Penunjuk ke buffer yang berisi daftar deskriptor memori yang akan dikaitkan dengan IRP ini.

Nilai kembali

RxCeAllocateIrpWithMDL mengembalikan penunjuk ke IRP saat berhasil atau pointer NULL pada kesalahan.

Keterangan

Tujuan dari RxCeAllocateIrpWithMDL adalah untuk memungkinkan penelusuran kesalahan IRP yang lebih mudah yang dikeluarkan untuk komponen lain dan kemudian stall. IRP yang dikeluarkan menggunakan RxCeAllocateIrpWithMDL diantrekan ke daftar runtime integrasi global yang dikelola oleh RDBSS. Dengan demikian, ketika RX_CONTEXT menunggu penyelesaian pengiriman, dimungkinkan untuk berjalan dalam daftar global untuk menemukan IRP yang menunggu di transportasi.

IRP yang dialokasikan dengan daftar deskriptor memori terkait yang dialokasikan dengan RxCeAllocateIrpWithMDL harus dibebaskan ketika IRP selesai menggunakan RxCeFreeIrp.

IoAllocateIrp secara otomatis menginisialisasi anggota IRP dan menyisipkan IRP ke dalam daftar runtime integrasi global yang dikelola oleh RDBSS. Jika memori untuk MDL yang akan dikaitkan dengan IRP tidak dapat dialokasikan, maka IRP yang dibuat dibebaskan dan RxCeAllocateIrpWithMDL mengembalikan pointer NULL yang menunjukkan kegagalan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Rutinitas RxCeAllocateIrpWithMDL hanya tersedia di Windows XP.
Target Platform Desktop
Header rxce.h (termasuk Rxce.h)
IRQL <= APC_LEVEL

Lihat juga

MDL

RxCeFreeIrp