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

Determina si se ha cancelado la sincronización.

Sintaxis

HRESULT CanContinue(
  [in] LPCWSTR pszItemID
);

Parámetros

[in] pszItemID

Tipo: LPCWSTR

Puntero a un búfer que contiene el identificador del elemento.

Valor devuelto

Tipo: HRESULT

Valor devuelto Significado
S_OK No se ha solicitado una cancelación. La sincronización puede continuar.
S_FALSE Se ha solicitado una cancelación. El controlador debe llamar a ISyncMgrSyncCallback::ReportProgress, especificando SYNCMGR_PS_CANCELED en el parámetro nStatus .
E_INVALIDARG El valor al que apunta pszItemID es desconocido para el Centro de sincronización o no es un elemento administrado por este controlador.
 

Si pszItemID es NULL o una cadena vacía, el valor devuelto depende de si se ha solicitado una cancelación para todo el controlador.

Comentarios

El usuario puede cancelar una sincronización haciendo clic en la tarea Detener o Detener todo en el menú contextual o en el módulo de comandos. También se puede cancelar cuando una aplicación llama a uno de los métodos stop de la interfaz ISyncMgrControl .

Al implementar esta funcionalidad como un método independiente, el controlador puede comprobar si hay una cancelación sin informar del progreso.

Ejemplos

En el ejemplo siguiente se muestra el uso de ISyncMgrSyncCallback::CanContinue mediante el 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 Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado syncmgr.h