Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In der MIP SDK File API ermöglicht es die statische Funktion mip::FileHandler::GetFileStatus() dem Entwickler, den Status einer Datei abzurufen, ohne dass ein File Engine Object, eine Authentifizierung oder gar eine Konnektivität erforderlich ist.
Alles, was erforderlich ist, ist der Dateiname und die Erstellung von mipContext zusammen mit einem Dateipfad und -stream.
Unterstützte Dateitypen
- Office-Dateiformate basierend auf OCP (Office 2010 und höher)
- Ältere Office-Dateiformate (Office 2007)
- Generische PFILE-Unterstützung
- Dateien, die Adobe XMP unterstützen
- E-Mail - . MSG-Format
GetFileStatus()-Funktion
mip::FileHandler::GetFileStatus() ermöglicht es dem Entwickler, den Status einer Datei abzurufen. Die vollständige Liste finden Sie in der API-Referenz.
In diesem Artikel werden die folgenden Methoden behandelt:
mip::FileHandler::GetFileStatus()statische Funktion- FileStatus-Objekt, das Bezeichnungs- und Schutzdetails einer Datei oder eines Containers enthält
- Eigenschaft
IsProtected() - Eigenschaft
IsLabeled() - Eigenschaft
ContainsProtectedObject()
Anforderungen
Zum Erstellen einer FileHandler für die Arbeit mit einer bestimmten Datei ist Folgendes erforderlich:
- Einen
mipContext - Es ist keine Dateimodulerstellung erforderlich.
Abrufen des Status einer Datei
Um die statische Funktion mip::FileHandler::GetFileStatus() zu verwenden, muss der Entwickler einen Dateipfad oder Dateistrom und einen mipContext übergeben, um diese Funktion auszuführen. Das Ausführen dieser Funktion erfordert nicht die Erstellung eines Dateimoduls, einer Authentifizierung oder einer Verbindung mit dem Internet.
Diese Funktion ist besonders hilfreich für:
- Abrufen des Schutzstatus einer Datei für Entschlüsselungsszenarien vor dem Erstellen einer Engine. Das Wissen des Schutzstatus vor der Zeit kann es dem Entwickler ermöglichen, den Aufwand des Erstellens eines Moduls zu überspringen, wenn die Datei bereits geschützt ist.
- Abrufen des Status einer Datei, die möglicherweise bereits über eine Bezeichnung verfügt, bevor ein Modul erstellt wird, um die Bezeichnung zu lesen (Zeitsparmodus)
- Abrufen des Status einer MSG-Datei mit Anlagen und die möglicherweise zusammen mit der MSG-Datei selbst analysiert oder entschlüsselt werden müssen
Der GetFileStatus() gibt ein fileStatus Objekt mit den folgenden Eigenschaften:
IsProtected()Eigenschaft - gibt ein bool zurück - Die Datei ist geschützt/verschlüsseltIsLabeled()Eigenschaft - gibt ein bool zurück - Die Datei ist beschriftetContainsProtectedObject()Eigenschaft - gibt ein bool zurück - Die Datei/Container/Nachricht enthält ein geschütztes Objekt.
Die Empfehlung besteht darin, dass alle drei Eigenschaften abgefragt werden, da eine Datei null für alle drei Eigenschaften und Permutationen zwischeneinander aufweisen kann.
Da die Funktion GetFileStatus() keine Authentifizierung oder eine Engine zur Ausführung benötigt, zeigen die Methoden IsProtected(), IsLabeled() und ContainsProtectedObject() außerdem an, ob eine Datei gekennzeichnet oder geschützt ist. Es wird nicht überprüft, ob die Bezeichnung und der Schutz innerhalb eines Mandanten vorhanden ist oder von einem Benutzer verwendet werden kann. Die Überprüfung der Bezeichnung und oder des Schutzes erfordert eine Überprüfung des Authentifizierungs- und Modulerstellungsprozesses.
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;
}