Metode ISyncMgrSyncCallback::ReportProgress (syncmgr.h)
Melaporkan kemajuan sinkronisasi item sinkronisasi tunggal ke Pusat Sinkronisasi.
Sintaks
HRESULT ReportProgress(
[in] LPCWSTR pszItemID,
[in] LPCWSTR pszProgressText,
[in] SYNCMGR_PROGRESS_STATUS nStatus,
[in] ULONG uCurrentStep,
[in] ULONG uMaxStep,
[out] SYNCMGR_CANCEL_REQUEST *pnCancelRequest
);
Parameter
[in] pszItemID
Jenis: LPCWSTR
Penunjuk ke buffer yang berisi ID unik item yang saat ini sedang disinkronkan. String ini memiliki panjang maksimum MAX_SYNCMGR_ID termasuk karakter null yang mengakhiri.
[in] pszProgressText
Jenis: LPCWSTR
Penunjuk ke buffer yang berisi string Unicode untuk pesan kemajuan kustom apa pun untuk item ini.
[in] nStatus
Jenis: SYNCMGR_PROGRESS_STATUS
Nilai dari enumerasi SYNCMGR_PROGRESS_STATUS yang menyatakan status kemajuan sinkronisasi saat ini.
[in] uCurrentStep
Jenis: ULONG
Langkah saat ini dalam sinkronisasi. Jika bendera SYNCMGR_PS_UPDATING_INDETERMINATE diatur di nStatus, parameter ini diabaikan.
[in] uMaxStep
Jenis: ULONG
Jumlah total langkah yang diperlukan untuk menyelesaikan sinkronisasi item. Jika bendera SYNCMGR_PS_UPDATING_INDETERMINATE diatur di nStatus, parameter ini diabaikan.
[out] pnCancelRequest
Jenis: SYNCMGR_CANCEL_REQUEST*
Ketika metode ini kembali, menunjuk ke nilai dari enumerasi SYNCMGR_CANCEL_REQUEST yang menentukan sifat permintaan pembatalan, jika ada.
Mengembalikan nilai
Jenis: HRESULT
Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
Jika Anda ingin melaporkan kemajuan pada handler daripada item sinkronisasi individual, panggil ISyncMgrSyncCallback::SetHandlerProgressText.
Jika sinkronisasi telah dibatalkan, handler memanggil ISyncMgrSyncCallback::ReportProgress pada item satu kali terakhir, mengakui permintaan pembatalan dengan menentukan SYNCMGR_PS_CANCELED dalam parameter nStatus . Ini memperbarui UI dan juga memungkinkan pengguna untuk memulai ulang sinkronisasi untuk item tersebut.
Setelah metode ini melaporkan status penyelesaian (SYNCMGR_PS_SUCCEEDED, SYNCMGR_PS_FAILED, atau SYNCMGR_PS_CANCELED), satu-satunya laporan status lebih lanjut yang dapat dibuat adalah SYNCMGR_PS_FAILED. Nilai lainnya menyebabkan metode ini mengembalikan E_ACCESSDENIED dan Pusat Sinkronisasi untuk menandai item sebagai gagal.
Metode ini menggantikan Kemajuan.
Panjang maksimum string kemajuan adalah MAX_SYNCMGR_PROGRESSTEXT. Konstanta ini ditentukan dalam SyncMgr.h.
Contoh
Contoh berikut menunjukkan penggunaan ISyncMgrSyncCallback::ReportProgress dengan metode 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);
}
}
...
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | syncmgr.h |