Zaimplementuj ExecutionState

Aby obliczyć akcję na podstawie bieżącego stanu i żądanego stanu, przekaż informacje do zestawu MIP SDK, implementując klasę mip::ExecutionState . Podobnie jak inne klasy w zestawie SDK, ExecutionState jest klasą abstrakcyjną, a deweloper musi ją zaimplementować.

Note

Pełny przykład implementacji ExecutionState można znaleźć w następującym przykładowym źródle:

mip::ExecutionState — elementy członkowskie

ExecutionState uwidacznia następujące wirtualne elementy członkowskie. Każdy członek dostarcza kontekst mechanizmowi zasad, aby mógł on zwracać informacje o tym, jakie działania aplikacja powinna podjąć. SDK może również wykorzystywać te informacje do przekazywania informacji inspekcyjnych do usługi Microsoft Purview.

Członek Zwraca
std::shared_ptr<mip::Label> GetNewLabel() Zwraca etykietę, którą zestaw SDK stosuje do obiektu.
mip::DataState GetDataState() Zwraca mip::DataState obiektu.
std::pair<bool, std::string> IsDowngradeJustified() Zwraca std::pair wyrażający, czy obniżenie jest uzasadnione oraz uzasadnienie tegoż.
std::string GetContentIdentifier() Zwraca identyfikator zawartości. Użyj identyfikatora czytelnego dla człowieka, który wskazuje lokalizację obiektu.
std::string GetApplicationScenarioId() Zwraca identyfikator, który koreluje zdarzenia aplikacji z odpowiadającymi żądaniami REST usługi inspekcji lub ochrony.
mip::AssignmentMethod GetNewLabelAssignmentMethod() Zwraca wartość mip::AssignmentMethod etykiety.
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() Zwraca obiekt std::vector zawierający obiekty std::pair łańcuchów znaków, które reprezentują niestandardowe metadane stosowane przez zestaw SDK do dokumentu.
std::vector<mip::MetadataEntry> GetContentMetadata() Zwraca obiekt typu std::vector zawierający obiekty mip::MetadataEntry, które zawierają aktualne metadane zawartości.
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() Zwraca wskaźnik do obiektu mip::ProtectionDescriptor.
std::string GetContentFormat() Zwraca łańcuch znaków.
mip::ActionType GetSupportedActions() Zwraca wartość mip::ActionTypes dla etykiety.
std::shared_ptr<mip::ClassificationResults> GetClassificationResults() Zwraca listę wyników klasyfikacji, jeśli zostały zaimplementowane.

Zastąp każdy element członkowski w implementacji klasy pochodzącej z mip::ExecutionStateklasy . W poprzedniej przykładowej aplikacji przykład implementuje strukturę o nazwie ExecutionStateOptions i przekazuje ją do konstruktora klasy pochodnej.

W przykładzie zdefiniowano strukturę o nazwie ExecutionStateOptions:

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;
};

Ustaw każdą właściwość w aplikacji, a następnie przekaż ExecutionStateOptions do konstruktora klasy pochodnej od mip::ExecutionState. Zestaw SDK używa tych informacji do określania akcji do wykonania. Raporty inspekcji Microsoft Purview pokazują również dane udostępnione w mip::ExecutionState.

Następne kroki