1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[cfg(feature = "Storage_AccessCache")]
3 pub mod AccessCache;
4 #[cfg(feature = "Storage_BulkAccess")]
5 pub mod BulkAccess;
6 #[cfg(feature = "Storage_Compression")]
7 pub mod Compression;
8 #[cfg(feature = "Storage_FileProperties")]
9 pub mod FileProperties;
10 #[cfg(feature = "Storage_Pickers")]
11 pub mod Pickers;
12 #[cfg(feature = "Storage_Provider")]
13 pub mod Provider;
14 #[cfg(feature = "Storage_Search")]
15 pub mod Search;
16 #[cfg(feature = "Storage_Streams")]
17 pub mod Streams;
18 #[link(name = "windows")]
19 extern "system" {}
20 pub type AppDataPaths = *mut ::core::ffi::c_void;
21 pub type ApplicationData = *mut ::core::ffi::c_void;
22 pub type ApplicationDataCompositeValue = *mut ::core::ffi::c_void;
23 pub type ApplicationDataContainer = *mut ::core::ffi::c_void;
24 pub type ApplicationDataContainerSettings = *mut ::core::ffi::c_void;
25 #[repr(transparent)]
26 pub struct ApplicationDataCreateDisposition(pub i32);
27 impl ApplicationDataCreateDisposition {
28     pub const Always: Self = Self(0i32);
29     pub const Existing: Self = Self(1i32);
30 }
31 impl ::core::marker::Copy for ApplicationDataCreateDisposition {}
32 impl ::core::clone::Clone for ApplicationDataCreateDisposition {
clone(&self) -> Self33     fn clone(&self) -> Self {
34         *self
35     }
36 }
37 #[repr(transparent)]
38 pub struct ApplicationDataLocality(pub i32);
39 impl ApplicationDataLocality {
40     pub const Local: Self = Self(0i32);
41     pub const Roaming: Self = Self(1i32);
42     pub const Temporary: Self = Self(2i32);
43     pub const LocalCache: Self = Self(3i32);
44     pub const SharedLocal: Self = Self(4i32);
45 }
46 impl ::core::marker::Copy for ApplicationDataLocality {}
47 impl ::core::clone::Clone for ApplicationDataLocality {
clone(&self) -> Self48     fn clone(&self) -> Self {
49         *self
50     }
51 }
52 pub type ApplicationDataSetVersionHandler = *mut ::core::ffi::c_void;
53 #[repr(transparent)]
54 pub struct CreationCollisionOption(pub i32);
55 impl CreationCollisionOption {
56     pub const GenerateUniqueName: Self = Self(0i32);
57     pub const ReplaceExisting: Self = Self(1i32);
58     pub const FailIfExists: Self = Self(2i32);
59     pub const OpenIfExists: Self = Self(3i32);
60 }
61 impl ::core::marker::Copy for CreationCollisionOption {}
62 impl ::core::clone::Clone for CreationCollisionOption {
clone(&self) -> Self63     fn clone(&self) -> Self {
64         *self
65     }
66 }
67 #[repr(transparent)]
68 pub struct FileAccessMode(pub i32);
69 impl FileAccessMode {
70     pub const Read: Self = Self(0i32);
71     pub const ReadWrite: Self = Self(1i32);
72 }
73 impl ::core::marker::Copy for FileAccessMode {}
74 impl ::core::clone::Clone for FileAccessMode {
clone(&self) -> Self75     fn clone(&self) -> Self {
76         *self
77     }
78 }
79 #[repr(transparent)]
80 pub struct FileAttributes(pub u32);
81 impl FileAttributes {
82     pub const Normal: Self = Self(0u32);
83     pub const ReadOnly: Self = Self(1u32);
84     pub const Directory: Self = Self(16u32);
85     pub const Archive: Self = Self(32u32);
86     pub const Temporary: Self = Self(256u32);
87     pub const LocallyIncomplete: Self = Self(512u32);
88 }
89 impl ::core::marker::Copy for FileAttributes {}
90 impl ::core::clone::Clone for FileAttributes {
clone(&self) -> Self91     fn clone(&self) -> Self {
92         *self
93     }
94 }
95 pub type IStorageFile = *mut ::core::ffi::c_void;
96 pub type IStorageFile2 = *mut ::core::ffi::c_void;
97 pub type IStorageFilePropertiesWithAvailability = *mut ::core::ffi::c_void;
98 pub type IStorageFolder = *mut ::core::ffi::c_void;
99 pub type IStorageFolder2 = *mut ::core::ffi::c_void;
100 pub type IStorageItem = *mut ::core::ffi::c_void;
101 pub type IStorageItem2 = *mut ::core::ffi::c_void;
102 pub type IStorageItemProperties = *mut ::core::ffi::c_void;
103 pub type IStorageItemProperties2 = *mut ::core::ffi::c_void;
104 pub type IStorageItemPropertiesWithProvider = *mut ::core::ffi::c_void;
105 pub type IStreamedFileDataRequest = *mut ::core::ffi::c_void;
106 #[repr(transparent)]
107 pub struct KnownFolderId(pub i32);
108 impl KnownFolderId {
109     pub const AppCaptures: Self = Self(0i32);
110     pub const CameraRoll: Self = Self(1i32);
111     pub const DocumentsLibrary: Self = Self(2i32);
112     pub const HomeGroup: Self = Self(3i32);
113     pub const MediaServerDevices: Self = Self(4i32);
114     pub const MusicLibrary: Self = Self(5i32);
115     pub const Objects3D: Self = Self(6i32);
116     pub const PicturesLibrary: Self = Self(7i32);
117     pub const Playlists: Self = Self(8i32);
118     pub const RecordedCalls: Self = Self(9i32);
119     pub const RemovableDevices: Self = Self(10i32);
120     pub const SavedPictures: Self = Self(11i32);
121     pub const Screenshots: Self = Self(12i32);
122     pub const VideosLibrary: Self = Self(13i32);
123     pub const AllAppMods: Self = Self(14i32);
124     pub const CurrentAppMods: Self = Self(15i32);
125     pub const DownloadsFolder: Self = Self(16i32);
126 }
127 impl ::core::marker::Copy for KnownFolderId {}
128 impl ::core::clone::Clone for KnownFolderId {
clone(&self) -> Self129     fn clone(&self) -> Self {
130         *self
131     }
132 }
133 #[repr(transparent)]
134 pub struct KnownFoldersAccessStatus(pub i32);
135 impl KnownFoldersAccessStatus {
136     pub const DeniedBySystem: Self = Self(0i32);
137     pub const NotDeclaredByApp: Self = Self(1i32);
138     pub const DeniedByUser: Self = Self(2i32);
139     pub const UserPromptRequired: Self = Self(3i32);
140     pub const Allowed: Self = Self(4i32);
141     pub const AllowedPerAppFolder: Self = Self(5i32);
142 }
143 impl ::core::marker::Copy for KnownFoldersAccessStatus {}
144 impl ::core::clone::Clone for KnownFoldersAccessStatus {
clone(&self) -> Self145     fn clone(&self) -> Self {
146         *self
147     }
148 }
149 #[repr(transparent)]
150 pub struct KnownLibraryId(pub i32);
151 impl KnownLibraryId {
152     pub const Music: Self = Self(0i32);
153     pub const Pictures: Self = Self(1i32);
154     pub const Videos: Self = Self(2i32);
155     pub const Documents: Self = Self(3i32);
156 }
157 impl ::core::marker::Copy for KnownLibraryId {}
158 impl ::core::clone::Clone for KnownLibraryId {
clone(&self) -> Self159     fn clone(&self) -> Self {
160         *self
161     }
162 }
163 #[repr(transparent)]
164 pub struct NameCollisionOption(pub i32);
165 impl NameCollisionOption {
166     pub const GenerateUniqueName: Self = Self(0i32);
167     pub const ReplaceExisting: Self = Self(1i32);
168     pub const FailIfExists: Self = Self(2i32);
169 }
170 impl ::core::marker::Copy for NameCollisionOption {}
171 impl ::core::clone::Clone for NameCollisionOption {
clone(&self) -> Self172     fn clone(&self) -> Self {
173         *self
174     }
175 }
176 pub type SetVersionDeferral = *mut ::core::ffi::c_void;
177 pub type SetVersionRequest = *mut ::core::ffi::c_void;
178 #[repr(transparent)]
179 pub struct StorageDeleteOption(pub i32);
180 impl StorageDeleteOption {
181     pub const Default: Self = Self(0i32);
182     pub const PermanentDelete: Self = Self(1i32);
183 }
184 impl ::core::marker::Copy for StorageDeleteOption {}
185 impl ::core::clone::Clone for StorageDeleteOption {
clone(&self) -> Self186     fn clone(&self) -> Self {
187         *self
188     }
189 }
190 pub type StorageFile = *mut ::core::ffi::c_void;
191 pub type StorageFolder = *mut ::core::ffi::c_void;
192 #[repr(transparent)]
193 pub struct StorageItemTypes(pub u32);
194 impl StorageItemTypes {
195     pub const None: Self = Self(0u32);
196     pub const File: Self = Self(1u32);
197     pub const Folder: Self = Self(2u32);
198 }
199 impl ::core::marker::Copy for StorageItemTypes {}
200 impl ::core::clone::Clone for StorageItemTypes {
clone(&self) -> Self201     fn clone(&self) -> Self {
202         *self
203     }
204 }
205 pub type StorageLibrary = *mut ::core::ffi::c_void;
206 pub type StorageLibraryChange = *mut ::core::ffi::c_void;
207 pub type StorageLibraryChangeReader = *mut ::core::ffi::c_void;
208 pub type StorageLibraryChangeTracker = *mut ::core::ffi::c_void;
209 pub type StorageLibraryChangeTrackerOptions = *mut ::core::ffi::c_void;
210 #[repr(transparent)]
211 pub struct StorageLibraryChangeType(pub i32);
212 impl StorageLibraryChangeType {
213     pub const Created: Self = Self(0i32);
214     pub const Deleted: Self = Self(1i32);
215     pub const MovedOrRenamed: Self = Self(2i32);
216     pub const ContentsChanged: Self = Self(3i32);
217     pub const MovedOutOfLibrary: Self = Self(4i32);
218     pub const MovedIntoLibrary: Self = Self(5i32);
219     pub const ContentsReplaced: Self = Self(6i32);
220     pub const IndexingStatusChanged: Self = Self(7i32);
221     pub const EncryptionChanged: Self = Self(8i32);
222     pub const ChangeTrackingLost: Self = Self(9i32);
223 }
224 impl ::core::marker::Copy for StorageLibraryChangeType {}
225 impl ::core::clone::Clone for StorageLibraryChangeType {
clone(&self) -> Self226     fn clone(&self) -> Self {
227         *self
228     }
229 }
230 pub type StorageLibraryLastChangeId = *mut ::core::ffi::c_void;
231 #[repr(transparent)]
232 pub struct StorageOpenOptions(pub u32);
233 impl StorageOpenOptions {
234     pub const None: Self = Self(0u32);
235     pub const AllowOnlyReaders: Self = Self(1u32);
236     pub const AllowReadersAndWriters: Self = Self(2u32);
237 }
238 impl ::core::marker::Copy for StorageOpenOptions {}
239 impl ::core::clone::Clone for StorageOpenOptions {
clone(&self) -> Self240     fn clone(&self) -> Self {
241         *self
242     }
243 }
244 pub type StorageProvider = *mut ::core::ffi::c_void;
245 pub type StorageStreamTransaction = *mut ::core::ffi::c_void;
246 pub type StreamedFileDataRequest = *mut ::core::ffi::c_void;
247 pub type StreamedFileDataRequestedHandler = *mut ::core::ffi::c_void;
248 #[repr(transparent)]
249 pub struct StreamedFileFailureMode(pub i32);
250 impl StreamedFileFailureMode {
251     pub const Failed: Self = Self(0i32);
252     pub const CurrentlyUnavailable: Self = Self(1i32);
253     pub const Incomplete: Self = Self(2i32);
254 }
255 impl ::core::marker::Copy for StreamedFileFailureMode {}
256 impl ::core::clone::Clone for StreamedFileFailureMode {
clone(&self) -> Self257     fn clone(&self) -> Self {
258         *self
259     }
260 }
261 pub type SystemAudioProperties = *mut ::core::ffi::c_void;
262 pub type SystemDataPaths = *mut ::core::ffi::c_void;
263 pub type SystemGPSProperties = *mut ::core::ffi::c_void;
264 pub type SystemImageProperties = *mut ::core::ffi::c_void;
265 pub type SystemMediaProperties = *mut ::core::ffi::c_void;
266 pub type SystemMusicProperties = *mut ::core::ffi::c_void;
267 pub type SystemPhotoProperties = *mut ::core::ffi::c_void;
268 pub type SystemVideoProperties = *mut ::core::ffi::c_void;
269 pub type UserDataPaths = *mut ::core::ffi::c_void;
270