Condividi tramite


Scollegamento del modulo di rete

Una coppia associata di moduli di rete viene scollegata l'una dall'altra quando il modulo client o il modulo provider deregisters con network Module Registrar (NMR). Un modulo client deregisters con nmR chiamando la funzione NmrDeregisterClient e un modulo provider deregisters con nmR chiamando la funzione NmrDeregisterProvider . Il diagramma seguente illustra i moduli di rete che avviano la registrazione.

Diagramma che mostra i moduli di rete che avviano il processo di registrazione.

Quando entrambi i moduli di rete deregisters con nmR, il nmR chiama sia la funzione di callback client del modulo client che la funzione di callback del modulo del provider e la funzione di callback provider del modulo provider per avviare il scollegamento del modulo di rete. Il diagramma seguente illustra il nmR che avvia il scollegamento.

Diagramma che mostra NMR che avvia il scollegamento dei moduli di rete.

Se il modulo client non è in grado di scollegarsi immediatamente dal modulo del provider, chiama la funzione NmrClientDetachProviderComplete dopo il completamento del completamento del modulo del provider. Analogamente, se il modulo provider non può scollegarsi immediatamente dal modulo client, chiama la funzione NmrProviderDetachClientComplete dopo il completamento del completamento del modulo client. Il diagramma seguente illustra i moduli di rete che completano il scollegamento.

Diagramma che illustra i moduli di rete che completano il processo di scollegamento.

Dopo che sia il modulo client che il modulo provider hanno completato il scollegamento tra loro, nmR chiama la funzione di callback ClientCleanupBindingContext del modulo client e la funzione di callback provider ProviderCleanupBindingContext in modo che i moduli di rete possano pulire i rispettivi contesti di associazione per l'allegato. Il diagramma seguente illustra l'avvio della pulizia di NMR.

Diagramma che visualizza NMR che avvia la pulizia dopo il scollegamento dei moduli di rete.

Se il modulo client viene deregisterato con nmR, la registrazione del modulo client non viene completata fino a quando il modulo client non viene completamente scollegato da tutti i moduli del provider collegati in precedenza a e tutti i moduli del provider sono completamente scollegati dal modulo client. Il modulo client attende il completamento della registrazione chiamando la funzione NmrWaitForClientDeregisterComplete . Analogamente, se il modulo provider viene deregiregistrato con nmR, la registrazione del modulo del provider non viene completata fino a quando il modulo provider non è completamente scollegato da tutti i moduli client a cui è stato collegato in precedenza e tutti questi moduli client sono stati completamente scollegati dal modulo del provider. Il modulo provider attende il completamento della registrazione chiamando la funzione NmrWaitForProviderDeregisterComplete . Il diagramma seguente illustra i moduli di rete in attesa del completamento della registrazione.

Diagramma che mostra i moduli di rete in attesa del completamento della registrazione.