Enumeración de funciones virtuales en un adaptador de red
Una aplicación de usuario o controlador excesiva puede obtener una lista de todas las funciones virtuales de PCI Express (PCIe) en un adaptador de red que admita virtualización de E/S raíz única (SR-IOV). El controlador o la aplicación emite una solicitud de método de identificador de objeto (OID) de OID_NIC_SWITCH_ENUM_VFS para obtener esta lista.
Antes de que el controlador o la aplicación emite la solicitud de 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 se establece en el miembro Flags , el controlador o la aplicación que se sobreponen deben establecer el miembro SwitchId en el identificador de un conmutador NIC en el adaptador de red 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 SR-IOV.
Nota El controlador de sobreposición y la aplicación en modo de usuario pueden obtener los identificadores de conmutador NIC mediante la emisión de una solicitud de consulta de OID de OID_NIC_SWITCH_ENUM_SWITCHES.
Si el miembro Flags se establece 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.
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_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 se conecta 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, el miembro NumElements de la estructura de NDIS_NIC_SWITCH_VF_INFO_ARRAY se establece en cero y no se devuelve ninguna estructura NDIS_NIC_SWITCH_VF_INFO .
Para obtener más información sobre los conmutadores NIC, consulte Conmutadores NIC.
NDIS controla la solicitud de OID_NIC_SWITCH_ENUM_VFS para controladores de minipuerto. NDIS devuelve la información de una memoria caché interna de los datos que mantiene al inspeccionar los orígenes siguientes:
Solicitudes de método OID de OID_NIC_SWITCH_ALLOCATE_VF.
Solicitudes de conjunto de OID de OID_NIC_SWITCH_VF_PARAMETERS.