共用方式為


FN_VMB_PACKET_SEND回呼函式 (vmbuskernelmodeclientlibapi.h)

[某些資訊與發行前發行的產品有關,在正式發行前可能會大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。]

VmbPacketSend 函式會傳送封包緩衝區或外部數據記憶體描述元清單中的數據, (MDL) 。 函式會將該數據與 VMBus 封包對象產生關聯,代表整個交易存留期的封包。

語法

FN_VMB_PACKET_SEND FnVmbPacketSend;

NTSTATUS FnVmbPacketSend(
  __drv_aliasesMem VMBPACKET PacketObject,
  PVOID Buffer,
  UINT32 BufferLength,
  PMDL ExternalDataMdl,
  UINT32 Flags
)
{...}

參數

PacketObject

VMBus 封包物件的句柄。

Buffer

緩衝區,包含透過 VMBus 通道緩衝區傳送的命令封包。

BufferLength

Buffer 參數中緩衝區的長度,以位元組為單位。

ExternalDataMdl

描述與封包相關聯的數據緩衝區的 MDL。

Flags

標誌。 以下是相關的旗標:

意義
VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION
此封包無法視為完成,而且在完成封包從相反端點返回之前,無法釋放其資源。
VMBUS_CHANNEL_FORMAT_FLAG_PAGED_BUFFER
內嵌緩衝區已分頁,而且必須據以處理,這表示必須在輸入 DPC 層級之前加以複製。 探查使用者模式緩衝區或處理存取違規是呼叫者的責任。

傳回值

如果作業成功,則傳回STATUS_SUCCESS,否則傳回適當的NTSTATUS錯誤碼。

備註

如需其他傳送封包方式的資訊,請參閱 VmbPacketSendWithExternalMdlVmbChannelSendSynchronousRequestVmbPacketSendWithExternalPfns 函式。

重要

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

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

規格需求

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

另請參閱

VmbChannelSendSynchronousRequest

VmbPacketSendWithExternalMdl

VmbPacketSendWithExternalPfns