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_VFS para obtener una matriz. Cada elemento de la matriz especifica los atributos de una función virtual de PCI Express (PCIe) (VF) que están conectadas a un conmutador NIC 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_VF_INFO_ARRAY que define el número de elementos de la matriz.
Matriz de estructuras de NDIS_NIC_SWITCH_VF_INFO. Cada una de estas estructuras contiene información sobre un único VF en un conmutador NIC del adaptador de red. Un VF está asociado a un conmutador NIC a través de solicitudes de método OID de OID_NIC_SWITCH_ALLOCATE_VF.
Nota Si no hay ningún VFs conectado a un conmutador NIC en el adaptador de red, se devuelve el miembro NumElements de la estructura de NDIS_NIC_SWITCH_VF_INFO_ARRAY en cero y no se devuelve ninguna estructura de NDIS_NIC_SWITCH_VF_INFO.
Observaciones
El uso excesivo de controladores y aplicaciones en modo de usuario emite solicitudes de método OID de OID_NIC_SWITCH_ENUM_VFS para enumerar las máquinas virtuales conectadas al 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_VF_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_VF_INFO_ARRAY:
Si la marca de NDIS_NIC_SWITCH_VF_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH está establecida en el miembro Flags, el controlador o la aplicación deben establecer el miembro switchId en el identificador del conmutador NIC en el adaptador de red de SR-IOV. Al establecer estos miembros de esta manera, la información de VF solo se devuelve para el conmutador NIC especificado en el adaptador de red de SR-IOV.
Nota La aplicación de controlador y modo de usuario excesiva puede obtener los identificadores del conmutador NIC mediante la emisión de una solicitud de consulta OID de OID_NIC_SWITCH_ENUM_SWITCHES.
Si el miembro Flags está establecido en cero, el controlador o la aplicación deben establecer el miembro SwitchId en cero. Al establecer estos miembros de esta manera, se devuelve información de VF para todos los conmutadores NIC en el adaptador de red SR-IOV.
Nota a partir de Windows Server 2012, Windows 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.
Para obtener más información sobre los conmutadores de NIC, consulte conmutadores NIC.
Códigos de estado de retorno
NDIS controla la solicitud de método OID de la solicitud de OID_NIC_SWITCH_ENUM_VFS para controladores de miniport. Los controladores no se emitirán esta solicitud de OID.
Cuando NDIS controla la solicitud OID_NIC_SWITCH_ENUM_VFS, 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) |