pub trait IXAudio2_Impl: Sized {
// Required methods
fn RegisterForCallbacks(
&self,
pcallback: Option<&IXAudio2EngineCallback>
) -> Result<()>;
fn UnregisterForCallbacks(&self, pcallback: Option<&IXAudio2EngineCallback>);
fn CreateSourceVoice(
&self,
ppsourcevoice: *mut Option<IXAudio2SourceVoice>,
psourceformat: *const WAVEFORMATEX,
flags: u32,
maxfrequencyratio: f32,
pcallback: Option<&IXAudio2VoiceCallback>,
psendlist: *const XAUDIO2_VOICE_SENDS,
peffectchain: *const XAUDIO2_EFFECT_CHAIN
) -> Result<()>;
fn CreateSubmixVoice(
&self,
ppsubmixvoice: *mut Option<IXAudio2SubmixVoice>,
inputchannels: u32,
inputsamplerate: u32,
flags: u32,
processingstage: u32,
psendlist: *const XAUDIO2_VOICE_SENDS,
peffectchain: *const XAUDIO2_EFFECT_CHAIN
) -> Result<()>;
fn CreateMasteringVoice(
&self,
ppmasteringvoice: *mut Option<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: Option<&IXAudio2EngineCallback> ) -> Result<()>
fn UnregisterForCallbacks(&self, pcallback: Option<&IXAudio2EngineCallback>)
fn CreateSourceVoice( &self, ppsourcevoice: *mut Option<IXAudio2SourceVoice>, psourceformat: *const WAVEFORMATEX, flags: u32, maxfrequencyratio: f32, pcallback: Option<&IXAudio2VoiceCallback>, psendlist: *const XAUDIO2_VOICE_SENDS, peffectchain: *const XAUDIO2_EFFECT_CHAIN ) -> Result<()>
fn CreateSubmixVoice( &self, ppsubmixvoice: *mut Option<IXAudio2SubmixVoice>, inputchannels: u32, inputsamplerate: u32, flags: u32, processingstage: u32, psendlist: *const XAUDIO2_VOICE_SENDS, peffectchain: *const XAUDIO2_EFFECT_CHAIN ) -> Result<()>
fn CreateMasteringVoice( &self, ppmasteringvoice: *mut Option<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 )
Object Safety§
This trait is not object safe.