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:
- Initialize
- Provision
- ShouldDeleteFromMV
- Terminate
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(); } } } |