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.