ISyncMgrControl
COM公式ドキュメント
アプリケーションまたはハンドラーが同期を開始または停止したり、ハンドラーやアイテムのセットへの変更を同期センターに通知したり、プロパティ値の変更を通知したりできるメソッドを公開します。
解説(Remarks)
ISyncMgrControl は同期センターによって実装されます。アプリケーションまたはハンドラーは、これを CLSID_SyncMgrControl オブジェクトとしてインスタンス化できます。このオブジェクトは Component Object Model (COM) のローカルサーバーとして実装されています。そのため、ISyncMgrControl メソッドの呼び出しにはかなりの時間がかかる可能性があります。これらの呼び出しは UI スレッドで行うべきではありません。
このインターフェイスのすべてのメソッドは、要求を同期センターにキューイングします。
ISyncMgrControl は ISyncMgrSynchronizeInvoke の代替です。
メソッド 15
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
特定のハンドラーが管理するすべてのアイテムの同期を開始します。
| pszHandlerID | LPWSTR | in | 同期するハンドラーの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
| hwndOwner | HWND | in | ハンドラーが必要な UI を表示するために使用できるウィンドウのハンドル。この値は NULL にすることができます。 |
| punk | IUnknown* | in | Synchronize に渡される IUnknown へのポインター。このパラメーターは NULL にすることができます。 |
| nSyncControlFlags | SYNCMGR_SYNC_CONTROL_FLAGS | in | SYNCMGR_SYNC_CONTROL_FLAGS 列挙型のメンバー。現在の同期とキューに入れられた同期の両方に含まれるアイテムを、キューに入れられた同期の実行時に再度同期するかどうかを指定します。 |
| pResult | ISyncMgrSyncResult* | in | ISyncMgrSyncResult のインスタンスへのポインター。その Result メソッドは、同期が成功、失敗、またはキャンセルのいずれかで終了したときに呼び出されます。Result メソッドは、ハンドラー同期の集約された状態とともに呼び出されます。このパラメーターは NULL にすることができます。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
特定のハンドラーが管理する指定されたアイテムの同期を開始します。
| pszHandlerID | LPWSTR | in | アイテムを管理するハンドラーの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
| ppszItemIDs | LPWSTR* | in | 同期するアイテムの ID の配列を含むバッファーへのポインターのアドレス。各 ID は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。この配列は Synchronize に渡されます。 |
| cItems | DWORD | in | ppszItemIDs 内の ID の数。 |
| hwndOwner | HWND | in | アイテムが必要な UI を表示するために使用できるウィンドウのハンドル。この値は NULL にすることができます。 |
| punk | IUnknown* | in | Synchronize に渡される IUnknown へのポインター。このパラメーターは NULL にすることができます。 |
| nSyncControlFlags | SYNCMGR_SYNC_CONTROL_FLAGS | in | SYNCMGR_SYNC_CONTROL_FLAGS 列挙型のメンバー。現在の同期とキューに入れられた同期の両方に含まれるアイテムを、キューに入れられた同期の実行時に再度同期するかどうかを指定します。 |
| pResult | ISyncMgrSyncResult* | in | ISyncMgrSyncResult のインスタンスへのポインター。その Result メソッドは、同期が成功、失敗、またはキャンセルのいずれかで終了したときに呼び出されます。Result メソッドは、ハンドラー同期の集約された状態とともに呼び出されます。このパラメーターは NULL にすることができます。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
このメソッドは UpdateItems に相当します。
例
次の例は、ハンドラーのプロシージャによる ISyncMgrControl::StartItemSync の使用方法を示しています。
void CMyDeviceHandler::MiscProc(...)
{
...
// Get the Sync Center control object.
ISyncMgrControl *pControl = NULL;
hr = CoCreateInstance(CLSID_SyncMgrControl,
CLSCTX_SERVER,
IID_PPV_ARGS(&pControl));
if (SUCCEEDED(hr))
{
// Synchronize one sync item for the sync handler.
hr = pControl->StartItemSync(s_szMySyncHandlerID,
s_szMySyncHandlerMusicContentID,
1,
_hwnd,
NULL,
NULL);
pControl->Release();
}
...
}
すべてのハンドラーが管理するすべてのアイテムを同期します。
| hwndOwner | HWND | in | ハンドラーまたはアイテムが必要な UI を表示するために使用できるウィンドウのハンドル。この値は NULL にすることができます。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
このメソッドは UpdateAll に相当します。
例
次の例は、ハンドラーのプロシージャによる ISyncMgrControl::StartSyncAll の使用方法を示しています。
void CMyDeviceHandler::MiscProc(...)
{
...
// Get the Sync Center control object.
ISyncMgrControl *pControl = NULL;
hr = CoCreateInstance(CLSID_SyncMgrControl,
CLSCTX_SERVER,
IID_PPV_ARGS(&pControl));
if (SUCCEEDED(hr))
{
// Synchronize all sync items for all sync handlers.
hr = pControl->StartSyncAll(_hwnd);
pControl->Release();
}
...
}
指定されたハンドラーの同期を停止します。
| pszHandlerID | LPWSTR | in | ハンドラーの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
特定のハンドラーが管理する指定されたアイテムの同期を停止します。
| pszHandlerID | LPWSTR | in | ハンドラーの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
| ppszItemIDs | LPWSTR* | in | 同期を停止するアイテムの ID の配列を含むバッファーへのポインターのアドレス。各 ID は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
| cItems | DWORD | in | ppszItemIDs 内の ID の数。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
すべてのハンドラーが管理するすべてのアイテムの同期を停止します。
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
ハンドラーコレクションを再列挙するよう同期センターに指示するか、ハンドラーコレクション内のハンドラーのプロパティが変更されたことを通知します。
| rclsidCollectionID | GUID* | in | ハンドラーコレクションの CLSID への参照。 |
| nControlFlags | SYNCMGR_CONTROL_FLAGS | in | SYNCMGR_CONTROL_FLAGS 列挙型の値。更新を同期的に行うか非同期的に行うかを指定します。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
nControlFlags パラメーターに SYNCMGR_CF_WAIT が設定されている場合、UpdateHandlerCollection は、同期センターが指定されたハンドラーコレクションを読み込み、すべてのハンドラーおよびアイテムの情報を再読み込みするまで戻りません。
例
次の例は、ハンドラーのプロシージャによる ISyncMgrControl::UpdateHandlerCollection の使用方法を示しています。
void CMyDeviceHandler::MiscProc(...)
{
...
// Get the Sync Center control object.
ISyncMgrControl *pControl = NULL;
hr = CoCreateInstance(CLSID_SyncMgrControl,
CLSCTX_SERVER,
IID_PPV_ARGS(&pControl));
if (SUCCEEDED(hr))
{
// Tell Sync Center that a new computer has been added.
hr = pControl->UpdateHandlerCollection(CLSID_FRSHandlerCollection,
SYNCMGR_CF_NOWAIT);
pControl->Release();
}
...
}
ハンドラーが管理するアイテムを再列挙するよう同期センターに指示するか、ハンドラーのプロパティが変更されたことを通知します。
| pszHandlerID | LPWSTR | in | ハンドラーの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
| nControlFlags | SYNCMGR_CONTROL_FLAGS | in | SYNCMGR_CONTROL_FLAGS 列挙型の値。更新を同期的に行うか非同期的に行うかを指定します。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
nControlFlags パラメーターに SYNCMGR_CF_WAIT が設定されている場合、UpdateHandler は、同期センターが指定されたハンドラーを読み込み、すべてのハンドラーおよびアイテムの情報を再読み込みするまで戻りません。ハンドラーがハンドラーコレクションによって提供されている場合は、ハンドラーを再読み込みするためにハンドラーコレクションも読み込まれます。
例
次の例は、ハンドラーのプロシージャによる ISyncMgrControl::UpdateHandler の使用方法を示しています。
void CMyDeviceHandler::MiscProc(...)
{
...
// Get the Sync Center control object.
ISyncMgrControl *pControl = NULL;
hr = CoCreateInstance(CLSID_SyncMgrControl,
CLSCTX_SERVER,
IID_PPV_ARGS(&pControl));
if (SUCCEEDED(hr))
{
// Tell Sync Center that properties on the handler have changed.
hr = pControl->UpdateHandler(s_szMySyncHandlerID, SYNCMGR_CF_WAIT);
pControl->Release();
}
...
}
同期アイテムのプロパティが変更されたことを同期センターに通知します。
| pszHandlerID | LPWSTR | in | アイテムを管理するハンドラーの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
| pszItemID | LPWSTR | in | アイテムの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
| nControlFlags | SYNCMGR_CONTROL_FLAGS | in | SYNCMGR_CONTROL_FLAGS 列挙型の値。更新を同期的に行うか非同期的に行うかを指定します。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
nControlFlags パラメーターに SYNCMGR_CF_WAIT が設定されている場合、UpdateItem は、同期センターが指定されたハンドラーを読み込み、すべてのハンドラーおよびアイテムの情報を再読み込みするまで戻りません。ハンドラーがハンドラーコレクションによって提供されている場合は、ハンドラーを再読み込みするためにハンドラーコレクションも読み込まれます。
例
次の例は、ハンドラーのプロシージャによる ISyncMgrControl::UpdateItem の使用方法を示しています。
void CMyDeviceHandler::MiscProc(...)
{
...
// Get the Sync Center control object.
ISyncMgrControl *pControl = NULL;
hr = CoCreateInstance(CLSID_SyncMgrControl,
CLSCTX_SERVER,
IID_PPV_ARGS(&pControl));
if (SUCCEEDED(hr))
{
// Tell Sync Center that properties of the item have changed.
hr = pControl->UpdateItem(s_szMySyncHandlerID,
s_szMySyncHandlerMusicContentID,
SYNCMGR_CF_WAIT);
pControl->Release();
}
...
}
特定のハンドラーまたはアイテムに対してイベントが追加されたことを同期センターに通知します。
| pszHandlerID | LPWSTR | in | アイテムを管理するハンドラーの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
| pszItemID | LPWSTR | in | アイテムの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。イベントが特定のアイテムではなくハンドラー上で発生した場合、このパラメーターは NULL にすることができます。 |
| nControlFlags | SYNCMGR_CONTROL_FLAGS | in | SYNCMGR_CONTROL_FLAGS 列挙型の値。更新を同期的に行うか非同期的に行うかを指定します。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
nControlFlags パラメーターに SYNCMGR_CF_WAIT が設定されている場合、UpdateEvents は、同期センターが指定されたハンドラーを読み込み、ハンドラーのイベントストアを取得し、そのストアからすべてのイベントを再読み込みするまで戻りません。ハンドラーがハンドラーコレクションによって提供されている場合は、ハンドラーを再読み込みするためにハンドラーコレクションも読み込まれます。
例
次の例は、ハンドラーのプロシージャによる ISyncMgrControl::UpdateEvents の使用方法を示しています。
void CMyDeviceHandler::Synchronize(...)
{
...
// Add events to the event store.
// Get the Sync Center control object.
ISyncMgrControl *pControl = NULL;
hr = CoCreateInstance(CLSID_SyncMgrControl,
CLSCTX_SERVER,
IID_PPV_ARGS(&pControl));
if (SUCCEEDED(hr))
{
// Tell Sync Center that we added events to our event store.
// By passing NULL in pszItemID, we tell Sync Center that the event
// occurred on the handler rather than a specific item.
hr = pControl->UpdateEvents(s_szMyDeviceSyncHandlerID,
NULL,
SYNCMGR_CF_NOWAIT);
pControl->Release();
}
...
}
| pszHandlerID | LPWSTR | in | 競合が属するハンドラを識別するハンドラ ID 文字列を指定する。 |
| pszItemID | LPWSTR | in | 競合が属するアイテムを識別するアイテム ID 文字列を指定する。 |
| pConflict | ISyncMgrConflict* | in | 更新する競合情報を表す ISyncMgrConflict インターフェイスへのポインタである。 |
| nReason | SYNCMGR_UPDATE_REASON | in | 競合を更新する理由を示す SYNCMGR_UPDATE_REASON 値を指定する。 |
特定のハンドラーまたはアイテムに対して競合が追加されたことを同期センターに通知します。
| pszHandlerID | LPWSTR | in | アイテムを管理するハンドラーの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
| pszItemID | LPWSTR | in | アイテムの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。イベントが特定のアイテムではなくハンドラー上で発生した場合、このパラメーターは NULL にすることができます。 |
| nControlFlags | SYNCMGR_CONTROL_FLAGS | in | SYNCMGR_CONTROL_FLAGS 列挙型の値。更新を同期的に行うか非同期的に行うかを指定します。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
nControlFlags パラメーターに SYNCMGR_CF_WAIT が設定されている場合、UpdateConflicts は、同期センターが指定されたハンドラーを読み込み、ハンドラーの競合ストアを取得し、そのストアからすべての競合を再読み込みするまで戻りません。ハンドラーがハンドラーコレクションによって提供されている場合は、ハンドラーを再読み込みするためにハンドラーコレクションも読み込まれます。
例
次の例は、ハンドラーのプロシージャによる ISyncMgrControl::UpdateEvents の使用方法を示しています。
void CMyDeviceHandler::Synchronize(...)
{
...
// Add conflicts to the event store.
// Get the Sync Center control object.
ISyncMgrControl *pControl = NULL;
hr = CoCreateInstance(CLSID_SyncMgrControl,
CLSCTX_SERVER,
IID_PPV_ARGS(&pControl));
if (SUCCEEDED(hr))
{
// Tell Sync Center that we added events to our event store.
// By passing NULL in pszItemID, we tell Sync Center that the conflict
// occurred on the handler rather than a specific item.
hr = pControl->UpdateConflicts(s_szMyDeviceSyncHandlerID,
NULL,
SYNCMGR_CF_NOWAIT);
pControl->Release();
}
...
}
ハンドラーをアクティブ化または非アクティブ化します。
| fActivate | BOOL | in | アクティブ化する場合は TRUE、非アクティブ化する場合は FALSE。 |
| pszHandlerID | LPWSTR | in | ハンドラーの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
| hwndOwner | HWND | in | ハンドラーが必要な UI を表示するために使用できるウィンドウのハンドル。この値は NULL にすることができます。 |
| nControlFlags | SYNCMGR_CONTROL_FLAGS | in | SYNCMGR_CONTROL_FLAGS 列挙型の値。ハンドラーのアクティブ化または非アクティブ化を同期的に行うか非同期的に行うかを指定します。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
アクティブなハンドラーは同期センターフォルダーに表示され、非アクティブなハンドラーは同期セットアップフォルダーに表示されます。
指定されたハンドラーが GetCapabilities メソッドから返されるマスクに SYNCMGR_HCM_QUERY_BEFORE_ACTIVATE または SYNCMGR_HCM_QUERY_BEFORE_DEACTIVATE を返す場合、ハンドラーがアクティブ化または非アクティブ化される前に照会操作が要求されます。照会 UI が要求されない場合、またはユーザーが操作を確認した後、ハンドラーの Activate メソッドが呼び出されます。
nControlFlags パラメーターに SYNCMGR_CF_WAIT が設定されている場合、ActivateHandler は、同期センターがこの通知を処理するまで戻りません。
例
次の例は、ハンドラーのプロシージャによる ISyncMgrControl::ActivateHandler の使用方法を示しています。
void MiscProc(...)
{
...
// Get the Sync Center control object.
ISyncMgrControl *pControl = NULL;
hr = CoCreateInstance(CLSID_SyncMgrControl,
CLSCTX_SERVER,
IID_PPV_ARGS(&pControl));
if (SUCCEEDED(hr))
{
// Tell Sync Center to activate our handler.
hr = pControl->ActivateHandler(TRUE,
s_szMySyncHandlerID,
hwndOwner,
SYNCMGR_CF_NOWAIT);
pControl->Release();
}
...
}
ハンドラーを有効または無効にします。
| fEnable | BOOL | in | 有効にする場合は TRUE、無効にする場合は FALSE。 |
| pszHandlerID | LPWSTR | in | ハンドラーの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
| hwndOwner | HWND | in | ハンドラーが必要な UI を表示するために使用できるウィンドウのハンドル。この値は NULL にすることができます。 |
| nControlFlags | SYNCMGR_CONTROL_FLAGS | in | SYNCMGR_CONTROL_FLAGS 列挙型の値。ハンドラーの有効化または無効化を同期的に行うか非同期的に行うかを指定します。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
アクティブなハンドラーは同期センターフォルダーに表示され、非アクティブなハンドラーは同期セットアップフォルダーに表示されます。
指定されたハンドラーが GetCapabilities メソッドから返されるマスクに SYNCMGR_HCM_QUERY_BEFORE_ENABLE または SYNCMGR_HCM_QUERY_BEFORE_DISABLE を返す場合、ハンドラーが有効化または無効化される前に確認ダイアログがユーザーに表示されます。照会 UI が要求されない場合、またはユーザーが操作を確認した後、ハンドラーの Enable メソッドが呼び出されます。
nControlFlags パラメーターに SYNCMGR_CF_WAIT が設定されている場合、EnableHandler は、同期センターがこの通知を処理するまで戻りません。
例
次の例は、ハンドラーのプロシージャによる ISyncMgrControl::EnableHandler の使用方法を示しています。
void MiscProc(...)
{
...
// Get the Sync Center control object.
ISyncMgrControl *pControl = NULL;
hr = CoCreateInstance(CLSID_SyncMgrControl,
CLSCTX_SERVER,
IID_PPV_ARGS(&pControl));
if (SUCCEEDED(hr))
{
// Tell Sync Center to enable our handler.
hr = pControl->EnableHandler(TRUE,
s_szMySyncHandlerID,
hwnd,
SYNCMGR_CF_NOWAIT);
pControl->Release();
}
...
}
指定されたハンドラーが管理する同期アイテムを有効または無効にします。
| fEnable | BOOL | in | 有効にする場合は TRUE、無効にする場合は FALSE。 |
| pszHandlerID | LPWSTR | in | ハンドラーの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
| pszItemID | LPWSTR | in | アイテムの一意の ID を含むバッファーへのポインター。この文字列は、終端の null 文字を含めて最大長 MAX_SYNCMGR_ID です。 |
| hwndOwner | HWND | in | アイテムが必要な UI を表示するために使用できるウィンドウのハンドル。この値は NULL にすることができます。 |
| nControlFlags | SYNCMGR_CONTROL_FLAGS | in | SYNCMGR_CONTROL_FLAGS 列挙型の値。アイテムの有効化または無効化を同期的に行うか非同期的に行うかを指定します。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
有効なアイテムとは、同期可能なアイテムのことです。
指定されたアイテムが GetCapabilities メソッドから返されるマスクに SYNCMGR_ICM_QUERY_BEFORE_ENABLE または SYNCMGR_ICM_QUERY_BEFORE_DISABLE を返す場合、アイテムが有効化または無効化される前に確認ダイアログボックスがユーザーに表示されます。照会 UI が要求されない場合、またはユーザーが操作を確認した後、アイテムの Enable メソッドが呼び出されます。
nControlFlags パラメーターに SYNCMGR_CF_WAIT が設定されている場合、EnableItem は、同期センターがこの通知を処理するまで戻りません。
例
次の例は、ハンドラーのプロシージャによる ISyncMgrControl::EnableHandler の使用方法を示しています。
void MiscProc(...)
{
...
// Get the Sync Center control object.
ISyncMgrControl *pControl = NULL;
hr = CoCreateInstance(CLSID_SyncMgrControl,
CLSCTX_SERVER,
IID_PPV_ARGS(&pControl));
if (SUCCEEDED(hr))
{
// Tell Sync Center to disable the item.
hr = pControl->EnableItem(FALSE,
s_szMySyncHandlerID,
s_szMySyncHandlerMusicContentID,
hwnd,
SYNCMGR_CF_WAIT);
pControl->Release();
}
...
}
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ISyncMgrControl "{9B63616C-36B2-46BC-959F-C1593952D19B}" #usecom global ISyncMgrControl IID_ISyncMgrControl "{1A1F4206-0688-4E7F-BE03-D82EC69DF9A5}" #comfunc global ISyncMgrControl_StartHandlerSync 3 wstr,sptr,sptr,int,sptr #comfunc global ISyncMgrControl_StartItemSync 4 wstr,var,int,sptr,sptr,int,sptr #comfunc global ISyncMgrControl_StartSyncAll 5 sptr #comfunc global ISyncMgrControl_StopHandlerSync 6 wstr #comfunc global ISyncMgrControl_StopItemSync 7 wstr,var,int #comfunc global ISyncMgrControl_StopSyncAll 8 #comfunc global ISyncMgrControl_UpdateHandlerCollection 9 var,int #comfunc global ISyncMgrControl_UpdateHandler 10 wstr,int #comfunc global ISyncMgrControl_UpdateItem 11 wstr,wstr,int #comfunc global ISyncMgrControl_UpdateEvents 12 wstr,wstr,int #comfunc global ISyncMgrControl_UpdateConflict 13 wstr,wstr,sptr,int #comfunc global ISyncMgrControl_UpdateConflicts 14 wstr,wstr,int #comfunc global ISyncMgrControl_ActivateHandler 15 int,wstr,sptr,int #comfunc global ISyncMgrControl_EnableHandler 16 int,wstr,sptr,int #comfunc global ISyncMgrControl_EnableItem 17 int,wstr,wstr,sptr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISyncMgrControl "{9B63616C-36B2-46BC-959F-C1593952D19B}" #usecom global ISyncMgrControl IID_ISyncMgrControl "{1A1F4206-0688-4E7F-BE03-D82EC69DF9A5}" #comfunc global ISyncMgrControl_StartHandlerSync 3 wstr,sptr,sptr,int,sptr #comfunc global ISyncMgrControl_StartItemSync 4 wstr,sptr,int,sptr,sptr,int,sptr #comfunc global ISyncMgrControl_StartSyncAll 5 sptr #comfunc global ISyncMgrControl_StopHandlerSync 6 wstr #comfunc global ISyncMgrControl_StopItemSync 7 wstr,sptr,int #comfunc global ISyncMgrControl_StopSyncAll 8 #comfunc global ISyncMgrControl_UpdateHandlerCollection 9 sptr,int #comfunc global ISyncMgrControl_UpdateHandler 10 wstr,int #comfunc global ISyncMgrControl_UpdateItem 11 wstr,wstr,int #comfunc global ISyncMgrControl_UpdateEvents 12 wstr,wstr,int #comfunc global ISyncMgrControl_UpdateConflict 13 wstr,wstr,sptr,int #comfunc global ISyncMgrControl_UpdateConflicts 14 wstr,wstr,int #comfunc global ISyncMgrControl_ActivateHandler 15 int,wstr,sptr,int #comfunc global ISyncMgrControl_EnableHandler 16 int,wstr,sptr,int #comfunc global ISyncMgrControl_EnableItem 17 int,wstr,wstr,sptr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。