[wdmaudiodev] Creating more then 32 in & out devices for a virtual audio driver.....

  • From: "Eshanye K.P" <eshanyekp@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Fri, 31 Dec 2004 07:49:33 -0800 (PST)

Hi all,

I have written a virtual audio driver based on the
framework MSVAD (Microsoft Virtual Audio Device), a
sample in recent releases of the DDK. This is written
for windows XP. I have done the .inf file in such a
way that whe i install the driver, i can see 32 in and
32 out devices in "Control Panel->sounds and audio
devices->sound playback and sound recording". The
number 32 is used because the the microsoft MNDN or
DDK help quates that windows XP (and above O/S's) do
not support more than 32 devices for each of the audio
APIs such as WaveIn and WaveOut. If i need to support
more than 32 devices for each of the virtual audio
card then what do i do ?

I have pasted the lines quoted by DDK regarding this..
I did not understand thr paragraph which says

"The limitation on the number of device interfaces
does not limit the number of devices. A subsystem
driver that manages several devices (four MIDI
devices, for instance) still requires only a single
device interface." 

Does the above paragraph indicates that there can be
32 interfaces but each interface can have devices
without limits ? Then the list shown in "control
panel->sounds and audio devices" are interfaces or
devices ? what is the API call used to add several
devices to one interface ? Actually i want to map one
IN device to an OUT device so that i can do a virtual
bridge... this configuration i should be able to make
from "control panel->sounds and audio devices" and i
want to support more than 32 in and out devices.. how
can i do it ?



------pasted from DDK Help - begin--------------------

Windows 2000 Device-Interface Limits
[This is preliminary documentation and subject to
change.]
        
In Windows 2000, the Windows multimedia functions
allow a maximum of 10 device interfaces on each of the
following APIs: waveIn, waveOut, midiIn, midiOut,
mixer, and aux. 

For example, an application can create up to 10 device
interfaces for waveIn devices, and another 10 for
waveOut devices.
        
In Microsoft® Windows® XP, the limit on the number of
device interfaces per API is increased from 10 to 32.
        
These limits do not apply to Windows 98/Me, which
allow
applications to create arbitrary numbers of device
interfaces.
        
A device interface uniquely identifies each subsystem
driver. For example, a device that ships with two
subsystem drivers-one for Sound Blaster and one for
USB-requires two device interfaces.
        
The limitation on the number of device interfaces does
not limit the number of devices. A subsystem driver
that manages several devices (four MIDI devices, for
instance) still requires only a single device      
interface.
        
Example
For example, an adapter driver might expose the
following device interfaces:
        Device interface 1: wave
        Device interface 2: UART
        Device interface 3: wavetable
        
Assume that these three device interfaces expose the
following devices:
        > Device interface 1 (wave)
         1 waveOut device
         1 waveIn device
         1 midiOut device (software synthesizer)
         1 mixer device
         1 aux device
        
        > Device interface 2 (UART)
         1 midiOut device (MPU401)
         1 midiIn device (MPU401)
         (0 for all other device types)
        
        > Device interface 3 (wavetable)
         1 midiOut device (wavetable synthesizer)
         (0 for all other device types)
        
The following table summarizes the number of device
interfaces per device type:
        Device type     Number of device interfaces   

        waveOut         1      
        waveIn          1      
        midiOut         3      
        midiIn          1      
        mixer           1      
        aux             1       
        
If a Windows 2000 system contains four of these
adapters, the total number of midiOut device
interfaces is 4x3 = 12. Windows installs only 10 of
the 12 midiOut device interfaces for use by its
multimedia functions. If an application calls
midiOutGetNumDevs, the call returns 10 rather than 12.
----------------------------End------------------------


                


                
__________________________________ 
Do you Yahoo!? 
All your favorites on one personal page ? Try My Yahoo!
http://my.yahoo.com 
******************

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.de/

Other related posts: