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) | 不 |
群集共享卷文件系统 (CsvFS) | 不 |
可复原文件系统 (ReFS) | 不 |
SMB 3.0 不支持具有持续可用性功能的共享上的 EFS。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows XP Professional [仅限桌面应用] |
支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | winefs.h (包括 Windows.h) |
库 | Advapi32.lib |
DLL | Advapi32.dll |