A Forefront Identity Manager Synchronization Service (FIM Synchronization Service) database (metaverse) rules extension must implement the IMVSynchronization interface. The contents of IMVSynchronization are specified in the Microsoft.MetadirectoryServices namespace and include the following methods:

The following examples show a class declaration for a metaverse rules extension:

Visual Basic  Copy Code
Public Class MyMVExtensionClass
	Implements IMVSynchronization
C#  Copy Code
namespace Sample_CSharp_MV_Extension
{
	public class MyMVExtensionClass : IMVSynchronization
	{
}
}

When you implement an interface, you must implement all the methods defined by that interface. This means that when you create a management agent rules extension, you must also implement, at a minimum, all the methods listed earlier in this topic.

The following examples show an entire class declaration for a metaverse rules extension:

Visual Basic  Copy Code
Public Class MVExtensionObject
	Implements IMVSynchronization

	Public Sub Initialize() Implements IMvSynchronization.Initialize
		' TODO: Add initialization code here.
	End Sub

	Public Sub Terminate() Implements IMvSynchronization.Terminate
		' TODO: Add termination code here.
	End Sub

	Public Sub Provision(ByVal mventry As MVEntry) Implements IMVSynchronization.Provision
		' TODO: Remove this throw statement if you implement this method.
		Throw New EntryPointNotImplementedException()
	End Sub

	Public Function ShouldDeleteFromMV(ByVal csentry As CSEntry, ByVal mventry As MVEntry) As Boolean Implements IMVSynchronization.ShouldDeleteFromMV

		' TODO: Add MV deletion code here.
		Throw New EntryPointNotImplementedException()
	End Function
End Class
C#  Copy Code
namespace Miis_Metaverse
{
	/// <summary>
	/// Summary description for MVExtensionObject.
	/// </summary>
	public class MVExtensionObject : IMVSynchronization
	{
		public MVExtensionObject()
		{
			//
			// TODO: Add constructor logic here.
			//
	}

		void IMVSynchronization.Initialize ()
		{
			//
			// TODO: Add initialization logic here.
			//
	}

		void IMVSynchronization.Terminate ()
		{
			//
			// TODO: Add termination logic here.
			//
	}

		void IMVSynchronization.Provision (MVEntry mventry)
		{
			//
			// TODO: Remove this throw statement if you implement this method.
			//
			throw new EntryPointNotImplementedException();
	}

		bool IMVSynchronization.ShouldDeleteFromMV (CSEntry csentry, MVEntry mventry)
		{
			//
			// TODO: Add MV deletion logic here.
			//
			throw new EntryPointNotImplementedException();
	}
}
}

See Also