[wdmaudiodev] More Kernel Streaming confusion.

  • From: Max K <xaseriii@xxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Sat, 22 Jun 2013 21:01:58 +0200


over the time, I got more and more insight in KS, but worryingly, things didn't 
become clearer but more confusing. It would be great if somebody could give a 
short explanation to the questions I have.

If I'm correct, PortCL is just a "sub-framework" to make driver construction 
easier, by reducing the amount of ks code that needs to be written.
However does this mean that I am also restricted in KS functionality by using 
For example, I read on MSDN that usually Pins are instantiated using createFile 
and interfaces with using DeviceIoControl, however I don't see how to properly 
implement a custom pin with a generic datarange in a portcl minidriver (its 
even worse documented in the MSDN than MIDI).

Then there is the question: what do I need nodes and connections for? It would 
make perfectly sense, if the data was passed along the connections and each 
node hat a data processing function, but the only reason sample driver seem to 
have nodes for are to handle Property Requests.

Data isn't passed through the filter, its passed to a stream that is connected 
to the pin which either stores it internally or in the Miniport. What happens 
there is completely up to the miniport.

It may well be that I'm talking nonsense here but that's how I currently 
perceive Kernel Streaming.


Other related posts: