ExecutionState'i Uygula

Geçerli duruma ve istenen duruma göre yapılması gereken bir eylemi hesaplamak amacıyla bilgi, mip::ExecutionState sınıfı aracılığıyla MIP SDK'sına aktarılır. SDK'daki diğer sınıflar gibi, ExecutionState soyut bir sınıftır ve geliştirici tarafından uygulanması gerekir.

Bir uygulamanın tam örneği ExecutionState için aşağıdaki örnek kaynağı gözden geçirin:

mip::ExecutionState Üyeleri

ExecutionState aşağıdaki sanal üyeleri sunar. Her bir ilke altyapısına uygulama tarafından hangi eylemlerin yapılması gerektiğine ilişkin bilgiler döndürmek için bazı bağlamlar sağlar. Ayrıca, bu bilgiler Microsoft Purview'a denetim bilgileri sağlamak için kullanılabilir.

Üye İade
std::shared_ptr<mip::Label> GetNewLabel() Nesneye uygulanacak etiketi döndürür.
mip::DataState GetDataState() Nesnenin mip::DataState değerini döndürür.
std::pair<bool, std::string> IsDowngradeJustified() Bir std::pair döndürücü, eski sürüme düşürmenin gerekip gerekmediğini ve gerekçesini ifade eder.
std::string GetContentIdentifier() İçerik tanımlayıcısını döndürür. Nesnenin konumunu gösteren, insan tarafından okunabilen bir tanımlayıcı olmalıdır.
mip::ActionSource GetNewLabelActionSource() Etiketin mip::ActionSource değerini döndürür.
mip::AssignmentMethod GetNewLabelAssignmentMethod() Etiketin mip::AssignmentMethod değerini döndürür
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() std::vector formatında dizelerin std::pair çiftlerini içeren belgede uygulanacak özel meta verileri döndürür.
std::vector<std::pair<std::string, std::string>> GetContentMetadata() Geçerli içerik meta verilerini içeren dize std::pair'lerinin std::vector'ünü döndürür.
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() mip::ProtectionDescriptor'e bir işaretçi döndürür
std::string GetContentFormat() Bir dize değeri döndürür
mip::ActionType GetSupportedActions() Etiket için mip::ActionTypes döndürür.
std::shared_ptr<mip::ClassificationResults> Uygulandıysa sınıflandırma sonuçlarının listesini döndürür.

Her biri, mip::ExecutionState'dan türetilen bir sınıfın uygulamasında geçersiz kılınmalıdır. Yukarıdaki bağlantılı örnek uygulamada, bu işlem, `ExecutionStateOptions` adlı bir yapı uygulanarak ve ardından bu yapının türetilmiş sınıfın oluşturucusuna aktarılmasıyla gerçekleştirilir.

Örnek olarak, ExecutionStateOptions adlı bir yapı şu şekilde tanımlanır:

struct ExecutionStateOptions {
    std::unordered_map<std::string, std::string> metadata;
    std::string newLabelId;
    std::string contentIdentifier;
    mip::ActionSource actionSource = mip::ActionSource::MANUAL;
    mip::DataState dataState = mip::DataState::USE;
    mip::AssignmentMethod assignmentMethod = mip::AssignmentMethod::STANDARD;
    bool isDowngradeJustified = false;
    std::string downgradeJustification;
    std::string templateId;
    std::string contentFormat = mip::GetFileContentFormat();
    mip::ActionType supportedActions;
    bool generateAuditEvent;
};

Her özellik uygulama tarafından ayarlanır, ardından ExecutionStateOptions öğesinden mip::ExecutionStatetüretilen sınıfın oluşturucusna geçirilir. Bu bilgiler, gerçekleştirecek eylemleri belirlemek için kullanılır. mip::ExecutionState içinde sağlanan olan veriler, Microsoft Purview denetim raporlarında da yer alır.

Sonraki Adımlar