I am sorry, if I ask a dumb question. I have a bit of a problem understanding what the "High Definition Audio Architecture" actually is.
From what I read in this topic it seems to be something that the operating system needs to support to play sound or to record sound. It seems to be an alternative to AC'97. So there seems to be a need to support either AC'97 or to support the High Definition Audio Architecture in the operating system to play sound or to record sound. A lot of sound circuits/sound cards seem to support at least one of those 2.
Windows 98 does not seem to support the High Definition Audio Architecture out of the box, nor does it seem to be supported by Windows 2000 nor by Windows XP. However, there is a Windows update available for both, Windows 2000 and for Windows XP (KB888111) which installs Microsoft's implementation of a High Definition Audio Architecture driver. This Windows update does not seem to exist for Windows 95 nor for Windows 98.
However, once the update is installed the operating system still does not seem to have the capability to play sound or to record sound. However, once the HDAA driver is installed, some new devices appear in the device manager. The device manager knows that these devices were created by the HDAA driver but does not know how to handle them. So it asks for a device driver.
So my question is, if there is a need for a device driver, then why do we need a HDAA driver?
If I understood your project correctly, then it is not only a HDAA driver but also a universal device driver for multiple sound circuits/sound cards. It seems as HDAA is not enough, it seems as if there is a need for something extra, something sound circuit specific. So you packed both in your driver: A HDAA driver and a universal device driver for multiple sound circuits. Is this correct?
If it is correct, would it be possible, to use Microsoft's implementation of their HDAA driver together with a "light" version of your driver to play sound in Windows 2000 and Windows XP? Let's say we strip the HDAA driver from your project and install the update "KB888111" instead. There would probably need to be adjustments in your project to make the 2 components work together. But in an attempt to understand these components my question is: Would this be possible?
Something else I read but could not quite understand is the situation we have on a Windows 2000 computer or a Windows XP computer when the update is installed. If I understood the situation correctly, then your driver does not work when the update is installed. So one needs to deinstall the update first and then install your driver to get anything working at all. Considering this situation, would it make sense to actually release a "light" version of your driver for users of Windows 2000 and Windows XP? Or would the efforts on your side be so high that it makes more sense to ask the users to deinstall Microsoft's implementation of their HDAA driver?
Or maybe a solution would be to split your driver into 2 separate components/drivers. While Windows 98 users would need both parts, Windows 2000 users on the other hand would be able to use 1 part + KB888111.