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后门!
我需要这个信息,因为我正在编写一个虚拟文件系统来挂钩所有文件功能,所以我需要完全理解它们。
答案 0 :(得分:-1)
现在我注意到它们可能是以下标志的残骸
#define STANDARD_RIGHTS_READ (READ_CONTROL)
#define STANDARD_RIGHTS_WRITE (READ_CONTROL)
#define STANDARD_RIGHTS_EXECUTE (READ_CONTROL)
现在已与READ_CONTROL标志集成。神秘解决了。