NDIS_SWITCH_OPTIONAL_HANDLERS 結構 (ndis.h)
NDIS_SWITCH_OPTIONAL_HANDLERS 結構會指定 Hyper-V 可延伸交換器處理程式函式的指標。 這些函式可由可延伸的交換器擴充功能呼叫。
語法
typedef struct _NDIS_SWITCH_OPTIONAL_HANDLERS {
NDIS_OBJECT_HEADER Header;
NDIS_SWITCH_ALLOCATE_NET_BUFFER_LIST_FORWARDING_CONTEXT_HANDLER AllocateNetBufferListForwardingContext;
NDIS_SWITCH_FREE_NET_BUFFER_LIST_FORWARDING_CONTEXT_HANDLER FreeNetBufferListForwardingContext;
NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE_HANDLER SetNetBufferListSource;
NDIS_SWITCH_ADD_NET_BUFFER_LIST_DESTINATION_HANDLER AddNetBufferListDestination;
NDIS_SWITCH_GROW_NET_BUFFER_LIST_DESTINATIONS_HANDLER GrowNetBufferListDestinations;
NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS_HANDLER GetNetBufferListDestinations;
NDIS_SWITCH_UPDATE_NET_BUFFER_LIST_DESTINATIONS_HANDLER UpdateNetBufferListDestinations;
NDIS_SWITCH_COPY_NET_BUFFER_LIST_INFO_HANDLER CopyNetBufferListInfo;
NDIS_SWITCH_REFERENCE_SWITCH_NIC_HANDLER ReferenceSwitchNic;
NDIS_SWITCH_DEREFERENCE_SWITCH_NIC_HANDLER DereferenceSwitchNic;
NDIS_SWITCH_REFERENCE_SWITCH_PORT_HANDLER ReferenceSwitchPort;
NDIS_SWITCH_DEREFERENCE_SWITCH_PORT_HANDLER DereferenceSwitchPort;
NDIS_SWITCH_REPORT_FILTERED_NET_BUFFER_LISTS_HANDLER ReportFilteredNetBufferLists;
NDIS_SWITCH_SET_NET_BUFFER_LIST_SWITCH_CONTEXT_HANDLER SetNetBufferListSwitchContext;
NDIS_SWITCH_GET_NET_BUFFER_LIST_SWITCH_CONTEXT_HANDLER GetNetBufferListSwitchContext;
PVOID SwitchPDReserved[NDIS_SWITCH_OPTIONAL_HANDLERS_PD_RESERVED_SIZE];
} NDIS_SWITCH_OPTIONAL_HANDLERS, *PNDIS_SWITCH_OPTIONAL_HANDLERS;
成員
Header
NDIS_SWITCH_OPTIONAL_HANDLERS 結構的型別、修訂和大小。 這個成員會格式化為 NDIS_OBJECT_HEADER 結構。
Header 的 Type 成員必須設定為 NDIS_OBJECT_TYPE_DEFAULT。 若要指定NDIS_SWITCH_OPTIONAL_HANDLERS結構的版本,標頭的 Revision 成員必須設定為下列值:
NDIS_SWITCH_OPTIONAL_HANDLERS_REVISION_1
NDIS 6.30 和更新版本的原始版本。
將 Size 成員設定為 NDIS_SIZEOF_NDIS_SWITCH_NIC_ARRAY_REVISION_1。
AllocateNetBufferListForwardingContext
AllocateNetBufferListForwardingContext 函式的指標。
FreeNetBufferListForwardingContext
FreeNetBufferListForwardingContext 函式的指標。
SetNetBufferListSource
SetNetBufferListSource 函式的指標。
AddNetBufferListDestination
AddNetBufferListDestination 函式的指標。
GrowNetBufferListDestinations
GrowNetBufferListDestinations 函式的指標。
GetNetBufferListDestinations
GetNetBufferListDestinations 函式的指標。
UpdateNetBufferListDestinations
UpdateNetBufferListDestinations 函式的指標。
CopyNetBufferListInfo
CopyNetBufferListInfo 函式的指標。
ReferenceSwitchNic
ReferenceSwitchNic 函式的指標。
DereferenceSwitchNic
DereferenceSwitchNic 函式的指標。
ReferenceSwitchPort
ReferenceSwitchPort 函式的指標。
DereferenceSwitchPort
DereferenceSwitchPort 函式的指標。
ReportFilteredNetBufferLists
ReportFilteredNetBufferLists 函式的指標。
SetNetBufferListSwitchContext
GetNetBufferListSwitchContext
SwitchPDReserved[NDIS_SWITCH_OPTIONAL_HANDLERS_PD_RESERVED_SIZE]
備註
可延伸交換器處理程式函式支援可延伸交換器延伸模組所執行的篩選和轉送動作。 這些動作包括下列各項:
- 配置或釋放轉送內容。 此數據會儲存在封包 NET_BUFFER_LIST 結構的頻外 (OOB) 數據中。 如需轉送內容的詳細資訊,請參閱 Hyper-V 可延伸交換器轉送內容。
- 取得或設定封包轉送內容中包含的目的地埠。
- 將目的地埠新增至封包的轉送內容。
當可延伸交換器擴充功能呼叫 NdisFGetOptionalSwitchHandlers 時, NdisSwitchHandlers 參數會包含 NDIS_SWITCH_OPTIONAL_HANDLERS 結構的指標。 可延伸交換器擴充功能通常會從其 FilterAttach 函式呼叫 NdisFGetOptionalSwitchHandlers。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.30 和更新版本支援。 |
標頭 | ndis.h (包含 Ndis.h) |
另請參閱
AllocateNetBufferListForwardingContext
FreeNetBufferListForwardingContext