IServiceSink interface encapsulates handling of a service request. The source of the service request is typically the miniport driver's interrupt service routine. PortCls supports the
IServiceSink interface. An
IServiceSink object is typically a member of a service group that is managed by an IServiceGroup object.
IServiceSink inherits from the IUnknown interface.
IServiceSink is the base interface for IServiceGroup. This allows an IServiceGroup object to add itself (as an object with an
IServiceSink interface) to another IServiceGroup object's service group.
Although the PortCls system driver provides a PcNewServiceGroup function for creating a service group object, no similar function exists for creating a service sink object. Instead, a driver object that requires a service sink simply implements an
IServiceSink interface in the driver object. For convenience, header file portcls.h includes an IMP_IServiceSink constant for adding the
IServiceSink implementation to the object's class definition. The cost of adding an
IServiceSink interface to an object is small because the interface supports only a single method. A port driver typically adds an
IServiceSink interface to its port object and stream objects so that they can receive notification of interrupts from an audio device.
For more information, see Service Sink and Service Group Objects.
The IServiceSink interface inherits from the IUnknown interface. IServiceSink also has these types of members:
The IServiceSink interface has these methods.
|IServiceSink::RequestService||The RequestService method is called to forward a service request to an IServiceSink object.|