EVT_VMB_CHANNEL_STARTED回呼函式 (vmbuskernelmodeclientlibapi.h)
[某些資訊與發行前發行的產品有關,在正式發行前可能會大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。]
當通道已完整設定,但在傳遞任何封包之前,會在任一端點叫用 EvtVmbChannelStarted 回呼函式。 當相反的端點開啟通道,或在關閉通道之後重新開啟它時,就會發生這種情況。
語法
EVT_VMB_CHANNEL_STARTED EvtVmbChannelStarted;
void EvtVmbChannelStarted(
[in] VMBCHANNEL Channel
)
{...}
參數
[in] Channel
啟動的通道。
傳回值
無
備註
建立通道之後,客戶端驅動程式可以使用 VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT 函式來指定狀態變更的回呼函式,包括 EvtVmbChannelStarted。
如果已暫停的通道開啟或已開啟的通道啟動,核心模式用戶端連結庫 (KMCL) 呼叫 EvtVmbChannelStarted 之後呼叫 EvtVmbChannelOpened 回呼。 EvtVmbChannelStarted 可以呼叫 VmbPacketSend、 VmbPacketSendWithExternalMdl 和 VmbPacketSendWithExternalPfns 函式來排入傳出封包的佇列。 因為傳入佇列目前未執行,所以此回呼不得封鎖傳入封包或完成。
大部分使用 KMCL 的驅動程式都不會實作此回呼。 替代方式是 EvtVmbChannelPostStarted 回呼函式。
等候傳送的封包完成,例如 由 VmbChannelSendSynchronousRequest 函式傳回,永遠不會傳回,因為叫用此回呼時不會流動封包。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | vmbuskernelmodeclientlibapi.h (包含 VmbusKernelModeClientLibApi.h) |
IRQL | PASSIVE_LEVEL |
另請參閱
VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT