Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
MIP SDK Dosya API'sinde statik işlev, mip::FileHandler::GetFileStatus() geliştiricinin Dosya Altyapısı Nesnesi, kimlik doğrulaması ve hatta bağlantı oluşturma gereksinimi olmadan dosyanın durumunu getirmesine olanak tanır.
Tek gereken dosya adı ve bir dosya yolu ve akışıyla birlikte mipContext'in oluşturulmasıdır.
Desteklenen dosya türleri
- OCP'ye Dayalı Office Dosya Biçimleri (Office 2010 ve üzeri)
- Eski Office Dosya Biçimleri (Office 2007)
- Genel PFILE desteği
- Adobe XMP'i destekleyen dosyalar
- E-posta - .MSG biçimi
GetFileStatus() İşlevi
mip::FileHandler::GetFileStatus() geliştiricinin dosyanın durumunu getirmesine izin verir. Tam liste için API referansına başvurun.
Bu makalede aşağıdaki yöntemler ele alınacaktır:
-
mip::FileHandler::GetFileStatus()statik işlev - Dosya veya kapsayıcının etiketleme ve koruma ayrıntılarını içeren FileStatus nesnesi
-
IsProtected()Mülk -
IsLabeled()Mülk -
ContainsProtectedObject()Mülk
Gereksinimler
Belirli bir FileHandler dosyayla çalışmak için şunlar gereklidir:
-
mipContext - Dosya işleyicisi oluşturulması gerekmez
Dosyanın durumunu getirme
Statik işlevi kullanmak için geliştirici, işlevi çalıştırmak üzere bir Dosya Yolu veya Dosya Akışı ve mipContext aktarmalıdır. Bu işlevin yürütülmesi için dosya altyapısı, kimlik doğrulaması veya İnternet bağlantısı oluşturulması gerekmez. Bu işlev özellikle şunlar için yararlıdır:
- Altyapı oluşturmadan önce şifre çözme senaryoları için bir dosyanın koruma durumunu alma. Koruma durumunu önceden bilmek, dosya zaten korunuyorsa geliştiricinin altyapı oluşturma ek yükünü atlamasına izin verebilir
- Etiketi okumayı deneyecek bir altyapı oluşturmadan önce zaten etiketi olan bir dosyanın durumunu alma (zaman kazandırıcı)
- Ekleri olan ve MSG dosyasının kendisiyle birlikte ayrıştırılması veya şifresinin çözülmesi gerekebilecek bir MSG dosyasının durumunu alma
aşağıdaki GetFileStatus() özelliklere sahip bir fileStatus Nesne döndürür:
-
IsProtected()Özellik - bool döndürür - Dosya korumalı/şifrelenmiş -
IsLabeled()Özellik - boolean değer döndürür - Dosya etiketlenmiştir -
ContainsProtectedObject()Özellik - bool döndürür - Dosya/Kapsayıcı/İleti korumalı nesne içeriyor.
Öneri, bir dosyanın sıfırdan üç özelliğe kadar sahip olabileceğini ve aradaki permütasyonların hepsinin sorgulanması gerektiğini belirtmektedir.
Ayrıca, işlev kimlik doğrulaması veya yürütülecek bir altyapı gerektirmediğinden GetFileStatus() , IsProtected(), IsLabeled()ve ContainsProtectedObject() yöntemleri bir dosyada etiketleme veya koruma olup olmadığını yansıtır. Etiketlemenin ve veya korumanın bir kiracı içinde mevcut olup olmadığını veya bir kullanıcı tarafından kullanılıp kullanılamadığı doğrulanmaz. Etiketin veya korumanın doğrulanması için kimlik doğrulama ve motor oluşturma işlemlerinin yapılması gereklidir.
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;
}