Função GetInheritanceSourceW (aclapi.h)

A função GetInheritanceSource retorna informações sobre a origem das ACEs ( entradas de controle de acesso ) herdadas em uma ACL ( lista de controle de acesso ).

Sintaxe

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

Parâmetros

[in] pObjectName

Um ponteiro para o nome do objeto que usa a ACL a ser verificada.

[in] ObjectType

O tipo de objeto indicado por pObjectName. Os valores possíveis são SE_FILE_OBJECT, SE_REGISTRY_KEY, SE_DS_OBJECT e SE_DS_OBJECT_ALL.

[in] SecurityInfo

O tipo de ACL usado com o objeto . Os valores possíveis são DACL_SECURITY_INFORMATION ou SACL_SECURITY_INFORMATION.

[in] Container

TRUE se o objeto for um objeto container ou FALSE se o objeto for um objeto folha. Observe que o único objeto folha é SE_FILE_OBJECT.

[in, optional] pObjectClassGuids

Lista opcional de GUIDs que identificam os tipos de objeto ou nomes associados a pObjectName. Isso poderá ser NULL se o gerenciador de objetos der suporte apenas a uma classe de objeto ou não tiver nenhum GUID associado à classe de objeto.

[in] GuidCount

Número de GUIDs apontados por pObjectClassGuids.

[in] pAcl

A ACL do objeto.

[in, optional] pfnArray

Reservado. Defina esse parâmetro como NULL.

[in] pGenericMapping

O mapeamento de direitos genéricos para direitos específicos para o objeto .

[out] pInheritArray

Um ponteiro para uma matriz de estruturas INHERITED_FROM que a função GetInheritanceSource preenche com as informações de herança. O chamador deve alocar memória suficiente para uma entrada para cada ACE na ACL.

Retornar valor

Se a função for bem-sucedida, a função retornará ERROR_SUCCESS.

Se a função falhar, ela retornará um código de erro diferente de zero definido em WinError.h.

Comentários

A função GetInheritanceSource aloca memória para os nomes retornados na estrutura INHERITED_FROM . Quando a função terminar de usar essa memória, o programa de chamada deverá liberá-la chamando FreeInheritedFromArray. Observe que o chamador deve fornecer memória para a própria matriz. Se o chamador alocou a memória, o chamador deverá liberar essa memória depois de chamar FreeInheritedFromArray.

Essa função não lida com condições de corrida. Se o thread chamar essa função no momento aproximado em que outro thread alterar o descritor de segurança do objeto, essa função poderá falhar.

Observação

O cabeçalho aclapi.h define GetInheritanceSource como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho aclapi.h
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

FreeInheritedFromArray