The three functions all return negative values if an error occurs. Also, an ISAM operation might fail if a problem arises attempting to use an extended key segment. A problem with an encoded file name might also produce an error. The following table describes the error codes related to extended key segments and Unicode file names.
Value |
Symbolic Constant |
Interpretation |
---|---|---|
694 |
NUNC_ERR |
Executable does not support ICU Unicode, but a UNCSEG modifier has been encountered. |
700 |
OSEG_ERR |
Could not process key segment definition. This could happen during a PutXtdKeySegmentDef() call or when a file is opened that includes an extended key segment definition. Ordinarily, the CTSTATUS.FCS file will contain additional information about the problem. |
701 |
CSEG_ERR |
Could not process the kseg_comp options. This could occur if more than one of a set of mutually exclusive options are combined. |
702 |
ASEG_ERR |
An error occurred when attempting to process one of the special attribute options. |
703 |
HSEG_ERR |
Invalid key segment handle in a call to TransformXtdSegment() or in a call to GetXtdKeySegmentDef() when the ctKSEGhandle option is used and the segno parameter should be set to a valid extended key segment handle. |
704 |
SSEG_ERR |
No source type provided when kseg_styp has been set to ctKSEG_STYP_PROVIDED. If this error occurs, it is likely to occur during the first use (say with an AddRecord() or AddVRecord() or OpenIFile()) of the extended key segment. |
705 |
DSEG_ERR |
An extended key segment definition already exists at the level implied by the PutXtdKeySegmentDef() call. |
706 |
NSEG_ERR |
Zero bytes of binary sort key were generated. Possibly an all NULL source. |
707 |
USEG_ERR |
There is no extended key segment definition to use. |
708 |
MBSP_ERR |
Multibyte/Unicode file names are not supported. |
709 |
MBNM_ERR |
A badly formed multibyte/Unicode file name has been encountered. |
710 |
MBFM_ERR |
A multibyte/Unicode variant is not supported (e.g., UTF32) |
The following table contains explanations of existing error codes used in this context.
Value |
Symbolic Constant |
Interpretation |
---|---|---|
62 |
LERR_ERR |
PutXtdKeySegmentDef() called for a data or index file requires the file to be opened exclusively. (Remember, a just created file is in exclusive mode, regardless of the specified file mode, until it is closed and re-opened.) |
437 |
DADR_ERR |
NULL pkdef argument in PutXtdKeySegmentDef() or GetXtdKeySegmentDef(). |
445 |
SDAT_ERR |
No source data to create key segment. |
446 |
BMOD_ERR |
Improper filno or segno values in calls to PutXtdKeySegmentDef() or GetXtdKeySegmentDef(). TransformXtdSegment() causes a BMOD_ERR if the handle references an extended key segment definition not supported by the executable. |
589 |
LADM_ERR |
Member of non-ADMIN group called PutXtdKeySegmentDef() for a Server default (i.e., ctKSEGserver). |