Share via


KnowledgeSyncProvider.IdFormats Property

When overridden in a derived class, gets the ID format schema of the provider.

Namespace: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (in microsoft.synchronization.dll)

Syntax

'Declaration
Public MustOverride ReadOnly Property IdFormats As SyncIdFormatGroup
'Usage
Dim instance As KnowledgeSyncProvider
Dim value As SyncIdFormatGroup

value = instance.IdFormats
public abstract SyncIdFormatGroup IdFormats { get; }
public:
virtual property SyncIdFormatGroup^ IdFormats {
    SyncIdFormatGroup^ get () abstract;
}
/** @property */
public abstract SyncIdFormatGroup get_IdFormats ()
public abstract function get IdFormats () : SyncIdFormatGroup

Property Value

The ID format schema of the provider.

Example

The following example returns the ID format schema of a provider that uses change units.

// Gets the ID format schema that is defined for this replica.
public override SyncIdFormatGroup IdFormats
{
    get 
    {
        SyncIdFormatGroup FormatGroup = new SyncIdFormatGroup();

        // Change unit IDs are an enumeration, so they are fixed length and contain one byte.
        FormatGroup.ChangeUnitIdFormat.IsVariableLength = false;
        FormatGroup.ChangeUnitIdFormat.Length = sizeof(byte);

        // Item IDs are of SyncGlobalId type, so they are fixed length and contain a ulong prefix plus a Guid.
        FormatGroup.ItemIdFormat.IsVariableLength = false;
        FormatGroup.ItemIdFormat.Length = (ushort)(sizeof(ulong) + Marshal.SizeOf(typeof(Guid)));

        // Replica IDs are the absolute path to the item store, so they are variable length with maximum
        // length equal to the maximum length of a path.
        FormatGroup.ReplicaIdFormat.IsVariableLength = true;
        FormatGroup.ReplicaIdFormat.Length = 260 * sizeof(char);

        return FormatGroup;
    }
}

See Also

Reference

KnowledgeSyncProvider Class
KnowledgeSyncProvider Members
Microsoft.Synchronization Namespace