VPCI_WRITE_BLOCK función de devolución de llamada (vpci.h)
La rutina WriteVfConfigBlock escribe un bloque de datos de configuración para una función virtual de PCI Express (VF). El controlador de un PCIe VF llama a esta rutina en un dispositivo que admite la interfaz de virtualización de E/S raíz única (SR-IOV).
Sintaxis
VPCI_WRITE_BLOCK VpciWriteBlock;
NTSTATUS VpciWriteBlock(
PVOID Context,
ULONG BlockId,
PVOID Buffer,
ULONG Length
)
{...}
Parámetros
Context
[in] Puntero a información de contexto específica de la interfaz. El autor de la llamada pasa el valor que se pasa como miembro Context de la estructura VPCI_INTERFACE_STANDARD para la interfaz.
BlockId
[in] Identificador del bloque de configuración de VF que se va a escribir. Este identificador es propietario del proveedor de hardware independiente (IHV) y solo lo usan los controladores para la función física PCIe (PF) y VF en el dispositivo.
Buffer
[in] Puntero a un búfer asignado por el autor de la llamada que contiene los datos de configuración que se van a escribir. Para obtener más información, vea la sección Comentarios.
Length
[in] Número de bytes que se van a escribir en el bloque de configuración de VF.
Nota
El valor de este parámetro no debe superar VPCI_MAX_READ_WRITE_BLOCK_SIZE.
Valor devuelto
La rutina ReadVfConfigBlock devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, la rutina devuelve un valor NTSTATUS adecuado.
Comentarios
Cuando se llama a la rutina WriteVfConfigBlock , se notifica al controlador del PF que actualice un bloque de configuración de VF especificado con los datos especificados.
Un bloque de configuración de VF se usa para la comunicación backchannel entre los controladores del PCIe PF y un VF en un dispositivo que admite la interfaz SR-IOV. 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 definidos por IHV.
Los datos de configuración de VF se pueden intercambiar entre los siguientes controladores de una manera protegida:
- Controlador VF, que se ejecuta en el sistema operativo invitado. Este sistema operativo se ejecuta dentro de una partición secundaria de Hyper-V.
- 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.
Los datos de cada bloque de configuración de VF solo los usan los controladores de PF y VF.
Nota
El IOCTL_VPCI_WRITE_BLOCK IOCTL ofrece una alternativa asincrónica a la rutina WriteVfConfigBlock .
Requisitos
Requisito | Value |
---|---|
Servidor mínimo compatible | Windows Server 2012 |
Encabezado | vpci.h |
IRQL | <= DISPATCH_LEVEL |