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 |