共用方式為


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 可以傳回下列狀態值:

傳回碼 Description
NDIS_STATUS_SUCCESS
作業已成功完成。
NDIS_STATUS_RESOURCES
作業失敗,因為資源不足而無法完成作業。
NDIS_STATUS_INVALID_PARAMETER
作業失敗,因為輸入參數無效。
NDIS_STATUS_FAILURE
作業因未指定的原因而失敗。

備註

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

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

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

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

規格需求

需求
最低支援的用戶端 NDIS 6.20 和更新版本支援。
目標平台 Universal
標頭 ndis.h (包含 Ndis.h)
程式庫 Ndis.lib
IRQL PASSIVE_LEVEL

另請參閱

FilterAttach

MiniportInitializeEx

NDIS_SHARED_MEMORY_PARAMETERS

NdisFRegisterFilterDriver

NdisFreeSharedMemory

NdisMRegisterDmaChannel

NdisMRegisterMiniportDriver

NdisMRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver

NetAllocateSharedMemory