Trait IDirectMusicSynth_Impl
pub trait IDirectMusicSynth_Impl: IUnknownImpl {
Show 17 methods
// Required methods
fn Open(&self, pportparams: *mut DMUS_PORTPARAMS8) -> Result<()>;
fn Close(&self) -> Result<()>;
fn SetNumChannelGroups(&self, dwgroups: u32) -> Result<()>;
fn Download(
&self,
phdownload: *mut HANDLE,
pvdata: *mut c_void,
pbfree: *mut BOOL,
) -> Result<()>;
fn Unload(
&self,
hdownload: HANDLE,
lpfreehandle: isize,
huserdata: HANDLE,
) -> Result<()>;
fn PlayBuffer(
&self,
rt: i64,
pbbuffer: *mut u8,
cbbuffer: u32,
) -> Result<()>;
fn GetRunningStats(&self, pstats: *mut DMUS_SYNTHSTATS) -> Result<()>;
fn GetPortCaps(&self, pcaps: *mut DMUS_PORTCAPS) -> Result<()>;
fn SetMasterClock(&self, pclock: Ref<'_, IReferenceClock>) -> Result<()>;
fn GetLatencyClock(&self) -> Result<IReferenceClock>;
fn Activate(&self, fenable: BOOL) -> Result<()>;
fn SetSynthSink(
&self,
psynthsink: Ref<'_, IDirectMusicSynthSink>,
) -> Result<()>;
fn Render(
&self,
pbuffer: *mut i16,
dwlength: u32,
llposition: i64,
) -> Result<()>;
fn SetChannelPriority(
&self,
dwchannelgroup: u32,
dwchannel: u32,
dwpriority: u32,
) -> Result<()>;
fn GetChannelPriority(
&self,
dwchannelgroup: u32,
dwchannel: u32,
pdwpriority: *mut u32,
) -> Result<()>;
fn GetFormat(
&self,
pwaveformatex: *mut WAVEFORMATEX,
pdwwaveformatexsize: *mut u32,
) -> Result<()>;
fn GetAppend(&self, pdwappend: *mut u32) -> Result<()>;
}
Required Methods§
fn Open(&self, pportparams: *mut DMUS_PORTPARAMS8) -> Result<()>
fn Close(&self) -> Result<()>
fn SetNumChannelGroups(&self, dwgroups: u32) -> Result<()>
fn Download( &self, phdownload: *mut HANDLE, pvdata: *mut c_void, pbfree: *mut BOOL, ) -> Result<()>
fn Unload( &self, hdownload: HANDLE, lpfreehandle: isize, huserdata: HANDLE, ) -> Result<()>
fn PlayBuffer(&self, rt: i64, pbbuffer: *mut u8, cbbuffer: u32) -> Result<()>
fn GetRunningStats(&self, pstats: *mut DMUS_SYNTHSTATS) -> Result<()>
fn GetPortCaps(&self, pcaps: *mut DMUS_PORTCAPS) -> Result<()>
fn SetMasterClock(&self, pclock: Ref<'_, IReferenceClock>) -> Result<()>
fn GetLatencyClock(&self) -> Result<IReferenceClock>
fn Activate(&self, fenable: BOOL) -> Result<()>
fn SetSynthSink(&self, psynthsink: Ref<'_, IDirectMusicSynthSink>) -> Result<()>
fn Render( &self, pbuffer: *mut i16, dwlength: u32, llposition: i64, ) -> Result<()>
fn SetChannelPriority( &self, dwchannelgroup: u32, dwchannel: u32, dwpriority: u32, ) -> Result<()>
fn GetChannelPriority( &self, dwchannelgroup: u32, dwchannel: u32, pdwpriority: *mut u32, ) -> Result<()>
fn GetFormat( &self, pwaveformatex: *mut WAVEFORMATEX, pdwwaveformatexsize: *mut u32, ) -> Result<()>
fn GetAppend(&self, pdwappend: *mut u32) -> Result<()>
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.