KSEVENT_ITEM 구조체(ks.h)

KSEVENT_ITEM 구조는 이벤트 집합 내의 특정 이벤트에 대한 미니드라이버의 지원을 설명합니다.

구문

typedef struct {
  ULONG            EventId;
  ULONG            DataInput;
  ULONG            ExtraEntryData;
  PFNKSADDEVENT    AddHandler;
  PFNKSREMOVEEVENT RemoveHandler;
  PFNKSHANDLER     SupportHandler;
} KSEVENT_ITEM, *PKSEVENT_ITEM;

멤버

EventId

이벤트 집합 내에서 이벤트의 고유 ID를 지정합니다.

DataInput

이벤트 데이터의 크기(바이트)를 지정합니다. 이벤트 데이터는 이벤트가 발생할 때 클라이언트에 알림을 받는 방법을 설명하는 KSEVENTDATA 구조로 시작하며, 필요에 따라 이벤트가 발생하는 시기를 지정하는 추가 매개 변수가 뒤따릅니다. 적어도 sizeof(KSEVENTDATA)여야 합니다.

ExtraEntryData

시스템에서 이 이벤트에 대한 각 사용 요청에 할당해야 하는 추가 메모리의 크기(바이트)를 지정합니다. 드라이버는 이 메모리를 사용하여 이벤트 요청을 추적하는 데 필요한 모든 데이터를 저장합니다. 메모리는 이벤트가 요청의 KSEVENT_ENTRY 구조를 사용하도록 설정한 직후에 할당됩니다.

AddHandler

미니드라이버 제공 AVStrMiniAddEvent 콜백 루틴에 대한 포인터입니다. 스트림 클래스 드라이버에서 사용되지 않습니다. AVStream 미니드라이버에만 해당합니다.

RemoveHandler

미니드라이버 제공 AVStrMiniRemoveEvent 콜백 루틴에 대한 포인터입니다. 스트림 클래스 드라이버에서 사용되지 않습니다. AVStream 미니드라이버에만 해당합니다.

SupportHandler

스트림 클래스 드라이버에서 사용되지 않습니다.

설명

AddHandlerRemoveHandler 멤버를 지정 하고 이벤트를 제대로 클린 않는 미니드라이버로 인해 리소스(메모리/핸들)가 누수될 수 있습니다.

요구 사항

요구 사항
헤더 ks.h(Ks.h 포함)

추가 정보

IOCTL_KS_DISABLE_EVENT

KSEVENTDATA

KSEVENT_ENTRY

KsDefaultAddEventHandler