Функция NdisFSendNetBufferListsComplete (ndis.h)

Драйверы фильтров вызывают функцию NdisFSendNetBufferListsComplete, чтобы вернуть связанный список структур NET_BUFFER_LIST драйверу избыточности и вернуть окончательное состояние запроса на отправку.

Синтаксис

VOID NdisFSendNetBufferListsComplete(
  [in] NDIS_HANDLE      NdisFilterHandle,
       PNET_BUFFER_LIST NetBufferList,
  [in] ULONG            SendCompleteFlags
);

Параметры

[in] NdisFilterHandle

Дескриптор NDIS, определяющий этот модуль фильтра. NDIS передал дескриптор драйверу фильтра в вызове функции FilterAttach.

NetBufferList

Указатель на связанный список структур NET_BUFFER_LIST. Драйвер фильтра получил NET_BUFFER_LIST структуры в предыдущих вызовах функция FilterSendNetBufferLists.

[in] SendCompleteFlags

Флаги NDIS, которые можно объединить с операцией OR. Чтобы очистить все флаги, установите для этого элемента значение нулю. Эта функция поддерживает следующие флаги:

NDIS_SEND_COMPLETE_FLAGS_DISPATCH_LEVEL

Указывает, что текущий IRQL DISPATCH_LEVEL. Дополнительные сведения об этом флаге см. в отслеживания IRQL.

NDIS_SEND_COMPLETE_FLAGS_SWITCH_SINGLE_SOURCE

Если этот флаг задан, все пакеты в связанном списке структур NET_BUFFER_LIST исходят из одного и того же Hyper-V расширяемого исходного порта коммутатора.

Дополнительные сведения см. в разделе Hyper-V Расширяемый коммутатор отправки и получения флагов.

Примечание Если каждый пакет в связанном списке структур NET_BUFFER_LIST использует тот же исходный порт, расширение должно задать флаг NDIS_SEND_FLAGS_SWITCH_SINGLE_SOURCEв параметре SendFlagsNdisFsendNetBufferLists при отправке запроса.
 
Примечание Этот флаг доступен в NDIS 6.30 и более поздних версиях.
 

Возвращаемое значение

Никакой

Замечания

Драйвер фильтра вызывает функцию NdisFSendNetBufferListsComplete, чтобы завершить отправку запросов, внесенных NDIS в драйвер функция FilterSendNetBufferLists. Драйвер фильтра указывает связанный список структур NET_BUFFER_LIST, связанных с завершенными запросами на отправку. Пока ожидается состояние запросов на отправку, драйвер фильтра сохраняет владение структурами NET_BUFFER_LIST и всеми ресурсами, связанными со структурами NET_BUFFER_LIST.

Драйвер фильтра может завершить отправку запросов в любом порядке. Например, драйвер фильтра может объединить списки структуры NET_BUFFER_LIST из нескольких FilterSendNetBufferLists вызовов или разделить список из вызова FilterSendNetBufferLists. Однако драйвер фильтра не должен изменять список NET_BUFFER структур, связанных со структурой NET_BUFFER_LIST.

Примечание Драйвер фильтра должен отслеживать запросы на отправку и убедиться, что он не вызывает функции NdisFSendNetBufferListsComplete при завершении таких запросов.
 

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в NDIS 6.0 и более поздних версиях.
целевая платформа Настольный
заголовка ndis.h (include Ndis.h)
библиотеки Ndis.lib
IRQL <= DISPATCH_LEVEL
правил соответствия DDI Irql_Filter_Driver_Function(ndis)

См. также

FilterAttach

FilterSendNetBufferLists

NET_BUFFER

NET_BUFFER_LIST