NdisBuildScatterGatherList 函数 (ndis.h)

NdisBuildScatterGatherList 函数使用指定的参数生成散点/收集列表。

语法

NDIS_STATUS NdisBuildScatterGatherList(
  [in] IN NDIS_HANDLE                          NdisHandle,
  [in] IN PNDIS_SCATTER_GATHER_LIST_PARAMETERS SGListParameters
);

参数

[in] NdisHandle

在调用方初始化期间获取的 NDIS 驱动程序或实例句柄。 例如,微型端口驱动程序可以使用它从 获取的 NDIS 句柄 NdisMRegisterMiniportDriverMiniportInitializeEx 函数。 其他 NDIS 驱动程序可以使用以下函数中的句柄:

NdisRegisterProtocolDriver

NdisOpenAdapterEx

[in] SGListParameters

指向 的指针 NDIS_SCATTER_GATHER_LIST_PARAMETERS 结构,用于指定用于分配散点/收集列表的参数。

返回值

NdisBuildScatterGatherList 可以返回以下状态值:

返回代码 说明
NDIS_STATUS_SUCCESS
操作已成功完成。
NDIS_STATUS_BUFFER_TOO_SHORT
操作失败,因为在 的 ScatterGatherListBufferSize 成员中指定的缓冲区长度 NDIS_SCATTER_GATHER_LIST_PARAMETERS 结构太短。 在这种情况下,NDIS 在 ScatterGatherListBufferSizeNeeded 成员中提供了所需的缓冲区大小。

注解

NDIS 驱动程序调用 NdisBuildScatterGatherList 函数来生成缓冲区的散点/收集列表。 若要调用此函数,微型端口驱动程序指定微型端口适配器句柄,或协议驱动程序指定 NDIS 绑定句柄。

基础微型端口适配器必须已调用 NdisMRegisterScatterGatherDma 之前,驱动程序可以调用 NdisBuildScatterGatherList

NDIS 调用在 的 ProcessSGListHandler 成员中指定的 NetProcessSGList 函数 NDIS_SCATTER_GATHER_LIST_PARAMETERSNdisBuildScatterGatherList 上下文中的结构。

驱动程序必须调用 NdisFreeScatterGatherList 函数,用于释放使用 创建的散点/收集列表 NdisBuildScatterGatherList 函数。

要求

要求
最低受支持的客户端 在 NDIS 6.20 及更高版本中受支持。
目标平台 通用
标头 ndis.h (包括 Ndis.h)
Library Ndis.lib
IRQL = DISPATCH_LEVEL

另请参阅

FilterAttach

MiniportInitializeEx

NDIS_SCATTER_GATHER_LIST_PARAMETERS

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisMRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver

NetProcessSGList