Partager via


Fonction RsopAccessCheckByType (userenv.h)

La fonction RSoPAccessCheckByType détermine si un descripteur de sécurité accorde un ensemble spécifié de droits d’accès au client identifié par un RSOPTOKEN.

Syntaxe

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
);

Paramètres

[in] pSecurityDescriptor

Pointeur vers un SECURITY_DESCRIPTOR sur lequel l’accès sur l’objet est vérifié.

[in] pPrincipalSelfSid

Pointeur vers un SID. Si le descripteur de sécurité est associé à un objet qui représente un principal (par exemple, un objet utilisateur), ce paramètre doit être le SID de l’objet. Lors de l’évaluation de l’accès, ce SID remplace logiquement le SID dans tout ACE contenant le SID bien connu PRINCIPAL_SELF (« S-1-5-10 »). Pour plus d’informations, consultez Identificateurs de sécurité et SID connus.

Ce paramètre doit avoir la valeur NULL si l’objet protégé ne représente pas de principal.

[in] pRsopToken

Pointeur vers un RSOPTOKEN valide représentant le client qui tente d’accéder à l’objet.

[in] dwDesiredAccessMask

Spécifie un masque d’accès qui indique les droits d’accès à case activée. Ce masque peut contenir une combinaison de droits d’accès génériques, standard et spécifiques. Pour plus d’informations, consultez Droits d’accès et masques d’accès.

[in] pObjectTypeList

Pointeur vers un tableau de structures OBJECT_TYPE_LIST qui identifient la hiérarchie des types d’objets pour lesquels case activée accès. Chaque élément du tableau spécifie un GUID qui identifie le type d’objet et une valeur indiquant le niveau du type d’objet dans la hiérarchie des types d’objets. Le tableau ne doit pas avoir deux éléments avec le même GUID.

Le tableau doit avoir au moins un élément. Le premier élément du tableau doit se trouver au niveau zéro et identifier l’objet lui-même. Le tableau ne peut avoir qu’un seul élément de niveau zéro. Le deuxième élément est un sous-objet, tel qu’un jeu de propriétés, au niveau 1. Après chaque entrée de niveau 1 se trouvent des entrées subordonnées pour les sous-objets de niveau 2 à 4. Par conséquent, les niveaux des éléments du tableau peuvent être {0, 1, 2, 2, 1, 2, 3}. Si la liste des types d’objets est désordonnées, RSoPAccessCheckByType échoue et GetLastError retourne ERROR_INVALID_PARAMETER.

[in] ObjectTypeListLength

Spécifie le nombre d’éléments dans le tableau pObjectTypeList .

[in] pGenericMapping

Pointeur vers la structure GENERIC_MAPPING associée à l’objet pour lequel l’accès est vérifié.

[in] pPrivilegeSet

Ce paramètre n’est actuellement pas utilisé.

[in] pdwPrivilegeSetLength

Ce paramètre n’est actuellement pas utilisé.

[out] pdwGrantedAccessMask

Pointeur vers un masque d’accès qui reçoit les droits d’accès accordés.

Si la fonction réussit, le paramètre pbAccessStatus a la valeur TRUE et le masque est mis à jour pour contenir les droits standard et spécifiques accordés. Si pbAccessStatus a la valeur FALSE, ce paramètre est défini sur zéro. Si la fonction échoue, le masque n’est pas modifié.

[out] pbAccessStatus

Pointeur vers une variable qui reçoit les résultats de l’case activée d’accès.

Si la fonction réussit et que l’ensemble de droits d’accès demandé est accordé, ce paramètre est défini sur TRUE. Sinon, ce paramètre a la valeur FALSE. Si la fonction échoue, le status n’est pas modifié.

Valeur retournée

Si la fonction réussit, la valeur de retour est S_OK. Sinon, la fonction retourne l’un des codes d’erreur COM définis dans le fichier d’en-tête du KIT de développement logiciel (SDK) de plateforme WinError.h.

Remarques

La fonction RSoPAccessCheckByType compare le descripteur de sécurité spécifié au RSOPTOKEN spécifié et indique, dans le paramètre pbAccessStatus , si l’accès est accordé ou refusé.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête userenv.h
Bibliothèque Userenv.lib
DLL Userenv.dll

Voir aussi

fonctions stratégie de groupe

Vue d’ensemble de la stratégie de groupe

RSoPFileAccessCheck