Condividi tramite


Funzione RsopAccessCheckByType (userenv.h)

La funzione RSoPAccessCheckByType determina se un descrittore di sicurezza concede un set specificato di diritti di accesso al client identificato da un RSOPTOKEN.

Sintassi

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

Parametri

[in] pSecurityDescriptor

Puntatore a un SECURITY_DESCRIPTOR su cui viene controllato l'accesso all'oggetto.

[in] pPrincipalSelfSid

Puntatore a un SID. Se il descrittore di sicurezza è associato a un oggetto che rappresenta un'entità (ad esempio, un oggetto utente), questo parametro deve essere il SID dell'oggetto . Quando si valuta l'accesso, questo SID sostituisce logicamente il SID in qualsiasi ACE contenente il SID noto PRINCIPAL_SELF SID ("S-1-5-10"). Per altre informazioni, vedere Identificatori di sicurezza e SID noti.

Questo parametro deve essere NULL se l'oggetto protetto non rappresenta un'entità.

[in] pRsopToken

Puntatore a un RSOPTOKEN valido che rappresenta il client che tenta di ottenere l'accesso all'oggetto.

[in] dwDesiredAccessMask

Specifica una maschera di accesso che indica i diritti di accesso da controllare. Questa maschera può contenere una combinazione di diritti di accesso generici, standard e specifici. Per altre informazioni, vedere Access Rights and Access Masks.For more information, see Access Rights and Access Masks.

[in] pObjectTypeList

Puntatore a una matrice di strutture OBJECT_TYPE_LIST che identificano la gerarchia dei tipi di oggetto per cui controllare l'accesso. Ogni elemento nella matrice specifica un GUID che identifica il tipo di oggetto e un valore che indica il livello del tipo di oggetto nella gerarchia dei tipi di oggetto. La matrice non deve avere due elementi con lo stesso GUID.

La matrice deve avere almeno un elemento. Il primo elemento nella matrice deve essere a livello zero e identificare l'oggetto stesso. La matrice può avere un solo elemento di livello zero. Il secondo elemento è un oggetto secondario, ad esempio un set di proprietà, al livello 1. Dopo ogni voce di livello 1 sono presenti voci subordinate per il livello da 2 a 4 sottooggetti. Pertanto, i livelli per gli elementi nella matrice potrebbero essere {0, 1, 2, 2, 1, 2, 3}. Se l'elenco dei tipi di oggetto non è in ordine, RSoPAccessCheckByType ha esito negativo e GetLastError restituisce ERROR_INVALID_PARAMETER.

[in] ObjectTypeListLength

Specifica il numero di elementi nella matrice pObjectTypeList .

[in] pGenericMapping

Puntatore alla struttura GENERIC_MAPPING associata all'oggetto per il quale viene controllato l'accesso.

[in] pPrivilegeSet

Questo parametro è attualmente inutilizzato.

[in] pdwPrivilegeSetLength

Questo parametro è attualmente inutilizzato.

[out] pdwGrantedAccessMask

Puntatore a una maschera di accesso che riceve i diritti di accesso concessi.

Se la funzione ha esito positivo, il parametro pbAccessStatus è impostato su TRUE e la maschera viene aggiornata in modo da contenere i diritti standard e specifici concessi. Se pbAccessStatus è impostato su FALSE, questo parametro è impostato su zero. Se la funzione ha esito negativo, la maschera non viene modificata.

[out] pbAccessStatus

Puntatore a una variabile che riceve i risultati del controllo di accesso.

Se la funzione ha esito positivo e viene concesso il set richiesto di diritti di accesso, questo parametro viene impostato su TRUE. In caso contrario, questo parametro è impostato su FALSE. Se la funzione ha esito negativo, lo stato non viene modificato.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene S_OK. In caso contrario, la funzione restituisce uno dei codici di errore COM definiti nel file di intestazione WinError.h di Platform SDK.

Commenti

La funzione RSoPAccessCheckByType confronta il descrittore di sicurezza specificato con l'oggetto RSOPTOKEN specificato e indica, nel parametro pbAccessStatus , se l'accesso viene concesso o negato.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione userenv.h
Libreria Userenv.lib
DLL Userenv.dll

Vedi anche

Funzioni Criteri di gruppo

Panoramica di Criteri di gruppo

RSoPFileAccessCheck