다음을 통해 공유


KsGenerateEvents 함수(ks.h)

KsGenerateEvents 함수는 개체의 이벤트 목록에 있는 표시된 형식의 이벤트를 생성합니다.

구문

void KsGenerateEvents(
  [in]           PVOID                      Object,
  [in, optional] const GUID                 *EventSet,
  [in]           ULONG                      EventId,
  [in]           ULONG                      DataSize,
  [in, optional] PVOID                      Data,
  [in, optional] PFNKSGENERATEEVENTCALLBACK CallBack,
  [in, optional] PVOID                      CallBackContext
);

매개 변수

[in] Object

이벤트를 생성할 개체입니다. AVStream 필터 또는 핀 개체일 수 있습니다.

[in, optional] EventSet

생성할 이벤트를 결정하기 위해 일치시킬 이벤트 집합 GUID입니다. 이 매개 변수가 NULL인 경우 일치 이벤트를 결정하는 데 GUID 설정이 고려되지 않습니다.

[in] EventId

생성할 이벤트를 결정하기 위해 일치시킬 이벤트 ID입니다.

[in] DataSize

데이터 이벤트를 생성할 데이터의 크기(바이트)입니다.

[in, optional] Data

이벤트 알림에 포함할 데이터 버퍼에 대한 포인터입니다. 드라이버가 알림을 통해 추가 정보를 전달할 필요가 없는 경우 이 선택적 매개 변수를 NULL로 설정합니다.

[in, optional] CallBack

지정된 이벤트를 생성해야 하는지 여부를 확인하기 위해 호출되는 호출자 지정 함수에 대한 포인터입니다. NULL인 경우 이벤트를 생성해야 하는지 여부를 확인하기 위해 콜백 확인이 수행되지 않습니다(*EventSet *및 EventId만 사용됨).

[in, optional] CallBackContext

콜백 함수 CallBack에 전달되는 호출자 지정 컨텍스트에 대한 포인터입니다.

반환 값

없음

설명

이 함수를 호출할 때 미니드라이버에서 DataCallBackContext 를 고정되고 페이지가 지정되지 않는 데이터 세그먼트에 배치해야 합니다. 또한 콜백 은 DISPATCH_LEVEL. 콜백 함수는 잠긴 세그먼트에 있어야 하며 IRQL = DISPATCH_LEVEL 실행되도록 준비해야 합니다. DX8에 추가 문제가 있습니다. EventSet 은 잠긴 데이터 세그먼트에 있어야 합니다.

미니드라이버에서는 일반적으로 이 함수를 직접 호출하지 않고 대신 적절한 캐스팅을 수행하는 버전 중 하나인 KsFilterGenerateEvents 또는 KsPinGenerateEvents를 사용합니다.

이벤트가 *개체의 *이벤트 목록에 있고 *EventId *가 이벤트의 ID와 일치하고 , EventSet 이 이벤트의 집합 GUID와 일치하거나 NULL이고, *CallBack *이 NULL 이거나 일치에 권한을 부여하는 경우 이벤트가 생성됩니다.

CallBack 은 추가 일치 결정에 사용되는 호출자 지정 콜백입니다. 다음과 같이 프로토타입화됩니다.

BOOLEAN CallBack (IN PVOID Context, IN PKSEVENT_ENTRY EventEntry);

AVStream은 이 콜백의 Context 매개 변수에서 KsGenerateEvents 루틴의 매개 변수 CallBackContext의 내용을 전달합니다. EventEntry 는 생성될 이벤트를 지정하는 KSEVENT_ENTRY 구조체에 대한 포인터입니다. 이 이벤트를 생성해야 하는 경우 콜백 함수는 TRUE 를 반환해야 합니다.

자세한 내용은 AVStream 및 KS이벤트의 이벤트 처리를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Microsoft Windows XP 이상 운영 체제 및 DirectX 8.0 이상 DirectX 버전에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ks.h(Ks.h 포함)
라이브러리 Ks.lib
IRQL <=DISPATCH_LEVEL

추가 정보

KSEVENT_ENTRY

KsAddEvent

KsFilterGenerateEvents

KsPinGenerateEvents