缺少ACCESS_MASK的定义

时间:2014-11-29 14:51:25

标签: windows msdn

ACCESS_MASK(http://msdn.microsoft.com/en-us/library/windows/desktop/aa374892%28v=vs.85%29.aspx)的文档将第16-23行定义如下:

16–23 Standard rights. Contains the object's standard access rights.

但标准权限表仅描述了第16-20位。 3个缺失位在哪里?

它们不在任何其他部分中描述。事实上,设置标头中定义的所有掩码会使标志丢失那3位。 (和保留位)。

Bit   Flag          Meaning
---------------------------------------
16  DELETE          Delete access.
17  READ_CONTROL    Read access to the owner, group, and discretionary access control list (DACL) of the security descriptor.
18  WRITE_DAC       Write access to the DACL.
19  WRITE_OWNER     Write access to owner.
20  SYNCHRONIZE     Synchronize access.

这些位是否在任何地方使用?甚至内部到系统(不由用户空间功能公开)

或者他们也保留了吗?

从我看来,它可能只是一种方法来填充"部分" std权利的标志为8位。如果是这样的话他们至少可以提到它吗?然后它可能是一个秘密的NSA后门!

我需要这个信息,因为我正在编写一个虚拟文件系统来挂钩所有文件功能,所以我需要完全理解它们。

1 个答案:

答案 0 :(得分:-1)

现在我注意到它们可能是以下标志的残骸

#define STANDARD_RIGHTS_READ             (READ_CONTROL)
#define STANDARD_RIGHTS_WRITE            (READ_CONTROL)
#define STANDARD_RIGHTS_EXECUTE          (READ_CONTROL)

现在已与READ_CONTROL标志集成。神秘解决了。