Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 de un adaptador de red.
Después de una devolución correcta de esta solicitud de consulta OID, el informationBuffer miembro de la estructura de 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 de la matriz.
Matriz de estructuras de NDIS_NIC_SWITCH_VPORT_INFO. Cada una de estas estructuras contiene información sobre una 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 NumElements miembro de la estructura de NDIS_NIC_SWITCH_VPORT_INFO_ARRAY en cero y no se devuelve ninguna estructura NDIS_NIC_SWITCH_VPORT_INFO.
Observaciones
El uso excesivo de controladores y aplicaciones en modo de usuario emite solicitudes de consulta OID de OID_NIC_SWITCH_ENUM_VPORTS para enumerar las VPorts que se asignan en el conmutador NIC de un adaptador de red.
Antes de que el controlador o la aplicación emite la solicitud 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 todos los VPorts creados en un conmutador de NIC especificado. El modificador NIC se especifica mediante el SwitchId miembro 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 Flags, el miembro SwitchId debe establecerse en NDIS_DEFAULT_SWITCH_ID.
Si la marca de NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_FUNCTION está establecida en el miembro Flags, se devuelve información para todas las VPorts conectadas a una función física (PF) o función virtual (VF) de PCI Express (PCIe) especificada en el adaptador de red. El AttachedFunctionId especifica el pf o VF miembro de esa estructura.
Si el attachedFunctionId miembro 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 está establecido en un identificador VF válido, se devuelve información para todos los 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 adjuntar varios VPorts (incluido el VPort predeterminado) al PF.
Si el miembro Flags está establecido 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 del SwitchId de y AttachedFunctionId.
Para obtener más información, vea Enumerar puertos virtuales en un adaptador de red.
Códigos de estado de retorno
NDIS controla la solicitud del método OID de la solicitud de OID_NIC_SWITCH_ENUM_VPORTS para controladores de miniport. Los controladores no se emitirán esta solicitud de OID.
Cuando NDIS controla la solicitud 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 OID se completó correctamente. |
NDIS_STATUS_NOT_SUPPORTED |
El controlador miniport 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 el DATA. METHOD_INFORMATION. BytesNeeded miembro 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 |
Compatible con NDIS 6.30 y versiones posteriores. |
Encabezado |
Ntddndis.h (include Ndis.h) |