Trait IXAudio2_Impl
pub trait IXAudio2_Impl: IUnknownImpl {
// Required methods
fn RegisterForCallbacks(
&self,
pcallback: Ref<'_, IXAudio2EngineCallback>,
) -> Result<()>;
fn UnregisterForCallbacks(&self, pcallback: Ref<'_, IXAudio2EngineCallback>);
fn CreateSourceVoice(
&self,
ppsourcevoice: OutRef<'_, IXAudio2SourceVoice>,
psourceformat: *const WAVEFORMATEX,
flags: u32,
maxfrequencyratio: f32,
pcallback: Ref<'_, IXAudio2VoiceCallback>,
psendlist: *const XAUDIO2_VOICE_SENDS,
peffectchain: *const XAUDIO2_EFFECT_CHAIN,
) -> Result<()>;
fn CreateSubmixVoice(
&self,
ppsubmixvoice: OutRef<'_, IXAudio2SubmixVoice>,
inputchannels: u32,
inputsamplerate: u32,
flags: u32,
processingstage: u32,
psendlist: *const XAUDIO2_VOICE_SENDS,
peffectchain: *const XAUDIO2_EFFECT_CHAIN,
) -> Result<()>;
fn CreateMasteringVoice(
&self,
ppmasteringvoice: OutRef<'_, IXAudio2MasteringVoice>,
inputchannels: u32,
inputsamplerate: u32,
flags: u32,
szdeviceid: &PCWSTR,
peffectchain: *const XAUDIO2_EFFECT_CHAIN,
streamcategory: AUDIO_STREAM_CATEGORY,
) -> Result<()>;
fn StartEngine(&self) -> Result<()>;
fn StopEngine(&self);
fn CommitChanges(&self, operationset: u32) -> Result<()>;
fn GetPerformanceData(&self, pperfdata: *mut XAUDIO2_PERFORMANCE_DATA);
fn SetDebugConfiguration(
&self,
pdebugconfiguration: *const XAUDIO2_DEBUG_CONFIGURATION,
preserved: *const c_void,
);
}
Required Methods§
fn RegisterForCallbacks( &self, pcallback: Ref<'_, IXAudio2EngineCallback>, ) -> Result<()>
fn UnregisterForCallbacks(&self, pcallback: Ref<'_, IXAudio2EngineCallback>)
fn CreateSourceVoice( &self, ppsourcevoice: OutRef<'_, IXAudio2SourceVoice>, psourceformat: *const WAVEFORMATEX, flags: u32, maxfrequencyratio: f32, pcallback: Ref<'_, IXAudio2VoiceCallback>, psendlist: *const XAUDIO2_VOICE_SENDS, peffectchain: *const XAUDIO2_EFFECT_CHAIN, ) -> Result<()>
fn CreateSubmixVoice( &self, ppsubmixvoice: OutRef<'_, IXAudio2SubmixVoice>, inputchannels: u32, inputsamplerate: u32, flags: u32, processingstage: u32, psendlist: *const XAUDIO2_VOICE_SENDS, peffectchain: *const XAUDIO2_EFFECT_CHAIN, ) -> Result<()>
fn CreateMasteringVoice( &self, ppmasteringvoice: OutRef<'_, IXAudio2MasteringVoice>, inputchannels: u32, inputsamplerate: u32, flags: u32, szdeviceid: &PCWSTR, peffectchain: *const XAUDIO2_EFFECT_CHAIN, streamcategory: AUDIO_STREAM_CATEGORY, ) -> Result<()>
fn StartEngine(&self) -> Result<()>
fn StopEngine(&self)
fn CommitChanges(&self, operationset: u32) -> Result<()>
fn GetPerformanceData(&self, pperfdata: *mut XAUDIO2_PERFORMANCE_DATA)
fn SetDebugConfiguration( &self, pdebugconfiguration: *const XAUDIO2_DEBUG_CONFIGURATION, preserved: *const c_void, )
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.