Implementing an OnSyncDelete Event Sink
Topic Last Modified: 2006-06-12
The following example handles the OnSyncDelete event. See Store Event Sink Bit Flags for more information.
Example
Visual Basic
Private Sub IExStoreSyncEvents_OnSyncDelete(ByVal pEventInfo As Exoledb.IExStoreEventInfo, ByVal bstrURLItem As String, ByVal lFlags As Long)
Dim FSO As Object
Dim EvtLog As String
Dim EvtFile
'Log file
EvtLog = Environ("SystemDrive") & "\OnSyncDelete.log"
'Creates new log file %SystemDrive%\OnSyncDelete.log or opens it if exists
Set FSO = CreateObject("Scripting.FileSystemObject")
Set EvtFile = FSO.OpenTextFile(EvtLog, 8, True)
'Append incoming event info into log file
EvtFile.WriteLine ("[VB Event Sink] OnSyncDelete()")
EvtFile.WriteLine (" URL Item: " & bstrURLItem)
EvtFile.WriteLine (" lFlags: " & "0x" & Hex(lFlags))
'To determine type of incoming OnSyncDelete notifications:
'Case 1: EVT_SYNC_BEGIN
If lFlags And EVT_SYNC_BEGIN Then
'Perform your tasks
'Begin phase of OnSyncDelete
EvtFile.WriteLine (" Flag contains EVT_SYNC_BEGIN bit set")
'Case 2: EVT_SYNC_COMMITTED
ElseIf lFlags And EVT_SYNC_COMMITTED Then
'Perform your tasks
'Commit phase of OnSyncDelete
EvtFile.WriteLine (" Flag contains EVT_SYNC_COMMITTED bit set")
'Case 3: EVT_SYNC_ABORTED
ElseIf lFlags And EVT_SYNC_ABORTED Then
'Perform your tasks
'Abort phase of OnSyncDelete
EvtFile.WriteLine (" Flag contains EVT_SYNC_ABORTED bit set")
End If
'To determine type of OnSyncDelete
'EVT_SOFTDELETE
If lFlags And EVT_SOFTDELETE Then
'Perform your tasks
EvtFile.WriteLine (" Flag contains EVT_SOFTDELETE bit set")
End If
'EVT_HARDDELETE
If lFlags And EVT_HARDDELETE Then
'Perform your tasks
EvtFile.WriteLine (" Flag contains EVT_HARDDELETE bit set")
End If
'Check if it is a folder notification
If lFlags And EVT_IS_COLLECTION Then
'Perform your tasks
'OnSyncDelete for a folder
EvtFile.WriteLine (" Flag contains EVT_IS_COLLECTION bit set")
End If
EvtFile.WriteBlankLines (1)
'Before Quit
EvtFile.Close
Set FSO = Nothing
End Sub