DuplicateEncryptionInfoFile 函数 (winefs.h)
将一个文件或目录中的 EFS 元数据复制到另一个文件或目录。
语法
DWORD DuplicateEncryptionInfoFile(
[in] LPCWSTR SrcFileName,
[in] LPCWSTR DstFileName,
[in] DWORD dwCreationDistribution,
[in] DWORD dwAttributes,
[in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
参数
[in] SrcFileName
要从中复制 EFS 元数据的文件或目录的名称。 必须对此源文件或目录进行加密。
[in] DstFileName
要向其复制 EFS 元数据的文件或目录的名称。
在调用此函数之前,无需加密此目标文件或目录;但是,如果此函数成功完成,则会对其进行加密。
如果 SrcFileName 的值指定了一个文件,则此参数的值还必须指定文件,同样必须指定目录。 如果不存在由此参数指定的名称的文件或目录, (文件或目录,具体取决于 SrcFileName 是否指定文件或目录) 。
[in] dwCreationDistribution
描述如何打开 DstFileName 参数值标识的目标文件或目录。 下面是此参数的有效值。
值 | 含义 |
---|---|
|
始终创建目标文件或目录。 除 CREATE_NEW 之外,此参数中传递的任何值都将作为 CREATE_ALWAYS进行处理。 |
|
仅当目标文件或目录尚不存在时才创建它。 如果它确实存在,并且指定了此值,则此函数将失败。 |
[in] dwAttributes
目标文件或目录的文件属性。 此函数当前不处理 FILE_READ_ONLY 属性。
[in, optional] lpSecurityAttributes
指向 SECURITY_ATTRIBUTES 结构的指针,该结构指定目标文件或目录的安全属性(如果尚不存在)。 如果指定 NULL,则文件或目录将获取默认的安全描述符。 文件或目录的默认安全描述符中的 ACL 继承自其父目录。
返回值
如果函数成功,则返回值 ERROR_SUCCESS。
如果函数失败,则返回值为系统错误代码。 有关错误代码的完整列表,请参阅 系统错误代码 或头文件 WinError.h。
注解
EFS 需要对目标文件或目录进行独占访问才能调用此函数。 如果未提供此访问,则此函数将失败。
调用方应具有源文件或目录的 EFS 密钥,至少具有源文件或目录 的 READ_ATTRIBUTE ACL。
指定的源和目标文件或目录应驻留在同一台计算机上;否则,将返回错误。
在 Windows 8 和 Windows Server 2012 中,此函数由以下技术支持。
技术 | 支持 |
---|---|
服务器消息块 (SMB) 3.0 协议 | 是 |
SMB 3.0 透明故障转移 (TFO) | 否 |
具有横向扩展文件共享的 SMB 3.0 (SO) | 否 |
群集共享卷文件系统 (CSV) | 否 |
弹性文件系统 (ReFS) | 否 |
SMB 3.0 不支持具有持续可用性功能的共享上的 EFS。
要求
最低受支持的客户端 | Windows XP Professional [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | winefs.h (包括 Windows.h) |
Library | Advapi32.lib |
DLL | Advapi32.dll |