glib/gio/gwin32api-storage.h

348 lines
12 KiB
C
Raw Normal View History

/*
* 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__ */