0
System.Security.AccessControl.CommonAce's Constructor中accessMask參數的含義是什麼。不幸的是,描述「ACE的訪問掩碼」。不是很有幫助。CommonAce構造函數中的accessMask參數的含義(System.Security.AccessControl)
System.Security.AccessControl.CommonAce's Constructor中accessMask參數的含義是什麼。不幸的是,描述「ACE的訪問掩碼」。不是很有幫助。CommonAce構造函數中的accessMask參數的含義(System.Security.AccessControl)
從SDK文檔:
一個32位值,其比特對應於訪問該對象的權限。位可以設置爲開或關,但設置的含義取決於ACE類型。例如,如果打開權限讀取權限的位並且ACE類型爲拒絕,則ACE拒絕讀取對象權限的權限。如果設置了相同的位但ACE類型爲允許,則ACE授予讀取對象權限的權限。
從WINNT.H SDK頭文件:
// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
// +---------------+---------------+-------------------------------+
// |G|G|G|G|Res'd|A| StandardRights| SpecificRights |
// |R|W|E|A| |S| | |
// +-+-------------+---------------+-------------------------------+
//
// typedef struct _ACCESS_MASK {
// WORD SpecificRights;
// BYTE StandardRights;
// BYTE AccessSystemAcl : 1;
// BYTE Reserved : 3;
// BYTE GenericAll : 1;
// BYTE GenericExecute : 1;
// BYTE GenericWrite : 1;
// BYTE GenericRead : 1;
// } ACCESS_MASK;
// typedef ACCESS_MASK *PACCESS_MASK;
//
// but to make life simple for programmer's we'll allow them to specify
// a desired access mask by simply OR'ing together mulitple single rights
// and treat an access mask as a DWORD. For example
//
// DesiredAccess = DELETE | READ_CONTROL