Freigeben über


GetPrivateObjectSecurity-Funktion (securitybaseapi.h)

Die GetPrivateObjectSecurity-Funktion ruft Informationen aus dem Sicherheitsdeskriptor eines privaten Objekts ab.

Syntax

BOOL GetPrivateObjectSecurity(
  [in]            PSECURITY_DESCRIPTOR ObjectDescriptor,
  [in]            SECURITY_INFORMATION SecurityInformation,
  [out, optional] PSECURITY_DESCRIPTOR ResultantDescriptor,
  [in]            DWORD                DescriptorLength,
  [out]           PDWORD               ReturnLength
);

Parameter

[in] ObjectDescriptor

Ein Zeiger auf eine SECURITY_DESCRIPTOR-Struktur . Dies ist der abzufragende Sicherheitsdeskriptor.

[in] SecurityInformation

Eine Reihe von Bitflags, die die abzurufenden Teile des Sicherheitsdeskriptors angeben. Dieser Parameter kann eine Kombination der SECURITY_INFORMATION Bitflags sein.

[out, optional] ResultantDescriptor

Ein Zeiger auf einen Puffer, der eine Kopie der angeforderten Informationen vom angegebenen Sicherheitsdeskriptor empfängt. Die SECURITY_DESCRIPTOR-Struktur wird im selbstrelativen Format zurückgegeben.

[in] DescriptorLength

Gibt die Größe des Puffers in Bytes an, auf den der ResultantDescriptor-Parameter verweist.

[out] ReturnLength

Ein Zeiger auf eine Variable, die die Funktion auf 0 (null) festlegt, wenn der Deskriptor erfolgreich kopiert wurde. Wenn der Puffer für den Sicherheitsdeskriptor zu klein ist, empfängt diese Variable die erforderliche Anzahl von Bytes. Wenn der Wert dieser Variablen größer als der Wert des DescriptorLength-Parameters ist, wenn die Funktion zurückgibt, gibt die Funktion FALSE zurück, und keiner der Sicherheitsdeskriptoren wird in den Puffer kopiert.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Diese Funktion ist nur für die Verwendung durch Ressourcen-Manager vorgesehen. Zum Implementieren der Standardmäßigen Zugriffssteuerungssemantik zum Aktualisieren von Sicherheitsbeschreibungen sollte ein Ressourcen-Manager überprüfen, ob die folgenden Bedingungen erfüllt sind, bevor GetPrivateObjectSecurity aufgerufen wird:

  • Wenn der Besitzer des Objekts festgelegt wird, muss der aufrufende Prozess entweder über WRITE_OWNER Berechtigung verfügen oder der Besitzer des Objekts sein.
  • Wenn die freie Zugriffssteuerungsliste des Objekts festgelegt wird, muss der aufrufende Prozess entweder über WRITE_DAC Berechtigung verfügen oder der Besitzer des Objekts sein.
  • Wenn die Systemzugriffssteuerungsliste des Objekts festgelegt wird, muss die SE_SECURITY_NAME-Berechtigung für den aufrufenden Prozess aktiviert werden.
Wenn die oben genannten Bedingungen nicht erfüllt sind, schlägt ein Aufruf dieser Funktion nicht fehl, die Standardzugriffsrichtlinie wird jedoch nicht erzwungen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile securitybaseapi.h (Einschließen von Windows.h)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

Client-/Server-Access Control-Funktionen

Übersicht über Client/Server-Access Control

CreatePrivateObjectSecurity

DestroyPrivateObjectSecurity

GetFileSecurity

GetKernelObjectSecurity

GetUserObjectSecurity

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetPrivateObjectSecurity