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


функция обратного вызова NDIS_SWITCH_FREE_NET_BUFFER_LIST_FORWARDING_CONTEXT (ndis.h)

Функция FreeNetBufferListForwardingContext освобождает ресурсы в контексте переадресации расширяемого коммутатора (OOB) структуры NET_BUFFER_LIST . Эти данные использовались для операций отправки и получения в расширяемом коммутаторе Hyper-V и ранее были выделены путем вызова функции AllocateNetBufferListForwardingContext .

Синтаксис

NDIS_SWITCH_FREE_NET_BUFFER_LIST_FORWARDING_CONTEXT NdisSwitchFreeNetBufferListForwardingContext;

void NdisSwitchFreeNetBufferListForwardingContext(
  [in]      NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in, out] PNET_BUFFER_LIST NetBufferList
)
{...}

Параметры

[in] NdisSwitchContext

Значение NDIS_SWITCH_CONTEXT, содержащее дескриптор модуля расширяемого коммутатора, к которому подключено расширение расширяемого коммутатора Hyper-V. Когда расширение вызывает NdisFGetOptionalSwitchHandlers, этот дескриптор возвращается через параметр NdisSwitchContext .

[in, out] NetBufferList

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

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

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

Если вызов выполнен успешно, функция возвращает NDIS_STATUS_SUCCESS. В противном случае возвращается код ошибки NDIS_STATUS_Xxx, определенный в Ndis.h.

Комментарии

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

Если расширение расширяемого коммутатора создает операцию отправки пакетов, оно должно вызвать функцию AllocateNetBufferListForwardingContext . Эта функция выделяет и инициализирует контекст пересылки для указанной структуры NET_BUFFER_LIST . Дополнительные сведения об этом контексте см. в разделе Контекст переадресации расширяемого коммутатора Hyper-V.

После завершения операции отправки расширение должно вызвать функцию FreeNetBufferListForwardingContext , чтобы освободить контекст переадресации.

Примечание После завершения операции отправки расширение должно вызывать функцию FreeNetBufferListForwardingContext . Расширение должно делать это независимо от того, добавляет ли он структуру NET_BUFFER_LIST пакета в список lookaside или вызывает NdisFreeNetBufferList для возврата структуры в пул.
 
Дополнительные сведения о том, как создавать операции отправки, см. в разделе Фильтрация операций отправки и получения модуля.
Примечание Если параметр NetBufferList содержит указатель на связанный список из нескольких структур NET_BUFFER_LIST , то только первая структура NET_BUFFER_LIST в списке освобождает контекст перенаправления.
 

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.30 и более поздних версиях.
Целевая платформа Персональный компьютер
Верхняя часть ndis.h (включая Ndis.h)
IRQL <= DISPATCH_LEVEL

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

AllocateNetBufferListForwardingContext

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

NdisFreeNetBufferList