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_Acoustic_Echo_Cancel
KSPROPSETID_DirectSound3DBuffer
KSPROPSETID_DirectSound3DListener
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:
Filter, Pin, and Node Properties
Basic Support Queries for Audio Properties
Audio Endpoint Builder Algorithm
Dynamic Subdevice Registration and Unregistration
Friendly Names for Audio Endpoint Devices
Pin Data-Range and Intersection Properties