pub trait IVdsSubSystem2_Impl: Sized {
    // Required methods
    fn GetProperties2(
        &self,
        psubsystemprop2: *mut VDS_SUB_SYSTEM_PROP2
    ) -> Result<()>;
    fn GetDrive2(
        &self,
        sbusnumber: i16,
        sslotnumber: i16,
        ulenclosurenumber: u32
    ) -> Result<IVdsDrive>;
    fn CreateLun2(
        &self,
        type: VDS_LUN_TYPE,
        ullsizeinbytes: u64,
        pdriveidarray: *const GUID,
        lnumberofdrives: i32,
        pwszunmaskinglist: &PCWSTR,
        phints2: *const VDS_HINTS2
    ) -> Result<IVdsAsync>;
    fn QueryMaxLunCreateSize2(
        &self,
        type: VDS_LUN_TYPE,
        pdriveidarray: *const GUID,
        lnumberofdrives: i32,
        phints2: *const VDS_HINTS2
    ) -> Result<u64>;
}

Required Methods§

fn GetProperties2( &self, psubsystemprop2: *mut VDS_SUB_SYSTEM_PROP2 ) -> Result<()>

fn GetDrive2( &self, sbusnumber: i16, sslotnumber: i16, ulenclosurenumber: u32 ) -> Result<IVdsDrive>

fn CreateLun2( &self, type: VDS_LUN_TYPE, ullsizeinbytes: u64, pdriveidarray: *const GUID, lnumberofdrives: i32, pwszunmaskinglist: &PCWSTR, phints2: *const VDS_HINTS2 ) -> Result<IVdsAsync>

fn QueryMaxLunCreateSize2( &self, type: VDS_LUN_TYPE, pdriveidarray: *const GUID, lnumberofdrives: i32, phints2: *const VDS_HINTS2 ) -> Result<u64>

Object Safety§

This trait is not object safe.

Implementors§