summaryrefslogtreecommitdiffstats
path: root/vendor/windows-sys/src/Windows/Win32/Media/Audio
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:02:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:02:58 +0000
commit698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch)
tree173a775858bd501c378080a10dca74132f05bc50 /vendor/windows-sys/src/Windows/Win32/Media/Audio
parentInitial commit. (diff)
downloadrustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz
rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/windows-sys/src/Windows/Win32/Media/Audio')
-rw-r--r--vendor/windows-sys/src/Windows/Win32/Media/Audio/Apo/mod.rs556
-rw-r--r--vendor/windows-sys/src/Windows/Win32/Media/Audio/DirectMusic/mod.rs1291
-rw-r--r--vendor/windows-sys/src/Windows/Win32/Media/Audio/DirectSound/mod.rs1079
-rw-r--r--vendor/windows-sys/src/Windows/Win32/Media/Audio/Endpoints/mod.rs50
-rw-r--r--vendor/windows-sys/src/Windows/Win32/Media/Audio/XAudio2/mod.rs967
-rw-r--r--vendor/windows-sys/src/Windows/Win32/Media/Audio/mod.rs3798
6 files changed, 7741 insertions, 0 deletions
diff --git a/vendor/windows-sys/src/Windows/Win32/Media/Audio/Apo/mod.rs b/vendor/windows-sys/src/Windows/Win32/Media/Audio/Apo/mod.rs
new file mode 100644
index 000000000..ef4aae856
--- /dev/null
+++ b/vendor/windows-sys/src/Windows/Win32/Media/Audio/Apo/mod.rs
@@ -0,0 +1,556 @@
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_ALREADY_INITIALIZED: ::windows_sys::core::HRESULT = -2005073919i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_ALREADY_UNLOCKED: ::windows_sys::core::HRESULT = -2005073914i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_APO_LOCKED: ::windows_sys::core::HRESULT = -2005073910i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_BUFFERS_OVERLAP: ::windows_sys::core::HRESULT = -2005073915i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_FORMAT_NOT_SUPPORTED: ::windows_sys::core::HRESULT = -2005073917i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_INVALID_APO_CLSID: ::windows_sys::core::HRESULT = -2005073916i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_INVALID_COEFFCOUNT: ::windows_sys::core::HRESULT = -2005073909i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_INVALID_COEFFICIENT: ::windows_sys::core::HRESULT = -2005073908i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_INVALID_CONNECTION_FORMAT: ::windows_sys::core::HRESULT = -2005073911i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_INVALID_CURVE_PARAM: ::windows_sys::core::HRESULT = -2005073907i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_INVALID_INPUTID: ::windows_sys::core::HRESULT = -2005073906i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_INVALID_OUTPUT_MAXFRAMECOUNT: ::windows_sys::core::HRESULT = -2005073912i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_NOT_INITIALIZED: ::windows_sys::core::HRESULT = -2005073918i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APOERR_NUM_CONNECTIONS_INVALID: ::windows_sys::core::HRESULT = -2005073913i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub struct APOInitBaseStruct {
+ pub cbSize: u32,
+ pub clsid: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for APOInitBaseStruct {}
+impl ::core::clone::Clone for APOInitBaseStruct {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub struct APOInitSystemEffects {
+ pub APOInit: APOInitBaseStruct,
+ pub pAPOEndpointProperties: super::super::super::UI::Shell::PropertiesSystem::IPropertyStore,
+ pub pAPOSystemEffectsProperties: super::super::super::UI::Shell::PropertiesSystem::IPropertyStore,
+ pub pReserved: *mut ::core::ffi::c_void,
+ pub pDeviceCollection: super::IMMDeviceCollection,
+}
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+impl ::core::marker::Copy for APOInitSystemEffects {}
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+impl ::core::clone::Clone for APOInitSystemEffects {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_Foundation\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Shell_PropertiesSystem"))]
+pub struct APOInitSystemEffects2 {
+ pub APOInit: APOInitBaseStruct,
+ pub pAPOEndpointProperties: super::super::super::UI::Shell::PropertiesSystem::IPropertyStore,
+ pub pAPOSystemEffectsProperties: super::super::super::UI::Shell::PropertiesSystem::IPropertyStore,
+ pub pReserved: *mut ::core::ffi::c_void,
+ pub pDeviceCollection: super::IMMDeviceCollection,
+ pub nSoftwareIoDeviceInCollection: u32,
+ pub nSoftwareIoConnectorIndex: u32,
+ pub AudioProcessingMode: ::windows_sys::core::GUID,
+ pub InitializeForDiscoveryOnly: super::super::super::Foundation::BOOL,
+}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Shell_PropertiesSystem"))]
+impl ::core::marker::Copy for APOInitSystemEffects2 {}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Shell_PropertiesSystem"))]
+impl ::core::clone::Clone for APOInitSystemEffects2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))]
+pub struct APOInitSystemEffects3 {
+ pub APOInit: APOInitBaseStruct,
+ pub pAPOEndpointProperties: super::super::super::UI::Shell::PropertiesSystem::IPropertyStore,
+ pub pServiceProvider: super::super::super::System::Com::IServiceProvider,
+ pub pDeviceCollection: super::IMMDeviceCollection,
+ pub nSoftwareIoDeviceInCollection: u32,
+ pub nSoftwareIoConnectorIndex: u32,
+ pub AudioProcessingMode: ::windows_sys::core::GUID,
+ pub InitializeForDiscoveryOnly: super::super::super::Foundation::BOOL,
+}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))]
+impl ::core::marker::Copy for APOInitSystemEffects3 {}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))]
+impl ::core::clone::Clone for APOInitSystemEffects3 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub type APO_BUFFER_FLAGS = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const BUFFER_INVALID: APO_BUFFER_FLAGS = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const BUFFER_VALID: APO_BUFFER_FLAGS = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const BUFFER_SILENT: APO_BUFFER_FLAGS = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub type APO_CONNECTION_BUFFER_TYPE = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_CONNECTION_BUFFER_TYPE_ALLOCATED: APO_CONNECTION_BUFFER_TYPE = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_CONNECTION_BUFFER_TYPE_EXTERNAL: APO_CONNECTION_BUFFER_TYPE = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_CONNECTION_BUFFER_TYPE_DEPENDANT: APO_CONNECTION_BUFFER_TYPE = 2i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub struct APO_CONNECTION_DESCRIPTOR {
+ pub Type: APO_CONNECTION_BUFFER_TYPE,
+ pub pBuffer: usize,
+ pub u32MaxFrameCount: u32,
+ pub pFormat: IAudioMediaType,
+ pub u32Signature: u32,
+}
+impl ::core::marker::Copy for APO_CONNECTION_DESCRIPTOR {}
+impl ::core::clone::Clone for APO_CONNECTION_DESCRIPTOR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub struct APO_CONNECTION_PROPERTY {
+ pub pBuffer: usize,
+ pub u32ValidFrameCount: u32,
+ pub u32BufferFlags: APO_BUFFER_FLAGS,
+ pub u32Signature: u32,
+}
+impl ::core::marker::Copy for APO_CONNECTION_PROPERTY {}
+impl ::core::clone::Clone for APO_CONNECTION_PROPERTY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub struct APO_CONNECTION_PROPERTY_V2 {
+ pub property: APO_CONNECTION_PROPERTY,
+ pub u64QPCTime: u64,
+}
+impl ::core::marker::Copy for APO_CONNECTION_PROPERTY_V2 {}
+impl ::core::clone::Clone for APO_CONNECTION_PROPERTY_V2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub type APO_FLAG = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_FLAG_NONE: APO_FLAG = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_FLAG_INPLACE: APO_FLAG = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_FLAG_SAMPLESPERFRAME_MUST_MATCH: APO_FLAG = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_FLAG_FRAMESPERSECOND_MUST_MATCH: APO_FLAG = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_FLAG_BITSPERSAMPLE_MUST_MATCH: APO_FLAG = 8i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_FLAG_MIXER: APO_FLAG = 16i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_FLAG_DEFAULT: APO_FLAG = 14i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub type APO_LOG_LEVEL = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_LOG_LEVEL_ALWAYS: APO_LOG_LEVEL = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_LOG_LEVEL_CRITICAL: APO_LOG_LEVEL = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_LOG_LEVEL_ERROR: APO_LOG_LEVEL = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_LOG_LEVEL_WARNING: APO_LOG_LEVEL = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_LOG_LEVEL_INFO: APO_LOG_LEVEL = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_LOG_LEVEL_VERBOSE: APO_LOG_LEVEL = 5i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_Foundation\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Shell_PropertiesSystem"))]
+pub struct APO_NOTIFICATION {
+ pub r#type: APO_NOTIFICATION_TYPE,
+ pub Anonymous: APO_NOTIFICATION_0,
+}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Shell_PropertiesSystem"))]
+impl ::core::marker::Copy for APO_NOTIFICATION {}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Shell_PropertiesSystem"))]
+impl ::core::clone::Clone for APO_NOTIFICATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_Foundation\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Shell_PropertiesSystem"))]
+pub union APO_NOTIFICATION_0 {
+ pub audioEndpointVolumeChange: AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION,
+ pub audioEndpointPropertyChange: AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION,
+ pub audioSystemEffectsPropertyChange: AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION,
+}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Shell_PropertiesSystem"))]
+impl ::core::marker::Copy for APO_NOTIFICATION_0 {}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Shell_PropertiesSystem"))]
+impl ::core::clone::Clone for APO_NOTIFICATION_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub struct APO_NOTIFICATION_DESCRIPTOR {
+ pub r#type: APO_NOTIFICATION_TYPE,
+ pub Anonymous: APO_NOTIFICATION_DESCRIPTOR_0,
+}
+impl ::core::marker::Copy for APO_NOTIFICATION_DESCRIPTOR {}
+impl ::core::clone::Clone for APO_NOTIFICATION_DESCRIPTOR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub union APO_NOTIFICATION_DESCRIPTOR_0 {
+ pub audioEndpointVolume: AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR,
+ pub audioEndpointPropertyChange: AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR,
+ pub audioSystemEffectsPropertyChange: AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR,
+}
+impl ::core::marker::Copy for APO_NOTIFICATION_DESCRIPTOR_0 {}
+impl ::core::clone::Clone for APO_NOTIFICATION_DESCRIPTOR_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub type APO_NOTIFICATION_TYPE = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_NOTIFICATION_TYPE_NONE: APO_NOTIFICATION_TYPE = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_NOTIFICATION_TYPE_ENDPOINT_VOLUME: APO_NOTIFICATION_TYPE = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_NOTIFICATION_TYPE_ENDPOINT_PROPERTY_CHANGE: APO_NOTIFICATION_TYPE = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const APO_NOTIFICATION_TYPE_SYSTEM_EFFECTS_PROPERTY_CHANGE: APO_NOTIFICATION_TYPE = 3i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub struct APO_REG_PROPERTIES {
+ pub clsid: ::windows_sys::core::GUID,
+ pub Flags: APO_FLAG,
+ pub szFriendlyName: [u16; 256],
+ pub szCopyrightInfo: [u16; 256],
+ pub u32MajorVersion: u32,
+ pub u32MinorVersion: u32,
+ pub u32MinInputConnections: u32,
+ pub u32MaxInputConnections: u32,
+ pub u32MinOutputConnections: u32,
+ pub u32MaxOutputConnections: u32,
+ pub u32MaxInstances: u32,
+ pub u32NumAPOInterfaces: u32,
+ pub iidAPOInterfaceList: [::windows_sys::core::GUID; 1],
+}
+impl ::core::marker::Copy for APO_REG_PROPERTIES {}
+impl ::core::clone::Clone for APO_REG_PROPERTIES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const AUDIOMEDIATYPE_EQUAL_FORMAT_DATA: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const AUDIOMEDIATYPE_EQUAL_FORMAT_TYPES: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const AUDIOMEDIATYPE_EQUAL_FORMAT_USER_DATA: u32 = 8u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub struct AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
+ pub device: super::IMMDevice,
+}
+impl ::core::marker::Copy for AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {}
+impl ::core::clone::Clone for AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub struct AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION {
+ pub endpoint: super::IMMDevice,
+ pub propertyStore: super::super::super::UI::Shell::PropertiesSystem::IPropertyStore,
+ pub propertyKey: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY,
+}
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+impl ::core::marker::Copy for AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION {}
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+impl ::core::clone::Clone for AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub struct AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR {
+ pub device: super::IMMDevice,
+}
+impl ::core::marker::Copy for AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR {}
+impl ::core::clone::Clone for AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION {
+ pub endpoint: super::IMMDevice,
+ pub volume: *mut super::AUDIO_VOLUME_NOTIFICATION_DATA,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub type AUDIO_FLOW_TYPE = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const AUDIO_FLOW_PULL: AUDIO_FLOW_TYPE = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const AUDIO_FLOW_PUSH: AUDIO_FLOW_TYPE = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const AUDIO_MAX_CHANNELS: u32 = 4096u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const AUDIO_MAX_FRAMERATE: f64 = 384000f64;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const AUDIO_MIN_CHANNELS: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const AUDIO_MIN_FRAMERATE: f64 = 10f64;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct AUDIO_SYSTEMEFFECT {
+ pub id: ::windows_sys::core::GUID,
+ pub canSetState: super::super::super::Foundation::BOOL,
+ pub state: AUDIO_SYSTEMEFFECT_STATE,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for AUDIO_SYSTEMEFFECT {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for AUDIO_SYSTEMEFFECT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub struct AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
+ pub device: super::IMMDevice,
+ pub propertyStoreContext: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {}
+impl ::core::clone::Clone for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub struct AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION {
+ pub endpoint: super::IMMDevice,
+ pub propertyStoreContext: ::windows_sys::core::GUID,
+ pub propertyStoreType: super::__MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002,
+ pub propertyStore: super::super::super::UI::Shell::PropertiesSystem::IPropertyStore,
+ pub propertyKey: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY,
+}
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+impl ::core::marker::Copy for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION {}
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+impl ::core::clone::Clone for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub type AUDIO_SYSTEMEFFECT_STATE = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const AUDIO_SYSTEMEFFECT_STATE_OFF: AUDIO_SYSTEMEFFECT_STATE = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const AUDIO_SYSTEMEFFECT_STATE_ON: AUDIO_SYSTEMEFFECT_STATE = 1i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_Foundation\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Shell_PropertiesSystem"))]
+pub struct AudioFXExtensionParams {
+ pub AddPageParam: super::super::super::Foundation::LPARAM,
+ pub pwstrEndpointID: ::windows_sys::core::PWSTR,
+ pub pFxProperties: super::super::super::UI::Shell::PropertiesSystem::IPropertyStore,
+}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Shell_PropertiesSystem"))]
+impl ::core::marker::Copy for AudioFXExtensionParams {}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Shell_PropertiesSystem"))]
+impl ::core::clone::Clone for AudioFXExtensionParams {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub type EAudioConstriction = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const eAudioConstrictionOff: EAudioConstriction = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const eAudioConstriction48_16: EAudioConstriction = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const eAudioConstriction44_16: EAudioConstriction = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const eAudioConstriction14_14: EAudioConstriction = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub const eAudioConstrictionMute: EAudioConstriction = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub type FNAPONOTIFICATIONCALLBACK = ::core::option::Option<unsafe extern "system" fn(pproperties: *mut APO_REG_PROPERTIES, pvrefdata: *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT>;
+pub type IApoAcousticEchoCancellation = *mut ::core::ffi::c_void;
+pub type IApoAuxiliaryInputConfiguration = *mut ::core::ffi::c_void;
+pub type IApoAuxiliaryInputRT = *mut ::core::ffi::c_void;
+pub type IAudioDeviceModulesClient = *mut ::core::ffi::c_void;
+pub type IAudioMediaType = *mut ::core::ffi::c_void;
+pub type IAudioProcessingObject = *mut ::core::ffi::c_void;
+pub type IAudioProcessingObjectConfiguration = *mut ::core::ffi::c_void;
+pub type IAudioProcessingObjectLoggingService = *mut ::core::ffi::c_void;
+pub type IAudioProcessingObjectNotifications = *mut ::core::ffi::c_void;
+pub type IAudioProcessingObjectRT = *mut ::core::ffi::c_void;
+pub type IAudioProcessingObjectRTQueueService = *mut ::core::ffi::c_void;
+pub type IAudioProcessingObjectVBR = *mut ::core::ffi::c_void;
+pub type IAudioSystemEffects = *mut ::core::ffi::c_void;
+pub type IAudioSystemEffects2 = *mut ::core::ffi::c_void;
+pub type IAudioSystemEffects3 = *mut ::core::ffi::c_void;
+pub type IAudioSystemEffectsCustomFormats = *mut ::core::ffi::c_void;
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_APO_SWFallback_ProcessingModes: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3550034495, data2: 39362, data3: 17410, data4: [181, 236, 169, 42, 3, 103, 102, 75] }, pid: 13u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_CompositeFX_EndpointEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 15u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_CompositeFX_KeywordDetector_EndpointEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 18u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_CompositeFX_KeywordDetector_ModeEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 17u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_CompositeFX_KeywordDetector_StreamEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 16u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_CompositeFX_ModeEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 14u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_CompositeFX_Offload_ModeEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 20u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_CompositeFX_Offload_StreamEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 19u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_CompositeFX_StreamEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 13u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_EFX_KeywordDetector_ProcessingModes_Supported_For_Streaming: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3550034495, data2: 39362, data3: 17410, data4: [181, 236, 169, 42, 3, 103, 102, 75] }, pid: 10u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_EFX_ProcessingModes_Supported_For_Streaming: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3550034495, data2: 39362, data3: 17410, data4: [181, 236, 169, 42, 3, 103, 102, 75] }, pid: 7u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_FX_Association: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 0u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_FX_EndpointEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 7u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_FX_FriendlyName: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 4u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_FX_KeywordDetector_EndpointEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 10u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_FX_KeywordDetector_ModeEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 9u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_FX_KeywordDetector_StreamEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 8u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_FX_ModeEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 6u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_FX_Offload_ModeEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 12u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_FX_Offload_StreamEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 11u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_FX_PostMixEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 2u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_FX_PreMixEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 1u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_FX_StreamEffectClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 5u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_FX_UserInterfaceClsid: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3494774182, data2: 22859, data3: 20406, data4: [168, 13, 1, 175, 94, 237, 125, 29] }, pid: 3u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_MFX_KeywordDetector_ProcessingModes_Supported_For_Streaming: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3550034495, data2: 39362, data3: 17410, data4: [181, 236, 169, 42, 3, 103, 102, 75] }, pid: 9u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_MFX_Offload_ProcessingModes_Supported_For_Streaming: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3550034495, data2: 39362, data3: 17410, data4: [181, 236, 169, 42, 3, 103, 102, 75] }, pid: 12u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_MFX_ProcessingModes_Supported_For_Streaming: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3550034495, data2: 39362, data3: 17410, data4: [181, 236, 169, 42, 3, 103, 102, 75] }, pid: 6u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_SFX_KeywordDetector_ProcessingModes_Supported_For_Streaming: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3550034495, data2: 39362, data3: 17410, data4: [181, 236, 169, 42, 3, 103, 102, 75] }, pid: 8u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_SFX_Offload_ProcessingModes_Supported_For_Streaming: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3550034495, data2: 39362, data3: 17410, data4: [181, 236, 169, 42, 3, 103, 102, 75] }, pid: 11u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_SFX_ProcessingModes_Supported_For_Streaming: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3550034495, data2: 39362, data3: 17410, data4: [181, 236, 169, 42, 3, 103, 102, 75] }, pid: 5u32 };
+pub const SID_AudioProcessingObjectLoggingService: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2340423855, data2: 2553, data3: 17774, data4: [161, 115, 189, 181, 132, 153, 188, 231] };
+pub const SID_AudioProcessingObjectRTQueue: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1166809631, data2: 26777, data3: 19474, data4: [153, 172, 226, 230, 172, 37, 49, 4] };
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Apo\"`*"]
+pub struct UNCOMPRESSEDAUDIOFORMAT {
+ pub guidFormatType: ::windows_sys::core::GUID,
+ pub dwSamplesPerFrame: u32,
+ pub dwBytesPerSampleContainer: u32,
+ pub dwValidBitsPerSample: u32,
+ pub fFramesPerSecond: f32,
+ pub dwChannelMask: u32,
+}
+impl ::core::marker::Copy for UNCOMPRESSEDAUDIOFORMAT {}
+impl ::core::clone::Clone for UNCOMPRESSEDAUDIOFORMAT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
diff --git a/vendor/windows-sys/src/Windows/Win32/Media/Audio/DirectMusic/mod.rs b/vendor/windows-sys/src/Windows/Win32/Media/Audio/DirectMusic/mod.rs
new file mode 100644
index 000000000..3501eff15
--- /dev/null
+++ b/vendor/windows-sys/src/Windows/Win32/Media/Audio/DirectMusic/mod.rs
@@ -0,0 +1,1291 @@
+pub const CLSID_DirectMusic: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1667997456, data2: 3197, data3: 4561, data4: [149, 178, 0, 32, 175, 220, 116, 33] };
+pub const CLSID_DirectMusicCollection: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1209005232, data2: 10418, data3: 4561, data4: [190, 247, 0, 192, 79, 191, 143, 239] };
+pub const CLSID_DirectMusicSynth: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1489155280, data2: 18151, data3: 4561, data4: [137, 172, 0, 160, 201, 5, 65, 41] };
+pub const CLSID_DirectMusicSynthSink: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2931916003, data2: 42260, data3: 4561, data4: [175, 166, 0, 170, 0, 36, 216, 182] };
+pub const CLSID_DirectSoundPrivate: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 296435392, data2: 9708, data3: 4561, data4: [164, 216, 0, 192, 79, 194, 138, 202] };
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct CONNECTION {
+ pub usSource: u16,
+ pub usControl: u16,
+ pub usDestination: u16,
+ pub usTransform: u16,
+ pub lScale: i32,
+}
+impl ::core::marker::Copy for CONNECTION {}
+impl ::core::clone::Clone for CONNECTION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct CONNECTIONLIST {
+ pub cbSize: u32,
+ pub cConnections: u32,
+}
+impl ::core::marker::Copy for CONNECTIONLIST {}
+impl ::core::clone::Clone for CONNECTIONLIST {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_ATTENUATION: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_CENTER: u32 = 18u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_CHORUS: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_EG1_ATTACKTIME: u32 = 518u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_EG1_DECAYTIME: u32 = 519u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_EG1_DELAYTIME: u32 = 523u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_EG1_HOLDTIME: u32 = 524u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_EG1_RELEASETIME: u32 = 521u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_EG1_SHUTDOWNTIME: u32 = 525u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_EG1_SUSTAINLEVEL: u32 = 522u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_EG2_ATTACKTIME: u32 = 778u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_EG2_DECAYTIME: u32 = 779u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_EG2_DELAYTIME: u32 = 783u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_EG2_HOLDTIME: u32 = 784u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_EG2_RELEASETIME: u32 = 781u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_EG2_SUSTAINLEVEL: u32 = 782u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_FILTER_CUTOFF: u32 = 1280u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_FILTER_Q: u32 = 1281u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_GAIN: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_KEYNUMBER: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_LEFT: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_LEFTREAR: u32 = 19u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_LFE_CHANNEL: u32 = 21u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_LFO_FREQUENCY: u32 = 260u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_LFO_STARTDELAY: u32 = 261u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_NONE: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_PAN: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_PITCH: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_REVERB: u32 = 129u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_RIGHT: u32 = 17u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_RIGHTREAR: u32 = 20u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_VIB_FREQUENCY: u32 = 276u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_DST_VIB_STARTDELAY: u32 = 277u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_CC1: u32 = 129u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_CC10: u32 = 138u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_CC11: u32 = 139u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_CC7: u32 = 135u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_CC91: u32 = 219u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_CC93: u32 = 221u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_CHANNELPRESSURE: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_EG1: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_EG2: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_KEYNUMBER: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_KEYONVELOCITY: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_LFO: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_MONOPRESSURE: u32 = 10u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_NONE: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_PITCHWHEEL: u32 = 6u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_POLYPRESSURE: u32 = 7u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_SRC_VIBRATO: u32 = 9u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_TRN_CONCAVE: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_TRN_CONVEX: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_TRN_NONE: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const CONN_TRN_SWITCH: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN10_VOICE_PRIORITY_OFFSET: u32 = 15u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN11_VOICE_PRIORITY_OFFSET: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN12_VOICE_PRIORITY_OFFSET: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN13_VOICE_PRIORITY_OFFSET: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN14_VOICE_PRIORITY_OFFSET: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN15_VOICE_PRIORITY_OFFSET: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN16_VOICE_PRIORITY_OFFSET: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN1_VOICE_PRIORITY_OFFSET: u32 = 14u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN2_VOICE_PRIORITY_OFFSET: u32 = 13u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN3_VOICE_PRIORITY_OFFSET: u32 = 12u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN4_VOICE_PRIORITY_OFFSET: u32 = 11u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN5_VOICE_PRIORITY_OFFSET: u32 = 10u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN6_VOICE_PRIORITY_OFFSET: u32 = 9u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN7_VOICE_PRIORITY_OFFSET: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN8_VOICE_PRIORITY_OFFSET: u32 = 7u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CHAN9_VOICE_PRIORITY_OFFSET: u32 = 6u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_CRITICAL_VOICE_PRIORITY: u32 = 4026531840u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_HIGH_VOICE_PRIORITY: u32 = 3221225472u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_LOW_VOICE_PRIORITY: u32 = 1073741824u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_PERSIST_VOICE_PRIORITY: u32 = 268435456u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DAUD_STANDARD_VOICE_PRIORITY: u32 = 2147483648u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub type DIRECTSOUNDDEVICE_DATAFLOW = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DIRECTSOUNDDEVICE_DATAFLOW_RENDER: DIRECTSOUNDDEVICE_DATAFLOW = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE: DIRECTSOUNDDEVICE_DATAFLOW = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub type DIRECTSOUNDDEVICE_TYPE = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DIRECTSOUNDDEVICE_TYPE_EMULATED: DIRECTSOUNDDEVICE_TYPE = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DIRECTSOUNDDEVICE_TYPE_VXD: DIRECTSOUNDDEVICE_TYPE = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DIRECTSOUNDDEVICE_TYPE_WDM: DIRECTSOUNDDEVICE_TYPE = 2i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DLSHEADER {
+ pub cInstruments: u32,
+}
+impl ::core::marker::Copy for DLSHEADER {}
+impl ::core::clone::Clone for DLSHEADER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DLSID {
+ pub ulData1: u32,
+ pub usData2: u16,
+ pub usData3: u16,
+ pub abData4: [u8; 8],
+}
+impl ::core::marker::Copy for DLSID {}
+impl ::core::clone::Clone for DLSID {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+pub const DLSID_GMInHardware: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 395259684, data2: 50020, data3: 4561, data4: [167, 96, 0, 0, 248, 117, 172, 18] };
+pub const DLSID_GSInHardware: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 395259685, data2: 50020, data3: 4561, data4: [167, 96, 0, 0, 248, 117, 172, 18] };
+pub const DLSID_ManufacturersID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2956857729, data2: 32917, data3: 4562, data4: [161, 239, 0, 96, 8, 51, 219, 216] };
+pub const DLSID_ProductID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2956857730, data2: 32917, data3: 4562, data4: [161, 239, 0, 96, 8, 51, 219, 216] };
+pub const DLSID_SampleMemorySize: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 395259688, data2: 50020, data3: 4561, data4: [167, 96, 0, 0, 248, 117, 172, 18] };
+pub const DLSID_SamplePlaybackRate: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 714209043, data2: 42175, data3: 4562, data4: [187, 223, 0, 96, 8, 51, 219, 216] };
+pub const DLSID_SupportsDLS1: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 395259687, data2: 50020, data3: 4561, data4: [167, 96, 0, 0, 248, 117, 172, 18] };
+pub const DLSID_SupportsDLS2: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4047870437, data2: 18057, data3: 4562, data4: [175, 166, 0, 170, 0, 36, 216, 182] };
+pub const DLSID_XGInHardware: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 395259686, data2: 50020, data3: 4561, data4: [167, 96, 0, 0, 248, 117, 172, 18] };
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DLSVERSION {
+ pub dwVersionMS: u32,
+ pub dwVersionLS: u32,
+}
+impl ::core::marker::Copy for DLSVERSION {}
+impl ::core::clone::Clone for DLSVERSION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_ADD: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_AND: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_CONST: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_DIVIDE: u32 = 7u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_EQ: u32 = 14u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_GE: u32 = 13u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_GT: u32 = 12u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_LE: u32 = 11u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_LOGICAL_AND: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_LOGICAL_OR: u32 = 9u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_LT: u32 = 10u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_MULTIPLY: u32 = 6u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_NOT: u32 = 15u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_OR: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_QUERY: u32 = 17u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_QUERYSUPPORTED: u32 = 18u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_SUBTRACT: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DLS_CDL_XOR: u32 = 3u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_ARTICPARAMS {
+ pub LFO: DMUS_LFOPARAMS,
+ pub VolEG: DMUS_VEGPARAMS,
+ pub PitchEG: DMUS_PEGPARAMS,
+ pub Misc: DMUS_MSCPARAMS,
+}
+impl ::core::marker::Copy for DMUS_ARTICPARAMS {}
+impl ::core::clone::Clone for DMUS_ARTICPARAMS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_ARTICULATION {
+ pub ulArt1Idx: u32,
+ pub ulFirstExtCkIdx: u32,
+}
+impl ::core::marker::Copy for DMUS_ARTICULATION {}
+impl ::core::clone::Clone for DMUS_ARTICULATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_ARTICULATION2 {
+ pub ulArtIdx: u32,
+ pub ulFirstExtCkIdx: u32,
+ pub ulNextArtIdx: u32,
+}
+impl ::core::marker::Copy for DMUS_ARTICULATION2 {}
+impl ::core::clone::Clone for DMUS_ARTICULATION2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_BUFFERDESC {
+ pub dwSize: u32,
+ pub dwFlags: u32,
+ pub guidBufferFormat: ::windows_sys::core::GUID,
+ pub cbBuffer: u32,
+}
+impl ::core::marker::Copy for DMUS_BUFFERDESC {}
+impl ::core::clone::Clone for DMUS_BUFFERDESC {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_CLOCKF_GLOBAL: u32 = 1u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_CLOCKINFO7 {
+ pub dwSize: u32,
+ pub ctType: DMUS_CLOCKTYPE,
+ pub guidClock: ::windows_sys::core::GUID,
+ pub wszDescription: [u16; 128],
+}
+impl ::core::marker::Copy for DMUS_CLOCKINFO7 {}
+impl ::core::clone::Clone for DMUS_CLOCKINFO7 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_CLOCKINFO8 {
+ pub dwSize: u32,
+ pub ctType: DMUS_CLOCKTYPE,
+ pub guidClock: ::windows_sys::core::GUID,
+ pub wszDescription: [u16; 128],
+ pub dwFlags: u32,
+}
+impl ::core::marker::Copy for DMUS_CLOCKINFO8 {}
+impl ::core::clone::Clone for DMUS_CLOCKINFO8 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub type DMUS_CLOCKTYPE = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_CLOCK_SYSTEM: DMUS_CLOCKTYPE = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_CLOCK_WAVE: DMUS_CLOCKTYPE = 1i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_COPYRIGHT {
+ pub cbSize: u32,
+ pub byCopyright: [u8; 4],
+}
+impl ::core::marker::Copy for DMUS_COPYRIGHT {}
+impl ::core::clone::Clone for DMUS_COPYRIGHT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_DEFAULT_SIZE_OFFSETTABLE: u32 = 1u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_DOWNLOADINFO {
+ pub dwDLType: u32,
+ pub dwDLId: u32,
+ pub dwNumOffsetTableEntries: u32,
+ pub cbSize: u32,
+}
+impl ::core::marker::Copy for DMUS_DOWNLOADINFO {}
+impl ::core::clone::Clone for DMUS_DOWNLOADINFO {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_DOWNLOADINFO_INSTRUMENT: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_DOWNLOADINFO_INSTRUMENT2: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_DOWNLOADINFO_ONESHOTWAVE: u32 = 6u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_DOWNLOADINFO_STREAMINGWAVE: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_DOWNLOADINFO_WAVE: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_DOWNLOADINFO_WAVEARTICULATION: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_EFFECT_CHORUS: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_EFFECT_DELAY: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_EFFECT_NONE: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_EFFECT_REVERB: u32 = 1u32;
+#[repr(C, packed(4))]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_EVENTHEADER {
+ pub cbEvent: u32,
+ pub dwChannelGroup: u32,
+ pub rtDelta: i64,
+ pub dwFlags: u32,
+}
+impl ::core::marker::Copy for DMUS_EVENTHEADER {}
+impl ::core::clone::Clone for DMUS_EVENTHEADER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_EVENT_STRUCTURED: u32 = 1u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_EXTENSIONCHUNK {
+ pub cbSize: u32,
+ pub ulNextExtCkIdx: u32,
+ pub ExtCkID: u32,
+ pub byExtCk: [u8; 4],
+}
+impl ::core::marker::Copy for DMUS_EXTENSIONCHUNK {}
+impl ::core::clone::Clone for DMUS_EXTENSIONCHUNK {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_INSTRUMENT {
+ pub ulPatch: u32,
+ pub ulFirstRegionIdx: u32,
+ pub ulGlobalArtIdx: u32,
+ pub ulFirstExtCkIdx: u32,
+ pub ulCopyrightIdx: u32,
+ pub ulFlags: u32,
+}
+impl ::core::marker::Copy for DMUS_INSTRUMENT {}
+impl ::core::clone::Clone for DMUS_INSTRUMENT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_INSTRUMENT_GM_INSTRUMENT: u32 = 1u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_LFOPARAMS {
+ pub pcFrequency: i32,
+ pub tcDelay: i32,
+ pub gcVolumeScale: i32,
+ pub pcPitchScale: i32,
+ pub gcMWToVolume: i32,
+ pub pcMWToPitch: i32,
+}
+impl ::core::marker::Copy for DMUS_LFOPARAMS {}
+impl ::core::clone::Clone for DMUS_LFOPARAMS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_MAX_DESCRIPTION: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_MAX_DRIVER: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_MIN_DATA_SIZE: u32 = 4u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_MSCPARAMS {
+ pub ptDefaultPan: i32,
+}
+impl ::core::marker::Copy for DMUS_MSCPARAMS {}
+impl ::core::clone::Clone for DMUS_MSCPARAMS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_NOTERANGE {
+ pub dwLowNote: u32,
+ pub dwHighNote: u32,
+}
+impl ::core::marker::Copy for DMUS_NOTERANGE {}
+impl ::core::clone::Clone for DMUS_NOTERANGE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_OFFSETTABLE {
+ pub ulOffsetTable: [u32; 1],
+}
+impl ::core::marker::Copy for DMUS_OFFSETTABLE {}
+impl ::core::clone::Clone for DMUS_OFFSETTABLE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_AUDIOPATH: u32 = 1024u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_DIRECTSOUND: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_DLS: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_DLS2: u32 = 512u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_EXTERNAL: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_GMINHARDWARE: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_GSINHARDWARE: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_INPUTCLASS: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_MEMORYSIZEFIXED: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_OUTPUTCLASS: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_SHAREABLE: u32 = 256u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_SOFTWARESYNTH: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_SYSTEMMEMORY: u32 = 2147483647u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_WAVE: u32 = 2048u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PC_XGINHARDWARE: u32 = 64u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_PEGPARAMS {
+ pub tcAttack: i32,
+ pub tcDecay: i32,
+ pub ptSustain: i32,
+ pub tcRelease: i32,
+ pub tcVel2Attack: i32,
+ pub tcKey2Decay: i32,
+ pub pcRange: i32,
+}
+impl ::core::marker::Copy for DMUS_PEGPARAMS {}
+impl ::core::clone::Clone for DMUS_PEGPARAMS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_PORTCAPS {
+ pub dwSize: u32,
+ pub dwFlags: u32,
+ pub guidPort: ::windows_sys::core::GUID,
+ pub dwClass: u32,
+ pub dwType: u32,
+ pub dwMemorySize: u32,
+ pub dwMaxChannelGroups: u32,
+ pub dwMaxVoices: u32,
+ pub dwMaxAudioChannels: u32,
+ pub dwEffectFlags: u32,
+ pub wszDescription: [u16; 128],
+}
+impl ::core::marker::Copy for DMUS_PORTCAPS {}
+impl ::core::clone::Clone for DMUS_PORTCAPS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct DMUS_PORTPARAMS8 {
+ pub dwSize: u32,
+ pub dwValidParams: u32,
+ pub dwVoices: u32,
+ pub dwChannelGroups: u32,
+ pub dwAudioChannels: u32,
+ pub dwSampleRate: u32,
+ pub dwEffectFlags: u32,
+ pub fShare: super::super::super::Foundation::BOOL,
+ pub dwFeatures: u32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for DMUS_PORTPARAMS8 {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for DMUS_PORTPARAMS8 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PORTPARAMS_AUDIOCHANNELS: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PORTPARAMS_CHANNELGROUPS: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PORTPARAMS_EFFECTS: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PORTPARAMS_FEATURES: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PORTPARAMS_SAMPLERATE: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PORTPARAMS_SHARE: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PORTPARAMS_VOICES: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PORT_FEATURE_AUDIOPATH: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PORT_FEATURE_STREAMING: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PORT_KERNEL_MODE: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PORT_USER_MODE_SYNTH: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_PORT_WINMM_DRIVER: u32 = 0u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_REGION {
+ pub RangeKey: RGNRANGE,
+ pub RangeVelocity: RGNRANGE,
+ pub fusOptions: u16,
+ pub usKeyGroup: u16,
+ pub ulRegionArtIdx: u32,
+ pub ulNextRegionIdx: u32,
+ pub ulFirstExtCkIdx: u32,
+ pub WaveLink: WAVELINK,
+ pub WSMP: _rwsmp,
+ pub WLOOP: [_rloop; 1],
+}
+impl ::core::marker::Copy for DMUS_REGION {}
+impl ::core::clone::Clone for DMUS_REGION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_SYNTHSTATS {
+ pub dwSize: u32,
+ pub dwValidStats: u32,
+ pub dwVoices: u32,
+ pub dwTotalCPU: u32,
+ pub dwCPUPerVoice: u32,
+ pub dwLostNotes: u32,
+ pub dwFreeMemory: u32,
+ pub lPeakVolume: i32,
+}
+impl ::core::marker::Copy for DMUS_SYNTHSTATS {}
+impl ::core::clone::Clone for DMUS_SYNTHSTATS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_SYNTHSTATS8 {
+ pub dwSize: u32,
+ pub dwValidStats: u32,
+ pub dwVoices: u32,
+ pub dwTotalCPU: u32,
+ pub dwCPUPerVoice: u32,
+ pub dwLostNotes: u32,
+ pub dwFreeMemory: u32,
+ pub lPeakVolume: i32,
+ pub dwSynthMemUse: u32,
+}
+impl ::core::marker::Copy for DMUS_SYNTHSTATS8 {}
+impl ::core::clone::Clone for DMUS_SYNTHSTATS8 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_SYNTHSTATS_CPU_PER_VOICE: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_SYNTHSTATS_FREE_MEMORY: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_SYNTHSTATS_LOST_NOTES: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_SYNTHSTATS_PEAK_VOLUME: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_SYNTHSTATS_SYSTEMMEMORY: u32 = 2147483647u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_SYNTHSTATS_TOTAL_CPU: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_SYNTHSTATS_VOICES: u32 = 1u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_VEGPARAMS {
+ pub tcAttack: i32,
+ pub tcDecay: i32,
+ pub ptSustain: i32,
+ pub tcRelease: i32,
+ pub tcVel2Attack: i32,
+ pub tcKey2Decay: i32,
+}
+impl ::core::marker::Copy for DMUS_VEGPARAMS {}
+impl ::core::clone::Clone for DMUS_VEGPARAMS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct DMUS_VOICE_STATE {
+ pub bExists: super::super::super::Foundation::BOOL,
+ pub spPosition: u64,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for DMUS_VOICE_STATE {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for DMUS_VOICE_STATE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_VOLUME_MAX: u32 = 2000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DMUS_VOLUME_MIN: i32 = -20000i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_WAVE {
+ pub ulFirstExtCkIdx: u32,
+ pub ulCopyrightIdx: u32,
+ pub ulWaveDataIdx: u32,
+ pub WaveformatEx: super::WAVEFORMATEX,
+}
+impl ::core::marker::Copy for DMUS_WAVE {}
+impl ::core::clone::Clone for DMUS_WAVE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_WAVEARTDL {
+ pub ulDownloadIdIdx: u32,
+ pub ulBus: u32,
+ pub ulBuffers: u32,
+ pub ulMasterDLId: u32,
+ pub usOptions: u16,
+}
+impl ::core::marker::Copy for DMUS_WAVEARTDL {}
+impl ::core::clone::Clone for DMUS_WAVEARTDL {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_WAVEDATA {
+ pub cbSize: u32,
+ pub byData: [u8; 4],
+}
+impl ::core::marker::Copy for DMUS_WAVEDATA {}
+impl ::core::clone::Clone for DMUS_WAVEDATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_WAVEDL {
+ pub cbWaveData: u32,
+}
+impl ::core::marker::Copy for DMUS_WAVEDL {}
+impl ::core::clone::Clone for DMUS_WAVEDL {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DMUS_WAVES_REVERB_PARAMS {
+ pub fInGain: f32,
+ pub fReverbMix: f32,
+ pub fReverbTime: f32,
+ pub fHighFreqRTRatio: f32,
+}
+impl ::core::marker::Copy for DMUS_WAVES_REVERB_PARAMS {}
+impl ::core::clone::Clone for DMUS_WAVES_REVERB_PARAMS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_BACK_CENTER: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_BACK_LEFT: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_BACK_RIGHT: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_CHORUS_SEND: u32 = 65u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_DYNAMIC_0: u32 = 512u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_FIRST_SPKR_LOC: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_FRONT_CENTER: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_FRONT_LEFT: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_FRONT_LEFT_OF_CENTER: u32 = 6u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_FRONT_RIGHT: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_FRONT_RIGHT_OF_CENTER: u32 = 7u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_LAST_SPKR_LOC: u32 = 17u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_LEFT: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_LOW_FREQUENCY: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_NULL: u32 = 4294967295u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_REVERB_SEND: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_RIGHT: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_SIDE_LEFT: u32 = 9u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_SIDE_RIGHT: u32 = 10u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_TOP_BACK_CENTER: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_TOP_BACK_LEFT: u32 = 15u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_TOP_BACK_RIGHT: u32 = 17u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_TOP_CENTER: u32 = 11u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_TOP_FRONT_CENTER: u32 = 13u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_TOP_FRONT_LEFT: u32 = 12u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSBUSID_TOP_FRONT_RIGHT: u32 = 14u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub type DSPROPERTY_DIRECTSOUNDDEVICE = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A: DSPROPERTY_DIRECTSOUNDDEVICE = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1: DSPROPERTY_DIRECTSOUNDDEVICE = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1: DSPROPERTY_DIRECTSOUNDDEVICE = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W: DSPROPERTY_DIRECTSOUNDDEVICE = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A: DSPROPERTY_DIRECTSOUNDDEVICE = 5i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W: DSPROPERTY_DIRECTSOUNDDEVICE = 6i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A: DSPROPERTY_DIRECTSOUNDDEVICE = 7i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W: DSPROPERTY_DIRECTSOUNDDEVICE = 8i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA {
+ pub DeviceId: ::windows_sys::core::GUID,
+ pub DescriptionA: [super::super::super::Foundation::CHAR; 256],
+ pub DescriptionW: [u16; 256],
+ pub ModuleA: [super::super::super::Foundation::CHAR; 260],
+ pub ModuleW: [u16; 260],
+ pub Type: DIRECTSOUNDDEVICE_TYPE,
+ pub DataFlow: DIRECTSOUNDDEVICE_DATAFLOW,
+ pub WaveDeviceId: u32,
+ pub Devnode: u32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA {
+ pub Type: DIRECTSOUNDDEVICE_TYPE,
+ pub DataFlow: DIRECTSOUNDDEVICE_DATAFLOW,
+ pub DeviceId: ::windows_sys::core::GUID,
+ pub Description: ::windows_sys::core::PSTR,
+ pub Module: ::windows_sys::core::PSTR,
+ pub Interface: ::windows_sys::core::PSTR,
+ pub WaveDeviceId: u32,
+}
+impl ::core::marker::Copy for DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA {}
+impl ::core::clone::Clone for DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA {
+ pub Type: DIRECTSOUNDDEVICE_TYPE,
+ pub DataFlow: DIRECTSOUNDDEVICE_DATAFLOW,
+ pub DeviceId: ::windows_sys::core::GUID,
+ pub Description: ::windows_sys::core::PWSTR,
+ pub Module: ::windows_sys::core::PWSTR,
+ pub Interface: ::windows_sys::core::PWSTR,
+ pub WaveDeviceId: u32,
+}
+impl ::core::marker::Copy for DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA {}
+impl ::core::clone::Clone for DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA {
+ pub Callback: LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1,
+ pub Context: *mut ::core::ffi::c_void,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA {
+ pub Callback: LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA,
+ pub Context: *mut ::core::ffi::c_void,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA {
+ pub Callback: LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW,
+ pub Context: *mut ::core::ffi::c_void,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA {
+ pub DeviceName: ::windows_sys::core::PSTR,
+ pub DataFlow: DIRECTSOUNDDEVICE_DATAFLOW,
+ pub DeviceId: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA {}
+impl ::core::clone::Clone for DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA {
+ pub DeviceName: ::windows_sys::core::PWSTR,
+ pub DataFlow: DIRECTSOUNDDEVICE_DATAFLOW,
+ pub DeviceId: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA {}
+impl ::core::clone::Clone for DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+pub const DSPROPSETID_DirectSoundDevice: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2221035394, data2: 9708, data3: 4561, data4: [164, 216, 0, 192, 79, 194, 138, 202] };
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_AUDIOMODE: u32 = 3840u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_AUDIOQU: u32 = 117440512u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_AUDIOSMP: u32 = 939524096u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_CAP_AUD12Bits: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_CAP_AUD16Bits: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_DVSD_NTSC_FRAMESIZE: i32 = 120000i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_DVSD_PAL_FRAMESIZE: i32 = 144000i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_HD: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_NTSC: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_NTSCPAL: u32 = 2097152u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_PAL: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_SD: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_SL: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_SMCHN: u32 = 57344u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const DV_STYPE: u32 = 2031616u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const F_INSTRUMENT_DRUMS: u32 = 2147483648u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const F_RGN_OPTION_SELFNONEXCLUSIVE: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const F_WAVELINK_MULTICHANNEL: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const F_WAVELINK_PHASE_MASTER: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const F_WSMP_NO_COMPRESSION: i32 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const F_WSMP_NO_TRUNCATION: i32 = 1i32;
+pub const GUID_DMUS_PROP_DLS1: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 395259687, data2: 50020, data3: 4561, data4: [167, 96, 0, 0, 248, 117, 172, 18] };
+pub const GUID_DMUS_PROP_DLS2: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4047870437, data2: 18057, data3: 4562, data4: [175, 166, 0, 170, 0, 36, 216, 182] };
+pub const GUID_DMUS_PROP_Effects: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3450394129, data2: 26698, data3: 4562, data4: [135, 30, 0, 96, 8, 147, 177, 189] };
+pub const GUID_DMUS_PROP_GM_Hardware: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 395259684, data2: 50020, data3: 4561, data4: [167, 96, 0, 0, 248, 117, 172, 18] };
+pub const GUID_DMUS_PROP_GS_Capable: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1687595938, data2: 25008, data3: 4562, data4: [175, 166, 0, 170, 0, 36, 216, 182] };
+pub const GUID_DMUS_PROP_GS_Hardware: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 395259685, data2: 50020, data3: 4561, data4: [167, 96, 0, 0, 248, 117, 172, 18] };
+pub const GUID_DMUS_PROP_INSTRUMENT2: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2254426994, data2: 40807, data3: 4562, data4: [135, 42, 0, 96, 8, 147, 177, 189] };
+pub const GUID_DMUS_PROP_LegacyCaps: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3483880898, data2: 161, data3: 4562, data4: [170, 213, 0, 0, 248, 117, 172, 18] };
+pub const GUID_DMUS_PROP_MemorySize: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 395259688, data2: 50020, data3: 4561, data4: [167, 96, 0, 0, 248, 117, 172, 18] };
+pub const GUID_DMUS_PROP_SampleMemorySize: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 395259688, data2: 50020, data3: 4561, data4: [167, 96, 0, 0, 248, 117, 172, 18] };
+pub const GUID_DMUS_PROP_SamplePlaybackRate: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 714209043, data2: 42175, data3: 4562, data4: [187, 223, 0, 96, 8, 51, 219, 216] };
+pub const GUID_DMUS_PROP_SetSynthSink: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 171596709, data2: 14262, data3: 4562, data4: [185, 249, 0, 0, 248, 117, 172, 18] };
+pub const GUID_DMUS_PROP_SinkUsesDSound: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3189803095, data2: 35154, data3: 4562, data4: [186, 28, 0, 0, 248, 117, 172, 18] };
+pub const GUID_DMUS_PROP_SynthSink_DSOUND: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 178878532, data2: 51319, data3: 4561, data4: [135, 12, 0, 96, 8, 147, 177, 189] };
+pub const GUID_DMUS_PROP_SynthSink_WAVE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 178878533, data2: 51319, data3: 4561, data4: [135, 12, 0, 96, 8, 147, 177, 189] };
+pub const GUID_DMUS_PROP_Volume: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4276071973, data2: 58478, data3: 4561, data4: [170, 206, 0, 0, 248, 117, 172, 18] };
+pub const GUID_DMUS_PROP_WavesReverb: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 80434722, data2: 13029, data3: 4562, data4: [175, 166, 0, 170, 0, 36, 216, 182] };
+pub const GUID_DMUS_PROP_WriteLatency: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 646582176, data2: 24818, data3: 4562, data4: [175, 166, 0, 170, 0, 36, 216, 182] };
+pub const GUID_DMUS_PROP_WritePeriod: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 646582177, data2: 24818, data3: 4562, data4: [175, 166, 0, 170, 0, 36, 216, 182] };
+pub const GUID_DMUS_PROP_XG_Capable: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1687595937, data2: 25008, data3: 4562, data4: [175, 166, 0, 170, 0, 36, 216, 182] };
+pub const GUID_DMUS_PROP_XG_Hardware: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 395259686, data2: 50020, data3: 4561, data4: [167, 96, 0, 0, 248, 117, 172, 18] };
+pub type IDirectMusic = *mut ::core::ffi::c_void;
+pub type IDirectMusic8 = *mut ::core::ffi::c_void;
+pub type IDirectMusicBuffer = *mut ::core::ffi::c_void;
+pub type IDirectMusicCollection = *mut ::core::ffi::c_void;
+pub type IDirectMusicDownload = *mut ::core::ffi::c_void;
+pub type IDirectMusicDownloadedInstrument = *mut ::core::ffi::c_void;
+pub type IDirectMusicInstrument = *mut ::core::ffi::c_void;
+pub type IDirectMusicPort = *mut ::core::ffi::c_void;
+pub type IDirectMusicPortDownload = *mut ::core::ffi::c_void;
+pub type IDirectMusicSynth = *mut ::core::ffi::c_void;
+pub type IDirectMusicSynth8 = *mut ::core::ffi::c_void;
+pub type IDirectMusicSynthSink = *mut ::core::ffi::c_void;
+pub type IDirectMusicThru = *mut ::core::ffi::c_void;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct INSTHEADER {
+ pub cRegions: u32,
+ pub Locale: MIDILOCALE,
+}
+impl ::core::marker::Copy for INSTHEADER {}
+impl ::core::clone::Clone for INSTHEADER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1 = ::core::option::Option<unsafe extern "system" fn(param0: *mut DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA, param1: *mut ::core::ffi::c_void) -> super::super::super::Foundation::BOOL>;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA = ::core::option::Option<unsafe extern "system" fn(param0: *mut DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA, param1: *mut ::core::ffi::c_void) -> super::super::super::Foundation::BOOL>;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW = ::core::option::Option<unsafe extern "system" fn(param0: *mut DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA, param1: *mut ::core::ffi::c_void) -> super::super::super::Foundation::BOOL>;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct MDEVICECAPSEX {
+ pub cbSize: u32,
+ pub pCaps: *mut ::core::ffi::c_void,
+}
+impl ::core::marker::Copy for MDEVICECAPSEX {}
+impl ::core::clone::Clone for MDEVICECAPSEX {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct MIDILOCALE {
+ pub ulBank: u32,
+ pub ulInstrument: u32,
+}
+impl ::core::marker::Copy for MIDILOCALE {}
+impl ::core::clone::Clone for MIDILOCALE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`, `\"Win32_Media_Multimedia\"`*"]
+#[cfg(feature = "Win32_Media_Multimedia")]
+pub struct MIDIOPENDESC {
+ pub hMidi: super::HMIDI,
+ pub dwCallback: usize,
+ pub dwInstance: usize,
+ pub dnDevNode: usize,
+ pub cIds: u32,
+ pub rgIds: [super::super::Multimedia::MIDIOPENSTRMID; 1],
+}
+#[cfg(feature = "Win32_Media_Multimedia")]
+impl ::core::marker::Copy for MIDIOPENDESC {}
+#[cfg(feature = "Win32_Media_Multimedia")]
+impl ::core::clone::Clone for MIDIOPENDESC {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct POOLCUE {
+ pub ulOffset: u32,
+}
+impl ::core::marker::Copy for POOLCUE {}
+impl ::core::clone::Clone for POOLCUE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct POOLTABLE {
+ pub cbSize: u32,
+ pub cCues: u32,
+}
+impl ::core::marker::Copy for POOLTABLE {}
+impl ::core::clone::Clone for POOLTABLE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const POOL_CUE_NULL: i32 = -1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const REFRESH_F_LASTBUFFER: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const REGSTR_PATH_SOFTWARESYNTHS: &str = "Software\\Microsoft\\DirectMusic\\SoftwareSynths";
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct RGNHEADER {
+ pub RangeKey: RGNRANGE,
+ pub RangeVelocity: RGNRANGE,
+ pub fusOptions: u16,
+ pub usKeyGroup: u16,
+}
+impl ::core::marker::Copy for RGNHEADER {}
+impl ::core::clone::Clone for RGNHEADER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct RGNRANGE {
+ pub usLow: u16,
+ pub usHigh: u16,
+}
+impl ::core::marker::Copy for RGNRANGE {}
+impl ::core::clone::Clone for RGNRANGE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const SIZE_DVINFO: u32 = 32u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct Tag_DVAudInfo {
+ pub bAudStyle: [u8; 2],
+ pub bAudQu: [u8; 2],
+ pub bNumAudPin: u8,
+ pub wAvgSamplesPerPinPerFrm: [u16; 2],
+ pub wBlkMode: u16,
+ pub wDIFMode: u16,
+ pub wBlkDiv: u16,
+}
+impl ::core::marker::Copy for Tag_DVAudInfo {}
+impl ::core::clone::Clone for Tag_DVAudInfo {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct WAVELINK {
+ pub fusOptions: u16,
+ pub usPhaseGroup: u16,
+ pub ulChannel: u32,
+ pub ulTableIndex: u32,
+}
+impl ::core::marker::Copy for WAVELINK {}
+impl ::core::clone::Clone for WAVELINK {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const WAVELINK_CHANNEL_LEFT: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const WAVELINK_CHANNEL_RIGHT: i32 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const WLOOP_TYPE_FORWARD: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub const WLOOP_TYPE_RELEASE: u32 = 2u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct _DMUS_PORTPARAMS {
+ pub dwSize: u32,
+ pub dwValidParams: u32,
+ pub dwVoices: u32,
+ pub dwChannelGroups: u32,
+ pub dwAudioChannels: u32,
+ pub dwSampleRate: u32,
+ pub dwEffectFlags: u32,
+ pub fShare: super::super::super::Foundation::BOOL,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for _DMUS_PORTPARAMS {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for _DMUS_PORTPARAMS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct _rloop {
+ pub cbSize: u32,
+ pub ulType: u32,
+ pub ulStart: u32,
+ pub ulLength: u32,
+}
+impl ::core::marker::Copy for _rloop {}
+impl ::core::clone::Clone for _rloop {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectMusic\"`*"]
+pub struct _rwsmp {
+ pub cbSize: u32,
+ pub usUnityNote: u16,
+ pub sFineTune: i16,
+ pub lAttenuation: i32,
+ pub fulOptions: u32,
+ pub cSampleLoops: u32,
+}
+impl ::core::marker::Copy for _rwsmp {}
+impl ::core::clone::Clone for _rwsmp {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
diff --git a/vendor/windows-sys/src/Windows/Win32/Media/Audio/DirectSound/mod.rs b/vendor/windows-sys/src/Windows/Win32/Media/Audio/DirectSound/mod.rs
new file mode 100644
index 000000000..7201bdb25
--- /dev/null
+++ b/vendor/windows-sys/src/Windows/Win32/Media/Audio/DirectSound/mod.rs
@@ -0,0 +1,1079 @@
+#[link(name = "windows")]
+extern "system" {
+ #[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+ pub fn DirectSoundCaptureCreate(pcguiddevice: *const ::windows_sys::core::GUID, ppdsc: *mut IDirectSoundCapture, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+ pub fn DirectSoundCaptureCreate8(pcguiddevice: *const ::windows_sys::core::GUID, ppdsc8: *mut IDirectSoundCapture, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn DirectSoundCaptureEnumerateA(pdsenumcallback: LPDSENUMCALLBACKA, pcontext: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn DirectSoundCaptureEnumerateW(pdsenumcallback: LPDSENUMCALLBACKW, pcontext: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+ pub fn DirectSoundCreate(pcguiddevice: *const ::windows_sys::core::GUID, ppds: *mut IDirectSound, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+ pub fn DirectSoundCreate8(pcguiddevice: *const ::windows_sys::core::GUID, ppds8: *mut IDirectSound8, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn DirectSoundEnumerateA(pdsenumcallback: LPDSENUMCALLBACKA, pcontext: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn DirectSoundEnumerateW(pdsenumcallback: LPDSENUMCALLBACKW, pcontext: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn DirectSoundFullDuplexCreate(pcguidcapturedevice: *const ::windows_sys::core::GUID, pcguidrenderdevice: *const ::windows_sys::core::GUID, pcdscbufferdesc: *const DSCBUFFERDESC, pcdsbufferdesc: *const DSBUFFERDESC, hwnd: super::super::super::Foundation::HWND, dwlevel: u32, ppdsfd: *mut IDirectSoundFullDuplex, ppdscbuffer8: *mut IDirectSoundCaptureBuffer8, ppdsbuffer8: *mut IDirectSoundBuffer8, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+ pub fn GetDeviceID(pguidsrc: *const ::windows_sys::core::GUID, pguiddest: *mut ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
+}
+pub const CLSID_DirectSound: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1205131590, data2: 25320, data3: 4559, data4: [147, 188, 68, 69, 83, 84, 0, 0] };
+pub const CLSID_DirectSound8: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 956419135, data2: 33973, data3: 20388, data4: [186, 53, 170, 129, 114, 184, 160, 155] };
+pub const CLSID_DirectSoundCapture: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2954954624, data2: 35277, data3: 4560, data4: [175, 8, 0, 160, 201, 37, 205, 22] };
+pub const CLSID_DirectSoundCapture8: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3837570067, data2: 32665, data3: 18696, data4: [154, 142, 116, 227, 191, 36, 182, 225] };
+pub const CLSID_DirectSoundFullDuplex: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4272173068, data2: 31065, data3: 16711, data4: [178, 106, 35, 119, 185, 231, 169, 29] };
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DIRECTSOUND_VERSION: u32 = 1792u32;
+pub const DS3DALG_HRTF_FULL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3259052864, data2: 7195, data3: 4562, data4: [148, 245, 0, 192, 79, 194, 138, 202] };
+pub const DS3DALG_HRTF_LIGHT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3259052866, data2: 7195, data3: 4562, data4: [148, 245, 0, 192, 79, 194, 138, 202] };
+pub const DS3DALG_NO_VIRTUALIZATION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3259052863, data2: 7195, data3: 4562, data4: [148, 245, 0, 192, 79, 194, 138, 202] };
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`, `\"Win32_Graphics_Direct3D\"`*"]
+#[cfg(feature = "Win32_Graphics_Direct3D")]
+pub struct DS3DBUFFER {
+ pub dwSize: u32,
+ pub vPosition: super::super::super::Graphics::Direct3D::D3DVECTOR,
+ pub vVelocity: super::super::super::Graphics::Direct3D::D3DVECTOR,
+ pub dwInsideConeAngle: u32,
+ pub dwOutsideConeAngle: u32,
+ pub vConeOrientation: super::super::super::Graphics::Direct3D::D3DVECTOR,
+ pub lConeOutsideVolume: i32,
+ pub flMinDistance: f32,
+ pub flMaxDistance: f32,
+ pub dwMode: u32,
+}
+#[cfg(feature = "Win32_Graphics_Direct3D")]
+impl ::core::marker::Copy for DS3DBUFFER {}
+#[cfg(feature = "Win32_Graphics_Direct3D")]
+impl ::core::clone::Clone for DS3DBUFFER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`, `\"Win32_Graphics_Direct3D\"`*"]
+#[cfg(feature = "Win32_Graphics_Direct3D")]
+pub struct DS3DLISTENER {
+ pub dwSize: u32,
+ pub vPosition: super::super::super::Graphics::Direct3D::D3DVECTOR,
+ pub vVelocity: super::super::super::Graphics::Direct3D::D3DVECTOR,
+ pub vOrientFront: super::super::super::Graphics::Direct3D::D3DVECTOR,
+ pub vOrientTop: super::super::super::Graphics::Direct3D::D3DVECTOR,
+ pub flDistanceFactor: f32,
+ pub flRolloffFactor: f32,
+ pub flDopplerFactor: f32,
+}
+#[cfg(feature = "Win32_Graphics_Direct3D")]
+impl ::core::marker::Copy for DS3DLISTENER {}
+#[cfg(feature = "Win32_Graphics_Direct3D")]
+impl ::core::clone::Clone for DS3DLISTENER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3DMODE_DISABLE: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3DMODE_HEADRELATIVE: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3DMODE_NORMAL: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_DEFAULTCONEANGLE: u32 = 360u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_DEFAULTCONEOUTSIDEVOLUME: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_DEFAULTDISTANCEFACTOR: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_DEFAULTDOPPLERFACTOR: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_DEFAULTMAXDISTANCE: f32 = 1000000000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_DEFAULTMINDISTANCE: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_DEFAULTROLLOFFFACTOR: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_DEFERRED: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_IMMEDIATE: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_MAXCONEANGLE: u32 = 360u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_MAXDOPPLERFACTOR: f32 = 10f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_MAXROLLOFFFACTOR: f32 = 10f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_MINCONEANGLE: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_MINDOPPLERFACTOR: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS3D_MINROLLOFFFACTOR: f32 = 0f32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSBCAPS {
+ pub dwSize: u32,
+ pub dwFlags: u32,
+ pub dwBufferBytes: u32,
+ pub dwUnlockTransferRate: u32,
+ pub dwPlayCpuOverhead: u32,
+}
+impl ::core::marker::Copy for DSBCAPS {}
+impl ::core::clone::Clone for DSBCAPS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_CTRL3D: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_CTRLFREQUENCY: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_CTRLFX: u32 = 512u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_CTRLPAN: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_CTRLPOSITIONNOTIFY: u32 = 256u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_CTRLVOLUME: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_GETCURRENTPOSITION2: u32 = 65536u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_GLOBALFOCUS: u32 = 32768u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_LOCDEFER: u32 = 262144u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_LOCHARDWARE: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_LOCSOFTWARE: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_MUTE3DATMAXDISTANCE: u32 = 131072u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_PRIMARYBUFFER: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_STATIC: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_STICKYFOCUS: u32 = 16384u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBCAPS_TRUEPLAYPOSITION: u32 = 524288u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBFREQUENCY_MAX: u32 = 200000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBFREQUENCY_MIN: u32 = 100u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBFREQUENCY_ORIGINAL: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBLOCK_ENTIREBUFFER: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBLOCK_FROMWRITECURSOR: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBNOTIFICATIONS_MAX: u32 = 100000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBPAN_CENTER: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBPAN_LEFT: i32 = -10000i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBPAN_RIGHT: u32 = 10000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBPLAY_LOCHARDWARE: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBPLAY_LOCSOFTWARE: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBPLAY_LOOPING: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBPLAY_TERMINATEBY_DISTANCE: u64 = 16u64;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBPLAY_TERMINATEBY_PRIORITY: u64 = 32u64;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBPLAY_TERMINATEBY_TIME: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBPN_OFFSETSTOP: u32 = 4294967295u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct DSBPOSITIONNOTIFY {
+ pub dwOffset: u32,
+ pub hEventNotify: super::super::super::Foundation::HANDLE,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for DSBPOSITIONNOTIFY {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for DSBPOSITIONNOTIFY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBSIZE_FX_MIN: u32 = 150u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBSIZE_MAX: u32 = 268435455u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBSIZE_MIN: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBSTATUS_BUFFERLOST: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBSTATUS_LOCHARDWARE: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBSTATUS_LOCSOFTWARE: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBSTATUS_LOOPING: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBSTATUS_PLAYING: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBSTATUS_TERMINATED: u32 = 32u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSBUFFERDESC {
+ pub dwSize: u32,
+ pub dwFlags: u32,
+ pub dwBufferBytes: u32,
+ pub dwReserved: u32,
+ pub lpwfxFormat: *mut super::WAVEFORMATEX,
+ pub guid3DAlgorithm: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for DSBUFFERDESC {}
+impl ::core::clone::Clone for DSBUFFERDESC {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSBUFFERDESC1 {
+ pub dwSize: u32,
+ pub dwFlags: u32,
+ pub dwBufferBytes: u32,
+ pub dwReserved: u32,
+ pub lpwfxFormat: *mut super::WAVEFORMATEX,
+}
+impl ::core::marker::Copy for DSBUFFERDESC1 {}
+impl ::core::clone::Clone for DSBUFFERDESC1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBVOLUME_MAX: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSBVOLUME_MIN: i32 = -10000i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSCAPS {
+ pub dwSize: u32,
+ pub dwFlags: u32,
+ pub dwMinSecondarySampleRate: u32,
+ pub dwMaxSecondarySampleRate: u32,
+ pub dwPrimaryBuffers: u32,
+ pub dwMaxHwMixingAllBuffers: u32,
+ pub dwMaxHwMixingStaticBuffers: u32,
+ pub dwMaxHwMixingStreamingBuffers: u32,
+ pub dwFreeHwMixingAllBuffers: u32,
+ pub dwFreeHwMixingStaticBuffers: u32,
+ pub dwFreeHwMixingStreamingBuffers: u32,
+ pub dwMaxHw3DAllBuffers: u32,
+ pub dwMaxHw3DStaticBuffers: u32,
+ pub dwMaxHw3DStreamingBuffers: u32,
+ pub dwFreeHw3DAllBuffers: u32,
+ pub dwFreeHw3DStaticBuffers: u32,
+ pub dwFreeHw3DStreamingBuffers: u32,
+ pub dwTotalHwMemBytes: u32,
+ pub dwFreeHwMemBytes: u32,
+ pub dwMaxContigFreeHwMemBytes: u32,
+ pub dwUnlockTransferRateHwBuffers: u32,
+ pub dwPlayCpuOverheadSwBuffers: u32,
+ pub dwReserved1: u32,
+ pub dwReserved2: u32,
+}
+impl ::core::marker::Copy for DSCAPS {}
+impl ::core::clone::Clone for DSCAPS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCAPS_CERTIFIED: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCAPS_CONTINUOUSRATE: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCAPS_EMULDRIVER: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCAPS_PRIMARY16BIT: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCAPS_PRIMARY8BIT: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCAPS_PRIMARYMONO: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCAPS_PRIMARYSTEREO: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCAPS_SECONDARY16BIT: u32 = 2048u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCAPS_SECONDARY8BIT: u32 = 1024u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCAPS_SECONDARYMONO: u32 = 256u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCAPS_SECONDARYSTEREO: u32 = 512u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSCBCAPS {
+ pub dwSize: u32,
+ pub dwFlags: u32,
+ pub dwBufferBytes: u32,
+ pub dwReserved: u32,
+}
+impl ::core::marker::Copy for DSCBCAPS {}
+impl ::core::clone::Clone for DSCBCAPS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCBCAPS_CTRLFX: u32 = 512u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCBCAPS_WAVEMAPPED: u32 = 2147483648u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCBLOCK_ENTIREBUFFER: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCBSTART_LOOPING: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCBSTATUS_CAPTURING: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCBSTATUS_LOOPING: u32 = 2u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSCBUFFERDESC {
+ pub dwSize: u32,
+ pub dwFlags: u32,
+ pub dwBufferBytes: u32,
+ pub dwReserved: u32,
+ pub lpwfxFormat: *mut super::WAVEFORMATEX,
+ pub dwFXCount: u32,
+ pub lpDSCFXDesc: *mut DSCEFFECTDESC,
+}
+impl ::core::marker::Copy for DSCBUFFERDESC {}
+impl ::core::clone::Clone for DSCBUFFERDESC {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSCBUFFERDESC1 {
+ pub dwSize: u32,
+ pub dwFlags: u32,
+ pub dwBufferBytes: u32,
+ pub dwReserved: u32,
+ pub lpwfxFormat: *mut super::WAVEFORMATEX,
+}
+impl ::core::marker::Copy for DSCBUFFERDESC1 {}
+impl ::core::clone::Clone for DSCBUFFERDESC1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSCCAPS {
+ pub dwSize: u32,
+ pub dwFlags: u32,
+ pub dwFormats: u32,
+ pub dwChannels: u32,
+}
+impl ::core::marker::Copy for DSCCAPS {}
+impl ::core::clone::Clone for DSCCAPS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCCAPS_CERTIFIED: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCCAPS_EMULDRIVER: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCCAPS_MULTIPLECAPTURE: u32 = 1u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSCEFFECTDESC {
+ pub dwSize: u32,
+ pub dwFlags: u32,
+ pub guidDSCFXClass: ::windows_sys::core::GUID,
+ pub guidDSCFXInstance: ::windows_sys::core::GUID,
+ pub dwReserved1: u32,
+ pub dwReserved2: u32,
+}
+impl ::core::marker::Copy for DSCEFFECTDESC {}
+impl ::core::clone::Clone for DSCEFFECTDESC {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct DSCFXAec {
+ pub fEnable: super::super::super::Foundation::BOOL,
+ pub fNoiseFill: super::super::super::Foundation::BOOL,
+ pub dwMode: u32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for DSCFXAec {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for DSCFXAec {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct DSCFXNoiseSuppress {
+ pub fEnable: super::super::super::Foundation::BOOL,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for DSCFXNoiseSuppress {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for DSCFXNoiseSuppress {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCFXR_LOCHARDWARE: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCFXR_LOCSOFTWARE: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCFX_AEC_MODE_FULL_DUPLEX: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCFX_AEC_MODE_HALF_DUPLEX: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCFX_AEC_MODE_PASS_THROUGH: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCFX_AEC_STATUS_CURRENTLY_CONVERGED: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGED: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCFX_AEC_STATUS_HISTORY_UNINITIALIZED: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCFX_LOCHARDWARE: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSCFX_LOCSOFTWARE: u32 = 2u32;
+pub const DSDEVID_DefaultCapture: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3740270593, data2: 40045, data3: 18413, data4: [170, 241, 77, 218, 143, 43, 92, 3] };
+pub const DSDEVID_DefaultPlayback: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3740270592, data2: 40045, data3: 18413, data4: [170, 241, 77, 218, 143, 43, 92, 3] };
+pub const DSDEVID_DefaultVoiceCapture: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3740270595, data2: 40045, data3: 18413, data4: [170, 241, 77, 218, 143, 43, 92, 3] };
+pub const DSDEVID_DefaultVoicePlayback: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3740270594, data2: 40045, data3: 18413, data4: [170, 241, 77, 218, 143, 43, 92, 3] };
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSEFFECTDESC {
+ pub dwSize: u32,
+ pub dwFlags: u32,
+ pub guidDSFXClass: ::windows_sys::core::GUID,
+ pub dwReserved1: usize,
+ pub dwReserved2: usize,
+}
+impl ::core::marker::Copy for DSEFFECTDESC {}
+impl ::core::clone::Clone for DSEFFECTDESC {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_DELAY_MAX: f32 = 20f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_DELAY_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_DEPTH_MAX: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_DEPTH_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_FEEDBACK_MAX: f32 = 99f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_FEEDBACK_MIN: f32 = -99f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_FREQUENCY_MAX: f32 = 10f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_FREQUENCY_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_PHASE_180: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_PHASE_90: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_PHASE_MAX: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_PHASE_MIN: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_PHASE_NEG_180: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_PHASE_NEG_90: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_PHASE_ZERO: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_WAVE_SIN: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_WAVE_TRIANGLE: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_WETDRYMIX_MAX: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCHORUS_WETDRYMIX_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCOMPRESSOR_ATTACK_MAX: f32 = 500f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCOMPRESSOR_ATTACK_MIN: f32 = 0.01f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCOMPRESSOR_GAIN_MAX: f32 = 60f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCOMPRESSOR_GAIN_MIN: f32 = -60f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCOMPRESSOR_PREDELAY_MAX: f32 = 4f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCOMPRESSOR_PREDELAY_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCOMPRESSOR_RATIO_MAX: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCOMPRESSOR_RATIO_MIN: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCOMPRESSOR_RELEASE_MAX: f32 = 3000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCOMPRESSOR_RELEASE_MIN: f32 = 50f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCOMPRESSOR_THRESHOLD_MAX: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXCOMPRESSOR_THRESHOLD_MIN: f32 = -60f32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSFXChorus {
+ pub fWetDryMix: f32,
+ pub fDepth: f32,
+ pub fFeedback: f32,
+ pub fFrequency: f32,
+ pub lWaveform: i32,
+ pub fDelay: f32,
+ pub lPhase: i32,
+}
+impl ::core::marker::Copy for DSFXChorus {}
+impl ::core::clone::Clone for DSFXChorus {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSFXCompressor {
+ pub fGain: f32,
+ pub fAttack: f32,
+ pub fRelease: f32,
+ pub fThreshold: f32,
+ pub fRatio: f32,
+ pub fPredelay: f32,
+}
+impl ::core::marker::Copy for DSFXCompressor {}
+impl ::core::clone::Clone for DSFXCompressor {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXDISTORTION_EDGE_MAX: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXDISTORTION_EDGE_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXDISTORTION_GAIN_MAX: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXDISTORTION_GAIN_MIN: f32 = -60f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXDISTORTION_POSTEQBANDWIDTH_MAX: f32 = 8000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXDISTORTION_POSTEQBANDWIDTH_MIN: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXDISTORTION_POSTEQCENTERFREQUENCY_MAX: f32 = 8000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXDISTORTION_POSTEQCENTERFREQUENCY_MIN: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXDISTORTION_PRELOWPASSCUTOFF_MAX: f32 = 8000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXDISTORTION_PRELOWPASSCUTOFF_MIN: f32 = 100f32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSFXDistortion {
+ pub fGain: f32,
+ pub fEdge: f32,
+ pub fPostEQCenterFrequency: f32,
+ pub fPostEQBandwidth: f32,
+ pub fPreLowpassCutoff: f32,
+}
+impl ::core::marker::Copy for DSFXDistortion {}
+impl ::core::clone::Clone for DSFXDistortion {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXECHO_FEEDBACK_MAX: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXECHO_FEEDBACK_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXECHO_LEFTDELAY_MAX: f32 = 2000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXECHO_LEFTDELAY_MIN: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXECHO_PANDELAY_MAX: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXECHO_PANDELAY_MIN: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXECHO_RIGHTDELAY_MAX: f32 = 2000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXECHO_RIGHTDELAY_MIN: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXECHO_WETDRYMIX_MAX: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXECHO_WETDRYMIX_MIN: f32 = 0f32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSFXEcho {
+ pub fWetDryMix: f32,
+ pub fFeedback: f32,
+ pub fLeftDelay: f32,
+ pub fRightDelay: f32,
+ pub lPanDelay: i32,
+}
+impl ::core::marker::Copy for DSFXEcho {}
+impl ::core::clone::Clone for DSFXEcho {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_DELAY_MAX: f32 = 4f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_DELAY_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_DEPTH_MAX: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_DEPTH_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_FEEDBACK_MAX: f32 = 99f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_FEEDBACK_MIN: f32 = -99f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_FREQUENCY_MAX: f32 = 10f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_FREQUENCY_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_PHASE_180: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_PHASE_90: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_PHASE_MAX: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_PHASE_MIN: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_PHASE_NEG_180: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_PHASE_NEG_90: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_PHASE_ZERO: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_WAVE_SIN: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_WAVE_TRIANGLE: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_WETDRYMIX_MAX: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXFLANGER_WETDRYMIX_MIN: f32 = 0f32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSFXFlanger {
+ pub fWetDryMix: f32,
+ pub fDepth: f32,
+ pub fFeedback: f32,
+ pub fFrequency: f32,
+ pub lWaveform: i32,
+ pub fDelay: f32,
+ pub lPhase: i32,
+}
+impl ::core::marker::Copy for DSFXFlanger {}
+impl ::core::clone::Clone for DSFXFlanger {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXGARGLE_RATEHZ_MAX: u32 = 1000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXGARGLE_RATEHZ_MIN: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXGARGLE_WAVE_SQUARE: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXGARGLE_WAVE_TRIANGLE: u32 = 0u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSFXGargle {
+ pub dwRateHz: u32,
+ pub dwWaveShape: u32,
+}
+impl ::core::marker::Copy for DSFXGargle {}
+impl ::core::clone::Clone for DSFXGargle {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSFXI3DL2Reverb {
+ pub lRoom: i32,
+ pub lRoomHF: i32,
+ pub flRoomRolloffFactor: f32,
+ pub flDecayTime: f32,
+ pub flDecayHFRatio: f32,
+ pub lReflections: i32,
+ pub flReflectionsDelay: f32,
+ pub lReverb: i32,
+ pub flReverbDelay: f32,
+ pub flDiffusion: f32,
+ pub flDensity: f32,
+ pub flHFReference: f32,
+}
+impl ::core::marker::Copy for DSFXI3DL2Reverb {}
+impl ::core::clone::Clone for DSFXI3DL2Reverb {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXPARAMEQ_BANDWIDTH_MAX: f32 = 36f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXPARAMEQ_BANDWIDTH_MIN: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXPARAMEQ_CENTER_MAX: f32 = 16000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXPARAMEQ_CENTER_MIN: f32 = 80f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXPARAMEQ_GAIN_MAX: f32 = 15f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXPARAMEQ_GAIN_MIN: f32 = -15f32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSFXParamEq {
+ pub fCenter: f32,
+ pub fBandwidth: f32,
+ pub fGain: f32,
+}
+impl ::core::marker::Copy for DSFXParamEq {}
+impl ::core::clone::Clone for DSFXParamEq {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXR_FAILED: i32 = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXR_LOCHARDWARE: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXR_LOCSOFTWARE: i32 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXR_PRESENT: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXR_SENDLOOP: i32 = 6i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXR_UNALLOCATED: i32 = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFXR_UNKNOWN: i32 = 5i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub struct DSFXWavesReverb {
+ pub fInGain: f32,
+ pub fReverbMix: f32,
+ pub fReverbTime: f32,
+ pub fHighFreqRTRatio: f32,
+}
+impl ::core::marker::Copy for DSFXWavesReverb {}
+impl ::core::clone::Clone for DSFXWavesReverb {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT: f32 = 0.83f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_DECAYHFRATIO_MAX: f32 = 2f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_DECAYHFRATIO_MIN: f32 = 0.1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_DECAYTIME_DEFAULT: f32 = 1.49f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_DECAYTIME_MAX: f32 = 20f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_DECAYTIME_MIN: f32 = 0.1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_DENSITY_DEFAULT: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_DENSITY_MAX: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_DENSITY_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_DIFFUSION_DEFAULT: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_DIFFUSION_MAX: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_DIFFUSION_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT: f32 = 5000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_HFREFERENCE_MAX: f32 = 20000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_HFREFERENCE_MIN: f32 = 20f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_QUALITY_DEFAULT: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_QUALITY_MAX: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_QUALITY_MIN: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT: f32 = 0.007f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_REFLECTIONSDELAY_MAX: f32 = 0.3f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT: i32 = -2602i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_REFLECTIONS_MAX: u32 = 1000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_REFLECTIONS_MIN: i32 = -10000i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT: f32 = 0.011f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_REVERBDELAY_MAX: f32 = 0.1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_REVERBDELAY_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_REVERB_DEFAULT: u32 = 200u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_REVERB_MAX: u32 = 2000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_REVERB_MIN: i32 = -10000i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_ROOMHF_DEFAULT: i32 = -100i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_ROOMHF_MAX: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_ROOMHF_MIN: i32 = -10000i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX: f32 = 10f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_ROOM_DEFAULT: i32 = -1000i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_ROOM_MAX: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2REVERB_ROOM_MIN: i32 = -10000i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_ALLEY: i32 = 15i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_ARENA: i32 = 10i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_AUDITORIUM: i32 = 7i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_BATHROOM: i32 = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_CARPETEDHALLWAY: i32 = 12i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_CAVE: i32 = 9i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_CITY: i32 = 17i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_CONCERTHALL: i32 = 8i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_DEFAULT: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_FOREST: i32 = 16i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_GENERIC: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_HALLWAY: i32 = 13i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_HANGAR: i32 = 11i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEHALL: i32 = 28i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEROOM: i32 = 26i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_LIVINGROOM: i32 = 5i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMHALL: i32 = 27i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMROOM: i32 = 25i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_MOUNTAINS: i32 = 18i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_PADDEDCELL: i32 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_PARKINGLOT: i32 = 21i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_PLAIN: i32 = 20i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_PLATE: i32 = 29i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_QUARRY: i32 = 19i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_ROOM: i32 = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_SEWERPIPE: i32 = 22i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_SMALLROOM: i32 = 24i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_STONECORRIDOR: i32 = 14i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_STONEROOM: i32 = 6i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_ENVIRONMENT_PRESET_UNDERWATER: i32 = 23i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_MATERIAL_PRESET_BRICKWALL: i32 = 5i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_MATERIAL_PRESET_CURTAIN: i32 = 7i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_MATERIAL_PRESET_DOUBLEWINDOW: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_MATERIAL_PRESET_SINGLEWINDOW: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_MATERIAL_PRESET_STONEWALL: i32 = 6i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_MATERIAL_PRESET_THICKDOOR: i32 = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_MATERIAL_PRESET_THINDOOR: i32 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_I3DL2_MATERIAL_PRESET_WOODWALL: i32 = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_LOCHARDWARE: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_LOCSOFTWARE: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_WAVESREVERB_HIGHFREQRTRATIO_DEFAULT: f32 = 0.001f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_WAVESREVERB_HIGHFREQRTRATIO_MAX: f32 = 0.999f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_WAVESREVERB_HIGHFREQRTRATIO_MIN: f32 = 0.001f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_WAVESREVERB_INGAIN_DEFAULT: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_WAVESREVERB_INGAIN_MAX: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_WAVESREVERB_INGAIN_MIN: f32 = -96f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_WAVESREVERB_REVERBMIX_DEFAULT: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_WAVESREVERB_REVERBMIX_MAX: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_WAVESREVERB_REVERBMIX_MIN: f32 = -96f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_WAVESREVERB_REVERBTIME_DEFAULT: f32 = 1000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_WAVESREVERB_REVERBTIME_MAX: f32 = 3000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSFX_WAVESREVERB_REVERBTIME_MIN: f32 = 0.001f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSCL_EXCLUSIVE: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSCL_NORMAL: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSCL_PRIORITY: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSCL_WRITEPRIMARY: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_5POINT1: u32 = 6u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_5POINT1_BACK: u32 = 6u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_5POINT1_SURROUND: u32 = 9u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_7POINT1: u32 = 7u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_7POINT1_SURROUND: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_7POINT1_WIDE: u32 = 7u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_DIRECTOUT: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_GEOMETRY_MAX: u32 = 180u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_GEOMETRY_MIN: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_GEOMETRY_NARROW: u32 = 10u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_GEOMETRY_WIDE: u32 = 20u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_HEADPHONE: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_MONO: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_QUAD: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_STEREO: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DSSPEAKER_SURROUND: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS_CERTIFIED: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS_NO_VIRTUALIZATION: ::windows_sys::core::HRESULT = 142082058i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const DS_UNCERTIFIED: u32 = 1u32;
+pub const GUID_All_Objects: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2853260773, data2: 49762, data3: 16745, data4: [161, 200, 35, 214, 152, 204, 115, 181] };
+pub const GUID_DSCFX_CLASS_AEC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3214294400, data2: 50521, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
+pub const GUID_DSCFX_CLASS_NS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3766456383, data2: 25341, data3: 20064, data4: [140, 221, 222, 167, 35, 102, 101, 181] };
+pub const GUID_DSCFX_MS_AEC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3454777625, data2: 14234, data3: 18570, data4: [135, 101, 245, 60, 253, 54, 222, 64] };
+pub const GUID_DSCFX_MS_NS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 298174267, data2: 26345, data3: 19361, data4: [160, 186, 232, 20, 198, 238, 217, 45] };
+pub const GUID_DSCFX_SYSTEM_AEC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 472040813, data2: 39033, data3: 20315, data4: [163, 137, 39, 153, 109, 220, 40, 16] };
+pub const GUID_DSCFX_SYSTEM_NS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1521518638, data2: 29300, data3: 17686, data4: [135, 125, 78, 238, 153, 186, 79, 208] };
+pub const GUID_DSFX_STANDARD_CHORUS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4024853148, data2: 33271, data3: 17025, data4: [189, 145, 201, 214, 4, 169, 90, 246] };
+pub const GUID_DSFX_STANDARD_COMPRESSOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4009828217, data2: 16384, data3: 16493, data4: [135, 175, 191, 251, 63, 195, 157, 87] };
+pub const GUID_DSFX_STANDARD_DISTORTION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4010888336, data2: 52509, data3: 18510, data4: [150, 229, 9, 207, 175, 145, 42, 33] };
+pub const GUID_DSFX_STANDARD_ECHO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4013855532, data2: 54283, data3: 20305, data4: [140, 207, 63, 152, 241, 178, 157, 93] };
+pub const GUID_DSFX_STANDARD_FLANGER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4023008658, data2: 57304, data3: 18034, data4: [166, 3, 116, 32, 137, 75, 173, 152] };
+pub const GUID_DSFX_STANDARD_GARGLE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3674046992, data2: 22289, data3: 19345, data4: [159, 227, 247, 91, 122, 226, 121, 191] };
+pub const GUID_DSFX_STANDARD_I3DL2REVERB: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4019740273, data2: 54727, data3: 17108, data4: [186, 77, 45, 7, 62, 46, 150, 244] };
+pub const GUID_DSFX_STANDARD_PARAMEQ: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 302837129, data2: 15348, data3: 16755, data4: [161, 50, 60, 180, 6, 207, 50, 49] };
+pub const GUID_DSFX_WAVES_REVERB: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2281439848, data2: 39509, data3: 17248, data4: [149, 170, 0, 74, 29, 157, 226, 108] };
+pub type IDirectSound = *mut ::core::ffi::c_void;
+pub type IDirectSound3DBuffer = *mut ::core::ffi::c_void;
+pub type IDirectSound3DListener = *mut ::core::ffi::c_void;
+pub type IDirectSound8 = *mut ::core::ffi::c_void;
+pub type IDirectSoundBuffer = *mut ::core::ffi::c_void;
+pub type IDirectSoundBuffer8 = *mut ::core::ffi::c_void;
+pub type IDirectSoundCapture = *mut ::core::ffi::c_void;
+pub type IDirectSoundCaptureBuffer = *mut ::core::ffi::c_void;
+pub type IDirectSoundCaptureBuffer8 = *mut ::core::ffi::c_void;
+pub type IDirectSoundCaptureFXAec = *mut ::core::ffi::c_void;
+pub type IDirectSoundCaptureFXNoiseSuppress = *mut ::core::ffi::c_void;
+pub type IDirectSoundFXChorus = *mut ::core::ffi::c_void;
+pub type IDirectSoundFXCompressor = *mut ::core::ffi::c_void;
+pub type IDirectSoundFXDistortion = *mut ::core::ffi::c_void;
+pub type IDirectSoundFXEcho = *mut ::core::ffi::c_void;
+pub type IDirectSoundFXFlanger = *mut ::core::ffi::c_void;
+pub type IDirectSoundFXGargle = *mut ::core::ffi::c_void;
+pub type IDirectSoundFXI3DL2Reverb = *mut ::core::ffi::c_void;
+pub type IDirectSoundFXParamEq = *mut ::core::ffi::c_void;
+pub type IDirectSoundFXWavesReverb = *mut ::core::ffi::c_void;
+pub type IDirectSoundFullDuplex = *mut ::core::ffi::c_void;
+pub type IDirectSoundNotify = *mut ::core::ffi::c_void;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const KSPROPERTY_SUPPORT_GET: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const KSPROPERTY_SUPPORT_SET: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type LPDSENUMCALLBACKA = ::core::option::Option<unsafe extern "system" fn(param0: *mut ::windows_sys::core::GUID, param1: ::windows_sys::core::PCSTR, param2: ::windows_sys::core::PCSTR, param3: *mut ::core::ffi::c_void) -> super::super::super::Foundation::BOOL>;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type LPDSENUMCALLBACKW = ::core::option::Option<unsafe extern "system" fn(param0: *mut ::windows_sys::core::GUID, param1: ::windows_sys::core::PCWSTR, param2: ::windows_sys::core::PCWSTR, param3: *mut ::core::ffi::c_void) -> super::super::super::Foundation::BOOL>;
+#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
+pub const _FACDS: u32 = 2168u32;
diff --git a/vendor/windows-sys/src/Windows/Win32/Media/Audio/Endpoints/mod.rs b/vendor/windows-sys/src/Windows/Win32/Media/Audio/Endpoints/mod.rs
new file mode 100644
index 000000000..7a5f89a15
--- /dev/null
+++ b/vendor/windows-sys/src/Windows/Win32/Media/Audio/Endpoints/mod.rs
@@ -0,0 +1,50 @@
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_Endpoints\"`*"]
+pub struct AUDIO_ENDPOINT_SHARED_CREATE_PARAMS {
+ pub u32Size: u32,
+ pub u32TSSessionId: u32,
+ pub targetEndpointConnectorType: EndpointConnectorType,
+ pub wfxDeviceFormat: super::WAVEFORMATEX,
+}
+impl ::core::marker::Copy for AUDIO_ENDPOINT_SHARED_CREATE_PARAMS {}
+impl ::core::clone::Clone for AUDIO_ENDPOINT_SHARED_CREATE_PARAMS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+pub const DEVINTERFACE_AUDIOENDPOINTPLUGIN: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2670689126, data2: 26028, data3: 20390, data4: [138, 228, 18, 60, 120, 184, 147, 19] };
+#[doc = "*Required features: `\"Win32_Media_Audio_Endpoints\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const DEVPKEY_AudioEndpointPlugin2_FactoryCLSID: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 316160983, data2: 53010, data3: 18110, data4: [133, 64, 129, 39, 16, 211, 2, 28] }, pid: 4u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Endpoints\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const DEVPKEY_AudioEndpointPlugin_DataFlow: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 316160983, data2: 53010, data3: 18110, data4: [133, 64, 129, 39, 16, 211, 2, 28] }, pid: 2u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Endpoints\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const DEVPKEY_AudioEndpointPlugin_FactoryCLSID: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 316160983, data2: 53010, data3: 18110, data4: [133, 64, 129, 39, 16, 211, 2, 28] }, pid: 1u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Endpoints\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const DEVPKEY_AudioEndpointPlugin_PnPInterface: super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 316160983, data2: 53010, data3: 18110, data4: [133, 64, 129, 39, 16, 211, 2, 28] }, pid: 3u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio_Endpoints\"`*"]
+pub type EndpointConnectorType = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Endpoints\"`*"]
+pub const eHostProcessConnector: EndpointConnectorType = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Endpoints\"`*"]
+pub const eOffloadConnector: EndpointConnectorType = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Endpoints\"`*"]
+pub const eLoopbackConnector: EndpointConnectorType = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Endpoints\"`*"]
+pub const eKeywordDetectorConnector: EndpointConnectorType = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_Endpoints\"`*"]
+pub const eConnectorCount: EndpointConnectorType = 4i32;
+pub type IAudioEndpointFormatControl = *mut ::core::ffi::c_void;
+pub type IAudioEndpointLastBufferControl = *mut ::core::ffi::c_void;
+pub type IAudioEndpointOffloadStreamMeter = *mut ::core::ffi::c_void;
+pub type IAudioEndpointOffloadStreamMute = *mut ::core::ffi::c_void;
+pub type IAudioEndpointOffloadStreamVolume = *mut ::core::ffi::c_void;
+pub type IAudioEndpointVolume = *mut ::core::ffi::c_void;
+pub type IAudioEndpointVolumeCallback = *mut ::core::ffi::c_void;
+pub type IAudioEndpointVolumeEx = *mut ::core::ffi::c_void;
+pub type IAudioLfxControl = *mut ::core::ffi::c_void;
+pub type IAudioMeterInformation = *mut ::core::ffi::c_void;
+pub type IHardwareAudioEngineBase = *mut ::core::ffi::c_void;
diff --git a/vendor/windows-sys/src/Windows/Win32/Media/Audio/XAudio2/mod.rs b/vendor/windows-sys/src/Windows/Win32/Media/Audio/XAudio2/mod.rs
new file mode 100644
index 000000000..bccceab1a
--- /dev/null
+++ b/vendor/windows-sys/src/Windows/Win32/Media/Audio/XAudio2/mod.rs
@@ -0,0 +1,967 @@
+#[link(name = "windows")]
+extern "system" {
+ #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+ pub fn CreateAudioReverb(ppapo: *mut ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+ pub fn CreateAudioVolumeMeter(ppapo: *mut ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+ pub fn CreateFX(clsid: *const ::windows_sys::core::GUID, peffect: *mut ::windows_sys::core::IUnknown, pinitdat: *const ::core::ffi::c_void, initdatabytesize: u32) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+ pub fn CreateHrtfApo(init: *const HrtfApoInit, xapo: *mut IXAPO) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+ pub fn XAudio2CreateWithVersionInfo(ppxaudio2: *mut IXAudio2, flags: u32, xaudio2processor: u32, ntddiversion: u32) -> ::windows_sys::core::HRESULT;
+}
+pub const AudioReverb: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3261283094, data2: 18203, data3: 17560, data4: [184, 197, 79, 9, 89, 226, 236, 9] };
+pub const AudioVolumeMeter: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1338224998, data2: 38698, data3: 16591, data4: [188, 55, 125, 176, 61, 178, 251, 163] };
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FACILITY_XAPO: u32 = 2199u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FACILITY_XAUDIO2: u32 = 2198u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXECHO_DEFAULT_DELAY: f32 = 500f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXECHO_DEFAULT_FEEDBACK: f32 = 0.5f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXECHO_DEFAULT_WETDRYMIX: f32 = 0.5f32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct FXECHO_INITDATA {
+ pub MaxDelay: f32,
+}
+impl ::core::marker::Copy for FXECHO_INITDATA {}
+impl ::core::clone::Clone for FXECHO_INITDATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXECHO_MAX_DELAY: f32 = 2000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXECHO_MAX_FEEDBACK: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXECHO_MAX_WETDRYMIX: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXECHO_MIN_DELAY: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXECHO_MIN_FEEDBACK: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXECHO_MIN_WETDRYMIX: f32 = 0f32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct FXECHO_PARAMETERS {
+ pub WetDryMix: f32,
+ pub Feedback: f32,
+ pub Delay: f32,
+}
+impl ::core::marker::Copy for FXECHO_PARAMETERS {}
+impl ::core::clone::Clone for FXECHO_PARAMETERS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+pub const FXEQ: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4125102359, data2: 54980, data3: 18522, data4: [163, 245, 105, 81, 150, 243, 219, 250] };
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_DEFAULT_BANDWIDTH: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_DEFAULT_FREQUENCY_CENTER_0: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_DEFAULT_FREQUENCY_CENTER_1: f32 = 800f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_DEFAULT_FREQUENCY_CENTER_2: f32 = 2000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_DEFAULT_FREQUENCY_CENTER_3: f32 = 10000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_DEFAULT_GAIN: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_MAX_BANDWIDTH: f32 = 2f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_MAX_FRAMERATE: u32 = 48000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_MAX_FREQUENCY_CENTER: f32 = 20000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_MAX_GAIN: f32 = 7.94f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_MIN_BANDWIDTH: f32 = 0.1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_MIN_FRAMERATE: u32 = 22000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_MIN_FREQUENCY_CENTER: f32 = 20f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXEQ_MIN_GAIN: f32 = 0.126f32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct FXEQ_PARAMETERS {
+ pub FrequencyCenter0: f32,
+ pub Gain0: f32,
+ pub Bandwidth0: f32,
+ pub FrequencyCenter1: f32,
+ pub Gain1: f32,
+ pub Bandwidth1: f32,
+ pub FrequencyCenter2: f32,
+ pub Gain2: f32,
+ pub Bandwidth2: f32,
+ pub FrequencyCenter3: f32,
+ pub Gain3: f32,
+ pub Bandwidth3: f32,
+}
+impl ::core::marker::Copy for FXEQ_PARAMETERS {}
+impl ::core::clone::Clone for FXEQ_PARAMETERS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+pub const FXEcho: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1345967936, data2: 63286, data3: 17562, data4: [132, 211, 165, 98, 2, 85, 123, 135] };
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXLOUDNESS_DEFAULT_MOMENTARY_MS: u32 = 400u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXLOUDNESS_DEFAULT_SHORTTERM_MS: u32 = 3000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXMASTERINGLIMITER_DEFAULT_LOUDNESS: u32 = 1000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXMASTERINGLIMITER_DEFAULT_RELEASE: u32 = 6u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXMASTERINGLIMITER_MAX_LOUDNESS: u32 = 1800u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXMASTERINGLIMITER_MAX_RELEASE: u32 = 20u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXMASTERINGLIMITER_MIN_LOUDNESS: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXMASTERINGLIMITER_MIN_RELEASE: u32 = 1u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct FXMASTERINGLIMITER_PARAMETERS {
+ pub Release: u32,
+ pub Loudness: u32,
+}
+impl ::core::marker::Copy for FXMASTERINGLIMITER_PARAMETERS {}
+impl ::core::clone::Clone for FXMASTERINGLIMITER_PARAMETERS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+pub const FXMasteringLimiter: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3289610518, data2: 11233, data3: 18173, data4: [133, 153, 68, 21, 54, 244, 152, 86] };
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXREVERB_DEFAULT_DIFFUSION: f32 = 0.9f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXREVERB_DEFAULT_ROOMSIZE: f32 = 0.6f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXREVERB_MAX_DIFFUSION: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXREVERB_MAX_ROOMSIZE: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXREVERB_MIN_DIFFUSION: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const FXREVERB_MIN_ROOMSIZE: f32 = 0.0001f32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct FXREVERB_PARAMETERS {
+ pub Diffusion: f32,
+ pub RoomSize: f32,
+}
+impl ::core::marker::Copy for FXREVERB_PARAMETERS {}
+impl ::core::clone::Clone for FXREVERB_PARAMETERS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+pub const FXReverb: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2107296342, data2: 52072, data3: 18439, data4: [182, 50, 177, 55, 53, 46, 133, 150] };
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const HRTF_DEFAULT_UNITY_GAIN_DISTANCE: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const HRTF_MAX_GAIN_LIMIT: f32 = 12f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const HRTF_MIN_GAIN_LIMIT: f32 = -96f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const HRTF_MIN_UNITY_GAIN_DISTANCE: f32 = 0.05f32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct HrtfApoInit {
+ pub distanceDecay: *mut HrtfDistanceDecay,
+ pub directivity: *mut HrtfDirectivity,
+}
+impl ::core::marker::Copy for HrtfApoInit {}
+impl ::core::clone::Clone for HrtfApoInit {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct HrtfDirectivity {
+ pub r#type: HrtfDirectivityType,
+ pub scaling: f32,
+}
+impl ::core::marker::Copy for HrtfDirectivity {}
+impl ::core::clone::Clone for HrtfDirectivity {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct HrtfDirectivityCardioid {
+ pub directivity: HrtfDirectivity,
+ pub order: f32,
+}
+impl ::core::marker::Copy for HrtfDirectivityCardioid {}
+impl ::core::clone::Clone for HrtfDirectivityCardioid {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct HrtfDirectivityCone {
+ pub directivity: HrtfDirectivity,
+ pub innerAngle: f32,
+ pub outerAngle: f32,
+}
+impl ::core::marker::Copy for HrtfDirectivityCone {}
+impl ::core::clone::Clone for HrtfDirectivityCone {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub type HrtfDirectivityType = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const OmniDirectional: HrtfDirectivityType = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Cardioid: HrtfDirectivityType = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Cone: HrtfDirectivityType = 2i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct HrtfDistanceDecay {
+ pub r#type: HrtfDistanceDecayType,
+ pub maxGain: f32,
+ pub minGain: f32,
+ pub unityGainDistance: f32,
+ pub cutoffDistance: f32,
+}
+impl ::core::marker::Copy for HrtfDistanceDecay {}
+impl ::core::clone::Clone for HrtfDistanceDecay {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub type HrtfDistanceDecayType = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const NaturalDecay: HrtfDistanceDecayType = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const CustomDecay: HrtfDistanceDecayType = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub type HrtfEnvironment = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Small: HrtfEnvironment = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Medium: HrtfEnvironment = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Large: HrtfEnvironment = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Outdoors: HrtfEnvironment = 3i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct HrtfOrientation {
+ pub element: [f32; 9],
+}
+impl ::core::marker::Copy for HrtfOrientation {}
+impl ::core::clone::Clone for HrtfOrientation {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct HrtfPosition {
+ pub x: f32,
+ pub y: f32,
+ pub z: f32,
+}
+impl ::core::marker::Copy for HrtfPosition {}
+impl ::core::clone::Clone for HrtfPosition {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+pub type IXAPO = *mut ::core::ffi::c_void;
+pub type IXAPOHrtfParameters = *mut ::core::ffi::c_void;
+pub type IXAPOParameters = *mut ::core::ffi::c_void;
+pub type IXAudio2 = *mut ::core::ffi::c_void;
+pub type IXAudio2EngineCallback = *mut ::core::ffi::c_void;
+pub type IXAudio2Extension = *mut ::core::ffi::c_void;
+pub type IXAudio2MasteringVoice = *mut ::core::ffi::c_void;
+pub type IXAudio2SourceVoice = *mut ::core::ffi::c_void;
+pub type IXAudio2SubmixVoice = *mut ::core::ffi::c_void;
+pub type IXAudio2Voice = *mut ::core::ffi::c_void;
+pub type IXAudio2VoiceCallback = *mut ::core::ffi::c_void;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor1: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor10: u32 = 512u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor11: u32 = 1024u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor12: u32 = 2048u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor13: u32 = 4096u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor14: u32 = 8192u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor15: u32 = 16384u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor16: u32 = 32768u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor17: u32 = 65536u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor18: u32 = 131072u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor19: u32 = 262144u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor2: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor20: u32 = 524288u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor21: u32 = 1048576u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor22: u32 = 2097152u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor23: u32 = 4194304u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor24: u32 = 8388608u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor25: u32 = 16777216u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor26: u32 = 33554432u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor27: u32 = 67108864u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor28: u32 = 134217728u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor29: u32 = 268435456u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor3: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor30: u32 = 536870912u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor31: u32 = 1073741824u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor32: u32 = 2147483648u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor4: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor5: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor6: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor7: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor8: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const Processor9: u32 = 256u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const SPEAKER_MONO: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const X3DAUDIO_2PI: f32 = 6.2831855f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const X3DAUDIO_CALCULATE_DELAY: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const X3DAUDIO_CALCULATE_DOPPLER: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const X3DAUDIO_CALCULATE_EMITTER_ANGLE: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const X3DAUDIO_CALCULATE_LPF_DIRECT: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const X3DAUDIO_CALCULATE_LPF_REVERB: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const X3DAUDIO_CALCULATE_MATRIX: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const X3DAUDIO_CALCULATE_REDIRECT_TO_LFE: u32 = 131072u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const X3DAUDIO_CALCULATE_REVERB: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const X3DAUDIO_CALCULATE_ZEROCENTER: u32 = 65536u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const X3DAUDIO_HANDLE_BYTESIZE: u32 = 20u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const X3DAUDIO_PI: f32 = 3.1415927f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const X3DAUDIO_SPEED_OF_SOUND: f32 = 343.5f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub type XAPO_BUFFER_FLAGS = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_BUFFER_SILENT: XAPO_BUFFER_FLAGS = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_BUFFER_VALID: XAPO_BUFFER_FLAGS = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_E_FORMAT_UNSUPPORTED: ::windows_sys::core::HRESULT = -2003369983i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_FLAG_BITSPERSAMPLE_MUST_MATCH: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_FLAG_BUFFERCOUNT_MUST_MATCH: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_FLAG_CHANNELS_MUST_MATCH: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_FLAG_FRAMERATE_MUST_MATCH: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_FLAG_INPLACE_REQUIRED: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_FLAG_INPLACE_SUPPORTED: u32 = 16u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct XAPO_LOCKFORPROCESS_PARAMETERS {
+ pub pFormat: *const super::WAVEFORMATEX,
+ pub MaxFrameCount: u32,
+}
+impl ::core::marker::Copy for XAPO_LOCKFORPROCESS_PARAMETERS {}
+impl ::core::clone::Clone for XAPO_LOCKFORPROCESS_PARAMETERS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_MAX_CHANNELS: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_MAX_FRAMERATE: u32 = 200000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_MIN_CHANNELS: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_MIN_FRAMERATE: u32 = 1000u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct XAPO_PROCESS_BUFFER_PARAMETERS {
+ pub pBuffer: *mut ::core::ffi::c_void,
+ pub BufferFlags: XAPO_BUFFER_FLAGS,
+ pub ValidFrameCount: u32,
+}
+impl ::core::marker::Copy for XAPO_PROCESS_BUFFER_PARAMETERS {}
+impl ::core::clone::Clone for XAPO_PROCESS_BUFFER_PARAMETERS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct XAPO_REGISTRATION_PROPERTIES {
+ pub clsid: ::windows_sys::core::GUID,
+ pub FriendlyName: [u16; 256],
+ pub CopyrightInfo: [u16; 256],
+ pub MajorVersion: u32,
+ pub MinorVersion: u32,
+ pub Flags: u32,
+ pub MinInputBufferCount: u32,
+ pub MaxInputBufferCount: u32,
+ pub MinOutputBufferCount: u32,
+ pub MaxOutputBufferCount: u32,
+}
+impl ::core::marker::Copy for XAPO_REGISTRATION_PROPERTIES {}
+impl ::core::clone::Clone for XAPO_REGISTRATION_PROPERTIES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAPO_REGISTRATION_STRING_LENGTH: u32 = 256u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2D_DLL: &str = "xaudio2_9d.dll";
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2D_DLL_A: &str = "xaudio2_9d.dll";
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2D_DLL_W: &str = "xaudio2_9d.dll";
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_7POINT1_REAR_DELAY: u32 = 20u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_7POINT1_SIDE_DELAY: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_DECAY_TIME: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_DENSITY: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_DISABLE_LATE_FIELD: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_EARLY_DIFFUSION: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_HIGH_EQ_CUTOFF: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_HIGH_EQ_GAIN: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_LATE_DIFFUSION: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_LOW_EQ_CUTOFF: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_LOW_EQ_GAIN: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_POSITION: u32 = 6u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_POSITION_MATRIX: u32 = 27u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_REAR_DELAY: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_REFLECTIONS_DELAY: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_REFLECTIONS_GAIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_REVERB_DELAY: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_REVERB_GAIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_FREQ: f32 = 5000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_HF: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_MAIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_ROOM_SIZE: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_DEFAULT_WET_DRY_MIX: f32 = 100f32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct XAUDIO2FX_REVERB_I3DL2_PARAMETERS {
+ pub WetDryMix: f32,
+ pub Room: i32,
+ pub RoomHF: i32,
+ pub RoomRolloffFactor: f32,
+ pub DecayTime: f32,
+ pub DecayHFRatio: f32,
+ pub Reflections: i32,
+ pub ReflectionsDelay: f32,
+ pub Reverb: i32,
+ pub ReverbDelay: f32,
+ pub Diffusion: f32,
+ pub Density: f32,
+ pub HFReference: f32,
+}
+impl ::core::marker::Copy for XAUDIO2FX_REVERB_I3DL2_PARAMETERS {}
+impl ::core::clone::Clone for XAUDIO2FX_REVERB_I3DL2_PARAMETERS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_7POINT1_REAR_DELAY: u32 = 20u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_7POINT1_SIDE_DELAY: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_DENSITY: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_DIFFUSION: u32 = 15u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_FRAMERATE: u32 = 48000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_HIGH_EQ_CUTOFF: u32 = 14u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_HIGH_EQ_GAIN: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_LOW_EQ_CUTOFF: u32 = 9u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_LOW_EQ_GAIN: u32 = 12u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_POSITION: u32 = 30u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_REAR_DELAY: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_REFLECTIONS_DELAY: u32 = 300u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_REFLECTIONS_GAIN: f32 = 20f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_REVERB_DELAY: u32 = 85u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_REVERB_GAIN: f32 = 20f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_ROOM_FILTER_FREQ: f32 = 20000f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_ROOM_FILTER_HF: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_ROOM_FILTER_MAIN: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_ROOM_SIZE: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MAX_WET_DRY_MIX: f32 = 100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_7POINT1_REAR_DELAY: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_7POINT1_SIDE_DELAY: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_DECAY_TIME: f32 = 0.1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_DENSITY: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_DIFFUSION: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_FRAMERATE: u32 = 20000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_HIGH_EQ_CUTOFF: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_HIGH_EQ_GAIN: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_LOW_EQ_CUTOFF: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_LOW_EQ_GAIN: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_POSITION: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_REAR_DELAY: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_REFLECTIONS_DELAY: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_REFLECTIONS_GAIN: f32 = -100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_REVERB_DELAY: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_REVERB_GAIN: f32 = -100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_ROOM_FILTER_FREQ: f32 = 20f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_ROOM_FILTER_HF: f32 = -100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_ROOM_FILTER_MAIN: f32 = -100f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_ROOM_SIZE: f32 = 0f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2FX_REVERB_MIN_WET_DRY_MIX: f32 = 0f32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct XAUDIO2FX_REVERB_PARAMETERS {
+ pub WetDryMix: f32,
+ pub ReflectionsDelay: u32,
+ pub ReverbDelay: u8,
+ pub RearDelay: u8,
+ pub SideDelay: u8,
+ pub PositionLeft: u8,
+ pub PositionRight: u8,
+ pub PositionMatrixLeft: u8,
+ pub PositionMatrixRight: u8,
+ pub EarlyDiffusion: u8,
+ pub LateDiffusion: u8,
+ pub LowEQGain: u8,
+ pub LowEQCutoff: u8,
+ pub HighEQGain: u8,
+ pub HighEQCutoff: u8,
+ pub RoomFilterFreq: f32,
+ pub RoomFilterMain: f32,
+ pub RoomFilterHF: f32,
+ pub ReflectionsGain: f32,
+ pub ReverbGain: f32,
+ pub DecayTime: f32,
+ pub Density: f32,
+ pub RoomSize: f32,
+ pub DisableLateField: super::super::super::Foundation::BOOL,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for XAUDIO2FX_REVERB_PARAMETERS {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for XAUDIO2FX_REVERB_PARAMETERS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct XAUDIO2FX_VOLUMEMETER_LEVELS {
+ pub pPeakLevels: *mut f32,
+ pub pRMSLevels: *mut f32,
+ pub ChannelCount: u32,
+}
+impl ::core::marker::Copy for XAUDIO2FX_VOLUMEMETER_LEVELS {}
+impl ::core::clone::Clone for XAUDIO2FX_VOLUMEMETER_LEVELS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_1024_QUANTUM: u32 = 32768u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_ANY_PROCESSOR: u32 = 4294967295u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct XAUDIO2_BUFFER {
+ pub Flags: u32,
+ pub AudioBytes: u32,
+ pub pAudioData: *const u8,
+ pub PlayBegin: u32,
+ pub PlayLength: u32,
+ pub LoopBegin: u32,
+ pub LoopLength: u32,
+ pub LoopCount: u32,
+ pub pContext: *mut ::core::ffi::c_void,
+}
+impl ::core::marker::Copy for XAUDIO2_BUFFER {}
+impl ::core::clone::Clone for XAUDIO2_BUFFER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct XAUDIO2_BUFFER_WMA {
+ pub pDecodedPacketCumulativeBytes: *const u32,
+ pub PacketCount: u32,
+}
+impl ::core::marker::Copy for XAUDIO2_BUFFER_WMA {}
+impl ::core::clone::Clone for XAUDIO2_BUFFER_WMA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_COMMIT_ALL: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_COMMIT_NOW: u32 = 0u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct XAUDIO2_DEBUG_CONFIGURATION {
+ pub TraceMask: u32,
+ pub BreakMask: u32,
+ pub LogThreadID: super::super::super::Foundation::BOOL,
+ pub LogFileline: super::super::super::Foundation::BOOL,
+ pub LogFunctionName: super::super::super::Foundation::BOOL,
+ pub LogTiming: super::super::super::Foundation::BOOL,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for XAUDIO2_DEBUG_CONFIGURATION {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for XAUDIO2_DEBUG_CONFIGURATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_DEBUG_ENGINE: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_DEFAULT_CHANNELS: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_DEFAULT_FILTER_FREQUENCY: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_DEFAULT_FILTER_ONEOVERQ: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_DEFAULT_FREQ_RATIO: f32 = 2f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_DEFAULT_PROCESSOR: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_DEFAULT_SAMPLERATE: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_DLL: &str = "xaudio2_9.dll";
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_DLL_A: &str = "xaudio2_9.dll";
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_DLL_W: &str = "xaudio2_9.dll";
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct XAUDIO2_EFFECT_CHAIN {
+ pub EffectCount: u32,
+ pub pEffectDescriptors: *mut XAUDIO2_EFFECT_DESCRIPTOR,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for XAUDIO2_EFFECT_CHAIN {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for XAUDIO2_EFFECT_CHAIN {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct XAUDIO2_EFFECT_DESCRIPTOR {
+ pub pEffect: ::windows_sys::core::IUnknown,
+ pub InitialState: super::super::super::Foundation::BOOL,
+ pub OutputChannels: u32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for XAUDIO2_EFFECT_DESCRIPTOR {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for XAUDIO2_EFFECT_DESCRIPTOR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_END_OF_STREAM: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_E_DEVICE_INVALIDATED: ::windows_sys::core::HRESULT = -2003435516i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_E_INVALID_CALL: ::windows_sys::core::HRESULT = -2003435519i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_E_XAPO_CREATION_FAILED: ::windows_sys::core::HRESULT = -2003435517i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_E_XMA_DECODER_ERROR: ::windows_sys::core::HRESULT = -2003435518i32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct XAUDIO2_FILTER_PARAMETERS {
+ pub Type: XAUDIO2_FILTER_TYPE,
+ pub Frequency: f32,
+ pub OneOverQ: f32,
+}
+impl ::core::marker::Copy for XAUDIO2_FILTER_PARAMETERS {}
+impl ::core::clone::Clone for XAUDIO2_FILTER_PARAMETERS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub type XAUDIO2_FILTER_TYPE = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const LowPassFilter: XAUDIO2_FILTER_TYPE = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const BandPassFilter: XAUDIO2_FILTER_TYPE = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const HighPassFilter: XAUDIO2_FILTER_TYPE = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const NotchFilter: XAUDIO2_FILTER_TYPE = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const LowPassOnePoleFilter: XAUDIO2_FILTER_TYPE = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const HighPassOnePoleFilter: XAUDIO2_FILTER_TYPE = 5i32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_LOG_API_CALLS: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_LOG_DETAIL: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_LOG_ERRORS: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_LOG_FUNC_CALLS: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_LOG_INFO: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_LOG_LOCKS: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_LOG_MEMORY: u32 = 256u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_LOG_STREAMING: u32 = 4096u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_LOG_TIMING: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_LOG_WARNINGS: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_LOOP_INFINITE: u32 = 255u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MAX_AUDIO_CHANNELS: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MAX_BUFFERS_SYSTEM: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MAX_BUFFER_BYTES: u32 = 2147483648u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MAX_FILTER_FREQUENCY: f32 = 1f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MAX_FILTER_ONEOVERQ: f32 = 1.5f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MAX_FREQ_RATIO: f32 = 1024f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MAX_INSTANCES: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MAX_LOOP_COUNT: u32 = 254u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MAX_QUEUED_BUFFERS: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MONO: u32 = 600000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MULTICHANNEL: u32 = 300000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MAX_SAMPLE_RATE: u32 = 200000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MAX_VOLUME_LEVEL: f32 = 16777216f32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_MIN_SAMPLE_RATE: u32 = 1000u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_NO_LOOP_REGION: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_NO_VIRTUAL_AUDIO_CLIENT: u32 = 65536u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct XAUDIO2_PERFORMANCE_DATA {
+ pub AudioCyclesSinceLastQuery: u64,
+ pub TotalCyclesSinceLastQuery: u64,
+ pub MinimumCyclesPerQuantum: u32,
+ pub MaximumCyclesPerQuantum: u32,
+ pub MemoryUsageInBytes: u32,
+ pub CurrentLatencyInSamples: u32,
+ pub GlitchesSinceEngineStarted: u32,
+ pub ActiveSourceVoiceCount: u32,
+ pub TotalSourceVoiceCount: u32,
+ pub ActiveSubmixVoiceCount: u32,
+ pub ActiveResamplerCount: u32,
+ pub ActiveMatrixMixCount: u32,
+ pub ActiveXmaSourceVoices: u32,
+ pub ActiveXmaStreams: u32,
+}
+impl ::core::marker::Copy for XAUDIO2_PERFORMANCE_DATA {}
+impl ::core::clone::Clone for XAUDIO2_PERFORMANCE_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_PLAY_TAILS: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_QUANTUM_DENOMINATOR: u32 = 100u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_QUANTUM_NUMERATOR: u32 = 1u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct XAUDIO2_SEND_DESCRIPTOR {
+ pub Flags: u32,
+ pub pOutputVoice: IXAudio2Voice,
+}
+impl ::core::marker::Copy for XAUDIO2_SEND_DESCRIPTOR {}
+impl ::core::clone::Clone for XAUDIO2_SEND_DESCRIPTOR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_SEND_USEFILTER: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_STOP_ENGINE_WHEN_IDLE: u32 = 8192u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_USE_DEFAULT_PROCESSOR: u32 = 0u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct XAUDIO2_VOICE_DETAILS {
+ pub CreationFlags: u32,
+ pub ActiveFlags: u32,
+ pub InputChannels: u32,
+ pub InputSampleRate: u32,
+}
+impl ::core::marker::Copy for XAUDIO2_VOICE_DETAILS {}
+impl ::core::clone::Clone for XAUDIO2_VOICE_DETAILS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_VOICE_NOPITCH: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_VOICE_NOSAMPLESPLAYED: u32 = 256u32;
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_VOICE_NOSRC: u32 = 4u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct XAUDIO2_VOICE_SENDS {
+ pub SendCount: u32,
+ pub pSends: *mut XAUDIO2_SEND_DESCRIPTOR,
+}
+impl ::core::marker::Copy for XAUDIO2_VOICE_SENDS {}
+impl ::core::clone::Clone for XAUDIO2_VOICE_SENDS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub struct XAUDIO2_VOICE_STATE {
+ pub pCurrentBufferContext: *mut ::core::ffi::c_void,
+ pub BuffersQueued: u32,
+ pub SamplesPlayed: u64,
+}
+impl ::core::marker::Copy for XAUDIO2_VOICE_STATE {}
+impl ::core::clone::Clone for XAUDIO2_VOICE_STATE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"]
+pub const XAUDIO2_VOICE_USEFILTER: u32 = 8u32;
diff --git a/vendor/windows-sys/src/Windows/Win32/Media/Audio/mod.rs b/vendor/windows-sys/src/Windows/Win32/Media/Audio/mod.rs
new file mode 100644
index 000000000..2ee6de1f8
--- /dev/null
+++ b/vendor/windows-sys/src/Windows/Win32/Media/Audio/mod.rs
@@ -0,0 +1,3798 @@
+#[cfg(feature = "Win32_Media_Audio_Apo")]
+pub mod Apo;
+#[cfg(feature = "Win32_Media_Audio_DirectMusic")]
+pub mod DirectMusic;
+#[cfg(feature = "Win32_Media_Audio_DirectSound")]
+pub mod DirectSound;
+#[cfg(feature = "Win32_Media_Audio_Endpoints")]
+pub mod Endpoints;
+#[cfg(feature = "Win32_Media_Audio_XAudio2")]
+pub mod XAudio2;
+#[link(name = "windows")]
+extern "system" {
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com_StructuredStorage\"`*"]
+ #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage"))]
+ pub fn ActivateAudioInterfaceAsync(deviceinterfacepath: ::windows_sys::core::PCWSTR, riid: *const ::windows_sys::core::GUID, activationparams: *const super::super::System::Com::StructuredStorage::PROPVARIANT, completionhandler: IActivateAudioInterfaceCompletionHandler, activationoperation: *mut IActivateAudioInterfaceAsyncOperation) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn CoRegisterMessageFilter(lpmessagefilter: IMessageFilter, lplpmessagefilter: *mut IMessageFilter) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn CreateCaptureAudioStateMonitor(audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn CreateCaptureAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn CreateCaptureAudioStateMonitorForCategoryAndDeviceId(category: AUDIO_STREAM_CATEGORY, deviceid: ::windows_sys::core::PCWSTR, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn CreateCaptureAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn CreateRenderAudioStateMonitor(audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn CreateRenderAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn CreateRenderAudioStateMonitorForCategoryAndDeviceId(category: AUDIO_STREAM_CATEGORY, deviceid: ::windows_sys::core::PCWSTR, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn CreateRenderAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole, audiostatemonitor: *mut IAudioStateMonitor) -> ::windows_sys::core::HRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn PlaySoundA(pszsound: ::windows_sys::core::PCSTR, hmod: super::super::Foundation::HINSTANCE, fdwsound: u32) -> super::super::Foundation::BOOL;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn PlaySoundW(pszsound: ::windows_sys::core::PCWSTR, hmod: super::super::Foundation::HINSTANCE, fdwsound: u32) -> super::super::Foundation::BOOL;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmDriverAddA(phadid: *mut isize, hinstmodule: super::super::Foundation::HINSTANCE, lparam: super::super::Foundation::LPARAM, dwpriority: u32, fdwadd: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmDriverAddW(phadid: *mut isize, hinstmodule: super::super::Foundation::HINSTANCE, lparam: super::super::Foundation::LPARAM, dwpriority: u32, fdwadd: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmDriverClose(had: HACMDRIVER, fdwclose: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
+ #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
+ pub fn acmDriverDetailsA(hadid: HACMDRIVERID, padd: *mut ACMDRIVERDETAILSA, fdwdetails: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
+ #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
+ pub fn acmDriverDetailsW(hadid: HACMDRIVERID, padd: *mut ACMDRIVERDETAILSW, fdwdetails: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmDriverEnum(fncallback: ACMDRIVERENUMCB, dwinstance: usize, fdwenum: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmDriverID(hao: HACMOBJ, phadid: *mut isize, fdwdriverid: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmDriverMessage(had: HACMDRIVER, umsg: u32, lparam1: super::super::Foundation::LPARAM, lparam2: super::super::Foundation::LPARAM) -> super::super::Foundation::LRESULT;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmDriverOpen(phad: *mut isize, hadid: HACMDRIVERID, fdwopen: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmDriverPriority(hadid: HACMDRIVERID, dwpriority: u32, fdwpriority: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmDriverRemove(hadid: HACMDRIVERID, fdwremove: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFilterChooseA(pafltrc: *mut ACMFILTERCHOOSEA) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFilterChooseW(pafltrc: *mut ACMFILTERCHOOSEW) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFilterDetailsA(had: HACMDRIVER, pafd: *mut ACMFILTERDETAILSA, fdwdetails: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmFilterDetailsW(had: HACMDRIVER, pafd: *mut ACMFILTERDETAILSW, fdwdetails: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFilterEnumA(had: HACMDRIVER, pafd: *mut ACMFILTERDETAILSA, fncallback: ACMFILTERENUMCBA, dwinstance: usize, fdwenum: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFilterEnumW(had: HACMDRIVER, pafd: *mut ACMFILTERDETAILSW, fncallback: ACMFILTERENUMCBW, dwinstance: usize, fdwenum: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFilterTagDetailsA(had: HACMDRIVER, paftd: *mut ACMFILTERTAGDETAILSA, fdwdetails: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmFilterTagDetailsW(had: HACMDRIVER, paftd: *mut ACMFILTERTAGDETAILSW, fdwdetails: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFilterTagEnumA(had: HACMDRIVER, paftd: *mut ACMFILTERTAGDETAILSA, fncallback: ACMFILTERTAGENUMCBA, dwinstance: usize, fdwenum: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFilterTagEnumW(had: HACMDRIVER, paftd: *mut ACMFILTERTAGDETAILSW, fncallback: ACMFILTERTAGENUMCBW, dwinstance: usize, fdwenum: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFormatChooseA(pafmtc: *mut ACMFORMATCHOOSEA) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFormatChooseW(pafmtc: *mut ACMFORMATCHOOSEW) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFormatDetailsA(had: HACMDRIVER, pafd: *mut ACMFORMATDETAILSA, fdwdetails: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmFormatDetailsW(had: HACMDRIVER, pafd: *mut tACMFORMATDETAILSW, fdwdetails: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFormatEnumA(had: HACMDRIVER, pafd: *mut ACMFORMATDETAILSA, fncallback: ACMFORMATENUMCBA, dwinstance: usize, fdwenum: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFormatEnumW(had: HACMDRIVER, pafd: *mut tACMFORMATDETAILSW, fncallback: ACMFORMATENUMCBW, dwinstance: usize, fdwenum: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmFormatSuggest(had: HACMDRIVER, pwfxsrc: *mut WAVEFORMATEX, pwfxdst: *mut WAVEFORMATEX, cbwfxdst: u32, fdwsuggest: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFormatTagDetailsA(had: HACMDRIVER, paftd: *mut ACMFORMATTAGDETAILSA, fdwdetails: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmFormatTagDetailsW(had: HACMDRIVER, paftd: *mut ACMFORMATTAGDETAILSW, fdwdetails: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFormatTagEnumA(had: HACMDRIVER, paftd: *mut ACMFORMATTAGDETAILSA, fncallback: ACMFORMATTAGENUMCBA, dwinstance: usize, fdwenum: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmFormatTagEnumW(had: HACMDRIVER, paftd: *mut ACMFORMATTAGDETAILSW, fncallback: ACMFORMATTAGENUMCBW, dwinstance: usize, fdwenum: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmGetVersion() -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmMetrics(hao: HACMOBJ, umetric: u32, pmetric: *mut ::core::ffi::c_void) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmStreamClose(has: HACMSTREAM, fdwclose: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmStreamConvert(has: HACMSTREAM, pash: *mut ACMSTREAMHEADER, fdwconvert: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn acmStreamMessage(has: HACMSTREAM, umsg: u32, lparam1: super::super::Foundation::LPARAM, lparam2: super::super::Foundation::LPARAM) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmStreamOpen(phas: *mut isize, had: HACMDRIVER, pwfxsrc: *mut WAVEFORMATEX, pwfxdst: *mut WAVEFORMATEX, pwfltr: *mut WAVEFILTER, dwcallback: usize, dwinstance: usize, fdwopen: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmStreamPrepareHeader(has: HACMSTREAM, pash: *mut ACMSTREAMHEADER, fdwprepare: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmStreamReset(has: HACMSTREAM, fdwreset: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmStreamSize(has: HACMSTREAM, cbinput: u32, pdwoutputbytes: *mut u32, fdwsize: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn acmStreamUnprepareHeader(has: HACMSTREAM, pash: *mut ACMSTREAMHEADER, fdwunprepare: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn auxGetDevCapsA(udeviceid: usize, pac: *mut AUXCAPSA, cbac: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn auxGetDevCapsW(udeviceid: usize, pac: *mut AUXCAPSW, cbac: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn auxGetNumDevs() -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn auxGetVolume(udeviceid: u32, pdwvolume: *mut u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn auxOutMessage(udeviceid: u32, umsg: u32, dw1: usize, dw2: usize) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn auxSetVolume(udeviceid: u32, dwvolume: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiConnect(hmi: HMIDI, hmo: HMIDIOUT, preserved: *const ::core::ffi::c_void) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiDisconnect(hmi: HMIDI, hmo: HMIDIOUT, preserved: *const ::core::ffi::c_void) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInAddBuffer(hmi: HMIDIIN, pmh: *mut MIDIHDR, cbmh: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInClose(hmi: HMIDIIN) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn midiInGetDevCapsA(udeviceid: usize, pmic: *mut MIDIINCAPSA, cbmic: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInGetDevCapsW(udeviceid: usize, pmic: *mut MIDIINCAPSW, cbmic: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInGetErrorTextA(mmrerror: u32, psztext: ::windows_sys::core::PSTR, cchtext: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInGetErrorTextW(mmrerror: u32, psztext: ::windows_sys::core::PWSTR, cchtext: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInGetID(hmi: HMIDIIN, pudeviceid: *mut u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInGetNumDevs() -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInMessage(hmi: HMIDIIN, umsg: u32, dw1: usize, dw2: usize) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInOpen(phmi: *mut HMIDIIN, udeviceid: u32, dwcallback: usize, dwinstance: usize, fdwopen: MIDI_WAVE_OPEN_TYPE) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInPrepareHeader(hmi: HMIDIIN, pmh: *mut MIDIHDR, cbmh: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInReset(hmi: HMIDIIN) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInStart(hmi: HMIDIIN) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInStop(hmi: HMIDIIN) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiInUnprepareHeader(hmi: HMIDIIN, pmh: *mut MIDIHDR, cbmh: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutCacheDrumPatches(hmo: HMIDIOUT, upatch: u32, pwkya: *const u16, fucache: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutCachePatches(hmo: HMIDIOUT, ubank: u32, pwpa: *const u16, fucache: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutClose(hmo: HMIDIOUT) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn midiOutGetDevCapsA(udeviceid: usize, pmoc: *mut MIDIOUTCAPSA, cbmoc: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutGetDevCapsW(udeviceid: usize, pmoc: *mut MIDIOUTCAPSW, cbmoc: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutGetErrorTextA(mmrerror: u32, psztext: ::windows_sys::core::PSTR, cchtext: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutGetErrorTextW(mmrerror: u32, psztext: ::windows_sys::core::PWSTR, cchtext: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutGetID(hmo: HMIDIOUT, pudeviceid: *mut u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutGetNumDevs() -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutGetVolume(hmo: HMIDIOUT, pdwvolume: *mut u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutLongMsg(hmo: HMIDIOUT, pmh: *const MIDIHDR, cbmh: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutMessage(hmo: HMIDIOUT, umsg: u32, dw1: usize, dw2: usize) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutOpen(phmo: *mut HMIDIOUT, udeviceid: u32, dwcallback: usize, dwinstance: usize, fdwopen: MIDI_WAVE_OPEN_TYPE) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutPrepareHeader(hmo: HMIDIOUT, pmh: *mut MIDIHDR, cbmh: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutReset(hmo: HMIDIOUT) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutSetVolume(hmo: HMIDIOUT, dwvolume: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutShortMsg(hmo: HMIDIOUT, dwmsg: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiOutUnprepareHeader(hmo: HMIDIOUT, pmh: *mut MIDIHDR, cbmh: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiStreamClose(hms: HMIDISTRM) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiStreamOpen(phms: *mut HMIDISTRM, pudeviceid: *mut u32, cmidi: u32, dwcallback: usize, dwinstance: usize, fdwopen: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiStreamOut(hms: HMIDISTRM, pmh: *mut MIDIHDR, cbmh: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiStreamPause(hms: HMIDISTRM) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiStreamPosition(hms: HMIDISTRM, lpmmt: *mut super::MMTIME, cbmmt: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiStreamProperty(hms: HMIDISTRM, lppropdata: *mut u8, dwproperty: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiStreamRestart(hms: HMIDISTRM) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn midiStreamStop(hms: HMIDISTRM) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn mixerClose(hmx: HMIXER) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn mixerGetControlDetailsA(hmxobj: HMIXEROBJ, pmxcd: *mut MIXERCONTROLDETAILS, fdwdetails: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn mixerGetControlDetailsW(hmxobj: HMIXEROBJ, pmxcd: *mut MIXERCONTROLDETAILS, fdwdetails: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn mixerGetDevCapsA(umxid: usize, pmxcaps: *mut MIXERCAPSA, cbmxcaps: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn mixerGetDevCapsW(umxid: usize, pmxcaps: *mut MIXERCAPSW, cbmxcaps: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn mixerGetID(hmxobj: HMIXEROBJ, pumxid: *mut u32, fdwid: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn mixerGetLineControlsA(hmxobj: HMIXEROBJ, pmxlc: *mut MIXERLINECONTROLSA, fdwcontrols: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn mixerGetLineControlsW(hmxobj: HMIXEROBJ, pmxlc: *mut MIXERLINECONTROLSW, fdwcontrols: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn mixerGetLineInfoA(hmxobj: HMIXEROBJ, pmxl: *mut MIXERLINEA, fdwinfo: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn mixerGetLineInfoW(hmxobj: HMIXEROBJ, pmxl: *mut MIXERLINEW, fdwinfo: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn mixerGetNumDevs() -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn mixerMessage(hmx: HMIXER, umsg: u32, dwparam1: usize, dwparam2: usize) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn mixerOpen(phmx: *mut isize, umxid: u32, dwcallback: usize, dwinstance: usize, fdwopen: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn mixerSetControlDetails(hmxobj: HMIXEROBJ, pmxcd: *const MIXERCONTROLDETAILS, fdwdetails: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn sndPlaySoundA(pszsound: ::windows_sys::core::PCSTR, fusound: u32) -> super::super::Foundation::BOOL;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn sndPlaySoundW(pszsound: ::windows_sys::core::PCWSTR, fusound: u32) -> super::super::Foundation::BOOL;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInAddBuffer(hwi: HWAVEIN, pwh: *mut WAVEHDR, cbwh: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInClose(hwi: HWAVEIN) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn waveInGetDevCapsA(udeviceid: usize, pwic: *mut WAVEINCAPSA, cbwic: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInGetDevCapsW(udeviceid: usize, pwic: *mut WAVEINCAPSW, cbwic: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInGetErrorTextA(mmrerror: u32, psztext: ::windows_sys::core::PSTR, cchtext: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInGetErrorTextW(mmrerror: u32, psztext: ::windows_sys::core::PWSTR, cchtext: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInGetID(hwi: HWAVEIN, pudeviceid: *const u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInGetNumDevs() -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInGetPosition(hwi: HWAVEIN, pmmt: *mut super::MMTIME, cbmmt: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInMessage(hwi: HWAVEIN, umsg: u32, dw1: usize, dw2: usize) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInOpen(phwi: *mut HWAVEIN, udeviceid: u32, pwfx: *const WAVEFORMATEX, dwcallback: usize, dwinstance: usize, fdwopen: MIDI_WAVE_OPEN_TYPE) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInPrepareHeader(hwi: HWAVEIN, pwh: *mut WAVEHDR, cbwh: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInReset(hwi: HWAVEIN) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInStart(hwi: HWAVEIN) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInStop(hwi: HWAVEIN) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveInUnprepareHeader(hwi: HWAVEIN, pwh: *mut WAVEHDR, cbwh: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutBreakLoop(hwo: HWAVEOUT) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutClose(hwo: HWAVEOUT) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+ #[cfg(feature = "Win32_Foundation")]
+ pub fn waveOutGetDevCapsA(udeviceid: usize, pwoc: *mut WAVEOUTCAPSA, cbwoc: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutGetDevCapsW(udeviceid: usize, pwoc: *mut WAVEOUTCAPSW, cbwoc: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutGetErrorTextA(mmrerror: u32, psztext: ::windows_sys::core::PSTR, cchtext: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutGetErrorTextW(mmrerror: u32, psztext: ::windows_sys::core::PWSTR, cchtext: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutGetID(hwo: HWAVEOUT, pudeviceid: *mut u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutGetNumDevs() -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutGetPitch(hwo: HWAVEOUT, pdwpitch: *mut u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutGetPlaybackRate(hwo: HWAVEOUT, pdwrate: *mut u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutGetPosition(hwo: HWAVEOUT, pmmt: *mut super::MMTIME, cbmmt: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutGetVolume(hwo: HWAVEOUT, pdwvolume: *mut u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutMessage(hwo: HWAVEOUT, umsg: u32, dw1: usize, dw2: usize) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutOpen(phwo: *mut HWAVEOUT, udeviceid: u32, pwfx: *const WAVEFORMATEX, dwcallback: usize, dwinstance: usize, fdwopen: MIDI_WAVE_OPEN_TYPE) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutPause(hwo: HWAVEOUT) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutPrepareHeader(hwo: HWAVEOUT, pwh: *mut WAVEHDR, cbwh: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutReset(hwo: HWAVEOUT) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutRestart(hwo: HWAVEOUT) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutSetPitch(hwo: HWAVEOUT, dwpitch: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutSetPlaybackRate(hwo: HWAVEOUT, dwrate: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutSetVolume(hwo: HWAVEOUT, dwvolume: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutUnprepareHeader(hwo: HWAVEOUT, pwh: *mut WAVEHDR, cbwh: u32) -> u32;
+ #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+ pub fn waveOutWrite(hwo: HWAVEOUT, pwh: *mut WAVEHDR, cbwh: u32) -> u32;
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_DRIVER_ABOUT: u32 = 24587u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_DRIVER_DETAILS: u32 = 24586u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_DRIVER_NOTIFY: u32 = 24577u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_FILTERTAG_DETAILS: u32 = 24626u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_FILTER_DETAILS: u32 = 24627u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_FORMATTAG_DETAILS: u32 = 24601u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_FORMAT_DETAILS: u32 = 24602u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_FORMAT_SUGGEST: u32 = 24603u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_HARDWARE_WAVE_CAPS_INPUT: u32 = 24596u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_HARDWARE_WAVE_CAPS_OUTPUT: u32 = 24597u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_RESERVED_HIGH: u32 = 28671u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_RESERVED_LOW: u32 = 24576u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_STREAM_CLOSE: u32 = 24653u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_STREAM_CONVERT: u32 = 24655u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_STREAM_OPEN: u32 = 24652u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_STREAM_PREPARE: u32 = 24657u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_STREAM_RESET: u32 = 24656u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_STREAM_SIZE: u32 = 24654u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_STREAM_UNPREPARE: u32 = 24658u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_STREAM_UPDATE: u32 = 24659u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDM_USER: u32 = 16384u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
+pub struct ACMDRIVERDETAILSA {
+ pub cbStruct: u32,
+ pub fccType: u32,
+ pub fccComp: u32,
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vdwACM: u32,
+ pub vdwDriver: u32,
+ pub fdwSupport: u32,
+ pub cFormatTags: u32,
+ pub cFilterTags: u32,
+ pub hicon: super::super::UI::WindowsAndMessaging::HICON,
+ pub szShortName: [super::super::Foundation::CHAR; 32],
+ pub szLongName: [super::super::Foundation::CHAR; 128],
+ pub szCopyright: [super::super::Foundation::CHAR; 80],
+ pub szLicensing: [super::super::Foundation::CHAR; 128],
+ pub szFeatures: [super::super::Foundation::CHAR; 512],
+}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
+impl ::core::marker::Copy for ACMDRIVERDETAILSA {}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
+impl ::core::clone::Clone for ACMDRIVERDETAILSA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
+#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
+pub struct ACMDRIVERDETAILSW {
+ pub cbStruct: u32,
+ pub fccType: u32,
+ pub fccComp: u32,
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vdwACM: u32,
+ pub vdwDriver: u32,
+ pub fdwSupport: u32,
+ pub cFormatTags: u32,
+ pub cFilterTags: u32,
+ pub hicon: super::super::UI::WindowsAndMessaging::HICON,
+ pub szShortName: [u16; 32],
+ pub szLongName: [u16; 128],
+ pub szCopyright: [u16; 80],
+ pub szLicensing: [u16; 128],
+ pub szFeatures: [u16; 512],
+}
+#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
+impl ::core::marker::Copy for ACMDRIVERDETAILSW {}
+#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
+impl ::core::clone::Clone for ACMDRIVERDETAILSW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDRIVERDETAILS_COPYRIGHT_CHARS: u32 = 80u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDRIVERDETAILS_FEATURES_CHARS: u32 = 512u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDRIVERDETAILS_LICENSING_CHARS: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDRIVERDETAILS_LONGNAME_CHARS: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDRIVERDETAILS_SHORTNAME_CHARS: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDRIVERDETAILS_SUPPORTF_ASYNC: i32 = 16i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDRIVERDETAILS_SUPPORTF_CODEC: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDRIVERDETAILS_SUPPORTF_CONVERTER: i32 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDRIVERDETAILS_SUPPORTF_DISABLED: i32 = -2147483648i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDRIVERDETAILS_SUPPORTF_FILTER: i32 = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDRIVERDETAILS_SUPPORTF_HARDWARE: i32 = 8i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMDRIVERDETAILS_SUPPORTF_LOCAL: i32 = 1073741824i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type ACMDRIVERENUMCB = ::core::option::Option<unsafe extern "system" fn(hadid: HACMDRIVERID, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL>;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct ACMDRVFORMATSUGGEST {
+ pub cbStruct: u32,
+ pub fdwSuggest: u32,
+ pub pwfxSrc: *mut WAVEFORMATEX,
+ pub cbwfxSrc: u32,
+ pub pwfxDst: *mut WAVEFORMATEX,
+ pub cbwfxDst: u32,
+}
+impl ::core::marker::Copy for ACMDRVFORMATSUGGEST {}
+impl ::core::clone::Clone for ACMDRVFORMATSUGGEST {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct ACMDRVSTREAMHEADER {
+ pub cbStruct: u32,
+ pub fdwStatus: u32,
+ pub dwUser: usize,
+ pub pbSrc: *mut u8,
+ pub cbSrcLength: u32,
+ pub cbSrcLengthUsed: u32,
+ pub dwSrcUser: usize,
+ pub pbDst: *mut u8,
+ pub cbDstLength: u32,
+ pub cbDstLengthUsed: u32,
+ pub dwDstUser: usize,
+ pub fdwConvert: u32,
+ pub padshNext: *mut ACMDRVSTREAMHEADER,
+ pub fdwDriver: u32,
+ pub dwDriver: usize,
+ pub fdwPrepared: u32,
+ pub dwPrepared: usize,
+ pub pbPreparedSrc: *mut u8,
+ pub cbPreparedSrcLength: u32,
+ pub pbPreparedDst: *mut u8,
+ pub cbPreparedDstLength: u32,
+}
+impl ::core::marker::Copy for ACMDRVSTREAMHEADER {}
+impl ::core::clone::Clone for ACMDRVSTREAMHEADER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct ACMDRVSTREAMINSTANCE {
+ pub cbStruct: u32,
+ pub pwfxSrc: *mut WAVEFORMATEX,
+ pub pwfxDst: *mut WAVEFORMATEX,
+ pub pwfltr: *mut WAVEFILTER,
+ pub dwCallback: usize,
+ pub dwInstance: usize,
+ pub fdwOpen: u32,
+ pub fdwDriver: u32,
+ pub dwDriver: usize,
+ pub has: HACMSTREAM,
+}
+impl ::core::marker::Copy for ACMDRVSTREAMINSTANCE {}
+impl ::core::clone::Clone for ACMDRVSTREAMINSTANCE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct ACMDRVSTREAMSIZE {
+ pub cbStruct: u32,
+ pub fdwSize: u32,
+ pub cbSrcLength: u32,
+ pub cbDstLength: u32,
+}
+impl ::core::marker::Copy for ACMDRVSTREAMSIZE {}
+impl ::core::clone::Clone for ACMDRVSTREAMSIZE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMERR_BASE: u32 = 512u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMERR_BUSY: u32 = 513u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMERR_CANCELED: u32 = 515u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMERR_NOTPOSSIBLE: u32 = 512u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMERR_UNPREPARED: u32 = 514u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct ACMFILTERCHOOSEA {
+ pub cbStruct: u32,
+ pub fdwStyle: u32,
+ pub hwndOwner: super::super::Foundation::HWND,
+ pub pwfltr: *mut WAVEFILTER,
+ pub cbwfltr: u32,
+ pub pszTitle: ::windows_sys::core::PCSTR,
+ pub szFilterTag: [super::super::Foundation::CHAR; 48],
+ pub szFilter: [super::super::Foundation::CHAR; 128],
+ pub pszName: ::windows_sys::core::PSTR,
+ pub cchName: u32,
+ pub fdwEnum: u32,
+ pub pwfltrEnum: *mut WAVEFILTER,
+ pub hInstance: super::super::Foundation::HINSTANCE,
+ pub pszTemplateName: ::windows_sys::core::PCSTR,
+ pub lCustData: super::super::Foundation::LPARAM,
+ pub pfnHook: ACMFILTERCHOOSEHOOKPROCA,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for ACMFILTERCHOOSEA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for ACMFILTERCHOOSEA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type ACMFILTERCHOOSEHOOKPROCA = ::core::option::Option<unsafe extern "system" fn(hwnd: super::super::Foundation::HWND, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> u32>;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type ACMFILTERCHOOSEHOOKPROCW = ::core::option::Option<unsafe extern "system" fn(hwnd: super::super::Foundation::HWND, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> u32>;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct ACMFILTERCHOOSEW {
+ pub cbStruct: u32,
+ pub fdwStyle: u32,
+ pub hwndOwner: super::super::Foundation::HWND,
+ pub pwfltr: *mut WAVEFILTER,
+ pub cbwfltr: u32,
+ pub pszTitle: ::windows_sys::core::PCWSTR,
+ pub szFilterTag: [u16; 48],
+ pub szFilter: [u16; 128],
+ pub pszName: ::windows_sys::core::PWSTR,
+ pub cchName: u32,
+ pub fdwEnum: u32,
+ pub pwfltrEnum: *mut WAVEFILTER,
+ pub hInstance: super::super::Foundation::HINSTANCE,
+ pub pszTemplateName: ::windows_sys::core::PCWSTR,
+ pub lCustData: super::super::Foundation::LPARAM,
+ pub pfnHook: ACMFILTERCHOOSEHOOKPROCW,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for ACMFILTERCHOOSEW {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for ACMFILTERCHOOSEW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFILTERCHOOSE_STYLEF_CONTEXTHELP: i32 = 128i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFILTERCHOOSE_STYLEF_ENABLEHOOK: i32 = 8i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE: i32 = 16i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE: i32 = 32i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT: i32 = 64i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFILTERCHOOSE_STYLEF_SHOWHELP: i32 = 4i32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct ACMFILTERDETAILSA {
+ pub cbStruct: u32,
+ pub dwFilterIndex: u32,
+ pub dwFilterTag: u32,
+ pub fdwSupport: u32,
+ pub pwfltr: *mut WAVEFILTER,
+ pub cbwfltr: u32,
+ pub szFilter: [super::super::Foundation::CHAR; 128],
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for ACMFILTERDETAILSA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for ACMFILTERDETAILSA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct ACMFILTERDETAILSW {
+ pub cbStruct: u32,
+ pub dwFilterIndex: u32,
+ pub dwFilterTag: u32,
+ pub fdwSupport: u32,
+ pub pwfltr: *mut WAVEFILTER,
+ pub cbwfltr: u32,
+ pub szFilter: [u16; 128],
+}
+impl ::core::marker::Copy for ACMFILTERDETAILSW {}
+impl ::core::clone::Clone for ACMFILTERDETAILSW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFILTERDETAILS_FILTER_CHARS: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type ACMFILTERENUMCBA = ::core::option::Option<unsafe extern "system" fn(hadid: HACMDRIVERID, pafd: *mut ACMFILTERDETAILSA, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL>;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type ACMFILTERENUMCBW = ::core::option::Option<unsafe extern "system" fn(hadid: HACMDRIVERID, pafd: *mut ACMFILTERDETAILSW, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL>;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct ACMFILTERTAGDETAILSA {
+ pub cbStruct: u32,
+ pub dwFilterTagIndex: u32,
+ pub dwFilterTag: u32,
+ pub cbFilterSize: u32,
+ pub fdwSupport: u32,
+ pub cStandardFilters: u32,
+ pub szFilterTag: [super::super::Foundation::CHAR; 48],
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for ACMFILTERTAGDETAILSA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for ACMFILTERTAGDETAILSA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct ACMFILTERTAGDETAILSW {
+ pub cbStruct: u32,
+ pub dwFilterTagIndex: u32,
+ pub dwFilterTag: u32,
+ pub cbFilterSize: u32,
+ pub fdwSupport: u32,
+ pub cStandardFilters: u32,
+ pub szFilterTag: [u16; 48],
+}
+impl ::core::marker::Copy for ACMFILTERTAGDETAILSW {}
+impl ::core::clone::Clone for ACMFILTERTAGDETAILSW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFILTERTAGDETAILS_FILTERTAG_CHARS: u32 = 48u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type ACMFILTERTAGENUMCBA = ::core::option::Option<unsafe extern "system" fn(hadid: HACMDRIVERID, paftd: *mut ACMFILTERTAGDETAILSA, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL>;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type ACMFILTERTAGENUMCBW = ::core::option::Option<unsafe extern "system" fn(hadid: HACMDRIVERID, paftd: *mut ACMFILTERTAGDETAILSW, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL>;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct ACMFORMATCHOOSEA {
+ pub cbStruct: u32,
+ pub fdwStyle: u32,
+ pub hwndOwner: super::super::Foundation::HWND,
+ pub pwfx: *mut WAVEFORMATEX,
+ pub cbwfx: u32,
+ pub pszTitle: ::windows_sys::core::PCSTR,
+ pub szFormatTag: [super::super::Foundation::CHAR; 48],
+ pub szFormat: [super::super::Foundation::CHAR; 128],
+ pub pszName: ::windows_sys::core::PSTR,
+ pub cchName: u32,
+ pub fdwEnum: u32,
+ pub pwfxEnum: *mut WAVEFORMATEX,
+ pub hInstance: super::super::Foundation::HINSTANCE,
+ pub pszTemplateName: ::windows_sys::core::PCSTR,
+ pub lCustData: super::super::Foundation::LPARAM,
+ pub pfnHook: ACMFORMATCHOOSEHOOKPROCA,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for ACMFORMATCHOOSEA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for ACMFORMATCHOOSEA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type ACMFORMATCHOOSEHOOKPROCA = ::core::option::Option<unsafe extern "system" fn(hwnd: super::super::Foundation::HWND, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> u32>;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type ACMFORMATCHOOSEHOOKPROCW = ::core::option::Option<unsafe extern "system" fn(hwnd: super::super::Foundation::HWND, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> u32>;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct ACMFORMATCHOOSEW {
+ pub cbStruct: u32,
+ pub fdwStyle: u32,
+ pub hwndOwner: super::super::Foundation::HWND,
+ pub pwfx: *mut WAVEFORMATEX,
+ pub cbwfx: u32,
+ pub pszTitle: ::windows_sys::core::PCWSTR,
+ pub szFormatTag: [u16; 48],
+ pub szFormat: [u16; 128],
+ pub pszName: ::windows_sys::core::PWSTR,
+ pub cchName: u32,
+ pub fdwEnum: u32,
+ pub pwfxEnum: *mut WAVEFORMATEX,
+ pub hInstance: super::super::Foundation::HINSTANCE,
+ pub pszTemplateName: ::windows_sys::core::PCWSTR,
+ pub lCustData: super::super::Foundation::LPARAM,
+ pub pfnHook: ACMFORMATCHOOSEHOOKPROCW,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for ACMFORMATCHOOSEW {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for ACMFORMATCHOOSEW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFORMATCHOOSE_STYLEF_CONTEXTHELP: i32 = 128i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFORMATCHOOSE_STYLEF_ENABLEHOOK: i32 = 8i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE: i32 = 16i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE: i32 = 32i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT: i32 = 64i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFORMATCHOOSE_STYLEF_SHOWHELP: i32 = 4i32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct ACMFORMATDETAILSA {
+ pub cbStruct: u32,
+ pub dwFormatIndex: u32,
+ pub dwFormatTag: u32,
+ pub fdwSupport: u32,
+ pub pwfx: *mut WAVEFORMATEX,
+ pub cbwfx: u32,
+ pub szFormat: [super::super::Foundation::CHAR; 128],
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for ACMFORMATDETAILSA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for ACMFORMATDETAILSA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFORMATDETAILS_FORMAT_CHARS: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type ACMFORMATENUMCBA = ::core::option::Option<unsafe extern "system" fn(hadid: HACMDRIVERID, pafd: *mut ACMFORMATDETAILSA, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL>;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type ACMFORMATENUMCBW = ::core::option::Option<unsafe extern "system" fn(hadid: HACMDRIVERID, pafd: *mut tACMFORMATDETAILSW, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL>;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct ACMFORMATTAGDETAILSA {
+ pub cbStruct: u32,
+ pub dwFormatTagIndex: u32,
+ pub dwFormatTag: u32,
+ pub cbFormatSize: u32,
+ pub fdwSupport: u32,
+ pub cStandardFormats: u32,
+ pub szFormatTag: [super::super::Foundation::CHAR; 48],
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for ACMFORMATTAGDETAILSA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for ACMFORMATTAGDETAILSA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct ACMFORMATTAGDETAILSW {
+ pub cbStruct: u32,
+ pub dwFormatTagIndex: u32,
+ pub dwFormatTag: u32,
+ pub cbFormatSize: u32,
+ pub fdwSupport: u32,
+ pub cStandardFormats: u32,
+ pub szFormatTag: [u16; 48],
+}
+impl ::core::marker::Copy for ACMFORMATTAGDETAILSW {}
+impl ::core::clone::Clone for ACMFORMATTAGDETAILSW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMFORMATTAGDETAILS_FORMATTAG_CHARS: u32 = 48u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type ACMFORMATTAGENUMCBA = ::core::option::Option<unsafe extern "system" fn(hadid: HACMDRIVERID, paftd: *mut ACMFORMATTAGDETAILSA, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL>;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type ACMFORMATTAGENUMCBW = ::core::option::Option<unsafe extern "system" fn(hadid: HACMDRIVERID, paftd: *mut ACMFORMATTAGDETAILSW, dwinstance: usize, fdwsupport: u32) -> super::super::Foundation::BOOL>;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMHELPMSGCONTEXTHELP: &str = "acmchoose_contexthelp";
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMHELPMSGCONTEXTHELPA: &str = "acmchoose_contexthelp";
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMHELPMSGCONTEXTHELPW: &str = "acmchoose_contexthelp";
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMHELPMSGCONTEXTMENU: &str = "acmchoose_contextmenu";
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMHELPMSGCONTEXTMENUA: &str = "acmchoose_contextmenu";
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMHELPMSGCONTEXTMENUW: &str = "acmchoose_contextmenu";
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMHELPMSGSTRING: &str = "acmchoose_help";
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMHELPMSGSTRINGA: &str = "acmchoose_help";
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMHELPMSGSTRINGW: &str = "acmchoose_help";
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
+pub struct ACMSTREAMHEADER {
+ pub cbStruct: u32,
+ pub fdwStatus: u32,
+ pub dwUser: usize,
+ pub pbSrc: *mut u8,
+ pub cbSrcLength: u32,
+ pub cbSrcLengthUsed: u32,
+ pub dwSrcUser: usize,
+ pub pbDst: *mut u8,
+ pub cbDstLength: u32,
+ pub cbDstLengthUsed: u32,
+ pub dwDstUser: usize,
+ pub dwReservedDriver: [u32; 15],
+}
+#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
+impl ::core::marker::Copy for ACMSTREAMHEADER {}
+#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
+impl ::core::clone::Clone for ACMSTREAMHEADER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+#[cfg(target_arch = "x86")]
+pub struct ACMSTREAMHEADER {
+ pub cbStruct: u32,
+ pub fdwStatus: u32,
+ pub dwUser: usize,
+ pub pbSrc: *mut u8,
+ pub cbSrcLength: u32,
+ pub cbSrcLengthUsed: u32,
+ pub dwSrcUser: usize,
+ pub pbDst: *mut u8,
+ pub cbDstLength: u32,
+ pub cbDstLengthUsed: u32,
+ pub dwDstUser: usize,
+ pub dwReservedDriver: [u32; 10],
+}
+#[cfg(target_arch = "x86")]
+impl ::core::marker::Copy for ACMSTREAMHEADER {}
+#[cfg(target_arch = "x86")]
+impl ::core::clone::Clone for ACMSTREAMHEADER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMSTREAMHEADER_STATUSF_DONE: i32 = 65536i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMSTREAMHEADER_STATUSF_INQUEUE: i32 = 1048576i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACMSTREAMHEADER_STATUSF_PREPARED: i32 = 131072i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERADDF_FUNCTION: i32 = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERADDF_GLOBAL: i32 = 8i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERADDF_LOCAL: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERADDF_NAME: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERADDF_NOTIFYHWND: i32 = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERADDF_TYPEMASK: i32 = 7i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERENUMF_DISABLED: i32 = -2147483648i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERENUMF_NOLOCAL: i32 = 1073741824i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERPRIORITYF_ABLEMASK: i32 = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERPRIORITYF_BEGIN: i32 = 65536i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERPRIORITYF_DEFERMASK: i32 = 196608i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERPRIORITYF_DISABLE: i32 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERPRIORITYF_ENABLE: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_DRIVERPRIORITYF_END: i32 = 131072i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FILTERDETAILSF_FILTER: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FILTERDETAILSF_INDEX: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FILTERDETAILSF_QUERYMASK: i32 = 15i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FILTERENUMF_DWFILTERTAG: i32 = 65536i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FILTERTAGDETAILSF_FILTERTAG: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FILTERTAGDETAILSF_INDEX: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FILTERTAGDETAILSF_LARGESTSIZE: i32 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FILTERTAGDETAILSF_QUERYMASK: i32 = 15i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATDETAILSF_FORMAT: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATDETAILSF_INDEX: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATDETAILSF_QUERYMASK: i32 = 15i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATENUMF_CONVERT: i32 = 1048576i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATENUMF_HARDWARE: i32 = 4194304i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATENUMF_INPUT: i32 = 8388608i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATENUMF_NCHANNELS: i32 = 131072i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATENUMF_NSAMPLESPERSEC: i32 = 262144i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATENUMF_OUTPUT: i32 = 16777216i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATENUMF_SUGGEST: i32 = 2097152i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATENUMF_WBITSPERSAMPLE: i32 = 524288i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATENUMF_WFORMATTAG: i32 = 65536i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATSUGGESTF_NCHANNELS: i32 = 131072i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATSUGGESTF_NSAMPLESPERSEC: i32 = 262144i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATSUGGESTF_TYPEMASK: i32 = 16711680i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATSUGGESTF_WBITSPERSAMPLE: i32 = 524288i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATSUGGESTF_WFORMATTAG: i32 = 65536i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATTAGDETAILSF_FORMATTAG: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATTAGDETAILSF_INDEX: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATTAGDETAILSF_LARGESTSIZE: i32 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_FORMATTAGDETAILSF_QUERYMASK: i32 = 15i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_COUNT_CODECS: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_COUNT_CONVERTERS: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_COUNT_DISABLED: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_COUNT_DRIVERS: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_COUNT_FILTERS: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_COUNT_HARDWARE: u32 = 6u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_COUNT_LOCAL_CODECS: u32 = 21u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_COUNT_LOCAL_CONVERTERS: u32 = 22u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_COUNT_LOCAL_DISABLED: u32 = 24u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_COUNT_LOCAL_DRIVERS: u32 = 20u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_COUNT_LOCAL_FILTERS: u32 = 23u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_DRIVER_PRIORITY: u32 = 101u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_DRIVER_SUPPORT: u32 = 100u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_HARDWARE_WAVE_INPUT: u32 = 30u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_HARDWARE_WAVE_OUTPUT: u32 = 31u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_MAX_SIZE_FILTER: u32 = 51u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_METRIC_MAX_SIZE_FORMAT: u32 = 50u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_STREAMCONVERTF_BLOCKALIGN: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_STREAMCONVERTF_END: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_STREAMCONVERTF_START: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_STREAMOPENF_ASYNC: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_STREAMOPENF_NONREALTIME: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_STREAMOPENF_QUERY: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_STREAMSIZEF_DESTINATION: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_STREAMSIZEF_QUERYMASK: i32 = 15i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ACM_STREAMSIZEF_SOURCE: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type AMBISONICS_CHANNEL_ORDERING = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AMBISONICS_CHANNEL_ORDERING_ACN: AMBISONICS_CHANNEL_ORDERING = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type AMBISONICS_NORMALIZATION = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AMBISONICS_NORMALIZATION_SN3D: AMBISONICS_NORMALIZATION = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AMBISONICS_NORMALIZATION_N3D: AMBISONICS_NORMALIZATION = 1i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct AMBISONICS_PARAMS {
+ pub u32Size: u32,
+ pub u32Version: u32,
+ pub u32Type: AMBISONICS_TYPE,
+ pub u32ChannelOrdering: AMBISONICS_CHANNEL_ORDERING,
+ pub u32Normalization: AMBISONICS_NORMALIZATION,
+ pub u32Order: u32,
+ pub u32NumChannels: u32,
+ pub pu32ChannelMap: *mut u32,
+}
+impl ::core::marker::Copy for AMBISONICS_PARAMS {}
+impl ::core::clone::Clone for AMBISONICS_PARAMS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AMBISONICS_PARAM_VERSION_1: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type AMBISONICS_TYPE = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AMBISONICS_TYPE_FULL3D: AMBISONICS_TYPE = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_ALREADY_INITIALIZED: ::windows_sys::core::HRESULT = -2004287486i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL: ::windows_sys::core::HRESULT = -2004287469i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_BUFFER_ERROR: ::windows_sys::core::HRESULT = -2004287464i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_BUFFER_OPERATION_PENDING: ::windows_sys::core::HRESULT = -2004287477i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_BUFFER_SIZE_ERROR: ::windows_sys::core::HRESULT = -2004287466i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED: ::windows_sys::core::HRESULT = -2004287463i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_BUFFER_TOO_LARGE: ::windows_sys::core::HRESULT = -2004287482i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_CPUUSAGE_EXCEEDED: ::windows_sys::core::HRESULT = -2004287465i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_DEVICE_INVALIDATED: ::windows_sys::core::HRESULT = -2004287484i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_DEVICE_IN_USE: ::windows_sys::core::HRESULT = -2004287478i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_EFFECT_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -2004287423i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_EFFECT_STATE_READ_ONLY: ::windows_sys::core::HRESULT = -2004287422i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_ENDPOINT_CREATE_FAILED: ::windows_sys::core::HRESULT = -2004287473i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_ENDPOINT_OFFLOAD_NOT_CAPABLE: ::windows_sys::core::HRESULT = -2004287454i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_ENGINE_FORMAT_LOCKED: ::windows_sys::core::HRESULT = -2004287447i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_ENGINE_PERIODICITY_LOCKED: ::windows_sys::core::HRESULT = -2004287448i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED: ::windows_sys::core::HRESULT = -2004287471i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_EVENTHANDLE_NOT_SET: ::windows_sys::core::HRESULT = -2004287468i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED: ::windows_sys::core::HRESULT = -2004287474i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_EXCLUSIVE_MODE_ONLY: ::windows_sys::core::HRESULT = -2004287470i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_HEADTRACKING_ENABLED: ::windows_sys::core::HRESULT = -2004287440i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_HEADTRACKING_UNSUPPORTED: ::windows_sys::core::HRESULT = -2004287424i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_INCORRECT_BUFFER_SIZE: ::windows_sys::core::HRESULT = -2004287467i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_INVALID_DEVICE_PERIOD: ::windows_sys::core::HRESULT = -2004287456i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_INVALID_SIZE: ::windows_sys::core::HRESULT = -2004287479i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_INVALID_STREAM_FLAG: ::windows_sys::core::HRESULT = -2004287455i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_NONOFFLOAD_MODE_ONLY: ::windows_sys::core::HRESULT = -2004287451i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_NOT_INITIALIZED: ::windows_sys::core::HRESULT = -2004287487i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_NOT_STOPPED: ::windows_sys::core::HRESULT = -2004287483i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_OFFLOAD_MODE_ONLY: ::windows_sys::core::HRESULT = -2004287452i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_OUT_OF_OFFLOAD_RESOURCES: ::windows_sys::core::HRESULT = -2004287453i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_OUT_OF_ORDER: ::windows_sys::core::HRESULT = -2004287481i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_RAW_MODE_UNSUPPORTED: ::windows_sys::core::HRESULT = -2004287449i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_RESOURCES_INVALIDATED: ::windows_sys::core::HRESULT = -2004287450i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_SERVICE_NOT_RUNNING: ::windows_sys::core::HRESULT = -2004287472i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_THREAD_NOT_REGISTERED: ::windows_sys::core::HRESULT = -2004287476i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_UNSUPPORTED_FORMAT: ::windows_sys::core::HRESULT = -2004287480i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_E_WRONG_ENDPOINT_TYPE: ::windows_sys::core::HRESULT = -2004287485i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE: u32 = 536870912u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED: u32 = 1073741824u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED: u32 = 268435456u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type AUDCLNT_SHAREMODE = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_SHAREMODE_SHARED: AUDCLNT_SHAREMODE = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_SHAREMODE_EXCLUSIVE: AUDCLNT_SHAREMODE = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM: u32 = 2147483648u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_STREAMFLAGS_CROSSPROCESS: u32 = 65536u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_STREAMFLAGS_EVENTCALLBACK: u32 = 262144u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_STREAMFLAGS_LOOPBACK: u32 = 131072u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_STREAMFLAGS_NOPERSIST: u32 = 524288u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_STREAMFLAGS_RATEADJUST: u32 = 1048576u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY: u32 = 134217728u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type AUDCLNT_STREAMOPTIONS = u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_STREAMOPTIONS_NONE: AUDCLNT_STREAMOPTIONS = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_STREAMOPTIONS_RAW: AUDCLNT_STREAMOPTIONS = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_STREAMOPTIONS_MATCH_FORMAT: AUDCLNT_STREAMOPTIONS = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_STREAMOPTIONS_AMBISONICS: AUDCLNT_STREAMOPTIONS = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_S_BUFFER_EMPTY: ::windows_sys::core::HRESULT = 143196161i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_S_POSITION_STALLED: ::windows_sys::core::HRESULT = 143196163i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_S_THREAD_ALREADY_REGISTERED: ::windows_sys::core::HRESULT = 143196162i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct AUDIOCLIENT_ACTIVATION_PARAMS {
+ pub ActivationType: AUDIOCLIENT_ACTIVATION_TYPE,
+ pub Anonymous: AUDIOCLIENT_ACTIVATION_PARAMS_0,
+}
+impl ::core::marker::Copy for AUDIOCLIENT_ACTIVATION_PARAMS {}
+impl ::core::clone::Clone for AUDIOCLIENT_ACTIVATION_PARAMS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub union AUDIOCLIENT_ACTIVATION_PARAMS_0 {
+ pub ProcessLoopbackParams: AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS,
+}
+impl ::core::marker::Copy for AUDIOCLIENT_ACTIVATION_PARAMS_0 {}
+impl ::core::clone::Clone for AUDIOCLIENT_ACTIVATION_PARAMS_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type AUDIOCLIENT_ACTIVATION_TYPE = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDIOCLIENT_ACTIVATION_TYPE_DEFAULT: AUDIOCLIENT_ACTIVATION_TYPE = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDIOCLIENT_ACTIVATION_TYPE_PROCESS_LOOPBACK: AUDIOCLIENT_ACTIVATION_TYPE = 1i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS {
+ pub TargetProcessId: u32,
+ pub ProcessLoopbackMode: PROCESS_LOOPBACK_MODE,
+}
+impl ::core::marker::Copy for AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS {}
+impl ::core::clone::Clone for AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDIOCLOCK_CHARACTERISTIC_FIXED_FREQ: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type AUDIO_DUCKING_OPTIONS = u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDIO_DUCKING_OPTIONS_DEFAULT: AUDIO_DUCKING_OPTIONS = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDIO_DUCKING_OPTIONS_DO_NOT_DUCK_OTHER_STREAMS: AUDIO_DUCKING_OPTIONS = 1u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct AUDIO_EFFECT {
+ pub id: ::windows_sys::core::GUID,
+ pub canSetState: super::super::Foundation::BOOL,
+ pub state: AUDIO_EFFECT_STATE,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for AUDIO_EFFECT {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for AUDIO_EFFECT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type AUDIO_EFFECT_STATE = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDIO_EFFECT_STATE_OFF: AUDIO_EFFECT_STATE = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDIO_EFFECT_STATE_ON: AUDIO_EFFECT_STATE = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type AUDIO_STREAM_CATEGORY = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_Other: AUDIO_STREAM_CATEGORY = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_ForegroundOnlyMedia: AUDIO_STREAM_CATEGORY = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_Communications: AUDIO_STREAM_CATEGORY = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_Alerts: AUDIO_STREAM_CATEGORY = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_SoundEffects: AUDIO_STREAM_CATEGORY = 5i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_GameEffects: AUDIO_STREAM_CATEGORY = 6i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_GameMedia: AUDIO_STREAM_CATEGORY = 7i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_GameChat: AUDIO_STREAM_CATEGORY = 8i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_Speech: AUDIO_STREAM_CATEGORY = 9i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_Movie: AUDIO_STREAM_CATEGORY = 10i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_Media: AUDIO_STREAM_CATEGORY = 11i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_FarFieldSpeech: AUDIO_STREAM_CATEGORY = 12i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_UniformSpeech: AUDIO_STREAM_CATEGORY = 13i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioCategory_VoiceTyping: AUDIO_STREAM_CATEGORY = 14i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct AUDIO_VOLUME_NOTIFICATION_DATA {
+ pub guidEventContext: ::windows_sys::core::GUID,
+ pub bMuted: super::super::Foundation::BOOL,
+ pub fMasterVolume: f32,
+ pub nChannels: u32,
+ pub afChannelVolumes: [f32; 1],
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for AUDIO_VOLUME_NOTIFICATION_DATA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for AUDIO_VOLUME_NOTIFICATION_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct AUXCAPS2A {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [super::super::Foundation::CHAR; 32],
+ pub wTechnology: u16,
+ pub wReserved1: u16,
+ pub dwSupport: u32,
+ pub ManufacturerGuid: ::windows_sys::core::GUID,
+ pub ProductGuid: ::windows_sys::core::GUID,
+ pub NameGuid: ::windows_sys::core::GUID,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for AUXCAPS2A {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for AUXCAPS2A {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct AUXCAPS2W {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [u16; 32],
+ pub wTechnology: u16,
+ pub wReserved1: u16,
+ pub dwSupport: u32,
+ pub ManufacturerGuid: ::windows_sys::core::GUID,
+ pub ProductGuid: ::windows_sys::core::GUID,
+ pub NameGuid: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for AUXCAPS2W {}
+impl ::core::clone::Clone for AUXCAPS2W {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct AUXCAPSA {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [super::super::Foundation::CHAR; 32],
+ pub wTechnology: u16,
+ pub wReserved1: u16,
+ pub dwSupport: u32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for AUXCAPSA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for AUXCAPSA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct AUXCAPSW {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [u16; 32],
+ pub wTechnology: u16,
+ pub wReserved1: u16,
+ pub dwSupport: u32,
+}
+impl ::core::marker::Copy for AUXCAPSW {}
+impl ::core::clone::Clone for AUXCAPSW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUXCAPS_AUXIN: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUXCAPS_CDAUDIO: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUXCAPS_LRVOLUME: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUXCAPS_VOLUME: u32 = 1u32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct AudioClient3ActivationParams {
+ pub tracingContextId: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for AudioClient3ActivationParams {}
+impl ::core::clone::Clone for AudioClient3ActivationParams {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct AudioClientProperties {
+ pub cbSize: u32,
+ pub bIsOffload: super::super::Foundation::BOOL,
+ pub eCategory: AUDIO_STREAM_CATEGORY,
+ pub Options: AUDCLNT_STREAMOPTIONS,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for AudioClientProperties {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for AudioClientProperties {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct AudioExtensionParams {
+ pub AddPageParam: super::super::Foundation::LPARAM,
+ pub pEndpoint: IMMDevice,
+ pub pPnpInterface: IMMDevice,
+ pub pPnpDevnode: IMMDevice,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for AudioExtensionParams {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for AudioExtensionParams {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type AudioObjectType = u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_None: AudioObjectType = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_Dynamic: AudioObjectType = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_FrontLeft: AudioObjectType = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_FrontRight: AudioObjectType = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_FrontCenter: AudioObjectType = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_LowFrequency: AudioObjectType = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_SideLeft: AudioObjectType = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_SideRight: AudioObjectType = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_BackLeft: AudioObjectType = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_BackRight: AudioObjectType = 256u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_TopFrontLeft: AudioObjectType = 512u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_TopFrontRight: AudioObjectType = 1024u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_TopBackLeft: AudioObjectType = 2048u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_TopBackRight: AudioObjectType = 4096u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_BottomFrontLeft: AudioObjectType = 8192u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_BottomFrontRight: AudioObjectType = 16384u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_BottomBackLeft: AudioObjectType = 32768u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_BottomBackRight: AudioObjectType = 65536u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioObjectType_BackCenter: AudioObjectType = 131072u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type AudioSessionDisconnectReason = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DisconnectReasonDeviceRemoval: AudioSessionDisconnectReason = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DisconnectReasonServerShutdown: AudioSessionDisconnectReason = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DisconnectReasonFormatChanged: AudioSessionDisconnectReason = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DisconnectReasonSessionLogoff: AudioSessionDisconnectReason = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DisconnectReasonSessionDisconnected: AudioSessionDisconnectReason = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DisconnectReasonExclusiveModeOverride: AudioSessionDisconnectReason = 5i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type AudioSessionState = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioSessionStateInactive: AudioSessionState = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioSessionStateActive: AudioSessionState = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AudioSessionStateExpired: AudioSessionState = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type AudioStateMonitorSoundLevel = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const Muted: AudioStateMonitorSoundLevel = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const Low: AudioStateMonitorSoundLevel = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const Full: AudioStateMonitorSoundLevel = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+#[repr(transparent)]
+pub struct ConnectorType(pub i32);
+impl ConnectorType {
+ pub const Unknown_Connector: Self = Self(0i32);
+ pub const Physical_Internal: Self = Self(1i32);
+ pub const Physical_External: Self = Self(2i32);
+ pub const Software_IO: Self = Self(3i32);
+ pub const Software_Fixed: Self = Self(4i32);
+ pub const Network: Self = Self(5i32);
+}
+impl ::core::marker::Copy for ConnectorType {}
+impl ::core::clone::Clone for ConnectorType {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DEVICE_STATEMASK_ALL: u32 = 15u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DEVICE_STATE_ACTIVE: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DEVICE_STATE_DISABLED: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DEVICE_STATE_NOTPRESENT: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DEVICE_STATE_UNPLUGGED: u32 = 8u32;
+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] };
+pub const DEVINTERFACE_AUDIO_RENDER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3862068397, data2: 56556, data3: 18761, data4: [174, 138, 153, 30, 151, 106, 121, 210] };
+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] };
+pub const DEVINTERFACE_MIDI_OUTPUT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1841443616, data2: 43827, data3: 19684, data4: [128, 212, 187, 179, 235, 191, 40, 20] };
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct DIRECTX_AUDIO_ACTIVATION_PARAMS {
+ pub cbDirectXAudioActivationParams: u32,
+ pub guidAudioSession: ::windows_sys::core::GUID,
+ pub dwAudioStreamFlags: u32,
+}
+impl ::core::marker::Copy for DIRECTX_AUDIO_ACTIVATION_PARAMS {}
+impl ::core::clone::Clone for DIRECTX_AUDIO_ACTIVATION_PARAMS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DRVM_MAPPER: u32 = 8192u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DRVM_MAPPER_STATUS: u32 = 8192u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DRV_MAPPER_PREFERRED_INPUT_GET: u32 = 16384u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DRV_MAPPER_PREFERRED_OUTPUT_GET: u32 = 16386u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type DataFlow = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const In: DataFlow = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const Out: DataFlow = 1i32;
+pub const DeviceTopology: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 502675920, data2: 24257, data3: 18346, data4: [147, 121, 130, 141, 193, 170, 140, 89] };
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct ECHOWAVEFILTER {
+ pub wfltr: WAVEFILTER,
+ pub dwVolume: u32,
+ pub dwDelay: u32,
+}
+impl ::core::marker::Copy for ECHOWAVEFILTER {}
+impl ::core::clone::Clone for ECHOWAVEFILTER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type EDataFlow = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const eRender: EDataFlow = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const eCapture: EDataFlow = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const eAll: EDataFlow = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const EDataFlow_enum_count: EDataFlow = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ENDPOINT_FORMAT_RESET_MIX_ONLY: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ENDPOINT_HARDWARE_SUPPORT_METER: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ENDPOINT_HARDWARE_SUPPORT_MUTE: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ENDPOINT_HARDWARE_SUPPORT_VOLUME: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ENDPOINT_SYSFX_DISABLED: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ENDPOINT_SYSFX_ENABLED: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type ERole = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const eConsole: ERole = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const eMultimedia: ERole = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const eCommunications: ERole = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const ERole_enum_count: ERole = 3i32;
+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] };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type EndpointFormFactor = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const RemoteNetworkDevice: EndpointFormFactor = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const Speakers: EndpointFormFactor = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const LineLevel: EndpointFormFactor = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const Headphones: EndpointFormFactor = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const Microphone: EndpointFormFactor = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const Headset: EndpointFormFactor = 5i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const Handset: EndpointFormFactor = 6i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const UnknownDigitalPassthrough: EndpointFormFactor = 7i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPDIF: EndpointFormFactor = 8i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const DigitalAudioDisplayDevice: EndpointFormFactor = 9i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const UnknownFormFactor: EndpointFormFactor = 10i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const EndpointFormFactor_enum_count: EndpointFormFactor = 11i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const FILTERCHOOSE_CUSTOM_VERIFY: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const FILTERCHOOSE_FILTERTAG_VERIFY: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const FILTERCHOOSE_FILTER_VERIFY: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const FILTERCHOOSE_MESSAGE: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const FORMATCHOOSE_CUSTOM_VERIFY: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const FORMATCHOOSE_FORMATTAG_VERIFY: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const FORMATCHOOSE_FORMAT_VERIFY: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const FORMATCHOOSE_MESSAGE: u32 = 0u32;
+pub type HACMDRIVER = isize;
+pub type HACMDRIVERID = isize;
+pub type HACMOBJ = isize;
+pub type HACMSTREAM = isize;
+pub type HMIDI = isize;
+pub type HMIDIIN = isize;
+pub type HMIDIOUT = isize;
+pub type HMIDISTRM = isize;
+pub type HMIXER = isize;
+pub type HMIXEROBJ = isize;
+pub type HWAVE = isize;
+pub type HWAVEIN = isize;
+pub type HWAVEOUT = isize;
+pub type IActivateAudioInterfaceAsyncOperation = *mut ::core::ffi::c_void;
+pub type IActivateAudioInterfaceCompletionHandler = *mut ::core::ffi::c_void;
+pub type IAudioAmbisonicsControl = *mut ::core::ffi::c_void;
+pub type IAudioAutoGainControl = *mut ::core::ffi::c_void;
+pub type IAudioBass = *mut ::core::ffi::c_void;
+pub type IAudioCaptureClient = *mut ::core::ffi::c_void;
+pub type IAudioChannelConfig = *mut ::core::ffi::c_void;
+pub type IAudioClient = *mut ::core::ffi::c_void;
+pub type IAudioClient2 = *mut ::core::ffi::c_void;
+pub type IAudioClient3 = *mut ::core::ffi::c_void;
+pub type IAudioClientDuckingControl = *mut ::core::ffi::c_void;
+pub type IAudioClock = *mut ::core::ffi::c_void;
+pub type IAudioClock2 = *mut ::core::ffi::c_void;
+pub type IAudioClockAdjustment = *mut ::core::ffi::c_void;
+pub type IAudioEffectsChangedNotificationClient = *mut ::core::ffi::c_void;
+pub type IAudioEffectsManager = *mut ::core::ffi::c_void;
+pub type IAudioFormatEnumerator = *mut ::core::ffi::c_void;
+pub type IAudioInputSelector = *mut ::core::ffi::c_void;
+pub type IAudioLoudness = *mut ::core::ffi::c_void;
+pub type IAudioMidrange = *mut ::core::ffi::c_void;
+pub type IAudioMute = *mut ::core::ffi::c_void;
+pub type IAudioOutputSelector = *mut ::core::ffi::c_void;
+pub type IAudioPeakMeter = *mut ::core::ffi::c_void;
+pub type IAudioRenderClient = *mut ::core::ffi::c_void;
+pub type IAudioSessionControl = *mut ::core::ffi::c_void;
+pub type IAudioSessionControl2 = *mut ::core::ffi::c_void;
+pub type IAudioSessionEnumerator = *mut ::core::ffi::c_void;
+pub type IAudioSessionEvents = *mut ::core::ffi::c_void;
+pub type IAudioSessionManager = *mut ::core::ffi::c_void;
+pub type IAudioSessionManager2 = *mut ::core::ffi::c_void;
+pub type IAudioSessionNotification = *mut ::core::ffi::c_void;
+pub type IAudioStateMonitor = *mut ::core::ffi::c_void;
+pub type IAudioStreamVolume = *mut ::core::ffi::c_void;
+pub type IAudioSystemEffectsPropertyChangeNotificationClient = *mut ::core::ffi::c_void;
+pub type IAudioSystemEffectsPropertyStore = *mut ::core::ffi::c_void;
+pub type IAudioTreble = *mut ::core::ffi::c_void;
+pub type IAudioVolumeDuckNotification = *mut ::core::ffi::c_void;
+pub type IAudioVolumeLevel = *mut ::core::ffi::c_void;
+pub type IChannelAudioVolume = *mut ::core::ffi::c_void;
+pub type IConnector = *mut ::core::ffi::c_void;
+pub type IControlChangeNotify = *mut ::core::ffi::c_void;
+pub type IControlInterface = *mut ::core::ffi::c_void;
+pub type IDeviceSpecificProperty = *mut ::core::ffi::c_void;
+pub type IDeviceTopology = *mut ::core::ffi::c_void;
+pub type IMMDevice = *mut ::core::ffi::c_void;
+pub type IMMDeviceActivator = *mut ::core::ffi::c_void;
+pub type IMMDeviceCollection = *mut ::core::ffi::c_void;
+pub type IMMDeviceEnumerator = *mut ::core::ffi::c_void;
+pub type IMMEndpoint = *mut ::core::ffi::c_void;
+pub type IMMNotificationClient = *mut ::core::ffi::c_void;
+pub type IMessageFilter = *mut ::core::ffi::c_void;
+pub type IPart = *mut ::core::ffi::c_void;
+pub type IPartsList = *mut ::core::ffi::c_void;
+pub type IPerChannelDbLevel = *mut ::core::ffi::c_void;
+pub type ISimpleAudioVolume = *mut ::core::ffi::c_void;
+pub type ISpatialAudioClient = *mut ::core::ffi::c_void;
+pub type ISpatialAudioClient2 = *mut ::core::ffi::c_void;
+pub type ISpatialAudioMetadataClient = *mut ::core::ffi::c_void;
+pub type ISpatialAudioMetadataCopier = *mut ::core::ffi::c_void;
+pub type ISpatialAudioMetadataItems = *mut ::core::ffi::c_void;
+pub type ISpatialAudioMetadataItemsBuffer = *mut ::core::ffi::c_void;
+pub type ISpatialAudioMetadataReader = *mut ::core::ffi::c_void;
+pub type ISpatialAudioMetadataWriter = *mut ::core::ffi::c_void;
+pub type ISpatialAudioObject = *mut ::core::ffi::c_void;
+pub type ISpatialAudioObjectBase = *mut ::core::ffi::c_void;
+pub type ISpatialAudioObjectForHrtf = *mut ::core::ffi::c_void;
+pub type ISpatialAudioObjectForMetadataCommands = *mut ::core::ffi::c_void;
+pub type ISpatialAudioObjectForMetadataItems = *mut ::core::ffi::c_void;
+pub type ISpatialAudioObjectRenderStream = *mut ::core::ffi::c_void;
+pub type ISpatialAudioObjectRenderStreamBase = *mut ::core::ffi::c_void;
+pub type ISpatialAudioObjectRenderStreamForHrtf = *mut ::core::ffi::c_void;
+pub type ISpatialAudioObjectRenderStreamForMetadata = *mut ::core::ffi::c_void;
+pub type ISpatialAudioObjectRenderStreamNotify = *mut ::core::ffi::c_void;
+pub type ISubunit = *mut ::core::ffi::c_void;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub type LPACMDRIVERPROC = ::core::option::Option<unsafe extern "system" fn(param0: usize, param1: HACMDRIVERID, param2: u32, param3: super::super::Foundation::LPARAM, param4: super::super::Foundation::LPARAM) -> super::super::Foundation::LRESULT>;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Media_Multimedia\"`*"]
+#[cfg(feature = "Win32_Media_Multimedia")]
+pub type LPMIDICALLBACK = ::core::option::Option<unsafe extern "system" fn(hdrvr: super::Multimedia::HDRVR, umsg: u32, dwuser: usize, dw1: usize, dw2: usize)>;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Media_Multimedia\"`*"]
+#[cfg(feature = "Win32_Media_Multimedia")]
+pub type LPWAVECALLBACK = ::core::option::Option<unsafe extern "system" fn(hdrvr: super::Multimedia::HDRVR, umsg: u32, dwuser: usize, dw1: usize, dw2: usize)>;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MEVT_F_CALLBACK: i32 = 1073741824i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MEVT_F_LONG: i32 = -2147483648i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MEVT_F_SHORT: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MHDR_DONE: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MHDR_INQUEUE: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MHDR_ISSTRM: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MHDR_PREPARED: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDICAPS_CACHE: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDICAPS_LRVOLUME: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDICAPS_STREAM: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDICAPS_VOLUME: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIERR_BADOPENMODE: u32 = 70u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIERR_DONT_CONTINUE: u32 = 71u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIERR_INVALIDSETUP: u32 = 69u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIERR_LASTERROR: u32 = 71u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIERR_NODEVICE: u32 = 68u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIERR_NOMAP: u32 = 66u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIERR_NOTREADY: u32 = 67u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIERR_STILLPLAYING: u32 = 65u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIERR_UNPREPARED: u32 = 64u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIDIEVENT {
+ pub dwDeltaTime: u32,
+ pub dwStreamID: u32,
+ pub dwEvent: u32,
+ pub dwParms: [u32; 1],
+}
+impl ::core::marker::Copy for MIDIEVENT {}
+impl ::core::clone::Clone for MIDIEVENT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIDIHDR {
+ pub lpData: ::windows_sys::core::PSTR,
+ pub dwBufferLength: u32,
+ pub dwBytesRecorded: u32,
+ pub dwUser: usize,
+ pub dwFlags: u32,
+ pub lpNext: *mut MIDIHDR,
+ pub reserved: usize,
+ pub dwOffset: u32,
+ pub dwReserved: [usize; 8],
+}
+impl ::core::marker::Copy for MIDIHDR {}
+impl ::core::clone::Clone for MIDIHDR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIDIINCAPS2A {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [super::super::Foundation::CHAR; 32],
+ pub dwSupport: u32,
+ pub ManufacturerGuid: ::windows_sys::core::GUID,
+ pub ProductGuid: ::windows_sys::core::GUID,
+ pub NameGuid: ::windows_sys::core::GUID,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIDIINCAPS2A {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIDIINCAPS2A {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIDIINCAPS2W {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [u16; 32],
+ pub dwSupport: u32,
+ pub ManufacturerGuid: ::windows_sys::core::GUID,
+ pub ProductGuid: ::windows_sys::core::GUID,
+ pub NameGuid: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for MIDIINCAPS2W {}
+impl ::core::clone::Clone for MIDIINCAPS2W {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIDIINCAPSA {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [super::super::Foundation::CHAR; 32],
+ pub dwSupport: u32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIDIINCAPSA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIDIINCAPSA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIDIINCAPSW {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [u16; 32],
+ pub dwSupport: u32,
+}
+impl ::core::marker::Copy for MIDIINCAPSW {}
+impl ::core::clone::Clone for MIDIINCAPSW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIDIOUTCAPS2A {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [super::super::Foundation::CHAR; 32],
+ pub wTechnology: u16,
+ pub wVoices: u16,
+ pub wNotes: u16,
+ pub wChannelMask: u16,
+ pub dwSupport: u32,
+ pub ManufacturerGuid: ::windows_sys::core::GUID,
+ pub ProductGuid: ::windows_sys::core::GUID,
+ pub NameGuid: ::windows_sys::core::GUID,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIDIOUTCAPS2A {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIDIOUTCAPS2A {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIDIOUTCAPS2W {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [u16; 32],
+ pub wTechnology: u16,
+ pub wVoices: u16,
+ pub wNotes: u16,
+ pub wChannelMask: u16,
+ pub dwSupport: u32,
+ pub ManufacturerGuid: ::windows_sys::core::GUID,
+ pub ProductGuid: ::windows_sys::core::GUID,
+ pub NameGuid: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for MIDIOUTCAPS2W {}
+impl ::core::clone::Clone for MIDIOUTCAPS2W {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIDIOUTCAPSA {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [super::super::Foundation::CHAR; 32],
+ pub wTechnology: u16,
+ pub wVoices: u16,
+ pub wNotes: u16,
+ pub wChannelMask: u16,
+ pub dwSupport: u32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIDIOUTCAPSA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIDIOUTCAPSA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIDIOUTCAPSW {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [u16; 32],
+ pub wTechnology: u16,
+ pub wVoices: u16,
+ pub wNotes: u16,
+ pub wChannelMask: u16,
+ pub dwSupport: u32,
+}
+impl ::core::marker::Copy for MIDIOUTCAPSW {}
+impl ::core::clone::Clone for MIDIOUTCAPSW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIPATCHSIZE: u32 = 128u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIDIPROPTEMPO {
+ pub cbStruct: u32,
+ pub dwTempo: u32,
+}
+impl ::core::marker::Copy for MIDIPROPTEMPO {}
+impl ::core::clone::Clone for MIDIPROPTEMPO {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIDIPROPTIMEDIV {
+ pub cbStruct: u32,
+ pub dwTimeDiv: u32,
+}
+impl ::core::marker::Copy for MIDIPROPTIMEDIV {}
+impl ::core::clone::Clone for MIDIPROPTIMEDIV {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIPROP_GET: i32 = 1073741824i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIPROP_SET: i32 = -2147483648i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIPROP_TEMPO: i32 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDIPROP_TIMEDIV: i32 = 1i32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIDISTRMBUFFVER {
+ pub dwVersion: u32,
+ pub dwMid: u32,
+ pub dwOEMVersion: u32,
+}
+impl ::core::marker::Copy for MIDISTRMBUFFVER {}
+impl ::core::clone::Clone for MIDISTRMBUFFVER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDISTRM_ERROR: i32 = -2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDI_CACHE_ALL: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDI_CACHE_BESTFIT: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDI_CACHE_QUERY: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDI_UNCACHE: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type MIDI_WAVE_OPEN_TYPE = u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const CALLBACK_TYPEMASK: MIDI_WAVE_OPEN_TYPE = 458752u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const CALLBACK_NULL: MIDI_WAVE_OPEN_TYPE = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const CALLBACK_WINDOW: MIDI_WAVE_OPEN_TYPE = 65536u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const CALLBACK_TASK: MIDI_WAVE_OPEN_TYPE = 131072u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const CALLBACK_FUNCTION: MIDI_WAVE_OPEN_TYPE = 196608u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const CALLBACK_THREAD: MIDI_WAVE_OPEN_TYPE = 131072u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const CALLBACK_EVENT: MIDI_WAVE_OPEN_TYPE = 327680u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_QUERY: MIDI_WAVE_OPEN_TYPE = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_ALLOWSYNC: MIDI_WAVE_OPEN_TYPE = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_MAPPED: MIDI_WAVE_OPEN_TYPE = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_DIRECT: MIDI_WAVE_OPEN_TYPE = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_DIRECT_QUERY: MIDI_WAVE_OPEN_TYPE = 9u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE: MIDI_WAVE_OPEN_TYPE = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIDI_IO_STATUS: MIDI_WAVE_OPEN_TYPE = 32u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIXERCAPS2A {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [super::super::Foundation::CHAR; 32],
+ pub fdwSupport: u32,
+ pub cDestinations: u32,
+ pub ManufacturerGuid: ::windows_sys::core::GUID,
+ pub ProductGuid: ::windows_sys::core::GUID,
+ pub NameGuid: ::windows_sys::core::GUID,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERCAPS2A {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERCAPS2A {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIXERCAPS2W {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [u16; 32],
+ pub fdwSupport: u32,
+ pub cDestinations: u32,
+ pub ManufacturerGuid: ::windows_sys::core::GUID,
+ pub ProductGuid: ::windows_sys::core::GUID,
+ pub NameGuid: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for MIXERCAPS2W {}
+impl ::core::clone::Clone for MIXERCAPS2W {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIXERCAPSA {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [super::super::Foundation::CHAR; 32],
+ pub fdwSupport: u32,
+ pub cDestinations: u32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERCAPSA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERCAPSA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIXERCAPSW {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [u16; 32],
+ pub fdwSupport: u32,
+ pub cDestinations: u32,
+}
+impl ::core::marker::Copy for MIXERCAPSW {}
+impl ::core::clone::Clone for MIXERCAPSW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIXERCONTROLA {
+ pub cbStruct: u32,
+ pub dwControlID: u32,
+ pub dwControlType: u32,
+ pub fdwControl: u32,
+ pub cMultipleItems: u32,
+ pub szShortName: [super::super::Foundation::CHAR; 16],
+ pub szName: [super::super::Foundation::CHAR; 64],
+ pub Bounds: MIXERCONTROLA_0,
+ pub Metrics: MIXERCONTROLA_1,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERCONTROLA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERCONTROLA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub union MIXERCONTROLA_0 {
+ pub Anonymous1: MIXERCONTROLA_0_0,
+ pub Anonymous2: MIXERCONTROLA_0_1,
+ pub dwReserved: [u32; 6],
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERCONTROLA_0 {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERCONTROLA_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIXERCONTROLA_0_0 {
+ pub lMinimum: i32,
+ pub lMaximum: i32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERCONTROLA_0_0 {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERCONTROLA_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIXERCONTROLA_0_1 {
+ pub dwMinimum: u32,
+ pub dwMaximum: u32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERCONTROLA_0_1 {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERCONTROLA_0_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub union MIXERCONTROLA_1 {
+ pub cSteps: u32,
+ pub cbCustomData: u32,
+ pub dwReserved: [u32; 6],
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERCONTROLA_1 {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERCONTROLA_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIXERCONTROLDETAILS {
+ pub cbStruct: u32,
+ pub dwControlID: u32,
+ pub cChannels: u32,
+ pub Anonymous: MIXERCONTROLDETAILS_0,
+ pub cbDetails: u32,
+ pub paDetails: *mut ::core::ffi::c_void,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERCONTROLDETAILS {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERCONTROLDETAILS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub union MIXERCONTROLDETAILS_0 {
+ pub hwndOwner: super::super::Foundation::HWND,
+ pub cMultipleItems: u32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERCONTROLDETAILS_0 {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERCONTROLDETAILS_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIXERCONTROLDETAILS_BOOLEAN {
+ pub fValue: i32,
+}
+impl ::core::marker::Copy for MIXERCONTROLDETAILS_BOOLEAN {}
+impl ::core::clone::Clone for MIXERCONTROLDETAILS_BOOLEAN {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIXERCONTROLDETAILS_LISTTEXTA {
+ pub dwParam1: u32,
+ pub dwParam2: u32,
+ pub szName: [super::super::Foundation::CHAR; 64],
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERCONTROLDETAILS_LISTTEXTA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERCONTROLDETAILS_LISTTEXTA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIXERCONTROLDETAILS_LISTTEXTW {
+ pub dwParam1: u32,
+ pub dwParam2: u32,
+ pub szName: [u16; 64],
+}
+impl ::core::marker::Copy for MIXERCONTROLDETAILS_LISTTEXTW {}
+impl ::core::clone::Clone for MIXERCONTROLDETAILS_LISTTEXTW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIXERCONTROLDETAILS_SIGNED {
+ pub lValue: i32,
+}
+impl ::core::marker::Copy for MIXERCONTROLDETAILS_SIGNED {}
+impl ::core::clone::Clone for MIXERCONTROLDETAILS_SIGNED {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIXERCONTROLDETAILS_UNSIGNED {
+ pub dwValue: u32,
+}
+impl ::core::marker::Copy for MIXERCONTROLDETAILS_UNSIGNED {}
+impl ::core::clone::Clone for MIXERCONTROLDETAILS_UNSIGNED {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIXERCONTROLW {
+ pub cbStruct: u32,
+ pub dwControlID: u32,
+ pub dwControlType: u32,
+ pub fdwControl: u32,
+ pub cMultipleItems: u32,
+ pub szShortName: [u16; 16],
+ pub szName: [u16; 64],
+ pub Bounds: MIXERCONTROLW_0,
+ pub Metrics: MIXERCONTROLW_1,
+}
+impl ::core::marker::Copy for MIXERCONTROLW {}
+impl ::core::clone::Clone for MIXERCONTROLW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub union MIXERCONTROLW_0 {
+ pub Anonymous1: MIXERCONTROLW_0_0,
+ pub Anonymous2: MIXERCONTROLW_0_1,
+ pub dwReserved: [u32; 6],
+}
+impl ::core::marker::Copy for MIXERCONTROLW_0 {}
+impl ::core::clone::Clone for MIXERCONTROLW_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIXERCONTROLW_0_0 {
+ pub lMinimum: i32,
+ pub lMaximum: i32,
+}
+impl ::core::marker::Copy for MIXERCONTROLW_0_0 {}
+impl ::core::clone::Clone for MIXERCONTROLW_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIXERCONTROLW_0_1 {
+ pub dwMinimum: u32,
+ pub dwMaximum: u32,
+}
+impl ::core::marker::Copy for MIXERCONTROLW_0_1 {}
+impl ::core::clone::Clone for MIXERCONTROLW_0_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub union MIXERCONTROLW_1 {
+ pub cSteps: u32,
+ pub cbCustomData: u32,
+ pub dwReserved: [u32; 6],
+}
+impl ::core::marker::Copy for MIXERCONTROLW_1 {}
+impl ::core::clone::Clone for MIXERCONTROLW_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLF_DISABLED: i32 = -2147483648i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLF_MULTIPLE: i32 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLF_UNIFORM: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_BASS: u32 = 1342373890u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_BASS_BOOST: u32 = 536945271u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_BOOLEAN: u32 = 536936448u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_BOOLEANMETER: u32 = 268500992u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_BUTTON: u32 = 553713664u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_CUSTOM: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_DECIBELS: u32 = 805568512u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_EQUALIZER: u32 = 1342373892u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_FADER: u32 = 1342373888u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_LOUDNESS: u32 = 536936452u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_MICROTIME: u32 = 1610809344u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_MILLITIME: u32 = 1627586560u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_MIXER: u32 = 1895890945u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_MONO: u32 = 536936451u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT: u32 = 1895890944u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_MUTE: u32 = 536936450u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_MUX: u32 = 1879113729u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_ONOFF: u32 = 536936449u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_PAN: u32 = 1073872897u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_PEAKMETER: u32 = 268566529u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_PERCENT: u32 = 805634048u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_QSOUNDPAN: u32 = 1073872898u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_SIGNED: u32 = 805437440u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_SIGNEDMETER: u32 = 268566528u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_SINGLESELECT: u32 = 1879113728u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_SLIDER: u32 = 1073872896u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_STEREOENH: u32 = 536936453u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_TREBLE: u32 = 1342373891u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_UNSIGNED: u32 = 805502976u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER: u32 = 268632064u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CONTROLTYPE_VOLUME: u32 = 1342373889u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_CLASS_CUSTOM: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_CLASS_FADER: i32 = 1342177280i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_CLASS_LIST: i32 = 1879048192i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_CLASS_MASK: i32 = -268435456i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_CLASS_METER: i32 = 268435456i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_CLASS_NUMBER: i32 = 805306368i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_CLASS_SLIDER: i32 = 1073741824i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_CLASS_SWITCH: i32 = 536870912i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_CLASS_TIME: i32 = 1610612736i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_SC_LIST_MULTIPLE: i32 = 16777216i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_SC_LIST_SINGLE: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_SC_METER_POLLED: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_SC_SWITCH_BOOLEAN: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_SC_SWITCH_BUTTON: i32 = 16777216i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_SC_TIME_MICROSECS: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_SC_TIME_MILLISECS: i32 = 16777216i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_SUBCLASS_MASK: i32 = 251658240i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_UNITS_BOOLEAN: i32 = 65536i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_UNITS_CUSTOM: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_UNITS_DECIBELS: i32 = 262144i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_UNITS_MASK: i32 = 16711680i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_UNITS_PERCENT: i32 = 327680i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_UNITS_SIGNED: i32 = 131072i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERCONTROL_CT_UNITS_UNSIGNED: i32 = 196608i32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIXERLINEA {
+ pub cbStruct: u32,
+ pub dwDestination: u32,
+ pub dwSource: u32,
+ pub dwLineID: u32,
+ pub fdwLine: u32,
+ pub dwUser: usize,
+ pub dwComponentType: MIXERLINE_COMPONENTTYPE,
+ pub cChannels: u32,
+ pub cConnections: u32,
+ pub cControls: u32,
+ pub szShortName: [super::super::Foundation::CHAR; 16],
+ pub szName: [super::super::Foundation::CHAR; 64],
+ pub Target: MIXERLINEA_0,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERLINEA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERLINEA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIXERLINEA_0 {
+ pub dwType: u32,
+ pub dwDeviceID: u32,
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [super::super::Foundation::CHAR; 32],
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERLINEA_0 {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERLINEA_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct MIXERLINECONTROLSA {
+ pub cbStruct: u32,
+ pub dwLineID: u32,
+ pub Anonymous: MIXERLINECONTROLSA_0,
+ pub cControls: u32,
+ pub cbmxctrl: u32,
+ pub pamxctrl: *mut MIXERCONTROLA,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERLINECONTROLSA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERLINECONTROLSA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub union MIXERLINECONTROLSA_0 {
+ pub dwControlID: u32,
+ pub dwControlType: u32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for MIXERLINECONTROLSA_0 {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for MIXERLINECONTROLSA_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIXERLINECONTROLSW {
+ pub cbStruct: u32,
+ pub dwLineID: u32,
+ pub Anonymous: MIXERLINECONTROLSW_0,
+ pub cControls: u32,
+ pub cbmxctrl: u32,
+ pub pamxctrl: *mut MIXERCONTROLW,
+}
+impl ::core::marker::Copy for MIXERLINECONTROLSW {}
+impl ::core::clone::Clone for MIXERLINECONTROLSW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub union MIXERLINECONTROLSW_0 {
+ pub dwControlID: u32,
+ pub dwControlType: u32,
+}
+impl ::core::marker::Copy for MIXERLINECONTROLSW_0 {}
+impl ::core::clone::Clone for MIXERLINECONTROLSW_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIXERLINEW {
+ pub cbStruct: u32,
+ pub dwDestination: u32,
+ pub dwSource: u32,
+ pub dwLineID: u32,
+ pub fdwLine: u32,
+ pub dwUser: usize,
+ pub dwComponentType: MIXERLINE_COMPONENTTYPE,
+ pub cChannels: u32,
+ pub cConnections: u32,
+ pub cControls: u32,
+ pub szShortName: [u16; 16],
+ pub szName: [u16; 64],
+ pub Target: MIXERLINEW_0,
+}
+impl ::core::marker::Copy for MIXERLINEW {}
+impl ::core::clone::Clone for MIXERLINEW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct MIXERLINEW_0 {
+ pub dwType: u32,
+ pub dwDeviceID: u32,
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [u16; 32],
+}
+impl ::core::marker::Copy for MIXERLINEW_0 {}
+impl ::core::clone::Clone for MIXERLINEW_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type MIXERLINE_COMPONENTTYPE = u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_DST_DIGITAL: MIXERLINE_COMPONENTTYPE = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_DST_HEADPHONES: MIXERLINE_COMPONENTTYPE = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_DST_LINE: MIXERLINE_COMPONENTTYPE = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_DST_MONITOR: MIXERLINE_COMPONENTTYPE = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_DST_SPEAKERS: MIXERLINE_COMPONENTTYPE = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_DST_TELEPHONE: MIXERLINE_COMPONENTTYPE = 6u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_DST_UNDEFINED: MIXERLINE_COMPONENTTYPE = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_DST_VOICEIN: MIXERLINE_COMPONENTTYPE = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_DST_WAVEIN: MIXERLINE_COMPONENTTYPE = 7u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_SRC_ANALOG: MIXERLINE_COMPONENTTYPE = 4106u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY: MIXERLINE_COMPONENTTYPE = 4105u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC: MIXERLINE_COMPONENTTYPE = 4101u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_SRC_DIGITAL: MIXERLINE_COMPONENTTYPE = 4097u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_SRC_LINE: MIXERLINE_COMPONENTTYPE = 4098u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE: MIXERLINE_COMPONENTTYPE = 4099u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER: MIXERLINE_COMPONENTTYPE = 4103u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER: MIXERLINE_COMPONENTTYPE = 4100u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE: MIXERLINE_COMPONENTTYPE = 4102u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED: MIXERLINE_COMPONENTTYPE = 4096u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT: MIXERLINE_COMPONENTTYPE = 4104u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_DST_FIRST: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_DST_LAST: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_SRC_FIRST: i32 = 4096i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_COMPONENTTYPE_SRC_LAST: u32 = 4106u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_LINEF_ACTIVE: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_LINEF_DISCONNECTED: i32 = 32768i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_LINEF_SOURCE: i32 = -2147483648i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_TARGETTYPE_AUX: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_TARGETTYPE_MIDIIN: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_TARGETTYPE_MIDIOUT: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_TARGETTYPE_UNDEFINED: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_TARGETTYPE_WAVEIN: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERLINE_TARGETTYPE_WAVEOUT: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERR_INVALCONTROL: u32 = 1025u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERR_INVALLINE: u32 = 1024u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERR_INVALVALUE: u32 = 1026u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXERR_LASTERROR: u32 = 1026u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_GETCONTROLDETAILSF_LISTTEXT: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_GETCONTROLDETAILSF_QUERYMASK: i32 = 15i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_GETCONTROLDETAILSF_VALUE: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_GETLINECONTROLSF_ALL: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_GETLINECONTROLSF_ONEBYID: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_GETLINECONTROLSF_ONEBYTYPE: i32 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_GETLINECONTROLSF_QUERYMASK: i32 = 15i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_GETLINEINFOF_COMPONENTTYPE: i32 = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_GETLINEINFOF_DESTINATION: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_GETLINEINFOF_LINEID: i32 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_GETLINEINFOF_QUERYMASK: i32 = 15i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_GETLINEINFOF_SOURCE: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_GETLINEINFOF_TARGETTYPE: i32 = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_LONG_NAME_CHARS: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_OBJECTF_AUX: i32 = 1342177280i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_OBJECTF_HANDLE: i32 = -2147483648i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_OBJECTF_MIDIIN: i32 = 1073741824i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_OBJECTF_MIDIOUT: i32 = 805306368i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_OBJECTF_MIXER: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_OBJECTF_WAVEIN: i32 = 536870912i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_OBJECTF_WAVEOUT: i32 = 268435456i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_SETCONTROLDETAILSF_CUSTOM: i32 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_SETCONTROLDETAILSF_QUERYMASK: i32 = 15i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_SETCONTROLDETAILSF_VALUE: i32 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MIXER_SHORT_NAME_CHARS: u32 = 16u32;
+pub const MMDeviceEnumerator: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3168666517, data2: 58671, data3: 18044, data4: [142, 61, 196, 87, 146, 145, 105, 46] };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MM_ACM_FILTERCHOOSE: u32 = 32768u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MM_ACM_FORMATCHOOSE: u32 = 32768u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MOD_FMSYNTH: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MOD_MAPPER: u32 = 5u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MOD_MIDIPORT: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MOD_SQSYNTH: u32 = 3u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MOD_SWSYNTH: u32 = 7u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MOD_SYNTH: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const MOD_WAVETABLE: u32 = 6u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type PAudioStateMonitorCallback = ::core::option::Option<unsafe extern "system" fn(audiostatemonitor: IAudioStateMonitor, context: *const ::core::ffi::c_void)>;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct PCMWAVEFORMAT {
+ pub wf: WAVEFORMAT,
+ pub wBitsPerSample: u16,
+}
+impl ::core::marker::Copy for PCMWAVEFORMAT {}
+impl ::core::clone::Clone for PCMWAVEFORMAT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpointLogo_IconEffects: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 4054546445, data2: 8208, data3: 20179, data4: [163, 166, 139, 135, 240, 240, 196, 118] }, pid: 0u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpointLogo_IconPath: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 4054546445, data2: 8208, data3: 20179, data4: [163, 166, 139, 135, 240, 240, 196, 118] }, pid: 1u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpointSettings_LaunchContract: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 337911810, data2: 800, data3: 19940, data4: [149, 85, 167, 216, 43, 115, 194, 134] }, pid: 1u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpointSettings_MenuText: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 337911810, data2: 800, data3: 19940, data4: [149, 85, 167, 216, 43, 115, 194, 134] }, pid: 0u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpoint_Association: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 497408003, data2: 54418, data3: 20189, data4: [140, 35, 224, 192, 255, 238, 127, 14] }, pid: 2u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpoint_ControlPanelPageProvider: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 497408003, data2: 54418, data3: 20189, data4: [140, 35, 224, 192, 255, 238, 127, 14] }, pid: 1u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpoint_Default_VolumeInDb: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 497408003, data2: 54418, data3: 20189, data4: [140, 35, 224, 192, 255, 238, 127, 14] }, pid: 9u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpoint_Disable_SysFx: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 497408003, data2: 54418, data3: 20189, data4: [140, 35, 224, 192, 255, 238, 127, 14] }, pid: 5u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpoint_FormFactor: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 497408003, data2: 54418, data3: 20189, data4: [140, 35, 224, 192, 255, 238, 127, 14] }, pid: 0u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpoint_FullRangeSpeakers: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 497408003, data2: 54418, data3: 20189, data4: [140, 35, 224, 192, 255, 238, 127, 14] }, pid: 6u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpoint_GUID: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 497408003, data2: 54418, data3: 20189, data4: [140, 35, 224, 192, 255, 238, 127, 14] }, pid: 4u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpoint_JackSubType: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 497408003, data2: 54418, data3: 20189, data4: [140, 35, 224, 192, 255, 238, 127, 14] }, pid: 8u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpoint_PhysicalSpeakers: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 497408003, data2: 54418, data3: 20189, data4: [140, 35, 224, 192, 255, 238, 127, 14] }, pid: 3u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEndpoint_Supports_EventDriven_Mode: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 497408003, data2: 54418, data3: 20189, data4: [140, 35, 224, 192, 255, 238, 127, 14] }, pid: 7u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEngine_DeviceFormat: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 4053730893, data2: 2092, data3: 20007, data4: [188, 115, 104, 130, 161, 187, 142, 76] }, pid: 0u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_UI_Shell_PropertiesSystem\"`*"]
+#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
+pub const PKEY_AudioEngine_OEMFormat: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY { fmtid: ::windows_sys::core::GUID { data1: 3834056230, data2: 15557, data3: 19666, data4: [186, 70, 202, 10, 154, 112, 237, 4] }, pid: 3u32 };
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type PROCESS_LOOPBACK_MODE = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const PROCESS_LOOPBACK_MODE_INCLUDE_TARGET_PROCESS_TREE: PROCESS_LOOPBACK_MODE = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const PROCESS_LOOPBACK_MODE_EXCLUDE_TARGET_PROCESS_TREE: PROCESS_LOOPBACK_MODE = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type PartType = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const Connector: PartType = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const Subunit: PartType = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_ALIAS: i32 = 65536i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_ALIAS_ID: i32 = 1114112i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_ALIAS_START: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_APPLICATION: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_ASYNC: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_FILENAME: i32 = 131072i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_LOOP: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_MEMORY: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_NODEFAULT: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_NOSTOP: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_NOWAIT: i32 = 8192i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_PURGE: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_RESOURCE: i32 = 262148i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_RING: i32 = 1048576i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_SENTRY: i32 = 524288i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_SYNC: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SND_SYSTEM: i32 = 2097152i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPATIAL_AUDIO_POSITION: u32 = 200u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPATIAL_AUDIO_STANDARD_COMMANDS_START: u32 = 200u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type SPATIAL_AUDIO_STREAM_OPTIONS = u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPATIAL_AUDIO_STREAM_OPTIONS_NONE: SPATIAL_AUDIO_STREAM_OPTIONS = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPATIAL_AUDIO_STREAM_OPTIONS_OFFLOAD: SPATIAL_AUDIO_STREAM_OPTIONS = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUDCLNT_E_DESTROYED: ::windows_sys::core::HRESULT = -2004287232i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUDCLNT_E_ERRORS_IN_OBJECT_CALLS: ::windows_sys::core::HRESULT = -2004287227i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUDCLNT_E_INTERNAL: ::windows_sys::core::HRESULT = -2004287219i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUDCLNT_E_INVALID_LICENSE: ::windows_sys::core::HRESULT = -2004287224i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUDCLNT_E_METADATA_FORMAT_NOT_SUPPORTED: ::windows_sys::core::HRESULT = -2004287226i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUDCLNT_E_NO_MORE_OBJECTS: ::windows_sys::core::HRESULT = -2004287229i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUDCLNT_E_OBJECT_ALREADY_ACTIVE: ::windows_sys::core::HRESULT = -2004287220i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUDCLNT_E_OUT_OF_ORDER: ::windows_sys::core::HRESULT = -2004287231i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUDCLNT_E_PROPERTY_NOT_SUPPORTED: ::windows_sys::core::HRESULT = -2004287228i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUDCLNT_E_RESOURCES_INVALIDATED: ::windows_sys::core::HRESULT = -2004287230i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUDCLNT_E_STATIC_OBJECT_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -2004287221i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUDCLNT_E_STREAM_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -2004287225i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUDCLNT_E_STREAM_NOT_STOPPED: ::windows_sys::core::HRESULT = -2004287222i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_ATTACH_FAILED_INTERNAL_BUFFER: ::windows_sys::core::HRESULT = -2004286956i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_BUFFER_ALREADY_ATTACHED: ::windows_sys::core::HRESULT = -2004286969i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_BUFFER_NOT_ATTACHED: ::windows_sys::core::HRESULT = -2004286968i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_BUFFER_STILL_ATTACHED: ::windows_sys::core::HRESULT = -2004286940i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_COMMAND_ALREADY_WRITTEN: ::windows_sys::core::HRESULT = -2004286942i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_COMMAND_NOT_FOUND: ::windows_sys::core::HRESULT = -2004286976i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_DETACH_FAILED_INTERNAL_BUFFER: ::windows_sys::core::HRESULT = -2004286955i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_FORMAT_MISMATCH: ::windows_sys::core::HRESULT = -2004286941i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_FRAMECOUNT_OUT_OF_RANGE: ::windows_sys::core::HRESULT = -2004286967i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE: ::windows_sys::core::HRESULT = -2004286952i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_INVALID_ARGS: ::windows_sys::core::HRESULT = -2004286974i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_ITEMS_ALREADY_OPEN: ::windows_sys::core::HRESULT = -2004286957i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_ITEMS_LOCKED_FOR_WRITING: ::windows_sys::core::HRESULT = -2004286939i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_ITEM_COPY_OVERFLOW: ::windows_sys::core::HRESULT = -2004286959i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_ITEM_MUST_HAVE_COMMANDS: ::windows_sys::core::HRESULT = -2004286951i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_MEMORY_BOUNDS: ::windows_sys::core::HRESULT = -2004286971i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_METADATA_FORMAT_NOT_FOUND: ::windows_sys::core::HRESULT = -2004286973i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_NO_BUFFER_ATTACHED: ::windows_sys::core::HRESULT = -2004286954i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_NO_ITEMOFFSET_WRITTEN: ::windows_sys::core::HRESULT = -2004286944i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_NO_ITEMS_FOUND: ::windows_sys::core::HRESULT = -2004286960i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_NO_ITEMS_OPEN: ::windows_sys::core::HRESULT = -2004286958i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_NO_ITEMS_WRITTEN: ::windows_sys::core::HRESULT = -2004286943i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_NO_MORE_COMMANDS: ::windows_sys::core::HRESULT = -2004286970i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_NO_MORE_ITEMS: ::windows_sys::core::HRESULT = -2004286953i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_OBJECT_NOT_INITIALIZED: ::windows_sys::core::HRESULT = -2004286975i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SPTLAUD_MD_CLNT_E_VALUE_BUFFER_INCORRECT_SIZE: ::windows_sys::core::HRESULT = -2004286972i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct SpatialAudioClientActivationParams {
+ pub tracingContextId: ::windows_sys::core::GUID,
+ pub appId: ::windows_sys::core::GUID,
+ pub majorVersion: i32,
+ pub minorVersion1: i32,
+ pub minorVersion2: i32,
+ pub minorVersion3: i32,
+}
+impl ::core::marker::Copy for SpatialAudioClientActivationParams {}
+impl ::core::clone::Clone for SpatialAudioClientActivationParams {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct SpatialAudioHrtfActivationParams {
+ pub ObjectFormat: *const WAVEFORMATEX,
+ pub StaticObjectTypeMask: AudioObjectType,
+ pub MinDynamicObjectCount: u32,
+ pub MaxDynamicObjectCount: u32,
+ pub Category: AUDIO_STREAM_CATEGORY,
+ pub EventHandle: super::super::Foundation::HANDLE,
+ pub NotifyObject: ISpatialAudioObjectRenderStreamNotify,
+ pub DistanceDecay: *mut SpatialAudioHrtfDistanceDecay,
+ pub Directivity: *mut SpatialAudioHrtfDirectivityUnion,
+ pub Environment: *mut SpatialAudioHrtfEnvironmentType,
+ pub Orientation: *mut f32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for SpatialAudioHrtfActivationParams {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for SpatialAudioHrtfActivationParams {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct SpatialAudioHrtfActivationParams2 {
+ pub ObjectFormat: *const WAVEFORMATEX,
+ pub StaticObjectTypeMask: AudioObjectType,
+ pub MinDynamicObjectCount: u32,
+ pub MaxDynamicObjectCount: u32,
+ pub Category: AUDIO_STREAM_CATEGORY,
+ pub EventHandle: super::super::Foundation::HANDLE,
+ pub NotifyObject: ISpatialAudioObjectRenderStreamNotify,
+ pub DistanceDecay: *mut SpatialAudioHrtfDistanceDecay,
+ pub Directivity: *mut SpatialAudioHrtfDirectivityUnion,
+ pub Environment: *mut SpatialAudioHrtfEnvironmentType,
+ pub Orientation: *mut f32,
+ pub Options: SPATIAL_AUDIO_STREAM_OPTIONS,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for SpatialAudioHrtfActivationParams2 {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for SpatialAudioHrtfActivationParams2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct SpatialAudioHrtfDirectivity {
+ pub Type: SpatialAudioHrtfDirectivityType,
+ pub Scaling: f32,
+}
+impl ::core::marker::Copy for SpatialAudioHrtfDirectivity {}
+impl ::core::clone::Clone for SpatialAudioHrtfDirectivity {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct SpatialAudioHrtfDirectivityCardioid {
+ pub directivity: SpatialAudioHrtfDirectivity,
+ pub Order: f32,
+}
+impl ::core::marker::Copy for SpatialAudioHrtfDirectivityCardioid {}
+impl ::core::clone::Clone for SpatialAudioHrtfDirectivityCardioid {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct SpatialAudioHrtfDirectivityCone {
+ pub directivity: SpatialAudioHrtfDirectivity,
+ pub InnerAngle: f32,
+ pub OuterAngle: f32,
+}
+impl ::core::marker::Copy for SpatialAudioHrtfDirectivityCone {}
+impl ::core::clone::Clone for SpatialAudioHrtfDirectivityCone {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type SpatialAudioHrtfDirectivityType = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioHrtfDirectivity_OmniDirectional: SpatialAudioHrtfDirectivityType = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioHrtfDirectivity_Cardioid: SpatialAudioHrtfDirectivityType = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioHrtfDirectivity_Cone: SpatialAudioHrtfDirectivityType = 2i32;
+#[repr(C)]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub union SpatialAudioHrtfDirectivityUnion {
+ pub Cone: SpatialAudioHrtfDirectivityCone,
+ pub Cardiod: SpatialAudioHrtfDirectivityCardioid,
+ pub Omni: SpatialAudioHrtfDirectivity,
+}
+impl ::core::marker::Copy for SpatialAudioHrtfDirectivityUnion {}
+impl ::core::clone::Clone for SpatialAudioHrtfDirectivityUnion {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct SpatialAudioHrtfDistanceDecay {
+ pub Type: SpatialAudioHrtfDistanceDecayType,
+ pub MaxGain: f32,
+ pub MinGain: f32,
+ pub UnityGainDistance: f32,
+ pub CutoffDistance: f32,
+}
+impl ::core::marker::Copy for SpatialAudioHrtfDistanceDecay {}
+impl ::core::clone::Clone for SpatialAudioHrtfDistanceDecay {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type SpatialAudioHrtfDistanceDecayType = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioHrtfDistanceDecay_NaturalDecay: SpatialAudioHrtfDistanceDecayType = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioHrtfDistanceDecay_CustomDecay: SpatialAudioHrtfDistanceDecayType = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type SpatialAudioHrtfEnvironmentType = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioHrtfEnvironment_Small: SpatialAudioHrtfEnvironmentType = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioHrtfEnvironment_Medium: SpatialAudioHrtfEnvironmentType = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioHrtfEnvironment_Large: SpatialAudioHrtfEnvironmentType = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioHrtfEnvironment_Outdoors: SpatialAudioHrtfEnvironmentType = 3i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioHrtfEnvironment_Average: SpatialAudioHrtfEnvironmentType = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type SpatialAudioMetadataCopyMode = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioMetadataCopy_Overwrite: SpatialAudioMetadataCopyMode = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioMetadataCopy_Append: SpatialAudioMetadataCopyMode = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioMetadataCopy_AppendMergeWithLast: SpatialAudioMetadataCopyMode = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioMetadataCopy_AppendMergeWithFirst: SpatialAudioMetadataCopyMode = 3i32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct SpatialAudioMetadataItemsInfo {
+ pub FrameCount: u16,
+ pub ItemCount: u16,
+ pub MaxItemCount: u16,
+ pub MaxValueBufferLength: u32,
+}
+impl ::core::marker::Copy for SpatialAudioMetadataItemsInfo {}
+impl ::core::clone::Clone for SpatialAudioMetadataItemsInfo {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type SpatialAudioMetadataWriterOverflowMode = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioMetadataWriterOverflow_Fail: SpatialAudioMetadataWriterOverflowMode = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioMetadataWriterOverflow_MergeWithNew: SpatialAudioMetadataWriterOverflowMode = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const SpatialAudioMetadataWriterOverflow_MergeWithLast: SpatialAudioMetadataWriterOverflowMode = 2i32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct SpatialAudioObjectRenderStreamActivationParams {
+ pub ObjectFormat: *const WAVEFORMATEX,
+ pub StaticObjectTypeMask: AudioObjectType,
+ pub MinDynamicObjectCount: u32,
+ pub MaxDynamicObjectCount: u32,
+ pub Category: AUDIO_STREAM_CATEGORY,
+ pub EventHandle: super::super::Foundation::HANDLE,
+ pub NotifyObject: ISpatialAudioObjectRenderStreamNotify,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for SpatialAudioObjectRenderStreamActivationParams {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for SpatialAudioObjectRenderStreamActivationParams {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct SpatialAudioObjectRenderStreamActivationParams2 {
+ pub ObjectFormat: *const WAVEFORMATEX,
+ pub StaticObjectTypeMask: AudioObjectType,
+ pub MinDynamicObjectCount: u32,
+ pub MaxDynamicObjectCount: u32,
+ pub Category: AUDIO_STREAM_CATEGORY,
+ pub EventHandle: super::super::Foundation::HANDLE,
+ pub NotifyObject: ISpatialAudioObjectRenderStreamNotify,
+ pub Options: SPATIAL_AUDIO_STREAM_OPTIONS,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for SpatialAudioObjectRenderStreamActivationParams2 {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for SpatialAudioObjectRenderStreamActivationParams2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com_StructuredStorage\"`*"]
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage"))]
+pub struct SpatialAudioObjectRenderStreamForMetadataActivationParams {
+ pub ObjectFormat: *const WAVEFORMATEX,
+ pub StaticObjectTypeMask: AudioObjectType,
+ pub MinDynamicObjectCount: u32,
+ pub MaxDynamicObjectCount: u32,
+ pub Category: AUDIO_STREAM_CATEGORY,
+ pub EventHandle: super::super::Foundation::HANDLE,
+ pub MetadataFormatId: ::windows_sys::core::GUID,
+ pub MaxMetadataItemCount: u16,
+ pub MetadataActivationParams: *const super::super::System::Com::StructuredStorage::PROPVARIANT,
+ pub NotifyObject: ISpatialAudioObjectRenderStreamNotify,
+}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage"))]
+impl ::core::marker::Copy for SpatialAudioObjectRenderStreamForMetadataActivationParams {}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage"))]
+impl ::core::clone::Clone for SpatialAudioObjectRenderStreamForMetadataActivationParams {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com_StructuredStorage\"`*"]
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage"))]
+pub struct SpatialAudioObjectRenderStreamForMetadataActivationParams2 {
+ pub ObjectFormat: *const WAVEFORMATEX,
+ pub StaticObjectTypeMask: AudioObjectType,
+ pub MinDynamicObjectCount: u32,
+ pub MaxDynamicObjectCount: u32,
+ pub Category: AUDIO_STREAM_CATEGORY,
+ pub EventHandle: super::super::Foundation::HANDLE,
+ pub MetadataFormatId: ::windows_sys::core::GUID,
+ pub MaxMetadataItemCount: u32,
+ pub MetadataActivationParams: *const super::super::System::Com::StructuredStorage::PROPVARIANT,
+ pub NotifyObject: ISpatialAudioObjectRenderStreamNotify,
+ pub Options: SPATIAL_AUDIO_STREAM_OPTIONS,
+}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage"))]
+impl ::core::marker::Copy for SpatialAudioObjectRenderStreamForMetadataActivationParams2 {}
+#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage"))]
+impl ::core::clone::Clone for SpatialAudioObjectRenderStreamForMetadataActivationParams2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const VIRTUAL_AUDIO_DEVICE_PROCESS_LOOPBACK: &str = "VAD\\Process_Loopback";
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct VOLUMEWAVEFILTER {
+ pub wfltr: WAVEFILTER,
+ pub dwVolume: u32,
+}
+impl ::core::marker::Copy for VOLUMEWAVEFILTER {}
+impl ::core::clone::Clone for VOLUMEWAVEFILTER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVECAPS_LRVOLUME: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVECAPS_PITCH: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVECAPS_PLAYBACKRATE: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVECAPS_SAMPLEACCURATE: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVECAPS_SYNC: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVECAPS_VOLUME: u32 = 4u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct WAVEFILTER {
+ pub cbStruct: u32,
+ pub dwFilterTag: u32,
+ pub fdwFilter: u32,
+ pub dwReserved: [u32; 5],
+}
+impl ::core::marker::Copy for WAVEFILTER {}
+impl ::core::clone::Clone for WAVEFILTER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct WAVEFORMAT {
+ pub wFormatTag: u16,
+ pub nChannels: u16,
+ pub nSamplesPerSec: u32,
+ pub nAvgBytesPerSec: u32,
+ pub nBlockAlign: u16,
+}
+impl ::core::marker::Copy for WAVEFORMAT {}
+impl ::core::clone::Clone for WAVEFORMAT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct WAVEFORMATEX {
+ pub wFormatTag: u16,
+ pub nChannels: u16,
+ pub nSamplesPerSec: u32,
+ pub nAvgBytesPerSec: u32,
+ pub nBlockAlign: u16,
+ pub wBitsPerSample: u16,
+ pub cbSize: u16,
+}
+impl ::core::marker::Copy for WAVEFORMATEX {}
+impl ::core::clone::Clone for WAVEFORMATEX {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct WAVEFORMATEXTENSIBLE {
+ pub Format: WAVEFORMATEX,
+ pub Samples: WAVEFORMATEXTENSIBLE_0,
+ pub dwChannelMask: u32,
+ pub SubFormat: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for WAVEFORMATEXTENSIBLE {}
+impl ::core::clone::Clone for WAVEFORMATEXTENSIBLE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub union WAVEFORMATEXTENSIBLE_0 {
+ pub wValidBitsPerSample: u16,
+ pub wSamplesPerBlock: u16,
+ pub wReserved: u16,
+}
+impl ::core::marker::Copy for WAVEFORMATEXTENSIBLE_0 {}
+impl ::core::clone::Clone for WAVEFORMATEXTENSIBLE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct WAVEHDR {
+ pub lpData: ::windows_sys::core::PSTR,
+ pub dwBufferLength: u32,
+ pub dwBytesRecorded: u32,
+ pub dwUser: usize,
+ pub dwFlags: u32,
+ pub dwLoops: u32,
+ pub lpNext: *mut WAVEHDR,
+ pub reserved: usize,
+}
+impl ::core::marker::Copy for WAVEHDR {}
+impl ::core::clone::Clone for WAVEHDR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct WAVEINCAPS2A {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [super::super::Foundation::CHAR; 32],
+ pub dwFormats: u32,
+ pub wChannels: u16,
+ pub wReserved1: u16,
+ pub ManufacturerGuid: ::windows_sys::core::GUID,
+ pub ProductGuid: ::windows_sys::core::GUID,
+ pub NameGuid: ::windows_sys::core::GUID,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for WAVEINCAPS2A {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for WAVEINCAPS2A {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct WAVEINCAPS2W {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [u16; 32],
+ pub dwFormats: u32,
+ pub wChannels: u16,
+ pub wReserved1: u16,
+ pub ManufacturerGuid: ::windows_sys::core::GUID,
+ pub ProductGuid: ::windows_sys::core::GUID,
+ pub NameGuid: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for WAVEINCAPS2W {}
+impl ::core::clone::Clone for WAVEINCAPS2W {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct WAVEINCAPSA {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [super::super::Foundation::CHAR; 32],
+ pub dwFormats: u32,
+ pub wChannels: u16,
+ pub wReserved1: u16,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for WAVEINCAPSA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for WAVEINCAPSA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct WAVEINCAPSW {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [u16; 32],
+ pub dwFormats: u32,
+ pub wChannels: u16,
+ pub wReserved1: u16,
+}
+impl ::core::marker::Copy for WAVEINCAPSW {}
+impl ::core::clone::Clone for WAVEINCAPSW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVEIN_MAPPER_STATUS_DEVICE: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVEIN_MAPPER_STATUS_FORMAT: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVEIN_MAPPER_STATUS_MAPPED: u32 = 1u32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct WAVEOUTCAPS2A {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [super::super::Foundation::CHAR; 32],
+ pub dwFormats: u32,
+ pub wChannels: u16,
+ pub wReserved1: u16,
+ pub dwSupport: u32,
+ pub ManufacturerGuid: ::windows_sys::core::GUID,
+ pub ProductGuid: ::windows_sys::core::GUID,
+ pub NameGuid: ::windows_sys::core::GUID,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for WAVEOUTCAPS2A {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for WAVEOUTCAPS2A {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct WAVEOUTCAPS2W {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [u16; 32],
+ pub dwFormats: u32,
+ pub wChannels: u16,
+ pub wReserved1: u16,
+ pub dwSupport: u32,
+ pub ManufacturerGuid: ::windows_sys::core::GUID,
+ pub ProductGuid: ::windows_sys::core::GUID,
+ pub NameGuid: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for WAVEOUTCAPS2W {}
+impl ::core::clone::Clone for WAVEOUTCAPS2W {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_Foundation\"`*"]
+#[cfg(feature = "Win32_Foundation")]
+pub struct WAVEOUTCAPSA {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [super::super::Foundation::CHAR; 32],
+ pub dwFormats: u32,
+ pub wChannels: u16,
+ pub wReserved1: u16,
+ pub dwSupport: u32,
+}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::marker::Copy for WAVEOUTCAPSA {}
+#[cfg(feature = "Win32_Foundation")]
+impl ::core::clone::Clone for WAVEOUTCAPSA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct WAVEOUTCAPSW {
+ pub wMid: u16,
+ pub wPid: u16,
+ pub vDriverVersion: u32,
+ pub szPname: [u16; 32],
+ pub dwFormats: u32,
+ pub wChannels: u16,
+ pub wReserved1: u16,
+ pub dwSupport: u32,
+}
+impl ::core::marker::Copy for WAVEOUTCAPSW {}
+impl ::core::clone::Clone for WAVEOUTCAPSW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVEOUT_MAPPER_STATUS_DEVICE: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVEOUT_MAPPER_STATUS_FORMAT: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVEOUT_MAPPER_STATUS_MAPPED: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVERR_BADFORMAT: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVERR_LASTERROR: u32 = 35u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVERR_STILLPLAYING: u32 = 33u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVERR_SYNC: u32 = 35u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVERR_UNPREPARED: u32 = 34u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_1M08: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_1M16: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_1S08: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_1S16: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_2M08: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_2M16: u32 = 64u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_2S08: u32 = 32u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_2S16: u32 = 128u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_44M08: u32 = 256u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_44M16: u32 = 1024u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_44S08: u32 = 512u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_44S16: u32 = 2048u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_48M08: u32 = 4096u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_48M16: u32 = 16384u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_48S08: u32 = 8192u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_48S16: u32 = 32768u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_4M08: u32 = 256u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_4M16: u32 = 1024u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_4S08: u32 = 512u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_4S16: u32 = 2048u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_96M08: u32 = 65536u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_96M16: u32 = 262144u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_96S08: u32 = 131072u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_96S16: u32 = 524288u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_FORMAT_PCM: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_INVALIDFORMAT: u32 = 0u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WAVE_MAPPER: u32 = 4294967295u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WHDR_BEGINLOOP: u32 = 4u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WHDR_DONE: u32 = 1u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WHDR_ENDLOOP: u32 = 8u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WHDR_INQUEUE: u32 = 16u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WHDR_PREPARED: u32 = 2u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WIDM_MAPPER_STATUS: u32 = 8192u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const WODM_MAPPER_STATUS: u32 = 8192u32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type _AUDCLNT_BUFFERFLAGS = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY: _AUDCLNT_BUFFERFLAGS = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_BUFFERFLAGS_SILENT: _AUDCLNT_BUFFERFLAGS = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR: _AUDCLNT_BUFFERFLAGS = 4i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub type __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDIO_SYSTEMEFFECTS_PROPERTYSTORE_TYPE_DEFAULT: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = 0i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDIO_SYSTEMEFFECTS_PROPERTYSTORE_TYPE_USER: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = 1i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDIO_SYSTEMEFFECTS_PROPERTYSTORE_TYPE_VOLATILE: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = 2i32;
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub const AUDIO_SYSTEMEFFECTS_PROPERTYSTORE_TYPE_ENUM_COUNT: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = 3i32;
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct tACMDRVOPENDESCA {
+ pub cbStruct: u32,
+ pub fccType: u32,
+ pub fccComp: u32,
+ pub dwVersion: u32,
+ pub dwFlags: u32,
+ pub dwError: u32,
+ pub pszSectionName: ::windows_sys::core::PCSTR,
+ pub pszAliasName: ::windows_sys::core::PCSTR,
+ pub dnDevNode: u32,
+}
+impl ::core::marker::Copy for tACMDRVOPENDESCA {}
+impl ::core::clone::Clone for tACMDRVOPENDESCA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct tACMDRVOPENDESCW {
+ pub cbStruct: u32,
+ pub fccType: u32,
+ pub fccComp: u32,
+ pub dwVersion: u32,
+ pub dwFlags: u32,
+ pub dwError: u32,
+ pub pszSectionName: ::windows_sys::core::PCWSTR,
+ pub pszAliasName: ::windows_sys::core::PCWSTR,
+ pub dnDevNode: u32,
+}
+impl ::core::marker::Copy for tACMDRVOPENDESCW {}
+impl ::core::clone::Clone for tACMDRVOPENDESCW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
+pub struct tACMFORMATDETAILSW {
+ pub cbStruct: u32,
+ pub dwFormatIndex: u32,
+ pub dwFormatTag: u32,
+ pub fdwSupport: u32,
+ pub pwfx: *mut WAVEFORMATEX,
+ pub cbwfx: u32,
+ pub szFormat: [u16; 128],
+}
+impl ::core::marker::Copy for tACMFORMATDETAILSW {}
+impl ::core::clone::Clone for tACMFORMATDETAILSW {
+ fn clone(&self) -> Self {
+ *self
+ }
+}