Partilhar via


CSid classe

Observação

A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta classe é um wrapper para uma SID estrutura (identificador de segurança).

Importante

Esta classe e os seus membros não podem ser usados em aplicações que executam no Windows Runtime.

Sintaxe

class CSid;

Membros

Definições de tipos públicas

Nome Description
CSid::CSidArray Uma variedade de CSid objetos.

Construtores públicos

Nome Description
CSid::CSid O construtor.
CSid::~CSid O destruidor.

Métodos públicos

Nome Description
CSid::AccountName Devolve o nome da conta associada ao CSid objeto.
CSid::Domain Devolve o nome do domínio associado ao CSid objeto.
CSid::EqualPrefix Prefixos de testes SID (identificadores de segurança) para igualdade.
CSid::GetLength Devolve o comprimento do CSid objeto.
CSid::GetPSID Devolve um ponteiro para uma SID estrutura.
CSid::GetPSID_IDENTIFIER_AUTHORITY Devolve um ponteiro para a SID_IDENTIFIER_AUTHORITY estrutura.
CSid::GetSubAuthority Devolve uma subautoridade especificada numa SID estrutura.
CSid::GetSubAuthorityCount Devolve a contagem de subautoridade.
CSid::IsValid Testa a validade do CSid objeto.
CSid::LoadAccount Atualiza o CSid objeto com o nome da conta e domínio, ou uma estrutura existente SID .
CSid::Sid Devolve a cadeia ID.
CSid::SidNameUse Devolve uma descrição do estado do CSid objeto.

Operadores

Nome Description
CSid::operator = Operador de atribuição.
CSid::operator const SID * Conjura um CSid objeto para um ponteiro para uma SID estrutura.

Operadores Globais

Nome Description
operator == Testa dois objetos descritores de segurança para igualdade
operator != Testa dois objetos descritores de segurança para desigualdade
operator < Compara o valor relativo de dois objetos descritores de segurança.
operator > Compara o valor relativo de dois objetos descritores de segurança.
operator <= Compara o valor relativo de dois objetos descritores de segurança.
operator >= Compara o valor relativo de dois objetos descritores de segurança.

Observações

A SID estrutura é uma estrutura de comprimento variável usada para identificar de forma única utilizadores ou grupos.

As aplicações não devem modificar a SID estrutura diretamente, mas sim usar os métodos fornecidos nesta classe de wrapper. Ver também AtlGetOwnerSid, AtlSetGroupSid, AtlGetGroupSid, e AtlSetOwnerSid.

Para uma introdução ao modelo de controlo de acesso no Windows, veja Controlo de Acesso no SDK do Windows.

Requerimentos

Cabeçalho: atlsecurity.h

CSid::AccountName

Devolve o nome da conta associada ao CSid objeto.

LPCTSTR AccountName() const throw(...);

Valor de retorno

Devolve o LPCTSTR apontamento para o nome da conta.

Observações

Este método tenta encontrar um nome para o identificador de segurança especificado SID . Para detalhes completos, veja LookupAccountSid.

Se não for encontrado o nome da conta para o SID , AccountName devolve uma cadeia vazia. Este resultado pode ocorrer se um timeout de rede impedir que este método encontre o nome. Também ocorre para identificadores de segurança sem nome de conta correspondente, como um SID que identifica uma sessão de iniciação de sessão.

CSid::CSid

O construtor.

CSid() throw();
CSid(const SID& rhs) throw(...);
CSid(const CSid& rhs) throw(...);

CSid(
    const SID_IDENTIFIER_AUTHORITY& IdentifierAuthority,
    BYTE nSubAuthorityCount,
    ...) throw(...);

explicit CSid(
    LPCTSTR pszAccountName,
    LPCTSTR pszSystem = NULL) throw(...);

explicit CSid(
    const SID* pSid,
    LPCTSTR pszSystem = NULL) throw(...);

Parâmetros

rhs
Um objeto existente CSid ou SID estrutura (identificador de segurança).

IdentifierAuthority
A autoridade.

nSubAuthorityCount
A contagem de subautoridades.

pszAccountName
O nome da conta.

pszSystem
O nome do sistema. Esta cadeia pode ser o nome de um computador remoto. Se esta cadeia for NULL, o sistema local é usado em vez disso.

pSid
Um ponteiro para uma SID estrutura.

Observações

O construtor inicializa o CSid objeto, definindo um membro interno de dados para SidTypeInvalid, ou copiando as definições de uma conta existente CSid, SID, ou existente.

Se a inicialização falhar, o construtor lançará uma CAtlException Class.

CSid::~CSid

O destruidor.

virtual ~CSid() throw();

Observações

O destruidor liberta quaisquer recursos adquiridos pelo objeto.

CSid::CSidArray

Uma variedade de CSid objetos.

typedef CAtlArray<CSid> CSidArray;

Observações

Este typedef especifica o tipo de array que pode ser usado para recuperar identificadores de segurança de uma ACL (lista de controlo de acesso). Consulte CAcl::GetAclEntries.

CSid::Domain

Devolve o nome do domínio associado ao CSid objeto.

LPCTSTR Domain() const throw(...);

Valor de retorno

Devolve o LPCTSTR apontamento ao domínio.

Observações

Este método tenta encontrar um nome para o identificador de segurança especificado SID . Para detalhes completos, veja LookupAccountSid.

Se não for encontrado nenhum nome de conta para o SID , Domain devolve o domínio como uma cadeia vazia. Este resultado pode ocorrer se um timeout de rede impedir que este método encontre o nome. Também ocorre para identificadores de segurança sem nome de conta correspondente, como um SID que identifica uma sessão de iniciação de sessão.

CSid::EqualPrefix

Prefixos de testes SID (identificadores de segurança) para igualdade.

bool EqualPrefix(const SID& rhs) const throw();
bool EqualPrefix(const CSid& rhs) const throw();

Parâmetros

rhs
A SID estrutura ou CSid objeto (identificador de segurança) a comparar.

Valor de retorno

Retornos TRUE do sucesso, FALSE do fracasso.

Observações

Para obter mais informações, veja EqualPrefixSid.

CSid::GetLength

Devolve o comprimento do CSid objeto.

UINT GetLength() const throw();

Valor de retorno

Devolve o comprimento em bytes do CSid objeto.

Observações

Se a CSid estrutura não for válida, o valor de retorno fica indefinido. Antes de chamar GetLength, use a CSid::IsValid função membro para verificar se CSid é válido.

Observação

Em builds de depuração, a função causará um ASSERT se o CSid objeto não for válido.

CSid::GetPSID

Devolve um ponteiro para uma SID estrutura (identificador de segurança).

const SID* GetPSID() const throw(...);

Valor de retorno

Devolve o endereço da CSid estrutura subjacente SID do objeto.

CSid::GetPSID_IDENTIFIER_AUTHORITY

Devolve um ponteiro para a SID_IDENTIFIER_AUTHORITY estrutura.

const SID_IDENTIFIER_AUTHORITY* GetPSID_IDENTIFIER_AUTHORITY() const throw();

Valor de retorno

Se o método tiver sucesso, devolve o endereço da SID_IDENTIFIER_AUTHORITY estrutura. Se falhar, o valor de retorno fica indefinido. Pode ocorrer falha se o CSid objeto não for válido, caso em que o CSid::IsValid método devolve FALSE. A função GetLastError pode ser chamada para obter informação de erro alargada.

Observação

Em builds de depuração, a função causará um ASSERT se o CSid objeto não for válido.

CSid::GetSubAuthority

Devolve uma subautoridade especificada numa SID estrutura (identificador de segurança).

DWORD GetSubAuthority(DWORD nSubAuthority) const throw();

Parâmetros

nSubAuthority
A subautoridade.

Valor de retorno

Devolve a subautoridade referenciada por nSubAuthority. O valor da subautoridade é um identificador relativo (RID).

Observações

O nSubAuthority parâmetro especifica um valor de índice que identifica o elemento do array de subautoridade que o método irá devolver. O método não realiza testes de validação sobre este valor. Uma aplicação pode ligar CSid::GetSubAuthorityCount para descobrir o intervalo de valores aceitáveis.

Observação

Em builds de depuração, a função causará um ASSERT se o CSid objeto não for válido.

CSid::GetSubAuthorityCount

Devolve a contagem de subautoridade.

UCHAR GetSubAuthorityCount() const throw();

Valor de retorno

Se o método tiver sucesso, o valor de retorno é a contagem de subautoridades.

Se o método falhar, o valor de retorno fica indefinido. O método falha se o CSid objeto for inválido. Para obter informações de erro estendidas, ligue para GetLastError.

Observação

Em builds de depuração, a função causará um ASSERT se o CSid objeto não for válido.

CSid::IsValid

Testa a validade do CSid objeto.

bool IsValid() const throw();

Valor de retorno

Retorna TRUE se o CSid objeto for válido, FALSE se não. Não há informação de erro alargada para este método; Não ligues GetLastError.

Observações

O IsValid método valida o CSid objeto verificando que o número de revisão está dentro de um intervalo conhecido e que o número de subautoridades é inferior ao máximo.

CSid::LoadAccount

Atualiza o CSid objeto atribuído ao nome da conta e domínio, ou a uma estrutura existente SID (identificador de segurança).

bool LoadAccount(
    LPCTSTR pszAccountName,
    LPCTSTR pszSystem = NULL) throw(...);

bool LoadAccount(
    const SID* pSid,
    LPCTSTR pszSystem = NULL) throw(...);

Parâmetros

pszAccountName
O nome da conta.

pszSystem
O nome do sistema. Esta cadeia pode ser o nome de um computador remoto. Se esta cadeia for NULL, o sistema local é usado em vez disso.

pSid
Um ponteiro para uma SID estrutura.

Valor de retorno

Retornos TRUE do sucesso, FALSE do fracasso. Para obter informações de erro estendidas, ligue para GetLastError.

Observações

LoadAccount tenta encontrar um identificador de segurança para o nome especificado. Para obter mais informações, veja LookupAccountSid.

CSid::operator =

Operador de atribuição.

CSid& operator= (const CSid& rhs) throw(...);
CSid& operator= (const SID& rhs) throw(...);

Parâmetros

rhs
O SID (identificador de segurança) ou CSid para atribuir ao CSid objeto.

Valor de retorno

Devolve uma referência ao objeto atualizado CSid .

operator ==

Testa dois objetos descritores de segurança para igualdade.

bool operator==(
    const CSid& lhs,
    const CSid& rhs) throw();

Parâmetros

lhs
O SID (identificador de segurança) ou CSid esse aparece no lado esquerdo do == operador.

rhs
O SID (identificador de segurança) ou CSid aquele que aparece no lado direito do == operador.

Valor de retorno

TRUE se os descritores de segurança forem iguais, caso contrário FALSE.

operator !=

Testa dois objetos descritores de segurança para desigualdade.

bool operator!=(
    const CSid& lhs,
    const CSid& rhs) throw();

Parâmetros

lhs
O SID (identificador de segurança) ou CSid esse aparece no lado esquerdo do != operador.

rhs
O SID (identificador de segurança) ou CSid aquele que aparece no lado direito do != operador.

Valor de retorno

TRUE se os descritores de segurança não forem iguais, caso contrário FALSE.

operator <

Compara o valor relativo de dois objetos descritores de segurança.

bool operator<(
    const CSid& lhs,
    const CSid& rhs) throw();

Parâmetros

lhs
O SID (identificador de segurança) ou CSid esse aparece no lado esquerdo do < operador.

rhs
O SID (identificador de segurança) ou CSid aquele que aparece no lado direito do < operador.

Valor de retorno

TRUE se lhs for menor que rhs, caso contrário FALSE.

operator <=

Compara o valor relativo de dois objetos descritores de segurança.

bool operator<=(
    const CSid& lhs,
    const CSid& rhs) throw();

Parâmetros

lhs
O SID (identificador de segurança) ou CSid esse aparece no lado esquerdo do <= operador.

rhs
O SID (identificador de segurança) ou CSid aquele que aparece no lado direito do <= operador.

Valor de retorno

TRUE se lhs for menor ou igual a rhs, caso contrário FALSE.

operator >

Compara o valor relativo de dois objetos descritores de segurança.

bool operator>(
    const CSid& lhs,
    const CSid& rhs) throw();

Parâmetros

lhs
O SID (identificador de segurança) ou CSid esse aparece no lado esquerdo do > operador.

rhs
O SID (identificador de segurança) ou CSid aquele que aparece no lado direito do > operador.

Valor de retorno

TRUE se lhs for maior que rhs, caso contrário FALSE.

operator >=

Compara o valor relativo de dois objetos descritores de segurança.

bool operator>=(
    const CSid& lhs,
    const CSid& rhs) throw());

Parâmetros

lhs
O SID (identificador de segurança) ou CSid esse aparece no lado esquerdo do >= operador.

rhs
O SID (identificador de segurança) ou CSid aquele que aparece no lado direito do >= operador.

Valor de retorno

TRUE se lhs for maior ou igual a rhs, caso contrário FALSE.

CSid::operator const SID *

Conjura um CSid objeto para um ponteiro para uma SID estrutura (identificador de segurança).

operator const SID *() const;

Observações

Devolve o endereço da SID estrutura.

CSid::Sid

Devolve a SID estrutura (identificador de segurança) como uma cadeia.

LPCTSTR Sid() const throw(...);

Valor de retorno

Devolve a SID estrutura como uma cadeia num formato adequado para exibição, armazenamento ou transmissão. Equivalente a ConvertSidToStringSid.

CSid::SidNameUse

Devolve uma descrição do estado do CSid objeto.

SID_NAME_USE SidNameUse() const throw();

Valor de retorno

Devolve o valor do elemento de dados que armazena um valor que descreve o estado do CSid objeto.

Valor Description
SidTypeUser Indica um utilizador SID (identificador de segurança).
SidTypeGroup Indica um grupo SID.
SidTypeDomain Indica um domínio SID.
SidTypeAlias Indica um pseudónimo SID.
SidTypeWellKnownGroup Indica a SID para um grupo bem conhecido.
SidTypeDeletedAccount Indica um SID para uma conta eliminada.
SidTypeInvalid Indica um .SID
SidTipoDesconhecido Indica um tipo desconhecido SID .
SidTypeComputer Indica um SID para um computador.

Observações

Chamar CSid::LoadAccount para atualizar o CSid objeto antes de chamar SidNameUse para devolver o seu estado. SidNameUse não altera o estado do objeto (chamando para LookupAccountName ou LookupAccountSid), mas apenas devolve o estado atual.

Consulte também

Amostra de segurança
Visão geral da classe
Funções globais de segurança
Operators