NdisBuildScatterGatherList 函数 (ndis.h)
NdisBuildScatterGatherList 函数使用指定的参数生成散点/收集列表。
语法
NDIS_STATUS NdisBuildScatterGatherList(
[in] IN NDIS_HANDLE NdisHandle,
[in] IN PNDIS_SCATTER_GATHER_LIST_PARAMETERS SGListParameters
);
参数
[in] NdisHandle
在调用方初始化期间获取的 NDIS 驱动程序或实例句柄。 例如,微型端口驱动程序可以使用它从 获取的 NDIS 句柄 NdisMRegisterMiniportDriver 或 MiniportInitializeEx 函数。 其他 NDIS 驱动程序可以使用以下函数中的句柄:
[in] SGListParameters
指向 的指针 NDIS_SCATTER_GATHER_LIST_PARAMETERS 结构,用于指定用于分配散点/收集列表的参数。
返回值
NdisBuildScatterGatherList 可以返回以下状态值:
返回代码 | 说明 |
---|---|
|
操作已成功完成。 |
|
操作失败,因为在 的 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 |