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는VmbPacketSend, VmbPacketSendWithExternalMdlVmbPacketSendWithExternalPfns 함수를 호출하여 나가는 패킷을 큐에 추가할 수 있습니다. 이 시점에서 들어오는 큐가 실행되고 있지 않으므로 이 콜백은 들어오는 패킷 또는 완료를 차단해서는 안 됩니다.

KMCL을 사용하는 대부분의 드라이버는 이 콜백을 구현하지 않습니다. 대안은 EvtVmbChannelPostStarted 콜백 함수입니다.

VmbChannelSendSynchronousRequest 함수와 같이 전송된 패킷이 완료될 때까지 기다리면 이 콜백이 호출될 때 패킷이 흐르지 않으므로 를 반환하지 않습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 vmbuskernelmodeclientlibapi.h(VmbusKernelModeClientLibApi.h 포함)
IRQL PASSIVE_LEVEL

추가 정보

EvtVmbChannelOpened

EvtVmbChannelPostStarted

VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT

VmbChannelSendSynchronousRequest

VmbPacketSend

VmbPacketSendWithExternalMdl

VmbPacketSendWithExternalPfns