функция обратного вызова NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE (ndis.h)
Функция SetNetBufferListSource задает идентификатор исходного порта Hyper-V расширяемого коммутатора и индекс сетевого адаптера для пакета, указанного структурой NET_BUFFER_LIST.
Синтаксис
NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE NdisSwitchSetNetBufferListSource;
NDIS_STATUS NdisSwitchSetNetBufferListSource(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
PNET_BUFFER_LIST NetBufferList,
[in] NDIS_SWITCH_PORT_ID PortId,
[in] NDIS_SWITCH_NIC_INDEX NicIndex
)
{...}
Параметры
[in] NdisSwitchContext
Значение NDIS_SWITCH_CONTEXT, содержащее дескриптор расширяемого модуля коммутатора, к которому подключено расширение расширяемого коммутатора Hyper-V. Когда расширение вызывает NdisFGetOptionalSwitchHandlers, этот дескриптор возвращается через параметр NdisSwitchContext.
NetBufferList
Указатель на структуру NET_BUFFER_LIST для одного пакета.
[in] PortId
Значение NDIS_SWITCH_PORT_ID, указывающее уникальный идентификатор исходного порта в расширяемом коммутаторе.
[in] NicIndex
Значение NDIS_SWITCH_NIC_INDEX, указывающее индекс сетевого адаптера, подключенного к порту расширяемого коммутатора, заданного параметром PortId.
Дополнительные сведения о значениях NDIS_SWITCH_NIC_INDEX см. в значения индекса сетевого адаптера.
Возвращаемое значение
Если вызов выполнен успешно, функция возвращает NDIS_STATUS_SUCCESS. В противном случае возвращается код ошибки NDIS_STATUS_Xxx, определенный в Ndis.h.
Замечания
Расширение расширяемого коммутатора вызывает функцию SetNetBufferListSource, чтобы задать идентификатор исходного порта и индекс сетевого адаптера в NET_BUFFER_LIST структуре пакета. Это расширение выполняется для следующих типов пакетов:
-
Новый пакет, выделенный расширением для операций отправки или получения.
Примечание перед вызовами расширения SetNetBufferListSource для выделенного пакета, он должен вызывать AllocateNetBufferListForwardingContext.
- Повторяющийся пакет, клонированный расширением из исходного пакета, который он фильтровал. Расширение дублирует пакет путем вызова NdisAllocateCloneNetBufferList.
Например, пакет с идентификатором исходного порта NDIS_SWITCH_DEFAULT_PORT_ID является доверенным и проходит множество расширяемых политик портов коммутатора. К этим политикам относятся списки управления доступом (ACL) и качество обслуживания (QoS). Если расширение указывает исходный порт, отличный от по умолчанию для пакета, это позволяет применять политики для этого порта к пакету.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается в NDIS 6.30 и более поздних версиях. |
целевая платформа | Настольный |
заголовка | ndis.h (include Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
См. также
AllocateNetBufferListForwardingContext