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


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

Функция GetNetBufferListDestinations возвращает Hyper-V расширяемые порты назначения коммутатора пакета, указанного структурой NET_BUFFER_LIST.

Синтаксис

NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS NdisSwitchGetNetBufferListDestinations;

void NdisSwitchGetNetBufferListDestinations(
  [in]      NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in, out] PNET_BUFFER_LIST NetBufferList,
  [out]     PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY *Destinations
)
{...}

Параметры

[in] NdisSwitchContext

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

[in, out] NetBufferList

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

Примечание Если параметр NetBufferList содержит указатель на связанный список нескольких структур NET_BUFFER_LIST, то конечные порты возвращаются только из первой NET_BUFFER_LIST структуры в списке.
 

[out] Destinations

Указатель на структуру NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY. Эта структура задает расширяемые порты назначения коммутатора пакета.

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

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

Замечания

Расширение расширяемого коммутатора вызывает функцию GetNetBufferListDestinations для получения массива портов назначения расширяемого коммутатора для пакета. Если функция успешно возвращается, массив получается с помощью параметра Назначения, который содержит указатель на структуру NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY. Каждый элемент в этом массиве форматируется как структура NDIS_SWITCH_PORT_DESTINATION, указывающая порт назначения для пакета.

Если расширение выделяет пакет, расширение должно сначала вызвать функцию AllocateNetBufferListForwardingContext перед вызовом GetNetBufferListDestinations. Функция AllocateNetBufferListForwardingContext выделяет контекст переадресации расширяемого коммутатора для пакета. Этот контекст содержит расширяемые данные коммутатора, содержащие NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY структуру.

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

После получения массива расширение может выполнить следующие действия:

Примечание Структура NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY гарантируется допустимой, пока расширение сохраняет владение NET_BUFFER_LIST структурой пакета.
 

Требования

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

См. также

AllocateNetBufferListForwardingContext

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers