次の方法で共有


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) は、evtVmbChannelOpened コールバック 呼び出した後、EvtVmbChannelStarted 呼び出します。 EvtVmbChannelStarted VmbPacketSendVmbPacketSendWithExternalMdlおよび vmbPacketSendWithExternalPfns 関数を呼び出して、送信パケットをキューに登録できます。 この時点で受信キューが実行されていないため、このコールバックは受信パケットまたは完了をブロックしてはなりません。

KMCL を使用するほとんどのドライバーでは、このコールバックは実装されません。 別の方法として、EvtVmbChannelPostStarted コールバック関数 があります。

VmbChannelSendSynchronousRequest 関数などによって送信されたパケットが完了するのを待機すると、このコールバックが呼び出されたときにパケットがフローしないため、戻りません。

必要条件

要件 価値
ターゲット プラットフォーム ウィンドウズ
ヘッダー vmbuskernelmodeclientlibapi.h (VmbusKernelModeClientLibApi.h を含む)
IRQL PASSIVE_LEVEL

関連項目

EvtVmbChannelOpened

EvtVmbChannelPostStarted

VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT

VmbChannelSendSynchronousRequest

VmbPacketSend する

VmbPacketSendWithExternalMdl

VmbPacketSendWithExternalPfns する