Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Передача сведений в пакет SDK MIP для вычисления действия, которое следует предпринять на основе текущего состояния и требуемого состояния, реализуется через mip::ExecutionState класс. Как и другие классы в пакете SDK, ExecutionState это абстрактный класс и должен быть реализован разработчиком.
Полный пример реализации
ExecutionStateсм. в следующем исходном коде:
Элементы mip::ExecutionState
ExecutionState предоставляет следующие виртуальные члены. Каждый из них предоставляет определенный контекст обработчику политик для возврата сведений о том, какие действия должны выполняться приложением. Кроме того, эту информацию можно использовать для предоставления сведений аудита в Microsoft Purview.
| Член | Возвраты |
|---|---|
std::shared_ptr<mip::Label> GetNewLabel() |
Возвращает метку, применяемую к объекту. |
mip::DataState GetDataState() |
Возвращает mip::DataState состояния данных объекта. |
std::pair<bool, std::string> IsDowngradeJustified() |
Возвращает std::pair, указывающую, оправдано ли понижение и с обоснованием. |
std::string GetContentIdentifier() |
Возвращает идентификатор содержимого. Должен быть удобочитаемым идентификатором, указывающим расположение объекта. |
mip::ActionSource GetNewLabelActionSource() |
Возвращает mip::ActionSource метки. |
mip::AssignmentMethod GetNewLabelAssignmentMethod() |
Возвращает метод назначения mip::AssignmentMethod для метки. |
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() |
Возвращает std::vector из std::pairs строк, содержащих настраиваемые метаданные, которые будут применены к документу. |
std::vector<std::pair<std::string, std::string>> GetContentMetadata() |
Возвращает std::vector из std::pair, содержащих строки с текущими метаданными содержимого. |
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() |
Возвращает указатель на mip::ProtectionDescriptor |
std::string GetContentFormat() |
Возвращает строку |
mip::ActionType GetSupportedActions() |
Возвращает mip::ActionTypes для метки. |
std::shared_ptr<mip::ClassificationResults> |
Возвращает список результатов классификации, если реализован. |
Каждое из них должно быть переопределено в реализации класса, производного от mip::ExecutionState. В примере приложения, указанного выше, этот процесс выполняется путем реализации структуры ExecutionStateOptions и передачи ее конструктору производного класса.
В примере вызываемая 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;
};
Каждое свойство задается приложением, а затем ExecutionStateOptions передается конструктору класса, производного от mip::ExecutionState. Эти сведения используются для определения выполняемых действий. Данные, предоставленные в mip::ExecutionState, также будут отображаться в отчетах аудита Microsoft Purview.
Дальнейшие шаги
- Узнайте, как определить действия вычислений для новой или существующей метки на основе текущего и требуемого состояния.
- Скачайте примеры пакета SDK политики из GitHub и попробуйте использовать пакет SDK политики