Direitos de acesso
Um direito de acesso é o direito de executar uma operação específica no objeto . Por exemplo, o FILE_READ_DATA direito de acesso especifica o direito de leitura de um arquivo.
Ao abrir um identificador para um objeto, você especifica um conjunto de direitos de acesso correspondentes às operações que podem ser executadas no objeto . O sistema verifica os direitos de acesso especificados no descritor de segurança do objeto para ver se cada operação é permitida para o usuário atual. (Para obter mais informações, consulte Descritores de segurança.)
Os direitos de acesso vêm em dois tipos:
Um direito de acesso específico é um direito de executar uma única operação. Direitos de acesso específicos podem depender do tipo de objeto.
Um direito de acesso genérico é um direito de executar um de um conjunto de operações semelhantes. Os direitos de acesso genéricos são independentes do tipo de objeto.
Os direitos de acesso padrão são direitos de acesso específicos que se aplicam a todos os tipos de objetos. Por exemplo, o direito de acesso DELETE é o direito de excluir um objeto, independentemente do tipo. Para obter mais informações sobre os direitos de acesso padrão disponíveis, consulte ACCESS_MASK.
Os objetos também têm direitos de acesso específicos que dependem do tipo do objeto. Por exemplo, o FILE_READ_DATA representa o direito de leitura de um arquivo, enquanto o KEY_QUERY_VALUE representa o direito de ler as entradas de valor de uma chave do Registro.
Um tipo de objeto pode ter zero, um ou mais direitos de acesso que correspondem à noção geral de leitura ou gravação em um objeto. Por exemplo, além de FILE_READ_DATA, os objetos de arquivo têm o direito de acesso FILE_READ_ATTRIBUTES, que representa a leitura dos metadados de um arquivo (como o tempo de criação do arquivo). Os objetos de chave têm KEY_QUERY_VALUE e KEY_ENUMERATE_SUBKEYS, o que representa o direito de ler as subchaves de uma chave.
Para simplificar a especificação de todos os direitos de acesso que correspondem a uma noção geral, como leitura ou gravação, o sistema fornece direitos de acesso genéricos. O sistema mapeia um direito de acesso genérico para o conjunto apropriado de direitos de acesso específicos para o objeto.
O sistema fornece os seguintes direitos de acesso genéricos:
GENERIC_READ
GENERIC_WRITE
GENERIC_EXECUTE
GENERIC_ALL
Assim, o sistema mapeia GENERIC_READ para um conjunto de direitos que inclui FILE_READ_DATA e FILE_READ_ATTRIBUTES para um arquivo e KEY_QUERY_VALUE e KEY_ENUMERATE_SUBKEYS para uma chave. Para obter mais informações sobre cada direito de acesso genérico, consulte ACCESS_MASK.