IPortEvents 인터페이스(portcls.h)

인터페이스는 IPortEvents 미니포트 드라이버에서 클라이언트에 하드웨어 이벤트를 알리는 데 사용됩니다. Windows 98/Me 및 Windows 2000 이상에서는 portcls.sys 모든 포트 드라이버가 이 인터페이스를 구현하고 미니포트 드라이버에 노출합니다. 포트 드라이버가 인터페이스를 IPortEvents 지원하는지 여부를 확인하기 위해 미니포트 드라이버는 REFIID IID_IPortEvents 사용하여 IPortXxx 개체의 QueryInterface 메서드를 호출합니다. IPortEventsIUnknown 인터페이스에서 상속됩니다.

드라이버는 일반적으로 인터페이스를 IPortEvents 사용하여 하드웨어에서 생성된 볼륨을 시스템에 알리거나 변경 내용을 음소거하지만 IPortEvents 모든 유형의 이벤트 알림에 사용할 수 있습니다. IPortEvents 인터페이스는 선택적 하위 에지 포트 드라이버 인터페이스입니다. 예를 들어 믹서 애플리케이션에 제어 또는 믹서 라인 변경 내용을 알리는 데 사용할 수 있습니다. mixer API에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.

미니포트 드라이버는 자동화 테이블을 통해 속성을 노출하는 것과 동일한 방식으로 이벤트를 노출합니다( PCAUTOMATION_TABLE 참조). 미니포트 드라이버에서 노출되는 다음 개체는 속성 및/또는 이벤트를 포함하는 자동화 테이블을 지정할 수 있습니다.

  • 미니포트 드라이버가 구현하는 필터
  • 필터가 노출하는 각 핀
  • 필터가 노출하는 각 노드
자동화 테이블의 각 이벤트 항목은 다음을 지정하는 PCEVENT_ITEM 형식의 구조입니다.
  • 이벤트 집합
  • 집합 내의 이벤트
  • 지원 옵션을 나타내는 플래그
  • 이벤트에 대한 처리기에 대한 함수 포인터
어댑터 드라이버가 시작되고 포트/미니포트 드라이버 쌍이 시스템에 필터로 등록되면 믹서 API 호출을 KS 명령으로 WDM 오디오 드라이버로 변환하는 WDMAud 시스템 드라이버가 각 포트/미니포트 드라이버 쌍을 열고 해당 기능을 조사합니다. 이 프로세스 중에 WDMAud는 하드웨어 이벤트를 지원하는 컨트롤 노드를 검색하여 미니포트 드라이버의 필터 토폴로지를 트래버스합니다. 이벤트는 이벤트 집합 GUID KSEVENTSETID_AudioControlChange 및 이벤트 IDKSEVENT_CONTROL_CHANGE 조합하여 표시됩니다. WdmAud는 이러한 항목을 발견하면 이벤트를 사용하도록 설정하여 이벤트 클라이언트로 효과적으로 등록합니다. 그 후 미니포트 드라이버가 이벤트에 신호를 표시할 때마다 WDMAud에 알림이 표시되어 클라이언트에 적절한 창 메시지가 생성됩니다.

자동화 테이블에서 이벤트를 노출하는 것 외에도 이벤트를 노출해야 하는 미니포트 드라이버는 포트 드라이버에서 해당 IPortEvents 인터페이스를 쿼리해야 합니다.

이 섹션에서는 이벤트 요청을 처리하기 위한 다음 루틴에 대해서도 설명합니다.

Eventhandler

상속

IPortEvents 인터페이스는 IUnknown 인터페이스에서 상속됩니다.

메서드

IPortEvents 인터페이스에는 이러한 메서드가 있습니다.

 
IPortEvents::AddEventToEventList

AddEventToEventList 메서드는 포트 드라이버의 이벤트 목록에 이벤트를 추가합니다.
IPortEvents::GenerateEventList

GenerateEventList 메서드는 포트 드라이버의 이벤트 항목 목록을 통해 클라이언트에 특정 이벤트가 발생했음을 알 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 portcls.h