/* * SPDX-FileCopyrightText: This file has no copyright assigned and is placed in the Public Domain. * SPDX-License-Identifier: CC0-1.0 * * This file is part of the w64 mingw-runtime package. * No warranty is given; refer to https://github.com/kinke/mingw-w64-crt/blob/master/DISCLAIMER.PD. */ struct DateTime; typedef struct DateTime { UINT64 UniversalTime; } DateTime; /* The following is copied verbatim from MinGW-w64 windows.storage.h */ enum StorageItemTypes; enum FileAttributes; enum NameCollisionOption; enum StorageDeleteOption; typedef enum NameCollisionoption { NameCollisionoption_GenerateUniqueName = 0, NameCollisionoption_ReplaceExisting = 1, NameCollisionoption_FailIfExists = 2 } NameCollisionOption; typedef enum FileAttributes { FileAttributes_Normal = 0, FileAttributes_ReadOnly = 1, FileAttributes_Directory = 2, FileAttributes_Archive = 3, FileAttributes_Temporary = 4 } FileAttributes; typedef enum StorageItemTypes { StorageItemTypes_None = 0, StorageItemTypes_File = 1, StorageItemTypes_Folder = 2 } StorageItemTypes; typedef enum StorageDeleteOption { StorageDeleteOption_Default = 0, StorageDeleteOption_PermanentDelete = 1 } StorageDeleteOption; #ifndef __IStorageItem_FWD_DEFINED__ #define __IStorageItem_FWD_DEFINED__ typedef interface IStorageItem IStorageItem; #endif /* * IStorageItem interface */ #ifndef __IStorageItem_INTERFACE_DEFINED__ #define __IStorageItem_INTERFACE_DEFINED__ DEFINE_GUID(IID_IStorageItem, 0x4207a996, 0xca2f, 0x42f7, 0xbd,0xe8, 0x8b,0x10,0x45,0x7a,0x7f,0x30); #if defined(__cplusplus) && !defined(CINTERFACE) 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, NameCollisionOption option, IInspectable **action) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteAsyncOverloadDefaultOptions( IInspectable **action) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteAsync( 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( FileAttributes *value) = 0; virtual HRESULT STDMETHODCALLTYPE get_DateCreated( DateTime *value) = 0; virtual HRESULT STDMETHODCALLTYPE IsOfType( StorageItemTypes itemType, boolean *value) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IStorageItem, 0x4207a996, 0xca2f, 0x42f7, 0xbd,0xe8, 0x8b,0x10,0x45,0x7a,0x7f,0x30) #endif #else typedef struct IStorageItemVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IStorageItem* This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IStorageItem* This); ULONG (STDMETHODCALLTYPE *Release)( IStorageItem* This); /*** IInspectable methods ***/ HRESULT (STDMETHODCALLTYPE *GetIids)( IStorageItem* This, ULONG *iidCount, IID **iids); HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( IStorageItem* This, HSTRING *className); HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( IStorageItem* This, TrustLevel *trustLevel); /*** IStorageItem methods ***/ HRESULT (STDMETHODCALLTYPE *RenameAsyncOverloadDefaultOptions)( IStorageItem* This, HSTRING desiredName, IInspectable **action); HRESULT (STDMETHODCALLTYPE *RenameAsync)( IStorageItem* This, HSTRING desiredName, NameCollisionOption option, IInspectable **action); HRESULT (STDMETHODCALLTYPE *DeleteAsyncOverloadDefaultOptions)( IStorageItem* This, IInspectable **action); HRESULT (STDMETHODCALLTYPE *DeleteAsync)( IStorageItem* This, StorageDeleteOption option, IInspectable **action); HRESULT (STDMETHODCALLTYPE *GetBasicPropertiesAsync)( IStorageItem* This, IInspectable **action); HRESULT (STDMETHODCALLTYPE *get_Name)( IStorageItem* This, HSTRING *value); HRESULT (STDMETHODCALLTYPE *get_Path)( IStorageItem* This, HSTRING *value); HRESULT (STDMETHODCALLTYPE *get_Attributes)( IStorageItem* This, FileAttributes *value); HRESULT (STDMETHODCALLTYPE *get_DateCreated)( IStorageItem* This, DateTime *value); HRESULT (STDMETHODCALLTYPE *IsOfType)( IStorageItem* This, StorageItemTypes itemType, boolean *value); END_INTERFACE } IStorageItemVtbl; interface IStorageItem { CONST_VTBL IStorageItemVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IStorageItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IStorageItem_AddRef(This) (This)->lpVtbl->AddRef(This) #define IStorageItem_Release(This) (This)->lpVtbl->Release(This) /*** IInspectable methods ***/ #define IStorageItem_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) #define IStorageItem_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) #define IStorageItem_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) /*** IStorageItem methods ***/ #define IStorageItem_RenameAsyncOverloadDefaultOptions(This,desiredName,action) (This)->lpVtbl->RenameAsyncOverloadDefaultOptions(This,desiredName,action) #define IStorageItem_RenameAsync(This,desiredName,option,action) (This)->lpVtbl->RenameAsync(This,desiredName,option,action) #define IStorageItem_DeleteAsyncOverloadDefaultOptions(This,action) (This)->lpVtbl->DeleteAsyncOverloadDefaultOptions(This,action) #define IStorageItem_DeleteAsync(This,option,action) (This)->lpVtbl->DeleteAsync(This,option,action) #define IStorageItem_GetBasicPropertiesAsync(This,action) (This)->lpVtbl->GetBasicPropertiesAsync(This,action) #define IStorageItem_get_Name(This,value) (This)->lpVtbl->get_Name(This,value) #define IStorageItem_get_Path(This,value) (This)->lpVtbl->get_Path(This,value) #define IStorageItem_get_Attributes(This,value) (This)->lpVtbl->get_Attributes(This,value) #define IStorageItem_get_DateCreated(This,value) (This)->lpVtbl->get_DateCreated(This,value) #define IStorageItem_IsOfType(This,itemType,value) (This)->lpVtbl->IsOfType(This,itemType,value) #else /*** IUnknown methods ***/ static FORCEINLINE HRESULT IStorageItem_QueryInterface(IStorageItem* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IStorageItem_AddRef(IStorageItem* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IStorageItem_Release(IStorageItem* This) { return This->lpVtbl->Release(This); } /*** IInspectable methods ***/ static FORCEINLINE HRESULT IStorageItem_GetIids(IStorageItem* This,ULONG *iidCount,IID **iids) { return This->lpVtbl->GetIids(This,iidCount,iids); } static FORCEINLINE HRESULT IStorageItem_GetRuntimeClassName(IStorageItem* This,HSTRING *className) { return This->lpVtbl->GetRuntimeClassName(This,className); } static FORCEINLINE HRESULT IStorageItem_GetTrustLevel(IStorageItem* This,TrustLevel *trustLevel) { return This->lpVtbl->GetTrustLevel(This,trustLevel); } /*** IStorageItem methods ***/ static FORCEINLINE HRESULT IStorageItem_RenameAsyncOverloadDefaultOptions(IStorageItem* This,HSTRING desiredName,IInspectable **action) { return This->lpVtbl->RenameAsyncOverloadDefaultOptions(This,desiredName,action); } static FORCEINLINE HRESULT IStorageItem_RenameAsync(IStorageItem* This,HSTRING desiredName,NameCollisionOption option,IInspectable **action) { return This->lpVtbl->RenameAsync(This,desiredName,option,action); } static FORCEINLINE HRESULT IStorageItem_DeleteAsyncOverloadDefaultOptions(IStorageItem* This,IInspectable **action) { return This->lpVtbl->DeleteAsyncOverloadDefaultOptions(This,action); } static FORCEINLINE HRESULT IStorageItem_DeleteAsync(IStorageItem* This,StorageDeleteOption option,IInspectable **action) { return This->lpVtbl->DeleteAsync(This,option,action); } static FORCEINLINE HRESULT IStorageItem_GetBasicPropertiesAsync(IStorageItem* This,IInspectable **action) { return This->lpVtbl->GetBasicPropertiesAsync(This,action); } static FORCEINLINE HRESULT IStorageItem_get_Name(IStorageItem* This,HSTRING *value) { return This->lpVtbl->get_Name(This,value); } static FORCEINLINE HRESULT IStorageItem_get_Path(IStorageItem* This,HSTRING *value) { return This->lpVtbl->get_Path(This,value); } static FORCEINLINE HRESULT IStorageItem_get_Attributes(IStorageItem* This,FileAttributes *value) { return This->lpVtbl->get_Attributes(This,value); } static FORCEINLINE HRESULT IStorageItem_get_DateCreated(IStorageItem* This,DateTime *value) { return This->lpVtbl->get_DateCreated(This,value); } static FORCEINLINE HRESULT IStorageItem_IsOfType(IStorageItem* This,StorageItemTypes itemType,boolean *value) { return This->lpVtbl->IsOfType(This,itemType,value); } #endif #endif #endif HRESULT STDMETHODCALLTYPE IStorageItem_RenameAsyncOverloadDefaultOptions_Proxy( IStorageItem* This, HSTRING desiredName, IInspectable **action); void __RPC_STUB IStorageItem_RenameAsyncOverloadDefaultOptions_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IStorageItem_RenameAsync_Proxy( IStorageItem* This, HSTRING desiredName, NameCollisionOption option, IInspectable **action); void __RPC_STUB IStorageItem_RenameAsync_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IStorageItem_DeleteAsyncOverloadDefaultOptions_Proxy( IStorageItem* This, IInspectable **action); void __RPC_STUB IStorageItem_DeleteAsyncOverloadDefaultOptions_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IStorageItem_DeleteAsync_Proxy( IStorageItem* This, StorageDeleteOption option, IInspectable **action); void __RPC_STUB IStorageItem_DeleteAsync_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IStorageItem_GetBasicPropertiesAsync_Proxy( IStorageItem* This, IInspectable **action); void __RPC_STUB IStorageItem_GetBasicPropertiesAsync_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IStorageItem_get_Name_Proxy( IStorageItem* This, HSTRING *value); void __RPC_STUB IStorageItem_get_Name_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IStorageItem_get_Path_Proxy( IStorageItem* This, HSTRING *value); void __RPC_STUB IStorageItem_get_Path_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IStorageItem_get_Attributes_Proxy( IStorageItem* This, FileAttributes *value); void __RPC_STUB IStorageItem_get_Attributes_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IStorageItem_get_DateCreated_Proxy( IStorageItem* This, DateTime *value); void __RPC_STUB IStorageItem_get_DateCreated_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IStorageItem_IsOfType_Proxy( IStorageItem* This, StorageItemTypes itemType, boolean *value); void __RPC_STUB IStorageItem_IsOfType_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IStorageItem_INTERFACE_DEFINED__ */