Zugriffsrechte
Ein Zugriffsrecht ist das Recht, einen bestimmten Vorgang für das Objekt auszuführen. Beispielsweise gibt das FILE_READ_DATA-Zugriffsrecht das Recht zum Lesen aus einer Datei an.
Wenn Sie ein Handle für ein Objekt öffnen, geben Sie einen Satz von Zugriffsrechten an, die den Vorgängen entsprechen, die für das Objekt ausgeführt werden können. Das System überprüft die angegebenen Zugriffsrechte anhand des Sicherheitsdeskriptors des Objekts, um festzustellen, ob jeder Vorgang für den aktuellen Benutzer zulässig ist. (Weitere Informationen finden Sie unter Sicherheitsbeschreibungen.)
Zugriffsrechte gibt es in zwei Arten:
Ein bestimmtes Zugriffsrecht ist ein Recht zum Ausführen eines einzelnen Vorgangs. Bestimmte Zugriffsrechte können vom Typ des Objekts abhängen.
Ein generisches Zugriffsrecht ist ein Recht zum Ausführen einer von mehreren ähnlichen Vorgängen. Generische Zugriffsrechte sind unabhängig vom Objekttyp.
Standardzugriffsrechte sind spezifische Zugriffsrechte, die für alle Objekttypen gelten. Beispielsweise ist das DELETE-Zugriffsrecht das Recht, ein Objekt unabhängig vom Typ zu löschen. Weitere Informationen zu den verfügbaren Standardzugriffsrechten finden Sie unter ACCESS_MASK.
Objekte verfügen auch über bestimmte Zugriffsrechte, die vom Typ des Objekts abhängen. Beispielsweise stellt die FILE_READ_DATA das Recht zum Lesen aus einer Datei dar, während die KEY_QUERY_VALUE das Recht darstellt, die Werteinträge für einen Registrierungsschlüssel zu lesen.
Ein Objekttyp kann über null, ein oder mehrere Zugriffsrechte verfügen, die dem allgemeinen Konzept des Lesens oder Schreibens in ein Objekt entsprechen. Beispielsweise verfügen Dateiobjekte zusätzlich zu FILE_READ_DATA über das FILE_READ_ATTRIBUTES-Zugriffsrecht, das das Lesen der Metadaten einer Datei (z. B. die Erstellungszeit der Datei) darstellt. Key-Objekte verfügen sowohl über KEY_QUERY_VALUE als auch über KEY_ENUMERATE_SUBKEYS, die das Recht zum Lesen der Unterschlüssel eines Schlüssels darstellen.
Um die Angabe aller Zugriffsrechte zu vereinfachen, die einem allgemeinen Konzept wie Lesen oder Schreiben entsprechen, stellt das System generische Zugriffsrechte bereit. Das System ordnet dem entsprechenden Satz von spezifischen Zugriffsrechten für das Objekt ein generisches Zugriffsrecht zu.
Das System bietet die folgenden generischen Zugriffsrechte:
GENERIC_READ
GENERIC_WRITE
GENERIC_EXECUTE
GENERIC_ALL
Daher ordnet das System GENERIC_READ einer Gruppe von Rechten zu, die FILE_READ_DATA und FILE_READ_ATTRIBUTES für eine Datei sowie KEY_QUERY_VALUE und KEY_ENUMERATE_SUBKEYS für einen Schlüssel enthalten. Weitere Informationen zu den einzelnen generischen Zugriffsrechten finden Sie unter ACCESS_MASK.