Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Methoden in den Audioschnittstellen folgen einem allgemeinen Satz von Regeln zum Zählen von Verweisen auf die COM-Objekte, die sie als Eingabeparameter verwenden oder als Ausgabeparameter zurückgeben. Diese Regeln und ihre Ausnahmen werden unten zusammengefasst. Weitere Informationen zu COM-Schnittstellen finden Sie im COM-Abschnitt der Microsoft Windows SDK-Dokumentation.
Referenzzählung für Eingabeparameter
Beim Aufrufen einer Methode, die einen Verweis auf ein Objekt X als Eingabeparameter akzeptiert, muss der Aufrufer für die Dauer des Aufrufs einen eigenen Verweis auf das Objekt enthalten. Dieses Verhalten ist erforderlich, um sicherzustellen, dass der Zeiger der Methode auf Objekt X gültig bleibt, bis es zurückgegeben wird. Wenn das Objekt Y , das diese Methode implementiert, einen Verweis auf Objekt X über die Rückgabe dieser Methode hinaus enthalten muss, sollte die Methode AddRef für Objekt X aufrufen, bevor sie zurückgegeben wird. Wenn Objekt Y später mit Objekt X abgeschlossen ist, sollte es Release für Objekt X aufrufen.
Beispielsweise ruft die IServiceGroup::AddMember-MethodeAddRef für das IServiceSink-Objekt auf, das der Dienstgruppe hinzugefügt wird. Um dieses Verhalten zu ergänzen, ruft die IServiceGroup::RemoveMember-MethodeRelease für das IServiceSink-Objekt auf, das aus der Dienstgruppe entfernt wird.
Referenzzählung für Ausgabeparameter
Eine Methode, die einen Objektverweis an den Aufrufer über einen Ausgabeparameter übergibt, sollte AddRef für das Objekt aufrufen, bevor es zurückgegeben wird (oder bevor er seinen eigenen Verweis auf das Objekt freigibt). Dieses Verhalten ist erforderlich, um sicherzustellen, dass der Aufrufer einen gültigen Verweis hat, wenn er von dem Aufruf zurückkehrt. Der Aufrufer ist dafür verantwortlich, Release für das Objekt aufzurufen, sobald seine Verwendung beendet ist.
Die IMiniportWaveCyclic::NewStream-Methode ruft beispielsweise AddRef auf den Stream-, Dienstgruppen- und DMA-Kanalobjekten auf, die sie an den Aufrufer (den WaveCyclic-Porttreiber) ausgibt. Der Anrufer ist dafür verantwortlich, diese Verweise freizugeben, wenn er sie nicht mehr benötigt. Eine Implementierung der IMiniportWaveCyclic::NewStream-Methode , die dieses Verhalten zeigt, finden Sie im Sb16-Beispieladapter in früheren Versionen des Microsoft Windows Driver Kit (WDK).
Ausnahmen von den Regeln
Eine Beschreibung der unkonventionellen Referenzzählung, die diese Methode für seinen DmaChannel-Ausgabeparameter ausführt, finden Sie unter IMiniportWavePci::NewStream.