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" {
DirectDrawCreate(lpguid: *mut ::windows_sys::core::GUID, lplpdd: *mut IDirectDraw, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT4     pub fn DirectDrawCreate(lpguid: *mut ::windows_sys::core::GUID, lplpdd: *mut IDirectDraw, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
DirectDrawCreateClipper(dwflags: u32, lplpddclipper: *mut IDirectDrawClipper, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT5     pub fn DirectDrawCreateClipper(dwflags: u32, lplpddclipper: *mut IDirectDrawClipper, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
DirectDrawCreateEx(lpguid: *mut ::windows_sys::core::GUID, lplpdd: *mut *mut ::core::ffi::c_void, iid: *const ::windows_sys::core::GUID, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT6     pub fn DirectDrawCreateEx(lpguid: *mut ::windows_sys::core::GUID, lplpdd: *mut *mut ::core::ffi::c_void, iid: *const ::windows_sys::core::GUID, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
7     #[cfg(feature = "Win32_Foundation")]
DirectDrawEnumerateA(lpcallback: ::core::option::Option<LPDDENUMCALLBACKA>, lpcontext: *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT8     pub fn DirectDrawEnumerateA(lpcallback: ::core::option::Option<LPDDENUMCALLBACKA>, lpcontext: *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
9     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
DirectDrawEnumerateExA(lpcallback: ::core::option::Option<LPDDENUMCALLBACKEXA>, lpcontext: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows_sys::core::HRESULT10     pub fn DirectDrawEnumerateExA(lpcallback: ::core::option::Option<LPDDENUMCALLBACKEXA>, lpcontext: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows_sys::core::HRESULT;
11     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
DirectDrawEnumerateExW(lpcallback: ::core::option::Option<LPDDENUMCALLBACKEXW>, lpcontext: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows_sys::core::HRESULT12     pub fn DirectDrawEnumerateExW(lpcallback: ::core::option::Option<LPDDENUMCALLBACKEXW>, lpcontext: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows_sys::core::HRESULT;
13     #[cfg(feature = "Win32_Foundation")]
DirectDrawEnumerateW(lpcallback: ::core::option::Option<LPDDENUMCALLBACKW>, lpcontext: *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT14     pub fn DirectDrawEnumerateW(lpcallback: ::core::option::Option<LPDDENUMCALLBACKW>, lpcontext: *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
15 }
16 #[repr(C)]
17 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
18 pub struct ACCESSRECTLIST {
19     pub lpLink: *mut ACCESSRECTLIST,
20     pub rDest: super::super::Foundation::RECT,
21     pub lpOwner: *mut DDRAWI_DIRECTDRAW_LCL,
22     pub lpSurfaceData: *mut ::core::ffi::c_void,
23     pub dwFlags: u32,
24     pub lpHeapAliasInfo: *mut HEAPALIASINFO,
25 }
26 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
27 impl ::core::marker::Copy for ACCESSRECTLIST {}
28 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
29 impl ::core::clone::Clone for ACCESSRECTLIST {
clone(&self) -> Self30     fn clone(&self) -> Self {
31         *self
32     }
33 }
34 pub const ACCESSRECT_BROKEN: i32 = 4i32;
35 pub const ACCESSRECT_NOTHOLDINGWIN16LOCK: i32 = 2i32;
36 pub const ACCESSRECT_VRAMSTYLE: i32 = 1i32;
37 #[repr(C)]
38 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
39 pub struct ATTACHLIST {
40     pub dwFlags: u32,
41     pub lpLink: *mut ATTACHLIST,
42     pub lpAttached: *mut DDRAWI_DDRAWSURFACE_LCL,
43     pub lpIAttached: *mut DDRAWI_DDRAWSURFACE_INT,
44 }
45 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
46 impl ::core::marker::Copy for ATTACHLIST {}
47 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
48 impl ::core::clone::Clone for ATTACHLIST {
clone(&self) -> Self49     fn clone(&self) -> Self {
50         *self
51     }
52 }
53 pub const CCHDEVICENAME: u32 = 32u32;
54 pub const CLSID_DirectDraw: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3619098336, data2: 17216, data3: 4559, data4: [176, 99, 0, 32, 175, 194, 205, 53] };
55 pub const CLSID_DirectDraw7: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1009799574, data2: 20699, data3: 4563, data4: [156, 254, 0, 192, 79, 217, 48, 197] };
56 pub const CLSID_DirectDrawClipper: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1496848288, data2: 32179, data3: 4559, data4: [162, 222, 0, 170, 0, 185, 51, 86] };
57 pub const D3DFMT_INTERNAL_D15S1: u32 = 73u32;
58 pub const D3DFMT_INTERNAL_D24S8: u32 = 75u32;
59 pub const D3DFMT_INTERNAL_D24X8: u32 = 77u32;
60 pub const D3DFMT_INTERNAL_D32: u32 = 71u32;
61 pub const D3DFMT_INTERNAL_S1D15: u32 = 72u32;
62 pub const D3DFMT_INTERNAL_S8D24: u32 = 74u32;
63 pub const D3DFMT_INTERNAL_X8D24: u32 = 76u32;
64 pub const D3DFORMAT_MEMBEROFGROUP_ARGB: i32 = 524288i32;
65 pub const D3DFORMAT_OP_3DACCELERATION: i32 = 2048i32;
66 pub const D3DFORMAT_OP_AUTOGENMIPMAP: i32 = 4194304i32;
67 pub const D3DFORMAT_OP_BUMPMAP: i32 = 65536i32;
68 pub const D3DFORMAT_OP_CONVERT_TO_ARGB: i32 = 8192i32;
69 pub const D3DFORMAT_OP_CUBETEXTURE: i32 = 4i32;
70 pub const D3DFORMAT_OP_DISPLAYMODE: i32 = 1024i32;
71 pub const D3DFORMAT_OP_DMAP: i32 = 131072i32;
72 pub const D3DFORMAT_OP_NOALPHABLEND: i32 = 2097152i32;
73 pub const D3DFORMAT_OP_NOFILTER: i32 = 262144i32;
74 pub const D3DFORMAT_OP_NOTEXCOORDWRAPNORMIP: i32 = 16777216i32;
75 pub const D3DFORMAT_OP_OFFSCREENPLAIN: i32 = 16384i32;
76 pub const D3DFORMAT_OP_OFFSCREEN_RENDERTARGET: i32 = 8i32;
77 pub const D3DFORMAT_OP_PIXELSIZE: i32 = 4096i32;
78 pub const D3DFORMAT_OP_SAME_FORMAT_RENDERTARGET: i32 = 16i32;
79 pub const D3DFORMAT_OP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET: i32 = 256i32;
80 pub const D3DFORMAT_OP_SRGBREAD: i32 = 32768i32;
81 pub const D3DFORMAT_OP_SRGBWRITE: i32 = 1048576i32;
82 pub const D3DFORMAT_OP_TEXTURE: i32 = 1i32;
83 pub const D3DFORMAT_OP_VERTEXTEXTURE: i32 = 8388608i32;
84 pub const D3DFORMAT_OP_VOLUMETEXTURE: i32 = 2i32;
85 pub const D3DFORMAT_OP_ZSTENCIL: i32 = 64i32;
86 pub const D3DFORMAT_OP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH: i32 = 128i32;
87 #[repr(C)]
88 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
89 pub struct DBLNODE {
90     pub next: *mut DBLNODE,
91     pub prev: *mut DBLNODE,
92     pub object: *mut DDRAWI_DDRAWSURFACE_LCL,
93     pub object_int: *mut DDRAWI_DDRAWSURFACE_INT,
94 }
95 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
96 impl ::core::marker::Copy for DBLNODE {}
97 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
98 impl ::core::clone::Clone for DBLNODE {
clone(&self) -> Self99     fn clone(&self) -> Self {
100         *self
101     }
102 }
103 pub const DCICOMMAND: u32 = 3075u32;
104 #[repr(C)]
105 #[cfg(feature = "Win32_Foundation")]
106 pub struct DD32BITDRIVERDATA {
107     pub szName: [super::super::Foundation::CHAR; 260],
108     pub szEntryPoint: [super::super::Foundation::CHAR; 64],
109     pub dwContext: u32,
110 }
111 #[cfg(feature = "Win32_Foundation")]
112 impl ::core::marker::Copy for DD32BITDRIVERDATA {}
113 #[cfg(feature = "Win32_Foundation")]
114 impl ::core::clone::Clone for DD32BITDRIVERDATA {
clone(&self) -> Self115     fn clone(&self) -> Self {
116         *self
117     }
118 }
119 pub const DDABLT_SRCOVERDEST: i32 = 1i32;
120 pub const DDAL_IMPLICIT: i32 = 1i32;
121 #[repr(C)]
122 pub struct DDARGB {
123     pub blue: u8,
124     pub green: u8,
125     pub red: u8,
126     pub alpha: u8,
127 }
128 impl ::core::marker::Copy for DDARGB {}
129 impl ::core::clone::Clone for DDARGB {
clone(&self) -> Self130     fn clone(&self) -> Self {
131         *self
132     }
133 }
134 pub const DDBD_1: i32 = 16384i32;
135 pub const DDBD_16: i32 = 1024i32;
136 pub const DDBD_2: i32 = 8192i32;
137 pub const DDBD_24: i32 = 512i32;
138 pub const DDBD_32: i32 = 256i32;
139 pub const DDBD_4: i32 = 4096i32;
140 pub const DDBD_8: i32 = 2048i32;
141 #[repr(C)]
142 #[cfg(feature = "Win32_Foundation")]
143 pub struct DDBLTBATCH {
144     pub lprDest: *mut super::super::Foundation::RECT,
145     pub lpDDSSrc: IDirectDrawSurface,
146     pub lprSrc: *mut super::super::Foundation::RECT,
147     pub dwFlags: u32,
148     pub lpDDBltFx: *mut DDBLTFX,
149 }
150 #[cfg(feature = "Win32_Foundation")]
151 impl ::core::marker::Copy for DDBLTBATCH {}
152 #[cfg(feature = "Win32_Foundation")]
153 impl ::core::clone::Clone for DDBLTBATCH {
clone(&self) -> Self154     fn clone(&self) -> Self {
155         *self
156     }
157 }
158 pub const DDBLTFAST_DESTCOLORKEY: u32 = 2u32;
159 pub const DDBLTFAST_DONOTWAIT: u32 = 32u32;
160 pub const DDBLTFAST_NOCOLORKEY: u32 = 0u32;
161 pub const DDBLTFAST_SRCCOLORKEY: u32 = 1u32;
162 pub const DDBLTFAST_WAIT: u32 = 16u32;
163 #[repr(C)]
164 pub struct DDBLTFX {
165     pub dwSize: u32,
166     pub dwDDFX: u32,
167     pub dwROP: u32,
168     pub dwDDROP: u32,
169     pub dwRotationAngle: u32,
170     pub dwZBufferOpCode: u32,
171     pub dwZBufferLow: u32,
172     pub dwZBufferHigh: u32,
173     pub dwZBufferBaseDest: u32,
174     pub dwZDestConstBitDepth: u32,
175     pub Anonymous1: DDBLTFX_0,
176     pub dwZSrcConstBitDepth: u32,
177     pub Anonymous2: DDBLTFX_1,
178     pub dwAlphaEdgeBlendBitDepth: u32,
179     pub dwAlphaEdgeBlend: u32,
180     pub dwReserved: u32,
181     pub dwAlphaDestConstBitDepth: u32,
182     pub Anonymous3: DDBLTFX_2,
183     pub dwAlphaSrcConstBitDepth: u32,
184     pub Anonymous4: DDBLTFX_3,
185     pub Anonymous5: DDBLTFX_4,
186     pub ddckDestColorkey: DDCOLORKEY,
187     pub ddckSrcColorkey: DDCOLORKEY,
188 }
189 impl ::core::marker::Copy for DDBLTFX {}
190 impl ::core::clone::Clone for DDBLTFX {
clone(&self) -> Self191     fn clone(&self) -> Self {
192         *self
193     }
194 }
195 #[repr(C)]
196 pub union DDBLTFX_0 {
197     pub dwZDestConst: u32,
198     pub lpDDSZBufferDest: IDirectDrawSurface,
199 }
200 impl ::core::marker::Copy for DDBLTFX_0 {}
201 impl ::core::clone::Clone for DDBLTFX_0 {
clone(&self) -> Self202     fn clone(&self) -> Self {
203         *self
204     }
205 }
206 #[repr(C)]
207 pub union DDBLTFX_1 {
208     pub dwZSrcConst: u32,
209     pub lpDDSZBufferSrc: IDirectDrawSurface,
210 }
211 impl ::core::marker::Copy for DDBLTFX_1 {}
212 impl ::core::clone::Clone for DDBLTFX_1 {
clone(&self) -> Self213     fn clone(&self) -> Self {
214         *self
215     }
216 }
217 #[repr(C)]
218 pub union DDBLTFX_2 {
219     pub dwAlphaDestConst: u32,
220     pub lpDDSAlphaDest: IDirectDrawSurface,
221 }
222 impl ::core::marker::Copy for DDBLTFX_2 {}
223 impl ::core::clone::Clone for DDBLTFX_2 {
clone(&self) -> Self224     fn clone(&self) -> Self {
225         *self
226     }
227 }
228 #[repr(C)]
229 pub union DDBLTFX_3 {
230     pub dwAlphaSrcConst: u32,
231     pub lpDDSAlphaSrc: IDirectDrawSurface,
232 }
233 impl ::core::marker::Copy for DDBLTFX_3 {}
234 impl ::core::clone::Clone for DDBLTFX_3 {
clone(&self) -> Self235     fn clone(&self) -> Self {
236         *self
237     }
238 }
239 #[repr(C)]
240 pub union DDBLTFX_4 {
241     pub dwFillColor: u32,
242     pub dwFillDepth: u32,
243     pub dwFillPixel: u32,
244     pub lpDDSPattern: IDirectDrawSurface,
245 }
246 impl ::core::marker::Copy for DDBLTFX_4 {}
247 impl ::core::clone::Clone for DDBLTFX_4 {
clone(&self) -> Self248     fn clone(&self) -> Self {
249         *self
250     }
251 }
252 pub const DDBLTFX_ARITHSTRETCHY: i32 = 1i32;
253 pub const DDBLTFX_MIRRORLEFTRIGHT: i32 = 2i32;
254 pub const DDBLTFX_MIRRORUPDOWN: i32 = 4i32;
255 pub const DDBLTFX_NOTEARING: i32 = 8i32;
256 pub const DDBLTFX_ROTATE180: i32 = 16i32;
257 pub const DDBLTFX_ROTATE270: i32 = 32i32;
258 pub const DDBLTFX_ROTATE90: i32 = 64i32;
259 pub const DDBLTFX_ZBUFFERBASEDEST: i32 = 256i32;
260 pub const DDBLTFX_ZBUFFERRANGE: i32 = 128i32;
261 pub const DDBLT_AFLAGS: i32 = -2147483648i32;
262 pub const DDBLT_ALPHADEST: i32 = 1i32;
263 pub const DDBLT_ALPHADESTCONSTOVERRIDE: i32 = 2i32;
264 pub const DDBLT_ALPHADESTNEG: i32 = 4i32;
265 pub const DDBLT_ALPHADESTSURFACEOVERRIDE: i32 = 8i32;
266 pub const DDBLT_ALPHAEDGEBLEND: i32 = 16i32;
267 pub const DDBLT_ALPHASRC: i32 = 32i32;
268 pub const DDBLT_ALPHASRCCONSTOVERRIDE: i32 = 64i32;
269 pub const DDBLT_ALPHASRCNEG: i32 = 128i32;
270 pub const DDBLT_ALPHASRCSURFACEOVERRIDE: i32 = 256i32;
271 pub const DDBLT_ASYNC: i32 = 512i32;
272 pub const DDBLT_COLORFILL: i32 = 1024i32;
273 pub const DDBLT_DDFX: i32 = 2048i32;
274 pub const DDBLT_DDROPS: i32 = 4096i32;
275 pub const DDBLT_DEPTHFILL: i32 = 33554432i32;
276 pub const DDBLT_DONOTWAIT: i32 = 134217728i32;
277 pub const DDBLT_EXTENDED_FLAGS: i32 = 1073741824i32;
278 pub const DDBLT_EXTENDED_LINEAR_CONTENT: i32 = 4i32;
279 pub const DDBLT_KEYDEST: i32 = 8192i32;
280 pub const DDBLT_KEYDESTOVERRIDE: i32 = 16384i32;
281 pub const DDBLT_KEYSRC: i32 = 32768i32;
282 pub const DDBLT_KEYSRCOVERRIDE: i32 = 65536i32;
283 pub const DDBLT_LAST_PRESENTATION: i32 = 536870912i32;
284 pub const DDBLT_PRESENTATION: i32 = 268435456i32;
285 pub const DDBLT_ROP: i32 = 131072i32;
286 pub const DDBLT_ROTATIONANGLE: i32 = 262144i32;
287 pub const DDBLT_WAIT: i32 = 16777216i32;
288 pub const DDBLT_ZBUFFER: i32 = 524288i32;
289 pub const DDBLT_ZBUFFERDESTCONSTOVERRIDE: i32 = 1048576i32;
290 pub const DDBLT_ZBUFFERDESTOVERRIDE: i32 = 2097152i32;
291 pub const DDBLT_ZBUFFERSRCCONSTOVERRIDE: i32 = 4194304i32;
292 pub const DDBLT_ZBUFFERSRCOVERRIDE: i32 = 8388608i32;
293 #[repr(C)]
294 pub struct DDBOBNEXTFIELDINFO {
295     pub lpSurface: *mut DDSURFACEDATA,
296 }
297 impl ::core::marker::Copy for DDBOBNEXTFIELDINFO {}
298 impl ::core::clone::Clone for DDBOBNEXTFIELDINFO {
clone(&self) -> Self299     fn clone(&self) -> Self {
300         *self
301     }
302 }
303 pub const DDCAPS2_AUTOFLIPOVERLAY: i32 = 8i32;
304 pub const DDCAPS2_CANAUTOGENMIPMAP: i32 = 1073741824i32;
305 pub const DDCAPS2_CANBOBHARDWARE: i32 = 16384i32;
306 pub const DDCAPS2_CANBOBINTERLEAVED: i32 = 16i32;
307 pub const DDCAPS2_CANBOBNONINTERLEAVED: i32 = 32i32;
308 pub const DDCAPS2_CANCALIBRATEGAMMA: i32 = 1048576i32;
309 pub const DDCAPS2_CANDROPZ16BIT: i32 = 256i32;
310 pub const DDCAPS2_CANFLIPODDEVEN: i32 = 8192i32;
311 pub const DDCAPS2_CANMANAGERESOURCE: i32 = 268435456i32;
312 pub const DDCAPS2_CANMANAGETEXTURE: i32 = 8388608i32;
313 pub const DDCAPS2_CANRENDERWINDOWED: i32 = 524288i32;
314 pub const DDCAPS2_CANSHARERESOURCE: i32 = -2147483648i32;
315 pub const DDCAPS2_CERTIFIED: i32 = 1i32;
316 pub const DDCAPS2_COLORCONTROLOVERLAY: i32 = 64i32;
317 pub const DDCAPS2_COLORCONTROLPRIMARY: i32 = 128i32;
318 pub const DDCAPS2_COPYFOURCC: i32 = 32768i32;
319 pub const DDCAPS2_DYNAMICTEXTURES: i32 = 536870912i32;
320 pub const DDCAPS2_FLIPINTERVAL: i32 = 2097152i32;
321 pub const DDCAPS2_FLIPNOVSYNC: i32 = 4194304i32;
322 pub const DDCAPS2_NO2DDURING3DSCENE: i32 = 2i32;
323 pub const DDCAPS2_NONLOCALVIDMEM: i32 = 512i32;
324 pub const DDCAPS2_NONLOCALVIDMEMCAPS: i32 = 1024i32;
325 pub const DDCAPS2_NOPAGELOCKREQUIRED: i32 = 2048i32;
326 pub const DDCAPS2_PRIMARYGAMMA: i32 = 131072i32;
327 pub const DDCAPS2_RESERVED1: i32 = 134217728i32;
328 pub const DDCAPS2_STEREO: i32 = 33554432i32;
329 pub const DDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL: i32 = 67108864i32;
330 pub const DDCAPS2_TEXMANINNONLOCALVIDMEM: i32 = 16777216i32;
331 pub const DDCAPS2_VIDEOPORT: i32 = 4i32;
332 pub const DDCAPS2_WIDESURFACES: i32 = 4096i32;
333 pub const DDCAPS_3D: i32 = 1i32;
334 pub const DDCAPS_ALIGNBOUNDARYDEST: i32 = 2i32;
335 pub const DDCAPS_ALIGNBOUNDARYSRC: i32 = 8i32;
336 pub const DDCAPS_ALIGNSIZEDEST: i32 = 4i32;
337 pub const DDCAPS_ALIGNSIZESRC: i32 = 16i32;
338 pub const DDCAPS_ALIGNSTRIDE: i32 = 32i32;
339 pub const DDCAPS_ALPHA: i32 = 8388608i32;
340 pub const DDCAPS_BANKSWITCHED: i32 = 134217728i32;
341 pub const DDCAPS_BLT: i32 = 64i32;
342 pub const DDCAPS_BLTCOLORFILL: i32 = 67108864i32;
343 pub const DDCAPS_BLTDEPTHFILL: i32 = 268435456i32;
344 pub const DDCAPS_BLTFOURCC: i32 = 256i32;
345 pub const DDCAPS_BLTQUEUE: i32 = 128i32;
346 pub const DDCAPS_BLTSTRETCH: i32 = 512i32;
347 pub const DDCAPS_CANBLTSYSMEM: i32 = -2147483648i32;
348 pub const DDCAPS_CANCLIP: i32 = 536870912i32;
349 pub const DDCAPS_CANCLIPSTRETCHED: i32 = 1073741824i32;
350 pub const DDCAPS_COLORKEY: i32 = 4194304i32;
351 pub const DDCAPS_COLORKEYHWASSIST: i32 = 16777216i32;
352 #[repr(C)]
353 pub struct DDCAPS_DX1 {
354     pub dwSize: u32,
355     pub dwCaps: u32,
356     pub dwCaps2: u32,
357     pub dwCKeyCaps: u32,
358     pub dwFXCaps: u32,
359     pub dwFXAlphaCaps: u32,
360     pub dwPalCaps: u32,
361     pub dwSVCaps: u32,
362     pub dwAlphaBltConstBitDepths: u32,
363     pub dwAlphaBltPixelBitDepths: u32,
364     pub dwAlphaBltSurfaceBitDepths: u32,
365     pub dwAlphaOverlayConstBitDepths: u32,
366     pub dwAlphaOverlayPixelBitDepths: u32,
367     pub dwAlphaOverlaySurfaceBitDepths: u32,
368     pub dwZBufferBitDepths: u32,
369     pub dwVidMemTotal: u32,
370     pub dwVidMemFree: u32,
371     pub dwMaxVisibleOverlays: u32,
372     pub dwCurrVisibleOverlays: u32,
373     pub dwNumFourCCCodes: u32,
374     pub dwAlignBoundarySrc: u32,
375     pub dwAlignSizeSrc: u32,
376     pub dwAlignBoundaryDest: u32,
377     pub dwAlignSizeDest: u32,
378     pub dwAlignStrideAlign: u32,
379     pub dwRops: [u32; 8],
380     pub ddsCaps: DDSCAPS,
381     pub dwMinOverlayStretch: u32,
382     pub dwMaxOverlayStretch: u32,
383     pub dwMinLiveVideoStretch: u32,
384     pub dwMaxLiveVideoStretch: u32,
385     pub dwMinHwCodecStretch: u32,
386     pub dwMaxHwCodecStretch: u32,
387     pub dwReserved1: u32,
388     pub dwReserved2: u32,
389     pub dwReserved3: u32,
390 }
391 impl ::core::marker::Copy for DDCAPS_DX1 {}
392 impl ::core::clone::Clone for DDCAPS_DX1 {
clone(&self) -> Self393     fn clone(&self) -> Self {
394         *self
395     }
396 }
397 #[repr(C)]
398 pub struct DDCAPS_DX3 {
399     pub dwSize: u32,
400     pub dwCaps: u32,
401     pub dwCaps2: u32,
402     pub dwCKeyCaps: u32,
403     pub dwFXCaps: u32,
404     pub dwFXAlphaCaps: u32,
405     pub dwPalCaps: u32,
406     pub dwSVCaps: u32,
407     pub dwAlphaBltConstBitDepths: u32,
408     pub dwAlphaBltPixelBitDepths: u32,
409     pub dwAlphaBltSurfaceBitDepths: u32,
410     pub dwAlphaOverlayConstBitDepths: u32,
411     pub dwAlphaOverlayPixelBitDepths: u32,
412     pub dwAlphaOverlaySurfaceBitDepths: u32,
413     pub dwZBufferBitDepths: u32,
414     pub dwVidMemTotal: u32,
415     pub dwVidMemFree: u32,
416     pub dwMaxVisibleOverlays: u32,
417     pub dwCurrVisibleOverlays: u32,
418     pub dwNumFourCCCodes: u32,
419     pub dwAlignBoundarySrc: u32,
420     pub dwAlignSizeSrc: u32,
421     pub dwAlignBoundaryDest: u32,
422     pub dwAlignSizeDest: u32,
423     pub dwAlignStrideAlign: u32,
424     pub dwRops: [u32; 8],
425     pub ddsCaps: DDSCAPS,
426     pub dwMinOverlayStretch: u32,
427     pub dwMaxOverlayStretch: u32,
428     pub dwMinLiveVideoStretch: u32,
429     pub dwMaxLiveVideoStretch: u32,
430     pub dwMinHwCodecStretch: u32,
431     pub dwMaxHwCodecStretch: u32,
432     pub dwReserved1: u32,
433     pub dwReserved2: u32,
434     pub dwReserved3: u32,
435     pub dwSVBCaps: u32,
436     pub dwSVBCKeyCaps: u32,
437     pub dwSVBFXCaps: u32,
438     pub dwSVBRops: [u32; 8],
439     pub dwVSBCaps: u32,
440     pub dwVSBCKeyCaps: u32,
441     pub dwVSBFXCaps: u32,
442     pub dwVSBRops: [u32; 8],
443     pub dwSSBCaps: u32,
444     pub dwSSBCKeyCaps: u32,
445     pub dwSSBFXCaps: u32,
446     pub dwSSBRops: [u32; 8],
447     pub dwReserved4: u32,
448     pub dwReserved5: u32,
449     pub dwReserved6: u32,
450 }
451 impl ::core::marker::Copy for DDCAPS_DX3 {}
452 impl ::core::clone::Clone for DDCAPS_DX3 {
clone(&self) -> Self453     fn clone(&self) -> Self {
454         *self
455     }
456 }
457 #[repr(C)]
458 pub struct DDCAPS_DX5 {
459     pub dwSize: u32,
460     pub dwCaps: u32,
461     pub dwCaps2: u32,
462     pub dwCKeyCaps: u32,
463     pub dwFXCaps: u32,
464     pub dwFXAlphaCaps: u32,
465     pub dwPalCaps: u32,
466     pub dwSVCaps: u32,
467     pub dwAlphaBltConstBitDepths: u32,
468     pub dwAlphaBltPixelBitDepths: u32,
469     pub dwAlphaBltSurfaceBitDepths: u32,
470     pub dwAlphaOverlayConstBitDepths: u32,
471     pub dwAlphaOverlayPixelBitDepths: u32,
472     pub dwAlphaOverlaySurfaceBitDepths: u32,
473     pub dwZBufferBitDepths: u32,
474     pub dwVidMemTotal: u32,
475     pub dwVidMemFree: u32,
476     pub dwMaxVisibleOverlays: u32,
477     pub dwCurrVisibleOverlays: u32,
478     pub dwNumFourCCCodes: u32,
479     pub dwAlignBoundarySrc: u32,
480     pub dwAlignSizeSrc: u32,
481     pub dwAlignBoundaryDest: u32,
482     pub dwAlignSizeDest: u32,
483     pub dwAlignStrideAlign: u32,
484     pub dwRops: [u32; 8],
485     pub ddsCaps: DDSCAPS,
486     pub dwMinOverlayStretch: u32,
487     pub dwMaxOverlayStretch: u32,
488     pub dwMinLiveVideoStretch: u32,
489     pub dwMaxLiveVideoStretch: u32,
490     pub dwMinHwCodecStretch: u32,
491     pub dwMaxHwCodecStretch: u32,
492     pub dwReserved1: u32,
493     pub dwReserved2: u32,
494     pub dwReserved3: u32,
495     pub dwSVBCaps: u32,
496     pub dwSVBCKeyCaps: u32,
497     pub dwSVBFXCaps: u32,
498     pub dwSVBRops: [u32; 8],
499     pub dwVSBCaps: u32,
500     pub dwVSBCKeyCaps: u32,
501     pub dwVSBFXCaps: u32,
502     pub dwVSBRops: [u32; 8],
503     pub dwSSBCaps: u32,
504     pub dwSSBCKeyCaps: u32,
505     pub dwSSBFXCaps: u32,
506     pub dwSSBRops: [u32; 8],
507     pub dwMaxVideoPorts: u32,
508     pub dwCurrVideoPorts: u32,
509     pub dwSVBCaps2: u32,
510     pub dwNLVBCaps: u32,
511     pub dwNLVBCaps2: u32,
512     pub dwNLVBCKeyCaps: u32,
513     pub dwNLVBFXCaps: u32,
514     pub dwNLVBRops: [u32; 8],
515 }
516 impl ::core::marker::Copy for DDCAPS_DX5 {}
517 impl ::core::clone::Clone for DDCAPS_DX5 {
clone(&self) -> Self518     fn clone(&self) -> Self {
519         *self
520     }
521 }
522 #[repr(C)]
523 pub struct DDCAPS_DX6 {
524     pub dwSize: u32,
525     pub dwCaps: u32,
526     pub dwCaps2: u32,
527     pub dwCKeyCaps: u32,
528     pub dwFXCaps: u32,
529     pub dwFXAlphaCaps: u32,
530     pub dwPalCaps: u32,
531     pub dwSVCaps: u32,
532     pub dwAlphaBltConstBitDepths: u32,
533     pub dwAlphaBltPixelBitDepths: u32,
534     pub dwAlphaBltSurfaceBitDepths: u32,
535     pub dwAlphaOverlayConstBitDepths: u32,
536     pub dwAlphaOverlayPixelBitDepths: u32,
537     pub dwAlphaOverlaySurfaceBitDepths: u32,
538     pub dwZBufferBitDepths: u32,
539     pub dwVidMemTotal: u32,
540     pub dwVidMemFree: u32,
541     pub dwMaxVisibleOverlays: u32,
542     pub dwCurrVisibleOverlays: u32,
543     pub dwNumFourCCCodes: u32,
544     pub dwAlignBoundarySrc: u32,
545     pub dwAlignSizeSrc: u32,
546     pub dwAlignBoundaryDest: u32,
547     pub dwAlignSizeDest: u32,
548     pub dwAlignStrideAlign: u32,
549     pub dwRops: [u32; 8],
550     pub ddsOldCaps: DDSCAPS,
551     pub dwMinOverlayStretch: u32,
552     pub dwMaxOverlayStretch: u32,
553     pub dwMinLiveVideoStretch: u32,
554     pub dwMaxLiveVideoStretch: u32,
555     pub dwMinHwCodecStretch: u32,
556     pub dwMaxHwCodecStretch: u32,
557     pub dwReserved1: u32,
558     pub dwReserved2: u32,
559     pub dwReserved3: u32,
560     pub dwSVBCaps: u32,
561     pub dwSVBCKeyCaps: u32,
562     pub dwSVBFXCaps: u32,
563     pub dwSVBRops: [u32; 8],
564     pub dwVSBCaps: u32,
565     pub dwVSBCKeyCaps: u32,
566     pub dwVSBFXCaps: u32,
567     pub dwVSBRops: [u32; 8],
568     pub dwSSBCaps: u32,
569     pub dwSSBCKeyCaps: u32,
570     pub dwSSBFXCaps: u32,
571     pub dwSSBRops: [u32; 8],
572     pub dwMaxVideoPorts: u32,
573     pub dwCurrVideoPorts: u32,
574     pub dwSVBCaps2: u32,
575     pub dwNLVBCaps: u32,
576     pub dwNLVBCaps2: u32,
577     pub dwNLVBCKeyCaps: u32,
578     pub dwNLVBFXCaps: u32,
579     pub dwNLVBRops: [u32; 8],
580     pub ddsCaps: DDSCAPS2,
581 }
582 impl ::core::marker::Copy for DDCAPS_DX6 {}
583 impl ::core::clone::Clone for DDCAPS_DX6 {
clone(&self) -> Self584     fn clone(&self) -> Self {
585         *self
586     }
587 }
588 #[repr(C)]
589 pub struct DDCAPS_DX7 {
590     pub dwSize: u32,
591     pub dwCaps: u32,
592     pub dwCaps2: u32,
593     pub dwCKeyCaps: u32,
594     pub dwFXCaps: u32,
595     pub dwFXAlphaCaps: u32,
596     pub dwPalCaps: u32,
597     pub dwSVCaps: u32,
598     pub dwAlphaBltConstBitDepths: u32,
599     pub dwAlphaBltPixelBitDepths: u32,
600     pub dwAlphaBltSurfaceBitDepths: u32,
601     pub dwAlphaOverlayConstBitDepths: u32,
602     pub dwAlphaOverlayPixelBitDepths: u32,
603     pub dwAlphaOverlaySurfaceBitDepths: u32,
604     pub dwZBufferBitDepths: u32,
605     pub dwVidMemTotal: u32,
606     pub dwVidMemFree: u32,
607     pub dwMaxVisibleOverlays: u32,
608     pub dwCurrVisibleOverlays: u32,
609     pub dwNumFourCCCodes: u32,
610     pub dwAlignBoundarySrc: u32,
611     pub dwAlignSizeSrc: u32,
612     pub dwAlignBoundaryDest: u32,
613     pub dwAlignSizeDest: u32,
614     pub dwAlignStrideAlign: u32,
615     pub dwRops: [u32; 8],
616     pub ddsOldCaps: DDSCAPS,
617     pub dwMinOverlayStretch: u32,
618     pub dwMaxOverlayStretch: u32,
619     pub dwMinLiveVideoStretch: u32,
620     pub dwMaxLiveVideoStretch: u32,
621     pub dwMinHwCodecStretch: u32,
622     pub dwMaxHwCodecStretch: u32,
623     pub dwReserved1: u32,
624     pub dwReserved2: u32,
625     pub dwReserved3: u32,
626     pub dwSVBCaps: u32,
627     pub dwSVBCKeyCaps: u32,
628     pub dwSVBFXCaps: u32,
629     pub dwSVBRops: [u32; 8],
630     pub dwVSBCaps: u32,
631     pub dwVSBCKeyCaps: u32,
632     pub dwVSBFXCaps: u32,
633     pub dwVSBRops: [u32; 8],
634     pub dwSSBCaps: u32,
635     pub dwSSBCKeyCaps: u32,
636     pub dwSSBFXCaps: u32,
637     pub dwSSBRops: [u32; 8],
638     pub dwMaxVideoPorts: u32,
639     pub dwCurrVideoPorts: u32,
640     pub dwSVBCaps2: u32,
641     pub dwNLVBCaps: u32,
642     pub dwNLVBCaps2: u32,
643     pub dwNLVBCKeyCaps: u32,
644     pub dwNLVBFXCaps: u32,
645     pub dwNLVBRops: [u32; 8],
646     pub ddsCaps: DDSCAPS2,
647 }
648 impl ::core::marker::Copy for DDCAPS_DX7 {}
649 impl ::core::clone::Clone for DDCAPS_DX7 {
clone(&self) -> Self650     fn clone(&self) -> Self {
651         *self
652     }
653 }
654 pub const DDCAPS_GDI: i32 = 1024i32;
655 pub const DDCAPS_NOHARDWARE: i32 = 33554432i32;
656 pub const DDCAPS_OVERLAY: i32 = 2048i32;
657 pub const DDCAPS_OVERLAYCANTCLIP: i32 = 4096i32;
658 pub const DDCAPS_OVERLAYFOURCC: i32 = 8192i32;
659 pub const DDCAPS_OVERLAYSTRETCH: i32 = 16384i32;
660 pub const DDCAPS_PALETTE: i32 = 32768i32;
661 pub const DDCAPS_PALETTEVSYNC: i32 = 65536i32;
662 pub const DDCAPS_READSCANLINE: i32 = 131072i32;
663 pub const DDCAPS_RESERVED1: i32 = 262144i32;
664 pub const DDCAPS_VBI: i32 = 524288i32;
665 pub const DDCAPS_ZBLTS: i32 = 1048576i32;
666 pub const DDCAPS_ZOVERLAYS: i32 = 2097152i32;
667 pub const DDCKEYCAPS_DESTBLT: i32 = 1i32;
668 pub const DDCKEYCAPS_DESTBLTCLRSPACE: i32 = 2i32;
669 pub const DDCKEYCAPS_DESTBLTCLRSPACEYUV: i32 = 4i32;
670 pub const DDCKEYCAPS_DESTBLTYUV: i32 = 8i32;
671 pub const DDCKEYCAPS_DESTOVERLAY: i32 = 16i32;
672 pub const DDCKEYCAPS_DESTOVERLAYCLRSPACE: i32 = 32i32;
673 pub const DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV: i32 = 64i32;
674 pub const DDCKEYCAPS_DESTOVERLAYONEACTIVE: i32 = 128i32;
675 pub const DDCKEYCAPS_DESTOVERLAYYUV: i32 = 256i32;
676 pub const DDCKEYCAPS_NOCOSTOVERLAY: i32 = 262144i32;
677 pub const DDCKEYCAPS_SRCBLT: i32 = 512i32;
678 pub const DDCKEYCAPS_SRCBLTCLRSPACE: i32 = 1024i32;
679 pub const DDCKEYCAPS_SRCBLTCLRSPACEYUV: i32 = 2048i32;
680 pub const DDCKEYCAPS_SRCBLTYUV: i32 = 4096i32;
681 pub const DDCKEYCAPS_SRCOVERLAY: i32 = 8192i32;
682 pub const DDCKEYCAPS_SRCOVERLAYCLRSPACE: i32 = 16384i32;
683 pub const DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV: i32 = 32768i32;
684 pub const DDCKEYCAPS_SRCOVERLAYONEACTIVE: i32 = 65536i32;
685 pub const DDCKEYCAPS_SRCOVERLAYYUV: i32 = 131072i32;
686 pub const DDCKEY_COLORSPACE: i32 = 1i32;
687 pub const DDCKEY_DESTBLT: i32 = 2i32;
688 pub const DDCKEY_DESTOVERLAY: i32 = 4i32;
689 pub const DDCKEY_SRCBLT: i32 = 8i32;
690 pub const DDCKEY_SRCOVERLAY: i32 = 16i32;
691 #[repr(C)]
692 pub struct DDCOLORCONTROL {
693     pub dwSize: u32,
694     pub dwFlags: u32,
695     pub lBrightness: i32,
696     pub lContrast: i32,
697     pub lHue: i32,
698     pub lSaturation: i32,
699     pub lSharpness: i32,
700     pub lGamma: i32,
701     pub lColorEnable: i32,
702     pub dwReserved1: u32,
703 }
704 impl ::core::marker::Copy for DDCOLORCONTROL {}
705 impl ::core::clone::Clone for DDCOLORCONTROL {
clone(&self) -> Self706     fn clone(&self) -> Self {
707         *self
708     }
709 }
710 #[repr(C)]
711 pub struct DDCOLORKEY {
712     pub dwColorSpaceLowValue: u32,
713     pub dwColorSpaceHighValue: u32,
714 }
715 impl ::core::marker::Copy for DDCOLORKEY {}
716 impl ::core::clone::Clone for DDCOLORKEY {
clone(&self) -> Self717     fn clone(&self) -> Self {
718         *self
719     }
720 }
721 pub const DDCOLOR_BRIGHTNESS: i32 = 1i32;
722 pub const DDCOLOR_COLORENABLE: i32 = 64i32;
723 pub const DDCOLOR_CONTRAST: i32 = 2i32;
724 pub const DDCOLOR_GAMMA: i32 = 32i32;
725 pub const DDCOLOR_HUE: i32 = 4i32;
726 pub const DDCOLOR_SATURATION: i32 = 8i32;
727 pub const DDCOLOR_SHARPNESS: i32 = 16i32;
728 #[repr(C)]
729 pub struct DDCOMPBUFFERINFO {
730     pub dwSize: u32,
731     pub dwNumCompBuffers: u32,
732     pub dwWidthToCreate: u32,
733     pub dwHeightToCreate: u32,
734     pub dwBytesToAllocate: u32,
735     pub ddCompCaps: DDSCAPS2,
736     pub ddPixelFormat: DDPIXELFORMAT,
737 }
738 impl ::core::marker::Copy for DDCOMPBUFFERINFO {}
739 impl ::core::clone::Clone for DDCOMPBUFFERINFO {
clone(&self) -> Self740     fn clone(&self) -> Self {
741         *self
742     }
743 }
744 #[repr(C)]
745 pub struct DDCORECAPS {
746     pub dwSize: u32,
747     pub dwCaps: u32,
748     pub dwCaps2: u32,
749     pub dwCKeyCaps: u32,
750     pub dwFXCaps: u32,
751     pub dwFXAlphaCaps: u32,
752     pub dwPalCaps: u32,
753     pub dwSVCaps: u32,
754     pub dwAlphaBltConstBitDepths: u32,
755     pub dwAlphaBltPixelBitDepths: u32,
756     pub dwAlphaBltSurfaceBitDepths: u32,
757     pub dwAlphaOverlayConstBitDepths: u32,
758     pub dwAlphaOverlayPixelBitDepths: u32,
759     pub dwAlphaOverlaySurfaceBitDepths: u32,
760     pub dwZBufferBitDepths: u32,
761     pub dwVidMemTotal: u32,
762     pub dwVidMemFree: u32,
763     pub dwMaxVisibleOverlays: u32,
764     pub dwCurrVisibleOverlays: u32,
765     pub dwNumFourCCCodes: u32,
766     pub dwAlignBoundarySrc: u32,
767     pub dwAlignSizeSrc: u32,
768     pub dwAlignBoundaryDest: u32,
769     pub dwAlignSizeDest: u32,
770     pub dwAlignStrideAlign: u32,
771     pub dwRops: [u32; 8],
772     pub ddsCaps: DDSCAPS,
773     pub dwMinOverlayStretch: u32,
774     pub dwMaxOverlayStretch: u32,
775     pub dwMinLiveVideoStretch: u32,
776     pub dwMaxLiveVideoStretch: u32,
777     pub dwMinHwCodecStretch: u32,
778     pub dwMaxHwCodecStretch: u32,
779     pub dwReserved1: u32,
780     pub dwReserved2: u32,
781     pub dwReserved3: u32,
782     pub dwSVBCaps: u32,
783     pub dwSVBCKeyCaps: u32,
784     pub dwSVBFXCaps: u32,
785     pub dwSVBRops: [u32; 8],
786     pub dwVSBCaps: u32,
787     pub dwVSBCKeyCaps: u32,
788     pub dwVSBFXCaps: u32,
789     pub dwVSBRops: [u32; 8],
790     pub dwSSBCaps: u32,
791     pub dwSSBCKeyCaps: u32,
792     pub dwSSBFXCaps: u32,
793     pub dwSSBRops: [u32; 8],
794     pub dwMaxVideoPorts: u32,
795     pub dwCurrVideoPorts: u32,
796     pub dwSVBCaps2: u32,
797 }
798 impl ::core::marker::Copy for DDCORECAPS {}
799 impl ::core::clone::Clone for DDCORECAPS {
clone(&self) -> Self800     fn clone(&self) -> Self {
801         *self
802     }
803 }
804 pub const DDCREATEDRIVEROBJECT: u32 = 10u32;
805 pub const DDCREATE_EMULATIONONLY: i32 = 2i32;
806 pub const DDCREATE_HARDWAREONLY: i32 = 1i32;
807 #[repr(C)]
808 #[cfg(feature = "Win32_Foundation")]
809 pub struct DDDEVICEIDENTIFIER {
810     pub szDriver: [super::super::Foundation::CHAR; 512],
811     pub szDescription: [super::super::Foundation::CHAR; 512],
812     pub liDriverVersion: i64,
813     pub dwVendorId: u32,
814     pub dwDeviceId: u32,
815     pub dwSubSysId: u32,
816     pub dwRevision: u32,
817     pub guidDeviceIdentifier: ::windows_sys::core::GUID,
818 }
819 #[cfg(feature = "Win32_Foundation")]
820 impl ::core::marker::Copy for DDDEVICEIDENTIFIER {}
821 #[cfg(feature = "Win32_Foundation")]
822 impl ::core::clone::Clone for DDDEVICEIDENTIFIER {
clone(&self) -> Self823     fn clone(&self) -> Self {
824         *self
825     }
826 }
827 #[repr(C)]
828 #[cfg(feature = "Win32_Foundation")]
829 pub struct DDDEVICEIDENTIFIER2 {
830     pub szDriver: [super::super::Foundation::CHAR; 512],
831     pub szDescription: [super::super::Foundation::CHAR; 512],
832     pub liDriverVersion: i64,
833     pub dwVendorId: u32,
834     pub dwDeviceId: u32,
835     pub dwSubSysId: u32,
836     pub dwRevision: u32,
837     pub guidDeviceIdentifier: ::windows_sys::core::GUID,
838     pub dwWHQLLevel: u32,
839 }
840 #[cfg(feature = "Win32_Foundation")]
841 impl ::core::marker::Copy for DDDEVICEIDENTIFIER2 {}
842 #[cfg(feature = "Win32_Foundation")]
843 impl ::core::clone::Clone for DDDEVICEIDENTIFIER2 {
clone(&self) -> Self844     fn clone(&self) -> Self {
845         *self
846     }
847 }
848 pub const DDEDM_REFRESHRATES: i32 = 1i32;
849 pub const DDEDM_STANDARDVGAMODES: i32 = 2i32;
850 pub const DDEM_MODEFAILED: i32 = 2i32;
851 pub const DDEM_MODEPASSED: i32 = 1i32;
852 #[repr(C)]
853 pub struct DDENABLEIRQINFO {
854     pub dwIRQSources: u32,
855     pub dwLine: u32,
856     pub IRQCallback: PDX_IRQCALLBACK,
857     pub lpIRQData: *mut DX_IRQDATA,
858 }
859 impl ::core::marker::Copy for DDENABLEIRQINFO {}
860 impl ::core::clone::Clone for DDENABLEIRQINFO {
clone(&self) -> Self861     fn clone(&self) -> Self {
862         *self
863     }
864 }
865 pub const DDENUMOVERLAYZ_BACKTOFRONT: i32 = 0i32;
866 pub const DDENUMOVERLAYZ_FRONTTOBACK: i32 = 1i32;
867 pub const DDENUMRET_CANCEL: u32 = 0u32;
868 pub const DDENUMRET_OK: u32 = 1u32;
869 pub const DDENUMSURFACES_ALL: i32 = 1i32;
870 pub const DDENUMSURFACES_CANBECREATED: i32 = 8i32;
871 pub const DDENUMSURFACES_DOESEXIST: i32 = 16i32;
872 pub const DDENUMSURFACES_MATCH: i32 = 2i32;
873 pub const DDENUMSURFACES_NOMATCH: i32 = 4i32;
874 pub const DDENUM_ATTACHEDSECONDARYDEVICES: i32 = 1i32;
875 pub const DDENUM_DETACHEDSECONDARYDEVICES: i32 = 2i32;
876 pub const DDENUM_NONDISPLAYDEVICES: i32 = 4i32;
877 pub const DDERR_NOTINITIALIZED: i32 = -2147221008i32;
878 #[repr(C)]
879 pub struct DDFLIPOVERLAYINFO {
880     pub lpCurrentSurface: *mut DDSURFACEDATA,
881     pub lpTargetSurface: *mut DDSURFACEDATA,
882     pub dwFlags: u32,
883 }
884 impl ::core::marker::Copy for DDFLIPOVERLAYINFO {}
885 impl ::core::clone::Clone for DDFLIPOVERLAYINFO {
clone(&self) -> Self886     fn clone(&self) -> Self {
887         *self
888     }
889 }
890 #[repr(C)]
891 pub struct DDFLIPVIDEOPORTINFO {
892     pub lpVideoPortData: *mut DDVIDEOPORTDATA,
893     pub lpCurrentSurface: *mut DDSURFACEDATA,
894     pub lpTargetSurface: *mut DDSURFACEDATA,
895     pub dwFlipVPFlags: u32,
896 }
897 impl ::core::marker::Copy for DDFLIPVIDEOPORTINFO {}
898 impl ::core::clone::Clone for DDFLIPVIDEOPORTINFO {
clone(&self) -> Self899     fn clone(&self) -> Self {
900         *self
901     }
902 }
903 pub const DDFLIP_DONOTWAIT: i32 = 32i32;
904 pub const DDFLIP_EVEN: i32 = 2i32;
905 pub const DDFLIP_INTERVAL2: i32 = 33554432i32;
906 pub const DDFLIP_INTERVAL3: i32 = 50331648i32;
907 pub const DDFLIP_INTERVAL4: i32 = 67108864i32;
908 pub const DDFLIP_NOVSYNC: i32 = 8i32;
909 pub const DDFLIP_ODD: i32 = 4i32;
910 pub const DDFLIP_STEREO: i32 = 16i32;
911 pub const DDFLIP_WAIT: i32 = 1i32;
912 pub const DDFXALPHACAPS_BLTALPHAEDGEBLEND: i32 = 1i32;
913 pub const DDFXALPHACAPS_BLTALPHAPIXELS: i32 = 2i32;
914 pub const DDFXALPHACAPS_BLTALPHAPIXELSNEG: i32 = 4i32;
915 pub const DDFXALPHACAPS_BLTALPHASURFACES: i32 = 8i32;
916 pub const DDFXALPHACAPS_BLTALPHASURFACESNEG: i32 = 16i32;
917 pub const DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND: i32 = 32i32;
918 pub const DDFXALPHACAPS_OVERLAYALPHAPIXELS: i32 = 64i32;
919 pub const DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG: i32 = 128i32;
920 pub const DDFXALPHACAPS_OVERLAYALPHASURFACES: i32 = 256i32;
921 pub const DDFXALPHACAPS_OVERLAYALPHASURFACESNEG: i32 = 512i32;
922 pub const DDFXCAPS_BLTALPHA: i32 = 1i32;
923 pub const DDFXCAPS_BLTARITHSTRETCHY: i32 = 32i32;
924 pub const DDFXCAPS_BLTARITHSTRETCHYN: i32 = 16i32;
925 pub const DDFXCAPS_BLTFILTER: i32 = 32i32;
926 pub const DDFXCAPS_BLTMIRRORLEFTRIGHT: i32 = 64i32;
927 pub const DDFXCAPS_BLTMIRRORUPDOWN: i32 = 128i32;
928 pub const DDFXCAPS_BLTROTATION: i32 = 256i32;
929 pub const DDFXCAPS_BLTROTATION90: i32 = 512i32;
930 pub const DDFXCAPS_BLTSHRINKX: i32 = 1024i32;
931 pub const DDFXCAPS_BLTSHRINKXN: i32 = 2048i32;
932 pub const DDFXCAPS_BLTSHRINKY: i32 = 4096i32;
933 pub const DDFXCAPS_BLTSHRINKYN: i32 = 8192i32;
934 pub const DDFXCAPS_BLTSTRETCHX: i32 = 16384i32;
935 pub const DDFXCAPS_BLTSTRETCHXN: i32 = 32768i32;
936 pub const DDFXCAPS_BLTSTRETCHY: i32 = 65536i32;
937 pub const DDFXCAPS_BLTSTRETCHYN: i32 = 131072i32;
938 pub const DDFXCAPS_OVERLAYALPHA: i32 = 4i32;
939 pub const DDFXCAPS_OVERLAYARITHSTRETCHY: i32 = 262144i32;
940 pub const DDFXCAPS_OVERLAYARITHSTRETCHYN: i32 = 8i32;
941 pub const DDFXCAPS_OVERLAYDEINTERLACE: i32 = 536870912i32;
942 pub const DDFXCAPS_OVERLAYFILTER: i32 = 262144i32;
943 pub const DDFXCAPS_OVERLAYMIRRORLEFTRIGHT: i32 = 134217728i32;
944 pub const DDFXCAPS_OVERLAYMIRRORUPDOWN: i32 = 268435456i32;
945 pub const DDFXCAPS_OVERLAYSHRINKX: i32 = 524288i32;
946 pub const DDFXCAPS_OVERLAYSHRINKXN: i32 = 1048576i32;
947 pub const DDFXCAPS_OVERLAYSHRINKY: i32 = 2097152i32;
948 pub const DDFXCAPS_OVERLAYSHRINKYN: i32 = 4194304i32;
949 pub const DDFXCAPS_OVERLAYSTRETCHX: i32 = 8388608i32;
950 pub const DDFXCAPS_OVERLAYSTRETCHXN: i32 = 16777216i32;
951 pub const DDFXCAPS_OVERLAYSTRETCHY: i32 = 33554432i32;
952 pub const DDFXCAPS_OVERLAYSTRETCHYN: i32 = 67108864i32;
953 #[repr(C)]
954 pub struct DDGAMMARAMP {
955     pub red: [u16; 256],
956     pub green: [u16; 256],
957     pub blue: [u16; 256],
958 }
959 impl ::core::marker::Copy for DDGAMMARAMP {}
960 impl ::core::clone::Clone for DDGAMMARAMP {
clone(&self) -> Self961     fn clone(&self) -> Self {
962         *self
963     }
964 }
965 pub const DDGBS_CANBLT: i32 = 1i32;
966 pub const DDGBS_ISBLTDONE: i32 = 2i32;
967 pub const DDGDI_GETHOSTIDENTIFIER: i32 = 1i32;
968 pub const DDGET32BITDRIVERNAME: u32 = 11u32;
969 #[repr(C)]
970 pub struct DDGETCURRENTAUTOFLIPININFO {
971     pub lpVideoPortData: *mut DDVIDEOPORTDATA,
972 }
973 impl ::core::marker::Copy for DDGETCURRENTAUTOFLIPININFO {}
974 impl ::core::clone::Clone for DDGETCURRENTAUTOFLIPININFO {
clone(&self) -> Self975     fn clone(&self) -> Self {
976         *self
977     }
978 }
979 #[repr(C)]
980 pub struct DDGETCURRENTAUTOFLIPOUTINFO {
981     pub dwSurfaceIndex: u32,
982     pub dwVBISurfaceIndex: u32,
983 }
984 impl ::core::marker::Copy for DDGETCURRENTAUTOFLIPOUTINFO {}
985 impl ::core::clone::Clone for DDGETCURRENTAUTOFLIPOUTINFO {
clone(&self) -> Self986     fn clone(&self) -> Self {
987         *self
988     }
989 }
990 #[repr(C)]
991 pub struct DDGETIRQINFO {
992     pub dwFlags: u32,
993 }
994 impl ::core::marker::Copy for DDGETIRQINFO {}
995 impl ::core::clone::Clone for DDGETIRQINFO {
clone(&self) -> Self996     fn clone(&self) -> Self {
997         *self
998     }
999 }
1000 #[repr(C)]
1001 pub struct DDGETPOLARITYININFO {
1002     pub lpVideoPortData: *mut DDVIDEOPORTDATA,
1003 }
1004 impl ::core::marker::Copy for DDGETPOLARITYININFO {}
1005 impl ::core::clone::Clone for DDGETPOLARITYININFO {
clone(&self) -> Self1006     fn clone(&self) -> Self {
1007         *self
1008     }
1009 }
1010 #[repr(C)]
1011 pub struct DDGETPOLARITYOUTINFO {
1012     pub bPolarity: u32,
1013 }
1014 impl ::core::marker::Copy for DDGETPOLARITYOUTINFO {}
1015 impl ::core::clone::Clone for DDGETPOLARITYOUTINFO {
clone(&self) -> Self1016     fn clone(&self) -> Self {
1017         *self
1018     }
1019 }
1020 #[repr(C)]
1021 pub struct DDGETPREVIOUSAUTOFLIPININFO {
1022     pub lpVideoPortData: *mut DDVIDEOPORTDATA,
1023 }
1024 impl ::core::marker::Copy for DDGETPREVIOUSAUTOFLIPININFO {}
1025 impl ::core::clone::Clone for DDGETPREVIOUSAUTOFLIPININFO {
clone(&self) -> Self1026     fn clone(&self) -> Self {
1027         *self
1028     }
1029 }
1030 #[repr(C)]
1031 pub struct DDGETPREVIOUSAUTOFLIPOUTINFO {
1032     pub dwSurfaceIndex: u32,
1033     pub dwVBISurfaceIndex: u32,
1034 }
1035 impl ::core::marker::Copy for DDGETPREVIOUSAUTOFLIPOUTINFO {}
1036 impl ::core::clone::Clone for DDGETPREVIOUSAUTOFLIPOUTINFO {
clone(&self) -> Self1037     fn clone(&self) -> Self {
1038         *self
1039     }
1040 }
1041 #[repr(C)]
1042 pub struct DDGETTRANSFERSTATUSOUTINFO {
1043     pub dwTransferID: usize,
1044 }
1045 impl ::core::marker::Copy for DDGETTRANSFERSTATUSOUTINFO {}
1046 impl ::core::clone::Clone for DDGETTRANSFERSTATUSOUTINFO {
clone(&self) -> Self1047     fn clone(&self) -> Self {
1048         *self
1049     }
1050 }
1051 pub const DDGFS_CANFLIP: i32 = 1i32;
1052 pub const DDGFS_ISFLIPDONE: i32 = 2i32;
1053 #[repr(C)]
1054 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1055 pub struct DDHALDDRAWFNS {
1056     pub dwSize: u32,
1057     pub lpSetInfo: LPDDHAL_SETINFO,
1058     pub lpVidMemAlloc: LPDDHAL_VIDMEMALLOC,
1059     pub lpVidMemFree: LPDDHAL_VIDMEMFREE,
1060 }
1061 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1062 impl ::core::marker::Copy for DDHALDDRAWFNS {}
1063 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1064 impl ::core::clone::Clone for DDHALDDRAWFNS {
clone(&self) -> Self1065     fn clone(&self) -> Self {
1066         *self
1067     }
1068 }
1069 #[repr(C)]
1070 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1071 pub struct DDHALINFO {
1072     pub dwSize: u32,
1073     pub lpDDCallbacks: *mut DDHAL_DDCALLBACKS,
1074     pub lpDDSurfaceCallbacks: *mut DDHAL_DDSURFACECALLBACKS,
1075     pub lpDDPaletteCallbacks: *mut DDHAL_DDPALETTECALLBACKS,
1076     pub vmiData: VIDMEMINFO,
1077     pub ddCaps: DDCORECAPS,
1078     pub dwMonitorFrequency: u32,
1079     pub GetDriverInfo: LPDDHAL_GETDRIVERINFO,
1080     pub dwModeIndex: u32,
1081     pub lpdwFourCC: *mut u32,
1082     pub dwNumModes: u32,
1083     pub lpModeInfo: *mut DDHALMODEINFO,
1084     pub dwFlags: u32,
1085     pub lpPDevice: *mut ::core::ffi::c_void,
1086     pub hInstance: u32,
1087     pub lpD3DGlobalDriverData: usize,
1088     pub lpD3DHALCallbacks: usize,
1089     pub lpDDExeBufCallbacks: *mut DDHAL_DDEXEBUFCALLBACKS,
1090 }
1091 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1092 impl ::core::marker::Copy for DDHALINFO {}
1093 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1094 impl ::core::clone::Clone for DDHALINFO {
clone(&self) -> Self1095     fn clone(&self) -> Self {
1096         *self
1097     }
1098 }
1099 pub const DDHALINFO_GETDRIVERINFO2: i32 = 8i32;
1100 pub const DDHALINFO_GETDRIVERINFOSET: i32 = 4i32;
1101 pub const DDHALINFO_ISPRIMARYDISPLAY: i32 = 1i32;
1102 pub const DDHALINFO_MODEXILLEGAL: i32 = 2i32;
1103 #[repr(C)]
1104 pub struct DDHALMODEINFO {
1105     pub dwWidth: u32,
1106     pub dwHeight: u32,
1107     pub lPitch: i32,
1108     pub dwBPP: u32,
1109     pub wFlags: u16,
1110     pub wRefreshRate: u16,
1111     pub dwRBitMask: u32,
1112     pub dwGBitMask: u32,
1113     pub dwBBitMask: u32,
1114     pub dwAlphaBitMask: u32,
1115 }
1116 impl ::core::marker::Copy for DDHALMODEINFO {}
1117 impl ::core::clone::Clone for DDHALMODEINFO {
clone(&self) -> Self1118     fn clone(&self) -> Self {
1119         *self
1120     }
1121 }
1122 #[repr(C)]
1123 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1124 pub struct DDHAL_ADDATTACHEDSURFACEDATA {
1125     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1126     pub lpDDSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
1127     pub lpSurfAttached: *mut DDRAWI_DDRAWSURFACE_LCL,
1128     pub ddRVal: ::windows_sys::core::HRESULT,
1129     pub AddAttachedSurface: LPDDHALSURFCB_ADDATTACHEDSURFACE,
1130 }
1131 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1132 impl ::core::marker::Copy for DDHAL_ADDATTACHEDSURFACEDATA {}
1133 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1134 impl ::core::clone::Clone for DDHAL_ADDATTACHEDSURFACEDATA {
clone(&self) -> Self1135     fn clone(&self) -> Self {
1136         *self
1137     }
1138 }
1139 #[repr(C)]
1140 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1141 pub struct DDHAL_BEGINMOCOMPFRAMEDATA {
1142     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
1143     pub lpMoComp: *mut DDRAWI_DDMOTIONCOMP_LCL,
1144     pub lpDestSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
1145     pub dwInputDataSize: u32,
1146     pub lpInputData: *mut ::core::ffi::c_void,
1147     pub dwOutputDataSize: u32,
1148     pub lpOutputData: *mut ::core::ffi::c_void,
1149     pub ddRVal: ::windows_sys::core::HRESULT,
1150     pub BeginMoCompFrame: LPDDHALMOCOMPCB_BEGINFRAME,
1151 }
1152 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1153 impl ::core::marker::Copy for DDHAL_BEGINMOCOMPFRAMEDATA {}
1154 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1155 impl ::core::clone::Clone for DDHAL_BEGINMOCOMPFRAMEDATA {
clone(&self) -> Self1156     fn clone(&self) -> Self {
1157         *self
1158     }
1159 }
1160 #[repr(C)]
1161 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1162 pub struct DDHAL_BLTDATA {
1163     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1164     pub lpDDDestSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
1165     pub rDest: super::super::Foundation::RECTL,
1166     pub lpDDSrcSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
1167     pub rSrc: super::super::Foundation::RECTL,
1168     pub dwFlags: u32,
1169     pub dwROPFlags: u32,
1170     pub bltFX: DDBLTFX,
1171     pub ddRVal: ::windows_sys::core::HRESULT,
1172     pub Blt: LPDDHALSURFCB_BLT,
1173     pub IsClipped: super::super::Foundation::BOOL,
1174     pub rOrigDest: super::super::Foundation::RECTL,
1175     pub rOrigSrc: super::super::Foundation::RECTL,
1176     pub dwRectCnt: u32,
1177     pub prDestRects: *mut super::super::Foundation::RECT,
1178 }
1179 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1180 impl ::core::marker::Copy for DDHAL_BLTDATA {}
1181 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1182 impl ::core::clone::Clone for DDHAL_BLTDATA {
clone(&self) -> Self1183     fn clone(&self) -> Self {
1184         *self
1185     }
1186 }
1187 #[repr(C)]
1188 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1189 pub struct DDHAL_CALLBACKS {
1190     pub cbDDCallbacks: DDHAL_DDCALLBACKS,
1191     pub cbDDSurfaceCallbacks: DDHAL_DDSURFACECALLBACKS,
1192     pub cbDDPaletteCallbacks: DDHAL_DDPALETTECALLBACKS,
1193     pub HALDD: DDHAL_DDCALLBACKS,
1194     pub HALDDSurface: DDHAL_DDSURFACECALLBACKS,
1195     pub HALDDPalette: DDHAL_DDPALETTECALLBACKS,
1196     pub HELDD: DDHAL_DDCALLBACKS,
1197     pub HELDDSurface: DDHAL_DDSURFACECALLBACKS,
1198     pub HELDDPalette: DDHAL_DDPALETTECALLBACKS,
1199     pub cbDDExeBufCallbacks: DDHAL_DDEXEBUFCALLBACKS,
1200     pub HALDDExeBuf: DDHAL_DDEXEBUFCALLBACKS,
1201     pub HELDDExeBuf: DDHAL_DDEXEBUFCALLBACKS,
1202     pub cbDDVideoPortCallbacks: DDHAL_DDVIDEOPORTCALLBACKS,
1203     pub HALDDVideoPort: DDHAL_DDVIDEOPORTCALLBACKS,
1204     pub cbDDColorControlCallbacks: DDHAL_DDCOLORCONTROLCALLBACKS,
1205     pub HALDDColorControl: DDHAL_DDCOLORCONTROLCALLBACKS,
1206     pub cbDDMiscellaneousCallbacks: DDHAL_DDMISCELLANEOUSCALLBACKS,
1207     pub HALDDMiscellaneous: DDHAL_DDMISCELLANEOUSCALLBACKS,
1208     pub cbDDKernelCallbacks: DDHAL_DDKERNELCALLBACKS,
1209     pub HALDDKernel: DDHAL_DDKERNELCALLBACKS,
1210     pub cbDDMotionCompCallbacks: DDHAL_DDMOTIONCOMPCALLBACKS,
1211     pub HALDDMotionComp: DDHAL_DDMOTIONCOMPCALLBACKS,
1212 }
1213 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1214 impl ::core::marker::Copy for DDHAL_CALLBACKS {}
1215 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1216 impl ::core::clone::Clone for DDHAL_CALLBACKS {
clone(&self) -> Self1217     fn clone(&self) -> Self {
1218         *self
1219     }
1220 }
1221 #[repr(C)]
1222 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1223 pub struct DDHAL_CANCREATESURFACEDATA {
1224     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1225     pub lpDDSurfaceDesc: *mut DDSURFACEDESC,
1226     pub bIsDifferentPixelFormat: u32,
1227     pub ddRVal: ::windows_sys::core::HRESULT,
1228     pub CanCreateSurface: LPDDHAL_CANCREATESURFACE,
1229 }
1230 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1231 impl ::core::marker::Copy for DDHAL_CANCREATESURFACEDATA {}
1232 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1233 impl ::core::clone::Clone for DDHAL_CANCREATESURFACEDATA {
clone(&self) -> Self1234     fn clone(&self) -> Self {
1235         *self
1236     }
1237 }
1238 #[repr(C)]
1239 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1240 pub struct DDHAL_CANCREATEVPORTDATA {
1241     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
1242     pub lpDDVideoPortDesc: *mut DDVIDEOPORTDESC,
1243     pub ddRVal: ::windows_sys::core::HRESULT,
1244     pub CanCreateVideoPort: LPDDHALVPORTCB_CANCREATEVIDEOPORT,
1245 }
1246 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1247 impl ::core::marker::Copy for DDHAL_CANCREATEVPORTDATA {}
1248 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1249 impl ::core::clone::Clone for DDHAL_CANCREATEVPORTDATA {
clone(&self) -> Self1250     fn clone(&self) -> Self {
1251         *self
1252     }
1253 }
1254 pub const DDHAL_CB32_CANCREATESURFACE: i32 = 32i32;
1255 pub const DDHAL_CB32_CREATEPALETTE: i32 = 64i32;
1256 pub const DDHAL_CB32_CREATESURFACE: i32 = 2i32;
1257 pub const DDHAL_CB32_DESTROYDRIVER: i32 = 1i32;
1258 pub const DDHAL_CB32_FLIPTOGDISURFACE: i32 = 512i32;
1259 pub const DDHAL_CB32_GETSCANLINE: i32 = 128i32;
1260 pub const DDHAL_CB32_MAPMEMORY: i32 = -2147483648i32;
1261 pub const DDHAL_CB32_SETCOLORKEY: i32 = 4i32;
1262 pub const DDHAL_CB32_SETEXCLUSIVEMODE: i32 = 256i32;
1263 pub const DDHAL_CB32_SETMODE: i32 = 8i32;
1264 pub const DDHAL_CB32_WAITFORVERTICALBLANK: i32 = 16i32;
1265 #[repr(C)]
1266 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1267 pub struct DDHAL_COLORCONTROLDATA {
1268     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1269     pub lpDDSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
1270     pub lpColorData: *mut DDCOLORCONTROL,
1271     pub dwFlags: u32,
1272     pub ddRVal: ::windows_sys::core::HRESULT,
1273     pub ColorControl: LPDDHALCOLORCB_COLORCONTROL,
1274 }
1275 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1276 impl ::core::marker::Copy for DDHAL_COLORCONTROLDATA {}
1277 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1278 impl ::core::clone::Clone for DDHAL_COLORCONTROLDATA {
clone(&self) -> Self1279     fn clone(&self) -> Self {
1280         *self
1281     }
1282 }
1283 pub const DDHAL_COLOR_COLORCONTROL: i32 = 1i32;
1284 #[repr(C)]
1285 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1286 pub struct DDHAL_CREATEMOCOMPDATA {
1287     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
1288     pub lpMoComp: *mut DDRAWI_DDMOTIONCOMP_LCL,
1289     pub lpGuid: *mut ::windows_sys::core::GUID,
1290     pub dwUncompWidth: u32,
1291     pub dwUncompHeight: u32,
1292     pub ddUncompPixelFormat: DDPIXELFORMAT,
1293     pub lpData: *mut ::core::ffi::c_void,
1294     pub dwDataSize: u32,
1295     pub ddRVal: ::windows_sys::core::HRESULT,
1296     pub CreateMoComp: LPDDHALMOCOMPCB_CREATE,
1297 }
1298 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1299 impl ::core::marker::Copy for DDHAL_CREATEMOCOMPDATA {}
1300 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1301 impl ::core::clone::Clone for DDHAL_CREATEMOCOMPDATA {
clone(&self) -> Self1302     fn clone(&self) -> Self {
1303         *self
1304     }
1305 }
1306 #[repr(C)]
1307 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1308 pub struct DDHAL_CREATEPALETTEDATA {
1309     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1310     pub lpDDPalette: *mut DDRAWI_DDRAWPALETTE_GBL,
1311     pub lpColorTable: *mut super::Gdi::PALETTEENTRY,
1312     pub ddRVal: ::windows_sys::core::HRESULT,
1313     pub CreatePalette: LPDDHAL_CREATEPALETTE,
1314     pub is_excl: super::super::Foundation::BOOL,
1315 }
1316 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1317 impl ::core::marker::Copy for DDHAL_CREATEPALETTEDATA {}
1318 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1319 impl ::core::clone::Clone for DDHAL_CREATEPALETTEDATA {
clone(&self) -> Self1320     fn clone(&self) -> Self {
1321         *self
1322     }
1323 }
1324 #[repr(C)]
1325 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1326 pub struct DDHAL_CREATESURFACEDATA {
1327     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1328     pub lpDDSurfaceDesc: *mut DDSURFACEDESC,
1329     pub lplpSList: *mut *mut DDRAWI_DDRAWSURFACE_LCL,
1330     pub dwSCnt: u32,
1331     pub ddRVal: ::windows_sys::core::HRESULT,
1332     pub CreateSurface: LPDDHAL_CREATESURFACE,
1333 }
1334 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1335 impl ::core::marker::Copy for DDHAL_CREATESURFACEDATA {}
1336 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1337 impl ::core::clone::Clone for DDHAL_CREATESURFACEDATA {
clone(&self) -> Self1338     fn clone(&self) -> Self {
1339         *self
1340     }
1341 }
1342 #[repr(C)]
1343 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1344 pub struct DDHAL_CREATESURFACEEXDATA {
1345     pub dwFlags: u32,
1346     pub lpDDLcl: *mut DDRAWI_DIRECTDRAW_LCL,
1347     pub lpDDSLcl: *mut DDRAWI_DDRAWSURFACE_LCL,
1348     pub ddRVal: ::windows_sys::core::HRESULT,
1349 }
1350 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1351 impl ::core::marker::Copy for DDHAL_CREATESURFACEEXDATA {}
1352 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1353 impl ::core::clone::Clone for DDHAL_CREATESURFACEEXDATA {
clone(&self) -> Self1354     fn clone(&self) -> Self {
1355         *self
1356     }
1357 }
1358 pub const DDHAL_CREATESURFACEEX_SWAPHANDLES: i32 = 1i32;
1359 #[repr(C)]
1360 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1361 pub struct DDHAL_CREATEVPORTDATA {
1362     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
1363     pub lpDDVideoPortDesc: *mut DDVIDEOPORTDESC,
1364     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
1365     pub ddRVal: ::windows_sys::core::HRESULT,
1366     pub CreateVideoPort: LPDDHALVPORTCB_CREATEVIDEOPORT,
1367 }
1368 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1369 impl ::core::marker::Copy for DDHAL_CREATEVPORTDATA {}
1370 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1371 impl ::core::clone::Clone for DDHAL_CREATEVPORTDATA {
clone(&self) -> Self1372     fn clone(&self) -> Self {
1373         *self
1374     }
1375 }
1376 pub const DDHAL_D3DBUFCB32_CANCREATED3DBUF: i32 = 1i32;
1377 pub const DDHAL_D3DBUFCB32_CREATED3DBUF: i32 = 2i32;
1378 pub const DDHAL_D3DBUFCB32_DESTROYD3DBUF: i32 = 4i32;
1379 pub const DDHAL_D3DBUFCB32_LOCKD3DBUF: i32 = 8i32;
1380 pub const DDHAL_D3DBUFCB32_UNLOCKD3DBUF: i32 = 16i32;
1381 #[repr(C)]
1382 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1383 pub struct DDHAL_DDCALLBACKS {
1384     pub dwSize: u32,
1385     pub dwFlags: u32,
1386     pub DestroyDriver: LPDDHAL_DESTROYDRIVER,
1387     pub CreateSurface: LPDDHAL_CREATESURFACE,
1388     pub SetColorKey: LPDDHAL_SETCOLORKEY,
1389     pub SetMode: LPDDHAL_SETMODE,
1390     pub WaitForVerticalBlank: LPDDHAL_WAITFORVERTICALBLANK,
1391     pub CanCreateSurface: LPDDHAL_CANCREATESURFACE,
1392     pub CreatePalette: LPDDHAL_CREATEPALETTE,
1393     pub GetScanLine: LPDDHAL_GETSCANLINE,
1394     pub SetExclusiveMode: LPDDHAL_SETEXCLUSIVEMODE,
1395     pub FlipToGDISurface: LPDDHAL_FLIPTOGDISURFACE,
1396 }
1397 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1398 impl ::core::marker::Copy for DDHAL_DDCALLBACKS {}
1399 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1400 impl ::core::clone::Clone for DDHAL_DDCALLBACKS {
clone(&self) -> Self1401     fn clone(&self) -> Self {
1402         *self
1403     }
1404 }
1405 #[repr(C)]
1406 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1407 pub struct DDHAL_DDCOLORCONTROLCALLBACKS {
1408     pub dwSize: u32,
1409     pub dwFlags: u32,
1410     pub ColorControl: LPDDHALCOLORCB_COLORCONTROL,
1411 }
1412 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1413 impl ::core::marker::Copy for DDHAL_DDCOLORCONTROLCALLBACKS {}
1414 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1415 impl ::core::clone::Clone for DDHAL_DDCOLORCONTROLCALLBACKS {
clone(&self) -> Self1416     fn clone(&self) -> Self {
1417         *self
1418     }
1419 }
1420 #[repr(C)]
1421 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1422 pub struct DDHAL_DDEXEBUFCALLBACKS {
1423     pub dwSize: u32,
1424     pub dwFlags: u32,
1425     pub CanCreateExecuteBuffer: LPDDHALEXEBUFCB_CANCREATEEXEBUF,
1426     pub CreateExecuteBuffer: LPDDHALEXEBUFCB_CREATEEXEBUF,
1427     pub DestroyExecuteBuffer: LPDDHALEXEBUFCB_DESTROYEXEBUF,
1428     pub LockExecuteBuffer: LPDDHALEXEBUFCB_LOCKEXEBUF,
1429     pub UnlockExecuteBuffer: LPDDHALEXEBUFCB_UNLOCKEXEBUF,
1430 }
1431 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1432 impl ::core::marker::Copy for DDHAL_DDEXEBUFCALLBACKS {}
1433 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1434 impl ::core::clone::Clone for DDHAL_DDEXEBUFCALLBACKS {
clone(&self) -> Self1435     fn clone(&self) -> Self {
1436         *self
1437     }
1438 }
1439 #[repr(C)]
1440 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1441 pub struct DDHAL_DDKERNELCALLBACKS {
1442     pub dwSize: u32,
1443     pub dwFlags: u32,
1444     pub SyncSurfaceData: LPDDHALKERNELCB_SYNCSURFACE,
1445     pub SyncVideoPortData: LPDDHALKERNELCB_SYNCVIDEOPORT,
1446 }
1447 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1448 impl ::core::marker::Copy for DDHAL_DDKERNELCALLBACKS {}
1449 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1450 impl ::core::clone::Clone for DDHAL_DDKERNELCALLBACKS {
clone(&self) -> Self1451     fn clone(&self) -> Self {
1452         *self
1453     }
1454 }
1455 #[repr(C)]
1456 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1457 pub struct DDHAL_DDMISCELLANEOUS2CALLBACKS {
1458     pub dwSize: u32,
1459     pub dwFlags: u32,
1460     pub Reserved: *mut ::core::ffi::c_void,
1461     pub CreateSurfaceEx: LPDDHAL_CREATESURFACEEX,
1462     pub GetDriverState: LPDDHAL_GETDRIVERSTATE,
1463     pub DestroyDDLocal: LPDDHAL_DESTROYDDLOCAL,
1464 }
1465 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1466 impl ::core::marker::Copy for DDHAL_DDMISCELLANEOUS2CALLBACKS {}
1467 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1468 impl ::core::clone::Clone for DDHAL_DDMISCELLANEOUS2CALLBACKS {
clone(&self) -> Self1469     fn clone(&self) -> Self {
1470         *self
1471     }
1472 }
1473 #[repr(C)]
1474 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1475 pub struct DDHAL_DDMISCELLANEOUSCALLBACKS {
1476     pub dwSize: u32,
1477     pub dwFlags: u32,
1478     pub GetAvailDriverMemory: LPDDHAL_GETAVAILDRIVERMEMORY,
1479     pub UpdateNonLocalHeap: LPDDHAL_UPDATENONLOCALHEAP,
1480     pub GetHeapAlignment: LPDDHAL_GETHEAPALIGNMENT,
1481     pub GetSysmemBltStatus: LPDDHALSURFCB_GETBLTSTATUS,
1482 }
1483 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1484 impl ::core::marker::Copy for DDHAL_DDMISCELLANEOUSCALLBACKS {}
1485 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1486 impl ::core::clone::Clone for DDHAL_DDMISCELLANEOUSCALLBACKS {
clone(&self) -> Self1487     fn clone(&self) -> Self {
1488         *self
1489     }
1490 }
1491 #[repr(C)]
1492 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1493 pub struct DDHAL_DDMOTIONCOMPCALLBACKS {
1494     pub dwSize: u32,
1495     pub dwFlags: u32,
1496     pub GetMoCompGuids: LPDDHALMOCOMPCB_GETGUIDS,
1497     pub GetMoCompFormats: LPDDHALMOCOMPCB_GETFORMATS,
1498     pub CreateMoComp: LPDDHALMOCOMPCB_CREATE,
1499     pub GetMoCompBuffInfo: LPDDHALMOCOMPCB_GETCOMPBUFFINFO,
1500     pub GetInternalMoCompInfo: LPDDHALMOCOMPCB_GETINTERNALINFO,
1501     pub BeginMoCompFrame: LPDDHALMOCOMPCB_BEGINFRAME,
1502     pub EndMoCompFrame: LPDDHALMOCOMPCB_ENDFRAME,
1503     pub RenderMoComp: LPDDHALMOCOMPCB_RENDER,
1504     pub QueryMoCompStatus: LPDDHALMOCOMPCB_QUERYSTATUS,
1505     pub DestroyMoComp: LPDDHALMOCOMPCB_DESTROY,
1506 }
1507 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1508 impl ::core::marker::Copy for DDHAL_DDMOTIONCOMPCALLBACKS {}
1509 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1510 impl ::core::clone::Clone for DDHAL_DDMOTIONCOMPCALLBACKS {
clone(&self) -> Self1511     fn clone(&self) -> Self {
1512         *self
1513     }
1514 }
1515 #[repr(C)]
1516 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1517 pub struct DDHAL_DDPALETTECALLBACKS {
1518     pub dwSize: u32,
1519     pub dwFlags: u32,
1520     pub DestroyPalette: LPDDHALPALCB_DESTROYPALETTE,
1521     pub SetEntries: LPDDHALPALCB_SETENTRIES,
1522 }
1523 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1524 impl ::core::marker::Copy for DDHAL_DDPALETTECALLBACKS {}
1525 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1526 impl ::core::clone::Clone for DDHAL_DDPALETTECALLBACKS {
clone(&self) -> Self1527     fn clone(&self) -> Self {
1528         *self
1529     }
1530 }
1531 #[repr(C)]
1532 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1533 pub struct DDHAL_DDSURFACECALLBACKS {
1534     pub dwSize: u32,
1535     pub dwFlags: u32,
1536     pub DestroySurface: LPDDHALSURFCB_DESTROYSURFACE,
1537     pub Flip: LPDDHALSURFCB_FLIP,
1538     pub SetClipList: LPDDHALSURFCB_SETCLIPLIST,
1539     pub Lock: LPDDHALSURFCB_LOCK,
1540     pub Unlock: LPDDHALSURFCB_UNLOCK,
1541     pub Blt: LPDDHALSURFCB_BLT,
1542     pub SetColorKey: LPDDHALSURFCB_SETCOLORKEY,
1543     pub AddAttachedSurface: LPDDHALSURFCB_ADDATTACHEDSURFACE,
1544     pub GetBltStatus: LPDDHALSURFCB_GETBLTSTATUS,
1545     pub GetFlipStatus: LPDDHALSURFCB_GETFLIPSTATUS,
1546     pub UpdateOverlay: LPDDHALSURFCB_UPDATEOVERLAY,
1547     pub SetOverlayPosition: LPDDHALSURFCB_SETOVERLAYPOSITION,
1548     pub reserved4: *mut ::core::ffi::c_void,
1549     pub SetPalette: LPDDHALSURFCB_SETPALETTE,
1550 }
1551 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1552 impl ::core::marker::Copy for DDHAL_DDSURFACECALLBACKS {}
1553 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1554 impl ::core::clone::Clone for DDHAL_DDSURFACECALLBACKS {
clone(&self) -> Self1555     fn clone(&self) -> Self {
1556         *self
1557     }
1558 }
1559 #[repr(C)]
1560 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1561 pub struct DDHAL_DDVIDEOPORTCALLBACKS {
1562     pub dwSize: u32,
1563     pub dwFlags: u32,
1564     pub CanCreateVideoPort: LPDDHALVPORTCB_CANCREATEVIDEOPORT,
1565     pub CreateVideoPort: LPDDHALVPORTCB_CREATEVIDEOPORT,
1566     pub FlipVideoPort: LPDDHALVPORTCB_FLIP,
1567     pub GetVideoPortBandwidth: LPDDHALVPORTCB_GETBANDWIDTH,
1568     pub GetVideoPortInputFormats: LPDDHALVPORTCB_GETINPUTFORMATS,
1569     pub GetVideoPortOutputFormats: LPDDHALVPORTCB_GETOUTPUTFORMATS,
1570     pub lpReserved1: *mut ::core::ffi::c_void,
1571     pub GetVideoPortField: LPDDHALVPORTCB_GETFIELD,
1572     pub GetVideoPortLine: LPDDHALVPORTCB_GETLINE,
1573     pub GetVideoPortConnectInfo: LPDDHALVPORTCB_GETVPORTCONNECT,
1574     pub DestroyVideoPort: LPDDHALVPORTCB_DESTROYVPORT,
1575     pub GetVideoPortFlipStatus: LPDDHALVPORTCB_GETFLIPSTATUS,
1576     pub UpdateVideoPort: LPDDHALVPORTCB_UPDATE,
1577     pub WaitForVideoPortSync: LPDDHALVPORTCB_WAITFORSYNC,
1578     pub GetVideoSignalStatus: LPDDHALVPORTCB_GETSIGNALSTATUS,
1579     pub ColorControl: LPDDHALVPORTCB_COLORCONTROL,
1580 }
1581 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1582 impl ::core::marker::Copy for DDHAL_DDVIDEOPORTCALLBACKS {}
1583 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1584 impl ::core::clone::Clone for DDHAL_DDVIDEOPORTCALLBACKS {
clone(&self) -> Self1585     fn clone(&self) -> Self {
1586         *self
1587     }
1588 }
1589 #[repr(C)]
1590 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1591 pub struct DDHAL_DESTROYDDLOCALDATA {
1592     pub dwFlags: u32,
1593     pub pDDLcl: *mut DDRAWI_DIRECTDRAW_LCL,
1594     pub ddRVal: ::windows_sys::core::HRESULT,
1595 }
1596 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1597 impl ::core::marker::Copy for DDHAL_DESTROYDDLOCALDATA {}
1598 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1599 impl ::core::clone::Clone for DDHAL_DESTROYDDLOCALDATA {
clone(&self) -> Self1600     fn clone(&self) -> Self {
1601         *self
1602     }
1603 }
1604 #[repr(C)]
1605 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1606 pub struct DDHAL_DESTROYDRIVERDATA {
1607     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1608     pub ddRVal: ::windows_sys::core::HRESULT,
1609     pub DestroyDriver: LPDDHAL_DESTROYDRIVER,
1610 }
1611 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1612 impl ::core::marker::Copy for DDHAL_DESTROYDRIVERDATA {}
1613 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1614 impl ::core::clone::Clone for DDHAL_DESTROYDRIVERDATA {
clone(&self) -> Self1615     fn clone(&self) -> Self {
1616         *self
1617     }
1618 }
1619 #[repr(C)]
1620 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1621 pub struct DDHAL_DESTROYMOCOMPDATA {
1622     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
1623     pub lpMoComp: *mut DDRAWI_DDMOTIONCOMP_LCL,
1624     pub ddRVal: ::windows_sys::core::HRESULT,
1625     pub DestroyMoComp: LPDDHALMOCOMPCB_DESTROY,
1626 }
1627 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1628 impl ::core::marker::Copy for DDHAL_DESTROYMOCOMPDATA {}
1629 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1630 impl ::core::clone::Clone for DDHAL_DESTROYMOCOMPDATA {
clone(&self) -> Self1631     fn clone(&self) -> Self {
1632         *self
1633     }
1634 }
1635 #[repr(C)]
1636 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1637 pub struct DDHAL_DESTROYPALETTEDATA {
1638     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1639     pub lpDDPalette: *mut DDRAWI_DDRAWPALETTE_GBL,
1640     pub ddRVal: ::windows_sys::core::HRESULT,
1641     pub DestroyPalette: LPDDHALPALCB_DESTROYPALETTE,
1642 }
1643 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1644 impl ::core::marker::Copy for DDHAL_DESTROYPALETTEDATA {}
1645 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1646 impl ::core::clone::Clone for DDHAL_DESTROYPALETTEDATA {
clone(&self) -> Self1647     fn clone(&self) -> Self {
1648         *self
1649     }
1650 }
1651 #[repr(C)]
1652 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1653 pub struct DDHAL_DESTROYSURFACEDATA {
1654     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1655     pub lpDDSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
1656     pub ddRVal: ::windows_sys::core::HRESULT,
1657     pub DestroySurface: LPDDHALSURFCB_DESTROYSURFACE,
1658 }
1659 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1660 impl ::core::marker::Copy for DDHAL_DESTROYSURFACEDATA {}
1661 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1662 impl ::core::clone::Clone for DDHAL_DESTROYSURFACEDATA {
clone(&self) -> Self1663     fn clone(&self) -> Self {
1664         *self
1665     }
1666 }
1667 #[repr(C)]
1668 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1669 pub struct DDHAL_DESTROYVPORTDATA {
1670     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
1671     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
1672     pub ddRVal: ::windows_sys::core::HRESULT,
1673     pub DestroyVideoPort: LPDDHALVPORTCB_DESTROYVPORT,
1674 }
1675 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1676 impl ::core::marker::Copy for DDHAL_DESTROYVPORTDATA {}
1677 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1678 impl ::core::clone::Clone for DDHAL_DESTROYVPORTDATA {
clone(&self) -> Self1679     fn clone(&self) -> Self {
1680         *self
1681     }
1682 }
1683 pub const DDHAL_DRIVER_HANDLED: i32 = 1i32;
1684 pub const DDHAL_DRIVER_NOCKEYHW: i32 = 2i32;
1685 pub const DDHAL_DRIVER_NOTHANDLED: i32 = 0i32;
1686 #[repr(C)]
1687 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1688 pub struct DDHAL_DRVSETCOLORKEYDATA {
1689     pub lpDDSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
1690     pub dwFlags: u32,
1691     pub ckNew: DDCOLORKEY,
1692     pub ddRVal: ::windows_sys::core::HRESULT,
1693     pub SetColorKey: LPDDHAL_SETCOLORKEY,
1694 }
1695 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1696 impl ::core::marker::Copy for DDHAL_DRVSETCOLORKEYDATA {}
1697 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1698 impl ::core::clone::Clone for DDHAL_DRVSETCOLORKEYDATA {
clone(&self) -> Self1699     fn clone(&self) -> Self {
1700         *self
1701     }
1702 }
1703 #[repr(C)]
1704 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1705 pub struct DDHAL_ENDMOCOMPFRAMEDATA {
1706     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
1707     pub lpMoComp: *mut DDRAWI_DDMOTIONCOMP_LCL,
1708     pub lpInputData: *mut ::core::ffi::c_void,
1709     pub dwInputDataSize: u32,
1710     pub ddRVal: ::windows_sys::core::HRESULT,
1711     pub EndMoCompFrame: LPDDHALMOCOMPCB_ENDFRAME,
1712 }
1713 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1714 impl ::core::marker::Copy for DDHAL_ENDMOCOMPFRAMEDATA {}
1715 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1716 impl ::core::clone::Clone for DDHAL_ENDMOCOMPFRAMEDATA {
clone(&self) -> Self1717     fn clone(&self) -> Self {
1718         *self
1719     }
1720 }
1721 pub const DDHAL_EXEBUFCB32_CANCREATEEXEBUF: i32 = 1i32;
1722 pub const DDHAL_EXEBUFCB32_CREATEEXEBUF: i32 = 2i32;
1723 pub const DDHAL_EXEBUFCB32_DESTROYEXEBUF: i32 = 4i32;
1724 pub const DDHAL_EXEBUFCB32_LOCKEXEBUF: i32 = 8i32;
1725 pub const DDHAL_EXEBUFCB32_UNLOCKEXEBUF: i32 = 16i32;
1726 #[repr(C)]
1727 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1728 pub struct DDHAL_FLIPDATA {
1729     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1730     pub lpSurfCurr: *mut DDRAWI_DDRAWSURFACE_LCL,
1731     pub lpSurfTarg: *mut DDRAWI_DDRAWSURFACE_LCL,
1732     pub dwFlags: u32,
1733     pub ddRVal: ::windows_sys::core::HRESULT,
1734     pub Flip: LPDDHALSURFCB_FLIP,
1735     pub lpSurfCurrLeft: *mut DDRAWI_DDRAWSURFACE_LCL,
1736     pub lpSurfTargLeft: *mut DDRAWI_DDRAWSURFACE_LCL,
1737 }
1738 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1739 impl ::core::marker::Copy for DDHAL_FLIPDATA {}
1740 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1741 impl ::core::clone::Clone for DDHAL_FLIPDATA {
clone(&self) -> Self1742     fn clone(&self) -> Self {
1743         *self
1744     }
1745 }
1746 #[repr(C)]
1747 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1748 pub struct DDHAL_FLIPTOGDISURFACEDATA {
1749     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1750     pub dwToGDI: u32,
1751     pub dwReserved: u32,
1752     pub ddRVal: ::windows_sys::core::HRESULT,
1753     pub FlipToGDISurface: LPDDHAL_FLIPTOGDISURFACE,
1754 }
1755 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1756 impl ::core::marker::Copy for DDHAL_FLIPTOGDISURFACEDATA {}
1757 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1758 impl ::core::clone::Clone for DDHAL_FLIPTOGDISURFACEDATA {
clone(&self) -> Self1759     fn clone(&self) -> Self {
1760         *self
1761     }
1762 }
1763 #[repr(C)]
1764 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1765 pub struct DDHAL_FLIPVPORTDATA {
1766     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
1767     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
1768     pub lpSurfCurr: *mut DDRAWI_DDRAWSURFACE_LCL,
1769     pub lpSurfTarg: *mut DDRAWI_DDRAWSURFACE_LCL,
1770     pub ddRVal: ::windows_sys::core::HRESULT,
1771     pub FlipVideoPort: LPDDHALVPORTCB_FLIP,
1772 }
1773 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1774 impl ::core::marker::Copy for DDHAL_FLIPVPORTDATA {}
1775 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1776 impl ::core::clone::Clone for DDHAL_FLIPVPORTDATA {
clone(&self) -> Self1777     fn clone(&self) -> Self {
1778         *self
1779     }
1780 }
1781 #[repr(C)]
1782 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1783 pub struct DDHAL_GETAVAILDRIVERMEMORYDATA {
1784     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1785     pub DDSCaps: DDSCAPS,
1786     pub dwTotal: u32,
1787     pub dwFree: u32,
1788     pub ddRVal: ::windows_sys::core::HRESULT,
1789     pub GetAvailDriverMemory: LPDDHAL_GETAVAILDRIVERMEMORY,
1790     pub ddsCapsEx: DDSCAPSEX,
1791 }
1792 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1793 impl ::core::marker::Copy for DDHAL_GETAVAILDRIVERMEMORYDATA {}
1794 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1795 impl ::core::clone::Clone for DDHAL_GETAVAILDRIVERMEMORYDATA {
clone(&self) -> Self1796     fn clone(&self) -> Self {
1797         *self
1798     }
1799 }
1800 #[repr(C)]
1801 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1802 pub struct DDHAL_GETBLTSTATUSDATA {
1803     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1804     pub lpDDSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
1805     pub dwFlags: u32,
1806     pub ddRVal: ::windows_sys::core::HRESULT,
1807     pub GetBltStatus: LPDDHALSURFCB_GETBLTSTATUS,
1808 }
1809 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1810 impl ::core::marker::Copy for DDHAL_GETBLTSTATUSDATA {}
1811 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1812 impl ::core::clone::Clone for DDHAL_GETBLTSTATUSDATA {
clone(&self) -> Self1813     fn clone(&self) -> Self {
1814         *self
1815     }
1816 }
1817 #[repr(C)]
1818 pub struct DDHAL_GETDRIVERINFODATA {
1819     pub dwSize: u32,
1820     pub dwFlags: u32,
1821     pub guidInfo: ::windows_sys::core::GUID,
1822     pub dwExpectedSize: u32,
1823     pub lpvData: *mut ::core::ffi::c_void,
1824     pub dwActualSize: u32,
1825     pub ddRVal: ::windows_sys::core::HRESULT,
1826     pub dwContext: usize,
1827 }
1828 impl ::core::marker::Copy for DDHAL_GETDRIVERINFODATA {}
1829 impl ::core::clone::Clone for DDHAL_GETDRIVERINFODATA {
clone(&self) -> Self1830     fn clone(&self) -> Self {
1831         *self
1832     }
1833 }
1834 #[repr(C)]
1835 pub struct DDHAL_GETDRIVERSTATEDATA {
1836     pub dwFlags: u32,
1837     pub Anonymous: DDHAL_GETDRIVERSTATEDATA_0,
1838     pub lpdwStates: *mut u32,
1839     pub dwLength: u32,
1840     pub ddRVal: ::windows_sys::core::HRESULT,
1841 }
1842 impl ::core::marker::Copy for DDHAL_GETDRIVERSTATEDATA {}
1843 impl ::core::clone::Clone for DDHAL_GETDRIVERSTATEDATA {
clone(&self) -> Self1844     fn clone(&self) -> Self {
1845         *self
1846     }
1847 }
1848 #[repr(C)]
1849 pub union DDHAL_GETDRIVERSTATEDATA_0 {
1850     pub dwhContext: usize,
1851 }
1852 impl ::core::marker::Copy for DDHAL_GETDRIVERSTATEDATA_0 {}
1853 impl ::core::clone::Clone for DDHAL_GETDRIVERSTATEDATA_0 {
clone(&self) -> Self1854     fn clone(&self) -> Self {
1855         *self
1856     }
1857 }
1858 #[repr(C)]
1859 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1860 pub struct DDHAL_GETFLIPSTATUSDATA {
1861     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1862     pub lpDDSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
1863     pub dwFlags: u32,
1864     pub ddRVal: ::windows_sys::core::HRESULT,
1865     pub GetFlipStatus: LPDDHALSURFCB_GETFLIPSTATUS,
1866 }
1867 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1868 impl ::core::marker::Copy for DDHAL_GETFLIPSTATUSDATA {}
1869 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1870 impl ::core::clone::Clone for DDHAL_GETFLIPSTATUSDATA {
clone(&self) -> Self1871     fn clone(&self) -> Self {
1872         *self
1873     }
1874 }
1875 #[repr(C)]
1876 pub struct DDHAL_GETHEAPALIGNMENTDATA {
1877     pub dwInstance: usize,
1878     pub dwHeap: u32,
1879     pub ddRVal: ::windows_sys::core::HRESULT,
1880     pub GetHeapAlignment: LPDDHAL_GETHEAPALIGNMENT,
1881     pub Alignment: HEAPALIGNMENT,
1882 }
1883 impl ::core::marker::Copy for DDHAL_GETHEAPALIGNMENTDATA {}
1884 impl ::core::clone::Clone for DDHAL_GETHEAPALIGNMENTDATA {
clone(&self) -> Self1885     fn clone(&self) -> Self {
1886         *self
1887     }
1888 }
1889 #[repr(C)]
1890 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1891 pub struct DDHAL_GETINTERNALMOCOMPDATA {
1892     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
1893     pub lpGuid: *mut ::windows_sys::core::GUID,
1894     pub dwWidth: u32,
1895     pub dwHeight: u32,
1896     pub ddPixelFormat: DDPIXELFORMAT,
1897     pub dwScratchMemAlloc: u32,
1898     pub ddRVal: ::windows_sys::core::HRESULT,
1899     pub GetInternalMoCompInfo: LPDDHALMOCOMPCB_GETINTERNALINFO,
1900 }
1901 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1902 impl ::core::marker::Copy for DDHAL_GETINTERNALMOCOMPDATA {}
1903 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1904 impl ::core::clone::Clone for DDHAL_GETINTERNALMOCOMPDATA {
clone(&self) -> Self1905     fn clone(&self) -> Self {
1906         *self
1907     }
1908 }
1909 #[repr(C)]
1910 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1911 pub struct DDHAL_GETMOCOMPCOMPBUFFDATA {
1912     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
1913     pub lpGuid: *mut ::windows_sys::core::GUID,
1914     pub dwWidth: u32,
1915     pub dwHeight: u32,
1916     pub ddPixelFormat: DDPIXELFORMAT,
1917     pub dwNumTypesCompBuffs: u32,
1918     pub lpCompBuffInfo: *mut DDMCCOMPBUFFERINFO,
1919     pub ddRVal: ::windows_sys::core::HRESULT,
1920     pub GetMoCompBuffInfo: LPDDHALMOCOMPCB_GETCOMPBUFFINFO,
1921 }
1922 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1923 impl ::core::marker::Copy for DDHAL_GETMOCOMPCOMPBUFFDATA {}
1924 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1925 impl ::core::clone::Clone for DDHAL_GETMOCOMPCOMPBUFFDATA {
clone(&self) -> Self1926     fn clone(&self) -> Self {
1927         *self
1928     }
1929 }
1930 #[repr(C)]
1931 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1932 pub struct DDHAL_GETMOCOMPFORMATSDATA {
1933     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
1934     pub lpGuid: *mut ::windows_sys::core::GUID,
1935     pub dwNumFormats: u32,
1936     pub lpFormats: *mut DDPIXELFORMAT,
1937     pub ddRVal: ::windows_sys::core::HRESULT,
1938     pub GetMoCompFormats: LPDDHALMOCOMPCB_GETFORMATS,
1939 }
1940 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1941 impl ::core::marker::Copy for DDHAL_GETMOCOMPFORMATSDATA {}
1942 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1943 impl ::core::clone::Clone for DDHAL_GETMOCOMPFORMATSDATA {
clone(&self) -> Self1944     fn clone(&self) -> Self {
1945         *self
1946     }
1947 }
1948 #[repr(C)]
1949 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1950 pub struct DDHAL_GETMOCOMPGUIDSDATA {
1951     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
1952     pub dwNumGuids: u32,
1953     pub lpGuids: *mut ::windows_sys::core::GUID,
1954     pub ddRVal: ::windows_sys::core::HRESULT,
1955     pub GetMoCompGuids: LPDDHALMOCOMPCB_GETGUIDS,
1956 }
1957 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1958 impl ::core::marker::Copy for DDHAL_GETMOCOMPGUIDSDATA {}
1959 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1960 impl ::core::clone::Clone for DDHAL_GETMOCOMPGUIDSDATA {
clone(&self) -> Self1961     fn clone(&self) -> Self {
1962         *self
1963     }
1964 }
1965 #[repr(C)]
1966 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1967 pub struct DDHAL_GETSCANLINEDATA {
1968     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
1969     pub dwScanLine: u32,
1970     pub ddRVal: ::windows_sys::core::HRESULT,
1971     pub GetScanLine: LPDDHAL_GETSCANLINE,
1972 }
1973 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1974 impl ::core::marker::Copy for DDHAL_GETSCANLINEDATA {}
1975 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1976 impl ::core::clone::Clone for DDHAL_GETSCANLINEDATA {
clone(&self) -> Self1977     fn clone(&self) -> Self {
1978         *self
1979     }
1980 }
1981 #[repr(C)]
1982 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1983 pub struct DDHAL_GETVPORTBANDWIDTHDATA {
1984     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
1985     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
1986     pub lpddpfFormat: *mut DDPIXELFORMAT,
1987     pub dwWidth: u32,
1988     pub dwHeight: u32,
1989     pub dwFlags: u32,
1990     pub lpBandwidth: *mut DDVIDEOPORTBANDWIDTH,
1991     pub ddRVal: ::windows_sys::core::HRESULT,
1992     pub GetVideoPortBandwidth: LPDDHALVPORTCB_GETBANDWIDTH,
1993 }
1994 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1995 impl ::core::marker::Copy for DDHAL_GETVPORTBANDWIDTHDATA {}
1996 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
1997 impl ::core::clone::Clone for DDHAL_GETVPORTBANDWIDTHDATA {
clone(&self) -> Self1998     fn clone(&self) -> Self {
1999         *self
2000     }
2001 }
2002 #[repr(C)]
2003 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2004 pub struct DDHAL_GETVPORTCONNECTDATA {
2005     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2006     pub dwPortId: u32,
2007     pub lpConnect: *mut DDVIDEOPORTCONNECT,
2008     pub dwNumEntries: u32,
2009     pub ddRVal: ::windows_sys::core::HRESULT,
2010     pub GetVideoPortConnectInfo: LPDDHALVPORTCB_GETVPORTCONNECT,
2011 }
2012 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2013 impl ::core::marker::Copy for DDHAL_GETVPORTCONNECTDATA {}
2014 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2015 impl ::core::clone::Clone for DDHAL_GETVPORTCONNECTDATA {
clone(&self) -> Self2016     fn clone(&self) -> Self {
2017         *self
2018     }
2019 }
2020 #[repr(C)]
2021 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2022 pub struct DDHAL_GETVPORTFIELDDATA {
2023     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2024     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
2025     pub bField: super::super::Foundation::BOOL,
2026     pub ddRVal: ::windows_sys::core::HRESULT,
2027     pub GetVideoPortField: LPDDHALVPORTCB_GETFIELD,
2028 }
2029 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2030 impl ::core::marker::Copy for DDHAL_GETVPORTFIELDDATA {}
2031 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2032 impl ::core::clone::Clone for DDHAL_GETVPORTFIELDDATA {
clone(&self) -> Self2033     fn clone(&self) -> Self {
2034         *self
2035     }
2036 }
2037 #[repr(C)]
2038 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2039 pub struct DDHAL_GETVPORTFLIPSTATUSDATA {
2040     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2041     pub fpSurface: usize,
2042     pub ddRVal: ::windows_sys::core::HRESULT,
2043     pub GetVideoPortFlipStatus: LPDDHALVPORTCB_GETFLIPSTATUS,
2044 }
2045 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2046 impl ::core::marker::Copy for DDHAL_GETVPORTFLIPSTATUSDATA {}
2047 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2048 impl ::core::clone::Clone for DDHAL_GETVPORTFLIPSTATUSDATA {
clone(&self) -> Self2049     fn clone(&self) -> Self {
2050         *self
2051     }
2052 }
2053 #[repr(C)]
2054 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2055 pub struct DDHAL_GETVPORTINPUTFORMATDATA {
2056     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2057     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
2058     pub dwFlags: u32,
2059     pub lpddpfFormat: *mut DDPIXELFORMAT,
2060     pub dwNumFormats: u32,
2061     pub ddRVal: ::windows_sys::core::HRESULT,
2062     pub GetVideoPortInputFormats: LPDDHALVPORTCB_GETINPUTFORMATS,
2063 }
2064 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2065 impl ::core::marker::Copy for DDHAL_GETVPORTINPUTFORMATDATA {}
2066 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2067 impl ::core::clone::Clone for DDHAL_GETVPORTINPUTFORMATDATA {
clone(&self) -> Self2068     fn clone(&self) -> Self {
2069         *self
2070     }
2071 }
2072 #[repr(C)]
2073 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2074 pub struct DDHAL_GETVPORTLINEDATA {
2075     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2076     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
2077     pub dwLine: u32,
2078     pub ddRVal: ::windows_sys::core::HRESULT,
2079     pub GetVideoPortLine: LPDDHALVPORTCB_GETLINE,
2080 }
2081 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2082 impl ::core::marker::Copy for DDHAL_GETVPORTLINEDATA {}
2083 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2084 impl ::core::clone::Clone for DDHAL_GETVPORTLINEDATA {
clone(&self) -> Self2085     fn clone(&self) -> Self {
2086         *self
2087     }
2088 }
2089 #[repr(C)]
2090 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2091 pub struct DDHAL_GETVPORTOUTPUTFORMATDATA {
2092     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2093     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
2094     pub dwFlags: u32,
2095     pub lpddpfInputFormat: *mut DDPIXELFORMAT,
2096     pub lpddpfOutputFormats: *mut DDPIXELFORMAT,
2097     pub dwNumFormats: u32,
2098     pub ddRVal: ::windows_sys::core::HRESULT,
2099     pub GetVideoPortOutputFormats: LPDDHALVPORTCB_GETOUTPUTFORMATS,
2100 }
2101 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2102 impl ::core::marker::Copy for DDHAL_GETVPORTOUTPUTFORMATDATA {}
2103 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2104 impl ::core::clone::Clone for DDHAL_GETVPORTOUTPUTFORMATDATA {
clone(&self) -> Self2105     fn clone(&self) -> Self {
2106         *self
2107     }
2108 }
2109 #[repr(C)]
2110 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2111 pub struct DDHAL_GETVPORTSIGNALDATA {
2112     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2113     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
2114     pub dwStatus: u32,
2115     pub ddRVal: ::windows_sys::core::HRESULT,
2116     pub GetVideoSignalStatus: LPDDHALVPORTCB_GETSIGNALSTATUS,
2117 }
2118 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2119 impl ::core::marker::Copy for DDHAL_GETVPORTSIGNALDATA {}
2120 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2121 impl ::core::clone::Clone for DDHAL_GETVPORTSIGNALDATA {
clone(&self) -> Self2122     fn clone(&self) -> Self {
2123         *self
2124     }
2125 }
2126 pub const DDHAL_KERNEL_SYNCSURFACEDATA: i32 = 1i32;
2127 pub const DDHAL_KERNEL_SYNCVIDEOPORTDATA: i32 = 2i32;
2128 #[repr(C)]
2129 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2130 pub struct DDHAL_LOCKDATA {
2131     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
2132     pub lpDDSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
2133     pub bHasRect: u32,
2134     pub rArea: super::super::Foundation::RECTL,
2135     pub lpSurfData: *mut ::core::ffi::c_void,
2136     pub ddRVal: ::windows_sys::core::HRESULT,
2137     pub Lock: LPDDHALSURFCB_LOCK,
2138     pub dwFlags: u32,
2139 }
2140 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2141 impl ::core::marker::Copy for DDHAL_LOCKDATA {}
2142 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2143 impl ::core::clone::Clone for DDHAL_LOCKDATA {
clone(&self) -> Self2144     fn clone(&self) -> Self {
2145         *self
2146     }
2147 }
2148 pub const DDHAL_MISC2CB32_ALPHABLT: i32 = 1i32;
2149 pub const DDHAL_MISC2CB32_CREATESURFACEEX: i32 = 2i32;
2150 pub const DDHAL_MISC2CB32_DESTROYDDLOCAL: i32 = 8i32;
2151 pub const DDHAL_MISC2CB32_GETDRIVERSTATE: i32 = 4i32;
2152 pub const DDHAL_MISCCB32_GETAVAILDRIVERMEMORY: i32 = 1i32;
2153 pub const DDHAL_MISCCB32_GETHEAPALIGNMENT: i32 = 4i32;
2154 pub const DDHAL_MISCCB32_GETSYSMEMBLTSTATUS: i32 = 8i32;
2155 pub const DDHAL_MISCCB32_UPDATENONLOCALHEAP: i32 = 2i32;
2156 pub const DDHAL_MOCOMP32_BEGINFRAME: u32 = 32u32;
2157 pub const DDHAL_MOCOMP32_CREATE: u32 = 4u32;
2158 pub const DDHAL_MOCOMP32_DESTROY: u32 = 512u32;
2159 pub const DDHAL_MOCOMP32_ENDFRAME: u32 = 64u32;
2160 pub const DDHAL_MOCOMP32_GETCOMPBUFFINFO: u32 = 8u32;
2161 pub const DDHAL_MOCOMP32_GETFORMATS: u32 = 2u32;
2162 pub const DDHAL_MOCOMP32_GETGUIDS: u32 = 1u32;
2163 pub const DDHAL_MOCOMP32_GETINTERNALINFO: u32 = 16u32;
2164 pub const DDHAL_MOCOMP32_QUERYSTATUS: u32 = 256u32;
2165 pub const DDHAL_MOCOMP32_RENDER: u32 = 128u32;
2166 pub const DDHAL_NTCB32_FLIPTOGDISURFACE: i32 = 4i32;
2167 pub const DDHAL_NTCB32_FREEDRIVERMEMORY: i32 = 1i32;
2168 pub const DDHAL_NTCB32_SETEXCLUSIVEMODE: i32 = 2i32;
2169 pub const DDHAL_PALCB32_DESTROYPALETTE: i32 = 1i32;
2170 pub const DDHAL_PALCB32_SETENTRIES: i32 = 2i32;
2171 pub const DDHAL_PLEASEALLOC_BLOCKSIZE: i32 = 2i32;
2172 pub const DDHAL_PLEASEALLOC_LINEARSIZE: i32 = 3i32;
2173 pub const DDHAL_PLEASEALLOC_USERMEM: i32 = 4i32;
2174 pub const DDHAL_PRIVATECAP_ATOMICSURFACECREATION: i32 = 1i32;
2175 pub const DDHAL_PRIVATECAP_NOTIFYPRIMARYCREATION: i32 = 2i32;
2176 pub const DDHAL_PRIVATECAP_RESERVED1: i32 = 4i32;
2177 #[repr(C)]
2178 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2179 pub struct DDHAL_QUERYMOCOMPSTATUSDATA {
2180     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2181     pub lpMoComp: *mut DDRAWI_DDMOTIONCOMP_LCL,
2182     pub lpSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
2183     pub dwFlags: u32,
2184     pub ddRVal: ::windows_sys::core::HRESULT,
2185     pub QueryMoCompStatus: LPDDHALMOCOMPCB_QUERYSTATUS,
2186 }
2187 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2188 impl ::core::marker::Copy for DDHAL_QUERYMOCOMPSTATUSDATA {}
2189 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2190 impl ::core::clone::Clone for DDHAL_QUERYMOCOMPSTATUSDATA {
clone(&self) -> Self2191     fn clone(&self) -> Self {
2192         *self
2193     }
2194 }
2195 #[repr(C)]
2196 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2197 pub struct DDHAL_RENDERMOCOMPDATA {
2198     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2199     pub lpMoComp: *mut DDRAWI_DDMOTIONCOMP_LCL,
2200     pub dwNumBuffers: u32,
2201     pub lpBufferInfo: *mut DDMCBUFFERINFO,
2202     pub dwFunction: u32,
2203     pub lpInputData: *mut ::core::ffi::c_void,
2204     pub dwInputDataSize: u32,
2205     pub lpOutputData: *mut ::core::ffi::c_void,
2206     pub dwOutputDataSize: u32,
2207     pub ddRVal: ::windows_sys::core::HRESULT,
2208     pub RenderMoComp: LPDDHALMOCOMPCB_RENDER,
2209 }
2210 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2211 impl ::core::marker::Copy for DDHAL_RENDERMOCOMPDATA {}
2212 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2213 impl ::core::clone::Clone for DDHAL_RENDERMOCOMPDATA {
clone(&self) -> Self2214     fn clone(&self) -> Self {
2215         *self
2216     }
2217 }
2218 #[repr(C)]
2219 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2220 pub struct DDHAL_SETCLIPLISTDATA {
2221     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
2222     pub lpDDSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
2223     pub ddRVal: ::windows_sys::core::HRESULT,
2224     pub SetClipList: LPDDHALSURFCB_SETCLIPLIST,
2225 }
2226 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2227 impl ::core::marker::Copy for DDHAL_SETCLIPLISTDATA {}
2228 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2229 impl ::core::clone::Clone for DDHAL_SETCLIPLISTDATA {
clone(&self) -> Self2230     fn clone(&self) -> Self {
2231         *self
2232     }
2233 }
2234 #[repr(C)]
2235 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2236 pub struct DDHAL_SETCOLORKEYDATA {
2237     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
2238     pub lpDDSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
2239     pub dwFlags: u32,
2240     pub ckNew: DDCOLORKEY,
2241     pub ddRVal: ::windows_sys::core::HRESULT,
2242     pub SetColorKey: LPDDHALSURFCB_SETCOLORKEY,
2243 }
2244 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2245 impl ::core::marker::Copy for DDHAL_SETCOLORKEYDATA {}
2246 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2247 impl ::core::clone::Clone for DDHAL_SETCOLORKEYDATA {
clone(&self) -> Self2248     fn clone(&self) -> Self {
2249         *self
2250     }
2251 }
2252 #[repr(C)]
2253 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2254 pub struct DDHAL_SETENTRIESDATA {
2255     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
2256     pub lpDDPalette: *mut DDRAWI_DDRAWPALETTE_GBL,
2257     pub dwBase: u32,
2258     pub dwNumEntries: u32,
2259     pub lpEntries: *mut super::Gdi::PALETTEENTRY,
2260     pub ddRVal: ::windows_sys::core::HRESULT,
2261     pub SetEntries: LPDDHALPALCB_SETENTRIES,
2262 }
2263 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2264 impl ::core::marker::Copy for DDHAL_SETENTRIESDATA {}
2265 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2266 impl ::core::clone::Clone for DDHAL_SETENTRIESDATA {
clone(&self) -> Self2267     fn clone(&self) -> Self {
2268         *self
2269     }
2270 }
2271 #[repr(C)]
2272 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2273 pub struct DDHAL_SETEXCLUSIVEMODEDATA {
2274     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
2275     pub dwEnterExcl: u32,
2276     pub dwReserved: u32,
2277     pub ddRVal: ::windows_sys::core::HRESULT,
2278     pub SetExclusiveMode: LPDDHAL_SETEXCLUSIVEMODE,
2279 }
2280 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2281 impl ::core::marker::Copy for DDHAL_SETEXCLUSIVEMODEDATA {}
2282 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2283 impl ::core::clone::Clone for DDHAL_SETEXCLUSIVEMODEDATA {
clone(&self) -> Self2284     fn clone(&self) -> Self {
2285         *self
2286     }
2287 }
2288 #[repr(C)]
2289 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2290 pub struct DDHAL_SETMODEDATA {
2291     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
2292     pub dwModeIndex: u32,
2293     pub ddRVal: ::windows_sys::core::HRESULT,
2294     pub SetMode: LPDDHAL_SETMODE,
2295     pub inexcl: super::super::Foundation::BOOL,
2296     pub useRefreshRate: super::super::Foundation::BOOL,
2297 }
2298 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2299 impl ::core::marker::Copy for DDHAL_SETMODEDATA {}
2300 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2301 impl ::core::clone::Clone for DDHAL_SETMODEDATA {
clone(&self) -> Self2302     fn clone(&self) -> Self {
2303         *self
2304     }
2305 }
2306 #[repr(C)]
2307 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2308 pub struct DDHAL_SETOVERLAYPOSITIONDATA {
2309     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
2310     pub lpDDSrcSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
2311     pub lpDDDestSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
2312     pub lXPos: i32,
2313     pub lYPos: i32,
2314     pub ddRVal: ::windows_sys::core::HRESULT,
2315     pub SetOverlayPosition: LPDDHALSURFCB_SETOVERLAYPOSITION,
2316 }
2317 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2318 impl ::core::marker::Copy for DDHAL_SETOVERLAYPOSITIONDATA {}
2319 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2320 impl ::core::clone::Clone for DDHAL_SETOVERLAYPOSITIONDATA {
clone(&self) -> Self2321     fn clone(&self) -> Self {
2322         *self
2323     }
2324 }
2325 #[repr(C)]
2326 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2327 pub struct DDHAL_SETPALETTEDATA {
2328     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
2329     pub lpDDSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
2330     pub lpDDPalette: *mut DDRAWI_DDRAWPALETTE_GBL,
2331     pub ddRVal: ::windows_sys::core::HRESULT,
2332     pub SetPalette: LPDDHALSURFCB_SETPALETTE,
2333     pub Attach: super::super::Foundation::BOOL,
2334 }
2335 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2336 impl ::core::marker::Copy for DDHAL_SETPALETTEDATA {}
2337 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2338 impl ::core::clone::Clone for DDHAL_SETPALETTEDATA {
clone(&self) -> Self2339     fn clone(&self) -> Self {
2340         *self
2341     }
2342 }
2343 pub const DDHAL_SURFCB32_ADDATTACHEDSURFACE: i32 = 128i32;
2344 pub const DDHAL_SURFCB32_BLT: i32 = 32i32;
2345 pub const DDHAL_SURFCB32_DESTROYSURFACE: i32 = 1i32;
2346 pub const DDHAL_SURFCB32_FLIP: i32 = 2i32;
2347 pub const DDHAL_SURFCB32_GETBLTSTATUS: i32 = 256i32;
2348 pub const DDHAL_SURFCB32_GETFLIPSTATUS: i32 = 512i32;
2349 pub const DDHAL_SURFCB32_LOCK: i32 = 8i32;
2350 pub const DDHAL_SURFCB32_RESERVED4: i32 = 4096i32;
2351 pub const DDHAL_SURFCB32_SETCLIPLIST: i32 = 4i32;
2352 pub const DDHAL_SURFCB32_SETCOLORKEY: i32 = 64i32;
2353 pub const DDHAL_SURFCB32_SETOVERLAYPOSITION: i32 = 2048i32;
2354 pub const DDHAL_SURFCB32_SETPALETTE: i32 = 8192i32;
2355 pub const DDHAL_SURFCB32_UNLOCK: i32 = 16i32;
2356 pub const DDHAL_SURFCB32_UPDATEOVERLAY: i32 = 1024i32;
2357 #[repr(C)]
2358 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2359 pub struct DDHAL_SYNCSURFACEDATA {
2360     pub dwSize: u32,
2361     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2362     pub lpDDSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
2363     pub dwSurfaceOffset: u32,
2364     pub fpLockPtr: usize,
2365     pub lPitch: i32,
2366     pub dwOverlayOffset: u32,
2367     pub dwOverlaySrcWidth: u32,
2368     pub dwOverlaySrcHeight: u32,
2369     pub dwOverlayDestWidth: u32,
2370     pub dwOverlayDestHeight: u32,
2371     pub dwDriverReserved1: usize,
2372     pub dwDriverReserved2: usize,
2373     pub dwDriverReserved3: usize,
2374     pub ddRVal: ::windows_sys::core::HRESULT,
2375 }
2376 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2377 impl ::core::marker::Copy for DDHAL_SYNCSURFACEDATA {}
2378 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2379 impl ::core::clone::Clone for DDHAL_SYNCSURFACEDATA {
clone(&self) -> Self2380     fn clone(&self) -> Self {
2381         *self
2382     }
2383 }
2384 #[repr(C)]
2385 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2386 pub struct DDHAL_SYNCVIDEOPORTDATA {
2387     pub dwSize: u32,
2388     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2389     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
2390     pub dwOriginOffset: u32,
2391     pub dwHeight: u32,
2392     pub dwVBIHeight: u32,
2393     pub dwDriverReserved1: usize,
2394     pub dwDriverReserved2: usize,
2395     pub dwDriverReserved3: usize,
2396     pub ddRVal: ::windows_sys::core::HRESULT,
2397 }
2398 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2399 impl ::core::marker::Copy for DDHAL_SYNCVIDEOPORTDATA {}
2400 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2401 impl ::core::clone::Clone for DDHAL_SYNCVIDEOPORTDATA {
clone(&self) -> Self2402     fn clone(&self) -> Self {
2403         *self
2404     }
2405 }
2406 #[repr(C)]
2407 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2408 pub struct DDHAL_UNLOCKDATA {
2409     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
2410     pub lpDDSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
2411     pub ddRVal: ::windows_sys::core::HRESULT,
2412     pub Unlock: LPDDHALSURFCB_UNLOCK,
2413 }
2414 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2415 impl ::core::marker::Copy for DDHAL_UNLOCKDATA {}
2416 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2417 impl ::core::clone::Clone for DDHAL_UNLOCKDATA {
clone(&self) -> Self2418     fn clone(&self) -> Self {
2419         *self
2420     }
2421 }
2422 #[repr(C)]
2423 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2424 pub struct DDHAL_UPDATENONLOCALHEAPDATA {
2425     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
2426     pub dwHeap: u32,
2427     pub fpGARTLin: usize,
2428     pub fpGARTDev: usize,
2429     pub ulPolicyMaxBytes: usize,
2430     pub ddRVal: ::windows_sys::core::HRESULT,
2431     pub UpdateNonLocalHeap: LPDDHAL_UPDATENONLOCALHEAP,
2432 }
2433 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2434 impl ::core::marker::Copy for DDHAL_UPDATENONLOCALHEAPDATA {}
2435 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2436 impl ::core::clone::Clone for DDHAL_UPDATENONLOCALHEAPDATA {
clone(&self) -> Self2437     fn clone(&self) -> Self {
2438         *self
2439     }
2440 }
2441 #[repr(C)]
2442 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2443 pub struct DDHAL_UPDATEOVERLAYDATA {
2444     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
2445     pub lpDDDestSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
2446     pub rDest: super::super::Foundation::RECTL,
2447     pub lpDDSrcSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
2448     pub rSrc: super::super::Foundation::RECTL,
2449     pub dwFlags: u32,
2450     pub overlayFX: DDOVERLAYFX,
2451     pub ddRVal: ::windows_sys::core::HRESULT,
2452     pub UpdateOverlay: LPDDHALSURFCB_UPDATEOVERLAY,
2453 }
2454 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2455 impl ::core::marker::Copy for DDHAL_UPDATEOVERLAYDATA {}
2456 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2457 impl ::core::clone::Clone for DDHAL_UPDATEOVERLAYDATA {
clone(&self) -> Self2458     fn clone(&self) -> Self {
2459         *self
2460     }
2461 }
2462 #[repr(C)]
2463 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2464 pub struct DDHAL_UPDATEVPORTDATA {
2465     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2466     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
2467     pub lplpDDSurface: *mut *mut DDRAWI_DDRAWSURFACE_INT,
2468     pub lplpDDVBISurface: *mut *mut DDRAWI_DDRAWSURFACE_INT,
2469     pub lpVideoInfo: *mut DDVIDEOPORTINFO,
2470     pub dwFlags: u32,
2471     pub dwNumAutoflip: u32,
2472     pub dwNumVBIAutoflip: u32,
2473     pub ddRVal: ::windows_sys::core::HRESULT,
2474     pub UpdateVideoPort: LPDDHALVPORTCB_UPDATE,
2475 }
2476 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2477 impl ::core::marker::Copy for DDHAL_UPDATEVPORTDATA {}
2478 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2479 impl ::core::clone::Clone for DDHAL_UPDATEVPORTDATA {
clone(&self) -> Self2480     fn clone(&self) -> Self {
2481         *self
2482     }
2483 }
2484 pub const DDHAL_VPORT32_CANCREATEVIDEOPORT: i32 = 1i32;
2485 pub const DDHAL_VPORT32_COLORCONTROL: i32 = 32768i32;
2486 pub const DDHAL_VPORT32_CREATEVIDEOPORT: i32 = 2i32;
2487 pub const DDHAL_VPORT32_DESTROY: i32 = 1024i32;
2488 pub const DDHAL_VPORT32_FLIP: i32 = 4i32;
2489 pub const DDHAL_VPORT32_GETAUTOFLIPSURF: i32 = 64i32;
2490 pub const DDHAL_VPORT32_GETBANDWIDTH: i32 = 8i32;
2491 pub const DDHAL_VPORT32_GETCONNECT: i32 = 512i32;
2492 pub const DDHAL_VPORT32_GETFIELD: i32 = 128i32;
2493 pub const DDHAL_VPORT32_GETFLIPSTATUS: i32 = 2048i32;
2494 pub const DDHAL_VPORT32_GETINPUTFORMATS: i32 = 16i32;
2495 pub const DDHAL_VPORT32_GETLINE: i32 = 256i32;
2496 pub const DDHAL_VPORT32_GETOUTPUTFORMATS: i32 = 32i32;
2497 pub const DDHAL_VPORT32_GETSIGNALSTATUS: i32 = 16384i32;
2498 pub const DDHAL_VPORT32_UPDATE: i32 = 4096i32;
2499 pub const DDHAL_VPORT32_WAITFORSYNC: i32 = 8192i32;
2500 #[repr(C)]
2501 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2502 pub struct DDHAL_VPORTCOLORDATA {
2503     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2504     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
2505     pub dwFlags: u32,
2506     pub lpColorData: *mut DDCOLORCONTROL,
2507     pub ddRVal: ::windows_sys::core::HRESULT,
2508     pub ColorControl: LPDDHALVPORTCB_COLORCONTROL,
2509 }
2510 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2511 impl ::core::marker::Copy for DDHAL_VPORTCOLORDATA {}
2512 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2513 impl ::core::clone::Clone for DDHAL_VPORTCOLORDATA {
clone(&self) -> Self2514     fn clone(&self) -> Self {
2515         *self
2516     }
2517 }
2518 #[repr(C)]
2519 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2520 pub struct DDHAL_WAITFORVERTICALBLANKDATA {
2521     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
2522     pub dwFlags: u32,
2523     pub bIsInVB: u32,
2524     pub hEvent: usize,
2525     pub ddRVal: ::windows_sys::core::HRESULT,
2526     pub WaitForVerticalBlank: LPDDHAL_WAITFORVERTICALBLANK,
2527 }
2528 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2529 impl ::core::marker::Copy for DDHAL_WAITFORVERTICALBLANKDATA {}
2530 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2531 impl ::core::clone::Clone for DDHAL_WAITFORVERTICALBLANKDATA {
clone(&self) -> Self2532     fn clone(&self) -> Self {
2533         *self
2534     }
2535 }
2536 #[repr(C)]
2537 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2538 pub struct DDHAL_WAITFORVPORTSYNCDATA {
2539     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
2540     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
2541     pub dwFlags: u32,
2542     pub dwLine: u32,
2543     pub dwTimeOut: u32,
2544     pub ddRVal: ::windows_sys::core::HRESULT,
2545     pub WaitForVideoPortSync: LPDDHALVPORTCB_WAITFORSYNC,
2546 }
2547 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2548 impl ::core::marker::Copy for DDHAL_WAITFORVPORTSYNCDATA {}
2549 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2550 impl ::core::clone::Clone for DDHAL_WAITFORVPORTSYNCDATA {
clone(&self) -> Self2551     fn clone(&self) -> Self {
2552         *self
2553     }
2554 }
2555 pub const DDIRQ_BUSMASTER: i32 = 2i32;
2556 pub const DDIRQ_DISPLAY_VSYNC: i32 = 1i32;
2557 pub const DDIRQ_RESERVED1: i32 = 2i32;
2558 pub const DDIRQ_VPORT0_LINE: i32 = 8i32;
2559 pub const DDIRQ_VPORT0_VSYNC: i32 = 4i32;
2560 pub const DDIRQ_VPORT1_LINE: i32 = 32i32;
2561 pub const DDIRQ_VPORT1_VSYNC: i32 = 16i32;
2562 pub const DDIRQ_VPORT2_LINE: i32 = 128i32;
2563 pub const DDIRQ_VPORT2_VSYNC: i32 = 64i32;
2564 pub const DDIRQ_VPORT3_LINE: i32 = 512i32;
2565 pub const DDIRQ_VPORT3_VSYNC: i32 = 256i32;
2566 pub const DDIRQ_VPORT4_LINE: i32 = 2048i32;
2567 pub const DDIRQ_VPORT4_VSYNC: i32 = 1024i32;
2568 pub const DDIRQ_VPORT5_LINE: i32 = 8192i32;
2569 pub const DDIRQ_VPORT5_VSYNC: i32 = 4096i32;
2570 pub const DDIRQ_VPORT6_LINE: i32 = 32768i32;
2571 pub const DDIRQ_VPORT6_VSYNC: i32 = 16384i32;
2572 pub const DDIRQ_VPORT7_LINE: i32 = 131072i32;
2573 pub const DDIRQ_VPORT7_VSYNC: i32 = 65536i32;
2574 pub const DDIRQ_VPORT8_LINE: i32 = 524288i32;
2575 pub const DDIRQ_VPORT8_VSYNC: i32 = 262144i32;
2576 pub const DDIRQ_VPORT9_LINE: i32 = 131072i32;
2577 pub const DDIRQ_VPORT9_VSYNC: i32 = 65536i32;
2578 #[repr(C)]
2579 pub struct DDKERNELCAPS {
2580     pub dwSize: u32,
2581     pub dwCaps: u32,
2582     pub dwIRQCaps: u32,
2583 }
2584 impl ::core::marker::Copy for DDKERNELCAPS {}
2585 impl ::core::clone::Clone for DDKERNELCAPS {
clone(&self) -> Self2586     fn clone(&self) -> Self {
2587         *self
2588     }
2589 }
2590 pub const DDKERNELCAPS_AUTOFLIP: i32 = 2i32;
2591 pub const DDKERNELCAPS_CAPTURE_INVERTED: i32 = 512i32;
2592 pub const DDKERNELCAPS_CAPTURE_NONLOCALVIDMEM: i32 = 128i32;
2593 pub const DDKERNELCAPS_CAPTURE_SYSMEM: i32 = 64i32;
2594 pub const DDKERNELCAPS_FIELDPOLARITY: i32 = 256i32;
2595 pub const DDKERNELCAPS_FLIPOVERLAY: i32 = 32i32;
2596 pub const DDKERNELCAPS_FLIPVIDEOPORT: i32 = 16i32;
2597 pub const DDKERNELCAPS_LOCK: i32 = 8i32;
2598 pub const DDKERNELCAPS_SETSTATE: i32 = 4i32;
2599 pub const DDKERNELCAPS_SKIPFIELDS: i32 = 1i32;
2600 #[repr(C)]
2601 pub struct DDLOCKININFO {
2602     pub lpSurfaceData: *mut DDSURFACEDATA,
2603 }
2604 impl ::core::marker::Copy for DDLOCKININFO {}
2605 impl ::core::clone::Clone for DDLOCKININFO {
clone(&self) -> Self2606     fn clone(&self) -> Self {
2607         *self
2608     }
2609 }
2610 #[repr(C)]
2611 pub struct DDLOCKOUTINFO {
2612     pub dwSurfacePtr: usize,
2613 }
2614 impl ::core::marker::Copy for DDLOCKOUTINFO {}
2615 impl ::core::clone::Clone for DDLOCKOUTINFO {
clone(&self) -> Self2616     fn clone(&self) -> Self {
2617         *self
2618     }
2619 }
2620 pub const DDLOCK_DISCARDCONTENTS: i32 = 8192i32;
2621 pub const DDLOCK_DONOTWAIT: i32 = 16384i32;
2622 pub const DDLOCK_EVENT: i32 = 2i32;
2623 pub const DDLOCK_HASVOLUMETEXTUREBOXRECT: i32 = 32768i32;
2624 pub const DDLOCK_NODIRTYUPDATE: i32 = 65536i32;
2625 pub const DDLOCK_NOOVERWRITE: i32 = 4096i32;
2626 pub const DDLOCK_NOSYSLOCK: i32 = 2048i32;
2627 pub const DDLOCK_OKTOSWAP: i32 = 8192i32;
2628 pub const DDLOCK_READONLY: i32 = 16i32;
2629 pub const DDLOCK_SURFACEMEMORYPTR: i32 = 0i32;
2630 pub const DDLOCK_WAIT: i32 = 1i32;
2631 pub const DDLOCK_WRITEONLY: i32 = 32i32;
2632 #[repr(C)]
2633 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2634 pub struct DDMCBUFFERINFO {
2635     pub dwSize: u32,
2636     pub lpCompSurface: *mut DDRAWI_DDRAWSURFACE_LCL,
2637     pub dwDataOffset: u32,
2638     pub dwDataSize: u32,
2639     pub lpPrivate: *mut ::core::ffi::c_void,
2640 }
2641 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2642 impl ::core::marker::Copy for DDMCBUFFERINFO {}
2643 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2644 impl ::core::clone::Clone for DDMCBUFFERINFO {
clone(&self) -> Self2645     fn clone(&self) -> Self {
2646         *self
2647     }
2648 }
2649 #[repr(C)]
2650 pub struct DDMCCOMPBUFFERINFO {
2651     pub dwSize: u32,
2652     pub dwNumCompBuffers: u32,
2653     pub dwWidthToCreate: u32,
2654     pub dwHeightToCreate: u32,
2655     pub dwBytesToAllocate: u32,
2656     pub ddCompCaps: DDSCAPS2,
2657     pub ddPixelFormat: DDPIXELFORMAT,
2658 }
2659 impl ::core::marker::Copy for DDMCCOMPBUFFERINFO {}
2660 impl ::core::clone::Clone for DDMCCOMPBUFFERINFO {
clone(&self) -> Self2661     fn clone(&self) -> Self {
2662         *self
2663     }
2664 }
2665 pub const DDMCQUERY_READ: u32 = 1u32;
2666 #[repr(C)]
2667 #[cfg(feature = "Win32_Foundation")]
2668 pub struct DDMOCOMPBUFFERINFO {
2669     pub dwSize: u32,
2670     pub lpCompSurface: *mut DD_SURFACE_LOCAL,
2671     pub dwDataOffset: u32,
2672     pub dwDataSize: u32,
2673     pub lpPrivate: *mut ::core::ffi::c_void,
2674 }
2675 #[cfg(feature = "Win32_Foundation")]
2676 impl ::core::marker::Copy for DDMOCOMPBUFFERINFO {}
2677 #[cfg(feature = "Win32_Foundation")]
2678 impl ::core::clone::Clone for DDMOCOMPBUFFERINFO {
clone(&self) -> Self2679     fn clone(&self) -> Self {
2680         *self
2681     }
2682 }
2683 pub const DDMODEINFO_MAXREFRESH: u32 = 16u32;
2684 pub const DDMODEINFO_MODEX: u32 = 2u32;
2685 pub const DDMODEINFO_PALETTIZED: u32 = 1u32;
2686 pub const DDMODEINFO_STANDARDVGA: u32 = 8u32;
2687 pub const DDMODEINFO_STEREO: u32 = 32u32;
2688 pub const DDMODEINFO_UNSUPPORTED: u32 = 4u32;
2689 #[repr(C)]
2690 pub struct DDMONITORINFO {
2691     pub Manufacturer: u16,
2692     pub Product: u16,
2693     pub SerialNumber: u32,
2694     pub DeviceIdentifier: ::windows_sys::core::GUID,
2695     pub Mode640x480: i32,
2696     pub Mode800x600: i32,
2697     pub Mode1024x768: i32,
2698     pub Mode1280x1024: i32,
2699     pub Mode1600x1200: i32,
2700     pub ModeReserved1: i32,
2701     pub ModeReserved2: i32,
2702     pub ModeReserved3: i32,
2703 }
2704 impl ::core::marker::Copy for DDMONITORINFO {}
2705 impl ::core::clone::Clone for DDMONITORINFO {
clone(&self) -> Self2706     fn clone(&self) -> Self {
2707         *self
2708     }
2709 }
2710 #[repr(C)]
2711 pub struct DDMORESURFACECAPS {
2712     pub dwSize: u32,
2713     pub ddsCapsMore: DDSCAPSEX,
2714     pub ddsExtendedHeapRestrictions: [DDMORESURFACECAPS_0; 1],
2715 }
2716 impl ::core::marker::Copy for DDMORESURFACECAPS {}
2717 impl ::core::clone::Clone for DDMORESURFACECAPS {
clone(&self) -> Self2718     fn clone(&self) -> Self {
2719         *self
2720     }
2721 }
2722 #[repr(C)]
2723 pub struct DDMORESURFACECAPS_0 {
2724     pub ddsCapsEx: DDSCAPSEX,
2725     pub ddsCapsExAlt: DDSCAPSEX,
2726 }
2727 impl ::core::marker::Copy for DDMORESURFACECAPS_0 {}
2728 impl ::core::clone::Clone for DDMORESURFACECAPS_0 {
clone(&self) -> Self2729     fn clone(&self) -> Self {
2730         *self
2731     }
2732 }
2733 pub const DDNEWCALLBACKFNS: u32 = 12u32;
2734 #[repr(C)]
2735 pub struct DDNONLOCALVIDMEMCAPS {
2736     pub dwSize: u32,
2737     pub dwNLVBCaps: u32,
2738     pub dwNLVBCaps2: u32,
2739     pub dwNLVBCKeyCaps: u32,
2740     pub dwNLVBFXCaps: u32,
2741     pub dwNLVBRops: [u32; 8],
2742 }
2743 impl ::core::marker::Copy for DDNONLOCALVIDMEMCAPS {}
2744 impl ::core::clone::Clone for DDNONLOCALVIDMEMCAPS {
clone(&self) -> Self2745     fn clone(&self) -> Self {
2746         *self
2747     }
2748 }
2749 #[repr(C)]
2750 pub struct DDNTCORECAPS {
2751     pub dwSize: u32,
2752     pub dwCaps: u32,
2753     pub dwCaps2: u32,
2754     pub dwCKeyCaps: u32,
2755     pub dwFXCaps: u32,
2756     pub dwFXAlphaCaps: u32,
2757     pub dwPalCaps: u32,
2758     pub dwSVCaps: u32,
2759     pub dwAlphaBltConstBitDepths: u32,
2760     pub dwAlphaBltPixelBitDepths: u32,
2761     pub dwAlphaBltSurfaceBitDepths: u32,
2762     pub dwAlphaOverlayConstBitDepths: u32,
2763     pub dwAlphaOverlayPixelBitDepths: u32,
2764     pub dwAlphaOverlaySurfaceBitDepths: u32,
2765     pub dwZBufferBitDepths: u32,
2766     pub dwVidMemTotal: u32,
2767     pub dwVidMemFree: u32,
2768     pub dwMaxVisibleOverlays: u32,
2769     pub dwCurrVisibleOverlays: u32,
2770     pub dwNumFourCCCodes: u32,
2771     pub dwAlignBoundarySrc: u32,
2772     pub dwAlignSizeSrc: u32,
2773     pub dwAlignBoundaryDest: u32,
2774     pub dwAlignSizeDest: u32,
2775     pub dwAlignStrideAlign: u32,
2776     pub dwRops: [u32; 8],
2777     pub ddsCaps: DDSCAPS,
2778     pub dwMinOverlayStretch: u32,
2779     pub dwMaxOverlayStretch: u32,
2780     pub dwMinLiveVideoStretch: u32,
2781     pub dwMaxLiveVideoStretch: u32,
2782     pub dwMinHwCodecStretch: u32,
2783     pub dwMaxHwCodecStretch: u32,
2784     pub dwReserved1: u32,
2785     pub dwReserved2: u32,
2786     pub dwReserved3: u32,
2787     pub dwSVBCaps: u32,
2788     pub dwSVBCKeyCaps: u32,
2789     pub dwSVBFXCaps: u32,
2790     pub dwSVBRops: [u32; 8],
2791     pub dwVSBCaps: u32,
2792     pub dwVSBCKeyCaps: u32,
2793     pub dwVSBFXCaps: u32,
2794     pub dwVSBRops: [u32; 8],
2795     pub dwSSBCaps: u32,
2796     pub dwSSBCKeyCaps: u32,
2797     pub dwSSBFXCaps: u32,
2798     pub dwSSBRops: [u32; 8],
2799     pub dwMaxVideoPorts: u32,
2800     pub dwCurrVideoPorts: u32,
2801     pub dwSVBCaps2: u32,
2802 }
2803 impl ::core::marker::Copy for DDNTCORECAPS {}
2804 impl ::core::clone::Clone for DDNTCORECAPS {
clone(&self) -> Self2805     fn clone(&self) -> Self {
2806         *self
2807     }
2808 }
2809 #[repr(C)]
2810 pub struct DDOPTSURFACEDESC {
2811     pub dwSize: u32,
2812     pub dwFlags: u32,
2813     pub ddSCaps: DDSCAPS2,
2814     pub ddOSCaps: DDOSCAPS,
2815     pub guid: ::windows_sys::core::GUID,
2816     pub dwCompressionRatio: u32,
2817 }
2818 impl ::core::marker::Copy for DDOPTSURFACEDESC {}
2819 impl ::core::clone::Clone for DDOPTSURFACEDESC {
clone(&self) -> Self2820     fn clone(&self) -> Self {
2821         *self
2822     }
2823 }
2824 #[repr(C)]
2825 pub struct DDOSCAPS {
2826     pub dwCaps: u32,
2827 }
2828 impl ::core::marker::Copy for DDOSCAPS {}
2829 impl ::core::clone::Clone for DDOSCAPS {
clone(&self) -> Self2830     fn clone(&self) -> Self {
2831         *self
2832     }
2833 }
2834 pub const DDOSDCAPS_MONOLITHICMIPMAP: i32 = 4i32;
2835 pub const DDOSDCAPS_OPTCOMPRESSED: i32 = 1i32;
2836 pub const DDOSDCAPS_OPTREORDERED: i32 = 2i32;
2837 pub const DDOSDCAPS_VALIDOSCAPS: i32 = 7i32;
2838 pub const DDOSDCAPS_VALIDSCAPS: i32 = 805324800i32;
2839 pub const DDOSD_ALL: i32 = 15i32;
2840 pub const DDOSD_COMPRESSION_RATIO: i32 = 2i32;
2841 pub const DDOSD_GUID: i32 = 1i32;
2842 pub const DDOSD_OSCAPS: i32 = 8i32;
2843 pub const DDOSD_SCAPS: i32 = 4i32;
2844 pub const DDOVERFX_ARITHSTRETCHY: i32 = 1i32;
2845 pub const DDOVERFX_DEINTERLACE: i32 = 8i32;
2846 pub const DDOVERFX_MIRRORLEFTRIGHT: i32 = 2i32;
2847 pub const DDOVERFX_MIRRORUPDOWN: i32 = 4i32;
2848 #[repr(C)]
2849 pub struct DDOVERLAYFX {
2850     pub dwSize: u32,
2851     pub dwAlphaEdgeBlendBitDepth: u32,
2852     pub dwAlphaEdgeBlend: u32,
2853     pub dwReserved: u32,
2854     pub dwAlphaDestConstBitDepth: u32,
2855     pub Anonymous1: DDOVERLAYFX_0,
2856     pub dwAlphaSrcConstBitDepth: u32,
2857     pub Anonymous2: DDOVERLAYFX_1,
2858     pub dckDestColorkey: DDCOLORKEY,
2859     pub dckSrcColorkey: DDCOLORKEY,
2860     pub dwDDFX: u32,
2861     pub dwFlags: u32,
2862 }
2863 impl ::core::marker::Copy for DDOVERLAYFX {}
2864 impl ::core::clone::Clone for DDOVERLAYFX {
clone(&self) -> Self2865     fn clone(&self) -> Self {
2866         *self
2867     }
2868 }
2869 #[repr(C)]
2870 pub union DDOVERLAYFX_0 {
2871     pub dwAlphaDestConst: u32,
2872     pub lpDDSAlphaDest: IDirectDrawSurface,
2873 }
2874 impl ::core::marker::Copy for DDOVERLAYFX_0 {}
2875 impl ::core::clone::Clone for DDOVERLAYFX_0 {
clone(&self) -> Self2876     fn clone(&self) -> Self {
2877         *self
2878     }
2879 }
2880 #[repr(C)]
2881 pub union DDOVERLAYFX_1 {
2882     pub dwAlphaSrcConst: u32,
2883     pub lpDDSAlphaSrc: IDirectDrawSurface,
2884 }
2885 impl ::core::marker::Copy for DDOVERLAYFX_1 {}
2886 impl ::core::clone::Clone for DDOVERLAYFX_1 {
clone(&self) -> Self2887     fn clone(&self) -> Self {
2888         *self
2889     }
2890 }
2891 pub const DDOVERZ_INSERTINBACKOF: i32 = 5i32;
2892 pub const DDOVERZ_INSERTINFRONTOF: i32 = 4i32;
2893 pub const DDOVERZ_MOVEBACKWARD: i32 = 3i32;
2894 pub const DDOVERZ_MOVEFORWARD: i32 = 2i32;
2895 pub const DDOVERZ_SENDTOBACK: i32 = 1i32;
2896 pub const DDOVERZ_SENDTOFRONT: i32 = 0i32;
2897 pub const DDOVER_ADDDIRTYRECT: i32 = 32768i32;
2898 pub const DDOVER_ALPHADEST: i32 = 1i32;
2899 pub const DDOVER_ALPHADESTCONSTOVERRIDE: i32 = 2i32;
2900 pub const DDOVER_ALPHADESTNEG: i32 = 4i32;
2901 pub const DDOVER_ALPHADESTSURFACEOVERRIDE: i32 = 8i32;
2902 pub const DDOVER_ALPHAEDGEBLEND: i32 = 16i32;
2903 pub const DDOVER_ALPHASRC: i32 = 32i32;
2904 pub const DDOVER_ALPHASRCCONSTOVERRIDE: i32 = 64i32;
2905 pub const DDOVER_ALPHASRCNEG: i32 = 128i32;
2906 pub const DDOVER_ALPHASRCSURFACEOVERRIDE: i32 = 256i32;
2907 pub const DDOVER_ARGBSCALEFACTORS: i32 = 33554432i32;
2908 pub const DDOVER_AUTOFLIP: i32 = 1048576i32;
2909 pub const DDOVER_BOB: i32 = 2097152i32;
2910 pub const DDOVER_BOBHARDWARE: i32 = 16777216i32;
2911 pub const DDOVER_DDFX: i32 = 524288i32;
2912 pub const DDOVER_DEGRADEARGBSCALING: i32 = 67108864i32;
2913 pub const DDOVER_HIDE: i32 = 512i32;
2914 pub const DDOVER_INTERLEAVED: i32 = 8388608i32;
2915 pub const DDOVER_KEYDEST: i32 = 1024i32;
2916 pub const DDOVER_KEYDESTOVERRIDE: i32 = 2048i32;
2917 pub const DDOVER_KEYSRC: i32 = 4096i32;
2918 pub const DDOVER_KEYSRCOVERRIDE: i32 = 8192i32;
2919 pub const DDOVER_OVERRIDEBOBWEAVE: i32 = 4194304i32;
2920 pub const DDOVER_REFRESHALL: i32 = 131072i32;
2921 pub const DDOVER_REFRESHDIRTYRECTS: i32 = 65536i32;
2922 pub const DDOVER_SHOW: i32 = 16384i32;
2923 pub const DDPCAPS_1BIT: i32 = 256i32;
2924 pub const DDPCAPS_2BIT: i32 = 512i32;
2925 pub const DDPCAPS_4BIT: i32 = 1i32;
2926 pub const DDPCAPS_8BIT: i32 = 4i32;
2927 pub const DDPCAPS_8BITENTRIES: i32 = 2i32;
2928 pub const DDPCAPS_ALLOW256: i32 = 64i32;
2929 pub const DDPCAPS_ALPHA: i32 = 1024i32;
2930 pub const DDPCAPS_INITIALIZE: i32 = 0i32;
2931 pub const DDPCAPS_PRIMARYSURFACE: i32 = 16i32;
2932 pub const DDPCAPS_PRIMARYSURFACELEFT: i32 = 32i32;
2933 pub const DDPCAPS_VSYNC: i32 = 128i32;
2934 pub const DDPF_ALPHA: i32 = 2i32;
2935 pub const DDPF_ALPHAPIXELS: i32 = 1i32;
2936 pub const DDPF_ALPHAPREMULT: i32 = 32768i32;
2937 pub const DDPF_BUMPDUDV: i32 = 524288i32;
2938 pub const DDPF_BUMPLUMINANCE: i32 = 262144i32;
2939 pub const DDPF_COMPRESSED: i32 = 128i32;
2940 pub const DDPF_D3DFORMAT: i32 = 2097152i32;
2941 pub const DDPF_FOURCC: i32 = 4i32;
2942 pub const DDPF_LUMINANCE: i32 = 131072i32;
2943 pub const DDPF_NOVEL_TEXTURE_FORMAT: i32 = 1048576i32;
2944 pub const DDPF_PALETTEINDEXED1: i32 = 2048i32;
2945 pub const DDPF_PALETTEINDEXED2: i32 = 4096i32;
2946 pub const DDPF_PALETTEINDEXED4: i32 = 8i32;
2947 pub const DDPF_PALETTEINDEXED8: i32 = 32i32;
2948 pub const DDPF_PALETTEINDEXEDTO8: i32 = 16i32;
2949 pub const DDPF_RGB: i32 = 64i32;
2950 pub const DDPF_RGBTOYUV: i32 = 256i32;
2951 pub const DDPF_STENCILBUFFER: i32 = 16384i32;
2952 pub const DDPF_YUV: i32 = 512i32;
2953 pub const DDPF_ZBUFFER: i32 = 1024i32;
2954 pub const DDPF_ZPIXELS: i32 = 8192i32;
2955 #[repr(C)]
2956 pub struct DDPIXELFORMAT {
2957     pub dwSize: u32,
2958     pub dwFlags: u32,
2959     pub dwFourCC: u32,
2960     pub Anonymous1: DDPIXELFORMAT_0,
2961     pub Anonymous2: DDPIXELFORMAT_1,
2962     pub Anonymous3: DDPIXELFORMAT_2,
2963     pub Anonymous4: DDPIXELFORMAT_3,
2964     pub Anonymous5: DDPIXELFORMAT_4,
2965 }
2966 impl ::core::marker::Copy for DDPIXELFORMAT {}
2967 impl ::core::clone::Clone for DDPIXELFORMAT {
clone(&self) -> Self2968     fn clone(&self) -> Self {
2969         *self
2970     }
2971 }
2972 #[repr(C)]
2973 pub union DDPIXELFORMAT_0 {
2974     pub dwRGBBitCount: u32,
2975     pub dwYUVBitCount: u32,
2976     pub dwZBufferBitDepth: u32,
2977     pub dwAlphaBitDepth: u32,
2978     pub dwLuminanceBitCount: u32,
2979     pub dwBumpBitCount: u32,
2980     pub dwPrivateFormatBitCount: u32,
2981 }
2982 impl ::core::marker::Copy for DDPIXELFORMAT_0 {}
2983 impl ::core::clone::Clone for DDPIXELFORMAT_0 {
clone(&self) -> Self2984     fn clone(&self) -> Self {
2985         *self
2986     }
2987 }
2988 #[repr(C)]
2989 pub union DDPIXELFORMAT_1 {
2990     pub dwRBitMask: u32,
2991     pub dwYBitMask: u32,
2992     pub dwStencilBitDepth: u32,
2993     pub dwLuminanceBitMask: u32,
2994     pub dwBumpDuBitMask: u32,
2995     pub dwOperations: u32,
2996 }
2997 impl ::core::marker::Copy for DDPIXELFORMAT_1 {}
2998 impl ::core::clone::Clone for DDPIXELFORMAT_1 {
clone(&self) -> Self2999     fn clone(&self) -> Self {
3000         *self
3001     }
3002 }
3003 #[repr(C)]
3004 pub union DDPIXELFORMAT_2 {
3005     pub dwGBitMask: u32,
3006     pub dwUBitMask: u32,
3007     pub dwZBitMask: u32,
3008     pub dwBumpDvBitMask: u32,
3009     pub MultiSampleCaps: DDPIXELFORMAT_2_0,
3010 }
3011 impl ::core::marker::Copy for DDPIXELFORMAT_2 {}
3012 impl ::core::clone::Clone for DDPIXELFORMAT_2 {
clone(&self) -> Self3013     fn clone(&self) -> Self {
3014         *self
3015     }
3016 }
3017 #[repr(C)]
3018 pub struct DDPIXELFORMAT_2_0 {
3019     pub wFlipMSTypes: u16,
3020     pub wBltMSTypes: u16,
3021 }
3022 impl ::core::marker::Copy for DDPIXELFORMAT_2_0 {}
3023 impl ::core::clone::Clone for DDPIXELFORMAT_2_0 {
clone(&self) -> Self3024     fn clone(&self) -> Self {
3025         *self
3026     }
3027 }
3028 #[repr(C)]
3029 pub union DDPIXELFORMAT_3 {
3030     pub dwBBitMask: u32,
3031     pub dwVBitMask: u32,
3032     pub dwStencilBitMask: u32,
3033     pub dwBumpLuminanceBitMask: u32,
3034 }
3035 impl ::core::marker::Copy for DDPIXELFORMAT_3 {}
3036 impl ::core::clone::Clone for DDPIXELFORMAT_3 {
clone(&self) -> Self3037     fn clone(&self) -> Self {
3038         *self
3039     }
3040 }
3041 #[repr(C)]
3042 pub union DDPIXELFORMAT_4 {
3043     pub dwRGBAlphaBitMask: u32,
3044     pub dwYUVAlphaBitMask: u32,
3045     pub dwLuminanceAlphaBitMask: u32,
3046     pub dwRGBZBitMask: u32,
3047     pub dwYUVZBitMask: u32,
3048 }
3049 impl ::core::marker::Copy for DDPIXELFORMAT_4 {}
3050 impl ::core::clone::Clone for DDPIXELFORMAT_4 {
clone(&self) -> Self3051     fn clone(&self) -> Self {
3052         *self
3053     }
3054 }
3055 pub const DDRAWICLIP_INMASTERSPRITELIST: i32 = 4i32;
3056 pub const DDRAWICLIP_ISINITIALIZED: i32 = 2i32;
3057 pub const DDRAWICLIP_WATCHWINDOW: i32 = 1i32;
3058 pub const DDRAWILCL_ACTIVENO: i32 = 16i32;
3059 pub const DDRAWILCL_ACTIVEYES: i32 = 8i32;
3060 pub const DDRAWILCL_ALLOWMODEX: i32 = 64i32;
3061 pub const DDRAWILCL_ATTEMPTEDD3DCONTEXT: i32 = 262144i32;
3062 pub const DDRAWILCL_CREATEDWINDOW: i32 = 512i32;
3063 pub const DDRAWILCL_CURSORCLIPPED: i32 = 4096i32;
3064 pub const DDRAWILCL_DIRECTDRAW7: i32 = 131072i32;
3065 pub const DDRAWILCL_DIRECTDRAW8: i32 = 2097152i32;
3066 pub const DDRAWILCL_DIRTYDC: i32 = 1024i32;
3067 pub const DDRAWILCL_DISABLEINACTIVATE: i32 = 2048i32;
3068 pub const DDRAWILCL_DX8DRIVER: i32 = 1048576i32;
3069 pub const DDRAWILCL_EXPLICITMONITOR: i32 = 8192i32;
3070 pub const DDRAWILCL_FPUPRESERVE: i32 = 524288i32;
3071 pub const DDRAWILCL_FPUSETUP: i32 = 32768i32;
3072 pub const DDRAWILCL_HASEXCLUSIVEMODE: i32 = 1i32;
3073 pub const DDRAWILCL_HOOKEDHWND: i32 = 32i32;
3074 pub const DDRAWILCL_ISFULLSCREEN: i32 = 2i32;
3075 pub const DDRAWILCL_MODEHASBEENCHANGED: i32 = 256i32;
3076 pub const DDRAWILCL_MULTITHREADED: i32 = 16384i32;
3077 pub const DDRAWILCL_POWEREDDOWN: i32 = 65536i32;
3078 pub const DDRAWILCL_SETCOOPCALLED: i32 = 4i32;
3079 pub const DDRAWILCL_V1SCLBEHAVIOUR: i32 = 128i32;
3080 pub const DDRAWIPAL_16: i32 = 2i32;
3081 pub const DDRAWIPAL_2: i32 = 2048i32;
3082 pub const DDRAWIPAL_256: i32 = 1i32;
3083 pub const DDRAWIPAL_4: i32 = 1024i32;
3084 pub const DDRAWIPAL_ALLOW256: i32 = 512i32;
3085 pub const DDRAWIPAL_ALPHA: i32 = 8192i32;
3086 pub const DDRAWIPAL_DIRTY: i32 = 256i32;
3087 pub const DDRAWIPAL_EXCLUSIVE: i32 = 64i32;
3088 pub const DDRAWIPAL_GDI: i32 = 4i32;
3089 pub const DDRAWIPAL_INHEL: i32 = 128i32;
3090 pub const DDRAWIPAL_STORED_16: i32 = 16i32;
3091 pub const DDRAWIPAL_STORED_24: i32 = 32i32;
3092 pub const DDRAWIPAL_STORED_8: i32 = 8i32;
3093 pub const DDRAWIPAL_STORED_8INDEX: i32 = 4096i32;
3094 pub const DDRAWISURFGBL_DDHELDONTFREE: i32 = 1048576i32;
3095 pub const DDRAWISURFGBL_DX8SURFACE: i32 = 524288i32;
3096 pub const DDRAWISURFGBL_FASTLOCKHELD: i32 = 32768i32;
3097 pub const DDRAWISURFGBL_HARDWAREOPDEST: i32 = 1024i32;
3098 pub const DDRAWISURFGBL_HARDWAREOPSOURCE: i32 = 512i32;
3099 pub const DDRAWISURFGBL_IMPLICITHANDLE: i32 = 128i32;
3100 pub const DDRAWISURFGBL_ISCLIENTMEM: i32 = 256i32;
3101 pub const DDRAWISURFGBL_ISGDISURFACE: i32 = 4i32;
3102 pub const DDRAWISURFGBL_LATEALLOCATELINEAR: i32 = 8192i32;
3103 pub const DDRAWISURFGBL_LOCKBROKEN: i32 = 64i32;
3104 pub const DDRAWISURFGBL_LOCKNOTHOLDINGWIN16LOCK: i32 = 16i32;
3105 pub const DDRAWISURFGBL_LOCKVRAMSTYLE: i32 = 32i32;
3106 pub const DDRAWISURFGBL_MEMFREE: i32 = 1i32;
3107 pub const DDRAWISURFGBL_NOTIFYWHENUNLOCKED: i32 = 2097152i32;
3108 pub const DDRAWISURFGBL_READONLYLOCKHELD: i32 = 65536i32;
3109 pub const DDRAWISURFGBL_RESERVED0: i32 = -2147483648i32;
3110 pub const DDRAWISURFGBL_SOFTWAREAUTOFLIP: i32 = 8i32;
3111 pub const DDRAWISURFGBL_SYSMEMEXECUTEBUFFER: i32 = 16384i32;
3112 pub const DDRAWISURFGBL_SYSMEMREQUESTED: i32 = 2i32;
3113 pub const DDRAWISURFGBL_VPORTDATA: i32 = 4096i32;
3114 pub const DDRAWISURFGBL_VPORTINTERLEAVED: i32 = 2048i32;
3115 pub const DDRAWISURF_ATTACHED: i32 = 1i32;
3116 pub const DDRAWISURF_ATTACHED_FROM: i32 = 8i32;
3117 pub const DDRAWISURF_BACKBUFFER: i32 = 134217728i32;
3118 pub const DDRAWISURF_DATAISALIASED: i32 = 64i32;
3119 pub const DDRAWISURF_DCIBUSY: i32 = 536870912i32;
3120 pub const DDRAWISURF_DCILOCK: i32 = -2147483648i32;
3121 pub const DDRAWISURF_DRIVERMANAGED: i32 = 1073741824i32;
3122 pub const DDRAWISURF_FRONTBUFFER: i32 = 67108864i32;
3123 pub const DDRAWISURF_GETDCNULL: i32 = 1073741824i32;
3124 pub const DDRAWISURF_HASCKEYDESTBLT: i32 = 512i32;
3125 pub const DDRAWISURF_HASCKEYDESTOVERLAY: i32 = 256i32;
3126 pub const DDRAWISURF_HASCKEYSRCBLT: i32 = 2048i32;
3127 pub const DDRAWISURF_HASCKEYSRCOVERLAY: i32 = 1024i32;
3128 pub const DDRAWISURF_HASDC: i32 = 128i32;
3129 pub const DDRAWISURF_HASOVERLAYDATA: i32 = 16384i32;
3130 pub const DDRAWISURF_HASPIXELFORMAT: i32 = 8192i32;
3131 pub const DDRAWISURF_HELCB: i32 = 33554432i32;
3132 pub const DDRAWISURF_HW_CKEYDESTBLT: i32 = 2097152i32;
3133 pub const DDRAWISURF_HW_CKEYDESTOVERLAY: i32 = 1048576i32;
3134 pub const DDRAWISURF_HW_CKEYSRCBLT: i32 = 8388608i32;
3135 pub const DDRAWISURF_HW_CKEYSRCOVERLAY: i32 = 4194304i32;
3136 pub const DDRAWISURF_IMPLICITCREATE: i32 = 2i32;
3137 pub const DDRAWISURF_IMPLICITROOT: i32 = 16i32;
3138 pub const DDRAWISURF_INMASTERSPRITELIST: i32 = 16777216i32;
3139 pub const DDRAWISURF_INVALID: i32 = 268435456i32;
3140 pub const DDRAWISURF_ISFREE: i32 = 4i32;
3141 pub const DDRAWISURF_LOCKEXCLUDEDCURSOR: i32 = 4096i32;
3142 pub const DDRAWISURF_PARTOFPRIMARYCHAIN: i32 = 32i32;
3143 pub const DDRAWISURF_SETGAMMA: i32 = 32768i32;
3144 pub const DDRAWISURF_STEREOSURFACELEFT: i32 = 536870912i32;
3145 pub const DDRAWISURF_SW_CKEYDESTBLT: i32 = 131072i32;
3146 pub const DDRAWISURF_SW_CKEYDESTOVERLAY: i32 = 65536i32;
3147 pub const DDRAWISURF_SW_CKEYSRCBLT: i32 = 524288i32;
3148 pub const DDRAWISURF_SW_CKEYSRCOVERLAY: i32 = 262144i32;
3149 pub const DDRAWIVPORT_COLORKEYANDINTERP: u32 = 4u32;
3150 pub const DDRAWIVPORT_NOKERNELHANDLES: u32 = 8u32;
3151 pub const DDRAWIVPORT_ON: u32 = 1u32;
3152 pub const DDRAWIVPORT_SOFTWARE_AUTOFLIP: u32 = 2u32;
3153 pub const DDRAWIVPORT_SOFTWARE_BOB: u32 = 16u32;
3154 pub const DDRAWIVPORT_VBION: u32 = 32u32;
3155 pub const DDRAWIVPORT_VIDEOON: u32 = 64u32;
3156 pub const DDRAWI_ATTACHEDTODESKTOP: i32 = 16777216i32;
3157 pub const DDRAWI_BADPDEV: i32 = 1073741824i32;
3158 pub const DDRAWI_CHANGINGMODE: i32 = 4194304i32;
3159 #[repr(C)]
3160 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3161 pub struct DDRAWI_DDMOTIONCOMP_INT {
3162     pub lpVtbl: *mut ::core::ffi::c_void,
3163     pub lpLcl: *mut DDRAWI_DDMOTIONCOMP_LCL,
3164     pub lpLink: *mut DDRAWI_DDMOTIONCOMP_INT,
3165     pub dwIntRefCnt: u32,
3166 }
3167 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3168 impl ::core::marker::Copy for DDRAWI_DDMOTIONCOMP_INT {}
3169 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3170 impl ::core::clone::Clone for DDRAWI_DDMOTIONCOMP_INT {
clone(&self) -> Self3171     fn clone(&self) -> Self {
3172         *self
3173     }
3174 }
3175 #[repr(C)]
3176 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3177 pub struct DDRAWI_DDMOTIONCOMP_LCL {
3178     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
3179     pub guid: ::windows_sys::core::GUID,
3180     pub dwUncompWidth: u32,
3181     pub dwUncompHeight: u32,
3182     pub ddUncompPixelFormat: DDPIXELFORMAT,
3183     pub dwInternalFlags: u32,
3184     pub dwRefCnt: u32,
3185     pub dwProcessId: u32,
3186     pub hMoComp: super::super::Foundation::HANDLE,
3187     pub dwDriverReserved1: u32,
3188     pub dwDriverReserved2: u32,
3189     pub dwDriverReserved3: u32,
3190     pub lpDriverReserved1: *mut ::core::ffi::c_void,
3191     pub lpDriverReserved2: *mut ::core::ffi::c_void,
3192     pub lpDriverReserved3: *mut ::core::ffi::c_void,
3193 }
3194 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3195 impl ::core::marker::Copy for DDRAWI_DDMOTIONCOMP_LCL {}
3196 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3197 impl ::core::clone::Clone for DDRAWI_DDMOTIONCOMP_LCL {
clone(&self) -> Self3198     fn clone(&self) -> Self {
3199         *self
3200     }
3201 }
3202 #[repr(C)]
3203 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3204 pub struct DDRAWI_DDRAWCLIPPER_GBL {
3205     pub dwRefCnt: u32,
3206     pub dwFlags: u32,
3207     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
3208     pub dwProcessId: u32,
3209     pub dwReserved1: usize,
3210     pub hWnd: usize,
3211     pub lpStaticClipList: *mut super::Gdi::RGNDATA,
3212 }
3213 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3214 impl ::core::marker::Copy for DDRAWI_DDRAWCLIPPER_GBL {}
3215 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3216 impl ::core::clone::Clone for DDRAWI_DDRAWCLIPPER_GBL {
clone(&self) -> Self3217     fn clone(&self) -> Self {
3218         *self
3219     }
3220 }
3221 #[repr(C)]
3222 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3223 pub struct DDRAWI_DDRAWCLIPPER_INT {
3224     pub lpVtbl: *mut ::core::ffi::c_void,
3225     pub lpLcl: *mut DDRAWI_DDRAWCLIPPER_LCL,
3226     pub lpLink: *mut DDRAWI_DDRAWCLIPPER_INT,
3227     pub dwIntRefCnt: u32,
3228 }
3229 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3230 impl ::core::marker::Copy for DDRAWI_DDRAWCLIPPER_INT {}
3231 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3232 impl ::core::clone::Clone for DDRAWI_DDRAWCLIPPER_INT {
clone(&self) -> Self3233     fn clone(&self) -> Self {
3234         *self
3235     }
3236 }
3237 #[repr(C)]
3238 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3239 pub struct DDRAWI_DDRAWCLIPPER_LCL {
3240     pub lpClipMore: u32,
3241     pub lpGbl: *mut DDRAWI_DDRAWCLIPPER_GBL,
3242     pub lpDD_lcl: *mut DDRAWI_DIRECTDRAW_LCL,
3243     pub dwLocalRefCnt: u32,
3244     pub pUnkOuter: ::windows_sys::core::IUnknown,
3245     pub lpDD_int: *mut DDRAWI_DIRECTDRAW_INT,
3246     pub dwReserved1: usize,
3247     pub pAddrefedThisOwner: ::windows_sys::core::IUnknown,
3248 }
3249 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3250 impl ::core::marker::Copy for DDRAWI_DDRAWCLIPPER_LCL {}
3251 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3252 impl ::core::clone::Clone for DDRAWI_DDRAWCLIPPER_LCL {
clone(&self) -> Self3253     fn clone(&self) -> Self {
3254         *self
3255     }
3256 }
3257 pub const DDRAWI_DDRAWDATANOTFETCHED: i32 = 67108864i32;
3258 #[repr(C)]
3259 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3260 pub struct DDRAWI_DDRAWPALETTE_GBL {
3261     pub dwRefCnt: u32,
3262     pub dwFlags: u32,
3263     pub lpDD_lcl: *mut DDRAWI_DIRECTDRAW_LCL,
3264     pub dwProcessId: u32,
3265     pub lpColorTable: *mut super::Gdi::PALETTEENTRY,
3266     pub Anonymous: DDRAWI_DDRAWPALETTE_GBL_0,
3267     pub dwDriverReserved: u32,
3268     pub dwContentsStamp: u32,
3269     pub dwSaveStamp: u32,
3270     pub dwHandle: u32,
3271 }
3272 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3273 impl ::core::marker::Copy for DDRAWI_DDRAWPALETTE_GBL {}
3274 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3275 impl ::core::clone::Clone for DDRAWI_DDRAWPALETTE_GBL {
clone(&self) -> Self3276     fn clone(&self) -> Self {
3277         *self
3278     }
3279 }
3280 #[repr(C)]
3281 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3282 pub union DDRAWI_DDRAWPALETTE_GBL_0 {
3283     pub dwReserved1: usize,
3284     pub hHELGDIPalette: super::Gdi::HPALETTE,
3285 }
3286 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3287 impl ::core::marker::Copy for DDRAWI_DDRAWPALETTE_GBL_0 {}
3288 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3289 impl ::core::clone::Clone for DDRAWI_DDRAWPALETTE_GBL_0 {
clone(&self) -> Self3290     fn clone(&self) -> Self {
3291         *self
3292     }
3293 }
3294 #[repr(C)]
3295 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3296 pub struct DDRAWI_DDRAWPALETTE_INT {
3297     pub lpVtbl: *mut ::core::ffi::c_void,
3298     pub lpLcl: *mut DDRAWI_DDRAWPALETTE_LCL,
3299     pub lpLink: *mut DDRAWI_DDRAWPALETTE_INT,
3300     pub dwIntRefCnt: u32,
3301 }
3302 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3303 impl ::core::marker::Copy for DDRAWI_DDRAWPALETTE_INT {}
3304 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3305 impl ::core::clone::Clone for DDRAWI_DDRAWPALETTE_INT {
clone(&self) -> Self3306     fn clone(&self) -> Self {
3307         *self
3308     }
3309 }
3310 #[repr(C)]
3311 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3312 pub struct DDRAWI_DDRAWPALETTE_LCL {
3313     pub lpPalMore: u32,
3314     pub lpGbl: *mut DDRAWI_DDRAWPALETTE_GBL,
3315     pub dwUnused0: usize,
3316     pub dwLocalRefCnt: u32,
3317     pub pUnkOuter: ::windows_sys::core::IUnknown,
3318     pub lpDD_lcl: *mut DDRAWI_DIRECTDRAW_LCL,
3319     pub dwReserved1: usize,
3320     pub dwDDRAWReserved1: usize,
3321     pub dwDDRAWReserved2: usize,
3322     pub dwDDRAWReserved3: usize,
3323 }
3324 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3325 impl ::core::marker::Copy for DDRAWI_DDRAWPALETTE_LCL {}
3326 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3327 impl ::core::clone::Clone for DDRAWI_DDRAWPALETTE_LCL {
clone(&self) -> Self3328     fn clone(&self) -> Self {
3329         *self
3330     }
3331 }
3332 #[repr(C)]
3333 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3334 pub struct DDRAWI_DDRAWSURFACE_GBL {
3335     pub dwRefCnt: u32,
3336     pub dwGlobalFlags: u32,
3337     pub Anonymous1: DDRAWI_DDRAWSURFACE_GBL_0,
3338     pub Anonymous2: DDRAWI_DDRAWSURFACE_GBL_1,
3339     pub Anonymous3: DDRAWI_DDRAWSURFACE_GBL_2,
3340     pub fpVidMem: usize,
3341     pub Anonymous4: DDRAWI_DDRAWSURFACE_GBL_3,
3342     pub wHeight: u16,
3343     pub wWidth: u16,
3344     pub dwUsageCount: u32,
3345     pub dwReserved1: usize,
3346     pub ddpfSurface: DDPIXELFORMAT,
3347 }
3348 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3349 impl ::core::marker::Copy for DDRAWI_DDRAWSURFACE_GBL {}
3350 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3351 impl ::core::clone::Clone for DDRAWI_DDRAWSURFACE_GBL {
clone(&self) -> Self3352     fn clone(&self) -> Self {
3353         *self
3354     }
3355 }
3356 #[repr(C)]
3357 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3358 pub union DDRAWI_DDRAWSURFACE_GBL_0 {
3359     pub lpRectList: *mut ACCESSRECTLIST,
3360     pub dwBlockSizeY: u32,
3361     pub lSlicePitch: i32,
3362 }
3363 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3364 impl ::core::marker::Copy for DDRAWI_DDRAWSURFACE_GBL_0 {}
3365 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3366 impl ::core::clone::Clone for DDRAWI_DDRAWSURFACE_GBL_0 {
clone(&self) -> Self3367     fn clone(&self) -> Self {
3368         *self
3369     }
3370 }
3371 #[repr(C)]
3372 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3373 pub union DDRAWI_DDRAWSURFACE_GBL_1 {
3374     pub lpVidMemHeap: *mut VMEMHEAP,
3375     pub dwBlockSizeX: u32,
3376 }
3377 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3378 impl ::core::marker::Copy for DDRAWI_DDRAWSURFACE_GBL_1 {}
3379 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3380 impl ::core::clone::Clone for DDRAWI_DDRAWSURFACE_GBL_1 {
clone(&self) -> Self3381     fn clone(&self) -> Self {
3382         *self
3383     }
3384 }
3385 #[repr(C)]
3386 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3387 pub union DDRAWI_DDRAWSURFACE_GBL_2 {
3388     pub lpDD: *mut DDRAWI_DIRECTDRAW_GBL,
3389     pub lpDDHandle: *mut ::core::ffi::c_void,
3390 }
3391 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3392 impl ::core::marker::Copy for DDRAWI_DDRAWSURFACE_GBL_2 {}
3393 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3394 impl ::core::clone::Clone for DDRAWI_DDRAWSURFACE_GBL_2 {
clone(&self) -> Self3395     fn clone(&self) -> Self {
3396         *self
3397     }
3398 }
3399 #[repr(C)]
3400 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3401 pub union DDRAWI_DDRAWSURFACE_GBL_3 {
3402     pub lPitch: i32,
3403     pub dwLinearSize: u32,
3404 }
3405 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3406 impl ::core::marker::Copy for DDRAWI_DDRAWSURFACE_GBL_3 {}
3407 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3408 impl ::core::clone::Clone for DDRAWI_DDRAWSURFACE_GBL_3 {
clone(&self) -> Self3409     fn clone(&self) -> Self {
3410         *self
3411     }
3412 }
3413 #[repr(C)]
3414 pub struct DDRAWI_DDRAWSURFACE_GBL_MORE {
3415     pub dwSize: u32,
3416     pub Anonymous: DDRAWI_DDRAWSURFACE_GBL_MORE_0,
3417     pub pPageTable: *mut u32,
3418     pub cPages: u32,
3419     pub dwSavedDCContext: usize,
3420     pub fpAliasedVidMem: usize,
3421     pub dwDriverReserved: usize,
3422     pub dwHELReserved: usize,
3423     pub cPageUnlocks: u32,
3424     pub hKernelSurface: usize,
3425     pub dwKernelRefCnt: u32,
3426     pub lpColorInfo: *mut DDCOLORCONTROL,
3427     pub fpNTAlias: usize,
3428     pub dwContentsStamp: u32,
3429     pub lpvUnswappedDriverReserved: *mut ::core::ffi::c_void,
3430     pub lpDDRAWReserved2: *mut ::core::ffi::c_void,
3431     pub dwDDRAWReserved1: u32,
3432     pub dwDDRAWReserved2: u32,
3433     pub fpAliasOfVidMem: usize,
3434 }
3435 impl ::core::marker::Copy for DDRAWI_DDRAWSURFACE_GBL_MORE {}
3436 impl ::core::clone::Clone for DDRAWI_DDRAWSURFACE_GBL_MORE {
clone(&self) -> Self3437     fn clone(&self) -> Self {
3438         *self
3439     }
3440 }
3441 #[repr(C)]
3442 pub union DDRAWI_DDRAWSURFACE_GBL_MORE_0 {
3443     pub dwPhysicalPageTable: u32,
3444     pub fpPhysicalVidMem: usize,
3445 }
3446 impl ::core::marker::Copy for DDRAWI_DDRAWSURFACE_GBL_MORE_0 {}
3447 impl ::core::clone::Clone for DDRAWI_DDRAWSURFACE_GBL_MORE_0 {
clone(&self) -> Self3448     fn clone(&self) -> Self {
3449         *self
3450     }
3451 }
3452 #[repr(C)]
3453 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3454 pub struct DDRAWI_DDRAWSURFACE_INT {
3455     pub lpVtbl: *mut ::core::ffi::c_void,
3456     pub lpLcl: *mut DDRAWI_DDRAWSURFACE_LCL,
3457     pub lpLink: *mut DDRAWI_DDRAWSURFACE_INT,
3458     pub dwIntRefCnt: u32,
3459 }
3460 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3461 impl ::core::marker::Copy for DDRAWI_DDRAWSURFACE_INT {}
3462 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3463 impl ::core::clone::Clone for DDRAWI_DDRAWSURFACE_INT {
clone(&self) -> Self3464     fn clone(&self) -> Self {
3465         *self
3466     }
3467 }
3468 #[repr(C)]
3469 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3470 pub struct DDRAWI_DDRAWSURFACE_LCL {
3471     pub lpSurfMore: *mut DDRAWI_DDRAWSURFACE_MORE,
3472     pub lpGbl: *mut DDRAWI_DDRAWSURFACE_GBL,
3473     pub hDDSurface: usize,
3474     pub lpAttachList: *mut ATTACHLIST,
3475     pub lpAttachListFrom: *mut ATTACHLIST,
3476     pub dwLocalRefCnt: u32,
3477     pub dwProcessId: u32,
3478     pub dwFlags: u32,
3479     pub ddsCaps: DDSCAPS,
3480     pub Anonymous1: DDRAWI_DDRAWSURFACE_LCL_0,
3481     pub Anonymous2: DDRAWI_DDRAWSURFACE_LCL_1,
3482     pub dwModeCreatedIn: u32,
3483     pub dwBackBufferCount: u32,
3484     pub ddckCKDestBlt: DDCOLORKEY,
3485     pub ddckCKSrcBlt: DDCOLORKEY,
3486     pub hDC: usize,
3487     pub dwReserved1: usize,
3488     pub ddckCKSrcOverlay: DDCOLORKEY,
3489     pub ddckCKDestOverlay: DDCOLORKEY,
3490     pub lpSurfaceOverlaying: *mut DDRAWI_DDRAWSURFACE_INT,
3491     pub dbnOverlayNode: DBLNODE,
3492     pub rcOverlaySrc: super::super::Foundation::RECT,
3493     pub rcOverlayDest: super::super::Foundation::RECT,
3494     pub dwClrXparent: u32,
3495     pub dwAlpha: u32,
3496     pub lOverlayX: i32,
3497     pub lOverlayY: i32,
3498 }
3499 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3500 impl ::core::marker::Copy for DDRAWI_DDRAWSURFACE_LCL {}
3501 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3502 impl ::core::clone::Clone for DDRAWI_DDRAWSURFACE_LCL {
clone(&self) -> Self3503     fn clone(&self) -> Self {
3504         *self
3505     }
3506 }
3507 #[repr(C)]
3508 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3509 pub union DDRAWI_DDRAWSURFACE_LCL_0 {
3510     pub lpDDPalette: *mut DDRAWI_DDRAWPALETTE_INT,
3511     pub lp16DDPalette: *mut DDRAWI_DDRAWPALETTE_INT,
3512 }
3513 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3514 impl ::core::marker::Copy for DDRAWI_DDRAWSURFACE_LCL_0 {}
3515 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3516 impl ::core::clone::Clone for DDRAWI_DDRAWSURFACE_LCL_0 {
clone(&self) -> Self3517     fn clone(&self) -> Self {
3518         *self
3519     }
3520 }
3521 #[repr(C)]
3522 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3523 pub union DDRAWI_DDRAWSURFACE_LCL_1 {
3524     pub lpDDClipper: *mut DDRAWI_DDRAWCLIPPER_LCL,
3525     pub lp16DDClipper: *mut DDRAWI_DDRAWCLIPPER_INT,
3526 }
3527 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3528 impl ::core::marker::Copy for DDRAWI_DDRAWSURFACE_LCL_1 {}
3529 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3530 impl ::core::clone::Clone for DDRAWI_DDRAWSURFACE_LCL_1 {
clone(&self) -> Self3531     fn clone(&self) -> Self {
3532         *self
3533     }
3534 }
3535 #[repr(C)]
3536 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3537 pub struct DDRAWI_DDRAWSURFACE_MORE {
3538     pub dwSize: u32,
3539     pub lpIUnknowns: *mut IUNKNOWN_LIST,
3540     pub lpDD_lcl: *mut DDRAWI_DIRECTDRAW_LCL,
3541     pub dwPageLockCount: u32,
3542     pub dwBytesAllocated: u32,
3543     pub lpDD_int: *mut DDRAWI_DIRECTDRAW_INT,
3544     pub dwMipMapCount: u32,
3545     pub lpDDIClipper: *mut DDRAWI_DDRAWCLIPPER_INT,
3546     pub lpHeapAliasInfo: *mut HEAPALIASINFO,
3547     pub dwOverlayFlags: u32,
3548     pub rgjunc: *mut ::core::ffi::c_void,
3549     pub lpVideoPort: *mut DDRAWI_DDVIDEOPORT_LCL,
3550     pub lpddOverlayFX: *mut DDOVERLAYFX,
3551     pub ddsCapsEx: DDSCAPSEX,
3552     pub dwTextureStage: u32,
3553     pub lpDDRAWReserved: *mut ::core::ffi::c_void,
3554     pub lpDDRAWReserved2: *mut ::core::ffi::c_void,
3555     pub lpDDrawReserved3: *mut ::core::ffi::c_void,
3556     pub dwDDrawReserved4: u32,
3557     pub lpDDrawReserved5: *mut ::core::ffi::c_void,
3558     pub lpGammaRamp: *mut u32,
3559     pub lpOriginalGammaRamp: *mut u32,
3560     pub lpDDrawReserved6: *mut ::core::ffi::c_void,
3561     pub dwSurfaceHandle: u32,
3562     pub qwDDrawReserved8: [u32; 2],
3563     pub lpDDrawReserved9: *mut ::core::ffi::c_void,
3564     pub cSurfaces: u32,
3565     pub pCreatedDDSurfaceDesc2: *mut DDSURFACEDESC2,
3566     pub slist: *mut *mut DDRAWI_DDRAWSURFACE_LCL,
3567     pub dwFVF: u32,
3568     pub lpVB: *mut ::core::ffi::c_void,
3569 }
3570 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3571 impl ::core::marker::Copy for DDRAWI_DDRAWSURFACE_MORE {}
3572 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3573 impl ::core::clone::Clone for DDRAWI_DDRAWSURFACE_MORE {
clone(&self) -> Self3574     fn clone(&self) -> Self {
3575         *self
3576     }
3577 }
3578 #[repr(C)]
3579 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3580 pub struct DDRAWI_DDVIDEOPORT_INT {
3581     pub lpVtbl: *mut ::core::ffi::c_void,
3582     pub lpLcl: *mut DDRAWI_DDVIDEOPORT_LCL,
3583     pub lpLink: *mut DDRAWI_DDVIDEOPORT_INT,
3584     pub dwIntRefCnt: u32,
3585     pub dwFlags: u32,
3586 }
3587 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3588 impl ::core::marker::Copy for DDRAWI_DDVIDEOPORT_INT {}
3589 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3590 impl ::core::clone::Clone for DDRAWI_DDVIDEOPORT_INT {
clone(&self) -> Self3591     fn clone(&self) -> Self {
3592         *self
3593     }
3594 }
3595 #[repr(C)]
3596 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3597 pub struct DDRAWI_DDVIDEOPORT_LCL {
3598     pub lpDD: *mut DDRAWI_DIRECTDRAW_LCL,
3599     pub ddvpDesc: DDVIDEOPORTDESC,
3600     pub ddvpInfo: DDVIDEOPORTINFO,
3601     pub lpSurface: *mut DDRAWI_DDRAWSURFACE_INT,
3602     pub lpVBISurface: *mut DDRAWI_DDRAWSURFACE_INT,
3603     pub lpFlipInts: *mut *mut DDRAWI_DDRAWSURFACE_INT,
3604     pub dwNumAutoflip: u32,
3605     pub dwProcessID: u32,
3606     pub dwStateFlags: u32,
3607     pub dwFlags: u32,
3608     pub dwRefCnt: u32,
3609     pub fpLastFlip: usize,
3610     pub dwReserved1: usize,
3611     pub dwReserved2: usize,
3612     pub hDDVideoPort: super::super::Foundation::HANDLE,
3613     pub dwNumVBIAutoflip: u32,
3614     pub lpVBIDesc: *mut DDVIDEOPORTDESC,
3615     pub lpVideoDesc: *mut DDVIDEOPORTDESC,
3616     pub lpVBIInfo: *mut DDVIDEOPORTINFO,
3617     pub lpVideoInfo: *mut DDVIDEOPORTINFO,
3618     pub dwVBIProcessID: u32,
3619     pub lpVPNotify: *mut DDRAWI_DDVIDEOPORT_INT,
3620 }
3621 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3622 impl ::core::marker::Copy for DDRAWI_DDVIDEOPORT_LCL {}
3623 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3624 impl ::core::clone::Clone for DDRAWI_DDVIDEOPORT_LCL {
clone(&self) -> Self3625     fn clone(&self) -> Self {
3626         *self
3627     }
3628 }
3629 #[repr(C)]
3630 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3631 pub struct DDRAWI_DIRECTDRAW_GBL {
3632     pub dwRefCnt: u32,
3633     pub dwFlags: u32,
3634     pub fpPrimaryOrig: usize,
3635     pub ddCaps: DDCORECAPS,
3636     pub dwInternal1: u32,
3637     pub dwUnused1: [u32; 9],
3638     pub lpDDCBtmp: *mut DDHAL_CALLBACKS,
3639     pub dsList: *mut DDRAWI_DDRAWSURFACE_INT,
3640     pub palList: *mut DDRAWI_DDRAWPALETTE_INT,
3641     pub clipperList: *mut DDRAWI_DDRAWCLIPPER_INT,
3642     pub lp16DD: *mut DDRAWI_DIRECTDRAW_GBL,
3643     pub dwMaxOverlays: u32,
3644     pub dwCurrOverlays: u32,
3645     pub dwMonitorFrequency: u32,
3646     pub ddHELCaps: DDCORECAPS,
3647     pub dwUnused2: [u32; 50],
3648     pub ddckCKDestOverlay: DDCOLORKEY,
3649     pub ddckCKSrcOverlay: DDCOLORKEY,
3650     pub vmiData: VIDMEMINFO,
3651     pub lpDriverHandle: *mut ::core::ffi::c_void,
3652     pub lpExclusiveOwner: *mut DDRAWI_DIRECTDRAW_LCL,
3653     pub dwModeIndex: u32,
3654     pub dwModeIndexOrig: u32,
3655     pub dwNumFourCC: u32,
3656     pub lpdwFourCC: *mut u32,
3657     pub dwNumModes: u32,
3658     pub lpModeInfo: *mut DDHALMODEINFO,
3659     pub plProcessList: PROCESS_LIST,
3660     pub dwSurfaceLockCount: u32,
3661     pub dwAliasedLockCnt: u32,
3662     pub dwReserved3: usize,
3663     pub hDD: usize,
3664     pub cObsolete: [super::super::Foundation::CHAR; 12],
3665     pub dwReserved1: u32,
3666     pub dwReserved2: u32,
3667     pub dbnOverlayRoot: DBLNODE,
3668     pub lpwPDeviceFlags: *mut u16,
3669     pub dwPDevice: u32,
3670     pub dwWin16LockCnt: u32,
3671     pub dwUnused3: u32,
3672     pub hInstance: u32,
3673     pub dwEvent16: u32,
3674     pub dwSaveNumModes: u32,
3675     pub lpD3DGlobalDriverData: usize,
3676     pub lpD3DHALCallbacks: usize,
3677     pub ddBothCaps: DDCORECAPS,
3678     pub lpDDVideoPortCaps: *mut DDVIDEOPORTCAPS,
3679     pub dvpList: *mut DDRAWI_DDVIDEOPORT_INT,
3680     pub lpD3DHALCallbacks2: usize,
3681     pub rectDevice: super::super::Foundation::RECT,
3682     pub cMonitors: u32,
3683     pub gpbmiSrc: *mut ::core::ffi::c_void,
3684     pub gpbmiDest: *mut ::core::ffi::c_void,
3685     pub phaiHeapAliases: *mut HEAPALIASINFO,
3686     pub hKernelHandle: usize,
3687     pub pfnNotifyProc: usize,
3688     pub lpDDKernelCaps: *mut DDKERNELCAPS,
3689     pub lpddNLVCaps: *mut DDNONLOCALVIDMEMCAPS,
3690     pub lpddNLVHELCaps: *mut DDNONLOCALVIDMEMCAPS,
3691     pub lpddNLVBothCaps: *mut DDNONLOCALVIDMEMCAPS,
3692     pub lpD3DExtendedCaps: usize,
3693     pub dwDOSBoxEvent: u32,
3694     pub rectDesktop: super::super::Foundation::RECT,
3695     pub cDriverName: [super::super::Foundation::CHAR; 32],
3696     pub lpD3DHALCallbacks3: usize,
3697     pub dwNumZPixelFormats: u32,
3698     pub lpZPixelFormats: *mut DDPIXELFORMAT,
3699     pub mcList: *mut DDRAWI_DDMOTIONCOMP_INT,
3700     pub hDDVxd: u32,
3701     pub ddsCapsMore: DDSCAPSEX,
3702 }
3703 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3704 impl ::core::marker::Copy for DDRAWI_DIRECTDRAW_GBL {}
3705 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3706 impl ::core::clone::Clone for DDRAWI_DIRECTDRAW_GBL {
clone(&self) -> Self3707     fn clone(&self) -> Self {
3708         *self
3709     }
3710 }
3711 #[repr(C)]
3712 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3713 pub struct DDRAWI_DIRECTDRAW_INT {
3714     pub lpVtbl: *mut ::core::ffi::c_void,
3715     pub lpLcl: *mut DDRAWI_DIRECTDRAW_LCL,
3716     pub lpLink: *mut DDRAWI_DIRECTDRAW_INT,
3717     pub dwIntRefCnt: u32,
3718 }
3719 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3720 impl ::core::marker::Copy for DDRAWI_DIRECTDRAW_INT {}
3721 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3722 impl ::core::clone::Clone for DDRAWI_DIRECTDRAW_INT {
clone(&self) -> Self3723     fn clone(&self) -> Self {
3724         *self
3725     }
3726 }
3727 #[repr(C)]
3728 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3729 pub struct DDRAWI_DIRECTDRAW_LCL {
3730     pub lpDDMore: u32,
3731     pub lpGbl: *mut DDRAWI_DIRECTDRAW_GBL,
3732     pub dwUnused0: u32,
3733     pub dwLocalFlags: u32,
3734     pub dwLocalRefCnt: u32,
3735     pub dwProcessId: u32,
3736     pub pUnkOuter: ::windows_sys::core::IUnknown,
3737     pub dwObsolete1: u32,
3738     pub hWnd: usize,
3739     pub hDC: usize,
3740     pub dwErrorMode: u32,
3741     pub lpPrimary: *mut DDRAWI_DDRAWSURFACE_INT,
3742     pub lpCB: *mut DDRAWI_DDRAWSURFACE_INT,
3743     pub dwPreferredMode: u32,
3744     pub hD3DInstance: super::super::Foundation::HINSTANCE,
3745     pub pD3DIUnknown: ::windows_sys::core::IUnknown,
3746     pub lpDDCB: *mut DDHAL_CALLBACKS,
3747     pub hDDVxd: usize,
3748     pub dwAppHackFlags: u32,
3749     pub hFocusWnd: usize,
3750     pub dwHotTracking: u32,
3751     pub dwIMEState: u32,
3752     pub hWndPopup: usize,
3753     pub hDD: usize,
3754     pub hGammaCalibrator: usize,
3755     pub lpGammaCalibrator: LPDDGAMMACALIBRATORPROC,
3756 }
3757 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3758 impl ::core::marker::Copy for DDRAWI_DIRECTDRAW_LCL {}
3759 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3760 impl ::core::clone::Clone for DDRAWI_DIRECTDRAW_LCL {
clone(&self) -> Self3761     fn clone(&self) -> Self {
3762         *self
3763     }
3764 }
3765 pub const DDRAWI_DISPLAYDRV: i32 = 32i32;
3766 pub const DDRAWI_DRIVERINFO2: i32 = 536870912i32;
3767 pub const DDRAWI_EMULATIONINITIALIZED: i32 = 16384i32;
3768 pub const DDRAWI_EXTENDEDALIGNMENT: i32 = 2097152i32;
3769 pub const DDRAWI_FLIPPEDTOGDI: i32 = 131072i32;
3770 pub const DDRAWI_FULLSCREEN: i32 = 64i32;
3771 pub const DDRAWI_GDIDRV: i32 = 8388608i32;
3772 pub const DDRAWI_GETCOLOR: u32 = 1u32;
3773 pub const DDRAWI_HASCKEYDESTOVERLAY: i32 = 2048i32;
3774 pub const DDRAWI_HASCKEYSRCOVERLAY: i32 = 4096i32;
3775 pub const DDRAWI_HASGDIPALETTE: i32 = 8192i32;
3776 pub const DDRAWI_HASGDIPALETTE_EXCLUSIVE: i32 = 32768i32;
3777 pub const DDRAWI_MODECHANGED: i32 = 128i32;
3778 pub const DDRAWI_MODEX: i32 = 16i32;
3779 pub const DDRAWI_MODEXILLEGAL: i32 = 65536i32;
3780 pub const DDRAWI_NEEDSWIN16FORVRAMLOCK: i32 = 262144i32;
3781 pub const DDRAWI_NOEMULATION: i32 = 1024i32;
3782 pub const DDRAWI_NOHARDWARE: i32 = 256i32;
3783 pub const DDRAWI_PALETTEINIT: i32 = 512i32;
3784 pub const DDRAWI_PDEVICEVRAMBITCLEARED: i32 = 524288i32;
3785 pub const DDRAWI_SECONDARYDRIVERLOADED: i32 = 134217728i32;
3786 pub const DDRAWI_SETCOLOR: u32 = 2u32;
3787 pub const DDRAWI_STANDARDVGA: i32 = 1048576i32;
3788 pub const DDRAWI_TESTINGMODES: i32 = 268435456i32;
3789 pub const DDRAWI_UMODELOADED: i32 = 33554432i32;
3790 pub const DDRAWI_VIRTUALDESKTOP: i32 = 8i32;
3791 pub const DDRAWI_VPORTGETCOLOR: u32 = 1u32;
3792 pub const DDRAWI_VPORTSETCOLOR: u32 = 2u32;
3793 pub const DDRAWI_VPORTSTART: u32 = 1u32;
3794 pub const DDRAWI_VPORTSTOP: u32 = 2u32;
3795 pub const DDRAWI_VPORTUPDATE: u32 = 3u32;
3796 pub const DDRAWI_xxxxxxxxx1: i32 = 1i32;
3797 pub const DDRAWI_xxxxxxxxx2: i32 = 2i32;
3798 #[repr(C)]
3799 pub struct DDRGBA {
3800     pub red: u8,
3801     pub green: u8,
3802     pub blue: u8,
3803     pub alpha: u8,
3804 }
3805 impl ::core::marker::Copy for DDRGBA {}
3806 impl ::core::clone::Clone for DDRGBA {
clone(&self) -> Self3807     fn clone(&self) -> Self {
3808         *self
3809     }
3810 }
3811 #[repr(C)]
3812 pub struct DDSCAPS {
3813     pub dwCaps: u32,
3814 }
3815 impl ::core::marker::Copy for DDSCAPS {}
3816 impl ::core::clone::Clone for DDSCAPS {
clone(&self) -> Self3817     fn clone(&self) -> Self {
3818         *self
3819     }
3820 }
3821 #[repr(C)]
3822 pub struct DDSCAPS2 {
3823     pub dwCaps: u32,
3824     pub dwCaps2: u32,
3825     pub dwCaps3: u32,
3826     pub Anonymous: DDSCAPS2_0,
3827 }
3828 impl ::core::marker::Copy for DDSCAPS2 {}
3829 impl ::core::clone::Clone for DDSCAPS2 {
clone(&self) -> Self3830     fn clone(&self) -> Self {
3831         *self
3832     }
3833 }
3834 #[repr(C)]
3835 pub union DDSCAPS2_0 {
3836     pub dwCaps4: u32,
3837     pub dwVolumeDepth: u32,
3838 }
3839 impl ::core::marker::Copy for DDSCAPS2_0 {}
3840 impl ::core::clone::Clone for DDSCAPS2_0 {
clone(&self) -> Self3841     fn clone(&self) -> Self {
3842         *self
3843     }
3844 }
3845 pub const DDSCAPS2_ADDITIONALPRIMARY: i32 = -2147483648i32;
3846 pub const DDSCAPS2_COMMANDBUFFER: i32 = 64i32;
3847 pub const DDSCAPS2_CUBEMAP: i32 = 512i32;
3848 pub const DDSCAPS2_CUBEMAP_NEGATIVEX: i32 = 2048i32;
3849 pub const DDSCAPS2_CUBEMAP_NEGATIVEY: i32 = 8192i32;
3850 pub const DDSCAPS2_CUBEMAP_NEGATIVEZ: i32 = 32768i32;
3851 pub const DDSCAPS2_CUBEMAP_POSITIVEX: i32 = 1024i32;
3852 pub const DDSCAPS2_CUBEMAP_POSITIVEY: i32 = 4096i32;
3853 pub const DDSCAPS2_CUBEMAP_POSITIVEZ: i32 = 16384i32;
3854 pub const DDSCAPS2_D3DTEXTUREMANAGE: i32 = 131072i32;
3855 pub const DDSCAPS2_DISCARDBACKBUFFER: i32 = 268435456i32;
3856 pub const DDSCAPS2_DONOTPERSIST: i32 = 262144i32;
3857 pub const DDSCAPS2_ENABLEALPHACHANNEL: i32 = 536870912i32;
3858 pub const DDSCAPS2_EXTENDEDFORMATPRIMARY: i32 = 1073741824i32;
3859 pub const DDSCAPS2_HARDWAREDEINTERLACE: i32 = 0i32;
3860 pub const DDSCAPS2_HINTANTIALIASING: i32 = 256i32;
3861 pub const DDSCAPS2_HINTDYNAMIC: i32 = 4i32;
3862 pub const DDSCAPS2_HINTSTATIC: i32 = 8i32;
3863 pub const DDSCAPS2_INDEXBUFFER: i32 = 67108864i32;
3864 pub const DDSCAPS2_MIPMAPSUBLEVEL: i32 = 65536i32;
3865 pub const DDSCAPS2_NOTUSERLOCKABLE: i32 = 4194304i32;
3866 pub const DDSCAPS2_NPATCHES: i32 = 33554432i32;
3867 pub const DDSCAPS2_OPAQUE: i32 = 128i32;
3868 pub const DDSCAPS2_POINTS: i32 = 8388608i32;
3869 pub const DDSCAPS2_RESERVED1: i32 = 32i32;
3870 pub const DDSCAPS2_RESERVED2: i32 = 64i32;
3871 pub const DDSCAPS2_RESERVED3: i32 = 67108864i32;
3872 pub const DDSCAPS2_RESERVED4: i32 = 2i32;
3873 pub const DDSCAPS2_RTPATCHES: i32 = 16777216i32;
3874 pub const DDSCAPS2_STEREOSURFACELEFT: i32 = 524288i32;
3875 pub const DDSCAPS2_TEXTUREMANAGE: i32 = 16i32;
3876 pub const DDSCAPS2_VERTEXBUFFER: i32 = 32i32;
3877 pub const DDSCAPS2_VOLUME: i32 = 2097152i32;
3878 pub const DDSCAPS3_AUTOGENMIPMAP: i32 = 2048i32;
3879 pub const DDSCAPS3_CREATESHAREDRESOURCE: i32 = 8192i32;
3880 pub const DDSCAPS3_DMAP: i32 = 4096i32;
3881 pub const DDSCAPS3_LIGHTWEIGHTMIPMAP: i32 = 1024i32;
3882 pub const DDSCAPS3_MULTISAMPLE_MASK: i32 = 31i32;
3883 pub const DDSCAPS3_MULTISAMPLE_QUALITY_MASK: i32 = 224i32;
3884 pub const DDSCAPS3_MULTISAMPLE_QUALITY_SHIFT: u32 = 5u32;
3885 pub const DDSCAPS3_OPENSHAREDRESOURCE: i32 = 32768i32;
3886 pub const DDSCAPS3_READONLYRESOURCE: i32 = 16384i32;
3887 pub const DDSCAPS3_RESERVED1: i32 = 256i32;
3888 pub const DDSCAPS3_RESERVED2: i32 = 512i32;
3889 pub const DDSCAPS3_VIDEO: i32 = 512i32;
3890 #[repr(C)]
3891 pub struct DDSCAPSEX {
3892     pub dwCaps2: u32,
3893     pub dwCaps3: u32,
3894     pub Anonymous: DDSCAPSEX_0,
3895 }
3896 impl ::core::marker::Copy for DDSCAPSEX {}
3897 impl ::core::clone::Clone for DDSCAPSEX {
clone(&self) -> Self3898     fn clone(&self) -> Self {
3899         *self
3900     }
3901 }
3902 #[repr(C)]
3903 pub union DDSCAPSEX_0 {
3904     pub dwCaps4: u32,
3905     pub dwVolumeDepth: u32,
3906 }
3907 impl ::core::marker::Copy for DDSCAPSEX_0 {}
3908 impl ::core::clone::Clone for DDSCAPSEX_0 {
clone(&self) -> Self3909     fn clone(&self) -> Self {
3910         *self
3911     }
3912 }
3913 pub const DDSCAPS_3DDEVICE: i32 = 8192i32;
3914 pub const DDSCAPS_ALLOCONLOAD: i32 = 67108864i32;
3915 pub const DDSCAPS_ALPHA: i32 = 2i32;
3916 pub const DDSCAPS_BACKBUFFER: i32 = 4i32;
3917 pub const DDSCAPS_COMMANDBUFFER: i32 = 1024i32;
3918 pub const DDSCAPS_COMPLEX: i32 = 8i32;
3919 pub const DDSCAPS_EXECUTEBUFFER: i32 = 8388608i32;
3920 pub const DDSCAPS_FLIP: i32 = 16i32;
3921 pub const DDSCAPS_FRONTBUFFER: i32 = 32i32;
3922 pub const DDSCAPS_HWCODEC: i32 = 1048576i32;
3923 pub const DDSCAPS_LIVEVIDEO: i32 = 524288i32;
3924 pub const DDSCAPS_LOCALVIDMEM: i32 = 268435456i32;
3925 pub const DDSCAPS_MIPMAP: i32 = 4194304i32;
3926 pub const DDSCAPS_MODEX: i32 = 2097152i32;
3927 pub const DDSCAPS_NONLOCALVIDMEM: i32 = 536870912i32;
3928 pub const DDSCAPS_OFFSCREENPLAIN: i32 = 64i32;
3929 pub const DDSCAPS_OPTIMIZED: i32 = -2147483648i32;
3930 pub const DDSCAPS_OVERLAY: i32 = 128i32;
3931 pub const DDSCAPS_OWNDC: i32 = 262144i32;
3932 pub const DDSCAPS_PALETTE: i32 = 256i32;
3933 pub const DDSCAPS_PRIMARYSURFACE: i32 = 512i32;
3934 pub const DDSCAPS_PRIMARYSURFACELEFT: i32 = 0i32;
3935 pub const DDSCAPS_RESERVED1: i32 = 1i32;
3936 pub const DDSCAPS_RESERVED2: i32 = 8388608i32;
3937 pub const DDSCAPS_RESERVED3: i32 = 1024i32;
3938 pub const DDSCAPS_STANDARDVGAMODE: i32 = 1073741824i32;
3939 pub const DDSCAPS_SYSTEMMEMORY: i32 = 2048i32;
3940 pub const DDSCAPS_TEXTURE: i32 = 4096i32;
3941 pub const DDSCAPS_VIDEOMEMORY: i32 = 16384i32;
3942 pub const DDSCAPS_VIDEOPORT: i32 = 134217728i32;
3943 pub const DDSCAPS_VISIBLE: i32 = 32768i32;
3944 pub const DDSCAPS_WRITEONLY: i32 = 65536i32;
3945 pub const DDSCAPS_ZBUFFER: i32 = 131072i32;
3946 pub const DDSCL_ALLOWMODEX: i32 = 64i32;
3947 pub const DDSCL_ALLOWREBOOT: i32 = 2i32;
3948 pub const DDSCL_CREATEDEVICEWINDOW: i32 = 512i32;
3949 pub const DDSCL_EXCLUSIVE: i32 = 16i32;
3950 pub const DDSCL_FPUPRESERVE: i32 = 4096i32;
3951 pub const DDSCL_FPUSETUP: i32 = 2048i32;
3952 pub const DDSCL_FULLSCREEN: i32 = 1i32;
3953 pub const DDSCL_MULTITHREADED: i32 = 1024i32;
3954 pub const DDSCL_NORMAL: i32 = 8i32;
3955 pub const DDSCL_NOWINDOWCHANGES: i32 = 4i32;
3956 pub const DDSCL_SETDEVICEWINDOW: i32 = 256i32;
3957 pub const DDSCL_SETFOCUSWINDOW: i32 = 128i32;
3958 pub const DDSDM_STANDARDVGAMODE: i32 = 1i32;
3959 pub const DDSD_ALL: i32 = 16775662i32;
3960 pub const DDSD_ALPHABITDEPTH: i32 = 128i32;
3961 pub const DDSD_BACKBUFFERCOUNT: i32 = 32i32;
3962 pub const DDSD_CAPS: i32 = 1i32;
3963 pub const DDSD_CKDESTBLT: i32 = 16384i32;
3964 pub const DDSD_CKDESTOVERLAY: i32 = 8192i32;
3965 pub const DDSD_CKSRCBLT: i32 = 65536i32;
3966 pub const DDSD_CKSRCOVERLAY: i32 = 32768i32;
3967 pub const DDSD_DEPTH: i32 = 8388608i32;
3968 pub const DDSD_FVF: i32 = 2097152i32;
3969 pub const DDSD_HEIGHT: i32 = 2i32;
3970 pub const DDSD_LINEARSIZE: i32 = 524288i32;
3971 pub const DDSD_LPSURFACE: i32 = 2048i32;
3972 pub const DDSD_MIPMAPCOUNT: i32 = 131072i32;
3973 pub const DDSD_PITCH: i32 = 8i32;
3974 pub const DDSD_PIXELFORMAT: i32 = 4096i32;
3975 pub const DDSD_REFRESHRATE: i32 = 262144i32;
3976 pub const DDSD_SRCVBHANDLE: i32 = 4194304i32;
3977 pub const DDSD_TEXTURESTAGE: i32 = 1048576i32;
3978 pub const DDSD_WIDTH: i32 = 4i32;
3979 pub const DDSD_ZBUFFERBITDEPTH: i32 = 64i32;
3980 #[repr(C)]
3981 pub struct DDSETSTATEININFO {
3982     pub lpSurfaceData: *mut DDSURFACEDATA,
3983     pub lpVideoPortData: *mut DDVIDEOPORTDATA,
3984 }
3985 impl ::core::marker::Copy for DDSETSTATEININFO {}
3986 impl ::core::clone::Clone for DDSETSTATEININFO {
clone(&self) -> Self3987     fn clone(&self) -> Self {
3988         *self
3989     }
3990 }
3991 #[repr(C)]
3992 #[cfg(feature = "Win32_Foundation")]
3993 pub struct DDSETSTATEOUTINFO {
3994     pub bSoftwareAutoflip: super::super::Foundation::BOOL,
3995     pub dwSurfaceIndex: u32,
3996     pub dwVBISurfaceIndex: u32,
3997 }
3998 #[cfg(feature = "Win32_Foundation")]
3999 impl ::core::marker::Copy for DDSETSTATEOUTINFO {}
4000 #[cfg(feature = "Win32_Foundation")]
4001 impl ::core::clone::Clone for DDSETSTATEOUTINFO {
clone(&self) -> Self4002     fn clone(&self) -> Self {
4003         *self
4004     }
4005 }
4006 pub const DDSETSURFACEDESC_PRESERVEDC: i32 = 1i32;
4007 pub const DDSETSURFACEDESC_RECREATEDC: i32 = 0i32;
4008 pub const DDSGR_CALIBRATE: i32 = 1i32;
4009 #[repr(C)]
4010 pub struct DDSKIPNEXTFIELDINFO {
4011     pub lpVideoPortData: *mut DDVIDEOPORTDATA,
4012     pub dwSkipFlags: u32,
4013 }
4014 impl ::core::marker::Copy for DDSKIPNEXTFIELDINFO {}
4015 impl ::core::clone::Clone for DDSKIPNEXTFIELDINFO {
clone(&self) -> Self4016     fn clone(&self) -> Self {
4017         *self
4018     }
4019 }
4020 pub const DDSKIP_ENABLENEXT: u32 = 2u32;
4021 pub const DDSKIP_SKIPNEXT: u32 = 1u32;
4022 pub const DDSMT_ISTESTREQUIRED: i32 = 1i32;
4023 pub const DDSPD_IUNKNOWNPOINTER: i32 = 1i32;
4024 pub const DDSPD_VOLATILE: i32 = 2i32;
4025 #[repr(C)]
4026 #[cfg(feature = "Win32_Foundation")]
4027 pub struct DDSTEREOMODE {
4028     pub dwSize: u32,
4029     pub dwHeight: u32,
4030     pub dwWidth: u32,
4031     pub dwBpp: u32,
4032     pub dwRefreshRate: u32,
4033     pub bSupported: super::super::Foundation::BOOL,
4034 }
4035 #[cfg(feature = "Win32_Foundation")]
4036 impl ::core::marker::Copy for DDSTEREOMODE {}
4037 #[cfg(feature = "Win32_Foundation")]
4038 impl ::core::clone::Clone for DDSTEREOMODE {
clone(&self) -> Self4039     fn clone(&self) -> Self {
4040         *self
4041     }
4042 }
4043 #[repr(C)]
4044 pub struct DDSURFACEDATA {
4045     pub ddsCaps: u32,
4046     pub dwSurfaceOffset: u32,
4047     pub fpLockPtr: usize,
4048     pub dwWidth: u32,
4049     pub dwHeight: u32,
4050     pub lPitch: i32,
4051     pub dwOverlayFlags: u32,
4052     pub dwOverlayOffset: u32,
4053     pub dwOverlaySrcWidth: u32,
4054     pub dwOverlaySrcHeight: u32,
4055     pub dwOverlayDestWidth: u32,
4056     pub dwOverlayDestHeight: u32,
4057     pub dwVideoPortId: u32,
4058     pub dwFormatFlags: u32,
4059     pub dwFormatFourCC: u32,
4060     pub dwFormatBitCount: u32,
4061     pub dwRBitMask: u32,
4062     pub dwGBitMask: u32,
4063     pub dwBBitMask: u32,
4064     pub dwDriverReserved1: u32,
4065     pub dwDriverReserved2: u32,
4066     pub dwDriverReserved3: u32,
4067     pub dwDriverReserved4: u32,
4068 }
4069 impl ::core::marker::Copy for DDSURFACEDATA {}
4070 impl ::core::clone::Clone for DDSURFACEDATA {
clone(&self) -> Self4071     fn clone(&self) -> Self {
4072         *self
4073     }
4074 }
4075 #[repr(C)]
4076 pub struct DDSURFACEDESC {
4077     pub dwSize: u32,
4078     pub dwFlags: u32,
4079     pub dwHeight: u32,
4080     pub dwWidth: u32,
4081     pub Anonymous1: DDSURFACEDESC_0,
4082     pub dwBackBufferCount: u32,
4083     pub Anonymous2: DDSURFACEDESC_1,
4084     pub dwAlphaBitDepth: u32,
4085     pub dwReserved: u32,
4086     pub lpSurface: *mut ::core::ffi::c_void,
4087     pub ddckCKDestOverlay: DDCOLORKEY,
4088     pub ddckCKDestBlt: DDCOLORKEY,
4089     pub ddckCKSrcOverlay: DDCOLORKEY,
4090     pub ddckCKSrcBlt: DDCOLORKEY,
4091     pub ddpfPixelFormat: DDPIXELFORMAT,
4092     pub ddsCaps: DDSCAPS,
4093 }
4094 impl ::core::marker::Copy for DDSURFACEDESC {}
4095 impl ::core::clone::Clone for DDSURFACEDESC {
clone(&self) -> Self4096     fn clone(&self) -> Self {
4097         *self
4098     }
4099 }
4100 #[repr(C)]
4101 pub union DDSURFACEDESC_0 {
4102     pub lPitch: i32,
4103     pub dwLinearSize: u32,
4104 }
4105 impl ::core::marker::Copy for DDSURFACEDESC_0 {}
4106 impl ::core::clone::Clone for DDSURFACEDESC_0 {
clone(&self) -> Self4107     fn clone(&self) -> Self {
4108         *self
4109     }
4110 }
4111 #[repr(C)]
4112 pub union DDSURFACEDESC_1 {
4113     pub dwMipMapCount: u32,
4114     pub dwZBufferBitDepth: u32,
4115     pub dwRefreshRate: u32,
4116 }
4117 impl ::core::marker::Copy for DDSURFACEDESC_1 {}
4118 impl ::core::clone::Clone for DDSURFACEDESC_1 {
clone(&self) -> Self4119     fn clone(&self) -> Self {
4120         *self
4121     }
4122 }
4123 #[repr(C)]
4124 pub struct DDSURFACEDESC2 {
4125     pub dwSize: u32,
4126     pub dwFlags: u32,
4127     pub dwHeight: u32,
4128     pub dwWidth: u32,
4129     pub Anonymous1: DDSURFACEDESC2_0,
4130     pub Anonymous2: DDSURFACEDESC2_1,
4131     pub Anonymous3: DDSURFACEDESC2_2,
4132     pub dwAlphaBitDepth: u32,
4133     pub dwReserved: u32,
4134     pub lpSurface: *mut ::core::ffi::c_void,
4135     pub Anonymous4: DDSURFACEDESC2_3,
4136     pub ddckCKDestBlt: DDCOLORKEY,
4137     pub ddckCKSrcOverlay: DDCOLORKEY,
4138     pub ddckCKSrcBlt: DDCOLORKEY,
4139     pub Anonymous5: DDSURFACEDESC2_4,
4140     pub ddsCaps: DDSCAPS2,
4141     pub dwTextureStage: u32,
4142 }
4143 impl ::core::marker::Copy for DDSURFACEDESC2 {}
4144 impl ::core::clone::Clone for DDSURFACEDESC2 {
clone(&self) -> Self4145     fn clone(&self) -> Self {
4146         *self
4147     }
4148 }
4149 #[repr(C)]
4150 pub union DDSURFACEDESC2_0 {
4151     pub lPitch: i32,
4152     pub dwLinearSize: u32,
4153 }
4154 impl ::core::marker::Copy for DDSURFACEDESC2_0 {}
4155 impl ::core::clone::Clone for DDSURFACEDESC2_0 {
clone(&self) -> Self4156     fn clone(&self) -> Self {
4157         *self
4158     }
4159 }
4160 #[repr(C)]
4161 pub union DDSURFACEDESC2_1 {
4162     pub dwBackBufferCount: u32,
4163     pub dwDepth: u32,
4164 }
4165 impl ::core::marker::Copy for DDSURFACEDESC2_1 {}
4166 impl ::core::clone::Clone for DDSURFACEDESC2_1 {
clone(&self) -> Self4167     fn clone(&self) -> Self {
4168         *self
4169     }
4170 }
4171 #[repr(C)]
4172 pub union DDSURFACEDESC2_2 {
4173     pub dwMipMapCount: u32,
4174     pub dwRefreshRate: u32,
4175     pub dwSrcVBHandle: u32,
4176 }
4177 impl ::core::marker::Copy for DDSURFACEDESC2_2 {}
4178 impl ::core::clone::Clone for DDSURFACEDESC2_2 {
clone(&self) -> Self4179     fn clone(&self) -> Self {
4180         *self
4181     }
4182 }
4183 #[repr(C)]
4184 pub union DDSURFACEDESC2_3 {
4185     pub ddckCKDestOverlay: DDCOLORKEY,
4186     pub dwEmptyFaceColor: u32,
4187 }
4188 impl ::core::marker::Copy for DDSURFACEDESC2_3 {}
4189 impl ::core::clone::Clone for DDSURFACEDESC2_3 {
clone(&self) -> Self4190     fn clone(&self) -> Self {
4191         *self
4192     }
4193 }
4194 #[repr(C)]
4195 pub union DDSURFACEDESC2_4 {
4196     pub ddpfPixelFormat: DDPIXELFORMAT,
4197     pub dwFVF: u32,
4198 }
4199 impl ::core::marker::Copy for DDSURFACEDESC2_4 {}
4200 impl ::core::clone::Clone for DDSURFACEDESC2_4 {
clone(&self) -> Self4201     fn clone(&self) -> Self {
4202         *self
4203     }
4204 }
4205 pub const DDSVCAPS_RESERVED1: i32 = 1i32;
4206 pub const DDSVCAPS_RESERVED2: i32 = 2i32;
4207 pub const DDSVCAPS_RESERVED3: i32 = 4i32;
4208 pub const DDSVCAPS_RESERVED4: i32 = 8i32;
4209 pub const DDSVCAPS_STEREOSEQUENTIAL: i32 = 16i32;
4210 #[repr(C)]
4211 pub struct DDTRANSFERININFO {
4212     pub lpSurfaceData: *mut DDSURFACEDATA,
4213     pub dwStartLine: u32,
4214     pub dwEndLine: u32,
4215     pub dwTransferID: usize,
4216     pub dwTransferFlags: u32,
4217     pub lpDestMDL: *mut MDL,
4218 }
4219 impl ::core::marker::Copy for DDTRANSFERININFO {}
4220 impl ::core::clone::Clone for DDTRANSFERININFO {
clone(&self) -> Self4221     fn clone(&self) -> Self {
4222         *self
4223     }
4224 }
4225 #[repr(C)]
4226 pub struct DDTRANSFEROUTINFO {
4227     pub dwBufferPolarity: u32,
4228 }
4229 impl ::core::marker::Copy for DDTRANSFEROUTINFO {}
4230 impl ::core::clone::Clone for DDTRANSFEROUTINFO {
clone(&self) -> Self4231     fn clone(&self) -> Self {
4232         *self
4233     }
4234 }
4235 pub const DDTRANSFER_CANCEL: u32 = 128u32;
4236 pub const DDTRANSFER_HALFLINES: u32 = 256u32;
4237 pub const DDTRANSFER_INVERT: u32 = 4u32;
4238 pub const DDTRANSFER_NONLOCALVIDMEM: u32 = 2u32;
4239 pub const DDTRANSFER_SYSTEMMEMORY: u32 = 1u32;
4240 pub const DDUNSUPPORTEDMODE: u32 = 4294967295u32;
4241 #[repr(C)]
4242 pub struct DDVERSIONDATA {
4243     pub dwHALVersion: u32,
4244     pub dwReserved1: usize,
4245     pub dwReserved2: usize,
4246 }
4247 impl ::core::marker::Copy for DDVERSIONDATA {}
4248 impl ::core::clone::Clone for DDVERSIONDATA {
clone(&self) -> Self4249     fn clone(&self) -> Self {
4250         *self
4251     }
4252 }
4253 pub const DDVERSIONINFO: u32 = 13u32;
4254 #[repr(C)]
4255 pub struct DDVIDEOPORTBANDWIDTH {
4256     pub dwSize: u32,
4257     pub dwCaps: u32,
4258     pub dwOverlay: u32,
4259     pub dwColorkey: u32,
4260     pub dwYInterpolate: u32,
4261     pub dwYInterpAndColorkey: u32,
4262     pub dwReserved1: usize,
4263     pub dwReserved2: usize,
4264 }
4265 impl ::core::marker::Copy for DDVIDEOPORTBANDWIDTH {}
4266 impl ::core::clone::Clone for DDVIDEOPORTBANDWIDTH {
clone(&self) -> Self4267     fn clone(&self) -> Self {
4268         *self
4269     }
4270 }
4271 #[repr(C)]
4272 pub struct DDVIDEOPORTCAPS {
4273     pub dwSize: u32,
4274     pub dwFlags: u32,
4275     pub dwMaxWidth: u32,
4276     pub dwMaxVBIWidth: u32,
4277     pub dwMaxHeight: u32,
4278     pub dwVideoPortID: u32,
4279     pub dwCaps: u32,
4280     pub dwFX: u32,
4281     pub dwNumAutoFlipSurfaces: u32,
4282     pub dwAlignVideoPortBoundary: u32,
4283     pub dwAlignVideoPortPrescaleWidth: u32,
4284     pub dwAlignVideoPortCropBoundary: u32,
4285     pub dwAlignVideoPortCropWidth: u32,
4286     pub dwPreshrinkXStep: u32,
4287     pub dwPreshrinkYStep: u32,
4288     pub dwNumVBIAutoFlipSurfaces: u32,
4289     pub dwNumPreferredAutoflip: u32,
4290     pub wNumFilterTapsX: u16,
4291     pub wNumFilterTapsY: u16,
4292 }
4293 impl ::core::marker::Copy for DDVIDEOPORTCAPS {}
4294 impl ::core::clone::Clone for DDVIDEOPORTCAPS {
clone(&self) -> Self4295     fn clone(&self) -> Self {
4296         *self
4297     }
4298 }
4299 #[repr(C)]
4300 pub struct DDVIDEOPORTCONNECT {
4301     pub dwSize: u32,
4302     pub dwPortWidth: u32,
4303     pub guidTypeID: ::windows_sys::core::GUID,
4304     pub dwFlags: u32,
4305     pub dwReserved1: usize,
4306 }
4307 impl ::core::marker::Copy for DDVIDEOPORTCONNECT {}
4308 impl ::core::clone::Clone for DDVIDEOPORTCONNECT {
clone(&self) -> Self4309     fn clone(&self) -> Self {
4310         *self
4311     }
4312 }
4313 #[repr(C)]
4314 pub struct DDVIDEOPORTDATA {
4315     pub dwVideoPortId: u32,
4316     pub dwVPFlags: u32,
4317     pub dwOriginOffset: u32,
4318     pub dwHeight: u32,
4319     pub dwVBIHeight: u32,
4320     pub dwDriverReserved1: u32,
4321     pub dwDriverReserved2: u32,
4322     pub dwDriverReserved3: u32,
4323 }
4324 impl ::core::marker::Copy for DDVIDEOPORTDATA {}
4325 impl ::core::clone::Clone for DDVIDEOPORTDATA {
clone(&self) -> Self4326     fn clone(&self) -> Self {
4327         *self
4328     }
4329 }
4330 #[repr(C)]
4331 pub struct DDVIDEOPORTDESC {
4332     pub dwSize: u32,
4333     pub dwFieldWidth: u32,
4334     pub dwVBIWidth: u32,
4335     pub dwFieldHeight: u32,
4336     pub dwMicrosecondsPerField: u32,
4337     pub dwMaxPixelsPerSecond: u32,
4338     pub dwVideoPortID: u32,
4339     pub dwReserved1: u32,
4340     pub VideoPortType: DDVIDEOPORTCONNECT,
4341     pub dwReserved2: usize,
4342     pub dwReserved3: usize,
4343 }
4344 impl ::core::marker::Copy for DDVIDEOPORTDESC {}
4345 impl ::core::clone::Clone for DDVIDEOPORTDESC {
clone(&self) -> Self4346     fn clone(&self) -> Self {
4347         *self
4348     }
4349 }
4350 #[repr(C)]
4351 #[cfg(feature = "Win32_Foundation")]
4352 pub struct DDVIDEOPORTINFO {
4353     pub dwSize: u32,
4354     pub dwOriginX: u32,
4355     pub dwOriginY: u32,
4356     pub dwVPFlags: u32,
4357     pub rCrop: super::super::Foundation::RECT,
4358     pub dwPrescaleWidth: u32,
4359     pub dwPrescaleHeight: u32,
4360     pub lpddpfInputFormat: *mut DDPIXELFORMAT,
4361     pub lpddpfVBIInputFormat: *mut DDPIXELFORMAT,
4362     pub lpddpfVBIOutputFormat: *mut DDPIXELFORMAT,
4363     pub dwVBIHeight: u32,
4364     pub dwReserved1: usize,
4365     pub dwReserved2: usize,
4366 }
4367 #[cfg(feature = "Win32_Foundation")]
4368 impl ::core::marker::Copy for DDVIDEOPORTINFO {}
4369 #[cfg(feature = "Win32_Foundation")]
4370 impl ::core::clone::Clone for DDVIDEOPORTINFO {
clone(&self) -> Self4371     fn clone(&self) -> Self {
4372         *self
4373     }
4374 }
4375 #[repr(C)]
4376 pub struct DDVIDEOPORTNOTIFY {
4377     pub ApproximateTimeStamp: i64,
4378     pub lField: i32,
4379     pub dwSurfaceIndex: u32,
4380     pub lDone: i32,
4381 }
4382 impl ::core::marker::Copy for DDVIDEOPORTNOTIFY {}
4383 impl ::core::clone::Clone for DDVIDEOPORTNOTIFY {
clone(&self) -> Self4384     fn clone(&self) -> Self {
4385         *self
4386     }
4387 }
4388 #[repr(C)]
4389 #[cfg(feature = "Win32_Foundation")]
4390 pub struct DDVIDEOPORTSTATUS {
4391     pub dwSize: u32,
4392     pub bInUse: super::super::Foundation::BOOL,
4393     pub dwFlags: u32,
4394     pub dwReserved1: u32,
4395     pub VideoPortType: DDVIDEOPORTCONNECT,
4396     pub dwReserved2: usize,
4397     pub dwReserved3: usize,
4398 }
4399 #[cfg(feature = "Win32_Foundation")]
4400 impl ::core::marker::Copy for DDVIDEOPORTSTATUS {}
4401 #[cfg(feature = "Win32_Foundation")]
4402 impl ::core::clone::Clone for DDVIDEOPORTSTATUS {
clone(&self) -> Self4403     fn clone(&self) -> Self {
4404         *self
4405     }
4406 }
4407 pub const DDVPBCAPS_DESTINATION: i32 = 2i32;
4408 pub const DDVPBCAPS_SOURCE: i32 = 1i32;
4409 pub const DDVPB_OVERLAY: i32 = 2i32;
4410 pub const DDVPB_TYPE: i32 = 4i32;
4411 pub const DDVPB_VIDEOPORT: i32 = 1i32;
4412 pub const DDVPCAPS_AUTOFLIP: i32 = 1i32;
4413 pub const DDVPCAPS_COLORCONTROL: i32 = 1024i32;
4414 pub const DDVPCAPS_HARDWAREDEINTERLACE: i32 = 16384i32;
4415 pub const DDVPCAPS_INTERLACED: i32 = 2i32;
4416 pub const DDVPCAPS_NONINTERLACED: i32 = 4i32;
4417 pub const DDVPCAPS_OVERSAMPLEDVBI: i32 = 2048i32;
4418 pub const DDVPCAPS_READBACKFIELD: i32 = 8i32;
4419 pub const DDVPCAPS_READBACKLINE: i32 = 16i32;
4420 pub const DDVPCAPS_SHAREABLE: i32 = 32i32;
4421 pub const DDVPCAPS_SKIPEVENFIELDS: i32 = 64i32;
4422 pub const DDVPCAPS_SKIPODDFIELDS: i32 = 128i32;
4423 pub const DDVPCAPS_SYNCMASTER: i32 = 256i32;
4424 pub const DDVPCAPS_SYSTEMMEMORY: i32 = 4096i32;
4425 pub const DDVPCAPS_VBIANDVIDEOINDEPENDENT: i32 = 8192i32;
4426 pub const DDVPCAPS_VBISURFACE: i32 = 512i32;
4427 pub const DDVPCONNECT_DISCARDSVREFDATA: i32 = 8i32;
4428 pub const DDVPCONNECT_DOUBLECLOCK: i32 = 1i32;
4429 pub const DDVPCONNECT_HALFLINE: i32 = 16i32;
4430 pub const DDVPCONNECT_INTERLACED: i32 = 32i32;
4431 pub const DDVPCONNECT_INVERTPOLARITY: i32 = 4i32;
4432 pub const DDVPCONNECT_SHAREEVEN: i32 = 64i32;
4433 pub const DDVPCONNECT_SHAREODD: i32 = 128i32;
4434 pub const DDVPCONNECT_VACT: i32 = 2i32;
4435 pub const DDVPCREATE_VBIONLY: i32 = 1i32;
4436 pub const DDVPCREATE_VIDEOONLY: i32 = 2i32;
4437 pub const DDVPD_ALIGN: i32 = 64i32;
4438 pub const DDVPD_AUTOFLIP: i32 = 32i32;
4439 pub const DDVPD_CAPS: i32 = 8i32;
4440 pub const DDVPD_FILTERQUALITY: i32 = 256i32;
4441 pub const DDVPD_FX: i32 = 16i32;
4442 pub const DDVPD_HEIGHT: i32 = 2i32;
4443 pub const DDVPD_ID: i32 = 4i32;
4444 pub const DDVPD_PREFERREDAUTOFLIP: i32 = 128i32;
4445 pub const DDVPD_WIDTH: i32 = 1i32;
4446 pub const DDVPFLIP_VBI: i32 = 2i32;
4447 pub const DDVPFLIP_VIDEO: i32 = 1i32;
4448 pub const DDVPFORMAT_VBI: i32 = 2i32;
4449 pub const DDVPFORMAT_VIDEO: i32 = 1i32;
4450 pub const DDVPFX_CROPTOPDATA: i32 = 1i32;
4451 pub const DDVPFX_CROPX: i32 = 2i32;
4452 pub const DDVPFX_CROPY: i32 = 4i32;
4453 pub const DDVPFX_IGNOREVBIXCROP: i32 = 262144i32;
4454 pub const DDVPFX_INTERLEAVE: i32 = 8i32;
4455 pub const DDVPFX_MIRRORLEFTRIGHT: i32 = 16i32;
4456 pub const DDVPFX_MIRRORUPDOWN: i32 = 32i32;
4457 pub const DDVPFX_PRESHRINKX: i32 = 64i32;
4458 pub const DDVPFX_PRESHRINKXB: i32 = 256i32;
4459 pub const DDVPFX_PRESHRINKXS: i32 = 1024i32;
4460 pub const DDVPFX_PRESHRINKY: i32 = 128i32;
4461 pub const DDVPFX_PRESHRINKYB: i32 = 512i32;
4462 pub const DDVPFX_PRESHRINKYS: i32 = 2048i32;
4463 pub const DDVPFX_PRESTRETCHX: i32 = 4096i32;
4464 pub const DDVPFX_PRESTRETCHXN: i32 = 16384i32;
4465 pub const DDVPFX_PRESTRETCHY: i32 = 8192i32;
4466 pub const DDVPFX_PRESTRETCHYN: i32 = 32768i32;
4467 pub const DDVPFX_VBICONVERT: i32 = 65536i32;
4468 pub const DDVPFX_VBINOINTERLEAVE: i32 = 524288i32;
4469 pub const DDVPFX_VBINOSCALE: i32 = 131072i32;
4470 pub const DDVPSQ_NOSIGNAL: i32 = 1i32;
4471 pub const DDVPSQ_SIGNALOK: i32 = 2i32;
4472 pub const DDVPSTATUS_VBIONLY: i32 = 1i32;
4473 pub const DDVPSTATUS_VIDEOONLY: i32 = 2i32;
4474 pub const DDVPTARGET_VBI: i32 = 2i32;
4475 pub const DDVPTARGET_VIDEO: i32 = 1i32;
4476 pub const DDVPTYPE_BROOKTREE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 324183392, data2: 55905, data3: 4559, data4: [155, 6, 0, 160, 201, 3, 163, 184] };
4477 pub const DDVPTYPE_CCIR656: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4238550688, data2: 55904, data3: 4559, data4: [155, 6, 0, 160, 201, 3, 163, 184] };
4478 pub const DDVPTYPE_E_HREFH_VREFH: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1425250688, data2: 55904, data3: 4559, data4: [155, 6, 0, 160, 201, 3, 163, 184] };
4479 pub const DDVPTYPE_E_HREFH_VREFL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2457350688, data2: 55904, data3: 4559, data4: [155, 6, 0, 160, 201, 3, 163, 184] };
4480 pub const DDVPTYPE_E_HREFL_VREFH: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2692350688, data2: 55904, data3: 4559, data4: [155, 6, 0, 160, 201, 3, 163, 184] };
4481 pub const DDVPTYPE_E_HREFL_VREFL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3768350688, data2: 55904, data3: 4559, data4: [155, 6, 0, 160, 201, 3, 163, 184] };
4482 pub const DDVPTYPE_PHILIPS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 858583392, data2: 55905, data3: 4559, data4: [155, 6, 0, 160, 201, 3, 163, 184] };
4483 pub const DDVPWAIT_BEGIN: i32 = 1i32;
4484 pub const DDVPWAIT_END: i32 = 2i32;
4485 pub const DDVPWAIT_LINE: i32 = 3i32;
4486 pub const DDVP_AUTOFLIP: i32 = 1i32;
4487 pub const DDVP_CONVERT: i32 = 2i32;
4488 pub const DDVP_CROP: i32 = 4i32;
4489 pub const DDVP_HARDWAREDEINTERLACE: i32 = 32768i32;
4490 pub const DDVP_IGNOREVBIXCROP: i32 = 8192i32;
4491 pub const DDVP_INTERLEAVE: i32 = 8i32;
4492 pub const DDVP_MIRRORLEFTRIGHT: i32 = 16i32;
4493 pub const DDVP_MIRRORUPDOWN: i32 = 32i32;
4494 pub const DDVP_OVERRIDEBOBWEAVE: i32 = 4096i32;
4495 pub const DDVP_PRESCALE: i32 = 64i32;
4496 pub const DDVP_SKIPEVENFIELDS: i32 = 128i32;
4497 pub const DDVP_SKIPODDFIELDS: i32 = 256i32;
4498 pub const DDVP_SYNCMASTER: i32 = 512i32;
4499 pub const DDVP_VBICONVERT: i32 = 1024i32;
4500 pub const DDVP_VBINOINTERLEAVE: i32 = 16384i32;
4501 pub const DDVP_VBINOSCALE: i32 = 2048i32;
4502 pub const DDWAITVB_BLOCKBEGIN: i32 = 1i32;
4503 pub const DDWAITVB_BLOCKBEGINEVENT: i32 = 2i32;
4504 pub const DDWAITVB_BLOCKEND: i32 = 4i32;
4505 pub const DDWAITVB_I_TESTVB: i32 = -2147483642i32;
4506 #[repr(C)]
4507 #[cfg(feature = "Win32_Foundation")]
4508 pub struct DD_ADDATTACHEDSURFACEDATA {
4509     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
4510     pub lpDDSurface: *mut DD_SURFACE_LOCAL,
4511     pub lpSurfAttached: *mut DD_SURFACE_LOCAL,
4512     pub ddRVal: ::windows_sys::core::HRESULT,
4513     pub AddAttachedSurface: *mut ::core::ffi::c_void,
4514 }
4515 #[cfg(feature = "Win32_Foundation")]
4516 impl ::core::marker::Copy for DD_ADDATTACHEDSURFACEDATA {}
4517 #[cfg(feature = "Win32_Foundation")]
4518 impl ::core::clone::Clone for DD_ADDATTACHEDSURFACEDATA {
clone(&self) -> Self4519     fn clone(&self) -> Self {
4520         *self
4521     }
4522 }
4523 #[repr(C)]
4524 #[cfg(feature = "Win32_Foundation")]
4525 pub struct DD_ATTACHLIST {
4526     pub lpLink: *mut DD_ATTACHLIST,
4527     pub lpAttached: *mut DD_SURFACE_LOCAL,
4528 }
4529 #[cfg(feature = "Win32_Foundation")]
4530 impl ::core::marker::Copy for DD_ATTACHLIST {}
4531 #[cfg(feature = "Win32_Foundation")]
4532 impl ::core::clone::Clone for DD_ATTACHLIST {
clone(&self) -> Self4533     fn clone(&self) -> Self {
4534         *self
4535     }
4536 }
4537 #[repr(C)]
4538 #[cfg(feature = "Win32_Foundation")]
4539 pub struct DD_BEGINMOCOMPFRAMEDATA {
4540     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
4541     pub lpMoComp: *mut DD_MOTIONCOMP_LOCAL,
4542     pub lpDestSurface: *mut DD_SURFACE_LOCAL,
4543     pub dwInputDataSize: u32,
4544     pub lpInputData: *mut ::core::ffi::c_void,
4545     pub dwOutputDataSize: u32,
4546     pub lpOutputData: *mut ::core::ffi::c_void,
4547     pub ddRVal: ::windows_sys::core::HRESULT,
4548 }
4549 #[cfg(feature = "Win32_Foundation")]
4550 impl ::core::marker::Copy for DD_BEGINMOCOMPFRAMEDATA {}
4551 #[cfg(feature = "Win32_Foundation")]
4552 impl ::core::clone::Clone for DD_BEGINMOCOMPFRAMEDATA {
clone(&self) -> Self4553     fn clone(&self) -> Self {
4554         *self
4555     }
4556 }
4557 #[repr(C)]
4558 #[cfg(feature = "Win32_Foundation")]
4559 pub struct DD_BLTDATA {
4560     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
4561     pub lpDDDestSurface: *mut DD_SURFACE_LOCAL,
4562     pub rDest: super::super::Foundation::RECTL,
4563     pub lpDDSrcSurface: *mut DD_SURFACE_LOCAL,
4564     pub rSrc: super::super::Foundation::RECTL,
4565     pub dwFlags: u32,
4566     pub dwROPFlags: u32,
4567     pub bltFX: DDBLTFX,
4568     pub ddRVal: ::windows_sys::core::HRESULT,
4569     pub Blt: *mut ::core::ffi::c_void,
4570     pub IsClipped: super::super::Foundation::BOOL,
4571     pub rOrigDest: super::super::Foundation::RECTL,
4572     pub rOrigSrc: super::super::Foundation::RECTL,
4573     pub dwRectCnt: u32,
4574     pub prDestRects: *mut super::super::Foundation::RECT,
4575     pub dwAFlags: u32,
4576     pub ddargbScaleFactors: DDARGB,
4577 }
4578 #[cfg(feature = "Win32_Foundation")]
4579 impl ::core::marker::Copy for DD_BLTDATA {}
4580 #[cfg(feature = "Win32_Foundation")]
4581 impl ::core::clone::Clone for DD_BLTDATA {
clone(&self) -> Self4582     fn clone(&self) -> Self {
4583         *self
4584     }
4585 }
4586 #[repr(C)]
4587 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
4588 pub struct DD_CALLBACKS {
4589     pub dwSize: u32,
4590     pub dwFlags: u32,
4591     pub DestroyDriver: PDD_DESTROYDRIVER,
4592     pub CreateSurface: PDD_CREATESURFACE,
4593     pub SetColorKey: PDD_SETCOLORKEY,
4594     pub SetMode: PDD_SETMODE,
4595     pub WaitForVerticalBlank: PDD_WAITFORVERTICALBLANK,
4596     pub CanCreateSurface: PDD_CANCREATESURFACE,
4597     pub CreatePalette: PDD_CREATEPALETTE,
4598     pub GetScanLine: PDD_GETSCANLINE,
4599     pub MapMemory: PDD_MAPMEMORY,
4600 }
4601 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
4602 impl ::core::marker::Copy for DD_CALLBACKS {}
4603 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
4604 impl ::core::clone::Clone for DD_CALLBACKS {
clone(&self) -> Self4605     fn clone(&self) -> Self {
4606         *self
4607     }
4608 }
4609 #[repr(C)]
4610 pub struct DD_CANCREATESURFACEDATA {
4611     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
4612     pub lpDDSurfaceDesc: *mut DDSURFACEDESC,
4613     pub bIsDifferentPixelFormat: u32,
4614     pub ddRVal: ::windows_sys::core::HRESULT,
4615     pub CanCreateSurface: *mut ::core::ffi::c_void,
4616 }
4617 impl ::core::marker::Copy for DD_CANCREATESURFACEDATA {}
4618 impl ::core::clone::Clone for DD_CANCREATESURFACEDATA {
clone(&self) -> Self4619     fn clone(&self) -> Self {
4620         *self
4621     }
4622 }
4623 #[repr(C)]
4624 pub struct DD_CANCREATEVPORTDATA {
4625     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
4626     pub lpDDVideoPortDesc: *mut DDVIDEOPORTDESC,
4627     pub ddRVal: ::windows_sys::core::HRESULT,
4628     pub CanCreateVideoPort: *mut ::core::ffi::c_void,
4629 }
4630 impl ::core::marker::Copy for DD_CANCREATEVPORTDATA {}
4631 impl ::core::clone::Clone for DD_CANCREATEVPORTDATA {
clone(&self) -> Self4632     fn clone(&self) -> Self {
4633         *self
4634     }
4635 }
4636 #[repr(C)]
4637 pub struct DD_CLIPPER_GLOBAL {
4638     pub dwReserved1: usize,
4639 }
4640 impl ::core::marker::Copy for DD_CLIPPER_GLOBAL {}
4641 impl ::core::clone::Clone for DD_CLIPPER_GLOBAL {
clone(&self) -> Self4642     fn clone(&self) -> Self {
4643         *self
4644     }
4645 }
4646 #[repr(C)]
4647 pub struct DD_CLIPPER_LOCAL {
4648     pub dwReserved1: usize,
4649 }
4650 impl ::core::marker::Copy for DD_CLIPPER_LOCAL {}
4651 impl ::core::clone::Clone for DD_CLIPPER_LOCAL {
clone(&self) -> Self4652     fn clone(&self) -> Self {
4653         *self
4654     }
4655 }
4656 #[repr(C)]
4657 #[cfg(feature = "Win32_Foundation")]
4658 pub struct DD_COLORCONTROLCALLBACKS {
4659     pub dwSize: u32,
4660     pub dwFlags: u32,
4661     pub ColorControl: PDD_COLORCB_COLORCONTROL,
4662 }
4663 #[cfg(feature = "Win32_Foundation")]
4664 impl ::core::marker::Copy for DD_COLORCONTROLCALLBACKS {}
4665 #[cfg(feature = "Win32_Foundation")]
4666 impl ::core::clone::Clone for DD_COLORCONTROLCALLBACKS {
clone(&self) -> Self4667     fn clone(&self) -> Self {
4668         *self
4669     }
4670 }
4671 #[repr(C)]
4672 #[cfg(feature = "Win32_Foundation")]
4673 pub struct DD_COLORCONTROLDATA {
4674     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
4675     pub lpDDSurface: *mut DD_SURFACE_LOCAL,
4676     pub lpColorData: *mut DDCOLORCONTROL,
4677     pub dwFlags: u32,
4678     pub ddRVal: ::windows_sys::core::HRESULT,
4679     pub ColorControl: *mut ::core::ffi::c_void,
4680 }
4681 #[cfg(feature = "Win32_Foundation")]
4682 impl ::core::marker::Copy for DD_COLORCONTROLDATA {}
4683 #[cfg(feature = "Win32_Foundation")]
4684 impl ::core::clone::Clone for DD_COLORCONTROLDATA {
clone(&self) -> Self4685     fn clone(&self) -> Self {
4686         *self
4687     }
4688 }
4689 #[repr(C)]
4690 pub struct DD_CREATEMOCOMPDATA {
4691     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
4692     pub lpMoComp: *mut DD_MOTIONCOMP_LOCAL,
4693     pub lpGuid: *mut ::windows_sys::core::GUID,
4694     pub dwUncompWidth: u32,
4695     pub dwUncompHeight: u32,
4696     pub ddUncompPixelFormat: DDPIXELFORMAT,
4697     pub lpData: *mut ::core::ffi::c_void,
4698     pub dwDataSize: u32,
4699     pub ddRVal: ::windows_sys::core::HRESULT,
4700 }
4701 impl ::core::marker::Copy for DD_CREATEMOCOMPDATA {}
4702 impl ::core::clone::Clone for DD_CREATEMOCOMPDATA {
clone(&self) -> Self4703     fn clone(&self) -> Self {
4704         *self
4705     }
4706 }
4707 #[repr(C)]
4708 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
4709 pub struct DD_CREATEPALETTEDATA {
4710     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
4711     pub lpDDPalette: *mut DD_PALETTE_GLOBAL,
4712     pub lpColorTable: *mut super::Gdi::PALETTEENTRY,
4713     pub ddRVal: ::windows_sys::core::HRESULT,
4714     pub CreatePalette: *mut ::core::ffi::c_void,
4715     pub is_excl: super::super::Foundation::BOOL,
4716 }
4717 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
4718 impl ::core::marker::Copy for DD_CREATEPALETTEDATA {}
4719 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
4720 impl ::core::clone::Clone for DD_CREATEPALETTEDATA {
clone(&self) -> Self4721     fn clone(&self) -> Self {
4722         *self
4723     }
4724 }
4725 #[repr(C)]
4726 #[cfg(feature = "Win32_Foundation")]
4727 pub struct DD_CREATESURFACEDATA {
4728     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
4729     pub lpDDSurfaceDesc: *mut DDSURFACEDESC,
4730     pub lplpSList: *mut *mut DD_SURFACE_LOCAL,
4731     pub dwSCnt: u32,
4732     pub ddRVal: ::windows_sys::core::HRESULT,
4733     pub CreateSurface: *mut ::core::ffi::c_void,
4734 }
4735 #[cfg(feature = "Win32_Foundation")]
4736 impl ::core::marker::Copy for DD_CREATESURFACEDATA {}
4737 #[cfg(feature = "Win32_Foundation")]
4738 impl ::core::clone::Clone for DD_CREATESURFACEDATA {
clone(&self) -> Self4739     fn clone(&self) -> Self {
4740         *self
4741     }
4742 }
4743 #[repr(C)]
4744 #[cfg(feature = "Win32_Foundation")]
4745 pub struct DD_CREATESURFACEEXDATA {
4746     pub dwFlags: u32,
4747     pub lpDDLcl: *mut DD_DIRECTDRAW_LOCAL,
4748     pub lpDDSLcl: *mut DD_SURFACE_LOCAL,
4749     pub ddRVal: ::windows_sys::core::HRESULT,
4750 }
4751 #[cfg(feature = "Win32_Foundation")]
4752 impl ::core::marker::Copy for DD_CREATESURFACEEXDATA {}
4753 #[cfg(feature = "Win32_Foundation")]
4754 impl ::core::clone::Clone for DD_CREATESURFACEEXDATA {
clone(&self) -> Self4755     fn clone(&self) -> Self {
4756         *self
4757     }
4758 }
4759 #[repr(C)]
4760 #[cfg(feature = "Win32_Foundation")]
4761 pub struct DD_CREATEVPORTDATA {
4762     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
4763     pub lpDDVideoPortDesc: *mut DDVIDEOPORTDESC,
4764     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
4765     pub ddRVal: ::windows_sys::core::HRESULT,
4766     pub CreateVideoPort: *mut ::core::ffi::c_void,
4767 }
4768 #[cfg(feature = "Win32_Foundation")]
4769 impl ::core::marker::Copy for DD_CREATEVPORTDATA {}
4770 #[cfg(feature = "Win32_Foundation")]
4771 impl ::core::clone::Clone for DD_CREATEVPORTDATA {
clone(&self) -> Self4772     fn clone(&self) -> Self {
4773         *self
4774     }
4775 }
4776 #[repr(C)]
4777 #[cfg(feature = "Win32_Foundation")]
4778 pub struct DD_D3DBUFCALLBACKS {
4779     pub dwSize: u32,
4780     pub dwFlags: u32,
4781     pub CanCreateD3DBuffer: PDD_CANCREATESURFACE,
4782     pub CreateD3DBuffer: PDD_CREATESURFACE,
4783     pub DestroyD3DBuffer: PDD_SURFCB_DESTROYSURFACE,
4784     pub LockD3DBuffer: PDD_SURFCB_LOCK,
4785     pub UnlockD3DBuffer: PDD_SURFCB_UNLOCK,
4786 }
4787 #[cfg(feature = "Win32_Foundation")]
4788 impl ::core::marker::Copy for DD_D3DBUFCALLBACKS {}
4789 #[cfg(feature = "Win32_Foundation")]
4790 impl ::core::clone::Clone for DD_D3DBUFCALLBACKS {
clone(&self) -> Self4791     fn clone(&self) -> Self {
4792         *self
4793     }
4794 }
4795 #[repr(C)]
4796 pub struct DD_DESTROYDDLOCALDATA {
4797     pub dwFlags: u32,
4798     pub pDDLcl: *mut DD_DIRECTDRAW_LOCAL,
4799     pub ddRVal: ::windows_sys::core::HRESULT,
4800 }
4801 impl ::core::marker::Copy for DD_DESTROYDDLOCALDATA {}
4802 impl ::core::clone::Clone for DD_DESTROYDDLOCALDATA {
clone(&self) -> Self4803     fn clone(&self) -> Self {
4804         *self
4805     }
4806 }
4807 #[repr(C)]
4808 pub struct DD_DESTROYMOCOMPDATA {
4809     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
4810     pub lpMoComp: *mut DD_MOTIONCOMP_LOCAL,
4811     pub ddRVal: ::windows_sys::core::HRESULT,
4812 }
4813 impl ::core::marker::Copy for DD_DESTROYMOCOMPDATA {}
4814 impl ::core::clone::Clone for DD_DESTROYMOCOMPDATA {
clone(&self) -> Self4815     fn clone(&self) -> Self {
4816         *self
4817     }
4818 }
4819 #[repr(C)]
4820 pub struct DD_DESTROYPALETTEDATA {
4821     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
4822     pub lpDDPalette: *mut DD_PALETTE_GLOBAL,
4823     pub ddRVal: ::windows_sys::core::HRESULT,
4824     pub DestroyPalette: *mut ::core::ffi::c_void,
4825 }
4826 impl ::core::marker::Copy for DD_DESTROYPALETTEDATA {}
4827 impl ::core::clone::Clone for DD_DESTROYPALETTEDATA {
clone(&self) -> Self4828     fn clone(&self) -> Self {
4829         *self
4830     }
4831 }
4832 #[repr(C)]
4833 #[cfg(feature = "Win32_Foundation")]
4834 pub struct DD_DESTROYSURFACEDATA {
4835     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
4836     pub lpDDSurface: *mut DD_SURFACE_LOCAL,
4837     pub ddRVal: ::windows_sys::core::HRESULT,
4838     pub DestroySurface: *mut ::core::ffi::c_void,
4839 }
4840 #[cfg(feature = "Win32_Foundation")]
4841 impl ::core::marker::Copy for DD_DESTROYSURFACEDATA {}
4842 #[cfg(feature = "Win32_Foundation")]
4843 impl ::core::clone::Clone for DD_DESTROYSURFACEDATA {
clone(&self) -> Self4844     fn clone(&self) -> Self {
4845         *self
4846     }
4847 }
4848 #[repr(C)]
4849 #[cfg(feature = "Win32_Foundation")]
4850 pub struct DD_DESTROYVPORTDATA {
4851     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
4852     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
4853     pub ddRVal: ::windows_sys::core::HRESULT,
4854     pub DestroyVideoPort: *mut ::core::ffi::c_void,
4855 }
4856 #[cfg(feature = "Win32_Foundation")]
4857 impl ::core::marker::Copy for DD_DESTROYVPORTDATA {}
4858 #[cfg(feature = "Win32_Foundation")]
4859 impl ::core::clone::Clone for DD_DESTROYVPORTDATA {
clone(&self) -> Self4860     fn clone(&self) -> Self {
4861         *self
4862     }
4863 }
4864 #[repr(C)]
4865 pub struct DD_DIRECTDRAW_GLOBAL {
4866     pub dhpdev: *mut ::core::ffi::c_void,
4867     pub dwReserved1: usize,
4868     pub dwReserved2: usize,
4869     pub lpDDVideoPortCaps: *mut DDVIDEOPORTCAPS,
4870 }
4871 impl ::core::marker::Copy for DD_DIRECTDRAW_GLOBAL {}
4872 impl ::core::clone::Clone for DD_DIRECTDRAW_GLOBAL {
clone(&self) -> Self4873     fn clone(&self) -> Self {
4874         *self
4875     }
4876 }
4877 #[repr(C)]
4878 pub struct DD_DIRECTDRAW_LOCAL {
4879     pub lpGbl: *mut DD_DIRECTDRAW_GLOBAL,
4880 }
4881 impl ::core::marker::Copy for DD_DIRECTDRAW_LOCAL {}
4882 impl ::core::clone::Clone for DD_DIRECTDRAW_LOCAL {
clone(&self) -> Self4883     fn clone(&self) -> Self {
4884         *self
4885     }
4886 }
4887 #[repr(C)]
4888 #[cfg(feature = "Win32_Foundation")]
4889 pub struct DD_DRVSETCOLORKEYDATA {
4890     pub lpDDSurface: *mut DD_SURFACE_LOCAL,
4891     pub dwFlags: u32,
4892     pub ckNew: DDCOLORKEY,
4893     pub ddRVal: ::windows_sys::core::HRESULT,
4894     pub SetColorKey: *mut ::core::ffi::c_void,
4895 }
4896 #[cfg(feature = "Win32_Foundation")]
4897 impl ::core::marker::Copy for DD_DRVSETCOLORKEYDATA {}
4898 #[cfg(feature = "Win32_Foundation")]
4899 impl ::core::clone::Clone for DD_DRVSETCOLORKEYDATA {
clone(&self) -> Self4900     fn clone(&self) -> Self {
4901         *self
4902     }
4903 }
4904 #[repr(C)]
4905 pub struct DD_ENDMOCOMPFRAMEDATA {
4906     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
4907     pub lpMoComp: *mut DD_MOTIONCOMP_LOCAL,
4908     pub lpInputData: *mut ::core::ffi::c_void,
4909     pub dwInputDataSize: u32,
4910     pub ddRVal: ::windows_sys::core::HRESULT,
4911 }
4912 impl ::core::marker::Copy for DD_ENDMOCOMPFRAMEDATA {}
4913 impl ::core::clone::Clone for DD_ENDMOCOMPFRAMEDATA {
clone(&self) -> Self4914     fn clone(&self) -> Self {
4915         *self
4916     }
4917 }
4918 #[repr(C)]
4919 #[cfg(feature = "Win32_Foundation")]
4920 pub struct DD_FLIPDATA {
4921     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
4922     pub lpSurfCurr: *mut DD_SURFACE_LOCAL,
4923     pub lpSurfTarg: *mut DD_SURFACE_LOCAL,
4924     pub dwFlags: u32,
4925     pub ddRVal: ::windows_sys::core::HRESULT,
4926     pub Flip: *mut ::core::ffi::c_void,
4927     pub lpSurfCurrLeft: *mut DD_SURFACE_LOCAL,
4928     pub lpSurfTargLeft: *mut DD_SURFACE_LOCAL,
4929 }
4930 #[cfg(feature = "Win32_Foundation")]
4931 impl ::core::marker::Copy for DD_FLIPDATA {}
4932 #[cfg(feature = "Win32_Foundation")]
4933 impl ::core::clone::Clone for DD_FLIPDATA {
clone(&self) -> Self4934     fn clone(&self) -> Self {
4935         *self
4936     }
4937 }
4938 #[repr(C)]
4939 pub struct DD_FLIPTOGDISURFACEDATA {
4940     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
4941     pub dwToGDI: u32,
4942     pub dwReserved: u32,
4943     pub ddRVal: ::windows_sys::core::HRESULT,
4944     pub FlipToGDISurface: *mut ::core::ffi::c_void,
4945 }
4946 impl ::core::marker::Copy for DD_FLIPTOGDISURFACEDATA {}
4947 impl ::core::clone::Clone for DD_FLIPTOGDISURFACEDATA {
clone(&self) -> Self4948     fn clone(&self) -> Self {
4949         *self
4950     }
4951 }
4952 #[repr(C)]
4953 #[cfg(feature = "Win32_Foundation")]
4954 pub struct DD_FLIPVPORTDATA {
4955     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
4956     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
4957     pub lpSurfCurr: *mut DD_SURFACE_LOCAL,
4958     pub lpSurfTarg: *mut DD_SURFACE_LOCAL,
4959     pub ddRVal: ::windows_sys::core::HRESULT,
4960     pub FlipVideoPort: *mut ::core::ffi::c_void,
4961 }
4962 #[cfg(feature = "Win32_Foundation")]
4963 impl ::core::marker::Copy for DD_FLIPVPORTDATA {}
4964 #[cfg(feature = "Win32_Foundation")]
4965 impl ::core::clone::Clone for DD_FLIPVPORTDATA {
clone(&self) -> Self4966     fn clone(&self) -> Self {
4967         *self
4968     }
4969 }
4970 #[repr(C)]
4971 #[cfg(feature = "Win32_Foundation")]
4972 pub struct DD_FREEDRIVERMEMORYDATA {
4973     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
4974     pub lpDDSurface: *mut DD_SURFACE_LOCAL,
4975     pub ddRVal: ::windows_sys::core::HRESULT,
4976     pub FreeDriverMemory: *mut ::core::ffi::c_void,
4977 }
4978 #[cfg(feature = "Win32_Foundation")]
4979 impl ::core::marker::Copy for DD_FREEDRIVERMEMORYDATA {}
4980 #[cfg(feature = "Win32_Foundation")]
4981 impl ::core::clone::Clone for DD_FREEDRIVERMEMORYDATA {
clone(&self) -> Self4982     fn clone(&self) -> Self {
4983         *self
4984     }
4985 }
4986 #[repr(C)]
4987 pub struct DD_GETAVAILDRIVERMEMORYDATA {
4988     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
4989     pub DDSCaps: DDSCAPS,
4990     pub dwTotal: u32,
4991     pub dwFree: u32,
4992     pub ddRVal: ::windows_sys::core::HRESULT,
4993     pub GetAvailDriverMemory: *mut ::core::ffi::c_void,
4994 }
4995 impl ::core::marker::Copy for DD_GETAVAILDRIVERMEMORYDATA {}
4996 impl ::core::clone::Clone for DD_GETAVAILDRIVERMEMORYDATA {
clone(&self) -> Self4997     fn clone(&self) -> Self {
4998         *self
4999     }
5000 }
5001 #[repr(C)]
5002 #[cfg(feature = "Win32_Foundation")]
5003 pub struct DD_GETBLTSTATUSDATA {
5004     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5005     pub lpDDSurface: *mut DD_SURFACE_LOCAL,
5006     pub dwFlags: u32,
5007     pub ddRVal: ::windows_sys::core::HRESULT,
5008     pub GetBltStatus: *mut ::core::ffi::c_void,
5009 }
5010 #[cfg(feature = "Win32_Foundation")]
5011 impl ::core::marker::Copy for DD_GETBLTSTATUSDATA {}
5012 #[cfg(feature = "Win32_Foundation")]
5013 impl ::core::clone::Clone for DD_GETBLTSTATUSDATA {
clone(&self) -> Self5014     fn clone(&self) -> Self {
5015         *self
5016     }
5017 }
5018 #[repr(C)]
5019 pub struct DD_GETDRIVERINFODATA {
5020     pub dhpdev: *mut ::core::ffi::c_void,
5021     pub dwSize: u32,
5022     pub dwFlags: u32,
5023     pub guidInfo: ::windows_sys::core::GUID,
5024     pub dwExpectedSize: u32,
5025     pub lpvData: *mut ::core::ffi::c_void,
5026     pub dwActualSize: u32,
5027     pub ddRVal: ::windows_sys::core::HRESULT,
5028 }
5029 impl ::core::marker::Copy for DD_GETDRIVERINFODATA {}
5030 impl ::core::clone::Clone for DD_GETDRIVERINFODATA {
clone(&self) -> Self5031     fn clone(&self) -> Self {
5032         *self
5033     }
5034 }
5035 #[repr(C)]
5036 pub struct DD_GETDRIVERSTATEDATA {
5037     pub dwFlags: u32,
5038     pub Anonymous: DD_GETDRIVERSTATEDATA_0,
5039     pub lpdwStates: *mut u32,
5040     pub dwLength: u32,
5041     pub ddRVal: ::windows_sys::core::HRESULT,
5042 }
5043 impl ::core::marker::Copy for DD_GETDRIVERSTATEDATA {}
5044 impl ::core::clone::Clone for DD_GETDRIVERSTATEDATA {
clone(&self) -> Self5045     fn clone(&self) -> Self {
5046         *self
5047     }
5048 }
5049 #[repr(C)]
5050 pub union DD_GETDRIVERSTATEDATA_0 {
5051     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5052     pub dwhContext: usize,
5053 }
5054 impl ::core::marker::Copy for DD_GETDRIVERSTATEDATA_0 {}
5055 impl ::core::clone::Clone for DD_GETDRIVERSTATEDATA_0 {
clone(&self) -> Self5056     fn clone(&self) -> Self {
5057         *self
5058     }
5059 }
5060 #[repr(C)]
5061 #[cfg(feature = "Win32_Foundation")]
5062 pub struct DD_GETFLIPSTATUSDATA {
5063     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5064     pub lpDDSurface: *mut DD_SURFACE_LOCAL,
5065     pub dwFlags: u32,
5066     pub ddRVal: ::windows_sys::core::HRESULT,
5067     pub GetFlipStatus: *mut ::core::ffi::c_void,
5068 }
5069 #[cfg(feature = "Win32_Foundation")]
5070 impl ::core::marker::Copy for DD_GETFLIPSTATUSDATA {}
5071 #[cfg(feature = "Win32_Foundation")]
5072 impl ::core::clone::Clone for DD_GETFLIPSTATUSDATA {
clone(&self) -> Self5073     fn clone(&self) -> Self {
5074         *self
5075     }
5076 }
5077 #[repr(C)]
5078 pub struct DD_GETHEAPALIGNMENTDATA {
5079     pub dwInstance: usize,
5080     pub dwHeap: u32,
5081     pub ddRVal: ::windows_sys::core::HRESULT,
5082     pub GetHeapAlignment: *mut ::core::ffi::c_void,
5083     pub Alignment: HEAPALIGNMENT,
5084 }
5085 impl ::core::marker::Copy for DD_GETHEAPALIGNMENTDATA {}
5086 impl ::core::clone::Clone for DD_GETHEAPALIGNMENTDATA {
clone(&self) -> Self5087     fn clone(&self) -> Self {
5088         *self
5089     }
5090 }
5091 #[repr(C)]
5092 pub struct DD_GETINTERNALMOCOMPDATA {
5093     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5094     pub lpGuid: *mut ::windows_sys::core::GUID,
5095     pub dwWidth: u32,
5096     pub dwHeight: u32,
5097     pub ddPixelFormat: DDPIXELFORMAT,
5098     pub dwScratchMemAlloc: u32,
5099     pub ddRVal: ::windows_sys::core::HRESULT,
5100 }
5101 impl ::core::marker::Copy for DD_GETINTERNALMOCOMPDATA {}
5102 impl ::core::clone::Clone for DD_GETINTERNALMOCOMPDATA {
clone(&self) -> Self5103     fn clone(&self) -> Self {
5104         *self
5105     }
5106 }
5107 #[repr(C)]
5108 pub struct DD_GETMOCOMPCOMPBUFFDATA {
5109     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5110     pub lpGuid: *mut ::windows_sys::core::GUID,
5111     pub dwWidth: u32,
5112     pub dwHeight: u32,
5113     pub ddPixelFormat: DDPIXELFORMAT,
5114     pub dwNumTypesCompBuffs: u32,
5115     pub lpCompBuffInfo: *mut DDCOMPBUFFERINFO,
5116     pub ddRVal: ::windows_sys::core::HRESULT,
5117 }
5118 impl ::core::marker::Copy for DD_GETMOCOMPCOMPBUFFDATA {}
5119 impl ::core::clone::Clone for DD_GETMOCOMPCOMPBUFFDATA {
clone(&self) -> Self5120     fn clone(&self) -> Self {
5121         *self
5122     }
5123 }
5124 #[repr(C)]
5125 pub struct DD_GETMOCOMPFORMATSDATA {
5126     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5127     pub lpGuid: *mut ::windows_sys::core::GUID,
5128     pub dwNumFormats: u32,
5129     pub lpFormats: *mut DDPIXELFORMAT,
5130     pub ddRVal: ::windows_sys::core::HRESULT,
5131 }
5132 impl ::core::marker::Copy for DD_GETMOCOMPFORMATSDATA {}
5133 impl ::core::clone::Clone for DD_GETMOCOMPFORMATSDATA {
clone(&self) -> Self5134     fn clone(&self) -> Self {
5135         *self
5136     }
5137 }
5138 #[repr(C)]
5139 pub struct DD_GETMOCOMPGUIDSDATA {
5140     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5141     pub dwNumGuids: u32,
5142     pub lpGuids: *mut ::windows_sys::core::GUID,
5143     pub ddRVal: ::windows_sys::core::HRESULT,
5144 }
5145 impl ::core::marker::Copy for DD_GETMOCOMPGUIDSDATA {}
5146 impl ::core::clone::Clone for DD_GETMOCOMPGUIDSDATA {
clone(&self) -> Self5147     fn clone(&self) -> Self {
5148         *self
5149     }
5150 }
5151 #[repr(C)]
5152 pub struct DD_GETSCANLINEDATA {
5153     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5154     pub dwScanLine: u32,
5155     pub ddRVal: ::windows_sys::core::HRESULT,
5156     pub GetScanLine: *mut ::core::ffi::c_void,
5157 }
5158 impl ::core::marker::Copy for DD_GETSCANLINEDATA {}
5159 impl ::core::clone::Clone for DD_GETSCANLINEDATA {
clone(&self) -> Self5160     fn clone(&self) -> Self {
5161         *self
5162     }
5163 }
5164 #[repr(C)]
5165 #[cfg(feature = "Win32_Foundation")]
5166 pub struct DD_GETVPORTBANDWIDTHDATA {
5167     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5168     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
5169     pub lpddpfFormat: *mut DDPIXELFORMAT,
5170     pub dwWidth: u32,
5171     pub dwHeight: u32,
5172     pub dwFlags: u32,
5173     pub lpBandwidth: *mut DDVIDEOPORTBANDWIDTH,
5174     pub ddRVal: ::windows_sys::core::HRESULT,
5175     pub GetVideoPortBandwidth: *mut ::core::ffi::c_void,
5176 }
5177 #[cfg(feature = "Win32_Foundation")]
5178 impl ::core::marker::Copy for DD_GETVPORTBANDWIDTHDATA {}
5179 #[cfg(feature = "Win32_Foundation")]
5180 impl ::core::clone::Clone for DD_GETVPORTBANDWIDTHDATA {
clone(&self) -> Self5181     fn clone(&self) -> Self {
5182         *self
5183     }
5184 }
5185 #[repr(C)]
5186 pub struct DD_GETVPORTCONNECTDATA {
5187     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5188     pub dwPortId: u32,
5189     pub lpConnect: *mut DDVIDEOPORTCONNECT,
5190     pub dwNumEntries: u32,
5191     pub ddRVal: ::windows_sys::core::HRESULT,
5192     pub GetVideoPortConnectInfo: *mut ::core::ffi::c_void,
5193 }
5194 impl ::core::marker::Copy for DD_GETVPORTCONNECTDATA {}
5195 impl ::core::clone::Clone for DD_GETVPORTCONNECTDATA {
clone(&self) -> Self5196     fn clone(&self) -> Self {
5197         *self
5198     }
5199 }
5200 #[repr(C)]
5201 #[cfg(feature = "Win32_Foundation")]
5202 pub struct DD_GETVPORTFIELDDATA {
5203     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5204     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
5205     pub bField: super::super::Foundation::BOOL,
5206     pub ddRVal: ::windows_sys::core::HRESULT,
5207     pub GetVideoPortField: *mut ::core::ffi::c_void,
5208 }
5209 #[cfg(feature = "Win32_Foundation")]
5210 impl ::core::marker::Copy for DD_GETVPORTFIELDDATA {}
5211 #[cfg(feature = "Win32_Foundation")]
5212 impl ::core::clone::Clone for DD_GETVPORTFIELDDATA {
clone(&self) -> Self5213     fn clone(&self) -> Self {
5214         *self
5215     }
5216 }
5217 #[repr(C)]
5218 pub struct DD_GETVPORTFLIPSTATUSDATA {
5219     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5220     pub fpSurface: usize,
5221     pub ddRVal: ::windows_sys::core::HRESULT,
5222     pub GetVideoPortFlipStatus: *mut ::core::ffi::c_void,
5223 }
5224 impl ::core::marker::Copy for DD_GETVPORTFLIPSTATUSDATA {}
5225 impl ::core::clone::Clone for DD_GETVPORTFLIPSTATUSDATA {
clone(&self) -> Self5226     fn clone(&self) -> Self {
5227         *self
5228     }
5229 }
5230 #[repr(C)]
5231 #[cfg(feature = "Win32_Foundation")]
5232 pub struct DD_GETVPORTINPUTFORMATDATA {
5233     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5234     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
5235     pub dwFlags: u32,
5236     pub lpddpfFormat: *mut DDPIXELFORMAT,
5237     pub dwNumFormats: u32,
5238     pub ddRVal: ::windows_sys::core::HRESULT,
5239     pub GetVideoPortInputFormats: *mut ::core::ffi::c_void,
5240 }
5241 #[cfg(feature = "Win32_Foundation")]
5242 impl ::core::marker::Copy for DD_GETVPORTINPUTFORMATDATA {}
5243 #[cfg(feature = "Win32_Foundation")]
5244 impl ::core::clone::Clone for DD_GETVPORTINPUTFORMATDATA {
clone(&self) -> Self5245     fn clone(&self) -> Self {
5246         *self
5247     }
5248 }
5249 #[repr(C)]
5250 #[cfg(feature = "Win32_Foundation")]
5251 pub struct DD_GETVPORTLINEDATA {
5252     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5253     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
5254     pub dwLine: u32,
5255     pub ddRVal: ::windows_sys::core::HRESULT,
5256     pub GetVideoPortLine: *mut ::core::ffi::c_void,
5257 }
5258 #[cfg(feature = "Win32_Foundation")]
5259 impl ::core::marker::Copy for DD_GETVPORTLINEDATA {}
5260 #[cfg(feature = "Win32_Foundation")]
5261 impl ::core::clone::Clone for DD_GETVPORTLINEDATA {
clone(&self) -> Self5262     fn clone(&self) -> Self {
5263         *self
5264     }
5265 }
5266 #[repr(C)]
5267 #[cfg(feature = "Win32_Foundation")]
5268 pub struct DD_GETVPORTOUTPUTFORMATDATA {
5269     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5270     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
5271     pub dwFlags: u32,
5272     pub lpddpfInputFormat: *mut DDPIXELFORMAT,
5273     pub lpddpfOutputFormats: *mut DDPIXELFORMAT,
5274     pub dwNumFormats: u32,
5275     pub ddRVal: ::windows_sys::core::HRESULT,
5276     pub GetVideoPortInputFormats: *mut ::core::ffi::c_void,
5277 }
5278 #[cfg(feature = "Win32_Foundation")]
5279 impl ::core::marker::Copy for DD_GETVPORTOUTPUTFORMATDATA {}
5280 #[cfg(feature = "Win32_Foundation")]
5281 impl ::core::clone::Clone for DD_GETVPORTOUTPUTFORMATDATA {
clone(&self) -> Self5282     fn clone(&self) -> Self {
5283         *self
5284     }
5285 }
5286 #[repr(C)]
5287 #[cfg(feature = "Win32_Foundation")]
5288 pub struct DD_GETVPORTSIGNALDATA {
5289     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5290     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
5291     pub dwStatus: u32,
5292     pub ddRVal: ::windows_sys::core::HRESULT,
5293     pub GetVideoSignalStatus: *mut ::core::ffi::c_void,
5294 }
5295 #[cfg(feature = "Win32_Foundation")]
5296 impl ::core::marker::Copy for DD_GETVPORTSIGNALDATA {}
5297 #[cfg(feature = "Win32_Foundation")]
5298 impl ::core::clone::Clone for DD_GETVPORTSIGNALDATA {
clone(&self) -> Self5299     fn clone(&self) -> Self {
5300         *self
5301     }
5302 }
5303 #[repr(C)]
5304 #[cfg(feature = "Win32_Foundation")]
5305 pub struct DD_HALINFO {
5306     pub dwSize: u32,
5307     pub vmiData: VIDEOMEMORYINFO,
5308     pub ddCaps: DDNTCORECAPS,
5309     pub GetDriverInfo: PDD_GETDRIVERINFO,
5310     pub dwFlags: u32,
5311     pub lpD3DGlobalDriverData: *mut ::core::ffi::c_void,
5312     pub lpD3DHALCallbacks: *mut ::core::ffi::c_void,
5313     pub lpD3DBufCallbacks: *mut DD_D3DBUFCALLBACKS,
5314 }
5315 #[cfg(feature = "Win32_Foundation")]
5316 impl ::core::marker::Copy for DD_HALINFO {}
5317 #[cfg(feature = "Win32_Foundation")]
5318 impl ::core::clone::Clone for DD_HALINFO {
clone(&self) -> Self5319     fn clone(&self) -> Self {
5320         *self
5321     }
5322 }
5323 #[repr(C)]
5324 pub struct DD_HALINFO_V4 {
5325     pub dwSize: u32,
5326     pub vmiData: VIDEOMEMORYINFO,
5327     pub ddCaps: DDNTCORECAPS,
5328     pub GetDriverInfo: PDD_GETDRIVERINFO,
5329     pub dwFlags: u32,
5330 }
5331 impl ::core::marker::Copy for DD_HALINFO_V4 {}
5332 impl ::core::clone::Clone for DD_HALINFO_V4 {
clone(&self) -> Self5333     fn clone(&self) -> Self {
5334         *self
5335     }
5336 }
5337 pub const DD_HAL_VERSION: u32 = 256u32;
5338 #[repr(C)]
5339 #[cfg(feature = "Win32_Foundation")]
5340 pub struct DD_KERNELCALLBACKS {
5341     pub dwSize: u32,
5342     pub dwFlags: u32,
5343     pub SyncSurfaceData: PDD_KERNELCB_SYNCSURFACE,
5344     pub SyncVideoPortData: PDD_KERNELCB_SYNCVIDEOPORT,
5345 }
5346 #[cfg(feature = "Win32_Foundation")]
5347 impl ::core::marker::Copy for DD_KERNELCALLBACKS {}
5348 #[cfg(feature = "Win32_Foundation")]
5349 impl ::core::clone::Clone for DD_KERNELCALLBACKS {
clone(&self) -> Self5350     fn clone(&self) -> Self {
5351         *self
5352     }
5353 }
5354 #[repr(C)]
5355 #[cfg(feature = "Win32_Foundation")]
5356 pub struct DD_LOCKDATA {
5357     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5358     pub lpDDSurface: *mut DD_SURFACE_LOCAL,
5359     pub bHasRect: u32,
5360     pub rArea: super::super::Foundation::RECTL,
5361     pub lpSurfData: *mut ::core::ffi::c_void,
5362     pub ddRVal: ::windows_sys::core::HRESULT,
5363     pub Lock: *mut ::core::ffi::c_void,
5364     pub dwFlags: u32,
5365     pub fpProcess: usize,
5366 }
5367 #[cfg(feature = "Win32_Foundation")]
5368 impl ::core::marker::Copy for DD_LOCKDATA {}
5369 #[cfg(feature = "Win32_Foundation")]
5370 impl ::core::clone::Clone for DD_LOCKDATA {
clone(&self) -> Self5371     fn clone(&self) -> Self {
5372         *self
5373     }
5374 }
5375 #[repr(C)]
5376 #[cfg(feature = "Win32_Foundation")]
5377 pub struct DD_MAPMEMORYDATA {
5378     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5379     pub bMap: super::super::Foundation::BOOL,
5380     pub hProcess: super::super::Foundation::HANDLE,
5381     pub fpProcess: usize,
5382     pub ddRVal: ::windows_sys::core::HRESULT,
5383 }
5384 #[cfg(feature = "Win32_Foundation")]
5385 impl ::core::marker::Copy for DD_MAPMEMORYDATA {}
5386 #[cfg(feature = "Win32_Foundation")]
5387 impl ::core::clone::Clone for DD_MAPMEMORYDATA {
clone(&self) -> Self5388     fn clone(&self) -> Self {
5389         *self
5390     }
5391 }
5392 #[repr(C)]
5393 #[cfg(feature = "Win32_Foundation")]
5394 pub struct DD_MISCELLANEOUS2CALLBACKS {
5395     pub dwSize: u32,
5396     pub dwFlags: u32,
5397     pub AlphaBlt: PDD_ALPHABLT,
5398     pub CreateSurfaceEx: PDD_CREATESURFACEEX,
5399     pub GetDriverState: PDD_GETDRIVERSTATE,
5400     pub DestroyDDLocal: PDD_DESTROYDDLOCAL,
5401 }
5402 #[cfg(feature = "Win32_Foundation")]
5403 impl ::core::marker::Copy for DD_MISCELLANEOUS2CALLBACKS {}
5404 #[cfg(feature = "Win32_Foundation")]
5405 impl ::core::clone::Clone for DD_MISCELLANEOUS2CALLBACKS {
clone(&self) -> Self5406     fn clone(&self) -> Self {
5407         *self
5408     }
5409 }
5410 #[repr(C)]
5411 pub struct DD_MISCELLANEOUSCALLBACKS {
5412     pub dwSize: u32,
5413     pub dwFlags: u32,
5414     pub GetAvailDriverMemory: PDD_GETAVAILDRIVERMEMORY,
5415 }
5416 impl ::core::marker::Copy for DD_MISCELLANEOUSCALLBACKS {}
5417 impl ::core::clone::Clone for DD_MISCELLANEOUSCALLBACKS {
clone(&self) -> Self5418     fn clone(&self) -> Self {
5419         *self
5420     }
5421 }
5422 #[repr(C)]
5423 pub struct DD_MORECAPS {
5424     pub dwSize: u32,
5425     pub dwAlphaCaps: u32,
5426     pub dwSVBAlphaCaps: u32,
5427     pub dwVSBAlphaCaps: u32,
5428     pub dwSSBAlphaCaps: u32,
5429     pub dwFilterCaps: u32,
5430     pub dwSVBFilterCaps: u32,
5431     pub dwVSBFilterCaps: u32,
5432     pub dwSSBFilterCaps: u32,
5433 }
5434 impl ::core::marker::Copy for DD_MORECAPS {}
5435 impl ::core::clone::Clone for DD_MORECAPS {
clone(&self) -> Self5436     fn clone(&self) -> Self {
5437         *self
5438     }
5439 }
5440 #[repr(C)]
5441 pub struct DD_MORESURFACECAPS {
5442     pub dwSize: u32,
5443     pub ddsCapsMore: DDSCAPSEX,
5444     pub ddsExtendedHeapRestrictions: [DD_MORESURFACECAPS_0; 1],
5445 }
5446 impl ::core::marker::Copy for DD_MORESURFACECAPS {}
5447 impl ::core::clone::Clone for DD_MORESURFACECAPS {
clone(&self) -> Self5448     fn clone(&self) -> Self {
5449         *self
5450     }
5451 }
5452 #[repr(C)]
5453 pub struct DD_MORESURFACECAPS_0 {
5454     pub ddsCapsEx: DDSCAPSEX,
5455     pub ddsCapsExAlt: DDSCAPSEX,
5456 }
5457 impl ::core::marker::Copy for DD_MORESURFACECAPS_0 {}
5458 impl ::core::clone::Clone for DD_MORESURFACECAPS_0 {
clone(&self) -> Self5459     fn clone(&self) -> Self {
5460         *self
5461     }
5462 }
5463 #[repr(C)]
5464 #[cfg(feature = "Win32_Foundation")]
5465 pub struct DD_MOTIONCOMPCALLBACKS {
5466     pub dwSize: u32,
5467     pub dwFlags: u32,
5468     pub GetMoCompGuids: PDD_MOCOMPCB_GETGUIDS,
5469     pub GetMoCompFormats: PDD_MOCOMPCB_GETFORMATS,
5470     pub CreateMoComp: PDD_MOCOMPCB_CREATE,
5471     pub GetMoCompBuffInfo: PDD_MOCOMPCB_GETCOMPBUFFINFO,
5472     pub GetInternalMoCompInfo: PDD_MOCOMPCB_GETINTERNALINFO,
5473     pub BeginMoCompFrame: PDD_MOCOMPCB_BEGINFRAME,
5474     pub EndMoCompFrame: PDD_MOCOMPCB_ENDFRAME,
5475     pub RenderMoComp: PDD_MOCOMPCB_RENDER,
5476     pub QueryMoCompStatus: PDD_MOCOMPCB_QUERYSTATUS,
5477     pub DestroyMoComp: PDD_MOCOMPCB_DESTROY,
5478 }
5479 #[cfg(feature = "Win32_Foundation")]
5480 impl ::core::marker::Copy for DD_MOTIONCOMPCALLBACKS {}
5481 #[cfg(feature = "Win32_Foundation")]
5482 impl ::core::clone::Clone for DD_MOTIONCOMPCALLBACKS {
clone(&self) -> Self5483     fn clone(&self) -> Self {
5484         *self
5485     }
5486 }
5487 #[repr(C)]
5488 pub struct DD_MOTIONCOMP_LOCAL {
5489     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5490     pub guid: ::windows_sys::core::GUID,
5491     pub dwUncompWidth: u32,
5492     pub dwUncompHeight: u32,
5493     pub ddUncompPixelFormat: DDPIXELFORMAT,
5494     pub dwDriverReserved1: u32,
5495     pub dwDriverReserved2: u32,
5496     pub dwDriverReserved3: u32,
5497     pub lpDriverReserved1: *mut ::core::ffi::c_void,
5498     pub lpDriverReserved2: *mut ::core::ffi::c_void,
5499     pub lpDriverReserved3: *mut ::core::ffi::c_void,
5500 }
5501 impl ::core::marker::Copy for DD_MOTIONCOMP_LOCAL {}
5502 impl ::core::clone::Clone for DD_MOTIONCOMP_LOCAL {
clone(&self) -> Self5503     fn clone(&self) -> Self {
5504         *self
5505     }
5506 }
5507 #[repr(C)]
5508 pub struct DD_NONLOCALVIDMEMCAPS {
5509     pub dwSize: u32,
5510     pub dwNLVBCaps: u32,
5511     pub dwNLVBCaps2: u32,
5512     pub dwNLVBCKeyCaps: u32,
5513     pub dwNLVBFXCaps: u32,
5514     pub dwNLVBRops: [u32; 8],
5515 }
5516 impl ::core::marker::Copy for DD_NONLOCALVIDMEMCAPS {}
5517 impl ::core::clone::Clone for DD_NONLOCALVIDMEMCAPS {
clone(&self) -> Self5518     fn clone(&self) -> Self {
5519         *self
5520     }
5521 }
5522 #[repr(C)]
5523 #[cfg(feature = "Win32_Foundation")]
5524 pub struct DD_NTCALLBACKS {
5525     pub dwSize: u32,
5526     pub dwFlags: u32,
5527     pub FreeDriverMemory: PDD_FREEDRIVERMEMORY,
5528     pub SetExclusiveMode: PDD_SETEXCLUSIVEMODE,
5529     pub FlipToGDISurface: PDD_FLIPTOGDISURFACE,
5530 }
5531 #[cfg(feature = "Win32_Foundation")]
5532 impl ::core::marker::Copy for DD_NTCALLBACKS {}
5533 #[cfg(feature = "Win32_Foundation")]
5534 impl ::core::clone::Clone for DD_NTCALLBACKS {
clone(&self) -> Self5535     fn clone(&self) -> Self {
5536         *self
5537     }
5538 }
5539 #[repr(C)]
5540 pub struct DD_NTPRIVATEDRIVERCAPS {
5541     pub dwSize: u32,
5542     pub dwPrivateCaps: u32,
5543 }
5544 impl ::core::marker::Copy for DD_NTPRIVATEDRIVERCAPS {}
5545 impl ::core::clone::Clone for DD_NTPRIVATEDRIVERCAPS {
clone(&self) -> Self5546     fn clone(&self) -> Self {
5547         *self
5548     }
5549 }
5550 #[repr(C)]
5551 #[cfg(feature = "Win32_Graphics_Gdi")]
5552 pub struct DD_PALETTECALLBACKS {
5553     pub dwSize: u32,
5554     pub dwFlags: u32,
5555     pub DestroyPalette: PDD_PALCB_DESTROYPALETTE,
5556     pub SetEntries: PDD_PALCB_SETENTRIES,
5557 }
5558 #[cfg(feature = "Win32_Graphics_Gdi")]
5559 impl ::core::marker::Copy for DD_PALETTECALLBACKS {}
5560 #[cfg(feature = "Win32_Graphics_Gdi")]
5561 impl ::core::clone::Clone for DD_PALETTECALLBACKS {
clone(&self) -> Self5562     fn clone(&self) -> Self {
5563         *self
5564     }
5565 }
5566 #[repr(C)]
5567 pub struct DD_PALETTE_GLOBAL {
5568     pub dwReserved1: usize,
5569 }
5570 impl ::core::marker::Copy for DD_PALETTE_GLOBAL {}
5571 impl ::core::clone::Clone for DD_PALETTE_GLOBAL {
clone(&self) -> Self5572     fn clone(&self) -> Self {
5573         *self
5574     }
5575 }
5576 #[repr(C)]
5577 pub struct DD_PALETTE_LOCAL {
5578     pub dwReserved0: u32,
5579     pub dwReserved1: usize,
5580 }
5581 impl ::core::marker::Copy for DD_PALETTE_LOCAL {}
5582 impl ::core::clone::Clone for DD_PALETTE_LOCAL {
clone(&self) -> Self5583     fn clone(&self) -> Self {
5584         *self
5585     }
5586 }
5587 #[repr(C)]
5588 #[cfg(feature = "Win32_Foundation")]
5589 pub struct DD_QUERYMOCOMPSTATUSDATA {
5590     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5591     pub lpMoComp: *mut DD_MOTIONCOMP_LOCAL,
5592     pub lpSurface: *mut DD_SURFACE_LOCAL,
5593     pub dwFlags: u32,
5594     pub ddRVal: ::windows_sys::core::HRESULT,
5595 }
5596 #[cfg(feature = "Win32_Foundation")]
5597 impl ::core::marker::Copy for DD_QUERYMOCOMPSTATUSDATA {}
5598 #[cfg(feature = "Win32_Foundation")]
5599 impl ::core::clone::Clone for DD_QUERYMOCOMPSTATUSDATA {
clone(&self) -> Self5600     fn clone(&self) -> Self {
5601         *self
5602     }
5603 }
5604 #[repr(C)]
5605 #[cfg(feature = "Win32_Foundation")]
5606 pub struct DD_RENDERMOCOMPDATA {
5607     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5608     pub lpMoComp: *mut DD_MOTIONCOMP_LOCAL,
5609     pub dwNumBuffers: u32,
5610     pub lpBufferInfo: *mut DDMOCOMPBUFFERINFO,
5611     pub dwFunction: u32,
5612     pub lpInputData: *mut ::core::ffi::c_void,
5613     pub dwInputDataSize: u32,
5614     pub lpOutputData: *mut ::core::ffi::c_void,
5615     pub dwOutputDataSize: u32,
5616     pub ddRVal: ::windows_sys::core::HRESULT,
5617 }
5618 #[cfg(feature = "Win32_Foundation")]
5619 impl ::core::marker::Copy for DD_RENDERMOCOMPDATA {}
5620 #[cfg(feature = "Win32_Foundation")]
5621 impl ::core::clone::Clone for DD_RENDERMOCOMPDATA {
clone(&self) -> Self5622     fn clone(&self) -> Self {
5623         *self
5624     }
5625 }
5626 pub const DD_RUNTIME_VERSION: i32 = 2306i32;
5627 #[repr(C)]
5628 #[cfg(feature = "Win32_Foundation")]
5629 pub struct DD_SETCLIPLISTDATA {
5630     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5631     pub lpDDSurface: *mut DD_SURFACE_LOCAL,
5632     pub ddRVal: ::windows_sys::core::HRESULT,
5633     pub SetClipList: *mut ::core::ffi::c_void,
5634 }
5635 #[cfg(feature = "Win32_Foundation")]
5636 impl ::core::marker::Copy for DD_SETCLIPLISTDATA {}
5637 #[cfg(feature = "Win32_Foundation")]
5638 impl ::core::clone::Clone for DD_SETCLIPLISTDATA {
clone(&self) -> Self5639     fn clone(&self) -> Self {
5640         *self
5641     }
5642 }
5643 #[repr(C)]
5644 #[cfg(feature = "Win32_Foundation")]
5645 pub struct DD_SETCOLORKEYDATA {
5646     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5647     pub lpDDSurface: *mut DD_SURFACE_LOCAL,
5648     pub dwFlags: u32,
5649     pub ckNew: DDCOLORKEY,
5650     pub ddRVal: ::windows_sys::core::HRESULT,
5651     pub SetColorKey: *mut ::core::ffi::c_void,
5652 }
5653 #[cfg(feature = "Win32_Foundation")]
5654 impl ::core::marker::Copy for DD_SETCOLORKEYDATA {}
5655 #[cfg(feature = "Win32_Foundation")]
5656 impl ::core::clone::Clone for DD_SETCOLORKEYDATA {
clone(&self) -> Self5657     fn clone(&self) -> Self {
5658         *self
5659     }
5660 }
5661 #[repr(C)]
5662 #[cfg(feature = "Win32_Graphics_Gdi")]
5663 pub struct DD_SETENTRIESDATA {
5664     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5665     pub lpDDPalette: *mut DD_PALETTE_GLOBAL,
5666     pub dwBase: u32,
5667     pub dwNumEntries: u32,
5668     pub lpEntries: *mut super::Gdi::PALETTEENTRY,
5669     pub ddRVal: ::windows_sys::core::HRESULT,
5670     pub SetEntries: *mut ::core::ffi::c_void,
5671 }
5672 #[cfg(feature = "Win32_Graphics_Gdi")]
5673 impl ::core::marker::Copy for DD_SETENTRIESDATA {}
5674 #[cfg(feature = "Win32_Graphics_Gdi")]
5675 impl ::core::clone::Clone for DD_SETENTRIESDATA {
clone(&self) -> Self5676     fn clone(&self) -> Self {
5677         *self
5678     }
5679 }
5680 #[repr(C)]
5681 pub struct DD_SETEXCLUSIVEMODEDATA {
5682     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5683     pub dwEnterExcl: u32,
5684     pub dwReserved: u32,
5685     pub ddRVal: ::windows_sys::core::HRESULT,
5686     pub SetExclusiveMode: *mut ::core::ffi::c_void,
5687 }
5688 impl ::core::marker::Copy for DD_SETEXCLUSIVEMODEDATA {}
5689 impl ::core::clone::Clone for DD_SETEXCLUSIVEMODEDATA {
clone(&self) -> Self5690     fn clone(&self) -> Self {
5691         *self
5692     }
5693 }
5694 #[repr(C)]
5695 #[cfg(feature = "Win32_Foundation")]
5696 pub struct DD_SETOVERLAYPOSITIONDATA {
5697     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5698     pub lpDDSrcSurface: *mut DD_SURFACE_LOCAL,
5699     pub lpDDDestSurface: *mut DD_SURFACE_LOCAL,
5700     pub lXPos: i32,
5701     pub lYPos: i32,
5702     pub ddRVal: ::windows_sys::core::HRESULT,
5703     pub SetOverlayPosition: *mut ::core::ffi::c_void,
5704 }
5705 #[cfg(feature = "Win32_Foundation")]
5706 impl ::core::marker::Copy for DD_SETOVERLAYPOSITIONDATA {}
5707 #[cfg(feature = "Win32_Foundation")]
5708 impl ::core::clone::Clone for DD_SETOVERLAYPOSITIONDATA {
clone(&self) -> Self5709     fn clone(&self) -> Self {
5710         *self
5711     }
5712 }
5713 #[repr(C)]
5714 #[cfg(feature = "Win32_Foundation")]
5715 pub struct DD_SETPALETTEDATA {
5716     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5717     pub lpDDSurface: *mut DD_SURFACE_LOCAL,
5718     pub lpDDPalette: *mut DD_PALETTE_GLOBAL,
5719     pub ddRVal: ::windows_sys::core::HRESULT,
5720     pub SetPalette: *mut ::core::ffi::c_void,
5721     pub Attach: super::super::Foundation::BOOL,
5722 }
5723 #[cfg(feature = "Win32_Foundation")]
5724 impl ::core::marker::Copy for DD_SETPALETTEDATA {}
5725 #[cfg(feature = "Win32_Foundation")]
5726 impl ::core::clone::Clone for DD_SETPALETTEDATA {
clone(&self) -> Self5727     fn clone(&self) -> Self {
5728         *self
5729     }
5730 }
5731 #[repr(C)]
5732 #[cfg(feature = "Win32_Foundation")]
5733 pub struct DD_STEREOMODE {
5734     pub dwSize: u32,
5735     pub dwHeight: u32,
5736     pub dwWidth: u32,
5737     pub dwBpp: u32,
5738     pub dwRefreshRate: u32,
5739     pub bSupported: super::super::Foundation::BOOL,
5740 }
5741 #[cfg(feature = "Win32_Foundation")]
5742 impl ::core::marker::Copy for DD_STEREOMODE {}
5743 #[cfg(feature = "Win32_Foundation")]
5744 impl ::core::clone::Clone for DD_STEREOMODE {
clone(&self) -> Self5745     fn clone(&self) -> Self {
5746         *self
5747     }
5748 }
5749 #[repr(C)]
5750 #[cfg(feature = "Win32_Foundation")]
5751 pub struct DD_SURFACECALLBACKS {
5752     pub dwSize: u32,
5753     pub dwFlags: u32,
5754     pub DestroySurface: PDD_SURFCB_DESTROYSURFACE,
5755     pub Flip: PDD_SURFCB_FLIP,
5756     pub SetClipList: PDD_SURFCB_SETCLIPLIST,
5757     pub Lock: PDD_SURFCB_LOCK,
5758     pub Unlock: PDD_SURFCB_UNLOCK,
5759     pub Blt: PDD_SURFCB_BLT,
5760     pub SetColorKey: PDD_SURFCB_SETCOLORKEY,
5761     pub AddAttachedSurface: PDD_SURFCB_ADDATTACHEDSURFACE,
5762     pub GetBltStatus: PDD_SURFCB_GETBLTSTATUS,
5763     pub GetFlipStatus: PDD_SURFCB_GETFLIPSTATUS,
5764     pub UpdateOverlay: PDD_SURFCB_UPDATEOVERLAY,
5765     pub SetOverlayPosition: PDD_SURFCB_SETOVERLAYPOSITION,
5766     pub reserved4: *mut ::core::ffi::c_void,
5767     pub SetPalette: PDD_SURFCB_SETPALETTE,
5768 }
5769 #[cfg(feature = "Win32_Foundation")]
5770 impl ::core::marker::Copy for DD_SURFACECALLBACKS {}
5771 #[cfg(feature = "Win32_Foundation")]
5772 impl ::core::clone::Clone for DD_SURFACECALLBACKS {
clone(&self) -> Self5773     fn clone(&self) -> Self {
5774         *self
5775     }
5776 }
5777 #[repr(C)]
5778 #[cfg(feature = "Win32_Foundation")]
5779 pub struct DD_SURFACE_GLOBAL {
5780     pub Anonymous1: DD_SURFACE_GLOBAL_0,
5781     pub Anonymous2: DD_SURFACE_GLOBAL_1,
5782     pub fpVidMem: usize,
5783     pub Anonymous3: DD_SURFACE_GLOBAL_2,
5784     pub yHint: i32,
5785     pub xHint: i32,
5786     pub wHeight: u32,
5787     pub wWidth: u32,
5788     pub dwReserved1: usize,
5789     pub ddpfSurface: DDPIXELFORMAT,
5790     pub fpHeapOffset: usize,
5791     pub hCreatorProcess: super::super::Foundation::HANDLE,
5792 }
5793 #[cfg(feature = "Win32_Foundation")]
5794 impl ::core::marker::Copy for DD_SURFACE_GLOBAL {}
5795 #[cfg(feature = "Win32_Foundation")]
5796 impl ::core::clone::Clone for DD_SURFACE_GLOBAL {
clone(&self) -> Self5797     fn clone(&self) -> Self {
5798         *self
5799     }
5800 }
5801 #[repr(C)]
5802 #[cfg(feature = "Win32_Foundation")]
5803 pub union DD_SURFACE_GLOBAL_0 {
5804     pub dwBlockSizeY: u32,
5805     pub lSlicePitch: i32,
5806 }
5807 #[cfg(feature = "Win32_Foundation")]
5808 impl ::core::marker::Copy for DD_SURFACE_GLOBAL_0 {}
5809 #[cfg(feature = "Win32_Foundation")]
5810 impl ::core::clone::Clone for DD_SURFACE_GLOBAL_0 {
clone(&self) -> Self5811     fn clone(&self) -> Self {
5812         *self
5813     }
5814 }
5815 #[repr(C)]
5816 #[cfg(feature = "Win32_Foundation")]
5817 pub union DD_SURFACE_GLOBAL_1 {
5818     pub lpVidMemHeap: *mut VIDEOMEMORY,
5819     pub dwBlockSizeX: u32,
5820     pub dwUserMemSize: u32,
5821 }
5822 #[cfg(feature = "Win32_Foundation")]
5823 impl ::core::marker::Copy for DD_SURFACE_GLOBAL_1 {}
5824 #[cfg(feature = "Win32_Foundation")]
5825 impl ::core::clone::Clone for DD_SURFACE_GLOBAL_1 {
clone(&self) -> Self5826     fn clone(&self) -> Self {
5827         *self
5828     }
5829 }
5830 #[repr(C)]
5831 #[cfg(feature = "Win32_Foundation")]
5832 pub union DD_SURFACE_GLOBAL_2 {
5833     pub lPitch: i32,
5834     pub dwLinearSize: u32,
5835 }
5836 #[cfg(feature = "Win32_Foundation")]
5837 impl ::core::marker::Copy for DD_SURFACE_GLOBAL_2 {}
5838 #[cfg(feature = "Win32_Foundation")]
5839 impl ::core::clone::Clone for DD_SURFACE_GLOBAL_2 {
clone(&self) -> Self5840     fn clone(&self) -> Self {
5841         *self
5842     }
5843 }
5844 #[repr(C)]
5845 #[cfg(feature = "Win32_Foundation")]
5846 pub struct DD_SURFACE_INT {
5847     pub lpLcl: *mut DD_SURFACE_LOCAL,
5848 }
5849 #[cfg(feature = "Win32_Foundation")]
5850 impl ::core::marker::Copy for DD_SURFACE_INT {}
5851 #[cfg(feature = "Win32_Foundation")]
5852 impl ::core::clone::Clone for DD_SURFACE_INT {
clone(&self) -> Self5853     fn clone(&self) -> Self {
5854         *self
5855     }
5856 }
5857 #[repr(C)]
5858 #[cfg(feature = "Win32_Foundation")]
5859 pub struct DD_SURFACE_LOCAL {
5860     pub lpGbl: *mut DD_SURFACE_GLOBAL,
5861     pub dwFlags: u32,
5862     pub ddsCaps: DDSCAPS,
5863     pub dwReserved1: usize,
5864     pub Anonymous1: DD_SURFACE_LOCAL_0,
5865     pub Anonymous2: DD_SURFACE_LOCAL_1,
5866     pub lpSurfMore: *mut DD_SURFACE_MORE,
5867     pub lpAttachList: *mut DD_ATTACHLIST,
5868     pub lpAttachListFrom: *mut DD_ATTACHLIST,
5869     pub rcOverlaySrc: super::super::Foundation::RECT,
5870 }
5871 #[cfg(feature = "Win32_Foundation")]
5872 impl ::core::marker::Copy for DD_SURFACE_LOCAL {}
5873 #[cfg(feature = "Win32_Foundation")]
5874 impl ::core::clone::Clone for DD_SURFACE_LOCAL {
clone(&self) -> Self5875     fn clone(&self) -> Self {
5876         *self
5877     }
5878 }
5879 #[repr(C)]
5880 #[cfg(feature = "Win32_Foundation")]
5881 pub union DD_SURFACE_LOCAL_0 {
5882     pub ddckCKSrcOverlay: DDCOLORKEY,
5883     pub ddckCKSrcBlt: DDCOLORKEY,
5884 }
5885 #[cfg(feature = "Win32_Foundation")]
5886 impl ::core::marker::Copy for DD_SURFACE_LOCAL_0 {}
5887 #[cfg(feature = "Win32_Foundation")]
5888 impl ::core::clone::Clone for DD_SURFACE_LOCAL_0 {
clone(&self) -> Self5889     fn clone(&self) -> Self {
5890         *self
5891     }
5892 }
5893 #[repr(C)]
5894 #[cfg(feature = "Win32_Foundation")]
5895 pub union DD_SURFACE_LOCAL_1 {
5896     pub ddckCKDestOverlay: DDCOLORKEY,
5897     pub ddckCKDestBlt: DDCOLORKEY,
5898 }
5899 #[cfg(feature = "Win32_Foundation")]
5900 impl ::core::marker::Copy for DD_SURFACE_LOCAL_1 {}
5901 #[cfg(feature = "Win32_Foundation")]
5902 impl ::core::clone::Clone for DD_SURFACE_LOCAL_1 {
clone(&self) -> Self5903     fn clone(&self) -> Self {
5904         *self
5905     }
5906 }
5907 #[repr(C)]
5908 #[cfg(feature = "Win32_Foundation")]
5909 pub struct DD_SURFACE_MORE {
5910     pub dwMipMapCount: u32,
5911     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
5912     pub dwOverlayFlags: u32,
5913     pub ddsCapsEx: DDSCAPSEX,
5914     pub dwSurfaceHandle: u32,
5915 }
5916 #[cfg(feature = "Win32_Foundation")]
5917 impl ::core::marker::Copy for DD_SURFACE_MORE {}
5918 #[cfg(feature = "Win32_Foundation")]
5919 impl ::core::clone::Clone for DD_SURFACE_MORE {
clone(&self) -> Self5920     fn clone(&self) -> Self {
5921         *self
5922     }
5923 }
5924 #[repr(C)]
5925 #[cfg(feature = "Win32_Foundation")]
5926 pub struct DD_SYNCSURFACEDATA {
5927     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5928     pub lpDDSurface: *mut DD_SURFACE_LOCAL,
5929     pub dwSurfaceOffset: u32,
5930     pub fpLockPtr: usize,
5931     pub lPitch: i32,
5932     pub dwOverlayOffset: u32,
5933     pub dwDriverReserved1: u32,
5934     pub dwDriverReserved2: u32,
5935     pub dwDriverReserved3: u32,
5936     pub dwDriverReserved4: u32,
5937     pub ddRVal: ::windows_sys::core::HRESULT,
5938 }
5939 #[cfg(feature = "Win32_Foundation")]
5940 impl ::core::marker::Copy for DD_SYNCSURFACEDATA {}
5941 #[cfg(feature = "Win32_Foundation")]
5942 impl ::core::clone::Clone for DD_SYNCSURFACEDATA {
clone(&self) -> Self5943     fn clone(&self) -> Self {
5944         *self
5945     }
5946 }
5947 #[repr(C)]
5948 #[cfg(feature = "Win32_Foundation")]
5949 pub struct DD_SYNCVIDEOPORTDATA {
5950     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
5951     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
5952     pub dwOriginOffset: u32,
5953     pub dwHeight: u32,
5954     pub dwVBIHeight: u32,
5955     pub dwDriverReserved1: u32,
5956     pub dwDriverReserved2: u32,
5957     pub dwDriverReserved3: u32,
5958     pub ddRVal: ::windows_sys::core::HRESULT,
5959 }
5960 #[cfg(feature = "Win32_Foundation")]
5961 impl ::core::marker::Copy for DD_SYNCVIDEOPORTDATA {}
5962 #[cfg(feature = "Win32_Foundation")]
5963 impl ::core::clone::Clone for DD_SYNCVIDEOPORTDATA {
clone(&self) -> Self5964     fn clone(&self) -> Self {
5965         *self
5966     }
5967 }
5968 #[repr(C)]
5969 #[cfg(feature = "Win32_Foundation")]
5970 pub struct DD_UNLOCKDATA {
5971     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5972     pub lpDDSurface: *mut DD_SURFACE_LOCAL,
5973     pub ddRVal: ::windows_sys::core::HRESULT,
5974     pub Unlock: *mut ::core::ffi::c_void,
5975 }
5976 #[cfg(feature = "Win32_Foundation")]
5977 impl ::core::marker::Copy for DD_UNLOCKDATA {}
5978 #[cfg(feature = "Win32_Foundation")]
5979 impl ::core::clone::Clone for DD_UNLOCKDATA {
clone(&self) -> Self5980     fn clone(&self) -> Self {
5981         *self
5982     }
5983 }
5984 #[repr(C)]
5985 pub struct DD_UPDATENONLOCALHEAPDATA {
5986     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
5987     pub dwHeap: u32,
5988     pub fpGARTLin: usize,
5989     pub fpGARTDev: usize,
5990     pub ulPolicyMaxBytes: usize,
5991     pub ddRVal: ::windows_sys::core::HRESULT,
5992     pub UpdateNonLocalHeap: *mut ::core::ffi::c_void,
5993 }
5994 impl ::core::marker::Copy for DD_UPDATENONLOCALHEAPDATA {}
5995 impl ::core::clone::Clone for DD_UPDATENONLOCALHEAPDATA {
clone(&self) -> Self5996     fn clone(&self) -> Self {
5997         *self
5998     }
5999 }
6000 #[repr(C)]
6001 #[cfg(feature = "Win32_Foundation")]
6002 pub struct DD_UPDATEOVERLAYDATA {
6003     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
6004     pub lpDDDestSurface: *mut DD_SURFACE_LOCAL,
6005     pub rDest: super::super::Foundation::RECTL,
6006     pub lpDDSrcSurface: *mut DD_SURFACE_LOCAL,
6007     pub rSrc: super::super::Foundation::RECTL,
6008     pub dwFlags: u32,
6009     pub overlayFX: DDOVERLAYFX,
6010     pub ddRVal: ::windows_sys::core::HRESULT,
6011     pub UpdateOverlay: *mut ::core::ffi::c_void,
6012 }
6013 #[cfg(feature = "Win32_Foundation")]
6014 impl ::core::marker::Copy for DD_UPDATEOVERLAYDATA {}
6015 #[cfg(feature = "Win32_Foundation")]
6016 impl ::core::clone::Clone for DD_UPDATEOVERLAYDATA {
clone(&self) -> Self6017     fn clone(&self) -> Self {
6018         *self
6019     }
6020 }
6021 #[repr(C)]
6022 #[cfg(feature = "Win32_Foundation")]
6023 pub struct DD_UPDATEVPORTDATA {
6024     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
6025     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
6026     pub lplpDDSurface: *mut *mut DD_SURFACE_INT,
6027     pub lplpDDVBISurface: *mut *mut DD_SURFACE_INT,
6028     pub lpVideoInfo: *mut DDVIDEOPORTINFO,
6029     pub dwFlags: u32,
6030     pub dwNumAutoflip: u32,
6031     pub dwNumVBIAutoflip: u32,
6032     pub ddRVal: ::windows_sys::core::HRESULT,
6033     pub UpdateVideoPort: *mut ::core::ffi::c_void,
6034 }
6035 #[cfg(feature = "Win32_Foundation")]
6036 impl ::core::marker::Copy for DD_UPDATEVPORTDATA {}
6037 #[cfg(feature = "Win32_Foundation")]
6038 impl ::core::clone::Clone for DD_UPDATEVPORTDATA {
clone(&self) -> Self6039     fn clone(&self) -> Self {
6040         *self
6041     }
6042 }
6043 pub const DD_VERSION: i32 = 512i32;
6044 #[repr(C)]
6045 #[cfg(feature = "Win32_Foundation")]
6046 pub struct DD_VIDEOPORTCALLBACKS {
6047     pub dwSize: u32,
6048     pub dwFlags: u32,
6049     pub CanCreateVideoPort: PDD_VPORTCB_CANCREATEVIDEOPORT,
6050     pub CreateVideoPort: PDD_VPORTCB_CREATEVIDEOPORT,
6051     pub FlipVideoPort: PDD_VPORTCB_FLIP,
6052     pub GetVideoPortBandwidth: PDD_VPORTCB_GETBANDWIDTH,
6053     pub GetVideoPortInputFormats: PDD_VPORTCB_GETINPUTFORMATS,
6054     pub GetVideoPortOutputFormats: PDD_VPORTCB_GETOUTPUTFORMATS,
6055     pub lpReserved1: *mut ::core::ffi::c_void,
6056     pub GetVideoPortField: PDD_VPORTCB_GETFIELD,
6057     pub GetVideoPortLine: PDD_VPORTCB_GETLINE,
6058     pub GetVideoPortConnectInfo: PDD_VPORTCB_GETVPORTCONNECT,
6059     pub DestroyVideoPort: PDD_VPORTCB_DESTROYVPORT,
6060     pub GetVideoPortFlipStatus: PDD_VPORTCB_GETFLIPSTATUS,
6061     pub UpdateVideoPort: PDD_VPORTCB_UPDATE,
6062     pub WaitForVideoPortSync: PDD_VPORTCB_WAITFORSYNC,
6063     pub GetVideoSignalStatus: PDD_VPORTCB_GETSIGNALSTATUS,
6064     pub ColorControl: PDD_VPORTCB_COLORCONTROL,
6065 }
6066 #[cfg(feature = "Win32_Foundation")]
6067 impl ::core::marker::Copy for DD_VIDEOPORTCALLBACKS {}
6068 #[cfg(feature = "Win32_Foundation")]
6069 impl ::core::clone::Clone for DD_VIDEOPORTCALLBACKS {
clone(&self) -> Self6070     fn clone(&self) -> Self {
6071         *self
6072     }
6073 }
6074 #[repr(C)]
6075 #[cfg(feature = "Win32_Foundation")]
6076 pub struct DD_VIDEOPORT_LOCAL {
6077     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
6078     pub ddvpDesc: DDVIDEOPORTDESC,
6079     pub ddvpInfo: DDVIDEOPORTINFO,
6080     pub lpSurface: *mut DD_SURFACE_INT,
6081     pub lpVBISurface: *mut DD_SURFACE_INT,
6082     pub dwNumAutoflip: u32,
6083     pub dwNumVBIAutoflip: u32,
6084     pub dwReserved1: usize,
6085     pub dwReserved2: usize,
6086     pub dwReserved3: usize,
6087 }
6088 #[cfg(feature = "Win32_Foundation")]
6089 impl ::core::marker::Copy for DD_VIDEOPORT_LOCAL {}
6090 #[cfg(feature = "Win32_Foundation")]
6091 impl ::core::clone::Clone for DD_VIDEOPORT_LOCAL {
clone(&self) -> Self6092     fn clone(&self) -> Self {
6093         *self
6094     }
6095 }
6096 #[repr(C)]
6097 #[cfg(feature = "Win32_Foundation")]
6098 pub struct DD_VPORTCOLORDATA {
6099     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
6100     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
6101     pub dwFlags: u32,
6102     pub lpColorData: *mut DDCOLORCONTROL,
6103     pub ddRVal: ::windows_sys::core::HRESULT,
6104     pub ColorControl: *mut ::core::ffi::c_void,
6105 }
6106 #[cfg(feature = "Win32_Foundation")]
6107 impl ::core::marker::Copy for DD_VPORTCOLORDATA {}
6108 #[cfg(feature = "Win32_Foundation")]
6109 impl ::core::clone::Clone for DD_VPORTCOLORDATA {
clone(&self) -> Self6110     fn clone(&self) -> Self {
6111         *self
6112     }
6113 }
6114 #[repr(C)]
6115 pub struct DD_WAITFORVERTICALBLANKDATA {
6116     pub lpDD: *mut DD_DIRECTDRAW_GLOBAL,
6117     pub dwFlags: u32,
6118     pub bIsInVB: u32,
6119     pub hEvent: usize,
6120     pub ddRVal: ::windows_sys::core::HRESULT,
6121     pub WaitForVerticalBlank: *mut ::core::ffi::c_void,
6122 }
6123 impl ::core::marker::Copy for DD_WAITFORVERTICALBLANKDATA {}
6124 impl ::core::clone::Clone for DD_WAITFORVERTICALBLANKDATA {
clone(&self) -> Self6125     fn clone(&self) -> Self {
6126         *self
6127     }
6128 }
6129 #[repr(C)]
6130 #[cfg(feature = "Win32_Foundation")]
6131 pub struct DD_WAITFORVPORTSYNCDATA {
6132     pub lpDD: *mut DD_DIRECTDRAW_LOCAL,
6133     pub lpVideoPort: *mut DD_VIDEOPORT_LOCAL,
6134     pub dwFlags: u32,
6135     pub dwLine: u32,
6136     pub dwTimeOut: u32,
6137     pub ddRVal: ::windows_sys::core::HRESULT,
6138     pub UpdateVideoPort: *mut ::core::ffi::c_void,
6139 }
6140 #[cfg(feature = "Win32_Foundation")]
6141 impl ::core::marker::Copy for DD_WAITFORVPORTSYNCDATA {}
6142 #[cfg(feature = "Win32_Foundation")]
6143 impl ::core::clone::Clone for DD_WAITFORVPORTSYNCDATA {
clone(&self) -> Self6144     fn clone(&self) -> Self {
6145         *self
6146     }
6147 }
6148 pub const DELETED_LASTONE: u32 = 1u32;
6149 pub const DELETED_NOTFOUND: u32 = 2u32;
6150 pub const DELETED_OK: u32 = 0u32;
6151 pub const DIRECTDRAW_VERSION: u32 = 1792u32;
6152 pub const DXAPI_HALVERSION: u32 = 1u32;
6153 #[repr(C)]
6154 #[cfg(feature = "Win32_Foundation")]
6155 pub struct DXAPI_INTERFACE {
6156     pub Size: u16,
6157     pub Version: u16,
6158     pub Context: *mut ::core::ffi::c_void,
6159     pub InterfaceReference: *mut ::core::ffi::c_void,
6160     pub InterfaceDereference: *mut ::core::ffi::c_void,
6161     pub DxGetIrqInfo: PDX_GETIRQINFO,
6162     pub DxEnableIrq: PDX_ENABLEIRQ,
6163     pub DxSkipNextField: PDX_SKIPNEXTFIELD,
6164     pub DxBobNextField: PDX_BOBNEXTFIELD,
6165     pub DxSetState: PDX_SETSTATE,
6166     pub DxLock: PDX_LOCK,
6167     pub DxFlipOverlay: PDX_FLIPOVERLAY,
6168     pub DxFlipVideoPort: PDX_FLIPVIDEOPORT,
6169     pub DxGetPolarity: PDX_GETPOLARITY,
6170     pub DxGetCurrentAutoflip: PDX_GETCURRENTAUTOFLIP,
6171     pub DxGetPreviousAutoflip: PDX_GETPREVIOUSAUTOFLIP,
6172     pub DxTransfer: PDX_TRANSFER,
6173     pub DxGetTransferStatus: PDX_GETTRANSFERSTATUS,
6174 }
6175 #[cfg(feature = "Win32_Foundation")]
6176 impl ::core::marker::Copy for DXAPI_INTERFACE {}
6177 #[cfg(feature = "Win32_Foundation")]
6178 impl ::core::clone::Clone for DXAPI_INTERFACE {
clone(&self) -> Self6179     fn clone(&self) -> Self {
6180         *self
6181     }
6182 }
6183 pub const DXERR_GENERIC: u32 = 2147500037u32;
6184 pub const DXERR_OUTOFCAPS: u32 = 2289434984u32;
6185 pub const DXERR_UNSUPPORTED: u32 = 2147500033u32;
6186 #[repr(C)]
6187 pub struct DX_IRQDATA {
6188     pub dwIrqFlags: u32,
6189 }
6190 impl ::core::marker::Copy for DX_IRQDATA {}
6191 impl ::core::clone::Clone for DX_IRQDATA {
clone(&self) -> Self6192     fn clone(&self) -> Self {
6193         *self
6194     }
6195 }
6196 pub const DX_OK: u32 = 0u32;
6197 pub const GUID_ColorControlCallbacks: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4023782594, data2: 18919, data3: 4560, data4: [136, 157, 0, 170, 0, 187, 183, 106] };
6198 pub const GUID_D3DCallbacks: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2079353232, data2: 34708, data3: 4560, data4: [145, 57, 8, 0, 54, 210, 239, 2] };
6199 pub const GUID_D3DCallbacks2: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 195396833, data2: 28854, data3: 4560, data4: [136, 157, 0, 170, 0, 187, 183, 106] };
6200 pub const GUID_D3DCallbacks3: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3723760176, data2: 60426, data3: 4560, data4: [169, 182, 0, 170, 0, 192, 153, 62] };
6201 pub const GUID_D3DCaps: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2079353233, data2: 34708, data3: 4560, data4: [145, 57, 8, 0, 54, 210, 239, 2] };
6202 pub const GUID_D3DExtendedCaps: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2112102272, data2: 40339, data3: 4560, data4: [137, 171, 0, 160, 201, 5, 65, 41] };
6203 pub const GUID_D3DParseUnknownCommandCallback: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 772079520, data2: 39140, data3: 4561, data4: [140, 225, 0, 160, 201, 6, 41, 168] };
6204 pub const GUID_DDMoreCaps: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2282467120, data2: 45104, data3: 4560, data4: [142, 167, 0, 96, 151, 151, 234, 91] };
6205 pub const GUID_DDMoreSurfaceCaps: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 998900838, data2: 62057, data3: 4561, data4: [136, 11, 0, 192, 79, 217, 48, 197] };
6206 pub const GUID_DDStereoMode: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
6207     data1: 4163376796,
6208     data2: 43240,
6209     data3: 4562,
6210     data4: [161, 242, 0, 160, 201, 131, 234, 246],
6211 };
6212 pub const GUID_DxApi: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2323234544, data2: 47381, data3: 4560, data4: [145, 68, 8, 0, 54, 210, 239, 2] };
6213 pub const GUID_GetHeapAlignment: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
6214     data1: 1121988374,
6215     data2: 31553,
6216     data3: 4562,
6217     data4: [139, 255, 0, 160, 201, 131, 234, 246],
6218 };
6219 pub const GUID_KernelCallbacks: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2156279808, data2: 27398, data3: 4560, data4: [155, 6, 0, 160, 201, 3, 163, 184] };
6220 pub const GUID_KernelCaps: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4289361216, data2: 31400, data3: 4560, data4: [155, 6, 0, 160, 201, 3, 163, 184] };
6221 pub const GUID_Miscellaneous2Callbacks: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1080766208, data2: 15962, data3: 4561, data4: [182, 64, 0, 170, 0, 161, 249, 106] };
6222 pub const GUID_MiscellaneousCallbacks: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4023782592, data2: 18919, data3: 4560, data4: [136, 157, 0, 170, 0, 187, 183, 106] };
6223 pub const GUID_MotionCompCallbacks: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2970757952, data2: 23973, data3: 4561, data4: [143, 207, 0, 192, 79, 194, 155, 78] };
6224 pub const GUID_NTCallbacks: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1877601502, data2: 57225, data3: 4561, data4: [157, 176, 0, 96, 8, 39, 113, 186] };
6225 pub const GUID_NTPrivateDriverCaps: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4208028195, data2: 31590, data3: 4562, data4: [131, 215, 0, 192, 79, 124, 229, 140] };
6226 pub const GUID_NonLocalVidMemCaps: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2261056128, data2: 36228, data3: 4560, data4: [148, 232, 0, 192, 79, 195, 65, 55] };
6227 pub const GUID_OptSurfaceKmodeInfo: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3764159602, data2: 20948, data3: 4561, data4: [140, 206, 0, 160, 201, 6, 41, 168] };
6228 pub const GUID_OptSurfaceUmodeInfo: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2641963012, data2: 24488, data3: 4561, data4: [140, 208, 0, 160, 201, 6, 41, 168] };
6229 pub const GUID_UpdateNonLocalHeap: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
6230     data1: 1121988375,
6231     data2: 31553,
6232     data3: 4562,
6233     data4: [139, 255, 0, 160, 201, 131, 234, 246],
6234 };
6235 pub const GUID_UserModeDriverInfo: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4038125794, data2: 24471, data3: 4561, data4: [140, 208, 0, 160, 201, 6, 41, 168] };
6236 pub const GUID_UserModeDriverPassword: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2549637558, data2: 24737, data3: 4561, data4: [140, 208, 0, 160, 201, 6, 41, 168] };
6237 pub const GUID_VPE2Callbacks: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1384653127, data2: 11591, data3: 18074, data4: [160, 209, 3, 69, 88, 144, 246, 200] };
6238 pub const GUID_VideoPortCallbacks: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4023782593, data2: 18919, data3: 4560, data4: [136, 157, 0, 170, 0, 187, 183, 106] };
6239 pub const GUID_VideoPortCaps: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4023782595, data2: 18919, data3: 4560, data4: [136, 157, 0, 170, 0, 187, 183, 106] };
6240 pub const GUID_ZPixelFormats: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2475071616, data2: 14031, data3: 4561, data4: [155, 27, 0, 170, 0, 187, 184, 174] };
6241 #[repr(C)]
6242 pub struct HEAPALIAS {
6243     pub fpVidMem: usize,
6244     pub lpAlias: *mut ::core::ffi::c_void,
6245     pub dwAliasSize: u32,
6246 }
6247 impl ::core::marker::Copy for HEAPALIAS {}
6248 impl ::core::clone::Clone for HEAPALIAS {
clone(&self) -> Self6249     fn clone(&self) -> Self {
6250         *self
6251     }
6252 }
6253 #[repr(C)]
6254 pub struct HEAPALIASINFO {
6255     pub dwRefCnt: u32,
6256     pub dwFlags: u32,
6257     pub dwNumHeaps: u32,
6258     pub lpAliases: *mut HEAPALIAS,
6259 }
6260 impl ::core::marker::Copy for HEAPALIASINFO {}
6261 impl ::core::clone::Clone for HEAPALIASINFO {
clone(&self) -> Self6262     fn clone(&self) -> Self {
6263         *self
6264     }
6265 }
6266 pub const HEAPALIASINFO_MAPPEDDUMMY: i32 = 2i32;
6267 pub const HEAPALIASINFO_MAPPEDREAL: i32 = 1i32;
6268 #[repr(C)]
6269 pub struct HEAPALIGNMENT {
6270     pub dwSize: u32,
6271     pub ddsCaps: DDSCAPS,
6272     pub dwReserved: u32,
6273     pub ExecuteBuffer: SURFACEALIGNMENT,
6274     pub Overlay: SURFACEALIGNMENT,
6275     pub Texture: SURFACEALIGNMENT,
6276     pub ZBuffer: SURFACEALIGNMENT,
6277     pub AlphaBuffer: SURFACEALIGNMENT,
6278     pub Offscreen: SURFACEALIGNMENT,
6279     pub FlipTarget: SURFACEALIGNMENT,
6280 }
6281 impl ::core::marker::Copy for HEAPALIGNMENT {}
6282 impl ::core::clone::Clone for HEAPALIGNMENT {
clone(&self) -> Self6283     fn clone(&self) -> Self {
6284         *self
6285     }
6286 }
6287 pub type IDDVideoPortContainer = *mut ::core::ffi::c_void;
6288 #[repr(C)]
6289 pub struct IDDVideoPortContainerVtbl(pub u8);
6290 pub type IDirectDraw = *mut ::core::ffi::c_void;
6291 pub type IDirectDraw2 = *mut ::core::ffi::c_void;
6292 #[repr(C)]
6293 pub struct IDirectDraw2Vtbl(pub u8);
6294 pub type IDirectDraw4 = *mut ::core::ffi::c_void;
6295 #[repr(C)]
6296 pub struct IDirectDraw4Vtbl(pub u8);
6297 pub type IDirectDraw7 = *mut ::core::ffi::c_void;
6298 #[repr(C)]
6299 pub struct IDirectDraw7Vtbl(pub u8);
6300 pub type IDirectDrawClipper = *mut ::core::ffi::c_void;
6301 #[repr(C)]
6302 pub struct IDirectDrawClipperVtbl(pub u8);
6303 pub type IDirectDrawColorControl = *mut ::core::ffi::c_void;
6304 #[repr(C)]
6305 pub struct IDirectDrawColorControlVtbl(pub u8);
6306 pub type IDirectDrawGammaControl = *mut ::core::ffi::c_void;
6307 #[repr(C)]
6308 pub struct IDirectDrawGammaControlVtbl(pub u8);
6309 pub type IDirectDrawKernel = *mut ::core::ffi::c_void;
6310 #[repr(C)]
6311 pub struct IDirectDrawKernelVtbl(pub u8);
6312 pub type IDirectDrawPalette = *mut ::core::ffi::c_void;
6313 #[repr(C)]
6314 pub struct IDirectDrawPaletteVtbl(pub u8);
6315 pub type IDirectDrawSurface = *mut ::core::ffi::c_void;
6316 pub type IDirectDrawSurface2 = *mut ::core::ffi::c_void;
6317 #[repr(C)]
6318 pub struct IDirectDrawSurface2Vtbl(pub u8);
6319 pub type IDirectDrawSurface3 = *mut ::core::ffi::c_void;
6320 #[repr(C)]
6321 pub struct IDirectDrawSurface3Vtbl(pub u8);
6322 pub type IDirectDrawSurface4 = *mut ::core::ffi::c_void;
6323 #[repr(C)]
6324 pub struct IDirectDrawSurface4Vtbl(pub u8);
6325 pub type IDirectDrawSurface7 = *mut ::core::ffi::c_void;
6326 #[repr(C)]
6327 pub struct IDirectDrawSurface7Vtbl(pub u8);
6328 pub type IDirectDrawSurfaceKernel = *mut ::core::ffi::c_void;
6329 #[repr(C)]
6330 pub struct IDirectDrawSurfaceKernelVtbl(pub u8);
6331 #[repr(C)]
6332 pub struct IDirectDrawSurfaceVtbl(pub u8);
6333 pub type IDirectDrawVideoPort = *mut ::core::ffi::c_void;
6334 pub type IDirectDrawVideoPortNotify = *mut ::core::ffi::c_void;
6335 #[repr(C)]
6336 pub struct IDirectDrawVideoPortNotifyVtbl(pub u8);
6337 #[repr(C)]
6338 pub struct IDirectDrawVideoPortVtbl(pub u8);
6339 #[repr(C)]
6340 pub struct IDirectDrawVtbl(pub u8);
6341 pub const IRQINFO_HANDLED: u32 = 1u32;
6342 pub const IRQINFO_NOTHANDLED: u32 = 2u32;
6343 #[repr(C)]
6344 pub struct IUNKNOWN_LIST {
6345     pub lpLink: *mut IUNKNOWN_LIST,
6346     pub lpGuid: *mut ::windows_sys::core::GUID,
6347     pub lpIUnknown: ::windows_sys::core::IUnknown,
6348 }
6349 impl ::core::marker::Copy for IUNKNOWN_LIST {}
6350 impl ::core::clone::Clone for IUNKNOWN_LIST {
clone(&self) -> Self6351     fn clone(&self) -> Self {
6352         *self
6353     }
6354 }
6355 #[cfg(feature = "Win32_Foundation")]
6356 pub type LPCLIPPERCALLBACK = unsafe extern "system" fn(lpddclipper: IDirectDrawClipper, hwnd: super::super::Foundation::HWND, code: u32, lpcontext: *mut ::core::ffi::c_void) -> u32;
6357 pub type LPDD32BITDRIVERINIT = unsafe extern "system" fn(dwcontext: u32) -> u32;
6358 #[cfg(feature = "Win32_Foundation")]
6359 pub type LPDDENUMCALLBACKA = unsafe extern "system" fn(param0: *mut ::windows_sys::core::GUID, param1: super::super::Foundation::PSTR, param2: super::super::Foundation::PSTR, param3: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
6360 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6361 pub type LPDDENUMCALLBACKEXA = unsafe extern "system" fn(param0: *mut ::windows_sys::core::GUID, param1: super::super::Foundation::PSTR, param2: super::super::Foundation::PSTR, param3: *mut ::core::ffi::c_void, param4: super::Gdi::HMONITOR) -> super::super::Foundation::BOOL;
6362 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6363 pub type LPDDENUMCALLBACKEXW = unsafe extern "system" fn(param0: *mut ::windows_sys::core::GUID, param1: super::super::Foundation::PWSTR, param2: super::super::Foundation::PWSTR, param3: *mut ::core::ffi::c_void, param4: super::Gdi::HMONITOR) -> super::super::Foundation::BOOL;
6364 #[cfg(feature = "Win32_Foundation")]
6365 pub type LPDDENUMCALLBACKW = unsafe extern "system" fn(param0: *mut ::windows_sys::core::GUID, param1: super::super::Foundation::PWSTR, param2: super::super::Foundation::PWSTR, param3: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
6366 pub type LPDDENUMMODESCALLBACK = unsafe extern "system" fn(param0: *mut DDSURFACEDESC, param1: *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
6367 pub type LPDDENUMMODESCALLBACK2 = unsafe extern "system" fn(param0: *mut DDSURFACEDESC2, param1: *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
6368 pub type LPDDENUMSURFACESCALLBACK = unsafe extern "system" fn(param0: IDirectDrawSurface, param1: *mut DDSURFACEDESC, param2: *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
6369 pub type LPDDENUMSURFACESCALLBACK2 = unsafe extern "system" fn(param0: IDirectDrawSurface4, param1: *mut DDSURFACEDESC2, param2: *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
6370 pub type LPDDENUMSURFACESCALLBACK7 = unsafe extern "system" fn(param0: IDirectDrawSurface7, param1: *mut DDSURFACEDESC2, param2: *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
6371 pub type LPDDENUMVIDEOCALLBACK = unsafe extern "system" fn(param0: *mut DDVIDEOPORTCAPS, param1: *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
6372 pub type LPDDGAMMACALIBRATORPROC = unsafe extern "system" fn(param0: *mut DDGAMMARAMP, param1: *mut u8) -> ::windows_sys::core::HRESULT;
6373 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6374 pub type LPDDHALCOLORCB_COLORCONTROL = unsafe extern "system" fn(param0: *mut DDHAL_COLORCONTROLDATA) -> u32;
6375 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6376 pub type LPDDHALEXEBUFCB_CANCREATEEXEBUF = unsafe extern "system" fn(param0: *mut DDHAL_CANCREATESURFACEDATA) -> u32;
6377 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6378 pub type LPDDHALEXEBUFCB_CREATEEXEBUF = unsafe extern "system" fn(param0: *mut DDHAL_CREATESURFACEDATA) -> u32;
6379 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6380 pub type LPDDHALEXEBUFCB_DESTROYEXEBUF = unsafe extern "system" fn(param0: *mut DDHAL_DESTROYSURFACEDATA) -> u32;
6381 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6382 pub type LPDDHALEXEBUFCB_LOCKEXEBUF = unsafe extern "system" fn(param0: *mut DDHAL_LOCKDATA) -> u32;
6383 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6384 pub type LPDDHALEXEBUFCB_UNLOCKEXEBUF = unsafe extern "system" fn(param0: *mut DDHAL_UNLOCKDATA) -> u32;
6385 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6386 pub type LPDDHALKERNELCB_SYNCSURFACE = unsafe extern "system" fn(param0: *mut DDHAL_SYNCSURFACEDATA) -> u32;
6387 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6388 pub type LPDDHALKERNELCB_SYNCVIDEOPORT = unsafe extern "system" fn(param0: *mut DDHAL_SYNCVIDEOPORTDATA) -> u32;
6389 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6390 pub type LPDDHALMOCOMPCB_BEGINFRAME = unsafe extern "system" fn(param0: *mut DDHAL_BEGINMOCOMPFRAMEDATA) -> u32;
6391 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6392 pub type LPDDHALMOCOMPCB_CREATE = unsafe extern "system" fn(param0: *mut DDHAL_CREATEMOCOMPDATA) -> u32;
6393 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6394 pub type LPDDHALMOCOMPCB_DESTROY = unsafe extern "system" fn(param0: *mut DDHAL_DESTROYMOCOMPDATA) -> u32;
6395 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6396 pub type LPDDHALMOCOMPCB_ENDFRAME = unsafe extern "system" fn(param0: *mut DDHAL_ENDMOCOMPFRAMEDATA) -> u32;
6397 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6398 pub type LPDDHALMOCOMPCB_GETCOMPBUFFINFO = unsafe extern "system" fn(param0: *mut DDHAL_GETMOCOMPCOMPBUFFDATA) -> u32;
6399 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6400 pub type LPDDHALMOCOMPCB_GETFORMATS = unsafe extern "system" fn(param0: *mut DDHAL_GETMOCOMPFORMATSDATA) -> u32;
6401 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6402 pub type LPDDHALMOCOMPCB_GETGUIDS = unsafe extern "system" fn(param0: *mut DDHAL_GETMOCOMPGUIDSDATA) -> u32;
6403 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6404 pub type LPDDHALMOCOMPCB_GETINTERNALINFO = unsafe extern "system" fn(param0: *mut DDHAL_GETINTERNALMOCOMPDATA) -> u32;
6405 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6406 pub type LPDDHALMOCOMPCB_QUERYSTATUS = unsafe extern "system" fn(param0: *mut DDHAL_QUERYMOCOMPSTATUSDATA) -> u32;
6407 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6408 pub type LPDDHALMOCOMPCB_RENDER = unsafe extern "system" fn(param0: *mut DDHAL_RENDERMOCOMPDATA) -> u32;
6409 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6410 pub type LPDDHALPALCB_DESTROYPALETTE = unsafe extern "system" fn(param0: *mut DDHAL_DESTROYPALETTEDATA) -> u32;
6411 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6412 pub type LPDDHALPALCB_SETENTRIES = unsafe extern "system" fn(param0: *mut DDHAL_SETENTRIESDATA) -> u32;
6413 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6414 pub type LPDDHALSURFCB_ADDATTACHEDSURFACE = unsafe extern "system" fn(param0: *mut DDHAL_ADDATTACHEDSURFACEDATA) -> u32;
6415 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6416 pub type LPDDHALSURFCB_BLT = unsafe extern "system" fn(param0: *mut DDHAL_BLTDATA) -> u32;
6417 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6418 pub type LPDDHALSURFCB_DESTROYSURFACE = unsafe extern "system" fn(param0: *mut DDHAL_DESTROYSURFACEDATA) -> u32;
6419 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6420 pub type LPDDHALSURFCB_FLIP = unsafe extern "system" fn(param0: *mut DDHAL_FLIPDATA) -> u32;
6421 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6422 pub type LPDDHALSURFCB_GETBLTSTATUS = unsafe extern "system" fn(param0: *mut DDHAL_GETBLTSTATUSDATA) -> u32;
6423 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6424 pub type LPDDHALSURFCB_GETFLIPSTATUS = unsafe extern "system" fn(param0: *mut DDHAL_GETFLIPSTATUSDATA) -> u32;
6425 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6426 pub type LPDDHALSURFCB_LOCK = unsafe extern "system" fn(param0: *mut DDHAL_LOCKDATA) -> u32;
6427 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6428 pub type LPDDHALSURFCB_SETCLIPLIST = unsafe extern "system" fn(param0: *mut DDHAL_SETCLIPLISTDATA) -> u32;
6429 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6430 pub type LPDDHALSURFCB_SETCOLORKEY = unsafe extern "system" fn(param0: *mut DDHAL_SETCOLORKEYDATA) -> u32;
6431 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6432 pub type LPDDHALSURFCB_SETOVERLAYPOSITION = unsafe extern "system" fn(param0: *mut DDHAL_SETOVERLAYPOSITIONDATA) -> u32;
6433 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6434 pub type LPDDHALSURFCB_SETPALETTE = unsafe extern "system" fn(param0: *mut DDHAL_SETPALETTEDATA) -> u32;
6435 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6436 pub type LPDDHALSURFCB_UNLOCK = unsafe extern "system" fn(param0: *mut DDHAL_UNLOCKDATA) -> u32;
6437 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6438 pub type LPDDHALSURFCB_UPDATEOVERLAY = unsafe extern "system" fn(param0: *mut DDHAL_UPDATEOVERLAYDATA) -> u32;
6439 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6440 pub type LPDDHALVPORTCB_CANCREATEVIDEOPORT = unsafe extern "system" fn(param0: *mut DDHAL_CANCREATEVPORTDATA) -> u32;
6441 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6442 pub type LPDDHALVPORTCB_COLORCONTROL = unsafe extern "system" fn(param0: *mut DDHAL_VPORTCOLORDATA) -> u32;
6443 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6444 pub type LPDDHALVPORTCB_CREATEVIDEOPORT = unsafe extern "system" fn(param0: *mut DDHAL_CREATEVPORTDATA) -> u32;
6445 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6446 pub type LPDDHALVPORTCB_DESTROYVPORT = unsafe extern "system" fn(param0: *mut DDHAL_DESTROYVPORTDATA) -> u32;
6447 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6448 pub type LPDDHALVPORTCB_FLIP = unsafe extern "system" fn(param0: *mut DDHAL_FLIPVPORTDATA) -> u32;
6449 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6450 pub type LPDDHALVPORTCB_GETBANDWIDTH = unsafe extern "system" fn(param0: *mut DDHAL_GETVPORTBANDWIDTHDATA) -> u32;
6451 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6452 pub type LPDDHALVPORTCB_GETFIELD = unsafe extern "system" fn(param0: *mut DDHAL_GETVPORTFIELDDATA) -> u32;
6453 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6454 pub type LPDDHALVPORTCB_GETFLIPSTATUS = unsafe extern "system" fn(param0: *mut DDHAL_GETVPORTFLIPSTATUSDATA) -> u32;
6455 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6456 pub type LPDDHALVPORTCB_GETINPUTFORMATS = unsafe extern "system" fn(param0: *mut DDHAL_GETVPORTINPUTFORMATDATA) -> u32;
6457 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6458 pub type LPDDHALVPORTCB_GETLINE = unsafe extern "system" fn(param0: *mut DDHAL_GETVPORTLINEDATA) -> u32;
6459 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6460 pub type LPDDHALVPORTCB_GETOUTPUTFORMATS = unsafe extern "system" fn(param0: *mut DDHAL_GETVPORTOUTPUTFORMATDATA) -> u32;
6461 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6462 pub type LPDDHALVPORTCB_GETSIGNALSTATUS = unsafe extern "system" fn(param0: *mut DDHAL_GETVPORTSIGNALDATA) -> u32;
6463 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6464 pub type LPDDHALVPORTCB_GETVPORTCONNECT = unsafe extern "system" fn(param0: *mut DDHAL_GETVPORTCONNECTDATA) -> u32;
6465 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6466 pub type LPDDHALVPORTCB_UPDATE = unsafe extern "system" fn(param0: *mut DDHAL_UPDATEVPORTDATA) -> u32;
6467 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6468 pub type LPDDHALVPORTCB_WAITFORSYNC = unsafe extern "system" fn(param0: *mut DDHAL_WAITFORVPORTSYNCDATA) -> u32;
6469 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6470 pub type LPDDHAL_CANCREATESURFACE = unsafe extern "system" fn(param0: *mut DDHAL_CANCREATESURFACEDATA) -> u32;
6471 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6472 pub type LPDDHAL_CREATEPALETTE = unsafe extern "system" fn(param0: *mut DDHAL_CREATEPALETTEDATA) -> u32;
6473 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6474 pub type LPDDHAL_CREATESURFACE = unsafe extern "system" fn(param0: *mut DDHAL_CREATESURFACEDATA) -> u32;
6475 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6476 pub type LPDDHAL_CREATESURFACEEX = unsafe extern "system" fn(param0: *mut DDHAL_CREATESURFACEEXDATA) -> u32;
6477 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6478 pub type LPDDHAL_DESTROYDDLOCAL = unsafe extern "system" fn(param0: *mut DDHAL_DESTROYDDLOCALDATA) -> u32;
6479 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6480 pub type LPDDHAL_DESTROYDRIVER = unsafe extern "system" fn(param0: *mut DDHAL_DESTROYDRIVERDATA) -> u32;
6481 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6482 pub type LPDDHAL_FLIPTOGDISURFACE = unsafe extern "system" fn(param0: *mut DDHAL_FLIPTOGDISURFACEDATA) -> u32;
6483 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6484 pub type LPDDHAL_GETAVAILDRIVERMEMORY = unsafe extern "system" fn(param0: *mut DDHAL_GETAVAILDRIVERMEMORYDATA) -> u32;
6485 pub type LPDDHAL_GETDRIVERINFO = unsafe extern "system" fn(param0: *mut DDHAL_GETDRIVERINFODATA) -> u32;
6486 pub type LPDDHAL_GETDRIVERSTATE = unsafe extern "system" fn(param0: *mut DDHAL_GETDRIVERSTATEDATA) -> u32;
6487 pub type LPDDHAL_GETHEAPALIGNMENT = unsafe extern "system" fn(param0: *mut DDHAL_GETHEAPALIGNMENTDATA) -> u32;
6488 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6489 pub type LPDDHAL_GETSCANLINE = unsafe extern "system" fn(param0: *mut DDHAL_GETSCANLINEDATA) -> u32;
6490 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6491 pub type LPDDHAL_SETCOLORKEY = unsafe extern "system" fn(param0: *mut DDHAL_DRVSETCOLORKEYDATA) -> u32;
6492 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6493 pub type LPDDHAL_SETEXCLUSIVEMODE = unsafe extern "system" fn(param0: *mut DDHAL_SETEXCLUSIVEMODEDATA) -> u32;
6494 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6495 pub type LPDDHAL_SETINFO = unsafe extern "system" fn(lpddhalinfo: *mut DDHALINFO, reset: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
6496 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6497 pub type LPDDHAL_SETMODE = unsafe extern "system" fn(param0: *mut DDHAL_SETMODEDATA) -> u32;
6498 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6499 pub type LPDDHAL_UPDATENONLOCALHEAP = unsafe extern "system" fn(param0: *mut DDHAL_UPDATENONLOCALHEAPDATA) -> u32;
6500 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6501 pub type LPDDHAL_VIDMEMALLOC = unsafe extern "system" fn(lpdd: *mut DDRAWI_DIRECTDRAW_GBL, heap: i32, dwwidth: u32, dwheight: u32) -> usize;
6502 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6503 pub type LPDDHAL_VIDMEMFREE = unsafe extern "system" fn(lpdd: *mut DDRAWI_DIRECTDRAW_GBL, heap: i32, fpmem: usize);
6504 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6505 pub type LPDDHAL_WAITFORVERTICALBLANK = unsafe extern "system" fn(param0: *mut DDHAL_WAITFORVERTICALBLANKDATA) -> u32;
6506 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6507 pub type LPDDHEL_INIT = unsafe extern "system" fn(param0: *mut DDRAWI_DIRECTDRAW_GBL, param1: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
6508 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6509 pub type LPDIRECTDRAWENUMERATEEXA = unsafe extern "system" fn(lpcallback: ::core::option::Option<LPDDENUMCALLBACKEXA>, lpcontext: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows_sys::core::HRESULT;
6510 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6511 pub type LPDIRECTDRAWENUMERATEEXW = unsafe extern "system" fn(lpcallback: ::core::option::Option<LPDDENUMCALLBACKEXW>, lpcontext: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows_sys::core::HRESULT;
6512 pub const MAX_AUTOFLIP_BUFFERS: u32 = 10u32;
6513 pub const MAX_DDDEVICEID_STRING: u32 = 512u32;
6514 pub const MAX_DRIVER_NAME: u32 = 32u32;
6515 pub const MAX_PALETTE_SIZE: u32 = 256u32;
6516 #[repr(C)]
6517 pub struct MDL {
6518     pub MdlNext: *mut MDL,
6519     pub MdlSize: i16,
6520     pub MdlFlags: i16,
6521     pub Process: *mut MDL_0,
6522     pub lpMappedSystemVa: *mut u32,
6523     pub lpStartVa: *mut u32,
6524     pub ByteCount: u32,
6525     pub ByteOffset: u32,
6526 }
6527 impl ::core::marker::Copy for MDL {}
6528 impl ::core::clone::Clone for MDL {
clone(&self) -> Self6529     fn clone(&self) -> Self {
6530         *self
6531     }
6532 }
6533 #[repr(C)]
6534 pub struct MDL_0(pub u8);
6535 pub const MDL_64_BIT_VA: u32 = 32768u32;
6536 pub const MDL_ALLOCATED_FIXED_SIZE: u32 = 8u32;
6537 pub const MDL_ALLOCATED_MUST_SUCCEED: u32 = 16384u32;
6538 pub const MDL_IO_PAGE_READ: u32 = 64u32;
6539 pub const MDL_IO_SPACE: u32 = 2048u32;
6540 pub const MDL_LOCK_HELD: u32 = 512u32;
6541 pub const MDL_MAPPED_TO_SYSTEM_VA: u32 = 1u32;
6542 pub const MDL_MAPPING_CAN_FAIL: u32 = 8192u32;
6543 pub const MDL_NETWORK_HEADER: u32 = 4096u32;
6544 pub const MDL_PAGES_LOCKED: u32 = 2u32;
6545 pub const MDL_PARENT_MAPPED_SYSTEM_VA: u32 = 256u32;
6546 pub const MDL_PARTIAL: u32 = 16u32;
6547 pub const MDL_PARTIAL_HAS_BEEN_MAPPED: u32 = 32u32;
6548 pub const MDL_SCATTER_GATHER_VA: u32 = 1024u32;
6549 pub const MDL_SOURCE_IS_NONPAGED_POOL: u32 = 4u32;
6550 pub const MDL_WRITE_OPERATION: u32 = 128u32;
6551 pub const OBJECT_ISROOT: i32 = -2147483648i32;
6552 #[cfg(feature = "Win32_Foundation")]
6553 pub type PDD_ALPHABLT = unsafe extern "system" fn(param0: *mut DD_BLTDATA) -> u32;
6554 pub type PDD_CANCREATESURFACE = unsafe extern "system" fn(param0: *mut DD_CANCREATESURFACEDATA) -> u32;
6555 #[cfg(feature = "Win32_Foundation")]
6556 pub type PDD_COLORCB_COLORCONTROL = unsafe extern "system" fn(param0: *mut DD_COLORCONTROLDATA) -> u32;
6557 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
6558 pub type PDD_CREATEPALETTE = unsafe extern "system" fn(param0: *mut DD_CREATEPALETTEDATA) -> u32;
6559 #[cfg(feature = "Win32_Foundation")]
6560 pub type PDD_CREATESURFACE = unsafe extern "system" fn(param0: *mut DD_CREATESURFACEDATA) -> u32;
6561 #[cfg(feature = "Win32_Foundation")]
6562 pub type PDD_CREATESURFACEEX = unsafe extern "system" fn(param0: *mut DD_CREATESURFACEEXDATA) -> u32;
6563 pub type PDD_DESTROYDDLOCAL = unsafe extern "system" fn(param0: *mut DD_DESTROYDDLOCALDATA) -> u32;
6564 pub type PDD_DESTROYDRIVER = unsafe extern "system" fn(param0: *mut _DD_DESTROYDRIVERDATA) -> u32;
6565 pub type PDD_FLIPTOGDISURFACE = unsafe extern "system" fn(param0: *mut DD_FLIPTOGDISURFACEDATA) -> u32;
6566 #[cfg(feature = "Win32_Foundation")]
6567 pub type PDD_FREEDRIVERMEMORY = unsafe extern "system" fn(param0: *mut DD_FREEDRIVERMEMORYDATA) -> u32;
6568 pub type PDD_GETAVAILDRIVERMEMORY = unsafe extern "system" fn(param0: *mut DD_GETAVAILDRIVERMEMORYDATA) -> u32;
6569 pub type PDD_GETDRIVERINFO = unsafe extern "system" fn(param0: *mut DD_GETDRIVERINFODATA) -> u32;
6570 pub type PDD_GETDRIVERSTATE = unsafe extern "system" fn(param0: *mut DD_GETDRIVERSTATEDATA) -> u32;
6571 pub type PDD_GETSCANLINE = unsafe extern "system" fn(param0: *mut DD_GETSCANLINEDATA) -> u32;
6572 #[cfg(feature = "Win32_Foundation")]
6573 pub type PDD_KERNELCB_SYNCSURFACE = unsafe extern "system" fn(param0: *mut DD_SYNCSURFACEDATA) -> u32;
6574 #[cfg(feature = "Win32_Foundation")]
6575 pub type PDD_KERNELCB_SYNCVIDEOPORT = unsafe extern "system" fn(param0: *mut DD_SYNCVIDEOPORTDATA) -> u32;
6576 #[cfg(feature = "Win32_Foundation")]
6577 pub type PDD_MAPMEMORY = unsafe extern "system" fn(param0: *mut DD_MAPMEMORYDATA) -> u32;
6578 #[cfg(feature = "Win32_Foundation")]
6579 pub type PDD_MOCOMPCB_BEGINFRAME = unsafe extern "system" fn(param0: *mut DD_BEGINMOCOMPFRAMEDATA) -> u32;
6580 pub type PDD_MOCOMPCB_CREATE = unsafe extern "system" fn(param0: *mut DD_CREATEMOCOMPDATA) -> u32;
6581 pub type PDD_MOCOMPCB_DESTROY = unsafe extern "system" fn(param0: *mut DD_DESTROYMOCOMPDATA) -> u32;
6582 pub type PDD_MOCOMPCB_ENDFRAME = unsafe extern "system" fn(param0: *mut DD_ENDMOCOMPFRAMEDATA) -> u32;
6583 pub type PDD_MOCOMPCB_GETCOMPBUFFINFO = unsafe extern "system" fn(param0: *mut DD_GETMOCOMPCOMPBUFFDATA) -> u32;
6584 pub type PDD_MOCOMPCB_GETFORMATS = unsafe extern "system" fn(param0: *mut DD_GETMOCOMPFORMATSDATA) -> u32;
6585 pub type PDD_MOCOMPCB_GETGUIDS = unsafe extern "system" fn(param0: *mut DD_GETMOCOMPGUIDSDATA) -> u32;
6586 pub type PDD_MOCOMPCB_GETINTERNALINFO = unsafe extern "system" fn(param0: *mut DD_GETINTERNALMOCOMPDATA) -> u32;
6587 #[cfg(feature = "Win32_Foundation")]
6588 pub type PDD_MOCOMPCB_QUERYSTATUS = unsafe extern "system" fn(param0: *mut DD_QUERYMOCOMPSTATUSDATA) -> u32;
6589 #[cfg(feature = "Win32_Foundation")]
6590 pub type PDD_MOCOMPCB_RENDER = unsafe extern "system" fn(param0: *mut DD_RENDERMOCOMPDATA) -> u32;
6591 pub type PDD_PALCB_DESTROYPALETTE = unsafe extern "system" fn(param0: *mut DD_DESTROYPALETTEDATA) -> u32;
6592 #[cfg(feature = "Win32_Graphics_Gdi")]
6593 pub type PDD_PALCB_SETENTRIES = unsafe extern "system" fn(param0: *mut DD_SETENTRIESDATA) -> u32;
6594 #[cfg(feature = "Win32_Foundation")]
6595 pub type PDD_SETCOLORKEY = unsafe extern "system" fn(param0: *mut DD_DRVSETCOLORKEYDATA) -> u32;
6596 pub type PDD_SETEXCLUSIVEMODE = unsafe extern "system" fn(param0: *mut DD_SETEXCLUSIVEMODEDATA) -> u32;
6597 pub type PDD_SETMODE = unsafe extern "system" fn(param0: *mut _DD_SETMODEDATA) -> u32;
6598 #[cfg(feature = "Win32_Foundation")]
6599 pub type PDD_SURFCB_ADDATTACHEDSURFACE = unsafe extern "system" fn(param0: *mut DD_ADDATTACHEDSURFACEDATA) -> u32;
6600 #[cfg(feature = "Win32_Foundation")]
6601 pub type PDD_SURFCB_BLT = unsafe extern "system" fn(param0: *mut DD_BLTDATA) -> u32;
6602 #[cfg(feature = "Win32_Foundation")]
6603 pub type PDD_SURFCB_DESTROYSURFACE = unsafe extern "system" fn(param0: *mut DD_DESTROYSURFACEDATA) -> u32;
6604 #[cfg(feature = "Win32_Foundation")]
6605 pub type PDD_SURFCB_FLIP = unsafe extern "system" fn(param0: *mut DD_FLIPDATA) -> u32;
6606 #[cfg(feature = "Win32_Foundation")]
6607 pub type PDD_SURFCB_GETBLTSTATUS = unsafe extern "system" fn(param0: *mut DD_GETBLTSTATUSDATA) -> u32;
6608 #[cfg(feature = "Win32_Foundation")]
6609 pub type PDD_SURFCB_GETFLIPSTATUS = unsafe extern "system" fn(param0: *mut DD_GETFLIPSTATUSDATA) -> u32;
6610 #[cfg(feature = "Win32_Foundation")]
6611 pub type PDD_SURFCB_LOCK = unsafe extern "system" fn(param0: *mut DD_LOCKDATA) -> u32;
6612 #[cfg(feature = "Win32_Foundation")]
6613 pub type PDD_SURFCB_SETCLIPLIST = unsafe extern "system" fn(param0: *mut DD_SETCLIPLISTDATA) -> u32;
6614 #[cfg(feature = "Win32_Foundation")]
6615 pub type PDD_SURFCB_SETCOLORKEY = unsafe extern "system" fn(param0: *mut DD_SETCOLORKEYDATA) -> u32;
6616 #[cfg(feature = "Win32_Foundation")]
6617 pub type PDD_SURFCB_SETOVERLAYPOSITION = unsafe extern "system" fn(param0: *mut DD_SETOVERLAYPOSITIONDATA) -> u32;
6618 #[cfg(feature = "Win32_Foundation")]
6619 pub type PDD_SURFCB_SETPALETTE = unsafe extern "system" fn(param0: *mut DD_SETPALETTEDATA) -> u32;
6620 #[cfg(feature = "Win32_Foundation")]
6621 pub type PDD_SURFCB_UNLOCK = unsafe extern "system" fn(param0: *mut DD_UNLOCKDATA) -> u32;
6622 #[cfg(feature = "Win32_Foundation")]
6623 pub type PDD_SURFCB_UPDATEOVERLAY = unsafe extern "system" fn(param0: *mut DD_UPDATEOVERLAYDATA) -> u32;
6624 pub type PDD_VPORTCB_CANCREATEVIDEOPORT = unsafe extern "system" fn(param0: *mut DD_CANCREATEVPORTDATA) -> u32;
6625 #[cfg(feature = "Win32_Foundation")]
6626 pub type PDD_VPORTCB_COLORCONTROL = unsafe extern "system" fn(param0: *mut DD_VPORTCOLORDATA) -> u32;
6627 #[cfg(feature = "Win32_Foundation")]
6628 pub type PDD_VPORTCB_CREATEVIDEOPORT = unsafe extern "system" fn(param0: *mut DD_CREATEVPORTDATA) -> u32;
6629 #[cfg(feature = "Win32_Foundation")]
6630 pub type PDD_VPORTCB_DESTROYVPORT = unsafe extern "system" fn(param0: *mut DD_DESTROYVPORTDATA) -> u32;
6631 #[cfg(feature = "Win32_Foundation")]
6632 pub type PDD_VPORTCB_FLIP = unsafe extern "system" fn(param0: *mut DD_FLIPVPORTDATA) -> u32;
6633 pub type PDD_VPORTCB_GETAUTOFLIPSURF = unsafe extern "system" fn(param0: *mut _DD_GETVPORTAUTOFLIPSURFACEDATA) -> u32;
6634 #[cfg(feature = "Win32_Foundation")]
6635 pub type PDD_VPORTCB_GETBANDWIDTH = unsafe extern "system" fn(param0: *mut DD_GETVPORTBANDWIDTHDATA) -> u32;
6636 #[cfg(feature = "Win32_Foundation")]
6637 pub type PDD_VPORTCB_GETFIELD = unsafe extern "system" fn(param0: *mut DD_GETVPORTFIELDDATA) -> u32;
6638 pub type PDD_VPORTCB_GETFLIPSTATUS = unsafe extern "system" fn(param0: *mut DD_GETVPORTFLIPSTATUSDATA) -> u32;
6639 #[cfg(feature = "Win32_Foundation")]
6640 pub type PDD_VPORTCB_GETINPUTFORMATS = unsafe extern "system" fn(param0: *mut DD_GETVPORTINPUTFORMATDATA) -> u32;
6641 #[cfg(feature = "Win32_Foundation")]
6642 pub type PDD_VPORTCB_GETLINE = unsafe extern "system" fn(param0: *mut DD_GETVPORTLINEDATA) -> u32;
6643 #[cfg(feature = "Win32_Foundation")]
6644 pub type PDD_VPORTCB_GETOUTPUTFORMATS = unsafe extern "system" fn(param0: *mut DD_GETVPORTOUTPUTFORMATDATA) -> u32;
6645 #[cfg(feature = "Win32_Foundation")]
6646 pub type PDD_VPORTCB_GETSIGNALSTATUS = unsafe extern "system" fn(param0: *mut DD_GETVPORTSIGNALDATA) -> u32;
6647 pub type PDD_VPORTCB_GETVPORTCONNECT = unsafe extern "system" fn(param0: *mut DD_GETVPORTCONNECTDATA) -> u32;
6648 #[cfg(feature = "Win32_Foundation")]
6649 pub type PDD_VPORTCB_UPDATE = unsafe extern "system" fn(param0: *mut DD_UPDATEVPORTDATA) -> u32;
6650 #[cfg(feature = "Win32_Foundation")]
6651 pub type PDD_VPORTCB_WAITFORSYNC = unsafe extern "system" fn(param0: *mut DD_WAITFORVPORTSYNCDATA) -> u32;
6652 pub type PDD_WAITFORVERTICALBLANK = unsafe extern "system" fn(param0: *mut DD_WAITFORVERTICALBLANKDATA) -> u32;
6653 pub type PDX_BOBNEXTFIELD = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: *mut DDBOBNEXTFIELDINFO, param2: *mut ::core::ffi::c_void) -> u32;
6654 pub type PDX_ENABLEIRQ = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: *mut DDENABLEIRQINFO, param2: *mut ::core::ffi::c_void) -> u32;
6655 pub type PDX_FLIPOVERLAY = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: *mut DDFLIPOVERLAYINFO, param2: *mut ::core::ffi::c_void) -> u32;
6656 pub type PDX_FLIPVIDEOPORT = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: *mut DDFLIPVIDEOPORTINFO, param2: *mut ::core::ffi::c_void) -> u32;
6657 pub type PDX_GETCURRENTAUTOFLIP = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: *mut DDGETCURRENTAUTOFLIPININFO, param2: *mut DDGETCURRENTAUTOFLIPOUTINFO) -> u32;
6658 pub type PDX_GETIRQINFO = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: *mut ::core::ffi::c_void, param2: *mut DDGETIRQINFO) -> u32;
6659 pub type PDX_GETPOLARITY = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: *mut DDGETPOLARITYININFO, param2: *mut DDGETPOLARITYOUTINFO) -> u32;
6660 pub type PDX_GETPREVIOUSAUTOFLIP = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: *mut DDGETPREVIOUSAUTOFLIPININFO, param2: *mut DDGETPREVIOUSAUTOFLIPOUTINFO) -> u32;
6661 pub type PDX_GETTRANSFERSTATUS = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: *mut ::core::ffi::c_void, param2: *mut DDGETTRANSFERSTATUSOUTINFO) -> u32;
6662 pub type PDX_IRQCALLBACK = unsafe extern "system" fn(pirqdata: *mut DX_IRQDATA);
6663 pub type PDX_LOCK = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: *mut DDLOCKININFO, param2: *mut DDLOCKOUTINFO) -> u32;
6664 #[cfg(feature = "Win32_Foundation")]
6665 pub type PDX_SETSTATE = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: *mut DDSETSTATEININFO, param2: *mut DDSETSTATEOUTINFO) -> u32;
6666 pub type PDX_SKIPNEXTFIELD = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: *mut DDSKIPNEXTFIELDINFO, param2: *mut ::core::ffi::c_void) -> u32;
6667 pub type PDX_TRANSFER = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: *mut DDTRANSFERININFO, param2: *mut DDTRANSFEROUTINFO) -> u32;
6668 pub const PFINDEX_UNINITIALIZED: u32 = 0u32;
6669 #[repr(C)]
6670 pub struct PROCESS_LIST {
6671     pub lpLink: *mut PROCESS_LIST,
6672     pub dwProcessId: u32,
6673     pub dwRefCnt: u32,
6674     pub dwAlphaDepth: u32,
6675     pub dwZDepth: u32,
6676 }
6677 impl ::core::marker::Copy for PROCESS_LIST {}
6678 impl ::core::clone::Clone for PROCESS_LIST {
clone(&self) -> Self6679     fn clone(&self) -> Self {
6680         *self
6681     }
6682 }
6683 pub const ROP_HAS_PATTERN: i32 = 2i32;
6684 pub const ROP_HAS_SOURCE: i32 = 1i32;
6685 #[repr(C)]
6686 pub struct SURFACEALIGNMENT {
6687     pub Anonymous: SURFACEALIGNMENT_0,
6688 }
6689 impl ::core::marker::Copy for SURFACEALIGNMENT {}
6690 impl ::core::clone::Clone for SURFACEALIGNMENT {
clone(&self) -> Self6691     fn clone(&self) -> Self {
6692         *self
6693     }
6694 }
6695 #[repr(C)]
6696 pub union SURFACEALIGNMENT_0 {
6697     pub Linear: SURFACEALIGNMENT_0_0,
6698     pub Rectangular: SURFACEALIGNMENT_0_1,
6699 }
6700 impl ::core::marker::Copy for SURFACEALIGNMENT_0 {}
6701 impl ::core::clone::Clone for SURFACEALIGNMENT_0 {
clone(&self) -> Self6702     fn clone(&self) -> Self {
6703         *self
6704     }
6705 }
6706 #[repr(C)]
6707 pub struct SURFACEALIGNMENT_0_0 {
6708     pub dwStartAlignment: u32,
6709     pub dwPitchAlignment: u32,
6710     pub dwFlags: u32,
6711     pub dwReserved2: u32,
6712 }
6713 impl ::core::marker::Copy for SURFACEALIGNMENT_0_0 {}
6714 impl ::core::clone::Clone for SURFACEALIGNMENT_0_0 {
clone(&self) -> Self6715     fn clone(&self) -> Self {
6716         *self
6717     }
6718 }
6719 #[repr(C)]
6720 pub struct SURFACEALIGNMENT_0_1 {
6721     pub dwXAlignment: u32,
6722     pub dwYAlignment: u32,
6723     pub dwFlags: u32,
6724     pub dwReserved2: u32,
6725 }
6726 impl ::core::marker::Copy for SURFACEALIGNMENT_0_1 {}
6727 impl ::core::clone::Clone for SURFACEALIGNMENT_0_1 {
clone(&self) -> Self6728     fn clone(&self) -> Self {
6729         *self
6730     }
6731 }
6732 pub const SURFACEALIGN_DISCARDABLE: i32 = 1i32;
6733 #[repr(C)]
6734 #[cfg(feature = "Win32_Foundation")]
6735 pub struct VIDEOMEMORY {
6736     pub dwFlags: u32,
6737     pub fpStart: usize,
6738     pub Anonymous1: VIDEOMEMORY_0,
6739     pub ddsCaps: DDSCAPS,
6740     pub ddsCapsAlt: DDSCAPS,
6741     pub Anonymous2: VIDEOMEMORY_1,
6742 }
6743 #[cfg(feature = "Win32_Foundation")]
6744 impl ::core::marker::Copy for VIDEOMEMORY {}
6745 #[cfg(feature = "Win32_Foundation")]
6746 impl ::core::clone::Clone for VIDEOMEMORY {
clone(&self) -> Self6747     fn clone(&self) -> Self {
6748         *self
6749     }
6750 }
6751 #[repr(C)]
6752 #[cfg(feature = "Win32_Foundation")]
6753 pub union VIDEOMEMORY_0 {
6754     pub fpEnd: usize,
6755     pub dwWidth: u32,
6756 }
6757 #[cfg(feature = "Win32_Foundation")]
6758 impl ::core::marker::Copy for VIDEOMEMORY_0 {}
6759 #[cfg(feature = "Win32_Foundation")]
6760 impl ::core::clone::Clone for VIDEOMEMORY_0 {
clone(&self) -> Self6761     fn clone(&self) -> Self {
6762         *self
6763     }
6764 }
6765 #[repr(C)]
6766 #[cfg(feature = "Win32_Foundation")]
6767 pub union VIDEOMEMORY_1 {
6768     pub lpHeap: *mut VMEMHEAP,
6769     pub dwHeight: u32,
6770 }
6771 #[cfg(feature = "Win32_Foundation")]
6772 impl ::core::marker::Copy for VIDEOMEMORY_1 {}
6773 #[cfg(feature = "Win32_Foundation")]
6774 impl ::core::clone::Clone for VIDEOMEMORY_1 {
clone(&self) -> Self6775     fn clone(&self) -> Self {
6776         *self
6777     }
6778 }
6779 #[repr(C)]
6780 pub struct VIDEOMEMORYINFO {
6781     pub fpPrimary: usize,
6782     pub dwFlags: u32,
6783     pub dwDisplayWidth: u32,
6784     pub dwDisplayHeight: u32,
6785     pub lDisplayPitch: i32,
6786     pub ddpfDisplay: DDPIXELFORMAT,
6787     pub dwOffscreenAlign: u32,
6788     pub dwOverlayAlign: u32,
6789     pub dwTextureAlign: u32,
6790     pub dwZBufferAlign: u32,
6791     pub dwAlphaAlign: u32,
6792     pub pvPrimary: *mut ::core::ffi::c_void,
6793 }
6794 impl ::core::marker::Copy for VIDEOMEMORYINFO {}
6795 impl ::core::clone::Clone for VIDEOMEMORYINFO {
clone(&self) -> Self6796     fn clone(&self) -> Self {
6797         *self
6798     }
6799 }
6800 #[repr(C)]
6801 #[cfg(feature = "Win32_Foundation")]
6802 pub struct VIDMEM {
6803     pub dwFlags: u32,
6804     pub fpStart: usize,
6805     pub Anonymous1: VIDMEM_0,
6806     pub ddsCaps: DDSCAPS,
6807     pub ddsCapsAlt: DDSCAPS,
6808     pub Anonymous2: VIDMEM_1,
6809 }
6810 #[cfg(feature = "Win32_Foundation")]
6811 impl ::core::marker::Copy for VIDMEM {}
6812 #[cfg(feature = "Win32_Foundation")]
6813 impl ::core::clone::Clone for VIDMEM {
clone(&self) -> Self6814     fn clone(&self) -> Self {
6815         *self
6816     }
6817 }
6818 #[repr(C)]
6819 #[cfg(feature = "Win32_Foundation")]
6820 pub union VIDMEM_0 {
6821     pub fpEnd: usize,
6822     pub dwWidth: u32,
6823 }
6824 #[cfg(feature = "Win32_Foundation")]
6825 impl ::core::marker::Copy for VIDMEM_0 {}
6826 #[cfg(feature = "Win32_Foundation")]
6827 impl ::core::clone::Clone for VIDMEM_0 {
clone(&self) -> Self6828     fn clone(&self) -> Self {
6829         *self
6830     }
6831 }
6832 #[repr(C)]
6833 #[cfg(feature = "Win32_Foundation")]
6834 pub union VIDMEM_1 {
6835     pub lpHeap: *mut VMEMHEAP,
6836     pub dwHeight: u32,
6837 }
6838 #[cfg(feature = "Win32_Foundation")]
6839 impl ::core::marker::Copy for VIDMEM_1 {}
6840 #[cfg(feature = "Win32_Foundation")]
6841 impl ::core::clone::Clone for VIDMEM_1 {
clone(&self) -> Self6842     fn clone(&self) -> Self {
6843         *self
6844     }
6845 }
6846 #[repr(C)]
6847 #[cfg(feature = "Win32_Foundation")]
6848 pub struct VIDMEMINFO {
6849     pub fpPrimary: usize,
6850     pub dwFlags: u32,
6851     pub dwDisplayWidth: u32,
6852     pub dwDisplayHeight: u32,
6853     pub lDisplayPitch: i32,
6854     pub ddpfDisplay: DDPIXELFORMAT,
6855     pub dwOffscreenAlign: u32,
6856     pub dwOverlayAlign: u32,
6857     pub dwTextureAlign: u32,
6858     pub dwZBufferAlign: u32,
6859     pub dwAlphaAlign: u32,
6860     pub dwNumHeaps: u32,
6861     pub pvmList: *mut VIDMEM,
6862 }
6863 #[cfg(feature = "Win32_Foundation")]
6864 impl ::core::marker::Copy for VIDMEMINFO {}
6865 #[cfg(feature = "Win32_Foundation")]
6866 impl ::core::clone::Clone for VIDMEMINFO {
clone(&self) -> Self6867     fn clone(&self) -> Self {
6868         *self
6869     }
6870 }
6871 pub const VIDMEM_HEAPDISABLED: i32 = 32i32;
6872 pub const VIDMEM_ISHEAP: i32 = 4i32;
6873 pub const VIDMEM_ISLINEAR: i32 = 1i32;
6874 pub const VIDMEM_ISNONLOCAL: i32 = 8i32;
6875 pub const VIDMEM_ISRECTANGULAR: i32 = 2i32;
6876 pub const VIDMEM_ISWC: i32 = 16i32;
6877 #[repr(C)]
6878 #[cfg(feature = "Win32_Foundation")]
6879 pub struct VMEMHEAP {
6880     pub dwFlags: u32,
6881     pub stride: u32,
6882     pub freeList: *mut ::core::ffi::c_void,
6883     pub allocList: *mut ::core::ffi::c_void,
6884     pub dwTotalSize: u32,
6885     pub fpGARTLin: usize,
6886     pub fpGARTDev: usize,
6887     pub dwCommitedSize: u32,
6888     pub dwCoalesceCount: u32,
6889     pub Alignment: HEAPALIGNMENT,
6890     pub ddsCapsEx: DDSCAPSEX,
6891     pub ddsCapsExAlt: DDSCAPSEX,
6892     pub liPhysAGPBase: i64,
6893     pub hdevAGP: super::super::Foundation::HANDLE,
6894     pub pvPhysRsrv: *mut ::core::ffi::c_void,
6895     pub pAgpCommitMask: *mut u8,
6896     pub dwAgpCommitMaskSize: u32,
6897 }
6898 #[cfg(feature = "Win32_Foundation")]
6899 impl ::core::marker::Copy for VMEMHEAP {}
6900 #[cfg(feature = "Win32_Foundation")]
6901 impl ::core::clone::Clone for VMEMHEAP {
clone(&self) -> Self6902     fn clone(&self) -> Self {
6903         *self
6904     }
6905 }
6906 pub const VMEMHEAP_ALIGNMENT: i32 = 4i32;
6907 pub const VMEMHEAP_LINEAR: i32 = 1i32;
6908 pub const VMEMHEAP_RECTANGULAR: i32 = 2i32;
6909 #[repr(C)]
6910 #[cfg(feature = "Win32_Foundation")]
6911 pub struct VMEML {
6912     pub next: *mut VMEML,
6913     pub ptr: usize,
6914     pub size: u32,
6915     pub bDiscardable: super::super::Foundation::BOOL,
6916 }
6917 #[cfg(feature = "Win32_Foundation")]
6918 impl ::core::marker::Copy for VMEML {}
6919 #[cfg(feature = "Win32_Foundation")]
6920 impl ::core::clone::Clone for VMEML {
clone(&self) -> Self6921     fn clone(&self) -> Self {
6922         *self
6923     }
6924 }
6925 #[repr(C)]
6926 #[cfg(feature = "Win32_Foundation")]
6927 pub struct VMEMR {
6928     pub next: *mut VMEMR,
6929     pub prev: *mut VMEMR,
6930     pub pUp: *mut VMEMR,
6931     pub pDown: *mut VMEMR,
6932     pub pLeft: *mut VMEMR,
6933     pub pRight: *mut VMEMR,
6934     pub ptr: usize,
6935     pub size: u32,
6936     pub x: u32,
6937     pub y: u32,
6938     pub cx: u32,
6939     pub cy: u32,
6940     pub flags: u32,
6941     pub pBits: usize,
6942     pub bDiscardable: super::super::Foundation::BOOL,
6943 }
6944 #[cfg(feature = "Win32_Foundation")]
6945 impl ::core::marker::Copy for VMEMR {}
6946 #[cfg(feature = "Win32_Foundation")]
6947 impl ::core::clone::Clone for VMEMR {
clone(&self) -> Self6948     fn clone(&self) -> Self {
6949         *self
6950     }
6951 }
6952 #[repr(C)]
6953 pub struct _DDFXROP(pub u8);
6954 #[repr(C)]
6955 pub struct _DD_DESTROYDRIVERDATA(pub u8);
6956 #[repr(C)]
6957 pub struct _DD_GETVPORTAUTOFLIPSURFACEDATA(pub u8);
6958 #[repr(C)]
6959 pub struct _DD_SETMODEDATA(pub u8);
6960 pub const _FACDD: u32 = 2166u32;
6961