The IStorageFile interface is described at [1]. The IStorageFileStatics is the interface to use to access the static methods of StorageFile [2], to use by creating an instance of "Windows.Storage.StorageFile" with RoGetActivationFactory().
[1] https://docs.microsoft.com/en-us/uwp/api/windows.storage.istoragefile [2] https://docs.microsoft.com/en-us/uwp/api/windows.storage.storagefile --- mingw-w64-headers/include/windows.storage.h | 532 ++++++++++++++++++ mingw-w64-headers/include/windows.storage.idl | 37 ++ 2 files changed, 569 insertions(+) diff --git a/mingw-w64-headers/include/windows.storage.h b/mingw-w64-headers/include/windows.storage.h index df7db329..f5917b79 100644 --- a/mingw-w64-headers/include/windows.storage.h +++ b/mingw-w64-headers/include/windows.storage.h @@ -46,6 +46,34 @@ namespace ABI { #endif /* __cplusplus */ #endif +#ifndef ____x_ABI_CWindows_CStorage_CIStorageFileStatics_FWD_DEFINED__ +#define ____x_ABI_CWindows_CStorage_CIStorageFileStatics_FWD_DEFINED__ +typedef interface __x_ABI_CWindows_CStorage_CIStorageFileStatics __x_ABI_CWindows_CStorage_CIStorageFileStatics; +#ifdef __cplusplus +namespace ABI { + namespace Windows { + namespace Storage { + interface IStorageFileStatics; + } + } +} +#endif /* __cplusplus */ +#endif + +#ifndef ____x_ABI_CWindows_CStorage_CIStorageFile_FWD_DEFINED__ +#define ____x_ABI_CWindows_CStorage_CIStorageFile_FWD_DEFINED__ +typedef interface __x_ABI_CWindows_CStorage_CIStorageFile __x_ABI_CWindows_CStorage_CIStorageFile; +#ifdef __cplusplus +namespace ABI { + namespace Windows { + namespace Storage { + interface IStorageFile; + } + } +} +#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; @@ -340,6 +368,48 @@ namespace ABI { #endif /* __cplusplus */ #endif +#ifndef ____x_ABI_CWindows_CStorage_CIStorageFile_FWD_DEFINED__ +#define ____x_ABI_CWindows_CStorage_CIStorageFile_FWD_DEFINED__ +typedef interface __x_ABI_CWindows_CStorage_CIStorageFile __x_ABI_CWindows_CStorage_CIStorageFile; +#ifdef __cplusplus +namespace ABI { + namespace Windows { + namespace Storage { + interface IStorageFile; + } + } +} +#endif /* __cplusplus */ +#endif + +#ifndef ____x_ABI_CWindows_CStorage_CIStorageFileStatics_FWD_DEFINED__ +#define ____x_ABI_CWindows_CStorage_CIStorageFileStatics_FWD_DEFINED__ +typedef interface __x_ABI_CWindows_CStorage_CIStorageFileStatics __x_ABI_CWindows_CStorage_CIStorageFileStatics; +#ifdef __cplusplus +namespace ABI { + namespace Windows { + namespace Storage { + interface IStorageFileStatics; + } + } +} +#endif /* __cplusplus */ +#endif + +#ifndef ____x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler_FWD_DEFINED__ +#define ____x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler_FWD_DEFINED__ +typedef interface __x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler __x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler; +#ifdef __cplusplus +namespace ABI { + namespace Windows { + namespace Storage { + interface StreamedFileDataRequestedHandler; + } + } +} +#endif /* __cplusplus */ +#endif + typedef enum NameCollisionoption { NameCollisionoption_GenerateUniqueName = 0, NameCollisionoption_ReplaceExisting = 1, @@ -376,6 +446,10 @@ typedef enum CreationCollisionOption { CreationCollisionOption_FailIfExists = 2, CreationCollisionOption_OpenIfExists = 3 } CreationCollisionOption; +typedef enum FileAccessMode { + FileAccessMode_Read = 0, + FileAccessMode_ReadWrite = 1 +} FileAccessMode; /***************************************************************************** * IStorageItem interface */ @@ -775,6 +849,464 @@ static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIKnownFoldersStatics_get_M #endif /* ____x_ABI_CWindows_CStorage_CIKnownFoldersStatics_INTERFACE_DEFINED__ */ +/***************************************************************************** + * IStorageFileStatics interface + */ +#ifndef ____x_ABI_CWindows_CStorage_CIStorageFileStatics_INTERFACE_DEFINED__ +#define ____x_ABI_CWindows_CStorage_CIStorageFileStatics_INTERFACE_DEFINED__ + +DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CIStorageFileStatics, 0x5984c710, 0xdaf2, 0x43c8, 0x8b,0xb4, 0xa4,0xd3,0xea,0xcf,0xd0,0x3f); +#if defined(__cplusplus) && !defined(CINTERFACE) +} /* extern "C" */ +namespace ABI { + namespace Windows { + namespace Storage { + MIDL_INTERFACE("5984c710-daf2-43c8-8bb4-a4d3eacfd03f") + IStorageFileStatics : public IInspectable + { + virtual HRESULT STDMETHODCALLTYPE GetFileFromPathAsync( + HSTRING path, + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFileFromApplicationUriAsync( + IInspectable *uri, + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateStreamedFileAsync( + HSTRING displayNameWithExtension, + StreamedFileDataRequestedHandler *dataRequested, + IInspectable *thumbnail, + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReplaceWithStreamedFileAsync( + IStorageFile *fileToReplace, + StreamedFileDataRequestedHandler *dataRequested, + IInspectable *thumbnail, + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateStreamedFileFromUriAsync( + HSTRING displayNameWithExtension, + IInspectable *uri, + IInspectable *thumbnail, + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReplaceWithStreamedFileFromUriAsync( + IStorageFile *fileToReplace, + IInspectable *uri, + IInspectable *thumbnail, + IInspectable **operation) = 0; + + }; + } + } +} +extern "C" { +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ABI::Windows::Storage::IStorageFileStatics, 0x5984c710, 0xdaf2, 0x43c8, 0x8b,0xb4, 0xa4,0xd3,0xea,0xcf,0xd0,0x3f) +#endif +#else +typedef struct __x_ABI_CWindows_CStorage_CIStorageFileStaticsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + __x_ABI_CWindows_CStorage_CIStorageFileStatics *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + __x_ABI_CWindows_CStorage_CIStorageFileStatics *This); + + ULONG (STDMETHODCALLTYPE *Release)( + __x_ABI_CWindows_CStorage_CIStorageFileStatics *This); + + /*** IInspectable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIids)( + __x_ABI_CWindows_CStorage_CIStorageFileStatics *This, + ULONG *iidCount, + IID **iids); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( + __x_ABI_CWindows_CStorage_CIStorageFileStatics *This, + HSTRING *className); + + HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( + __x_ABI_CWindows_CStorage_CIStorageFileStatics *This, + TrustLevel *trustLevel); + + /*** IStorageFileStatics methods ***/ + HRESULT (STDMETHODCALLTYPE *GetFileFromPathAsync)( + __x_ABI_CWindows_CStorage_CIStorageFileStatics *This, + HSTRING path, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *GetFileFromApplicationUriAsync)( + __x_ABI_CWindows_CStorage_CIStorageFileStatics *This, + IInspectable *uri, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *CreateStreamedFileAsync)( + __x_ABI_CWindows_CStorage_CIStorageFileStatics *This, + HSTRING displayNameWithExtension, + __x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler *dataRequested, + IInspectable *thumbnail, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *ReplaceWithStreamedFileAsync)( + __x_ABI_CWindows_CStorage_CIStorageFileStatics *This, + __x_ABI_CWindows_CStorage_CIStorageFile *fileToReplace, + __x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler *dataRequested, + IInspectable *thumbnail, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *CreateStreamedFileFromUriAsync)( + __x_ABI_CWindows_CStorage_CIStorageFileStatics *This, + HSTRING displayNameWithExtension, + IInspectable *uri, + IInspectable *thumbnail, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *ReplaceWithStreamedFileFromUriAsync)( + __x_ABI_CWindows_CStorage_CIStorageFileStatics *This, + __x_ABI_CWindows_CStorage_CIStorageFile *fileToReplace, + IInspectable *uri, + IInspectable *thumbnail, + IInspectable **operation); + + END_INTERFACE +} __x_ABI_CWindows_CStorage_CIStorageFileStaticsVtbl; + +interface __x_ABI_CWindows_CStorage_CIStorageFileStatics { + CONST_VTBL __x_ABI_CWindows_CStorage_CIStorageFileStaticsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define __x_ABI_CWindows_CStorage_CIStorageFileStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define __x_ABI_CWindows_CStorage_CIStorageFileStatics_AddRef(This) (This)->lpVtbl->AddRef(This) +#define __x_ABI_CWindows_CStorage_CIStorageFileStatics_Release(This) (This)->lpVtbl->Release(This) +/*** IInspectable methods ***/ +#define __x_ABI_CWindows_CStorage_CIStorageFileStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) +#define __x_ABI_CWindows_CStorage_CIStorageFileStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) +#define __x_ABI_CWindows_CStorage_CIStorageFileStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) +/*** IStorageFileStatics methods ***/ +#define __x_ABI_CWindows_CStorage_CIStorageFileStatics_GetFileFromPathAsync(This,path,operation) (This)->lpVtbl->GetFileFromPathAsync(This,path,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFileStatics_GetFileFromApplicationUriAsync(This,uri,operation) (This)->lpVtbl->GetFileFromApplicationUriAsync(This,uri,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFileStatics_CreateStreamedFileAsync(This,displayNameWithExtension,dataRequested,thumbnail,operation) (This)->lpVtbl->CreateStreamedFileAsync(This,displayNameWithExtension,dataRequested,thumbnail,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFileStatics_ReplaceWithStreamedFileAsync(This,fileToReplace,dataRequested,thumbnail,operation) (This)->lpVtbl->ReplaceWithStreamedFileAsync(This,fileToReplace,dataRequested,thumbnail,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFileStatics_CreateStreamedFileFromUriAsync(This,displayNameWithExtension,uri,thumbnail,operation) (This)->lpVtbl->CreateStreamedFileFromUriAsync(This,displayNameWithExtension,uri,thumbnail,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFileStatics_ReplaceWithStreamedFileFromUriAsync(This,fileToReplace,uri,thumbnail,operation) (This)->lpVtbl->ReplaceWithStreamedFileFromUriAsync(This,fileToReplace,uri,thumbnail,operation) +#else +/*** IUnknown methods ***/ +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFileStatics_QueryInterface(__x_ABI_CWindows_CStorage_CIStorageFileStatics* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIStorageFileStatics_AddRef(__x_ABI_CWindows_CStorage_CIStorageFileStatics* This) { + return This->lpVtbl->AddRef(This); +} +static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIStorageFileStatics_Release(__x_ABI_CWindows_CStorage_CIStorageFileStatics* This) { + return This->lpVtbl->Release(This); +} +/*** IInspectable methods ***/ +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFileStatics_GetIids(__x_ABI_CWindows_CStorage_CIStorageFileStatics* This,ULONG *iidCount,IID **iids) { + return This->lpVtbl->GetIids(This,iidCount,iids); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFileStatics_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CIStorageFileStatics* This,HSTRING *className) { + return This->lpVtbl->GetRuntimeClassName(This,className); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFileStatics_GetTrustLevel(__x_ABI_CWindows_CStorage_CIStorageFileStatics* This,TrustLevel *trustLevel) { + return This->lpVtbl->GetTrustLevel(This,trustLevel); +} +/*** IStorageFileStatics methods ***/ +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFileStatics_GetFileFromPathAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics* This,HSTRING path,IInspectable **operation) { + return This->lpVtbl->GetFileFromPathAsync(This,path,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFileStatics_GetFileFromApplicationUriAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics* This,IInspectable *uri,IInspectable **operation) { + return This->lpVtbl->GetFileFromApplicationUriAsync(This,uri,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFileStatics_CreateStreamedFileAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics* This,HSTRING displayNameWithExtension,__x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler *dataRequested,IInspectable *thumbnail,IInspectable **operation) { + return This->lpVtbl->CreateStreamedFileAsync(This,displayNameWithExtension,dataRequested,thumbnail,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFileStatics_ReplaceWithStreamedFileAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics* This,__x_ABI_CWindows_CStorage_CIStorageFile *fileToReplace,__x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler *dataRequested,IInspectable *thumbnail,IInspectable **operation) { + return This->lpVtbl->ReplaceWithStreamedFileAsync(This,fileToReplace,dataRequested,thumbnail,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFileStatics_CreateStreamedFileFromUriAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics* This,HSTRING displayNameWithExtension,IInspectable *uri,IInspectable *thumbnail,IInspectable **operation) { + return This->lpVtbl->CreateStreamedFileFromUriAsync(This,displayNameWithExtension,uri,thumbnail,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFileStatics_ReplaceWithStreamedFileFromUriAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics* This,__x_ABI_CWindows_CStorage_CIStorageFile *fileToReplace,IInspectable *uri,IInspectable *thumbnail,IInspectable **operation) { + return This->lpVtbl->ReplaceWithStreamedFileFromUriAsync(This,fileToReplace,uri,thumbnail,operation); +} +#endif +#endif + +#endif + +#endif /* ____x_ABI_CWindows_CStorage_CIStorageFileStatics_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IStorageFile interface + */ +#ifndef ____x_ABI_CWindows_CStorage_CIStorageFile_INTERFACE_DEFINED__ +#define ____x_ABI_CWindows_CStorage_CIStorageFile_INTERFACE_DEFINED__ + +DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CIStorageFile, 0xfa3f6186, 0x4214, 0x428c, 0xa6,0x4c, 0x14,0xc9,0xac,0x73,0x15,0xea); +#if defined(__cplusplus) && !defined(CINTERFACE) +} /* extern "C" */ +namespace ABI { + namespace Windows { + namespace Storage { + MIDL_INTERFACE("fa3f6186-4214-428c-a64c-14c9ac7315ea") + IStorageFile : public IInspectable + { + virtual HRESULT STDMETHODCALLTYPE get_FileType( + HSTRING *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ContentType( + HSTRING *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenAsync( + FileAccessMode accessMode, + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenTransactedWriteAsync( + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyOverloadDefaultNameAndOptions( + IStorageFolder *destinationFolder, + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyOverloadDefaultOptions( + IStorageFolder *destinationFolder, + HSTRING desiredNewName, + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyOverload( + IStorageFolder *destinationFolder, + HSTRING desiredNewName, + NameCollisionOption option, + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyAndReplaceAsync( + IStorageFile *fileToReplace, + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE MoveOverloadDefaultNameAndOptions( + IStorageFolder *destinationFolder, + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE MoveOverloadDefaultOptions( + IStorageFolder *destinationFolder, + HSTRING desiredNewName, + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE MoveOverload( + IStorageFolder *destinationFolder, + HSTRING desiredNewName, + NameCollisionOption option, + IInspectable **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE MoveAndReplaceAsync( + IStorageFile *fileToReplace, + IInspectable **operation) = 0; + + }; + } + } +} +extern "C" { +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ABI::Windows::Storage::IStorageFile, 0xfa3f6186, 0x4214, 0x428c, 0xa6,0x4c, 0x14,0xc9,0xac,0x73,0x15,0xea) +#endif +#else +typedef struct __x_ABI_CWindows_CStorage_CIStorageFileVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + __x_ABI_CWindows_CStorage_CIStorageFile *This); + + ULONG (STDMETHODCALLTYPE *Release)( + __x_ABI_CWindows_CStorage_CIStorageFile *This); + + /*** IInspectable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIids)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + ULONG *iidCount, + IID **iids); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + HSTRING *className); + + HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + TrustLevel *trustLevel); + + /*** IStorageFile methods ***/ + HRESULT (STDMETHODCALLTYPE *get_FileType)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + HSTRING *value); + + HRESULT (STDMETHODCALLTYPE *get_ContentType)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + HSTRING *value); + + HRESULT (STDMETHODCALLTYPE *OpenAsync)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + FileAccessMode accessMode, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *OpenTransactedWriteAsync)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *CopyOverloadDefaultNameAndOptions)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + __x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *CopyOverloadDefaultOptions)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + __x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder, + HSTRING desiredNewName, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *CopyOverload)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + __x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder, + HSTRING desiredNewName, + NameCollisionOption option, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *CopyAndReplaceAsync)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + __x_ABI_CWindows_CStorage_CIStorageFile *fileToReplace, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *MoveOverloadDefaultNameAndOptions)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + __x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *MoveOverloadDefaultOptions)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + __x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder, + HSTRING desiredNewName, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *MoveOverload)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + __x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder, + HSTRING desiredNewName, + NameCollisionOption option, + IInspectable **operation); + + HRESULT (STDMETHODCALLTYPE *MoveAndReplaceAsync)( + __x_ABI_CWindows_CStorage_CIStorageFile *This, + __x_ABI_CWindows_CStorage_CIStorageFile *fileToReplace, + IInspectable **operation); + + END_INTERFACE +} __x_ABI_CWindows_CStorage_CIStorageFileVtbl; + +interface __x_ABI_CWindows_CStorage_CIStorageFile { + CONST_VTBL __x_ABI_CWindows_CStorage_CIStorageFileVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define __x_ABI_CWindows_CStorage_CIStorageFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define __x_ABI_CWindows_CStorage_CIStorageFile_AddRef(This) (This)->lpVtbl->AddRef(This) +#define __x_ABI_CWindows_CStorage_CIStorageFile_Release(This) (This)->lpVtbl->Release(This) +/*** IInspectable methods ***/ +#define __x_ABI_CWindows_CStorage_CIStorageFile_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) +#define __x_ABI_CWindows_CStorage_CIStorageFile_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) +#define __x_ABI_CWindows_CStorage_CIStorageFile_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) +/*** IStorageFile methods ***/ +#define __x_ABI_CWindows_CStorage_CIStorageFile_get_FileType(This,value) (This)->lpVtbl->get_FileType(This,value) +#define __x_ABI_CWindows_CStorage_CIStorageFile_get_ContentType(This,value) (This)->lpVtbl->get_ContentType(This,value) +#define __x_ABI_CWindows_CStorage_CIStorageFile_OpenAsync(This,accessMode,operation) (This)->lpVtbl->OpenAsync(This,accessMode,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFile_OpenTransactedWriteAsync(This,operation) (This)->lpVtbl->OpenTransactedWriteAsync(This,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFile_CopyOverloadDefaultNameAndOptions(This,destinationFolder,operation) (This)->lpVtbl->CopyOverloadDefaultNameAndOptions(This,destinationFolder,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFile_CopyOverloadDefaultOptions(This,destinationFolder,desiredNewName,operation) (This)->lpVtbl->CopyOverloadDefaultOptions(This,destinationFolder,desiredNewName,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFile_CopyOverload(This,destinationFolder,desiredNewName,option,operation) (This)->lpVtbl->CopyOverload(This,destinationFolder,desiredNewName,option,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFile_CopyAndReplaceAsync(This,fileToReplace,operation) (This)->lpVtbl->CopyAndReplaceAsync(This,fileToReplace,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFile_MoveOverloadDefaultNameAndOptions(This,destinationFolder,operation) (This)->lpVtbl->MoveOverloadDefaultNameAndOptions(This,destinationFolder,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFile_MoveOverloadDefaultOptions(This,destinationFolder,desiredNewName,operation) (This)->lpVtbl->MoveOverloadDefaultOptions(This,destinationFolder,desiredNewName,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFile_MoveOverload(This,destinationFolder,desiredNewName,option,operation) (This)->lpVtbl->MoveOverload(This,destinationFolder,desiredNewName,option,operation) +#define __x_ABI_CWindows_CStorage_CIStorageFile_MoveAndReplaceAsync(This,fileToReplace,operation) (This)->lpVtbl->MoveAndReplaceAsync(This,fileToReplace,operation) +#else +/*** IUnknown methods ***/ +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_QueryInterface(__x_ABI_CWindows_CStorage_CIStorageFile* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIStorageFile_AddRef(__x_ABI_CWindows_CStorage_CIStorageFile* This) { + return This->lpVtbl->AddRef(This); +} +static FORCEINLINE ULONG __x_ABI_CWindows_CStorage_CIStorageFile_Release(__x_ABI_CWindows_CStorage_CIStorageFile* This) { + return This->lpVtbl->Release(This); +} +/*** IInspectable methods ***/ +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_GetIids(__x_ABI_CWindows_CStorage_CIStorageFile* This,ULONG *iidCount,IID **iids) { + return This->lpVtbl->GetIids(This,iidCount,iids); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CIStorageFile* This,HSTRING *className) { + return This->lpVtbl->GetRuntimeClassName(This,className); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_GetTrustLevel(__x_ABI_CWindows_CStorage_CIStorageFile* This,TrustLevel *trustLevel) { + return This->lpVtbl->GetTrustLevel(This,trustLevel); +} +/*** IStorageFile methods ***/ +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_get_FileType(__x_ABI_CWindows_CStorage_CIStorageFile* This,HSTRING *value) { + return This->lpVtbl->get_FileType(This,value); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_get_ContentType(__x_ABI_CWindows_CStorage_CIStorageFile* This,HSTRING *value) { + return This->lpVtbl->get_ContentType(This,value); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_OpenAsync(__x_ABI_CWindows_CStorage_CIStorageFile* This,FileAccessMode accessMode,IInspectable **operation) { + return This->lpVtbl->OpenAsync(This,accessMode,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_OpenTransactedWriteAsync(__x_ABI_CWindows_CStorage_CIStorageFile* This,IInspectable **operation) { + return This->lpVtbl->OpenTransactedWriteAsync(This,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_CopyOverloadDefaultNameAndOptions(__x_ABI_CWindows_CStorage_CIStorageFile* This,__x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,IInspectable **operation) { + return This->lpVtbl->CopyOverloadDefaultNameAndOptions(This,destinationFolder,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_CopyOverloadDefaultOptions(__x_ABI_CWindows_CStorage_CIStorageFile* This,__x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,HSTRING desiredNewName,IInspectable **operation) { + return This->lpVtbl->CopyOverloadDefaultOptions(This,destinationFolder,desiredNewName,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_CopyOverload(__x_ABI_CWindows_CStorage_CIStorageFile* This,__x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,HSTRING desiredNewName,NameCollisionOption option,IInspectable **operation) { + return This->lpVtbl->CopyOverload(This,destinationFolder,desiredNewName,option,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_CopyAndReplaceAsync(__x_ABI_CWindows_CStorage_CIStorageFile* This,__x_ABI_CWindows_CStorage_CIStorageFile *fileToReplace,IInspectable **operation) { + return This->lpVtbl->CopyAndReplaceAsync(This,fileToReplace,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_MoveOverloadDefaultNameAndOptions(__x_ABI_CWindows_CStorage_CIStorageFile* This,__x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,IInspectable **operation) { + return This->lpVtbl->MoveOverloadDefaultNameAndOptions(This,destinationFolder,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_MoveOverloadDefaultOptions(__x_ABI_CWindows_CStorage_CIStorageFile* This,__x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,HSTRING desiredNewName,IInspectable **operation) { + return This->lpVtbl->MoveOverloadDefaultOptions(This,destinationFolder,desiredNewName,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_MoveOverload(__x_ABI_CWindows_CStorage_CIStorageFile* This,__x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,HSTRING desiredNewName,NameCollisionOption option,IInspectable **operation) { + return This->lpVtbl->MoveOverload(This,destinationFolder,desiredNewName,option,operation); +} +static FORCEINLINE HRESULT __x_ABI_CWindows_CStorage_CIStorageFile_MoveAndReplaceAsync(__x_ABI_CWindows_CStorage_CIStorageFile* This,__x_ABI_CWindows_CStorage_CIStorageFile *fileToReplace,IInspectable **operation) { + return This->lpVtbl->MoveAndReplaceAsync(This,fileToReplace,operation); +} +#endif +#endif + +#endif + +#endif /* ____x_ABI_CWindows_CStorage_CIStorageFile_INTERFACE_DEFINED__ */ + /***************************************************************************** * IStorageFolder interface */ diff --git a/mingw-w64-headers/include/windows.storage.idl b/mingw-w64-headers/include/windows.storage.idl index 281c69b5..15e74084 100644 --- a/mingw-w64-headers/include/windows.storage.idl +++ b/mingw-w64-headers/include/windows.storage.idl @@ -33,6 +33,9 @@ namespace Windows { // delegate ApplicationDataSetVersionHandler; interface ISetVersionRequest; interface ISetVersionDeferral; + interface IStorageFile; + interface IStorageFileStatics; + interface StreamedFileDataRequestedHandler; // delegate } } @@ -81,6 +84,11 @@ namespace Windows { OpenIfExists } CreationCollisionOption; + typedef enum FileAccessMode { + Read, + ReadWrite + } FileAccessMode; + [uuid(4207A996-CA2F-42F7-BDE8-8B10457A7F30)] interface IStorageItem : IInspectable { @@ -108,6 +116,35 @@ namespace Windows { [propget] HRESULT MediaServerDevices(IStorageFolder** value); } + [uuid(5984C710-DAF2-43C8-8BB4-A4D3EACFD03F)] + interface IStorageFileStatics : IInspectable + { + HRESULT GetFileFromPathAsync(HSTRING path, /* IAsyncOperation<StorageFile> ** */ IInspectable** operation); + HRESULT GetFileFromApplicationUriAsync(/* Uri* */ IInspectable* uri, /* IAsyncOperation<StorageFile> ** */ IInspectable** operation); + HRESULT CreateStreamedFileAsync(HSTRING displayNameWithExtension, StreamedFileDataRequestedHandler* dataRequested, /*IRandomAccessStreamReference* */ IInspectable* thumbnail, /* IAsyncOperation<StorageFile> ** */ IInspectable** operation); + HRESULT ReplaceWithStreamedFileAsync(IStorageFile* fileToReplace, StreamedFileDataRequestedHandler* dataRequested, /*IRandomAccessStreamReference* */ IInspectable* thumbnail, /* IAsyncOperation<StorageFile> ** */ IInspectable** operation); + HRESULT CreateStreamedFileFromUriAsync(HSTRING displayNameWithExtension, /* Uri* */ IInspectable* uri, /*IRandomAccessStreamReference* */ IInspectable* thumbnail, /* IAsyncOperation<StorageFile> ** */ IInspectable** operation); + HRESULT ReplaceWithStreamedFileFromUriAsync(IStorageFile* fileToReplace, /* Uri* */ IInspectable* uri, /*IRandomAccessStreamReference* */ IInspectable* thumbnail, /* IAsyncOperation<StorageFile> ** */ IInspectable** operation); + } + + [uuid(FA3F6186-4214-428C-A64C-14C9AC7315EA)] + interface IStorageFile : IInspectable + // also IStorageItem, IInputStreamReference, IRandomAccessStreamReference + { + [propget] HRESULT FileType(HSTRING *value); + [propget] HRESULT ContentType(HSTRING *value); + HRESULT OpenAsync(FileAccessMode accessMode, /*IAsyncOperation<IRandomAccessStream*>*/IInspectable** operation); + HRESULT OpenTransactedWriteAsync(/*IAsyncOperation<StorageStreamTransaction*>*/IInspectable** operation); + HRESULT CopyOverloadDefaultNameAndOptions(IStorageFolder *destinationFolder, /* IAsyncOperation<StorageFile> ** */ IInspectable** operation); + HRESULT CopyOverloadDefaultOptions(IStorageFolder *destinationFolder, HSTRING desiredNewName, /* IAsyncOperation<StorageFile> ** */ IInspectable** operation); + HRESULT CopyOverload(IStorageFolder *destinationFolder, HSTRING desiredNewName, NameCollisionOption option, /* IAsyncOperation<StorageFile> ** */ IInspectable** operation); + HRESULT CopyAndReplaceAsync(IStorageFile *fileToReplace, /* IAsyncAction** */ IInspectable** operation); + HRESULT MoveOverloadDefaultNameAndOptions(IStorageFolder *destinationFolder, /* IAsyncAction** */ IInspectable** operation); + HRESULT MoveOverloadDefaultOptions(IStorageFolder *destinationFolder, HSTRING desiredNewName, /* IAsyncAction** */ IInspectable** operation); + HRESULT MoveOverload(IStorageFolder *destinationFolder, HSTRING desiredNewName, NameCollisionOption option, /* IAsyncAction** */ IInspectable** operation); + HRESULT MoveAndReplaceAsync(IStorageFile *fileToReplace, /* IAsyncAction** */ IInspectable** operation); + } + [uuid(72D1CB78-B3EF-4F75-A80B-6FD9DAE2944B)] interface IStorageFolder : IInspectable { -- 2.29.2 _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
