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