FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST回呼函式 (vmbuskernelmodeclientlibapi.h)
[某些資訊與發行前發行的產品有關,在正式發行前可能會大幅修改。 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) ,如果封包不在通道緩衝區中,則不會排入佇列。
傳回值
傳回碼 | Description |
---|---|
|
函式成功完成。 |
|
封包不符合緩衝區,且未排入佇列。 |
|
封包已取消。 |
|
通道正在關閉。 |
備註
用戶端可以使用任何參數組合來執行此函式。
如果未設定 VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION 旗標,則根目錄只能呼叫這個 *Timeout == 0
。
重要
此函式是透過 VMBus 核心模式用戶端連結庫 (KMCL) 介面呼叫,由 Vmbkmcl.sys 總線驅動程式提供。 這是從 KMCL_CLIENT_INTERFACE_V1 結構存取的用戶端函式。
如需詳細資訊,請參閱 KMCL_CLIENT_INTERFACE_V1的一節。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 (版本 1803) |
標頭 | vmbuskernelmodeclientlibapi.h |