Compartilhar via


FileRevocationManager.GetStatusAsync(IStorageItem) Método

Definição

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();
    }
}

Aplica-se a

Confira também