存取權限

存取權限是對 物件執行特定作業的許可權。 例如,FILE_READ_DATA存取權限會指定從檔案讀取的權利。

當您開啟物件的控制碼時,您可以指定一組對應至物件上可執行之作業的存取權限。 系統會根據物件的安全性描述元檢查指定的存取權限,以查看目前使用者是否允許每個作業。 (如需詳細資訊,請參閱 安全性描述項.)

存取權限有兩種類型:

特定存取權限是執行單一作業的權利。 特定存取權限可以取決於物件的類型。

泛型存取權限是執行一組類似作業的權利。 泛型存取權限與物件類型無關。

標準存取權限 是適用于所有物件類型的特定存取權限。 例如,DELETE 存取權限是刪除物件的權利,不論類型為何。 如需可用標準存取權限的詳細資訊,請參閱 ACCESS_MASK

物件也有相依于物件類型的特定存取權限。 例如,FILE_READ_DATA代表從檔案讀取的許可權,而KEY_QUERY_VALUE則代表讀取登錄機碼值專案的許可權。

物件類型可以有零、一或多個存取權限,這些許可權對應至讀取或寫入物件的一般概念。 例如,除了FILE_READ_DATA之外,檔案物件也有FILE_READ_ATTRIBUTES存取權限,表示讀取檔案的中繼資料 (,例如檔案建立時間) 。 索引鍵物件同時具有KEY_QUERY_VALUE和KEY_ENUMERATE_SUBKEYS,代表讀取索引鍵子機碼的權利。

為了簡化指定對應至一般概念的所有存取權限,例如讀取或寫入,系統會提供一般存取權限。 系統會將一般存取權限對應至物件的適當特定存取權限集。

系統提供下列一般存取權限:

  • GENERIC_READ

  • GENERIC_WRITE

  • GENERIC_EXECUTE

  • GENERIC_ALL

因此,系統會將GENERIC_READ對應至一組許可權,其中包含檔案的FILE_READ_DATA和FILE_READ_ATTRIBUTES,以及金鑰的KEY_QUERY_VALUE和KEY_ENUMERATE_SUBKEYS。 如需每個泛型存取權限的詳細資訊,請參閱 ACCESS_MASK