プログラムからの同期マネージャーの使用
アプリケーションが同期マネージャーと連携できるようにするには、SyncMgr から受信した同期通知を処理するコンポーネント オブジェクト モデル (COM) オブジェクトを実装する必要があります。 アプリケーションのハンドラーは、処理する項目の同期を実行します。 ハンドラーに含まれている場合は、 ISyncMgrSynchronize インターフェイスを実装する必要があります。 また、アプリケーションで同期できる個別の項目には、列挙子オブジェクトと ISyncMgrEnumItems を指定する必要があります。
SyncMgr は 、ISyncMgrSynchronizeCallback と ISyncMgrSynchronizeInvoke を実装します。
SyncMgr は ISyncMgrSynchronize 内のメソッドを呼び出して、アプリケーションが処理する項目に関する情報と、これらの項目を同期するために指定したハンドラーに関する情報を取得します。
実行時に、同期プロセスは次の手順に従います。
- SyncMgr は、 ISyncMgrSynchronize::Initialize メソッドを呼び出して、アプリケーションが処理する項目の 1 つに対して同期が行われる時刻であることをアプリケーションに通知します。
- SyncMgr は ISyncMgrSynchronize::EnumSyncMgrItems を呼び出して、アプリケーションによって処理されるアイテムの ISyncMgrEnumItems インターフェイスを取得します。
- SyncMgr は ISyncMgrSynchronize::SetProgressCallback を 呼び出して、 ハンドラーに ISyncMgrSynchronizeCallback インターフェイスのインターフェイス ポインターを提供します。 ハンドラーはこのインターフェイスを使用して、同期中に SyncMgr にコールバックします。
- その後、SyncMgr は ISyncMgrSynchronize::P repareForSync メソッドを呼び出して、同期を開始する前に必要なユーザー インターフェイス要素をハンドラーに表示できます。 たとえば、電子メール アプリケーションにユーザー ログオン ダイアログが表示される場合があります。
- ハンドラーは、ユーザー インターフェイス要素を表示する前と後に ISyncMgrSynchronizeCallback::EnableModeless を呼び出します。 完了すると、ハンドラーは ISyncMgrSynchronizeCallback::P repareForSyncCompleted を呼び出します。
- SyncMgr は ISyncMgrSynchronize::Synchronize メソッドを呼び出して同期を開始します。
同期プロセス中、SyncMgr は ISyncMgrSynchronize インターフェイスでメソッドを呼び出し続けます。 ハンドラーのエラー、進行状況、通知を送信できます。 また、アプリケーションが処理する項目を列挙したり、アプリケーションでアイテムのプロパティを表示したりすることもできます。
ハンドラーは ISyncMgrSynchronizeCallback のメソッドを呼び出して、アイテムをスキップするかどうかを判断し、エラーをログに記録し、同期プロセス中に進行状況情報を投稿します。
詳細については、関連するインターフェイスの関連するリファレンス ページを参照してください。
同期が完了すると、ハンドラーは ISyncMgrSynchronizeCallback::SynchronizeCompleted を呼び出します。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示