Freigeben über


AddMandatoryAce-Funktion (securitybaseapi.h)

Die AddMandatoryAce-Funktion fügt der angegebenen Systemzugriffssteuerungsliste (SACL) einen SYSTEM_MANDATORY_LABEL_ACEAccess Control Entry (ACE) hinzu.

Syntax

BOOL AddMandatoryAce(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD AceFlags,
  [in]      DWORD MandatoryPolicy,
  [in]      PSID  pLabelSid
);

Parameter

[in, out] pAcl

Ein Zeiger auf eine SACL. Diese Funktion fügt am Ende dieser SACL einen obligatorischen ACE hinzu. Der ACE hat die Form einer SYSTEM_MANDATORY_LABEL_ACE Struktur.

[in] dwAceRevision

Die Revisionsebene der SACL, die geändert wird. Dieser Wert kann einer der folgenden Werte sein.

Wert Bedeutung
ACL_REVISION
Die SACL enthält keine objektspezifischen ACEs.
ACL_REVISION_DS
Die SACL enthält objektspezifische ACEs.

[in] AceFlags

Eine Reihe von Bitflags, die die ACE-Vererbung steuern. Diese Funktion legt diese Flags im AceFlags-Member der ACE_HEADER-Struktur des neuen ACE fest.

Für diesen Parameter ist eine Kombination der folgenden Werte gültig.

Wert Bedeutung
OBJECT_INHERIT_ACE
0x1
Der ACE wird von Nichtcontainerobjekten geerbt.
CONTAINER_INHERIT_ACE
0x2
Der ACE wird von Containerobjekten geerbt.
NO_PROPAGATE_INHERIT_ACE
0x4
Die OBJECT_INHERIT_ACE und CONTAINER_INHERIT_ACE Bits werden nicht an einen geerbten ACE weitergegeben.
INHERIT_ONLY_ACE
0x8
Der ACE gilt nicht für das Objekt, dem die SACL zugewiesen ist, aber das ACE kann von untergeordneten Objekten geerbt werden.
INHERITED_ACE
0x10
Der ACE wird geerbt. Vorgänge, die die Sicherheit für eine Struktur von Objekten ändern, können geerbte ACEs ändern, ohne ACEs zu ändern, die direkt auf das Objekt angewendet wurden.

[in] MandatoryPolicy

Die Zugriffsrichtlinie für Prinzipale mit einer obligatorischen Integritätsebene, die niedriger ist als das Objekt, das dem SACL zugeordnet ist, das diesen ACE enthält.

Wert Bedeutung
SYSTEM_MANDATORY_LABEL_NO_WRITE_UP
0x1
Ein Prinzipal mit einer niedrigeren obligatorischen Ebene als das -Objekt kann nicht in das Objekt schreiben.
SYSTEM_MANDATORY_LABEL_NO_READ_UP
0x2
Ein Prinzipal mit einer niedrigeren obligatorischen Ebene als das -Objekt kann das Objekt nicht lesen.
SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP
0x4
Ein Prinzipal mit einer niedrigeren obligatorischen Ebene als das -Objekt kann das Objekt nicht ausführen.

[in] pLabelSid

Ein Zeiger auf eine SID, der die obligatorische Integritätsebene des Objekts angibt, das dem angefügten SACL zugeordnet ist.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie TRUE zurück.

Wenn die Funktion fehlschlägt, gibt sie FALSE zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten. Im Folgenden sind mögliche Fehlerwerte aufgeführt.

Rückgabecode/-wert BESCHREIBUNG
ERROR_ALLOTTED_SPACE_EXCEEDED
0x540
Der neue ACE passt nicht in den pAcl-Puffer .

Hinweise

Um eine Anwendung zu kompilieren, die diese Funktion verwendet, definieren Sie _WIN32_WINNT als 0x0600 oder höher. Weitere Informationen finden Sie unter Verwenden der Windows-Header.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile securitybaseapi.h (Einschließen von WinBase.h)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

SYSTEM_MANDATORY_LABEL_ACE