#include <nwnet.h> or #include <nwdsdsa.h>NWDSCCODE N_API NWDSModifyRDN (NWDSContextHandle context, pnstr8 objectName, pnstr8 newDN, nbool8 deleteOldRDN);
NWDSModifyRDN does not move an object to a new location in the Directory tree.
NWDSModifyRDN only changes the least significant (left-most) name in a leaf object's distinguished name. It does not change an object's more significant names, since changing those names changes the location of the object in the Directory tree. For example, if the object's name is
CN=Hector.OU=Graphics.O=WimpleMakers
you can change the common name ``CN=Hector'' to ``CN=Duke'' since it is a leaf object. However, you cannot change the ``OU=Graphics'' to ``OU=Marketing'' since that would change the location of the object (Hector) within the Directory tree. (To move an object call NWDSMoveObject.)
You cannot change the name of an object that is not a leaf node. For example, in the above case you cannot change the name of
OU=Graphics.O=WimpleMakers
to
OU=Presentation Graphics.O=WimpleMakers
because Graphics is not a leaf node; it contains the subordinate object named Hector.
objectName identifies the object whose name is to be modified. Aliases in the name are not dereferenced.
newDN specifies the new name of the object. If an attribute value in the new DN does not already exist in the object, it is added. If it cannot be added, an error is returned.
If deleteOldRDN is TRUE, all attribute values in the old DN that are not in the new DN are deleted. If FALSE, old values remain in the object (but not as a part of the DN). deleteOldRDN must be TRUE where a single-value attribute in the DN has its value changed by NWDSModifyRDN.
If NWDSModifyRDN removes the last attribute value of an attribute while identifying a new attribute for the DN, the old attribute is deleted.
Aliases are never dereferenced by NWDSModifyRDN. The context flag associated with DCV_DEREF_ALIASES is not relevant to NWDSModifyRDN and is ignored.
Directory