функция обратного вызова NDIS_SWITCH_ADD_NET_BUFFER_LIST_DESTINATION (ndis.h)
Функция AddNetBufferListDestination добавляет один порт назначения для пакета, указанного в структуре NET_BUFFER_LIST .
Синтаксис
NDIS_SWITCH_ADD_NET_BUFFER_LIST_DESTINATION NdisSwitchAddNetBufferListDestination;
NDIS_STATUS NdisSwitchAddNetBufferListDestination(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in, out] PNET_BUFFER_LIST NetBufferList,
[in] PNDIS_SWITCH_PORT_DESTINATION Destination
)
{...}
Параметры
[in] NdisSwitchContext
Значение NDIS_SWITCH_CONTEXT, содержащее дескриптор модуля расширяемого коммутатора, к которому подключено расширение расширяемого коммутатора Hyper-V. Когда расширение вызывает NdisFGetOptionalSwitchHandlers, этот дескриптор возвращается через параметр NdisSwitchContext .
[in, out] NetBufferList
Указатель на структуру NET_BUFFER_LIST для пакета.
[in] Destination
Указатель на структуру NDIS_SWITCH_PORT_DESTINATION . Эта структура определяет порт расширяемого коммутатора назначения, в который будет перенаправлен пакет.
Возвращаемое значение
Если вызов выполнен успешно, функция возвращает NDIS_STATUS_SUCCESS. В противном случае возвращается код ошибки NDIS_STATUS_Xxx, определенный в Ndis.h.
Комментарии
Расширение переадресации расширяемого коммутатора вызывает Метод AddNetBufferListDestination , чтобы определить один порт назначения расширяемого коммутатора для пакета. Расширение задает этот порт путем инициализации структуры NDIS_SWITCH_PORT_DESTINATION . Расширение задает для параметра Destination указатель на эту структуру. Дополнительные сведения о том, как указать порт назначения расширяемого коммутатора, см. в статье Управление данными порта назначения расширяемого коммутатора Hyper-V.
- Только расширения пересылки могут вызывать AddNetBufferListDestination , чтобы добавить порт назначения для пакета. Дополнительные сведения об этом типе расширения см. в разделе Переадресация расширений.
-
Если расширение переадресации создает пакет с одним портом назначения, оно должно сначала вызвать функцию AllocateNetBufferListForwardingContext . Эта функция выделяет контекст переадресации расширяемого коммутатора для пакета. Эти данные содержат расширяемые порты источника коммутатора и порты назначения в сведениях о внеполосном подключении (OOB) для пакета.
Дополнительные сведения об этом контексте см. в разделе Контекст переадресации расширяемого коммутатора Hyper-V.
-
После того как расширение изменяет сведения о портах назначения в структуре NDIS_SWITCH_PORT_DESTINATION , оно вызывает Метод AddNetBufferListDestination , чтобы зафиксировать изменения в структуре NET_BUFFER_LIST пакета.
Примечание Из соображений производительности расширение не должно вызывать функцию UpdateNetBufferListDestinations для фиксации изменений для пакета.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.30 и более поздних версиях. |
Целевая платформа | Персональный компьютер |
Верхняя часть | ndis.h (включая Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
См. также раздел