Compartir a través de


Función NdisMWriteConfigBlock (ndis.h)

Un controlador de miniport para una función virtual de 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 miniporte de la función física PCIe (PF) del adaptador de red.

Nota NdisMWriteConfigBlock solo debe llamarlo el controlador de miniport para el VF de un 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 miniport 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
NDIS_STATUS_SUCCESS
La operación de escritura se completó correctamente.
NDIS_STATUS_FAILURE
Error en la operación de escritura.

Observaciones

El controlador de miniporte VF llama a NdisMWriteConfigBlock para iniciar una solicitud de escritura backchannel de los datos de configuración de VF por el controlador de miniport 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 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.

Nota Los datos de cada bloque de configuración de VF solo los usan los controladores de miniporte PF y VF.
 
Para obtener más información sobre la comunicación backchannel dentro de la interfaz de virtualización de E/S raíz única (SR-IOV), consulte SR-IOV comunicación backcanal PF/VF.

interfase a un controlador de Virtual Bus

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 miniport 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 la llamada de VBD WriteVfConfigBlock. Esta función se expone desde la interfaz de GUID_VPCI_INTERFACE_STANDARD compatible con el controlador de bus pci virtual (VPCI) subyacente.

El VBD que se ejecuta en un sistema operativo invitado de Hyper-V partición secundaria puede consultar la interfaz 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 debe realizarse desde IRQL = PASSIVE_LEVEL. En esta solicitud, el controlador debe establecer el parámetro InterfaceType en GUID_VPCI_INTERFACE_STANDARD.

Requisitos

Requisito Valor
cliente mínimo admitido Ninguna compatible, compatible con NDIS 6.30 y versiones posteriores.
servidor mínimo admitido Windows Server 2012
de la plataforma de destino de Universal
encabezado de ndis.h (incluya Ndis.h)
biblioteca de Ndis.lib
irQL <= APC_LEVEL

Consulte también

GUID_VPCI_INTERFACE_STANDARD

writeVfConfigBlock