OID_NIC_SWITCH_FREE_VF
Un controlador demasiado excesivo emite una solicitud de conjunto de identificador de objeto (OID) de OID_NIC_SWITCH_FREE_VF para liberar los recursos de la función virtual PCI Express (PCIe) de un adaptador de red (VF).
Los controladores excesivos emiten esta solicitud de establecimiento de OID al controlador de minipuerto para la función física PCIe (PF) del adaptador de red. Esta solicitud de conjunto de OID es necesaria para los controladores de miniporte PF que admiten la interfaz de virtualización de E/S raíz única (SR-IOV).
El miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a una estructura de NDIS_NIC_SWITCH_FREE_VF_PARAMETERS .
El controlador de sobreaprovisionamiento especifica el identificador del VF que se va a liberar a través del miembro VFId de esta estructura. El controlador obtuvo este identificador de una solicitud de método de OID anterior de OID_NIC_SWITCH_ALLOCATE_VF.
Observaciones
Un controlador demasiado excesivo emite una solicitud de conjunto de OID de OID_NIC_SWITCH_FREE_VF para liberar los recursos de un VF. Estos recursos se asignaron previamente a través de una solicitud de método OID de OID_NIC_SWITCH_ALLOCATE_VF.
Para obtener más información sobre cómo liberar recursos de VF, consulte Liberar recursos para una función virtual.
Nota Una vez que un controlador sobreasignación de recursos solicita la asignación de recursos para un VF, ese controlador es el único componente que puede solicitar la liberación de los recursos para el mismo VF. El controlador de sobreaprovisionamiento debe emitir una solicitud de conjunto de OID de OID_NIC_SWITCH_FREE_VF para liberar los recursos de VF. Antes de que se pueda detener el controlador de sobreasignación, debe liberar los recursos de cada VF asignado por la solicitud de OID_NIC_SWITCH_ALLOCATE_VF del controlador.
Códigos de estado de devolución
La función MiniportOidRequest del controlador miniportador devuelve uno de los siguientes valores para esta solicitud:
Término | Descripción |
---|---|
NDIS_STATUS_SUCCESS |
El controlador de minipuerto completó la solicitud correctamente. |
NDIS_STATUS_PENDING |
El controlador de minipuerto completará la solicitud de forma asincrónica. Una vez que el controlador de minipuerto haya completado todo el procesamiento, debe realizarse correctamente la solicitud llamando a la función NdisMOidRequestComplete , pasando NDIS_STATUS_SUCCESS para el parámetro Status . |
NDIS_STATUS_NOT_ACCEPTED |
El controlador de minipuerto se está restableciendo. |
NDIS_STATUS_REQUEST_ABORTED |
El controlador de minipuerto detuvo el procesamiento de la solicitud. Por ejemplo, NDIS llamó a la función MiniportResetEx . |
NDIS devuelve uno de los siguientes códigos de estado para esta solicitud:
Término | Descripción |
---|---|
NDIS_STATUS_SUCCESS |
La solicitud de OID se completó correctamente. |
NDIS_STATUS_NOT_SUPPORTED |
El controlador de minipuerto PF no admite la interfaz SR-IOV o no está habilitado para usar la interfaz . |
NDIS_STATUS_FILE_NOT_FOUND |
Uno o varios de los miembros de la estructura NDIS_NIC_SWITCH_FREE_VF_PARAMETERS tienen valores no válidos. Por ejemplo, el miembro VFId puede especificar un VF que no se ha asignado o que tiene VPorts que no se han eliminado. |
NDIS_STATUS_INVALID_LENGTH |
El búfer de información es demasiado pequeño. NDIS establece data . SET_INFORMATION. Miembro BytesNeeded de la estructura NDIS_OID_REQUEST al tamaño mínimo del búfer necesario. |
Requisitos
Versión |
Se admite en NDIS 6.30 y versiones posteriores. |
Encabezado |
Ntddndis.h (incluye Ndis.h) |