source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/windows.storage.idl

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 7.5 KB
RevLine 
[1166]1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifdef __WIDL__
8#pragma winrt ns_prefix
9#endif
10
11import "inspectable.idl";
12import "eventtoken.idl";
13import "windows.foundation.idl";
14
15namespace Windows {
16 namespace Foundation {
17 interface IAsyncAction;
18 //struct EventRegistrationToken;
19
20 namespace Collections {
21 interface IPropertySet;
22 interface IMapView;
23 }
24 }
25 namespace Storage {
26 interface IStorageItem;
27 interface IStorageFolder;
28 interface IApplicationData;
29 interface IApplicationDataStatics;
30 interface IApplicationDataSetVersionHandler;
31 interface ApplicationDataContainer;
32 // delegate ApplicationDataSetVersionHandler;
33 interface ISetVersionRequest;
34 interface ISetVersionDeferral;
35 typedef enum StorageDeleteOption StorageDeleteOption;
36 typedef enum NameCollisionOption NameCollisionOption;
37 typedef enum StorageItemTypes StorageItemTypes;
38 typedef enum ApplicationDataLocality ApplicationDataLocality;
39 typedef enum ApplicationDataCreateDisposition ApplicationDataCreateDisposition;
40 typedef enum FileAttributes FileAttributes;
41 typedef enum CreationCollisionOption CreationCollisionOption;
42 }
43}
44
45namespace Windows {
46 namespace Storage {
47 enum NameCollisionOption {
48 GenerateUniqueName,
49 ReplaceExisting,
50 FailIfExists
51 };
52
53 enum StorageDeleteOption {
54 Default,
55 PermanentDelete
56 };
57
58 enum StorageItemTypes {
59 None,
60 File,
61 Folder
62 };
63
64 enum ApplicationDataCreateDisposition {
65 Always,
66 Existing
67 };
68
69 enum ApplicationDataLocality {
70 Local,
71 Roaming,
72 Temporary
73 };
74
75 enum FileAttributes {
76 Normal,
77 ReadOnly,
78 Directory,
79 Archive,
80 Temporary
81 };
82
83 enum CreationCollisionOption {
84 GenerateUniqueName,
85 ReplaceExisting,
86 FailIfExists,
87 OpenIfExists
88 };
89
90 [uuid(4207A996-CA2F-42F7-BDE8-8B10457A7F30)]
91 interface IStorageItem : IInspectable
92 {
93 HRESULT RenameAsyncOverloadDefaultOptions(HSTRING desiredName, /*IAsyncAction*/ IInspectable** action);
94 HRESULT RenameAsync(HSTRING desiredName, NameCollisionOption option, /*IAsyncAction*/ IInspectable** action);
95 HRESULT DeleteAsyncOverloadDefaultOptions(/*IAsyncAction*/ IInspectable** action);
96 HRESULT DeleteAsync(StorageDeleteOption option, /*IAsyncAction*/ IInspectable** action);
97 HRESULT GetBasicPropertiesAsync(/*IAsyncOperation<Windows.Storage.FileProperties.BasicProperties*>*/ IInspectable** action);
98 [propget] HRESULT Name(HSTRING *value);
99 [propget] HRESULT Path(HSTRING *value);
100 [propget] HRESULT Attributes(FileAttributes* value);
101 [propget] HRESULT DateCreated(Windows.Foundation.DateTime* value);
102 HRESULT IsOfType(StorageItemTypes itemType, boolean* value);
103 }
104
105 [uuid(5A2A7520-4802-452D-9AD9-4351ADA7EC35)]
106 interface IKnownFoldersStatics : IInspectable
107 {
108 [propget] HRESULT MusicLibrary(IStorageFolder** value);
109 [propget] HRESULT PicturesLibrary(IStorageFolder** value);
110 [propget] HRESULT VideosLibrary(IStorageFolder** value);
111 [propget] HRESULT DocumentsLibrary(IStorageFolder** value);
112 [propget] HRESULT HomeGroup(IStorageFolder** value);
113 [propget] HRESULT RemovableDevices(IStorageFolder** value);
114 [propget] HRESULT MediaServerDevices(IStorageFolder** value);
115 }
116
117 [uuid(72D1CB78-B3EF-4F75-A80B-6FD9DAE2944B)]
118 interface IStorageFolder : IInspectable
119 {
120 HRESULT CreateFileAsyncOverloadDefaultOptions(HSTRING desiredName, /*IAsyncOperation<IStorageFile*>*/IInspectable** operation);
121 HRESULT CreateFileAsync(HSTRING desiredName, CreationCollisionOption options, /*IAsyncOperation<IStorageFile*>*/IInspectable** operation);
122 HRESULT CreateFolderAsyncOverloadDefaultOptions(HSTRING desiredName, /*IAsyncOperation<IStorageFolder*>*/IInspectable** operation);
123 HRESULT CreateFolderAsync(HSTRING desiredName, CreationCollisionOption options, /*IAsyncOperation<StorageFolder*>*/IInspectable** operation);
124 HRESULT GetFileAsync(HSTRING name, /*IAsyncOperation<StorageFile*>*/IInspectable** operation);
125 HRESULT GetFolderAsync(HSTRING name, /*IAsyncOperation<StorageFolder*>*/IInspectable** operation);
126 HRESULT GetItemAsync(HSTRING name, /*IAsyncOperation<StorageItem*>*/IInspectable** operation);
127 HRESULT GetFilesAsyncOverloadDefaultOptionsStartAndCount(/*IAsyncOperation<IVectorView<StorageFile*>*>*/IInspectable** operation);
128 HRESULT GetFoldersAsyncOverloadDefaultOptionsStartAndCount(/*IAsyncOperation<IVectorView<StorageFolder*>*>*/IInspectable** operation);
129 HRESULT GetItemsAsyncOverloadDefaultStartAndCount(/*IAsyncOperation<IVectorView<StorageItem*>*>*/IInspectable** operation);
130 }
131
132 [uuid(C5AEFD1E-F467-40BA-8566-AB640A441E1D)]
133 interface IApplicationDataContainer : IInspectable {
134 [propget] HRESULT Name(HSTRING* value);
135 [propget] HRESULT Locality(ApplicationDataLocality* value);
136 [propget] HRESULT Values(/*IPropertySet*/IInspectable** value);
137 [propget] HRESULT Containers(/*IMapView<HSTRING, ApplicationDataContainer*>*/IInspectable** value);
138 HRESULT CreateContainer(HSTRING name, ApplicationDataCreateDisposition disposition, IApplicationDataContainer** container);
139 HRESULT DeleteContainer([in] HSTRING name);
140 }
141
142 [uuid(C3DA6FB7-B744-4B45-B0B8-223A0938D0DC)]
143 interface IApplicationData : IInspectable {
144 [propget] HRESULT Version(int* value);
145 HRESULT SetVersionAsync(int desiredVersion, IApplicationDataSetVersionHandler* handler, /*IAsyncAction*/ IInspectable** setVersionOperation);
146 HRESULT ClearAllAsync(/*IAsyncAction*/ IInspectable** clearOperation);
147 HRESULT ClearAsync(ApplicationDataLocality locality, /*IAsyncAction*/ IInspectable** clearOperation);
148 [propget] HRESULT LocalSettings(IApplicationDataContainer** value);
149 [propget] HRESULT RoamingSettings(IApplicationDataContainer** value);
150 [propget] HRESULT LocalFolder(IStorageFolder** value);
151 [propget] HRESULT RoamingFolder(IStorageFolder** value);
152 [propget] HRESULT TemporaryFolder(IStorageFolder** value);
153 // [eventadd] HRESULT DataChanged(/*TypedEventHandler<ApplicationData*, IInspectable*>*/IInspectable* handler, EventRegistrationToken* token);
154 /* [eventremove] */ HRESULT DataChanged(Windows.Foundation.EventRegistrationToken token);
155 HRESULT SignalDataChanged();
156 HRESULT RoamingStorageQuota(UINT64* value);
157 }
158
159 [uuid(9E65CD69-0BA3-4E32-BE29-B02DE6607638)]
160 interface IApplicationData2 : IInspectable {
161 [propget] HRESULT LocalCacheFolder(IStorageFolder** value);
162 }
163
164 [uuid(5612147B-E843-45E3-94D8-06169E3C8E17)]
165 interface IApplicationDataStatics : IInspectable {
166 [propget] HRESULT Current(IApplicationData** data);
167 }
168
169 [uuid(A05791E6-CC9F-4687-ACAB-A364FD785463)]
170 interface IApplicationDataSetVersionHandler : IUnknown {
171 HRESULT Invoke(ISetVersionRequest* setVersionRequest);
172 }
173
174 [uuid(B9C76B9B-1056-4E69-8330-162619956F9B)]
175 interface ISetVersionRequest : IInspectable {
176 [propget] HRESULT CurrentVersion(UINT32* currentVersion);
177 [propget] HRESULT DesiredVersion(UINT32* desiredVersion);
178 HRESULT GetDeferral(ISetVersionDeferral** deferral);
179 }
180
181 [uuid(033508A2-781A-437A-B078-3F32BADCFE47)]
182 interface ISetVersionDeferral : IInspectable {
183 HRESULT Complete();
184 }
185 }
186}
Note: See TracBrowser for help on using the repository browser.