FileRevocationManager.CopyProtectionAsync(IStorageItem, IStorageItem) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
注意
从 2022 年 7 月开始,Microsoft 将弃用 Windows 信息保护 (WIP) 和支持 WIP 的 API。 Microsoft 将继续在受支持的 Windows 版本上支持 WIP。 新版本的 Windows 不包含 WIP 的新功能,将来的 Windows 版本中不支持它。 有关详细信息,请参阅宣布 Windows 信息保护的日落。
出于数据保护需求,Microsoft 建议使用Microsoft Purview 信息保护和Microsoft Purview 数据丢失防护。 Purview 简化了配置设置,并提供一组高级功能。
注意
fileRevocationManager 在Windows 10后可能无法用于发布。 请改用 FileProtectionManager。
将文件或文件夹的选择性擦除保护状态复制到新文件或文件夹。
public:
static IAsyncOperation<bool> ^ CopyProtectionAsync(IStorageItem ^ sourceStorageItem, IStorageItem ^ targetStorageItem);
/// [Windows.Foundation.Metadata.Deprecated("FileRevocationManager might be unavailable after Windows 10. Instead, use FileProtectionManager.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, Windows.Security.EnterpriseData.EnterpriseDataContract)]
/// [Windows.Foundation.Metadata.RemoteAsync]
static IAsyncOperation<bool> CopyProtectionAsync(IStorageItem const& sourceStorageItem, IStorageItem const& targetStorageItem);
/// [Windows.Foundation.Metadata.RemoteAsync]
/// [Windows.Foundation.Metadata.Deprecated("FileRevocationManager might be unavailable after Windows 10. Instead, use FileProtectionManager.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.Security.EnterpriseData.EnterpriseDataContract")]
static IAsyncOperation<bool> CopyProtectionAsync(IStorageItem const& sourceStorageItem, IStorageItem const& targetStorageItem);
[Windows.Foundation.Metadata.Deprecated("FileRevocationManager might be unavailable after Windows 10. Instead, use FileProtectionManager.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, typeof(Windows.Security.EnterpriseData.EnterpriseDataContract))]
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<bool> CopyProtectionAsync(IStorageItem sourceStorageItem, IStorageItem targetStorageItem);
[Windows.Foundation.Metadata.RemoteAsync]
[Windows.Foundation.Metadata.Deprecated("FileRevocationManager might be unavailable after Windows 10. Instead, use FileProtectionManager.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.Security.EnterpriseData.EnterpriseDataContract")]
public static IAsyncOperation<bool> CopyProtectionAsync(IStorageItem sourceStorageItem, IStorageItem targetStorageItem);
function copyProtectionAsync(sourceStorageItem, targetStorageItem)
Public Shared Function CopyProtectionAsync (sourceStorageItem As IStorageItem, targetStorageItem As IStorageItem) As IAsyncOperation(Of Boolean)
参数
- sourceStorageItem
- IStorageItem
要从中复制选择性擦除保护状态的源项。
- targetStorageItem
- IStorageItem
要将选择性擦除保护状态复制到的目标项。
返回
如果复制操作成功,则为 true;否则为 false。
- 属性
注解
如果由于“另存为”操作保存了文件的新副本,则不会随文件一起复制选择性擦除保护状态。 若要保护文件,必须调用 CopyProtectionAsync 方法将现有保护状态复制到新文件。 如果使用 CopyAsync 或 CopyAndReplaceAsync 方法复制受保护的文件,则会随文件一起复制选择性擦除保护状态,无需调用 CopyProtectionAsync 方法。
public async Task<bool> CopyFile(StorageFile file, StorageFolder newFolder)
{
bool result = false;
try
{
var newFile = await file.CopyAsync(newFolder);
result = await
Windows.Security.EnterpriseData.FileRevocationManager.
CopyProtectionAsync(file, newFile);
}
catch (Exception e)
{
// Handle exception. For example, copy already exists.
}
return result;
}
CopyProtectionAsync 方法需要对正在加密的文件或文件夹进行独占访问,如果另一个正在使用的进程对文件或文件夹打开句柄,则该方法将失败。