Menerapkan ExecutionState

Meneruskan informasi ke SDK MIP untuk menghitung tindakan yang harus diambil, berdasarkan status saat ini dan status yang diinginkan, diimplementasikan melalui kelas mip::ExecutionState. Seperti kelas lain di SDK, ExecutionState adalah kelas abstrak dan harus diimplementasikan oleh pengembang.

Untuk melihat contoh lengkap dari implementasi ExecutionState, tinjau sampel sumber berikut:

mip::ExecutionState Anggota

ExecutionState mengekspos anggota virtual berikut. Masing-masing menyediakan beberapa konteks kepada mesin kebijakan untuk mengembalikan informasi tentang tindakan mana yang harus diambil oleh aplikasi. Selain itu, informasi ini dapat digunakan untuk memberikan informasi audit ke Microsoft Purview.

Member Pengembalian Barang
std::shared_ptr<mip::Label> GetNewLabel() Mengembalikan label yang akan diterapkan ke objek.
mip::DataState GetDataState() Menghasilkan mip::DataState dari objek.
std::pair<bool, std::string> IsDowngradeJustified() Mengembalikan std::pair yang mengungkapkan apakah downgrade dibenarkan dan justifikasinya.
std::string GetContentIdentifier() Mengembalikan pengidentifikasi konten. Harus menjadi pengidentifikasi yang dapat dibaca manusia, menunjukkan lokasi objek.
mip::ActionSource GetNewLabelActionSource() Mengembalikan mip::ActionSource dari label.
mip::AssignmentMethod GetNewLabelAssignmentMethod() Mengembalikan mip::AssignmentMethod dari label
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() Mengembalikan std::vector dari std::pair string, yang berisi metadata khusus yang akan diterapkan pada dokumen.
std::vector<std::pair<std::string, std::string>> GetContentMetadata() Mengembalikan std::vector dari std::pairs string yang mengandung metadata konten saat ini.
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() Mengembalikan pointer ke mip::ProtectionDescriptor
std::string GetContentFormat() Mengembalikan string
mip::ActionType GetSupportedActions() Mengembalikan mip::ActionTypes untuk label.
std::shared_ptr<mip::ClassificationResults> Mengembalikan daftar hasil klasifikasi, jika diimplementasikan.

Masing-masing harus dilampaui dalam implementasi kelas turunan dari mip::ExecutionState. Dalam aplikasi sampel yang ditautkan di atas, proses ini dicapai dengan menerapkan struktur yang disebut ExecutionStateOptions, dan meneruskan itu ke konstruktor kelas turunan.

Dalam contoh, struktur yang disebut ExecutionStateOptions didefinisikan sebagai:

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

Setiap properti diatur oleh aplikasi, kemudian ExecutionStateOptions diteruskan ke konstruktor kelas yang berasal dari mip::ExecutionState. Informasi ini digunakan untuk menentukan tindakan yang akan diambil. Data yang disediakan di mip::ExecutionState juga akan muncul dalam laporan audit Microsoft Purview.

Langkah Berikutnya