Trait IWMReaderAdvanced2_Impl
pub trait IWMReaderAdvanced2_Impl: IWMReaderAdvanced_Impl {
Show 15 methods
// Required methods
fn SetPlayMode(&self, mode: WMT_PLAY_MODE) -> Result<()>;
fn GetPlayMode(&self) -> Result<WMT_PLAY_MODE>;
fn GetBufferProgress(
&self,
pdwpercent: *mut u32,
pcnsbuffering: *mut u64,
) -> Result<()>;
fn GetDownloadProgress(
&self,
pdwpercent: *mut u32,
pqwbytesdownloaded: *mut u64,
pcnsdownload: *mut u64,
) -> Result<()>;
fn GetSaveAsProgress(&self) -> Result<u32>;
fn SaveFileAs(&self, pwszfilename: &PCWSTR) -> Result<()>;
fn GetProtocolName(
&self,
pwszprotocol: PWSTR,
pcchprotocol: *mut u32,
) -> Result<()>;
fn StartAtMarker(
&self,
wmarkerindex: u16,
cnsduration: u64,
frate: f32,
pvcontext: *const c_void,
) -> Result<()>;
fn GetOutputSetting(
&self,
dwoutputnum: u32,
pszname: &PCWSTR,
ptype: *mut WMT_ATTR_DATATYPE,
pvalue: *mut u8,
pcblength: *mut u16,
) -> Result<()>;
fn SetOutputSetting(
&self,
dwoutputnum: u32,
pszname: &PCWSTR,
type: WMT_ATTR_DATATYPE,
pvalue: *const u8,
cblength: u16,
) -> Result<()>;
fn Preroll(&self, cnsstart: u64, cnsduration: u64, frate: f32) -> Result<()>;
fn SetLogClientID(&self, flogclientid: BOOL) -> Result<()>;
fn GetLogClientID(&self) -> Result<BOOL>;
fn StopBuffering(&self) -> Result<()>;
fn OpenStream(
&self,
pstream: Ref<'_, IStream>,
pcallback: Ref<'_, IWMReaderCallback>,
pvcontext: *const c_void,
) -> Result<()>;
}
Required Methods§
fn SetPlayMode(&self, mode: WMT_PLAY_MODE) -> Result<()>
fn GetPlayMode(&self) -> Result<WMT_PLAY_MODE>
fn GetBufferProgress( &self, pdwpercent: *mut u32, pcnsbuffering: *mut u64, ) -> Result<()>
fn GetDownloadProgress( &self, pdwpercent: *mut u32, pqwbytesdownloaded: *mut u64, pcnsdownload: *mut u64, ) -> Result<()>
fn GetSaveAsProgress(&self) -> Result<u32>
fn SaveFileAs(&self, pwszfilename: &PCWSTR) -> Result<()>
fn GetProtocolName( &self, pwszprotocol: PWSTR, pcchprotocol: *mut u32, ) -> Result<()>
fn StartAtMarker( &self, wmarkerindex: u16, cnsduration: u64, frate: f32, pvcontext: *const c_void, ) -> Result<()>
fn GetOutputSetting( &self, dwoutputnum: u32, pszname: &PCWSTR, ptype: *mut WMT_ATTR_DATATYPE, pvalue: *mut u8, pcblength: *mut u16, ) -> Result<()>
fn SetOutputSetting( &self, dwoutputnum: u32, pszname: &PCWSTR, type: WMT_ATTR_DATATYPE, pvalue: *const u8, cblength: u16, ) -> Result<()>
fn Preroll(&self, cnsstart: u64, cnsduration: u64, frate: f32) -> Result<()>
fn SetLogClientID(&self, flogclientid: BOOL) -> Result<()>
fn GetLogClientID(&self) -> Result<BOOL>
fn StopBuffering(&self) -> Result<()>
fn OpenStream( &self, pstream: Ref<'_, IStream>, pcallback: Ref<'_, IWMReaderCallback>, pvcontext: *const 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.