Freigeben über


IServiceSink-Schnittstelle (portcls.h)

Die IServiceSink -Schnittstelle kapselt die Behandlung einer Dienstanforderung. Die Quelle der Dienstanforderung ist in der Regel die Interruptdienstroutine des Miniporttreibers. PortCls unterstützt die IServiceSink Schnittstelle. Ein IServiceSink Objekt ist in der Regel ein Mitglied einer Dienstgruppe, die von einem IServiceGroup-Objekt verwaltet wird. IServiceSink erbt von der IUnknown-Schnittstelle .

IServiceSink ist die Basisschnittstelle für IServiceGroup. Dadurch kann ein IServiceGroup-Objekt sich selbst (als Objekt mit einer IServiceSink Schnittstelle) der Dienstgruppe eines anderen IServiceGroup-Objekts hinzufügen.

Obwohl der PortCls-Systemtreiber eine PcNewServiceGroup-Funktion zum Erstellen eines Dienstgruppenobjekts bereitstellt, ist keine ähnliche Funktion zum Erstellen eines Dienstsenkenobjekts vorhanden. Stattdessen implementiert ein Treiberobjekt, das eine Dienstsenke erfordert, einfach eine IServiceSink Schnittstelle im Treiberobjekt. Zur Vereinfachung enthält die Headerdatei portcls.h eine IMP_IServiceSink Konstante zum Hinzufügen der IServiceSink Implementierung zur Klassendefinition des Objekts. Die Kosten für das Hinzufügen einer IServiceSink Schnittstelle zu einem Objekt sind gering, da die Schnittstelle nur eine einzelne Methode unterstützt. Ein Porttreiber fügt seinen Portobjekten und Streamobjekten in der Regel eine IServiceSink Schnittstelle hinzu, damit sie Benachrichtigungen über Interrupts von einem Audiogerät empfangen können.

Weitere Informationen finden Sie unter Dienstsenke und Dienstgruppenobjekte.

Vererbung

Die IServiceSink-Schnittstelle erbt von der IUnknown-Schnittstelle . IServiceSink verfügt auch über die folgenden Typen von Membern:

Methoden

Die IServiceSink-Schnittstelle verfügt über diese Methoden.

 
IServiceSink::RequestService

Die RequestService-Methode wird aufgerufen, um eine Dienstanforderung an ein IServiceSink-Objekt weiterzuleiten.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile portcls.h