Menerapkan ExecutionState

Untuk menghitung tindakan berdasarkan status saat ini dan status yang diinginkan, teruskan informasi ke SDK MIP dengan menerapkan mip::ExecutionState kelas . Seperti kelas lain di SDK, ExecutionState adalah kelas abstrak, dan pengembang harus menerapkannya.

Note

Untuk contoh lengkap implementasi ExecutionState, lihat kode sumber contoh berikut:

Anggota mip::ExecutionState

ExecutionState mengekspos anggota virtual berikut. Setiap anggota menyediakan konteks ke mesin kebijakan sehingga dapat mengembalikan informasi tentang tindakan mana yang harus diambil aplikasi. SDK juga dapat menggunakan informasi ini untuk memberikan informasi audit ke Microsoft Purview.

Member Pengembalian Barang
std::shared_ptr<mip::Label> GetNewLabel() Mengembalikan label yang diterapkan SDK 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. Gunakan pengidentifikasi yang dapat dibaca manusia yang menunjukkan lokasi objek.
std::string GetApplicationScenarioId() Mengembalikan pengidentifikasi yang menghubungkan peristiwa aplikasi dengan permintaan REST layanan audit atau perlindungan yang sesuai.
mip::AssignmentMethod GetNewLabelAssignmentMethod() Mengembalikan mip::AssignmentMethod dari label.
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() Mengembalikan std::vector dari std::pairs string yang berisi metadata kustom yang diterapkan oleh SDK pada dokumen.
std::vector<mip::MetadataEntry> GetContentMetadata() Mengembalikan objek std::vector dari objek mip::MetadataEntry yang berisi metadata konten saat ini.
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() Mengembalikan penunjuk ke mip::ProtectionDescriptor.
std::string GetContentFormat() Mengembalikan string.
mip::ActionType GetSupportedActions() Mengembalikan mip::ActionTypes untuk label.
std::shared_ptr<mip::ClassificationResults> GetClassificationResults() Mengembalikan daftar hasil klasifikasi, jika diimplementasikan.

Timpa setiap anggota dalam implementasi kelas yang diturunkan dari mip::ExecutionState. Dalam aplikasi sampel sebelumnya, sampel mengimplementasikan struktur yang disebut ExecutionStateOptions dan meneruskan struktur tersebut ke konstruktor kelas turunan.

Contoh mendefinisikan struct yang disebut 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;
};

Atur setiap properti dalam aplikasi, lalu teruskan ExecutionStateOptions ke konstruktor kelas yang berasal dari mip::ExecutionState. SDK menggunakan informasi ini untuk menentukan tindakan yang akan diambil. Laporan audit Microsoft Purview juga menampilkan data yang disediakan dalam mip::ExecutionState.

Langkah berikutnya