Microsoft Information Protection (MIP) SDK for C++: Reference 1.15
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. 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. 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. 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. 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. 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};
@ NO_POLICY
No policy is configured for user/tenant.
@ LABEL_DISABLED
Label is disabled or inactive.
@ ADHOC_PROTECTION_REQUIRED
Adhoc protection should be set to complete the action on the file.
@ TEMPLATE_NOT_FOUND
Template ID is not recognized.
@ OPERATION_CANCELLED
Operation cancelled.
@ ACCESS_DENIED
The user could not get access to services.
@ PRIVILEGED_REQUIRED
Can't override privileged label when new label method is standard.
@ LICENSE_NOT_REGISTERED
License not registered for tracking and revocation.
@ NO_AUTH_TOKEN
The user could not get access to the content due to an empty auth token.
@ COUNT
Last element in this enum.
@ DISABLED_SERVICE
The user could not get access to the content due to the service being disabled.
@ FILE_IO_ERROR
General File IO error.
@ NETWORK_ERROR
General network issues; for example, unreachable service.
@ PROXY_AUTH_ERROR
Proxy authentication failed.
@ NO_PERMISSIONS
The user could not get access to the content.
@ LABEL_NOT_FOUND
Label ID is not recognized.
@ CONTENT_FORMAT_NOT_SUPPORTED
Content format is not supported.
@ CUSTOMER_KEY_UNAVAILABLE
Customer key not available when attempting to fetch for Bring Your Own Key Protection.
@ CONSENT_DENIED
An operation that required consent from user was not granted consent.
@ BAD_INPUT_ERROR
Caller passed bad input.
@ NOT_SUPPORTED_OPERATION
The requested operation is not yet supported.
@ JUSTIFICATION_REQUIRED
Justification should be provided to complete the action on the file.
@ INSUFFICIENT_BUFFER_ERROR
Caller passed a buffer that was too small.
@ DEPRECATED_API
Caller invoked a deprecated API.
@ DOUBLE_KEY_DISABLED
The double key feature has not been enabled.
@ TEMPLATE_ARCHIVED
Template has been archived and is unavailable for protection.
@ INTERNAL_ERROR
Internal unexpected errors.
@ DELEGATE_RESPONSE
Error generated from delegated response.