функция обратного вызова 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. Расширение задает параметру назначения указатель на эту структуру. Дополнительные сведения о том, как указать расширяемый порт назначения коммутатора, см. в разделе Hyper-V Управление Hyper-V расширяемыми данными порта назначения коммутатора.
- Только расширения пересылки могут вызывать AddNetBufferListDestination добавить порт назначения для пакета. Дополнительные сведения об этом типе расширения см. в расширения пересылки.
-
Если расширение пересылки создает пакет с одним конечным портом, расширение должно сначала вызвать функцию AllocateNetBufferListForwardingContext. Эта функция выделяет контекст переадресации расширяемого коммутатора для пакета. Эти данные содержат расширяемые порты источника и назначения коммутатора в пределах внеполосной информации для пакета.
Дополнительные сведения об этом контексте см. в разделе Hyper-V Контекст переадресации переадресации коммутаторов.
-
После изменения сведений о портах назначения в структуре NDIS_SWITCH_PORT_DESTINATION вызывается AddNetBufferListDestination, чтобы зафиксировать изменения структуры NET_BUFFER_LIST пакета.
Примечание По соображениям производительности расширение не должно вызывать функцию updateNetBufferListDestinations , чтобы зафикс ировать изменения пакета.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается в NDIS 6.30 и более поздних версиях. |
целевая платформа | Настольный |
заголовка | ndis.h (include Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
См. также