1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[cfg(feature = "Win32_Media_Audio_Apo")]
3 pub mod Apo;
4 #[cfg(feature = "Win32_Media_Audio_DirectMusic")]
5 pub mod DirectMusic;
6 #[cfg(feature = "Win32_Media_Audio_DirectSound")]
7 pub mod DirectSound;
8 #[cfg(feature = "Win32_Media_Audio_Endpoints")]
9 pub mod Endpoints;
10 #[cfg(feature = "Win32_Media_Audio_XAudio2")]
11 pub mod XAudio2;
12 #[link(name = "windows")]
13 extern "system" {
14     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage"))]
ActivateAudioInterfaceAsync(deviceinterfacepath: super::super::Foundation::PWSTR, riid: *const ::windows_sys::core::GUID, activationparams: *const super::super::System::Com::StructuredStorage::PROPVARIANT, completionhandler: IActivateAudioInterfaceCompletionHandler, activationoperation: *mut IActivateAudioInterfaceAsyncOperation) -> ::windows_sys::core::HRESULT15     pub fn ActivateAudioInterfaceAsync(deviceinterfacepath: super::super::Foundation::PWSTR, riid: *const ::windows_sys::core::GUID, activationparams: *const super::super::System::Com::StructuredStorage::PROPVARIANT, completionhandler: IActivateAudioInterfaceCompletionHandler, activationoperation: *mut IActivateAudioInterfaceAsyncOperation) -> ::windows_sys::core::HRESULT;
CoRegisterMessageFilter(lpmessagefilter: IMessageFilter, lplpmessagefilter: *mut IMessageFilter) -> ::windows_sys::core::HRESULT16     pub fn CoRegisterMessageFilter(lpmessagefilter: IMessageFilter, lplpmessagefilter: *mut IMessageFilter) -> ::windows_sys::core::HRESULT;
CreateCaptureAudioStateMonitor(audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT17     pub fn CreateCaptureAudioStateMonitor(audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
CreateCaptureAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT18     pub fn CreateCaptureAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
19     #[cfg(feature = "Win32_Foundation")]
CreateCaptureAudioStateMonitorForCategoryAndDeviceId(category: AUDIO_STREAM_CATEGORY, deviceid: super::super::Foundation::PWSTR, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT20     pub fn CreateCaptureAudioStateMonitorForCategoryAndDeviceId(category: AUDIO_STREAM_CATEGORY, deviceid: super::super::Foundation::PWSTR, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
CreateCaptureAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT21     pub fn CreateCaptureAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
CreateRenderAudioStateMonitor(audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT22     pub fn CreateRenderAudioStateMonitor(audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
CreateRenderAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT23     pub fn CreateRenderAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
24     #[cfg(feature = "Win32_Foundation")]
CreateRenderAudioStateMonitorForCategoryAndDeviceId(category: AUDIO_STREAM_CATEGORY, deviceid: super::super::Foundation::PWSTR, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT25     pub fn CreateRenderAudioStateMonitorForCategoryAndDeviceId(category: AUDIO_STREAM_CATEGORY, deviceid: super::super::Foundation::PWSTR, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
CreateRenderAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT26     pub fn CreateRenderAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
27     #[cfg(feature = "Win32_Foundation")]
PlaySoundA(pszsound: super::super::Foundation::PSTR, hmod: super::super::Foundation::HINSTANCE, fdwsound: u32) -> super::super::Foundation::BOOL28     pub fn PlaySoundA(pszsound: super::super::Foundation::PSTR, hmod: super::super::Foundation::HINSTANCE, fdwsound: u32) -> super::super::Foundation::BOOL;
29     #[cfg(feature = "Win32_Foundation")]
PlaySoundW(pszsound: super::super::Foundation::PWSTR, hmod: super::super::Foundation::HINSTANCE, fdwsound: u32) -> super::super::Foundation::BOOL30     pub fn PlaySoundW(pszsound: super::super::Foundation::PWSTR, hmod: super::super::Foundation::HINSTANCE, fdwsound: u32) -> super::super::Foundation::BOOL;
31     #[cfg(feature = "Win32_Foundation")]
acmDriverAddA(phadid: *mut isize, hinstmodule: super::super::Foundation::HINSTANCE, lparam: super::super::Foundation::LPARAM, dwpriority: u32, fdwadd: u32) -> u3232     pub fn acmDriverAddA(phadid: *mut isize, hinstmodule: super::super::Foundation::HINSTANCE, lparam: super::super::Foundation::LPARAM, dwpriority: u32, fdwadd: u32) -> u32;
33     #[cfg(feature = "Win32_Foundation")]
acmDriverAddW(phadid: *mut isize, hinstmodule: super::super::Foundation::HINSTANCE, lparam: super::super::Foundation::LPARAM, dwpriority: u32, fdwadd: u32) -> u3234     pub fn acmDriverAddW(phadid: *mut isize, hinstmodule: super::super::Foundation::HINSTANCE, lparam: super::super::Foundation::LPARAM, dwpriority: u32, fdwadd: u32) -> u32;
acmDriverClose(had: HACMDRIVER, fdwclose: u32) -> u3235     pub fn acmDriverClose(had: HACMDRIVER, fdwclose: u32) -> u32;
36     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
acmDriverDetailsA(hadid: HACMDRIVERID, padd: *mut ACMDRIVERDETAILSA, fdwdetails: u32) -> u3237     pub fn acmDriverDetailsA(hadid: HACMDRIVERID, padd: *mut ACMDRIVERDETAILSA, fdwdetails: u32) -> u32;
38     #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
acmDriverDetailsW(hadid: HACMDRIVERID, padd: *mut ACMDRIVERDETAILSW, fdwdetails: u32) -> u3239     pub fn acmDriverDetailsW(hadid: HACMDRIVERID, padd: *mut ACMDRIVERDETAILSW, fdwdetails: u32) -> u32;
40     #[cfg(feature = "Win32_Foundation")]
acmDriverEnum(fncallback: ::core::option::Option<ACMDRIVERENUMCB>, dwinstance: usize, fdwenum: u32) -> u3241     pub fn acmDriverEnum(fncallback: ::core::option::Option<ACMDRIVERENUMCB>, dwinstance: usize, fdwenum: u32) -> u32;
acmDriverID(hao: HACMOBJ, phadid: *mut isize, fdwdriverid: u32) -> u3242     pub fn acmDriverID(hao: HACMOBJ, phadid: *mut isize, fdwdriverid: u32) -> u32;
43     #[cfg(feature = "Win32_Foundation")]
acmDriverMessage(had: HACMDRIVER, umsg: u32, lparam1: super::super::Foundation::LPARAM, lparam2: super::super::Foundation::LPARAM) -> super::super::Foundation::LRESULT44     pub fn acmDriverMessage(had: HACMDRIVER, umsg: u32, lparam1: super::super::Foundation::LPARAM, lparam2: super::super::Foundation::LPARAM) -> super::super::Foundation::LRESULT;
acmDriverOpen(phad: *mut isize, hadid: HACMDRIVERID, fdwopen: u32) -> u3245     pub fn acmDriverOpen(phad: *mut isize, hadid: HACMDRIVERID, fdwopen: u32) -> u32;
acmDriverPriority(hadid: HACMDRIVERID, dwpriority: u32, fdwpriority: u32) -> u3246     pub fn acmDriverPriority(hadid: HACMDRIVERID, dwpriority: u32, fdwpriority: u32) -> u32;
acmDriverRemove(hadid: HACMDRIVERID, fdwremove: u32) -> u3247     pub fn acmDriverRemove(hadid: HACMDRIVERID, fdwremove: u32) -> u32;
48     #[cfg(feature = "Win32_Foundation")]
acmFilterChooseA(pafltrc: *mut ACMFILTERCHOOSEA) -> u3249     pub fn acmFilterChooseA(pafltrc: *mut ACMFILTERCHOOSEA) -> u32;
50     #[cfg(feature = "Win32_Foundation")]
acmFilterChooseW(pafltrc: *mut ACMFILTERCHOOSEW) -> u3251     pub fn acmFilterChooseW(pafltrc: *mut ACMFILTERCHOOSEW) -> u32;
52     #[cfg(feature = "Win32_Foundation")]
acmFilterDetailsA(had: HACMDRIVER, pafd: *mut ACMFILTERDETAILSA, fdwdetails: u32) -> u3253     pub fn acmFilterDetailsA(had: HACMDRIVER, pafd: *mut ACMFILTERDETAILSA, fdwdetails: u32) -> u32;
acmFilterDetailsW(had: HACMDRIVER, pafd: *mut ACMFILTERDETAILSW, fdwdetails: u32) -> u3254     pub fn acmFilterDetailsW(had: HACMDRIVER, pafd: *mut ACMFILTERDETAILSW, fdwdetails: u32) -> u32;
55     #[cfg(feature = "Win32_Foundation")]
acmFilterEnumA(had: HACMDRIVER, pafd: *mut ACMFILTERDETAILSA, fncallback: ::core::option::Option<ACMFILTERENUMCBA>, dwinstance: usize, fdwenum: u32) -> u3256     pub fn acmFilterEnumA(had: HACMDRIVER, pafd: *mut ACMFILTERDETAILSA, fncallback: ::core::option::Option<ACMFILTERENUMCBA>, dwinstance: usize, fdwenum: u32) -> u32;
57     #[cfg(feature = "Win32_Foundation")]
acmFilterEnumW(had: HACMDRIVER, pafd: *mut ACMFILTERDETAILSW, fncallback: ::core::option::Option<ACMFILTERENUMCBW>, dwinstance: usize, fdwenum: u32) -> u3258     pub fn acmFilterEnumW(had: HACMDRIVER, pafd: *mut ACMFILTERDETAILSW, fncallback: ::core::option::Option<ACMFILTERENUMCBW>, dwinstance: usize, fdwenum: u32) -> u32;
59     #[cfg(feature = "Win32_Foundation")]
acmFilterTagDetailsA(had: HACMDRIVER, paftd: *mut ACMFILTERTAGDETAILSA, fdwdetails: u32) -> u3260     pub fn acmFilterTagDetailsA(had: HACMDRIVER, paftd: *mut ACMFILTERTAGDETAILSA, fdwdetails: u32) -> u32;
acmFilterTagDetailsW(had: HACMDRIVER, paftd: *mut ACMFILTERTAGDETAILSW, fdwdetails: u32) -> u3261     pub fn acmFilterTagDetailsW(had: HACMDRIVER, paftd: *mut ACMFILTERTAGDETAILSW, fdwdetails: u32) -> u32;
62     #[cfg(feature = "Win32_Foundation")]
acmFilterTagEnumA(had: HACMDRIVER, paftd: *mut ACMFILTERTAGDETAILSA, fncallback: ::core::option::Option<ACMFILTERTAGENUMCBA>, dwinstance: usize, fdwenum: u32) -> u3263     pub fn acmFilterTagEnumA(had: HACMDRIVER, paftd: *mut ACMFILTERTAGDETAILSA, fncallback: ::core::option::Option<ACMFILTERTAGENUMCBA>, dwinstance: usize, fdwenum: u32) -> u32;
64     #[cfg(feature = "Win32_Foundation")]
acmFilterTagEnumW(had: HACMDRIVER, paftd: *mut ACMFILTERTAGDETAILSW, fncallback: ::core::option::Option<ACMFILTERTAGENUMCBW>, dwinstance: usize, fdwenum: u32) -> u3265     pub fn acmFilterTagEnumW(had: HACMDRIVER, paftd: *mut ACMFILTERTAGDETAILSW, fncallback: ::core::option::Option<ACMFILTERTAGENUMCBW>, dwinstance: usize, fdwenum: u32) -> u32;
66     #[cfg(feature = "Win32_Foundation")]
acmFormatChooseA(pafmtc: *mut ACMFORMATCHOOSEA) -> u3267     pub fn acmFormatChooseA(pafmtc: *mut ACMFORMATCHOOSEA) -> u32;
68     #[cfg(feature = "Win32_Foundation")]
acmFormatChooseW(pafmtc: *mut ACMFORMATCHOOSEW) -> u3269     pub fn acmFormatChooseW(pafmtc: *mut ACMFORMATCHOOSEW) -> u32;
70     #[cfg(feature = "Win32_Foundation")]
acmFormatDetailsA(had: HACMDRIVER, pafd: *mut ACMFORMATDETAILSA, fdwdetails: u32) -> u3271     pub fn acmFormatDetailsA(had: HACMDRIVER, pafd: *mut ACMFORMATDETAILSA, fdwdetails: u32) -> u32;
acmFormatDetailsW(had: HACMDRIVER, pafd: *mut tACMFORMATDETAILSW, fdwdetails: u32) -> u3272     pub fn acmFormatDetailsW(had: HACMDRIVER, pafd: *mut tACMFORMATDETAILSW, fdwdetails: u32) -> u32;
73     #[cfg(feature = "Win32_Foundation")]
acmFormatEnumA(had: HACMDRIVER, pafd: *mut ACMFORMATDETAILSA, fncallback: ::core::option::Option<ACMFORMATENUMCBA>, dwinstance: usize, fdwenum: u32) -> u3274     pub fn acmFormatEnumA(had: HACMDRIVER, pafd: *mut ACMFORMATDETAILSA, fncallback: ::core::option::Option<ACMFORMATENUMCBA>, dwinstance: usize, fdwenum: u32) -> u32;
75     #[cfg(feature = "Win32_Foundation")]
acmFormatEnumW(had: HACMDRIVER, pafd: *mut tACMFORMATDETAILSW, fncallback: ::core::option::Option<ACMFORMATENUMCBW>, dwinstance: usize, fdwenum: u32) -> u3276     pub fn acmFormatEnumW(had: HACMDRIVER, pafd: *mut tACMFORMATDETAILSW, fncallback: ::core::option::Option<ACMFORMATENUMCBW>, dwinstance: usize, fdwenum: u32) -> u32;
acmFormatSuggest(had: HACMDRIVER, pwfxsrc: *mut WAVEFORMATEX, pwfxdst: *mut WAVEFORMATEX, cbwfxdst: u32, fdwsuggest: u32) -> u3277     pub fn acmFormatSuggest(had: HACMDRIVER, pwfxsrc: *mut WAVEFORMATEX, pwfxdst: *mut WAVEFORMATEX, cbwfxdst: u32, fdwsuggest: u32) -> u32;
78     #[cfg(feature = "Win32_Foundation")]
acmFormatTagDetailsA(had: HACMDRIVER, paftd: *mut ACMFORMATTAGDETAILSA, fdwdetails: u32) -> u3279     pub fn acmFormatTagDetailsA(had: HACMDRIVER, paftd: *mut ACMFORMATTAGDETAILSA, fdwdetails: u32) -> u32;
acmFormatTagDetailsW(had: HACMDRIVER, paftd: *mut ACMFORMATTAGDETAILSW, fdwdetails: u32) -> u3280     pub fn acmFormatTagDetailsW(had: HACMDRIVER, paftd: *mut ACMFORMATTAGDETAILSW, fdwdetails: u32) -> u32;
81     #[cfg(feature = "Win32_Foundation")]
acmFormatTagEnumA(had: HACMDRIVER, paftd: *mut ACMFORMATTAGDETAILSA, fncallback: ::core::option::Option<ACMFORMATTAGENUMCBA>, dwinstance: usize, fdwenum: u32) -> u3282     pub fn acmFormatTagEnumA(had: HACMDRIVER, paftd: *mut ACMFORMATTAGDETAILSA, fncallback: ::core::option::Option<ACMFORMATTAGENUMCBA>, dwinstance: usize, fdwenum: u32) -> u32;
83     #[cfg(feature = "Win32_Foundation")]
acmFormatTagEnumW(had: HACMDRIVER, paftd: *mut ACMFORMATTAGDETAILSW, fncallback: ::core::option::Option<ACMFORMATTAGENUMCBW>, dwinstance: usize, fdwenum: u32) -> u3284     pub fn acmFormatTagEnumW(had: HACMDRIVER, paftd: *mut ACMFORMATTAGDETAILSW, fncallback: ::core::option::Option<ACMFORMATTAGENUMCBW>, dwinstance: usize, fdwenum: u32) -> u32;
acmGetVersion() -> u3285     pub fn acmGetVersion() -> u32;
acmMetrics(hao: HACMOBJ, umetric: u32, pmetric: *mut ::core::ffi::c_void) -> u3286     pub fn acmMetrics(hao: HACMOBJ, umetric: u32, pmetric: *mut ::core::ffi::c_void) -> u32;
acmStreamClose(has: HACMSTREAM, fdwclose: u32) -> u3287     pub fn acmStreamClose(has: HACMSTREAM, fdwclose: u32) -> u32;
acmStreamConvert(has: HACMSTREAM, pash: *mut ACMSTREAMHEADER, fdwconvert: u32) -> u3288     pub fn acmStreamConvert(has: HACMSTREAM, pash: *mut ACMSTREAMHEADER, fdwconvert: u32) -> u32;
89     #[cfg(feature = "Win32_Foundation")]
acmStreamMessage(has: HACMSTREAM, umsg: u32, lparam1: super::super::Foundation::LPARAM, lparam2: super::super::Foundation::LPARAM) -> u3290     pub fn acmStreamMessage(has: HACMSTREAM, umsg: u32, lparam1: super::super::Foundation::LPARAM, lparam2: super::super::Foundation::LPARAM) -> u32;
acmStreamOpen(phas: *mut isize, had: HACMDRIVER, pwfxsrc: *mut WAVEFORMATEX, pwfxdst: *mut WAVEFORMATEX, pwfltr: *mut WAVEFILTER, dwcallback: usize, dwinstance: usize, fdwopen: u32) -> u3291     pub fn acmStreamOpen(phas: *mut isize, had: HACMDRIVER, pwfxsrc: *mut WAVEFORMATEX, pwfxdst: *mut WAVEFORMATEX, pwfltr: *mut WAVEFILTER, dwcallback: usize, dwinstance: usize, fdwopen: u32) -> u32;
acmStreamPrepareHeader(has: HACMSTREAM, pash: *mut ACMSTREAMHEADER, fdwprepare: u32) -> u3292     pub fn acmStreamPrepareHeader(has: HACMSTREAM, pash: *mut ACMSTREAMHEADER, fdwprepare: u32) -> u32;
acmStreamReset(has: HACMSTREAM, fdwreset: u32) -> u3293     pub fn acmStreamReset(has: HACMSTREAM, fdwreset: u32) -> u32;
acmStreamSize(has: HACMSTREAM, cbinput: u32, pdwoutputbytes: *mut u32, fdwsize: u32) -> u3294     pub fn acmStreamSize(has: HACMSTREAM, cbinput: u32, pdwoutputbytes: *mut u32, fdwsize: u32) -> u32;
acmStreamUnprepareHeader(has: HACMSTREAM, pash: *mut ACMSTREAMHEADER, fdwunprepare: u32) -> u3295     pub fn acmStreamUnprepareHeader(has: HACMSTREAM, pash: *mut ACMSTREAMHEADER, fdwunprepare: u32) -> u32;
96     #[cfg(feature = "Win32_Foundation")]
auxGetDevCapsA(udeviceid: usize, pac: *mut AUXCAPSA, cbac: u32) -> u3297     pub fn auxGetDevCapsA(udeviceid: usize, pac: *mut AUXCAPSA, cbac: u32) -> u32;
auxGetDevCapsW(udeviceid: usize, pac: *mut AUXCAPSW, cbac: u32) -> u3298     pub fn auxGetDevCapsW(udeviceid: usize, pac: *mut AUXCAPSW, cbac: u32) -> u32;
auxGetNumDevs() -> u3299     pub fn auxGetNumDevs() -> u32;
auxGetVolume(udeviceid: u32, pdwvolume: *mut u32) -> u32100     pub fn auxGetVolume(udeviceid: u32, pdwvolume: *mut u32) -> u32;
auxOutMessage(udeviceid: u32, umsg: u32, dw1: usize, dw2: usize) -> u32101     pub fn auxOutMessage(udeviceid: u32, umsg: u32, dw1: usize, dw2: usize) -> u32;
auxSetVolume(udeviceid: u32, dwvolume: u32) -> u32102     pub fn auxSetVolume(udeviceid: u32, dwvolume: u32) -> u32;
midiConnect(hmi: HMIDI, hmo: HMIDIOUT, preserved: *const ::core::ffi::c_void) -> u32103     pub fn midiConnect(hmi: HMIDI, hmo: HMIDIOUT, preserved: *const ::core::ffi::c_void) -> u32;
midiDisconnect(hmi: HMIDI, hmo: HMIDIOUT, preserved: *const ::core::ffi::c_void) -> u32104     pub fn midiDisconnect(hmi: HMIDI, hmo: HMIDIOUT, preserved: *const ::core::ffi::c_void) -> u32;
105     #[cfg(feature = "Win32_Foundation")]
midiInAddBuffer(hmi: HMIDIIN, pmh: *mut MIDIHDR, cbmh: u32) -> u32106     pub fn midiInAddBuffer(hmi: HMIDIIN, pmh: *mut MIDIHDR, cbmh: u32) -> u32;
midiInClose(hmi: HMIDIIN) -> u32107     pub fn midiInClose(hmi: HMIDIIN) -> u32;
108     #[cfg(feature = "Win32_Foundation")]
midiInGetDevCapsA(udeviceid: usize, pmic: *mut MIDIINCAPSA, cbmic: u32) -> u32109     pub fn midiInGetDevCapsA(udeviceid: usize, pmic: *mut MIDIINCAPSA, cbmic: u32) -> u32;
midiInGetDevCapsW(udeviceid: usize, pmic: *mut MIDIINCAPSW, cbmic: u32) -> u32110     pub fn midiInGetDevCapsW(udeviceid: usize, pmic: *mut MIDIINCAPSW, cbmic: u32) -> u32;
111     #[cfg(feature = "Win32_Foundation")]
midiInGetErrorTextA(mmrerror: u32, psztext: super::super::Foundation::PSTR, cchtext: u32) -> u32112     pub fn midiInGetErrorTextA(mmrerror: u32, psztext: super::super::Foundation::PSTR, cchtext: u32) -> u32;
113     #[cfg(feature = "Win32_Foundation")]
midiInGetErrorTextW(mmrerror: u32, psztext: super::super::Foundation::PWSTR, cchtext: u32) -> u32114     pub fn midiInGetErrorTextW(mmrerror: u32, psztext: super::super::Foundation::PWSTR, cchtext: u32) -> u32;
midiInGetID(hmi: HMIDIIN, pudeviceid: *mut u32) -> u32115     pub fn midiInGetID(hmi: HMIDIIN, pudeviceid: *mut u32) -> u32;
midiInGetNumDevs() -> u32116     pub fn midiInGetNumDevs() -> u32;
midiInMessage(hmi: HMIDIIN, umsg: u32, dw1: usize, dw2: usize) -> u32117     pub fn midiInMessage(hmi: HMIDIIN, umsg: u32, dw1: usize, dw2: usize) -> u32;
midiInOpen(phmi: *mut HMIDIIN, udeviceid: u32, dwcallback: usize, dwinstance: usize, fdwopen: MIDI_WAVE_OPEN_TYPE) -> u32118     pub fn midiInOpen(phmi: *mut HMIDIIN, udeviceid: u32, dwcallback: usize, dwinstance: usize, fdwopen: MIDI_WAVE_OPEN_TYPE) -> u32;
119     #[cfg(feature = "Win32_Foundation")]
midiInPrepareHeader(hmi: HMIDIIN, pmh: *mut MIDIHDR, cbmh: u32) -> u32120     pub fn midiInPrepareHeader(hmi: HMIDIIN, pmh: *mut MIDIHDR, cbmh: u32) -> u32;
midiInReset(hmi: HMIDIIN) -> u32121     pub fn midiInReset(hmi: HMIDIIN) -> u32;
midiInStart(hmi: HMIDIIN) -> u32122     pub fn midiInStart(hmi: HMIDIIN) -> u32;
midiInStop(hmi: HMIDIIN) -> u32123     pub fn midiInStop(hmi: HMIDIIN) -> u32;
124     #[cfg(feature = "Win32_Foundation")]
midiInUnprepareHeader(hmi: HMIDIIN, pmh: *mut MIDIHDR, cbmh: u32) -> u32125     pub fn midiInUnprepareHeader(hmi: HMIDIIN, pmh: *mut MIDIHDR, cbmh: u32) -> u32;
midiOutCacheDrumPatches(hmo: HMIDIOUT, upatch: u32, pwkya: *const u16, fucache: u32) -> u32126     pub fn midiOutCacheDrumPatches(hmo: HMIDIOUT, upatch: u32, pwkya: *const u16, fucache: u32) -> u32;
midiOutCachePatches(hmo: HMIDIOUT, ubank: u32, pwpa: *const u16, fucache: u32) -> u32127     pub fn midiOutCachePatches(hmo: HMIDIOUT, ubank: u32, pwpa: *const u16, fucache: u32) -> u32;
midiOutClose(hmo: HMIDIOUT) -> u32128     pub fn midiOutClose(hmo: HMIDIOUT) -> u32;
129     #[cfg(feature = "Win32_Foundation")]
midiOutGetDevCapsA(udeviceid: usize, pmoc: *mut MIDIOUTCAPSA, cbmoc: u32) -> u32130     pub fn midiOutGetDevCapsA(udeviceid: usize, pmoc: *mut MIDIOUTCAPSA, cbmoc: u32) -> u32;
midiOutGetDevCapsW(udeviceid: usize, pmoc: *mut MIDIOUTCAPSW, cbmoc: u32) -> u32131     pub fn midiOutGetDevCapsW(udeviceid: usize, pmoc: *mut MIDIOUTCAPSW, cbmoc: u32) -> u32;
132     #[cfg(feature = "Win32_Foundation")]
midiOutGetErrorTextA(mmrerror: u32, psztext: super::super::Foundation::PSTR, cchtext: u32) -> u32133     pub fn midiOutGetErrorTextA(mmrerror: u32, psztext: super::super::Foundation::PSTR, cchtext: u32) -> u32;
134     #[cfg(feature = "Win32_Foundation")]
midiOutGetErrorTextW(mmrerror: u32, psztext: super::super::Foundation::PWSTR, cchtext: u32) -> u32135     pub fn midiOutGetErrorTextW(mmrerror: u32, psztext: super::super::Foundation::PWSTR, cchtext: u32) -> u32;
midiOutGetID(hmo: HMIDIOUT, pudeviceid: *mut u32) -> u32136     pub fn midiOutGetID(hmo: HMIDIOUT, pudeviceid: *mut u32) -> u32;
midiOutGetNumDevs() -> u32137     pub fn midiOutGetNumDevs() -> u32;
midiOutGetVolume(hmo: HMIDIOUT, pdwvolume: *mut u32) -> u32138     pub fn midiOutGetVolume(hmo: HMIDIOUT, pdwvolume: *mut u32) -> u32;
139     #[cfg(feature = "Win32_Foundation")]
midiOutLongMsg(hmo: HMIDIOUT, pmh: *const MIDIHDR, cbmh: u32) -> u32140     pub fn midiOutLongMsg(hmo: HMIDIOUT, pmh: *const MIDIHDR, cbmh: u32) -> u32;
midiOutMessage(hmo: HMIDIOUT, umsg: u32, dw1: usize, dw2: usize) -> u32141     pub fn midiOutMessage(hmo: HMIDIOUT, umsg: u32, dw1: usize, dw2: usize) -> u32;
midiOutOpen(phmo: *mut HMIDIOUT, udeviceid: u32, dwcallback: usize, dwinstance: usize, fdwopen: MIDI_WAVE_OPEN_TYPE) -> u32142     pub fn midiOutOpen(phmo: *mut HMIDIOUT, udeviceid: u32, dwcallback: usize, dwinstance: usize, fdwopen: MIDI_WAVE_OPEN_TYPE) -> u32;
143     #[cfg(feature = "Win32_Foundation")]
midiOutPrepareHeader(hmo: HMIDIOUT, pmh: *mut MIDIHDR, cbmh: u32) -> u32144     pub fn midiOutPrepareHeader(hmo: HMIDIOUT, pmh: *mut MIDIHDR, cbmh: u32) -> u32;
midiOutReset(hmo: HMIDIOUT) -> u32145     pub fn midiOutReset(hmo: HMIDIOUT) -> u32;
midiOutSetVolume(hmo: HMIDIOUT, dwvolume: u32) -> u32146     pub fn midiOutSetVolume(hmo: HMIDIOUT, dwvolume: u32) -> u32;
midiOutShortMsg(hmo: HMIDIOUT, dwmsg: u32) -> u32147     pub fn midiOutShortMsg(hmo: HMIDIOUT, dwmsg: u32) -> u32;
148     #[cfg(feature = "Win32_Foundation")]
midiOutUnprepareHeader(hmo: HMIDIOUT, pmh: *mut MIDIHDR, cbmh: u32) -> u32149     pub fn midiOutUnprepareHeader(hmo: HMIDIOUT, pmh: *mut MIDIHDR, cbmh: u32) -> u32;
midiStreamClose(hms: HMIDISTRM) -> u32150     pub fn midiStreamClose(hms: HMIDISTRM) -> u32;
midiStreamOpen(phms: *mut HMIDISTRM, pudeviceid: *mut u32, cmidi: u32, dwcallback: usize, dwinstance: usize, fdwopen: u32) -> u32151     pub fn midiStreamOpen(phms: *mut HMIDISTRM, pudeviceid: *mut u32, cmidi: u32, dwcallback: usize, dwinstance: usize, fdwopen: u32) -> u32;
152     #[cfg(feature = "Win32_Foundation")]
midiStreamOut(hms: HMIDISTRM, pmh: *mut MIDIHDR, cbmh: u32) -> u32153     pub fn midiStreamOut(hms: HMIDISTRM, pmh: *mut MIDIHDR, cbmh: u32) -> u32;
midiStreamPause(hms: HMIDISTRM) -> u32154     pub fn midiStreamPause(hms: HMIDISTRM) -> u32;
midiStreamPosition(hms: HMIDISTRM, lpmmt: *mut super::MMTIME, cbmmt: u32) -> u32155     pub fn midiStreamPosition(hms: HMIDISTRM, lpmmt: *mut super::MMTIME, cbmmt: u32) -> u32;
midiStreamProperty(hms: HMIDISTRM, lppropdata: *mut u8, dwproperty: u32) -> u32156     pub fn midiStreamProperty(hms: HMIDISTRM, lppropdata: *mut u8, dwproperty: u32) -> u32;
midiStreamRestart(hms: HMIDISTRM) -> u32157     pub fn midiStreamRestart(hms: HMIDISTRM) -> u32;
midiStreamStop(hms: HMIDISTRM) -> u32158     pub fn midiStreamStop(hms: HMIDISTRM) -> u32;
mixerClose(hmx: HMIXER) -> u32159     pub fn mixerClose(hmx: HMIXER) -> u32;
160     #[cfg(feature = "Win32_Foundation")]
mixerGetControlDetailsA(hmxobj: HMIXEROBJ, pmxcd: *mut MIXERCONTROLDETAILS, fdwdetails: u32) -> u32161     pub fn mixerGetControlDetailsA(hmxobj: HMIXEROBJ, pmxcd: *mut MIXERCONTROLDETAILS, fdwdetails: u32) -> u32;
162     #[cfg(feature = "Win32_Foundation")]
mixerGetControlDetailsW(hmxobj: HMIXEROBJ, pmxcd: *mut MIXERCONTROLDETAILS, fdwdetails: u32) -> u32163     pub fn mixerGetControlDetailsW(hmxobj: HMIXEROBJ, pmxcd: *mut MIXERCONTROLDETAILS, fdwdetails: u32) -> u32;
164     #[cfg(feature = "Win32_Foundation")]
mixerGetDevCapsA(umxid: usize, pmxcaps: *mut MIXERCAPSA, cbmxcaps: u32) -> u32165     pub fn mixerGetDevCapsA(umxid: usize, pmxcaps: *mut MIXERCAPSA, cbmxcaps: u32) -> u32;
mixerGetDevCapsW(umxid: usize, pmxcaps: *mut MIXERCAPSW, cbmxcaps: u32) -> u32166     pub fn mixerGetDevCapsW(umxid: usize, pmxcaps: *mut MIXERCAPSW, cbmxcaps: u32) -> u32;
mixerGetID(hmxobj: HMIXEROBJ, pumxid: *mut u32, fdwid: u32) -> u32167     pub fn mixerGetID(hmxobj: HMIXEROBJ, pumxid: *mut u32, fdwid: u32) -> u32;
168     #[cfg(feature = "Win32_Foundation")]
mixerGetLineControlsA(hmxobj: HMIXEROBJ, pmxlc: *mut MIXERLINECONTROLSA, fdwcontrols: u32) -> u32169     pub fn mixerGetLineControlsA(hmxobj: HMIXEROBJ, pmxlc: *mut MIXERLINECONTROLSA, fdwcontrols: u32) -> u32;
mixerGetLineControlsW(hmxobj: HMIXEROBJ, pmxlc: *mut MIXERLINECONTROLSW, fdwcontrols: u32) -> u32170     pub fn mixerGetLineControlsW(hmxobj: HMIXEROBJ, pmxlc: *mut MIXERLINECONTROLSW, fdwcontrols: u32) -> u32;
171     #[cfg(feature = "Win32_Foundation")]
mixerGetLineInfoA(hmxobj: HMIXEROBJ, pmxl: *mut MIXERLINEA, fdwinfo: u32) -> u32172     pub fn mixerGetLineInfoA(hmxobj: HMIXEROBJ, pmxl: *mut MIXERLINEA, fdwinfo: u32) -> u32;
mixerGetLineInfoW(hmxobj: HMIXEROBJ, pmxl: *mut MIXERLINEW, fdwinfo: u32) -> u32173     pub fn mixerGetLineInfoW(hmxobj: HMIXEROBJ, pmxl: *mut MIXERLINEW, fdwinfo: u32) -> u32;
mixerGetNumDevs() -> u32174     pub fn mixerGetNumDevs() -> u32;
mixerMessage(hmx: HMIXER, umsg: u32, dwparam1: usize, dwparam2: usize) -> u32175     pub fn mixerMessage(hmx: HMIXER, umsg: u32, dwparam1: usize, dwparam2: usize) -> u32;
mixerOpen(phmx: *mut isize, umxid: u32, dwcallback: usize, dwinstance: usize, fdwopen: u32) -> u32176     pub fn mixerOpen(phmx: *mut isize, umxid: u32, dwcallback: usize, dwinstance: usize, fdwopen: u32) -> u32;
177     #[cfg(feature = "Win32_Foundation")]
mixerSetControlDetails(hmxobj: HMIXEROBJ, pmxcd: *const MIXERCONTROLDETAILS, fdwdetails: u32) -> u32178     pub fn mixerSetControlDetails(hmxobj: HMIXEROBJ, pmxcd: *const MIXERCONTROLDETAILS, fdwdetails: u32) -> u32;
179     #[cfg(feature = "Win32_Foundation")]
sndPlaySoundA(pszsound: super::super::Foundation::PSTR, fusound: u32) -> super::super::Foundation::BOOL180     pub fn sndPlaySoundA(pszsound: super::super::Foundation::PSTR, fusound: u32) -> super::super::Foundation::BOOL;
181     #[cfg(feature = "Win32_Foundation")]
sndPlaySoundW(pszsound: super::super::Foundation::PWSTR, fusound: u32) -> super::super::Foundation::BOOL182     pub fn sndPlaySoundW(pszsound: super::super::Foundation::PWSTR, fusound: u32) -> super::super::Foundation::BOOL;
183     #[cfg(feature = "Win32_Foundation")]
waveInAddBuffer(hwi: HWAVEIN, pwh: *mut WAVEHDR, cbwh: u32) -> u32184     pub fn waveInAddBuffer(hwi: HWAVEIN, pwh: *mut WAVEHDR, cbwh: u32) -> u32;
waveInClose(hwi: HWAVEIN) -> u32185     pub fn waveInClose(hwi: HWAVEIN) -> u32;
186     #[cfg(feature = "Win32_Foundation")]
waveInGetDevCapsA(udeviceid: usize, pwic: *mut WAVEINCAPSA, cbwic: u32) -> u32187     pub fn waveInGetDevCapsA(udeviceid: usize, pwic: *mut WAVEINCAPSA, cbwic: u32) -> u32;
waveInGetDevCapsW(udeviceid: usize, pwic: *mut WAVEINCAPSW, cbwic: u32) -> u32188     pub fn waveInGetDevCapsW(udeviceid: usize, pwic: *mut WAVEINCAPSW, cbwic: u32) -> u32;
189     #[cfg(feature = "Win32_Foundation")]
waveInGetErrorTextA(mmrerror: u32, psztext: super::super::Foundation::PSTR, cchtext: u32) -> u32190     pub fn waveInGetErrorTextA(mmrerror: u32, psztext: super::super::Foundation::PSTR, cchtext: u32) -> u32;
191     #[cfg(feature = "Win32_Foundation")]
waveInGetErrorTextW(mmrerror: u32, psztext: super::super::Foundation::PWSTR, cchtext: u32) -> u32192     pub fn waveInGetErrorTextW(mmrerror: u32, psztext: super::super::Foundation::PWSTR, cchtext: u32) -> u32;
waveInGetID(hwi: HWAVEIN, pudeviceid: *const u32) -> u32193     pub fn waveInGetID(hwi: HWAVEIN, pudeviceid: *const u32) -> u32;
waveInGetNumDevs() -> u32194     pub fn waveInGetNumDevs() -> u32;
waveInGetPosition(hwi: HWAVEIN, pmmt: *mut super::MMTIME, cbmmt: u32) -> u32195     pub fn waveInGetPosition(hwi: HWAVEIN, pmmt: *mut super::MMTIME, cbmmt: u32) -> u32;
waveInMessage(hwi: HWAVEIN, umsg: u32, dw1: usize, dw2: usize) -> u32196     pub fn waveInMessage(hwi: HWAVEIN, umsg: u32, dw1: usize, dw2: usize) -> u32;
waveInOpen(phwi: *mut HWAVEIN, udeviceid: u32, pwfx: *const WAVEFORMATEX, dwcallback: usize, dwinstance: usize, fdwopen: MIDI_WAVE_OPEN_TYPE) -> u32197     pub fn waveInOpen(phwi: *mut HWAVEIN, udeviceid: u32, pwfx: *const WAVEFORMATEX, dwcallback: usize, dwinstance: usize, fdwopen: MIDI_WAVE_OPEN_TYPE) -> u32;
198     #[cfg(feature = "Win32_Foundation")]
waveInPrepareHeader(hwi: HWAVEIN, pwh: *mut WAVEHDR, cbwh: u32) -> u32199     pub fn waveInPrepareHeader(hwi: HWAVEIN, pwh: *mut WAVEHDR, cbwh: u32) -> u32;
waveInReset(hwi: HWAVEIN) -> u32200     pub fn waveInReset(hwi: HWAVEIN) -> u32;
waveInStart(hwi: HWAVEIN) -> u32201     pub fn waveInStart(hwi: HWAVEIN) -> u32;
waveInStop(hwi: HWAVEIN) -> u32202     pub fn waveInStop(hwi: HWAVEIN) -> u32;
203     #[cfg(feature = "Win32_Foundation")]
waveInUnprepareHeader(hwi: HWAVEIN, pwh: *mut WAVEHDR, cbwh: u32) -> u32204     pub fn waveInUnprepareHeader(hwi: HWAVEIN, pwh: *mut WAVEHDR, cbwh: u32) -> u32;
waveOutBreakLoop(hwo: HWAVEOUT) -> u32205     pub fn waveOutBreakLoop(hwo: HWAVEOUT) -> u32;
waveOutClose(hwo: HWAVEOUT) -> u32206     pub fn waveOutClose(hwo: HWAVEOUT) -> u32;
207     #[cfg(feature = "Win32_Foundation")]
waveOutGetDevCapsA(udeviceid: usize, pwoc: *mut WAVEOUTCAPSA, cbwoc: u32) -> u32208     pub fn waveOutGetDevCapsA(udeviceid: usize, pwoc: *mut WAVEOUTCAPSA, cbwoc: u32) -> u32;
waveOutGetDevCapsW(udeviceid: usize, pwoc: *mut WAVEOUTCAPSW, cbwoc: u32) -> u32209     pub fn waveOutGetDevCapsW(udeviceid: usize, pwoc: *mut WAVEOUTCAPSW, cbwoc: u32) -> u32;
210     #[cfg(feature = "Win32_Foundation")]
waveOutGetErrorTextA(mmrerror: u32, psztext: super::super::Foundation::PSTR, cchtext: u32) -> u32211     pub fn waveOutGetErrorTextA(mmrerror: u32, psztext: super::super::Foundation::PSTR, cchtext: u32) -> u32;
212     #[cfg(feature = "Win32_Foundation")]
waveOutGetErrorTextW(mmrerror: u32, psztext: super::super::Foundation::PWSTR, cchtext: u32) -> u32213     pub fn waveOutGetErrorTextW(mmrerror: u32, psztext: super::super::Foundation::PWSTR, cchtext: u32) -> u32;
waveOutGetID(hwo: HWAVEOUT, pudeviceid: *mut u32) -> u32214     pub fn waveOutGetID(hwo: HWAVEOUT, pudeviceid: *mut u32) -> u32;
waveOutGetNumDevs() -> u32215     pub fn waveOutGetNumDevs() -> u32;
waveOutGetPitch(hwo: HWAVEOUT, pdwpitch: *mut u32) -> u32216     pub fn waveOutGetPitch(hwo: HWAVEOUT, pdwpitch: *mut u32) -> u32;
waveOutGetPlaybackRate(hwo: HWAVEOUT, pdwrate: *mut u32) -> u32217     pub fn waveOutGetPlaybackRate(hwo: HWAVEOUT, pdwrate: *mut u32) -> u32;
waveOutGetPosition(hwo: HWAVEOUT, pmmt: *mut super::MMTIME, cbmmt: u32) -> u32218     pub fn waveOutGetPosition(hwo: HWAVEOUT, pmmt: *mut super::MMTIME, cbmmt: u32) -> u32;
waveOutGetVolume(hwo: HWAVEOUT, pdwvolume: *mut u32) -> u32219     pub fn waveOutGetVolume(hwo: HWAVEOUT, pdwvolume: *mut u32) -> u32;
waveOutMessage(hwo: HWAVEOUT, umsg: u32, dw1: usize, dw2: usize) -> u32220     pub fn waveOutMessage(hwo: HWAVEOUT, umsg: u32, dw1: usize, dw2: usize) -> u32;
waveOutOpen(phwo: *mut HWAVEOUT, udeviceid: u32, pwfx: *const WAVEFORMATEX, dwcallback: usize, dwinstance: usize, fdwopen: MIDI_WAVE_OPEN_TYPE) -> u32221     pub fn waveOutOpen(phwo: *mut HWAVEOUT, udeviceid: u32, pwfx: *const WAVEFORMATEX, dwcallback: usize, dwinstance: usize, fdwopen: MIDI_WAVE_OPEN_TYPE) -> u32;
waveOutPause(hwo: HWAVEOUT) -> u32222     pub fn waveOutPause(hwo: HWAVEOUT) -> u32;
223     #[cfg(feature = "Win32_Foundation")]
waveOutPrepareHeader(hwo: HWAVEOUT, pwh: *mut WAVEHDR, cbwh: u32) -> u32224     pub fn waveOutPrepareHeader(hwo: HWAVEOUT, pwh: *mut WAVEHDR, cbwh: u32) -> u32;
waveOutReset(hwo: HWAVEOUT) -> u32225     pub fn waveOutReset(hwo: HWAVEOUT) -> u32;
waveOutRestart(hwo: HWAVEOUT) -> u32226     pub fn waveOutRestart(hwo: HWAVEOUT) -> u32;
waveOutSetPitch(hwo: HWAVEOUT, dwpitch: u32) -> u32227     pub fn waveOutSetPitch(hwo: HWAVEOUT, dwpitch: u32) -> u32;
waveOutSetPlaybackRate(hwo: HWAVEOUT, dwrate: u32) -> u32228     pub fn waveOutSetPlaybackRate(hwo: HWAVEOUT, dwrate: u32) -> u32;
waveOutSetVolume(hwo: HWAVEOUT, dwvolume: u32) -> u32229     pub fn waveOutSetVolume(hwo: HWAVEOUT, dwvolume: u32) -> u32;
230     #[cfg(feature = "Win32_Foundation")]
waveOutUnprepareHeader(hwo: HWAVEOUT, pwh: *mut WAVEHDR, cbwh: u32) -> u32231     pub fn waveOutUnprepareHeader(hwo: HWAVEOUT, pwh: *mut WAVEHDR, cbwh: u32) -> u32;
232     #[cfg(feature = "Win32_Foundation")]
waveOutWrite(hwo: HWAVEOUT, pwh: *mut WAVEHDR, cbwh: u32) -> u32233     pub fn waveOutWrite(hwo: HWAVEOUT, pwh: *mut WAVEHDR, cbwh: u32) -> u32;
234 }
235 pub const ACMDM_DRIVER_ABOUT: u32 = 24587u32;
236 pub const ACMDM_DRIVER_DETAILS: u32 = 24586u32;
237 pub const ACMDM_DRIVER_NOTIFY: u32 = 24577u32;
238 pub const ACMDM_FILTERTAG_DETAILS: u32 = 24626u32;
239 pub const ACMDM_FILTER_DETAILS: u32 = 24627u32;
240 pub const ACMDM_FORMATTAG_DETAILS: u32 = 24601u32;
241 pub const ACMDM_FORMAT_DETAILS: u32 = 24602u32;
242 pub const ACMDM_FORMAT_SUGGEST: u32 = 24603u32;
243 pub const ACMDM_HARDWARE_WAVE_CAPS_INPUT: u32 = 24596u32;
244 pub const ACMDM_HARDWARE_WAVE_CAPS_OUTPUT: u32 = 24597u32;
245 pub const ACMDM_RESERVED_HIGH: u32 = 28671u32;
246 pub const ACMDM_RESERVED_LOW: u32 = 24576u32;
247 pub const ACMDM_STREAM_CLOSE: u32 = 24653u32;
248 pub const ACMDM_STREAM_CONVERT: u32 = 24655u32;
249 pub const ACMDM_STREAM_OPEN: u32 = 24652u32;
250 pub const ACMDM_STREAM_PREPARE: u32 = 24657u32;
251 pub const ACMDM_STREAM_RESET: u32 = 24656u32;
252 pub const ACMDM_STREAM_SIZE: u32 = 24654u32;
253 pub const ACMDM_STREAM_UNPREPARE: u32 = 24658u32;
254 pub const ACMDM_STREAM_UPDATE: u32 = 24659u32;
255 pub const ACMDM_USER: u32 = 16384u32;
256 #[repr(C, packed(1))]
257 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
258 pub struct ACMDRIVERDETAILSA {
259     pub cbStruct: u32,
260     pub fccType: u32,
261     pub fccComp: u32,
262     pub wMid: u16,
263     pub wPid: u16,
264     pub vdwACM: u32,
265     pub vdwDriver: u32,
266     pub fdwSupport: u32,
267     pub cFormatTags: u32,
268     pub cFilterTags: u32,
269     pub hicon: super::super::UI::WindowsAndMessaging::HICON,
270     pub szShortName: [super::super::Foundation::CHAR; 32],
271     pub szLongName: [super::super::Foundation::CHAR; 128],
272     pub szCopyright: [super::super::Foundation::CHAR; 80],
273     pub szLicensing: [super::super::Foundation::CHAR; 128],
274     pub szFeatures: [super::super::Foundation::CHAR; 512],
275 }
276 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
277 impl ::core::marker::Copy for ACMDRIVERDETAILSA {}
278 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
279 impl ::core::clone::Clone for ACMDRIVERDETAILSA {
clone(&self) -> Self280     fn clone(&self) -> Self {
281         *self
282     }
283 }
284 #[repr(C, packed(1))]
285 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
286 pub struct ACMDRIVERDETAILSW {
287     pub cbStruct: u32,
288     pub fccType: u32,
289     pub fccComp: u32,
290     pub wMid: u16,
291     pub wPid: u16,
292     pub vdwACM: u32,
293     pub vdwDriver: u32,
294     pub fdwSupport: u32,
295     pub cFormatTags: u32,
296     pub cFilterTags: u32,
297     pub hicon: super::super::UI::WindowsAndMessaging::HICON,
298     pub szShortName: [u16; 32],
299     pub szLongName: [u16; 128],
300     pub szCopyright: [u16; 80],
301     pub szLicensing: [u16; 128],
302     pub szFeatures: [u16; 512],
303 }
304 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
305 impl ::core::marker::Copy for ACMDRIVERDETAILSW {}
306 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
307 impl ::core::clone::Clone for ACMDRIVERDETAILSW {
clone(&self) -> Self308     fn clone(&self) -> Self {
309         *self
310     }
311 }
312 pub const ACMDRIVERDETAILS_COPYRIGHT_CHARS: u32 = 80u32;
313 pub const ACMDRIVERDETAILS_FEATURES_CHARS: u32 = 512u32;
314 pub const ACMDRIVERDETAILS_LICENSING_CHARS: u32 = 128u32;
315 pub const ACMDRIVERDETAILS_LONGNAME_CHARS: u32 = 128u32;
316 pub const ACMDRIVERDETAILS_SHORTNAME_CHARS: u32 = 32u32;
317 pub const ACMDRIVERDETAILS_SUPPORTF_ASYNC: i32 = 16i32;
318 pub const ACMDRIVERDETAILS_SUPPORTF_CODEC: i32 = 1i32;
319 pub const ACMDRIVERDETAILS_SUPPORTF_CONVERTER: i32 = 2i32;
320 pub const ACMDRIVERDETAILS_SUPPORTF_DISABLED: i32 = -2147483648i32;
321 pub const ACMDRIVERDETAILS_SUPPORTF_FILTER: i32 = 4i32;
322 pub const ACMDRIVERDETAILS_SUPPORTF_HARDWARE: i32 = 8i32;
323 pub const ACMDRIVERDETAILS_SUPPORTF_LOCAL: i32 = 1073741824i32;
324 #[cfg(feature = "Win32_Foundation")]
325 pub type ACMDRIVERENUMCB = unsafe extern "system" fn(hadid: HACMDRIVERID, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL;
326 #[repr(C, packed(1))]
327 pub struct ACMDRVFORMATSUGGEST {
328     pub cbStruct: u32,
329     pub fdwSuggest: u32,
330     pub pwfxSrc: *mut WAVEFORMATEX,
331     pub cbwfxSrc: u32,
332     pub pwfxDst: *mut WAVEFORMATEX,
333     pub cbwfxDst: u32,
334 }
335 impl ::core::marker::Copy for ACMDRVFORMATSUGGEST {}
336 impl ::core::clone::Clone for ACMDRVFORMATSUGGEST {
clone(&self) -> Self337     fn clone(&self) -> Self {
338         *self
339     }
340 }
341 #[repr(C, packed(1))]
342 pub struct ACMDRVSTREAMHEADER {
343     pub cbStruct: u32,
344     pub fdwStatus: u32,
345     pub dwUser: usize,
346     pub pbSrc: *mut u8,
347     pub cbSrcLength: u32,
348     pub cbSrcLengthUsed: u32,
349     pub dwSrcUser: usize,
350     pub pbDst: *mut u8,
351     pub cbDstLength: u32,
352     pub cbDstLengthUsed: u32,
353     pub dwDstUser: usize,
354     pub fdwConvert: u32,
355     pub padshNext: *mut ACMDRVSTREAMHEADER,
356     pub fdwDriver: u32,
357     pub dwDriver: usize,
358     pub fdwPrepared: u32,
359     pub dwPrepared: usize,
360     pub pbPreparedSrc: *mut u8,
361     pub cbPreparedSrcLength: u32,
362     pub pbPreparedDst: *mut u8,
363     pub cbPreparedDstLength: u32,
364 }
365 impl ::core::marker::Copy for ACMDRVSTREAMHEADER {}
366 impl ::core::clone::Clone for ACMDRVSTREAMHEADER {
clone(&self) -> Self367     fn clone(&self) -> Self {
368         *self
369     }
370 }
371 #[repr(C, packed(1))]
372 pub struct ACMDRVSTREAMINSTANCE {
373     pub cbStruct: u32,
374     pub pwfxSrc: *mut WAVEFORMATEX,
375     pub pwfxDst: *mut WAVEFORMATEX,
376     pub pwfltr: *mut WAVEFILTER,
377     pub dwCallback: usize,
378     pub dwInstance: usize,
379     pub fdwOpen: u32,
380     pub fdwDriver: u32,
381     pub dwDriver: usize,
382     pub has: HACMSTREAM,
383 }
384 impl ::core::marker::Copy for ACMDRVSTREAMINSTANCE {}
385 impl ::core::clone::Clone for ACMDRVSTREAMINSTANCE {
clone(&self) -> Self386     fn clone(&self) -> Self {
387         *self
388     }
389 }
390 #[repr(C, packed(1))]
391 pub struct ACMDRVSTREAMSIZE {
392     pub cbStruct: u32,
393     pub fdwSize: u32,
394     pub cbSrcLength: u32,
395     pub cbDstLength: u32,
396 }
397 impl ::core::marker::Copy for ACMDRVSTREAMSIZE {}
398 impl ::core::clone::Clone for ACMDRVSTREAMSIZE {
clone(&self) -> Self399     fn clone(&self) -> Self {
400         *self
401     }
402 }
403 pub const ACMERR_BASE: u32 = 512u32;
404 pub const ACMERR_BUSY: u32 = 513u32;
405 pub const ACMERR_CANCELED: u32 = 515u32;
406 pub const ACMERR_NOTPOSSIBLE: u32 = 512u32;
407 pub const ACMERR_UNPREPARED: u32 = 514u32;
408 #[repr(C, packed(1))]
409 #[cfg(feature = "Win32_Foundation")]
410 pub struct ACMFILTERCHOOSEA {
411     pub cbStruct: u32,
412     pub fdwStyle: u32,
413     pub hwndOwner: super::super::Foundation::HWND,
414     pub pwfltr: *mut WAVEFILTER,
415     pub cbwfltr: u32,
416     pub pszTitle: super::super::Foundation::PSTR,
417     pub szFilterTag: [super::super::Foundation::CHAR; 48],
418     pub szFilter: [super::super::Foundation::CHAR; 128],
419     pub pszName: super::super::Foundation::PSTR,
420     pub cchName: u32,
421     pub fdwEnum: u32,
422     pub pwfltrEnum: *mut WAVEFILTER,
423     pub hInstance: super::super::Foundation::HINSTANCE,
424     pub pszTemplateName: super::super::Foundation::PSTR,
425     pub lCustData: super::super::Foundation::LPARAM,
426     pub pfnHook: ACMFILTERCHOOSEHOOKPROCA,
427 }
428 #[cfg(feature = "Win32_Foundation")]
429 impl ::core::marker::Copy for ACMFILTERCHOOSEA {}
430 #[cfg(feature = "Win32_Foundation")]
431 impl ::core::clone::Clone for ACMFILTERCHOOSEA {
clone(&self) -> Self432     fn clone(&self) -> Self {
433         *self
434     }
435 }
436 #[cfg(feature = "Win32_Foundation")]
437 pub type ACMFILTERCHOOSEHOOKPROCA = unsafe extern "system" fn(hwnd: super::super::Foundation::HWND, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> u32;
438 #[cfg(feature = "Win32_Foundation")]
439 pub type ACMFILTERCHOOSEHOOKPROCW = unsafe extern "system" fn(hwnd: super::super::Foundation::HWND, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> u32;
440 #[repr(C, packed(1))]
441 #[cfg(feature = "Win32_Foundation")]
442 pub struct ACMFILTERCHOOSEW {
443     pub cbStruct: u32,
444     pub fdwStyle: u32,
445     pub hwndOwner: super::super::Foundation::HWND,
446     pub pwfltr: *mut WAVEFILTER,
447     pub cbwfltr: u32,
448     pub pszTitle: super::super::Foundation::PWSTR,
449     pub szFilterTag: [u16; 48],
450     pub szFilter: [u16; 128],
451     pub pszName: super::super::Foundation::PWSTR,
452     pub cchName: u32,
453     pub fdwEnum: u32,
454     pub pwfltrEnum: *mut WAVEFILTER,
455     pub hInstance: super::super::Foundation::HINSTANCE,
456     pub pszTemplateName: super::super::Foundation::PWSTR,
457     pub lCustData: super::super::Foundation::LPARAM,
458     pub pfnHook: ACMFILTERCHOOSEHOOKPROCW,
459 }
460 #[cfg(feature = "Win32_Foundation")]
461 impl ::core::marker::Copy for ACMFILTERCHOOSEW {}
462 #[cfg(feature = "Win32_Foundation")]
463 impl ::core::clone::Clone for ACMFILTERCHOOSEW {
clone(&self) -> Self464     fn clone(&self) -> Self {
465         *self
466     }
467 }
468 pub const ACMFILTERCHOOSE_STYLEF_CONTEXTHELP: i32 = 128i32;
469 pub const ACMFILTERCHOOSE_STYLEF_ENABLEHOOK: i32 = 8i32;
470 pub const ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE: i32 = 16i32;
471 pub const ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE: i32 = 32i32;
472 pub const ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT: i32 = 64i32;
473 pub const ACMFILTERCHOOSE_STYLEF_SHOWHELP: i32 = 4i32;
474 #[repr(C, packed(1))]
475 #[cfg(feature = "Win32_Foundation")]
476 pub struct ACMFILTERDETAILSA {
477     pub cbStruct: u32,
478     pub dwFilterIndex: u32,
479     pub dwFilterTag: u32,
480     pub fdwSupport: u32,
481     pub pwfltr: *mut WAVEFILTER,
482     pub cbwfltr: u32,
483     pub szFilter: [super::super::Foundation::CHAR; 128],
484 }
485 #[cfg(feature = "Win32_Foundation")]
486 impl ::core::marker::Copy for ACMFILTERDETAILSA {}
487 #[cfg(feature = "Win32_Foundation")]
488 impl ::core::clone::Clone for ACMFILTERDETAILSA {
clone(&self) -> Self489     fn clone(&self) -> Self {
490         *self
491     }
492 }
493 #[repr(C, packed(1))]
494 pub struct ACMFILTERDETAILSW {
495     pub cbStruct: u32,
496     pub dwFilterIndex: u32,
497     pub dwFilterTag: u32,
498     pub fdwSupport: u32,
499     pub pwfltr: *mut WAVEFILTER,
500     pub cbwfltr: u32,
501     pub szFilter: [u16; 128],
502 }
503 impl ::core::marker::Copy for ACMFILTERDETAILSW {}
504 impl ::core::clone::Clone for ACMFILTERDETAILSW {
clone(&self) -> Self505     fn clone(&self) -> Self {
506         *self
507     }
508 }
509 pub const ACMFILTERDETAILS_FILTER_CHARS: u32 = 128u32;
510 #[cfg(feature = "Win32_Foundation")]
511 pub type ACMFILTERENUMCBA = unsafe extern "system" fn(hadid: HACMDRIVERID, pafd: *mut ACMFILTERDETAILSA, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL;
512 #[cfg(feature = "Win32_Foundation")]
513 pub type ACMFILTERENUMCBW = unsafe extern "system" fn(hadid: HACMDRIVERID, pafd: *mut ACMFILTERDETAILSW, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL;
514 #[repr(C, packed(1))]
515 #[cfg(feature = "Win32_Foundation")]
516 pub struct ACMFILTERTAGDETAILSA {
517     pub cbStruct: u32,
518     pub dwFilterTagIndex: u32,
519     pub dwFilterTag: u32,
520     pub cbFilterSize: u32,
521     pub fdwSupport: u32,
522     pub cStandardFilters: u32,
523     pub szFilterTag: [super::super::Foundation::CHAR; 48],
524 }
525 #[cfg(feature = "Win32_Foundation")]
526 impl ::core::marker::Copy for ACMFILTERTAGDETAILSA {}
527 #[cfg(feature = "Win32_Foundation")]
528 impl ::core::clone::Clone for ACMFILTERTAGDETAILSA {
clone(&self) -> Self529     fn clone(&self) -> Self {
530         *self
531     }
532 }
533 #[repr(C, packed(1))]
534 pub struct ACMFILTERTAGDETAILSW {
535     pub cbStruct: u32,
536     pub dwFilterTagIndex: u32,
537     pub dwFilterTag: u32,
538     pub cbFilterSize: u32,
539     pub fdwSupport: u32,
540     pub cStandardFilters: u32,
541     pub szFilterTag: [u16; 48],
542 }
543 impl ::core::marker::Copy for ACMFILTERTAGDETAILSW {}
544 impl ::core::clone::Clone for ACMFILTERTAGDETAILSW {
clone(&self) -> Self545     fn clone(&self) -> Self {
546         *self
547     }
548 }
549 pub const ACMFILTERTAGDETAILS_FILTERTAG_CHARS: u32 = 48u32;
550 #[cfg(feature = "Win32_Foundation")]
551 pub type ACMFILTERTAGENUMCBA = unsafe extern "system" fn(hadid: HACMDRIVERID, paftd: *mut ACMFILTERTAGDETAILSA, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL;
552 #[cfg(feature = "Win32_Foundation")]
553 pub type ACMFILTERTAGENUMCBW = unsafe extern "system" fn(hadid: HACMDRIVERID, paftd: *mut ACMFILTERTAGDETAILSW, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL;
554 #[repr(C, packed(1))]
555 #[cfg(feature = "Win32_Foundation")]
556 pub struct ACMFORMATCHOOSEA {
557     pub cbStruct: u32,
558     pub fdwStyle: u32,
559     pub hwndOwner: super::super::Foundation::HWND,
560     pub pwfx: *mut WAVEFORMATEX,
561     pub cbwfx: u32,
562     pub pszTitle: super::super::Foundation::PSTR,
563     pub szFormatTag: [super::super::Foundation::CHAR; 48],
564     pub szFormat: [super::super::Foundation::CHAR; 128],
565     pub pszName: super::super::Foundation::PSTR,
566     pub cchName: u32,
567     pub fdwEnum: u32,
568     pub pwfxEnum: *mut WAVEFORMATEX,
569     pub hInstance: super::super::Foundation::HINSTANCE,
570     pub pszTemplateName: super::super::Foundation::PSTR,
571     pub lCustData: super::super::Foundation::LPARAM,
572     pub pfnHook: ACMFORMATCHOOSEHOOKPROCA,
573 }
574 #[cfg(feature = "Win32_Foundation")]
575 impl ::core::marker::Copy for ACMFORMATCHOOSEA {}
576 #[cfg(feature = "Win32_Foundation")]
577 impl ::core::clone::Clone for ACMFORMATCHOOSEA {
clone(&self) -> Self578     fn clone(&self) -> Self {
579         *self
580     }
581 }
582 #[cfg(feature = "Win32_Foundation")]
583 pub type ACMFORMATCHOOSEHOOKPROCA = unsafe extern "system" fn(hwnd: super::super::Foundation::HWND, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> u32;
584 #[cfg(feature = "Win32_Foundation")]
585 pub type ACMFORMATCHOOSEHOOKPROCW = unsafe extern "system" fn(hwnd: super::super::Foundation::HWND, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> u32;
586 #[repr(C, packed(1))]
587 #[cfg(feature = "Win32_Foundation")]
588 pub struct ACMFORMATCHOOSEW {
589     pub cbStruct: u32,
590     pub fdwStyle: u32,
591     pub hwndOwner: super::super::Foundation::HWND,
592     pub pwfx: *mut WAVEFORMATEX,
593     pub cbwfx: u32,
594     pub pszTitle: super::super::Foundation::PWSTR,
595     pub szFormatTag: [u16; 48],
596     pub szFormat: [u16; 128],
597     pub pszName: super::super::Foundation::PWSTR,
598     pub cchName: u32,
599     pub fdwEnum: u32,
600     pub pwfxEnum: *mut WAVEFORMATEX,
601     pub hInstance: super::super::Foundation::HINSTANCE,
602     pub pszTemplateName: super::super::Foundation::PWSTR,
603     pub lCustData: super::super::Foundation::LPARAM,
604     pub pfnHook: ACMFORMATCHOOSEHOOKPROCW,
605 }
606 #[cfg(feature = "Win32_Foundation")]
607 impl ::core::marker::Copy for ACMFORMATCHOOSEW {}
608 #[cfg(feature = "Win32_Foundation")]
609 impl ::core::clone::Clone for ACMFORMATCHOOSEW {
clone(&self) -> Self610     fn clone(&self) -> Self {
611         *self
612     }
613 }
614 pub const ACMFORMATCHOOSE_STYLEF_CONTEXTHELP: i32 = 128i32;
615 pub const ACMFORMATCHOOSE_STYLEF_ENABLEHOOK: i32 = 8i32;
616 pub const ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE: i32 = 16i32;
617 pub const ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE: i32 = 32i32;
618 pub const ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT: i32 = 64i32;
619 pub const ACMFORMATCHOOSE_STYLEF_SHOWHELP: i32 = 4i32;
620 #[repr(C, packed(1))]
621 #[cfg(feature = "Win32_Foundation")]
622 pub struct ACMFORMATDETAILSA {
623     pub cbStruct: u32,
624     pub dwFormatIndex: u32,
625     pub dwFormatTag: u32,
626     pub fdwSupport: u32,
627     pub pwfx: *mut WAVEFORMATEX,
628     pub cbwfx: u32,
629     pub szFormat: [super::super::Foundation::CHAR; 128],
630 }
631 #[cfg(feature = "Win32_Foundation")]
632 impl ::core::marker::Copy for ACMFORMATDETAILSA {}
633 #[cfg(feature = "Win32_Foundation")]
634 impl ::core::clone::Clone for ACMFORMATDETAILSA {
clone(&self) -> Self635     fn clone(&self) -> Self {
636         *self
637     }
638 }
639 pub const ACMFORMATDETAILS_FORMAT_CHARS: u32 = 128u32;
640 #[cfg(feature = "Win32_Foundation")]
641 pub type ACMFORMATENUMCBA = unsafe extern "system" fn(hadid: HACMDRIVERID, pafd: *mut ACMFORMATDETAILSA, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL;
642 #[cfg(feature = "Win32_Foundation")]
643 pub type ACMFORMATENUMCBW = unsafe extern "system" fn(hadid: HACMDRIVERID, pafd: *mut tACMFORMATDETAILSW, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL;
644 #[repr(C, packed(1))]
645 #[cfg(feature = "Win32_Foundation")]
646 pub struct ACMFORMATTAGDETAILSA {
647     pub cbStruct: u32,
648     pub dwFormatTagIndex: u32,
649     pub dwFormatTag: u32,
650     pub cbFormatSize: u32,
651     pub fdwSupport: u32,
652     pub cStandardFormats: u32,
653     pub szFormatTag: [super::super::Foundation::CHAR; 48],
654 }
655 #[cfg(feature = "Win32_Foundation")]
656 impl ::core::marker::Copy for ACMFORMATTAGDETAILSA {}
657 #[cfg(feature = "Win32_Foundation")]
658 impl ::core::clone::Clone for ACMFORMATTAGDETAILSA {
clone(&self) -> Self659     fn clone(&self) -> Self {
660         *self
661     }
662 }
663 #[repr(C, packed(1))]
664 pub struct ACMFORMATTAGDETAILSW {
665     pub cbStruct: u32,
666     pub dwFormatTagIndex: u32,
667     pub dwFormatTag: u32,
668     pub cbFormatSize: u32,
669     pub fdwSupport: u32,
670     pub cStandardFormats: u32,
671     pub szFormatTag: [u16; 48],
672 }
673 impl ::core::marker::Copy for ACMFORMATTAGDETAILSW {}
674 impl ::core::clone::Clone for ACMFORMATTAGDETAILSW {
clone(&self) -> Self675     fn clone(&self) -> Self {
676         *self
677     }
678 }
679 pub const ACMFORMATTAGDETAILS_FORMATTAG_CHARS: u32 = 48u32;
680 #[cfg(feature = "Win32_Foundation")]
681 pub type ACMFORMATTAGENUMCBA = unsafe extern "system" fn(hadid: HACMDRIVERID, paftd: *mut ACMFORMATTAGDETAILSA, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL;
682 #[cfg(feature = "Win32_Foundation")]
683 pub type ACMFORMATTAGENUMCBW = unsafe extern "system" fn(hadid: HACMDRIVERID, paftd: *mut ACMFORMATTAGDETAILSW, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL;
684 #[repr(C, packed(1))]
685 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
686 pub struct ACMSTREAMHEADER {
687     pub cbStruct: u32,
688     pub fdwStatus: u32,
689     pub dwUser: usize,
690     pub pbSrc: *mut u8,
691     pub cbSrcLength: u32,
692     pub cbSrcLengthUsed: u32,
693     pub dwSrcUser: usize,
694     pub pbDst: *mut u8,
695     pub cbDstLength: u32,
696     pub cbDstLengthUsed: u32,
697     pub dwDstUser: usize,
698     pub dwReservedDriver: [u32; 15],
699 }
700 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
701 impl ::core::marker::Copy for ACMSTREAMHEADER {}
702 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
703 impl ::core::clone::Clone for ACMSTREAMHEADER {
clone(&self) -> Self704     fn clone(&self) -> Self {
705         *self
706     }
707 }
708 #[repr(C, packed(1))]
709 #[cfg(any(target_arch = "x86",))]
710 pub struct ACMSTREAMHEADER {
711     pub cbStruct: u32,
712     pub fdwStatus: u32,
713     pub dwUser: usize,
714     pub pbSrc: *mut u8,
715     pub cbSrcLength: u32,
716     pub cbSrcLengthUsed: u32,
717     pub dwSrcUser: usize,
718     pub pbDst: *mut u8,
719     pub cbDstLength: u32,
720     pub cbDstLengthUsed: u32,
721     pub dwDstUser: usize,
722     pub dwReservedDriver: [u32; 10],
723 }
724 #[cfg(any(target_arch = "x86",))]
725 impl ::core::marker::Copy for ACMSTREAMHEADER {}
726 #[cfg(any(target_arch = "x86",))]
727 impl ::core::clone::Clone for ACMSTREAMHEADER {
clone(&self) -> Self728     fn clone(&self) -> Self {
729         *self
730     }
731 }
732 pub const ACMSTREAMHEADER_STATUSF_DONE: i32 = 65536i32;
733 pub const ACMSTREAMHEADER_STATUSF_INQUEUE: i32 = 1048576i32;
734 pub const ACMSTREAMHEADER_STATUSF_PREPARED: i32 = 131072i32;
735 pub const ACM_DRIVERADDF_FUNCTION: i32 = 3i32;
736 pub const ACM_DRIVERADDF_GLOBAL: i32 = 8i32;
737 pub const ACM_DRIVERADDF_LOCAL: i32 = 0i32;
738 pub const ACM_DRIVERADDF_NAME: i32 = 1i32;
739 pub const ACM_DRIVERADDF_NOTIFYHWND: i32 = 4i32;
740 pub const ACM_DRIVERADDF_TYPEMASK: i32 = 7i32;
741 pub const ACM_DRIVERENUMF_DISABLED: i32 = -2147483648i32;
742 pub const ACM_DRIVERENUMF_NOLOCAL: i32 = 1073741824i32;
743 pub const ACM_DRIVERPRIORITYF_ABLEMASK: i32 = 3i32;
744 pub const ACM_DRIVERPRIORITYF_BEGIN: i32 = 65536i32;
745 pub const ACM_DRIVERPRIORITYF_DEFERMASK: i32 = 196608i32;
746 pub const ACM_DRIVERPRIORITYF_DISABLE: i32 = 2i32;
747 pub const ACM_DRIVERPRIORITYF_ENABLE: i32 = 1i32;
748 pub const ACM_DRIVERPRIORITYF_END: i32 = 131072i32;
749 pub const ACM_FILTERDETAILSF_FILTER: i32 = 1i32;
750 pub const ACM_FILTERDETAILSF_INDEX: i32 = 0i32;
751 pub const ACM_FILTERDETAILSF_QUERYMASK: i32 = 15i32;
752 pub const ACM_FILTERENUMF_DWFILTERTAG: i32 = 65536i32;
753 pub const ACM_FILTERTAGDETAILSF_FILTERTAG: i32 = 1i32;
754 pub const ACM_FILTERTAGDETAILSF_INDEX: i32 = 0i32;
755 pub const ACM_FILTERTAGDETAILSF_LARGESTSIZE: i32 = 2i32;
756 pub const ACM_FILTERTAGDETAILSF_QUERYMASK: i32 = 15i32;
757 pub const ACM_FORMATDETAILSF_FORMAT: i32 = 1i32;
758 pub const ACM_FORMATDETAILSF_INDEX: i32 = 0i32;
759 pub const ACM_FORMATDETAILSF_QUERYMASK: i32 = 15i32;
760 pub const ACM_FORMATENUMF_CONVERT: i32 = 1048576i32;
761 pub const ACM_FORMATENUMF_HARDWARE: i32 = 4194304i32;
762 pub const ACM_FORMATENUMF_INPUT: i32 = 8388608i32;
763 pub const ACM_FORMATENUMF_NCHANNELS: i32 = 131072i32;
764 pub const ACM_FORMATENUMF_NSAMPLESPERSEC: i32 = 262144i32;
765 pub const ACM_FORMATENUMF_OUTPUT: i32 = 16777216i32;
766 pub const ACM_FORMATENUMF_SUGGEST: i32 = 2097152i32;
767 pub const ACM_FORMATENUMF_WBITSPERSAMPLE: i32 = 524288i32;
768 pub const ACM_FORMATENUMF_WFORMATTAG: i32 = 65536i32;
769 pub const ACM_FORMATSUGGESTF_NCHANNELS: i32 = 131072i32;
770 pub const ACM_FORMATSUGGESTF_NSAMPLESPERSEC: i32 = 262144i32;
771 pub const ACM_FORMATSUGGESTF_TYPEMASK: i32 = 16711680i32;
772 pub const ACM_FORMATSUGGESTF_WBITSPERSAMPLE: i32 = 524288i32;
773 pub const ACM_FORMATSUGGESTF_WFORMATTAG: i32 = 65536i32;
774 pub const ACM_FORMATTAGDETAILSF_FORMATTAG: i32 = 1i32;
775 pub const ACM_FORMATTAGDETAILSF_INDEX: i32 = 0i32;
776 pub const ACM_FORMATTAGDETAILSF_LARGESTSIZE: i32 = 2i32;
777 pub const ACM_FORMATTAGDETAILSF_QUERYMASK: i32 = 15i32;
778 pub const ACM_METRIC_COUNT_CODECS: u32 = 2u32;
779 pub const ACM_METRIC_COUNT_CONVERTERS: u32 = 3u32;
780 pub const ACM_METRIC_COUNT_DISABLED: u32 = 5u32;
781 pub const ACM_METRIC_COUNT_DRIVERS: u32 = 1u32;
782 pub const ACM_METRIC_COUNT_FILTERS: u32 = 4u32;
783 pub const ACM_METRIC_COUNT_HARDWARE: u32 = 6u32;
784 pub const ACM_METRIC_COUNT_LOCAL_CODECS: u32 = 21u32;
785 pub const ACM_METRIC_COUNT_LOCAL_CONVERTERS: u32 = 22u32;
786 pub const ACM_METRIC_COUNT_LOCAL_DISABLED: u32 = 24u32;
787 pub const ACM_METRIC_COUNT_LOCAL_DRIVERS: u32 = 20u32;
788 pub const ACM_METRIC_COUNT_LOCAL_FILTERS: u32 = 23u32;
789 pub const ACM_METRIC_DRIVER_PRIORITY: u32 = 101u32;
790 pub const ACM_METRIC_DRIVER_SUPPORT: u32 = 100u32;
791 pub const ACM_METRIC_HARDWARE_WAVE_INPUT: u32 = 30u32;
792 pub const ACM_METRIC_HARDWARE_WAVE_OUTPUT: u32 = 31u32;
793 pub const ACM_METRIC_MAX_SIZE_FILTER: u32 = 51u32;
794 pub const ACM_METRIC_MAX_SIZE_FORMAT: u32 = 50u32;
795 pub const ACM_STREAMCONVERTF_BLOCKALIGN: u32 = 4u32;
796 pub const ACM_STREAMCONVERTF_END: u32 = 32u32;
797 pub const ACM_STREAMCONVERTF_START: u32 = 16u32;
798 pub const ACM_STREAMOPENF_ASYNC: u32 = 2u32;
799 pub const ACM_STREAMOPENF_NONREALTIME: u32 = 4u32;
800 pub const ACM_STREAMOPENF_QUERY: u32 = 1u32;
801 pub const ACM_STREAMSIZEF_DESTINATION: i32 = 1i32;
802 pub const ACM_STREAMSIZEF_QUERYMASK: i32 = 15i32;
803 pub const ACM_STREAMSIZEF_SOURCE: i32 = 0i32;
804 pub type AMBISONICS_CHANNEL_ORDERING = i32;
805 pub const AMBISONICS_CHANNEL_ORDERING_ACN: AMBISONICS_CHANNEL_ORDERING = 0i32;
806 pub type AMBISONICS_NORMALIZATION = i32;
807 pub const AMBISONICS_NORMALIZATION_SN3D: AMBISONICS_NORMALIZATION = 0i32;
808 pub const AMBISONICS_NORMALIZATION_N3D: AMBISONICS_NORMALIZATION = 1i32;
809 #[repr(C)]
810 pub struct AMBISONICS_PARAMS {
811     pub u32Size: u32,
812     pub u32Version: u32,
813     pub u32Type: AMBISONICS_TYPE,
814     pub u32ChannelOrdering: AMBISONICS_CHANNEL_ORDERING,
815     pub u32Normalization: AMBISONICS_NORMALIZATION,
816     pub u32Order: u32,
817     pub u32NumChannels: u32,
818     pub pu32ChannelMap: *mut u32,
819 }
820 impl ::core::marker::Copy for AMBISONICS_PARAMS {}
821 impl ::core::clone::Clone for AMBISONICS_PARAMS {
clone(&self) -> Self822     fn clone(&self) -> Self {
823         *self
824     }
825 }
826 pub const AMBISONICS_PARAM_VERSION_1: u32 = 1u32;
827 pub type AMBISONICS_TYPE = i32;
828 pub const AMBISONICS_TYPE_FULL3D: AMBISONICS_TYPE = 0i32;
829 pub const AUDCLNT_E_ALREADY_INITIALIZED: ::windows_sys::core::HRESULT = -2004287486i32;
830 pub const AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL: ::windows_sys::core::HRESULT = -2004287469i32;
831 pub const AUDCLNT_E_BUFFER_ERROR: ::windows_sys::core::HRESULT = -2004287464i32;
832 pub const AUDCLNT_E_BUFFER_OPERATION_PENDING: ::windows_sys::core::HRESULT = -2004287477i32;
833 pub const AUDCLNT_E_BUFFER_SIZE_ERROR: ::windows_sys::core::HRESULT = -2004287466i32;
834 pub const AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED: ::windows_sys::core::HRESULT = -2004287463i32;
835 pub const AUDCLNT_E_BUFFER_TOO_LARGE: ::windows_sys::core::HRESULT = -2004287482i32;
836 pub const AUDCLNT_E_CPUUSAGE_EXCEEDED: ::windows_sys::core::HRESULT = -2004287465i32;
837 pub const AUDCLNT_E_DEVICE_INVALIDATED: ::windows_sys::core::HRESULT = -2004287484i32;
838 pub const AUDCLNT_E_DEVICE_IN_USE: ::windows_sys::core::HRESULT = -2004287478i32;
839 pub const AUDCLNT_E_EFFECT_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -2004287423i32;
840 pub const AUDCLNT_E_EFFECT_STATE_READ_ONLY: ::windows_sys::core::HRESULT = -2004287422i32;
841 pub const AUDCLNT_E_ENDPOINT_CREATE_FAILED: ::windows_sys::core::HRESULT = -2004287473i32;
842 pub const AUDCLNT_E_ENDPOINT_OFFLOAD_NOT_CAPABLE: ::windows_sys::core::HRESULT = -2004287454i32;
843 pub const AUDCLNT_E_ENGINE_FORMAT_LOCKED: ::windows_sys::core::HRESULT = -2004287447i32;
844 pub const AUDCLNT_E_ENGINE_PERIODICITY_LOCKED: ::windows_sys::core::HRESULT = -2004287448i32;
845 pub const AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED: ::windows_sys::core::HRESULT = -2004287471i32;
846 pub const AUDCLNT_E_EVENTHANDLE_NOT_SET: ::windows_sys::core::HRESULT = -2004287468i32;
847 pub const AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED: ::windows_sys::core::HRESULT = -2004287474i32;
848 pub const AUDCLNT_E_EXCLUSIVE_MODE_ONLY: ::windows_sys::core::HRESULT = -2004287470i32;
849 pub const AUDCLNT_E_HEADTRACKING_ENABLED: ::windows_sys::core::HRESULT = -2004287440i32;
850 pub const AUDCLNT_E_HEADTRACKING_UNSUPPORTED: ::windows_sys::core::HRESULT = -2004287424i32;
851 pub const AUDCLNT_E_INCORRECT_BUFFER_SIZE: ::windows_sys::core::HRESULT = -2004287467i32;
852 pub const AUDCLNT_E_INVALID_DEVICE_PERIOD: ::windows_sys::core::HRESULT = -2004287456i32;
853 pub const AUDCLNT_E_INVALID_SIZE: ::windows_sys::core::HRESULT = -2004287479i32;
854 pub const AUDCLNT_E_INVALID_STREAM_FLAG: ::windows_sys::core::HRESULT = -2004287455i32;
855 pub const AUDCLNT_E_NONOFFLOAD_MODE_ONLY: ::windows_sys::core::HRESULT = -2004287451i32;
856 pub const AUDCLNT_E_NOT_INITIALIZED: ::windows_sys::core::HRESULT = -2004287487i32;
857 pub const AUDCLNT_E_NOT_STOPPED: ::windows_sys::core::HRESULT = -2004287483i32;
858 pub const AUDCLNT_E_OFFLOAD_MODE_ONLY: ::windows_sys::core::HRESULT = -2004287452i32;
859 pub const AUDCLNT_E_OUT_OF_OFFLOAD_RESOURCES: ::windows_sys::core::HRESULT = -2004287453i32;
860 pub const AUDCLNT_E_OUT_OF_ORDER: ::windows_sys::core::HRESULT = -2004287481i32;
861 pub const AUDCLNT_E_RAW_MODE_UNSUPPORTED: ::windows_sys::core::HRESULT = -2004287449i32;
862 pub const AUDCLNT_E_RESOURCES_INVALIDATED: ::windows_sys::core::HRESULT = -2004287450i32;
863 pub const AUDCLNT_E_SERVICE_NOT_RUNNING: ::windows_sys::core::HRESULT = -2004287472i32;
864 pub const AUDCLNT_E_THREAD_NOT_REGISTERED: ::windows_sys::core::HRESULT = -2004287476i32;
865 pub const AUDCLNT_E_UNSUPPORTED_FORMAT: ::windows_sys::core::HRESULT = -2004287480i32;
866 pub const AUDCLNT_E_WRONG_ENDPOINT_TYPE: ::windows_sys::core::HRESULT = -2004287485i32;
867 pub const AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE: u32 = 536870912u32;
868 pub const AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED: u32 = 1073741824u32;
869 pub const AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED: u32 = 268435456u32;
870 pub type AUDCLNT_SHAREMODE = i32;
871 pub const AUDCLNT_SHAREMODE_SHARED: AUDCLNT_SHAREMODE = 0i32;
872 pub const AUDCLNT_SHAREMODE_EXCLUSIVE: AUDCLNT_SHAREMODE = 1i32;
873 pub const AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM: u32 = 2147483648u32;
874 pub const AUDCLNT_STREAMFLAGS_CROSSPROCESS: u32 = 65536u32;
875 pub const AUDCLNT_STREAMFLAGS_EVENTCALLBACK: u32 = 262144u32;
876 pub const AUDCLNT_STREAMFLAGS_LOOPBACK: u32 = 131072u32;
877 pub const AUDCLNT_STREAMFLAGS_NOPERSIST: u32 = 524288u32;
878 pub const AUDCLNT_STREAMFLAGS_RATEADJUST: u32 = 1048576u32;
879 pub const AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY: u32 = 134217728u32;
880 pub type AUDCLNT_STREAMOPTIONS = u32;
881 pub const AUDCLNT_STREAMOPTIONS_NONE: AUDCLNT_STREAMOPTIONS = 0u32;
882 pub const AUDCLNT_STREAMOPTIONS_RAW: AUDCLNT_STREAMOPTIONS = 1u32;
883 pub const AUDCLNT_STREAMOPTIONS_MATCH_FORMAT: AUDCLNT_STREAMOPTIONS = 2u32;
884 pub const AUDCLNT_STREAMOPTIONS_AMBISONICS: AUDCLNT_STREAMOPTIONS = 4u32;
885 pub const AUDCLNT_S_BUFFER_EMPTY: ::windows_sys::core::HRESULT = 143196161i32;
886 pub const AUDCLNT_S_POSITION_STALLED: ::windows_sys::core::HRESULT = 143196163i32;
887 pub const AUDCLNT_S_THREAD_ALREADY_REGISTERED: ::windows_sys::core::HRESULT = 143196162i32;
888 #[repr(C)]
889 pub struct AUDIOCLIENT_ACTIVATION_PARAMS {
890     pub ActivationType: AUDIOCLIENT_ACTIVATION_TYPE,
891     pub Anonymous: AUDIOCLIENT_ACTIVATION_PARAMS_0,
892 }
893 impl ::core::marker::Copy for AUDIOCLIENT_ACTIVATION_PARAMS {}
894 impl ::core::clone::Clone for AUDIOCLIENT_ACTIVATION_PARAMS {
clone(&self) -> Self895     fn clone(&self) -> Self {
896         *self
897     }
898 }
899 #[repr(C)]
900 pub union AUDIOCLIENT_ACTIVATION_PARAMS_0 {
901     pub ProcessLoopbackParams: AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS,
902 }
903 impl ::core::marker::Copy for AUDIOCLIENT_ACTIVATION_PARAMS_0 {}
904 impl ::core::clone::Clone for AUDIOCLIENT_ACTIVATION_PARAMS_0 {
clone(&self) -> Self905     fn clone(&self) -> Self {
906         *self
907     }
908 }
909 pub type AUDIOCLIENT_ACTIVATION_TYPE = i32;
910 pub const AUDIOCLIENT_ACTIVATION_TYPE_DEFAULT: AUDIOCLIENT_ACTIVATION_TYPE = 0i32;
911 pub const AUDIOCLIENT_ACTIVATION_TYPE_PROCESS_LOOPBACK: AUDIOCLIENT_ACTIVATION_TYPE = 1i32;
912 #[repr(C)]
913 pub struct AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS {
914     pub TargetProcessId: u32,
915     pub ProcessLoopbackMode: PROCESS_LOOPBACK_MODE,
916 }
917 impl ::core::marker::Copy for AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS {}
918 impl ::core::clone::Clone for AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS {
clone(&self) -> Self919     fn clone(&self) -> Self {
920         *self
921     }
922 }
923 pub const AUDIOCLOCK_CHARACTERISTIC_FIXED_FREQ: u32 = 1u32;
924 pub type AUDIO_DUCKING_OPTIONS = u32;
925 pub const AUDIO_DUCKING_OPTIONS_DEFAULT: AUDIO_DUCKING_OPTIONS = 0u32;
926 pub const AUDIO_DUCKING_OPTIONS_DO_NOT_DUCK_OTHER_STREAMS: AUDIO_DUCKING_OPTIONS = 1u32;
927 #[repr(C)]
928 #[cfg(feature = "Win32_Foundation")]
929 pub struct AUDIO_EFFECT {
930     pub id: ::windows_sys::core::GUID,
931     pub canSetState: super::super::Foundation::BOOL,
932     pub state: AUDIO_EFFECT_STATE,
933 }
934 #[cfg(feature = "Win32_Foundation")]
935 impl ::core::marker::Copy for AUDIO_EFFECT {}
936 #[cfg(feature = "Win32_Foundation")]
937 impl ::core::clone::Clone for AUDIO_EFFECT {
clone(&self) -> Self938     fn clone(&self) -> Self {
939         *self
940     }
941 }
942 pub type AUDIO_EFFECT_STATE = i32;
943 pub const AUDIO_EFFECT_STATE_OFF: AUDIO_EFFECT_STATE = 0i32;
944 pub const AUDIO_EFFECT_STATE_ON: AUDIO_EFFECT_STATE = 1i32;
945 pub type AUDIO_STREAM_CATEGORY = i32;
946 pub const AudioCategory_Other: AUDIO_STREAM_CATEGORY = 0i32;
947 pub const AudioCategory_ForegroundOnlyMedia: AUDIO_STREAM_CATEGORY = 1i32;
948 pub const AudioCategory_Communications: AUDIO_STREAM_CATEGORY = 3i32;
949 pub const AudioCategory_Alerts: AUDIO_STREAM_CATEGORY = 4i32;
950 pub const AudioCategory_SoundEffects: AUDIO_STREAM_CATEGORY = 5i32;
951 pub const AudioCategory_GameEffects: AUDIO_STREAM_CATEGORY = 6i32;
952 pub const AudioCategory_GameMedia: AUDIO_STREAM_CATEGORY = 7i32;
953 pub const AudioCategory_GameChat: AUDIO_STREAM_CATEGORY = 8i32;
954 pub const AudioCategory_Speech: AUDIO_STREAM_CATEGORY = 9i32;
955 pub const AudioCategory_Movie: AUDIO_STREAM_CATEGORY = 10i32;
956 pub const AudioCategory_Media: AUDIO_STREAM_CATEGORY = 11i32;
957 pub const AudioCategory_FarFieldSpeech: AUDIO_STREAM_CATEGORY = 12i32;
958 pub const AudioCategory_UniformSpeech: AUDIO_STREAM_CATEGORY = 13i32;
959 pub const AudioCategory_VoiceTyping: AUDIO_STREAM_CATEGORY = 14i32;
960 #[repr(C)]
961 #[cfg(feature = "Win32_Foundation")]
962 pub struct AUDIO_VOLUME_NOTIFICATION_DATA {
963     pub guidEventContext: ::windows_sys::core::GUID,
964     pub bMuted: super::super::Foundation::BOOL,
965     pub fMasterVolume: f32,
966     pub nChannels: u32,
967     pub afChannelVolumes: [f32; 1],
968 }
969 #[cfg(feature = "Win32_Foundation")]
970 impl ::core::marker::Copy for AUDIO_VOLUME_NOTIFICATION_DATA {}
971 #[cfg(feature = "Win32_Foundation")]
972 impl ::core::clone::Clone for AUDIO_VOLUME_NOTIFICATION_DATA {
clone(&self) -> Self973     fn clone(&self) -> Self {
974         *self
975     }
976 }
977 #[repr(C, packed(1))]
978 #[cfg(feature = "Win32_Foundation")]
979 pub struct AUXCAPS2A {
980     pub wMid: u16,
981     pub wPid: u16,
982     pub vDriverVersion: u32,
983     pub szPname: [super::super::Foundation::CHAR; 32],
984     pub wTechnology: u16,
985     pub wReserved1: u16,
986     pub dwSupport: u32,
987     pub ManufacturerGuid: ::windows_sys::core::GUID,
988     pub ProductGuid: ::windows_sys::core::GUID,
989     pub NameGuid: ::windows_sys::core::GUID,
990 }
991 #[cfg(feature = "Win32_Foundation")]
992 impl ::core::marker::Copy for AUXCAPS2A {}
993 #[cfg(feature = "Win32_Foundation")]
994 impl ::core::clone::Clone for AUXCAPS2A {
clone(&self) -> Self995     fn clone(&self) -> Self {
996         *self
997     }
998 }
999 #[repr(C, packed(1))]
1000 pub struct AUXCAPS2W {
1001     pub wMid: u16,
1002     pub wPid: u16,
1003     pub vDriverVersion: u32,
1004     pub szPname: [u16; 32],
1005     pub wTechnology: u16,
1006     pub wReserved1: u16,
1007     pub dwSupport: u32,
1008     pub ManufacturerGuid: ::windows_sys::core::GUID,
1009     pub ProductGuid: ::windows_sys::core::GUID,
1010     pub NameGuid: ::windows_sys::core::GUID,
1011 }
1012 impl ::core::marker::Copy for AUXCAPS2W {}
1013 impl ::core::clone::Clone for AUXCAPS2W {
clone(&self) -> Self1014     fn clone(&self) -> Self {
1015         *self
1016     }
1017 }
1018 #[repr(C, packed(1))]
1019 #[cfg(feature = "Win32_Foundation")]
1020 pub struct AUXCAPSA {
1021     pub wMid: u16,
1022     pub wPid: u16,
1023     pub vDriverVersion: u32,
1024     pub szPname: [super::super::Foundation::CHAR; 32],
1025     pub wTechnology: u16,
1026     pub wReserved1: u16,
1027     pub dwSupport: u32,
1028 }
1029 #[cfg(feature = "Win32_Foundation")]
1030 impl ::core::marker::Copy for AUXCAPSA {}
1031 #[cfg(feature = "Win32_Foundation")]
1032 impl ::core::clone::Clone for AUXCAPSA {
clone(&self) -> Self1033     fn clone(&self) -> Self {
1034         *self
1035     }
1036 }
1037 #[repr(C, packed(1))]
1038 pub struct AUXCAPSW {
1039     pub wMid: u16,
1040     pub wPid: u16,
1041     pub vDriverVersion: u32,
1042     pub szPname: [u16; 32],
1043     pub wTechnology: u16,
1044     pub wReserved1: u16,
1045     pub dwSupport: u32,
1046 }
1047 impl ::core::marker::Copy for AUXCAPSW {}
1048 impl ::core::clone::Clone for AUXCAPSW {
clone(&self) -> Self1049     fn clone(&self) -> Self {
1050         *self
1051     }
1052 }
1053 pub const AUXCAPS_AUXIN: u32 = 2u32;
1054 pub const AUXCAPS_CDAUDIO: u32 = 1u32;
1055 pub const AUXCAPS_LRVOLUME: u32 = 2u32;
1056 pub const AUXCAPS_VOLUME: u32 = 1u32;
1057 #[repr(C)]
1058 pub struct AudioClient3ActivationParams {
1059     pub tracingContextId: ::windows_sys::core::GUID,
1060 }
1061 impl ::core::marker::Copy for AudioClient3ActivationParams {}
1062 impl ::core::clone::Clone for AudioClient3ActivationParams {
clone(&self) -> Self1063     fn clone(&self) -> Self {
1064         *self
1065     }
1066 }
1067 #[repr(C)]
1068 #[cfg(feature = "Win32_Foundation")]
1069 pub struct AudioClientProperties {
1070     pub cbSize: u32,
1071     pub bIsOffload: super::super::Foundation::BOOL,
1072     pub eCategory: AUDIO_STREAM_CATEGORY,
1073     pub Options: AUDCLNT_STREAMOPTIONS,
1074 }
1075 #[cfg(feature = "Win32_Foundation")]
1076 impl ::core::marker::Copy for AudioClientProperties {}
1077 #[cfg(feature = "Win32_Foundation")]
1078 impl ::core::clone::Clone for AudioClientProperties {
clone(&self) -> Self1079     fn clone(&self) -> Self {
1080         *self
1081     }
1082 }
1083 #[repr(C)]
1084 #[cfg(feature = "Win32_Foundation")]
1085 pub struct AudioExtensionParams {
1086     pub AddPageParam: super::super::Foundation::LPARAM,
1087     pub pEndpoint: IMMDevice,
1088     pub pPnpInterface: IMMDevice,
1089     pub pPnpDevnode: IMMDevice,
1090 }
1091 #[cfg(feature = "Win32_Foundation")]
1092 impl ::core::marker::Copy for AudioExtensionParams {}
1093 #[cfg(feature = "Win32_Foundation")]
1094 impl ::core::clone::Clone for AudioExtensionParams {
clone(&self) -> Self1095     fn clone(&self) -> Self {
1096         *self
1097     }
1098 }
1099 pub type AudioObjectType = u32;
1100 pub const AudioObjectType_None: AudioObjectType = 0u32;
1101 pub const AudioObjectType_Dynamic: AudioObjectType = 1u32;
1102 pub const AudioObjectType_FrontLeft: AudioObjectType = 2u32;
1103 pub const AudioObjectType_FrontRight: AudioObjectType = 4u32;
1104 pub const AudioObjectType_FrontCenter: AudioObjectType = 8u32;
1105 pub const AudioObjectType_LowFrequency: AudioObjectType = 16u32;
1106 pub const AudioObjectType_SideLeft: AudioObjectType = 32u32;
1107 pub const AudioObjectType_SideRight: AudioObjectType = 64u32;
1108 pub const AudioObjectType_BackLeft: AudioObjectType = 128u32;
1109 pub const AudioObjectType_BackRight: AudioObjectType = 256u32;
1110 pub const AudioObjectType_TopFrontLeft: AudioObjectType = 512u32;
1111 pub const AudioObjectType_TopFrontRight: AudioObjectType = 1024u32;
1112 pub const AudioObjectType_TopBackLeft: AudioObjectType = 2048u32;
1113 pub const AudioObjectType_TopBackRight: AudioObjectType = 4096u32;
1114 pub const AudioObjectType_BottomFrontLeft: AudioObjectType = 8192u32;
1115 pub const AudioObjectType_BottomFrontRight: AudioObjectType = 16384u32;
1116 pub const AudioObjectType_BottomBackLeft: AudioObjectType = 32768u32;
1117 pub const AudioObjectType_BottomBackRight: AudioObjectType = 65536u32;
1118 pub const AudioObjectType_BackCenter: AudioObjectType = 131072u32;
1119 pub type AudioSessionDisconnectReason = i32;
1120 pub const DisconnectReasonDeviceRemoval: AudioSessionDisconnectReason = 0i32;
1121 pub const DisconnectReasonServerShutdown: AudioSessionDisconnectReason = 1i32;
1122 pub const DisconnectReasonFormatChanged: AudioSessionDisconnectReason = 2i32;
1123 pub const DisconnectReasonSessionLogoff: AudioSessionDisconnectReason = 3i32;
1124 pub const DisconnectReasonSessionDisconnected: AudioSessionDisconnectReason = 4i32;
1125 pub const DisconnectReasonExclusiveModeOverride: AudioSessionDisconnectReason = 5i32;
1126 pub type AudioSessionState = i32;
1127 pub const AudioSessionStateInactive: AudioSessionState = 0i32;
1128 pub const AudioSessionStateActive: AudioSessionState = 1i32;
1129 pub const AudioSessionStateExpired: AudioSessionState = 2i32;
1130 pub type AudioStateMonitorSoundLevel = i32;
1131 pub const Muted: AudioStateMonitorSoundLevel = 0i32;
1132 pub const Low: AudioStateMonitorSoundLevel = 1i32;
1133 pub const Full: AudioStateMonitorSoundLevel = 2i32;
1134 #[repr(transparent)]
1135 pub struct ConnectorType(pub i32);
1136 impl ConnectorType {
1137     pub const Unknown_Connector: Self = Self(0i32);
1138     pub const Physical_Internal: Self = Self(1i32);
1139     pub const Physical_External: Self = Self(2i32);
1140     pub const Software_IO: Self = Self(3i32);
1141     pub const Software_Fixed: Self = Self(4i32);
1142     pub const Network: Self = Self(5i32);
1143 }
1144 impl ::core::marker::Copy for ConnectorType {}
1145 impl ::core::clone::Clone for ConnectorType {
clone(&self) -> Self1146     fn clone(&self) -> Self {
1147         *self
1148     }
1149 }
1150 pub const DEVICE_STATEMASK_ALL: u32 = 15u32;
1151 pub const DEVICE_STATE_ACTIVE: u32 = 1u32;
1152 pub const DEVICE_STATE_DISABLED: u32 = 2u32;
1153 pub const DEVICE_STATE_NOTPRESENT: u32 = 4u32;
1154 pub const DEVICE_STATE_UNPLUGGED: u32 = 8u32;
1155 pub const DEVINTERFACE_AUDIO_CAPTURE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 787448254, data2: 13306, data3: 18432, data4: [150, 112, 28, 212, 116, 151, 44, 63] };
1156 pub const DEVINTERFACE_AUDIO_RENDER: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1157     data1: 3862068397,
1158     data2: 56556,
1159     data3: 18761,
1160     data4: [174, 138, 153, 30, 151, 106, 121, 210],
1161 };
1162 pub const DEVINTERFACE_MIDI_INPUT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1347150636, data2: 52470, data3: 19756, data4: [183, 63, 111, 139, 55, 71, 226, 43] };
1163 pub const DEVINTERFACE_MIDI_OUTPUT: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1164     data1: 1841443616,
1165     data2: 43827,
1166     data3: 19684,
1167     data4: [128, 212, 187, 179, 235, 191, 40, 20],
1168 };
1169 #[repr(C)]
1170 pub struct DIRECTX_AUDIO_ACTIVATION_PARAMS {
1171     pub cbDirectXAudioActivationParams: u32,
1172     pub guidAudioSession: ::windows_sys::core::GUID,
1173     pub dwAudioStreamFlags: u32,
1174 }
1175 impl ::core::marker::Copy for DIRECTX_AUDIO_ACTIVATION_PARAMS {}
1176 impl ::core::clone::Clone for DIRECTX_AUDIO_ACTIVATION_PARAMS {
clone(&self) -> Self1177     fn clone(&self) -> Self {
1178         *self
1179     }
1180 }
1181 pub const DRVM_MAPPER: u32 = 8192u32;
1182 pub const DRVM_MAPPER_STATUS: u32 = 8192u32;
1183 pub const DRV_MAPPER_PREFERRED_INPUT_GET: u32 = 16384u32;
1184 pub const DRV_MAPPER_PREFERRED_OUTPUT_GET: u32 = 16386u32;
1185 pub type DataFlow = i32;
1186 pub const In: DataFlow = 0i32;
1187 pub const Out: DataFlow = 1i32;
1188 pub const DeviceTopology: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1189     data1: 502675920,
1190     data2: 24257,
1191     data3: 18346,
1192     data4: [147, 121, 130, 141, 193, 170, 140, 89],
1193 };
1194 #[repr(C, packed(1))]
1195 pub struct ECHOWAVEFILTER {
1196     pub wfltr: WAVEFILTER,
1197     pub dwVolume: u32,
1198     pub dwDelay: u32,
1199 }
1200 impl ::core::marker::Copy for ECHOWAVEFILTER {}
1201 impl ::core::clone::Clone for ECHOWAVEFILTER {
clone(&self) -> Self1202     fn clone(&self) -> Self {
1203         *self
1204     }
1205 }
1206 pub type EDataFlow = i32;
1207 pub const eRender: EDataFlow = 0i32;
1208 pub const eCapture: EDataFlow = 1i32;
1209 pub const eAll: EDataFlow = 2i32;
1210 pub const EDataFlow_enum_count: EDataFlow = 3i32;
1211 pub const ENDPOINT_FORMAT_RESET_MIX_ONLY: u32 = 1u32;
1212 pub const ENDPOINT_HARDWARE_SUPPORT_METER: u32 = 4u32;
1213 pub const ENDPOINT_HARDWARE_SUPPORT_MUTE: u32 = 2u32;
1214 pub const ENDPOINT_HARDWARE_SUPPORT_VOLUME: u32 = 1u32;
1215 pub const ENDPOINT_SYSFX_DISABLED: u32 = 1u32;
1216 pub const ENDPOINT_SYSFX_ENABLED: u32 = 0u32;
1217 pub type ERole = i32;
1218 pub const eConsole: ERole = 0i32;
1219 pub const eMultimedia: ERole = 1i32;
1220 pub const eCommunications: ERole = 2i32;
1221 pub const ERole_enum_count: ERole = 3i32;
1222 pub const EVENTCONTEXT_VOLUMESLIDER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3804424670, data2: 2481, data3: 19204, data4: [132, 229, 7, 147, 18, 37, 238, 4] };
1223 pub type EndpointFormFactor = i32;
1224 pub const RemoteNetworkDevice: EndpointFormFactor = 0i32;
1225 pub const Speakers: EndpointFormFactor = 1i32;
1226 pub const LineLevel: EndpointFormFactor = 2i32;
1227 pub const Headphones: EndpointFormFactor = 3i32;
1228 pub const Microphone: EndpointFormFactor = 4i32;
1229 pub const Headset: EndpointFormFactor = 5i32;
1230 pub const Handset: EndpointFormFactor = 6i32;
1231 pub const UnknownDigitalPassthrough: EndpointFormFactor = 7i32;
1232 pub const SPDIF: EndpointFormFactor = 8i32;
1233 pub const DigitalAudioDisplayDevice: EndpointFormFactor = 9i32;
1234 pub const UnknownFormFactor: EndpointFormFactor = 10i32;
1235 pub const EndpointFormFactor_enum_count: EndpointFormFactor = 11i32;
1236 pub const FILTERCHOOSE_CUSTOM_VERIFY: u32 = 2u32;
1237 pub const FILTERCHOOSE_FILTERTAG_VERIFY: u32 = 0u32;
1238 pub const FILTERCHOOSE_FILTER_VERIFY: u32 = 1u32;
1239 pub const FILTERCHOOSE_MESSAGE: u32 = 0u32;
1240 pub const FORMATCHOOSE_CUSTOM_VERIFY: u32 = 2u32;
1241 pub const FORMATCHOOSE_FORMATTAG_VERIFY: u32 = 0u32;
1242 pub const FORMATCHOOSE_FORMAT_VERIFY: u32 = 1u32;
1243 pub const FORMATCHOOSE_MESSAGE: u32 = 0u32;
1244 pub type HACMDRIVER = isize;
1245 pub type HACMDRIVERID = isize;
1246 pub type HACMOBJ = isize;
1247 pub type HACMSTREAM = isize;
1248 pub type HMIDI = isize;
1249 pub type HMIDIIN = isize;
1250 pub type HMIDIOUT = isize;
1251 pub type HMIDISTRM = isize;
1252 pub type HMIXER = isize;
1253 pub type HMIXEROBJ = isize;
1254 pub type HWAVE = isize;
1255 pub type HWAVEIN = isize;
1256 pub type HWAVEOUT = isize;
1257 pub type IActivateAudioInterfaceAsyncOperation = *mut ::core::ffi::c_void;
1258 pub type IActivateAudioInterfaceCompletionHandler = *mut ::core::ffi::c_void;
1259 pub type IAudioAmbisonicsControl = *mut ::core::ffi::c_void;
1260 pub type IAudioAutoGainControl = *mut ::core::ffi::c_void;
1261 pub type IAudioBass = *mut ::core::ffi::c_void;
1262 pub type IAudioCaptureClient = *mut ::core::ffi::c_void;
1263 pub type IAudioChannelConfig = *mut ::core::ffi::c_void;
1264 pub type IAudioClient = *mut ::core::ffi::c_void;
1265 pub type IAudioClient2 = *mut ::core::ffi::c_void;
1266 pub type IAudioClient3 = *mut ::core::ffi::c_void;
1267 pub type IAudioClientDuckingControl = *mut ::core::ffi::c_void;
1268 pub type IAudioClock = *mut ::core::ffi::c_void;
1269 pub type IAudioClock2 = *mut ::core::ffi::c_void;
1270 pub type IAudioClockAdjustment = *mut ::core::ffi::c_void;
1271 pub type IAudioEffectsChangedNotificationClient = *mut ::core::ffi::c_void;
1272 pub type IAudioEffectsManager = *mut ::core::ffi::c_void;
1273 pub type IAudioFormatEnumerator = *mut ::core::ffi::c_void;
1274 pub type IAudioInputSelector = *mut ::core::ffi::c_void;
1275 pub type IAudioLoudness = *mut ::core::ffi::c_void;
1276 pub type IAudioMidrange = *mut ::core::ffi::c_void;
1277 pub type IAudioMute = *mut ::core::ffi::c_void;
1278 pub type IAudioOutputSelector = *mut ::core::ffi::c_void;
1279 pub type IAudioPeakMeter = *mut ::core::ffi::c_void;
1280 pub type IAudioRenderClient = *mut ::core::ffi::c_void;
1281 pub type IAudioSessionControl = *mut ::core::ffi::c_void;
1282 pub type IAudioSessionControl2 = *mut ::core::ffi::c_void;
1283 pub type IAudioSessionEnumerator = *mut ::core::ffi::c_void;
1284 pub type IAudioSessionEvents = *mut ::core::ffi::c_void;
1285 pub type IAudioSessionManager = *mut ::core::ffi::c_void;
1286 pub type IAudioSessionManager2 = *mut ::core::ffi::c_void;
1287 pub type IAudioSessionNotification = *mut ::core::ffi::c_void;
1288 pub type IAudioStateMonitor = *mut ::core::ffi::c_void;
1289 pub type IAudioStreamVolume = *mut ::core::ffi::c_void;
1290 pub type IAudioSystemEffectsPropertyChangeNotificationClient = *mut ::core::ffi::c_void;
1291 pub type IAudioSystemEffectsPropertyStore = *mut ::core::ffi::c_void;
1292 pub type IAudioTreble = *mut ::core::ffi::c_void;
1293 pub type IAudioVolumeDuckNotification = *mut ::core::ffi::c_void;
1294 pub type IAudioVolumeLevel = *mut ::core::ffi::c_void;
1295 pub type IChannelAudioVolume = *mut ::core::ffi::c_void;
1296 pub type IConnector = *mut ::core::ffi::c_void;
1297 pub type IControlChangeNotify = *mut ::core::ffi::c_void;
1298 pub type IControlInterface = *mut ::core::ffi::c_void;
1299 pub type IDeviceSpecificProperty = *mut ::core::ffi::c_void;
1300 pub type IDeviceTopology = *mut ::core::ffi::c_void;
1301 pub type IMMDevice = *mut ::core::ffi::c_void;
1302 pub type IMMDeviceActivator = *mut ::core::ffi::c_void;
1303 pub type IMMDeviceCollection = *mut ::core::ffi::c_void;
1304 pub type IMMDeviceEnumerator = *mut ::core::ffi::c_void;
1305 pub type IMMEndpoint = *mut ::core::ffi::c_void;
1306 pub type IMMNotificationClient = *mut ::core::ffi::c_void;
1307 pub type IMessageFilter = *mut ::core::ffi::c_void;
1308 pub type IPart = *mut ::core::ffi::c_void;
1309 pub type IPartsList = *mut ::core::ffi::c_void;
1310 pub type IPerChannelDbLevel = *mut ::core::ffi::c_void;
1311 pub type ISimpleAudioVolume = *mut ::core::ffi::c_void;
1312 pub type ISpatialAudioClient = *mut ::core::ffi::c_void;
1313 pub type ISpatialAudioClient2 = *mut ::core::ffi::c_void;
1314 pub type ISpatialAudioMetadataClient = *mut ::core::ffi::c_void;
1315 pub type ISpatialAudioMetadataCopier = *mut ::core::ffi::c_void;
1316 pub type ISpatialAudioMetadataItems = *mut ::core::ffi::c_void;
1317 pub type ISpatialAudioMetadataItemsBuffer = *mut ::core::ffi::c_void;
1318 pub type ISpatialAudioMetadataReader = *mut ::core::ffi::c_void;
1319 pub type ISpatialAudioMetadataWriter = *mut ::core::ffi::c_void;
1320 pub type ISpatialAudioObject = *mut ::core::ffi::c_void;
1321 pub type ISpatialAudioObjectBase = *mut ::core::ffi::c_void;
1322 pub type ISpatialAudioObjectForHrtf = *mut ::core::ffi::c_void;
1323 pub type ISpatialAudioObjectForMetadataCommands = *mut ::core::ffi::c_void;
1324 pub type ISpatialAudioObjectForMetadataItems = *mut ::core::ffi::c_void;
1325 pub type ISpatialAudioObjectRenderStream = *mut ::core::ffi::c_void;
1326 pub type ISpatialAudioObjectRenderStreamBase = *mut ::core::ffi::c_void;
1327 pub type ISpatialAudioObjectRenderStreamForHrtf = *mut ::core::ffi::c_void;
1328 pub type ISpatialAudioObjectRenderStreamForMetadata = *mut ::core::ffi::c_void;
1329 pub type ISpatialAudioObjectRenderStreamNotify = *mut ::core::ffi::c_void;
1330 pub type ISubunit = *mut ::core::ffi::c_void;
1331 #[cfg(feature = "Win32_Foundation")]
1332 pub type LPACMDRIVERPROC = unsafe extern "system" fn(param0: usize, param1: HACMDRIVERID, param2: u32, param3: super::super::Foundation::LPARAM, param4: super::super::Foundation::LPARAM) -> super::super::Foundation::LRESULT;
1333 #[cfg(feature = "Win32_Media_Multimedia")]
1334 pub type LPMIDICALLBACK = unsafe extern "system" fn(hdrvr: super::Multimedia::HDRVR, umsg: u32, dwuser: usize, dw1: usize, dw2: usize);
1335 #[cfg(feature = "Win32_Media_Multimedia")]
1336 pub type LPWAVECALLBACK = unsafe extern "system" fn(hdrvr: super::Multimedia::HDRVR, umsg: u32, dwuser: usize, dw1: usize, dw2: usize);
1337 pub const MEVT_F_CALLBACK: i32 = 1073741824i32;
1338 pub const MEVT_F_LONG: i32 = -2147483648i32;
1339 pub const MEVT_F_SHORT: i32 = 0i32;
1340 pub const MHDR_DONE: u32 = 1u32;
1341 pub const MHDR_INQUEUE: u32 = 4u32;
1342 pub const MHDR_ISSTRM: u32 = 8u32;
1343 pub const MHDR_PREPARED: u32 = 2u32;
1344 pub const MIDICAPS_CACHE: u32 = 4u32;
1345 pub const MIDICAPS_LRVOLUME: u32 = 2u32;
1346 pub const MIDICAPS_STREAM: u32 = 8u32;
1347 pub const MIDICAPS_VOLUME: u32 = 1u32;
1348 pub const MIDIERR_BADOPENMODE: u32 = 70u32;
1349 pub const MIDIERR_DONT_CONTINUE: u32 = 71u32;
1350 pub const MIDIERR_INVALIDSETUP: u32 = 69u32;
1351 pub const MIDIERR_LASTERROR: u32 = 71u32;
1352 pub const MIDIERR_NODEVICE: u32 = 68u32;
1353 pub const MIDIERR_NOMAP: u32 = 66u32;
1354 pub const MIDIERR_NOTREADY: u32 = 67u32;
1355 pub const MIDIERR_STILLPLAYING: u32 = 65u32;
1356 pub const MIDIERR_UNPREPARED: u32 = 64u32;
1357 #[repr(C, packed(1))]
1358 pub struct MIDIEVENT {
1359     pub dwDeltaTime: u32,
1360     pub dwStreamID: u32,
1361     pub dwEvent: u32,
1362     pub dwParms: [u32; 1],
1363 }
1364 impl ::core::marker::Copy for MIDIEVENT {}
1365 impl ::core::clone::Clone for MIDIEVENT {
clone(&self) -> Self1366     fn clone(&self) -> Self {
1367         *self
1368     }
1369 }
1370 #[repr(C, packed(1))]
1371 #[cfg(feature = "Win32_Foundation")]
1372 pub struct MIDIHDR {
1373     pub lpData: super::super::Foundation::PSTR,
1374     pub dwBufferLength: u32,
1375     pub dwBytesRecorded: u32,
1376     pub dwUser: usize,
1377     pub dwFlags: u32,
1378     pub lpNext: *mut MIDIHDR,
1379     pub reserved: usize,
1380     pub dwOffset: u32,
1381     pub dwReserved: [usize; 8],
1382 }
1383 #[cfg(feature = "Win32_Foundation")]
1384 impl ::core::marker::Copy for MIDIHDR {}
1385 #[cfg(feature = "Win32_Foundation")]
1386 impl ::core::clone::Clone for MIDIHDR {
clone(&self) -> Self1387     fn clone(&self) -> Self {
1388         *self
1389     }
1390 }
1391 #[repr(C, packed(1))]
1392 #[cfg(feature = "Win32_Foundation")]
1393 pub struct MIDIINCAPS2A {
1394     pub wMid: u16,
1395     pub wPid: u16,
1396     pub vDriverVersion: u32,
1397     pub szPname: [super::super::Foundation::CHAR; 32],
1398     pub dwSupport: u32,
1399     pub ManufacturerGuid: ::windows_sys::core::GUID,
1400     pub ProductGuid: ::windows_sys::core::GUID,
1401     pub NameGuid: ::windows_sys::core::GUID,
1402 }
1403 #[cfg(feature = "Win32_Foundation")]
1404 impl ::core::marker::Copy for MIDIINCAPS2A {}
1405 #[cfg(feature = "Win32_Foundation")]
1406 impl ::core::clone::Clone for MIDIINCAPS2A {
clone(&self) -> Self1407     fn clone(&self) -> Self {
1408         *self
1409     }
1410 }
1411 #[repr(C, packed(1))]
1412 pub struct MIDIINCAPS2W {
1413     pub wMid: u16,
1414     pub wPid: u16,
1415     pub vDriverVersion: u32,
1416     pub szPname: [u16; 32],
1417     pub dwSupport: u32,
1418     pub ManufacturerGuid: ::windows_sys::core::GUID,
1419     pub ProductGuid: ::windows_sys::core::GUID,
1420     pub NameGuid: ::windows_sys::core::GUID,
1421 }
1422 impl ::core::marker::Copy for MIDIINCAPS2W {}
1423 impl ::core::clone::Clone for MIDIINCAPS2W {
clone(&self) -> Self1424     fn clone(&self) -> Self {
1425         *self
1426     }
1427 }
1428 #[repr(C, packed(1))]
1429 #[cfg(feature = "Win32_Foundation")]
1430 pub struct MIDIINCAPSA {
1431     pub wMid: u16,
1432     pub wPid: u16,
1433     pub vDriverVersion: u32,
1434     pub szPname: [super::super::Foundation::CHAR; 32],
1435     pub dwSupport: u32,
1436 }
1437 #[cfg(feature = "Win32_Foundation")]
1438 impl ::core::marker::Copy for MIDIINCAPSA {}
1439 #[cfg(feature = "Win32_Foundation")]
1440 impl ::core::clone::Clone for MIDIINCAPSA {
clone(&self) -> Self1441     fn clone(&self) -> Self {
1442         *self
1443     }
1444 }
1445 #[repr(C, packed(1))]
1446 pub struct MIDIINCAPSW {
1447     pub wMid: u16,
1448     pub wPid: u16,
1449     pub vDriverVersion: u32,
1450     pub szPname: [u16; 32],
1451     pub dwSupport: u32,
1452 }
1453 impl ::core::marker::Copy for MIDIINCAPSW {}
1454 impl ::core::clone::Clone for MIDIINCAPSW {
clone(&self) -> Self1455     fn clone(&self) -> Self {
1456         *self
1457     }
1458 }
1459 #[repr(C, packed(1))]
1460 #[cfg(feature = "Win32_Foundation")]
1461 pub struct MIDIOUTCAPS2A {
1462     pub wMid: u16,
1463     pub wPid: u16,
1464     pub vDriverVersion: u32,
1465     pub szPname: [super::super::Foundation::CHAR; 32],
1466     pub wTechnology: u16,
1467     pub wVoices: u16,
1468     pub wNotes: u16,
1469     pub wChannelMask: u16,
1470     pub dwSupport: u32,
1471     pub ManufacturerGuid: ::windows_sys::core::GUID,
1472     pub ProductGuid: ::windows_sys::core::GUID,
1473     pub NameGuid: ::windows_sys::core::GUID,
1474 }
1475 #[cfg(feature = "Win32_Foundation")]
1476 impl ::core::marker::Copy for MIDIOUTCAPS2A {}
1477 #[cfg(feature = "Win32_Foundation")]
1478 impl ::core::clone::Clone for MIDIOUTCAPS2A {
clone(&self) -> Self1479     fn clone(&self) -> Self {
1480         *self
1481     }
1482 }
1483 #[repr(C, packed(1))]
1484 pub struct MIDIOUTCAPS2W {
1485     pub wMid: u16,
1486     pub wPid: u16,
1487     pub vDriverVersion: u32,
1488     pub szPname: [u16; 32],
1489     pub wTechnology: u16,
1490     pub wVoices: u16,
1491     pub wNotes: u16,
1492     pub wChannelMask: u16,
1493     pub dwSupport: u32,
1494     pub ManufacturerGuid: ::windows_sys::core::GUID,
1495     pub ProductGuid: ::windows_sys::core::GUID,
1496     pub NameGuid: ::windows_sys::core::GUID,
1497 }
1498 impl ::core::marker::Copy for MIDIOUTCAPS2W {}
1499 impl ::core::clone::Clone for MIDIOUTCAPS2W {
clone(&self) -> Self1500     fn clone(&self) -> Self {
1501         *self
1502     }
1503 }
1504 #[repr(C, packed(1))]
1505 #[cfg(feature = "Win32_Foundation")]
1506 pub struct MIDIOUTCAPSA {
1507     pub wMid: u16,
1508     pub wPid: u16,
1509     pub vDriverVersion: u32,
1510     pub szPname: [super::super::Foundation::CHAR; 32],
1511     pub wTechnology: u16,
1512     pub wVoices: u16,
1513     pub wNotes: u16,
1514     pub wChannelMask: u16,
1515     pub dwSupport: u32,
1516 }
1517 #[cfg(feature = "Win32_Foundation")]
1518 impl ::core::marker::Copy for MIDIOUTCAPSA {}
1519 #[cfg(feature = "Win32_Foundation")]
1520 impl ::core::clone::Clone for MIDIOUTCAPSA {
clone(&self) -> Self1521     fn clone(&self) -> Self {
1522         *self
1523     }
1524 }
1525 #[repr(C, packed(1))]
1526 pub struct MIDIOUTCAPSW {
1527     pub wMid: u16,
1528     pub wPid: u16,
1529     pub vDriverVersion: u32,
1530     pub szPname: [u16; 32],
1531     pub wTechnology: u16,
1532     pub wVoices: u16,
1533     pub wNotes: u16,
1534     pub wChannelMask: u16,
1535     pub dwSupport: u32,
1536 }
1537 impl ::core::marker::Copy for MIDIOUTCAPSW {}
1538 impl ::core::clone::Clone for MIDIOUTCAPSW {
clone(&self) -> Self1539     fn clone(&self) -> Self {
1540         *self
1541     }
1542 }
1543 pub const MIDIPATCHSIZE: u32 = 128u32;
1544 #[repr(C, packed(1))]
1545 pub struct MIDIPROPTEMPO {
1546     pub cbStruct: u32,
1547     pub dwTempo: u32,
1548 }
1549 impl ::core::marker::Copy for MIDIPROPTEMPO {}
1550 impl ::core::clone::Clone for MIDIPROPTEMPO {
clone(&self) -> Self1551     fn clone(&self) -> Self {
1552         *self
1553     }
1554 }
1555 #[repr(C, packed(1))]
1556 pub struct MIDIPROPTIMEDIV {
1557     pub cbStruct: u32,
1558     pub dwTimeDiv: u32,
1559 }
1560 impl ::core::marker::Copy for MIDIPROPTIMEDIV {}
1561 impl ::core::clone::Clone for MIDIPROPTIMEDIV {
clone(&self) -> Self1562     fn clone(&self) -> Self {
1563         *self
1564     }
1565 }
1566 pub const MIDIPROP_GET: i32 = 1073741824i32;
1567 pub const MIDIPROP_SET: i32 = -2147483648i32;
1568 pub const MIDIPROP_TEMPO: i32 = 2i32;
1569 pub const MIDIPROP_TIMEDIV: i32 = 1i32;
1570 #[repr(C, packed(1))]
1571 pub struct MIDISTRMBUFFVER {
1572     pub dwVersion: u32,
1573     pub dwMid: u32,
1574     pub dwOEMVersion: u32,
1575 }
1576 impl ::core::marker::Copy for MIDISTRMBUFFVER {}
1577 impl ::core::clone::Clone for MIDISTRMBUFFVER {
clone(&self) -> Self1578     fn clone(&self) -> Self {
1579         *self
1580     }
1581 }
1582 pub const MIDISTRM_ERROR: i32 = -2i32;
1583 pub const MIDI_CACHE_ALL: u32 = 1u32;
1584 pub const MIDI_CACHE_BESTFIT: u32 = 2u32;
1585 pub const MIDI_CACHE_QUERY: u32 = 3u32;
1586 pub const MIDI_UNCACHE: u32 = 4u32;
1587 pub type MIDI_WAVE_OPEN_TYPE = u32;
1588 pub const CALLBACK_TYPEMASK: MIDI_WAVE_OPEN_TYPE = 458752u32;
1589 pub const CALLBACK_NULL: MIDI_WAVE_OPEN_TYPE = 0u32;
1590 pub const CALLBACK_WINDOW: MIDI_WAVE_OPEN_TYPE = 65536u32;
1591 pub const CALLBACK_TASK: MIDI_WAVE_OPEN_TYPE = 131072u32;
1592 pub const CALLBACK_FUNCTION: MIDI_WAVE_OPEN_TYPE = 196608u32;
1593 pub const CALLBACK_THREAD: MIDI_WAVE_OPEN_TYPE = 131072u32;
1594 pub const CALLBACK_EVENT: MIDI_WAVE_OPEN_TYPE = 327680u32;
1595 pub const WAVE_FORMAT_QUERY: MIDI_WAVE_OPEN_TYPE = 1u32;
1596 pub const WAVE_ALLOWSYNC: MIDI_WAVE_OPEN_TYPE = 2u32;
1597 pub const WAVE_MAPPED: MIDI_WAVE_OPEN_TYPE = 4u32;
1598 pub const WAVE_FORMAT_DIRECT: MIDI_WAVE_OPEN_TYPE = 8u32;
1599 pub const WAVE_FORMAT_DIRECT_QUERY: MIDI_WAVE_OPEN_TYPE = 9u32;
1600 pub const WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE: MIDI_WAVE_OPEN_TYPE = 16u32;
1601 pub const MIDI_IO_STATUS: MIDI_WAVE_OPEN_TYPE = 32u32;
1602 #[repr(C, packed(1))]
1603 #[cfg(feature = "Win32_Foundation")]
1604 pub struct MIXERCAPS2A {
1605     pub wMid: u16,
1606     pub wPid: u16,
1607     pub vDriverVersion: u32,
1608     pub szPname: [super::super::Foundation::CHAR; 32],
1609     pub fdwSupport: u32,
1610     pub cDestinations: u32,
1611     pub ManufacturerGuid: ::windows_sys::core::GUID,
1612     pub ProductGuid: ::windows_sys::core::GUID,
1613     pub NameGuid: ::windows_sys::core::GUID,
1614 }
1615 #[cfg(feature = "Win32_Foundation")]
1616 impl ::core::marker::Copy for MIXERCAPS2A {}
1617 #[cfg(feature = "Win32_Foundation")]
1618 impl ::core::clone::Clone for MIXERCAPS2A {
clone(&self) -> Self1619     fn clone(&self) -> Self {
1620         *self
1621     }
1622 }
1623 #[repr(C, packed(1))]
1624 pub struct MIXERCAPS2W {
1625     pub wMid: u16,
1626     pub wPid: u16,
1627     pub vDriverVersion: u32,
1628     pub szPname: [u16; 32],
1629     pub fdwSupport: u32,
1630     pub cDestinations: u32,
1631     pub ManufacturerGuid: ::windows_sys::core::GUID,
1632     pub ProductGuid: ::windows_sys::core::GUID,
1633     pub NameGuid: ::windows_sys::core::GUID,
1634 }
1635 impl ::core::marker::Copy for MIXERCAPS2W {}
1636 impl ::core::clone::Clone for MIXERCAPS2W {
clone(&self) -> Self1637     fn clone(&self) -> Self {
1638         *self
1639     }
1640 }
1641 #[repr(C, packed(1))]
1642 #[cfg(feature = "Win32_Foundation")]
1643 pub struct MIXERCAPSA {
1644     pub wMid: u16,
1645     pub wPid: u16,
1646     pub vDriverVersion: u32,
1647     pub szPname: [super::super::Foundation::CHAR; 32],
1648     pub fdwSupport: u32,
1649     pub cDestinations: u32,
1650 }
1651 #[cfg(feature = "Win32_Foundation")]
1652 impl ::core::marker::Copy for MIXERCAPSA {}
1653 #[cfg(feature = "Win32_Foundation")]
1654 impl ::core::clone::Clone for MIXERCAPSA {
clone(&self) -> Self1655     fn clone(&self) -> Self {
1656         *self
1657     }
1658 }
1659 #[repr(C, packed(1))]
1660 pub struct MIXERCAPSW {
1661     pub wMid: u16,
1662     pub wPid: u16,
1663     pub vDriverVersion: u32,
1664     pub szPname: [u16; 32],
1665     pub fdwSupport: u32,
1666     pub cDestinations: u32,
1667 }
1668 impl ::core::marker::Copy for MIXERCAPSW {}
1669 impl ::core::clone::Clone for MIXERCAPSW {
clone(&self) -> Self1670     fn clone(&self) -> Self {
1671         *self
1672     }
1673 }
1674 #[repr(C, packed(1))]
1675 #[cfg(feature = "Win32_Foundation")]
1676 pub struct MIXERCONTROLA {
1677     pub cbStruct: u32,
1678     pub dwControlID: u32,
1679     pub dwControlType: u32,
1680     pub fdwControl: u32,
1681     pub cMultipleItems: u32,
1682     pub szShortName: [super::super::Foundation::CHAR; 16],
1683     pub szName: [super::super::Foundation::CHAR; 64],
1684     pub Bounds: MIXERCONTROLA_0,
1685     pub Metrics: MIXERCONTROLA_1,
1686 }
1687 #[cfg(feature = "Win32_Foundation")]
1688 impl ::core::marker::Copy for MIXERCONTROLA {}
1689 #[cfg(feature = "Win32_Foundation")]
1690 impl ::core::clone::Clone for MIXERCONTROLA {
clone(&self) -> Self1691     fn clone(&self) -> Self {
1692         *self
1693     }
1694 }
1695 #[repr(C, packed(1))]
1696 #[cfg(feature = "Win32_Foundation")]
1697 pub union MIXERCONTROLA_0 {
1698     pub Anonymous1: MIXERCONTROLA_0_0,
1699     pub Anonymous2: MIXERCONTROLA_0_1,
1700     pub dwReserved: [u32; 6],
1701 }
1702 #[cfg(feature = "Win32_Foundation")]
1703 impl ::core::marker::Copy for MIXERCONTROLA_0 {}
1704 #[cfg(feature = "Win32_Foundation")]
1705 impl ::core::clone::Clone for MIXERCONTROLA_0 {
clone(&self) -> Self1706     fn clone(&self) -> Self {
1707         *self
1708     }
1709 }
1710 #[repr(C, packed(1))]
1711 #[cfg(feature = "Win32_Foundation")]
1712 pub struct MIXERCONTROLA_0_0 {
1713     pub lMinimum: i32,
1714     pub lMaximum: i32,
1715 }
1716 #[cfg(feature = "Win32_Foundation")]
1717 impl ::core::marker::Copy for MIXERCONTROLA_0_0 {}
1718 #[cfg(feature = "Win32_Foundation")]
1719 impl ::core::clone::Clone for MIXERCONTROLA_0_0 {
clone(&self) -> Self1720     fn clone(&self) -> Self {
1721         *self
1722     }
1723 }
1724 #[repr(C, packed(1))]
1725 #[cfg(feature = "Win32_Foundation")]
1726 pub struct MIXERCONTROLA_0_1 {
1727     pub dwMinimum: u32,
1728     pub dwMaximum: u32,
1729 }
1730 #[cfg(feature = "Win32_Foundation")]
1731 impl ::core::marker::Copy for MIXERCONTROLA_0_1 {}
1732 #[cfg(feature = "Win32_Foundation")]
1733 impl ::core::clone::Clone for MIXERCONTROLA_0_1 {
clone(&self) -> Self1734     fn clone(&self) -> Self {
1735         *self
1736     }
1737 }
1738 #[repr(C, packed(1))]
1739 #[cfg(feature = "Win32_Foundation")]
1740 pub union MIXERCONTROLA_1 {
1741     pub cSteps: u32,
1742     pub cbCustomData: u32,
1743     pub dwReserved: [u32; 6],
1744 }
1745 #[cfg(feature = "Win32_Foundation")]
1746 impl ::core::marker::Copy for MIXERCONTROLA_1 {}
1747 #[cfg(feature = "Win32_Foundation")]
1748 impl ::core::clone::Clone for MIXERCONTROLA_1 {
clone(&self) -> Self1749     fn clone(&self) -> Self {
1750         *self
1751     }
1752 }
1753 #[repr(C, packed(1))]
1754 #[cfg(feature = "Win32_Foundation")]
1755 pub struct MIXERCONTROLDETAILS {
1756     pub cbStruct: u32,
1757     pub dwControlID: u32,
1758     pub cChannels: u32,
1759     pub Anonymous: MIXERCONTROLDETAILS_0,
1760     pub cbDetails: u32,
1761     pub paDetails: *mut ::core::ffi::c_void,
1762 }
1763 #[cfg(feature = "Win32_Foundation")]
1764 impl ::core::marker::Copy for MIXERCONTROLDETAILS {}
1765 #[cfg(feature = "Win32_Foundation")]
1766 impl ::core::clone::Clone for MIXERCONTROLDETAILS {
clone(&self) -> Self1767     fn clone(&self) -> Self {
1768         *self
1769     }
1770 }
1771 #[repr(C, packed(1))]
1772 #[cfg(feature = "Win32_Foundation")]
1773 pub union MIXERCONTROLDETAILS_0 {
1774     pub hwndOwner: super::super::Foundation::HWND,
1775     pub cMultipleItems: u32,
1776 }
1777 #[cfg(feature = "Win32_Foundation")]
1778 impl ::core::marker::Copy for MIXERCONTROLDETAILS_0 {}
1779 #[cfg(feature = "Win32_Foundation")]
1780 impl ::core::clone::Clone for MIXERCONTROLDETAILS_0 {
clone(&self) -> Self1781     fn clone(&self) -> Self {
1782         *self
1783     }
1784 }
1785 #[repr(C, packed(1))]
1786 pub struct MIXERCONTROLDETAILS_BOOLEAN {
1787     pub fValue: i32,
1788 }
1789 impl ::core::marker::Copy for MIXERCONTROLDETAILS_BOOLEAN {}
1790 impl ::core::clone::Clone for MIXERCONTROLDETAILS_BOOLEAN {
clone(&self) -> Self1791     fn clone(&self) -> Self {
1792         *self
1793     }
1794 }
1795 #[repr(C, packed(1))]
1796 #[cfg(feature = "Win32_Foundation")]
1797 pub struct MIXERCONTROLDETAILS_LISTTEXTA {
1798     pub dwParam1: u32,
1799     pub dwParam2: u32,
1800     pub szName: [super::super::Foundation::CHAR; 64],
1801 }
1802 #[cfg(feature = "Win32_Foundation")]
1803 impl ::core::marker::Copy for MIXERCONTROLDETAILS_LISTTEXTA {}
1804 #[cfg(feature = "Win32_Foundation")]
1805 impl ::core::clone::Clone for MIXERCONTROLDETAILS_LISTTEXTA {
clone(&self) -> Self1806     fn clone(&self) -> Self {
1807         *self
1808     }
1809 }
1810 #[repr(C, packed(1))]
1811 pub struct MIXERCONTROLDETAILS_LISTTEXTW {
1812     pub dwParam1: u32,
1813     pub dwParam2: u32,
1814     pub szName: [u16; 64],
1815 }
1816 impl ::core::marker::Copy for MIXERCONTROLDETAILS_LISTTEXTW {}
1817 impl ::core::clone::Clone for MIXERCONTROLDETAILS_LISTTEXTW {
clone(&self) -> Self1818     fn clone(&self) -> Self {
1819         *self
1820     }
1821 }
1822 #[repr(C, packed(1))]
1823 pub struct MIXERCONTROLDETAILS_SIGNED {
1824     pub lValue: i32,
1825 }
1826 impl ::core::marker::Copy for MIXERCONTROLDETAILS_SIGNED {}
1827 impl ::core::clone::Clone for MIXERCONTROLDETAILS_SIGNED {
clone(&self) -> Self1828     fn clone(&self) -> Self {
1829         *self
1830     }
1831 }
1832 #[repr(C, packed(1))]
1833 pub struct MIXERCONTROLDETAILS_UNSIGNED {
1834     pub dwValue: u32,
1835 }
1836 impl ::core::marker::Copy for MIXERCONTROLDETAILS_UNSIGNED {}
1837 impl ::core::clone::Clone for MIXERCONTROLDETAILS_UNSIGNED {
clone(&self) -> Self1838     fn clone(&self) -> Self {
1839         *self
1840     }
1841 }
1842 #[repr(C, packed(1))]
1843 pub struct MIXERCONTROLW {
1844     pub cbStruct: u32,
1845     pub dwControlID: u32,
1846     pub dwControlType: u32,
1847     pub fdwControl: u32,
1848     pub cMultipleItems: u32,
1849     pub szShortName: [u16; 16],
1850     pub szName: [u16; 64],
1851     pub Bounds: MIXERCONTROLW_0,
1852     pub Metrics: MIXERCONTROLW_1,
1853 }
1854 impl ::core::marker::Copy for MIXERCONTROLW {}
1855 impl ::core::clone::Clone for MIXERCONTROLW {
clone(&self) -> Self1856     fn clone(&self) -> Self {
1857         *self
1858     }
1859 }
1860 #[repr(C, packed(1))]
1861 pub union MIXERCONTROLW_0 {
1862     pub Anonymous1: MIXERCONTROLW_0_0,
1863     pub Anonymous2: MIXERCONTROLW_0_1,
1864     pub dwReserved: [u32; 6],
1865 }
1866 impl ::core::marker::Copy for MIXERCONTROLW_0 {}
1867 impl ::core::clone::Clone for MIXERCONTROLW_0 {
clone(&self) -> Self1868     fn clone(&self) -> Self {
1869         *self
1870     }
1871 }
1872 #[repr(C, packed(1))]
1873 pub struct MIXERCONTROLW_0_0 {
1874     pub lMinimum: i32,
1875     pub lMaximum: i32,
1876 }
1877 impl ::core::marker::Copy for MIXERCONTROLW_0_0 {}
1878 impl ::core::clone::Clone for MIXERCONTROLW_0_0 {
clone(&self) -> Self1879     fn clone(&self) -> Self {
1880         *self
1881     }
1882 }
1883 #[repr(C, packed(1))]
1884 pub struct MIXERCONTROLW_0_1 {
1885     pub dwMinimum: u32,
1886     pub dwMaximum: u32,
1887 }
1888 impl ::core::marker::Copy for MIXERCONTROLW_0_1 {}
1889 impl ::core::clone::Clone for MIXERCONTROLW_0_1 {
clone(&self) -> Self1890     fn clone(&self) -> Self {
1891         *self
1892     }
1893 }
1894 #[repr(C, packed(1))]
1895 pub union MIXERCONTROLW_1 {
1896     pub cSteps: u32,
1897     pub cbCustomData: u32,
1898     pub dwReserved: [u32; 6],
1899 }
1900 impl ::core::marker::Copy for MIXERCONTROLW_1 {}
1901 impl ::core::clone::Clone for MIXERCONTROLW_1 {
clone(&self) -> Self1902     fn clone(&self) -> Self {
1903         *self
1904     }
1905 }
1906 pub const MIXERCONTROL_CONTROLF_DISABLED: i32 = -2147483648i32;
1907 pub const MIXERCONTROL_CONTROLF_MULTIPLE: i32 = 2i32;
1908 pub const MIXERCONTROL_CONTROLF_UNIFORM: i32 = 1i32;
1909 pub const MIXERCONTROL_CONTROLTYPE_BASS: u32 = 1342373890u32;
1910 pub const MIXERCONTROL_CONTROLTYPE_BASS_BOOST: u32 = 536945271u32;
1911 pub const MIXERCONTROL_CONTROLTYPE_BOOLEAN: u32 = 536936448u32;
1912 pub const MIXERCONTROL_CONTROLTYPE_BOOLEANMETER: u32 = 268500992u32;
1913 pub const MIXERCONTROL_CONTROLTYPE_BUTTON: u32 = 553713664u32;
1914 pub const MIXERCONTROL_CONTROLTYPE_CUSTOM: u32 = 0u32;
1915 pub const MIXERCONTROL_CONTROLTYPE_DECIBELS: u32 = 805568512u32;
1916 pub const MIXERCONTROL_CONTROLTYPE_EQUALIZER: u32 = 1342373892u32;
1917 pub const MIXERCONTROL_CONTROLTYPE_FADER: u32 = 1342373888u32;
1918 pub const MIXERCONTROL_CONTROLTYPE_LOUDNESS: u32 = 536936452u32;
1919 pub const MIXERCONTROL_CONTROLTYPE_MICROTIME: u32 = 1610809344u32;
1920 pub const MIXERCONTROL_CONTROLTYPE_MILLITIME: u32 = 1627586560u32;
1921 pub const MIXERCONTROL_CONTROLTYPE_MIXER: u32 = 1895890945u32;
1922 pub const MIXERCONTROL_CONTROLTYPE_MONO: u32 = 536936451u32;
1923 pub const MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT: u32 = 1895890944u32;
1924 pub const MIXERCONTROL_CONTROLTYPE_MUTE: u32 = 536936450u32;
1925 pub const MIXERCONTROL_CONTROLTYPE_MUX: u32 = 1879113729u32;
1926 pub const MIXERCONTROL_CONTROLTYPE_ONOFF: u32 = 536936449u32;
1927 pub const MIXERCONTROL_CONTROLTYPE_PAN: u32 = 1073872897u32;
1928 pub const MIXERCONTROL_CONTROLTYPE_PEAKMETER: u32 = 268566529u32;
1929 pub const MIXERCONTROL_CONTROLTYPE_PERCENT: u32 = 805634048u32;
1930 pub const MIXERCONTROL_CONTROLTYPE_QSOUNDPAN: u32 = 1073872898u32;
1931 pub const MIXERCONTROL_CONTROLTYPE_SIGNED: u32 = 805437440u32;
1932 pub const MIXERCONTROL_CONTROLTYPE_SIGNEDMETER: u32 = 268566528u32;
1933 pub const MIXERCONTROL_CONTROLTYPE_SINGLESELECT: u32 = 1879113728u32;
1934 pub const MIXERCONTROL_CONTROLTYPE_SLIDER: u32 = 1073872896u32;
1935 pub const MIXERCONTROL_CONTROLTYPE_STEREOENH: u32 = 536936453u32;
1936 pub const MIXERCONTROL_CONTROLTYPE_TREBLE: u32 = 1342373891u32;
1937 pub const MIXERCONTROL_CONTROLTYPE_UNSIGNED: u32 = 805502976u32;
1938 pub const MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER: u32 = 268632064u32;
1939 pub const MIXERCONTROL_CONTROLTYPE_VOLUME: u32 = 1342373889u32;
1940 pub const MIXERCONTROL_CT_CLASS_CUSTOM: i32 = 0i32;
1941 pub const MIXERCONTROL_CT_CLASS_FADER: i32 = 1342177280i32;
1942 pub const MIXERCONTROL_CT_CLASS_LIST: i32 = 1879048192i32;
1943 pub const MIXERCONTROL_CT_CLASS_MASK: i32 = -268435456i32;
1944 pub const MIXERCONTROL_CT_CLASS_METER: i32 = 268435456i32;
1945 pub const MIXERCONTROL_CT_CLASS_NUMBER: i32 = 805306368i32;
1946 pub const MIXERCONTROL_CT_CLASS_SLIDER: i32 = 1073741824i32;
1947 pub const MIXERCONTROL_CT_CLASS_SWITCH: i32 = 536870912i32;
1948 pub const MIXERCONTROL_CT_CLASS_TIME: i32 = 1610612736i32;
1949 pub const MIXERCONTROL_CT_SC_LIST_MULTIPLE: i32 = 16777216i32;
1950 pub const MIXERCONTROL_CT_SC_LIST_SINGLE: i32 = 0i32;
1951 pub const MIXERCONTROL_CT_SC_METER_POLLED: i32 = 0i32;
1952 pub const MIXERCONTROL_CT_SC_SWITCH_BOOLEAN: i32 = 0i32;
1953 pub const MIXERCONTROL_CT_SC_SWITCH_BUTTON: i32 = 16777216i32;
1954 pub const MIXERCONTROL_CT_SC_TIME_MICROSECS: i32 = 0i32;
1955 pub const MIXERCONTROL_CT_SC_TIME_MILLISECS: i32 = 16777216i32;
1956 pub const MIXERCONTROL_CT_SUBCLASS_MASK: i32 = 251658240i32;
1957 pub const MIXERCONTROL_CT_UNITS_BOOLEAN: i32 = 65536i32;
1958 pub const MIXERCONTROL_CT_UNITS_CUSTOM: i32 = 0i32;
1959 pub const MIXERCONTROL_CT_UNITS_DECIBELS: i32 = 262144i32;
1960 pub const MIXERCONTROL_CT_UNITS_MASK: i32 = 16711680i32;
1961 pub const MIXERCONTROL_CT_UNITS_PERCENT: i32 = 327680i32;
1962 pub const MIXERCONTROL_CT_UNITS_SIGNED: i32 = 131072i32;
1963 pub const MIXERCONTROL_CT_UNITS_UNSIGNED: i32 = 196608i32;
1964 #[repr(C, packed(1))]
1965 #[cfg(feature = "Win32_Foundation")]
1966 pub struct MIXERLINEA {
1967     pub cbStruct: u32,
1968     pub dwDestination: u32,
1969     pub dwSource: u32,
1970     pub dwLineID: u32,
1971     pub fdwLine: u32,
1972     pub dwUser: usize,
1973     pub dwComponentType: MIXERLINE_COMPONENTTYPE,
1974     pub cChannels: u32,
1975     pub cConnections: u32,
1976     pub cControls: u32,
1977     pub szShortName: [super::super::Foundation::CHAR; 16],
1978     pub szName: [super::super::Foundation::CHAR; 64],
1979     pub Target: MIXERLINEA_0,
1980 }
1981 #[cfg(feature = "Win32_Foundation")]
1982 impl ::core::marker::Copy for MIXERLINEA {}
1983 #[cfg(feature = "Win32_Foundation")]
1984 impl ::core::clone::Clone for MIXERLINEA {
clone(&self) -> Self1985     fn clone(&self) -> Self {
1986         *self
1987     }
1988 }
1989 #[repr(C, packed(1))]
1990 #[cfg(feature = "Win32_Foundation")]
1991 pub struct MIXERLINEA_0 {
1992     pub dwType: u32,
1993     pub dwDeviceID: u32,
1994     pub wMid: u16,
1995     pub wPid: u16,
1996     pub vDriverVersion: u32,
1997     pub szPname: [super::super::Foundation::CHAR; 32],
1998 }
1999 #[cfg(feature = "Win32_Foundation")]
2000 impl ::core::marker::Copy for MIXERLINEA_0 {}
2001 #[cfg(feature = "Win32_Foundation")]
2002 impl ::core::clone::Clone for MIXERLINEA_0 {
clone(&self) -> Self2003     fn clone(&self) -> Self {
2004         *self
2005     }
2006 }
2007 #[repr(C, packed(1))]
2008 #[cfg(feature = "Win32_Foundation")]
2009 pub struct MIXERLINECONTROLSA {
2010     pub cbStruct: u32,
2011     pub dwLineID: u32,
2012     pub Anonymous: MIXERLINECONTROLSA_0,
2013     pub cControls: u32,
2014     pub cbmxctrl: u32,
2015     pub pamxctrl: *mut MIXERCONTROLA,
2016 }
2017 #[cfg(feature = "Win32_Foundation")]
2018 impl ::core::marker::Copy for MIXERLINECONTROLSA {}
2019 #[cfg(feature = "Win32_Foundation")]
2020 impl ::core::clone::Clone for MIXERLINECONTROLSA {
clone(&self) -> Self2021     fn clone(&self) -> Self {
2022         *self
2023     }
2024 }
2025 #[repr(C, packed(1))]
2026 #[cfg(feature = "Win32_Foundation")]
2027 pub union MIXERLINECONTROLSA_0 {
2028     pub dwControlID: u32,
2029     pub dwControlType: u32,
2030 }
2031 #[cfg(feature = "Win32_Foundation")]
2032 impl ::core::marker::Copy for MIXERLINECONTROLSA_0 {}
2033 #[cfg(feature = "Win32_Foundation")]
2034 impl ::core::clone::Clone for MIXERLINECONTROLSA_0 {
clone(&self) -> Self2035     fn clone(&self) -> Self {
2036         *self
2037     }
2038 }
2039 #[repr(C, packed(1))]
2040 pub struct MIXERLINECONTROLSW {
2041     pub cbStruct: u32,
2042     pub dwLineID: u32,
2043     pub Anonymous: MIXERLINECONTROLSW_0,
2044     pub cControls: u32,
2045     pub cbmxctrl: u32,
2046     pub pamxctrl: *mut MIXERCONTROLW,
2047 }
2048 impl ::core::marker::Copy for MIXERLINECONTROLSW {}
2049 impl ::core::clone::Clone for MIXERLINECONTROLSW {
clone(&self) -> Self2050     fn clone(&self) -> Self {
2051         *self
2052     }
2053 }
2054 #[repr(C, packed(1))]
2055 pub union MIXERLINECONTROLSW_0 {
2056     pub dwControlID: u32,
2057     pub dwControlType: u32,
2058 }
2059 impl ::core::marker::Copy for MIXERLINECONTROLSW_0 {}
2060 impl ::core::clone::Clone for MIXERLINECONTROLSW_0 {
clone(&self) -> Self2061     fn clone(&self) -> Self {
2062         *self
2063     }
2064 }
2065 #[repr(C, packed(1))]
2066 pub struct MIXERLINEW {
2067     pub cbStruct: u32,
2068     pub dwDestination: u32,
2069     pub dwSource: u32,
2070     pub dwLineID: u32,
2071     pub fdwLine: u32,
2072     pub dwUser: usize,
2073     pub dwComponentType: MIXERLINE_COMPONENTTYPE,
2074     pub cChannels: u32,
2075     pub cConnections: u32,
2076     pub cControls: u32,
2077     pub szShortName: [u16; 16],
2078     pub szName: [u16; 64],
2079     pub Target: MIXERLINEW_0,
2080 }
2081 impl ::core::marker::Copy for MIXERLINEW {}
2082 impl ::core::clone::Clone for MIXERLINEW {
clone(&self) -> Self2083     fn clone(&self) -> Self {
2084         *self
2085     }
2086 }
2087 #[repr(C, packed(1))]
2088 pub struct MIXERLINEW_0 {
2089     pub dwType: u32,
2090     pub dwDeviceID: u32,
2091     pub wMid: u16,
2092     pub wPid: u16,
2093     pub vDriverVersion: u32,
2094     pub szPname: [u16; 32],
2095 }
2096 impl ::core::marker::Copy for MIXERLINEW_0 {}
2097 impl ::core::clone::Clone for MIXERLINEW_0 {
clone(&self) -> Self2098     fn clone(&self) -> Self {
2099         *self
2100     }
2101 }
2102 pub type MIXERLINE_COMPONENTTYPE = u32;
2103 pub const MIXERLINE_COMPONENTTYPE_DST_DIGITAL: MIXERLINE_COMPONENTTYPE = 1u32;
2104 pub const MIXERLINE_COMPONENTTYPE_DST_HEADPHONES: MIXERLINE_COMPONENTTYPE = 5u32;
2105 pub const MIXERLINE_COMPONENTTYPE_DST_LINE: MIXERLINE_COMPONENTTYPE = 2u32;
2106 pub const MIXERLINE_COMPONENTTYPE_DST_MONITOR: MIXERLINE_COMPONENTTYPE = 3u32;
2107 pub const MIXERLINE_COMPONENTTYPE_DST_SPEAKERS: MIXERLINE_COMPONENTTYPE = 4u32;
2108 pub const MIXERLINE_COMPONENTTYPE_DST_TELEPHONE: MIXERLINE_COMPONENTTYPE = 6u32;
2109 pub const MIXERLINE_COMPONENTTYPE_DST_UNDEFINED: MIXERLINE_COMPONENTTYPE = 0u32;
2110 pub const MIXERLINE_COMPONENTTYPE_DST_VOICEIN: MIXERLINE_COMPONENTTYPE = 8u32;
2111 pub const MIXERLINE_COMPONENTTYPE_DST_WAVEIN: MIXERLINE_COMPONENTTYPE = 7u32;
2112 pub const MIXERLINE_COMPONENTTYPE_SRC_ANALOG: MIXERLINE_COMPONENTTYPE = 4106u32;
2113 pub const MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY: MIXERLINE_COMPONENTTYPE = 4105u32;
2114 pub const MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC: MIXERLINE_COMPONENTTYPE = 4101u32;
2115 pub const MIXERLINE_COMPONENTTYPE_SRC_DIGITAL: MIXERLINE_COMPONENTTYPE = 4097u32;
2116 pub const MIXERLINE_COMPONENTTYPE_SRC_LINE: MIXERLINE_COMPONENTTYPE = 4098u32;
2117 pub const MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE: MIXERLINE_COMPONENTTYPE = 4099u32;
2118 pub const MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER: MIXERLINE_COMPONENTTYPE = 4103u32;
2119 pub const MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER: MIXERLINE_COMPONENTTYPE = 4100u32;
2120 pub const MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE: MIXERLINE_COMPONENTTYPE = 4102u32;
2121 pub const MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED: MIXERLINE_COMPONENTTYPE = 4096u32;
2122 pub const MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT: MIXERLINE_COMPONENTTYPE = 4104u32;
2123 pub const MIXERLINE_COMPONENTTYPE_DST_FIRST: i32 = 0i32;
2124 pub const MIXERLINE_COMPONENTTYPE_DST_LAST: u32 = 8u32;
2125 pub const MIXERLINE_COMPONENTTYPE_SRC_FIRST: i32 = 4096i32;
2126 pub const MIXERLINE_COMPONENTTYPE_SRC_LAST: u32 = 4106u32;
2127 pub const MIXERLINE_LINEF_ACTIVE: i32 = 1i32;
2128 pub const MIXERLINE_LINEF_DISCONNECTED: i32 = 32768i32;
2129 pub const MIXERLINE_LINEF_SOURCE: i32 = -2147483648i32;
2130 pub const MIXERLINE_TARGETTYPE_AUX: u32 = 5u32;
2131 pub const MIXERLINE_TARGETTYPE_MIDIIN: u32 = 4u32;
2132 pub const MIXERLINE_TARGETTYPE_MIDIOUT: u32 = 3u32;
2133 pub const MIXERLINE_TARGETTYPE_UNDEFINED: u32 = 0u32;
2134 pub const MIXERLINE_TARGETTYPE_WAVEIN: u32 = 2u32;
2135 pub const MIXERLINE_TARGETTYPE_WAVEOUT: u32 = 1u32;
2136 pub const MIXERR_INVALCONTROL: u32 = 1025u32;
2137 pub const MIXERR_INVALLINE: u32 = 1024u32;
2138 pub const MIXERR_INVALVALUE: u32 = 1026u32;
2139 pub const MIXERR_LASTERROR: u32 = 1026u32;
2140 pub const MIXER_GETCONTROLDETAILSF_LISTTEXT: i32 = 1i32;
2141 pub const MIXER_GETCONTROLDETAILSF_QUERYMASK: i32 = 15i32;
2142 pub const MIXER_GETCONTROLDETAILSF_VALUE: i32 = 0i32;
2143 pub const MIXER_GETLINECONTROLSF_ALL: i32 = 0i32;
2144 pub const MIXER_GETLINECONTROLSF_ONEBYID: i32 = 1i32;
2145 pub const MIXER_GETLINECONTROLSF_ONEBYTYPE: i32 = 2i32;
2146 pub const MIXER_GETLINECONTROLSF_QUERYMASK: i32 = 15i32;
2147 pub const MIXER_GETLINEINFOF_COMPONENTTYPE: i32 = 3i32;
2148 pub const MIXER_GETLINEINFOF_DESTINATION: i32 = 0i32;
2149 pub const MIXER_GETLINEINFOF_LINEID: i32 = 2i32;
2150 pub const MIXER_GETLINEINFOF_QUERYMASK: i32 = 15i32;
2151 pub const MIXER_GETLINEINFOF_SOURCE: i32 = 1i32;
2152 pub const MIXER_GETLINEINFOF_TARGETTYPE: i32 = 4i32;
2153 pub const MIXER_LONG_NAME_CHARS: u32 = 64u32;
2154 pub const MIXER_OBJECTF_AUX: i32 = 1342177280i32;
2155 pub const MIXER_OBJECTF_HANDLE: i32 = -2147483648i32;
2156 pub const MIXER_OBJECTF_MIDIIN: i32 = 1073741824i32;
2157 pub const MIXER_OBJECTF_MIDIOUT: i32 = 805306368i32;
2158 pub const MIXER_OBJECTF_MIXER: i32 = 0i32;
2159 pub const MIXER_OBJECTF_WAVEIN: i32 = 536870912i32;
2160 pub const MIXER_OBJECTF_WAVEOUT: i32 = 268435456i32;
2161 pub const MIXER_SETCONTROLDETAILSF_CUSTOM: i32 = 1i32;
2162 pub const MIXER_SETCONTROLDETAILSF_QUERYMASK: i32 = 15i32;
2163 pub const MIXER_SETCONTROLDETAILSF_VALUE: i32 = 0i32;
2164 pub const MIXER_SHORT_NAME_CHARS: u32 = 16u32;
2165 pub const MMDeviceEnumerator: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2166     data1: 3168666517,
2167     data2: 58671,
2168     data3: 18044,
2169     data4: [142, 61, 196, 87, 146, 145, 105, 46],
2170 };
2171 pub const MM_ACM_FILTERCHOOSE: u32 = 32768u32;
2172 pub const MM_ACM_FORMATCHOOSE: u32 = 32768u32;
2173 pub const MOD_FMSYNTH: u32 = 4u32;
2174 pub const MOD_MAPPER: u32 = 5u32;
2175 pub const MOD_MIDIPORT: u32 = 1u32;
2176 pub const MOD_SQSYNTH: u32 = 3u32;
2177 pub const MOD_SWSYNTH: u32 = 7u32;
2178 pub const MOD_SYNTH: u32 = 2u32;
2179 pub const MOD_WAVETABLE: u32 = 6u32;
2180 pub type PAudioStateMonitorCallback = unsafe extern "system" fn(audiostatemonitor: IAudioStateMonitor, context: *const ::core::ffi::c_void);
2181 #[repr(C, packed(1))]
2182 pub struct PCMWAVEFORMAT {
2183     pub wf: WAVEFORMAT,
2184     pub wBitsPerSample: u16,
2185 }
2186 impl ::core::marker::Copy for PCMWAVEFORMAT {}
2187 impl ::core::clone::Clone for PCMWAVEFORMAT {
clone(&self) -> Self2188     fn clone(&self) -> Self {
2189         *self
2190     }
2191 }
2192 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2193 pub const PKEY_AudioEndpointLogo_IconEffects: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2194     fmtid: ::windows_sys::core::GUID {
2195         data1: 4054546445,
2196         data2: 8208,
2197         data3: 20179,
2198         data4: [163, 166, 139, 135, 240, 240, 196, 118],
2199     },
2200     pid: 0u32,
2201 };
2202 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2203 pub const PKEY_AudioEndpointLogo_IconPath: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2204     fmtid: ::windows_sys::core::GUID {
2205         data1: 4054546445,
2206         data2: 8208,
2207         data3: 20179,
2208         data4: [163, 166, 139, 135, 240, 240, 196, 118],
2209     },
2210     pid: 1u32,
2211 };
2212 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2213 pub const PKEY_AudioEndpointSettings_LaunchContract: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2214     fmtid: ::windows_sys::core::GUID { data1: 337911810, data2: 800, data3: 19940, data4: [149, 85, 167, 216, 43, 115, 194, 134] },
2215     pid: 1u32,
2216 };
2217 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2218 pub const PKEY_AudioEndpointSettings_MenuText: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2219     fmtid: ::windows_sys::core::GUID { data1: 337911810, data2: 800, data3: 19940, data4: [149, 85, 167, 216, 43, 115, 194, 134] },
2220     pid: 0u32,
2221 };
2222 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2223 pub const PKEY_AudioEndpoint_Association: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2224     fmtid: ::windows_sys::core::GUID {
2225         data1: 497408003,
2226         data2: 54418,
2227         data3: 20189,
2228         data4: [140, 35, 224, 192, 255, 238, 127, 14],
2229     },
2230     pid: 2u32,
2231 };
2232 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2233 pub const PKEY_AudioEndpoint_ControlPanelPageProvider: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2234     fmtid: ::windows_sys::core::GUID {
2235         data1: 497408003,
2236         data2: 54418,
2237         data3: 20189,
2238         data4: [140, 35, 224, 192, 255, 238, 127, 14],
2239     },
2240     pid: 1u32,
2241 };
2242 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2243 pub const PKEY_AudioEndpoint_Default_VolumeInDb: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2244     fmtid: ::windows_sys::core::GUID {
2245         data1: 497408003,
2246         data2: 54418,
2247         data3: 20189,
2248         data4: [140, 35, 224, 192, 255, 238, 127, 14],
2249     },
2250     pid: 9u32,
2251 };
2252 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2253 pub const PKEY_AudioEndpoint_Disable_SysFx: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2254     fmtid: ::windows_sys::core::GUID {
2255         data1: 497408003,
2256         data2: 54418,
2257         data3: 20189,
2258         data4: [140, 35, 224, 192, 255, 238, 127, 14],
2259     },
2260     pid: 5u32,
2261 };
2262 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2263 pub const PKEY_AudioEndpoint_FormFactor: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2264     fmtid: ::windows_sys::core::GUID {
2265         data1: 497408003,
2266         data2: 54418,
2267         data3: 20189,
2268         data4: [140, 35, 224, 192, 255, 238, 127, 14],
2269     },
2270     pid: 0u32,
2271 };
2272 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2273 pub const PKEY_AudioEndpoint_FullRangeSpeakers: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2274     fmtid: ::windows_sys::core::GUID {
2275         data1: 497408003,
2276         data2: 54418,
2277         data3: 20189,
2278         data4: [140, 35, 224, 192, 255, 238, 127, 14],
2279     },
2280     pid: 6u32,
2281 };
2282 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2283 pub const PKEY_AudioEndpoint_GUID: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2284     fmtid: ::windows_sys::core::GUID {
2285         data1: 497408003,
2286         data2: 54418,
2287         data3: 20189,
2288         data4: [140, 35, 224, 192, 255, 238, 127, 14],
2289     },
2290     pid: 4u32,
2291 };
2292 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2293 pub const PKEY_AudioEndpoint_JackSubType: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2294     fmtid: ::windows_sys::core::GUID {
2295         data1: 497408003,
2296         data2: 54418,
2297         data3: 20189,
2298         data4: [140, 35, 224, 192, 255, 238, 127, 14],
2299     },
2300     pid: 8u32,
2301 };
2302 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2303 pub const PKEY_AudioEndpoint_PhysicalSpeakers: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2304     fmtid: ::windows_sys::core::GUID {
2305         data1: 497408003,
2306         data2: 54418,
2307         data3: 20189,
2308         data4: [140, 35, 224, 192, 255, 238, 127, 14],
2309     },
2310     pid: 3u32,
2311 };
2312 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2313 pub const PKEY_AudioEndpoint_Supports_EventDriven_Mode: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2314     fmtid: ::windows_sys::core::GUID {
2315         data1: 497408003,
2316         data2: 54418,
2317         data3: 20189,
2318         data4: [140, 35, 224, 192, 255, 238, 127, 14],
2319     },
2320     pid: 7u32,
2321 };
2322 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2323 pub const PKEY_AudioEngine_DeviceFormat: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2324     fmtid: ::windows_sys::core::GUID {
2325         data1: 4053730893,
2326         data2: 2092,
2327         data3: 20007,
2328         data4: [188, 115, 104, 130, 161, 187, 142, 76],
2329     },
2330     pid: 0u32,
2331 };
2332 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
2333 pub const PKEY_AudioEngine_OEMFormat: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
2334     fmtid: ::windows_sys::core::GUID { data1: 3834056230, data2: 15557, data3: 19666, data4: [186, 70, 202, 10, 154, 112, 237, 4] },
2335     pid: 3u32,
2336 };
2337 pub type PROCESS_LOOPBACK_MODE = i32;
2338 pub const PROCESS_LOOPBACK_MODE_INCLUDE_TARGET_PROCESS_TREE: PROCESS_LOOPBACK_MODE = 0i32;
2339 pub const PROCESS_LOOPBACK_MODE_EXCLUDE_TARGET_PROCESS_TREE: PROCESS_LOOPBACK_MODE = 1i32;
2340 pub type PartType = i32;
2341 pub const Connector: PartType = 0i32;
2342 pub const Subunit: PartType = 1i32;
2343 pub const SND_ALIAS: i32 = 65536i32;
2344 pub const SND_ALIAS_ID: i32 = 1114112i32;
2345 pub const SND_ALIAS_START: u32 = 0u32;
2346 pub const SND_APPLICATION: u32 = 128u32;
2347 pub const SND_ASYNC: u32 = 1u32;
2348 pub const SND_FILENAME: i32 = 131072i32;
2349 pub const SND_LOOP: u32 = 8u32;
2350 pub const SND_MEMORY: u32 = 4u32;
2351 pub const SND_NODEFAULT: u32 = 2u32;
2352 pub const SND_NOSTOP: u32 = 16u32;
2353 pub const SND_NOWAIT: i32 = 8192i32;
2354 pub const SND_PURGE: u32 = 64u32;
2355 pub const SND_RESOURCE: i32 = 262148i32;
2356 pub const SND_RING: i32 = 1048576i32;
2357 pub const SND_SENTRY: i32 = 524288i32;
2358 pub const SND_SYNC: u32 = 0u32;
2359 pub const SND_SYSTEM: i32 = 2097152i32;
2360 pub const SPATIAL_AUDIO_POSITION: u32 = 200u32;
2361 pub const SPATIAL_AUDIO_STANDARD_COMMANDS_START: u32 = 200u32;
2362 pub type SPATIAL_AUDIO_STREAM_OPTIONS = u32;
2363 pub const SPATIAL_AUDIO_STREAM_OPTIONS_NONE: SPATIAL_AUDIO_STREAM_OPTIONS = 0u32;
2364 pub const SPATIAL_AUDIO_STREAM_OPTIONS_OFFLOAD: SPATIAL_AUDIO_STREAM_OPTIONS = 1u32;
2365 pub const SPTLAUDCLNT_E_DESTROYED: ::windows_sys::core::HRESULT = -2004287232i32;
2366 pub const SPTLAUDCLNT_E_ERRORS_IN_OBJECT_CALLS: ::windows_sys::core::HRESULT = -2004287227i32;
2367 pub const SPTLAUDCLNT_E_INTERNAL: ::windows_sys::core::HRESULT = -2004287219i32;
2368 pub const SPTLAUDCLNT_E_INVALID_LICENSE: ::windows_sys::core::HRESULT = -2004287224i32;
2369 pub const SPTLAUDCLNT_E_METADATA_FORMAT_NOT_SUPPORTED: ::windows_sys::core::HRESULT = -2004287226i32;
2370 pub const SPTLAUDCLNT_E_NO_MORE_OBJECTS: ::windows_sys::core::HRESULT = -2004287229i32;
2371 pub const SPTLAUDCLNT_E_OBJECT_ALREADY_ACTIVE: ::windows_sys::core::HRESULT = -2004287220i32;
2372 pub const SPTLAUDCLNT_E_OUT_OF_ORDER: ::windows_sys::core::HRESULT = -2004287231i32;
2373 pub const SPTLAUDCLNT_E_PROPERTY_NOT_SUPPORTED: ::windows_sys::core::HRESULT = -2004287228i32;
2374 pub const SPTLAUDCLNT_E_RESOURCES_INVALIDATED: ::windows_sys::core::HRESULT = -2004287230i32;
2375 pub const SPTLAUDCLNT_E_STATIC_OBJECT_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -2004287221i32;
2376 pub const SPTLAUDCLNT_E_STREAM_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -2004287225i32;
2377 pub const SPTLAUDCLNT_E_STREAM_NOT_STOPPED: ::windows_sys::core::HRESULT = -2004287222i32;
2378 pub const SPTLAUD_MD_CLNT_E_ATTACH_FAILED_INTERNAL_BUFFER: ::windows_sys::core::HRESULT = -2004286956i32;
2379 pub const SPTLAUD_MD_CLNT_E_BUFFER_ALREADY_ATTACHED: ::windows_sys::core::HRESULT = -2004286969i32;
2380 pub const SPTLAUD_MD_CLNT_E_BUFFER_NOT_ATTACHED: ::windows_sys::core::HRESULT = -2004286968i32;
2381 pub const SPTLAUD_MD_CLNT_E_BUFFER_STILL_ATTACHED: ::windows_sys::core::HRESULT = -2004286940i32;
2382 pub const SPTLAUD_MD_CLNT_E_COMMAND_ALREADY_WRITTEN: ::windows_sys::core::HRESULT = -2004286942i32;
2383 pub const SPTLAUD_MD_CLNT_E_COMMAND_NOT_FOUND: ::windows_sys::core::HRESULT = -2004286976i32;
2384 pub const SPTLAUD_MD_CLNT_E_DETACH_FAILED_INTERNAL_BUFFER: ::windows_sys::core::HRESULT = -2004286955i32;
2385 pub const SPTLAUD_MD_CLNT_E_FORMAT_MISMATCH: ::windows_sys::core::HRESULT = -2004286941i32;
2386 pub const SPTLAUD_MD_CLNT_E_FRAMECOUNT_OUT_OF_RANGE: ::windows_sys::core::HRESULT = -2004286967i32;
2387 pub const SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE: ::windows_sys::core::HRESULT = -2004286952i32;
2388 pub const SPTLAUD_MD_CLNT_E_INVALID_ARGS: ::windows_sys::core::HRESULT = -2004286974i32;
2389 pub const SPTLAUD_MD_CLNT_E_ITEMS_ALREADY_OPEN: ::windows_sys::core::HRESULT = -2004286957i32;
2390 pub const SPTLAUD_MD_CLNT_E_ITEMS_LOCKED_FOR_WRITING: ::windows_sys::core::HRESULT = -2004286939i32;
2391 pub const SPTLAUD_MD_CLNT_E_ITEM_COPY_OVERFLOW: ::windows_sys::core::HRESULT = -2004286959i32;
2392 pub const SPTLAUD_MD_CLNT_E_ITEM_MUST_HAVE_COMMANDS: ::windows_sys::core::HRESULT = -2004286951i32;
2393 pub const SPTLAUD_MD_CLNT_E_MEMORY_BOUNDS: ::windows_sys::core::HRESULT = -2004286971i32;
2394 pub const SPTLAUD_MD_CLNT_E_METADATA_FORMAT_NOT_FOUND: ::windows_sys::core::HRESULT = -2004286973i32;
2395 pub const SPTLAUD_MD_CLNT_E_NO_BUFFER_ATTACHED: ::windows_sys::core::HRESULT = -2004286954i32;
2396 pub const SPTLAUD_MD_CLNT_E_NO_ITEMOFFSET_WRITTEN: ::windows_sys::core::HRESULT = -2004286944i32;
2397 pub const SPTLAUD_MD_CLNT_E_NO_ITEMS_FOUND: ::windows_sys::core::HRESULT = -2004286960i32;
2398 pub const SPTLAUD_MD_CLNT_E_NO_ITEMS_OPEN: ::windows_sys::core::HRESULT = -2004286958i32;
2399 pub const SPTLAUD_MD_CLNT_E_NO_ITEMS_WRITTEN: ::windows_sys::core::HRESULT = -2004286943i32;
2400 pub const SPTLAUD_MD_CLNT_E_NO_MORE_COMMANDS: ::windows_sys::core::HRESULT = -2004286970i32;
2401 pub const SPTLAUD_MD_CLNT_E_NO_MORE_ITEMS: ::windows_sys::core::HRESULT = -2004286953i32;
2402 pub const SPTLAUD_MD_CLNT_E_OBJECT_NOT_INITIALIZED: ::windows_sys::core::HRESULT = -2004286975i32;
2403 pub const SPTLAUD_MD_CLNT_E_VALUE_BUFFER_INCORRECT_SIZE: ::windows_sys::core::HRESULT = -2004286972i32;
2404 #[repr(C)]
2405 pub struct SpatialAudioClientActivationParams {
2406     pub tracingContextId: ::windows_sys::core::GUID,
2407     pub appId: ::windows_sys::core::GUID,
2408     pub majorVersion: i32,
2409     pub minorVersion1: i32,
2410     pub minorVersion2: i32,
2411     pub minorVersion3: i32,
2412 }
2413 impl ::core::marker::Copy for SpatialAudioClientActivationParams {}
2414 impl ::core::clone::Clone for SpatialAudioClientActivationParams {
clone(&self) -> Self2415     fn clone(&self) -> Self {
2416         *self
2417     }
2418 }
2419 #[repr(C, packed(1))]
2420 #[cfg(feature = "Win32_Foundation")]
2421 pub struct SpatialAudioHrtfActivationParams {
2422     pub ObjectFormat: *mut WAVEFORMATEX,
2423     pub StaticObjectTypeMask: AudioObjectType,
2424     pub MinDynamicObjectCount: u32,
2425     pub MaxDynamicObjectCount: u32,
2426     pub Category: AUDIO_STREAM_CATEGORY,
2427     pub EventHandle: super::super::Foundation::HANDLE,
2428     pub NotifyObject: ISpatialAudioObjectRenderStreamNotify,
2429     pub DistanceDecay: *mut SpatialAudioHrtfDistanceDecay,
2430     pub Directivity: *mut SpatialAudioHrtfDirectivityUnion,
2431     pub Environment: *mut SpatialAudioHrtfEnvironmentType,
2432     pub Orientation: *mut f32,
2433 }
2434 #[cfg(feature = "Win32_Foundation")]
2435 impl ::core::marker::Copy for SpatialAudioHrtfActivationParams {}
2436 #[cfg(feature = "Win32_Foundation")]
2437 impl ::core::clone::Clone for SpatialAudioHrtfActivationParams {
clone(&self) -> Self2438     fn clone(&self) -> Self {
2439         *self
2440     }
2441 }
2442 #[repr(C, packed(1))]
2443 #[cfg(feature = "Win32_Foundation")]
2444 pub struct SpatialAudioHrtfActivationParams2 {
2445     pub ObjectFormat: *mut WAVEFORMATEX,
2446     pub StaticObjectTypeMask: AudioObjectType,
2447     pub MinDynamicObjectCount: u32,
2448     pub MaxDynamicObjectCount: u32,
2449     pub Category: AUDIO_STREAM_CATEGORY,
2450     pub EventHandle: super::super::Foundation::HANDLE,
2451     pub NotifyObject: ISpatialAudioObjectRenderStreamNotify,
2452     pub DistanceDecay: *mut SpatialAudioHrtfDistanceDecay,
2453     pub Directivity: *mut SpatialAudioHrtfDirectivityUnion,
2454     pub Environment: *mut SpatialAudioHrtfEnvironmentType,
2455     pub Orientation: *mut f32,
2456     pub Options: SPATIAL_AUDIO_STREAM_OPTIONS,
2457 }
2458 #[cfg(feature = "Win32_Foundation")]
2459 impl ::core::marker::Copy for SpatialAudioHrtfActivationParams2 {}
2460 #[cfg(feature = "Win32_Foundation")]
2461 impl ::core::clone::Clone for SpatialAudioHrtfActivationParams2 {
clone(&self) -> Self2462     fn clone(&self) -> Self {
2463         *self
2464     }
2465 }
2466 #[repr(C, packed(1))]
2467 pub struct SpatialAudioHrtfDirectivity {
2468     pub Type: SpatialAudioHrtfDirectivityType,
2469     pub Scaling: f32,
2470 }
2471 impl ::core::marker::Copy for SpatialAudioHrtfDirectivity {}
2472 impl ::core::clone::Clone for SpatialAudioHrtfDirectivity {
clone(&self) -> Self2473     fn clone(&self) -> Self {
2474         *self
2475     }
2476 }
2477 #[repr(C, packed(1))]
2478 pub struct SpatialAudioHrtfDirectivityCardioid {
2479     pub directivity: SpatialAudioHrtfDirectivity,
2480     pub Order: f32,
2481 }
2482 impl ::core::marker::Copy for SpatialAudioHrtfDirectivityCardioid {}
2483 impl ::core::clone::Clone for SpatialAudioHrtfDirectivityCardioid {
clone(&self) -> Self2484     fn clone(&self) -> Self {
2485         *self
2486     }
2487 }
2488 #[repr(C, packed(1))]
2489 pub struct SpatialAudioHrtfDirectivityCone {
2490     pub directivity: SpatialAudioHrtfDirectivity,
2491     pub InnerAngle: f32,
2492     pub OuterAngle: f32,
2493 }
2494 impl ::core::marker::Copy for SpatialAudioHrtfDirectivityCone {}
2495 impl ::core::clone::Clone for SpatialAudioHrtfDirectivityCone {
clone(&self) -> Self2496     fn clone(&self) -> Self {
2497         *self
2498     }
2499 }
2500 pub type SpatialAudioHrtfDirectivityType = i32;
2501 pub const SpatialAudioHrtfDirectivity_OmniDirectional: SpatialAudioHrtfDirectivityType = 0i32;
2502 pub const SpatialAudioHrtfDirectivity_Cardioid: SpatialAudioHrtfDirectivityType = 1i32;
2503 pub const SpatialAudioHrtfDirectivity_Cone: SpatialAudioHrtfDirectivityType = 2i32;
2504 #[repr(C)]
2505 pub union SpatialAudioHrtfDirectivityUnion {
2506     pub Cone: SpatialAudioHrtfDirectivityCone,
2507     pub Cardiod: SpatialAudioHrtfDirectivityCardioid,
2508     pub Omni: SpatialAudioHrtfDirectivity,
2509 }
2510 impl ::core::marker::Copy for SpatialAudioHrtfDirectivityUnion {}
2511 impl ::core::clone::Clone for SpatialAudioHrtfDirectivityUnion {
clone(&self) -> Self2512     fn clone(&self) -> Self {
2513         *self
2514     }
2515 }
2516 #[repr(C, packed(1))]
2517 pub struct SpatialAudioHrtfDistanceDecay {
2518     pub Type: SpatialAudioHrtfDistanceDecayType,
2519     pub MaxGain: f32,
2520     pub MinGain: f32,
2521     pub UnityGainDistance: f32,
2522     pub CutoffDistance: f32,
2523 }
2524 impl ::core::marker::Copy for SpatialAudioHrtfDistanceDecay {}
2525 impl ::core::clone::Clone for SpatialAudioHrtfDistanceDecay {
clone(&self) -> Self2526     fn clone(&self) -> Self {
2527         *self
2528     }
2529 }
2530 pub type SpatialAudioHrtfDistanceDecayType = i32;
2531 pub const SpatialAudioHrtfDistanceDecay_NaturalDecay: SpatialAudioHrtfDistanceDecayType = 0i32;
2532 pub const SpatialAudioHrtfDistanceDecay_CustomDecay: SpatialAudioHrtfDistanceDecayType = 1i32;
2533 pub type SpatialAudioHrtfEnvironmentType = i32;
2534 pub const SpatialAudioHrtfEnvironment_Small: SpatialAudioHrtfEnvironmentType = 0i32;
2535 pub const SpatialAudioHrtfEnvironment_Medium: SpatialAudioHrtfEnvironmentType = 1i32;
2536 pub const SpatialAudioHrtfEnvironment_Large: SpatialAudioHrtfEnvironmentType = 2i32;
2537 pub const SpatialAudioHrtfEnvironment_Outdoors: SpatialAudioHrtfEnvironmentType = 3i32;
2538 pub const SpatialAudioHrtfEnvironment_Average: SpatialAudioHrtfEnvironmentType = 4i32;
2539 pub type SpatialAudioMetadataCopyMode = i32;
2540 pub const SpatialAudioMetadataCopy_Overwrite: SpatialAudioMetadataCopyMode = 0i32;
2541 pub const SpatialAudioMetadataCopy_Append: SpatialAudioMetadataCopyMode = 1i32;
2542 pub const SpatialAudioMetadataCopy_AppendMergeWithLast: SpatialAudioMetadataCopyMode = 2i32;
2543 pub const SpatialAudioMetadataCopy_AppendMergeWithFirst: SpatialAudioMetadataCopyMode = 3i32;
2544 #[repr(C, packed(1))]
2545 pub struct SpatialAudioMetadataItemsInfo {
2546     pub FrameCount: u16,
2547     pub ItemCount: u16,
2548     pub MaxItemCount: u16,
2549     pub MaxValueBufferLength: u32,
2550 }
2551 impl ::core::marker::Copy for SpatialAudioMetadataItemsInfo {}
2552 impl ::core::clone::Clone for SpatialAudioMetadataItemsInfo {
clone(&self) -> Self2553     fn clone(&self) -> Self {
2554         *self
2555     }
2556 }
2557 pub type SpatialAudioMetadataWriterOverflowMode = i32;
2558 pub const SpatialAudioMetadataWriterOverflow_Fail: SpatialAudioMetadataWriterOverflowMode = 0i32;
2559 pub const SpatialAudioMetadataWriterOverflow_MergeWithNew: SpatialAudioMetadataWriterOverflowMode = 1i32;
2560 pub const SpatialAudioMetadataWriterOverflow_MergeWithLast: SpatialAudioMetadataWriterOverflowMode = 2i32;
2561 #[repr(C, packed(1))]
2562 #[cfg(feature = "Win32_Foundation")]
2563 pub struct SpatialAudioObjectRenderStreamActivationParams {
2564     pub ObjectFormat: *mut WAVEFORMATEX,
2565     pub StaticObjectTypeMask: AudioObjectType,
2566     pub MinDynamicObjectCount: u32,
2567     pub MaxDynamicObjectCount: u32,
2568     pub Category: AUDIO_STREAM_CATEGORY,
2569     pub EventHandle: super::super::Foundation::HANDLE,
2570     pub NotifyObject: ISpatialAudioObjectRenderStreamNotify,
2571 }
2572 #[cfg(feature = "Win32_Foundation")]
2573 impl ::core::marker::Copy for SpatialAudioObjectRenderStreamActivationParams {}
2574 #[cfg(feature = "Win32_Foundation")]
2575 impl ::core::clone::Clone for SpatialAudioObjectRenderStreamActivationParams {
clone(&self) -> Self2576     fn clone(&self) -> Self {
2577         *self
2578     }
2579 }
2580 #[repr(C, packed(1))]
2581 #[cfg(feature = "Win32_Foundation")]
2582 pub struct SpatialAudioObjectRenderStreamActivationParams2 {
2583     pub ObjectFormat: *mut WAVEFORMATEX,
2584     pub StaticObjectTypeMask: AudioObjectType,
2585     pub MinDynamicObjectCount: u32,
2586     pub MaxDynamicObjectCount: u32,
2587     pub Category: AUDIO_STREAM_CATEGORY,
2588     pub EventHandle: super::super::Foundation::HANDLE,
2589     pub NotifyObject: ISpatialAudioObjectRenderStreamNotify,
2590     pub Options: SPATIAL_AUDIO_STREAM_OPTIONS,
2591 }
2592 #[cfg(feature = "Win32_Foundation")]
2593 impl ::core::marker::Copy for SpatialAudioObjectRenderStreamActivationParams2 {}
2594 #[cfg(feature = "Win32_Foundation")]
2595 impl ::core::clone::Clone for SpatialAudioObjectRenderStreamActivationParams2 {
clone(&self) -> Self2596     fn clone(&self) -> Self {
2597         *self
2598     }
2599 }
2600 #[repr(C, packed(1))]
2601 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage"))]
2602 pub struct SpatialAudioObjectRenderStreamForMetadataActivationParams {
2603     pub ObjectFormat: *mut WAVEFORMATEX,
2604     pub StaticObjectTypeMask: AudioObjectType,
2605     pub MinDynamicObjectCount: u32,
2606     pub MaxDynamicObjectCount: u32,
2607     pub Category: AUDIO_STREAM_CATEGORY,
2608     pub EventHandle: super::super::Foundation::HANDLE,
2609     pub MetadataFormatId: ::windows_sys::core::GUID,
2610     pub MaxMetadataItemCount: u16,
2611     pub MetadataActivationParams: *mut super::super::System::Com::StructuredStorage::PROPVARIANT,
2612     pub NotifyObject: ISpatialAudioObjectRenderStreamNotify,
2613 }
2614 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage"))]
2615 impl ::core::marker::Copy for SpatialAudioObjectRenderStreamForMetadataActivationParams {}
2616 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage"))]
2617 impl ::core::clone::Clone for SpatialAudioObjectRenderStreamForMetadataActivationParams {
clone(&self) -> Self2618     fn clone(&self) -> Self {
2619         *self
2620     }
2621 }
2622 #[repr(C, packed(1))]
2623 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage"))]
2624 pub struct SpatialAudioObjectRenderStreamForMetadataActivationParams2 {
2625     pub ObjectFormat: *mut WAVEFORMATEX,
2626     pub StaticObjectTypeMask: AudioObjectType,
2627     pub MinDynamicObjectCount: u32,
2628     pub MaxDynamicObjectCount: u32,
2629     pub Category: AUDIO_STREAM_CATEGORY,
2630     pub EventHandle: super::super::Foundation::HANDLE,
2631     pub MetadataFormatId: ::windows_sys::core::GUID,
2632     pub MaxMetadataItemCount: u32,
2633     pub MetadataActivationParams: *mut super::super::System::Com::StructuredStorage::PROPVARIANT,
2634     pub NotifyObject: ISpatialAudioObjectRenderStreamNotify,
2635     pub Options: SPATIAL_AUDIO_STREAM_OPTIONS,
2636 }
2637 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage"))]
2638 impl ::core::marker::Copy for SpatialAudioObjectRenderStreamForMetadataActivationParams2 {}
2639 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage"))]
2640 impl ::core::clone::Clone for SpatialAudioObjectRenderStreamForMetadataActivationParams2 {
clone(&self) -> Self2641     fn clone(&self) -> Self {
2642         *self
2643     }
2644 }
2645 #[repr(C, packed(1))]
2646 pub struct VOLUMEWAVEFILTER {
2647     pub wfltr: WAVEFILTER,
2648     pub dwVolume: u32,
2649 }
2650 impl ::core::marker::Copy for VOLUMEWAVEFILTER {}
2651 impl ::core::clone::Clone for VOLUMEWAVEFILTER {
clone(&self) -> Self2652     fn clone(&self) -> Self {
2653         *self
2654     }
2655 }
2656 pub const WAVECAPS_LRVOLUME: u32 = 8u32;
2657 pub const WAVECAPS_PITCH: u32 = 1u32;
2658 pub const WAVECAPS_PLAYBACKRATE: u32 = 2u32;
2659 pub const WAVECAPS_SAMPLEACCURATE: u32 = 32u32;
2660 pub const WAVECAPS_SYNC: u32 = 16u32;
2661 pub const WAVECAPS_VOLUME: u32 = 4u32;
2662 #[repr(C, packed(1))]
2663 pub struct WAVEFILTER {
2664     pub cbStruct: u32,
2665     pub dwFilterTag: u32,
2666     pub fdwFilter: u32,
2667     pub dwReserved: [u32; 5],
2668 }
2669 impl ::core::marker::Copy for WAVEFILTER {}
2670 impl ::core::clone::Clone for WAVEFILTER {
clone(&self) -> Self2671     fn clone(&self) -> Self {
2672         *self
2673     }
2674 }
2675 #[repr(C, packed(1))]
2676 pub struct WAVEFORMAT {
2677     pub wFormatTag: u16,
2678     pub nChannels: u16,
2679     pub nSamplesPerSec: u32,
2680     pub nAvgBytesPerSec: u32,
2681     pub nBlockAlign: u16,
2682 }
2683 impl ::core::marker::Copy for WAVEFORMAT {}
2684 impl ::core::clone::Clone for WAVEFORMAT {
clone(&self) -> Self2685     fn clone(&self) -> Self {
2686         *self
2687     }
2688 }
2689 #[repr(C, packed(1))]
2690 pub struct WAVEFORMATEX {
2691     pub wFormatTag: u16,
2692     pub nChannels: u16,
2693     pub nSamplesPerSec: u32,
2694     pub nAvgBytesPerSec: u32,
2695     pub nBlockAlign: u16,
2696     pub wBitsPerSample: u16,
2697     pub cbSize: u16,
2698 }
2699 impl ::core::marker::Copy for WAVEFORMATEX {}
2700 impl ::core::clone::Clone for WAVEFORMATEX {
clone(&self) -> Self2701     fn clone(&self) -> Self {
2702         *self
2703     }
2704 }
2705 #[repr(C, packed(1))]
2706 pub struct WAVEFORMATEXTENSIBLE {
2707     pub Format: WAVEFORMATEX,
2708     pub Samples: WAVEFORMATEXTENSIBLE_0,
2709     pub dwChannelMask: u32,
2710     pub SubFormat: ::windows_sys::core::GUID,
2711 }
2712 impl ::core::marker::Copy for WAVEFORMATEXTENSIBLE {}
2713 impl ::core::clone::Clone for WAVEFORMATEXTENSIBLE {
clone(&self) -> Self2714     fn clone(&self) -> Self {
2715         *self
2716     }
2717 }
2718 #[repr(C, packed(1))]
2719 pub union WAVEFORMATEXTENSIBLE_0 {
2720     pub wValidBitsPerSample: u16,
2721     pub wSamplesPerBlock: u16,
2722     pub wReserved: u16,
2723 }
2724 impl ::core::marker::Copy for WAVEFORMATEXTENSIBLE_0 {}
2725 impl ::core::clone::Clone for WAVEFORMATEXTENSIBLE_0 {
clone(&self) -> Self2726     fn clone(&self) -> Self {
2727         *self
2728     }
2729 }
2730 #[repr(C, packed(1))]
2731 #[cfg(feature = "Win32_Foundation")]
2732 pub struct WAVEHDR {
2733     pub lpData: super::super::Foundation::PSTR,
2734     pub dwBufferLength: u32,
2735     pub dwBytesRecorded: u32,
2736     pub dwUser: usize,
2737     pub dwFlags: u32,
2738     pub dwLoops: u32,
2739     pub lpNext: *mut WAVEHDR,
2740     pub reserved: usize,
2741 }
2742 #[cfg(feature = "Win32_Foundation")]
2743 impl ::core::marker::Copy for WAVEHDR {}
2744 #[cfg(feature = "Win32_Foundation")]
2745 impl ::core::clone::Clone for WAVEHDR {
clone(&self) -> Self2746     fn clone(&self) -> Self {
2747         *self
2748     }
2749 }
2750 #[repr(C, packed(1))]
2751 #[cfg(feature = "Win32_Foundation")]
2752 pub struct WAVEINCAPS2A {
2753     pub wMid: u16,
2754     pub wPid: u16,
2755     pub vDriverVersion: u32,
2756     pub szPname: [super::super::Foundation::CHAR; 32],
2757     pub dwFormats: u32,
2758     pub wChannels: u16,
2759     pub wReserved1: u16,
2760     pub ManufacturerGuid: ::windows_sys::core::GUID,
2761     pub ProductGuid: ::windows_sys::core::GUID,
2762     pub NameGuid: ::windows_sys::core::GUID,
2763 }
2764 #[cfg(feature = "Win32_Foundation")]
2765 impl ::core::marker::Copy for WAVEINCAPS2A {}
2766 #[cfg(feature = "Win32_Foundation")]
2767 impl ::core::clone::Clone for WAVEINCAPS2A {
clone(&self) -> Self2768     fn clone(&self) -> Self {
2769         *self
2770     }
2771 }
2772 #[repr(C, packed(1))]
2773 pub struct WAVEINCAPS2W {
2774     pub wMid: u16,
2775     pub wPid: u16,
2776     pub vDriverVersion: u32,
2777     pub szPname: [u16; 32],
2778     pub dwFormats: u32,
2779     pub wChannels: u16,
2780     pub wReserved1: u16,
2781     pub ManufacturerGuid: ::windows_sys::core::GUID,
2782     pub ProductGuid: ::windows_sys::core::GUID,
2783     pub NameGuid: ::windows_sys::core::GUID,
2784 }
2785 impl ::core::marker::Copy for WAVEINCAPS2W {}
2786 impl ::core::clone::Clone for WAVEINCAPS2W {
clone(&self) -> Self2787     fn clone(&self) -> Self {
2788         *self
2789     }
2790 }
2791 #[repr(C, packed(1))]
2792 #[cfg(feature = "Win32_Foundation")]
2793 pub struct WAVEINCAPSA {
2794     pub wMid: u16,
2795     pub wPid: u16,
2796     pub vDriverVersion: u32,
2797     pub szPname: [super::super::Foundation::CHAR; 32],
2798     pub dwFormats: u32,
2799     pub wChannels: u16,
2800     pub wReserved1: u16,
2801 }
2802 #[cfg(feature = "Win32_Foundation")]
2803 impl ::core::marker::Copy for WAVEINCAPSA {}
2804 #[cfg(feature = "Win32_Foundation")]
2805 impl ::core::clone::Clone for WAVEINCAPSA {
clone(&self) -> Self2806     fn clone(&self) -> Self {
2807         *self
2808     }
2809 }
2810 #[repr(C, packed(1))]
2811 pub struct WAVEINCAPSW {
2812     pub wMid: u16,
2813     pub wPid: u16,
2814     pub vDriverVersion: u32,
2815     pub szPname: [u16; 32],
2816     pub dwFormats: u32,
2817     pub wChannels: u16,
2818     pub wReserved1: u16,
2819 }
2820 impl ::core::marker::Copy for WAVEINCAPSW {}
2821 impl ::core::clone::Clone for WAVEINCAPSW {
clone(&self) -> Self2822     fn clone(&self) -> Self {
2823         *self
2824     }
2825 }
2826 pub const WAVEIN_MAPPER_STATUS_DEVICE: u32 = 0u32;
2827 pub const WAVEIN_MAPPER_STATUS_FORMAT: u32 = 2u32;
2828 pub const WAVEIN_MAPPER_STATUS_MAPPED: u32 = 1u32;
2829 #[repr(C, packed(1))]
2830 #[cfg(feature = "Win32_Foundation")]
2831 pub struct WAVEOUTCAPS2A {
2832     pub wMid: u16,
2833     pub wPid: u16,
2834     pub vDriverVersion: u32,
2835     pub szPname: [super::super::Foundation::CHAR; 32],
2836     pub dwFormats: u32,
2837     pub wChannels: u16,
2838     pub wReserved1: u16,
2839     pub dwSupport: u32,
2840     pub ManufacturerGuid: ::windows_sys::core::GUID,
2841     pub ProductGuid: ::windows_sys::core::GUID,
2842     pub NameGuid: ::windows_sys::core::GUID,
2843 }
2844 #[cfg(feature = "Win32_Foundation")]
2845 impl ::core::marker::Copy for WAVEOUTCAPS2A {}
2846 #[cfg(feature = "Win32_Foundation")]
2847 impl ::core::clone::Clone for WAVEOUTCAPS2A {
clone(&self) -> Self2848     fn clone(&self) -> Self {
2849         *self
2850     }
2851 }
2852 #[repr(C, packed(1))]
2853 pub struct WAVEOUTCAPS2W {
2854     pub wMid: u16,
2855     pub wPid: u16,
2856     pub vDriverVersion: u32,
2857     pub szPname: [u16; 32],
2858     pub dwFormats: u32,
2859     pub wChannels: u16,
2860     pub wReserved1: u16,
2861     pub dwSupport: u32,
2862     pub ManufacturerGuid: ::windows_sys::core::GUID,
2863     pub ProductGuid: ::windows_sys::core::GUID,
2864     pub NameGuid: ::windows_sys::core::GUID,
2865 }
2866 impl ::core::marker::Copy for WAVEOUTCAPS2W {}
2867 impl ::core::clone::Clone for WAVEOUTCAPS2W {
clone(&self) -> Self2868     fn clone(&self) -> Self {
2869         *self
2870     }
2871 }
2872 #[repr(C, packed(1))]
2873 #[cfg(feature = "Win32_Foundation")]
2874 pub struct WAVEOUTCAPSA {
2875     pub wMid: u16,
2876     pub wPid: u16,
2877     pub vDriverVersion: u32,
2878     pub szPname: [super::super::Foundation::CHAR; 32],
2879     pub dwFormats: u32,
2880     pub wChannels: u16,
2881     pub wReserved1: u16,
2882     pub dwSupport: u32,
2883 }
2884 #[cfg(feature = "Win32_Foundation")]
2885 impl ::core::marker::Copy for WAVEOUTCAPSA {}
2886 #[cfg(feature = "Win32_Foundation")]
2887 impl ::core::clone::Clone for WAVEOUTCAPSA {
clone(&self) -> Self2888     fn clone(&self) -> Self {
2889         *self
2890     }
2891 }
2892 #[repr(C, packed(1))]
2893 pub struct WAVEOUTCAPSW {
2894     pub wMid: u16,
2895     pub wPid: u16,
2896     pub vDriverVersion: u32,
2897     pub szPname: [u16; 32],
2898     pub dwFormats: u32,
2899     pub wChannels: u16,
2900     pub wReserved1: u16,
2901     pub dwSupport: u32,
2902 }
2903 impl ::core::marker::Copy for WAVEOUTCAPSW {}
2904 impl ::core::clone::Clone for WAVEOUTCAPSW {
clone(&self) -> Self2905     fn clone(&self) -> Self {
2906         *self
2907     }
2908 }
2909 pub const WAVEOUT_MAPPER_STATUS_DEVICE: u32 = 0u32;
2910 pub const WAVEOUT_MAPPER_STATUS_FORMAT: u32 = 2u32;
2911 pub const WAVEOUT_MAPPER_STATUS_MAPPED: u32 = 1u32;
2912 pub const WAVERR_BADFORMAT: u32 = 32u32;
2913 pub const WAVERR_LASTERROR: u32 = 35u32;
2914 pub const WAVERR_STILLPLAYING: u32 = 33u32;
2915 pub const WAVERR_SYNC: u32 = 35u32;
2916 pub const WAVERR_UNPREPARED: u32 = 34u32;
2917 pub const WAVE_FORMAT_1M08: u32 = 1u32;
2918 pub const WAVE_FORMAT_1M16: u32 = 4u32;
2919 pub const WAVE_FORMAT_1S08: u32 = 2u32;
2920 pub const WAVE_FORMAT_1S16: u32 = 8u32;
2921 pub const WAVE_FORMAT_2M08: u32 = 16u32;
2922 pub const WAVE_FORMAT_2M16: u32 = 64u32;
2923 pub const WAVE_FORMAT_2S08: u32 = 32u32;
2924 pub const WAVE_FORMAT_2S16: u32 = 128u32;
2925 pub const WAVE_FORMAT_44M08: u32 = 256u32;
2926 pub const WAVE_FORMAT_44M16: u32 = 1024u32;
2927 pub const WAVE_FORMAT_44S08: u32 = 512u32;
2928 pub const WAVE_FORMAT_44S16: u32 = 2048u32;
2929 pub const WAVE_FORMAT_48M08: u32 = 4096u32;
2930 pub const WAVE_FORMAT_48M16: u32 = 16384u32;
2931 pub const WAVE_FORMAT_48S08: u32 = 8192u32;
2932 pub const WAVE_FORMAT_48S16: u32 = 32768u32;
2933 pub const WAVE_FORMAT_4M08: u32 = 256u32;
2934 pub const WAVE_FORMAT_4M16: u32 = 1024u32;
2935 pub const WAVE_FORMAT_4S08: u32 = 512u32;
2936 pub const WAVE_FORMAT_4S16: u32 = 2048u32;
2937 pub const WAVE_FORMAT_96M08: u32 = 65536u32;
2938 pub const WAVE_FORMAT_96M16: u32 = 262144u32;
2939 pub const WAVE_FORMAT_96S08: u32 = 131072u32;
2940 pub const WAVE_FORMAT_96S16: u32 = 524288u32;
2941 pub const WAVE_FORMAT_PCM: u32 = 1u32;
2942 pub const WAVE_INVALIDFORMAT: u32 = 0u32;
2943 pub const WAVE_MAPPER: u32 = 4294967295u32;
2944 pub const WHDR_BEGINLOOP: u32 = 4u32;
2945 pub const WHDR_DONE: u32 = 1u32;
2946 pub const WHDR_ENDLOOP: u32 = 8u32;
2947 pub const WHDR_INQUEUE: u32 = 16u32;
2948 pub const WHDR_PREPARED: u32 = 2u32;
2949 pub const WIDM_MAPPER_STATUS: u32 = 8192u32;
2950 pub const WODM_MAPPER_STATUS: u32 = 8192u32;
2951 pub type _AUDCLNT_BUFFERFLAGS = i32;
2952 pub const AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY: _AUDCLNT_BUFFERFLAGS = 1i32;
2953 pub const AUDCLNT_BUFFERFLAGS_SILENT: _AUDCLNT_BUFFERFLAGS = 2i32;
2954 pub const AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR: _AUDCLNT_BUFFERFLAGS = 4i32;
2955 pub type __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = i32;
2956 pub const AUDIO_SYSTEMEFFECTS_PROPERTYSTORE_TYPE_DEFAULT: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = 0i32;
2957 pub const AUDIO_SYSTEMEFFECTS_PROPERTYSTORE_TYPE_USER: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = 1i32;
2958 pub const AUDIO_SYSTEMEFFECTS_PROPERTYSTORE_TYPE_VOLATILE: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = 2i32;
2959 pub const AUDIO_SYSTEMEFFECTS_PROPERTYSTORE_TYPE_ENUM_COUNT: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = 3i32;
2960 #[repr(C, packed(1))]
2961 #[cfg(feature = "Win32_Foundation")]
2962 pub struct tACMDRVOPENDESCA {
2963     pub cbStruct: u32,
2964     pub fccType: u32,
2965     pub fccComp: u32,
2966     pub dwVersion: u32,
2967     pub dwFlags: u32,
2968     pub dwError: u32,
2969     pub pszSectionName: super::super::Foundation::PSTR,
2970     pub pszAliasName: super::super::Foundation::PSTR,
2971     pub dnDevNode: u32,
2972 }
2973 #[cfg(feature = "Win32_Foundation")]
2974 impl ::core::marker::Copy for tACMDRVOPENDESCA {}
2975 #[cfg(feature = "Win32_Foundation")]
2976 impl ::core::clone::Clone for tACMDRVOPENDESCA {
clone(&self) -> Self2977     fn clone(&self) -> Self {
2978         *self
2979     }
2980 }
2981 #[repr(C, packed(1))]
2982 #[cfg(feature = "Win32_Foundation")]
2983 pub struct tACMDRVOPENDESCW {
2984     pub cbStruct: u32,
2985     pub fccType: u32,
2986     pub fccComp: u32,
2987     pub dwVersion: u32,
2988     pub dwFlags: u32,
2989     pub dwError: u32,
2990     pub pszSectionName: super::super::Foundation::PWSTR,
2991     pub pszAliasName: super::super::Foundation::PWSTR,
2992     pub dnDevNode: u32,
2993 }
2994 #[cfg(feature = "Win32_Foundation")]
2995 impl ::core::marker::Copy for tACMDRVOPENDESCW {}
2996 #[cfg(feature = "Win32_Foundation")]
2997 impl ::core::clone::Clone for tACMDRVOPENDESCW {
clone(&self) -> Self2998     fn clone(&self) -> Self {
2999         *self
3000     }
3001 }
3002 #[repr(C, packed(1))]
3003 pub struct tACMFORMATDETAILSW {
3004     pub cbStruct: u32,
3005     pub dwFormatIndex: u32,
3006     pub dwFormatTag: u32,
3007     pub fdwSupport: u32,
3008     pub pwfx: *mut WAVEFORMATEX,
3009     pub cbwfx: u32,
3010     pub szFormat: [u16; 128],
3011 }
3012 impl ::core::marker::Copy for tACMFORMATDETAILSW {}
3013 impl ::core::clone::Clone for tACMFORMATDETAILSW {
clone(&self) -> Self3014     fn clone(&self) -> Self {
3015         *self
3016     }
3017 }
3018