Cloud Filter API

Overview of the Cloud Filter API technology.

To develop Cloud Filter API, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
CF_CALLBACK_CANCEL_FLAGS

Callback flags for canceling data fetching for a placeholder file or folder.
CF_CALLBACK_CLOSE_COMPLETION_FLAGS

Callback flags for notifying a sync provider that a placeholder under one of its sync roots that has been previously opened for read/write/delete access is now closed.
CF_CALLBACK_DEHYDRATE_COMPLETION_FLAGS

A callback flag to inform the sync provider that a placeholder under one of its sync roots has been successfully dehydrated.
CF_CALLBACK_DEHYDRATE_FLAGS

Callback flags for notifying a sync provider that a placeholder under one of its sync root is going to be dehydrated.
CF_CALLBACK_DEHYDRATION_REASON

Specifies the reason why a cloud file was dehydrated.
CF_CALLBACK_DELETE_COMPLETION_FLAGS

Callback flags for notifying a sync provider that a placeholder was successfully deleted.
CF_CALLBACK_DELETE_FLAGS

This callback is used to inform the sync provider that a placeholder file or directory under one of its sync roots is about to be deleted.
CF_CALLBACK_FETCH_DATA_FLAGS

Callback flags for fetching data for a placeholder file or folder.
CF_CALLBACK_FETCH_PLACEHOLDERS_FLAGS

Flags for fetching information about the content of a placeholder file or directory.
CF_CALLBACK_OPEN_COMPLETION_FLAGS

Callback flags for notifying a sync provider that a placeholder was successfully opened for read/write/delete access.
CF_CALLBACK_RENAME_COMPLETION_FLAGS

A callback flag to inform the sync provider that a placeholder under one of its sync roots has been successfully renamed.
CF_CALLBACK_RENAME_FLAGS

Call back flags to inform the sync provider that a placeholder under one of its sync roots is about to be renamed or moved.
CF_CALLBACK_TYPE

Contains the various types of callbacks used on placeholder files or folders.
CF_CALLBACK_VALIDATE_DATA_FLAGS

Flags to validate the data of a placeholder file or directory.
CF_CONNECT_FLAGS

Additional information that can be requested by a sync provider when its callbacks are invoked.
CF_CONVERT_FLAGS

Normal file/directory to placeholder file/directory conversion flags.
CF_CREATE_FLAGS

Flags for creating a placeholder file or directory.
CF_DEHYDRATE_FLAGS

Placeholder dehydration flags.
CF_HARDLINK_POLICY

Specifies whether or not hard links are allowed on placeholder files.
CF_HYDRATE_FLAGS

Placeholder data hydration flags.
CF_HYDRATION_POLICY_MODIFIER

Allows a sync provider to control how placeholder files should be hydrated by the platform. This is a modifier that can be used with the primary policy:_CF_HYDRATION_POLICY_PRIMARY.
CF_HYDRATION_POLICY_PRIMARY

Allows a sync provider to control how placeholder files should be hydrated by the platform. This is the primary policy.
CF_IN_SYNC_STATE

Specifies the in-sync state for placeholder files and folders.
CF_INSYNC_POLICY

A policy allowing a sync provider to control when the platform should clear the in-sync state on a placeholder file or directory.
CF_OPEN_FILE_FLAGS

Flags to request various permissions on opening a file.
CF_OPERATION_ACK_DATA_FLAGS

Flags to verify and acknowledge data for a placeholder file or folder.
CF_OPERATION_ACK_DEHYDRATE_FLAGS

Flags to acknowledge the dehydration of a placeholder file or directory.
CF_OPERATION_ACK_DELETE_FLAGS

Flags to acknowledge the deletion of a placeholder file or directory.
CF_OPERATION_ACK_RENAME_FLAGS

Flags for acknowledging placeholder file or directory renaming.
CF_OPERATION_RESTART_HYDRATION_FLAGS

Flags to restart data hydration on a placeholder file or folder.
CF_OPERATION_RETRIEVE_DATA_FLAGS

Flags to retrieve data for a placeholder file or folder.
CF_OPERATION_TRANSFER_DATA_FLAGS

Flags to transfer data to hydrate a placeholder file or folder.
CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAGS

Flags to specify the behavior when transferring a placeholder file or directory.
CF_OPERATION_TYPE

The types of operations that can be performed on placeholder files and directories.
CF_PIN_STATE

Pin states of a placeholder file or directory.
CF_PLACEHOLDER_CREATE_FLAGS

Flags for creating a placeholder on a per-placeholder basis.
CF_PLACEHOLDER_INFO_CLASS

Information classes for placeholder info.
CF_PLACEHOLDER_MANAGEMENT_POLICY

Specifies a placeholder management policy for a CF_SYNC_POLICIES structure.
CF_PLACEHOLDER_RANGE_INFO_CLASS

Types of the range of placeholder file data.
CF_PLACEHOLDER_STATE

The state of a placeholder file or folder.
CF_POPULATION_POLICY_MODIFIER

Defines the population policy modifiers. This is a modifier that can be used with the primary policy:_CF_POPULATION_POLICY_PRIMARY.
CF_POPULATION_POLICY_PRIMARY

Allows a sync provider to control how placeholder directories and files should be created by the platform. This is the primary policy.
CF_REGISTER_FLAGS

Flags for registering and updating a sync root.
CF_REVERT_FLAGS

Flags for reverting a placeholder file to a regular file.
CF_SET_IN_SYNC_FLAGS

The in-sync state flags for placeholder files and folders.
CF_SET_PIN_FLAGS

The placeholder pin flags.
CF_SYNC_PROVIDER_STATUS

Current status of a sync provider.
CF_SYNC_ROOT_INFO_CLASS

Types of sync root information.
CF_UPDATE_FLAGS

Flags for updating a placeholder file or directory.

Functions

 
CfCloseHandle

Closes the file or directory handle returned by CfOpenFileWithOplock. This should not be used with standard Win32 file handles, only on handles used within CfApi.h.
CfConnectSyncRoot

Initiates bi-directional communication between a sync provider and the sync filter API.
CfConvertToPlaceholder

Converts a normal file/directory to a placeholder file/directory.
CfCreatePlaceholders

Creates one or more new placeholder files or directories under a sync root tree.
CfDisconnectSyncRoot

Disconnects a communication channel created by CfConnectSyncRoot.
CfExecute

The main entry point for all connection key based placeholder operations. It is intended to be used by a sync provider to respond to various callbacks from the platform.
CfGetCorrelationVector

Allows the sync provider to query the current correlation vector for a given placeholder file.
CfGetPlaceholderInfo

Gets various characteristics of a placeholder file or folder.
CfGetPlaceholderRangeInfo

Gets range information about a placeholder file or folder.
CfGetPlaceholderStateFromAttributeTag

Gets a set of placeholder states based on the FileAttributes and ReparseTag values of the file.
CfGetPlaceholderStateFromFileInfo

Gets a set of placeholder states based on the various information of the file.
CfGetPlaceholderStateFromFindData

Gets a set of placeholder states based on the WIN32_FIND_DATA structure.
CfGetPlatformInfo

Gets the platform version information.
CfGetSyncRootInfoByHandle

Gets various characteristics of the sync root containing a given file specified by a file handle.
CfGetSyncRootInfoByPath

Gets various sync root information given a file under the sync root.
CfGetTransferKey

Initiates a transfer of data into a placeholder file or folder.
CfGetWin32HandleFromProtectedHandle

Converts a protected handle to a Win32 handle so that it can be used with all handle-based Win32 APIs.
CfHydratePlaceholder

Hydrates a placeholder file by ensuring that the specified byte range is present on-disk in the placeholder. This is valid for files only.
CfOpenFileWithOplock

Opens an asynchronous opaque handle to a file or directory (for both normal and placeholder files) and sets up a proper oplock on it based on the open flags.
CfQuerySyncProviderStatus

Queries a sync provider to get the status of the provider.
CfReferenceProtectedHandle

Allows the caller to reference a protected handle to a Win32 handle which can be used with non-CfApi Win32 APIs.
CfRegisterSyncRoot

Performs a one time sync root registration.
CfReleaseProtectedHandle

Releases a protected handle referenced by CfReferenceProtectedHandle.
CfReleaseTransferKey

Releases a transfer key obtained by CfGetTransferKey.
CfReportProviderProgress

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

Allows a sync provider to report progress out-of-band. Extends CfReportProviderProgress with additional parameters.
CfReportSyncStatus

Allows a sync provider to notify the platform of its status on a specified sync root without having to connect with a call to CfConnectSyncRoot first.
CfRevertPlaceholder

Reverts a placeholder back to a regular file, stripping away all special characteristics such as the reparse tag, the file identity, etc.
CfSetCorrelationVector

Allows a sync provider to instruct the platform to use a specific correlation vector for telemetry purposes on a placeholder file. This is optional.
CfSetInSyncState

Sets the in-sync state for a placeholder file or folder.
CfSetPinState

This sets the pin state of a placeholder, used to represent a user’s intent. Any application (not just the sync provider) can call this function.
CfUnregisterSyncRoot

Unregisters a previously registered sync root.
CfUpdatePlaceholder

Updates characteristics of the placeholder file or directory.
CfUpdateSyncProviderStatus

Updates the current status of the sync provider.

Structures

 
CF_CALLBACK_INFO

Contains common callback information.
CF_CALLBACK_PARAMETERS

Contains callback specific parameters such as file offset, length, flags, etc.
CF_CALLBACK_REGISTRATION

The callbacks to be registered by the sync provider.
CF_FILE_RANGE

Specifies a range of data in a placeholder file.
CF_FS_METADATA

Placeholder file or directory metadata.
CF_HYDRATION_POLICY

Specifies the primary hydration policy and its modifier.
CF_OPERATION_INFO

Information about an operation on a placeholder file or folder.
CF_OPERATION_PARAMETERS

Parameters of an operation on a placeholder file or folder.
CF_PLACEHOLDER_BASIC_INFO

Basic placeholder information.
CF_PLACEHOLDER_CREATE_INFO

Contains placeholder information for creating new placeholder files or directories.
CF_PLACEHOLDER_STANDARD_INFO

Standard placeholder information.
CF_PLATFORM_INFO

Returns information for the cloud files platform. This is intended for sync providers running on multiple versions of Windows.
CF_POPULATION_POLICY

Specifies the primary population policy and its modifier.
CF_PROCESS_INFO

Contains information about a user process.
CF_SYNC_POLICIES

Defines the sync policies used by a sync root.
CF_SYNC_REGISTRATION

The details of the sync provider and sync root to be registered.
CF_SYNC_ROOT_BASIC_INFO

Basic sync root information.
CF_SYNC_ROOT_PROVIDER_INFO

Sync root provider information.
CF_SYNC_ROOT_STANDARD_INFO

Standard sync root information.
CF_SYNC_STATUS

Used in a CF_OPERATION_INFO structure to describe the status of a specified sync root.