DS Client API Library Error Codes

     

Error codes -301 through -399 are errors returned by DS client API library functions. For example, when an application makes a call to an API function using an invalid object name (such as CN=Test.O=ABC.O=TopLevel ) a -314 error (invalid object name) will be returned because one Organization object is inside another Organization object, which is not allowed by the schema containment rules.

As with the DS operating system errors, you normally do not come across these client API DS error codes because the applications should have trapped them and taken appropriate action; however, if the application fails to trap the error, you might encounter these error codes. Sometimes, the error code is shown as part of the error message displayed by the application. For example, the NetWare Administrator application ( nwadmn32.exe ) displays error messages as shown in Figure 5.1.

Figure 5.1. A sample NetWare Administrator error dialog box.
graphics/05fig01.gif

In Figure 5.1, the ID number (945) is the index of the text message in the System Message Help file, and the number following the error code (35327) is a reference number that is strictly for Novell's internal use.

NOTE

In general, the error codes listed in this section are of more interest to programmers writing DS -aware applications than they are to network administrators.


Table 5.2 lists some common DS client API library error codes. You can find a complete list of all the DS client API library errors in Appendix A.

Table 5.2. Common DS Client API Library Error Codes

DECIMAL

HEXIDECIMAL

CONSTANT

-301

0xFFFFFED3

ERR_NOT_ENOUGH_MEMORY

-302

0xFFFFFED2

ERR_BAD_KEY

-318

0xFFFFFEC2

ERR_COUNTRY_NAME_TOO_LONG

-319

0xFFFFFEC1

ERR_SYSTEM_ERROR

-320

0xFFFFFEC0

ERR_CANT_ADD_ROOT

-321

0xFFFFFEBF

ERR_UNABLE_TO_ATTACH

-338

0xFFFFFEAE

ERR_INVALID_PASSWORD_CHARS

-339

0xFFFFFEAD

ERR_FAILED_SERVER_AUTHENT

-345

0xFFFFFEA7

ERR_INVALID_DS_VERSION

-346

0xFFFFFEA6

ERR_UNICODE_TRANSLATION

-347

0xFFFFFEA5

ERR_SCHEMA_NAME_TOO_LONG

-348

0xFFFFFEA4

ERR_UNICODE_FILE_NOT_FOUND


Error -301 means the application is unable to allocate memory. This suggests that the client (workstation) may be low on memory or that the application has repeatedly allocated buffers and failed to release them (memory leak). Therefore, if you still receive this error code after closing all other applications running on the client, there's a good chance the application has a memory leak and you need to contact the vendor for an update.

Error -348 means the application can't locate the required Unicode file or files. This error can be due to one of two reasons. The first reason is that, because DS stores all characters using Unicode representation, DS-aware applications need access to country-code and code-page specific Unicode files. Often, a programmer may hard-code the country-code information into the software (typically country code 001 and code page 437, for the United States). When you try to run such an application on a workstation that's configured for, say, German, it may fail with error -348 because the necessary Unicode files may not have been installed. In North America, these are a workstation's default country settings:

  • Country code = 001 (United States)

  • Code page = 437 (United States)

These Unicode files are needed:

UNI_437.001

UNI_COL.001

UNI_MON.001

437_UNI.001

If you set the code page to 850 instead of 437 (the default), these required Unicode files are needed:

UNI_850.001

UNI_COL.001

UNI_MON.001

850_UNI.001

Sometimes even when the programmer retrieves the country information during runtime, you may still encounter the -348 error. It is important to realize that different operating system platforms use different code pages, even if the country code is the same. For example, the default DOS country setting in North America is country code 001 and code page 850; however, the default Windows NT/2000 North America country setting (for the Windows 32-bit GUI environment) is country code 001 and code page 1252. As a result, if you try to run a DOS-based DS-aware application in the command prompt box on Windows NT/2000, you might receive the -348 error because the Unicode files for code page 850 are not found.

The second reason that error code -348 might occur is that DS-aware applications search for Unicode files in the following locations, in the order listed:

  1. The directory in which the DS-aware application is located

  2. The NLS directory directly under the directory in which the DS-aware application resides (This is why you have NLS directories in LOGIN and PUBLIC on the NetWare server.)

  3. Your search drives or paths

For example, if the application is installed on a NetWare server in SYS:NDSAPP , the application looks, in the following order, at SYS:NDSAPPS , SYS:NDSAPPS\NLS , and your search drives. Therefore, you have to ensure that the Unicode files can be found in one of these locations.



Novell's Guide to Troubleshooting eDirectory
Novells Guide to Troubleshooting eDirectory
ISBN: 0789731460
EAN: 2147483647
Year: 2003
Pages: 173

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net