Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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