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


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

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

ПримечаниеFwpsReferenceNetBufferList 0 — это определенная версия 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, выноска намерена изменить клонированные список клонированных чистых буферов после возврата классифицироватьFn (изменение вне полосы). В противном случае задайте значение FALSE false.

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

Никакой

Замечания

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

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

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

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

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

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows Vista.
целевая платформа Всеобщий
заголовка fwpsk.h (include Fwpsk.h)
библиотеки Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

См. также

FwpsDereferenceNetBufferList0

NET_BUFFER_LIST

классифицироватьFn