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 |