Función NdisMWriteConfigBlock (ndis.h)
Un controlador de minipuerto para una función virtual PCI Express (PCIe) llama a la función NdisMWriteConfigBlock para escribir datos en un bloque de configuración de VF. Las operaciones de escritura en un bloque de configuración de VF se controlan mediante el controlador de minipuerto de la función física PCIe (PF) del adaptador de red.
Sintaxis
NDIS_STATUS NdisMWriteConfigBlock(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] ULONG BlockId,
[in] PVOID Buffer,
[in] ULONG Length
);
Parámetros
[in] NdisMiniportHandle
Identificador del adaptador de red que NDIS pasó al parámetro MiniportAdapterHandle de MiniportInitializeEx.
[in] BlockId
Valor de ULONG en el que se especifica el identificador del bloque de configuración en el que se va a escribir. Este identificador es propietario del proveedor de hardware independiente (IHV) y solo lo usan los controladores de minipuerto para pf y VF en el adaptador de red.
[in] Buffer
Puntero a un búfer asignado por el autor de la llamada que contiene los datos de configuración que se van a escribir.
[in] Length
Número de bytes que se van a escribir en el bloque de configuración.
Valor devuelto
NdisMWriteConfigBlock puede devolver uno de los siguientes valores de estado.
Código devuelto | Descripción |
---|---|
|
La operación de escritura se completó correctamente. |
|
No se pudo realizar la operación de escritura. |
Comentarios
El controlador de minipuerto VF llama a NdisMWriteConfigBlock para iniciar una solicitud de escritura backchannel de los datos de configuración de VF por parte del controlador de minipuerto PF. Una vez notificada de esta solicitud, el controlador PF escribe los datos en el bloque de configuración de VF especificado.
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.
Interacción con un controlador de bus virtual
Si un proveedor de hardware independiente (IHV) proporciona un controlador de bus virtual (VBD) como parte de su paquete de controladores SR-IOV, su controlador de minipuerto no debe llamar a NdisMWriteConfigBlock. En su lugar, el controlador debe interactuar con VBD a través de un canal de comunicación privado y solicitar que el VBD llame a WriteVfConfigBlock. Esta función se expone desde la interfaz GUID_VPCI_INTERFACE_STANDARD compatible con el controlador de bus PCI virtual (VPCI) subyacente.El VBD que se ejecuta en el sistema operativo invitado de una partición secundaria de Hyper-V puede consultar la interfaz de GUID_VPCI_INTERFACE_STANDARD mediante la emisión de una solicitud de IRP_MN_QUERY_INTERFACE a su objeto de dispositivo físico (PDO) en el bus VPCI. Esta solicitud se debe realizar desde IRQL = PASSIVE_LEVEL. En esta solicitud, el controlador debe establecer el parámetro InterfaceType en GUID_VPCI_INTERFACE_STANDARD.
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 | <= APC_LEVEL |
Consulte también