Función NdisMInvalidateConfigBlock (ndis.h)
Un controlador de minipuerto llama a la función NdisMInvalidateConfigBlock para notificar a NDIS que se han cambiado los datos de uno o varios bloques de configuración de función virtual (VF).
Sintaxis
void NdisMInvalidateConfigBlock(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[in] ULONGLONG BlockMask
);
Parámetros
[in] NdisMiniportHandle
Identificador del adaptador de red que NDIS pasó al parámetro MiniportAdapterHandle de MiniportInitializeEx.
[in] VFId
Identificador del VF para el que se devuelve la ubicación del dispositivo.
[in] BlockMask
Valor de ULONGLONG que especifica una máscara de bits para los primeros bloques de configuración de VF de 64. Cada bit de la máscara de bits corresponde a un bloque de configuración de VF. Si el bit se establece en uno, los datos asociados al bloque de configuración de VF correspondiente han cambiado.
Valor devuelto
None
Observaciones
Se usa un bloque de configuración de VF para la comunicación backchannel entre los controladores de miniporte PF y VF. El IHV puede definir uno o varios bloques de configuración de VF para el dispositivo. Cada bloque de configuración de VF tiene un formato, longitud y identificador de bloque definido por IHV.
- Controlador VF, que se ejecuta en el sistema operativo invitado. Este sistema operativo se ejecuta dentro de una partición secundaria de Hyper-V.
-
El controlador PF, que se ejecuta en el sistema operativo de administración.
Este sistema operativo se ejecuta dentro de la partición primaria de Hyper-V.
- En el sistema operativo invitado, NDIS emite una solicitud de control de E/S de IOCTL_VPCI_INVALIDATE_BLOCK solicitud. Cuando se completa este IOCTL, se notifica a NDIS que los datos de configuración de VF han cambiado.
-
En el sistema operativo de administración, se producen los pasos siguientes:
- El controlador de miniporte PF llama a la función NdisMInvalidateConfigBlock para notificar a NDIS que los datos de configuración de VF han cambiado y ya no son válidos.
-
NDIS señala la pila de virtualización, que se ejecuta en el sistema operativo de administración, sobre el cambio a los datos del bloque de configuración de VF. La pila de virtualización almacena en caché los datos del parámetro BlockMask .
Nota Cada vez que el controlador de miniporte PF llama a NdisMInvalidateConfigBlock, la pila de virtualización reemplaza los datos del parámetro BlockMask con el valor actual en su memoria caché.
- La pila de virtualización notifica al controlador PCI virtual (VPCI), que se ejecuta en el sistema operativo invitado, sobre la invalidación de los datos de configuración de VF. La pila de virtualización envía los datos del parámetro BlockMask almacenados en caché al controlador VPCI.
-
En el sistema operativo invitado, se producen los pasos siguientes:
- El controlador VPCI guarda los datos de parámetros BlockMask almacenados en caché en el miembro BlockMask de la estructura de VPCI_INVALIDATE_BLOCK_OUTPUT asociada a la solicitud de IOCTL_VPCI_INVALIDATE_BLOCK .
-
El controlador VPCI completa correctamente la solicitud de IOCTL_VPCI_INVALIDATE_BLOCK . Cuando esto sucede, NDIS emite una solicitud de método OID de OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK al controlador de minipuerto de VF. Se pasa una solicitud NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO en la solicitud de OID. Esta estructura contiene los datos de parámetro BlockMask almacenados en caché.
NDIS también emite otra solicitud de IOCTL_VPCI_INVALIDATE_BLOCK para controlar las notificaciones sucesivas de cambios en los datos de configuración de VF.
- Cuando el controlador VF controla la solicitud de OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK , lee los datos de los bloques de configuración de VF especificados.
Para obtener más información sobre la interfaz SR-IOV, vea Información general sobre la virtualización de E/S raíz única (SR-IOV).
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Ninguno compatible, compatible con NDIS 6.30 y versiones posteriores. |
Servidor mínimo compatible | Windows Server 2012 |
Plataforma de destino | Universal |
Encabezado | ndis.h (incluya Ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Consulte también
NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO