NDIS_SWITCH_DEREFERENCE_SWITCH_NIC callback function

The DereferenceSwitchNic function decrements the Hyper-V extensible switch reference counter for a network adapter that is connected to an extensible switch port. The reference counter was incremented through a previous call to ReferenceSwitchNic.

Syntax

NDIS_SWITCH_DEREFERENCE_SWITCH_NIC NdisSwitchDereferenceSwitchNic;

NDIS_STATUS NdisSwitchDereferenceSwitchNic(
  NDIS_SWITCH_CONTEXT NdisSwitchContext,
  NDIS_SWITCH_PORT_ID SwitchPortId,
  NDIS_SWITCH_NIC_INDEX SwitchNicIndex
)
{...}

Parameters

NdisSwitchContext

An NDIS_SWITCH_CONTEXT value that contains the handle of the extensible switch module to which the Hyper-V extensible switch extension is attached. When the extension calls NdisFGetOptionalSwitchHandlers, this handle is returned through the NdisSwitchContext parameter.

SwitchPortId

An NDIS_SWITCH_PORT_ID value that contains the unique identifier of the extensible switch port to which the virtual network adapter is connected.

SwitchNicIndex

An NDIS_SWITCH_NIC_INDEX value that specifies the index of the virtual network adapter for which the extensible switch reference counter is to be incremented.

For more information on NDIS_SWITCH_NIC_INDEX values, see Network Adapter Index Values.

Return Value

If the call succeeds, the function returns NDIS_STATUS_SUCCESS. Otherwise, it returns an NDIS_STATUS_Xxx error code that is defined in Ndis.h.

Remarks

The extensible switch extension calls DereferenceSwitchNic to decrement the reference counter for a network adapter that is connected to an extensible switch port. While the extensible switch reference counter has a nonzero value, the protocol edge of the extensible switch will not issue an object identifier (OID) set request of OID_SWITCH_NIC_DELETE to delete the connection to the adapter.

The extension must call DereferenceSwitchNic if it had previously called ReferenceSwitchNic for a network adapter connection.

Requirements

   
Windows version Supported in NDIS 6.30 and later.
Target Platform Desktop
Header ndis.h (include Ndis.h)
IRQL "<= DISPATCH_LEVEL"

See Also

NdisFGetOptionalSwitchHandlers

OID_SWITCH_NIC_DELETE

ReferenceSwitchNic