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, VmbPacketSendWithExternalMdl 및 VmbPacketSendWithExternalPfns 함수를 호출하여 나가는 패킷을 큐에 추가할 수 있습니다. 이 시점에서 들어오는 큐가 실행되고 있지 않으므로 이 콜백은 들어오는 패킷 또는 완료를 차단해서는 안 됩니다.
KMCL을 사용하는 대부분의 드라이버는 이 콜백을 구현하지 않습니다. 대안은 EvtVmbChannelPostStarted 콜백 함수입니다.
VmbChannelSendSynchronousRequest 함수와 같이 전송된 패킷이 완료될 때까지 기다리면 이 콜백이 호출될 때 패킷이 흐르지 않으므로 를 반환하지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | vmbuskernelmodeclientlibapi.h(VmbusKernelModeClientLibApi.h 포함) |
IRQL | PASSIVE_LEVEL |
추가 정보
VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT