An overlying driver issues an object identifier (OID) set request of OID_NIC_SWITCH_DELETE_VPORT to delete a nondefault virtual port (VPort) that was previously created on a network adapter's NIC switch. The overlying driver can delete a VPort that it has previously created only by issuing an OID method request of OID_NIC_SWITCH_CREATE_VPORT.

Overlying drivers issue this OID set request to the miniport driver for the network adapter's PCIe Physical Function (PF). This OID set request is required for PF miniport drivers that support the single root I/O virtualization (SR-IOV) interface.

The InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to the NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS structure.


An overlying driver, such as a protocol or filter driver, can only delete a nondefault VPort that it has previously created. The overlying driver creates a VPort by issuing an OID method request of OID_NIC_SWITCH_CREATE_VPORT.

When the PF miniport driver receives the OID request of OID_NIC_SWITCH_DELETE_VPORT, the driver must free the hardware and software resources that were allocated for the specified VPort.

For more information, see Deleting a Virtual Port.

Note  Only nondefault VPorts can be explicitly deleted through OID requests of OID_NIC_SWITCH_DELETE_VPORT. The default VPort is implicitly deleted when the PF miniport driver deletes the default NIC switch. For more information, see Deleting a NIC Switch.

Return Status Codes

The PF miniport driver returns one of the following status codes for the OID set request of OID_NIC_SWITCH_DELETE_VPORT.

Status Code Description


The OID request completed successfully.


The PF miniport driver either does not support the single root I/O virtualization (SR-IOV) interface or is not enabled to use the interface.


One or more of the members of the NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS structure have invalid values.


The length of the information buffer is less than sizeof(NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS). The PF miniport driver must set the DATA.SET_INFORMATION.BytesNeeded member in the NDIS_OID_REQUEST structure to the minimum buffer size that is required.


The request failed for other reasons.



Supported in NDIS 6.30 and later.


Ntddndis.h (include Ndis.h)

See also