Поделиться через


Функция 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 могут использовать дескрипторы из следующих функций:

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 вызывает функцию NetProcessSGList, указанную в элементе ProcessSGListHandler NDIS_SCATTER_GATHER_LIST_PARAMETERS структуру в контексте NdisBuildScatterGatherList.

Драйверы должны вызватьФункция NdisFreeScatterGatherList для освобождения точечных и собирательных списков, созданных с помощьюФункция NdisBuildScatterGatherList.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.20 и более поздних версиях.
Целевая платформа Универсальное
Верхняя часть ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL = DISPATCH_LEVEL

См. также раздел

FilterAttach

MiniportInitializeEx

NDIS_SCATTER_GATHER_LIST_PARAMETERS

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisMRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver

NetProcessSGList