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)

Lihat juga

AllocateCommonBuffer

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter