次の方法で共有


ISyncMgrHandlerInfo::IsActive メソッド (syncmgr.h)

ハンドラーを同期できるかどうかを示す値を取得します。

構文

HRESULT IsActive();

戻り値

型: HRESULT

ハンドラーがアクティブな場合は、S_OKを返します。それ以外の場合は、S_FALSE。

ハンドラーが Sync Center で現在の状態を維持する必要がある場合は、E_NOTIMPLを返すことができます。 他の値が返された場合、Sync Center はハンドラーの状態を最後の既知の値に設定します。 その状況でハンドラーの最後の既知の値が非アクティブであった場合、同期センターは セットアップ タスクを無効にします。 ハンドラーの最後の既知の値がアクティブだった場合、 削除 タスクは無効になりません。

GetCapabilities から返されるマスクに SYNCMGR_HCM_QUERY_BEFORE_ACTIVATE フラグまたは SYNCMGR_HCM_QUERY_BEFORE_DEACTIVE フラグが設定されている場合、ハンドラーは独自のアクティブ化状態を管理する必要があるため、S_OKまたはS_FALSEを返す必要があります。 その他の戻り値は、エラーと見なされます。

注釈

ハンドラーがアクティブでない場合は、同期セットアップ フォルダーに表示されます。 そのフォルダー内のハンドラーを同期できません。 ハンドラーを Sync Center フォルダーに移動するには、ハンドラーのショートカット メニューまたはコマンド モジュールから セットアップ タスクを選択します。

ハンドラーがアクティブな場合は、メイン同期センター フォルダーに表示されます。 アクティブなハンドラーは、ユーザーまたは ISyncMgrControl インターフェイスを介して同期できます。 ハンドラーを同期セットアップ フォルダーに移動するには、ハンドラーのショートカット メニューまたはコマンド モジュールで [削除 ] タスクを選択します。

Sync Center は 、UpdateHandler メソッドが呼び出されるたびにこのメソッドを呼び出します。

次の例は、プライベート クラス関数を呼び出してアクティブな状態を取得するこのメソッドの実装を示しています。

STDMETHODIMP CMyDeviceHandler::IsActive()
{
    // Return a previously-calculated value.
    return (_fIsActive ? S_OK : S_FALSE);
}

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー syncmgr.h

こちらもご覧ください

アクティブ化

ISyncMgrHandlerInfo