pub trait IVdsPack_Impl: Sized {
    // Required methods
    fn GetProperties(&self, ppackprop: *mut VDS_PACK_PROP) -> Result<()>;
    fn GetProvider(&self) -> Result<IVdsProvider>;
    fn QueryVolumes(&self) -> Result<IEnumVdsObject>;
    fn QueryDisks(&self) -> Result<IEnumVdsObject>;
    fn CreateVolume(
        &self,
        type: VDS_VOLUME_TYPE,
        pinputdiskarray: *const VDS_INPUT_DISK,
        lnumberofdisks: i32,
        ulstripesize: u32
    ) -> Result<IVdsAsync>;
    fn AddDisk(
        &self,
        diskid: &GUID,
        partitionstyle: VDS_PARTITION_STYLE,
        bashotspare: BOOL
    ) -> Result<()>;
    fn MigrateDisks(
        &self,
        pdiskarray: *const GUID,
        lnumberofdisks: i32,
        targetpack: &GUID,
        bforce: BOOL,
        bqueryonly: BOOL,
        presults: *mut HRESULT,
        pbrebootneeded: *mut BOOL
    ) -> Result<()>;
    fn ReplaceDisk(
        &self,
        olddiskid: &GUID,
        newdiskid: &GUID
    ) -> Result<IVdsAsync>;
    fn RemoveMissingDisk(&self, diskid: &GUID) -> Result<()>;
    fn Recover(&self) -> Result<IVdsAsync>;
}

Required Methods§

fn GetProperties(&self, ppackprop: *mut VDS_PACK_PROP) -> Result<()>

fn GetProvider(&self) -> Result<IVdsProvider>

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

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

fn CreateVolume( &self, type: VDS_VOLUME_TYPE, pinputdiskarray: *const VDS_INPUT_DISK, lnumberofdisks: i32, ulstripesize: u32 ) -> Result<IVdsAsync>

fn AddDisk( &self, diskid: &GUID, partitionstyle: VDS_PARTITION_STYLE, bashotspare: BOOL ) -> Result<()>

fn MigrateDisks( &self, pdiskarray: *const GUID, lnumberofdisks: i32, targetpack: &GUID, bforce: BOOL, bqueryonly: BOOL, presults: *mut HRESULT, pbrebootneeded: *mut BOOL ) -> Result<()>

fn ReplaceDisk(&self, olddiskid: &GUID, newdiskid: &GUID) -> Result<IVdsAsync>

fn RemoveMissingDisk(&self, diskid: &GUID) -> Result<()>

fn Recover(&self) -> Result<IVdsAsync>

Object Safety§

This trait is not object safe.

Implementors§