FN_VMB_PACKET_INITIALIZE回调函数 (vmbuskernelmodeclientlibapi.h)
[某些信息与预发行的产品有关,该产品在商业发布之前可能会进行大幅修改。 Microsoft对此处提供的信息不作任何明示或暗示的保证。
VmbPacketInitialize 函数初始化缓冲区以包含 VMBus 数据包。
语法
FN_VMB_PACKET_INITIALIZE FnVmbPacketInitialize;
NTSTATUS FnVmbPacketInitialize(
VMBCHANNEL Channel,
VMBPACKET VmbPacket,
UINT32 ByteCount
)
{...}
参数
Channel
通道的句柄。
VmbPacket
用于存储 VMBus 数据包的缓冲区。
ByteCount
Buffer的大小(以字节为单位)。
返回值
VmbPacketInitialize 返回以下状态代码:
返回代码 | 描述 |
---|---|
|
函数成功完成。 |
|
ByteCount 的值无效。 它需要大于最大数据包大小加上 void 指针的大小。 |
言论
缓冲区的大小必须至少是使用 VmbChannelSizeofPacket 函数计算的大小。
VmbPacketInitialize 是 VmbPacketAllocate 函数的替代方法。 如果调用方为数据包对象提供内存,请使用当前函数。
数据包的初始完成例程无效,必须在发送数据包之前设置。
重要
此函数通过 Vmbkmcl.sys 总线驱动程序提供的 VMBus 内核模式客户端库(KMCL)接口调用。 这是从 KMCL_CLIENT_INTERFACE_V1 结构访问的客户端函数。
有关详细信息,请参阅 KMCL_CLIENT_INTERFACE_V1的“备注”部分。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 版本 1803 |
标头 | vmbuskernelmodeclientlibapi.h |