Implementowanie stanu ExecutionState

Przekazanie informacji do zestawu SDK miP w celu obliczenia akcji, która powinna zostać wykonane w zależności od bieżącego stanu i żądanego stanu, jest zaimplementowana za pośrednictwem mip::ExecutionState klasy. Podobnie jak inne klasy w zestawie SDK, jest to klasa abstrakcyjna i musi zostać zaimplementowana ExecutionState przez dewelopera.

Aby uzyskać pełny przykład ExecutionState implementacji, przejrzyj następujące przykładowe źródło:

mip::ExecutionState Members

ExecutionState udostępnia następujących członków wirtualnych. Każdy z nich zapewnia kontekst aparatowi zasad w celu zwrócenia informacji o tym, jakie akcje mają zostać wykonane przez aplikację. Ponadto te informacje mogą być używane w celu zapewnienia informacji inspekcji funkcji raportowania usługi Azure Information Protection.

Członek Zwraca
std::shared_ptr<mip::Label> GetNewLabel() Zwraca etykietę, która ma zostać zastosowana do obiektu.
mip::DataState GetDataState() Zwraca wartość mip::D ataState obiektu.
std::pair<bool, std::string> IsDowngradeJustified() Zwraca wartość std::p air wyrażający, czy obniżenie wersji jest wyo jej wyliczona i czy jest justowanie.
std::string GetContentIdentifier() Zwraca identyfikator zawartości. Powinien to być identyfikator czytelny dla człowieka, wskazujący lokalizację obiektu.
mip::ActionSource GetNewLabelActionSource() Zwraca wartość mip::ActionSource (Źródło Akcji) etykiety.
mip::AssignmentMethod GetNewLabelAssignmentMethod() Zwraca wartość mip::Sposób przypisywania etykiety.
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() Zwraca wartość std::vector of std::p airs of strings, zawierającą metadane niestandardowe, które zostaną zastosowane do dokumentu.
std::vector<std::pair<std::string, std::string>> GetContentMetadata() Zwraca wartość std::vector of std::p siewą ciągów zawierających bieżące metadane zawartości.
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() Zwraca wskaźnik mip::P rotectionDescriptor.
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żdy z nich musi zostać zastąpiony we wdrożeniu klasy pochodzącej z mip::ExecutionState . W przykładowej aplikacji połączonej z powyższym, ten proces jest zrealizowany przez zaimplementowanie struktury o nazwie , i przekazanie jej do konstruktora klasy ExecutionStateOptions pochodnych.

W tym przykładziestruct called is defined as:

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 przekazywana do ExecutionStateOptions konstruktora klasy pochodzącej z mip::ExecutionState . Te informacje służą do określania działań do podjęcia. Dane zawarte w tej mip::ExecutionState usłudze będą również dostępne w usłudze Azure Information Protection Analytics.

Następne kroki