FileRevocationManager.GetStatusAsync(IStorageItem) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Nota:
A partir de julio de 2022, Microsoft está en desuso de Windows Information Protection (WIP) y las API que admiten WIP. Microsoft seguirá admitiendo WIP en versiones compatibles de Windows. Las nuevas versiones de Windows no incluirán nuevas funcionalidades para WIP y no se admitirán en versiones futuras de Windows. Para obtener más información, consulta Anuncio de puesta de sol de Windows Information Protection.
Para sus necesidades de protección de datos, Microsoft recomienda usar Microsoft Purview Information Protection y Prevención de pérdida de datos de Microsoft Purview. Purview simplifica la configuración configurada y proporciona un conjunto avanzado de funcionalidades.
Nota:
FileRevocationManager puede no estar disponible para las versiones posteriores a Windows 10. En su lugar, use FileProtectionManager.
Obtiene el estado de protección de borrado selectivo para un archivo o carpeta.
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
Archivo o carpeta para el que se obtiene el estado de protección de borrado selectivo.
Devoluciones
Una operación aysnchronous que recupera el estado de protección de borrado selectivo para el objeto storageItem.
- Atributos
Comentarios
Puede usar el método GetStatusAsync para determinar el estado de protección de borrado selectivo de un archivo o carpeta. Esto le indicará si un archivo está protegido o no, si otro usuario del equipo protege un archivo, etc. Un uso común del método GetStatusAsync es determinar cuándo se debe eliminar un archivo protegido. Por ejemplo, cuando se revoca un archivo protegido, un intento de acceder al contenido del archivo dará como resultado una excepción "Acceso denegado". Cuando encuentre esa excepción, puede usar el método GetStatusAsync para determinar si el archivo ha sido revocado por borrado selectivo y, a continuación, eliminar el archivo si lo tiene, como se muestra en el ejemplo siguiente.
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();
}
}