Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V rozhraní FILE API mip::FileHandler::GetFileStatus() sady MIP umožňuje statická funkce vývojáři načíst stav souboru bez nutnosti vytvářet objekty souborového stroje, ověřování a dokonce připojení.
Vše, co je požadováno, je název souboru a vytvoření mipContext spolu s cestou k souboru a datovým proudem.
Podporované typy souborů
- Formáty souborů Office založené na OCP (Office 2010 a novější)
- Starší formáty souborů Office (Office 2007)
- soubor PDF
- Obecná podpora PFILE
- Soubory, které podporují Adobe XMP
- E-mail – formát .MSG
GetFileStatus() – funkce
mip::FileHandler::GetFileStatus() umožňuje vývojáři načíst stav souboru. Úplný seznam najdete v referenčních informacích k rozhraní API.
V tomto článku jsou popsány následující metody:
-
mip::FileHandler::GetFileStatus()statická funkce - Objekt FileStatus obsahující popisky a podrobnosti o ochraně souboru nebo kontejneru
-
IsProtected()Vlastnost -
IsLabeled()Vlastnost -
ContainsProtectedObject()Vlastnost
Požadavky
Vytvoření FileHandler pro práci s konkrétním souborem vyžaduje:
- A
mipContext - Není vyžadováno vytvoření modulu pro soubory.
Načtení stavu souboru
Pokud chcete použít mip::FileHandler::GetFileStatus() statickou funkci, musí vývojář předat cestu k souboru nebo stream souborů a mipContext ke spuštění této funkce. Spuštění této funkce nevyžaduje vytvoření souborového stroje, ověřování ani připojení k internetu.
Tato funkce je užitečná zejména pro:
- Získání stavu ochrany souboru pro scénáře dešifrování před vytvořením modulu Znalost stavu ochrany předem může vývojáři umožnit vyhnout se režii spojené s vytvořením enginu, pokud je soubor již chráněn.
- Zjištění stavu souboru, který už může mít štítek, před vytvořením modulu pro pokus o přečtení štítku (úspora času)
- Získání stavu souboru MSG, který obsahuje přílohy a který může být potřeba analyzovat nebo dešifrovat spolu se samotným souborem MSG
GetFileStatus() vrací objekt fileStatus s následujícími vlastnostmi:
-
IsProtected()Vlastnost – vrátí logickou hodnotu – Soubor je chráněný nebo zašifrovaný. -
IsLabeled()Vlastnost – vrací hodnotu typu bool – Soubor je označen -
ContainsProtectedObject()Vlastnost – vrátí logickou hodnotu – Soubor, kontejner nebo zpráva obsahuje chráněný objekt.
Doporučuje se ověřovat všechny tři vlastnosti, protože soubor může mít žádnou až všechny tři vlastnosti i libovolnou kombinaci mezi tím.
Navíc, protože funkce GetFileStatus() nevyžaduje ověření ani modul pro spuštění, metody IsProtected(), IsLabeled() a ContainsProtectedObject() indikují, zda je v souboru přítomno označení nebo ochrana. Neověřuje, jestli popisování a ochrana existuje v rámci tenanta nebo jestli ho uživatel může použít. Ověření štítku a/nebo ochrany by vyžadovalo projít procesem ověřování a vytvoření enginu, aby bylo možné provést validaci.
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;
}