Bagikan melalui


Fungsi NdisMFreeSharedMemory (ndis.h)

NdisMFreeSharedMemory membebaskan memori yang sebelumnya dialokasikan oleh NdisMAllocateSharedMemory atau NdisMAllocateSharedMemoryAsyncEx oleh driver DMA NIC.

Sintaks

void NdisMFreeSharedMemory(
  [in] NDIS_HANDLE           MiniportAdapterHandle,
  [in] ULONG                 Length,
  [in] BOOLEAN               Cached,
  [in] PVOID                 VirtualAddress,
  [in] NDIS_PHYSICAL_ADDRESS PhysicalAddress
);

Parameter

[in] MiniportAdapterHandle

Menentukan handel yang awalnya dimasukkan ke MiniportInitializeEx.

[in] Length

Menentukan jumlah byte yang awalnya dialokasikan.

[in] Cached

Menentukan TRUE jika alokasi asli dapat di-cache.

[in] VirtualAddress

Menentukan alamat virtual dasar yang dikembalikan oleh NdisMAllocateSharedMemory atau NdisMAllocateSharedMemoryAsyncEx.

[in] PhysicalAddress

Menentukan alamat fisik terkait yang dikembalikan oleh NdisMAllocateSharedMemory atau NdisMAllocateSharedMemoryAsyncEx.

Nilai kembali

Tidak ada

Keterangan

Jika sudah berhasil melakukan panggilan ke NdisMAllocateSharedMemory atau NdisMAllocateSharedMemoryAsyncEx, driver miniport perangkat DMA memanggil NdisMFreeSharedMemory jika salah satu hal berikut ini terjadi:

  • Fungsi MiniportInitializeEx-nya tidak dapat menginisialisasi NIC, sehingga fungsi ini harus merilis semua klaim yang ada pada sumber daya perangkat keras untuk NIC tersebut sebelum mengembalikan kontrol.
  • NIC tempat driver miniport mengalokasikan memori sedang dihapus.
  • Driver sedang dibongkar, apakah karena sistem dimatikan atau karena pengguna mengonfigurasi ulang komponen jaringan yang digunakan dalam komputer.
  • Driver mengalokasikan memori bersama tambahan dengan NdisMAllocateSharedMemoryAsyncEx ketika permintaan I/O pada NIC tinggi tetapi lalu lintas jaringan sekarang telah mereda ke tingkat rata-rata.
Driver miniport tidak dapat memanggil NdisMFreeSharedMemory untuk membebaskan subrange dalam rentang memori bersama yang dialokasikan. Parameter yang diteruskan ke NdisMFreeSharedMemory harus sama persis dengan yang diteruskan ke NdisMAllocateSharedMemory atau NdisMAllocateSharedMemoryAsyncEx.

NdisMFreeSharedMemory tidak dapat dipanggil dari fungsi MiniportShutdownEx .

Microsoft Windows Server 2003, Windows XP Service Pack 1, dan versi Windows yang lebih baru memungkinkan NIC DMA master bus dan NIC DMA bawahan untuk memanggil NdisMFreeSharedMemory. Rilis sebelumnya hanya mengizinkan DMA NIC master bus untuk memanggil NdisMFreeSharedMemory.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung untuk driver NDIS 6.0 dan NDIS 5.1 (lihat NdisMFreeSharedMemory (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat NdisMFreeSharedMemory (NDIS 5.1)) di Windows XP.
Target Platform Universal
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL <= DISPATCH_LEVEL
Aturan kepatuhan DDI Irql_Miniport_Driver_Function(ndis), NdisMFreeSharedMemory(ndis)

Lihat juga

MiniportHaltEx

MiniportInitializeEx

MiniportSharedMemoryAllocateComplete

MiniportShutdownEx

NdisMAllocateSharedMemory

NdisMAllocateSharedMemoryAsyncEx