Trait IAudioClient_Impl
pub trait IAudioClient_Impl: IUnknownImpl {
// Required methods
fn Initialize(
&self,
sharemode: AUDCLNT_SHAREMODE,
streamflags: u32,
hnsbufferduration: i64,
hnsperiodicity: i64,
pformat: *const WAVEFORMATEX,
audiosessionguid: *const GUID,
) -> Result<()>;
fn GetBufferSize(&self) -> Result<u32>;
fn GetStreamLatency(&self) -> Result<i64>;
fn GetCurrentPadding(&self) -> Result<u32>;
fn IsFormatSupported(
&self,
sharemode: AUDCLNT_SHAREMODE,
pformat: *const WAVEFORMATEX,
ppclosestmatch: *mut *mut WAVEFORMATEX,
) -> HRESULT;
fn GetMixFormat(&self) -> Result<*mut WAVEFORMATEX>;
fn GetDevicePeriod(
&self,
phnsdefaultdeviceperiod: *mut i64,
phnsminimumdeviceperiod: *mut i64,
) -> Result<()>;
fn Start(&self) -> Result<()>;
fn Stop(&self) -> Result<()>;
fn Reset(&self) -> Result<()>;
fn SetEventHandle(&self, eventhandle: HANDLE) -> Result<()>;
fn GetService(&self, riid: *const GUID, ppv: *mut *mut c_void) -> Result<()>;
}
Required Methods§
fn Initialize( &self, sharemode: AUDCLNT_SHAREMODE, streamflags: u32, hnsbufferduration: i64, hnsperiodicity: i64, pformat: *const WAVEFORMATEX, audiosessionguid: *const GUID, ) -> Result<()>
fn GetBufferSize(&self) -> Result<u32>
fn GetStreamLatency(&self) -> Result<i64>
fn GetCurrentPadding(&self) -> Result<u32>
fn IsFormatSupported( &self, sharemode: AUDCLNT_SHAREMODE, pformat: *const WAVEFORMATEX, ppclosestmatch: *mut *mut WAVEFORMATEX, ) -> HRESULT
fn GetMixFormat(&self) -> Result<*mut WAVEFORMATEX>
fn GetDevicePeriod( &self, phnsdefaultdeviceperiod: *mut i64, phnsminimumdeviceperiod: *mut i64, ) -> Result<()>
fn Start(&self) -> Result<()>
fn Stop(&self) -> Result<()>
fn Reset(&self) -> Result<()>
fn SetEventHandle(&self, eventhandle: HANDLE) -> Result<()>
fn GetService(&self, riid: *const GUID, ppv: *mut *mut c_void) -> 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.