共用方式為


FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL回呼函式 (vmbuskernelmodeclientlibapi.h)

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

VmbChannelCreateGpadlFromMdl 函式會建立描述用戶端緩衝區的客體實體位址描述項清單 (GPADL) 。 GPADL 可用於伺服器來存取緩衝區。

語法

FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL FnVmbChannelCreateGpadlFromMdl;

NTSTATUS FnVmbChannelCreateGpadlFromMdl(
  VMBCHANNEL Channel,
  UINT32 Flags,
  PMDL Mdl,
  UINT32 StartOffsetWithinMdl,
  UINT32 DataLengthWithinMdl,
  PUINT32 GpadlHandle
)
{...}

參數

Channel

通道的句柄。

Flags

標誌。 以下是可能的值:

意義
VMBUS_CHANNEL_GPADL_READ_ONLY
如果您指定這個值,則緩衝區是唯讀的。 否則,伺服器可以寫入緩衝區。 這不是安全性措施,但可以改善快照集和即時移轉效能。

Mdl

描述緩衝區的記憶體描述項清單指標 (MDL) 鏈結。 緩衝區可能會有多個片段,這些片段會使用 MDL 下一個指標鏈結。

StartOffsetWithinMdl

MDL 中要啟動對應的位移,以位元組為單位。

DataLengthWithinMdl

緩衝區鏈結的長度,以位元組為單位。 如果此值為零 (0) ,請使用 直到 MDL 結尾為止。

GpadlHandle

所建立 MDL 的 GPADL 句柄。 將此專案傳送至伺服器,以搭配 VmbChannelMapGpadl 函 式使用。

傳回值

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

備註

當此函式傳回時,伺服器端點可以呼叫 VmbChannelMapGpadl,因為 VMBus 已經將 GPADL 描述傳送至相反端點並收到確認。

必須使用 VmbChannelDeleteGpadl 函 式來刪除 GPADL。

重要

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

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

規格需求

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

另請參閱

VmbChannelDeleteGpadl

VmbChannelMapGpadl