Compartilhar via


Função GetInheritanceSourceA (aclapi.h)

Não há suporte para esta versão dessa função. Há suporte para a versão de caractere largo dessa função, GetInheritanceSourceW.

Sintaxe

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

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

VERDADEIRO se o objeto for um objeto de contêiner 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 pode ser NULL se o gerenciador de objetos oferecer 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 para 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.

Valor de retorno

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.

Observações

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 alocar 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.

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho aclapi.h
biblioteca Advapi32.lib
de DLL Advapi32.dll

Consulte também

FreeInheritedFromArray