Partager via


FileRevocationManager.GetStatusAsync(IStorageItem) Méthode

Définition

Notes

À compter de juillet 2022, Microsoft déprécie Windows Information Protection (WIP) et les API qui prennent en charge WIP. Microsoft continuera à prendre en charge WIP sur les versions prises en charge de Windows. Les nouvelles versions de Windows n’incluront pas de nouvelles fonctionnalités pour WIP et ne seront pas prises en charge dans les futures versions de Windows. Pour plus d’informations, consultez Annonce de la coucher du soleil de Windows Information Protection.

Pour vos besoins en matière de protection des données, Microsoft vous recommande d’utiliser Protection des données Microsoft Purview et Protection contre la perte de données Microsoft Purview. Purview simplifie la configuration et fournit un ensemble avancé de fonctionnalités.

Notes

FileRevocationManager peut ne pas être disponible pour les versions après Windows 10. Utilisez plutôt FileProtectionManager.

Obtient le status de protection de réinitialisation sélective pour un fichier ou un dossier.

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)

Paramètres

storageItem
IStorageItem

Fichier ou dossier pour lequel obtenir la protection de réinitialisation sélective status.

Retours

Opération aysnchronous qui récupère l’status de protection de réinitialisation sélective pour l’objet storageItem.

Attributs

Remarques

Vous pouvez utiliser la méthode GetStatusAsync pour déterminer le status de protection de réinitialisation sélective d’un fichier ou d’un dossier. Cela vous indique si un fichier est protégé ou non, si un fichier est protégé par un autre utilisateur sur l’ordinateur, et ainsi de suite. Une utilisation courante de la méthode GetStatusAsync consiste à déterminer quand un fichier protégé doit être supprimé. Par exemple, lorsqu’un fichier protégé est révoqué, une tentative d’accès au contenu du fichier entraîne une exception « Accès refusé ». Lorsque vous rencontrez cette exception, vous pouvez utiliser la méthode GetStatusAsync pour déterminer si le fichier a été révoqué par réinitialisation sélective, puis supprimer le fichier le cas échéant, comme illustré dans l’exemple suivant.

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

S’applique à

Voir aussi