cfapi.h header

This header is used by Cloud Filter API. For more information, see:

cfapi.h contains the following programming interfaces:

Functions

Title Description
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.
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

Title Description
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.

Enumerations

Title Description
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_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_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.