다음을 통해 공유


KsGenerateDataEvent 함수(ks.h)

KsGenerateDataEvent 함수는 이벤트 항목 구조 및 콜백 데이터가 제공되면 표준 이벤트 알림 중 하나를 생성합니다. 이렇게 하면 디바이스가 이벤트 알림을 생성해야 하는 시기를 결정할 수 있지만 이 도우미 함수를 사용하여 실제 알림을 수행할 수 있습니다.

구문

KSDDKAPI NTSTATUS KsGenerateDataEvent(
  [in] PKSEVENT_ENTRY EventEntry,
  [in] ULONG          DataSize,
  [in] PVOID          Data
);

매개 변수

[in] EventEntry

이벤트 데이터를 참조하는 이벤트 항목 구조를 지정합니다. 이 정보는 수행할 알림 유형을 결정하는 데 사용됩니다. 알림 유형이 미리 정의된 표준 중 하나가 아닌 경우 오류가 반환됩니다. 반복되지 않는 단일 이벤트의 경우 함수에서 반환될 때 이 항목이 유효하지 않습니다. 따라서 이벤트 목록을 열거하는 모든 코드는 이 이벤트를 함수에 전달하기 전에 목록에서 다음 이벤트를 획득하기 위해 미리 증가해야 합니다.

[in] DataSize

전달된 Data 매개 변수의 크기(바이트)를 지정합니다.

[in] Data

클라이언트 콜백에 전달할 데이터를 가리킵니다. 이 데이터는 이벤트가 사용하도록 설정되었을 때 설정된 미리 할당된 버퍼 슬롯 중 하나에 복사됩니다. 데이터 크기는 원래 할당된 크기보다 작아야 합니다. 그렇지 않으면 이벤트가 실패합니다.

반환 값

KsGenerateDataEvent 함수는 성공하거나 실패하면 예외 또는 메모리 오류를 반환하는 STATUS_SUCCESS 반환합니다.

설명

이 함수가 호출되기 전에 이벤트 목록 잠금을 획득했다고 가정합니다. 이 함수는 이벤트 항목에 대해 RemoveHandler 를 호출할 수 있습니다. 따라서 함수는 잠금의 IRQ 수준보다 높은 수준에서 호출되어서는 안 되며 Remove 함수는 이러한 IRQ 수준에서 호출되는 것을 처리할 수 있어야 합니다.

이 함수는 클라이언트에 콜백을 통해 데이터를 다시 전달하는 이벤트에 특히 적합합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ks.h(Ks.h 포함)
라이브러리 Ks.lib

추가 정보

KSBUFFER_ITEM