Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Initializes a new instance of the ChangeUnitListFilterInfo class that contains the specified ID format schema, the collection of change unit IDs that indicate which change units are included by this filter, and a value that indicates whether the filter applies to all items in the scope.
Namespace: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (in microsoft.synchronization.dll)
Syntax
'Declaration
Public Sub New ( _
idFormats As SyncIdFormatGroup, _
changeUnitIds As ICollection(Of SyncId), _
appliesToAllItems As Boolean _
)
'Usage
Dim idFormats As SyncIdFormatGroup
Dim changeUnitIds As ICollection(Of SyncId)
Dim appliesToAllItems As Boolean
Dim instance As New ChangeUnitListFilterInfo(idFormats, changeUnitIds, appliesToAllItems)
public ChangeUnitListFilterInfo (
SyncIdFormatGroup idFormats,
ICollection<SyncId> changeUnitIds,
bool appliesToAllItems
)
public:
ChangeUnitListFilterInfo (
SyncIdFormatGroup^ idFormats,
ICollection<SyncId^>^ changeUnitIds,
bool appliesToAllItems
)
public ChangeUnitListFilterInfo (
SyncIdFormatGroup idFormats,
ICollection<SyncId> changeUnitIds,
boolean appliesToAllItems
)
public function ChangeUnitListFilterInfo (
idFormats : SyncIdFormatGroup,
changeUnitIds : ICollection<SyncId>,
appliesToAllItems : boolean
)
Parameters
- idFormats
The ID format schema of the provider.
- changeUnitIds
The collection of change unit IDs that indicate which change units are included by this filter.
- appliesToAllItems
true when the filter applies to all items in the scope. Otherwise, false.
Example
The following example builds a list of change unit IDs to include in synchronization, and uses the list of change unit IDs to create a ChangeUnitListFilterInfo object. The ChangeUnitListFilterInfo object is passed to the GetFilteredChangeBatch method to retrieve a filtered change batch from the metadata storage service.
Public Sub SetContactFieldsToInclude(ByVal includedFields As Contact.ChangeUnitFields())
' Translate the array of fields to a list of IDs.
_includedChangeUnits = New List(Of SyncId)(includedFields.Length)
For iField As Integer = 0 To includedFields.Length - 1
_includedChangeUnits.Add(New SyncId(CByte(includedFields(iField))))
Next
_isFiltered = True
End Sub
Public Overrides Function GetChangeBatch(ByVal batchSize As UInteger, ByVal destinationKnowledge As SyncKnowledge, ByRef changeDataRetriever As Object) As ChangeBatch
' Return this object as the IChangeDataRetriever object that is called to retrieve item data.
changeDataRetriever = Me
Dim retrievedBatch As ChangeBatch
If _isFiltered Then
' Use the metadata storage service to get a filtered batch of changes.
Dim filterInfo As New ChangeUnitListFilterInfo(IdFormats, _includedChangeUnits, True)
retrievedBatch = _ContactStore.ContactReplicaMetadata.GetFilteredChangeBatch(batchSize, destinationKnowledge, filterInfo, Nothing)
Else
' Use the metadata storage service to get a batch of changes.
retrievedBatch = _ContactStore.ContactReplicaMetadata.GetChangeBatch(batchSize, destinationKnowledge)
End If
Return retrievedBatch
End Function
public void SetContactFieldsToInclude(Contact.ChangeUnitFields[] includedFields)
{
// Translate the array of fields to a list of IDs.
_includedChangeUnits = new List<SyncId>(includedFields.Length);
for (int iField = 0; iField < includedFields.Length; iField++)
{
_includedChangeUnits.Add(new SyncId((byte)includedFields[iField]));
}
_isFiltered = true;
}
public override ChangeBatch GetChangeBatch(uint batchSize, SyncKnowledge destinationKnowledge, out object changeDataRetriever)
{
// Return this object as the IChangeDataRetriever object that is called to retrieve item data.
changeDataRetriever = this;
ChangeBatch retrievedBatch;
if (_isFiltered)
{
// Use the metadata storage service to get a filtered batch of changes.
ChangeUnitListFilterInfo filterInfo = new ChangeUnitListFilterInfo(IdFormats, _includedChangeUnits, true);
retrievedBatch = _ContactStore.ContactReplicaMetadata.GetFilteredChangeBatch(batchSize, destinationKnowledge,
filterInfo, null);
}
else
{
// Use the metadata storage service to get a batch of changes.
retrievedBatch = _ContactStore.ContactReplicaMetadata.GetChangeBatch(batchSize, destinationKnowledge);
}
return retrievedBatch;
}
See Also
Reference
ChangeUnitListFilterInfo Class
ChangeUnitListFilterInfo Members
Microsoft.Synchronization Namespace