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 句柄 NdisMRegisterMiniportDriver 或 MiniportInitializeEx 函数。 其他 NDIS 驱动程序可以使用以下函数中的句柄:
[in] SharedMemoryParameters
指向 的指针 NDIS_SHARED_MEMORY_PARAMETERS 结构,用于定义共享内存的请求属性。
[in, out] pAllocationHandle
指向句柄位置的指针,该句柄标识已分配的共享内存。 当函数返回时,句柄可用;如果函数失败,则句柄为 NULL 。 调用方必须使用此句柄来释放已成功分配的共享内存。
返回值
NdisAllocateSharedMemory 可以返回以下状态值:
返回代码 | 说明 |
---|---|
|
操作已成功完成。 |
|
操作失败,因为没有足够的资源来完成操作。 |
|
由于输入参数无效,操作失败。 |
|
操作因未指定的原因而失败。 |
注解
SharedMemoryParameters 参数包含指向 的指针 NDIS_SHARED_MEMORY_PARAMETERS 结构,用于定义共享内存的请求属性。 如果未在 Flags 成员中设置NDIS_SHARED_MEM_PARAMETERS_CONTIGUOUS标志,则可以在非连续内存中包含的散点集合列表中指定共享内存。
NDIS 从调用 NdisAllocateSharedMemory 的上下文中调用共享内存提供程序的 NetAllocateSharedMemory 函数。
驱动程序必须调用 NdisFreeSharedMemory 函数来释放它使用 NdisAllocateSharedMemory 分配的共享内存。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.20 及更高版本中受支持。 |
目标平台 | 通用 |
标头 | ndis.h (包括 Ndis.h) |
Library | Ndis.lib |
IRQL | PASSIVE_LEVEL |