Thank you for everyone’s feedback.
Our issues are not fixed with the Windows 10 update (10586), and it may be
something we are doing incorrectly, but it had worked in Windows 7 and Windows
8/8.1.
When our driver first starts up, our miniport driver gets asked to create
streams of all possible formats, to see what our driver supports. The only
format we allow to succeed is the current sampling rate our application is set
to. (Like 44.1 kHz) And everything works fine.
Now if the user changes sample rate via our application, our driver will
unregister and destroy the Wave Port driver and the Wave Topology driver, and
then recreate them.
This time the operating system does not ask us to create "NewStream" to see
what format we support, it appears to remember the answers from the first time
we started up the driver, but we want it to forget about the previous supported
formats and ask us again what we support. (Like it did on Windows 7 and Windows
8).
A work around:
If we change the code, so “NewStream” will succeed to create all formats we can
support, and have “KSPROPERTY_PIN_PROPOSEDATAFORMAT” only return true for the
format we are currently supporting, this works, but it does not seem correct
that “NewStream” may be called at other times that are not during
“Initialization” and create streams that we don’t currently support.
Thanks for your help,
Paul