Freigeben über


Netzwerkmodule Trennung

Ein verbundenes Paar von Netzwerkmodulen wird getrennt, wenn entweder das Clientmodul oder das Anbietermodul die Registrierung bei der Netzwerkmodulregistrierungsstelle (Network Module Registrar, NMR) aufhebt. Ein Clientmodul meldet sich von der NMR ab, indem die NmrDeregisterClient-Funktion aufgerufen wird, und ein Anbietermodul meldet sich von der NMR ab, indem die NmrDeregisterProvider-Funktion aufgerufen wird. Das folgende Diagramm veranschaulicht die Netzwerkmodule, die die Abmeldung initiieren.

Diagramm, das Netzwerkmodule zeigt, die den Abmeldungsprozess einleiten.

Wenn sich eines der Netzwerkmodule bei der NMR deregistriert, ruft die NMR sowohl die ClientDetachProvider-Rückruffunktion des Clientmoduls als auch die ProviderDetachClient-Rückruffunktion des Anbietermoduls auf, um die Abmeldung des Netzwerkmoduls zu initiieren. Das folgende Diagramm veranschaulicht die NMR, die die Trennung initiiert.

Diagramm, das zeigt, wie NMR die Trennung von Netzwerkmodulen auslöst.

Wenn sich das Clientmodul nicht sofort vom Anbietermodul trennen kann, ruft es die NmrClientDetachProviderComplete-Funktion auf, nachdem sie sich vom Anbietermodul getrennt hat. Wenn sich das Anbietermodul nicht sofort vom Clientmodul trennen kann, ruft es die NmrProviderDetachClientComplete-Funktion auf, nachdem sie sich vom Clientmodul getrennt hat. Das folgende Diagramm veranschaulicht die Netzwerkmodule, die die Trennung abschließen.

Diagramm, das Netzwerkmodule darstellt, die den Ablösungsprozess abschließen.

Nachdem sowohl das Clientmodul als auch das Anbietermodul die Trennung voneinander abgeschlossen haben, ruft NMR die ClientCleanupBindingContext-Rückruffunktion des Clientmoduls und die ProviderCleanupBindingContext-Rückruffunktion des Anbietermoduls auf, damit die Netzwerkmodule ihre jeweiligen Bindungskontexte für die Verbindung bereinigen können. Das folgende Diagramm zeigt, wie nmR die Bereinigung initiiert.

Diagramm, das zeigt, wie NMR die Bereinigung nach der Trennung von Netzwerkmodulen initiiert.

Wenn das Clientmodul bei der NMR abgemeldet wurde, ist das Abmelden des Clientmoduls erst abgeschlossen, wenn es vollständig von allen Anbietermodulen, an die es zuvor angefügt war, getrennt ist und diese Anbietermodule vollständig vom Clientmodul getrennt sind. Das Clientmodul wartet, bis die Abmeldung abgeschlossen ist, indem die Funktion NmrWaitForClientDeregisterComplete aufgerufen wird. Ebenso ist die Abmeldung des Anbietermoduls beim NMR erst abgeschlossen, wenn das Anbietermodul vollständig von allen Clientmodulen, an die es zuvor angefügt war, getrennt wurde und alle diese Clientmodule vollständig vom Anbietermodul gelöst sind. Das Anbietermodul wartet, bis die Deregistrierung abgeschlossen ist, indem es die Funktion NmrWaitForProviderDeregisterComplete aufruft. Das folgende Diagramm veranschaulicht die Netzwerkmodule, die darauf warten, dass die Deregistrierung abgeschlossen wird.

Diagramm mit Netzwerkmodulen, die auf den Abschluss der Abmeldung warten.