Chinmay,If you want your ports to be reported as separate devices by the legacy APIs you need separate subdevices, i.e.:
InstallSubdevice(..., "WaveA",...); InstallSubdevice(..., "WaveB",...); InstallSubdevice(..., "WaveC",...); InstallSubdevice(..., "WaveD",...); And you will need AddInterface entries for each in the INF. Depending on the HW you should be able to use the same miniport code for all but you will need to be able to tell each instance which one it's supposed to be and give it any device specific info it needs. To do this I'd suggest adding and interface to the wave miniport and call it from StartDevice() within or after InstallSubdevice(). - Tom Chinmay Mahata wrote:
Dear All, I have to develop an WDM Audio Miniport driver for a PCI device which has 4 physical ports (A, B, C, D), all 4 ports can work as an input device/channel as well as an output device/channel. The platform is WinXP SP2. I've already implemented the driver based on DDK sb16 and AC97 sample for only one pair of channels (1 input, 1 output). I seems it is working fine. Now I should implement support for the rest of the channels, but I don't have any idea how. Here I am giving some details of my device: Form the PCI bus controller I got the ResourceList with MemoryCount = 1, IRQCount=1 and the DevPrivCount=1. Since the memoryCount is one, in my driver code (adapter.cpp) I installed two subdevices. InstallSubdevice(..., "Wave",...); InstallSubdevice(..., "Topology",...); To implement the 4 input and 4 output devices/channels, I created Filter factories for 4 input devices/channels (for waveIn streams) and 4 output devices/channels (for waveOut streams). Each devices/channels have their own set of pins and nodes. I do not know how to reflect these filters in the INF file under RENDER or CAPTURE classes. Now even if, the driver (sys) is installed without any error, we can not see all the devices/channels from the user application. Here my queries are: 1. How to reflect all the render and capture channels/devices in the INF file ( I have only one installed subdevice named "Wave")? 2. How to make my channels/devices to be visible to mmsdk APIs? Please let me know if you need any more details. I will appreciate for any suggestions and helps. Best regards, --Chinmay ****************** 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/
****************** 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/