FN_VMB_CHANNEL_INIT_SET_MAXIMUM_EXTERNAL_DATA回调函数 (vmbuskernelmodeclientlibapi.h)

[某些信息与预发行的产品有关,该产品在商业发布之前可能会进行大幅修改。 Microsoft对此处提供的信息不作任何明示或暗示的保证。

VmbChannelInitSetMaximumExternalData 函数设置数据包描述的数据的最大大小和链长度,但不直接在数据包中发送。 也就是说,ExternalDataMdl描述的缓冲区的最大大小。

语法

FN_VMB_CHANNEL_INIT_SET_MAXIMUM_EXTERNAL_DATA FnVmbChannelInitSetMaximumExternalData;

NTSTATUS FnVmbChannelInitSetMaximumExternalData(
  VMBCHANNEL Channel,
  UINT32 DataSize,
  UINT32 ChainLength
)
{...}

参数

Channel

指向内核模式客户端库(KMCL)通道的指针。

DataSize

外部数据的最大大小。

ChainLength

传入 MDL 链中内存描述符列表(MDL)的最大数目。

返回值

VmbChannelInitSetMaximumExternalData 可以返回以下状态值之一:

返回代码 描述
STATUS_SUCCESS
函数成功完成。
STATUS_INVALID_PARAMETER_1
通道 值无效或处于无效状态,例如“已禁用”。
STATUS_INVALID_PARAMETER_2
DataSize 值无效。 零 (0) 无效。
STATUS_INVALID_PARAMETER_3
ChainLength 值无效。 零 (0) 无效。

言论

KMCL 可确保环形缓冲区足够大,以发送包含指定限制中的缓冲区的数据包。

重要

此函数通过 Vmbkmcl.sys 总线驱动程序提供的 VMBus 内核模式客户端库(KMCL)接口调用。 这是从 KMCL_CLIENT_INTERFACE_V1 结构访问的客户端函数。

有关详细信息,请参阅 KMCL_CLIENT_INTERFACE_V1的“备注”部分。

要求

要求 价值
最低支持的客户端 Windows 10 版本 1803
标头 vmbuskernelmodeclientlibapi.h