Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Informa del progreso de la sincronización de un único elemento de sincronización con el Centro de sincronización.
Sintaxis
HRESULT ReportProgress(
[in] LPCWSTR pszItemID,
[in] LPCWSTR pszProgressText,
[in] SYNCMGR_PROGRESS_STATUS nStatus,
[in] ULONG uCurrentStep,
[in] ULONG uMaxStep,
[out] SYNCMGR_CANCEL_REQUEST *pnCancelRequest
);
Parámetros
[in] pszItemID
Tipo: LPCWSTR
Puntero a un búfer que contiene el identificador único del elemento que se está sincronizando actualmente. Esta cadena tiene una longitud máxima MAX_SYNCMGR_ID incluido el carácter nulo de terminación.
[in] pszProgressText
Tipo: LPCWSTR
Puntero a un búfer que contiene una cadena Unicode para cualquier mensajería de progreso personalizada para este elemento.
[in] nStatus
Tipo: SYNCMGR_PROGRESS_STATUS
Valor de la enumeración SYNCMGR_PROGRESS_STATUS que indica el estado de progreso actual de la sincronización.
[in] uCurrentStep
Tipo: ULONG
Paso actual de la sincronización. Si la marca SYNCMGR_PS_UPDATING_INDETERMINATE se establece en nStatus, se omite este parámetro.
[in] uMaxStep
Tipo: ULONG
Número total de pasos necesarios para completar la sincronización del elemento. Si la marca SYNCMGR_PS_UPDATING_INDETERMINATE se establece en nStatus, se omite este parámetro.
[out] pnCancelRequest
Tipo: SYNCMGR_CANCEL_REQUEST*
Cuando este método devuelve, apunta a un valor de la enumeración SYNCMGR_CANCEL_REQUEST que especifica la naturaleza de una solicitud de cancelación, si existe.
Valor devuelto
Tipo: HRESULT
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Si desea informar del progreso en el controlador en lugar de elementos de sincronización individuales, llame a ISyncMgrSyncCallback::SetHandlerProgressText.
Si se ha cancelado la sincronización, el controlador llama a ISyncMgrSyncCallback::ReportProgress en el elemento una última vez, confirmando la solicitud de cancelación especificando SYNCMGR_PS_CANCELED en el parámetro nStatus . Esto actualiza la interfaz de usuario y también permite al usuario reiniciar una sincronización para ese elemento.
Una vez que este método notifica un estado de finalización (SYNCMGR_PS_SUCCEEDED, SYNCMGR_PS_FAILED o SYNCMGR_PS_CANCELED), se SYNCMGR_PS_FAILED el único informe de estado adicional que se puede realizar. Cualquier otro valor hace que este método devuelva E_ACCESSDENIED y centro de sincronización para marcar el elemento como erróneo.
Este método reemplaza a Progress.
La longitud máxima de una cadena de progreso es MAX_SYNCMGR_PROGRESSTEXT. Esta constante se define en SyncMgr.h.
Ejemplos
En el ejemplo siguiente se muestra el uso de ISyncMgrSyncCallback::ReportProgress por el método Synchronize .
STDMETHODIMP CMyDeviceHandler::Synchronize(...)
{
...
// Start synchronizing the sync item.
...
// Construct a string to display in the Sync Center folder.
// Report the progress to Sync Center.
SYNCMGR_CANCEL_REQUEST nCancelRequest;
hr = pCallback->ReportProgress(pszItemID,
pszProgressText,
SYNCMGR_PS_UPDATING,
uCurrentStep,
uMaxStep,
&nCancelRequest);
if (SUCCEEDED(hr))
{
if (nCancelRequest != SYNCMGR_CR_NONE)
{
// Synchronization was canceled.
hr = pCallback->ReportProgress(pszItemID,
pszProgressText,
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 |