PBUILD_MDL_FROM_SCATTER_GATHER_LIST fungsi panggilan balik (wdm.h)
Rutinitas BuildMdlFromScatterGatherList membangun MDL dari daftar sebar/kumpulkan yang dialokasikan oleh sistem.
Rutinitas ini disediakan untuk penggunaan sistem.
Sintaks
PBUILD_MDL_FROM_SCATTER_GATHER_LIST PbuildMdlFromScatterGatherList;
NTSTATUS PbuildMdlFromScatterGatherList(
[in] PDMA_ADAPTER DmaAdapter,
[in] PSCATTER_GATHER_LIST ScatterGather,
[in] PMDL OriginalMdl,
[out] PMDL *TargetMdl
)
{...}
Parameter
[in] DmaAdapter
Penunjuk ke struktur DMA_ADAPTER yang dikembalikan oleh IoGetDmaAdapter yang mewakili adaptor bus-master atau pengontrol DMA.
[in] ScatterGather
Arahkan ke struktur SCATTER_GATHER_LIST yang diteruskan ke rutinitas AdapterListControl driver.
[in] OriginalMdl
Arahkan ke MDL asli yang digunakan driver untuk membangun daftar sebar/kumpulkan.
[out] TargetMdl
Penunjuk ke variabel yang digunakan rutin untuk mengembalikan MDL yang dibuat untuk menahan buffer yang dijelaskan oleh daftar sebar/kumpulkan. Nilai yang dikembalikan bisa sama dengan OriginalMdl.
Nilai kembali
BuildMdlFromScatterGatherList mengembalikan salah satu kode status berikut:
Menampilkan kode | Deskripsi |
---|---|
STATUS_SUCCESS | Operasi berhasil. |
STATUS_INVALID_PARAMETER | Parameter OriginalMdl adalah NULL. |
STATUS_INSUFFICIENT_RESOURCES | Tidak tersedia cukup memori untuk mengalokasikan MDL baru. |
STATUS_NONE_MAPPED | Sistem telah membuat MDL baru untuk lokasi memori dalam daftar sebar/kumpulkan. (Ini hanya terjadi jika rutinitas dipanggil dua kali pada daftar sebar/kumpulkan yang sama.) |
Keterangan
BuildMdlFromScatterGatherList bukanlah rutinitas sistem yang dapat dipanggil langsung berdasarkan nama. Rutinitas ini hanya dapat dipanggil dengan penunjuk dari alamat yang dikembalikan dalam struktur DMA_OPERATIONS . Driver mendapatkan alamat rutinitas ini dengan memanggil IoGetDmaAdapter dengan anggota Versi parameter DeviceDescription diatur ke DEVICE_DESCRIPTION_VERSION2. Jika IoGetDmaAdapter mengembalikan NULL, rutinitas tidak tersedia di platform Anda.
Ketika driver membuat daftar sebar/kumpulkan untuk menulis ke perangkat, sistem dapat membuat salinan data yang akan ditulis, dan menggunakan salinan tersebut untuk melakukan operasi DMA. Gunakan rutinitas ini untuk mengakses lokasi memori dalam daftar sebar/kumpulkan, terlepas dari apakah lokasi tersebut adalah salinan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows XP dan versi Windows yang lebih baru. |
Target Platform | Desktop |
Header | wdm.h (termasuk Wdm.h) |
IRQL | <= DISPATCH_LEVEL |
Aturan kepatuhan DDI | IrqlDispatch(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