Microsoft Information Protection (MIP) SDK for C: Reference 1.15
Doxygen-generated documentation for MIP SDK written in C
Loading...
Searching...
No Matches
dictionary_cc.h File Reference

Contains C API definitions for common string dictionary. More...

#include <stdint.h>
#include "mip_cc/common_types_cc.h"
#include "mip_cc/error_cc.h"
#include "mip_cc/mip_macros_cc.h"
#include "mip_cc/result_cc.h"
+ Include dependency graph for dictionary_cc.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  mip_cc_kv_pair
 Key/value pair. More...
 

Typedefs

typedef mip_cc_handlemip_cc_dictionary
 

Functions

 MIP_CC_API (mip_cc_result) MIP_CC_CreateDictionary(const mip_cc_kv_pair *entries
 Create a dictionary of string keys/values.
 
 MIP_CC_API (void) MIP_CC_ReleaseDictionary(mip_cc_dictionary dictionary)
 Release resources associated with a dictionary.
 

Variables

const int64_t count
 
const int64_t mip_cc_dictionarydictionary
 
mip_cc_kv_pair ** entries
 
const int64_t mip_cc_dictionary mip_cc_errorerrorInfo
 

Detailed Description

Contains C API definitions for common string dictionary.

Definition in file dictionary_cc.h.

Typedef Documentation

◆ mip_cc_dictionary

Definition at line 44 of file dictionary_cc.h.

Function Documentation

◆ MIP_CC_API() [1/2]

MIP_CC_API ( mip_cc_result ) const

Create a dictionary of string keys/values.

Gets a sensitivity type's rule package.

Gets size of buffer required to store a sensitivity type's rule package.

Gets a sensitivity type's rule package ID.

Gets size of buffer required to store the double key encryption url.

Gets a "protect by template" action's whether or not it is double key.

Gets double key encryption url.

Create a settings object used to create a policy profile.

Trigger an authentication callback.

Called by application after computed actions have been applied and data committed to disk.

Executes policy rules based on the provided state and determines corresponding actions.

Checks consent for a specific workload.

Gets the recommended WXP (Windows, Excel, Powerpoint) metadata version, currently 0 for old verion 1 for co-authoring enabled version.

Enables or disables functionality.

Create a settings object used to load an existing policy engine by engine ID if it already exists, else create a new engine.

Create a settings object used to create a brand new policy engine.

Gets sensitivity types data xml.

Gets size of sensitivity types data xml.

Gets policy data xml.

Gets size of policy data xml.

Gets tenant ID.

Gets size of tenant ID.

Logs an application specific event to the audit pipeline.

Create a Policy Handler to execute policy-related functions.

Gets the sensitivity types associated with the policy engine.

Gets the number of sensitivity types associated with the policy engine.

Gets sensitivity label by ID.

Gets the sensitivity labels associated with the policy engine.

Gets the number of sensitivity labels associated with the policy engine.

Gets the time when the policy was last fetched.

Gets whether or not the policy has automatic or recommendation rules.

Gets whether or not the policy dictates a justification for downgrade operations is required.

Gets whether or not the policy dictates that a document must be labeled.

Get client data associated with a policy engine.

Gets the size of client data associated with a policy engine.

Get metadata entries that compose a dictionary.

Gets a "metadata" action's metadata to add.

Gets policy-defined custom settings of a label.

Gets the children labels.

Gets the number of children labels.

Gets the parent label, if any.

Gets whether or not a label is active.

Gets label auto-classification tooltip.

Gets size of buffer required to store auto-classification tooltip.

Gets label tooltip.

Gets size of buffer required to store tooltip.

Gets sensitivity level of label.

Gets label color.

Gets size of buffer required to store color.

Gets label description.

Gets label name.

Gets a "custom" action's properties.

Gets a "custom" action's name.

Gets generic label properties from a content label instance.

Gets whether or not a protection was applied by a label.

Gets extended properties.

Gets label assignment method.

Gets an "add watermark" action's font color (for example, "#000000")

Gets size of buffer required to store an "add watermark" action's font color.

Gets an "add watermark" action's font name.

Gets size of buffer required to store an "add watermark" action's font name.

Gets an "add watermark" action's text.

Gets size of buffer required to store an "add watermark" action's text.

Gets the watermark layout.

Gets an "add watermark" action's UI element name.

Gets an "add content header" action's font color (for example, "#000000")

Gets size of buffer required to store an "add content header" action's font color.

Gets an "add content header" action's font name.

Gets size of buffer required to store an "add content header" action's font name.

Gets an "add content header" action's text.

Gets size of buffer required to store an "add content header" action's text.

Gets an "add content header" action's UI element name.

Gets the margin size.

Gets the alignment.

Gets an "add content footer" action's font color (for example, "#000000")

Gets size of buffer required to store an "add content footer" action's font color.

Gets the integer font size.

Gets an "add content footer" action's font name.

Gets size of buffer required to store an "add content footer" action's font name.

Gets an "add content footer" action's text.

Gets size of buffer required to store an "add content footer" action's text.

Gets an "add content footer" action's UI element name.

Gets an action's ID.

Sets a telemetry property to mask.

Sets custom telemetry settings.

Sets whether fast telemetry shutdown is enabled or not.

Sets whether or not an application/user has opted out of optional telemetry.

Sets whether or not the telemetry component is allowed to write logs to disk.

Sets whether or not the telemetry component is allowed to write caches to disk.

Sets whether or not the telemetry component is allowed ping network status on a background thread.

Override default telemetry HTTP stack with client's own.

Set a telemetry shared library override.

Set a telemetry host name which will override internal telemetry settings.

Get strings that compose a string list.

Gets List of users-to-roles mappings.

Gets list of users-to-rights mappings.

Gets double key URL.

Gets size of buffer required to store double key URL.

Gets encrypted application data.

Gets signed application data.

Gets protection referrer.

Gets size of buffer required to store referrer.

Gets whether or not offline access is allowed.

Gets protection expiration time (in seconds since epoch)

Gets whether or not content has an expiration time or not.

Gets content ID.

Gets label ID.

Gets template ID.

Gets protection description.

Gets protection name.

Gets protection owner.

Gets size of buffer required to store owner.

Gets type of protection, whether it is defined by an RMS template or not.

Creates a protection descriptor whose access permissions are defined by users and roles.

Creates a protection descriptor whose access permissions are defined by users and rights.

Sets the label information for UDP protection.

Sets a double key url for custom protection.

Sets the signed application data for the protection.

Sets the encrypted application data for the protection.

Sets the protection referrer email address.

Sets if protection policy allows offline content access or not.

Sets protection expiration time (in seconds since epoch)

Set the description of the protection.

Set the name of the protection.

Build a protection descriptor from the protection descriptor builder.

Creates a Protection Descriptor Builder whose access permissions are defined by the protection template.

Creates a ProtectionDescriptorBuilder for a license type with the specified users.

Creates a protection descriptor builder based on an existing protection descriptor.

Creates a protection descriptor builder whose access permissions are defined by an RMS template.

Creates a protection descriptor builder whose access permissions are defined by users and roles.

Gets the list of roles from a single users-to-roles pair.

Gets the list of users from a single users-to-roles pair.

Gets the list of rights from a single users-to-rights pair.

Gets Template description.

Gets size of buffer required to store description.

Gets Template name.

Gets size of buffer required to store name.

Override default async task dispatcher with client's own.

Override default HTTP stack with client's own.

Configures whether or not end user licenses (EULs) will be cached locally.

Create a settings object used to create a protection profile.

Load a profile.

Gets the cipher mode of the protection handler.

Decrypt a buffer.

Encrypt a buffer.

Gets whether or not protection handler uses deprecated crypto algorithm (ECB) for backwards compatibility.

Gets the content IE of protected content.

Gets the owner of protected content.

Gets size of buffer required to store the owner of protected content.

Gets the user that has been granted access to protected content.

Gets size of buffer required to store user that has been granted access to protected content.

Gets the block size (in bytes) for the cipher mode used by a protection handler.

Calculates size of protected content, factoring in padding, etc.

Gets list of rights granted to a user.

Gets protection descriptor.

Gets pre-license.

Gets size of pre-license (in bytes)

Gets publishing license.

Gets size of publishing license (in bytes)

Sets whether or not protection handler creation permits online HTTP operations.

Create a settings object used to create a protection handler for consuming existing content.

Sets application scenario Id.

Sets pre-license user.

Sets delegated user.

Sets whether or not PL is in JSON format (default is XML)

Sets whether or not non-MIP-aware applications are allowed to open protected content.

Sets whether or not deprecated crypto algorithm (ECB) is preferred for backwards compatibility.

Gets the set of supported capabilities being passed to RMS.

Remove a capability from the set of capabilities supported when calling RMS.

Add a capability to the set of capabilities supported when calling RMS.

Sets whether or not only cloud service is allowed.

Sets underlying application ID.

Sets base URL for all service requests.

Sets cloud which affects endpoint URLs for all service requests.

Sets the session ID that can be used to correlate logs and telemetry.

Configures custom settings, used for feature gating and testing.

Sets the client data that will be stored opaquely alongside this engine and persist across sessions.

Create a settings object used to load an existing protection engine by engine ID if it already exists, else create a new engine.

Create a settings object used to create a brand new protection engine.

Get the delegation and end-user licenses associated with a protection license.

Get client data associated with a protection engine.

Gets the size of client data associated with a protection engine.

Get list of rights granted to a user for a label ID.

Get collection of templates available to a user.

Gets the number of RMS templates associated with a protection engine.

Gets engine ID.

Gets size of buffer required to engine ID.

Creates a protection handler for consuming existing content.

Gets the dynamic watermark.

Get the user associated with this collection of licenses.

Gets the end-user license that can be accessed with the key associated with the end-user's identity.

Gets the delegation license in XRML format.

Gets the delegation license in JSON format.

Gets the dynamic watermark from the delegation license object.

Gets an array of delegation license objects from a mip_cc_delegation_licenses object.

Create a MIP context to manage state shared across all profile instances.

Creates a logger delegate which can be used to override MIP's default logger.

Gets the text which will be displayed to the end user by replacing the variables in the format string.

Gets size of buffer required to store the string returned by MIP_CC_DynamicWatermark_GetText.

Gets the raw formatted string the admin has configured, which may include variables such as ${Consumer.PrincipalName}.

Get key/value pairs that compose a dictionary.

Parameters
entriesArray of key/value pairs
countNumber of key/value pairs
dictionary[Output] Newly-created dictionary
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
A mip_cc_dictionary must be freed by calling MIP_CC_ReleaseDictionary
Parameters
dictionarySource dictionary
entries[Output] Array of key/value pairs, memory owned by mip_cc_dictionary object
count[Output] Number of key/value pairs
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The memory for 'entries' is owned by the mip_cc_dictionary object, so it should not be freed independently

This string can be populated from the label in the protection flow or it can be populated from the use license in the consumption flow.

Parameters
dynamicWatermarkDynamic watermark associated with protected content
formatStringBuffer[Output] The raw format string configured by admin
formatStringBufferSizeSize (in number of chars) of the formatStringBuffer
actualFormatStringSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If formatStringBuffer is null or of insufficient size, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualFormatStringSize will be set to the minimum required buffer size.
Parameters
dynamicWatermarkDynamic watermark associated with protected content
textSize[Output] Size of buffer to hold the dynamic watermark text (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
dynamicWatermarkDynamic watermark associated with protected content
textBuffer[Output] the filled in text for the dynamic watermark
textBufferSizeSize (in number of chars) of the textBuffer
actualTextSize[Output] Number of chars written to the textBuffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If textBuffer is null or of insufficient size, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualTextSize will be set to the minimum required buffer size.
Parameters
methodargsArguments to this function
Returns
Result code indicating success or failure
Parameters
applicationInfoInfo about application that is consuming the protection SDK
pathFile path under which logging, telemetry, and other protection collateral is stored
logLevelMinimum log level for .miplog
isOfflineOnlyEnable/disable network operations (not all actions supported when offline)
loggerDelegateOverride(Optional) Logger override implementation
diagnosticOverride(Optional) Overridden telemetry settings. If NULL, default settings will be used
featureSettings(Optional) Array of custom feature overrides
featureSettingsSizeSize of custom feature overrides (in # of overrides)
mipContext[Output] Newly-created MIP context instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
licensesHandle to a collection of mip_cc_delegation_license objects
delegationLicenseArray[Input/Output] Caller allocated array of mip_cc_delegation_license objects. Set this value to nullptr to determine the number of items in licenses.
count[Input/Output] Upon input, the size of delegationLicenseArray in items. Upon output, the number of items written to delegationLicenseArray. Each item is sizeof(mip_cc_delegation_license). If delegationLicenseArray is nullptr, count returns the size required (in items) to store the array of mip_cc_delegation_license objects.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If the input array is too small, the input is truncated and MIP_RESULT_ERROR_INSUFFICIENT_BUFFER is returned. The caller is responsible for releasing each returned mip_cc_delegation_license by calling MIP_CC_ReleaseDelegationLicense.
Parameters
licenseHandle to a mip_cc_delegation_license object
dynamicWatermark[Output] Handle to the dynamic watermark (null if not present)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The returned dynamicWatermark (mip_cc_dynamic_watermark*) must be freed by calling MIP_CC_ReleaseDynamicWatermark

For encryption operations, the delegation license uses the key that is associated with the identity that retrieved the delegation license.

Parameters
licenseHandle to the mip_cc_delegation_license object
serializedLicense[Input/Output] Caller allocated buffer in bytes for the JSON delegation license. Set this value to nullptr to determine the number of bytes in serializedLicense.
serializedLicenseSize[Input/Output] Upon input, the size of serializedLicense in bytes. Upon output, the number of bytes written to serializedLicense. If serializedLicense is nullptr, serializedLicenseSize returns the size required (in bytes) to store the serializedLicense.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If the input buffer is too small, the input is truncated and MIP_RESULT_ERROR_INSUFFICIENT_BUFFER is returned. The input buffer is NOT guaranteed to be null terminated.

For encryption operations, the delegation license uses the key that is associated with the identity that retrieved the delegation license.

Parameters
licenseHandle to the mip_cc_delegation_license object
serializedLicense[Input/Output] Caller allocated buffer in bytes for the XRML delegation license. Set this value to nullptr to determine the number of bytes in serializedLicense.
serializedLicenseSize[Input/Output] Upon input, the size of serializedLicense in bytes. Upon output, the number of bytes written to serializedLicense. If serializedLicense is nullptr, serializedLicenseSize returns the size required (in bytes) to store the serializedLicense.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If the input buffer is too small, the input is truncated and MIP_RESULT_ERROR_INSUFFICIENT_BUFFER is returned. The input buffer is NOT guaranteed to be null terminated.
Parameters
licenseHandle to the mip_cc_delegation_license object
formatThe mip_cc_pre_license_format to use when retrieving the end-user license
serializedLicense[Input/Output] Caller allocated buffer in bytes for the XRML delegation license. Set this value to nullptr to determine the number of bytes in serializedLicense.
serializedLicenseSize[Input/Output] Upon input, the size of serializedLicense in bytes. Upon output, the number of bytes written to serializedLicense. If serializedLicense is nullptr, serializedLicenseSize returns the size required (in bytes) to store the serializedLicense.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If the input buffer is too small, the input is truncated and MIP_RESULT_ERROR_INSUFFICIENT_BUFFER is returned. The input buffer is NOT guaranteed to be null terminated.
Parameters
licenseHandle to the mip_cc_delegation_license object
user[Output] Address of a null terminated character array that defines the user that is associated with this license collection.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The memory associated with user is temporary and may not be accessible once other MIP_CC_DelegationLicense calls are executed.
Parameters
licenseInfoThe licenseInfo from which to retrieve the dynamic watermark
dynamicWatermark[Output] The dynamic watermark in the licenseInfo (null if not present)
errorInfo[Output] (Optional) Failiure info if operation results is failure
Returns
Result code indicating success or failure
Note
The returned 'dynamicWatermark' (mip_cc_dynamic_watermark*) must be freed calling MIP_CC_ReleaseDynamicWatermark
Parameters
engineEngine under which a handler will be created
settingsProtection handler settings
contextClient context that will be opaquely passed to HttpDelegate and AuthDelegate
handler[Output] Newly-created protection handler instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
engineProtection engine
idSize[Output] Size of buffer to hold engine ID (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
engineProtection engine
idBuffer[Output] Buffer the id will be copied into.
idBufferSizeSize (in number of chars) of the idBuffer.
actualIdSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If idBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualIdSize will be set to the minimum required buffer size.
Parameters
engineProtection engine
contextClient context that will be opaquely passed to HttpDelegate and AuthDelegate
templatesSize[Output] Number of templates
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
This API may result in an independent HTTP operation. Consider using 'MIP_CC_ProtectionEngine_GetTemplates' directly with a pre-defined buffer to avoid unnecessary extra HTTP operations.
Parameters
engineProtection engine
contextClient context that will be opaquely passed to HttpDelegate and AuthDelegate
mip_cc_template_descriptor[Output] buffer to create template handlers.
templateBufferSizeSize (in number of items) of the templateBuffer.
actualTemplatesSize[Output] Number of template IDs written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If templateBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualTemplateSize will be set to the minimum required buffer size. Each mip_cc_template_descriptor must be released by the caller by calling MIP_CC_ReleaseTemplateDescriptor().
Parameters
engineProtection engine
contextClient context that will be opaquely passed to HttpDelegate and AuthDelegate
documentIdDocument ID assigned to the document
labelIdLabel ID applied to the document
ownerEmailOwner of the document
delagedUserEmailEmail of user if the authenticating user/application is acting on behalf of another user, empty if none
rights[Output] List of rights granted to a user, memory owned by caller
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The 'rights' variable must be released by the caller by calling MIP_CC_ReleaseStringList
Parameters
engineProtection engine
contextClient context that will be opaquely passed to the HttpDelegate and AuthDelegate
documentIdDocument ID assigned to the document
labelIdLabel ID applied to the document
ownerEmailOwner of the document
delagedUserEmailEmail of the user if the authenticating user/application is acting on behalf of another user, empty if none
licenseInfo[Output] LicenseInfo pertaining to a given label id. Memory owned by caller.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The returned 'licenseInfo' (mip_cc_license_info*) must be freed by calling MIP_CC_ReleaseLicenseInfo
Parameters
engineProtection engine
clientDataSize[Output] Size of client data (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
engineProtection engine
clientDataBuffer[Output] Buffer the client data will be copied into
clientDataBufferSizeSize (in number of chars) of clientDataBuffer.
actualClientDataSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If clientDataBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualClientDataSize will be set to the minimum required buffer size.
Parameters
engineThe mip_cc_protection_engine and associated identity to use when querying the licenses
settingsA collection of mip_cc_delegation_license_settings that determine which licenses to retrieve
context(Optional) Optional context that is passed along to any listening HttpDelegate.
delegationLicenses[Output] Returned collection of mip_cc_delegation_license objects.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
To avoid memory leaks, delegationLicenses must be released using MIP_CC_ReleaseDelegationLicenses.
Parameters
identityIdentity that will be associated with ProtectionEngine
authCallbackCallback object to be used for authentication, implemented by client application
clientDataCustomizable client data that is stored alongside the engine
localeLocale in which text results will output
engineSettings[Output] Newly-created settings instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
engineIdID of existing cached engine
identity(Optional) Identity that will be associated with ProtectionEngine
authCallbackCallback object to be used for authentication, implemented by client application
clientDataCustomizable client data that is stored alongside the engine
localeLocale in which text results will output
engineSettings[Output] Newly-created settings instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
'identity' will only be used for new engines. If an engine with the specified engine id already exists in the local cache, the identity from the cached engine will be used instead.
Parameters
settingsEngine settings
clientDataClient data
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
engineSettingsEngine settings
customSettingsKey/value pairs of custom settings
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsEngine settings
sessionIdSession ID that represents the lifetime of a protection engine
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsEngine settings
cloudCloud identifier (default = Unknown)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If cloud is not specified, then it will be determined by DNS lookup of the engine's identity domain if possible, else fall back to global cloud.
Parameters
settingsEngine settings
cloudEndpointBaseUrlBase URL (e.g. 'https://api.aadrm.com')
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
This value will only be read and must be set for Cloud = MIP_CLOUD_CUSTOM
Parameters
settingsEngine settings
underlyingApplicationIdApplication ID (could be a Guid)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsEngine settings
allowCloudServiceOnlyA boolean value indicating whether or not only cloud service is allowed
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsEngine settings
templateRefreshIntervalHoursHow long, in hours, a cached template will be valid to use. A value of 0 means templates should never be cached. This is the default.
templateBatchingSizeIf doing offline publishing, how many temlates will be fetched at a single time. Max 25.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
engineSettingsEngine settings
capabilityThe capability to add to indicate a supported feature to RMS
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
engineSettingsEngine settings
capabilityThe capability to remove from the supported features in RMS
removed[Output] A boolean indiciating if the supplied capability was removed.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
engineSettingsEngine settings
capabilities[Output] Gets the list of capabilities being passed to RMS
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The returned 'capabilities' (mip_cc_string_list*) must be freed by calling MIP_CC_ReleaseStringList.
Parameters
settingsProtection handler settings
isDeprecatedAlgorithmPreferredWhether or not deprecated algorithm is preferred
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsProtection handler settings
isAuditedExtractionAllowedWhether or not non-MIP-aware applications are allowed to open protected content
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsProtection handler settings
isPublishingFormatJsonWhether or not resulting PL should be in JSON format
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsProtection handler settings
delegatedUserEmailEmail address of delegated user
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
A delegated user is specified when the authenticating user/application is acting on behalf of another user
Parameters
settingsProtection handler settings
preLicenseUserEmailEmail address of pre-license user
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
A pre-license user is specified when a pre-license should be fetched when publishing
Parameters
settingsProtection handler settings
applicationScenarioIdapplication scenario Id
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsProtection handler settings
customSettingsKey/value pairs of custom settings
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
publishingLicenseBufferBuffer containing raw publishing license
publishingLicenseBufferSizeSize of publishing license buffer
settings[Output] Newly-created settings instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
preLicenseBufferBuffer containing raw pre license buffer
preLicenseBufferSizeSize of pre license buffer
publishingLicenseBufferBuffer containing raw publishing license
publishingLicenseBufferSizeSize of publishing license buffer
settings[Output] Newly-created settings instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsProtection handler settings
isOfflineOnlyTrue if HTTP operations are forbidden, else false
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If this is set to true, protection handler creation will only succeed if content has already been previously decrypted and its unexpired license is cached. A MIP_RESULT_ERROR_NETWORK result will be returned if cached content is not found.
Parameters
handlerHandler representing protected content
publishingLicenseBufferSize[Output] Size of publishing license (in bytes)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
handlerHandler representing protected content
publishingLicenseBuffer[Output] Buffer to which publishing license will be written
publishingLicenseBufferSizeSize of publishing license buffer
actualPublishingLicenseSize[Output] Actual size of publishing license (in bytes)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If publishingLicenseBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualPublishingLicenseSize will be set to the minimum required buffer size.
Parameters
handlerHandler representing protected content
formatPre-license format
preLicenseBufferSize[Output] Size of pre-license (in bytes)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
handlerHandler representing protected content
formatPre-license format
preLicenseBuffer[Output] Buffer to which pre-license will be written
preLicenseBufferSizeSize of pre-license buffer
actualPreLicenseSize[Output] Actual size of pre-license (in bytes)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If preLicenseBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualPreLicenseSize will be set to the minimum required buffer size.
Parameters
handlerHandler representing protected content
descriptor[Output] Protection descriptor
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
handlerHandler representing protected content
rights[Output] List of rights granted to a user, memory owned by caller
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The 'rights' variable must be released by the caller by calling MIP_CC_ReleaseStringList
Parameters
handlerHandler representing protected content
unprotectedSizeSize of unprotected/cleartext content (in bytes)
includesFinalBlockDescribes if the unprotected content in question includes the final block or not. For example, in CBC4k encryption mode, non-final protected blocks are the same size as unprotected blocks, but final protected blocks are larger than their unprotected counterparts.
protectedSize[Output] Size of protected content
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
handlerHandler representing protected content
blockSize[Output] Block size (in bytes)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
handlerHandler representing protected content
issuedUserSize[Output] Size of buffer to hold issued user (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
handlerHandler representing protected content
issuedUserBuffer[Output] Buffer the issued user will be copied into.
issuedUserBufferSizeSize (in number of chars) of the issuedUserBuffer.
actualIssuedUserSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If issuedUserBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualIssuedUserSize will be set to the minimum required buffer size.
Parameters
handlerHandler representing protected content
ownerSize[Output] Size of buffer to hold issued user (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
handlerHandler representing protected content
ownerBuffer[Output] Buffer the issued user will be copied into.
ownerBufferSizeSize (in number of chars) of the ownerBuffer.
actualOwnerSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If ownerBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualOwnerSize will be set to the minimum required buffer size.
Parameters
handlerHandler representing protected content
contentId[Output] Content ID
errorInfo[Output] (Optional) Failure info if operation result is error
Note
Publishing licenses will have this identifier surrounded by curly braces "{}". Those braces are removed from the value stored in contentId
Returns
Result code indicating success or failure
Parameters
handlerHandler representing protected content
doesUseDeprecatedAlgorithm[Output] Whether or not protection handler uses deprecated crypto algorithm
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
offsetFromStartRelative position of inputBuffer from the very beginning of the cleartext content
inputBufferBuffer of cleartext content that will be encrypted
inputBufferSizeSize (in bytes) of input buffer
outputBuffer[Output] Buffer into which encrypted content will be copied
outputBufferSizeSize (in bytes) of output buffer
isFinalIf input buffer contains the final cleartext bytes or not
actualEncryptedSize[Output] Actual size of encrypted content (in bytes)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
offsetFromStartRelative position of inputBuffer from the very beginning of the encrypted content
inputBufferBuffer of encrypted content that will be decrypted
inputBufferSizeSize (in bytes) of input buffer
outputBuffer[Output] Buffer into which decrypted content will be copied
outputBufferSizeSize (in bytes) of output buffer
isFinalIf input buffer contains the final encrypted bytes or not
actualDecryptedSize[Output] Actual size of encrypted content (in bytes)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
handlerHandler representing protected content
cipherMode[Output] The cipher mode
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
consumptionSettingsConsumption handler settings
capabilityThe capability to add to indicate a supported feature to RMS
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
consumptionSettingsConsumption handler settings
capabilityThe capability to remove from the supported features in RMS
removed[Output] A boolean indiciating if the supplied capability was removed.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
consumptionSettingsConsumption handler settings
capabilities[Output] Gets the list of capabilities being passed to RMS
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The returned 'capabilities' (mip_cc_string_list*) must be freed by calling MIP_CC_ReleaseStringList.
Parameters
settingsProfile settings
profile[Output] Newly-created protection profile instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
mipContextGlobal context shared across all profiles
cacheStorageTypeStorage cache configuration
reservedReserved for backwards compatibility - set to nullptr
consentCallbackCallback object to be used for consent, implemented by client application
settings[Output] Newly-created settings instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsProfile settings
sessionIdSession ID that represents the lifetime of a protection profile
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsProfile settings
canCacheLicensesWhether or not engine should cache a license when opening protected content
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsProfile settings to which HTTP delegate will be assigned
httpDelegateHTTP callback instance implemented by client application
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsProfile settings to which task dispatcher delegate will be assigned
taskDispatcherDelegateTask dispatcher callback instance implemented by client application
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsProfile settings
customSettingsKey/value pairs of custom settings
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
templateDescriptorDescriptor associated with template
nameSize[Output] Size of buffer to hold name (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
templateDescriptorDescriptor associated with template
nameBuffer[Output] Buffer the name will be copied into.
nameBufferSizeSize (in number of chars) of the nameBuffer.
actualNameSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If NameBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualNameSize will be set to the minimum required buffer size.
Parameters
templateDescriptorDescriptor associated with template
descriptionSize[Output] Size of buffer to hold description (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
templateDescriptorDescriptor associated with template
descriptionBuffer[Output] Buffer the description will be copied into.
descriptionBufferSizeSize (in number of chars) of the descriptionBuffer.
actualNameSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If descriptionBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualDescriptionSize will be set to the minimum required buffer size.

This API is identical to calling protectionDescriptor->GetUserRights()[index].Rights() on the C++ side.

Parameters
userRightsThe users-to-rights list to access
indexWhich users-to-rights pair to retrieve the list of rights from
rights[Output] The retrieved rights list. It is the caller's responsibility to release this object with MIP_CC_ReleaseStringList
errorInfo[Output] (Optional) Failure info if operation result is error

This API is identical to calling protectionDescriptor->GetUserRoles()[index].Users() on the C++ side.

Parameters
userRolesThe users-to-roles list to access
indexWhich users-to-roles pair to retrieve the list of users from
users[Output] The retrieved users list. It is the caller's responsibility to release this object with MIP_CC_ReleaseStringList
errorInfo[Output] (Optional) Failure info if operation result is error

This API is identical to calling protectionDescriptor->GetUserRoles()[index].Roles() on the C++ side.

Parameters
userRolesThe users-to-roles list to access
indexWhich users-to-roles pair to retrieve the list of roles from
roles[Output] The retrieved roles list. It is the caller's responsibility to release this object with MIP_CC_ReleaseStringList
errorInfo[Output] (Optional) Failure info if operation result is error
userRolesGroups of users and their roles
userRolesCountNumber of user/roles groups
protectionDescriptorBuilder[Output] Newly-created protection descriptor builder instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
templateIdTemplate ID in GUID format
protectionDescriptorBuilder[Output] Newly-created protection descriptor builder instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorThe protection descriptor to base this builder on
protectionDescriptorBuilder[Output] Newly-created protection descriptor builder instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
licenseTypeThe license type to create this Protection Descriptor Builder for
usersWithDefaultRightsCollection of users to add to the license with default rights for the specific type
usersWithDefaultRightsCountNumber of users in the usersWithDefaultRights array
additionalUsersAndRightsOptional additional collection of users-to-rights mappings
additionalUsersAndRightsCountNumber of users in the additionalUsersAndRights array
protectionDescriptorBuilder[Output] Newly-created protection descriptor builder instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
serializedTemplateProtection template
serializedTemplateSizeSize of the serialized template
protectionDescriptorBuilder[Output] Newly-created protection descriptor builder instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorBuilderProtection descriptor builder
protectionDescriptor[Output] Newly-created protection descriptor instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorBuilderProtection descriptor builder
nameProtection name
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorBuilderProtection descriptor builder
descriptionProtection description
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
contentValidUntilContent expiration time (in seconds since epoch)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorBuilderProtection descriptor builder
allowOfflineAccessIf policy allows offline content access or not
errorInfo[Output] (Optional) Failure info if operation result is error
protectionDescriptorBuilderProtection descriptor builder
uriAddress to referrer unauthenticated users to
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorBuilderProtection descriptor builder
appDataApplication-specific data to encrypt
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorBuilderProtection descriptor builder
appDataApplication-specific data for unencrypted section
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorBuilderProtection descriptor builder
doubleKeyUrlDouble key url
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorBuilderProtection descriptor builder
labelIdLabel ID
tenantIdTenant ID
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
userRightsGroups of users and their rights
userRightsCountNumber of user/rights groups
nameProtection name
referrerReferrer address (a URI displayable to a user that provides information on how to gain access)
contentValidUntilProtection expiration time
allowOfflineAccessDetermines whether a license to consume content can be cached locally
encryptedAppDataApp-specific data (cleartext) that is encrypted into the publishing license
signedAppDataApp-specific data (cleartext) that is signed into the publishing license
protectionDescriptor[Output] Newly-created protection descriptor instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
userRolesGroups of users and their roles
userRolesCountNumber of user/roles groups
nameProtection policy name
referrerReferrer address (a URI displayable to a user that provides information on how to gain access)
contentValidUntilProtection expiration time
allowOfflineAccessDetermines whether a license to consume content can be cached locally
encryptedAppDataApp-specific data (cleartext) that is encrypted into the publishing license
signedAppDataApp-specific data (cleartext) that is signed into the publishing license
protectionDescriptor[Output] Newly-created protection descriptor instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
protectionType[Output] Protection type
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
ownerSize[Output] Size of buffer to hold owner (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
ownerBuffer[Output] Buffer the owner will be copied into.
ownerBufferSizeSize (in number of chars) of the ownerBuffer.
actualOwnerSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If ownerBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualOwnerSize will be set to the minimum required buffer size.
Parameters
protectionDescriptorDescriptor associated with protected content
nameSize[Output] Size of buffer to hold name (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
nameBuffer[Output] Buffer the name will be copied into.
nameBufferSizeSize (in number of chars) of the nameBuffer.
actualNameSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If nameBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualNameSize will be set to the minimum required buffer size.
Parameters
protectionDescriptorDescriptor associated with protected content
descriptionSize[Output] Size of buffer to hold description (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
descriptionBuffer[Output] Buffer the description will be copied into.
descriptionBufferSizeSize (in number of chars) of the descriptionBuffer.
actualDescriptionSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If descriptionBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualDescriptionSize will be set to the minimum required buffer size.
Parameters
protectionDescriptorDescriptor associated with protected content
templateId[Output] Template ID associated with protection
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
labelId[Output] Label ID associated with protection
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
contentId[Output] Content ID associated with protection
errorInfo[Output] (Optional) Failure info if operation result is error
Note
Publishing licenses will have this identifier surrounded by curly braces "{}". Those braces are removed from the value stored in contentId
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
doesContentExpire[Output] Whether or not content expires
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
contentValidUntil[Output] Content expiration time (in seconds since epoch)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
doesAllowOfflineAccess[Output] Whether or not offline access is allowed
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
referrerSize[Output] Size of buffer to hold referrer (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
referrerBuffer[Output] Buffer the referrer will be copied into.
referrerBufferSizeSize (in number of chars) of the referrerBuffer.
actualReferrerSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If referrerBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualReferrerSize will be set to the minimum required buffer size.
Parameters
protectionDescriptorDescriptor associated with protected content
signedAppData[Output] Dictionary of key value pairs that are signed as part of publishing license. It is the caller's responsibility to release this dictionary with MIP_CC_ReleaseDictionary
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
encryptedAppData[Output] Dictionary of key value pairs that are encrypted as part of publishing license. It is the caller's responsibility to release this dictionary with MIP_CC_ReleaseDictionary
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
url[Output] Size of buffer to hold double key URL (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorDescriptor associated with protected content
urlBuffer[Output] Buffer the url will be copied into.
urlBufferSizeSize (in number of chars) of the urlBuffer.
actualUrlSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If urlBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualUrlSize will be set to the minimum required buffer size.
Parameters
protectionDescriptorDescriptor associated with protected content
userRights[Output] List of users-to-rights mappings. It is the caller's responsibility to release this list with MIP_CC_ReleaseUserRightsResult
userRightsCount[Output] Number of user/rights groups
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The value of the UserRights property will be empty if the current user doesn't have access to this information (that is, if the user does not have the VIEWRIGHTSDATA right or is not the owner of the content).
Parameters
protectionDescriptorDescriptor associated with protected content
userRoles[Output] Gets List of users-to-roles mappings. It is the caller's responsibility to release this list with MIP_CC_ReleaseUserRolesResult
userRolesCount[Output] Number of user/roles groups
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
protectionDescriptorThe protection descriptor from which to retrieve the dynamic watermark
dynamicWatermark[Output] The retrieved dynamic watermark (null if not present)
errorInfo[Output] (Optional) Failure info if operation results is failure
Returns
Result code indicating success or failure
Note
The returned 'dynamicWatermark' (mip_cc_dynamic_watermark*) must be freed by calling MIP_CC_ReleaseDynamicWatermark
Parameters
stringListSource string list
strings[Output] Array of strings, memory owned by mip_cc_string_list object
count[Output] Number of strings
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The memory for 'strings' is owned by the mip_cc_string_list object, so it should not be freed independently
Parameters
telemetryConfigTelemetry configuration
hostNameHost name
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
This property is set when a client application uses the same Aria/1DS telemetry component and wishes for its internal telemetry settings (caching, logging, priority etc.) to be used instead of MIP's default settings
Parameters
telemetryConfigTelemetry configuration
libraryNameName of DLL that implements the Aria/1DS SDK's C API
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
This property is set when a client has an existing telemetry DLL that implements the Aria/1DS SDK's C API that should be used instead of mip_ClientTelemetry.dll
Parameters
telemetryConfigTelemetry configuration
httpDelegateHTTP callback instance implemented by client application
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If this property is not set, the telemetry component will use MIP's default HTTP stack
Parameters
telemetryConfigTelemetry configuration
taskDispatcherDelegateTask dispatcher callback instance implemented by client application
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
telemetryConfigTelemetry configuration
isCachingEnabledWhether or not the telemetry component is allowed ping network status on a background thread
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
Default is 'true'
Parameters
telemetryConfigTelemetry configuration
isCachingEnabledWhether or not the telemetry component is allowed to write caches to disk
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
Default is 'true'
Parameters
telemetryConfigTelemetry configuration
isTraceLoggingEnabledWhether or not the telemetry component is allowed to write logs to disk. These files can grow to be very large, and may require manual cleanup from the host application.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
Default is 'true'
Parameters
telemetryConfigTelemetry configuration
isMinimalTelemetryEnabledWhether or not an application/user has opted out of optional telemetry
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
Default is 'false'
Parameters
telemetryConfigTelemetry configuration
isFastShutdownEnabledWhether or not the telemetry fast shutdown is enabled
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
Default is 'false'
Parameters
telemetryConfigTelemetry configuration
customSettingsCustom telemetry settings
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
telemetryConfigTelemetry configuration
eventNameEvent name
propertyNameProperty name
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
actionAction
id[Output] Unique action ID
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add content footer" action
nameBuffer[Output] Buffer the UI element name will be copied into.
nameBufferSizeSize (in number of chars) of the nameBuffer.
actualNameSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If nameBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualNameSize will be set to the minimum required buffer size.
Parameters
action"add content footer" action
nameSize[Output] Size of buffer to hold text (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add content footer" action
textBuffer[Output] Buffer the text will be copied into.
textBufferSizeSize (in number of chars) of the textBuffer.
actualTextSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If textBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualTextSize will be set to the minimum required buffer size.
Parameters
action"add content footer" action
nameSize[Output] Size of buffer to hold font name (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add content footer" action
nameBuffer[Output] Buffer the font name will be copied into.
nameBufferSizeSize (in number of chars) of the nameBuffer.
actualNameSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If nameBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualNameSize will be set to the minimum required buffer size.
Parameters
action"add content footer" action
fontSize[Output] Font size
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add content footer" action
colorSize[Output] Size of buffer to hold font color (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add content footer" action
colorBuffer[Output] Buffer the font color will be copied into.
colorBufferSizeSize (in number of chars) of the colorBuffer.
actualColorSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If colorBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualColorSize will be set to the minimum required buffer size.
Parameters
action"add content footer" action
alignment[Output] Alignment
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add content footer" action
marginSize[Output] Margin size (in mm)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add content header" action
nameBuffer[Output] Buffer the UI element name will be copied into.
nameBufferSizeSize (in number of chars) of the nameBuffer.
actualNameSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If nameBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualNameSize will be set to the minimum required buffer size.
Parameters
action"add content header" action
nameSize[Output] Size of buffer to hold text (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add content header" action
textBuffer[Output] Buffer the text will be copied into.
textBufferSizeSize (in number of chars) of the textBuffer.
actualTextSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If textBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualTextSize will be set to the minimum required buffer size.
Parameters
action"add content header" action
nameSize[Output] Size of buffer to hold font name (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add content header" action
nameBuffer[Output] Buffer the font name will be copied into.
nameBufferSizeSize (in number of chars) of the nameBuffer.
actualNameSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If nameBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualNameSize will be set to the minimum required buffer size.
Parameters
action"add content header" action
fontSize[Output] Font size
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add content header" action
colorSize[Output] Size of buffer to hold font color (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add content header" action
colorBuffer[Output] Buffer the font color will be copied into.
colorBufferSizeSize (in number of chars) of the colorBuffer.
actualColorSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If colorBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualColorSize will be set to the minimum required buffer size.
Parameters
action"add content header" action
alignment[Output] Alignment
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add content header" action
marginSize[Output] Margin size (in mm)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add watermark" action
nameBuffer[Output] Buffer the UI element name will be copied into.
nameBufferSizeSize (in number of chars) of the nameBuffer.
actualNameSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If nameBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualNameSize will be set to the minimum required buffer size.
Parameters
action"add watermark" action
layout[Output] Watermark layout
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add watermark" action
textSize[Output] Size of buffer to hold text (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add watermark" action
textBuffer[Output] Buffer the text will be copied into.
textBufferSizeSize (in number of chars) of the textBuffer.
actualTextSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If textBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualTextSize will be set to the minimum required buffer size.
Parameters
action"add watermark" action
nameSize[Output] Size of buffer to hold font name (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add watermark" action
nameBuffer[Output] Buffer the font name will be copied into.
nameBufferSizeSize (in number of chars) of the nameBuffer.
actualNameSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If nameBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualNameSize will be set to the minimum required buffer size.
Parameters
action"add watermark" action
fontSize[Output] Font size
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add watermark" action
colorSize[Output] Size of buffer to hold font color (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"add watermark" action
colorBuffer[Output] Buffer the font color will be copied into.
colorBufferSizeSize (in number of chars) of the colorBuffer.
actualColorSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If colorBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualColorSize will be set to the minimum required buffer size.
Parameters
contentLabelLabel
assignmentMethod[Output] Assignment method (e.g. 'standard' or 'privileged')
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
contentLabelLabel
properties[Output] Dictionary of extended properties, memory owned by caller
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The 'properties' variable must be released by the caller by calling MIP_CC_ReleaseDictionary
Parameters
contentLabelLabel
isProtectionAppliedByLabel[Output] If document is protected and the protection was explicitly applied by this label.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
contentLabelLabel
label[Output] Generic label, memory owned by caller
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The 'label' variable must be released by the caller by calling MIP_CC_ReleaseLabel
Parameters
action"custom" action
nameBuffer[Output] Buffer the name will be copied into.
nameBufferSizeSize (in number of chars) of the nameBuffer.
actualNameSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If nameBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualNameSize will be set to the minimum required buffer size.
Parameters
action"custom" action
properties[Output] Dictionary of properties, memory owned by caller
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The 'properties' variable must be released by the caller by calling MIP_CC_ReleaseDictionary
Parameters
labelLabel
nameSize[Output] Size of buffer to hold name (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
labelLabel
nameBuffer[Output] Buffer the name will be copied into.
nameBufferSizeSize (in number of chars) of the nameBuffer.
actualNameSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If nameBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualNameSize will be set to the minimum required buffer size.
Parameters
labelLabel
descriptionSize[Output] Size of buffer to hold description (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
labelLabel
descriptionBuffer[Output] Buffer the description will be copied into.
descriptionBufferSizeSize (in number of chars) of the descriptionBuffer.
actualDescriptionSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If descriptionBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualDescriptionSize will be set to the minimum required buffer size.
Parameters
labelLabel
colorSize[Output] Size of buffer to hold color (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
labelLabel
colorBuffer[Output] Buffer the color will be copied into (in #RRGGBB format).
colorBufferSizeSize (in number of chars) of the colorBuffer.
actualColorSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If colorBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualColorSize will be set to the minimum required buffer size.

Higher value means more sensitive.

Parameters
labelLabel
sensitivity[Output] Sensitivity level
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
labelLabel
tooltipSize[Output] Size of buffer to hold tooltip (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
labelLabel
tooltipBuffer[Output] Buffer the tooltip will be copied into.
tooltipBufferSizeSize (in number of chars) of the tooltipBuffer.
actualTooltipSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If tooltipBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualTooltipSize will be set to the minimum required buffer size.
Parameters
labelLabel
isActive[Output] Whether or not a label is considered active.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
Only active labels can be applied. Inactivte labels cannot be applied and are used for display purposes only.
Parameters
labelLabel
parent[Output] Parent label, if any, else null
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
labelLabel
childrenSize[Output] Number of children
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
labelLabel
childrenBuffer[Output] Buffer the children labels will be copied into. Children labels are owned by the caller and must be released with MIP_CC_ReleaseLabel.
childrenBufferSizeSize (in number of labels) of the childrenBuffer.
actualChildrenSize[Output] Number of children labels written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If childrenBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualChildrenSize will be set to the minimum required buffer size
Parameters
labelLabel
settings[Output] Dictionary of settings, owned by the caller
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The 'settings' variable must be released by the caller by calling MIP_CC_ReleaseDictionary
Parameters
action"metadata" action
metadata[Output] list of metadata entries to add, memory owned by caller
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The 'metadata' variable must be released by the caller by calling MIP_CC_ReleaseDictionary
Removing metadata should be done before adding metadata
Parameters
dictionarySource dictionary
entries[Output] Array of metadata entries, memory owned by mip_cc_dictionary object
count[Output] Number of metadata entries
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The memory for 'entries' is owned by the mip_cc_dictionary object, so it should not be freed independently
Parameters
enginePolicy engine
idBuffer[Output] Buffer the id will be copied into.
idBufferSizeSize (in number of chars) of the idBuffer.
actualIdSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If idBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualIdSize will be set to the minimum required buffer size.
Parameters
enginePolicy engine
moreInfoUrlSize[Output] Size of client data (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
moreInfoUrlBuffer[Output] Buffer the client data will be copied into
moreInfoUrlBufferSizeSize (in number of chars) of moreInfoUrlBuffer.
actualMoreInfoUrlSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If moreInfoUrlBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualMoreInfoUrlSize will be set to the minimum required buffer size.
Parameters
enginePolicy engine
isLabelingRequired[Output] Whether or not policy dictates that a document must be labeled
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
isDowngradeJustificationRequired[Output] Whether or a justification for downgrade operations is required.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
policyFileIdSize[Output] Size of client data (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
policyFileIdBuffer[Output] Buffer the client data will be copied into
policyFileIdBufferSizeSize (in number of chars) of policyFileIdBuffer.
actualPolicyFileIdSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If policyFileIdBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualPolicyFileIdSize will be set to the minimum required buffer size.
Parameters
enginePolicy engine
sensitivityFileIdSize[Output] Size of client data (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
sensitivityFileIdBuffer[Output] Buffer the client data will be copied into
sensitivityFileIdBufferSizeSize (in number of chars) of sensitivityFileIdBuffer.
actualSensitivityFileIdSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If sensitivityFileIdBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualSensitivityFileIdSize will be set to the minimum required buffer size.
Parameters
enginePolicy engine
hasClassificationRules[Output] Whether or not policy has automatic or recommendation rules
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
lastPolicyFetchTime[Output] Time when the policy was last fetched (in seconds since epoch)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
labelsSize[Output] Number of labels
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
labelBuffer[Output] Buffer the labels will be copied into. Labels are owned by the client application and must be released with MIP_CC_ReleaseLabel.
labelBufferSizeSize (in number of labels) of the labelBuffer.
actualLabelsSize[Output] Number of labels written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If labelBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualLabelsSize will be set to the minimum required buffer size
Parameters
enginePolicy engine
labelIdLabel ID
label[Output] Sensitivity label. This value is owned by the caller and must be released with MIP_CC_ReleaseLabel.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
sensitivityTypesSize[Output] Number of sensitivity types
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
sensitivityTypeBuffer[Output] Buffer the sensitivity types will be copied into. Sensitivity types are owned by the caller and must be released with MIP_CC_ReleaseSensitivityType.
sensitivityTypeBufferSizeSize (in number of sensitivity types) of the sensitivityTypeBuffer.
actualSensitivityTypesSize[Output] Number of sensitivity types written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If sensitivityTypeBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualSensitivityTypesSize will be set to the minimum required buffer size
Parameters
enginePolicy engine
isAuditDiscoveryEnabledWhether or not audit discovery is enabled
handler[Output] Newly-created Policy Handler instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
levelLevel of the event: Info/Error/Warning
eventTypeA description of the type of event
eventDataThe data associated with the event
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
tenantIdSize[Output] Size of tenant ID (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
tenantIdBuffer[Output] Buffer the tenant ID will be copied into.
tenantIdBufferSizeSize (in number of chars) of the tenantIdBuffer.
actualTenantIdSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If tenantIdBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualTenantIdSize will be set to the minimum required buffer size.
Parameters
enginePolicy engine
xmlSize[Output] Size of policy data xml (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
xmlBuffer[Output] Buffer the xml will be copied into.
xmlBufferSizeSize (in number of chars) of the xmlBuffer.
actualXmlSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If xmlBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualXmlSize will be set to the minimum required buffer size.
Parameters
enginePolicy engine
clientDataSize[Output] Size of client data (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
clientDataBuffer[Output] Buffer the client data will be copied into
clientDataBufferSizeSize (in number of chars) of clientDataBuffer.
actualClientDataSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If clientDataBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualClientDataSize will be set to the minimum required buffer size.
Parameters
identityIdentity that will be associated with PolicyEngine
authCallbackCallback object to be used for authentication, implemented by client application
clientDataCustomizable client data that is stored alongside the engine
localeLocale in which text results will output
loadSensitivityTypesWhether or not sensitivity types data (for classification) should also be loaded
settings[Output] Newly-created settings instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
'loadSensitivityTypes' should be 'true' only if application expects to later call MIP_CC_PolicyEngine_GetSensitivityTypes. Otherwise, it should be false to avoid an unnecessary HTTP operation.
Parameters
engineIdID of existing cached engine
identity(Optional) Identity that will be associated with PolicyEngine
authCallbackCallback object to be used for authentication, implemented by client application
clientDataCustomizable client data that is stored alongside the engine
localeLocale in which text results will output
loadSensitivityTypesWhether or not sensitivity types data (for classification) should also be loaded
settings[Output] Newly-created settings instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
'loadSensitivityTypes' should be 'true' only if application expects to later call MIP_CC_PolicyEngine_GetSensitivityTypes. Otherwise, it should be false to avoid an unnecessary HTTP operation.
'identity' will only be used for new engines. If an engine with the specified engine id already exists in the local cache, the identity from the cached engine will be used instead.
Parameters
settingsEngine settings
customSettingsKey/value pairs of custom settings
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsEngine settings
sessionIdSession ID that represents the lifetime of a policy engine
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsEngine settings
cloudCloud identifier (default = Unknown)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If cloud is not specified, then it will default to global cloud.
Parameters
settingsEngine settings
cloudEndpointBaseUrlBase URL (e.g. 'https://dataservice.protection.outlook.com')
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
This value will only be read and must be set for Cloud = MIP_CLOUD_CUSTOM
Parameters
settingsEngine settings
delegatedUserEmailEmail address of delegated user
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
A delegated user is specified when the authenticating user/application is acting on behalf of another user
Parameters
settingsEngine settings
labelFilterenum representing type to configure
enabledTrue to enable, False to disable
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
enginePolicy engine
metadataVersion[Output] WXP metadata version.
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
handlerPolicy handler
documentStateDocument state
applicationStateApplication action state
contextApplication context opaquely forwarded to any callbacks
actionResult[Output] Actions that should be taken by application, memory owned by caller
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
The 'actionResult' variable must be released by the caller by calling MIP_CC_ReleaseActionResult
Parameters
handlerPolicy handler
documentStateDocument state
applicationStateApplication action state
contextApplication context opaquely forwarded to any callbacks
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
A call to this function is necessary to transmit complete label audit data.
Parameters
profileProfile
cloudAzure cloud
authCallbackAuthentication callback that will be invoked
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
MIP will not cache or do anything else with the value returned by the auth delegate. This function is recommended for applications that aren't "logged in" until after MIP requests an auth token. It allows an application to fetch a token before MIP actually requires one.
Parameters
settingsProfile settings
profile[Output] Newly-created policy profile instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
mipContextGlobal context shared across all profiles
cacheStorageTypeStorage cache configuration
reservedReserved for backwards compatibility - set to nullptr
settings[Output] Newly-created settings instance
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
settingsProfile settings
sessionIdSession ID that represents the lifetime of a policy profile
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"protect by adhoc policy with double key" action
urlBuffer[Output] Buffer the url will be copied into.
urlBufferSizeSize (in number of chars) of the urlBuffer.
actualUrlSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If urlBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualUrlSize will be set to the minimum required buffer size.
Parameters
action"protect by template" action
isDoubleKey[Output] Whether or not this is a double key template
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"protect by template" action
urlSize[Output] Size of buffer to hold the url (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
action"protect by template" action
urlBuffer[Output] Buffer the url will be copied into.
urlBufferSizeSize (in number of chars) of the urlBuffer.
actualUrlSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If urlBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualUrlSize will be set to the minimum required buffer size.
  • If the template action is not double key then MIP_RESULT_ERROR_NOT_SUPPORTED_OPERATION will be returned
Parameters
action"protect by dp not forward policy with double key" action
urlBuffer[Output] Buffer the url will be copied into.
urlBufferSizeSize (in number of chars) of the urlBuffer.
actualUrlSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If urlBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualUrlSize will be set to the minimum required buffer size.
Parameters
sensitivityTypeSensitivity type
idBuffer[Output] Buffer the ID will be copied into.
idBufferSizeSize (in number of chars) of the idBuffer.
actualIdSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If idBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualIdSize will be set to the minimum required buffer size.
Parameters
sensitivityTypeSensitivity type
rulePackageSize[Output] Size of buffer to hold rule package (in number of chars)
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Parameters
sensitivityTypeSensitivity type
rulePackageBuffer[Output] Buffer the rule package will be copied into.
rulePackageBufferSizeSize (in number of chars) of the rulePackageBuffer.
actualRulePackageSize[Output] Number of chars written to the buffer
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
If rulePackageBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and actualRulePackageSize will be set to the minimum required buffer size.

◆ MIP_CC_API() [2/2]

MIP_CC_API ( void )

Release resources associated with a dictionary.

Release resources associated with a policy profile settings.

Release resources associated with a policy engine settings.

Release resources associated with an task dispatcher delegate handle.

Release resources associated with a user roles list.

Release resources associated with a protection profile settings.

Release resources associated with a protection handler.

Release resources associated with a protection handler settings.

Release resources associated with a protection engine settings.

Releases a mip_cc_delegation_license object.

Releases a mip_cc_delegation_licenses object.

Release resources associated with an HTTP delegate handle.

Parameters
dictionaryDictionary to be released
httpDelegateHTTP delegate to be released
licensesThe mip_cc_delegation_licenses object to release
licenseThe mip_cc_delegation_license object to release
engineSettingsProtection engine settings to be released
settingsProtection handler settings to be released
handlerProtection handler to be released
settingsProtection profile settings to be released
userRightsListUser roles list to be released
taskDispatcherTask dispatcher delegate to be released
settingsPolicy engine settings to be released
settingsPolicy profile settings to be released

Variable Documentation

◆ count

mip_cc_metadata_entry int64_t * count

Definition at line 68 of file dictionary_cc.h.

◆ dictionary

const int64_t mip_cc_dictionary* dictionary

Definition at line 69 of file dictionary_cc.h.

◆ entries

mip_cc_kv_pair** entries

Definition at line 86 of file dictionary_cc.h.

◆ errorInfo

char const int64_t int64_t mip_cc_error * errorInfo

Definition at line 70 of file dictionary_cc.h.