Platform SDK: Synchronization Manager |
The ISyncMgrEnumItems interface is used to enumerate through an array of SYNCMGRITEM structures. Each of these structures provides information on an item that can be synchronized. ISyncMgrEnumItems has the same methods as all standard enumerator interfaces: Next, Skip, Reset, and Clone. For general information on these methods, refer to IEnumXXXX.
If the registered application works with the Synchronization Manager to synchronize items, it must implement an enumerator object with this interface to enumerate through the items.
The SyncMgr obtains a pointer to this interface and calls each method during the synchronization process.
The prototypes of the methods are as follows:
HRESULT Next( ULONG celt, // [in] Number of items in array LPSYNCMGRITEM rgelt, // [out] Address of array containing items ULONG* pceltFetched // [out] Address of variable containing actual number // of items ); HRESULT Skip( ULONG celt // [in] Number of items to skip ); HRESULT Reset(void); HRESULT Clone( ISyncMgrEnumItems **ppenum // [out] Address of variable that receives // the ISyncMgrEnumItems interface pointer );
E_NOTIMPL is not allowed as a return value. If an error value is returned, no entries in the rgelt array are valid on exit and require no release.
There is no guarantee that the same set of elements are enumerated on each pass through the list, nor are the elements necessarily be enumerated in the same order. The exact behavior depends on the collection being enumerated. It is too expensive in terms of memory for some collections, such as files in a directory, to maintain a specific state.
The caller must release this new enumerator separately from the first enumerator.
Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with Internet Explorer 5 or later).
Windows 95/98: Requires Windows 95 or later (with Internet Explorer 5 or later).
Header: Declared in Mobsync.h.