Called by a store event source when an item is being saved.
EXOLEDB Type Library
DLL Implemented In
[Visual Basic]Sub OnSyncSave( pEventInfo As IExStoreEventInfo, bstrURLItem As String, lFlags As LONG)
[C++]HRESULT OnSyncSave ( IExStoreEventInfo* pEventInfo, BSTR bstrURLItem, LONG lFlags );
- A pointer to an IExStoreEventInfo interface that can be used to obtain further information related to the event.
- A string containing the URL of the item on which the event is occurring. This value is only valid if OLEDB or Distributed Authoring and Versioning (DAV) created the item; that is if the client set has the property PR_URL_COMP_NAME.
- The following (bitwise AND) flags can give you further information about the save event. You can also use hexidecimal equivalents of the decimal values.
Decimal Value C++ Enum Equivalent Meaning 1 EVT_NEW_ITEM The item being saved is new. 2 EVT_IS_COLLECTION The item being saved is a collection. 4 EVT_REPLICATED_ITEM The item is being saved as a result of replication. 8 EVT_IS_DELIVERED The item is being saved as the result of message delivery. 64 EVT_INITNEW This flag is set at the first firing of the event sink. (Useful for initialization purposes. It is set only once during the lifetime of a created event sink.) 256 EVT_MOVE The item being saved is being moved. 512 EVT_COPY The item being saved is being copied. 1024 EVT_DRAFT_CREATE The item being saved is a newly created draft. 2048 EVT_DRAFT_SAVE The item being saved is a draft. 4096 EVT_DRAFT_CHECKIN The item being saved is a draft check-in. 16777216 EVT_SYNC_BEGIN Synchronous begin event. 33554432 EVT_SYNC_COMMITTED Synchronous committed event. 67108864 EVT_SYNC_ABORTED Synchronous aborted event. 536870912 EVT_INVALID_SOURCE_URL The Source URL could not be obtained during a move operation. 1073741824 EVT_INVALID_URL The URL passed to the sink is invalid. 2147483648 EVT_ERROR An error occurred in the event.
Returns S_OK if successful, or an error value otherwise.
To register for this event, you need to set the registration item's EventMethod Field property to "OnSyncSave" (C++ constant = EVT_ON_SYNC_SAVE).
This event supports the following properties of Event Registration Items:
See Event Registration Items for more information about registration properties.
This event is fired prior to the item being saved. This event is fired when a new item enters the store, when an existing item is saved, and when an item is moved or copied. This event does not fire when the item's parent folder is moved or copied.
Aborting the transaction associated with this event will cause the item to not be saved. If the event fired as a result of a move, aborting the transaction will abort the entire move; the original item will not be deleted and the new item will not be saved.
Synchronous events are always called twice, once for the transaction and once for the commit or abort action. See Synchronous Event Methods for more information.