NWDSMoveObject

Moves an eDirectory object from one container to another and/or renames the object.

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 <nwdsdsa.h> 
   
  N_EXTERN_LIBRARY (NWDSCCODE)  NWDSMoveObject  ( 
     NWDSContextHandle   context,  
     pnstr8              objectName,  
     pnstr8              destParentDN,  
     pnstr8              destRDN); 
  

Pascal

  uses netwin32 
   
  Function NWDSMoveObject 
    (context : NWDSContextHandle; 
     objectName : pnstr8; 
     destParentDN : pnstr8; 
     destRDN : pnstr8 
  ) : NWDSCCODE;
  

Parameters

context

(IN) Specifies the NDS context for the request.

objectName

(IN) Points to the name of the object to be moved.

destParentDN

(IN) Points to the name of the object’s new parent.

destRDN

(IN) Points to the object’s new RDN.

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

NWDSMoveObject can move an object only if it is a leaf object (meaning it does not have any subordinate objects associated with it). However, it may be either an object or its alias.

The new RDN (such as "Hector") may be the same as the original object’s RDN or it may be different.

If you are going to rename the object but not move it, you should call NWDSModifyRDN instead of NWDSMoveObject.

The objectName parameter identifies the object whose DN is to be modified. Aliases in the name will not be dereferenced. Aliases are never dereferenced by NWDSMoveObject. The setting of the context flag associated with DCV_DEREF_ALIASES is not relevant to NWDSMoveObject and is ignored.

The context parameter determines the name form for the objectName parameter. For partial dot form names, the DCV_CANONICALIZE_NAMES flag determines whether an RDN or a DN should be entered. For more information, see Section 1.1, Context Handles.

The destParentDN parameter identifies the name of the parent object the moved object is to be directly subordinate to. The parent object must already exist in the eDirectory tree.

The destRDN parameter specifies the new RDN of the object being moved.

If Hector is represented in the eDirectory tree as

     CN=Hector.OU=Graphics.O=WimpleMakers
  

and you want to move Hector to Marketing, for objectName pass in

     CN=Hector.OU=Graphics.O=WimpleMakers
  

for destParentDN pass in

     OU=Marketing.O=WimpleMakers
  

and for destRDN pass in

    CN=Hector
  

On successful completion, Hector is moved to the new location in the eDirectory tree, and his complete NDS name becomes

     CN=Hector.OU=Marketing.O=WimpleMakers
  

NWDSMoveObject is similar in functionality to NWDSModifyDN. Both functions can move an object to a new container. Both allow you to change the value of the object's naming attribute. NWDSModifyDN allows you to select whether the old naming attribute value is kept or deleted for multivalued naming attributes. NWDSMoveObject always deletes an old value.

NCP Calls

See Also

NWDSModifyDN, NWDSSetContext, NWDSGetContext