KsEnableEvent 함수(ks.h)
KsEnableEvent 함수는 IOCTL_KS_ENABLE_EVENT 통해 요청된 이벤트를 사용하도록 설정합니다. 집합에서 정의한 모든 이벤트 식별자에 응답합니다. 이 함수는 PASSIVE_LEVEL 호출할 수 있습니다.
통사론
KSDDKAPI NTSTATUS KsEnableEvent(
[in] PIRP Irp,
[in] ULONG EventSetsCount,
[in] const KSEVENT_SET *EventSet,
[in, out] PLIST_ENTRY EventsList,
[in, optional] KSEVENTS_LOCKTYPE EventsFlags,
[in, optional] PVOID EventsLock
);
매개 변수
[in] Irp
처리 중인 사용 요청이 있는 IRP를 지정합니다. IRP와 연결된 파일 개체는 이벤트를 사용하지 않도록 설정하면 나중에 비교할 수 있는 이벤트와 함께 저장됩니다.
[in] EventSetsCount
전달되는 이벤트 집합 구조의 수를 나타냅니다.
[in] EventSet
이벤트 집합 정보 목록에 대한 포인터를 지정합니다.
[in, out] EventsList
사용 이벤트의 KSEVENT_SET 경우 이벤트 집합에 대한 AddHandler는 NULL 이벤트가 추가될 KSEVENT_ENTRY 항목 목록의 헤드를 가리킵니다. 이 함수는 적어도 이벤트의 하위 집합에 대해 단일 목록을 가정합니다.
[in, optional] EventsFlags
이벤트 목록에 액세스하는 데 사용할 제외 잠금 유형(있는 경우)을 지정하는 KSEVENTS_LOCKTYPE 플래그를 지정합니다. 플래그가 설정되지 않은 경우 잠금이 수행되지 않습니다. 처리기가 이미 지정된 경우 이 매개 변수는 무시됩니다.
[in, optional] EventsLock
KSEVENT_SET 경우 사용하도록 설정된 이벤트가 포함된 이벤트 집합에 대한 AddHandler는 NULL 목록에 대한 액세스를 동기화하는 데 사용됩니다. EventsFlags플래그가 설정되지 않은 경우 이 값은 NULL 수 있습니다.
반환 값
KsEnableEvent 함수는 성공하면 STATUS_SUCCESS 반환하거나, 실패할 경우 활성화되는 이벤트와 관련된 오류를 반환합니다. 함수는 항상 IO_STATUS_BLOCK 설정합니다. PIRP의 정보 필드입니다. IRP 내의 IoStatus 요소를 0으로 설정합니다. IO_STATUS_BLOCK 설정하지 않습니다. 상태 필드도 IRP를 완료하지 않습니다.
발언
미니 드라이버는 KsEnableEvent호출하지 않습니다. 순수 KS 드라이버 또는 클래스 드라이버만 이 루틴을 호출해야 합니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | ks.h(Ks.h 포함) |
라이브러리 | Ks.lib |