Funzione LookupSecurityDescriptorPartsA (aclapi.h)

La funzione LookupSecurityDescriptorParts recupera le informazioni di sicurezza da un descrittore di sicurezza auto-relativo.

Sintassi

DWORD LookupSecurityDescriptorPartsA(
  [out, optional] PTRUSTEE_A           *ppOwner,
  [out, optional] PTRUSTEE_A           *ppGroup,
  [out, optional] PULONG               pcCountOfAccessEntries,
  [out, optional] PEXPLICIT_ACCESS_A   *ppListOfAccessEntries,
  [out, optional] PULONG               pcCountOfAuditEntries,
  [out, optional] PEXPLICIT_ACCESS_A   *ppListOfAuditEntries,
  [in]            PSECURITY_DESCRIPTOR pSD
);

Parametri

[out, optional] ppOwner

Puntatore a una variabile che riceve un puntatore a una struttura TRUSTEE . La funzione cerca il nome associato all'identificatore di sicurezza proprietario (SID) nel descrittore di sicurezzapSD e restituisce un puntatore al nome nel membro ptstrName della struttura TRUSTEE. La funzione imposta il membro TrusteeForm su TRUSTEE_IS_NAME.

Questo parametro può essere NULL se non si è interessati al nome del proprietario.

[out, optional] ppGroup

Puntatore a una variabile che riceve un puntatore a una struttura TRUSTEE . La funzione cerca il nome associato al SID del gruppo primario del descrittore di sicurezza e restituisce un puntatore al nome nel membro ptstrName della struttura TRUSTEE . La funzione imposta il membro TrusteeForm su TRUSTEE_IS_NAME.

Questo parametro può essere NULL se non si è interessati al nome del gruppo.

[out, optional] pcCountOfAccessEntries

Puntatore a un ULONG che riceve il numero di strutture EXPLICIT_ACCESS restituite nella matrice pListOfAccessEntries . Questo parametro può essere NULL solo se anche il parametro pListOfAccessEntries è NULL.

[out, optional] ppListOfAccessEntries

Puntatore a una variabile che riceve un puntatore a una matrice di strutture EXPLICIT_ACCESS che descrivono le voci di controllo di accesso (ACL) nell'elenco di controllo di accesso discrezionale del descrittore di sicurezza. La struttura TRUSTEE in queste strutture EXPLICIT_ACCESS utilizza il form TRUSTEE_IS_NAME. Per una descrizione del modo in cui una matrice di strutture EXPLICIT_ACCESS descrive gli ACL in un elenco di controllo di accesso , vedere la funzione GetExplicitEntriesFromAcl . Se questo parametro è NULL, anche il parametro cCountOfAccessEntries deve essere NULL.

[out, optional] pcCountOfAuditEntries

Puntatore a un ULONG che riceve il numero di strutture EXPLICIT_ACCESS restituite nella matrice pListOfAuditEntries . Questo parametro può essere NULL solo se anche il parametro pListOfAuditEntries è NULL.

[out, optional] ppListOfAuditEntries

Puntatore a una variabile che riceve un puntatore a una matrice di strutture EXPLICIT_ACCESS che descrivono gli ACL nell'elenco di controllo di accesso di sistema (SACL) del descrittore di sicurezza. La struttura TRUSTEE in queste strutture di EXPLICIT_ACCESS usa il form TRUSTEE_IS_NAME. Se questo parametro è NULL, anche il parametro cCountOfAuditEntries deve essere NULL.

[in] pSD

Puntatore a un descrittore di sicurezza auto-relativo esistente da cui la funzione recupera le informazioni di sicurezza.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce ERROR_SUCCESS.

Se la funzione ha esito negativo, restituisce un codice di errore diverso da zero definito in WinError.h.

Commenti

La funzione LookupSecurityDescriptorParts recupera i nomi del proprietario e del gruppo primario del descrittore di sicurezza. Questa funzione restituisce anche le descrizioni degli ACL nelle voci DACL e controllo di controllo nell'elenco sacl del descrittore di sicurezza.

I parametri diversi da pSD possono essere NULL se non si è interessati alle informazioni. Se non si desiderano informazioni sull'elenco DACL, sia pListOfAccessEntries che cCountOfAuditEntries devono essere NULL. Se non si desiderano informazioni su SACL, sia pListOfAuditEntries che cCountOfAuditEntries devono essere NULL. Analogamente, se si desiderano informazioni DACL o SACL, entrambi i parametri corrispondenti non devono essere NULL.

Al termine dell'utilizzo di uno dei buffer restituiti dai parametri pOwner, pGroup, pListOfAccessEntries o pListOfAuditEntries , liberarli chiamando la funzione LocalFree .

La funzione LookupSecurityDescriptorParts è destinata a server attendibili che implementano o espongono la sicurezza nei propri oggetti. La funzione funziona con un descrittore di sicurezza auto-relativo adatto per la serializzazione in un flusso e l'archiviazione su disco, in quanto un server attendibile potrebbe richiedere.

Nota

L'intestazione aclapi.h definisce LookupSecurityDescriptorParts come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione aclapi.h
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

ACE

ACL

Funzioni di Controllo di accesso client/server

Panoramica del Controllo di accesso client/server

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

LocalFree

SECURITY_DESCRIPTOR

SID

FIDUCIARIO