Implementar ExecutionState

Pasar información al SDK de MIP para calcular una acción que se debe realizar, según el estado actual y el estado deseado, se implementa a través de la mip::ExecutionState clase. Al igual que otras clases del SDK, la es una clase abstracta y ExecutionState debe ser implementada por el desarrollador.

Para obtener un ejemplo completo de una ExecutionState implementación, revise el siguiente origen de ejemplo:

mip::ExecutionState Members

ExecutionState expone los siguientes miembros virtuales. Cada una proporciona algún contexto al motor de directivas para devolver información sobre qué acciones debe realizar la aplicación. Además, esta información puede usarse para proporcionar información de auditoría a la característica Informes de Azure Information Protection.

Miembro Devuelve
std::shared_ptr<mip::Label> GetNewLabel() Devuelve la etiqueta que se aplicará al objeto.
mip::DataState GetDataState() Devuelve el mip::D ataState del objeto.
std::pair<bool, std::string> IsDowngradeJustified() Devuelve un std::p air que expresa si la degradación está justificada y la justificación.
std::string GetContentIdentifier() Devuelve el identificador de contenido. Debe ser un identificador legible por el usuario, que indica la ubicación del objeto.
mip::ActionSource GetNewLabelActionSource() Devuelve el mip::ActionSource de la etiqueta.
mip::AssignmentMethod GetNewLabelAssignmentMethod() Devuelve el mip::AssignmentMethod de la etiqueta
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() Devuelve un std::vector de std::p airs de cadenas, que contiene los metadatos personalizados que se aplicarán al documento.
std::vector<std::pair<std::string, std::string>> GetContentMetadata() Devuelve un std::vector de std::p airs de cadena que contiene los metadatos de contenido actuales.
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() Devuelve un puntero a una mip::P rotectionDescriptor
std::string GetContentFormat() Devuelve cadena
mip::ActionType GetSupportedActions() Devuelve mip::ActionTypes para la etiqueta.
std::shared_ptr<mip::ClassificationResults> Devuelve una lista de resultados de clasificación, si se implementa.

Cada uno debe invalidarse en una implementación de una clase derivada de mip::ExecutionState . En la aplicación de ejemplo vinculada anteriormente, este proceso se realiza implementando una estructura denominada y pasandola al ExecutionStateOptions constructor de la clase derivada.

En el ejemplo,una estructura llamada se define como:

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

La aplicación establece cada propiedad y, a continuación, se pasa al ExecutionStateOptions constructor de la clase derivada de mip::ExecutionState . Esta información se usa para determinar las acciones a realizar. Los datos proporcionados en mip::ExecutionState el también aparecerán en Azure Information Protection Analytics.

Pasos siguientes