PCEVENT_ITEM 구조체(portcls.h)

PCEVENT_ITEM 구조는 특정 필터, 핀 또는 노드에서 지원하는 이벤트를 설명하는 데 사용됩니다.

구문

typedef struct {
  const GUID         *Set;
  ULONG              Id;
  ULONG              Flags;
  PCPFNEVENT_HANDLER Handler;
} PCEVENT_ITEM, *PPCEVENT_ITEM;

멤버

Set

이벤트 집합을 지정합니다. 이 멤버는 이벤트 집합을 고유하게 식별하는 GUID에 대한 포인터입니다. 오디오 드라이버 이벤트 집합의 이벤트 집합 GUID 목록을 참조하세요.

Id

이벤트 ID를 지정합니다. 이 멤버는 이벤트 집합 내의 이벤트 항목을 식별합니다. 이벤트 집합에 N개 항목이 포함된 경우 유효한 이벤트 ID는 0~N-1 범위의 정수입니다.

Flags

이벤트의 유형을 지정합니다. 이 멤버는 다음 값 중 하나로 설정됩니다.

PCEVENT_ITEM_FLAG_ENABLE

이 이벤트 유형에 대해 이벤트 알림을 사용하도록 설정해야 했음을 나타냅니다. 드라이버는 클라이언트가 명시적으로 사용하지 않도록 설정할 때까지 이벤트 알림을 계속해야 합니다.

PCEVENT_ITEM_FLAG_ONESHOT

이 이벤트의 다음 발생에 대해서만 이벤트 알림을 사용하도록 설정해야 했음을 나타냅니다. 클라이언트는 이벤트가 발생한 후 이벤트를 사용하지 않도록 설정하지 않습니다(및 사용하지 않아야 함).

PCEVENT_ITEM_FLAG_BASICSUPPORT

클라이언트가 이 플래그를 지정하면 드라이버가 이벤트를 지원하는 경우 STATUS_SUCCESS 반환하고, 그렇지 않으면 오류 코드를 반환합니다.

Handler

미니포트 드라이버의 이벤트 처리기 루틴에 대한 포인터입니다. 이 멤버는 다음과 같이 정의된 PCPFNEVENT_HANDLER 형식의 함수 포인터입니다.

  typedef NTSTATUS (*PCPFNEVENT_HANDLER)
  (
      IN PPCEVENT_REQUEST  EventRequest
  );

처리기 루틴을 호출할 때 호출자는 호출자가 할당한 PCEVENT_REQUEST 구조체에 대한 포인터인 단일 호출 매개 변수를 전달합니다.

설명

PCEVENT_ITEM 구조체는 자동화 테이블의 특정 이벤트 항목을 지정합니다. PCAUTOMATION_TABLE 구조체는 PCEVENT_ITEM 구조체의 배열을 가리킵니다.

WDM 오디오에서 이벤트 요청의 대상은 핀 instance 또는 핀의 노드입니다. 필터 instance 이벤트 요청의 대상이 될 수 없습니다.

요구 사항

요구 사항
헤더 portcls.h(Portcls.h 포함)

추가 정보

PCAUTOMATION_TABLE

PCEVENT_REQUEST