NdisMWriteConfigBlock 函数 (ndis.h)
PCI Express (PCIe) 虚拟函数的微型端口驱动程序 (VF) 调用 NdisMWriteConfigBlock 函数将数据写入 VF 配置块。 VF 配置块上的写入操作由网络适配器的 PCIe 物理功能 (PF) 的微型端口驱动程序处理。
语法
NDIS_STATUS NdisMWriteConfigBlock(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] ULONG BlockId,
[in] PVOID Buffer,
[in] ULONG Length
);
参数
[in] NdisMiniportHandle
网络适配器句柄 NDIS 传递给 MiniportInitializeEx 的 MiniportAdapterHandle 参数。
[in] BlockId
一个 ULONG 值,该值指定要写入的配置块的标识符。 此标识符是独立硬件供应商 (IHV) 专有的,仅供网络适配器上的 PF 和 VF 微型端口驱动程序使用。
[in] Buffer
指向调用方分配的缓冲区的指针,该缓冲区包含要写入的配置数据。
[in] Length
要写入配置块的字节数。
返回值
NdisMWriteConfigBlock 可以返回以下状态值之一。
返回代码 | 说明 |
---|---|
|
写入操作已成功完成。 |
|
写操作失败。 |
注解
VF 微型端口驱动程序调用 NdisMWriteConfigBlock ,以启动 PF 微型端口驱动程序对 VF 配置数据的反向通道写入请求。 通知此请求后,PF 驱动程序会将数据写入指定的 VF 配置块。
VF 配置块用于 PF 和 VF 微型端口驱动程序之间的反向通道通信。 IHV 可以为设备定义一个或多个 VF 配置块。 每个 VF 配置块都有 IHV 定义的格式、长度和块 ID。
与虚拟总线驱动程序交互
如果独立硬件供应商 (IHV) 提供虚拟总线驱动程序 (VBD) 作为其 SR-IOV 驱动程序包的一部分,则其微型端口驱动程序不得调用 NdisMWriteConfigBlock。 相反,驱动程序必须通过专用信道与 VBD 进行交互,并请求 VBD 调用 WriteVfConfigBlock。 此函数从基础虚拟 PCI ( VPCI) 总线驱动程序支持的 GUID_VPCI_INTERFACE_STANDARD 接口公开。在 Hyper-V 子分区的来宾操作系统中运行的 VBD 可以通过向 VPCI 总线上的 PDO) (物理设备对象发出IRP_MN_QUERY_INTERFACE请求来查询GUID_VPCI_INTERFACE_STANDARD接口。 必须从 IRQL = PASSIVE_LEVEL 发出此请求。 在此请求中,驱动程序必须将 InterfaceType 参数设置为 GUID_VPCI_INTERFACE_STANDARD。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 不支持,在 NDIS 6.30 及更高版本中受支持。 |
最低受支持的服务器 | Windows Server 2012 |
目标平台 | 通用 |
标头 | ndis.h (包括 Ndis.h) |
Library | Ndis.lib |
IRQL | <= APC_LEVEL |
另请参阅