Freigeben über


GetKernelObjectSecurity-Funktion (securitybaseapi.h)

Die GetKernelObjectSecurity-Funktion ruft eine Kopie des Sicherheitsdeskriptors ab, der ein Kernelobjekt schützt.

Syntax

BOOL GetKernelObjectSecurity(
  [in]            HANDLE               Handle,
  [in]            SECURITY_INFORMATION RequestedInformation,
  [out, optional] PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [in]            DWORD                nLength,
  [out]           LPDWORD              lpnLengthNeeded
);

Parameter

[in] Handle

Ein Handle für ein Kernelobjekt.

[in] RequestedInformation

Gibt einen SECURITY_INFORMATION Wert an, der die angeforderten Sicherheitsinformationen identifiziert.

[out, optional] pSecurityDescriptor

Ein Zeiger auf einen Puffer, den die Funktion mit einer Kopie des Sicherheitsdeskriptors des angegebenen Objekts auffüllt. Der aufrufende Prozess muss das Recht haben, die angegebenen Aspekte der Sicherheits-status des Objekts anzuzeigen. Die SECURITY_DESCRIPTOR-Struktur wird im selbstrelativen Format zurückgegeben.

[in] nLength

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

[out] lpnLengthNeeded

Ein Zeiger auf eine Variable, die die Anzahl von Bytes empfängt, die für den Puffer erforderlich sind, auf den der pSecurityDescriptor-Parameter verweist. Wenn der Wert dieser Variablen größer als der Wert des nLength-Parameters ist, wenn die Funktion zurückgibt, wird keine der Sicherheitsbeschreibungen 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

Um den Besitzer, die Gruppe oder die DACL aus dem Sicherheitsdeskriptor des Kernelobjekts zu lesen, muss dem aufrufenden Prozess beim Öffnen des Handles READ_CONTROL Zugriff gewährt worden sein. Um READ_CONTROL Zugriff zu erhalten, muss der Aufrufer der Besitzer des Objekts sein, oder die DACL des Objekts muss den Zugriff gewähren.

Zum Lesen der SACL aus dem Sicherheitsdeskriptor muss dem aufrufenden Prozess beim Öffnen des Handles ACCESS_SYSTEM_SECURITY Zugriff gewährt worden sein. Die richtige Möglichkeit, diesen Zugriff zu erhalten, besteht darin, die SE_SECURITY_NAME-Berechtigung im aktuellen Token des Aufrufers zu aktivieren, das Handle für ACCESS_SYSTEM_SECURITY Zugriff zu öffnen und dann die Berechtigung zu deaktivieren.

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 securitybaseapi.h (Einschließen von Windows.h)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

GetFileSecurity

GetPrivateObjectSecurity

GetUserObjectSecurity

Low-Level-Access Control

Low-Level-Access Control Functions

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetKernelObjectSecurity