Trait IFileOperationProgressSink_Impl
pub trait IFileOperationProgressSink_Impl: IUnknownImpl {
Show 16 methods
// Required methods
fn StartOperations(&self) -> Result<()>;
fn FinishOperations(&self, hrresult: HRESULT) -> Result<()>;
fn PreRenameItem(
&self,
dwflags: u32,
psiitem: Ref<'_, IShellItem>,
psznewname: &PCWSTR,
) -> Result<()>;
fn PostRenameItem(
&self,
dwflags: u32,
psiitem: Ref<'_, IShellItem>,
psznewname: &PCWSTR,
hrrename: HRESULT,
psinewlycreated: Ref<'_, IShellItem>,
) -> Result<()>;
fn PreMoveItem(
&self,
dwflags: u32,
psiitem: Ref<'_, IShellItem>,
psidestinationfolder: Ref<'_, IShellItem>,
psznewname: &PCWSTR,
) -> Result<()>;
fn PostMoveItem(
&self,
dwflags: u32,
psiitem: Ref<'_, IShellItem>,
psidestinationfolder: Ref<'_, IShellItem>,
psznewname: &PCWSTR,
hrmove: HRESULT,
psinewlycreated: Ref<'_, IShellItem>,
) -> Result<()>;
fn PreCopyItem(
&self,
dwflags: u32,
psiitem: Ref<'_, IShellItem>,
psidestinationfolder: Ref<'_, IShellItem>,
psznewname: &PCWSTR,
) -> Result<()>;
fn PostCopyItem(
&self,
dwflags: u32,
psiitem: Ref<'_, IShellItem>,
psidestinationfolder: Ref<'_, IShellItem>,
psznewname: &PCWSTR,
hrcopy: HRESULT,
psinewlycreated: Ref<'_, IShellItem>,
) -> Result<()>;
fn PreDeleteItem(
&self,
dwflags: u32,
psiitem: Ref<'_, IShellItem>,
) -> Result<()>;
fn PostDeleteItem(
&self,
dwflags: u32,
psiitem: Ref<'_, IShellItem>,
hrdelete: HRESULT,
psinewlycreated: Ref<'_, IShellItem>,
) -> Result<()>;
fn PreNewItem(
&self,
dwflags: u32,
psidestinationfolder: Ref<'_, IShellItem>,
psznewname: &PCWSTR,
) -> Result<()>;
fn PostNewItem(
&self,
dwflags: u32,
psidestinationfolder: Ref<'_, IShellItem>,
psznewname: &PCWSTR,
psztemplatename: &PCWSTR,
dwfileattributes: u32,
hrnew: HRESULT,
psinewitem: Ref<'_, IShellItem>,
) -> Result<()>;
fn UpdateProgress(&self, iworktotal: u32, iworksofar: u32) -> Result<()>;
fn ResetTimer(&self) -> Result<()>;
fn PauseTimer(&self) -> Result<()>;
fn ResumeTimer(&self) -> Result<()>;
}
Required Methods§
fn StartOperations(&self) -> Result<()>
fn FinishOperations(&self, hrresult: HRESULT) -> Result<()>
fn PreRenameItem( &self, dwflags: u32, psiitem: Ref<'_, IShellItem>, psznewname: &PCWSTR, ) -> Result<()>
fn PostRenameItem( &self, dwflags: u32, psiitem: Ref<'_, IShellItem>, psznewname: &PCWSTR, hrrename: HRESULT, psinewlycreated: Ref<'_, IShellItem>, ) -> Result<()>
fn PreMoveItem( &self, dwflags: u32, psiitem: Ref<'_, IShellItem>, psidestinationfolder: Ref<'_, IShellItem>, psznewname: &PCWSTR, ) -> Result<()>
fn PostMoveItem( &self, dwflags: u32, psiitem: Ref<'_, IShellItem>, psidestinationfolder: Ref<'_, IShellItem>, psznewname: &PCWSTR, hrmove: HRESULT, psinewlycreated: Ref<'_, IShellItem>, ) -> Result<()>
fn PreCopyItem( &self, dwflags: u32, psiitem: Ref<'_, IShellItem>, psidestinationfolder: Ref<'_, IShellItem>, psznewname: &PCWSTR, ) -> Result<()>
fn PostCopyItem( &self, dwflags: u32, psiitem: Ref<'_, IShellItem>, psidestinationfolder: Ref<'_, IShellItem>, psznewname: &PCWSTR, hrcopy: HRESULT, psinewlycreated: Ref<'_, IShellItem>, ) -> Result<()>
fn PreDeleteItem( &self, dwflags: u32, psiitem: Ref<'_, IShellItem>, ) -> Result<()>
fn PostDeleteItem( &self, dwflags: u32, psiitem: Ref<'_, IShellItem>, hrdelete: HRESULT, psinewlycreated: Ref<'_, IShellItem>, ) -> Result<()>
fn PreNewItem( &self, dwflags: u32, psidestinationfolder: Ref<'_, IShellItem>, psznewname: &PCWSTR, ) -> Result<()>
fn PostNewItem( &self, dwflags: u32, psidestinationfolder: Ref<'_, IShellItem>, psznewname: &PCWSTR, psztemplatename: &PCWSTR, dwfileattributes: u32, hrnew: HRESULT, psinewitem: Ref<'_, IShellItem>, ) -> Result<()>
fn UpdateProgress(&self, iworktotal: u32, iworksofar: u32) -> Result<()>
fn ResetTimer(&self) -> Result<()>
fn PauseTimer(&self) -> Result<()>
fn ResumeTimer(&self) -> Result<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.