FileRevocationManager.GetStatusAsync(IStorageItem) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Nota
A partire da luglio 2022, Microsoft deprecato Windows Information Protection (WIP) e le API che supportano WIP. Microsoft continuerà a supportare WIP nelle versioni supportate di Windows. Le nuove versioni di Windows non includeranno nuove funzionalità per WIP e non saranno supportate nelle versioni future di Windows. Per altre informazioni, vedere Annuncio del tramonto di Windows Information Protection.
Per le esigenze di protezione dei dati, Microsoft consiglia di usare Microsoft Purview Information Protection e Prevenzione della perdita dei dati Microsoft Purview. Purview semplifica la configurazione e fornisce un set avanzato di funzionalità.
Nota
FileRevocationManager potrebbe non essere disponibile per le versioni dopo Windows 10. Usare invece FileProtectionManager.
Ottiene lo stato di protezione della cancellazione selettiva per un file o una cartella.
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)
Parametri
- storageItem
- IStorageItem
File o cartella per cui ottenere lo stato di protezione della cancellazione selettiva.
Restituisce
Operazione aysnchronous che recupera lo stato di protezione della cancellazione selettiva per storageItem.
- Attributi
Commenti
È possibile utilizzare il metodo GetStatusAsync per determinare lo stato di protezione della cancellazione selettiva di un file o di una cartella. Ciò indica se un file è protetto o meno, se un file è protetto da un altro utente nel computer e così via. Un uso comune del metodo GetStatusAsync consiste nel determinare quando eliminare un file protetto. Ad esempio, quando viene revocato un file protetto, un tentativo di accesso al contenuto del file genererà un'eccezione "Accesso negato". Quando si verifica tale eccezione, è possibile utilizzare il metodo GetStatusAsync per determinare se il file è stato revocato dalla cancellazione selettiva e quindi eliminare il file, se presente, come illustrato nell'esempio seguente.
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();
}
}