Moves an eDirectory object from one container to another and/or renames the object.
#include <nwnet.h> or #include <nwdsdsa.h> N_EXTERN_LIBRARY (NWDSCCODE) NWDSMoveObject ( NWDSContextHandle context, pnstr8 objectName, pnstr8 destParentDN, pnstr8 destRDN);
uses netwin32 Function NWDSMoveObject (context : NWDSContextHandle; objectName : pnstr8; destParentDN : pnstr8; destRDN : pnstr8 ) : NWDSCCODE;
(IN) Specifies the NDS context for the request.
(IN) Points to the name of the object to be moved.
(IN) Points to the name of the object’s new parent.
(IN) Points to the object’s new RDN.
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 |
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.