IFolderWindowsGetFolderOperationControlAsync Method |
Namespace: ITHit.FileSystem.Windows
Task<FolderOperationControl> GetFolderOperationControlAsync( FolderOperation fileOperation, string targetUserFileSystemPath, IntPtr parentWindow, FolderControlFlags flags, FileAttributes sourceAttributes, FileAttributes targetAttributes )
To allow or forbid Shell from performing operations, follow these steps:
CopyHook functionality does NOT require package or application identity.
The code below is part of 'VirtualDrive' C# sample provided with the SDK.
[ComVisible(true)] [ProgId("VirtualDrive.StorageProviderCopyHook")] [Guid("4E813313-2227-42AE-BDC9-53C17A9CF812")] internal class StorageProviderCopyHookIntegrated : StorageProviderCopyHookIntegratedBase { public StorageProviderCopyHookIntegrated() : base(Program.Engine) { } }
The code below is part of 'VirtualDrive' C# sample provided with the SDK.
<Extensions> <desktop3:Extension Category="windows.cloudFiles"> <desktop3:CloudFiles> <desktop3:CustomStateHandler Clsid="000562AA-2879-4CF1-89E8-0AEC9596FE19"/> <desktop3:ThumbnailProviderHandler Clsid="05CF065E-E135-4B2B-9D4D-CFB3FBAC73A4"/> <desktop3:ExtendedPropertyHandler Clsid="20000000-0000-0000-0000-000000000001"/> <desktop3:BannersHandler Clsid="20000000-0000-0000-0000-000000000001"/> <desktop3:CloudFilesContextMenus> <desktop3:Verb Id="LockCommand" Clsid="9C923BF3-3A4B-487B-AB4E-B4CF87FD1C25" /> </desktop3:CloudFilesContextMenus> <desktop4:ContentUriSource Clsid="6D45BC7A-D0B7-4913-8984-FD7261550C08"/> </desktop3:CloudFiles> </desktop3:Extension> <com:Extension Category="windows.comServer"> <com:ComServer> <com:ExeServer DisplayName="VirtualDrive.ShellExtension" Executable="VirtualDrive.ShellExtension\VirtualDrive.ShellExtension.exe"> <com:Class Id="05CF065E-E135-4B2B-9D4D-CFB3FBAC73A4" /> </com:ExeServer> <com:ExeServer DisplayName="VirtualDrive.ShellExtension" Executable="VirtualDrive.ShellExtension\VirtualDrive.ShellExtension.exe"> <com:Class Id="9C923BF3-3A4B-487B-AB4E-B4CF87FD1C25" /> </com:ExeServer> <com:ExeServer DisplayName="VirtualDrive.ShellExtension" Executable="VirtualDrive.ShellExtension\VirtualDrive.ShellExtension.exe"> <com:Class Id="000562AA-2879-4CF1-89E8-0AEC9596FE19" /> </com:ExeServer> <com:ExeServer DisplayName="VirtualDrive.ShellExtension" Executable="VirtualDrive.ShellExtension\VirtualDrive.ShellExtension.exe"> <com:Class Id="6D45BC7A-D0B7-4913-8984-FD7261550C08" /> </com:ExeServer> <com:ExeServer DisplayName="VirtualDrive.ShellExtension" Executable="VirtualDrive.ShellExtension\VirtualDrive.ShellExtension.exe"> <com:Class Id="4E813313-2227-42AE-BDC9-53C17A9CF812" /> </com:ExeServer> </com:ComServer> </com:Extension> </Extensions>