/*** Autogenerated by WIDL 7.7 from include/windows.storage.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __windows_storage_h__
#define __windows_storage_h__

/* Forward declarations */

#ifndef ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CIStorageItem __x_ABI_CWindows_CStorage_CIStorageItem;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CIStorageItem ABI::Windows::Storage::IStorageItem
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface IStorageItem;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CIKnownFoldersStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIKnownFoldersStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CIKnownFoldersStatics __x_ABI_CWindows_CStorage_CIKnownFoldersStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics ABI::Windows::Storage::IKnownFoldersStatics
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface IKnownFoldersStatics;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CIStorageFolder_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIStorageFolder_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CIStorageFolder __x_ABI_CWindows_CStorage_CIStorageFolder;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CIStorageFolder ABI::Windows::Storage::IStorageFolder
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface IStorageFolder;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CIApplicationDataContainer_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIApplicationDataContainer_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CIApplicationDataContainer __x_ABI_CWindows_CStorage_CIApplicationDataContainer;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer ABI::Windows::Storage::IApplicationDataContainer
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface IApplicationDataContainer;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CIApplicationData_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIApplicationData_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CIApplicationData __x_ABI_CWindows_CStorage_CIApplicationData;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CIApplicationData ABI::Windows::Storage::IApplicationData
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface IApplicationData;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CIApplicationData2_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIApplicationData2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CIApplicationData2 __x_ABI_CWindows_CStorage_CIApplicationData2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CIApplicationData2 ABI::Windows::Storage::IApplicationData2
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface IApplicationData2;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CIApplicationDataStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIApplicationDataStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CIApplicationDataStatics __x_ABI_CWindows_CStorage_CIApplicationDataStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CIApplicationDataStatics ABI::Windows::Storage::IApplicationDataStatics
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface IApplicationDataStatics;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler ABI::Windows::Storage::IApplicationDataSetVersionHandler
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface IApplicationDataSetVersionHandler;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CISetVersionRequest_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CISetVersionRequest_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CISetVersionRequest __x_ABI_CWindows_CStorage_CISetVersionRequest;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CISetVersionRequest ABI::Windows::Storage::ISetVersionRequest
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface ISetVersionRequest;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CISetVersionDeferral_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CISetVersionDeferral_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CISetVersionDeferral __x_ABI_CWindows_CStorage_CISetVersionDeferral;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CISetVersionDeferral ABI::Windows::Storage::ISetVersionDeferral
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface ISetVersionDeferral;
        }
    }
}
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <inspectable.h>
#include <eventtoken.h>
#include <windows.foundation.h>

#ifdef __cplusplus
extern "C" {
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIAsyncAction __x_ABI_CWindows_CFoundation_CIAsyncAction;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIAsyncAction ABI::Windows::Foundation::IAsyncAction
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IAsyncAction;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet ABI::Windows::Foundation::Collections::IPropertySet
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                interface IPropertySet;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CIStorageItem __x_ABI_CWindows_CStorage_CIStorageItem;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CIStorageItem ABI::Windows::Storage::IStorageItem
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface IStorageItem;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CIStorageFolder_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIStorageFolder_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CIStorageFolder __x_ABI_CWindows_CStorage_CIStorageFolder;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CIStorageFolder ABI::Windows::Storage::IStorageFolder
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface IStorageFolder;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CIApplicationData_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIApplicationData_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CIApplicationData __x_ABI_CWindows_CStorage_CIApplicationData;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CIApplicationData ABI::Windows::Storage::IApplicationData
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface IApplicationData;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CIApplicationDataStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIApplicationDataStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CIApplicationDataStatics __x_ABI_CWindows_CStorage_CIApplicationDataStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CIApplicationDataStatics ABI::Windows::Storage::IApplicationDataStatics
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface IApplicationDataStatics;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler ABI::Windows::Storage::IApplicationDataSetVersionHandler
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface IApplicationDataSetVersionHandler;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CApplicationDataContainer_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CApplicationDataContainer_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CApplicationDataContainer __x_ABI_CWindows_CStorage_CApplicationDataContainer;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CApplicationDataContainer ABI::Windows::Storage::ApplicationDataContainer
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface ApplicationDataContainer;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CISetVersionRequest_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CISetVersionRequest_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CISetVersionRequest __x_ABI_CWindows_CStorage_CISetVersionRequest;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CISetVersionRequest ABI::Windows::Storage::ISetVersionRequest
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface ISetVersionRequest;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CStorage_CISetVersionDeferral_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CISetVersionDeferral_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CISetVersionDeferral __x_ABI_CWindows_CStorage_CISetVersionDeferral;
#ifdef __cplusplus
#define __x_ABI_CWindows_CStorage_CISetVersionDeferral ABI::Windows::Storage::ISetVersionDeferral
namespace ABI {
    namespace Windows {
        namespace Storage {
            interface ISetVersionDeferral;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CStorage_CStorageDeleteOption __x_ABI_CWindows_CStorage_CStorageDeleteOption;
#endif /* __cplusplus */

#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CStorage_CNameCollisionOption __x_ABI_CWindows_CStorage_CNameCollisionOption;
#endif /* __cplusplus */

#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CStorage_CStorageItemTypes __x_ABI_CWindows_CStorage_CStorageItemTypes;
#endif /* __cplusplus */

#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CStorage_CApplicationDataLocality __x_ABI_CWindows_CStorage_CApplicationDataLocality;
#endif /* __cplusplus */

#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CStorage_CApplicationDataCreateDisposition __x_ABI_CWindows_CStorage_CApplicationDataCreateDisposition;
#endif /* __cplusplus */

#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CStorage_CFileAttributes __x_ABI_CWindows_CStorage_CFileAttributes;
#endif /* __cplusplus */

#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CStorage_CCreationCollisionOption __x_ABI_CWindows_CStorage_CCreationCollisionOption;
#endif /* __cplusplus */

#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            enum NameCollisionOption {
                NameCollisionOption_GenerateUniqueName = 0,
                NameCollisionOption_ReplaceExisting = 1,
                NameCollisionOption_FailIfExists = 2
            };
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CStorage_CNameCollisionOption {
    NameCollisionOption_GenerateUniqueName = 0,
    NameCollisionOption_ReplaceExisting = 1,
    NameCollisionOption_FailIfExists = 2
};
#ifdef WIDL_using_Windows_Storage
#define NameCollisionOption __x_ABI_CWindows_CStorage_CNameCollisionOption
#endif /* WIDL_using_Windows_Storage */
#endif

#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            enum StorageDeleteOption {
                StorageDeleteOption_Default = 0,
                StorageDeleteOption_PermanentDelete = 1
            };
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CStorage_CStorageDeleteOption {
    StorageDeleteOption_Default = 0,
    StorageDeleteOption_PermanentDelete = 1
};
#ifdef WIDL_using_Windows_Storage
#define StorageDeleteOption __x_ABI_CWindows_CStorage_CStorageDeleteOption
#endif /* WIDL_using_Windows_Storage */
#endif

#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            enum StorageItemTypes {
                StorageItemTypes_None = 0,
                StorageItemTypes_File = 1,
                StorageItemTypes_Folder = 2
            };
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CStorage_CStorageItemTypes {
    StorageItemTypes_None = 0,
    StorageItemTypes_File = 1,
    StorageItemTypes_Folder = 2
};
#ifdef WIDL_using_Windows_Storage
#define StorageItemTypes __x_ABI_CWindows_CStorage_CStorageItemTypes
#endif /* WIDL_using_Windows_Storage */
#endif

#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            enum ApplicationDataCreateDisposition {
                ApplicationDataCreateDisposition_Always = 0,
                ApplicationDataCreateDisposition_Existing = 1
            };
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CStorage_CApplicationDataCreateDisposition {
    ApplicationDataCreateDisposition_Always = 0,
    ApplicationDataCreateDisposition_Existing = 1
};
#ifdef WIDL_using_Windows_Storage
#define ApplicationDataCreateDisposition __x_ABI_CWindows_CStorage_CApplicationDataCreateDisposition
#endif /* WIDL_using_Windows_Storage */
#endif

#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            enum ApplicationDataLocality {
                ApplicationDataLocality_Local = 0,
                ApplicationDataLocality_Roaming = 1,
                ApplicationDataLocality_Temporary = 2
            };
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CStorage_CApplicationDataLocality {
    ApplicationDataLocality_Local = 0,
    ApplicationDataLocality_Roaming = 1,
    ApplicationDataLocality_Temporary = 2
};
#ifdef WIDL_using_Windows_Storage
#define ApplicationDataLocality __x_ABI_CWindows_CStorage_CApplicationDataLocality
#endif /* WIDL_using_Windows_Storage */
#endif

#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            enum FileAttributes {
                FileAttributes_Normal = 0,
                FileAttributes_ReadOnly = 1,
                FileAttributes_Directory = 2,
                FileAttributes_Archive = 3,
                FileAttributes_Temporary = 4
            };
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CStorage_CFileAttributes {
    FileAttributes_Normal = 0,
    FileAttributes_ReadOnly = 1,
    FileAttributes_Directory = 2,
    FileAttributes_Archive = 3,
    FileAttributes_Temporary = 4
};
#ifdef WIDL_using_Windows_Storage
#define FileAttributes __x_ABI_CWindows_CStorage_CFileAttributes
#endif /* WIDL_using_Windows_Storage */
#endif

#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            enum CreationCollisionOption {
                CreationCollisionOption_GenerateUniqueName = 0,
                CreationCollisionOption_ReplaceExisting = 1,
                CreationCollisionOption_FailIfExists = 2,
                CreationCollisionOption_OpenIfExists = 3
            };
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CStorage_CCreationCollisionOption {
    CreationCollisionOption_GenerateUniqueName = 0,
    CreationCollisionOption_ReplaceExisting = 1,
    CreationCollisionOption_FailIfExists = 2,
    CreationCollisionOption_OpenIfExists = 3
};
#ifdef WIDL_using_Windows_Storage
#define CreationCollisionOption __x_ABI_CWindows_CStorage_CCreationCollisionOption
#endif /* WIDL_using_Windows_Storage */
#endif

/*****************************************************************************
 * IStorageItem interface
 */
#ifndef ____x_ABI_CWindows_CStorage_CIStorageItem_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIStorageItem_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CIStorageItem, 0x4207a996, 0xca2f, 0x42f7, 0xbd,0xe8, 0x8b,0x10,0x45,0x7a,0x7f,0x30);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            MIDL_INTERFACE("4207a996-ca2f-42f7-bde8-8b10457a7f30")
            IStorageItem : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE RenameAsyncOverloadDefaultOptions(
                    HSTRING desiredName,
                    IInspectable **action) = 0;

                virtual HRESULT STDMETHODCALLTYPE RenameAsync(
                    HSTRING desiredName,
                    enum NameCollisionOption option,
                    IInspectable **action) = 0;

                virtual HRESULT STDMETHODCALLTYPE DeleteAsyncOverloadDefaultOptions(
                    IInspectable **action) = 0;

                virtual HRESULT STDMETHODCALLTYPE DeleteAsync(
                    enum StorageDeleteOption option,
                    IInspectable **action) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetBasicPropertiesAsync(
                    IInspectable **action) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_Name(
                    HSTRING *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_Path(
                    HSTRING *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_Attributes(
                    enum FileAttributes *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_DateCreated(
                    struct DateTime *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE IsOfType(
                    enum StorageItemTypes itemType,
                    boolean *value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIStorageItem, 0x4207a996, 0xca2f, 0x42f7, 0xbd,0xe8, 0x8b,0x10,0x45,0x7a,0x7f,0x30)
#endif
#else
typedef struct __x_ABI_CWindows_CStorage_CIStorageItemVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        TrustLevel *trustLevel);

    /*** IStorageItem methods ***/
    HRESULT (STDMETHODCALLTYPE *RenameAsyncOverloadDefaultOptions)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        HSTRING desiredName,
        IInspectable **action);

    HRESULT (STDMETHODCALLTYPE *RenameAsync)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        HSTRING desiredName,
        enum __x_ABI_CWindows_CStorage_CNameCollisionOption option,
        IInspectable **action);

    HRESULT (STDMETHODCALLTYPE *DeleteAsyncOverloadDefaultOptions)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        IInspectable **action);

    HRESULT (STDMETHODCALLTYPE *DeleteAsync)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        enum __x_ABI_CWindows_CStorage_CStorageDeleteOption option,
        IInspectable **action);

    HRESULT (STDMETHODCALLTYPE *GetBasicPropertiesAsync)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        IInspectable **action);

    HRESULT (STDMETHODCALLTYPE *get_Name)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Path)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Attributes)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        enum __x_ABI_CWindows_CStorage_CFileAttributes *value);

    HRESULT (STDMETHODCALLTYPE *get_DateCreated)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        struct __x_ABI_CWindows_CFoundation_CDateTime *value);

    HRESULT (STDMETHODCALLTYPE *IsOfType)(
        __x_ABI_CWindows_CStorage_CIStorageItem *This,
        enum __x_ABI_CWindows_CStorage_CStorageItemTypes itemType,
        boolean *value);

    END_INTERFACE
} __x_ABI_CWindows_CStorage_CIStorageItemVtbl;

interface __x_ABI_CWindows_CStorage_CIStorageItem {
    CONST_VTBL __x_ABI_CWindows_CStorage_CIStorageItemVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CStorage_CIStorageItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CStorage_CIStorageItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CStorage_CIStorageItem_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CStorage_CIStorageItem_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CStorage_CIStorageItem_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CStorage_CIStorageItem_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IStorageItem methods ***/
#define __x_ABI_CWindows_CStorage_CIStorageItem_RenameAsyncOverloadDefaultOptions(This,desiredName,action) (This)->lpVtbl->RenameAsyncOverloadDefaultOptions(This,desiredName,action)
#define __x_ABI_CWindows_CStorage_CIStorageItem_RenameAsync(This,desiredName,option,action) (This)->lpVtbl->RenameAsync(This,desiredName,option,action)
#define __x_ABI_CWindows_CStorage_CIStorageItem_DeleteAsyncOverloadDefaultOptions(This,action) (This)->lpVtbl->DeleteAsyncOverloadDefaultOptions(This,action)
#define __x_ABI_CWindows_CStorage_CIStorageItem_DeleteAsync(This,option,action) (This)->lpVtbl->DeleteAsync(This,option,action)
#define __x_ABI_CWindows_CStorage_CIStorageItem_GetBasicPropertiesAsync(This,action) (This)->lpVtbl->GetBasicPropertiesAsync(This,action)
#define __x_ABI_CWindows_CStorage_CIStorageItem_get_Name(This,value) (This)->lpVtbl->get_Name(This,value)
#define __x_ABI_CWindows_CStorage_CIStorageItem_get_Path(This,value) (This)->lpVtbl->get_Path(This,value)
#define __x_ABI_CWindows_CStorage_CIStorageItem_get_Attributes(This,value) (This)->lpVtbl->get_Attributes(This,value)
#define __x_ABI_CWindows_CStorage_CIStorageItem_get_DateCreated(This,value) (This)->lpVtbl->get_DateCreated(This,value)
#define __x_ABI_CWindows_CStorage_CIStorageItem_IsOfType(This,itemType,value) (This)->lpVtbl->IsOfType(This,itemType,value)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_QueryInterface(__x_ABI_CWindows_CStorage_CIStorageItem* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIStorageItem_AddRef(__x_ABI_CWindows_CStorage_CIStorageItem* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIStorageItem_Release(__x_ABI_CWindows_CStorage_CIStorageItem* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_GetIids(__x_ABI_CWindows_CStorage_CIStorageItem* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CIStorageItem* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_GetTrustLevel(__x_ABI_CWindows_CStorage_CIStorageItem* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IStorageItem methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_RenameAsyncOverloadDefaultOptions(__x_ABI_CWindows_CStorage_CIStorageItem* This,HSTRING desiredName,IInspectable **action) {
    return This->lpVtbl->RenameAsyncOverloadDefaultOptions(This,desiredName,action);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_RenameAsync(__x_ABI_CWindows_CStorage_CIStorageItem* This,HSTRING desiredName,enum __x_ABI_CWindows_CStorage_CNameCollisionOption option,IInspectable **action) {
    return This->lpVtbl->RenameAsync(This,desiredName,option,action);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_DeleteAsyncOverloadDefaultOptions(__x_ABI_CWindows_CStorage_CIStorageItem* This,IInspectable **action) {
    return This->lpVtbl->DeleteAsyncOverloadDefaultOptions(This,action);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_DeleteAsync(__x_ABI_CWindows_CStorage_CIStorageItem* This,enum __x_ABI_CWindows_CStorage_CStorageDeleteOption option,IInspectable **action) {
    return This->lpVtbl->DeleteAsync(This,option,action);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_GetBasicPropertiesAsync(__x_ABI_CWindows_CStorage_CIStorageItem* This,IInspectable **action) {
    return This->lpVtbl->GetBasicPropertiesAsync(This,action);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_get_Name(__x_ABI_CWindows_CStorage_CIStorageItem* This,HSTRING *value) {
    return This->lpVtbl->get_Name(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_get_Path(__x_ABI_CWindows_CStorage_CIStorageItem* This,HSTRING *value) {
    return This->lpVtbl->get_Path(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_get_Attributes(__x_ABI_CWindows_CStorage_CIStorageItem* This,enum __x_ABI_CWindows_CStorage_CFileAttributes *value) {
    return This->lpVtbl->get_Attributes(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_get_DateCreated(__x_ABI_CWindows_CStorage_CIStorageItem* This,struct __x_ABI_CWindows_CFoundation_CDateTime *value) {
    return This->lpVtbl->get_DateCreated(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageItem_IsOfType(__x_ABI_CWindows_CStorage_CIStorageItem* This,enum __x_ABI_CWindows_CStorage_CStorageItemTypes itemType,boolean *value) {
    return This->lpVtbl->IsOfType(This,itemType,value);
}
#endif
#ifdef WIDL_using_Windows_Storage
#define IID_IStorageItem IID___x_ABI_CWindows_CStorage_CIStorageItem
#define IStorageItemVtbl __x_ABI_CWindows_CStorage_CIStorageItemVtbl
#define IStorageItem __x_ABI_CWindows_CStorage_CIStorageItem
#define IStorageItem_QueryInterface __x_ABI_CWindows_CStorage_CIStorageItem_QueryInterface
#define IStorageItem_AddRef __x_ABI_CWindows_CStorage_CIStorageItem_AddRef
#define IStorageItem_Release __x_ABI_CWindows_CStorage_CIStorageItem_Release
#define IStorageItem_GetIids __x_ABI_CWindows_CStorage_CIStorageItem_GetIids
#define IStorageItem_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIStorageItem_GetRuntimeClassName
#define IStorageItem_GetTrustLevel __x_ABI_CWindows_CStorage_CIStorageItem_GetTrustLevel
#define IStorageItem_RenameAsyncOverloadDefaultOptions __x_ABI_CWindows_CStorage_CIStorageItem_RenameAsyncOverloadDefaultOptions
#define IStorageItem_RenameAsync __x_ABI_CWindows_CStorage_CIStorageItem_RenameAsync
#define IStorageItem_DeleteAsyncOverloadDefaultOptions __x_ABI_CWindows_CStorage_CIStorageItem_DeleteAsyncOverloadDefaultOptions
#define IStorageItem_DeleteAsync __x_ABI_CWindows_CStorage_CIStorageItem_DeleteAsync
#define IStorageItem_GetBasicPropertiesAsync __x_ABI_CWindows_CStorage_CIStorageItem_GetBasicPropertiesAsync
#define IStorageItem_get_Name __x_ABI_CWindows_CStorage_CIStorageItem_get_Name
#define IStorageItem_get_Path __x_ABI_CWindows_CStorage_CIStorageItem_get_Path
#define IStorageItem_get_Attributes __x_ABI_CWindows_CStorage_CIStorageItem_get_Attributes
#define IStorageItem_get_DateCreated __x_ABI_CWindows_CStorage_CIStorageItem_get_DateCreated
#define IStorageItem_IsOfType __x_ABI_CWindows_CStorage_CIStorageItem_IsOfType
#endif /* WIDL_using_Windows_Storage */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CStorage_CIStorageItem_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IKnownFoldersStatics interface
 */
#ifndef ____x_ABI_CWindows_CStorage_CIKnownFoldersStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIKnownFoldersStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CIKnownFoldersStatics, 0x5a2a7520, 0x4802, 0x452d, 0x9a,0xd9, 0x43,0x51,0xad,0xa7,0xec,0x35);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            MIDL_INTERFACE("5a2a7520-4802-452d-9ad9-4351ada7ec35")
            IKnownFoldersStatics : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_MusicLibrary(
                    ABI::Windows::Storage::IStorageFolder **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_PicturesLibrary(
                    ABI::Windows::Storage::IStorageFolder **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_VideosLibrary(
                    ABI::Windows::Storage::IStorageFolder **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_DocumentsLibrary(
                    ABI::Windows::Storage::IStorageFolder **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_HomeGroup(
                    ABI::Windows::Storage::IStorageFolder **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_RemovableDevices(
                    ABI::Windows::Storage::IStorageFolder **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_MediaServerDevices(
                    ABI::Windows::Storage::IStorageFolder **value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics, 0x5a2a7520, 0x4802, 0x452d, 0x9a,0xd9, 0x43,0x51,0xad,0xa7,0xec,0x35)
#endif
#else
typedef struct __x_ABI_CWindows_CStorage_CIKnownFoldersStaticsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CStorage_CIKnownFoldersStatics *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CStorage_CIKnownFoldersStatics *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CStorage_CIKnownFoldersStatics *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CStorage_CIKnownFoldersStatics *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CStorage_CIKnownFoldersStatics *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CStorage_CIKnownFoldersStatics *This,
        TrustLevel *trustLevel);

    /*** IKnownFoldersStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *get_MusicLibrary)(
        __x_ABI_CWindows_CStorage_CIKnownFoldersStatics *This,
        __x_ABI_CWindows_CStorage_CIStorageFolder **value);

    HRESULT (STDMETHODCALLTYPE *get_PicturesLibrary)(
        __x_ABI_CWindows_CStorage_CIKnownFoldersStatics *This,
        __x_ABI_CWindows_CStorage_CIStorageFolder **value);

    HRESULT (STDMETHODCALLTYPE *get_VideosLibrary)(
        __x_ABI_CWindows_CStorage_CIKnownFoldersStatics *This,
        __x_ABI_CWindows_CStorage_CIStorageFolder **value);

    HRESULT (STDMETHODCALLTYPE *get_DocumentsLibrary)(
        __x_ABI_CWindows_CStorage_CIKnownFoldersStatics *This,
        __x_ABI_CWindows_CStorage_CIStorageFolder **value);

    HRESULT (STDMETHODCALLTYPE *get_HomeGroup)(
        __x_ABI_CWindows_CStorage_CIKnownFoldersStatics *This,
        __x_ABI_CWindows_CStorage_CIStorageFolder **value);

    HRESULT (STDMETHODCALLTYPE *get_RemovableDevices)(
        __x_ABI_CWindows_CStorage_CIKnownFoldersStatics *This,
        __x_ABI_CWindows_CStorage_CIStorageFolder **value);

    HRESULT (STDMETHODCALLTYPE *get_MediaServerDevices)(
        __x_ABI_CWindows_CStorage_CIKnownFoldersStatics *This,
        __x_ABI_CWindows_CStorage_CIStorageFolder **value);

    END_INTERFACE
} __x_ABI_CWindows_CStorage_CIKnownFoldersStaticsVtbl;

interface __x_ABI_CWindows_CStorage_CIKnownFoldersStatics {
    CONST_VTBL __x_ABI_CWindows_CStorage_CIKnownFoldersStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IKnownFoldersStatics methods ***/
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_MusicLibrary(This,value) (This)->lpVtbl->get_MusicLibrary(This,value)
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_PicturesLibrary(This,value) (This)->lpVtbl->get_PicturesLibrary(This,value)
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_VideosLibrary(This,value) (This)->lpVtbl->get_VideosLibrary(This,value)
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_DocumentsLibrary(This,value) (This)->lpVtbl->get_DocumentsLibrary(This,value)
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_HomeGroup(This,value) (This)->lpVtbl->get_HomeGroup(This,value)
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_RemovableDevices(This,value) (This)->lpVtbl->get_RemovableDevices(This,value)
#define __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_MediaServerDevices(This,value) (This)->lpVtbl->get_MediaServerDevices(This,value)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_QueryInterface(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_AddRef(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_Release(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_GetIids(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_GetTrustLevel(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IKnownFoldersStatics methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_MusicLibrary(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics* This,__x_ABI_CWindows_CStorage_CIStorageFolder **value) {
    return This->lpVtbl->get_MusicLibrary(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_PicturesLibrary(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics* This,__x_ABI_CWindows_CStorage_CIStorageFolder **value) {
    return This->lpVtbl->get_PicturesLibrary(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_VideosLibrary(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics* This,__x_ABI_CWindows_CStorage_CIStorageFolder **value) {
    return This->lpVtbl->get_VideosLibrary(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_DocumentsLibrary(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics* This,__x_ABI_CWindows_CStorage_CIStorageFolder **value) {
    return This->lpVtbl->get_DocumentsLibrary(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_HomeGroup(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics* This,__x_ABI_CWindows_CStorage_CIStorageFolder **value) {
    return This->lpVtbl->get_HomeGroup(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_RemovableDevices(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics* This,__x_ABI_CWindows_CStorage_CIStorageFolder **value) {
    return This->lpVtbl->get_RemovableDevices(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_MediaServerDevices(__x_ABI_CWindows_CStorage_CIKnownFoldersStatics* This,__x_ABI_CWindows_CStorage_CIStorageFolder **value) {
    return This->lpVtbl->get_MediaServerDevices(This,value);
}
#endif
#ifdef WIDL_using_Windows_Storage
#define IID_IKnownFoldersStatics IID___x_ABI_CWindows_CStorage_CIKnownFoldersStatics
#define IKnownFoldersStaticsVtbl __x_ABI_CWindows_CStorage_CIKnownFoldersStaticsVtbl
#define IKnownFoldersStatics __x_ABI_CWindows_CStorage_CIKnownFoldersStatics
#define IKnownFoldersStatics_QueryInterface __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_QueryInterface
#define IKnownFoldersStatics_AddRef __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_AddRef
#define IKnownFoldersStatics_Release __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_Release
#define IKnownFoldersStatics_GetIids __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_GetIids
#define IKnownFoldersStatics_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_GetRuntimeClassName
#define IKnownFoldersStatics_GetTrustLevel __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_GetTrustLevel
#define IKnownFoldersStatics_get_MusicLibrary __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_MusicLibrary
#define IKnownFoldersStatics_get_PicturesLibrary __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_PicturesLibrary
#define IKnownFoldersStatics_get_VideosLibrary __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_VideosLibrary
#define IKnownFoldersStatics_get_DocumentsLibrary __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_DocumentsLibrary
#define IKnownFoldersStatics_get_HomeGroup __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_HomeGroup
#define IKnownFoldersStatics_get_RemovableDevices __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_RemovableDevices
#define IKnownFoldersStatics_get_MediaServerDevices __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_MediaServerDevices
#endif /* WIDL_using_Windows_Storage */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CStorage_CIKnownFoldersStatics_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IStorageFolder interface
 */
#ifndef ____x_ABI_CWindows_CStorage_CIStorageFolder_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIStorageFolder_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CIStorageFolder, 0x72d1cb78, 0xb3ef, 0x4f75, 0xa8,0x0b, 0x6f,0xd9,0xda,0xe2,0x94,0x4b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            MIDL_INTERFACE("72d1cb78-b3ef-4f75-a80b-6fd9dae2944b")
            IStorageFolder : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE CreateFileAsyncOverloadDefaultOptions(
                    HSTRING desiredName,
                    IInspectable **operation) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateFileAsync(
                    HSTRING desiredName,
                    enum CreationCollisionOption options,
                    IInspectable **operation) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateFolderAsyncOverloadDefaultOptions(
                    HSTRING desiredName,
                    IInspectable **operation) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateFolderAsync(
                    HSTRING desiredName,
                    enum CreationCollisionOption options,
                    IInspectable **operation) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetFileAsync(
                    HSTRING name,
                    IInspectable **operation) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetFolderAsync(
                    HSTRING name,
                    IInspectable **operation) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetItemAsync(
                    HSTRING name,
                    IInspectable **operation) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetFilesAsyncOverloadDefaultOptionsStartAndCount(
                    IInspectable **operation) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetFoldersAsyncOverloadDefaultOptionsStartAndCount(
                    IInspectable **operation) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetItemsAsyncOverloadDefaultStartAndCount(
                    IInspectable **operation) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIStorageFolder, 0x72d1cb78, 0xb3ef, 0x4f75, 0xa8,0x0b, 0x6f,0xd9,0xda,0xe2,0x94,0x4b)
#endif
#else
typedef struct __x_ABI_CWindows_CStorage_CIStorageFolderVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        TrustLevel *trustLevel);

    /*** IStorageFolder methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateFileAsyncOverloadDefaultOptions)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        HSTRING desiredName,
        IInspectable **operation);

    HRESULT (STDMETHODCALLTYPE *CreateFileAsync)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        HSTRING desiredName,
        enum __x_ABI_CWindows_CStorage_CCreationCollisionOption options,
        IInspectable **operation);

    HRESULT (STDMETHODCALLTYPE *CreateFolderAsyncOverloadDefaultOptions)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        HSTRING desiredName,
        IInspectable **operation);

    HRESULT (STDMETHODCALLTYPE *CreateFolderAsync)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        HSTRING desiredName,
        enum __x_ABI_CWindows_CStorage_CCreationCollisionOption options,
        IInspectable **operation);

    HRESULT (STDMETHODCALLTYPE *GetFileAsync)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        HSTRING name,
        IInspectable **operation);

    HRESULT (STDMETHODCALLTYPE *GetFolderAsync)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        HSTRING name,
        IInspectable **operation);

    HRESULT (STDMETHODCALLTYPE *GetItemAsync)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        HSTRING name,
        IInspectable **operation);

    HRESULT (STDMETHODCALLTYPE *GetFilesAsyncOverloadDefaultOptionsStartAndCount)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        IInspectable **operation);

    HRESULT (STDMETHODCALLTYPE *GetFoldersAsyncOverloadDefaultOptionsStartAndCount)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        IInspectable **operation);

    HRESULT (STDMETHODCALLTYPE *GetItemsAsyncOverloadDefaultStartAndCount)(
        __x_ABI_CWindows_CStorage_CIStorageFolder *This,
        IInspectable **operation);

    END_INTERFACE
} __x_ABI_CWindows_CStorage_CIStorageFolderVtbl;

interface __x_ABI_CWindows_CStorage_CIStorageFolder {
    CONST_VTBL __x_ABI_CWindows_CStorage_CIStorageFolderVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CStorage_CIStorageFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CStorage_CIStorageFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CStorage_CIStorageFolder_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CStorage_CIStorageFolder_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CStorage_CIStorageFolder_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CStorage_CIStorageFolder_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IStorageFolder methods ***/
#define __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFileAsyncOverloadDefaultOptions(This,desiredName,operation) (This)->lpVtbl->CreateFileAsyncOverloadDefaultOptions(This,desiredName,operation)
#define __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFileAsync(This,desiredName,options,operation) (This)->lpVtbl->CreateFileAsync(This,desiredName,options,operation)
#define __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFolderAsyncOverloadDefaultOptions(This,desiredName,operation) (This)->lpVtbl->CreateFolderAsyncOverloadDefaultOptions(This,desiredName,operation)
#define __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFolderAsync(This,desiredName,options,operation) (This)->lpVtbl->CreateFolderAsync(This,desiredName,options,operation)
#define __x_ABI_CWindows_CStorage_CIStorageFolder_GetFileAsync(This,name,operation) (This)->lpVtbl->GetFileAsync(This,name,operation)
#define __x_ABI_CWindows_CStorage_CIStorageFolder_GetFolderAsync(This,name,operation) (This)->lpVtbl->GetFolderAsync(This,name,operation)
#define __x_ABI_CWindows_CStorage_CIStorageFolder_GetItemAsync(This,name,operation) (This)->lpVtbl->GetItemAsync(This,name,operation)
#define __x_ABI_CWindows_CStorage_CIStorageFolder_GetFilesAsyncOverloadDefaultOptionsStartAndCount(This,operation) (This)->lpVtbl->GetFilesAsyncOverloadDefaultOptionsStartAndCount(This,operation)
#define __x_ABI_CWindows_CStorage_CIStorageFolder_GetFoldersAsyncOverloadDefaultOptionsStartAndCount(This,operation) (This)->lpVtbl->GetFoldersAsyncOverloadDefaultOptionsStartAndCount(This,operation)
#define __x_ABI_CWindows_CStorage_CIStorageFolder_GetItemsAsyncOverloadDefaultStartAndCount(This,operation) (This)->lpVtbl->GetItemsAsyncOverloadDefaultStartAndCount(This,operation)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_QueryInterface(__x_ABI_CWindows_CStorage_CIStorageFolder* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIStorageFolder_AddRef(__x_ABI_CWindows_CStorage_CIStorageFolder* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIStorageFolder_Release(__x_ABI_CWindows_CStorage_CIStorageFolder* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_GetIids(__x_ABI_CWindows_CStorage_CIStorageFolder* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CIStorageFolder* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_GetTrustLevel(__x_ABI_CWindows_CStorage_CIStorageFolder* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IStorageFolder methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFileAsyncOverloadDefaultOptions(__x_ABI_CWindows_CStorage_CIStorageFolder* This,HSTRING desiredName,IInspectable **operation) {
    return This->lpVtbl->CreateFileAsyncOverloadDefaultOptions(This,desiredName,operation);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFileAsync(__x_ABI_CWindows_CStorage_CIStorageFolder* This,HSTRING desiredName,enum __x_ABI_CWindows_CStorage_CCreationCollisionOption options,IInspectable **operation) {
    return This->lpVtbl->CreateFileAsync(This,desiredName,options,operation);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFolderAsyncOverloadDefaultOptions(__x_ABI_CWindows_CStorage_CIStorageFolder* This,HSTRING desiredName,IInspectable **operation) {
    return This->lpVtbl->CreateFolderAsyncOverloadDefaultOptions(This,desiredName,operation);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFolderAsync(__x_ABI_CWindows_CStorage_CIStorageFolder* This,HSTRING desiredName,enum __x_ABI_CWindows_CStorage_CCreationCollisionOption options,IInspectable **operation) {
    return This->lpVtbl->CreateFolderAsync(This,desiredName,options,operation);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_GetFileAsync(__x_ABI_CWindows_CStorage_CIStorageFolder* This,HSTRING name,IInspectable **operation) {
    return This->lpVtbl->GetFileAsync(This,name,operation);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_GetFolderAsync(__x_ABI_CWindows_CStorage_CIStorageFolder* This,HSTRING name,IInspectable **operation) {
    return This->lpVtbl->GetFolderAsync(This,name,operation);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_GetItemAsync(__x_ABI_CWindows_CStorage_CIStorageFolder* This,HSTRING name,IInspectable **operation) {
    return This->lpVtbl->GetItemAsync(This,name,operation);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_GetFilesAsyncOverloadDefaultOptionsStartAndCount(__x_ABI_CWindows_CStorage_CIStorageFolder* This,IInspectable **operation) {
    return This->lpVtbl->GetFilesAsyncOverloadDefaultOptionsStartAndCount(This,operation);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_GetFoldersAsyncOverloadDefaultOptionsStartAndCount(__x_ABI_CWindows_CStorage_CIStorageFolder* This,IInspectable **operation) {
    return This->lpVtbl->GetFoldersAsyncOverloadDefaultOptionsStartAndCount(This,operation);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFolder_GetItemsAsyncOverloadDefaultStartAndCount(__x_ABI_CWindows_CStorage_CIStorageFolder* This,IInspectable **operation) {
    return This->lpVtbl->GetItemsAsyncOverloadDefaultStartAndCount(This,operation);
}
#endif
#ifdef WIDL_using_Windows_Storage
#define IID_IStorageFolder IID___x_ABI_CWindows_CStorage_CIStorageFolder
#define IStorageFolderVtbl __x_ABI_CWindows_CStorage_CIStorageFolderVtbl
#define IStorageFolder __x_ABI_CWindows_CStorage_CIStorageFolder
#define IStorageFolder_QueryInterface __x_ABI_CWindows_CStorage_CIStorageFolder_QueryInterface
#define IStorageFolder_AddRef __x_ABI_CWindows_CStorage_CIStorageFolder_AddRef
#define IStorageFolder_Release __x_ABI_CWindows_CStorage_CIStorageFolder_Release
#define IStorageFolder_GetIids __x_ABI_CWindows_CStorage_CIStorageFolder_GetIids
#define IStorageFolder_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIStorageFolder_GetRuntimeClassName
#define IStorageFolder_GetTrustLevel __x_ABI_CWindows_CStorage_CIStorageFolder_GetTrustLevel
#define IStorageFolder_CreateFileAsyncOverloadDefaultOptions __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFileAsyncOverloadDefaultOptions
#define IStorageFolder_CreateFileAsync __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFileAsync
#define IStorageFolder_CreateFolderAsyncOverloadDefaultOptions __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFolderAsyncOverloadDefaultOptions
#define IStorageFolder_CreateFolderAsync __x_ABI_CWindows_CStorage_CIStorageFolder_CreateFolderAsync
#define IStorageFolder_GetFileAsync __x_ABI_CWindows_CStorage_CIStorageFolder_GetFileAsync
#define IStorageFolder_GetFolderAsync __x_ABI_CWindows_CStorage_CIStorageFolder_GetFolderAsync
#define IStorageFolder_GetItemAsync __x_ABI_CWindows_CStorage_CIStorageFolder_GetItemAsync
#define IStorageFolder_GetFilesAsyncOverloadDefaultOptionsStartAndCount __x_ABI_CWindows_CStorage_CIStorageFolder_GetFilesAsyncOverloadDefaultOptionsStartAndCount
#define IStorageFolder_GetFoldersAsyncOverloadDefaultOptionsStartAndCount __x_ABI_CWindows_CStorage_CIStorageFolder_GetFoldersAsyncOverloadDefaultOptionsStartAndCount
#define IStorageFolder_GetItemsAsyncOverloadDefaultStartAndCount __x_ABI_CWindows_CStorage_CIStorageFolder_GetItemsAsyncOverloadDefaultStartAndCount
#endif /* WIDL_using_Windows_Storage */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CStorage_CIStorageFolder_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IApplicationDataContainer interface
 */
#ifndef ____x_ABI_CWindows_CStorage_CIApplicationDataContainer_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIApplicationDataContainer_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CIApplicationDataContainer, 0xc5aefd1e, 0xf467, 0x40ba, 0x85,0x66, 0xab,0x64,0x0a,0x44,0x1e,0x1d);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            MIDL_INTERFACE("c5aefd1e-f467-40ba-8566-ab640a441e1d")
            IApplicationDataContainer : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_Name(
                    HSTRING *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_Locality(
                    enum ApplicationDataLocality *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_Values(
                    IInspectable **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_Containers(
                    IInspectable **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE CreateContainer(
                    HSTRING name,
                    enum ApplicationDataCreateDisposition disposition,
                    ABI::Windows::Storage::IApplicationDataContainer **container) = 0;

                virtual HRESULT STDMETHODCALLTYPE DeleteContainer(
                    HSTRING name) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIApplicationDataContainer, 0xc5aefd1e, 0xf467, 0x40ba, 0x85,0x66, 0xab,0x64,0x0a,0x44,0x1e,0x1d)
#endif
#else
typedef struct __x_ABI_CWindows_CStorage_CIApplicationDataContainerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer *This,
        TrustLevel *trustLevel);

    /*** IApplicationDataContainer methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Name)(
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Locality)(
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer *This,
        enum __x_ABI_CWindows_CStorage_CApplicationDataLocality *value);

    HRESULT (STDMETHODCALLTYPE *get_Values)(
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer *This,
        IInspectable **value);

    HRESULT (STDMETHODCALLTYPE *get_Containers)(
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer *This,
        IInspectable **value);

    HRESULT (STDMETHODCALLTYPE *CreateContainer)(
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer *This,
        HSTRING name,
        enum __x_ABI_CWindows_CStorage_CApplicationDataCreateDisposition disposition,
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer **container);

    HRESULT (STDMETHODCALLTYPE *DeleteContainer)(
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer *This,
        HSTRING name);

    END_INTERFACE
} __x_ABI_CWindows_CStorage_CIApplicationDataContainerVtbl;

interface __x_ABI_CWindows_CStorage_CIApplicationDataContainer {
    CONST_VTBL __x_ABI_CWindows_CStorage_CIApplicationDataContainerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IApplicationDataContainer methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Name(This,value) (This)->lpVtbl->get_Name(This,value)
#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Locality(This,value) (This)->lpVtbl->get_Locality(This,value)
#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Values(This,value) (This)->lpVtbl->get_Values(This,value)
#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Containers(This,value) (This)->lpVtbl->get_Containers(This,value)
#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer_CreateContainer(This,name,disposition,container) (This)->lpVtbl->CreateContainer(This,name,disposition,container)
#define __x_ABI_CWindows_CStorage_CIApplicationDataContainer_DeleteContainer(This,name) (This)->lpVtbl->DeleteContainer(This,name)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataContainer_QueryInterface(__x_ABI_CWindows_CStorage_CIApplicationDataContainer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIApplicationDataContainer_AddRef(__x_ABI_CWindows_CStorage_CIApplicationDataContainer* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIApplicationDataContainer_Release(__x_ABI_CWindows_CStorage_CIApplicationDataContainer* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataContainer_GetIids(__x_ABI_CWindows_CStorage_CIApplicationDataContainer* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataContainer_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CIApplicationDataContainer* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataContainer_GetTrustLevel(__x_ABI_CWindows_CStorage_CIApplicationDataContainer* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IApplicationDataContainer methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Name(__x_ABI_CWindows_CStorage_CIApplicationDataContainer* This,HSTRING *value) {
    return This->lpVtbl->get_Name(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Locality(__x_ABI_CWindows_CStorage_CIApplicationDataContainer* This,enum __x_ABI_CWindows_CStorage_CApplicationDataLocality *value) {
    return This->lpVtbl->get_Locality(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Values(__x_ABI_CWindows_CStorage_CIApplicationDataContainer* This,IInspectable **value) {
    return This->lpVtbl->get_Values(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Containers(__x_ABI_CWindows_CStorage_CIApplicationDataContainer* This,IInspectable **value) {
    return This->lpVtbl->get_Containers(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataContainer_CreateContainer(__x_ABI_CWindows_CStorage_CIApplicationDataContainer* This,HSTRING name,enum __x_ABI_CWindows_CStorage_CApplicationDataCreateDisposition disposition,__x_ABI_CWindows_CStorage_CIApplicationDataContainer **container) {
    return This->lpVtbl->CreateContainer(This,name,disposition,container);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataContainer_DeleteContainer(__x_ABI_CWindows_CStorage_CIApplicationDataContainer* This,HSTRING name) {
    return This->lpVtbl->DeleteContainer(This,name);
}
#endif
#ifdef WIDL_using_Windows_Storage
#define IID_IApplicationDataContainer IID___x_ABI_CWindows_CStorage_CIApplicationDataContainer
#define IApplicationDataContainerVtbl __x_ABI_CWindows_CStorage_CIApplicationDataContainerVtbl
#define IApplicationDataContainer __x_ABI_CWindows_CStorage_CIApplicationDataContainer
#define IApplicationDataContainer_QueryInterface __x_ABI_CWindows_CStorage_CIApplicationDataContainer_QueryInterface
#define IApplicationDataContainer_AddRef __x_ABI_CWindows_CStorage_CIApplicationDataContainer_AddRef
#define IApplicationDataContainer_Release __x_ABI_CWindows_CStorage_CIApplicationDataContainer_Release
#define IApplicationDataContainer_GetIids __x_ABI_CWindows_CStorage_CIApplicationDataContainer_GetIids
#define IApplicationDataContainer_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIApplicationDataContainer_GetRuntimeClassName
#define IApplicationDataContainer_GetTrustLevel __x_ABI_CWindows_CStorage_CIApplicationDataContainer_GetTrustLevel
#define IApplicationDataContainer_get_Name __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Name
#define IApplicationDataContainer_get_Locality __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Locality
#define IApplicationDataContainer_get_Values __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Values
#define IApplicationDataContainer_get_Containers __x_ABI_CWindows_CStorage_CIApplicationDataContainer_get_Containers
#define IApplicationDataContainer_CreateContainer __x_ABI_CWindows_CStorage_CIApplicationDataContainer_CreateContainer
#define IApplicationDataContainer_DeleteContainer __x_ABI_CWindows_CStorage_CIApplicationDataContainer_DeleteContainer
#endif /* WIDL_using_Windows_Storage */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CStorage_CIApplicationDataContainer_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IApplicationData interface
 */
#ifndef ____x_ABI_CWindows_CStorage_CIApplicationData_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIApplicationData_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CIApplicationData, 0xc3da6fb7, 0xb744, 0x4b45, 0xb0,0xb8, 0x22,0x3a,0x09,0x38,0xd0,0xdc);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            MIDL_INTERFACE("c3da6fb7-b744-4b45-b0b8-223a0938d0dc")
            IApplicationData : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_Version(
                    int *value) = 0;

                virtual HRESULT STDMETHODCALLTYPE SetVersionAsync(
                    int desiredVersion,
                    ABI::Windows::Storage::IApplicationDataSetVersionHandler *handler,
                    IInspectable **setVersionOperation) = 0;

                virtual HRESULT STDMETHODCALLTYPE ClearAllAsync(
                    IInspectable **clearOperation) = 0;

                virtual HRESULT STDMETHODCALLTYPE ClearAsync(
                    enum ApplicationDataLocality locality,
                    IInspectable **clearOperation) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_LocalSettings(
                    ABI::Windows::Storage::IApplicationDataContainer **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_RoamingSettings(
                    ABI::Windows::Storage::IApplicationDataContainer **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_LocalFolder(
                    ABI::Windows::Storage::IStorageFolder **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_RoamingFolder(
                    ABI::Windows::Storage::IStorageFolder **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_TemporaryFolder(
                    ABI::Windows::Storage::IStorageFolder **value) = 0;

                virtual HRESULT STDMETHODCALLTYPE DataChanged(
                    EventRegistrationToken token) = 0;

                virtual HRESULT STDMETHODCALLTYPE SignalDataChanged(
                    ) = 0;

                virtual HRESULT STDMETHODCALLTYPE RoamingStorageQuota(
                    UINT64 *value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIApplicationData, 0xc3da6fb7, 0xb744, 0x4b45, 0xb0,0xb8, 0x22,0x3a,0x09,0x38,0xd0,0xdc)
#endif
#else
typedef struct __x_ABI_CWindows_CStorage_CIApplicationDataVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        TrustLevel *trustLevel);

    /*** IApplicationData methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Version)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        int *value);

    HRESULT (STDMETHODCALLTYPE *SetVersionAsync)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        int desiredVersion,
        __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler *handler,
        IInspectable **setVersionOperation);

    HRESULT (STDMETHODCALLTYPE *ClearAllAsync)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        IInspectable **clearOperation);

    HRESULT (STDMETHODCALLTYPE *ClearAsync)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        enum __x_ABI_CWindows_CStorage_CApplicationDataLocality locality,
        IInspectable **clearOperation);

    HRESULT (STDMETHODCALLTYPE *get_LocalSettings)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer **value);

    HRESULT (STDMETHODCALLTYPE *get_RoamingSettings)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        __x_ABI_CWindows_CStorage_CIApplicationDataContainer **value);

    HRESULT (STDMETHODCALLTYPE *get_LocalFolder)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        __x_ABI_CWindows_CStorage_CIStorageFolder **value);

    HRESULT (STDMETHODCALLTYPE *get_RoamingFolder)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        __x_ABI_CWindows_CStorage_CIStorageFolder **value);

    HRESULT (STDMETHODCALLTYPE *get_TemporaryFolder)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        __x_ABI_CWindows_CStorage_CIStorageFolder **value);

    HRESULT (STDMETHODCALLTYPE *DataChanged)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *SignalDataChanged)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This);

    HRESULT (STDMETHODCALLTYPE *RoamingStorageQuota)(
        __x_ABI_CWindows_CStorage_CIApplicationData *This,
        UINT64 *value);

    END_INTERFACE
} __x_ABI_CWindows_CStorage_CIApplicationDataVtbl;

interface __x_ABI_CWindows_CStorage_CIApplicationData {
    CONST_VTBL __x_ABI_CWindows_CStorage_CIApplicationDataVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CStorage_CIApplicationData_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CStorage_CIApplicationData_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationData_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CStorage_CIApplicationData_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CStorage_CIApplicationData_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IApplicationData methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationData_get_Version(This,value) (This)->lpVtbl->get_Version(This,value)
#define __x_ABI_CWindows_CStorage_CIApplicationData_SetVersionAsync(This,desiredVersion,handler,setVersionOperation) (This)->lpVtbl->SetVersionAsync(This,desiredVersion,handler,setVersionOperation)
#define __x_ABI_CWindows_CStorage_CIApplicationData_ClearAllAsync(This,clearOperation) (This)->lpVtbl->ClearAllAsync(This,clearOperation)
#define __x_ABI_CWindows_CStorage_CIApplicationData_ClearAsync(This,locality,clearOperation) (This)->lpVtbl->ClearAsync(This,locality,clearOperation)
#define __x_ABI_CWindows_CStorage_CIApplicationData_get_LocalSettings(This,value) (This)->lpVtbl->get_LocalSettings(This,value)
#define __x_ABI_CWindows_CStorage_CIApplicationData_get_RoamingSettings(This,value) (This)->lpVtbl->get_RoamingSettings(This,value)
#define __x_ABI_CWindows_CStorage_CIApplicationData_get_LocalFolder(This,value) (This)->lpVtbl->get_LocalFolder(This,value)
#define __x_ABI_CWindows_CStorage_CIApplicationData_get_RoamingFolder(This,value) (This)->lpVtbl->get_RoamingFolder(This,value)
#define __x_ABI_CWindows_CStorage_CIApplicationData_get_TemporaryFolder(This,value) (This)->lpVtbl->get_TemporaryFolder(This,value)
#define __x_ABI_CWindows_CStorage_CIApplicationData_DataChanged(This,token) (This)->lpVtbl->DataChanged(This,token)
#define __x_ABI_CWindows_CStorage_CIApplicationData_SignalDataChanged(This) (This)->lpVtbl->SignalDataChanged(This)
#define __x_ABI_CWindows_CStorage_CIApplicationData_RoamingStorageQuota(This,value) (This)->lpVtbl->RoamingStorageQuota(This,value)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_QueryInterface(__x_ABI_CWindows_CStorage_CIApplicationData* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIApplicationData_AddRef(__x_ABI_CWindows_CStorage_CIApplicationData* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIApplicationData_Release(__x_ABI_CWindows_CStorage_CIApplicationData* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_GetIids(__x_ABI_CWindows_CStorage_CIApplicationData* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CIApplicationData* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_GetTrustLevel(__x_ABI_CWindows_CStorage_CIApplicationData* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IApplicationData methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_get_Version(__x_ABI_CWindows_CStorage_CIApplicationData* This,int *value) {
    return This->lpVtbl->get_Version(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_SetVersionAsync(__x_ABI_CWindows_CStorage_CIApplicationData* This,int desiredVersion,__x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler *handler,IInspectable **setVersionOperation) {
    return This->lpVtbl->SetVersionAsync(This,desiredVersion,handler,setVersionOperation);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_ClearAllAsync(__x_ABI_CWindows_CStorage_CIApplicationData* This,IInspectable **clearOperation) {
    return This->lpVtbl->ClearAllAsync(This,clearOperation);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_ClearAsync(__x_ABI_CWindows_CStorage_CIApplicationData* This,enum __x_ABI_CWindows_CStorage_CApplicationDataLocality locality,IInspectable **clearOperation) {
    return This->lpVtbl->ClearAsync(This,locality,clearOperation);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_get_LocalSettings(__x_ABI_CWindows_CStorage_CIApplicationData* This,__x_ABI_CWindows_CStorage_CIApplicationDataContainer **value) {
    return This->lpVtbl->get_LocalSettings(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_get_RoamingSettings(__x_ABI_CWindows_CStorage_CIApplicationData* This,__x_ABI_CWindows_CStorage_CIApplicationDataContainer **value) {
    return This->lpVtbl->get_RoamingSettings(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_get_LocalFolder(__x_ABI_CWindows_CStorage_CIApplicationData* This,__x_ABI_CWindows_CStorage_CIStorageFolder **value) {
    return This->lpVtbl->get_LocalFolder(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_get_RoamingFolder(__x_ABI_CWindows_CStorage_CIApplicationData* This,__x_ABI_CWindows_CStorage_CIStorageFolder **value) {
    return This->lpVtbl->get_RoamingFolder(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_get_TemporaryFolder(__x_ABI_CWindows_CStorage_CIApplicationData* This,__x_ABI_CWindows_CStorage_CIStorageFolder **value) {
    return This->lpVtbl->get_TemporaryFolder(This,value);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_DataChanged(__x_ABI_CWindows_CStorage_CIApplicationData* This,EventRegistrationToken token) {
    return This->lpVtbl->DataChanged(This,token);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_SignalDataChanged(__x_ABI_CWindows_CStorage_CIApplicationData* This) {
    return This->lpVtbl->SignalDataChanged(This);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData_RoamingStorageQuota(__x_ABI_CWindows_CStorage_CIApplicationData* This,UINT64 *value) {
    return This->lpVtbl->RoamingStorageQuota(This,value);
}
#endif
#ifdef WIDL_using_Windows_Storage
#define IID_IApplicationData IID___x_ABI_CWindows_CStorage_CIApplicationData
#define IApplicationDataVtbl __x_ABI_CWindows_CStorage_CIApplicationDataVtbl
#define IApplicationData __x_ABI_CWindows_CStorage_CIApplicationData
#define IApplicationData_QueryInterface __x_ABI_CWindows_CStorage_CIApplicationData_QueryInterface
#define IApplicationData_AddRef __x_ABI_CWindows_CStorage_CIApplicationData_AddRef
#define IApplicationData_Release __x_ABI_CWindows_CStorage_CIApplicationData_Release
#define IApplicationData_GetIids __x_ABI_CWindows_CStorage_CIApplicationData_GetIids
#define IApplicationData_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIApplicationData_GetRuntimeClassName
#define IApplicationData_GetTrustLevel __x_ABI_CWindows_CStorage_CIApplicationData_GetTrustLevel
#define IApplicationData_get_Version __x_ABI_CWindows_CStorage_CIApplicationData_get_Version
#define IApplicationData_SetVersionAsync __x_ABI_CWindows_CStorage_CIApplicationData_SetVersionAsync
#define IApplicationData_ClearAllAsync __x_ABI_CWindows_CStorage_CIApplicationData_ClearAllAsync
#define IApplicationData_ClearAsync __x_ABI_CWindows_CStorage_CIApplicationData_ClearAsync
#define IApplicationData_get_LocalSettings __x_ABI_CWindows_CStorage_CIApplicationData_get_LocalSettings
#define IApplicationData_get_RoamingSettings __x_ABI_CWindows_CStorage_CIApplicationData_get_RoamingSettings
#define IApplicationData_get_LocalFolder __x_ABI_CWindows_CStorage_CIApplicationData_get_LocalFolder
#define IApplicationData_get_RoamingFolder __x_ABI_CWindows_CStorage_CIApplicationData_get_RoamingFolder
#define IApplicationData_get_TemporaryFolder __x_ABI_CWindows_CStorage_CIApplicationData_get_TemporaryFolder
#define IApplicationData_DataChanged __x_ABI_CWindows_CStorage_CIApplicationData_DataChanged
#define IApplicationData_SignalDataChanged __x_ABI_CWindows_CStorage_CIApplicationData_SignalDataChanged
#define IApplicationData_RoamingStorageQuota __x_ABI_CWindows_CStorage_CIApplicationData_RoamingStorageQuota
#endif /* WIDL_using_Windows_Storage */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CStorage_CIApplicationData_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IApplicationData2 interface
 */
#ifndef ____x_ABI_CWindows_CStorage_CIApplicationData2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIApplicationData2_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CIApplicationData2, 0x9e65cd69, 0x0ba3, 0x4e32, 0xbe,0x29, 0xb0,0x2d,0xe6,0x60,0x76,0x38);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            MIDL_INTERFACE("9e65cd69-0ba3-4e32-be29-b02de6607638")
            IApplicationData2 : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_LocalCacheFolder(
                    ABI::Windows::Storage::IStorageFolder **value) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIApplicationData2, 0x9e65cd69, 0x0ba3, 0x4e32, 0xbe,0x29, 0xb0,0x2d,0xe6,0x60,0x76,0x38)
#endif
#else
typedef struct __x_ABI_CWindows_CStorage_CIApplicationData2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CStorage_CIApplicationData2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CStorage_CIApplicationData2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CStorage_CIApplicationData2 *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CStorage_CIApplicationData2 *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CStorage_CIApplicationData2 *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CStorage_CIApplicationData2 *This,
        TrustLevel *trustLevel);

    /*** IApplicationData2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_LocalCacheFolder)(
        __x_ABI_CWindows_CStorage_CIApplicationData2 *This,
        __x_ABI_CWindows_CStorage_CIStorageFolder **value);

    END_INTERFACE
} __x_ABI_CWindows_CStorage_CIApplicationData2Vtbl;

interface __x_ABI_CWindows_CStorage_CIApplicationData2 {
    CONST_VTBL __x_ABI_CWindows_CStorage_CIApplicationData2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationData2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CStorage_CIApplicationData2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CStorage_CIApplicationData2_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationData2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CStorage_CIApplicationData2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CStorage_CIApplicationData2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IApplicationData2 methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationData2_get_LocalCacheFolder(This,value) (This)->lpVtbl->get_LocalCacheFolder(This,value)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData2_QueryInterface(__x_ABI_CWindows_CStorage_CIApplicationData2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIApplicationData2_AddRef(__x_ABI_CWindows_CStorage_CIApplicationData2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIApplicationData2_Release(__x_ABI_CWindows_CStorage_CIApplicationData2* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData2_GetIids(__x_ABI_CWindows_CStorage_CIApplicationData2* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData2_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CIApplicationData2* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData2_GetTrustLevel(__x_ABI_CWindows_CStorage_CIApplicationData2* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IApplicationData2 methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationData2_get_LocalCacheFolder(__x_ABI_CWindows_CStorage_CIApplicationData2* This,__x_ABI_CWindows_CStorage_CIStorageFolder **value) {
    return This->lpVtbl->get_LocalCacheFolder(This,value);
}
#endif
#ifdef WIDL_using_Windows_Storage
#define IID_IApplicationData2 IID___x_ABI_CWindows_CStorage_CIApplicationData2
#define IApplicationData2Vtbl __x_ABI_CWindows_CStorage_CIApplicationData2Vtbl
#define IApplicationData2 __x_ABI_CWindows_CStorage_CIApplicationData2
#define IApplicationData2_QueryInterface __x_ABI_CWindows_CStorage_CIApplicationData2_QueryInterface
#define IApplicationData2_AddRef __x_ABI_CWindows_CStorage_CIApplicationData2_AddRef
#define IApplicationData2_Release __x_ABI_CWindows_CStorage_CIApplicationData2_Release
#define IApplicationData2_GetIids __x_ABI_CWindows_CStorage_CIApplicationData2_GetIids
#define IApplicationData2_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIApplicationData2_GetRuntimeClassName
#define IApplicationData2_GetTrustLevel __x_ABI_CWindows_CStorage_CIApplicationData2_GetTrustLevel
#define IApplicationData2_get_LocalCacheFolder __x_ABI_CWindows_CStorage_CIApplicationData2_get_LocalCacheFolder
#endif /* WIDL_using_Windows_Storage */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CStorage_CIApplicationData2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IApplicationDataStatics interface
 */
#ifndef ____x_ABI_CWindows_CStorage_CIApplicationDataStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIApplicationDataStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CIApplicationDataStatics, 0x5612147b, 0xe843, 0x45e3, 0x94,0xd8, 0x06,0x16,0x9e,0x3c,0x8e,0x17);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            MIDL_INTERFACE("5612147b-e843-45e3-94d8-06169e3c8e17")
            IApplicationDataStatics : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_Current(
                    ABI::Windows::Storage::IApplicationData **data) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIApplicationDataStatics, 0x5612147b, 0xe843, 0x45e3, 0x94,0xd8, 0x06,0x16,0x9e,0x3c,0x8e,0x17)
#endif
#else
typedef struct __x_ABI_CWindows_CStorage_CIApplicationDataStaticsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CStorage_CIApplicationDataStatics *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CStorage_CIApplicationDataStatics *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CStorage_CIApplicationDataStatics *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CStorage_CIApplicationDataStatics *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CStorage_CIApplicationDataStatics *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CStorage_CIApplicationDataStatics *This,
        TrustLevel *trustLevel);

    /*** IApplicationDataStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __x_ABI_CWindows_CStorage_CIApplicationDataStatics *This,
        __x_ABI_CWindows_CStorage_CIApplicationData **data);

    END_INTERFACE
} __x_ABI_CWindows_CStorage_CIApplicationDataStaticsVtbl;

interface __x_ABI_CWindows_CStorage_CIApplicationDataStatics {
    CONST_VTBL __x_ABI_CWindows_CStorage_CIApplicationDataStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationDataStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CStorage_CIApplicationDataStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CStorage_CIApplicationDataStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationDataStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CStorage_CIApplicationDataStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CStorage_CIApplicationDataStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IApplicationDataStatics methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationDataStatics_get_Current(This,data) (This)->lpVtbl->get_Current(This,data)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataStatics_QueryInterface(__x_ABI_CWindows_CStorage_CIApplicationDataStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIApplicationDataStatics_AddRef(__x_ABI_CWindows_CStorage_CIApplicationDataStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIApplicationDataStatics_Release(__x_ABI_CWindows_CStorage_CIApplicationDataStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataStatics_GetIids(__x_ABI_CWindows_CStorage_CIApplicationDataStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataStatics_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CIApplicationDataStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataStatics_GetTrustLevel(__x_ABI_CWindows_CStorage_CIApplicationDataStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IApplicationDataStatics methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataStatics_get_Current(__x_ABI_CWindows_CStorage_CIApplicationDataStatics* This,__x_ABI_CWindows_CStorage_CIApplicationData **data) {
    return This->lpVtbl->get_Current(This,data);
}
#endif
#ifdef WIDL_using_Windows_Storage
#define IID_IApplicationDataStatics IID___x_ABI_CWindows_CStorage_CIApplicationDataStatics
#define IApplicationDataStaticsVtbl __x_ABI_CWindows_CStorage_CIApplicationDataStaticsVtbl
#define IApplicationDataStatics __x_ABI_CWindows_CStorage_CIApplicationDataStatics
#define IApplicationDataStatics_QueryInterface __x_ABI_CWindows_CStorage_CIApplicationDataStatics_QueryInterface
#define IApplicationDataStatics_AddRef __x_ABI_CWindows_CStorage_CIApplicationDataStatics_AddRef
#define IApplicationDataStatics_Release __x_ABI_CWindows_CStorage_CIApplicationDataStatics_Release
#define IApplicationDataStatics_GetIids __x_ABI_CWindows_CStorage_CIApplicationDataStatics_GetIids
#define IApplicationDataStatics_GetRuntimeClassName __x_ABI_CWindows_CStorage_CIApplicationDataStatics_GetRuntimeClassName
#define IApplicationDataStatics_GetTrustLevel __x_ABI_CWindows_CStorage_CIApplicationDataStatics_GetTrustLevel
#define IApplicationDataStatics_get_Current __x_ABI_CWindows_CStorage_CIApplicationDataStatics_get_Current
#endif /* WIDL_using_Windows_Storage */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CStorage_CIApplicationDataStatics_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IApplicationDataSetVersionHandler interface
 */
#ifndef ____x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler, 0xa05791e6, 0xcc9f, 0x4687, 0xac,0xab, 0xa3,0x64,0xfd,0x78,0x54,0x63);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            MIDL_INTERFACE("a05791e6-cc9f-4687-acab-a364fd785463")
            IApplicationDataSetVersionHandler : public IUnknown
            {
                virtual HRESULT STDMETHODCALLTYPE Invoke(
                    ABI::Windows::Storage::ISetVersionRequest *setVersionRequest) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler, 0xa05791e6, 0xcc9f, 0x4687, 0xac,0xab, 0xa3,0x64,0xfd,0x78,0x54,0x63)
#endif
#else
typedef struct __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandlerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler *This);

    /*** IApplicationDataSetVersionHandler methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler *This,
        __x_ABI_CWindows_CStorage_CISetVersionRequest *setVersionRequest);

    END_INTERFACE
} __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandlerVtbl;

interface __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler {
    CONST_VTBL __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandlerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IApplicationDataSetVersionHandler methods ***/
#define __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_Invoke(This,setVersionRequest) (This)->lpVtbl->Invoke(This,setVersionRequest)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_QueryInterface(__x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_AddRef(__x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_Release(__x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler* This) {
    return This->lpVtbl->Release(This);
}
/*** IApplicationDataSetVersionHandler methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_Invoke(__x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler* This,__x_ABI_CWindows_CStorage_CISetVersionRequest *setVersionRequest) {
    return This->lpVtbl->Invoke(This,setVersionRequest);
}
#endif
#ifdef WIDL_using_Windows_Storage
#define IID_IApplicationDataSetVersionHandler IID___x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler
#define IApplicationDataSetVersionHandlerVtbl __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandlerVtbl
#define IApplicationDataSetVersionHandler __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler
#define IApplicationDataSetVersionHandler_QueryInterface __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_QueryInterface
#define IApplicationDataSetVersionHandler_AddRef __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_AddRef
#define IApplicationDataSetVersionHandler_Release __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_Release
#define IApplicationDataSetVersionHandler_Invoke __x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_Invoke
#endif /* WIDL_using_Windows_Storage */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CStorage_CIApplicationDataSetVersionHandler_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISetVersionRequest interface
 */
#ifndef ____x_ABI_CWindows_CStorage_CISetVersionRequest_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CStorage_CISetVersionRequest_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CISetVersionRequest, 0xb9c76b9b, 0x1056, 0x4e69, 0x83,0x30, 0x16,0x26,0x19,0x95,0x6f,0x9b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            MIDL_INTERFACE("b9c76b9b-1056-4e69-8330-162619956f9b")
            ISetVersionRequest : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_CurrentVersion(
                    UINT32 *currentVersion) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_DesiredVersion(
                    UINT32 *desiredVersion) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetDeferral(
                    ABI::Windows::Storage::ISetVersionDeferral **deferral) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CISetVersionRequest, 0xb9c76b9b, 0x1056, 0x4e69, 0x83,0x30, 0x16,0x26,0x19,0x95,0x6f,0x9b)
#endif
#else
typedef struct __x_ABI_CWindows_CStorage_CISetVersionRequestVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CStorage_CISetVersionRequest *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CStorage_CISetVersionRequest *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CStorage_CISetVersionRequest *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CStorage_CISetVersionRequest *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CStorage_CISetVersionRequest *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CStorage_CISetVersionRequest *This,
        TrustLevel *trustLevel);

    /*** ISetVersionRequest methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CurrentVersion)(
        __x_ABI_CWindows_CStorage_CISetVersionRequest *This,
        UINT32 *currentVersion);

    HRESULT (STDMETHODCALLTYPE *get_DesiredVersion)(
        __x_ABI_CWindows_CStorage_CISetVersionRequest *This,
        UINT32 *desiredVersion);

    HRESULT (STDMETHODCALLTYPE *GetDeferral)(
        __x_ABI_CWindows_CStorage_CISetVersionRequest *This,
        __x_ABI_CWindows_CStorage_CISetVersionDeferral **deferral);

    END_INTERFACE
} __x_ABI_CWindows_CStorage_CISetVersionRequestVtbl;

interface __x_ABI_CWindows_CStorage_CISetVersionRequest {
    CONST_VTBL __x_ABI_CWindows_CStorage_CISetVersionRequestVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CStorage_CISetVersionRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CStorage_CISetVersionRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CStorage_CISetVersionRequest_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CStorage_CISetVersionRequest_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CStorage_CISetVersionRequest_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CStorage_CISetVersionRequest_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ISetVersionRequest methods ***/
#define __x_ABI_CWindows_CStorage_CISetVersionRequest_get_CurrentVersion(This,currentVersion) (This)->lpVtbl->get_CurrentVersion(This,currentVersion)
#define __x_ABI_CWindows_CStorage_CISetVersionRequest_get_DesiredVersion(This,desiredVersion) (This)->lpVtbl->get_DesiredVersion(This,desiredVersion)
#define __x_ABI_CWindows_CStorage_CISetVersionRequest_GetDeferral(This,deferral) (This)->lpVtbl->GetDeferral(This,deferral)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CISetVersionRequest_QueryInterface(__x_ABI_CWindows_CStorage_CISetVersionRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CISetVersionRequest_AddRef(__x_ABI_CWindows_CStorage_CISetVersionRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CISetVersionRequest_Release(__x_ABI_CWindows_CStorage_CISetVersionRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CISetVersionRequest_GetIids(__x_ABI_CWindows_CStorage_CISetVersionRequest* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CISetVersionRequest_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CISetVersionRequest* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CISetVersionRequest_GetTrustLevel(__x_ABI_CWindows_CStorage_CISetVersionRequest* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ISetVersionRequest methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CISetVersionRequest_get_CurrentVersion(__x_ABI_CWindows_CStorage_CISetVersionRequest* This,UINT32 *currentVersion) {
    return This->lpVtbl->get_CurrentVersion(This,currentVersion);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CISetVersionRequest_get_DesiredVersion(__x_ABI_CWindows_CStorage_CISetVersionRequest* This,UINT32 *desiredVersion) {
    return This->lpVtbl->get_DesiredVersion(This,desiredVersion);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CISetVersionRequest_GetDeferral(__x_ABI_CWindows_CStorage_CISetVersionRequest* This,__x_ABI_CWindows_CStorage_CISetVersionDeferral **deferral) {
    return This->lpVtbl->GetDeferral(This,deferral);
}
#endif
#ifdef WIDL_using_Windows_Storage
#define IID_ISetVersionRequest IID___x_ABI_CWindows_CStorage_CISetVersionRequest
#define ISetVersionRequestVtbl __x_ABI_CWindows_CStorage_CISetVersionRequestVtbl
#define ISetVersionRequest __x_ABI_CWindows_CStorage_CISetVersionRequest
#define ISetVersionRequest_QueryInterface __x_ABI_CWindows_CStorage_CISetVersionRequest_QueryInterface
#define ISetVersionRequest_AddRef __x_ABI_CWindows_CStorage_CISetVersionRequest_AddRef
#define ISetVersionRequest_Release __x_ABI_CWindows_CStorage_CISetVersionRequest_Release
#define ISetVersionRequest_GetIids __x_ABI_CWindows_CStorage_CISetVersionRequest_GetIids
#define ISetVersionRequest_GetRuntimeClassName __x_ABI_CWindows_CStorage_CISetVersionRequest_GetRuntimeClassName
#define ISetVersionRequest_GetTrustLevel __x_ABI_CWindows_CStorage_CISetVersionRequest_GetTrustLevel
#define ISetVersionRequest_get_CurrentVersion __x_ABI_CWindows_CStorage_CISetVersionRequest_get_CurrentVersion
#define ISetVersionRequest_get_DesiredVersion __x_ABI_CWindows_CStorage_CISetVersionRequest_get_DesiredVersion
#define ISetVersionRequest_GetDeferral __x_ABI_CWindows_CStorage_CISetVersionRequest_GetDeferral
#endif /* WIDL_using_Windows_Storage */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CStorage_CISetVersionRequest_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ISetVersionDeferral interface
 */
#ifndef ____x_ABI_CWindows_CStorage_CISetVersionDeferral_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CStorage_CISetVersionDeferral_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CISetVersionDeferral, 0x033508a2, 0x781a, 0x437a, 0xb0,0x78, 0x3f,0x32,0xba,0xdc,0xfe,0x47);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            MIDL_INTERFACE("033508a2-781a-437a-b078-3f32badcfe47")
            ISetVersionDeferral : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE Complete(
                    ) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CStorage_CISetVersionDeferral, 0x033508a2, 0x781a, 0x437a, 0xb0,0x78, 0x3f,0x32,0xba,0xdc,0xfe,0x47)
#endif
#else
typedef struct __x_ABI_CWindows_CStorage_CISetVersionDeferralVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CStorage_CISetVersionDeferral *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CStorage_CISetVersionDeferral *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CStorage_CISetVersionDeferral *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CStorage_CISetVersionDeferral *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CStorage_CISetVersionDeferral *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CStorage_CISetVersionDeferral *This,
        TrustLevel *trustLevel);

    /*** ISetVersionDeferral methods ***/
    HRESULT (STDMETHODCALLTYPE *Complete)(
        __x_ABI_CWindows_CStorage_CISetVersionDeferral *This);

    END_INTERFACE
} __x_ABI_CWindows_CStorage_CISetVersionDeferralVtbl;

interface __x_ABI_CWindows_CStorage_CISetVersionDeferral {
    CONST_VTBL __x_ABI_CWindows_CStorage_CISetVersionDeferralVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CStorage_CISetVersionDeferral_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CStorage_CISetVersionDeferral_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CStorage_CISetVersionDeferral_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CStorage_CISetVersionDeferral_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CStorage_CISetVersionDeferral_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CStorage_CISetVersionDeferral_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ISetVersionDeferral methods ***/
#define __x_ABI_CWindows_CStorage_CISetVersionDeferral_Complete(This) (This)->lpVtbl->Complete(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CISetVersionDeferral_QueryInterface(__x_ABI_CWindows_CStorage_CISetVersionDeferral* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CISetVersionDeferral_AddRef(__x_ABI_CWindows_CStorage_CISetVersionDeferral* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CISetVersionDeferral_Release(__x_ABI_CWindows_CStorage_CISetVersionDeferral* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CISetVersionDeferral_GetIids(__x_ABI_CWindows_CStorage_CISetVersionDeferral* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CISetVersionDeferral_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CISetVersionDeferral* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CISetVersionDeferral_GetTrustLevel(__x_ABI_CWindows_CStorage_CISetVersionDeferral* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ISetVersionDeferral methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CISetVersionDeferral_Complete(__x_ABI_CWindows_CStorage_CISetVersionDeferral* This) {
    return This->lpVtbl->Complete(This);
}
#endif
#ifdef WIDL_using_Windows_Storage
#define IID_ISetVersionDeferral IID___x_ABI_CWindows_CStorage_CISetVersionDeferral
#define ISetVersionDeferralVtbl __x_ABI_CWindows_CStorage_CISetVersionDeferralVtbl
#define ISetVersionDeferral __x_ABI_CWindows_CStorage_CISetVersionDeferral
#define ISetVersionDeferral_QueryInterface __x_ABI_CWindows_CStorage_CISetVersionDeferral_QueryInterface
#define ISetVersionDeferral_AddRef __x_ABI_CWindows_CStorage_CISetVersionDeferral_AddRef
#define ISetVersionDeferral_Release __x_ABI_CWindows_CStorage_CISetVersionDeferral_Release
#define ISetVersionDeferral_GetIids __x_ABI_CWindows_CStorage_CISetVersionDeferral_GetIids
#define ISetVersionDeferral_GetRuntimeClassName __x_ABI_CWindows_CStorage_CISetVersionDeferral_GetRuntimeClassName
#define ISetVersionDeferral_GetTrustLevel __x_ABI_CWindows_CStorage_CISetVersionDeferral_GetTrustLevel
#define ISetVersionDeferral_Complete __x_ABI_CWindows_CStorage_CISetVersionDeferral_Complete
#endif /* WIDL_using_Windows_Storage */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CStorage_CISetVersionDeferral_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */

ULONG           __RPC_USER HSTRING_UserSize     (ULONG *, ULONG, HSTRING *);
unsigned char * __RPC_USER HSTRING_UserMarshal  (ULONG *, unsigned char *, HSTRING *);
unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
void            __RPC_USER HSTRING_UserFree     (ULONG *, HSTRING *);

/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __windows_storage_h__ */
