Funzione GetInheritanceSourceW (aclapi.h)

La funzione GetInheritanceSource restituisce informazioni sull'origine delle voci di controllo di accesso ereditate in un elenco di controllo di accesso (ACL).

Sintassi

DWORD GetInheritanceSourceW(
  [in]           LPWSTR                pObjectName,
  [in]           SE_OBJECT_TYPE        ObjectType,
  [in]           SECURITY_INFORMATION  SecurityInfo,
  [in]           BOOL                  Container,
  [in, optional] GUID                  **pObjectClassGuids,
  [in]           DWORD                 GuidCount,
  [in]           PACL                  pAcl,
  [in, optional] PFN_OBJECT_MGR_FUNCTS pfnArray,
  [in]           PGENERIC_MAPPING      pGenericMapping,
  [out]          PINHERITED_FROMW      pInheritArray
);

Parametri

[in] pObjectName

Puntatore al nome dell'oggetto che utilizza l'ACL da controllare.

[in] ObjectType

Tipo di oggetto indicato da pObjectName. I valori possibili sono SE_FILE_OBJECT, SE_REGISTRY_KEY, SE_DS_OBJECT e SE_DS_OBJECT_ALL.

[in] SecurityInfo

Tipo di ACL utilizzato con l'oggetto . I valori possibili sono DACL_SECURITY_INFORMATION o SACL_SECURITY_INFORMATION.

[in] Container

TRUE se l'oggetto è un oggetto contenitore o FALSE se l'oggetto è un oggetto foglia. Si noti che l'unico oggetto foglia è SE_FILE_OBJECT.

[in, optional] pObjectClassGuids

Elenco facoltativo di GUID che identificano i tipi di oggetto o i nomi associati a pObjectName. Può trattarsi di NULL se il gestore oggetti supporta solo una classe oggetto o non ha un GUID associato alla classe oggetto.

[in] GuidCount

Numero di GUID a cui punta pObjectClassGuids.

[in] pAcl

Elenco di controllo di accesso per l'oggetto .

[in, optional] pfnArray

Riservato. Impostare questo parametro su NULL.

[in] pGenericMapping

Mapping dei diritti generici a diritti specifici per l'oggetto.

[out] pInheritArray

Puntatore a una matrice di strutture INHERITED_FROM compilate dalla funzione GetInheritanceSource con le informazioni di ereditarietà. Il chiamante deve allocare memoria sufficiente per una voce per ogni ACE nell'elenco di controllo di accesso.

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 GetInheritanceSource alloca memoria per i nomi restituiti nella struttura INHERITED_FROM . Al termine dell'utilizzo di questa memoria, il programma chiamante deve liberarlo chiamando FreeInheritedFromArray. Si noti che il chiamante deve fornire memoria per la matrice stessa. Se il chiamante ha allocato la memoria, il chiamante deve liberare tale memoria dopo aver chiamato FreeInheritedFromArray.

Questa funzione non gestisce le race condition. Se il thread chiama questa funzione nel momento approssimativo in cui un altro thread modifica il descrittore di sicurezza dell'oggetto, questa funzione potrebbe non riuscire.

Nota

L'intestazione aclapi.h definisce GetInheritanceSource 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

FreeInheritedFromArray