PFREE_COMMON_BUFFER fungsi panggilan balik (wdm.h)
Rutinitas FreeCommonBuffer membebaskan buffer umum yang dialokasikan oleh AllocateCommonBuffer, bersama dengan semua sumber daya yang digunakan buffer.
Sintaks
PFREE_COMMON_BUFFER PfreeCommonBuffer;
void PfreeCommonBuffer(
[in] PDMA_ADAPTER DmaAdapter,
[in] ULONG Length,
[in] PHYSICAL_ADDRESS LogicalAddress,
[in] PVOID VirtualAddress,
[in] BOOLEAN CacheEnabled
)
{...}
Parameter
[in] DmaAdapter
Penunjuk ke struktur DMA_ADAPTER yang dikembalikan oleh IoGetDmaAdapter yang mewakili adaptor bus-master atau pengontrol DMA.
[in] Length
Menentukan jumlah byte yang akan dibatalkan alokasinya.
[in] LogicalAddress
Menentukan alamat logis dari rentang memori yang dialokasikan.
[in] VirtualAddress
Arahkan ke alamat virtual yang sesuai dari rentang memori yang dialokasikan.
[in] CacheEnabled
Menunjukkan apakah memori yang dialokasikan di-cache.
Nilai kembali
Tidak ada
Keterangan
FreeCommonBuffer bukanlah rutinitas sistem yang dapat dipanggil langsung dengan nama. Rutinitas ini hanya dapat dipanggil oleh penunjuk dari alamat yang dikembalikan dalam struktur DMA_OPERATIONS . Driver mendapatkan alamat rutinitas ini dengan memanggil IoGetDmaAdapter.
Untuk merilis buffer umum, driver memanggil FreeCommonBuffer untuk membuka peta alamat logis dan virtualnya. Parameter yang diteruskan ke FreeCommonBuffer harus sama persis dengan yang diteruskan ke dan dikembalikan dari AllocateCommonBuffer. Driver tidak dapat membebaskan bagian dari buffer umum yang dialokasikan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 2000. |
Target Platform | Desktop |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | IrqlDispatch(wdm) |