FileRevocationManager.GetStatusAsync(IStorageItem) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Observação
A partir de julho de 2022, a Microsoft está substituindo o Windows Proteção de Informações (WIP) e as APIs que dão suporte à WIP. A Microsoft continuará a dar suporte à WIP em versões com suporte do Windows. As novas versões do Windows não incluirão novos recursos para WIP e não serão compatíveis com versões futuras do Windows. Para obter mais informações, consulte Anunciando o pôr do sol do Windows Proteção de Informações.
Para suas necessidades de proteção de dados, a Microsoft recomenda que você use Proteção de Informações do Microsoft Purview e Prevenção Contra Perda de Dados do Microsoft Purview. O Purview simplifica a configuração configuração e fornece um conjunto avançado de recursos.
Observação
FileRevocationManager pode estar indisponível para versões após o Windows 10. Em vez disso, use FileProtectionManager.
Obtém o status de proteção de apagamento seletivo para um arquivo ou pasta.
public:
static IAsyncOperation<FileProtectionStatus> ^ GetStatusAsync(IStorageItem ^ storageItem);
/// [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<FileProtectionStatus> GetStatusAsync(IStorageItem const& storageItem);
/// [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<FileProtectionStatus> GetStatusAsync(IStorageItem const& storageItem);
[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<FileProtectionStatus> GetStatusAsync(IStorageItem storageItem);
[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<FileProtectionStatus> GetStatusAsync(IStorageItem storageItem);
function getStatusAsync(storageItem)
Public Shared Function GetStatusAsync (storageItem As IStorageItem) As IAsyncOperation(Of FileProtectionStatus)
Parâmetros
- storageItem
- IStorageItem
O arquivo ou pasta para o qual obter a proteção de apagamento seletivo status.
Retornos
Uma operação aysíncrona que recupera a proteção de apagamento seletivo status para storageItem.
- Atributos
Comentários
Você pode usar o método GetStatusAsync para determinar a proteção de apagamento seletivo status de um arquivo ou pasta. Isso informará se um arquivo está protegido ou não, se um arquivo é protegido por outro usuário no computador e assim por diante. Um uso comum do método GetStatusAsync é determinar quando um arquivo protegido deve ser excluído. Por exemplo, quando um arquivo protegido é revogado, uma tentativa de acessar o conteúdo do arquivo resultará em uma exceção "Acesso negado". Ao encontrar essa exceção, você pode usar o método GetStatusAsync para determinar se o arquivo foi revogado pelo Apagamento Seletivo e, em seguida, excluir o arquivo se ele tiver, conforme mostrado no exemplo a seguir.
ApplicationData appRootFolder = ApplicationData.Current;
string enterpriseIdentity = "example.com";
int AccessDeniedHResult = -2147024891; // Access Denied (0x80070005)
private async Task<IRandomAccessStream> GetFileContents(string filePath)
{
IRandomAccessStream stream = null;
StorageFile file = null;
try
{
file = await StorageFile.GetFileFromPathAsync(filePath);
stream = await file.OpenReadAsync();
}
catch (UnauthorizedAccessException e)
{
if (e.HResult == AccessDeniedHResult)
{
// Delete file if it has been revoked.
SelectiveWipeCleanup(file);
}
return null;
}
return stream;
}
// Delete items revoked by Selective Wipe.
private async void SelectiveWipeCleanup(StorageFile file)
{
var status = await Windows.Security.EnterpriseData.FileRevocationManager.GetStatusAsync(file);
if (status == Windows.Security.EnterpriseData.FileProtectionStatus.Revoked)
{
await file.DeleteAsync();
}
}