windows::Win32::Media::Audio::DirectMusic

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.

Implementors§