ASN.1-specific Status Messages

The following table describes status messages that may arise during the course of encoding or decoding an ASN.1 message. The errors below indicate that while the system was able to read the data successfully, it was unable to decode it properly.

Error Code Error Name Description
2 ASN_OK_FRAG Fragment decode success status. This is returned when decoding is successful but only a fragment of the item was decoded. User should repeat the decode operation in order to fully decode message.
-100 ASN_E_BASE Error base. ASN.1 specific errors start at this base number to distinguish them from common and other error types.
-100 ASN_E_INVOBJID Invalid object identifier. This error code is returned when an object identifier is encountered that is not valid. Possible reasons for being invalid include invalid first and second arc identifiers (first must be 0, 1, or 2; second must be less than 40), not enough subidentifier values (must be 2 or more), or too many arc values (maximum number is 128).
-101 ASN_E_INVLEN Invalid length. This error code is returned when a length value is parsed that is not consistent with other lengths in a BER or DER message. This typically happens when an inner length within a constructed type is larger than the outer length value.
-102 ASN_E_BADTAG Bad tag value. This error code is returned when a tag value is parsed with an identifier code that is too large to fit in a 32-bit integer variable.
-103 ASN_E_INVBINS Invalid binary string. This error code is returned when decoding XER data and a bit string value is received that contains something other than '1' or '0' characters.
-104 ASN_E_INVINDEX Invalid table constraint index. This error code is returned when a value is provided to index into a table and the value does not match any of the defined indexes.
-105 ASN_E_INVTCVAL Invalid table constraint value. This error code is returned when a the value for an element in a table-constrained message instance does not match the value for the element defined in the table.
-106 ASN_E_CONCMODF Concurrent list modification error. This error is returned from within a list iterator when it is detected that the list was modified outside the control of the iterator.
-107 ASN_E_ILLSTATE Illegal state for operation. This error is returned in places where an operation is attempted but the object is not in a state that would allow the operation to be completed. One example is in a list iterator class when an attempt is made to remove a node but the node does not exist.
-108 ASN_E_NOTPDU This error is returned when a control class Encode or Decode method is called on a non-PDU. Only PDUs have implementations of these methods.
-109 ASN_E_UNDEFTYP Element type could not be resolved at run-time. This error is returned when the run-time parser module is used (Asn1RTProd) to decode a type at run-time and the type of the element could not be resolved.
-110 ASN_E_INVPERENC Invalid PER encoding. This occurs when a given element within an ASN.1 specification is configured to have an expected PER encoding and the decoded value does not match this encoding.
-111 ASN_E_NOTINSEQ Element not in sequence. This occurs when an element is parsed within a SEQUENCE but is found to not match any of the elements defined for that SEQUENCE.
-112 ASN_E_BAD_ALIGN Encoding has bad alignment. This occurs when an encoding is expected to align with a byte boundary and does not. It may happen with reference to the start of the message or with reference to the start of a length-constrained container. Typically this means some bit string element has too few bits, where the encoding of that element is supposed to end the encoding (which means padding cannot be used to acheive the desired alignment).
-113 ASN_E_UNKNOWNPDU Unknown PDU type. This error occurs in interpreted BER decoders when the PDU type for the message can't be automatically determined. The user in this case must manually specify the PDU type by some external means. For example, if the application has a command-line interface, it may have a '-pdu' option for specifying the PDU type.