RsopAccessCheckByType-Funktion (userenv.h)
Die RSoPAccessCheckByType-Funktion bestimmt, ob ein Sicherheitsdeskriptor dem von einem RSOPTOKEN identifizierten Client einen angegebenen Satz von Zugriffsrechten gewährt.
Syntax
USERENVAPI HRESULT RsopAccessCheckByType(
[in] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[in] PSID pPrincipalSelfSid,
[in] PRSOPTOKEN pRsopToken,
[in] DWORD dwDesiredAccessMask,
[in] POBJECT_TYPE_LIST pObjectTypeList,
[in] DWORD ObjectTypeListLength,
[in] PGENERIC_MAPPING pGenericMapping,
[in] PPRIVILEGE_SET pPrivilegeSet,
[in] LPDWORD pdwPrivilegeSetLength,
[out] LPDWORD pdwGrantedAccessMask,
[out] LPBOOL pbAccessStatus
);
Parameter
[in] pSecurityDescriptor
Zeiger auf eine SECURITY_DESCRIPTOR , für die der Zugriff auf das Objekt überprüft wird.
[in] pPrincipalSelfSid
Zeiger auf eine SID. Wenn der Sicherheitsdeskriptor einem Objekt zugeordnet ist, das einen Prinzipal darstellt (z. B. ein Benutzerobjekt), sollte dieser Parameter die SID des Objekts sein. Beim Auswerten des Zugriffs ersetzt diese SID logisch die SID in jedem ACE, der die bekannte PRINCIPAL_SELF SID ("S-1-5-10") enthält. Weitere Informationen finden Sie unter Sicherheitsbezeichner und bekannte SIDs.
Dieser Parameter sollte NULL sein, wenn das geschützte Objekt keinen Prinzipal darstellt.
[in] pRsopToken
Zeiger auf einen gültigen RSOPTOKEN , der den Client darstellt, der versucht, Zugriff auf das Objekt zu erhalten.
[in] dwDesiredAccessMask
Gibt eine Zugriffsmaske an, die die zu überprüfenden Zugriffsrechte angibt. Diese Maske kann eine Kombination aus generischen, Standard- und spezifischen Zugriffsrechten enthalten. Weitere Informationen finden Sie unter Zugriffsrechte und Zugriffsmasken.
[in] pObjectTypeList
Zeiger auf ein Array von OBJECT_TYPE_LIST Strukturen, die die Hierarchie der Objekttypen identifizieren, für die der Zugriff überprüft werden soll. Jedes Element im Array gibt eine GUID an, die den Objekttyp identifiziert, und einen Wert, der die Ebene des Objekttyps in der Hierarchie der Objekttypen angibt. Das Array sollte nicht über zwei Elemente mit derselben GUID verfügen.
Das Array muss mindestens ein Element aufweisen. Das erste Element im Array muss auf der Ebene 0 liegen und das Objekt selbst identifizieren. Das Array kann nur ein Nullelement der Ebene aufweisen. Das zweite Element ist ein Unterobjekt, z. B. ein Eigenschaftssatz, auf Ebene 1. Jedem Eintrag der Ebene 1 folgen untergeordnete Einträge für die Unterobjekte der Ebene 2 bis 4. Daher können die Ebenen für die Elemente im Array {0, 1, 2, 2, 1, 2, 2, 3} sein. Wenn die Objekttypliste nicht ordnungsgemäß ist, schlägt RSoPAccessCheckByType fehl, und GetLastError gibt ERROR_INVALID_PARAMETER zurück.
[in] ObjectTypeListLength
Gibt die Anzahl der Elemente im pObjectTypeList-Array an.
[in] pGenericMapping
Zeiger auf die GENERIC_MAPPING Struktur, die dem Objekt zugeordnet ist, für das der Zugriff überprüft wird.
[in] pPrivilegeSet
Dieser Parameter wird derzeit nicht verwendet.
[in] pdwPrivilegeSetLength
Dieser Parameter wird derzeit nicht verwendet.
[out] pdwGrantedAccessMask
Zeiger auf eine Zugriffsmaske , die die gewährten Zugriffsrechte empfängt.
Wenn die Funktion erfolgreich ist, wird der pbAccessStatus-Parameter auf TRUE festgelegt, und die Maske wird so aktualisiert, dass sie die Standard- und spezifischen Rechte enthält, die gewährt werden. Wenn pbAccessStatus auf FALSE festgelegt ist, wird dieser Parameter auf Null festgelegt. Wenn die Funktion fehlschlägt, wird die Maske nicht geändert.
[out] pbAccessStatus
Zeiger auf eine Variable, die die Ergebnisse der Zugriffsprüfung empfängt.
Wenn die Funktion erfolgreich ist und der angeforderte Satz von Zugriffsrechten gewährt wird, wird dieser Parameter auf TRUE festgelegt. Andernfalls wird dieser Parameter auf FALSE festgelegt. Wenn die Funktion fehlschlägt, wird die status nicht geändert.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert S_OK. Andernfalls gibt die Funktion einen der COM-Fehlercodes zurück, die in der Platform SDK-Headerdatei WinError.h definiert sind.
Hinweise
Die RSoPAccessCheckByType-Funktion vergleicht den angegebenen Sicherheitsdeskriptor mit dem angegebenen RSOPTOKEN und gibt im pbAccessStatus-Parameter an, ob der Zugriff gewährt oder verweigert wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | userenv.h |
Bibliothek | Userenv.lib |
DLL | Userenv.dll |