#include <nwdentry.h> or #include <nwcalls.h>NWCCODE N_API NWGetEffectiveRights (NWCONN_HANDLE conn, NWDIR_HANDLE dirHandle, pnstr8 path, pnuint16 effectiveRights);
dirHandle can be zero if path points to the complete path, including the volume name.
The maximum rights mask bits are defined in the table below:
C Value | Value Description |
0x0001 | TR_READ |
0x0002 | TR_WRITE |
0x0008 | TR_CREATE |
0x0010 | TR_DELETE |
0x0010 | TR_OWNERSHIP |
0x0040 | TR_FILE_SCAN |
0x0080 | TR_MODIFY |
----------------------------------------------- | C Value| Value Description | |--------|-------------------------------------| | 0x0001 | TR_READ | |--------|-------------------------------------| | 0x0002 | TR_WRITE | |--------|-------------------------------------| | 0x0008 | TR_CREATE | |--------|-------------------------------------| | 0x0010 | TR_DELETE | |--------|-------------------------------------| | 0x0010 | TR_OWNERSHIP | |--------|-------------------------------------| | 0x0040 | TR_FILE_SCAN | |--------|-------------------------------------| | 0x0080 | TR_MODIFY | |--------|-------------------------------------|To determine the requesting workstation's effective rights, NWGetEffectiveRights 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 can 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.
effectiveRights returned to the client indicates which of the eight possible directory rights the client has in the targeted directory. effectiveRights of zero indicates the client has no rights in the target directory.
For 3.x-4.x servers, NWGetEffectiveRights works on files as well as directories. For 2.x servers, NWGetEffectiveRights works only on paths.