#![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)] #[link(name = "windows")] extern "system" {} #[repr(transparent)] pub struct PhotoImportAccessMode(pub i32); impl PhotoImportAccessMode { pub const ReadWrite: Self = Self(0i32); pub const ReadOnly: Self = Self(1i32); pub const ReadAndDelete: Self = Self(2i32); } impl ::core::marker::Copy for PhotoImportAccessMode {} impl ::core::clone::Clone for PhotoImportAccessMode { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct PhotoImportConnectionTransport(pub i32); impl PhotoImportConnectionTransport { pub const Unknown: Self = Self(0i32); pub const Usb: Self = Self(1i32); pub const IP: Self = Self(2i32); pub const Bluetooth: Self = Self(3i32); } impl ::core::marker::Copy for PhotoImportConnectionTransport {} impl ::core::clone::Clone for PhotoImportConnectionTransport { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct PhotoImportContentType(pub i32); impl PhotoImportContentType { pub const Unknown: Self = Self(0i32); pub const Image: Self = Self(1i32); pub const Video: Self = Self(2i32); } impl ::core::marker::Copy for PhotoImportContentType {} impl ::core::clone::Clone for PhotoImportContentType { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct PhotoImportContentTypeFilter(pub i32); impl PhotoImportContentTypeFilter { pub const OnlyImages: Self = Self(0i32); pub const OnlyVideos: Self = Self(1i32); pub const ImagesAndVideos: Self = Self(2i32); pub const ImagesAndVideosFromCameraRoll: Self = Self(3i32); } impl ::core::marker::Copy for PhotoImportContentTypeFilter {} impl ::core::clone::Clone for PhotoImportContentTypeFilter { fn clone(&self) -> Self { *self } } pub type PhotoImportDeleteImportedItemsFromSourceResult = *mut ::core::ffi::c_void; pub type PhotoImportFindItemsResult = *mut ::core::ffi::c_void; pub type PhotoImportImportItemsResult = *mut ::core::ffi::c_void; #[repr(transparent)] pub struct PhotoImportImportMode(pub i32); impl PhotoImportImportMode { pub const ImportEverything: Self = Self(0i32); pub const IgnoreSidecars: Self = Self(1i32); pub const IgnoreSiblings: Self = Self(2i32); pub const IgnoreSidecarsAndSiblings: Self = Self(3i32); } impl ::core::marker::Copy for PhotoImportImportMode {} impl ::core::clone::Clone for PhotoImportImportMode { fn clone(&self) -> Self { *self } } pub type PhotoImportItem = *mut ::core::ffi::c_void; pub type PhotoImportItemImportedEventArgs = *mut ::core::ffi::c_void; #[repr(transparent)] pub struct PhotoImportItemSelectionMode(pub i32); impl PhotoImportItemSelectionMode { pub const SelectAll: Self = Self(0i32); pub const SelectNone: Self = Self(1i32); pub const SelectNew: Self = Self(2i32); } impl ::core::marker::Copy for PhotoImportItemSelectionMode {} impl ::core::clone::Clone for PhotoImportItemSelectionMode { fn clone(&self) -> Self { *self } } pub type PhotoImportOperation = *mut ::core::ffi::c_void; #[repr(transparent)] pub struct PhotoImportPowerSource(pub i32); impl PhotoImportPowerSource { pub const Unknown: Self = Self(0i32); pub const Battery: Self = Self(1i32); pub const External: Self = Self(2i32); } impl ::core::marker::Copy for PhotoImportPowerSource {} impl ::core::clone::Clone for PhotoImportPowerSource { fn clone(&self) -> Self { *self } } #[repr(C)] pub struct PhotoImportProgress { pub ItemsImported: u32, pub TotalItemsToImport: u32, pub BytesImported: u64, pub TotalBytesToImport: u64, pub ImportProgress: f64, } impl ::core::marker::Copy for PhotoImportProgress {} impl ::core::clone::Clone for PhotoImportProgress { fn clone(&self) -> Self { *self } } pub type PhotoImportSelectionChangedEventArgs = *mut ::core::ffi::c_void; pub type PhotoImportSession = *mut ::core::ffi::c_void; pub type PhotoImportSidecar = *mut ::core::ffi::c_void; pub type PhotoImportSource = *mut ::core::ffi::c_void; #[repr(transparent)] pub struct PhotoImportSourceType(pub i32); impl PhotoImportSourceType { pub const Generic: Self = Self(0i32); pub const Camera: Self = Self(1i32); pub const MediaPlayer: Self = Self(2i32); pub const Phone: Self = Self(3i32); pub const Video: Self = Self(4i32); pub const PersonalInfoManager: Self = Self(5i32); pub const AudioRecorder: Self = Self(6i32); } impl ::core::marker::Copy for PhotoImportSourceType {} impl ::core::clone::Clone for PhotoImportSourceType { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct PhotoImportStage(pub i32); impl PhotoImportStage { pub const NotStarted: Self = Self(0i32); pub const FindingItems: Self = Self(1i32); pub const ImportingItems: Self = Self(2i32); pub const DeletingImportedItemsFromSource: Self = Self(3i32); } impl ::core::marker::Copy for PhotoImportStage {} impl ::core::clone::Clone for PhotoImportStage { fn clone(&self) -> Self { *self } } pub type PhotoImportStorageMedium = *mut ::core::ffi::c_void; #[repr(transparent)] pub struct PhotoImportStorageMediumType(pub i32); impl PhotoImportStorageMediumType { pub const Undefined: Self = Self(0i32); pub const Fixed: Self = Self(1i32); pub const Removable: Self = Self(2i32); } impl ::core::marker::Copy for PhotoImportStorageMediumType {} impl ::core::clone::Clone for PhotoImportStorageMediumType { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct PhotoImportSubfolderCreationMode(pub i32); impl PhotoImportSubfolderCreationMode { pub const DoNotCreateSubfolders: Self = Self(0i32); pub const CreateSubfoldersFromFileDate: Self = Self(1i32); pub const CreateSubfoldersFromExifDate: Self = Self(2i32); pub const KeepOriginalFolderStructure: Self = Self(3i32); } impl ::core::marker::Copy for PhotoImportSubfolderCreationMode {} impl ::core::clone::Clone for PhotoImportSubfolderCreationMode { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct PhotoImportSubfolderDateFormat(pub i32); impl PhotoImportSubfolderDateFormat { pub const Year: Self = Self(0i32); pub const YearMonth: Self = Self(1i32); pub const YearMonthDay: Self = Self(2i32); } impl ::core::marker::Copy for PhotoImportSubfolderDateFormat {} impl ::core::clone::Clone for PhotoImportSubfolderDateFormat { fn clone(&self) -> Self { *self } } pub type PhotoImportVideoSegment = *mut ::core::ffi::c_void;