Microsoft Information Protection (MIP) SDK for C: Reference 1.15
Doxygen-generated documentation for MIP SDK written in C
Loading...
Searching...
No Matches
delegation_license_cc.h File Reference
+ Include dependency graph for delegation_license_cc.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef mip_cc_handlemip_cc_delegation_license
 Handle to a DelegationLicense object.
 
typedef mip_cc_handlemip_cc_delegation_license_settings
 Handle to a DelegationLicenseSettings object.
 
typedef mip_cc_handlemip_cc_delegation_licenses
 Handle to a collection of mip_cc_delegation_license objects.
 

Functions

 MIP_CC_API (mip_cc_result) MIP_CC_CreateDelegationLicenseSettings(const mip_cc_mip_context mipContext
 Creates the settings required for generating delegation licenses and end-user licenses.
 
 MIP_CC_API (void) MIP_CC_ReleaseDelegationLicenseSettings(mip_cc_delegation_license_settings licenses)
 Releases a mip_cc_delegation_license_settings object.
 

Variables

const uint8_t int32_t mip_cc_string_list bool acquireEndUserLicenses
 
mip_cc_delegation_license int32_t * count
 
mip_cc_delegation_licensedelegationLicenseArray
 
const uint8_t int32_t mip_cc_string_list bool mip_cc_delegation_license_settingsdelegationLicenseSettings
 
mip_cc_dynamic_watermarkdynamicWatermark
 
const uint8_t int32_t mip_cc_string_list bool mip_cc_delegation_license_settings mip_cc_errorerrorInfo
 
const mip_cc_pre_license_format format
 
const uint8_t int32_t publishingLicenseBufferSize
 
uint8_t * serializedLicense
 
uint8_t int32_t * serializedLicenseSize
 
const uint8_t * serializedPublishingLicense
 
const char ** user
 
const uint8_t int32_t mip_cc_string_list users
 

Typedef Documentation

◆ mip_cc_delegation_license

Handle to a DelegationLicense object.

Definition at line 47 of file delegation_license_cc.h.

◆ mip_cc_delegation_license_settings

Handle to a DelegationLicenseSettings object.

Definition at line 52 of file delegation_license_cc.h.

◆ mip_cc_delegation_licenses

Handle to a collection of mip_cc_delegation_license objects.

Definition at line 57 of file delegation_license_cc.h.

Function Documentation

◆ MIP_CC_API() [1/2]

MIP_CC_API ( mip_cc_result ) const

Creates the settings required for generating delegation licenses and end-user licenses.

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.

Parameters
mipContextGlobal context shared across all profiles
serializedPublishingLicenseBuffer containing raw publishing license
publishingLicenseBufferSizeSize of publishing license buffer
usersList of users to obtain licenses on behalf of
acquireEndUserLicensesSet to 'true' to obtain end-user licenses that are encrypted using end-user keys
delegationLicenseSettings[Output] Handle to the new delegation license settings object
errorInfo[Output] (Optional) Failure info if operation result is error
Returns
Result code indicating success or failure
Note
To avoid memory leaks, delegationLicenseSettings must be released using MIP_CC_ReleaseDelegationLicenseSettings.
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.

◆ MIP_CC_API() [2/2]

MIP_CC_API ( void )

Releases a mip_cc_delegation_license_settings object.

Releases a mip_cc_delegation_license object.

Releases a mip_cc_delegation_licenses object.

Parameters
licensesThe mip_cc_delegation_license_settings object to release
licensesThe mip_cc_delegation_licenses object to release
licenseThe mip_cc_delegation_license object to release

Variable Documentation

◆ acquireEndUserLicenses

const uint8_t int32_t mip_cc_string_list bool acquireEndUserLicenses

Definition at line 79 of file delegation_license_cc.h.

◆ count

mip_cc_delegation_license int32_t* count

Definition at line 113 of file delegation_license_cc.h.

◆ delegationLicenseArray

mip_cc_delegation_license* delegationLicenseArray

Definition at line 112 of file delegation_license_cc.h.

◆ delegationLicenseSettings

const uint8_t int32_t mip_cc_string_list bool mip_cc_delegation_license_settings* delegationLicenseSettings

Definition at line 80 of file delegation_license_cc.h.

◆ dynamicWatermark

mip_cc_dynamic_watermark* dynamicWatermark

Definition at line 130 of file delegation_license_cc.h.

◆ errorInfo

const char mip_cc_error* errorInfo

Definition at line 81 of file delegation_license_cc.h.

◆ format

Definition at line 223 of file delegation_license_cc.h.

◆ publishingLicenseBufferSize

uint8_t const int64_t publishingLicenseBufferSize

Definition at line 77 of file delegation_license_cc.h.

◆ serializedLicense

const mip_cc_pre_license_format uint8_t * serializedLicense

Definition at line 171 of file delegation_license_cc.h.

◆ serializedLicenseSize

const mip_cc_pre_license_format uint8_t int32_t * serializedLicenseSize

Definition at line 172 of file delegation_license_cc.h.

◆ serializedPublishingLicense

const uint8_t* serializedPublishingLicense

Definition at line 76 of file delegation_license_cc.h.

◆ user

const char** user

Definition at line 243 of file delegation_license_cc.h.

◆ users

uint32_t mip_cc_string_list * users

Definition at line 78 of file delegation_license_cc.h.