It is possible to create audio subdevices dynamically with AVStream - in
addition to KsCreateFilterFactor, you may also need to call
KsFilterFactorySetDeviceClassesState for things to work properly. You
may also need to create the appropriate WDM interface.
AVStream is the Microsoft recommened way to go for external devices. The driver I've been developing for our FireWire boxes uses AVStream for MIDI and audio. AVStream will (supposedly) continue to work under Vista.
It is a fair amount of pain because there aren't any samples. At the end of the day, you end up creating a filter that looks the same as it would with PortCls. You also have to add support for things like KSPROPERTY_AUDIO_POSITION yourself, instead of PortCls doing it for you.
Sorry to take so long to get back to you-
WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/