Mettre en œuvre l'état d'exécution

Pour calculer une action basée sur l’état actuel et l’état souhaité, transmettez des informations au SDK MIP en implémentant la mip::ExecutionState classe. Comme d’autres classes du Kit de développement logiciel (SDK), ExecutionState il s’agit d’une classe abstraite et le développeur doit l’implémenter.

Note

Pour obtenir un exemple complet d’implémentation ExecutionState , consultez l’exemple de source suivant :

membres de mip::ExecutionState

ExecutionState expose les membres virtuels suivants. Chaque membre fournit un contexte au moteur de stratégie afin qu’il puisse retourner des informations sur les actions que l’application doit entreprendre. Le Kit de développement logiciel (SDK) peut également utiliser ces informations pour fournir des informations d’audit à Microsoft Purview.

Membre Retours
std::shared_ptr<mip::Label> GetNewLabel() Renvoie l’étiquette que le SDK applique à l’objet.
mip::DataState GetDataState() Renvoie le mip::DataState de l'objet.
std::pair<bool, std::string> IsDowngradeJustified() Retourne un std::pair indiquant si la rétrogradation est justifiée et la justification.
std::string GetContentIdentifier() Renvoie l'identifiant du contenu. Utilisez un identificateur lisible par l’homme qui indique l’emplacement de l’objet.
std::string GetApplicationScenarioId() Retourne un identificateur qui met en corrélation les événements d’application avec les requêtes REST d’audit ou de service de protection correspondantes.
mip::AssignmentMethod GetNewLabelAssignmentMethod() Renvoie la valeur mip::AssignmentMethod de l’étiquette.
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() Renvoie un std::vector de std::pairs de chaînes contenant les métadonnées personnalisées que le SDK applique au document.
std::vector<mip::MetadataEntry> GetContentMetadata() Retourne un vecteur std ::vector des objets mip ::MetadataEntry qui contiennent les métadonnées de contenu actuelles.
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() Renvoie un pointeur vers un mip::ProtectionDescriptor.
std::string GetContentFormat() Retourne une chaîne.
mip::ActionType GetSupportedActions() Renvoie mip::ActionTypes pour l'étiquette.
std::shared_ptr<mip::ClassificationResults> GetClassificationResults() Retourne une liste de résultats de classification, s’il est implémenté.

Remplacez chaque membre dans une implémentation d’une classe dérivée de mip::ExecutionState. Dans l’exemple d’application précédent, l’exemple implémente un struct appelé ExecutionStateOptions et passe ce struct au constructeur de la classe dérivée.

L’exemple définit un struct appelé 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;
};

Définissez chaque propriété dans l’application, puis passez ExecutionStateOptions au constructeur de la classe dérivée de mip::ExecutionState. Le Kit de développement logiciel (SDK) utilise ces informations pour déterminer les actions à entreprendre. Les rapports d’audit Microsoft Purview affichent également les données fournies dans mip::ExecutionState.

Étapes suivantes