Método ISyncMgrSyncCallback::CanContinue (syncmgr.h)

Determina se a sincronização foi cancelada.

Sintaxe

HRESULT CanContinue(
  [in] LPCWSTR pszItemID
);

Parâmetros

[in] pszItemID

Tipo: LPCWSTR

Um ponteiro para um buffer que contém a ID do item.

Retornar valor

Tipo: HRESULT

Valor Retornado Significado
S_OK Um cancelamento não foi solicitado. A sincronização pode continuar.
S_FALSE Um cancelamento foi solicitado. O manipulador deve chamar ISyncMgrSyncCallback::ReportProgress, especificando SYNCMGR_PS_CANCELED no parâmetro nStatus .
E_INVALIDARG O valor apontado por pszItemID é desconhecido para o Centro de Sincronização ou não é um item gerenciado por esse manipulador.
 

Se pszItemID for NULL ou uma cadeia de caracteres vazia, o valor retornado dependerá se um cancelamento foi solicitado para todo o manipulador.

Comentários

Uma sincronização pode ser cancelada pelo usuário clicando na tarefa Parar ou Parar Tudo no menu de contexto ou no módulo de comando. Ele também pode ser cancelado quando um aplicativo chama um dos métodos stop da interface ISyncMgrControl .

Ao implementar essa funcionalidade como um método separado, o manipulador pode marcar para um cancelamento sem relatar o progresso.

Exemplos

O exemplo a seguir mostra o uso de ISyncMgrSyncCallback::CanContinue pelo método Synchronize .

HRESULT CMyDeviceHandler::Synchronize(...)
{
    ...

    // Start synchronizing the sync items.

    ...

    // If a cancellation has been requested, stop the sync and exit.
    if (pCallback->CanContinue(pszItemID) == S_FALSE)
    {
        // End the sync operation and exit the function.
        hr = pCallback->ReportProgress(pszItemID,
                                       pszCancelMessage,
                                       SYNCMGR_PS_CANCELED,
                                       uCurrentStep,
                                       uMaxStep,
                                       NULL);
    }
    ...
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho syncmgr.h