pub trait IVdsAdvancedDisk_Impl: Sized {
    // Required methods
    fn GetPartitionProperties(
        &self,
        ulloffset: u64,
        ppartitionprop: *mut VDS_PARTITION_PROP
    ) -> Result<()>;
    fn QueryPartitions(
        &self,
        pppartitionproparray: *mut *mut VDS_PARTITION_PROP,
        plnumberofpartitions: *mut i32
    ) -> Result<()>;
    fn CreatePartition(
        &self,
        ulloffset: u64,
        ullsize: u64,
        para: *const CREATE_PARTITION_PARAMETERS
    ) -> Result<IVdsAsync>;
    fn DeletePartition(
        &self,
        ulloffset: u64,
        bforce: BOOL,
        bforceprotected: BOOL
    ) -> Result<()>;
    fn ChangeAttributes(
        &self,
        ulloffset: u64,
        para: *const CHANGE_ATTRIBUTES_PARAMETERS
    ) -> Result<()>;
    fn AssignDriveLetter(&self, ulloffset: u64, wcletter: u16) -> Result<()>;
    fn DeleteDriveLetter(&self, ulloffset: u64, wcletter: u16) -> Result<()>;
    fn GetDriveLetter(&self, ulloffset: u64, pwcletter: PWSTR) -> Result<()>;
    fn FormatPartition(
        &self,
        ulloffset: u64,
        type: VDS_FILE_SYSTEM_TYPE,
        pwszlabel: &PCWSTR,
        dwunitallocationsize: u32,
        bforce: BOOL,
        bquickformat: BOOL,
        benablecompression: BOOL
    ) -> Result<IVdsAsync>;
    fn Clean(
        &self,
        bforce: BOOL,
        bforceoem: BOOL,
        bfullclean: BOOL
    ) -> Result<IVdsAsync>;
}

Required Methods§

fn GetPartitionProperties( &self, ulloffset: u64, ppartitionprop: *mut VDS_PARTITION_PROP ) -> Result<()>

fn QueryPartitions( &self, pppartitionproparray: *mut *mut VDS_PARTITION_PROP, plnumberofpartitions: *mut i32 ) -> Result<()>

fn CreatePartition( &self, ulloffset: u64, ullsize: u64, para: *const CREATE_PARTITION_PARAMETERS ) -> Result<IVdsAsync>

fn DeletePartition( &self, ulloffset: u64, bforce: BOOL, bforceprotected: BOOL ) -> Result<()>

fn ChangeAttributes( &self, ulloffset: u64, para: *const CHANGE_ATTRIBUTES_PARAMETERS ) -> Result<()>

fn AssignDriveLetter(&self, ulloffset: u64, wcletter: u16) -> Result<()>

fn DeleteDriveLetter(&self, ulloffset: u64, wcletter: u16) -> Result<()>

fn GetDriveLetter(&self, ulloffset: u64, pwcletter: PWSTR) -> Result<()>

fn FormatPartition( &self, ulloffset: u64, type: VDS_FILE_SYSTEM_TYPE, pwszlabel: &PCWSTR, dwunitallocationsize: u32, bforce: BOOL, bquickformat: BOOL, benablecompression: BOOL ) -> Result<IVdsAsync>

fn Clean( &self, bforce: BOOL, bforceoem: BOOL, bfullclean: BOOL ) -> Result<IVdsAsync>

Object Safety§

This trait is not object safe.

Implementors§