Microsoft 信息保护 SDK - MipContext 对象概念

MipContext

MipContext 是 SDK 中的最高级别对象。 它负责管理可能作为应用程序或服务的一部分创建的所有配置文件的状态。 此外,它会在 MipContext 对象被销毁后处理释放 MIP SDK 资源。

重要

每个进程只允许一个 MipContext。 创建多个可能会导致意外行为。 MipContext 应在应用启动时创建,并且在应用的生存期中使用相同的 MipContext。

创建 mip::MipContext 的对象后,可以使用 MipContext 对象来创建 mip::FileProfilemip::PolicyProfilemip::ProtectionProfile 对象。

创建 MipConfiguration

mip::MipConfiguration 类允许应用程序为 MIP SDK 设置各种应用程序范围的配置设置。 这些设置包括:

  • 应用程序信息:名称、应用程序 ID、版本
  • 日志和缓存的存储目录
  • 日志记录级别
  • 离线模式
  • 功能外部测试设置
  • 委托,包括日志记录、存储、HTTP、JSON 解析和 XML 解析。
  • 诊断配置
std::shared_ptr<mip::MipConfiguration> mipConfiguration = std::make_shared<mip::MipConfiguration>(mAppInfo,
				"mip_data",
				mip::LogLevel::Trace,
				false);
MipConfiguration mipConfiguration = new MipConfiguration(appInfo, "mip_data", LogLevel.Trace, false);

MipConfiguration 初始化后,可用于创建 MipContext 对象。

创建 MipContext

使用 MipContext::Create() 函数,采用提供的 MipConfiguration 对象来创建 MipContext

std::shared_ptr<mip::MipContext> mMipContext = mip::MipContext::Create(mipConfiguration);
MipContext = mipContext = MIP.CreateMipContext(mipConfiguration);

创建 MipContext 对象后,它可用于创建 FileProfilePolicyProfileProtectionProfile 对象,具体取决于应用程序使用的 SDK。

正在关闭

正确销毁所有 MIP SDK 对象需要关闭 MIPContext。 这可以通过调用 Shutdown 函数来实现。 当 MipContext 对象被销毁时,MipContext 析构函数也将调用 MipContext.Shutdown()

mip::MipContext::CreateWithCustomFeatureSettings()

注意

此 API 在 MIP SDK 1.10 及更高版本中已弃用。 请更新为使用 MipConfigurationmip::MipContext::Create()

创建一个新的 MipContext 实例以在初始化配置文件时使用,并启用自定义功能设置。

  • mip::ApplicationInfo
  • MIP 存储缓存的路径。
  • mip::LogLevel
  • (可选)mip::LoggerDelegate
  • (可选)mip::TelemetryConfiguration
  • mip::FlightingFeature

后续步骤