Função RsopAccessCheckByType (userenv.h)
A função RSoPAccessCheckByType determina se um descritor de segurança concede um conjunto especificado de direitos de acesso ao cliente identificado por um RSOPTOKEN.
Sintaxe
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
);
Parâmetros
[in] pSecurityDescriptor
Ponteiro para um SECURITY_DESCRIPTOR em relação ao qual o acesso no objeto é verificado.
[in] pPrincipalSelfSid
Ponteiro para um SID. Se o descritor de segurança estiver associado a um objeto que representa uma entidade de segurança (por exemplo, um objeto de usuário), esse parâmetro deverá ser o SID do objeto. Ao avaliar o acesso, esse SID substitui logicamente o SID em qualquer ACE que contenha o sid PRINCIPAL_SELF conhecido ("S-1-5-10"). Para obter mais informações, consulte Identificadores de segurança e SIDs conhecidos.
Esse parâmetro deverá ser NULL se o objeto protegido não representar uma entidade de segurança.
[in] pRsopToken
Ponteiro para um RSOPTOKEN válido que representa o cliente que tenta obter acesso ao objeto .
[in] dwDesiredAccessMask
Especifica uma máscara de acesso que indica os direitos de acesso para marcar. Essa máscara pode conter uma combinação de direitos de acesso genéricos, padrão e específicos. Para obter mais informações, consulte Direitos de Acesso e Máscaras de Acesso.
[in] pObjectTypeList
Ponteiro para uma matriz de estruturas OBJECT_TYPE_LIST que identificam a hierarquia de tipos de objeto para os quais marcar acesso. Cada elemento na matriz especifica um GUID que identifica o tipo de objeto e um valor que indica o nível do tipo de objeto na hierarquia de tipos de objeto. A matriz não deve ter dois elementos com o mesmo GUID.
A matriz deve ter pelo menos um elemento. O primeiro elemento na matriz deve estar no nível zero e identificar o próprio objeto. A matriz pode ter apenas um elemento de nível zero. O segundo elemento é um subobjeto, como um conjunto de propriedades, no nível 1. Seguindo cada entrada de nível 1 estão entradas subordinadas para os subobjetos de nível 2 a 4. Assim, os níveis para os elementos na matriz podem ser {0, 1, 2, 2, 1, 2, 3}. Se a lista de tipos de objeto estiver fora de ordem, RSoPAccessCheckByType falhará e GetLastError retornará ERROR_INVALID_PARAMETER.
[in] ObjectTypeListLength
Especifica o número de elementos na matriz pObjectTypeList .
[in] pGenericMapping
Ponteiro para a estrutura GENERIC_MAPPING associada ao objeto para o qual o acesso está sendo verificado.
[in] pPrivilegeSet
No momento, esse parâmetro não é usado.
[in] pdwPrivilegeSetLength
No momento, esse parâmetro não é usado.
[out] pdwGrantedAccessMask
Ponteiro para uma máscara de acesso que recebe os direitos de acesso concedidos.
Se a função for bem-sucedida, o parâmetro pbAccessStatus será definido como TRUE e a máscara será atualizada para conter os direitos padrão e específicos concedidos. Se pbAccessStatus estiver definido como FALSE, esse parâmetro será definido como zero. Se a função falhar, a máscara não será modificada.
[out] pbAccessStatus
Ponteiro para uma variável que recebe os resultados da marcar de acesso.
Se a função for bem-sucedida e o conjunto solicitado de direitos de acesso for concedido, esse parâmetro será definido como TRUE. Caso contrário, esse parâmetro será definido como FALSE. Se a função falhar, o status não será modificado.
Retornar valor
Se a função for bem-sucedida, o valor retornado será S_OK. Caso contrário, a função retornará um dos códigos de erro COM definidos no arquivo de cabeçalho do SDK da Plataforma WinError.h.
Comentários
A função RSoPAccessCheckByType compara o descritor de segurança especificado com o RSOPTOKEN especificado e indica, no parâmetro pbAccessStatus , se o acesso é concedido ou negado.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | userenv.h |
Biblioteca | Userenv.lib |
DLL | Userenv.dll |