IPinCount interface (portcls.h)
The IPinCount
interface provides a means for the miniport driver to monitor and manipulate its pin counts dynamically as pins are instantiated and closed. This interface is implemented in the miniport driver. To determine whether a miniport driver supports this interface, the port driver calls the miniport object's QueryInterface method with REFIID IID_IPinCount. IPinCount
inherits from the IUnknown interface.
The following port drivers will use a miniport driver's IPinCount
interface if the miniport driver implements it: WaveCyclic, WavePci, MIDI, DMus, and Topology.
IPinCount
is an optional interface that a miniport driver can support if it needs to do either or both of the following:
- Be explicitly notified of changes in kernel streaming pin counts.
- Dynamically change its pin counts.
When opening a "heavyweight" stream, the miniport driver might need to decrement the available pin count by two instead of by one in order to more accurately indicate the number of pins that can be created with the remaining resources.
The process is reversed when a "heavyweight" stream is closed. The available pin count might increase by more than one in order to reflect the fact that two or more "lightweight" streams can be created from the newly freed resources.
If a miniport driver does not support the IPinCount
interface, the port driver uses the statically initialized pin counts in the filter's PCPIN_DESCRIPTOR array.
The IPinCount
interface provides a single method. The port driver that is bound to the miniport driver calls this method in response to a pin-count query.
Inheritance
The IPinCount interface inherits from the IUnknown interface.
Methods
The IPinCount interface has these methods.
IPinCount::PinCount The PinCount method queries the miniport driver for its pin count. |
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | portcls.h |