OID_NIC_SWITCH_ENUM_VPORTS
Una aplicación en modo de usuario o controlador excesiva emite una solicitud de método de identificador de objeto (OID) de OID_NIC_SWITCH_ENUM_VPORTS para obtener una matriz. Cada elemento de la matriz especifica los atributos de un puerto virtual (VPort) que se ha creado en el conmutador NIC del adaptador de red.
Después de una devolución correcta de esta solicitud de consulta OID, el miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a un búfer que contiene lo siguiente:
Estructura NDIS_NIC_SWITCH_VPORT_INFO_ARRAY que define el número de elementos dentro de la matriz.
Matriz de estructuras de NDIS_NIC_SWITCH_VPORT_INFO . Cada una de estas estructuras contiene información sobre un VPort en el conmutador NIC del adaptador de red.
Nota Si no se ha creado ningún VPorts en el adaptador de red, el controlador establece el miembro NumElements de la estructura de NDIS_NIC_SWITCH_VPORT_INFO_ARRAY en cero y no se devuelve ninguna estructura NDIS_NIC_SWITCH_VPORT_INFO .
Observaciones
Los controladores excesivos y las aplicaciones en modo de usuario emiten solicitudes de consulta de OID de OID_NIC_SWITCH_ENUM_VPORTS para enumerar las VPorts que se asignan en el conmutador NIC del adaptador de red.
Antes de que el controlador o la aplicación emite la solicitud de OID, debe inicializar una estructura de NDIS_NIC_SWITCH_VPORT_INFO_ARRAY que se pasa junto con la solicitud. El controlador o la aplicación deben seguir estas instrucciones al inicializar la estructura de NDIS_NIC_SWITCH_VPORT_INFO_ARRAY :
Si la marca NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH se establece en el miembro Flags , se devuelve información para todas las VPorts creadas en un conmutador NIC especificado. El modificador NIC se especifica mediante el miembro SwitchId de esa estructura.
Nota A partir de Windows Server 2012, la interfaz SR-IOV solo admite el conmutador NIC predeterminado en el adaptador de red. Independientemente de las marcas establecidas en el miembro Flags , el miembro SwitchId debe establecerse en NDIS_DEFAULT_SWITCH_ID.
Si la marca NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_FUNCTION se establece en el miembro Flags , se devuelve información para todas las VPorts conectadas a una función física (PCIe) o función virtual (VF) de PCI Express (PCIe) especificada en el adaptador de red. El pf o VF se especifica mediante el miembro AttachedFunctionId de esa estructura.
Si el miembro AttachedFunctionId se establece en NDIS_PF_FUNCTION_ID, se devuelve información para todos los VPorts, incluido el VPort predeterminado, que están conectados al PF del adaptador de red. Si el miembro AttachedFunctionId se establece en un identificador VF válido, la información se devuelve para todas las VPorts al VF especificado.
Nota A partir de Windows Server 2012, solo se puede conectar un VPort no predeterminado a un VF. Sin embargo, se pueden conectar varias VPorts (incluida la VPort predeterminada) al PF.
Si el miembro Flags se establece en cero, se devuelve información para todas las VPorts conectadas al PF o VF en el adaptador de red. En este caso, se omiten los valores de SwitchId y AttachedFunctionId .
Para obtener más información, consulte Enumeración de puertos virtuales en un adaptador de red.
Códigos de estado de devolución
NDIS controla la solicitud de método OID de la solicitud de OID_NIC_SWITCH_ENUM_VPORTS para controladores de minipuerto. Los controladores no se emitirán esta solicitud de OID.
Cuando NDIS controla la solicitud de OID_NIC_SWITCH_ENUM_VPORTS, devuelve uno de los siguientes códigos de estado:
Código de estado | Descripción |
---|---|
NDIS_STATUS_SUCCESS |
La solicitud de OID se completó correctamente. |
NDIS_STATUS_NOT_SUPPORTED |
El controlador de minipuerto no admite la interfaz de virtualización de E/S raíz única (SR-IOV) o no está habilitada para usar la interfaz . |
NDIS_STATUS_INVALID_PARAMETER |
Uno o varios de los miembros de la estructura NDIS_NIC_SWITCH_VF_INFO_ARRAY tienen valores no válidos. |
NDIS_STATUS_INVALID_LENGTH |
El búfer de información era demasiado corto. NDIS establece data . METHOD_INFORMATION. Miembro BytesNeeded de la estructura NDIS_OID_REQUEST al tamaño mínimo del búfer necesario. |
NDIS_STATUS_FAILURE |
Error en la solicitud por otros motivos. |
Requisitos
Versión |
Se admite en NDIS 6.30 y versiones posteriores. |
Encabezado |
Ntddndis.h (incluye Ndis.h) |