IStorageProviderCopyHook::CopyCallback 方法

确定是否允许 Shell 在云提供商的同步根目录中移动、复制、删除或重命名文件夹。

语法

HRESULT CopyCallback( 
    HWND hwnd,
    UINT operation,
    UINT flags,
    LPCWSTR srcFile,
    DWORD srcAttribs,
    LPCWSTR destFile,
    DWORD destAttribs,
    UINT* result
);

parameters

hwnd [in]

复制挂钩处理程序应用作处理程序可能需要显示的任何用户界面元素的父元素的窗口句柄。 如果在操作中指定了FOF_SILENT,则 方法应忽略此参数。

操作 [in]

要执行的操作。 此参数可以是 SHFILEOPSTRUCT 结构的 wFunc 成员下列出的值之一。

flags [in]

控制操作的标志。 此参数可以是 SHFILEOPSTRUCT 结构的 fFlags 成员下列出的一个或多个值。

对于打印机复制挂钩,此值是在 shellapi.h 中定义的以下值之一。

说明
PO_DELETE 正在删除打印机。 srcFile 参数指向指定打印机的完整路径。
PO_RENAME 正在重命名打印机。 srcFile 参数指向打印机的新名称。 destFile 参数指向旧名称。
PO_PORTCHANGE 不支持。 请勿使用。
PO_REN_PORT 不支持。 请勿使用。

srcFile [in]

指向包含源文件夹名称的字符串的指针。

srcAttribs [in]

源文件夹的属性。 此参数可以是头文件中定义的任意文件属性标志 (FILE_ATTRIBUTE_*) 的组合。 请参阅 文件属性常量

destFile [in]

指向包含目标文件夹名称的字符串的指针。

destAttribs [in]

目标文件夹的属性。 此参数可以是头文件中定义的任意文件属性标志 (FILE_ATTRIBUTE_*) 的组合。 请参阅 文件属性常量

result [out]

指示 Shell 是否应执行操作的整数值。 下列类型作之一:

说明
IDYES 允许操作。
IDNO 阻止对此文件夹执行的操作,但继续执行已批准的任何其他操作 (例如批处理复制操作) 。
IDCANCEL 阻止当前操作并取消任何挂起的操作。

返回值

如果成功,则返回 S_OK ,否则返回错误代码。

备注

Shell 为注册的同步根下的每个文件夹调用云提供商的复制挂钩处理程序。 若要为云文件夹注册复制挂钩处理程序,请将复制挂钩对象的 CLSID HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Explorer/SyncRootManager/{SyncRootId} 键下的 CopyHook 值。

调用 CopyCallback 方法时,Shell 会直接初始化 IStorageProviderCopyHook 接口,而无需先使用 IShellExtInit 接口。

要求

要求
最低受支持的客户端 Windows 10 Insider Preview 版本 19624
标头 shobjidl.h

另请参阅

生成支持占位符文件的云同步引擎