다음을 통해 공유


EVT_VMB_CHANNEL_PROCESS_PACKET 콜백 함수(vmbuskernelmodeclientlibapi.h)

[일부 정보는 상업적으로 출시되기 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보와 관련하여 명시적이거나 묵시적인 보증을 하지 않습니다.]

EvtVmbChannelProcessPacket 콜백 함수는 패킷이 들어오는 링 버퍼에 도착하면 호출됩니다.

통사론

EVT_VMB_CHANNEL_PROCESS_PACKET EvtVmbChannelProcessPacket;

void EvtVmbChannelProcessPacket(
  [in] VMBCHANNEL Channel,
  [in] VMBPACKETCOMPLETION Packet,
  [in] PVOID Buffer,
  [in] UINT32 BufferLength,
  [in] UINT32 Flags
)
{...}

매개 변수

[in] Channel

패킷이 도착하는 채널입니다.

[in] Packet

트랜잭션을 사용 중지할 수 있는 경우 KMCL(커널 모드 클라이언트 라이브러리)에 이 패킷을 식별하는 완료 컨텍스트입니다.

[in] Buffer

반대쪽 엔드포인트에서 보낸 패킷입니다. 이 값은 VMBus 및 KMCL 헤더를 포함하지 않습니다.

[in] BufferLength

Buffer 매개 변수의 길이(바이트)입니다.

[in] Flags

플래그. 가능한 값은 다음과 같습니다.

의미
VMBUS_CHANNEL_PROCESS_PACKET_FLAGS
0x1
패킷은 외부 데이터를 참조합니다. 이 데이터는 VmbChannelPacketGetExternalData 함수를 사용하여 검색할 수 있습니다.

반환 값

없음

발언

클라이언트 드라이버는 VmbChannelInitSetProcessPacketCallbacks 함수를 사용하여 이 콜백 함수의 구현을 등록합니다.

이 함수를 호출할 때마다 결국 VmbChannelPacketComplete 함수를 호출해야 합니다.

채널이 작업자 스레드에 대한 패킷 처리를 지연하도록 구성되지 않은 한 이 콜백 함수는 DISPATCH_LEVEL 이하에서 호출할 수 있습니다.

요구 사항

요구
대상 플랫폼 Windows
헤더 vmbuskernelmodeclientlibapi.h(VmbusKernelModeClientLibApi.h 포함)
IRQL <=DISPATCH_LEVEL

참고 항목

VmbChannelInitSetProcessPacketCallbacks

VmbChannelPacketComplete

VmbChannelPacketGetExternalData