Trait IDirectMusic_Impl
pub trait IDirectMusic_Impl: IUnknownImpl {
// Required methods
fn EnumPort(
&self,
dwindex: u32,
pportcaps: *mut DMUS_PORTCAPS,
) -> Result<()>;
fn CreateMusicBuffer(
&self,
pbufferdesc: *mut DMUS_BUFFERDESC,
ppbuffer: OutRef<'_, IDirectMusicBuffer>,
punkouter: Ref<'_, IUnknown>,
) -> Result<()>;
fn CreatePort(
&self,
rclsidport: *const GUID,
pportparams: *mut DMUS_PORTPARAMS8,
ppport: OutRef<'_, IDirectMusicPort>,
punkouter: Ref<'_, IUnknown>,
) -> Result<()>;
fn EnumMasterClock(
&self,
dwindex: u32,
lpclockinfo: *mut DMUS_CLOCKINFO8,
) -> Result<()>;
fn GetMasterClock(
&self,
pguidclock: *mut GUID,
ppreferenceclock: OutRef<'_, IReferenceClock>,
) -> Result<()>;
fn SetMasterClock(&self, rguidclock: *const GUID) -> Result<()>;
fn Activate(&self, fenable: BOOL) -> Result<()>;
fn GetDefaultPort(&self, pguidport: *mut GUID) -> Result<()>;
fn SetDirectSound(
&self,
pdirectsound: Ref<'_, IDirectSound>,
hwnd: HWND,
) -> Result<()>;
}
Required Methods§
fn EnumPort(&self, dwindex: u32, pportcaps: *mut DMUS_PORTCAPS) -> Result<()>
fn CreateMusicBuffer( &self, pbufferdesc: *mut DMUS_BUFFERDESC, ppbuffer: OutRef<'_, IDirectMusicBuffer>, punkouter: Ref<'_, IUnknown>, ) -> Result<()>
fn CreatePort( &self, rclsidport: *const GUID, pportparams: *mut DMUS_PORTPARAMS8, ppport: OutRef<'_, IDirectMusicPort>, punkouter: Ref<'_, IUnknown>, ) -> Result<()>
fn EnumMasterClock( &self, dwindex: u32, lpclockinfo: *mut DMUS_CLOCKINFO8, ) -> Result<()>
fn GetMasterClock( &self, pguidclock: *mut GUID, ppreferenceclock: OutRef<'_, IReferenceClock>, ) -> Result<()>
fn SetMasterClock(&self, rguidclock: *const GUID) -> Result<()>
fn Activate(&self, fenable: BOOL) -> Result<()>
fn GetDefaultPort(&self, pguidport: *mut GUID) -> Result<()>
fn SetDirectSound( &self, pdirectsound: Ref<'_, IDirectSound>, hwnd: HWND, ) -> 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.