MIP SDK — C 1.18
API Reference Documentation for C
Loading...
Searching...
No Matches
Microsoft Information Protection SDK — C

The Microsoft Information Protection (MIP) SDK C wrapper exposes MIP's protection and labeling capabilities through a flat C ABI suitable for binding into other languages. This site is the API reference for the C surface; for narrative documentation, samples, and quickstarts see the conceptual docs on Microsoft Learn.

Note — the C wrapper covers the Protection and Policy / labeling APIs. If you need the File API (apply labels and protection to files like .docx, .pdf, .pptx), use the C++ reference instead.

Get started

1. Set up your dev environment

2. Try a C++ quickstart

The C wrapper doesn't have language-specific quickstarts yet; the C++ ones show the same concepts (client initialization, delegates, profile/engine bring-up) that map directly onto the C surface:

3. Read a working sample

Runnable C++ samples, one per API surface (the C wrapper types have _cc.h suffixes and mirror the C++ classes 1:1):

API by area

This page is curated; the Files tab indexes every header.

Context

Header What it does
mip_context_cc.h Process-wide MIP context (create/release).
application_info_cc.h Identifies your application to MIP.
identity_cc.h Represents the user identity.
telemetry_configuration_cc.h Telemetry configuration.
flighting_feature_cc.h Feature flags.

Protection API

Encrypt, decrypt, and manage Use Licenses directly.

Header What it does
protection/protection_profile_cc.h / protection/protection_engine_cc.h Profile/engine entry points.
protection/protection_handler_cc.h Encrypt/decrypt; manage rights and licenses.
protection_descriptor_cc.h / protection_descriptor_builder_cc.h Describe protection (template, ad-hoc, do-not-forward).
protection/template_descriptor_cc.h Inspect an RMS template.
protection/license_info_cc.h / protection/delegation_license_cc.h Inspect and request licenses.
protection/protection_crypto_types_cc.h Crypto mode constants.
protection/user_rights_roles_cc.h Rights and role assignments.

Labels & Policy

Drive the labeling experience.

Header What it does
upe/policy_profile_cc.h / upe/policy_engine_cc.h Profile/engine entry points.
upe/policy_handler_cc.h Per-document policy decisions.
upe/label_cc.h A sensitivity label and its metadata.
upe/content_label_cc.h The label currently applied to content.
upe/document_state_cc.h / upe/application_action_state_cc.h Inputs supplied to the policy engine.
upe/sensitivity_type_cc.h Classification sensitivity types.
upe/metadata_dictionary_cc.h Document metadata.

Actions

policy_handler_cc.h returns actions describing what your app should do.

Header When emitted
upe/action_cc.h / upe/action_result_cc.h Action base type and result.
upe/justify_action_cc.h Prompt the user for justification.
upe/metadata_action_cc.h Add or remove document metadata.
upe/protect_by_template_action_cc.h / upe/protect_adhoc_action_cc.h / upe/protect_do_not_forward_action_cc.h Apply protection.
upe/add_watermark_action_cc.h / upe/add_content_header_action_cc.h / upe/add_content_footer_action_cc.h Apply visual marking.
upe/remove_protection_action_cc.h / upe/remove_watermark_action_cc.h / upe/remove_content_header_action_cc.h / upe/remove_content_footer_action_cc.h Remove existing markings/protection.
upe/custom_action_cc.h Tenant-defined custom action.

Delegates & callbacks

Implement these to extend or override SDK behavior.

Header Customizes
auth_callback_cc.h Authentication / token acquisition.
consent_callback_cc.h User consent prompts.
http_delegate_cc.h HTTP transport.
logger_delegate_cc.h Log routing.
task_dispatcher_delegate_cc.h Background task scheduling.

Errors & common types

Header Purpose
error_cc.h Error codes and messages.
result_cc.h Result envelope returned by SDK functions.
common_types_cc.h Shared enums and structs.
string_list_cc.h / dictionary_cc.h Utility containers.
stream_cc.h / editable_stream_cc.h Byte streams.
dynamic_watermark_cc.h Watermark configuration.
mip_macros_cc.h Compile-time macros.

Generated by Doxygen from the SDK headers. To edit this overview, change doxygen/mainpage-c.md in the mip-sdk-docs-gen repo.