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