IOSTX::SyncBeg

IOSTX::SyncBeg

Prepares the local store for synchronization in a particular state and retrieves the necessary information to replicate.

Quick Info

See IOSTX.

  HRESULT SyncBeg(
	UINT uiSync,
	LPVOID *ppv
);

Parameters

uiSync

[in] The state that the local store will enter. It must be one of the following states.

LR_SYNC_IDLE

LR_SYNC

LR_SYNC_UPLOAD_HIERARCHY

LR_SYNC_UPLOAD_FOLDER

LR_SYNC_CONTENTS

LR_SYNC_UPLOAD_TABLE

LR_SYNC_UPLOAD_MESSAGE

LR_SYNC_UPLOAD_MESSAGE_READ

LR_SYNC_UPLOAD_MESSAGE_DEL

LR_SYNC_DOWNLOAD_HIERARCHY

LR_SYNC_DOWNLOAD_TABLE

ppv

[in]/[out] Pointer to the data structure corresponding to the state to enter.

DNHIER

DNTBL

DNTBLE

SYNC

SYNCCONT

UPDEL

UPDELE

UPFLD

UPHIER

UPMOV

UPMSG

UPREAD

UPREADE

UPTBL

UPTBLE

Most of these structures contain [out]/[in] information, allowing Outlook to pass information to the client, and the client to pass information to Outlook:

  • When the client calls IOSTX::SyncBeg, Outlook allocates the data structure for a given state and initializes it with information for that state. This is the [out] information.
  • While in a state, the client updates the corresponding data structure for that state. This is the [in] information.

The client calls IOSTX::SetSyncResult to set the result of the synchronization, and then calls IOSTX::SyncEnd to end that state. There, Outlook uses client information in the data structure to finalize the state, and sets up for a subsequent state as appropriate.

Remarks

The client must call IOSTX::SyncEnd for each call to IOSTX::SyncBeg. The corresponding data structure holds information to indicate whether the client has successfully completed the current state so that Outlook can clean up its internal state.

See Also

About the Replication State Machine

IOSTX::InitSync

IOSTX::SetSyncResult

IOSTX::SyncEnd

IOSTX::SyncHdrBeg

IOSTX::SyncHdrEnd