IMAExtensibleCallExport.ExportEntry Method

Called during an export run to write to the connected directory the attribute values of a CSEntry object that have changed.

Namespace: Microsoft.MetadirectoryServices
Assembly: Microsoft.MetadirectoryServicesEx (in Microsoft.MetadirectoryServicesEx.dll)

Usage

'Usage
Dim instance As IMAExtensibleCallExport
Dim modificationType As ModificationType
Dim changedAttributes As String()
Dim csentry As CSEntry

instance.ExportEntry(modificationType, changedAttributes, csentry)

Syntax

'Declaration
Sub ExportEntry ( _
    modificationType As ModificationType, _
    changedAttributes As String(), _
    csentry As CSEntry _
)
void ExportEntry (
    ModificationType modificationType,
    string[] changedAttributes,
    CSEntry csentry
)
void ExportEntry (
    ModificationType modificationType, 
    array<String^>^ changedAttributes, 
    CSEntry^ csentry
)
void ExportEntry (
    ModificationType modificationType, 
    String[] changedAttributes, 
    CSEntry csentry
)
function ExportEntry (
    modificationType : ModificationType, 
    changedAttributes : String[], 
    csentry : CSEntry
)

Parameters

  • modificationType
    The enumeration value that identifies the type of operation on the object that results in a change to the attribute values of the CSEntry object.
  • changedAttributes
    An array of attribute names that specifies which attributes were modified. Use this parameter to determine which attributes in the entry were updated. Change only the attributes that are listed in this parameter. Changing an attribute value in this method that is not in the parameter list causes an exception.
  • csentry
    The object that contains all the attributes and their values.

Exceptions

Exception type Condition
EntryExportException

The entry cannot be exported. When this method throws this exception, the run continues and the Windows Management Instrumentation (WMI) Provider returns the string completed-warnings.

This exception does not generate an event log entry.

EntryPointNotImplementedException

The rules extension does not implement this method. When this method throws this exception, the run stops and the WMI Provider returns the string stopped-entry-point-not-implemented.

This exception does not generate an event log entry.

ExtensibleExtensionException

An unexpected error occurs in the extension. When this method throws this exception, the run continues and the WMI Provider returns the string completed-warnings.

This exception generates an event log entry.

FatalEntryExportException

The entry cannot be exported and the export run should stop. When this method throws this exception, the run stops and the WMI Provider returns the string stopped-entry-export-error.

This exception does not generate an event log entry.

System.InvalidOperationException

The call to FindMVEntries is not supported in this method.

ServerDownException

The connected directory extension cannot establish a connection to the connected directory. When this method throws this exception, the run continues and the WMI Provider returns the string completed-export-errors.

This exception does not generate an event log entry.

UnexpectedDataException

The method received unexpected data. When this method throws this exception, the run continues and the WMI Provider returns the string completed-export-errors.

This exception generates an event log entry.

Remarks

This method is called for each CSEntry object that has a changed attribute value only if the BeginExport method does not throw an exception.

Implement this method in all types of call-based connected data source extensions. Although this method is not called from an import-only connected data source extension, an error occurs if this method is not implemented in the extension. For an import-only connected data source extension, you can implement this method by throwing an EntryPointNotImplementedException exception.

All the exceptions that are described in this topic stop a run. If the method throws an exception that is not described in this topic, the run continues. If the run stops, the WMI Provider returns the string stopped-extension-dll-exception and generates an event log entry.

All data in Forefront Identity Manager Synchronization Service (FIM Synchronization Service) uses the Unicode character set. If the connected data source that receives the exported data requires data in a different character set, use this method to convert the Unicode data to the character set that is required by your connected data source.

Use this method to write the values of the changed attributes to the connected data source. If the BeginExport method does not throw an exception, this method is called for each CSEntry object in the connector space that has new or changed attribute values. Look at the modificationType parameter value to determine the operation that caused the attribute value change.

Enumeration Description

ModificationType

The CSEntry object was added to the connector space. Write all the attribute values of the CSEntry object to the connected data source.

ModificationType

The attribute values of the CSEntry object are in the connected data source, and some of these values have changed. Obtain the list of attributes that have values that have changed from the changedAttributes parameter. After creating this list, obtain the changed attribute values from the CSEntry object, and write those new values in the connected directory.

ModificationType

The CSEntry object was deleted from the connector space. Delete the attribute values from the connected data source.

To determine whether an attribute that is listed in the changedAttributes parameter is a multi-valued attribute, use the TypeDescriptionCollection class instead of the DataType property or the IsMultivalued property. Accessing these properties in this method throws an exception.

If this method does not throw an exception, the CSEntry object is marked as Awaiting Export Confirmation in the connector space. If the connected data source extension is Import and Export, export confirmation occurs when you run a synchronization profile to import the new attribute values to the connector space, or when the attribute values are deleted from the connected data source. For an export-only connected data source extension, you must confirm that the attribute values were written or deleted in the connected data source.

When you export data, it is important that you index the attributes on the target server. This significantly increases performance when you conduct object searches on that server.

The following CSEntry methods and properties are not available in this method. If you access these properties in this method, an exception is thrown.

The EndExport method is always called after the ExportEntry method, except when an object enters an unknown state, or a resource is called through unmanaged code during an export run.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008, and Windows 2000

Target Platforms

See Also

Reference

IMAExtensibleCallExport Interface
IMAExtensibleCallExport Members
Microsoft.MetadirectoryServices Namespace
DataType
IsMultivalued
CSEntry
CommitNewConnector
ConnectionChangeTime
ConnectionRule
ConnectionState
Deprovision
MA
ModificationType
TypeDescriptionCollection
IMAExtensibleCallExport