Condividi tramite


Funzione GetInheritanceSourceA (aclapi.h)

Questa versione di questa funzione non è supportata. È supportata la versione a caratteri wide di questa funzione, GetInheritanceSourceW.

Sintassi

DWORD GetInheritanceSourceA(
  [in]           LPSTR                 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_FROMA      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. Questo può essere NULL se gestione oggetti supporta solo una classe oggetto o non dispone di GUID associato alla classe oggetto.

[in] GuidCount

Numero di GUID a cui punta pObjectClassGuids.

[in] pAcl

ACL 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 riempite dalla funzione GetInheritanceSource con le informazioni sull'ereditarietà. Il chiamante deve allocare memoria sufficiente per una voce per ogni ACE nell'ACL.

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.

Osservazioni

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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione aclapi.h
libreria Advapi32.lib
dll Advapi32.dll

Vedere anche

FreeInheritedFromArray