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


Функция FwpsReferenceNetBufferList0 (fwpsk.h)

Функция FwpsReferenceNetBufferList0 увеличивает количество ссылок для структуры NET_BUFFER_LIST .

ПримечаниеFwpsReferenceNetBufferList0 — это определенная версия FwpsReferenceNetBufferList. Дополнительные сведения см. в разделах Имена Version-Independent и Выбор конкретных версий Windows .
 

Синтаксис

void FwpsReferenceNetBufferList0(
  [in, out] NET_BUFFER_LIST *netBufferList,
  [in]      BOOLEAN         intendToModify
);

Параметры

[in, out] netBufferList

Указатель на структуру NET_BUFFER_LIST , для которой увеличивается число ссылок.

[in] intendToModify

Значение типа , указывающее, намерена ли выноска изменить список клонированного сетевого буфера, на родительский элемент которого указывает параметр netBufferList после возврата функции classifyFn . Если задано значение TRUE, выноска намерена изменить клонированные список чистых буферов после возврата classifyFn (внеполосное изменение). В противном случае задайте значение FALSE.

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

None

Remarks

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

Например, когда драйвер выноски выполняет повторную сборку пакета, он увеличивает количество ссылок для каждой из полученных NET_BUFFER_LIST структур, описывающих фрагменты пакетов, составляющие отдельный пакет. Это позволяет новой структуре NET_BUFFER_LIST, описывающей повторно собираемый пакет, безопасно ссылаться на списки дескрипторов памяти (MDL), на которые указывают структуры NET_BUFFER_LIST, описывающие фрагменты пакетов. После того как драйвер выноски внедряет новую структуру NET_BUFFER_LIST в сетевой стек, он уменьшает количество ссылок для каждой из NET_BUFFER_LIST структур, описывающих фрагменты пакетов из процедуры завершения внедрения пакетов.

Драйвер выноски должен вызывать функцию FwpsDereferenceNetBufferList0 для структуры NET_BUFFER_LIST после того, как драйвер выноски завершит ссылку на структуру.

Рекомендации по управлению пакетами, на которые ссылается ссылка

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

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

Если драйвер выноски должен ждать потенциально длительной операции, он должен сделать глубокую копию пакета с помощью FwpsAllocateNetBufferAndNetBufferList0 и заблокировать и поглотить исходный пакет.

Драйверы выносок всегда должны возвращать удерживаемые пакеты как можно быстрее.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows Vista.
Целевая платформа Универсальное
Верхняя часть fwpsk.h (включая Fwpsk.h)
Библиотека Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

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

FwpsDereferenceNetBufferList0

NET_BUFFER_LIST

classifyFn