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


Функция 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 (include Ndis.h)
библиотеки Ndis.lib
IRQL = DISPATCH_LEVEL

См. также

FilterAttach

MiniportInitializeEx

NDIS_SCATTER_GATHER_LIST_PARAMETERS

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisMRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver

NetProcessSGList