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 포함) |