Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met de mip::FileHandler::GetFileStatus() statische functie van de MIP SDK-bestands-API kan de ontwikkelaar de status van een bestand ophalen zonder dat hiervoor een File Engine-object, verificatie en zelfs connectiviteit is vereist.
Het enige dat nodig is, is de bestandsnaam en het creëren van mipContext, samen met een bestandspad en een stream.
Ondersteunde bestandstypen
- Office-bestandsindelingen op basis van OCP (Office 2010 en hoger)
- Verouderde Office-bestandsindelingen (Office 2007)
- Algemene PFILE-ondersteuning
- Bestanden die Adobe XMP ondersteunen
- E-mail -.MSG-indeling
GetFileStatus() Functie
mip::FileHandler::GetFileStatus() hiermee kan de ontwikkelaar de status van een bestand ophalen. Raadpleeg de API-verwijzing voor de volledige lijst.
In dit artikel worden de volgende methoden behandeld:
-
mip::FileHandler::GetFileStatus()statische functie - FileStatus-object met label- en of beveiligingsdetails van een bestand of container
-
IsProtected()Eigenschap -
IsLabeled()Eigenschap -
ContainsProtectedObject()Eigenschap
Vereisten
Voor het maken van een FileHandler bestand om te kunnen werken met een specifiek bestand is het volgende vereist:
- Een
mipContext - Er is geen creatie van een bestandsengine vereist
De status van een bestand ophalen
Als een ontwikkelaar de mip::FileHandler::GetFileStatus() statische functie wil gebruiken, moet hij een bestandslocatie of File Stream en mipContext doorgeven om deze functie uit te voeren. Voor het uitvoeren van deze functie is het maken van een bestandsengine, verificatie of verbinding met internet niet vereist.
Deze functie is vooral nuttig voor:
- De beveiligingsstatus van een bestand voor ontsleutelingsscenario's ophalen voordat u een engine maakt. Door de beveiligingsstatus van tevoren te kennen, kan de ontwikkelaar de overhead van het maken van een engine overslaan als het bestand al is beveiligd
- De status van een bestand ophalen dat mogelijk al een label heeft voordat u een engine maakt om het label te lezen (tijdbesparing)
- De status van een MSG-bestand met bijlagen ophalen en dat mogelijk moet worden geparseerd of ontsleuteld, samen met het MSG-bestand zelf
Hiermee GetFileStatus() wordt een fileStatus object geretourneerd met de volgende eigenschappen:
-
IsProtected()Eigenschap - retourneert een bool - Het bestand is beveiligd/versleuteld -
IsLabeled()Eigenschap - retourneert een bool - Het bestand is gelabeld -
ContainsProtectedObject()Eigenschap - retourneert een bool - Het bestand/container/bericht bevat beveiligd object.
De aanbeveling is dat alle drie de eigenschappen worden onderzocht, aangezien een bestand nul tot alle drie de eigenschappen kan hebben en permutaties ertussenin.
Omdat de GetFileStatus()-functie geen verificatie vereist en er geen engine hoeft te worden uitgevoerd, geven de IsProtected(), IsLabeled() en ContainsProtectedObject()-methoden aan of er labels of beveiliging in een bestand aanwezig zijn. Het controleert niet of het labelen en of de beveiliging bestaat binnen een tenant of kan worden gebruikt door een gebruiker. Validatie van het label en/of de beveiliging vereist dat het authenticatie- en engine-opbouwproces wordt doorlopen voor validatie.
if (options.count("getfilestatus")) {
auto fileStatus = GetFileStatus(filePath, fileStream, mipContext);
if (fileStatus->IsProtected()) {
cout << "File is protected" << endl;
}
if (fileStatus->IsLabeled()) {
cout << "File is labeled" << endl;
}
if (fileStatus->ContainsProtectedObjects()) {
cout << "File contains protected objects" << endl;
}
GetLabel(fileHandler);
return EXIT_SUCCESS;
}
if (options.GetFileStatus) {
var fileStatus = FileHandler.GetFileStatus(options.FilePath, mipContext);
if (fileStatus.IsProtected()) {
Console.WriteLine("The file is protected.");
}
if (fileStatus.IsLabeled()) {
Console.WriteLine("The file is labeled.");
}
if (fileStatus.ContainsProtectedObjects()) {
Console.WriteLine("The file contains protected objects.");
}
return true;
}
if (options.count("getfilestatus")) {
auto fileStatus = GetFileStatus(filePath, fileStream, mipContext);
if (fileStatus->IsProtected()) {
cout << "File is protected" << endl;
}
if (fileStatus->IsLabeled()) {
cout << "File is labeled" << endl;
}
if (fileStatus->ContainsProtectedObjects()) {
cout << "File contains protected objects" << endl;
}
GetLabel(fileHandler);
return EXIT_SUCCESS;
}