The protocol edge of the Hyper-V extensible switch issues an object identifier (OID) set request of OID_SWITCH_NIC_DELETE to the extensible switch driver stack. This OID request notifies underlying extensible switch extensions about the deletion of a connection between an extensible switch port and a network adapter. The protocol edge of the extensible switch previously notified extensions that this connection is being deleted when it issued an OID set request of OID_SWITCH_NIC_DISCONNECT.
The PortId member of the NDIS_SWITCH_NIC_PARAMETERS structure specifies the port for which the deletion notification is being made. The extensible switch extension can obtain the parameter information for this and other ports on the extensible switch by issuing OID query requests of OID_SWITCH_PORT_ARRAY.
The Index member of the NDIS_SWITCH_NIC_PARAMETERS structure specifies the index of a network adapter for which the deletion notification is being made. The network adapter with the specified Index value is connected to the extensible switch port specified by the PortId member. For more information on these index values, see Network Adapter Index Values.
Before the protocol edge of the extensible switch issues the OID_SWITCH_NIC_DELETE request, it guarantees that all pending send or receive packet requests for the specified network adapter connection have been completed. The protocol edge also guarantees that all pending OID requests for the adapter connection have been completed, and the extensible switch reference counters for the adapter connection have a zero value.
Note If the extension had incremented an extensible switch reference counter for the network adapter by calling ReferenceSwitchNic, the OID_SWITCH_NIC_DELETE request is not issued while the reference counter is nonzero. The extension decrements the extensible switch reference counter by calling DereferenceSwitchNic.
The extension must follow these guidelines for handling OID set requests of OID_SWITCH_NIC_DELETE:
The extension must not modify the NDIS_SWITCH_NIC_PARAMETERS structure that is associated with the OID request.
The extension must always forward this OID set request to underlying extensions. The extension must not complete the request.
The extension must not issue its own OID set requests of OID_SWITCH_NIC_DELETE.
The extensible switch external network adapter can bind to one or more underlying physical adapters. For every physical network adapter that is bound to the external network adapter, the protocol edge of the extensible switch issues a separate OID set request of OID_SWITCH_NIC_DELETE. Each OID set request specifies a different network adapter connection index value. For more information on these index values, see Network Adapter Index Values.
The extension must maintain the connection state for each underlying physical adapter. For more information about the different configurations in which physical network adapters can be bound to the external network adapter, see Types of Physical Network Adapter Configurations.
For more information about the states of extensible switch ports and network adapter connections, see Hyper-V Extensible Switch Port and Network Adapter States.
Return Status Codes
The underlying miniport edge of the extensible switch completes the OID query request of OID_SWITCH_NIC_DELETE and returns the following status code.
The OID request completed successfully.
Supported in NDIS 6.30 and later.
|Ntddndis.h (include Ndis.h)|