Trait IDirectMusicPort_Impl
pub trait IDirectMusicPort_Impl: IUnknownImpl {
Show 17 methods
// Required methods
fn PlayBuffer(&self, pbuffer: Ref<'_, IDirectMusicBuffer>) -> Result<()>;
fn SetReadNotificationHandle(&self, hevent: HANDLE) -> Result<()>;
fn Read(&self, pbuffer: Ref<'_, IDirectMusicBuffer>) -> Result<()>;
fn DownloadInstrument(
&self,
pinstrument: Ref<'_, IDirectMusicInstrument>,
ppdownloadedinstrument: OutRef<'_, IDirectMusicDownloadedInstrument>,
pnoteranges: *mut DMUS_NOTERANGE,
dwnumnoteranges: u32,
) -> Result<()>;
fn UnloadInstrument(
&self,
pdownloadedinstrument: Ref<'_, IDirectMusicDownloadedInstrument>,
) -> Result<()>;
fn GetLatencyClock(&self) -> Result<IReferenceClock>;
fn GetRunningStats(&self, pstats: *mut DMUS_SYNTHSTATS) -> Result<()>;
fn Compact(&self) -> Result<()>;
fn GetCaps(&self, pportcaps: *mut DMUS_PORTCAPS) -> Result<()>;
fn DeviceIoControl(
&self,
dwiocontrolcode: u32,
lpinbuffer: *mut c_void,
ninbuffersize: u32,
lpoutbuffer: *mut c_void,
noutbuffersize: u32,
lpbytesreturned: *mut u32,
lpoverlapped: *mut OVERLAPPED,
) -> Result<()>;
fn SetNumChannelGroups(&self, dwchannelgroups: u32) -> Result<()>;
fn GetNumChannelGroups(&self, pdwchannelgroups: *mut u32) -> Result<()>;
fn Activate(&self, factive: BOOL) -> Result<()>;
fn SetChannelPriority(
&self,
dwchannelgroup: u32,
dwchannel: u32,
dwpriority: u32,
) -> Result<()>;
fn GetChannelPriority(
&self,
dwchannelgroup: u32,
dwchannel: u32,
pdwpriority: *mut u32,
) -> Result<()>;
fn SetDirectSound(
&self,
pdirectsound: Ref<'_, IDirectSound>,
pdirectsoundbuffer: Ref<'_, IDirectSoundBuffer>,
) -> Result<()>;
fn GetFormat(
&self,
pwaveformatex: *mut WAVEFORMATEX,
pdwwaveformatexsize: *mut u32,
pdwbuffersize: *mut u32,
) -> Result<()>;
}
Required Methods§
fn PlayBuffer(&self, pbuffer: Ref<'_, IDirectMusicBuffer>) -> Result<()>
fn SetReadNotificationHandle(&self, hevent: HANDLE) -> Result<()>
fn Read(&self, pbuffer: Ref<'_, IDirectMusicBuffer>) -> Result<()>
fn DownloadInstrument( &self, pinstrument: Ref<'_, IDirectMusicInstrument>, ppdownloadedinstrument: OutRef<'_, IDirectMusicDownloadedInstrument>, pnoteranges: *mut DMUS_NOTERANGE, dwnumnoteranges: u32, ) -> Result<()>
fn UnloadInstrument( &self, pdownloadedinstrument: Ref<'_, IDirectMusicDownloadedInstrument>, ) -> Result<()>
fn GetLatencyClock(&self) -> Result<IReferenceClock>
fn GetRunningStats(&self, pstats: *mut DMUS_SYNTHSTATS) -> Result<()>
fn Compact(&self) -> Result<()>
fn GetCaps(&self, pportcaps: *mut DMUS_PORTCAPS) -> Result<()>
fn DeviceIoControl( &self, dwiocontrolcode: u32, lpinbuffer: *mut c_void, ninbuffersize: u32, lpoutbuffer: *mut c_void, noutbuffersize: u32, lpbytesreturned: *mut u32, lpoverlapped: *mut OVERLAPPED, ) -> Result<()>
fn SetNumChannelGroups(&self, dwchannelgroups: u32) -> Result<()>
fn GetNumChannelGroups(&self, pdwchannelgroups: *mut u32) -> Result<()>
fn Activate(&self, factive: BOOL) -> Result<()>
fn SetChannelPriority( &self, dwchannelgroup: u32, dwchannel: u32, dwpriority: u32, ) -> Result<()>
fn GetChannelPriority( &self, dwchannelgroup: u32, dwchannel: u32, pdwpriority: *mut u32, ) -> Result<()>
fn SetDirectSound( &self, pdirectsound: Ref<'_, IDirectSound>, pdirectsoundbuffer: Ref<'_, IDirectSoundBuffer>, ) -> Result<()>
fn GetFormat( &self, pwaveformatex: *mut WAVEFORMATEX, pdwwaveformatexsize: *mut u32, pdwbuffersize: *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.