Compartilhar via


Função CreatePrivateObjectSecurity (securitybaseapi.h)

A função CreatePrivateObjectSecurity aloca e inicializa um descritor de segurança auto-relativo para um novo objeto privado. Um servidor protegido chama essa função quando cria um novo objeto privado.

Para especificar o GUID do tipo de objeto do novo objeto ou controlar como as ACEs (entradas de controle de acesso ) são herdadas, use a função CreatePrivateObjectSecurityEx .

Sintaxe

BOOL CreatePrivateObjectSecurity(
  [in, optional] PSECURITY_DESCRIPTOR ParentDescriptor,
  [in, optional] PSECURITY_DESCRIPTOR CreatorDescriptor,
  [out]          PSECURITY_DESCRIPTOR *NewDescriptor,
  [in]           BOOL                 IsDirectoryObject,
  [in, optional] HANDLE               Token,
  [in]           PGENERIC_MAPPING     GenericMapping
);

Parâmetros

[in, optional] ParentDescriptor

Um ponteiro para o descritor de segurança para o diretório pai no qual um novo objeto está sendo criado. Se não houver nenhum diretório pai, esse parâmetro poderá ser NULL.

[in, optional] CreatorDescriptor

Um ponteiro para um descritor de segurança fornecido pelo criador do objeto. Se o criador do objeto não passar explicitamente informações de segurança para o novo objeto, esse parâmetro se destina a ser NULL.

[out] NewDescriptor

Um ponteiro para uma variável que recebe um ponteiro para o descritor de segurança auto-relativo recém-alocado. O chamador deve chamar a função DestroyPrivateObjectSecurity para liberar esse descritor de segurança.

[in] IsDirectoryObject

Especifica se o novo objeto é um contêiner. Um valor true indica que o objeto contém outros objetos, como um diretório.

[in, optional] Token

Um identificador para o token de acesso para o processo do cliente em cujo nome o objeto está sendo criado. Se esse for um token de representação, ele deverá estar no nível securityIdentification ou superior. Para obter uma descrição completa do nível de representação SecurityIdentification, consulte o SECURITY_IMPERSONATION_LEVEL tipo enumerado.

Um token de cliente é usado para recuperar informações de segurança padrão para o novo objeto, como seu proprietário padrão, grupo primário e lista de controle de acesso discricionário. O token deve estar aberto para acesso TOKEN_QUERY .

Se todas as condições a seguir forem verdadeiras, o identificador deverá ser aberto para acesso TOKEN_DUPLICATE além de acesso TOKEN_QUERY .

  • O identificador de token refere-se a um token primário.
  • O descritor de segurança do token contém um ou mais ACEs com o SID OwnerRights .
  • Um descritor de segurança é especificado para o parâmetro CreatorDescriptor .
  • O chamador dessa função não define o sinalizador SEF_AVOID_OWNER_RESTRICTION no parâmetro AutoInheritFlags .

[in] GenericMapping

Um ponteiro para uma estrutura GENERIC_MAPPING que especifica o mapeamento de cada direito genérico para direitos específicos para o objeto.

Retornar valor

Se a função for bem-sucedida, a função retornará diferente de zero.

Se a função falhar, ela retornará zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Se uma SACL ( lista de controle de acesso do sistema ) for especificada na SECURITY_DESCRIPTOR especificada pelo parâmetro CreatorDescriptor , o parâmetro Token deverá ter o privilégio SE_SECURITY_NAME habilitado. A função CreatePrivateObjectSecurity verifica esse privilégio e pode gerar auditorias durante o processo.

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 securitybaseapi.h (inclua Windows.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

Funções de Controle de Acesso cliente/servidor

Visão geral do Controle de Acesso cliente/servidor

CreatePrivateObjectSecurityEx

DestroyPrivateObjectSecurity

GENERIC_MAPPING

GetPrivateObjectSecurity

GetTokenInformation

OpenProcessToken

SECURITY_DESCRIPTOR

SECURITY_IMPERSONATION_LEVEL

SetPrivateObjectSecurity