Offline Files

Overview of the Offline Files technology.

To develop Offline Files, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
OFFLINEFILES_CACHING_MODE

Describes the caching mode used in methods such as IOfflineFilesCache::IsPathCacheable and IOfflineFilesShareInfo::GetShareCachingMode.
OFFLINEFILES_COMPARE

Specifies the type of comparison to perform in the IOfflineFilesItemFilter::GetTimeFilter method.
OFFLINEFILES_CONNECT_STATE

Describes the connection state of an item in the Offline Files cache.
OFFLINEFILES_EVENTS

Event identifier codes describing events to be received or excluded by an event sink.
OFFLINEFILES_ITEM_COPY

Specifies whether the local, remote, or original copy of an item is being queried.
OFFLINEFILES_ITEM_TIME

Specifies which time value associated with the cache item is to be used.
OFFLINEFILES_ITEM_TYPE

Identifies the type of an item in the Offline Files cache.
OFFLINEFILES_OFFLINE_REASON

Indicates the reason why an item is offline.
OFFLINEFILES_OP_RESPONSE

Specifies whether to continue, retry, or stop processing items.
OFFLINEFILES_PATHFILTER_MATCH

Specifies how closely an event must match a filter.
OFFLINEFILES_SETTING_VALUE_TYPE

Identifies the data type returned by the IOfflineFilesSetting::GetValueType method.
OFFLINEFILES_SYNC_CONFLICT_RESOLVE

Identifies the conflict resolution code returned by the IOfflineFilesSyncConflictHandler::ResolveConflict method.
OFFLINEFILES_SYNC_OPERATION

Indicates the type of sync operation that was being performed when a sync error was encountered.
OFFLINEFILES_SYNC_STATE

Describes the sync state of an Offline Files item.

Functions

 
BackgroundSyncBegin

Reports that the Offline Files service is beginning to perform a background synchronization pass.
BackgroundSyncEnd

Reports that the Offline Files service completed a background synchronization pass.
Begin

Reports that an operation has begun.
CacheEvictBegin

This method is reserved for future use. (IOfflineFilesEvents2.CacheEvictBegin)
CacheEvictEnd

This method is reserved for future use. (IOfflineFilesEvents2.CacheEvictEnd)
CacheIsCorrupted

This method is reserved for future use. (IOfflineFilesEvents.CacheIsCorrupted)
CacheIsFull

This method is reserved for future use. (IOfflineFilesEvents.CacheIsFull)
CacheMoved

This method is reserved for future use. (IOfflineFilesEvents.CacheMoved)
Clone

Creates a new instance of the enumerator with the same enumeration state as the current one. (IEnumOfflineFilesItems.Clone)
Clone

Creates a new instance of the enumerator with the same enumeration state as the current one. (IEnumOfflineFilesSettings.Clone)
DataLost

Reports that one or more events destined for this event sink have been lost and will not be delivered.
DeleteItems

Deletes files and directories from the local cache.
DeleteItemsForUser

Deletes a user's files and directories from the local cache.
DeletePreference

Removes a preference setting.
Enabled

This method is reserved for future use. (IOfflineFilesEvents.Enabled)
Encrypt

Encrypts or unencrypts the contents of the Offline Files cache cached for the calling user.
EncryptionChanged

This method is reserved for future use. (IOfflineFilesEvents.EncryptionChanged)
End

Reports that an operation has ended.
EnumItems

Returns an enumerator of child items for the cache item implementing this method. (IOfflineFilesItemContainer.EnumItems)
EnumItemsEx

Returns an enumerator of child items for the cache item implementing this method. (IOfflineFilesItemContainer.EnumItemsEx)
EnumSettingObjects

Creates an enumerator of instances of IOfflineFilesSetting.
FindItem

Locates a particular file or directory item in the cache. (IOfflineFilesCache.FindItem)
FindItemEx

Locates a particular file or directory item in the cache. (IOfflineFilesCache.FindItemEx)
GetAttributes

Retrieves the Win32 attributes for an item.
GetConnectState

Determines whether an item is online or offline and, if offline, why.
GetDescription

Retrieves a text string describing the error.
GetDiskSpaceInformation

Retrieves the amount of disk space used by the Offline Files cache as well as the space limits applied to cache usage.
GetEncryptionStatus

Retrieves the current encryption state (encrypted or unencrypted) of the Offline Files cache.
GetExcludedEvents

Retrieves an array of OFFLINEFILES_EVENTS enumeration values describing which events should not be received by the event sink.
GetFileAttributes

Retrieves the Win32 file attributes for the item.
GetFileSize

Retrieves the size of an item.
GetFileSize

Retrieves the size of the item in bytes.
GetFileTimes

Retrieves the last-write and change times for the item.
GetFilterFlags

Provides flags to control flag-based filtering of items.
GetIncludedEvents

Retrieves an array of OFFLINEFILES_EVENTS enumeration values describing which events should be received by the event sink.
GetItemChangeFlags

Retrieves a value containing a set of flags that describe what changes were encountered during the sync operation associated with the sync error.
GetItemType

Returns a type code identifying the type of the item:_server, share, directory, or file.
GetLocalInfo

Retrieves an instance of the IOfflineFilesSyncErrorItemInfo interface containing the file times, size, and attributes of the local copy of the item involved in the synchronization.
GetLocation

Retrieves the current fully qualified directory path of the Offline Files cache.
GetName

Retrieves a name associated with a particular Offline Files setting.
GetOriginalInfo

Retrieves an instance of the IOfflineFilesSyncErrorItemInfo interface containing the file times, size, and attributes of the original copy of the item involved in the synchronization.
GetParentItem

Retrieves the IOfflineFilesItem interface for the parent of the item.
GetPath

Retrieves the fully qualified UNC path string for an item in the Offline Files cache.
GetPathFilter

Retrieves a UNC path string and a scope indicator describing which path-based events should be delivered to this event sink.
GetPatternFilter

Provides a filter pattern string to limit enumerated items based on item name patterns.
GetPolicy

Retrieves a policy associated with a particular Offline Files setting.
GetPolicyScope

Retrieves the scope of the policy associated with this setting.
GetPreference

Retrieves a per-machine or per-user preference associated with a particular Offline Files setting.
GetPreferenceScope

Indicates the scope of the preference associated with this setting.
GetRawData

Retrieves a block of bytes containing internal data associated with the error.
GetRemoteInfo

Retrieves an instance of the IOfflineFilesSyncErrorItemInfo interface containing the file times, size, and attributes of the remote copy of the item involved in the synchronization.
GetSettingObject

Creates an object that represents a particular Offline Files setting.
GetShareCachingMode

Retrieves the caching mode configuration of the closest ancestor share to the item.
GetShareItem

Finds the cache item representing the closest ancestor share to the item.
GetSyncOperation

Retrieves a value indicating the type of sync operation that was being performed when the error was encountered.
GetTimeFilter

Provides time-value-comparison semantics to control filtering of items based on time.
GetTimes

Retrieves the time values associated with an item.
GetValue

Retrieves the value of a particular Offline Files setting.
GetValueType

Retrieves the data type of a particular Offline Files setting.
InfoAvailable

Indicates whether information was obtained for the local, remote, or original copy of the item during synchronization.
InfoEnumerated

Indicates whether information was queried for the local, remote, or original copy of the item during synchronization.
IsCreatedOffline

Determines whether an item was created in the Offline Files cache while working offline.
IsDeletedOffline

Determines whether an item has been deleted from the Offline Files cache while working offline.
IsDirty

Determines whether an item in the Offline Files cache has been modified.
IsEncrypted

Determines whether an item in the Offline Files cache is encrypted.
IsGhosted

Determines whether the item is ghosted.
IsLocallyModifiedAttributes

Determines whether one or more of an item's attributes were modified while working offline.
IsLocallyModifiedData

Determines whether an item's data was modified while working offline.
IsLocallyModifiedTime

Determines whether one or more of an item's time values were modified while working offline.
IsMarkedForDeletion

Determines whether an item has been deleted from the Offline Files cache.
IsPartlyPinned

Determines whether the item is partly pinned.
IsPathCacheable

Determines whether a specified UNC path is in the Offline Files cache.
IsPinned

Determines whether the item is pinned.
IsPinnedForComputer

Determines whether the item was pinned for all users on the computer by Group Policy.
IsPinnedForFolderRedirection

Determines whether the item was pinned by Folder Redirection.
IsPinnedForUser

Determines whether the item was pinned by a user.
IsPinnedForUserByPolicy

Determines whether the item was pinned for users by Group Policy.
IsShareDfsJunction

Determines whether the share item is a DFS junction or a shared folder on a server.
IsSparse

Determines whether an item in the Offline Files cache is sparsely cached.
IsSuspended

Determines whether an item is suspended.
IsTransparentlyCached

Determines whether the item is transparently cached.
ItemAddedToCache

Reports that an item has been added to the Offline Files cache.
ItemAvailableOffline

Reports that an item in the Offline Files cache is now available for offline use should the remote copy become unavailable.
ItemBegin

Reports that an operation on an item is beginning.
ItemDeletedFromCache

Reports that an item has been removed from the Offline Files cache.
ItemDisconnected

Reports that an item in the Offline Files cache has transitioned from online to offline.
ItemModified

Reports that an item in the Offline Files cache has been modified.
ItemNotAvailableOffline

Reports that an item in the Offline Files cache is no longer available for offline use should the remote copy become unavailable.
ItemNotPinned

Reports that an item in the Offline Files cache is no longer pinned.
ItemPinned

Reports that an item in the Offline Files cache is now pinned and guaranteed to be available offline should the remote copy become unavailable.
ItemReconnectBegin

Reports that the Offline Files service is beginning to attempt to reconnect all offline scopes.
ItemReconnected

Reports that an item in the Offline Files cache has transitioned from offline to online.
ItemReconnectEnd

Reports that the Offline Files service has completed its attempt to reconnect all offline scopes.
ItemRenamed

Reports that the path for an item in the Offline Files cache has been renamed.
ItemResult

Reports that an item has been processed during the operation.
LocalDirtyByteCount

Retrieves the amount of unsynchronized ("dirty") data for the associated file in the local Offline Files cache.
NetTransportArrived

Reports that the Offline Files feature has detected the arrival of a network transport.
Next

Retrieves the next item in the enumeration and advances the enumerator. (IEnumOfflineFilesItems.Next)
Next

Retrieves the next item in the enumeration and advances the enumerator. (IEnumOfflineFilesSettings.Next)
NoNetTransports

Reports that the Offline Files feature has detected that no network transports are available.
OfflineFilesEnable

Enables or disables the Offline Files feature.
OfflineFilesQueryStatus

Determines whether the Offline Files feature is enabled and, if so, whether it is active.
OfflineFilesQueryStatusEx

Determines whether the Offline Files feature is enabled and, if so, whether it is active and available. This function is identical to the OfflineFilesQueryStatus function, except that it has an additional output parameter.
OfflineFilesStart

Starts the Offline Files service.
Pin

Pins files, directories, and network shared folders.
Ping

This event is delivered to all registered event subscribers on a periodic basis.
PolicyChangeDetected

Reports that the Offline Files service detected a change in one or more of its setting values that are controlled by Group Policy.
PreferenceChangeDetected

Reports that the Offline Files service detected a change in one or more of its setting values that are not controlled by Group Policy.
PrefetchFileBegin

Reports that a file prefetch operation has begun.
PrefetchFileEnd

Reports that a file prefetch operation has ended.
ProcessAdminPinPolicy

Causes Offline Files to process the "administratively assigned offline files" group policy.
QueryAbort

May be called during lengthy operations to determine if the operation should be canceled.
Refresh

Refreshes any data cached in the object by rereading from the Offline Files cache.
RemoteDirtyByteCount

This method is reserved for future use. (IOfflineFilesDirtyInfo.RemoteDirtyByteCount)
RenameItem

Renames an item in the cache.
RenameItemEx

Renames an item in the cache. This method is identical to the IOfflineFilesCache::RenameItem method, except that it will attempt to do the rename operation right away.
Reset

Resets the enumeration to the beginning. (IEnumOfflineFilesItems.Reset)
Reset

Resets the enumeration to the beginning. (IEnumOfflineFilesSettings.Reset)
ResolveConflict

Provides a resolution decision for a sync conflict.
SetConnectState

Sets the connection state for an item.
SetDiskSpaceLimits

Sets disk space usage limits on the Offline Files cache.
SetPreference

Sets a per-computer or per-user preference associated with an Offline Files setting.
SettingsChangesApplied

Reports that the Offline Files service has applied the changes that were detected in Group Policy or preference values.
Skip

Skips over the next specified number of elements in the enumeration. (IEnumOfflineFilesItems.Skip)
Skip

Skips over the next specified number of elements in the enumeration. (IEnumOfflineFilesSettings.Skip)
SuspendRoot

Suspend or release a share root or directory tree.
SyncBegin

Reports that the Offline Files cache has begun a synchronization operation.
SyncConflictRecAdded

Reports that a sync conflict has been detected and recorded in the sync conflict log.
SyncConflictRecRemoved

Reports that a sync conflict no longer exists and that its record has been removed from the sync conflict log.
SyncConflictRecUpdated

Reports that a sync conflict has been detected and that a record of the conflict was already present in the sync conflict log.
SyncEnd

Reports that the Offline Files cache has ended a synchronize operation.
SyncFileResult

Reports the result of synchronizing a particular file.
Synchronize

Synchronizes files and directories in the Offline Files cache with their corresponding copies in the applicable network shared folders.
SyncItemBegin

Reports that a synchronization operation on an item is beginning.
SyncItemResult

Reports that an item has been processed during the synchronization operation.
TransitionOffline

Transitions an item offline if possible.
TransitionOnline

Transitions an item online if possible.
TransparentCacheItemNotify

Reports that an action has been performed on a transparently cached item.
Unpin

Unpins files, directories, and network shared folders from the Offline Files cache.

Interfaces

 
IEnumOfflineFilesItems

Represents a collection of IOfflineFilesItem interface pointers.
IEnumOfflineFilesSettings

Enumerates setting objects associated with the Offline Files service.
IOfflineFilesCache

Used to manage the Offline Files cache.
IOfflineFilesCache2

Implements the RenameItemEx method.
IOfflineFilesChangeInfo

Represents the information associated with local changes made to an item while working offline.
IOfflineFilesConnectionInfo

Presents query and action capabilities associated with the online-offline transition behavior of Offline Files.
IOfflineFilesDirectoryItem

Represents a directory item in the Offline Files cache.
IOfflineFilesDirtyInfo

Represents information about an unsynchronized ("dirty") file in the Offline Files cache.
IOfflineFilesErrorInfo

Provides a text description and raw data block associated with an error.
IOfflineFilesEvents

Used to report significant events associated with Offline Files.
IOfflineFilesEvents2

Used to report additional events associated with Offline Files.
IOfflineFilesEvents3

Used to report events associated with transparently cached items.
IOfflineFilesEventsFilter

Provides a mechanism for recipients of published events to restrict the number of event instances they receive.
IOfflineFilesFileItem

Represents a file item in the Offline Files cache.
IOfflineFilesFileSysInfo

Represents the standard information associated with a file system item in the Offline Files cache.
IOfflineFilesGhostInfo

Represents the ghosting status of an item in the Offline Files cache.
IOfflineFilesItem

Represents a single item in the Offline Files cache.
IOfflineFilesItemContainer

Used to access item enumeration functionality in the Offline Files cache.
IOfflineFilesItemFilter

Represents an instance of a filter to be applied to an enumeration.
IOfflineFilesPinInfo

Represents the pinned status of an item in the Offline Files cache.
IOfflineFilesPinInfo2

Defines a method to determine whether an item in the Offline Files cache is partly pinned.
IOfflineFilesProgress

Used to report progress back to callers of lengthy Offline Files operations. (IOfflineFilesProgress)
IOfflineFilesServerItem

Represents a server item in the Offline Files cache.
IOfflineFilesSetting

Represents a setting that controls the behavior the Offline Files service.
IOfflineFilesShareInfo

Presents share-specific information about cached items.
IOfflineFilesShareItem

Represents a share item in the Offline Files cache.
IOfflineFilesSimpleProgress

Used to report progress back to callers of lengthy Offline Files operations. (IOfflineFilesSimpleProgress)
IOfflineFilesSuspend

Suspends or releases a share root or directory tree in the Offline Files cache.
IOfflineFilesSuspendInfo

Determines whether an item is suspended or not and, if so, if it is a suspended root or not.
IOfflineFilesSyncConflictHandler

Used by a client calling the IOfflineFilesCache::Synchronize method to prescribe a conflict resolution strategy for sync conflicts as they are detected.
IOfflineFilesSyncErrorInfo

Supplied with the IOfflineFilesSyncProgress::SyncItemResult method to communicate details about the item that experienced a sync error.
IOfflineFilesSyncErrorItemInfo

Provides file attributes, time information, and file size for an item associated with a sync error.
IOfflineFilesSyncProgress

Used to report progress back to the caller during synchronization and synchronization-related operations.
IOfflineFilesTransparentCacheInfo

Represents information associated with transparently cached items.