Skip to content

Latest commit

 

History

History
222 lines (118 loc) · 8.56 KB

ns-ndis-_ndis_switch_optional_handlers.md

File metadata and controls

222 lines (118 loc) · 8.56 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NS:ndis._NDIS_SWITCH_OPTIONAL_HANDLERS
_NDIS_SWITCH_OPTIONAL_HANDLERS (ndis.h)
The NDIS_SWITCH_OPTIONAL_HANDLERS structure specifies the pointers to the Hyper-V extensible switch handler functions. These functions can be called by an extensible switch extension.
netvista\ndis_switch_optional_handlers.htm
netvista
05/02/2018
NDIS_SWITCH_OPTIONAL_HANDLERS structure
*PNDIS_SWITCH_OPTIONAL_HANDLERS, NDIS_SWITCH_OPTIONAL_HANDLERS, NDIS_SWITCH_OPTIONAL_HANDLERS structure [Network Drivers Starting with Windows Vista], PNDIS_SWITCH_OPTIONAL_HANDLERS, PNDIS_SWITCH_OPTIONAL_HANDLERS structure pointer [Network Drivers Starting with Windows Vista], _NDIS_SWITCH_OPTIONAL_HANDLERS, ndis/NDIS_SWITCH_OPTIONAL_HANDLERS, ndis/PNDIS_SWITCH_OPTIONAL_HANDLERS, netvista.ndis_switch_optional_handlers
ndis.h
Ndis.h
Windows
Supported in NDIS 6.30 and later.
Windows
NDIS_SWITCH_OPTIONAL_HANDLERS, *PNDIS_SWITCH_OPTIONAL_HANDLERS
_NDIS_SWITCH_OPTIONAL_HANDLERS
ndis/_NDIS_SWITCH_OPTIONAL_HANDLERS
PNDIS_SWITCH_OPTIONAL_HANDLERS
ndis/PNDIS_SWITCH_OPTIONAL_HANDLERS
NDIS_SWITCH_OPTIONAL_HANDLERS
ndis/NDIS_SWITCH_OPTIONAL_HANDLERS
APIRef
kbSyntax
HeaderDef
Ndis.h
_NDIS_SWITCH_OPTIONAL_HANDLERS
PNDIS_SWITCH_OPTIONAL_HANDLERS
NDIS_SWITCH_OPTIONAL_HANDLERS

_NDIS_SWITCH_OPTIONAL_HANDLERS structure

-description

The NDIS_SWITCH_OPTIONAL_HANDLERS structure specifies the pointers to the Hyper-V extensible switch handler functions. These functions can be called by an extensible switch extension.

-struct-fields

-field Header

The type, revision, and size of the NDIS_SWITCH_OPTIONAL_HANDLERS structure. This member is formatted as an NDIS_OBJECT_HEADER structure.

The Type member of Header must be set to NDIS_OBJECT_TYPE_DEFAULT. To specify the version of the NDIS_SWITCH_OPTIONAL_HANDLERS structure, the Revision member of Header must be set to the following value:

NDIS_SWITCH_OPTIONAL_HANDLERS_REVISION_1

Original version for NDIS 6.30 and later.

Set the Size member to NDIS_SIZEOF_NDIS_SWITCH_NIC_ARRAY_REVISION_1.

-field AllocateNetBufferListForwardingContext

A pointer to the AllocateNetBufferListForwardingContext function.

-field FreeNetBufferListForwardingContext

A pointer to the FreeNetBufferListForwardingContext function.

-field SetNetBufferListSource

A pointer to the SetNetBufferListSource function.

-field AddNetBufferListDestination

A pointer to the AddNetBufferListDestination function.

-field GrowNetBufferListDestinations

A pointer to the GrowNetBufferListDestinations function.

-field GetNetBufferListDestinations

A pointer to the GetNetBufferListDestinations function.

-field UpdateNetBufferListDestinations

A pointer to the UpdateNetBufferListDestinations function.

-field CopyNetBufferListInfo

A pointer to the CopyNetBufferListInfo function.

-field ReferenceSwitchNic

A pointer to the ReferenceSwitchNic function.

-field DereferenceSwitchNic

A pointer to the DereferenceSwitchNic function.

-field ReferenceSwitchPort

A pointer to the ReferenceSwitchPort function.

-field DereferenceSwitchPort

A pointer to the DereferenceSwitchPort function.

-field ReportFilteredNetBufferLists

A pointer to the ReportFilteredNetBufferLists function.

-field SetNetBufferListSwitchContext

-field GetNetBufferListSwitchContext

-field SwitchPDReserved

-remarks

The extensible switch handler functions provide support for filtering and forwarding actions that are performed by an extensible switch extension. These actions include the following:

  • Allocate or free the forwarding context. This data is stored in the out-of-band (OOB) data of a packet's NET_BUFFER_LIST structure. For more information about the forwarding context, see Hyper-V Extensible Switch Forwarding Context.
  • Get or set the destination ports that are contained in a packet's forwarding context.
  • Add destination ports to a packet's forwarding context.

When the extensible switch extension calls NdisFGetOptionalSwitchHandlers, the NdisSwitchHandlers parameter contains a pointer to an NDIS_SWITCH_OPTIONAL_HANDLERS structure. An extensible switch extension typically calls NdisFGetOptionalSwitchHandlers from its FilterAttach function.

-see-also

AddNetBufferListDestination

AllocateNetBufferListForwardingContext

CopyNetBufferListInfo

DereferenceSwitchNic

DereferenceSwitchPort

FilterAttach

FreeNetBufferListForwardingContext

GrowNetBufferListDestinations

NDIS_OBJECT_HEADER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

ReferenceSwitchNic

ReferenceSwitchPort

ReportFilteredNetBufferLists

SetNetBufferListSource

UpdateNetBufferListDestinations