Fungsi NdisAllocateSharedMemory (ndis.h)

Fungsi NdisAllocateSharedMemory mengalokasikan memori bersama dari penyedia memori bersama.

Sintaks

NDIS_STATUS NdisAllocateSharedMemory(
  [in]      NDIS_HANDLE                    NdisHandle,
  [in]      PNDIS_SHARED_MEMORY_PARAMETERS SharedMemoryParameters,
  [in, out] PNDIS_HANDLE                   pAllocationHandle
);

Parameter

[in] NdisHandle

Driver NDIS atau handel instans yang diperoleh selama inisialisasi penelepon. Misalnya, driver miniport dapat menggunakan handel NDIS yang diperoleh dari Fungsi NdisMRegisterMiniportDriver atau MiniportInitializeEx . Driver NDIS lainnya dapat menggunakan handel dari fungsi berikut:

NdisRegisterProtocolDriver

NdisOpenAdapterEx

[in] SharedMemoryParameters

Penunjuk ke NDIS_SHARED_MEMORY_PARAMETERS struktur yang menentukan atribut yang diminta untuk memori bersama.

[in, out] pAllocationHandle

Penunjuk ke lokasi untuk handel yang mengidentifikasi memori bersama yang dialokasikan. Handel tersedia ketika fungsi kembali atau NULL jika fungsi gagal. Pemanggil harus menggunakan handel ini untuk membebaskan memori bersama yang berhasil dialokasikan.

Nilai kembali

NdisAllocateSharedMemory dapat mengembalikan nilai status berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
Operasi berhasil diselesaikan.
NDIS_STATUS_RESOURCES
Operasi gagal karena tidak ada cukup sumber daya untuk menyelesaikan operasi.
NDIS_STATUS_INVALID_PARAMETER
Operasi gagal karena parameter input yang tidak valid.
NDIS_STATUS_FAILURE
Operasi gagal karena alasan yang tidak ditentukan.

Keterangan

Catatan Driver miniport harus sudah memanggil NdisMRegisterScatterGatherDma atau NdisMRegisterDmaChannel untuk menginisialisasi saluran DMA sebar/kumpulkan sebelum memanggil NdisAllocateSharedMemory.
 
Driver NDIS memanggil fungsi NdisAllocateSharedMemory untuk mengalokasikan blok memori bersama dari penyedia memori bersama NDIS.

Parameter SharedMemoryParameters berisi penunjuk ke NDIS_SHARED_MEMORY_PARAMETERS struktur yang menentukan atribut yang diminta untuk memori bersama. Jika bendera NDIS_SHARED_MEM_PARAMETERS_CONTIGUOUS tidak diatur di anggota Bendera , memori bersama dapat ditentukan dalam daftar pengumpulan sebar yang terkandung dalam memori yang tidak berdampingan.

NDIS memanggil fungsi NetAllocateSharedMemory dari penyedia memori bersama dari konteks panggilan ke NdisAllocateSharedMemory.

Driver harus memanggil fungsi NdisFreeSharedMemory untuk membebaskan memori bersama yang dialokasikan dengan NdisAllocateSharedMemory.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.20 dan yang lebih baru.
Target Platform Universal
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL PASSIVE_LEVEL

Lihat juga

FilterAttach

MiniportInitializeEx

NDIS_SHARED_MEMORY_PARAMETERS

NdisFRegisterFilterDriver

NdisFreeSharedMemory

NdisMRegisterDmaChannel

NdisMRegisterMiniportDriver

NdismRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver

NetAllocateSharedMemory