Skip to content

Latest commit

 

History

History
86 lines (66 loc) · 2.7 KB

nf-cfapi-cfreportproviderprogress.md

File metadata and controls

86 lines (66 loc) · 2.7 KB
UID title description helpviewer_keywords old-location tech.root ms.assetid ms.date ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames req.redist ms.custom f1_keywords dev_langs topic_type api_type api_location api_name
NF:cfapi.CfReportProviderProgress
CfReportProviderProgress function (cfapi.h)
Allows a sync provider to report progress out-of-band.
CfReportProviderProgress
CfReportProviderProgress function
cfapi/CfReportProviderProgress
cloudApi.cfreportproviderprogress
cloudapi\cfreportproviderprogress.htm
cloudapi
33AB46FD-200E-40FF-B061-5842C6433069
03/30/2023
CfReportProviderProgress, CfReportProviderProgress function, cfapi/CfReportProviderProgress, cloudApi.cfreportproviderprogress
cfapi.h
Windows
Windows 10, version 1709 [desktop apps only]
Windows Server 2016 [desktop apps only]
CldApi.lib
CldApi.dll
Windows
19H1
CfReportProviderProgress
cfapi/CfReportProviderProgress
c++
APIRef
kbSyntax
DllExport
CldApi.dll
CfReportProviderProgress

CfReportProviderProgress function

-description

Allows a sync provider to report progress out-of-band.

-parameters

-param ConnectionKey [in]

A connection key representing a communication channel with the sync filter.

-param TransferKey [in]

An opaque handle to the placeholder.

-param ProviderProgressTotal [in]

The total progress of the sync provider in response to a fetch data callback.

-param ProviderProgressCompleted [in]

The completed progress of the sync provider in response to a fetch data callback.

-returns

If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

-remarks

The filter automatically tracks the progress of hydrations, by tracking ranges that are transferred and/or acknowledged in response to FETCH_DATA callbacks. However, if a provider spends the bulk of its time downloading content to a temporary location before beginning to TRANSFER_DATA to the filter, the filter would otherwise be unaware that these activities are in any way related to the request.

By calling CfReportProviderProgress periodically, the sync provider can report progress to the filter, thereby resetting the 60 second timeout period corresponding to the CF_CALLBACK_TYPE_FETCH_DATA callback. This will also make the progress appear smoother.

-see-also

CfReportProviderProgress2

CF_CALLBACK_TYPE