Trait windows::Win32::Storage::VirtualDiskService::IVdsSubSystem_Impl
pub trait IVdsSubSystem_Impl: Sized {
// Required methods
fn GetProperties(
&self,
psubsystemprop: *mut VDS_SUB_SYSTEM_PROP,
) -> Result<()>;
fn GetProvider(&self) -> Result<IVdsProvider>;
fn QueryControllers(&self) -> Result<IEnumVdsObject>;
fn QueryLuns(&self) -> Result<IEnumVdsObject>;
fn QueryDrives(&self) -> Result<IEnumVdsObject>;
fn GetDrive(&self, sbusnumber: i16, sslotnumber: i16) -> Result<IVdsDrive>;
fn Reenumerate(&self) -> Result<()>;
fn SetControllerStatus(
&self,
ponlinecontrolleridarray: *const GUID,
lnumberofonlinecontrollers: i32,
pofflinecontrolleridarray: *const GUID,
lnumberofofflinecontrollers: i32,
) -> Result<()>;
fn CreateLun(
&self,
type: VDS_LUN_TYPE,
ullsizeinbytes: u64,
pdriveidarray: *const GUID,
lnumberofdrives: i32,
pwszunmaskinglist: &PCWSTR,
phints: *const VDS_HINTS,
) -> Result<IVdsAsync>;
fn ReplaceDrive(
&self,
drivetobereplaced: &GUID,
replacementdrive: &GUID,
) -> Result<()>;
fn SetStatus(&self, status: VDS_SUB_SYSTEM_STATUS) -> Result<()>;
fn QueryMaxLunCreateSize(
&self,
type: VDS_LUN_TYPE,
pdriveidarray: *const GUID,
lnumberofdrives: i32,
phints: *const VDS_HINTS,
) -> Result<u64>;
}
Required Methods§
fn GetProperties(&self, psubsystemprop: *mut VDS_SUB_SYSTEM_PROP) -> Result<()>
fn GetProvider(&self) -> Result<IVdsProvider>
fn QueryControllers(&self) -> Result<IEnumVdsObject>
fn QueryLuns(&self) -> Result<IEnumVdsObject>
fn QueryDrives(&self) -> Result<IEnumVdsObject>
fn GetDrive(&self, sbusnumber: i16, sslotnumber: i16) -> Result<IVdsDrive>
fn Reenumerate(&self) -> Result<()>
fn SetControllerStatus( &self, ponlinecontrolleridarray: *const GUID, lnumberofonlinecontrollers: i32, pofflinecontrolleridarray: *const GUID, lnumberofofflinecontrollers: i32, ) -> Result<()>
fn CreateLun( &self, type: VDS_LUN_TYPE, ullsizeinbytes: u64, pdriveidarray: *const GUID, lnumberofdrives: i32, pwszunmaskinglist: &PCWSTR, phints: *const VDS_HINTS, ) -> Result<IVdsAsync>
fn ReplaceDrive( &self, drivetobereplaced: &GUID, replacementdrive: &GUID, ) -> Result<()>
fn SetStatus(&self, status: VDS_SUB_SYSTEM_STATUS) -> Result<()>
fn QueryMaxLunCreateSize( &self, type: VDS_LUN_TYPE, pdriveidarray: *const GUID, lnumberofdrives: i32, phints: *const VDS_HINTS, ) -> Result<u64>
Object Safety§
This trait is not object safe.