[某些資訊與發行前的產品有關,在正式發行前可能會大幅修改。 Microsoft未就此處提供的資訊提供任何明示或默示擔保。
VmbChannelSendSynchronousRequest 函式會將封包傳送至相反的端點,並等候回應。
語法
FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST FnVmbChannelSendSynchronousRequest;
NTSTATUS FnVmbChannelSendSynchronousRequest(
VMBCHANNEL Channel,
PVOID Buffer,
UINT32 BufferSize,
PMDL ExternalDataMdl,
UINT32 Flags,
PVOID CompletionBuffer,
PUINT32 CompletionBufferSize,
PLARGE_INTEGER Timeout
)
{...}
參數
Channel
通道的句柄。
Buffer
要傳送的數據。
BufferSize
要傳送的數據大小,以位元組為單位。
ExternalDataMdl
描述要傳送之額外緩衝區的記憶體描述元清單 (MDL)。
Flags
標準旗標。
CompletionBuffer
用來儲存完成封包結果的緩衝區。
CompletionBufferSize
CompletionBuffer 值的大小,以位元組為單位。 此值必須四捨五入到最接近的8個字節,否則函式會失敗。 成功時,會傳回寫入到 CompletionBuffer的位元元組數目。
Timeout
KeWaitForSingleObject 路由樣式的逾時。 經過這個時間之後,封包就會取消。 若逾時為零 (0),如果封包在通道緩衝區中沒有 fir,則不會排入佇列。
傳回值
傳回碼 | 描述 |
---|---|
|
函式成功完成。 |
|
封包不符合緩衝區,且未排入佇列。 |
|
封包已取消。 |
|
通道正在關閉。 |
言論
用戶端可以使用任何參數組合來執行此函式。
根目錄只有在未設定 *Timeout == 0
且未設定 VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION 旗標時,才能呼叫這個 。
重要
此函式是透過 Vmbkmcl.sys 總線驅動程式提供的 VMBus 核心模式用戶端連結庫 (KMCL) 介面來呼叫。 這是從 KMCL_CLIENT_INTERFACE_V1 結構存取的用戶端函式。
如需詳細資訊,請參閱 KMCL_CLIENT_INTERFACE_V1的一節。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 版本 1803 |
標頭 | vmbuskernelmodeclientlibapi.h |