NDIS_SWITCH_DEREFERENCE_SWITCH_NIC callback function (ndis.h)
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(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in] NDIS_SWITCH_PORT_ID SwitchPortId,
[in] NDIS_SWITCH_NIC_INDEX SwitchNicIndex
)
{...}
Parameters
[in] 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.
[in] 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.
[in] 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
Requirement | Value |
---|---|
Minimum supported client | Supported in NDIS 6.30 and later. |
Target Platform | Desktop |
Header | ndis.h (include Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
See also