Partilhar via


Classe CPrivateObjectSecurityDesc

Essa classe representa um objeto descritor de segurança de objeto privado.

Sintaxe

class CPrivateObjectSecurityDesc : public CSecurityDesc

Membros

Construtores públicos

Nome Descrição
CPrivateObjectSecurityDesc::CPrivateObjectSecurityDesc O construtor .
CPrivateObjectSecurityDesc::~CPrivateObjectSecurityDesc O destruidor.

Métodos públicos

Nome Descrição
CPrivateObjectSecurityDesc::ConvertToAutoInherit Chame esse método para converter um descritor de segurança e suas ACLs (listas de controle de acesso) em um formato que dê suporte à propagação automática de ACEs (entradas herdáveis de controle de acesso).
CPrivateObjectSecurityDesc::Create Chame esse método para alocar e inicializar um descritor de segurança auto-relativo para o objeto privado criado pelo gerenciador de recursos de chamada.
CPrivateObjectSecurityDesc::Get Chame esse método para recuperar informações do descritor de segurança de um objeto privado.
CPrivateObjectSecurityDesc::Set Chame esse método para modificar o descritor de segurança de um objeto privado.

Operadores

Operador Descrição
operador = Operador de atribuição.

Comentários

Essa classe, derivada de CSecurityDesc, fornece métodos para criar e gerenciar o descritor de segurança de um objeto privado.

Para ver uma introdução ao modelo de controle de acesso no Windows, confira Controle de Acesso no SDK do Windows.

Hierarquia de herança

CSecurityDesc

CPrivateObjectSecurityDesc

Requisitos

Cabeçalho: atlsecurity.h

CPrivateObjectSecurityDesc::ConvertToAutoInherit

Chame esse método para converter um descritor de segurança e suas ACLs (listas de controle de acesso) em um formato que dê suporte à propagação automática de ACEs (entradas herdáveis de controle de acesso).

bool ConvertToAutoInherit(
    const CSecurityDesc* pParent,
    GUID* ObjectType,
    bool bIsDirectoryObject,
    PGENERIC_MAPPING GenericMapping) throw();

Parâmetros

pParent
Ponteiro para um objeto CSecurityDesc que faz referência ao contêiner pai do objeto. Se não houver nenhum contêiner pai, esse parâmetro será NULL.

ObjectType
Ponteiro para uma estrutura GUID que identifica o tipo de objeto associado ao objeto atual. Defina ObjectType como NULL se o objeto não tiver um GUID.

bIsDirectoryObject
Especifica se o novo objeto pode conter outros objetos. Um valor de verdadeiro indica que o novo objeto é um contêiner. Um valor de falso indica que o novo objeto não é um contêiner.

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

Valor de retorno

Retorna true em caso de êxito, false em caso de falha.

Comentários

Esse método tenta determinar se as ACEs na DACL (lista de controle de acesso discricionário) e na SACL (lista de controle de acesso do sistema) do descritor de segurança atual foram herdadas do descritor de segurança pai. Ele chama a função ConvertToAutoInheritPrivateObjectSecurity.

CPrivateObjectSecurityDesc::CPrivateObjectSecurityDesc

O construtor .

CPrivateObjectSecurityDesc() throw();

Comentários

Inicializa o objeto CPrivateObjectSecurityDesc.

CPrivateObjectSecurityDesc::~CPrivateObjectSecurityDesc

O destruidor.

~CPrivateObjectSecurityDesc() throw();

Comentários

O destruidor libera todos os recursos alocados e exclui o descritor de segurança do objeto privado.

CPrivateObjectSecurityDesc::Create

Chame esse método para alocar e inicializar um descritor de segurança auto-relativo para o objeto privado criado pelo gerenciador de recursos de chamada.

bool Create(
    const CSecurityDesc* pParent,
    const CSecurityDesc* pCreator,
    bool bIsDirectoryObject,
    const CAccessToken& Token,
    PGENERIC_MAPPING GenericMapping) throw();

bool Create(
    const CSecurityDesc* pParent,
    const CSecurityDesc* pCreator,
    GUID* ObjectType,
    bool bIsContainerObject,
    ULONG AutoInheritFlags,
    const CAccessToken& Token,
    PGENERIC_MAPPING GenericMapping) throw();

Parâmetros

pParent
Ponteiro para um objeto CSecurityDesc que faz referência ao diretório pai no qual um novo objeto está sendo criado. Defina como NULL se não houver diretório pai.

pCreator
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, defina esse parâmetro como NULL.

bIsDirectoryObject
Especifica se o novo objeto pode conter outros objetos. Um valor de verdadeiro indica que o novo objeto é um contêiner. Um valor de falso indica que o novo objeto não é um contêiner.

Token
Referência ao objeto CAccessToken para o processo de cliente em cujo nome o objeto está sendo criado.

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

ObjectType
Ponteiro para uma estrutura GUID que identifica o tipo de objeto associado ao objeto atual. Defina ObjectType como NULL se o objeto não tiver um GUID.

bIsContainerObject
Especifica se o novo objeto pode conter outros objetos. Um valor de verdadeiro indica que o novo objeto é um contêiner. Um valor de falso indica que o novo objeto não é um contêiner.

AutoInheritFlags
Conjunto de sinalizadores de bit que controlam como as ACEs (entradas de controle de acesso) são herdadas de pParent. Confira CreatePrivateObjectSecurityEx para obter mais detalhes.

Valor de retorno

Retorna true em caso de êxito, false em caso de falha.

Comentários

Esse método chama CreatePrivateObjectSercurity ou CreatePrivateObjectSecurityEx.

O segundo método permite especificar o tipo de objeto GUID do novo objeto ou controlar como as ACEs são herdadas.

Observação

Um descritor de segurança auto-relativo é um descritor de segurança que armazena todas as suas informações de segurança em um bloco contíguo de memória.

CPrivateObjectSecurityDesc::Get

Chame esse método para recuperar informações do descritor de segurança de um objeto privado.

bool Get(
    SECURITY_INFORMATION si,
    CSecurityDesc* pResult) const throw();

Parâmetros

sim
Um conjunto de sinalizadores de bits que indica as partes do descritor de segurança a ser recuperado. Esse valor pode ser uma combinação dos sinalizadores de bit SECURITY_INFORMATION.

pResult
Ponteiro para um objeto CSecurityDesc que recebe uma cópia das informações solicitadas do descritor de segurança especificado.

Valor de retorno

Retorna true em caso de êxito, false em caso de falha.

Comentários

O descritor de segurança é uma estrutura e dados associados que contêm as informações de segurança de um objeto protegível.

CPrivateObjectSecurityDesc::operator =

Operador de atribuição.

CPrivateObjectSecurityDesc& operator= (const CPrivateObjectSecurityDesc& rhs) throw(...);

Parâmetros

rhs
O objeto CPrivateObjectSecurityDesc a ser atribuído ao objeto atual.

Valor de retorno

Retorna o objeto atualizado CPrivateObjectSecurityDesc.

CPrivateObjectSecurityDesc::Set

Chame esse método para modificar o descritor de segurança de um objeto privado.

bool Set(
    SECURITY_INFORMATION si,
    const CSecurityDesc& Modification,
    PGENERIC_MAPPING GenericMapping,
    const CAccessToken& Token) throw();

bool Set(
    SECURITY_INFORMATION si,
    const CSecurityDesc& Modification,
    ULONG AutoInheritFlags,
    PGENERIC_MAPPING GenericMapping,
    const CAccessToken& Token) throw();

Parâmetros

sim
Um conjunto de sinalizadores de bits que indica as partes do descritor de segurança a ser definido. Esse valor pode ser uma combinação dos sinalizadores de bit SECURITY_INFORMATION.

Modificação
Ponteiro para um objeto CSecurityDesc. As partes desse descritor de segurança indicadas pelo parâmetro si são aplicadas ao descritor de segurança do objeto.

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

Token
Referência ao objeto CAccessToken para o processo de cliente em cujo nome o objeto está sendo criado.

AutoInheritFlags
Conjunto de sinalizadores de bit que controlam como as ACEs (entradas de controle de acesso) são herdadas de pParent. Confira CreatePrivateObjectSecurityEx para obter mais detalhes.

Valor de retorno

Retorna true em caso de êxito, false em caso de falha.

Comentários

O segundo método permite especificar o tipo de objeto GUID do objeto ou controlar como as ACEs são herdadas.

Confira também

SECURITY_DESCRIPTOR
Visão geral da aula
Funções globais de segurança
Classe CSecurityDesc