pub trait IVdsVolume_Impl: Sized {
    // Required methods
    fn GetProperties(
        &self,
        pvolumeproperties: *mut VDS_VOLUME_PROP,
    ) -> Result<()>;
    fn GetPack(&self) -> Result<IVdsPack>;
    fn QueryPlexes(&self) -> Result<IEnumVdsObject>;
    fn Extend(
        &self,
        pinputdiskarray: *const VDS_INPUT_DISK,
        lnumberofdisks: i32,
    ) -> Result<IVdsAsync>;
    fn Shrink(&self, ullnumberofbytestoremove: u64) -> Result<IVdsAsync>;
    fn AddPlex(&self, volumeid: &GUID) -> Result<IVdsAsync>;
    fn BreakPlex(&self, plexid: &GUID) -> Result<IVdsAsync>;
    fn RemovePlex(&self, plexid: &GUID) -> Result<IVdsAsync>;
    fn Delete(&self, bforce: BOOL) -> Result<()>;
    fn SetFlags(&self, ulflags: u32, brevertonclose: BOOL) -> Result<()>;
    fn ClearFlags(&self, ulflags: u32) -> Result<()>;
}

Required Methods§

fn GetProperties(&self, pvolumeproperties: *mut VDS_VOLUME_PROP) -> Result<()>

fn GetPack(&self) -> Result<IVdsPack>

fn QueryPlexes(&self) -> Result<IEnumVdsObject>

fn Extend( &self, pinputdiskarray: *const VDS_INPUT_DISK, lnumberofdisks: i32, ) -> Result<IVdsAsync>

fn Shrink(&self, ullnumberofbytestoremove: u64) -> Result<IVdsAsync>

fn AddPlex(&self, volumeid: &GUID) -> Result<IVdsAsync>

fn BreakPlex(&self, plexid: &GUID) -> Result<IVdsAsync>

fn RemovePlex(&self, plexid: &GUID) -> Result<IVdsAsync>

fn Delete(&self, bforce: BOOL) -> Result<()>

fn SetFlags(&self, ulflags: u32, brevertonclose: BOOL) -> Result<()>

fn ClearFlags(&self, ulflags: u32) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§