Backs up the attribute names and values for an object.
#include <nwnet.h> or #include <nwdsdsa.h> N_EXTERN_LIBRARY (NWDSCCODE) NWDSBackupObject ( NWDSContextHandle context, pnstr8 objectName, pnint_ptr iterationHandle, pBuf_T objectInfo);
uses netwin32 Function NWDSBackupObject (context : NWDSContextHandle; objectName : pnstr8; iterationHandle : pnint_ptr; objectInfo : pBuf_T ) : NWDSCCODE;
(IN) Specifies the NDS context for the request.
(IN) Points to the name of the object for which information is to be returned.
(IN/OUT) Points to information needed to resume subsequent iterations of NWDSBackupObject.
(OUT) Points to the requested attribute names and 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 |
NWDSBackupObject is used to back up the attributes and attribute values for one object at a time. To back up eDirectory, call the NWDSBackupObject function for each object.
iterationHandle is used to control retrieval of results that are larger than the result buffer supplied by objectInfo.
Before the initial call to NWDSBackupObject, set the contents of the iteration handle pointed to by iterationHandle to NO_MORE_ITERATIONS.
When NWDSBackupObject returns from its initial call, if the result buffer holds the complete results, the location pointed to by iterationHandle is set to NO_MORE_ITERATIONS on return. If the iteration handle is not set to NO_MORE_ITERATIONS, use the iteration handle for subsequent calls to NWDSBackupObject to obtain further portions of the results. When the results are completely retrieved, the contents of the iteration handle will be set to NO_MORE_ITERATIONS.
To abort the operation before retrieving all the information about an object, call NWDSCloseIteration with an operation type of DSV_BACKUP_ENTRY.
IMPORTANT:The information returned in objectInfo must be stored so it can be passed to NWDSRestoreObject in the expected manner. NWDSRestoreObject expects an nuint32 array pointer and an nuint8 pointer specifying the length of the information to be restored.
Each time NWDSBackupObject is called, save the number of bytes returned by objectInfo–> curLen starting from the address pointed to by objectInfo–> data. objectInfo must be worked with directly; there are no eDirectory functions that will retrieve this information.
It is the developer’s responsibility to decide how to store the information so it can be restored when calling NWDSRestoreObject.
The results of NWDSBackupObject are not ordered. Attribute information might not be stored in the result buffer in alphabetical order.