IPortDMus::RegisterServiceGroup-Methode (dmusicks.h)
Die RegisterServiceGroup
-Methode registriert eine Dienstgruppe beim DMus-Porttreiber.
Syntax
void RegisterServiceGroup(
[in] PSERVICEGROUP ServiceGroup
);
Parameter
[in] ServiceGroup
Zeiger auf ein IServiceGroup-Objekt . Dies ist die Dienstgruppe, die registriert werden soll.
Rückgabewert
Keine
Bemerkungen
Der Miniporttreiber ruft die RegisterServiceGroup
-Methode auf, um eine Dienstgruppe (IServiceGroup-Objekt ) beim Porttreiber zu registrieren. Der Porttreiber kann eine oder mehrere seiner Dienstsenken (IServiceSink-Objekte ) in diese Dienstgruppe einfügen. Der Miniporttreiber sendet jedes Mal eine Benachrichtigung (durch Aufrufen von IPortDMus::Notify) an die Dienstgruppe. Nach Erhalt der Benachrichtigung plant die Dienstgruppe einen Verzögerten Prozeduraufruf (DPC). Der DPC durchläuft alle Dienstsenken in der Dienstgruppe und sendet Benachrichtigungen an jede.
Der Miniporttreiber ruft normalerweise RegisterServiceSink während der Ausführung seiner IMiniportDMus::Init-Methode auf. Der Zweck dieses Aufrufs besteht darin, die Dienstgruppe früh genug beim Porttreiber zu registrieren, um mit der Behandlung von Interrupts zu beginnen, sobald sie aktiviert sind. Beachten Sie, dass die Dienstgruppe, die von der Init-Methode ausgegeben wird, erst nach der Rückgabe von der Init-Methode für den Porttreiber verfügbar ist.
Wenn der Miniporttreiber aufruft RegisterServiceSink
, sollte die Dienstgruppe, die der Miniporttreiber an die RegisterServiceSink
-Methode übergibt, dieselbe sein, die der Miniporttreiber über seine Init-Methode ausgibt.
Ein typischer Miniporttreiber muss nicht mehr aufgerufen RegisterServiceSink
werden, sobald die Rückkehr von IMiniportDMus::Init erfolgt ist.
Im DMusUART-Beispiel-Audiotreiber im Microsoft Windows Driver Kit (WDK) finden Sie ein Codebeispiel, das zeigt, wie der Miniporttreiber innerhalb seiner IMiniportDMus::Init-Methode aufruftRegisterServiceSink
.
Der pServiceGroup-Parameter folgt den Referenzzählungskonventionen für COM-Objekte.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | dmusicks.h (include Dmusicks.h) |
IRQL | PASSIVE_LEVEL |