Novell is now a part of Micro Focus

Developer Pointers

Articles and Tips: article

01 Feb 1997


Novell Technical Information Documents

All of the Technical Information Documents (TIDs) discussed below are available at the following locations:

  • The Novell Technical Solutions Database on CompuServe (GO NTID)

  • The DeveloperNet Support World Wide Web site http://devsup.novell.com

  • The DeveloperNet Support Bulletin Board (801-861-5836)

Client SDK/Win32

NLS (Licensing) and Win 95 Client 32 Assert


Author:

BR

Document ID:

TID100876

Document revision:

A

Date:

09/24/96 1:25 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

INLSB001.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

Client SDK - WIN32

Abstract

In different scenarios, when adding or removing an NLS license certificate from a Windows 95 client running the NetWare Client 32, the following error occurs:

Expression assertAcross==0, File w95req.c, Line98.

The NetWare Client 32 in each case was the official February 1996 release.

Detailed Description

Symptom

In different scenarios, when adding or removing an NLS license certificate from a Windows 95 client running NetWare Client 32 the following error occurs:

Expression assertAcross==0, File w95req.c, Line98.

The NetWare Client 32 in each case was the official February 1996 release. The following scenarios were reported to trigger the assertion:

  • NWADMN3x on Green River SDK 8 Developer Beta build: Tools-Install license-Install license certificate file

  • NWADMN3x on Green River 8/14 build: Tools-Install license-Install license certificate file

  • The API NLSAddProductInformation() on NetWare 4.10

  • The API NLSDeleteCertificate on a double-byte Green River Chinese Server

Solution

The problem doesn't manifest itself in the current NetWare Client 32 for Green River. As of this writing, it is in beta release and can be downloaded from the the following Internet site:

http://support.novell.com/home/pubbeta/nw411/whatsnew.htm

Also, as of this writing, Novell Technical Services has a new uninstall for NetWare Client 32 on their BBS at (801) 373-6999.

File Information

Self-Extracting File Name: INLSB001.EXE


Files Included:

Size

Date

Time

INLSB001.TXT

(this file)

Borland C++ 4.5 and MS VC++ 4.0


Author:

HH

Document ID:

TID100790

Document revision:

A

Date:

09/4/96 11:19 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

BCMSAPPS.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

Client SDK - WIN32

Abstract

Some applications may behave differently depending on whether they are compiled using BC 4.5 or MS VC++ 4.0.

File Information

Self-Extracting File Name: BCMSAPPS.EXE


Files Included:

Size

Date

Time

BCMSAPPS.TXT

(this file)

BCMSAPPS.WPD

755

9-3-96

3:21 PM

.INC Files for NWSDK Will Be in Release 8


Document ID:

TID100531

Document revision:

A

Date:

06/12/96 3:26 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

IPASINC.EXE

Novell product class:

NetWare API

Novell product and version:

NetWare SDK 1.0e

Category:

Client SDK - WIN32

Abstract

The header files (.inc) for Delphi Pascal support for NWSDK is missing in release 7. It is in release 8 under the directory path NWSDK\INCLUDE\DELPHI.

File Information

Self-Extracting File Name: IPASINC.EXE


Files Included:

Size

Date

Time

INCTID~1.TXT

153

06-12-96

3:22 PM

IPASINC.TXT

(this file)

Btrieve and Client32


Author:

WS

Document ID:

TID101019

Document revision:

A

Date:

11/13/96 9:20 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

BTRCL32.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

Client SDK - WIN32

Abstract

Q: Is the Btrieve requester compatible with Client32?

A: Pervasive Software (formerly BTI) currently supports Client32 only under Win95 workstations, not under NT. It has been tested under the latest patch on the Btrieve for NetWare server only, which is the 6.15.430.

File Information

Self-Extracting File Name: BTRCL32.EXE


Files Included:

Size

Date

Time

BTRCL32.TXT

(this file)

NDS Start


Document ID:

TID100514

Document revision:

A

Date:

06/03/96 7:27 AM

Alert status:

Yellow

Information:

Issue

Readme for:

NDS95.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

Client SDK - WIN32

Abstract

This program demonstrates the most used NDS functions and some of the new Connection Services APIs (NWCC...). It was tested under Win95 and DOS. Attached is an .ide file for Borland C++ 5.0 to make a Win95 program , and a .prj file to be run with Borland C 3.1 on dos

The following operations are implemented:

  • Create and retrieve context information

  • NDS login and logout

  • Search and List

  • Create User

  • Read all attributes and values of a given object

  • Demonstrate some of the new NWCC APIs

File Information

Self-Extracting File Name: NDS95.EXE


Files Included:

Size

Date

Time

NDSSTART.ZIP

62271

06-03-96

3:09 pm

NDS95.TXT

(this file)

NWSipxGetMaxTsduSize Returned -1 on NT


Author:

MM

Document ID:

TID100730

Document revision:

A

Date:

08/20/96 2:05 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

IMAXTSDU.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

Client SDK - WIN32

Abstract

NWSipxGetMaxTsduSize, which is supposed to return the maximum packet size for a connection oriented message, returned FFFFFFFF code on NT. This is because the current implementation allows users to set the packet size as large as they want.

Detailed Description

NWSipxGetMaxTsduSize, which is supposed to return the maximum packet size for a connection oriented message, returned FFFFFFFF on NT. This is because the current implementation allows the user to set the packet size as large as they want. On Win95, it will return 534 because 534 is the limit if it goes through a router. If it doesn't go through a router, the max is the physical limit of the wire. However, the current API doesn't return the information whether a router is involved or not. So, currently, if the application has to work on both platform, developers should set a preferred limit in their application, and if the returned value of NWSipxGetMaxTsduSize returned a number greater than the preferred limit, the buffer should be set at the preferred maximum. Win95 implementation will probably be changed in the near future as well.

File Information

Self-Extracting File Name: IMAXTSDU.EXE


Files Included:

Size

Date

Time

IMAXTSDU.TXT

(this file)

GroupWare

Invalid Page Fault - MSVCRT20.DLL


Author:

MA

Document ID:

TID100990

Document revision:

A

Date:

10/29/96 9:59 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

GW5DMA00.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

General Business

Abstract

Calling MAPI send document to send attachments to GroupWise produces the error message: Invalid page fault in module MSVCRT20.DLL". The mail message and attachment will usually still arrive at the GroupWise data store.

Detailed Description

Calling MAPI send document to send attachments to GroupWise produces the error message: "Invalid page fault in module MSVCRT20.DLL". The mail message and attachment will usually still arrive at the GroupWise data store in spite of the message.

This problem is caused by a bug in the Microsoft messaging system. Microsoft has an update for its Windows messaging system on its Web site. Go to http://www.microsoft.com and search for:

"Microsoft Exchange Update for Windows 95"

The file name is "exupdusa.exe".

File Information

Self-Extracting File Name: GW5DMA00.EXE


Files Included:

Size

Date

Time

GW5DMA00.TXT

(this file)

Page Fault Processor Exception Error


Author:

MA

Document ID:

TID100867

Document revision:

A

Date:

09/18/96 5:04 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

GW5DOT00.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

GroupWare

Abstract

Customer receives Page Fault Processor Exception errors when attempting to start the GroupWise Post Office Agent.

Detailed Description

Customer was testing CMC/CSA on GW5 Beta 5 and found that while sending multiple messages to the server, the server was turned off. When the server was restarted and the customer attempted to LOAD GWPOA, he received PAGE FAULT PROCESSOR EXCEPTION errors. After rebooting several times, he noticed that the message included a number indicating unprocessed messages and each time he rebooted, this number was lower. After rebooting several times, he was successful at loading the GWPOA.

File Information

Self-Extracting File Name: GW5DOT00.EXE


Files Included:

Size

Date

Time

GW5DOT00.TXT

(this file)

NLM API Gateway Looping Problem


Author:

HM

Document ID:

TID100715

Document revision:

A

Date:

08/12/96 11:46 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

GW41LOOP.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

GroupWare

Abstract

NLM API Gateway looping problem

Detailed Description

Symptoms

When a customer uses the 4.1 NLM API Gateway with the Keyword "msg-action=import-inoutbox" and also uses a Domain "hop" in the From field, then the OFS NLM will get in an endless loop. This endless loop will generate hundreds of outbox messages for the sender until either the server runs out of disk space or the OFS NLM is unloaded and the offending file (found in the <PO<\WPCSOUT\OFS\x directory) is deleted.

Solutions

Unload the OFS NLM and delete the offending file, which is found in the <PO<\WPCSOUT\OFS\x directory. Don't use hops in the TO or FROM fields (e.g., domain.po:senderDomain.senderPO.senderUserID). Bug # 17824 has been created for this problem.

Software Configuration

Netware 4.1; GroupWise 4.1a; 4.1c NLMs

File Information

Self-Extracting File Name: GW41LOOP.EXE


Files Included:

Size

Date

Time

GW41LOOP.TXT

(this file)

GW 5 Display Name Format Preferences


Author:

RL

Document ID:

TID100859

Document revision:

A

Date:

09/16/96 3:43 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

GW5DOB01.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

GroupWare

Abstract

In GW 5, you can have the display name object appear as "First Last" or "Last, First" from the AddressBook information screen.

Developers may want to know the preferences for this entry. See the detailed description files for more information.

Detailed Description

How GroupWise Updates the Display Name

When the user changes this format from the client, GroupWise will change all the Display Names for each personal AddressBook entry. The System AddressBook doesn't get updated because the Display Name is generated dynamically from the First and Last names.

The preferences for this Display Name format are stored as the following Reg Entry:

[HKEY_CURRENT_USER\Software\NOVELL\Groupwise\Address Book - User Interface]

"Display Name Format"="F L"

The above entry is for Firstname Lastname;

The entry would be

"Display Name Format"="L, F"

for Lastname, Firstname.

File Information

Self-Extracting File Name: GW5DOB01.EXE


Files Included:

Size

Date

Time

GW5DOB01.TXT

(this file)

How To Set Up the API Gateway with GroupWise 5


Author:

HM

Document ID:

TID100930

Document revision:

A

Date:

10/7/96 1:54 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

GW5DGA01.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

GroupWare

Abstract

How to set up the API Gateway with GroupWise 5 in three easy steps.

Detailed Description

Set up the API Gateway with GroupWise 5 as follows (the order of events is important):

  1. Install the API Gateway.

    1. Copy the API Gateway install software to the server.

    2. At the server console, type Load [volume]:\<directory name<\pinstall (e.g., load sys:\system\apinlm\pinstall).

    3. Fill out the install questions and start the install process.

  2. Create the API Gateway object in NWAdmin3x (NetWare Administrator for Windows)

    1. Right click on the GroupWise domain and choose "create."

    2. Select "GroupWise Gateway" and click "OK."

    3. Do the following at the Create GroupWise Gateway dialog box:

      • fill in the Gateway name

      • choose the Gateway Home Directory

      • change Version to 5.x

      • click on "Define additional properties"

      • click on "create"

    4. *Change the "Platform" from "Unknown" to "NetWare Loadable Module".

    5. *Click on the "Required Parameters" tab and change the drive letters to Server/volume (e.g., dev/sys:\gw50\dom\wpgate\async). Note: Do NOT use UNC paths.

    6. Change any other values on the other tabs as needed then click "OK".

  3. .Load the API Gateway.

    1. Edit ngwapi.prm in the system directory with a DOS editor.

    2. Change the /home switch to the correct paths (e.g., /home-dev/sys:\gw50\domain\wpgate\api41) and save your changes.

    3. At the server console, type Load ngwapi @ngwapi.prm

* If you miss the steps above that have an astericks next to them then the API Gateway NLM will say (at the bottom of the screen) that it is terminating (almost immediately after it has been loaded).

File Information

Self-Extracting File Name: GW5DGA01.EXE


Files Included:

Size

Date

Time

GW5DGA01.TXT

(this file)

CMC Frequently Asked Questions


Author:

MA

Document ID:

TID100843

Document revision:

A

Date:

09/11/96 8:46 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

GW5DCS00.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

GroupWare

Abstract

Frequently asked questions for CMC.

Detailed Description

Q: Does the GroupWise implementation of CMC support additional message types (message types defined by the user)?

A: No.

Q: What about a FAX message type?

A: Yes -> BLT:FAX.

Q: Does CMC allow simultaneous logons? (i.e. Can users be logged on over the telephone at the same time they are logged on on their desktop client?)

A: Yes.

Q: Is there a 16-bit implementation of CMC, or only 32-bit?

A: CMC is a 32-bit server.

Q: What sort of performance can we expect from CMC?

A: Binary threads are handled in parallel, therefore, it depends on the speed of the machine, memory, etc.

File Information

Self-Extracting File Name: GW5DCS00.EXE


Files Included:

Size

Date

Time

GW5DCS00.TXT

(this file)

Organization Not Shown on Information Window


Author:

MA

Document ID:

TID101043

Document revision:

A

Date:

11/20/96 8:26 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

GW5DOB03.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

GroupWare

Abstract

Using the Object API, I set the Organization field to a given value. Then I go to the GroupWise Address Book that ships with GroupWise and the Organization field appears fine, but when I bring up the user's Information windows, the Organization field is not filled in.

Detailed Description

The Organization field is handled differently in the Address Book that ships with GroupWise than in the Object API. The Organization field on the Information screen in the Address Book is a link to another record, not the value itself. We have no concept of that in the Object API.

This is why the Organization field on the Information screen doesn't display the value you set. This is an issue that will be revisited for future releases of the Object API, but for now it is working as designed.

File Information

Self-Extracting File Name: GW5DOB03.EXE


Files Included:

Size

Date

Time

GW5DOB03.TXT

(this file)

Unable To Open GroupWare Books in DynaText


Document ID:

TID100534

Document revision:

A

Date:

06/12/96 9:07 am

Alert status:

Yellow

Information type:

Issue

Readme for:

DYNENV01.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

GroupWare

Abstract

Trying to open GroupWare SDK books inside DynaText will fail if Envoy is improperly installed. Launching Envoy manually the first time should remedy this problem.

File Information

Self-Extracting File Name: DYNENV01.EXE


Files Included:

Size

Date

Time

DYNENV1.TXT

817

06-12-96

9:05 am

DYNENV01.TXT

(this file)

SMS

Migrated Data under SMS


Author:

DJ

Document ID:

TID100722

Document revision:

A

Date:

08/15/96 2:20 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

MIGR001.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

SMS

Abstract

Migrated data refers to files that have been moved to high-capacity storage devices, such as magneto-optical disks. This TID addresses how Storage Management Services handles migrated files.

File Information

Self-Extracting File Name: MIGR001.EXE


Files Included:

Size

Date

Time

MIGR001.TXT

(this file)

README.TXT

1448

8-15-96

1:23 PM

SMS Advisory Council Technical Update


Document ID:

TID100545

Document revision:

A

Date:

06/21/96 4:32 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

ISMS20.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

SMS

Abstract

We on the SMS team would like to let you know about some changes happening within Novell as part of our recent corporate refocusing.

File Information

Self-Extracting File Name: ISMS20.EXE


Files Included:

Size

Date

Time

README

3650

06-21-96

4:25 PM

ISMS20.TXT

(this file)

NWASPI.CDM, ASPI Interface Driver for NWPA


Document ID:

TID100351

Document revision:

A

Date:

01/11/96 4:06 pm

Alert status:

Yellow

Information type:

Issue

Readme for:

PMM10.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

SMS

Abstract

NWASPI.CDM is a NetWare Peripheral Architecture (NWPA) driver written as a Custom Device Module (CDM) that allows applications that use the ASPI interface to access devices to do the same on a NetWare server.

File Information

Self-Extracting File Name: PMM10.EXE


Files Included:

Size

Date

Time

NWASPI.CDM

13007

01-08-96

12:01 PM

READ.ME

730

01-11-96

3:51 PM

README.1ST

2218

01-11-96

3:19 PM

PMM10.TXT

(this file)

Beta Storage Management Services Modules


Author:

SD

Document ID:

TID100860

Document revision:

A

Date:

09/16/96 3:44 PM

Alert status:

Yellow

Information:

Issue

Readme for:

PSMS00.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

SMS

Abstract

SMS modules provided in DEMO engine file format (SIDF), DE-EXMPL.DAT, and DE-EXMPL.IDX. Restores to SYS:/SMS/SDK/. Includes MAC TSA.

These SMS modules have passed CIT testing and will soon be released by Novell. Developers should test their SMS-based product(s) against them to verify that everything works. Remember to get the released modules in SMSUPx.EXE from NetWire when it is released. These modules should be considered beta level.

File Information

Self-Extracting File Name: PSMS00.EXE


Files Included:

Size

Date

Time

PSMS00.TXT

(this file)

DE-EXMPL.DAT

3886920

9-16-96

1:12 PM

DE-EXMPL.IDX

1794

9-16-96

1:12 PM

README.1ST

2218

1-11-96

3:19 PM

Supervisor Rights under NetWare v4.x


Author:

LC

Document ID:

TID100968

Document revision:

A

Date:

10/16/96 11:30 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

ISMS40.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

General Business

Abstract

Initial User Supervisor Under NetWare v4.x NDS

The user Supervisor in the world of Novell Directory Services (NDS) is an odd creature. It is both an NDS Object and a non-object. It is a Bindery-Object. It is created as an NDS object whose rights are restricted to a specific Bindery context AND ONLY to that context. SUPERVISOR DOES NOT HAVE ADMIN RIGHTS.

File Information

Self-Extracting File Name: ISMS40.EXE


Files Included:

Size

Date

Time

ISMS40.TXT

(this file)

ABSTRACT.TXT

1120

10-9-96

1:11 PM

SMS Linking Libraries Renamed


Author:

LC

Document ID:

TID100868

Document revision:

A

Date:

09/18/96 5:04 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

ISMS30.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

SMS

Abstract

The SMS libraries supplied for linking into SMS engines have had a name change.

Libraries containing the APIs to the SMDR are now named SMS*.LIB and libraries containing the Utility APIs are named SMSUT*.LIB. The "*" is replaced with either "_BC" for Borland link libraries; or "_MSC or "MSC" replaces the "*" for Microsoft link libraries.

Also, the LIB directory has been split into subdirectories:

  • DOS for DOS client libraries

  • WIN16 for Windows, 16-bit client libraries

  • NLM for NLM libraries

File Information

Self-Extracting File Name: ISMS30.EXE


Files Included:

Size

Date

Time

ISMS30.TXT

(this file)

Directory Services

Creating DS Object with Long Names


Author:

RM

Document ID:

TID101032

Document revision:

A

Date:

11/13/96 6:38 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

ARM010.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

Directory Services

Detailed Description

When attempting to create a DS object in the tree with a Fulling Distinguished Name (FDN) that is 255 characters long you may get an error code of 0xFFFFFD9E or -610, which is ERR_ILLEGAL_DS_NAME.

This happens when the server takes the FDN that you pass in and converts it to a slash name before creating the object. A slash name has the tree name appended to the front of it and may also contain over head.

Example: I may create a print queue with an FDN that is 251 characters long and my tree name is HOBBES. This will give me a total character count of 257 or MAX_DN_CHARS+1 and will work. If the tree name were HOBBES1, I would be over the 257 count and creating the queue would fail with the error mentioned above.

File Information

Self-Extracting File Name: ARM010.EXE


Files Included:

Size

Date

Time

ARM010.TXT

(this file)

Error -602 with NWDSOpenStream


Author:

BA

Document ID:

TID100630

Document revision:

A

Date:

07/16/96 1:32 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

IDS001.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

Directory Services

Abstract

After the creation of an object containing an attribute of type SYN_STREAM, it must be initialized with a NULL value before NWDSOpenStream can be used to access it.

File Information

Self-Extracting File Name: IDS001.EXE


Files Included:

Size

Date

Time

IDS001.TXT

(this file)

TEMP.TXT

493

7-16-96

11:38 AM

NWDSGenerateObjectKeyPair() Consumes Memory


Author:

KB

Document ID:

TID100849

Document revision:

A

Date:

09/11/96 1:34 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

GKEYBUG.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

Directory Services

Abstract

Multiple calls to NWDSGenerateObjectKeyPair() (100+) will result in memory allocations that are not released. This occurs only when Client32 for DOS/Windows or Windows 95 is loaded as the client software. This problem does not occur if the DOS Requester (VLMs) is used as the client software.

Detailed Description

Multiple calls to NWDSGenerateObjectKeyPair() (100+) will result in memory allocations that are not released. This only occurs when Client32 for DOS/Windows or Windows 95 is loaded as the client software. The symptom on Client32 for DOS/Windows is a message box that is presented upon attempting to close down Windows. The message box indicates that the NDS Client32 module has made memory allocations that cannot be returned back to Windows. Windows cannot be shut down and must be rebooted. This message is not displayed on Windows 95. The application that is calling NWDSGenerateObjectKeyPair() will allocate memory until all system memory is consumed. This problem does not occur if the DOS Requester (VLMs) is used as the client software. This bug was reported to engineering in 09/96.

File Information

Self-Extracting File Name: GKEYBUG.EXE


Files Included:

Size

Date

Time

GKEYBUG.TXT

(this file)

Effective vs. Noneffective Object Classes


Author:

RM

Document ID:

TID100955

Document revision:

A

Date:

10/16/96 10:55 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

ARM009.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

Directory Services

Abstract

Object classes can be either effective or noneffective. The term "effective class" means that you can actually create an instance of the defined object in the Directory tree. The term "noneffective class" means that the class is used only to define other classes. You cannot create an object of a noneffective class.

Detailed Description

Effective and Noneffective Classes

Object classes can be either effective or noneffective. The term "effective class" means that you can actually create an instance of the defined object in the Directory tree. The term noneffective class means that the class is used only to define other classes. You cannot create an object of a noneffective class.

The complete definition of each object class is derived from the components of the object class itself plus the components of all classes found in its super class lineage. The only class that has no super class is Top, which is a super class of all other classes. An object class inherits the characteristics of its super classes.

The User class, for example, is an effective class. You could create a User object on the Directory tree using the User class. The Person class and the Organizational Person are noneffective classes. You could not create a Person object or an Organizational Person because it would have no real function. However, the Person class and the Organizational Person are super classes of the User class and help to define the attributes needed by the Computer class.

The User class has a super class of Person. In this context, the User class is referred to as the base class. To create an object, all information for the base class and its super classes must be resolved. A User object would have information of the type defined by the Person class as well as any information of the type explicitly found in the User class definition. The condition where a class inherits information from more than one super class is called "multiple inheritance." In the case of User, it has multiple inheritance because it derives its information from Top, Person, and Organizational Person.

You can modify the information in Organizational Person through modification of its attributes under the User Object; e.g., EMail Address, postal Address, etc.

For more information on the NDS Schema and Tree, read the NetWare Directory Services Schema Specification that comes in the documentation for the NetWare SDK.

File Information

Self-Extracting File Name: ARM009.EXE


Files Included:

Size

Date

Time

ARM009.TXT

(this file)

Editing Stream Attributes


Author:

HW

Document ID:

TID100878

Document revision:

A

Date:

09/25/96 2:05 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

LOGEDIT.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

Directory Services

Abstract

The LogEdit application demonstrates several of the basic algorithms used to access Novell Directory Services wrapped up in a tool to edit login scripts.

Covered topics include the following:

  • Context Management and multiple trees

  • Name Resolution

  • Searching the tree

  • Access Control

  • Searching the schema

  • Accessing Stream Attributes

Detailed Description

Context Management and Multiple Trees

LogEdit shows how to properly save and restore name contexts when switching between multiple trees. The trees currently attached to are shown in the "Trees" pop-up menu. This menu can be refreshed to reflect changes in the environment. Also, the current default tree has a check mark next to it.

APIs used include the following:

  • NWDSCreateContextHandle

  • NWDSFreeContext

  • NWDSGetContext

  • NWDSSetContext

  • NWDSGetDefNameContext

  • NWDSSetDefNameContext

  • NWDSScanConnsForTrees

Name Resolution

Name resolution often is still a problem when accessing NDS. The sample shows how to make proper use of the context flags like DCV_CANONICALIZE_NAMES and when to toggle them. This is part of the browser code that handles the two listboxes for objects and containers.

APIs used include the following:

  • NWDSGetContext

  • NWDSSetContext

  • NWDSCanonicalizeName

Searching the Tree

This is the listing and browsing part itself. LogEdit demonstrates the sequence used to interrogate the directory for information. Besides the browser, there is a presence check for the login script that uses the search verb.

APIs used include the following:

  • NWDSAllocBuf

  • NWDSInitBuf

  • NWDSFreeBuf

  • NWDSAllocFilter

  • NWDSAddFilterToken

  • NWDSPutFilter

  • NWDSFreeFilter

  • NWDSSearch

  • NWDSListContainers

  • NWDSList

  • NWDSGetObjectCount

  • NWDSGetObjectName

  • NWDSCloseIteration

Searching the Schema

This is actually a bit beyond the scope of the bare functionality needed to read login scripts, but was included as it may come in handy. The code contains the MayHavAttribute function that checks if the schema of the current tree permits an object to have a specified attribute. The function is generic enough to be used with any attribute.

APIs used include the following:

  • NWDSAllocBuf

  • NWDSInitBuf

  • NWDSFreeBuf

  • NWDSReadObjectInfo

  • NWDSPutClassName

  • NWDSReadClassDef

  • NWDSGetClassDefCount

  • NWDSGetClassDef

  • NWDSGetClassItemCount

  • NWDSGetClassItem

  • NWDSCloseIteration

Access Control

In order to determine the rights of the current object to the login script of the displayed object, the following APIs are used in MayChange:

  • NWDSWhoAmI

  • NWDSGetEffectiveRights

Accessing Stream Attributes

Stream attributes are special in that they are stored as separate files, and there is some work needed to prepare them for use, as in InitScript, which could as well be InitStream, as the same steps can be used to initialize any stream attribute.

APIs used includes the following:

  • NWDSOpenStream

  • NWDSAllocBuf

  • NWDSInitBuf

  • NWDSFreeBuf

  • NWDSPutChange

  • NWDSPutAttrVal

  • NWDSModifyObject

For questions, contact devsup_emea@novell.com.

File Information

Self-Extracting File Name: LOGEDIT.EXE


Files Included:

Size

Date

Time

LOGEDIT.TXT

(this file)

LOGEDIT.ZIP

121439

9-25-96

3:48 PM

NDS Schema Registration


Document ID:

TID100344

Document revision:

A

Date:

01/10/96 1:40 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

NDSSCHMA.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

Directory Services

Abstract

NDS supports an extensible schema. In order for developers to utilize unique schema definitions in their products, Novells DeveloperNet support group manages an NDS Schema Registry. The attached text and WordPerfect document explains how to register NDS schema extensions.

File Information

Self-Extracting File Name: NDSSCHMA.EXE


Files Included:

Size

Date

Time

SCHREQ2B.TXT

5489

12-01-95

1:57 PM

SCHREQ2B.WPD

8484

11-30-95

3:12 PM

NDSSCHMA.TXT

(this file)

NWAdmin Snapins And Internationalization


Author:

KB

Document ID:

TID100672

Document revision:

A

Date:

07/30/96 4:29 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

SNAPINTR.EXE

Novell product class:

NetWare API

Novell product class:

NetWare SDK 1.0e

Category:

Directory Services

Abstract

This document describes the mechanism the NetWare Administrator utilities use to find appropriate language files for internationlization.

Detailed Description

The NetWare Administrator utility uses the setting of the NWLANGUAGE variable to determine where to find help files and resource DLLs for the given language. By default, NWAdmin is executed from the SYS:PUBLIC (16-bit NWAdmin - NWADMN.EXE NetWare 4.1 or NWADMN3X.EXE for Green River version of NetWare) or SYS:PUBIC\WIN95 (32-bit NWADMN95.EXE for Windows 95) or SYS:PUBLIC\WINNT (32-bit NWADMNNT.EXE for Windows NT). Beneath this load directory is a directory named NLS. The value for NWLANGUAGE is the language for which all the NetWare utilities are enabled. A directory, corresponding to the value of NWLANGUAGE, is found beneath the NLS directory. The NetWare Administrator references this directory to find the help files and resource DLLs for the specified language. NWLANGUAGE is a DOS environment variable for 16-bit Windows and a registry setting for Windows 95 and Windows NT (HKEY_LOCAL_MACHINE\Network\Novell\System Config\Language\NWLANGUAGE). The new Snapin libs for use with the Green River versions of the NetWare Administrator have an added function NWAGetNLSFilePath(). This function facilitates internationalization of Snapin DLLs by allowing a developer to specify a resource DLL or HLP file name, and this function will return the path to the file according to the setting of NWLANGUAGE. Developers of Snapin DLLs are encouraged to use this same mechanism for internationalization.

File Information

Self-Extracting File Name: SNAPINTR.EXE


Files Included:

Size

Date

Time

SNAPINTR.TXT

(this file)


Disclaimer

The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.

© Copyright Micro Focus or one of its affiliates