연결된 네트워크 모듈 쌍은 클라이언트 모듈 또는 공급자 모듈이 NMR(네트워크 모듈 등록 기관)으로 등록을 취소할 때 서로 분리됩니다. 클라이언트 모듈은 NmrDeregisterClient 함수를 호출하고 NmrDeregisterProvider 함수를 호출하여 NMR을 사용하여 공급자 모듈 등록을 취소 합니다. 다음 다이어그램에서는 등록 취소를 시작하는 네트워크 모듈을 보여 줍니다.
NMR을 사용하여 네트워크 모듈 등록을 취소하면 NMR은 클라이언트 모듈의 ClientDetachProvider 콜백 함수와 공급자 모듈의 ProviderDetachClient 콜백 함수를 모두 호출하여 네트워크 모듈 분리를 시작합니다. 다음 다이어그램에서는 분리를 시작하는 NMR을 보여 줍니다.
클라이언트 모듈이 공급자 모듈에서 직접 분리할 수 없는 경우 공급자 모듈에서 자체 분리를 완료한 후 NmrClientDetachProviderComplete 함수를 호출합니다. 마찬가지로 공급자 모듈이 클라이언트 모듈에서 직접 분리할 수 없는 경우 클라이언트 모듈에서 자체 분리를 완료한 후 NmrProviderDetachClientComplete 함수를 호출합니다. 다음 다이어그램에서는 분리를 완료하는 네트워크 모듈을 보여 줍니다.
클라이언트 모듈과 공급자 모듈이 서로 분리를 완료한 후 NMR은 클라이언트 모듈의 ClientCleanupBindingContext 콜백 함수와 공급자 모듈의 ProviderCleanupBindingContext 콜백 함수를 호출하여 네트워크 모듈이 첨부 파일에 대한 해당 바인딩 컨텍스트를 정리할 수 있도록 합니다. 다음 다이어그램은 NMR 정리 작업을 시작하는 것을 보여 줍니다.
클라이언트 모듈이 NMR로 등록 취소된 경우 클라이언트 모듈이 이전에 연결되었던 모든 공급자 모듈에서 완전히 분리되고 모든 공급자 모듈이 클라이언트 모듈에서 완전히 분리될 때까지 클라이언트 모듈의 등록 취소가 완료되지 않습니다. 클라이언트 모듈은 NmrWaitForClientDeregisterComplete 함수를 호출하여 등록 취소가 완료되기를 기다립니다. 마찬가지로 공급자 모듈이 NMR로 등록 취소된 경우 공급자 모듈이 이전에 연결되었던 모든 클라이언트 모듈에서 완전히 분리되고 모든 클라이언트 모듈이 공급자 모듈에서 완전히 분리될 때까지 공급자 모듈의 등록 취소가 완료되지 않습니다. 공급자 모듈은 NmrWaitForProviderDeregisterComplete 함수를 호출하여 등록 취소가 완료되기를 기다립니다. 다음 다이어그램에서는 등록 취소가 완료되는 것을 기다리는 네트워크 모듈을 보여 줍니다.