Freigeben über


Netzwerkmodultrennung

Ein angefügtes Paar von Netzwerkmodulen wird voneinander getrennt, wenn entweder das Clientmodul oder das Anbietermodul die Registrierung bei der Network Module Registrar (NMR) aufhebt. Ein Clientmodul hebt die Registrierung beim NMR auf, indem es die NmrDeregisterClient-Funktion aufruft, und ein Anbietermodul hebt die Registrierung beim NMR auf, indem es die NmrDeregisterProvider-Funktion aufruft. Das folgende Diagramm veranschaulicht die Netzwerkmodule, die die Deregistrierung initiieren.

Diagramm: Netzwerkmodule, die den Deregistrierungsprozess initiieren.

Wenn eines der Netzwerkmodule die Registrierung beim NMR auflöst, ruft der NMR sowohl die ClientDetachProvider-Rückruffunktion des Clientmoduls als auch die ProviderDetachClient-Rückruffunktion des Anbietermoduls auf, um das Trennen des Netzwerkmoduls zu initiieren. Das folgende Diagramm veranschaulicht den NMR, der die Trennung initiiert.

Diagramm: NMR-Initiierung der Trennung von Netzwerkmodulen

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

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

Nachdem sowohl das Clientmodul als auch das Anbietermodul die Trennung voneinander abgeschlossen haben, ruft der NMR die ClientCleanupBindingContext-Rückruffunktion des Clientmoduls und die ProviderCleanupBindingContext-Rückruffunktion des Anbietermoduls auf, sodass die Netzwerkmodule ihre jeweiligen Bindungskontexte für die Anlage sauber können. Das folgende Diagramm veranschaulicht die NMR-Einleitung der Bereinigung.

Diagramm: NMR-Initiieren der Bereinigung nach dem Trennen von Netzwerkmodulen

Wenn das Clientmodul die Registrierung beim NMR aufgehoben hat, ist die Registrierung des Clientmoduls erst abgeschlossen, wenn sich das Clientmodul vollständig von allen Anbietermodulen getrennt hat, an die es zuvor angefügt wurde, und alle diese Anbietermodule vollständig vom Clientmodul getrennt haben. Das Clientmodul wartet, bis die Registrierung abgeschlossen ist, indem die NmrWaitForClientDeregisterComplete-Funktion aufgerufen wird. Wenn das Anbietermodul die Registrierung beim NMR aufgehoben hat, ist die Registrierung des Anbietermoduls erst abgeschlossen, wenn sich das Anbietermodul vollständig von allen Clientmodulen getrennt hat, an die es zuvor angefügt wurde, und alle diese Clientmodule vollständig vom Anbietermodul getrennt haben. Das Anbietermodul wartet, bis die Registrierung abgeschlossen ist, indem die NmrWaitForProviderDeregisterComplete-Funktion aufgerufen wird. Das folgende Diagramm veranschaulicht die Netzwerkmodule, die auf den Abschluss der Registrierung warten.

Diagramm: Netzwerkmodule, die auf den Abschluss der Registrierung warten.