NWDSDefineClass

Adds a new object class definition to the eDirectory schema.

Local Servers:blocking
Remote Servers:blocking
NetWare Server:4.x, 5.x, 6.x
Platform:NLM, Windows NT, Windows 95, Windows 98, Windows 2000, Windows XP
Library:Cross-Platform NDS (NET*.*)
Service:NDS

Syntax

C

  #include <nwnet.h> 
  or 
  #include <nwdssch.h> 
   
  N_EXTERN_LIBRARY (NWDSCCODE)  NWDSDefineClass  ( 
     NWDSContextHandle   context,  
     pnstr8              className,  
     pClass_Info_T       classInfo,  
     pBuf_T              classItems); 
  

Pascal

  uses netwin32 
   
  Function NWDSDefineClass 
    (context : NWDSContextHandle; 
     className : pnstr8; 
     classInfo : pClass_Info_T; 
     classItems : pBuf_T 
  ) : NWDSCCODE;
  

Parameters

context

(IN) Specifies the NDS context for the request.

className

(IN) Points to the name of the new object class.

classInfo

(IN) Points to the class flags and ASN.1 ID for the new class.

classItems

(IN) Points to the remaining class definition.

Return Values

These are common return values.

0x0000 0000

SUCCESSFUL

0x8996

SERVER_OUT_OF_MEMORY

0x89E2

TOO_FEW_FRAGMENTS

0x89E3

TOO_MANY_FRAGMENTS

0x89E4

PROTOCOL_VIOLATION

0x89E5

SIZE_LIMIT_EXCEEDED

0x89FD

UNKNOWN_REQUEST

0x89FD

INVALID_PACKET_LENGTH

0x89FE

BAD_PACKET

0x89FF

Failure not related to eDirectory

nonzero value

Nonzero values indicate errors. See NDS Return Values (–001 to –799).

Remarks

The name of the new object class must be unique within the eDirectory schema class definitions. The names of the classes for the base schema are listed in Base Object Class Definitions. New object classes added by other applications must be read from the schema on a server by calling NWDSReadClassDef.

New object class names should be cleared through Novell Developer Support to guarantee uniqueness.

The classItems parameter points to a request buffer containing additional information that defines the object. This buffer contains a sequence of five lists containing either class names or attribute names. The lists must occur in the following order.

  1. Super Class Names

  2. Containment Class Names

  3. Naming Attribute Names

  4. Mandatory Attribute Names

  5. Optional Attribute Names

For step-by-step instructions, see Creating a Class Definition.

NCP Calls

See Also

NWDSDefineAttr, NWDSModifyClassDef

Valid Class and Attribute Names (NDK: Novell eDirectory Schema Reference)