pub trait IDiscRecorder_Impl: Sized {
Show 15 methods // Required methods fn Init( &self, pbyuniqueid: *const u8, nulidsize: u32, nuldrivenumber: u32 ) -> Result<()>; fn GetRecorderGUID( &self, pbyuniqueid: *mut u8, ulbuffersize: u32, pulreturnsizerequired: *mut u32 ) -> Result<()>; fn GetRecorderType(&self) -> Result<RECORDER_TYPES>; fn GetDisplayNames( &self, pbstrvendorid: *mut BSTR, pbstrproductid: *mut BSTR, pbstrrevision: *mut BSTR ) -> Result<()>; fn GetBasePnPID(&self) -> Result<BSTR>; fn GetPath(&self) -> Result<BSTR>; fn GetRecorderProperties(&self) -> Result<IPropertyStorage>; fn SetRecorderProperties( &self, ppropstg: Option<&IPropertyStorage> ) -> Result<()>; fn GetRecorderState(&self) -> Result<DISC_RECORDER_STATE_FLAGS>; fn OpenExclusive(&self) -> Result<()>; fn QueryMediaType( &self, fmediatype: *mut MEDIA_TYPES, fmediaflags: *mut MEDIA_FLAGS ) -> Result<()>; fn QueryMediaInfo( &self, pbsessions: *mut u8, pblasttrack: *mut u8, ulstartaddress: *mut u32, ulnextwritable: *mut u32, ulfreeblocks: *mut u32 ) -> Result<()>; fn Eject(&self) -> Result<()>; fn Erase(&self, bfullerase: u8) -> Result<()>; fn Close(&self) -> Result<()>;
}

Required Methods§

fn Init( &self, pbyuniqueid: *const u8, nulidsize: u32, nuldrivenumber: u32 ) -> Result<()>

fn GetRecorderGUID( &self, pbyuniqueid: *mut u8, ulbuffersize: u32, pulreturnsizerequired: *mut u32 ) -> Result<()>

fn GetRecorderType(&self) -> Result<RECORDER_TYPES>

fn GetDisplayNames( &self, pbstrvendorid: *mut BSTR, pbstrproductid: *mut BSTR, pbstrrevision: *mut BSTR ) -> Result<()>

fn GetBasePnPID(&self) -> Result<BSTR>

fn GetPath(&self) -> Result<BSTR>

fn GetRecorderProperties(&self) -> Result<IPropertyStorage>

fn SetRecorderProperties( &self, ppropstg: Option<&IPropertyStorage> ) -> Result<()>

fn GetRecorderState(&self) -> Result<DISC_RECORDER_STATE_FLAGS>

fn OpenExclusive(&self) -> Result<()>

fn QueryMediaType( &self, fmediatype: *mut MEDIA_TYPES, fmediaflags: *mut MEDIA_FLAGS ) -> Result<()>

fn QueryMediaInfo( &self, pbsessions: *mut u8, pblasttrack: *mut u8, ulstartaddress: *mut u32, ulnextwritable: *mut u32, ulfreeblocks: *mut u32 ) -> Result<()>

fn Eject(&self) -> Result<()>

fn Erase(&self, bfullerase: u8) -> Result<()>

fn Close(&self) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§