共用方式為


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 會傳回下列狀態代碼:

傳回碼 描述
STATUS_SUCCESS
函式已順利完成。
STATUS_INVALID_PARAMETER_3
ByteCount 的值無效。 它必須大於封包大小上限加上 void 指標的大小。

言論

緩衝區的大小至少必須是使用 VmbChannelSizeofPacket 函式計算的大小。

VmbPacketInitializeVmbPacketAllocate 函式的替代方案。 如果呼叫端提供封包物件的記憶體,請使用目前的函式。

封包的初始完成例程無效,而且必須在傳送封包之前設定。

重要

此函式是透過 Vmbkmcl.sys 總線驅動程式提供的 VMBus 核心模式用戶端連結庫 (KMCL) 介面來呼叫。 這是從 KMCL_CLIENT_INTERFACE_V1 結構存取的用戶端函式。

如需詳細資訊,請參閱 KMCL_CLIENT_INTERFACE_V1的一節。

要求

要求 價值
最低支援的用戶端 Windows 10 版本 1803
標頭 vmbuskernelmodeclientlibapi.h

另請參閱

VmbChannelSizeofPacket

VmbPacketAllocate