Функция 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 вызывает функцию NetProcessSGList, указанную в элементе ProcessSGListHandler NDIS_SCATTER_GATHER_LIST_PARAMETERS структуру в контексте NdisBuildScatterGatherList.
Драйверы должны вызватьФункция NdisFreeScatterGatherList для освобождения точечных и собирательных списков, созданных с помощьюФункция NdisBuildScatterGatherList.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.20 и более поздних версиях. |
Целевая платформа | Универсальное |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | = DISPATCH_LEVEL |