Trait windows::Win32::Media::Audio::XAudio2::IXAudio2_Impl

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.

Implementors§