Implementare ExecutionState

Per calcolare un'azione in base allo stato corrente e allo stato desiderato, passare le informazioni all'SDK MIP implementando la mip::ExecutionState classe . Analogamente ad altre classi nell'SDK, ExecutionState è una classe astratta e lo sviluppatore deve implementarlo.

Note

Per un esempio completo di un'implementazione ExecutionState, consulta il seguente codice sorgente di esempio:

membri di mip::ExecutionState

ExecutionState espone i membri virtuali seguenti. Ogni membro fornisce contesto al motore dei criteri in modo che possa restituire informazioni sulle azioni che l'applicazione deve eseguire. L'SDK può anche usare queste informazioni per fornire informazioni di controllo per Microsoft Purview.

Membro Restituzioni
std::shared_ptr<mip::Label> GetNewLabel() Restituisce l'etichetta applicata dall'SDK all'oggetto .
mip::DataState GetDataState() Restituisce il mip::DataState dell'oggetto.
std::pair<bool, std::string> IsDowngradeJustified() Restituisce un std::pair che indica se il downgrade è giustificato e la relativa giustificazione.
std::string GetContentIdentifier() Restituisce l'identificatore del contenuto. Usare un identificatore leggibile che indica la posizione dell'oggetto.
std::string GetApplicationScenarioId() Restituisce un identificatore che correla gli eventi dell'applicazione con le richieste REST del servizio di controllo o protezione corrispondenti.
mip::AssignmentMethod GetNewLabelAssignmentMethod() Restituisce il mip::AssignmentMethod dell'etichetta.
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() Restituisce uno std::vector di std::pairs di coppie di stringhe contenenti i metadati personalizzati applicati dall’SDK al documento.
std::vector<mip::MetadataEntry> GetContentMetadata() Restituisce un std::vector di oggetti mip::MetadataEntry che contengono i metadati del contenuto corrente.
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() Restituisce un puntatore a un mip::ProtectionDescriptor.
std::string GetContentFormat() Restituisce una stringa.
mip::ActionType GetSupportedActions() Restituisce mip::ActionTypes per l'etichetta.
std::shared_ptr<mip::ClassificationResults> GetClassificationResults() Restituisce un elenco di risultati di classificazione, se implementati.

Eseguire l'override di ogni membro in un'implementazione di una classe derivata da mip::ExecutionState. Nell'applicazione di esempio precedente, l'esempio implementa uno struct denominato ExecutionStateOptions e passa tale struct al costruttore della classe derivata.

L'esempio definisce uno struct denominato 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;
};

Impostare ogni proprietà nell'applicazione e quindi passare ExecutionStateOptions al costruttore della classe derivata da mip::ExecutionState. L'SDK usa queste informazioni per determinare le azioni da eseguire. I report di controllo di Microsoft Purview mostrano anche i dati forniti in mip::ExecutionState.

Passaggi successivi