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(C)]
5 #[cfg(feature = "Win32_Foundation")]
6 pub struct COMDLG_FILTERSPEC {
7     pub pszName: super::super::super::Foundation::PWSTR,
8     pub pszSpec: super::super::super::Foundation::PWSTR,
9 }
10 #[cfg(feature = "Win32_Foundation")]
11 impl ::core::marker::Copy for COMDLG_FILTERSPEC {}
12 #[cfg(feature = "Win32_Foundation")]
13 impl ::core::clone::Clone for COMDLG_FILTERSPEC {
clone(&self) -> Self14     fn clone(&self) -> Self {
15         *self
16     }
17 }
18 pub type DEVICE_SCALE_FACTOR = i32;
19 pub const DEVICE_SCALE_FACTOR_INVALID: DEVICE_SCALE_FACTOR = 0i32;
20 pub const SCALE_100_PERCENT: DEVICE_SCALE_FACTOR = 100i32;
21 pub const SCALE_120_PERCENT: DEVICE_SCALE_FACTOR = 120i32;
22 pub const SCALE_125_PERCENT: DEVICE_SCALE_FACTOR = 125i32;
23 pub const SCALE_140_PERCENT: DEVICE_SCALE_FACTOR = 140i32;
24 pub const SCALE_150_PERCENT: DEVICE_SCALE_FACTOR = 150i32;
25 pub const SCALE_160_PERCENT: DEVICE_SCALE_FACTOR = 160i32;
26 pub const SCALE_175_PERCENT: DEVICE_SCALE_FACTOR = 175i32;
27 pub const SCALE_180_PERCENT: DEVICE_SCALE_FACTOR = 180i32;
28 pub const SCALE_200_PERCENT: DEVICE_SCALE_FACTOR = 200i32;
29 pub const SCALE_225_PERCENT: DEVICE_SCALE_FACTOR = 225i32;
30 pub const SCALE_250_PERCENT: DEVICE_SCALE_FACTOR = 250i32;
31 pub const SCALE_300_PERCENT: DEVICE_SCALE_FACTOR = 300i32;
32 pub const SCALE_350_PERCENT: DEVICE_SCALE_FACTOR = 350i32;
33 pub const SCALE_400_PERCENT: DEVICE_SCALE_FACTOR = 400i32;
34 pub const SCALE_450_PERCENT: DEVICE_SCALE_FACTOR = 450i32;
35 pub const SCALE_500_PERCENT: DEVICE_SCALE_FACTOR = 500i32;
36 pub type IObjectArray = *mut ::core::ffi::c_void;
37 pub type IObjectCollection = *mut ::core::ffi::c_void;
38 #[repr(C)]
39 pub struct ITEMIDLIST {
40     pub mkid: SHITEMID,
41 }
42 impl ::core::marker::Copy for ITEMIDLIST {}
43 impl ::core::clone::Clone for ITEMIDLIST {
clone(&self) -> Self44     fn clone(&self) -> Self {
45         *self
46     }
47 }
48 pub type PERCEIVED = i32;
49 pub const PERCEIVED_TYPE_FIRST: PERCEIVED = -3i32;
50 pub const PERCEIVED_TYPE_CUSTOM: PERCEIVED = -3i32;
51 pub const PERCEIVED_TYPE_UNSPECIFIED: PERCEIVED = -2i32;
52 pub const PERCEIVED_TYPE_FOLDER: PERCEIVED = -1i32;
53 pub const PERCEIVED_TYPE_UNKNOWN: PERCEIVED = 0i32;
54 pub const PERCEIVED_TYPE_TEXT: PERCEIVED = 1i32;
55 pub const PERCEIVED_TYPE_IMAGE: PERCEIVED = 2i32;
56 pub const PERCEIVED_TYPE_AUDIO: PERCEIVED = 3i32;
57 pub const PERCEIVED_TYPE_VIDEO: PERCEIVED = 4i32;
58 pub const PERCEIVED_TYPE_COMPRESSED: PERCEIVED = 5i32;
59 pub const PERCEIVED_TYPE_DOCUMENT: PERCEIVED = 6i32;
60 pub const PERCEIVED_TYPE_SYSTEM: PERCEIVED = 7i32;
61 pub const PERCEIVED_TYPE_APPLICATION: PERCEIVED = 8i32;
62 pub const PERCEIVED_TYPE_GAMEMEDIA: PERCEIVED = 9i32;
63 pub const PERCEIVED_TYPE_CONTACTS: PERCEIVED = 10i32;
64 pub const PERCEIVED_TYPE_LAST: PERCEIVED = 10i32;
65 pub const PERCEIVEDFLAG_GDIPLUS: u32 = 16u32;
66 pub const PERCEIVEDFLAG_HARDCODED: u32 = 2u32;
67 pub const PERCEIVEDFLAG_NATIVESUPPORT: u32 = 4u32;
68 pub const PERCEIVEDFLAG_SOFTCODED: u32 = 1u32;
69 pub const PERCEIVEDFLAG_UNDEFINED: u32 = 0u32;
70 pub const PERCEIVEDFLAG_WMSDK: u32 = 32u32;
71 pub const PERCEIVEDFLAG_ZIPFOLDER: u32 = 64u32;
72 pub type SHCOLSTATE = i32;
73 pub const SHCOLSTATE_DEFAULT: SHCOLSTATE = 0i32;
74 pub const SHCOLSTATE_TYPE_STR: SHCOLSTATE = 1i32;
75 pub const SHCOLSTATE_TYPE_INT: SHCOLSTATE = 2i32;
76 pub const SHCOLSTATE_TYPE_DATE: SHCOLSTATE = 3i32;
77 pub const SHCOLSTATE_TYPEMASK: SHCOLSTATE = 15i32;
78 pub const SHCOLSTATE_ONBYDEFAULT: SHCOLSTATE = 16i32;
79 pub const SHCOLSTATE_SLOW: SHCOLSTATE = 32i32;
80 pub const SHCOLSTATE_EXTENDED: SHCOLSTATE = 64i32;
81 pub const SHCOLSTATE_SECONDARYUI: SHCOLSTATE = 128i32;
82 pub const SHCOLSTATE_HIDDEN: SHCOLSTATE = 256i32;
83 pub const SHCOLSTATE_PREFER_VARCMP: SHCOLSTATE = 512i32;
84 pub const SHCOLSTATE_PREFER_FMTCMP: SHCOLSTATE = 1024i32;
85 pub const SHCOLSTATE_NOSORTBYFOLDERNESS: SHCOLSTATE = 2048i32;
86 pub const SHCOLSTATE_VIEWONLY: SHCOLSTATE = 65536i32;
87 pub const SHCOLSTATE_BATCHREAD: SHCOLSTATE = 131072i32;
88 pub const SHCOLSTATE_NO_GROUPBY: SHCOLSTATE = 262144i32;
89 pub const SHCOLSTATE_FIXED_WIDTH: SHCOLSTATE = 4096i32;
90 pub const SHCOLSTATE_NODPISCALE: SHCOLSTATE = 8192i32;
91 pub const SHCOLSTATE_FIXED_RATIO: SHCOLSTATE = 16384i32;
92 pub const SHCOLSTATE_DISPLAYMASK: SHCOLSTATE = 61440i32;
93 #[repr(C, packed(1))]
94 #[cfg(feature = "Win32_Foundation")]
95 pub struct SHELLDETAILS {
96     pub fmt: i32,
97     pub cxChar: i32,
98     pub str: STRRET,
99 }
100 #[cfg(feature = "Win32_Foundation")]
101 impl ::core::marker::Copy for SHELLDETAILS {}
102 #[cfg(feature = "Win32_Foundation")]
103 impl ::core::clone::Clone for SHELLDETAILS {
clone(&self) -> Self104     fn clone(&self) -> Self {
105         *self
106     }
107 }
108 #[repr(C, packed(1))]
109 pub struct SHITEMID {
110     pub cb: u16,
111     pub abID: [u8; 1],
112 }
113 impl ::core::marker::Copy for SHITEMID {}
114 impl ::core::clone::Clone for SHITEMID {
clone(&self) -> Self115     fn clone(&self) -> Self {
116         *self
117     }
118 }
119 #[repr(C)]
120 #[cfg(feature = "Win32_Foundation")]
121 pub struct STRRET {
122     pub uType: u32,
123     pub Anonymous: STRRET_0,
124 }
125 #[cfg(feature = "Win32_Foundation")]
126 impl ::core::marker::Copy for STRRET {}
127 #[cfg(feature = "Win32_Foundation")]
128 impl ::core::clone::Clone for STRRET {
clone(&self) -> Self129     fn clone(&self) -> Self {
130         *self
131     }
132 }
133 #[repr(C)]
134 #[cfg(feature = "Win32_Foundation")]
135 pub union STRRET_0 {
136     pub pOleStr: super::super::super::Foundation::PWSTR,
137     pub uOffset: u32,
138     pub cStr: [u8; 260],
139 }
140 #[cfg(feature = "Win32_Foundation")]
141 impl ::core::marker::Copy for STRRET_0 {}
142 #[cfg(feature = "Win32_Foundation")]
143 impl ::core::clone::Clone for STRRET_0 {
clone(&self) -> Self144     fn clone(&self) -> Self {
145         *self
146     }
147 }
148 pub type STRRET_TYPE = i32;
149 pub const STRRET_WSTR: STRRET_TYPE = 0i32;
150 pub const STRRET_OFFSET: STRRET_TYPE = 1i32;
151 pub const STRRET_CSTR: STRRET_TYPE = 2i32;
152