#include <nwbindry.h> or #include <nwcalls.h>NWCCODE N_API NWGetObjectEffectiveRights (NWCONN_HANDLE conn, nuint32 objID, NWDIR_HANDLE dirHandle, pnstr8 path, pnuint16 rightsMask);
NWGetObjectEffectiveRights replaces NWGetEffectiveDirectoryRights from previous versions of NWCalls.
The maximum rights mask bits are defined below:
Hex | Bit Definition |
---|---|
0x01 | TA_Read |
0x02 | TA_Write |
0x08 | TA_Create |
0x10 | TA_Delete |
0x20 | TA_Ownership |
0x40 | TA_Search |
0x80 | TA_Modify |
----------------------------- | Hex | Bit Definition | |-----|----------------------| | 0x01| TA_Read | |-----|----------------------| | 0x02| TA_Write | |-----|----------------------| | 0x08| TA_Create | |-----|----------------------| | 0x10| TA_Delete | |-----|----------------------| | 0x20| TA_Ownership | |-----|----------------------| | 0x40| TA_Search | |-----|----------------------| | 0x80| TA_Modify | |-----|----------------------|
To determine the requesting workstation's effective rights, NWGetObjectEffectiveRights performs a logical AND between the maximum rights mask of the directory and the workstation's current trustee rights.
The workstation's current trustee rights are obtained by performing a logical OR between a workstation's trustee access mask and the trustee access mask of any object to which the process is security equivalent.
The workstation's current trustee rights may be explicitly listed in the directory or inherited from the parent directory. The maximum rights masks of parent directories do not affect inherited trustee rights.
rightsMask returned to the client indicates which of the eight possible directory rights the client has in the targeted directory. A rightsMask of zero indicates the client has no rights in the target directory.
Bindery