OID_SRIOV_SET_VF_POWER_STATE

An overlying driver issues an object identifier (OID) set request of OID_SRIOV_SET_VF_POWER_STATE to change the power state of a specified PCI Express (PCIe) Virtual Function (VF) on the network adapter. Since changing the power state is a privileged operation, overlying drivers issue this OID set request to the miniport driver of the PCIe Physical Function (PF) on the network adapter. The PF miniport driver then sets the specified power state on the VF.

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

Remarks

When the PF miniport driver is issued this OID set request, it must follow these guidelines:

  • The PF miniport driver must verify that the VF, specified by the VFId member of the NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS structure, has resources that have been previously allocated. The PF miniport driver allocates resources for a VF during an OID method request of OID_NIC_SWITCH_ALLOCATE_VF. If the specified VF is not in an allocated state, the driver must fail the OID request.

  • The power state operation must only affect the specified VF. The operation must not affect other VFs or the PF on the same network adapter.

For more information, see Setting the Power State of a Virtual Function.

Return Status Codes

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

Status Code Description

NDIS_STATUS_SUCCESS

The OID request completed successfully.

NDIS_STATUS_NOT_SUPPORTED

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.

NDIS_STATUS_INVALID_PARAMETER

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

NDIS_STATUS_INVALID_LENGTH

The information buffer was too short. 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.

NDIS_STATUS_FAILURE

The request failed for other reasons.

Requirements

Version

Supported in NDIS 6.30 and later.

Header

Ntddndis.h (include Ndis.h)

See also


NDIS_OID_REQUEST

NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF