共用方式為


NdisAllocateSharedMemory 函式 (ndis.h)

NdisAllocateSharedMemory 函式會從共用記憶體提供者配置共用記憶體。

語法

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

參數

[in] NdisHandle

在呼叫端初始化期間取得的 NDIS 驅動程式或實例句柄。 例如,迷你埠驅動程式可以使用從 取得的 NDIS 句柄 NdisMRegisterMiniportDriverMiniportInitializeEx 函式。 其他 NDIS 驅動程式可以使用下列函式中的句柄:

NdisRegisterProtocolDriver

NdisOpenAdapterEx

[in] SharedMemoryParameters

的指標 NDIS_SHARED_MEMORY_PARAMETERS 結構,定義共用記憶體的要求屬性。

[in, out] pAllocationHandle

識別已配置之共享記憶體之句柄位置的指標。 當函式傳回或函式失敗時,NULL 時,可以使用句柄。 呼叫端必須使用這個句柄來釋放已成功配置的共享記憶體。

傳回值

NdisAllocateSharedMemory 可以傳回下列狀態值:

傳回碼 描述
NDIS_STATUS_SUCCESS
作業已順利完成。
NDIS_STATUS_RESOURCES
作業失敗,因為沒有足夠的資源無法完成作業。
NDIS_STATUS_INVALID_PARAMETER
作業失敗,因為輸入參數無效。
NDIS_STATUS_FAILURE
作業因未指定的原因而失敗。

言論

注意 迷你埠驅動程式必須已經呼叫 NdisMRegisterScatterGatherDmaNdisMRegisterDmaChannel,以在呼叫 NdisAllocateSharedMemory之前初始化散佈/收集 DMA 信道。
 
NDIS 驅動程式會呼叫 NdisAllocateSharedMemory 函式,從 NDIS 共用記憶體提供者配置共用記憶體區塊。

SharedMemoryParameters 參數包含 的指標 NDIS_SHARED_MEMORY_PARAMETERS 結構,定義共用記憶體的要求屬性。 如果未在 旗標 成員中設定 NDIS_SHARED_MEM_PARAMETERS_CONTIGUOUS 旗標,則可以在包含在非連續記憶體的散佈收集清單中指定共用記憶體。

NDIS 會從呼叫 NdisAllocateSharedMemory的內容呼叫共用記憶體提供者的 NetAllocateSharedMemory 函式。

驅動程式必須呼叫 NdisFreeSharedMemory 函式,以釋放其配置給 NdisAllocateSharedMemory的共用記憶體。

要求

要求 價值
最低支援的用戶端 NDIS 6.20 和更新版本支援。
目標平臺 普遍
標頭 ndis.h (包括 Ndis.h)
連結庫 Ndis.lib
IRQL PASSIVE_LEVEL

另請參閱

FilterAttach

MiniportInitializeEx

NDIS_SHARED_MEMORY_PARAMETERS

NdisFRegisterFilterDriver

NdisFreeSharedMemory

NdisMRegisterDmaChannel

NdisMRegisterMiniportDriver

NdisMRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver

NetAllocateSharedMemory