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

A file containing the MIP SDK error types. More...

#include <algorithm>
#include <exception>
#include <map>
#include <memory>
#include <sstream>
#include <stdexcept>
#include <string>
#include <vector>
#include "mip/common_types.h"
#include "mip/mip_namespace.h"
Include dependency graph for error.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  AccessDeniedError
 The user could not get access to the content. For example, no permissions, content revoked. More...
 
class  AdhocProtectionRequiredError
 Adhoc protection should be set to complete the action on the file. More...
 
class  BadInputError
 Bad input error, thrown when the input to an SDK API is invalid. More...
 
class  ConsentDeniedError
 An operation that required consent from user was not granted consent. More...
 
class  ContentFormatNotSupportedError
 Content Format is not supported. More...
 
class  CustomerKeyUnavailableError
 Bring your own encryption key needed and unavailable. More...
 
class  DelegateResponseError
 Delegate Response Error. Thrown or returned in response to encountering an error in a delegate method. More...
 
class  DeprecatedApiError
 Caller invoked a deprecated API. More...
 
class  Error
 Base class for all errors that will be reported (thrown or returned) from MIP SDK. More...
 
struct  ExtendedErrorInfo
 
class  FileIOError
 File IO error. More...
 
class  InsufficientBufferError
 Insufficient buffer error. More...
 
class  InternalError
 Internal error. This error is thrown when something unexpected happens during execution. More...
 
class  LabelDisabledError
 Label is disabled or inactive. More...
 
class  LabelNotFoundError
 Label ID is not recognized. More...
 
class  LicenseNotRegisteredError
 License is not registered. More...
 
class  NetworkError
 Networking error. Caused by unexpected behavior when making network calls to service endpoints. More...
 
class  NoAuthTokenError
 The user could not get access to the content due to missing authentication token. More...
 
class  NoPermissionsError
 The user could not get access to the content. For example, no permissions, content revoked. More...
 
class  NoPermissionsExtendedError
 The user could not get access to the content due to extended Access checks like ABAC. More...
 
class  NoPolicyError
 Tenant policy is not configured for classification/labels. More...
 
class  NotSupportedError
 The operation requested by the application is not supported by the SDK. More...
 
class  OperationCancelledError
 Operation was cancelled. More...
 
class  PrivilegedRequiredError
 Current label was assigned as a privileged operation (The equivalent to an administrator operation), therefore it can't be overriden. More...
 
class  ProxyAuthenticationError
 Proxy authentication failure. More...
 
class  ServiceDisabledError
 The user could not get access to the content due to a service being disabled. More...
 
class  TemplateArchivedError
 Template ID is archived and unavailable for protection. More...
 
class  TemplateNotFoundError
 Template ID is not recognized by RMS service. More...
 

Namespaces

namespace  anonymous_namespace{error.h}
 

Enumerations

enum class  ErrorType : unsigned int {
  BAD_INPUT_ERROR , INSUFFICIENT_BUFFER_ERROR , FILE_IO_ERROR , NETWORK_ERROR ,
  INTERNAL_ERROR , JUSTIFICATION_REQUIRED , NOT_SUPPORTED_OPERATION , PRIVILEGED_REQUIRED ,
  ACCESS_DENIED , CONSENT_DENIED , NO_PERMISSIONS , NO_AUTH_TOKEN ,
  DISABLED_SERVICE , PROXY_AUTH_ERROR , NO_POLICY , OPERATION_CANCELLED ,
  ADHOC_PROTECTION_REQUIRED , DEPRECATED_API , TEMPLATE_NOT_FOUND , LABEL_NOT_FOUND ,
  LABEL_DISABLED , DOUBLE_KEY_DISABLED , LICENSE_NOT_REGISTERED , CONTENT_FORMAT_NOT_SUPPORTED ,
  TEMPLATE_ARCHIVED , CUSTOMER_KEY_UNAVAILABLE , DELEGATE_RESPONSE , COUNT
}
 

Functions

constexpr const char * anonymous_namespace{error.h}::GetBadInputErrorString ()
 
constexpr const char * anonymous_namespace{error.h}::GetErrorInfoCodesKey ()
 
constexpr const char * anonymous_namespace{error.h}::GetErrorInfoDetailsKey ()
 
constexpr const char * anonymous_namespace{error.h}::GetErrorInfoMessagesKey ()
 
constexpr const char * anonymous_namespace{error.h}::GetHResultString ()
 
constexpr const char * anonymous_namespace{error.h}::GetNoPermissionsExtendedErrorName ()
 
constexpr const char * anonymous_namespace{error.h}::GetStackTraceString ()
 

Detailed Description

A file containing the MIP SDK error types.

Definition in file error.h.

Enumeration Type Documentation

◆ ErrorType

enum class ErrorType : unsigned int
strong
Enumerator
BAD_INPUT_ERROR 

Caller passed bad input.

INSUFFICIENT_BUFFER_ERROR 

Caller passed a buffer that was too small.

FILE_IO_ERROR 

General File IO error.

NETWORK_ERROR 

General network issues; for example, unreachable service.

INTERNAL_ERROR 

Internal unexpected errors.

JUSTIFICATION_REQUIRED 

Justification should be provided to complete the action on the file.

NOT_SUPPORTED_OPERATION 

The requested operation is not yet supported.

PRIVILEGED_REQUIRED 

Can't override privileged label when new label method is standard.

ACCESS_DENIED 

The user could not get access to services.

CONSENT_DENIED 

An operation that required consent from user was not granted consent.

NO_PERMISSIONS 

The user could not get access to the content. For example, no permissions, content revoked

NO_AUTH_TOKEN 

The user could not get access to the content due to an empty auth token.

DISABLED_SERVICE 

The user could not get access to the content due to the service being disabled

PROXY_AUTH_ERROR 

Proxy authentication failed.

NO_POLICY 

No policy is configured for user/tenant

OPERATION_CANCELLED 

Operation cancelled

ADHOC_PROTECTION_REQUIRED 

Adhoc protection should be set to complete the action on the file

DEPRECATED_API 

Caller invoked a deprecated API

TEMPLATE_NOT_FOUND 

Template ID is not recognized

LABEL_NOT_FOUND 

Label ID is not recognized

LABEL_DISABLED 

Label is disabled or inactive

DOUBLE_KEY_DISABLED 

The double key feature has not been enabled

LICENSE_NOT_REGISTERED 

License not registered for tracking and revocation

CONTENT_FORMAT_NOT_SUPPORTED 

Content format is not supported

TEMPLATE_ARCHIVED 

Template has been archived and is unavailable for protection

CUSTOMER_KEY_UNAVAILABLE 

Customer key not available when attempting to fetch for Bring Your Own Key Protection

DELEGATE_RESPONSE 

Error generated from delegated response

COUNT 

Last element in this enum. Used to keep track of the number of mip::ErrorTypes

Definition at line 74 of file error.h.

74 : unsigned int {
75 BAD_INPUT_ERROR, /**< Caller passed bad input. */
76 INSUFFICIENT_BUFFER_ERROR, /**< Caller passed a buffer that was too small. */
77 FILE_IO_ERROR, /**< General File IO error. */
78 NETWORK_ERROR, /**< General network issues; for example, unreachable service. */
79 INTERNAL_ERROR, /**< Internal unexpected errors. */
80 JUSTIFICATION_REQUIRED, /**< Justification should be provided to complete the action on the file. */
81 NOT_SUPPORTED_OPERATION, /**< The requested operation is not yet supported. */
82 PRIVILEGED_REQUIRED, /**< Can't override privileged label when new label method is standard. */
83 ACCESS_DENIED, /**< The user could not get access to services. */
84 CONSENT_DENIED, /**< An operation that required consent from user was not granted consent. */
85 NO_PERMISSIONS, /**< The user could not get access to the content. For example, no permissions, content revoked */
86 NO_AUTH_TOKEN, /**< The user could not get access to the content due to an empty auth token. */
87 DISABLED_SERVICE, /**< The user could not get access to the content due to the service being disabled */
88 PROXY_AUTH_ERROR, /**< Proxy authentication failed. */
89 NO_POLICY, /**< No policy is configured for user/tenant */
90 OPERATION_CANCELLED, /**< Operation cancelled */
91 ADHOC_PROTECTION_REQUIRED, /**< Adhoc protection should be set to complete the action on the file*/
92 DEPRECATED_API, /**< Caller invoked a deprecated API */
93 TEMPLATE_NOT_FOUND, /**< Template ID is not recognized */
94 LABEL_NOT_FOUND, /**< Label ID is not recognized */
95 LABEL_DISABLED, /**< Label is disabled or inactive */
96 DOUBLE_KEY_DISABLED, /**< The double key feature has not been enabled */
97 LICENSE_NOT_REGISTERED, /**< License not registered for tracking and revocation */
98 CONTENT_FORMAT_NOT_SUPPORTED, /**< Content format is not supported */
99 TEMPLATE_ARCHIVED, /**< Template has been archived and is unavailable for protection */
100 CUSTOMER_KEY_UNAVAILABLE, /**< Customer key not available when attempting to fetch for Bring Your Own Key Protection */
101 DELEGATE_RESPONSE, /**< Error generated from delegated response */
102 COUNT, /**< Last element in this enum. Used to keep track of the number of mip::ErrorTypes */
103};
@ ADHOC_PROTECTION_REQUIRED
@ TEMPLATE_NOT_FOUND
@ OPERATION_CANCELLED
@ PRIVILEGED_REQUIRED
@ LICENSE_NOT_REGISTERED
@ DISABLED_SERVICE
@ PROXY_AUTH_ERROR
@ CONTENT_FORMAT_NOT_SUPPORTED
@ CUSTOMER_KEY_UNAVAILABLE
@ NOT_SUPPORTED_OPERATION
@ JUSTIFICATION_REQUIRED
@ INSUFFICIENT_BUFFER_ERROR
@ DOUBLE_KEY_DISABLED
@ TEMPLATE_ARCHIVED
@ DELEGATE_RESPONSE