Implementera ExecutionState

Om du vill beräkna en åtgärd baserat på aktuellt tillstånd och önskat tillstånd skickar du information till MIP SDK genom att implementera mip::ExecutionState klassen. Precis som andra klasser i SDK ExecutionState är en abstrakt klass och utvecklaren måste implementera den.

Note

Ett fullständigt exempel på en ExecutionState implementering finns i följande exempelkälla:

medlemmar i mip::ExecutionState

ExecutionState visar följande virtuella medlemmar. Varje medlem ger kontext till principmotorn så att den kan returnera information om vilka åtgärder programmet ska vidta. SDK:et kan också använda den här informationen för att tillhandahålla granskningsinformation för Microsoft Purview.

Medlem Retur
std::shared_ptr<mip::Label> GetNewLabel() Returnerar etiketten som SDK:et gäller för objektet.
mip::DataState GetDataState() Returnerar objektets mip::DataState.
std::pair<bool, std::string> IsDowngradeJustified() Returnerar en std::pair som anger om nedgraderingen är motiverad enligt motiveringen.
std::string GetContentIdentifier() Returnerar innehållsidentifieraren. Använd en läsbar identifierare för människor som anger objektets plats.
std::string GetApplicationScenarioId() Returnerar en identifierare som korrelerar programhändelser med motsvarande REST-begäranden för gransknings- eller skyddstjänsten.
mip::AssignmentMethod GetNewLabelAssignmentMethod() Returnerar etiketten mip::AssignmentMethod.
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() Returnerar en std::vector med std::pairs av strängar som innehåller de anpassade metadata som SDK:t tillämpar på dokumentet.
std::vector<mip::MetadataEntry> GetContentMetadata() Returnerar en std::vector med mip::MetadataEntry-objekt som innehåller aktuella metadata för innehållet.
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() Returnerar en pekare till en mip::ProtectionDescriptor.
std::string GetContentFormat() Returnerar en sträng.
mip::ActionType GetSupportedActions() Returnerar mip::ActionTypes för etiketten.
std::shared_ptr<mip::ClassificationResults> GetClassificationResults() Returnerar en lista över klassificeringsresultat om det implementeras.

Åsidosätt varje medlem i en implementering av en klass som härletts från mip::ExecutionState. I föregående exempelprogram implementerar exemplet en struct med namnet ExecutionStateOptions och skickar den structen till konstruktorn för den härledda klassen.

I exemplet definieras en struct med namnet 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;
};

Ange varje egenskap i programmet och skicka ExecutionStateOptions sedan till konstruktorn för klassen som härleds från mip::ExecutionState. SDK använder den här informationen för att fastställa vilka åtgärder som ska utföras. Microsoft Purview granskningsrapporter visar även data som anges i mip::ExecutionState.

Nästa steg