//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.Storage.idl";
import "Windows.Storage.Search.idl";
import "Windows.Storage.Streams.idl";
import "Windows.UI.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        namespace Collections
        {
            runtimeclass PropertySet;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        interface IAsyncAction;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Storage
    {
        interface IStorageFile;

        interface IStorageFolder;

        interface IStorageItem;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Search
        {
            typedef struct SortEntry SortEntry;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        runtimeclass StorageFile;

        runtimeclass StorageFolder;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IBuffer;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        typedef struct Color Color;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Provider
        {
            apicontract CloudFilesContract;

            typedef enum CachedFileOptions CachedFileOptions;

            typedef enum CachedFileTarget CachedFileTarget;

            typedef enum FileUpdateStatus FileUpdateStatus;

            typedef enum ReadActivationMode ReadActivationMode;

            typedef enum StorageProviderHardlinkPolicy StorageProviderHardlinkPolicy;

            typedef enum StorageProviderHydrationPolicy StorageProviderHydrationPolicy;

            typedef enum StorageProviderHydrationPolicyModifier StorageProviderHydrationPolicyModifier;

            typedef enum StorageProviderInSyncPolicy StorageProviderInSyncPolicy;

            typedef enum StorageProviderKnownFolderSyncStatus StorageProviderKnownFolderSyncStatus;

            typedef enum StorageProviderPopulationPolicy StorageProviderPopulationPolicy;

            typedef enum StorageProviderProtectionMode StorageProviderProtectionMode;

            typedef enum StorageProviderResultKind StorageProviderResultKind;

            typedef enum StorageProviderResultUsageKind StorageProviderResultUsageKind;

            typedef enum StorageProviderSearchMatchKind StorageProviderSearchMatchKind;

            typedef enum StorageProviderSearchQueryStatus StorageProviderSearchQueryStatus;

            typedef enum StorageProviderShareLinkState StorageProviderShareLinkState;

            typedef enum StorageProviderState StorageProviderState;

            typedef enum StorageProviderUICommandState StorageProviderUICommandState;

            typedef enum StorageProviderUriSourceStatus StorageProviderUriSourceStatus;

            typedef enum UIStatus UIStatus;

            typedef enum WriteActivationMode WriteActivationMode;

            delegate StorageProviderKnownFolderSyncRequestedHandler;

            interface ICachedFileUpdaterStatics;

            interface ICachedFileUpdaterUI;

            interface ICachedFileUpdaterUI2;

            interface IFileUpdateRequest;

            interface IFileUpdateRequest2;

            interface IFileUpdateRequestDeferral;

            interface IFileUpdateRequestedEventArgs;

            interface IStorageProviderFileTypeInfo;

            interface IStorageProviderFileTypeInfoFactory;

            interface IStorageProviderGetContentInfoForPathResult;

            interface IStorageProviderGetPathForContentUriResult;

            interface IStorageProviderItemPropertiesStatics;

            interface IStorageProviderItemProperty;

            interface IStorageProviderItemPropertyDefinition;

            interface IStorageProviderItemPropertySource;

            interface IStorageProviderKnownFolderEntry;

            interface IStorageProviderKnownFolderSyncInfo;

            interface IStorageProviderKnownFolderSyncInfoSource;

            interface IStorageProviderKnownFolderSyncInfoSourceFactory;

            interface IStorageProviderKnownFolderSyncRequestArgs;

            interface IStorageProviderMoreInfoUI;

            interface IStorageProviderPropertyCapabilities;

            interface IStorageProviderQueryResult;

            interface IStorageProviderQueryResultSet;

            interface IStorageProviderQueryResultSetFactory;

            interface IStorageProviderQuotaUI;

            interface IStorageProviderSearchHandler;

            interface IStorageProviderSearchHandlerFactory;

            interface IStorageProviderSearchQueryOptions;

            interface IStorageProviderSearchResult;

            interface IStorageProviderShareLinkSource;

            interface IStorageProviderStatusUI;

            interface IStorageProviderStatusUISource;

            interface IStorageProviderStatusUISourceFactory;

            interface IStorageProviderSuggestionsHandler;

            interface IStorageProviderSuggestionsHandlerFactory;

            interface IStorageProviderSuggestionsQueryOptions;

            interface IStorageProviderSyncRootInfo;

            interface IStorageProviderSyncRootInfo2;

            interface IStorageProviderSyncRootInfo3;

            interface IStorageProviderSyncRootManagerStatics;

            interface IStorageProviderSyncRootManagerStatics2;

            interface IStorageProviderUICommand;

            interface IStorageProviderUriSource;

            runtimeclass CachedFileUpdater;

            runtimeclass CachedFileUpdaterUI;

            runtimeclass FileUpdateRequest;

            runtimeclass FileUpdateRequestDeferral;

            runtimeclass FileUpdateRequestedEventArgs;

            runtimeclass StorageProviderFileTypeInfo;

            runtimeclass StorageProviderGetContentInfoForPathResult;

            runtimeclass StorageProviderGetPathForContentUriResult;

            runtimeclass StorageProviderItemProperties;

            runtimeclass StorageProviderItemProperty;

            runtimeclass StorageProviderItemPropertyDefinition;

            runtimeclass StorageProviderKnownFolderEntry;

            runtimeclass StorageProviderKnownFolderSyncInfo;

            runtimeclass StorageProviderKnownFolderSyncRequestArgs;

            runtimeclass StorageProviderMoreInfoUI;

            runtimeclass StorageProviderQueryResultSet;

            runtimeclass StorageProviderQuotaUI;

            runtimeclass StorageProviderSearchQueryOptions;

            runtimeclass StorageProviderSearchResult;

            runtimeclass StorageProviderStatusUI;

            runtimeclass StorageProviderSuggestionResult;

            runtimeclass StorageProviderSuggestionsQueryOptions;

            runtimeclass StorageProviderSyncRootInfo;

            runtimeclass StorageProviderSyncRootManager;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Storage
    {
        namespace Provider
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Storage.Provider.IStorageProviderUICommand*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Storage.Provider.StorageProviderFileTypeInfo*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Storage.Provider.StorageProviderItemProperty*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Storage.Provider.StorageProviderItemPropertyDefinition*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Storage.Provider.StorageProviderKnownFolderEntry*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Storage.Provider.StorageProviderSyncRootInfo*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Storage.Provider.IStorageProviderUICommand*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Storage.Provider.StorageProviderFileTypeInfo*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Storage.Provider.StorageProviderItemProperty*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Storage.Provider.StorageProviderItemPropertyDefinition*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Storage.Provider.StorageProviderKnownFolderEntry*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Storage.Provider.StorageProviderSyncRootInfo*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Storage.Provider.IStorageProviderUICommand*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Storage.Provider.StorageProviderFileTypeInfo*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Storage.Provider.StorageProviderItemPropertyDefinition*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Storage.Provider.StorageProviderKnownFolderEntry*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Storage.Provider.StorageProviderSyncRootInfo*>;

                interface Windows.Foundation.Collections.IVector<Windows.Storage.Provider.IStorageProviderUICommand*>;

                interface Windows.Foundation.Collections.IVector<Windows.Storage.Provider.StorageProviderFileTypeInfo*>;

                interface Windows.Foundation.Collections.IVector<Windows.Storage.Provider.StorageProviderItemPropertyDefinition*>;

                interface Windows.Foundation.Collections.IVector<Windows.Storage.Provider.StorageProviderKnownFolderEntry*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Storage.Provider.FileUpdateStatus>;

                interface Windows.Foundation.IAsyncOperation<Windows.Storage.Provider.StorageProviderShareLinkState>;

                interface Windows.Foundation.TypedEventHandler<Windows.Storage.Provider.CachedFileUpdaterUI*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Storage.Provider.CachedFileUpdaterUI*, Windows.Storage.Provider.FileUpdateRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Storage.Provider.IStorageProviderKnownFolderSyncInfoSource*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Storage.Provider.IStorageProviderStatusUISource*, IInspectable*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Storage
    {
        namespace Provider
        {
            [contractversion(7.0)]
            apicontract CloudFilesContract
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum CachedFileOptions
            {
                None                     = 0x0,
                RequireUpdateOnAccess    = 0x1,
                UseCachedFileWhenOffline = 0x2,
                DenyAccessWhenOffline    = 0x4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CachedFileTarget
            {
                Local  = 0,
                Remote = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum FileUpdateStatus
            {
                Incomplete           = 0,
                Complete             = 1,
                UserInputNeeded      = 2,
                CurrentlyUnavailable = 3,
                Failed               = 4,
                CompleteAndRenamed   = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ReadActivationMode
            {
                NotNeeded    = 0,
                BeforeAccess = 1
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [flags]
            enum StorageProviderHardlinkPolicy
            {
                None    = 0x0,
                Allowed = 0x1
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            enum StorageProviderHydrationPolicy
            {
                Partial     = 0,
                Progressive = 1,
                Full        = 2,
                AlwaysFull  = 3
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [flags]
            enum StorageProviderHydrationPolicyModifier
            {
                None                      = 0x0,
                ValidationRequired        = 0x1,
                StreamingAllowed          = 0x2,
                [contract(Windows.Storage.Provider.CloudFilesContract, 3.0)]
                AutoDehydrationAllowed    = 0x4,
                [contract(Windows.Storage.Provider.CloudFilesContract, 6.0)]
                AllowFullRestartHydration = 0x8
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [flags]
            enum StorageProviderInSyncPolicy
            {
                Default                     = 0x0,
                FileCreationTime            = 0x1,
                FileReadOnlyAttribute       = 0x2,
                FileHiddenAttribute         = 0x4,
                FileSystemAttribute         = 0x8,
                DirectoryCreationTime       = 0x10,
                DirectoryReadOnlyAttribute  = 0x20,
                DirectoryHiddenAttribute    = 0x40,
                DirectorySystemAttribute    = 0x80,
                FileLastWriteTime           = 0x100,
                DirectoryLastWriteTime      = 0x200,
                PreserveInsyncForSyncEngine = 0x80000000
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            enum StorageProviderKnownFolderSyncStatus
            {
                Available = 0,
                Enrolling = 1,
                Enrolled  = 2
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            enum StorageProviderPopulationPolicy
            {
                Full       = 1,
                AlwaysFull = 2
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            enum StorageProviderProtectionMode
            {
                Unknown  = 0,
                Personal = 1
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            enum StorageProviderResultKind
            {
                Search               = 0,
                Recommended          = 1,
                Favorites            = 2,
                Recent               = 3,
                Shared               = 4,
                RelatedFiles         = 5,
                RelatedConversations = 6
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            enum StorageProviderResultUsageKind
            {
                Rendered                   = 0,
                Opened                     = 1,
                SuggestionResponseReceived = 2
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            enum StorageProviderSearchMatchKind
            {
                Lexical  = 0,
                Semantic = 1
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            enum StorageProviderSearchQueryStatus
            {
                Success               = 0,
                Error                 = 1,
                Timeout               = 2,
                NoNetwork             = 3,
                NetworkError          = 4,
                NotSignedIn           = 5,
                QueryNotSupported     = 6,
                SortOrderNotSupported = 7
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [experimental]
            enum StorageProviderShareLinkState
            {
                Enabled  = 0,
                Disabled = 1
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 5.0)]
            enum StorageProviderState
            {
                InSync  = 0,
                Syncing = 1,
                Paused  = 2,
                Error   = 3,
                Warning = 4,
                Offline = 5
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            enum StorageProviderUICommandState
            {
                Enabled  = 0,
                Disabled = 1,
                Hidden   = 2
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 2.0)]
            enum StorageProviderUriSourceStatus
            {
                Success      = 0,
                NoSyncRoot   = 1,
                FileNotFound = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum UIStatus
            {
                Unavailable = 0,
                Hidden      = 1,
                Visible     = 2,
                Complete    = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum WriteActivationMode
            {
                ReadOnly   = 0,
                NotNeeded  = 1,
                AfterWrite = 2
            };

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [uuid(C4CBB4F5-13DD-5C8E-8B96-336FC30C629B)]
            delegate
                HRESULT StorageProviderKnownFolderSyncRequestedHandler([in] Windows.Storage.Provider.StorageProviderKnownFolderSyncRequestArgs* args);

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Storage.Provider.CachedFileUpdater)]
            [uuid(9FC90920-7BCF-4888-A81E-102D7034D7CE)]
            interface ICachedFileUpdaterStatics : IInspectable
            {
                HRESULT SetUpdateInformation([in] Windows.Storage.IStorageFile* file, [in] HSTRING contentId, [in] Windows.Storage.Provider.ReadActivationMode readMode, [in] Windows.Storage.Provider.WriteActivationMode writeMode, [in] Windows.Storage.Provider.CachedFileOptions options);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Storage.Provider.CachedFileUpdaterUI)]
            [uuid(9E6F41E6-BAF2-4A97-B600-9333F5DF80FD)]
            interface ICachedFileUpdaterUI : IInspectable
            {
                [propget] HRESULT Title([out] [retval] HSTRING* value);
                [propput] HRESULT Title([in] HSTRING value);
                [propget] HRESULT UpdateTarget([out] [retval] Windows.Storage.Provider.CachedFileTarget* value);
                [eventadd] HRESULT FileUpdateRequested([in] Windows.Foundation.TypedEventHandler<Windows.Storage.Provider.CachedFileUpdaterUI*, Windows.Storage.Provider.FileUpdateRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT FileUpdateRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT UIRequested([in] Windows.Foundation.TypedEventHandler<Windows.Storage.Provider.CachedFileUpdaterUI*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT UIRequested([in] EventRegistrationToken token);
                [propget] HRESULT UIStatus([out] [retval] Windows.Storage.Provider.UIStatus* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Storage.Provider.CachedFileUpdaterUI)]
            [uuid(8856A21C-8699-4340-9F49-F7CAD7FE8991)]
            interface ICachedFileUpdaterUI2 : IInspectable
                requires
                    Windows.Storage.Provider.ICachedFileUpdaterUI
            {
                [propget] HRESULT UpdateRequest([out] [retval] Windows.Storage.Provider.FileUpdateRequest** value);
                HRESULT GetDeferral([out] [retval] Windows.Storage.Provider.FileUpdateRequestDeferral** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Storage.Provider.FileUpdateRequest)]
            [uuid(40C82536-C1FE-4D93-A792-1E736BC70837)]
            interface IFileUpdateRequest : IInspectable
            {
                [propget] HRESULT ContentId([out] [retval] HSTRING* value);
                [propget] HRESULT File([out] [retval] Windows.Storage.StorageFile** value);
                [propget] HRESULT Status([out] [retval] Windows.Storage.Provider.FileUpdateStatus* value);
                [propput] HRESULT Status([in] Windows.Storage.Provider.FileUpdateStatus value);
                HRESULT GetDeferral([out] [retval] Windows.Storage.Provider.FileUpdateRequestDeferral** value);
                HRESULT UpdateLocalFile([in] Windows.Storage.IStorageFile* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Storage.Provider.FileUpdateRequest)]
            [uuid(82484648-BDBE-447B-A2EE-7AFE6A032A94)]
            interface IFileUpdateRequest2 : IInspectable
                requires
                    Windows.Storage.Provider.IFileUpdateRequest
            {
                [propget] HRESULT UserInputNeededMessage([out] [retval] HSTRING* value);
                [propput] HRESULT UserInputNeededMessage([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Storage.Provider.FileUpdateRequestDeferral)]
            [uuid(FFCEDB2B-8ADE-44A5-BB00-164C4E72F13A)]
            interface IFileUpdateRequestDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Storage.Provider.FileUpdateRequestedEventArgs)]
            [uuid(7B0A9342-3905-438D-AAEF-78AE265F8DD2)]
            interface IFileUpdateRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Request([out] [retval] Windows.Storage.Provider.FileUpdateRequest** value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 4.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderFileTypeInfo)]
            [uuid(1955B9C1-0184-5A88-87DF-4544F464365D)]
            interface IStorageProviderFileTypeInfo : IInspectable
            {
                [propget] HRESULT FileExtension([out] [retval] HSTRING* value);
                [propget] HRESULT IconResource([out] [retval] HSTRING* value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 4.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderFileTypeInfo)]
            [uuid(3FA12C6F-CCE6-5D5D-80B1-389E7CF92DBF)]
            interface IStorageProviderFileTypeInfoFactory : IInspectable
            {
                HRESULT CreateInstance([in] HSTRING fileExtension, [in] HSTRING iconResource, [out] [retval] Windows.Storage.Provider.StorageProviderFileTypeInfo** value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 2.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderGetContentInfoForPathResult)]
            [uuid(2564711D-AA89-4D12-82E3-F72A92E33966)]
            interface IStorageProviderGetContentInfoForPathResult : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Storage.Provider.StorageProviderUriSourceStatus* value);
                [propput] HRESULT Status([in] Windows.Storage.Provider.StorageProviderUriSourceStatus value);
                [propget] HRESULT ContentUri([out] [retval] HSTRING* value);
                [propput] HRESULT ContentUri([in] HSTRING value);
                [propget] HRESULT ContentId([out] [retval] HSTRING* value);
                [propput] HRESULT ContentId([in] HSTRING value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 2.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderGetPathForContentUriResult)]
            [uuid(63711A9D-4118-45A6-ACB6-22C49D019F40)]
            interface IStorageProviderGetPathForContentUriResult : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Storage.Provider.StorageProviderUriSourceStatus* value);
                [propput] HRESULT Status([in] Windows.Storage.Provider.StorageProviderUriSourceStatus value);
                [propget] HRESULT Path([out] [retval] HSTRING* value);
                [propput] HRESULT Path([in] HSTRING value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderItemProperties)]
            [uuid(2D2C1C97-2704-4729-8FA9-7E6B8E158C2F)]
            interface IStorageProviderItemPropertiesStatics : IInspectable
            {
                HRESULT SetAsync([in] Windows.Storage.IStorageItem* item, [in] Windows.Foundation.Collections.IIterable<Windows.Storage.Provider.StorageProviderItemProperty*>* itemProperties, [out] [retval] Windows.Foundation.IAsyncAction** operation);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderItemProperty)]
            [uuid(476CB558-730B-4188-B7B5-63B716ED476D)]
            interface IStorageProviderItemProperty : IInspectable
            {
                [propput] HRESULT Id([in] INT32 value);
                [propget] HRESULT Id([out] [retval] INT32* value);
                [propput] HRESULT Value([in] HSTRING value);
                [propget] HRESULT Value([out] [retval] HSTRING* value);
                [propput] HRESULT IconResource([in] HSTRING value);
                [propget] HRESULT IconResource([out] [retval] HSTRING* value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderItemPropertyDefinition)]
            [uuid(C5B383BB-FF1F-4298-831E-FF1C08089690)]
            interface IStorageProviderItemPropertyDefinition : IInspectable
            {
                [propget] HRESULT Id([out] [retval] INT32* value);
                [propput] HRESULT Id([in] INT32 value);
                [propget] HRESULT DisplayNameResource([out] [retval] HSTRING* value);
                [propput] HRESULT DisplayNameResource([in] HSTRING value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [uuid(8F6F9C3E-F632-4A9B-8D99-D2D7A11DF56A)]
            interface IStorageProviderItemPropertySource : IInspectable
            {
                HRESULT GetItemProperties([in] HSTRING itemPath, [out] [retval] Windows.Foundation.Collections.IIterable<Windows.Storage.Provider.StorageProviderItemProperty*>** result);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderKnownFolderEntry)]
            [uuid(EFFA7DB0-1D44-596B-8464-928800C5E2D8)]
            interface IStorageProviderKnownFolderEntry : IInspectable
            {
                [propget] HRESULT KnownFolderId([out] [retval] GUID* value);
                [propput] HRESULT KnownFolderId([in] GUID value);
                [propget] HRESULT Status([out] [retval] Windows.Storage.Provider.StorageProviderKnownFolderSyncStatus* value);
                [propput] HRESULT Status([in] Windows.Storage.Provider.StorageProviderKnownFolderSyncStatus value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderKnownFolderSyncInfo)]
            [uuid(98B017CE-FFC1-5B11-AE77-CC17AFEC1049)]
            interface IStorageProviderKnownFolderSyncInfo : IInspectable
            {
                [propget] HRESULT ProviderDisplayName([out] [retval] HSTRING* value);
                [propput] HRESULT ProviderDisplayName([in] HSTRING value);
                [propget] HRESULT KnownFolderEntries([out] [retval] Windows.Foundation.Collections.IVector<Windows.Storage.Provider.StorageProviderKnownFolderEntry*>** value);
                [propget] HRESULT SyncRequested([out] [retval] Windows.Storage.Provider.StorageProviderKnownFolderSyncRequestedHandler** value);
                [propput] HRESULT SyncRequested([in] Windows.Storage.Provider.StorageProviderKnownFolderSyncRequestedHandler* value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [uuid(51359342-F7C0-53D0-BBB6-1CDC098EBDA9)]
            interface IStorageProviderKnownFolderSyncInfoSource : IInspectable
            {
                HRESULT GetKnownFolderSyncInfo([out] [retval] Windows.Storage.Provider.StorageProviderKnownFolderSyncInfo** result);
                [eventadd] HRESULT KnownFolderSyncInfoChanged([in] Windows.Foundation.TypedEventHandler<Windows.Storage.Provider.IStorageProviderKnownFolderSyncInfoSource*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT KnownFolderSyncInfoChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [uuid(AAEE03A7-A7F6-50BE-A9B0-8E82D0C81082)]
            interface IStorageProviderKnownFolderSyncInfoSourceFactory : IInspectable
            {
                HRESULT GetKnownFolderSyncInfoSource([out] [retval] Windows.Storage.Provider.IStorageProviderKnownFolderSyncInfoSource** result);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderKnownFolderSyncRequestArgs)]
            [uuid(EDA6D569-B4E8-542F-AB8D-F3613F250A4A)]
            interface IStorageProviderKnownFolderSyncRequestArgs : IInspectable
            {
                [propget] HRESULT KnownFolders([out] [retval] Windows.Foundation.Collections.IVectorView<GUID>** value);
                [propget] HRESULT Source([out] [retval] Windows.Storage.StorageFolder** value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderMoreInfoUI)]
            [uuid(EF38E591-A7CB-5E7D-9B5E-22749842697C)]
            interface IStorageProviderMoreInfoUI : IInspectable
            {
                [propget] HRESULT Message([out] [retval] HSTRING* value);
                [propput] HRESULT Message([in] HSTRING value);
                [propget] HRESULT Command([out] [retval] Windows.Storage.Provider.IStorageProviderUICommand** value);
                [propput] HRESULT Command([in] Windows.Storage.Provider.IStorageProviderUICommand* value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [uuid(658D2F0E-63B7-4567-ACF9-51ABE301DDA5)]
            interface IStorageProviderPropertyCapabilities : IInspectable
            {
                HRESULT IsPropertySupported([in] HSTRING propertyCanonicalName, [out] [retval] boolean* isSupported);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [uuid(F1CD00AE-B4A9-5D20-A598-3EB4DD8FF8F4)]
            interface IStorageProviderQueryResult : IInspectable
            {
                [propget] HRESULT Kind([out] [retval] Windows.Storage.Provider.StorageProviderResultKind* value);
                [propput] HRESULT Kind([in] Windows.Storage.Provider.StorageProviderResultKind value);
                [propget] HRESULT ResultId([out] [retval] HSTRING* value);
                [propput] HRESULT ResultId([in] HSTRING value);
                [propget] HRESULT RemoteFileId([out] [retval] HSTRING* value);
                [propput] HRESULT RemoteFileId([in] HSTRING value);
                [propget] HRESULT FilePath([out] [retval] HSTRING* value);
                [propput] HRESULT FilePath([in] HSTRING value);
                [propget] HRESULT RequestedProperties([out] [retval] Windows.Foundation.Collections.PropertySet** value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderQueryResultSet)]
            [uuid(57C28407-7D21-5F98-AC52-0926A97F3259)]
            interface IStorageProviderQueryResultSet : IInspectable
            {
                HRESULT GetResults([out] UINT32* __resultSize, [out] [retval] [size_is(, *__resultSize)] Windows.Storage.Provider.IStorageProviderQueryResult*** result);
                [propget] HRESULT QueryResultId([out] [retval] HSTRING* value);
                [propput] HRESULT QueryResultId([in] HSTRING value);
                [propget] HRESULT Status([out] [retval] Windows.Storage.Provider.StorageProviderSearchQueryStatus* value);
                [propput] HRESULT Status([in] Windows.Storage.Provider.StorageProviderSearchQueryStatus value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderQueryResultSet)]
            [uuid(301974C2-9B0A-51D1-84B5-32578EE3083D)]
            interface IStorageProviderQueryResultSetFactory : IInspectable
            {
                HRESULT CreateInstance([in] UINT32 __resultsSize, [in] [size_is(__resultsSize)] Windows.Storage.Provider.IStorageProviderQueryResult** results, [out] [retval] Windows.Storage.Provider.StorageProviderQueryResultSet** value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderQuotaUI)]
            [uuid(BA6295C3-312E-544F-9FD5-1F81B21F3649)]
            interface IStorageProviderQuotaUI : IInspectable
            {
                [propget] HRESULT QuotaTotalInBytes([out] [retval] UINT64* value);
                [propput] HRESULT QuotaTotalInBytes([in] UINT64 value);
                [propget] HRESULT QuotaUsedInBytes([out] [retval] UINT64* value);
                [propput] HRESULT QuotaUsedInBytes([in] UINT64 value);
                [propget] HRESULT QuotaUsedLabel([out] [retval] HSTRING* value);
                [propput] HRESULT QuotaUsedLabel([in] HSTRING value);
                [propget] HRESULT QuotaUsedColor([out] [retval] Windows.Foundation.IReference<Windows.UI.Color>** value);
                [propput] HRESULT QuotaUsedColor([in] Windows.Foundation.IReference<Windows.UI.Color>* value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [uuid(69CC977D-ADAD-59C9-8FD1-F30B6FAE0FD9)]
            interface IStorageProviderSearchHandler : IInspectable
            {
                HRESULT Find([in] Windows.Storage.Provider.StorageProviderSearchQueryOptions* options, [out] [retval] Windows.Storage.Provider.StorageProviderQueryResultSet** result);
                HRESULT ReportUsage([in] Windows.Storage.Provider.StorageProviderResultUsageKind resultUsageKind, [in] HSTRING remoteFileId, [in] HSTRING resultId, [in] Windows.Foundation.TimeSpan latency);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [uuid(B0DCAD80-F3F5-516B-8ACE-4E77022C9598)]
            interface IStorageProviderSearchHandlerFactory : IInspectable
            {
                HRESULT CreateSearchHandler([in] HSTRING cloudProviderId, [out] [retval] Windows.Storage.Provider.IStorageProviderSearchHandler** result);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderSearchQueryOptions)]
            [uuid(93D854EB-1007-563C-B213-CC44BD88FEF2)]
            interface IStorageProviderSearchQueryOptions : IInspectable
            {
                [propget] HRESULT UserQuery([out] [retval] HSTRING* value);
                [propget] HRESULT Language([out] [retval] HSTRING* value);
                [propget] HRESULT SortOrder([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Storage.Search.SortEntry>** value);
                [propget] HRESULT ProgrammaticQuery([out] [retval] HSTRING* value);
                [propget] HRESULT MaxResults([out] [retval] UINT32* value);
                [propget] HRESULT FolderScope([out] [retval] HSTRING* value);
                [propget] HRESULT QueryId([out] [retval] HSTRING* value);
                [propget] HRESULT PropertiesToFetch([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderSearchResult)]
            [uuid(FC161049-0995-535F-99B7-FE292CBABAF5)]
            interface IStorageProviderSearchResult : IInspectable
            {
                [propget] HRESULT MatchScore([out] [retval] DOUBLE* value);
                [propput] HRESULT MatchScore([in] DOUBLE value);
                [propget] HRESULT MatchKind([out] [retval] Windows.Storage.Provider.StorageProviderSearchMatchKind* value);
                [propput] HRESULT MatchKind([in] Windows.Storage.Provider.StorageProviderSearchMatchKind value);
                [propget] HRESULT MatchedPropertyName([out] [retval] HSTRING* value);
                [propput] HRESULT MatchedPropertyName([in] HSTRING value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [experimental]
            [uuid(4C6055E2-029C-5539-8E51-A1AFC838B5CB)]
            interface IStorageProviderShareLinkSource : IInspectable
            {
                HRESULT CreateLinkAsync([in] Windows.Foundation.Collections.IVectorView<Windows.Storage.IStorageItem*>* storageItemList, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Uri*>** operation);
                HRESULT GetDefaultAccessControlStringAsync([in] Windows.Foundation.Collections.IVectorView<Windows.Storage.IStorageItem*>* storageItemList, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                HRESULT GetState([in] Windows.Foundation.Collections.IVectorView<Windows.Storage.IStorageItem*>* storageItemList, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Provider.StorageProviderShareLinkState>** operation);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderStatusUI)]
            [uuid(D6B6A758-198D-5B80-977F-5FF73DA33118)]
            interface IStorageProviderStatusUI : IInspectable
            {
                [propget] HRESULT ProviderState([out] [retval] Windows.Storage.Provider.StorageProviderState* value);
                [propput] HRESULT ProviderState([in] Windows.Storage.Provider.StorageProviderState value);
                [propget] HRESULT ProviderStateLabel([out] [retval] HSTRING* value);
                [propput] HRESULT ProviderStateLabel([in] HSTRING value);
                [propget] HRESULT ProviderStateIcon([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT ProviderStateIcon([in] Windows.Foundation.Uri* value);
                [propget] HRESULT SyncStatusCommand([out] [retval] Windows.Storage.Provider.IStorageProviderUICommand** value);
                [propput] HRESULT SyncStatusCommand([in] Windows.Storage.Provider.IStorageProviderUICommand* value);
                [propget] HRESULT QuotaUI([out] [retval] Windows.Storage.Provider.StorageProviderQuotaUI** value);
                [propput] HRESULT QuotaUI([in] Windows.Storage.Provider.StorageProviderQuotaUI* value);
                [propget] HRESULT MoreInfoUI([out] [retval] Windows.Storage.Provider.StorageProviderMoreInfoUI** value);
                [propput] HRESULT MoreInfoUI([in] Windows.Storage.Provider.StorageProviderMoreInfoUI* value);
                [propget] HRESULT ProviderPrimaryCommand([out] [retval] Windows.Storage.Provider.IStorageProviderUICommand** value);
                [propput] HRESULT ProviderPrimaryCommand([in] Windows.Storage.Provider.IStorageProviderUICommand* value);
                [propget] HRESULT ProviderSecondaryCommands([out] [retval] Windows.Foundation.Collections.IVector<Windows.Storage.Provider.IStorageProviderUICommand*>** value);
                [propput] HRESULT ProviderSecondaryCommands([in] Windows.Foundation.Collections.IVector<Windows.Storage.Provider.IStorageProviderUICommand*>* value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [uuid(A306C249-3D66-5E70-9007-E43DF96051FF)]
            interface IStorageProviderStatusUISource : IInspectable
            {
                HRESULT GetStatusUI([out] [retval] Windows.Storage.Provider.StorageProviderStatusUI** result);
                [eventadd] HRESULT StatusUIChanged([in] Windows.Foundation.TypedEventHandler<Windows.Storage.Provider.IStorageProviderStatusUISource*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StatusUIChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [uuid(12E46B74-4E5A-58D1-A62F-0376E8EE7DD8)]
            interface IStorageProviderStatusUISourceFactory : IInspectable
            {
                HRESULT GetStatusUISource([in] HSTRING syncRootId, [out] [retval] Windows.Storage.Provider.IStorageProviderStatusUISource** result);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [uuid(AFF493F6-E1FD-5D03-B480-F1849C83EF4A)]
            interface IStorageProviderSuggestionsHandler : IInspectable
            {
                HRESULT GetSuggestions([in] Windows.Storage.Provider.StorageProviderSuggestionsQueryOptions* options, [out] [retval] Windows.Storage.Provider.StorageProviderQueryResultSet** result);
                HRESULT Add([in] Windows.Storage.Provider.StorageProviderResultKind kind, [in] HSTRING remoteFileId);
                HRESULT Remove([in] Windows.Storage.Provider.StorageProviderResultKind kind, [in] HSTRING remoteFileId);
                HRESULT GetDetails([in] HSTRING remoteFileId, [in] UINT32 __propertiesToFetchSize, [in] [size_is(__propertiesToFetchSize)] HSTRING* propertiesToFetch, [in] HSTRING queryId, [out] [retval] Windows.Storage.Provider.StorageProviderSuggestionResult** result);
                HRESULT ReportUsage([in] Windows.Storage.Provider.StorageProviderResultUsageKind resultUsageKind, [in] HSTRING remoteFileId, [in] HSTRING resultId, [in] Windows.Foundation.TimeSpan latency);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [uuid(DC7B35D8-A25B-58A3-ACE7-B3543106A2AA)]
            interface IStorageProviderSuggestionsHandlerFactory : IInspectable
            {
                HRESULT CreateSuggestionsHandler([in] HSTRING cloudProviderId, [out] [retval] Windows.Storage.Provider.IStorageProviderSuggestionsHandler** result);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderSuggestionsQueryOptions)]
            [uuid(EFB8B74D-0D84-579C-B137-EA730635D9BB)]
            interface IStorageProviderSuggestionsQueryOptions : IInspectable
            {
                [propget] HRESULT SuggestionsKind([out] [retval] Windows.Storage.Provider.StorageProviderResultKind* value);
                [propget] HRESULT RemoteFileId([out] [retval] HSTRING* value);
                [propget] HRESULT MaxResults([out] [retval] UINT32* value);
                [propget] HRESULT QueryId([out] [retval] HSTRING* value);
                [propget] HRESULT PropertiesToFetch([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderSyncRootInfo)]
            [uuid(7C1305C4-99F9-41AC-8904-AB055D654926)]
            interface IStorageProviderSyncRootInfo : IInspectable
            {
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                [propput] HRESULT Id([in] HSTRING value);
                [propget] HRESULT Context([out] [retval] Windows.Storage.Streams.IBuffer** value);
                [propput] HRESULT Context([in] Windows.Storage.Streams.IBuffer* value);
                [propget] HRESULT Path([out] [retval] Windows.Storage.IStorageFolder** value);
                [propput] HRESULT Path([in] Windows.Storage.IStorageFolder* value);
                [propget] HRESULT DisplayNameResource([out] [retval] HSTRING* value);
                [propput] HRESULT DisplayNameResource([in] HSTRING value);
                [propget] HRESULT IconResource([out] [retval] HSTRING* value);
                [propput] HRESULT IconResource([in] HSTRING value);
                [propget] HRESULT HydrationPolicy([out] [retval] Windows.Storage.Provider.StorageProviderHydrationPolicy* value);
                [propput] HRESULT HydrationPolicy([in] Windows.Storage.Provider.StorageProviderHydrationPolicy value);
                [propget] HRESULT HydrationPolicyModifier([out] [retval] Windows.Storage.Provider.StorageProviderHydrationPolicyModifier* value);
                [propput] HRESULT HydrationPolicyModifier([in] Windows.Storage.Provider.StorageProviderHydrationPolicyModifier value);
                [propget] HRESULT PopulationPolicy([out] [retval] Windows.Storage.Provider.StorageProviderPopulationPolicy* value);
                [propput] HRESULT PopulationPolicy([in] Windows.Storage.Provider.StorageProviderPopulationPolicy value);
                [propget] HRESULT InSyncPolicy([out] [retval] Windows.Storage.Provider.StorageProviderInSyncPolicy* value);
                [propput] HRESULT InSyncPolicy([in] Windows.Storage.Provider.StorageProviderInSyncPolicy value);
                [propget] HRESULT HardlinkPolicy([out] [retval] Windows.Storage.Provider.StorageProviderHardlinkPolicy* value);
                [propput] HRESULT HardlinkPolicy([in] Windows.Storage.Provider.StorageProviderHardlinkPolicy value);
                [propget] HRESULT ShowSiblingsAsGroup([out] [retval] boolean* value);
                [propput] HRESULT ShowSiblingsAsGroup([in] boolean value);
                [propget] HRESULT Version([out] [retval] HSTRING* value);
                [propput] HRESULT Version([in] HSTRING value);
                [propget] HRESULT ProtectionMode([out] [retval] Windows.Storage.Provider.StorageProviderProtectionMode* value);
                [propput] HRESULT ProtectionMode([in] Windows.Storage.Provider.StorageProviderProtectionMode value);
                [propget] HRESULT AllowPinning([out] [retval] boolean* value);
                [propput] HRESULT AllowPinning([in] boolean value);
                [propget] HRESULT StorageProviderItemPropertyDefinitions([out] [retval] Windows.Foundation.Collections.IVector<Windows.Storage.Provider.StorageProviderItemPropertyDefinition*>** value);
                [propget] HRESULT RecycleBinUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT RecycleBinUri([in] Windows.Foundation.Uri* value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 3.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderSyncRootInfo)]
            [uuid(CF51B023-7CF1-5166-BDBA-EFD95F529E31)]
            interface IStorageProviderSyncRootInfo2 : IInspectable
            {
                [propget] HRESULT ProviderId([out] [retval] GUID* value);
                [propput] HRESULT ProviderId([in] GUID value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 4.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderSyncRootInfo)]
            [uuid(507A6617-BEF6-56FD-855E-75ACE2E45CF5)]
            interface IStorageProviderSyncRootInfo3 : IInspectable
            {
                [propget] HRESULT FallbackFileTypeInfo([out] [retval] Windows.Foundation.Collections.IVector<Windows.Storage.Provider.StorageProviderFileTypeInfo*>** value);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderSyncRootManager)]
            [uuid(3E99FBBF-8FE3-4B40-ABC7-F6FC3D74C98E)]
            interface IStorageProviderSyncRootManagerStatics : IInspectable
            {
                HRESULT Register([in] Windows.Storage.Provider.StorageProviderSyncRootInfo* syncRootInformation);
                HRESULT Unregister([in] HSTRING id);
                HRESULT GetSyncRootInformationForFolder([in] Windows.Storage.IStorageFolder* folder, [out] [retval] Windows.Storage.Provider.StorageProviderSyncRootInfo** result);
                HRESULT GetSyncRootInformationForId([in] HSTRING id, [out] [retval] Windows.Storage.Provider.StorageProviderSyncRootInfo** result);
                HRESULT GetCurrentSyncRoots([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Storage.Provider.StorageProviderSyncRootInfo*>** result);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 4.0)]
            [exclusiveto(Windows.Storage.Provider.StorageProviderSyncRootManager)]
            [uuid(EFB6CFEE-1374-544E-9DF1-5598D2E9CFDD)]
            interface IStorageProviderSyncRootManagerStatics2 : IInspectable
            {
                HRESULT IsSupported([out] [retval] boolean* result);
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [uuid(0C3E0760-D846-568F-9484-105CC57B502B)]
            interface IStorageProviderUICommand : IInspectable
            {
                [propget] HRESULT Label([out] [retval] HSTRING* value);
                [propget] HRESULT Description([out] [retval] HSTRING* value);
                [propget] HRESULT Icon([out] [retval] Windows.Foundation.Uri** value);
                [propget] HRESULT State([out] [retval] Windows.Storage.Provider.StorageProviderUICommandState* value);
                HRESULT Invoke();
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 2.0)]
            [uuid(B29806D1-8BE0-4962-8BB6-0D4C2E14D47A)]
            interface IStorageProviderUriSource : IInspectable
            {
                HRESULT GetPathForContentUri([in] HSTRING contentUri, [in] Windows.Storage.Provider.StorageProviderGetPathForContentUriResult* result);
                HRESULT GetContentInfoForPath([in] HSTRING path, [in] Windows.Storage.Provider.StorageProviderGetContentInfoForPathResult* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Storage.Provider.ICachedFileUpdaterStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass CachedFileUpdater
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass CachedFileUpdaterUI
            {
                [default] interface Windows.Storage.Provider.ICachedFileUpdaterUI;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Storage.Provider.ICachedFileUpdaterUI2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass FileUpdateRequest
            {
                [default] interface Windows.Storage.Provider.IFileUpdateRequest;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Storage.Provider.IFileUpdateRequest2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass FileUpdateRequestDeferral
            {
                [default] interface Windows.Storage.Provider.IFileUpdateRequestDeferral;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass FileUpdateRequestedEventArgs
            {
                [default] interface Windows.Storage.Provider.IFileUpdateRequestedEventArgs;
            }

            [activatable(Windows.Storage.Provider.IStorageProviderFileTypeInfoFactory, Windows.Storage.Provider.CloudFilesContract, 4.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderFileTypeInfo
            {
                [default] interface Windows.Storage.Provider.IStorageProviderFileTypeInfo;
            }

            [activatable(Windows.Storage.Provider.CloudFilesContract, 2.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderGetContentInfoForPathResult
            {
                [default] interface Windows.Storage.Provider.IStorageProviderGetContentInfoForPathResult;
            }

            [activatable(Windows.Storage.Provider.CloudFilesContract, 2.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderGetPathForContentUriResult
            {
                [default] interface Windows.Storage.Provider.IStorageProviderGetPathForContentUriResult;
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Storage.Provider.IStorageProviderItemPropertiesStatics, Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [threading(both)]
            runtimeclass StorageProviderItemProperties
            {
            }

            [activatable(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderItemProperty
            {
                [default] interface Windows.Storage.Provider.IStorageProviderItemProperty;
            }

            [activatable(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderItemPropertyDefinition
            {
                [default] interface Windows.Storage.Provider.IStorageProviderItemPropertyDefinition;
            }

            [activatable(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderKnownFolderEntry
            {
                [default] interface Windows.Storage.Provider.IStorageProviderKnownFolderEntry;
            }

            [activatable(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderKnownFolderSyncInfo
            {
                [default] interface Windows.Storage.Provider.IStorageProviderKnownFolderSyncInfo;
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [marshaling_behavior(agile)]
            runtimeclass StorageProviderKnownFolderSyncRequestArgs
            {
                [default] interface Windows.Storage.Provider.IStorageProviderKnownFolderSyncRequestArgs;
            }

            [activatable(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderMoreInfoUI
            {
                [default] interface Windows.Storage.Provider.IStorageProviderMoreInfoUI;
            }

            [activatable(Windows.Storage.Provider.IStorageProviderQueryResultSetFactory, Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderQueryResultSet
            {
                [default] interface Windows.Storage.Provider.IStorageProviderQueryResultSet;
            }

            [activatable(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderQuotaUI
            {
                [default] interface Windows.Storage.Provider.IStorageProviderQuotaUI;
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [marshaling_behavior(agile)]
            runtimeclass StorageProviderSearchQueryOptions
            {
                [default] interface Windows.Storage.Provider.IStorageProviderSearchQueryOptions;
            }

            [activatable(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderSearchResult
            {
                [default] interface Windows.Storage.Provider.IStorageProviderSearchResult;
                interface Windows.Storage.Provider.IStorageProviderQueryResult;
            }

            [activatable(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderStatusUI
            {
                [default] interface Windows.Storage.Provider.IStorageProviderStatusUI;
            }

            [activatable(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderSuggestionResult
            {
                [default] interface Windows.Storage.Provider.IStorageProviderQueryResult;
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 7.0)]
            [marshaling_behavior(agile)]
            runtimeclass StorageProviderSuggestionsQueryOptions
            {
                [default] interface Windows.Storage.Provider.IStorageProviderSuggestionsQueryOptions;
            }

            [activatable(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorageProviderSyncRootInfo
            {
                [default] interface Windows.Storage.Provider.IStorageProviderSyncRootInfo;
                [contract(Windows.Storage.Provider.CloudFilesContract, 3.0)] interface Windows.Storage.Provider.IStorageProviderSyncRootInfo2;
                [contract(Windows.Storage.Provider.CloudFilesContract, 4.0)] interface Windows.Storage.Provider.IStorageProviderSyncRootInfo3;
            }

            [contract(Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Storage.Provider.IStorageProviderSyncRootManagerStatics, Windows.Storage.Provider.CloudFilesContract, 1.0)]
            [static(Windows.Storage.Provider.IStorageProviderSyncRootManagerStatics2, Windows.Storage.Provider.CloudFilesContract, 4.0)]
            [threading(both)]
            runtimeclass StorageProviderSyncRootManager
            {
            }
        }
    }
}
