Microsoft Information Protection (MIP) SDK for C: Reference 1.15
Doxygen-generated documentation for MIP SDK written in C
Loading...
Searching...
No Matches
policy_handler_cc.h
Go to the documentation of this file.
1/*
2*
3* Copyright (c) Microsoft Corporation.
4* All rights reserved.
5*
6* This code is licensed under the MIT License.
7*
8* Permission is hereby granted, free of charge, to any person obtaining a copy
9* of this software and associated documentation files(the "Software"), to deal
10* in the Software without restriction, including without limitation the rights
11* to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
12* copies of the Software, and to permit persons to whom the Software is
13* furnished to do so, subject to the following conditions :
14*
15* The above copyright notice and this permission notice shall be included in
16* all copies or substantial portions of the Software.
17*
18* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
21* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24* THE SOFTWARE.
25*
26*/
27/**
28* @brief Contains C API definitions for policy handler
29*
30* @file policy_handler_cc.h
31*/
32
33#ifndef API_MIP_UPE_POLICY_HANDLER_CC_H_
34#define API_MIP_UPE_POLICY_HANDLER_CC_H_
35
36#include <stdint.h>
37
39#include "mip_cc/error_cc.h"
40#include "mip_cc/result_cc.h"
45
47
48/**
49 * @brief Release resources associated with a policy handler
50 *
51 * @param handler Policy handler to release
52 */
53MIP_CC_API(void) MIP_CC_ReleasePolicyHandler(mip_cc_policy_handler handler);
54
55/**
56 * @brief Gets a document's current label
57 *
58 * @param handler Policy handler
59 * @param documentState Document state
60 * @param context Application context opaquely forwarded to any callbacks
61 * @param contentLabel Label currently applied to a document
62 * @param errorInfo [Output] (Optional) Failure info if operation result is error
63 *
64 * @return Result code indicating success or failure
65 */
66MIP_CC_API(mip_cc_result) MIP_CC_PolicyHandler_GetSensitivityLabel(
69 const void* context,
72
73/**
74 * @brief Executes policy rules based on the provided state and determines corresponding actions
75 *
76 * @param handler Policy handler
77 * @param documentState Document state
78 * @param applicationState Application action state
79 * @param context Application context opaquely forwarded to any callbacks
80 * @param actionResult [Output] Actions that should be taken by application, memory owned by caller
81 * @param errorInfo [Output] (Optional) Failure info if operation result is error
82 *
83 * @return Result code indicating success or failure
84 *
85 * @note The 'actionResult' variable must be released by the caller by calling MIP_CC_ReleaseActionResult
86 */
87MIP_CC_API(mip_cc_result) MIP_CC_PolicyHandler_ComputeActions(
91 const void* context,
94
95/**
96 * @brief Called by application after computed actions have been applied and data committed to disk
97 *
98 * @param handler Policy handler
99 * @param documentState Document state
100 * @param applicationState Application action state
101 * @param context Application context opaquely forwarded to any callbacks
102 * @param errorInfo [Output] (Optional) Failure info if operation result is error
103 *
104 * @return Result code indicating success or failure
105 *
106 * @note A call to this function is necessary to transmit complete label audit data.
107 */
108MIP_CC_API(mip_cc_result) MIP_CC_PolicyHandler_NotifyCommittedActions(
112 const void* context,
114
115#endif // API_MIP_UPE_POLICY_HANDLER_CC_H_
A file containing definition of action result type.
Describes application state when performing a label-related operation.
A file Containing the common types used by the upe, file and protection modules.
Contains C API definitions for content label.
Describes document state when performing a label-related operation.
Error definition and functions.
const mip_cc_document_state * documentState
const mip_cc_document_state const mip_cc_application_action_state * applicationState
MIP_CC_API(void) MIP_CC_ReleasePolicyHandler(mip_cc_policy_handler handler)
Release resources associated with a policy handler.
mip_cc_handle * mip_cc_policy_handler
const mip_cc_document_state const void * context
const mip_cc_document_state const mip_cc_application_action_state const void mip_cc_action_result * actionResult
const mip_cc_document_state const void mip_cc_content_label * contentLabel
const mip_cc_document_state const void mip_cc_content_label mip_cc_error * errorInfo
const mip_cc_protection_handler_publishing_settings const void mip_cc_protection_handler * handler
Defines success/error result codes.
mip_cc_result
API success/failure result.
Definition result_cc.h:44
Represents the current state of the application as it performs a label-related operation.
Represents the current state of a label-aware document.
Error information.
Definition error_cc.h:79
Opaque handle to MIP object.