1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)] 2 #[link(name = "windows")] 3 extern "system" {} 4 #[repr(transparent)] 5 pub struct CommonFileQuery(pub i32); 6 impl CommonFileQuery { 7 pub const DefaultQuery: Self = Self(0i32); 8 pub const OrderByName: Self = Self(1i32); 9 pub const OrderByTitle: Self = Self(2i32); 10 pub const OrderByMusicProperties: Self = Self(3i32); 11 pub const OrderBySearchRank: Self = Self(4i32); 12 pub const OrderByDate: Self = Self(5i32); 13 } 14 impl ::core::marker::Copy for CommonFileQuery {} 15 impl ::core::clone::Clone for CommonFileQuery { clone(&self) -> Self16 fn clone(&self) -> Self { 17 *self 18 } 19 } 20 #[repr(transparent)] 21 pub struct CommonFolderQuery(pub i32); 22 impl CommonFolderQuery { 23 pub const DefaultQuery: Self = Self(0i32); 24 pub const GroupByYear: Self = Self(100i32); 25 pub const GroupByMonth: Self = Self(101i32); 26 pub const GroupByArtist: Self = Self(102i32); 27 pub const GroupByAlbum: Self = Self(103i32); 28 pub const GroupByAlbumArtist: Self = Self(104i32); 29 pub const GroupByComposer: Self = Self(105i32); 30 pub const GroupByGenre: Self = Self(106i32); 31 pub const GroupByPublishedYear: Self = Self(107i32); 32 pub const GroupByRating: Self = Self(108i32); 33 pub const GroupByTag: Self = Self(109i32); 34 pub const GroupByAuthor: Self = Self(110i32); 35 pub const GroupByType: Self = Self(111i32); 36 } 37 impl ::core::marker::Copy for CommonFolderQuery {} 38 impl ::core::clone::Clone for CommonFolderQuery { clone(&self) -> Self39 fn clone(&self) -> Self { 40 *self 41 } 42 } 43 pub type ContentIndexer = *mut ::core::ffi::c_void; 44 pub type ContentIndexerQuery = *mut ::core::ffi::c_void; 45 #[repr(transparent)] 46 pub struct DateStackOption(pub i32); 47 impl DateStackOption { 48 pub const None: Self = Self(0i32); 49 pub const Year: Self = Self(1i32); 50 pub const Month: Self = Self(2i32); 51 } 52 impl ::core::marker::Copy for DateStackOption {} 53 impl ::core::clone::Clone for DateStackOption { clone(&self) -> Self54 fn clone(&self) -> Self { 55 *self 56 } 57 } 58 #[repr(transparent)] 59 pub struct FolderDepth(pub i32); 60 impl FolderDepth { 61 pub const Shallow: Self = Self(0i32); 62 pub const Deep: Self = Self(1i32); 63 } 64 impl ::core::marker::Copy for FolderDepth {} 65 impl ::core::clone::Clone for FolderDepth { clone(&self) -> Self66 fn clone(&self) -> Self { 67 *self 68 } 69 } 70 pub type IIndexableContent = *mut ::core::ffi::c_void; 71 pub type IStorageFolderQueryOperations = *mut ::core::ffi::c_void; 72 pub type IStorageQueryResultBase = *mut ::core::ffi::c_void; 73 pub type IndexableContent = *mut ::core::ffi::c_void; 74 #[repr(transparent)] 75 pub struct IndexedState(pub i32); 76 impl IndexedState { 77 pub const Unknown: Self = Self(0i32); 78 pub const NotIndexed: Self = Self(1i32); 79 pub const PartiallyIndexed: Self = Self(2i32); 80 pub const FullyIndexed: Self = Self(3i32); 81 } 82 impl ::core::marker::Copy for IndexedState {} 83 impl ::core::clone::Clone for IndexedState { clone(&self) -> Self84 fn clone(&self) -> Self { 85 *self 86 } 87 } 88 #[repr(transparent)] 89 pub struct IndexerOption(pub i32); 90 impl IndexerOption { 91 pub const UseIndexerWhenAvailable: Self = Self(0i32); 92 pub const OnlyUseIndexer: Self = Self(1i32); 93 pub const DoNotUseIndexer: Self = Self(2i32); 94 pub const OnlyUseIndexerAndOptimizeForIndexedProperties: Self = Self(3i32); 95 } 96 impl ::core::marker::Copy for IndexerOption {} 97 impl ::core::clone::Clone for IndexerOption { clone(&self) -> Self98 fn clone(&self) -> Self { 99 *self 100 } 101 } 102 pub type QueryOptions = *mut ::core::ffi::c_void; 103 #[repr(C)] 104 pub struct SortEntry { 105 pub PropertyName: ::windows_sys::core::HSTRING, 106 pub AscendingOrder: bool, 107 } 108 impl ::core::marker::Copy for SortEntry {} 109 impl ::core::clone::Clone for SortEntry { clone(&self) -> Self110 fn clone(&self) -> Self { 111 *self 112 } 113 } 114 pub type SortEntryVector = *mut ::core::ffi::c_void; 115 pub type StorageFileQueryResult = *mut ::core::ffi::c_void; 116 pub type StorageFolderQueryResult = *mut ::core::ffi::c_void; 117 pub type StorageItemQueryResult = *mut ::core::ffi::c_void; 118 pub type StorageLibraryChangeTrackerTriggerDetails = *mut ::core::ffi::c_void; 119 pub type StorageLibraryContentChangedTriggerDetails = *mut ::core::ffi::c_void; 120 pub type ValueAndLanguage = *mut ::core::ffi::c_void; 121