SetSecurityInfo-Funktion (aclapi.h)
Die SetSecurityInfo-Funktion legt die angegebenen Sicherheitsinformationen im Sicherheitsdeskriptor eines angegebenen Objekts fest. Der Aufrufer identifiziert das Objekt durch ein Handle.
Um die SACL eines Objekts festzulegen, muss der Aufrufer über die berechtigung SE_SECURITY_NAME aktiviert sein.
Syntax
DWORD SetSecurityInfo(
[in] HANDLE handle,
[in] SE_OBJECT_TYPE ObjectType,
[in] SECURITY_INFORMATION SecurityInfo,
[in, optional] PSID psidOwner,
[in, optional] PSID psidGroup,
[in, optional] PACL pDacl,
[in, optional] PACL pSacl
);
Parameter
[in] handle
Ein Handle für das Objekt, für das Sicherheitsinformationen festgelegt werden sollen.
[in] ObjectType
Ein Member der SE_OBJECT_TYPE-Enumeration , das den Typ des Objekts angibt, das durch den Handle-Parameter identifiziert wird.
[in] SecurityInfo
Eine Reihe von Bitflags, die den Typ der festzulegenden Sicherheitsinformationen angeben. Dieser Parameter kann eine Kombination der SECURITY_INFORMATION Bitflags sein.
[in, optional] psidOwner
Ein Zeiger auf eine SID, die den Besitzer des Objekts identifiziert. Die SID muss eine sein, die als Besitzer-SID einer Sicherheitsbeschreibung zugewiesen werden kann. Der SecurityInfo-Parameter muss das OWNER_SECURITY_INFORMATION-Flag enthalten. Dieser Parameter kann NULL sein, wenn Sie die Besitzer-SID nicht festlegen.
[in, optional] psidGroup
Ein Zeiger auf eine SID, die die primäre Gruppe des Objekts identifiziert. Der SecurityInfo-Parameter muss das GROUP_SECURITY_INFORMATION-Flag enthalten. Dieser Parameter kann NULL sein, wenn Sie die primäre Gruppen-SID nicht festlegen.
[in, optional] pDacl
Ein Zeiger auf die neue DACL für das -Objekt. Dieser Parameter wird ignoriert, es sei denn, der Wert des SecurityInfo-Parameters enthält das flag DACL_SECURITY_INFORMATION . Wenn der Wert des SecurityInfo-Parameters das flag DACL_SECURITY_INFORMATION enthält und der Wert dieses Parameters auf NULL festgelegt ist, wird allen Personen voller Zugriff auf das Objekt gewährt. Informationen zu NULL-DACLs finden Sie unter Erstellen einer DACL.
[in, optional] pSacl
Ein Zeiger auf die neue SACL für das -Objekt. Der SecurityInfo-Parameter muss eines der folgenden Flags enthalten: SACL_SECURITY_INFORMATION, LABEL_SECURITY_INFORMATION, ATTRIBUTE_SECURITY_INFORMATION, SCOPE_SECURITY_INFORMATION oder BACKUP_SECURITY_INFORMATION. Wenn Sie SACL_SECURITY_INFORMATION oder SCOPE_SECURITY_INFORMATION festlegen, muss das SE_SECURITY_NAME-Recht für den Aufrufer aktiviert sein. Dieser Parameter kann NULL sein, wenn Sie die SACL nicht festlegen.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion ERROR_SUCCESS zurück.
Wenn die Funktion fehlschlägt, gibt sie einen nichtzero-Fehlercode zurück, der in WinError.h definiert ist.
Hinweise
Wenn Sie die diskretionäre Zugriffssteuerungsliste (Discretionary Access Control List , DACL) oder beliebige Elemente in der Systemzugriffssteuerungsliste (SACL) eines Objekts festlegen, werden alle vererbbaren Zugriffssteuerungseinträge (ACEs) gemäß den ACE-Vererbungsregeln automatisch an vorhandene untergeordnete Objekte weitergegeben.
Sie können die SetSecurityInfo-Funktion mit den folgenden Objekttypen verwenden:
- Lokale oder Remotedateien oder Verzeichnisse auf einem NTFS
- Named Pipes
- Lokale oder Remotedrucker
- Lokale oder Windows-Remotedienste
- Netzwerkfreigaben
- Registrierungsschlüssel
- Semaphore, Ereignisse, Mutexes und wartebare Timer
- Prozesse, Threads, Aufträge und Dateizuordnungsobjekte
- Fensterstationen und Desktops
- Verzeichnisdienstobjekte
Die SetSecurityInfo-Funktion ordnet zugriffsberechtigte oder zugriff verweigerte ACEs nicht basierend auf der bevorzugten Reihenfolge neu an. Beim Verteilen vererbbarer ACEs an vorhandene untergeordnete Objekte stellt SetSecurityInfo geerbte ACEs nach allen nicht inheritierten ACEs in den DACLs der untergeordneten Objekte in die Reihenfolge.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | aclapi.h |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |