共用方式為


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

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

備註

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

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

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

重要

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

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

規格需求

需求
最低支援的用戶端 Windows 10 (版本 1803)
標頭 vmbuskernelmodeclientlibapi.h

另請參閱

VmbChannelSizeofPacket

VmbPacketAllocate