1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[link(name = "windows")]
4 pub fn DirectSoundCaptureCreate(pcguiddevice
: *const ::windows_sys
::core
::GUID
, ppdsc
: *mut IDirectSoundCapture
, punkouter
: ::windows_sys
::core
::IUnknown
) -> ::windows_sys
::core
::HRESULT
;
5 pub fn DirectSoundCaptureCreate8(pcguiddevice
: *const ::windows_sys
::core
::GUID
, ppdsc8
: *mut IDirectSoundCapture
, punkouter
: ::windows_sys
::core
::IUnknown
) -> ::windows_sys
::core
::HRESULT
;
6 #[cfg(feature = "Win32_Foundation")]
7 pub fn DirectSoundCaptureEnumerateA(pdsenumcallback
: ::core
::option
::Option
<LPDSENUMCALLBACKA
>, pcontext
: *const ::core
::ffi
::c_void
) -> ::windows_sys
::core
::HRESULT
;
8 #[cfg(feature = "Win32_Foundation")]
9 pub fn DirectSoundCaptureEnumerateW(pdsenumcallback
: ::core
::option
::Option
<LPDSENUMCALLBACKW
>, pcontext
: *const ::core
::ffi
::c_void
) -> ::windows_sys
::core
::HRESULT
;
10 pub fn DirectSoundCreate(pcguiddevice
: *const ::windows_sys
::core
::GUID
, ppds
: *mut IDirectSound
, punkouter
: ::windows_sys
::core
::IUnknown
) -> ::windows_sys
::core
::HRESULT
;
11 pub fn DirectSoundCreate8(pcguiddevice
: *const ::windows_sys
::core
::GUID
, ppds8
: *mut IDirectSound8
, punkouter
: ::windows_sys
::core
::IUnknown
) -> ::windows_sys
::core
::HRESULT
;
12 #[cfg(feature = "Win32_Foundation")]
13 pub fn DirectSoundEnumerateA(pdsenumcallback
: ::core
::option
::Option
<LPDSENUMCALLBACKA
>, pcontext
: *const ::core
::ffi
::c_void
) -> ::windows_sys
::core
::HRESULT
;
14 #[cfg(feature = "Win32_Foundation")]
15 pub fn DirectSoundEnumerateW(pdsenumcallback
: ::core
::option
::Option
<LPDSENUMCALLBACKW
>, pcontext
: *const ::core
::ffi
::c_void
) -> ::windows_sys
::core
::HRESULT
;
16 #[cfg(feature = "Win32_Foundation")]
17 pub fn DirectSoundFullDuplexCreate(pcguidcapturedevice
: *const ::windows_sys
::core
::GUID
, pcguidrenderdevice
: *const ::windows_sys
::core
::GUID
, pcdscbufferdesc
: *const DSCBUFFERDESC
, pcdsbufferdesc
: *const DSBUFFERDESC
, hwnd
: super::super::super::Foundation
::HWND
, dwlevel
: u32, ppdsfd
: *mut IDirectSoundFullDuplex
, ppdscbuffer8
: *mut IDirectSoundCaptureBuffer8
, ppdsbuffer8
: *mut IDirectSoundBuffer8
, punkouter
: ::windows_sys
::core
::IUnknown
) -> ::windows_sys
::core
::HRESULT
;
18 pub fn GetDeviceID(pguidsrc
: *const ::windows_sys
::core
::GUID
, pguiddest
: *mut ::windows_sys
::core
::GUID
) -> ::windows_sys
::core
::HRESULT
;
20 pub const CLSID_DirectSound
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 1205131590, data2: 25320, data3: 4559, data4: [147, 188, 68, 69, 83, 84, 0, 0] }
;
21 pub const CLSID_DirectSound8
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
25 data4
: [186, 53, 170, 129, 114, 184, 160, 155],
27 pub const CLSID_DirectSoundCapture
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 2954954624, data2: 35277, data3: 4560, data4: [175, 8, 0, 160, 201, 37, 205, 22] }
;
28 pub const CLSID_DirectSoundCapture8
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
32 data4
: [154, 142, 116, 227, 191, 36, 182, 225],
34 pub const CLSID_DirectSoundFullDuplex
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
38 data4
: [178, 106, 35, 119, 185, 231, 169, 29],
40 pub const DIRECTSOUND_VERSION
: u32 = 1792u32;
41 pub const DS3DALG_HRTF_FULL
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3259052864, data2: 7195, data3: 4562, data4: [148, 245, 0, 192, 79, 194, 138, 202] }
;
42 pub const DS3DALG_HRTF_LIGHT
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3259052866, data2: 7195, data3: 4562, data4: [148, 245, 0, 192, 79, 194, 138, 202] }
;
43 pub const DS3DALG_NO_VIRTUALIZATION
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3259052863, data2: 7195, data3: 4562, data4: [148, 245, 0, 192, 79, 194, 138, 202] }
;
45 #[cfg(feature = "Win32_Graphics_Direct3D")]
46 pub struct DS3DBUFFER
{
48 pub vPosition
: super::super::super::Graphics
::Direct3D
::D3DVECTOR
,
49 pub vVelocity
: super::super::super::Graphics
::Direct3D
::D3DVECTOR
,
50 pub dwInsideConeAngle
: u32,
51 pub dwOutsideConeAngle
: u32,
52 pub vConeOrientation
: super::super::super::Graphics
::Direct3D
::D3DVECTOR
,
53 pub lConeOutsideVolume
: i32,
54 pub flMinDistance
: f32,
55 pub flMaxDistance
: f32,
58 #[cfg(feature = "Win32_Graphics_Direct3D")]
59 impl ::core
::marker
::Copy
for DS3DBUFFER {}
60 #[cfg(feature = "Win32_Graphics_Direct3D")]
61 impl ::core
::clone
::Clone
for DS3DBUFFER
{
62 fn clone(&self) -> Self {
67 #[cfg(feature = "Win32_Graphics_Direct3D")]
68 pub struct DS3DLISTENER
{
70 pub vPosition
: super::super::super::Graphics
::Direct3D
::D3DVECTOR
,
71 pub vVelocity
: super::super::super::Graphics
::Direct3D
::D3DVECTOR
,
72 pub vOrientFront
: super::super::super::Graphics
::Direct3D
::D3DVECTOR
,
73 pub vOrientTop
: super::super::super::Graphics
::Direct3D
::D3DVECTOR
,
74 pub flDistanceFactor
: f32,
75 pub flRolloffFactor
: f32,
76 pub flDopplerFactor
: f32,
78 #[cfg(feature = "Win32_Graphics_Direct3D")]
79 impl ::core
::marker
::Copy
for DS3DLISTENER {}
80 #[cfg(feature = "Win32_Graphics_Direct3D")]
81 impl ::core
::clone
::Clone
for DS3DLISTENER
{
82 fn clone(&self) -> Self {
86 pub const DS3DMODE_DISABLE
: u32 = 2u32;
87 pub const DS3DMODE_HEADRELATIVE
: u32 = 1u32;
88 pub const DS3DMODE_NORMAL
: u32 = 0u32;
89 pub const DS3D_DEFAULTCONEANGLE
: u32 = 360u32;
90 pub const DS3D_DEFAULTCONEOUTSIDEVOLUME
: u32 = 0u32;
91 pub const DS3D_DEFAULTDISTANCEFACTOR
: f32 = 1f32;
92 pub const DS3D_DEFAULTDOPPLERFACTOR
: f32 = 1f32;
93 pub const DS3D_DEFAULTMAXDISTANCE
: f32 = 1000000000f32;
94 pub const DS3D_DEFAULTMINDISTANCE
: f32 = 1f32;
95 pub const DS3D_DEFAULTROLLOFFFACTOR
: f32 = 1f32;
96 pub const DS3D_DEFERRED
: u32 = 1u32;
97 pub const DS3D_IMMEDIATE
: u32 = 0u32;
98 pub const DS3D_MAXCONEANGLE
: u32 = 360u32;
99 pub const DS3D_MAXDOPPLERFACTOR
: f32 = 10f32;
100 pub const DS3D_MAXROLLOFFFACTOR
: f32 = 10f32;
101 pub const DS3D_MINCONEANGLE
: u32 = 0u32;
102 pub const DS3D_MINDOPPLERFACTOR
: f32 = 0f32;
103 pub const DS3D_MINROLLOFFFACTOR
: f32 = 0f32;
108 pub dwBufferBytes
: u32,
109 pub dwUnlockTransferRate
: u32,
110 pub dwPlayCpuOverhead
: u32,
112 impl ::core
::marker
::Copy
for DSBCAPS {}
113 impl ::core
::clone
::Clone
for DSBCAPS
{
114 fn clone(&self) -> Self {
118 pub const DSBCAPS_CTRL3D
: u32 = 16u32;
119 pub const DSBCAPS_CTRLFREQUENCY
: u32 = 32u32;
120 pub const DSBCAPS_CTRLFX
: u32 = 512u32;
121 pub const DSBCAPS_CTRLPAN
: u32 = 64u32;
122 pub const DSBCAPS_CTRLPOSITIONNOTIFY
: u32 = 256u32;
123 pub const DSBCAPS_CTRLVOLUME
: u32 = 128u32;
124 pub const DSBCAPS_GETCURRENTPOSITION2
: u32 = 65536u32;
125 pub const DSBCAPS_GLOBALFOCUS
: u32 = 32768u32;
126 pub const DSBCAPS_LOCDEFER
: u32 = 262144u32;
127 pub const DSBCAPS_LOCHARDWARE
: u32 = 4u32;
128 pub const DSBCAPS_LOCSOFTWARE
: u32 = 8u32;
129 pub const DSBCAPS_MUTE3DATMAXDISTANCE
: u32 = 131072u32;
130 pub const DSBCAPS_PRIMARYBUFFER
: u32 = 1u32;
131 pub const DSBCAPS_STATIC
: u32 = 2u32;
132 pub const DSBCAPS_STICKYFOCUS
: u32 = 16384u32;
133 pub const DSBCAPS_TRUEPLAYPOSITION
: u32 = 524288u32;
134 pub const DSBFREQUENCY_MAX
: u32 = 200000u32;
135 pub const DSBFREQUENCY_MIN
: u32 = 100u32;
136 pub const DSBFREQUENCY_ORIGINAL
: u32 = 0u32;
137 pub const DSBLOCK_ENTIREBUFFER
: u32 = 2u32;
138 pub const DSBLOCK_FROMWRITECURSOR
: u32 = 1u32;
139 pub const DSBNOTIFICATIONS_MAX
: u32 = 100000u32;
140 pub const DSBPAN_CENTER
: u32 = 0u32;
141 pub const DSBPAN_LEFT
: i32 = -10000i32;
142 pub const DSBPAN_RIGHT
: u32 = 10000u32;
143 pub const DSBPLAY_LOCHARDWARE
: u32 = 2u32;
144 pub const DSBPLAY_LOCSOFTWARE
: u32 = 4u32;
145 pub const DSBPLAY_LOOPING
: u32 = 1u32;
146 pub const DSBPLAY_TERMINATEBY_DISTANCE
: u64 = 16u64;
147 pub const DSBPLAY_TERMINATEBY_PRIORITY
: u64 = 32u64;
148 pub const DSBPLAY_TERMINATEBY_TIME
: u32 = 8u32;
149 pub const DSBPN_OFFSETSTOP
: u32 = 4294967295u32;
151 #[cfg(feature = "Win32_Foundation")]
152 pub struct DSBPOSITIONNOTIFY
{
154 pub hEventNotify
: super::super::super::Foundation
::HANDLE
,
156 #[cfg(feature = "Win32_Foundation")]
157 impl ::core
::marker
::Copy
for DSBPOSITIONNOTIFY {}
158 #[cfg(feature = "Win32_Foundation")]
159 impl ::core
::clone
::Clone
for DSBPOSITIONNOTIFY
{
160 fn clone(&self) -> Self {
164 pub const DSBSIZE_FX_MIN
: u32 = 150u32;
165 pub const DSBSIZE_MAX
: u32 = 268435455u32;
166 pub const DSBSIZE_MIN
: u32 = 4u32;
167 pub const DSBSTATUS_BUFFERLOST
: u32 = 2u32;
168 pub const DSBSTATUS_LOCHARDWARE
: u32 = 8u32;
169 pub const DSBSTATUS_LOCSOFTWARE
: u32 = 16u32;
170 pub const DSBSTATUS_LOOPING
: u32 = 4u32;
171 pub const DSBSTATUS_PLAYING
: u32 = 1u32;
172 pub const DSBSTATUS_TERMINATED
: u32 = 32u32;
174 pub struct DSBUFFERDESC
{
177 pub dwBufferBytes
: u32,
179 pub lpwfxFormat
: *mut super::WAVEFORMATEX
,
180 pub guid3DAlgorithm
: ::windows_sys
::core
::GUID
,
182 impl ::core
::marker
::Copy
for DSBUFFERDESC {}
183 impl ::core
::clone
::Clone
for DSBUFFERDESC
{
184 fn clone(&self) -> Self {
189 pub struct DSBUFFERDESC1
{
192 pub dwBufferBytes
: u32,
194 pub lpwfxFormat
: *mut super::WAVEFORMATEX
,
196 impl ::core
::marker
::Copy
for DSBUFFERDESC1 {}
197 impl ::core
::clone
::Clone
for DSBUFFERDESC1
{
198 fn clone(&self) -> Self {
202 pub const DSBVOLUME_MAX
: u32 = 0u32;
203 pub const DSBVOLUME_MIN
: i32 = -10000i32;
208 pub dwMinSecondarySampleRate
: u32,
209 pub dwMaxSecondarySampleRate
: u32,
210 pub dwPrimaryBuffers
: u32,
211 pub dwMaxHwMixingAllBuffers
: u32,
212 pub dwMaxHwMixingStaticBuffers
: u32,
213 pub dwMaxHwMixingStreamingBuffers
: u32,
214 pub dwFreeHwMixingAllBuffers
: u32,
215 pub dwFreeHwMixingStaticBuffers
: u32,
216 pub dwFreeHwMixingStreamingBuffers
: u32,
217 pub dwMaxHw3DAllBuffers
: u32,
218 pub dwMaxHw3DStaticBuffers
: u32,
219 pub dwMaxHw3DStreamingBuffers
: u32,
220 pub dwFreeHw3DAllBuffers
: u32,
221 pub dwFreeHw3DStaticBuffers
: u32,
222 pub dwFreeHw3DStreamingBuffers
: u32,
223 pub dwTotalHwMemBytes
: u32,
224 pub dwFreeHwMemBytes
: u32,
225 pub dwMaxContigFreeHwMemBytes
: u32,
226 pub dwUnlockTransferRateHwBuffers
: u32,
227 pub dwPlayCpuOverheadSwBuffers
: u32,
228 pub dwReserved1
: u32,
229 pub dwReserved2
: u32,
231 impl ::core
::marker
::Copy
for DSCAPS {}
232 impl ::core
::clone
::Clone
for DSCAPS
{
233 fn clone(&self) -> Self {
237 pub const DSCAPS_CERTIFIED
: u32 = 64u32;
238 pub const DSCAPS_CONTINUOUSRATE
: u32 = 16u32;
239 pub const DSCAPS_EMULDRIVER
: u32 = 32u32;
240 pub const DSCAPS_PRIMARY16BIT
: u32 = 8u32;
241 pub const DSCAPS_PRIMARY8BIT
: u32 = 4u32;
242 pub const DSCAPS_PRIMARYMONO
: u32 = 1u32;
243 pub const DSCAPS_PRIMARYSTEREO
: u32 = 2u32;
244 pub const DSCAPS_SECONDARY16BIT
: u32 = 2048u32;
245 pub const DSCAPS_SECONDARY8BIT
: u32 = 1024u32;
246 pub const DSCAPS_SECONDARYMONO
: u32 = 256u32;
247 pub const DSCAPS_SECONDARYSTEREO
: u32 = 512u32;
249 pub struct DSCBCAPS
{
252 pub dwBufferBytes
: u32,
255 impl ::core
::marker
::Copy
for DSCBCAPS {}
256 impl ::core
::clone
::Clone
for DSCBCAPS
{
257 fn clone(&self) -> Self {
261 pub const DSCBCAPS_CTRLFX
: u32 = 512u32;
262 pub const DSCBCAPS_WAVEMAPPED
: u32 = 2147483648u32;
263 pub const DSCBLOCK_ENTIREBUFFER
: u32 = 1u32;
264 pub const DSCBSTART_LOOPING
: u32 = 1u32;
265 pub const DSCBSTATUS_CAPTURING
: u32 = 1u32;
266 pub const DSCBSTATUS_LOOPING
: u32 = 2u32;
268 pub struct DSCBUFFERDESC
{
271 pub dwBufferBytes
: u32,
273 pub lpwfxFormat
: *mut super::WAVEFORMATEX
,
275 pub lpDSCFXDesc
: *mut DSCEFFECTDESC
,
277 impl ::core
::marker
::Copy
for DSCBUFFERDESC {}
278 impl ::core
::clone
::Clone
for DSCBUFFERDESC
{
279 fn clone(&self) -> Self {
284 pub struct DSCBUFFERDESC1
{
287 pub dwBufferBytes
: u32,
289 pub lpwfxFormat
: *mut super::WAVEFORMATEX
,
291 impl ::core
::marker
::Copy
for DSCBUFFERDESC1 {}
292 impl ::core
::clone
::Clone
for DSCBUFFERDESC1
{
293 fn clone(&self) -> Self {
304 impl ::core
::marker
::Copy
for DSCCAPS {}
305 impl ::core
::clone
::Clone
for DSCCAPS
{
306 fn clone(&self) -> Self {
310 pub const DSCCAPS_CERTIFIED
: u32 = 64u32;
311 pub const DSCCAPS_EMULDRIVER
: u32 = 32u32;
312 pub const DSCCAPS_MULTIPLECAPTURE
: u32 = 1u32;
314 pub struct DSCEFFECTDESC
{
317 pub guidDSCFXClass
: ::windows_sys
::core
::GUID
,
318 pub guidDSCFXInstance
: ::windows_sys
::core
::GUID
,
319 pub dwReserved1
: u32,
320 pub dwReserved2
: u32,
322 impl ::core
::marker
::Copy
for DSCEFFECTDESC {}
323 impl ::core
::clone
::Clone
for DSCEFFECTDESC
{
324 fn clone(&self) -> Self {
329 #[cfg(feature = "Win32_Foundation")]
330 pub struct DSCFXAec
{
331 pub fEnable
: super::super::super::Foundation
::BOOL
,
332 pub fNoiseFill
: super::super::super::Foundation
::BOOL
,
335 #[cfg(feature = "Win32_Foundation")]
336 impl ::core
::marker
::Copy
for DSCFXAec {}
337 #[cfg(feature = "Win32_Foundation")]
338 impl ::core
::clone
::Clone
for DSCFXAec
{
339 fn clone(&self) -> Self {
344 #[cfg(feature = "Win32_Foundation")]
345 pub struct DSCFXNoiseSuppress
{
346 pub fEnable
: super::super::super::Foundation
::BOOL
,
348 #[cfg(feature = "Win32_Foundation")]
349 impl ::core
::marker
::Copy
for DSCFXNoiseSuppress {}
350 #[cfg(feature = "Win32_Foundation")]
351 impl ::core
::clone
::Clone
for DSCFXNoiseSuppress
{
352 fn clone(&self) -> Self {
356 pub const DSCFXR_LOCHARDWARE
: u32 = 16u32;
357 pub const DSCFXR_LOCSOFTWARE
: u32 = 32u32;
358 pub const DSCFX_AEC_MODE_FULL_DUPLEX
: u32 = 2u32;
359 pub const DSCFX_AEC_MODE_HALF_DUPLEX
: u32 = 1u32;
360 pub const DSCFX_AEC_MODE_PASS_THROUGH
: u32 = 0u32;
361 pub const DSCFX_AEC_STATUS_CURRENTLY_CONVERGED
: u32 = 8u32;
362 pub const DSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGED
: u32 = 1u32;
363 pub const DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED
: u32 = 2u32;
364 pub const DSCFX_AEC_STATUS_HISTORY_UNINITIALIZED
: u32 = 0u32;
365 pub const DSCFX_LOCHARDWARE
: u32 = 1u32;
366 pub const DSCFX_LOCSOFTWARE
: u32 = 2u32;
367 pub const DSDEVID_DefaultCapture
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3740270593, data2: 40045, data3: 18413, data4: [170, 241, 77, 218, 143, 43, 92, 3] }
;
368 pub const DSDEVID_DefaultPlayback
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3740270592, data2: 40045, data3: 18413, data4: [170, 241, 77, 218, 143, 43, 92, 3] }
;
369 pub const DSDEVID_DefaultVoiceCapture
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3740270595, data2: 40045, data3: 18413, data4: [170, 241, 77, 218, 143, 43, 92, 3] }
;
370 pub const DSDEVID_DefaultVoicePlayback
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3740270594, data2: 40045, data3: 18413, data4: [170, 241, 77, 218, 143, 43, 92, 3] }
;
372 pub struct DSEFFECTDESC
{
375 pub guidDSFXClass
: ::windows_sys
::core
::GUID
,
376 pub dwReserved1
: usize,
377 pub dwReserved2
: usize,
379 impl ::core
::marker
::Copy
for DSEFFECTDESC {}
380 impl ::core
::clone
::Clone
for DSEFFECTDESC
{
381 fn clone(&self) -> Self {
385 pub const DSFXCHORUS_DELAY_MAX
: f32 = 20f32;
386 pub const DSFXCHORUS_DELAY_MIN
: f32 = 0f32;
387 pub const DSFXCHORUS_DEPTH_MAX
: f32 = 100f32;
388 pub const DSFXCHORUS_DEPTH_MIN
: f32 = 0f32;
389 pub const DSFXCHORUS_FEEDBACK_MAX
: f32 = 99f32;
390 pub const DSFXCHORUS_FEEDBACK_MIN
: f32 = -99f32;
391 pub const DSFXCHORUS_FREQUENCY_MAX
: f32 = 10f32;
392 pub const DSFXCHORUS_FREQUENCY_MIN
: f32 = 0f32;
393 pub const DSFXCHORUS_PHASE_180
: u32 = 4u32;
394 pub const DSFXCHORUS_PHASE_90
: u32 = 3u32;
395 pub const DSFXCHORUS_PHASE_MAX
: u32 = 4u32;
396 pub const DSFXCHORUS_PHASE_MIN
: u32 = 0u32;
397 pub const DSFXCHORUS_PHASE_NEG_180
: u32 = 0u32;
398 pub const DSFXCHORUS_PHASE_NEG_90
: u32 = 1u32;
399 pub const DSFXCHORUS_PHASE_ZERO
: u32 = 2u32;
400 pub const DSFXCHORUS_WAVE_SIN
: u32 = 1u32;
401 pub const DSFXCHORUS_WAVE_TRIANGLE
: u32 = 0u32;
402 pub const DSFXCHORUS_WETDRYMIX_MAX
: f32 = 100f32;
403 pub const DSFXCHORUS_WETDRYMIX_MIN
: f32 = 0f32;
404 pub const DSFXCOMPRESSOR_ATTACK_MAX
: f32 = 500f32;
405 pub const DSFXCOMPRESSOR_ATTACK_MIN
: f32 = 0.01f32;
406 pub const DSFXCOMPRESSOR_GAIN_MAX
: f32 = 60f32;
407 pub const DSFXCOMPRESSOR_GAIN_MIN
: f32 = -60f32;
408 pub const DSFXCOMPRESSOR_PREDELAY_MAX
: f32 = 4f32;
409 pub const DSFXCOMPRESSOR_PREDELAY_MIN
: f32 = 0f32;
410 pub const DSFXCOMPRESSOR_RATIO_MAX
: f32 = 100f32;
411 pub const DSFXCOMPRESSOR_RATIO_MIN
: f32 = 1f32;
412 pub const DSFXCOMPRESSOR_RELEASE_MAX
: f32 = 3000f32;
413 pub const DSFXCOMPRESSOR_RELEASE_MIN
: f32 = 50f32;
414 pub const DSFXCOMPRESSOR_THRESHOLD_MAX
: f32 = 0f32;
415 pub const DSFXCOMPRESSOR_THRESHOLD_MIN
: f32 = -60f32;
417 pub struct DSFXChorus
{
426 impl ::core
::marker
::Copy
for DSFXChorus {}
427 impl ::core
::clone
::Clone
for DSFXChorus
{
428 fn clone(&self) -> Self {
433 pub struct DSFXCompressor
{
441 impl ::core
::marker
::Copy
for DSFXCompressor {}
442 impl ::core
::clone
::Clone
for DSFXCompressor
{
443 fn clone(&self) -> Self {
447 pub const DSFXDISTORTION_EDGE_MAX
: f32 = 100f32;
448 pub const DSFXDISTORTION_EDGE_MIN
: f32 = 0f32;
449 pub const DSFXDISTORTION_GAIN_MAX
: f32 = 0f32;
450 pub const DSFXDISTORTION_GAIN_MIN
: f32 = -60f32;
451 pub const DSFXDISTORTION_POSTEQBANDWIDTH_MAX
: f32 = 8000f32;
452 pub const DSFXDISTORTION_POSTEQBANDWIDTH_MIN
: f32 = 100f32;
453 pub const DSFXDISTORTION_POSTEQCENTERFREQUENCY_MAX
: f32 = 8000f32;
454 pub const DSFXDISTORTION_POSTEQCENTERFREQUENCY_MIN
: f32 = 100f32;
455 pub const DSFXDISTORTION_PRELOWPASSCUTOFF_MAX
: f32 = 8000f32;
456 pub const DSFXDISTORTION_PRELOWPASSCUTOFF_MIN
: f32 = 100f32;
458 pub struct DSFXDistortion
{
461 pub fPostEQCenterFrequency
: f32,
462 pub fPostEQBandwidth
: f32,
463 pub fPreLowpassCutoff
: f32,
465 impl ::core
::marker
::Copy
for DSFXDistortion {}
466 impl ::core
::clone
::Clone
for DSFXDistortion
{
467 fn clone(&self) -> Self {
471 pub const DSFXECHO_FEEDBACK_MAX
: f32 = 100f32;
472 pub const DSFXECHO_FEEDBACK_MIN
: f32 = 0f32;
473 pub const DSFXECHO_LEFTDELAY_MAX
: f32 = 2000f32;
474 pub const DSFXECHO_LEFTDELAY_MIN
: f32 = 1f32;
475 pub const DSFXECHO_PANDELAY_MAX
: u32 = 1u32;
476 pub const DSFXECHO_PANDELAY_MIN
: u32 = 0u32;
477 pub const DSFXECHO_RIGHTDELAY_MAX
: f32 = 2000f32;
478 pub const DSFXECHO_RIGHTDELAY_MIN
: f32 = 1f32;
479 pub const DSFXECHO_WETDRYMIX_MAX
: f32 = 100f32;
480 pub const DSFXECHO_WETDRYMIX_MIN
: f32 = 0f32;
482 pub struct DSFXEcho
{
486 pub fRightDelay
: f32,
489 impl ::core
::marker
::Copy
for DSFXEcho {}
490 impl ::core
::clone
::Clone
for DSFXEcho
{
491 fn clone(&self) -> Self {
495 pub const DSFXFLANGER_DELAY_MAX
: f32 = 4f32;
496 pub const DSFXFLANGER_DELAY_MIN
: f32 = 0f32;
497 pub const DSFXFLANGER_DEPTH_MAX
: f32 = 100f32;
498 pub const DSFXFLANGER_DEPTH_MIN
: f32 = 0f32;
499 pub const DSFXFLANGER_FEEDBACK_MAX
: f32 = 99f32;
500 pub const DSFXFLANGER_FEEDBACK_MIN
: f32 = -99f32;
501 pub const DSFXFLANGER_FREQUENCY_MAX
: f32 = 10f32;
502 pub const DSFXFLANGER_FREQUENCY_MIN
: f32 = 0f32;
503 pub const DSFXFLANGER_PHASE_180
: u32 = 4u32;
504 pub const DSFXFLANGER_PHASE_90
: u32 = 3u32;
505 pub const DSFXFLANGER_PHASE_MAX
: u32 = 4u32;
506 pub const DSFXFLANGER_PHASE_MIN
: u32 = 0u32;
507 pub const DSFXFLANGER_PHASE_NEG_180
: u32 = 0u32;
508 pub const DSFXFLANGER_PHASE_NEG_90
: u32 = 1u32;
509 pub const DSFXFLANGER_PHASE_ZERO
: u32 = 2u32;
510 pub const DSFXFLANGER_WAVE_SIN
: u32 = 1u32;
511 pub const DSFXFLANGER_WAVE_TRIANGLE
: u32 = 0u32;
512 pub const DSFXFLANGER_WETDRYMIX_MAX
: f32 = 100f32;
513 pub const DSFXFLANGER_WETDRYMIX_MIN
: f32 = 0f32;
515 pub struct DSFXFlanger
{
524 impl ::core
::marker
::Copy
for DSFXFlanger {}
525 impl ::core
::clone
::Clone
for DSFXFlanger
{
526 fn clone(&self) -> Self {
530 pub const DSFXGARGLE_RATEHZ_MAX
: u32 = 1000u32;
531 pub const DSFXGARGLE_RATEHZ_MIN
: u32 = 1u32;
532 pub const DSFXGARGLE_WAVE_SQUARE
: u32 = 1u32;
533 pub const DSFXGARGLE_WAVE_TRIANGLE
: u32 = 0u32;
535 pub struct DSFXGargle
{
537 pub dwWaveShape
: u32,
539 impl ::core
::marker
::Copy
for DSFXGargle {}
540 impl ::core
::clone
::Clone
for DSFXGargle
{
541 fn clone(&self) -> Self {
546 pub struct DSFXI3DL2Reverb
{
549 pub flRoomRolloffFactor
: f32,
550 pub flDecayTime
: f32,
551 pub flDecayHFRatio
: f32,
552 pub lReflections
: i32,
553 pub flReflectionsDelay
: f32,
555 pub flReverbDelay
: f32,
556 pub flDiffusion
: f32,
558 pub flHFReference
: f32,
560 impl ::core
::marker
::Copy
for DSFXI3DL2Reverb {}
561 impl ::core
::clone
::Clone
for DSFXI3DL2Reverb
{
562 fn clone(&self) -> Self {
566 pub const DSFXPARAMEQ_BANDWIDTH_MAX
: f32 = 36f32;
567 pub const DSFXPARAMEQ_BANDWIDTH_MIN
: f32 = 1f32;
568 pub const DSFXPARAMEQ_CENTER_MAX
: f32 = 16000f32;
569 pub const DSFXPARAMEQ_CENTER_MIN
: f32 = 80f32;
570 pub const DSFXPARAMEQ_GAIN_MAX
: f32 = 15f32;
571 pub const DSFXPARAMEQ_GAIN_MIN
: f32 = -15f32;
573 pub struct DSFXParamEq
{
578 impl ::core
::marker
::Copy
for DSFXParamEq {}
579 impl ::core
::clone
::Clone
for DSFXParamEq
{
580 fn clone(&self) -> Self {
584 pub const DSFXR_FAILED
: i32 = 4i32;
585 pub const DSFXR_LOCHARDWARE
: i32 = 1i32;
586 pub const DSFXR_LOCSOFTWARE
: i32 = 2i32;
587 pub const DSFXR_PRESENT
: i32 = 0i32;
588 pub const DSFXR_SENDLOOP
: i32 = 6i32;
589 pub const DSFXR_UNALLOCATED
: i32 = 3i32;
590 pub const DSFXR_UNKNOWN
: i32 = 5i32;
592 pub struct DSFXWavesReverb
{
595 pub fReverbTime
: f32,
596 pub fHighFreqRTRatio
: f32,
598 impl ::core
::marker
::Copy
for DSFXWavesReverb {}
599 impl ::core
::clone
::Clone
for DSFXWavesReverb
{
600 fn clone(&self) -> Self {
604 pub const DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT
: f32 = 0.83f32;
605 pub const DSFX_I3DL2REVERB_DECAYHFRATIO_MAX
: f32 = 2f32;
606 pub const DSFX_I3DL2REVERB_DECAYHFRATIO_MIN
: f32 = 0.1f32;
607 pub const DSFX_I3DL2REVERB_DECAYTIME_DEFAULT
: f32 = 1.49f32;
608 pub const DSFX_I3DL2REVERB_DECAYTIME_MAX
: f32 = 20f32;
609 pub const DSFX_I3DL2REVERB_DECAYTIME_MIN
: f32 = 0.1f32;
610 pub const DSFX_I3DL2REVERB_DENSITY_DEFAULT
: f32 = 100f32;
611 pub const DSFX_I3DL2REVERB_DENSITY_MAX
: f32 = 100f32;
612 pub const DSFX_I3DL2REVERB_DENSITY_MIN
: f32 = 0f32;
613 pub const DSFX_I3DL2REVERB_DIFFUSION_DEFAULT
: f32 = 100f32;
614 pub const DSFX_I3DL2REVERB_DIFFUSION_MAX
: f32 = 100f32;
615 pub const DSFX_I3DL2REVERB_DIFFUSION_MIN
: f32 = 0f32;
616 pub const DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT
: f32 = 5000f32;
617 pub const DSFX_I3DL2REVERB_HFREFERENCE_MAX
: f32 = 20000f32;
618 pub const DSFX_I3DL2REVERB_HFREFERENCE_MIN
: f32 = 20f32;
619 pub const DSFX_I3DL2REVERB_QUALITY_DEFAULT
: u32 = 2u32;
620 pub const DSFX_I3DL2REVERB_QUALITY_MAX
: u32 = 3u32;
621 pub const DSFX_I3DL2REVERB_QUALITY_MIN
: u32 = 0u32;
622 pub const DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT
: f32 = 0.007f32;
623 pub const DSFX_I3DL2REVERB_REFLECTIONSDELAY_MAX
: f32 = 0.3f32;
624 pub const DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN
: f32 = 0f32;
625 pub const DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT
: i32 = -2602i32;
626 pub const DSFX_I3DL2REVERB_REFLECTIONS_MAX
: u32 = 1000u32;
627 pub const DSFX_I3DL2REVERB_REFLECTIONS_MIN
: i32 = -10000i32;
628 pub const DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT
: f32 = 0.011f32;
629 pub const DSFX_I3DL2REVERB_REVERBDELAY_MAX
: f32 = 0.1f32;
630 pub const DSFX_I3DL2REVERB_REVERBDELAY_MIN
: f32 = 0f32;
631 pub const DSFX_I3DL2REVERB_REVERB_DEFAULT
: u32 = 200u32;
632 pub const DSFX_I3DL2REVERB_REVERB_MAX
: u32 = 2000u32;
633 pub const DSFX_I3DL2REVERB_REVERB_MIN
: i32 = -10000i32;
634 pub const DSFX_I3DL2REVERB_ROOMHF_DEFAULT
: i32 = -100i32;
635 pub const DSFX_I3DL2REVERB_ROOMHF_MAX
: u32 = 0u32;
636 pub const DSFX_I3DL2REVERB_ROOMHF_MIN
: i32 = -10000i32;
637 pub const DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT
: f32 = 0f32;
638 pub const DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX
: f32 = 10f32;
639 pub const DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN
: f32 = 0f32;
640 pub const DSFX_I3DL2REVERB_ROOM_DEFAULT
: i32 = -1000i32;
641 pub const DSFX_I3DL2REVERB_ROOM_MAX
: u32 = 0u32;
642 pub const DSFX_I3DL2REVERB_ROOM_MIN
: i32 = -10000i32;
643 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_ALLEY
: i32 = 15i32;
644 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_ARENA
: i32 = 10i32;
645 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_AUDITORIUM
: i32 = 7i32;
646 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_BATHROOM
: i32 = 4i32;
647 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_CARPETEDHALLWAY
: i32 = 12i32;
648 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_CAVE
: i32 = 9i32;
649 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_CITY
: i32 = 17i32;
650 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_CONCERTHALL
: i32 = 8i32;
651 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_DEFAULT
: i32 = 0i32;
652 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_FOREST
: i32 = 16i32;
653 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_GENERIC
: i32 = 1i32;
654 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_HALLWAY
: i32 = 13i32;
655 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_HANGAR
: i32 = 11i32;
656 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEHALL
: i32 = 28i32;
657 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEROOM
: i32 = 26i32;
658 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_LIVINGROOM
: i32 = 5i32;
659 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMHALL
: i32 = 27i32;
660 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMROOM
: i32 = 25i32;
661 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_MOUNTAINS
: i32 = 18i32;
662 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_PADDEDCELL
: i32 = 2i32;
663 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_PARKINGLOT
: i32 = 21i32;
664 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_PLAIN
: i32 = 20i32;
665 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_PLATE
: i32 = 29i32;
666 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_QUARRY
: i32 = 19i32;
667 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_ROOM
: i32 = 3i32;
668 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_SEWERPIPE
: i32 = 22i32;
669 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_SMALLROOM
: i32 = 24i32;
670 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_STONECORRIDOR
: i32 = 14i32;
671 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_STONEROOM
: i32 = 6i32;
672 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_UNDERWATER
: i32 = 23i32;
673 pub const DSFX_I3DL2_MATERIAL_PRESET_BRICKWALL
: i32 = 5i32;
674 pub const DSFX_I3DL2_MATERIAL_PRESET_CURTAIN
: i32 = 7i32;
675 pub const DSFX_I3DL2_MATERIAL_PRESET_DOUBLEWINDOW
: i32 = 1i32;
676 pub const DSFX_I3DL2_MATERIAL_PRESET_SINGLEWINDOW
: i32 = 0i32;
677 pub const DSFX_I3DL2_MATERIAL_PRESET_STONEWALL
: i32 = 6i32;
678 pub const DSFX_I3DL2_MATERIAL_PRESET_THICKDOOR
: i32 = 3i32;
679 pub const DSFX_I3DL2_MATERIAL_PRESET_THINDOOR
: i32 = 2i32;
680 pub const DSFX_I3DL2_MATERIAL_PRESET_WOODWALL
: i32 = 4i32;
681 pub const DSFX_LOCHARDWARE
: u32 = 1u32;
682 pub const DSFX_LOCSOFTWARE
: u32 = 2u32;
683 pub const DSFX_WAVESREVERB_HIGHFREQRTRATIO_DEFAULT
: f32 = 0.001f32;
684 pub const DSFX_WAVESREVERB_HIGHFREQRTRATIO_MAX
: f32 = 0.999f32;
685 pub const DSFX_WAVESREVERB_HIGHFREQRTRATIO_MIN
: f32 = 0.001f32;
686 pub const DSFX_WAVESREVERB_INGAIN_DEFAULT
: f32 = 0f32;
687 pub const DSFX_WAVESREVERB_INGAIN_MAX
: f32 = 0f32;
688 pub const DSFX_WAVESREVERB_INGAIN_MIN
: f32 = -96f32;
689 pub const DSFX_WAVESREVERB_REVERBMIX_DEFAULT
: f32 = 0f32;
690 pub const DSFX_WAVESREVERB_REVERBMIX_MAX
: f32 = 0f32;
691 pub const DSFX_WAVESREVERB_REVERBMIX_MIN
: f32 = -96f32;
692 pub const DSFX_WAVESREVERB_REVERBTIME_DEFAULT
: f32 = 1000f32;
693 pub const DSFX_WAVESREVERB_REVERBTIME_MAX
: f32 = 3000f32;
694 pub const DSFX_WAVESREVERB_REVERBTIME_MIN
: f32 = 0.001f32;
695 pub const DSSCL_EXCLUSIVE
: u32 = 3u32;
696 pub const DSSCL_NORMAL
: u32 = 1u32;
697 pub const DSSCL_PRIORITY
: u32 = 2u32;
698 pub const DSSCL_WRITEPRIMARY
: u32 = 4u32;
699 pub const DSSPEAKER_5POINT1
: u32 = 6u32;
700 pub const DSSPEAKER_5POINT1_BACK
: u32 = 6u32;
701 pub const DSSPEAKER_5POINT1_SURROUND
: u32 = 9u32;
702 pub const DSSPEAKER_7POINT1
: u32 = 7u32;
703 pub const DSSPEAKER_7POINT1_SURROUND
: u32 = 8u32;
704 pub const DSSPEAKER_7POINT1_WIDE
: u32 = 7u32;
705 pub const DSSPEAKER_DIRECTOUT
: u32 = 0u32;
706 pub const DSSPEAKER_GEOMETRY_MAX
: u32 = 180u32;
707 pub const DSSPEAKER_GEOMETRY_MIN
: u32 = 5u32;
708 pub const DSSPEAKER_GEOMETRY_NARROW
: u32 = 10u32;
709 pub const DSSPEAKER_GEOMETRY_WIDE
: u32 = 20u32;
710 pub const DSSPEAKER_HEADPHONE
: u32 = 1u32;
711 pub const DSSPEAKER_MONO
: u32 = 2u32;
712 pub const DSSPEAKER_QUAD
: u32 = 3u32;
713 pub const DSSPEAKER_STEREO
: u32 = 4u32;
714 pub const DSSPEAKER_SURROUND
: u32 = 5u32;
715 pub const DS_CERTIFIED
: u32 = 0u32;
716 pub const DS_NO_VIRTUALIZATION
: ::windows_sys
::core
::HRESULT
= 142082058i32;
717 pub const DS_UNCERTIFIED
: u32 = 1u32;
718 pub const GUID_All_Objects
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
722 data4
: [161, 200, 35, 214, 152, 204, 115, 181],
724 pub const GUID_DSCFX_CLASS_AEC
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3214294400, data2: 50521, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] }
;
725 pub const GUID_DSCFX_CLASS_NS
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
729 data4
: [140, 221, 222, 167, 35, 102, 101, 181],
731 pub const GUID_DSCFX_MS_AEC
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
735 data4
: [135, 101, 245, 60, 253, 54, 222, 64],
737 pub const GUID_DSCFX_MS_NS
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
741 data4
: [160, 186, 232, 20, 198, 238, 217, 45],
743 pub const GUID_DSCFX_SYSTEM_AEC
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 472040813, data2: 39033, data3: 20315, data4: [163, 137, 39, 153, 109, 220, 40, 16] }
;
744 pub const GUID_DSCFX_SYSTEM_NS
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
748 data4
: [135, 125, 78, 238, 153, 186, 79, 208],
750 pub const GUID_DSFX_STANDARD_CHORUS
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
754 data4
: [189, 145, 201, 214, 4, 169, 90, 246],
756 pub const GUID_DSFX_STANDARD_COMPRESSOR
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
760 data4
: [135, 175, 191, 251, 63, 195, 157, 87],
762 pub const GUID_DSFX_STANDARD_DISTORTION
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 4010888336, data2: 52509, data3: 18510, data4: [150, 229, 9, 207, 175, 145, 42, 33] }
;
763 pub const GUID_DSFX_STANDARD_ECHO
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
767 data4
: [140, 207, 63, 152, 241, 178, 157, 93],
769 pub const GUID_DSFX_STANDARD_FLANGER
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 4023008658, data2: 57304, data3: 18034, data4: [166, 3, 116, 32, 137, 75, 173, 152] }
;
770 pub const GUID_DSFX_STANDARD_GARGLE
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID
{
774 data4
: [159, 227, 247, 91, 122, 226, 121, 191],
776 pub const GUID_DSFX_STANDARD_I3DL2REVERB
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 4019740273, data2: 54727, data3: 17108, data4: [186, 77, 45, 7, 62, 46, 150, 244] }
;
777 pub const GUID_DSFX_STANDARD_PARAMEQ
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 302837129, data2: 15348, data3: 16755, data4: [161, 50, 60, 180, 6, 207, 50, 49] }
;
778 pub const GUID_DSFX_WAVES_REVERB
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 2281439848, data2: 39509, data3: 17248, data4: [149, 170, 0, 74, 29, 157, 226, 108] }
;
779 pub type IDirectSound
= *mut ::core
::ffi
::c_void
;
780 pub type IDirectSound3DBuffer
= *mut ::core
::ffi
::c_void
;
781 pub type IDirectSound3DListener
= *mut ::core
::ffi
::c_void
;
782 pub type IDirectSound8
= *mut ::core
::ffi
::c_void
;
783 pub type IDirectSoundBuffer
= *mut ::core
::ffi
::c_void
;
784 pub type IDirectSoundBuffer8
= *mut ::core
::ffi
::c_void
;
785 pub type IDirectSoundCapture
= *mut ::core
::ffi
::c_void
;
786 pub type IDirectSoundCaptureBuffer
= *mut ::core
::ffi
::c_void
;
787 pub type IDirectSoundCaptureBuffer8
= *mut ::core
::ffi
::c_void
;
788 pub type IDirectSoundCaptureFXAec
= *mut ::core
::ffi
::c_void
;
789 pub type IDirectSoundCaptureFXNoiseSuppress
= *mut ::core
::ffi
::c_void
;
790 pub type IDirectSoundFXChorus
= *mut ::core
::ffi
::c_void
;
791 pub type IDirectSoundFXCompressor
= *mut ::core
::ffi
::c_void
;
792 pub type IDirectSoundFXDistortion
= *mut ::core
::ffi
::c_void
;
793 pub type IDirectSoundFXEcho
= *mut ::core
::ffi
::c_void
;
794 pub type IDirectSoundFXFlanger
= *mut ::core
::ffi
::c_void
;
795 pub type IDirectSoundFXGargle
= *mut ::core
::ffi
::c_void
;
796 pub type IDirectSoundFXI3DL2Reverb
= *mut ::core
::ffi
::c_void
;
797 pub type IDirectSoundFXParamEq
= *mut ::core
::ffi
::c_void
;
798 pub type IDirectSoundFXWavesReverb
= *mut ::core
::ffi
::c_void
;
799 pub type IDirectSoundFullDuplex
= *mut ::core
::ffi
::c_void
;
800 pub type IDirectSoundNotify
= *mut ::core
::ffi
::c_void
;
801 pub const KSPROPERTY_SUPPORT_GET
: u32 = 1u32;
802 pub const KSPROPERTY_SUPPORT_SET
: u32 = 2u32;
803 #[cfg(feature = "Win32_Foundation")]
804 pub type LPDSENUMCALLBACKA
= unsafe extern "system" fn(param0
: *mut ::windows_sys
::core
::GUID
, param1
: super::super::super::Foundation
::PSTR
, param2
: super::super::super::Foundation
::PSTR
, param3
: *mut ::core
::ffi
::c_void
) -> super::super::super::Foundation
::BOOL
;
805 #[cfg(feature = "Win32_Foundation")]
806 pub type LPDSENUMCALLBACKW
= unsafe extern "system" fn(param0
: *mut ::windows_sys
::core
::GUID
, param1
: super::super::super::Foundation
::PWSTR
, param2
: super::super::super::Foundation
::PWSTR
, param3
: *mut ::core
::ffi
::c_void
) -> super::super::super::Foundation
::BOOL
;
807 pub const _FACDS
: u32 = 2168u32;