Returns an object’s effective privileges on another object.
#include <nwnet.h> or #include <nwdsacl.h> N_EXTERN_LIBRARY (NWDSCCODE) NWDSListAttrsEffectiveRights ( NWDSContextHandle context, pnstr8 objectName, pnstr8 subjectName, nbool8 allAttrs, pBuf_T attrNames, pnint_ptr iterationHandle, pBuf_T privilegeInfo);
uses netwin32 Function NWDSListAttrsEffectiveRights (context : NWDSContextHandle; objectName : pnstr8; subjectName : pnstr8; allAttrs : nbool8; attrNames : pBuf_T; iterationHandle : pnint_ptr; privilegeInfo : pBuf_T ) : NWDSCCODE;
(IN) Specifies the NDS context for the request.
(IN) Points to the name of the eDirectory object whose access rights are to be checked.
(IN) Points to the name of the eDirectory object to which the privileges are assigned.
(IN) Specifies whether all attributes should be returned.
(IN) Points to a request buffer containing the names of the attribute definitions for which information is to be returned.
(IN/OUT) Points to the information needed to resume subsequent iterations of NWDSListAttrsEffectiveRights.
(OUT) Points to a result buffer receiving the requested attribute names and privileges.
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 |
The subjectName parameter is the name of an eDirectory object. If subjectName is NULL, the name of the currently logged-in object is used.
The allAttrs and attrNames parameters indicate which attributes you are requesting privileged information about. If allAttrs is TRUE, privileged information about all optional and mandatory attributes defined for the base class of the object are returned. NULL can also be passed for attrNames when allAttrs is TRUE. If allAttrs is FALSE, privileged information is returned only about the attributes named in the buffer pointed to by attrNames.
The attrNames parameter points to a request buffer explicitly specifying the names of the attributes for which information is to be returned.
The iterationHandle parameter controls retrieval of list results larger than the result buffer pointed to by attrNames.
Before the initial call to NWDSListAttrsEffectiveRights, set the contents of the iteration handle pointed to by iterationHandle to NO_MORE_ITERATIONS.
If the result buffer holds the complete results when NWDSListAttrsEffectiveRights returns from its initial call, the location pointed to by iterationHandle is set to NO_MORE_ITERATIONS. If the iteration handle is not set to NO_MORE_ITERATIONS, use the iteration handle for subsequent calls to NWDSListAttrsEffectiveRights 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.
NOTE:On large networks, iterative processes, such as NWDSListAttrsEffectiveRights, might take a long time to complete. For example, listing all of the User objects on a corporate network might be too time consuming. Developers should use NWDSCloseIteration to allow users of their applications to abort an iterative process that is taking too long to complete.
To end the list operation before the complete results have been retrieved, call NWDSCloseIteration with a value of DSV_READ to free memory and states associated with the List operation.
For more information, see Determining the Effective Rights of an Object.
NWDSCloseIteration, NWDSAllocBuf, NWDSGetAttrVal, NWDSInitBuf