Udostępnij za pośrednictwem


Zaimplementuj ExecutionState

Informacje są przekazywane do zestawu MIP SDK w celu obliczenia akcji, która powinna zostać podjęta na podstawie bieżącego stanu i żądanego mip::ExecutionState stanu, przy użyciu klasy. Podobnie jak inne klasy w zestawie SDK, ExecutionState klasa jest abstrakcyjna i musi zostać zaimplementowana przez dewelopera.

Aby zapoznać się z kompletnym przykładem implementacji ExecutionState , zapoznaj się z następującym przykładowym źródłem:

mip::ExecutionState — elementy członkowskie

ExecutionState uwidacznia następujące wirtualne elementy członkowskie. Każdy z nich udostępnia pewien kontekst mechanizmowi zasad w celu zwrócenia informacji o akcjach, które powinna wykonać aplikacja. Ponadto te informacje mogą służyć do udostępniania informacji inspekcji w usłudze Microsoft Purview.

Członek Zwraca
std::shared_ptr<mip::Label> GetNewLabel() Zwraca etykietę, która ma zostać zastosowana 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. Powinien być identyfikatorem czytelnym dla człowieka wskazującym lokalizację obiektu.
mip::ActionSource GetNewLabelActionSource() Zwraca wartość mip::ActionSource etykiety.
mip::AssignmentMethod GetNewLabelAssignmentMethod() Zwraca wartość mip::AssignmentMethod etykiety
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() Zwraca wektor std::vector par std::pair ciągów znaków, zawierający niestandardowe metadane, które zostaną zastosowane do dokumentu.
std::vector<std::pair<std::string, std::string>> GetContentMetadata() Zwraca wektor std::vector par std::pair ciągów zawierających bieżące metadane zawartości.
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() Zwraca wskaźnik do elementu mip::ProtectionDescriptor
std::string GetContentFormat() Zwraca ciąg
mip::ActionType GetSupportedActions() Zwraca wartość mip::ActionTypes dla etykiety.
std::shared_ptr<mip::ClassificationResults> Zwraca listę wyników klasyfikacji, jeśli zostały zaimplementowane.

Każda z nich musi zostać zastąpiona w implementacji klasy pochodzącej z mip::ExecutionStateklasy . W przykładowej aplikacji połączonej powyżej ten proces odbywa się przez zaimplementowanie struktury o nazwie ExecutionStateOptionsi przekazanie jej do konstruktora klasy pochodnej.

W tym przykładzie struktura o nazwie ExecutionStateOptions jest zdefiniowana jako:

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

Każda właściwość jest ustawiana przez aplikację, a następnie ExecutionStateOptions jest przekazywana do konstruktora klasy pochodzącej z mip::ExecutionStateklasy . Te informacje służą do określania akcji do wykonania. Dane udostępniane w raportach mip::ExecutionState inspekcji usługi Microsoft Purview będą również wyświetlane w raportach inspekcji usługi Microsoft Purview.

Następne kroki