CCOW Error Handling
The CCOW Context Management Architecture defines a set of exceptions that components can raise. There is no provision in the current standard for context participant applications to throw exceptions.
All automation and dual interface methods in ActiveX implementation return 32-bit encoded HRESULT error values. In addition, the Microsoft-defined IErrorInfo and ISupportErrorInfo interfaces can provide additional error information including a textual description of the error and the GUID of the interface that threw the error.
The of CCOW Context Management Architecture defined HRESULTS values are listed in the table below:
Exception | Hexadecimal Value | Explanation |
---|---|---|
NotImplemented | 0x80004001L | Method not implemented. This is the same value as defined for the Win32 E_NOT_IMPL HRESULT. |
GeneralFailure | 0x80004005L | An error was detected or a failure occurred. This is the same value as defined for the Win32 E_FAIL HRESULT. |
ChangesNotEnded | 0x80000201L | Attempt to publish context changes before ending the context change transaction. |
InvalidContextCoupon | 0x80000203L | A context coupon does not match most recently committed coupon or current transaction coupon. |
GeneralFailure | 0x80000204L | A context coupon does not match most recently committed coupon or current transaction coupon. |
reserved | 0x80000205L | |
NameValueCountMismatch | 0x80000206L | A name array and its corresponding value array do not have the same number of elements. |
NotInTransaction | 0x80000207L | Attempt to perform a context management transaction method when a transaction is not in progress. |
TransactionInProgress | 0x80000209L | Attempt to perform a context management method when a transaction is in progress. |
UnknownItemName | 0x8000020AL | An item name not known. |
UnknownParticipant | 0x8000020BL | Participant coupon does not denote a known participant. |
TooManyParticipants | 0x8000020CL | Attempt to join a context that can't accommodate another participant. |
AcceptNotPossible | 0x8000020DL | Attempt to publish an “accept” decision but there were participants for which it was not possible to obtain a survey response (e.g., these participants were blocked). |
BadItemNameFormat | 0x8000020EL | An item name does not conform to format rules. |
BadItemType | 0x8000020FL | An item data type does not conform to data definition for the item. |
BadItemValue | 0x80000210L | An item value does not conform to the allowed set of values as defined by the data definition for the item. |
InvalidTransaction | 0x80000211L | A transaction has been invalidated and aborted because it violates one or more semantic integrity constraints. |
UndoNotPossible | 0x80000212L | Attempt to undo context changes after the transaction has ended. |
ChangesNotPossible | 0x80000213L | Attempt to set or delete context data after the transaction has ended. |
ChangesNotAllowed | 0x80000214L | Mapping agent attempts set or delete a context data item that has been set by the participant that instigated the transaction. |
AuthenticationFailed | 0x80000215L | A signature could not be authenticated. |
SignatureRequired | 0x80000216L | A signature is required to perform the method. |
UnknownApplication | 0x80000217L | An application name is not known. |
UnknownConnection | 0x80000218L | A connection is not known to the authentication repository. |
LogonNotFound | 0x80000219L | The desired user logon is not found in the authentication repository. |
UnknownDataFormat | 0x8000021AL | The format of user authentication data requested could not be found in the authentication repository. |
UnknownBindee | 0x8000021BL | A security binding coupon does not denote a known bindee. |
ImproperKeyFormat | 0x8000021CL | A public key is not properly formatted. |
BindingRejected | 0x8000021DL | The identity of a bindee could not be verified. |
ImproperMACFormat | 0x8000021EL | A message authentication code is not properly formatted. |
UnknownPropertyName | 0x8000021FL | A property name is not known. |
BadPropertyType | 0x80000220L | A property data type does not conform to specification. |
BadPropertyValue | 0x80000221L | A property data value does not conform to specification. |
AlreadyJoined | 0x80000222L | The application has already joined the context. |
ActionNotPossible | 0x80000223L | There is presently a context change transaction in progress or another action is being performed. |
ActionNotAllowed | 0x80000224L | Application attempts to set items other than for the context action to be performed. |
FilterNotSet | 0x80000225L | Application attempts to get the names of subjects that are being filtered on its behalf, but a filter is has not yet been set by the application |
ImproperSignatureFormat | 0x80000226L | A digital signature code is not properly formatted. |
ContextNotActive | 0x80000227L | A context manager does not represent an active session. |