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. 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: 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: -
The directory in which the DS-aware application is located -
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.) -
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. |