Audio Endpoints, Properties and Events

The PortCls system driver supports a subset of the intrinsic operations that are described in KS Properties, Events, and Methods.

The port drivers in Portcls.sys support properties and events by providing handlers for some property and event requests and by forwarding other requests to the miniport drivers' handlers.

The current implementations of the WaveCyclic, WavePci, MIDI, and DMus port drivers provide the following:

  • Support for properties on a filter and its pins and nodes

  • Support for events on pins and nodes but not for events on the filter

A client can specify the handle to a filter or pin instance as the target for a property or event request. A request for a node property or event specifies a node ID in addition to a filter or pin handle. For more information, see Filter, Pin, and Node Properties.

The Topology port driver provides the following:

  • Support for properties on a filter and its nodes

  • Support for events on nodes

The pins on a topology filter represent hardwired connections that exist permanently and thus cannot be instantiated or deleted.

None of the port drivers provide support for methods on either the filter or its pins and nodes. The port drivers never handle method requests, and they never forward these requests to miniport drivers for handling.

Audio adapter drivers support some or all of the following standard property sets:

KSPROPSETID_AC3

KSPROPSETID_Acoustic_Echo_Cancel

KSPROPSETID_Audio

KSPROPSETID_DirectSound3DBuffer

KSPROPSETID_DirectSound3DListener

KSPROPSETID_DrmAudioStream

KSPROPSETID_General

KSPROPSETID_Hrtf3d

KSPROPSETID_Jack

KSPROPSETID_Pin

KSPROPSETID_Synth

KSPROPSETID_Synth_Dls

KSPROPSETID_TopologyNode

All audio drivers support the KSPROPSETID_Audio property set.

Some audio adapter drivers support the following event set:

KSEVENTSETID_AudioControlChange

In addition, audio adapter drivers are free to provide property handlers for other property sets that are defined in header file Ksmedia.h. Drivers can also define and support their own custom property and event sets, but only an application that knows about a custom property or event will be able to use it.

This section discusses audio-specific properties and events. It contains the following topics:

Audio Property Requests

Filter, Pin, and Node Properties

Audio Property Handlers

Basic Support Queries for Audio Properties

Audio Endpoint Builder Algorithm

Dynamic Subdevice Registration and Unregistration

Exposing Multichannel Nodes

Pin Category Property

Friendly Names for Audio Endpoint Devices

Audio Position Property

Pin Data-Range and Intersection Properties

Jack Description Property

Microphone Array Geometry Property

Hardware Events