Clase CSid
Esta clase es un contenedor de una estructura SID
(identificador de seguridad).
Importante
Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.
Sintaxis
class CSid;
Miembros
Typedefs públicas
Nombre | Descripción |
---|---|
CSid::CSidArray |
Una matriz de objetos CSid . |
Constructores públicos
Nombre | Descripción |
---|---|
CSid::CSid |
Constructor . |
CSid::~CSid |
El destructor . |
Métodos públicos
Nombre | Descripción |
---|---|
CSid::AccountName |
Devuelve el nombre de la cuenta asociada al objeto CSid . |
CSid::Domain |
Devuelve el nombre del dominio asociado al objeto CSid . |
CSid::EqualPrefix |
Hace pruebas con los prefijos de SID (identificador de seguridad) para comprobar la igualdad. |
CSid::GetLength |
Devuelve la longitud del objeto CSid . |
CSid::GetPSID |
Devuelve un puntero a una estructura SID . |
CSid::GetPSID_IDENTIFIER_AUTHORITY |
Devuelve un puntero a la estructura SID_IDENTIFIER_AUTHORITY . |
CSid::GetSubAuthority |
Devuelve una subautoridad especificada en una estructura SID . |
CSid::GetSubAuthorityCount |
Devuelve el recuento de subautoridades. |
CSid::IsValid |
Hace pruebas con el objeto CSid para comprobar la validez. |
CSid::LoadAccount |
Actualiza el objeto CSid según el nombre de la cuenta y el dominio, o una estructura SID existente. |
CSid::Sid |
Devuelve la cadena de Id. |
CSid::SidNameUse |
Devuelve una descripción del estado del objeto CSid . |
Operadores
Nombre | Descripción |
---|---|
CSid::operator = |
Operador de asignación. |
CSid::operator const SID * |
Convierte un objeto CSid en un puntero dirigido a una estructura SID . |
Operadores globales
Nombre | Descripción |
---|---|
operator == |
Hace pruebas de dos objetos descriptores de seguridad para comprobar la igualdad |
operator != |
Hace pruebas de dos objetos descriptores de seguridad para comprobar la desigualdad |
operator < |
Compara el valor relativo de dos objetos descriptores de seguridad. |
operator > |
Compara el valor relativo de dos objetos descriptores de seguridad. |
operator <= |
Compara el valor relativo de dos objetos descriptores de seguridad. |
operator >= |
Compara el valor relativo de dos objetos descriptores de seguridad. |
Comentarios
La estructura SID
es una estructura de longitud variable que se usa para identificar de forma única a usuarios o a grupos.
Las aplicaciones no deben modificar la estructura SID
directamente, sino usar los métodos proporcionados en esta clase contenedora. Consulte también AtlGetOwnerSid
, AtlSetGroupSid
, AtlGetGroupSid
y AtlSetOwnerSid
.
Para una introducción al modelo de control de acceso en Windows, consulte Control de acceso en Windows SDK.
Requisitos
Encabezado: atlsecurity.h
CSid::AccountName
Devuelve el nombre de la cuenta asociada al objeto CSid
.
LPCTSTR AccountName() const throw(...);
Valor devuelto
Devuelve el valor LPCTSTR
que apunta al nombre de la cuenta.
Comentarios
Este método intenta buscar un nombre para el SID
especificado (identificador de seguridad). Para conocer los detalles completos, consulte LookupAccountSid
.
Si no se puede encontrar ningún nombre de cuenta para el SID
, AccountName
devuelve una cadena vacía. Este resultado puede producirse si un tiempo de espera de red impide que este método busque el nombre. También se produce en los identificadores de seguridad sin un nombre de cuenta correspondiente, como un SID
que identifica una sesión de inicio de sesión.
CSid::CSid
Constructor .
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
Un objeto CSid
o una estructura SID
(identificador de seguridad) que ya existan.
IdentifierAuthority
La autoridad.
nSubAuthorityCount
El recuento de subautoridades.
pszAccountName
Nombre de la cuenta.
pszSystem
El nombre del sistema. Esta cadena puede ser el nombre de un equipo remoto. Si esta cadena es NULL, se usa el sistema local en su lugar.
pSid
Un puntero a una estructura SID
.
Comentarios
El constructor inicializa el objeto CSid
, que establece un miembro de datos interno en SidTypeInvalid
o copia la configuración de un CSid
, SID
o una cuenta que ya existan.
Si se produce un error en la inicialización, el constructor lanzará una Clase CAtlException
.
CSid::~CSid
El destructor .
virtual ~CSid() throw();
Comentarios
El destructor libera los recursos adquiridos por el objeto.
CSid::CSidArray
Una matriz de objetos CSid
.
typedef CAtlArray<CSid> CSidArray;
Comentarios
Esta typedef especifica el tipo de matriz que se puede usar para recuperar identificadores de seguridad de una ACL (lista de control de acceso). Vea CAcl::GetAclEntries
.
CSid::Domain
Devuelve el nombre del dominio asociado al objeto CSid
.
LPCTSTR Domain() const throw(...);
Valor devuelto
Devuelve el LPCTSTR
que apunta al dominio.
Comentarios
Este método intenta buscar un nombre para el SID
especificado (identificador de seguridad). Para conocer los detalles completos, consulte LookupAccountSid
.
Si no se puede encontrar ningún nombre de cuenta para el SID
, Domain
devuelve el dominio como una cadena vacía. Este resultado puede producirse si un tiempo de espera de red impide que este método busque el nombre. También se produce en los identificadores de seguridad sin un nombre de cuenta correspondiente, como un SID
que identifica una sesión de inicio de sesión.
CSid::EqualPrefix
Hace pruebas con los prefijos de SID
(identificador de seguridad) para comprobar la igualdad.
bool EqualPrefix(const SID& rhs) const throw();
bool EqualPrefix(const CSid& rhs) const throw();
Parámetros
rhs
La estructura del SID
(identificador de seguridad) o el objeto CSid
que se van a comparar.
Valor devuelto
Devuelve TRUE
si la operación se realiza correctamente; de lo contrario, devuelve FALSE
.
Comentarios
Para obtener más información, vea EqualPrefixSid
.
CSid::GetLength
Devuelve la longitud del objeto CSid
.
UINT GetLength() const throw();
Valor devuelto
Devuelve la longitud en bytes del objeto CSid
.
Comentarios
Si la estructura CSid
no es válida, el valor devuelto no está definido. Antes de llamar a GetLength
, use la función miembro CSid::IsValid
para comprobar que la estructura CSid
es válida.
Nota:
En las compilaciones de depuración, la función provocará un ASSERT si el objeto CSid
no es válido.
CSid::GetPSID
Devuelve un puntero a una estructura SID
(identificador de seguridad).
const SID* GetPSID() const throw(...);
Valor devuelto
Devuelve la dirección de la estructura SID
subyacente del objeto CSid
.
CSid::GetPSID_IDENTIFIER_AUTHORITY
Devuelve un puntero a la estructura SID_IDENTIFIER_AUTHORITY
.
const SID_IDENTIFIER_AUTHORITY* GetPSID_IDENTIFIER_AUTHORITY() const throw();
Valor devuelto
Si el método se ejecuta correctamente, devuelve la dirección de la estructura SID_IDENTIFIER_AUTHORITY
. Si su ejecución es incorrecta, el valor devuelto es indefinido. Puede producirse un error si el objeto CSid
no es válido, en cuyo caso el método CSid::IsValid
devuelve FALSE
. Se puede llamar a la función GetLastError
para obtener información ampliada sobre el error.
Nota:
En las compilaciones de depuración, la función provocará un ASSERT si el objeto CSid
no es válido.
CSid::GetSubAuthority
Devuelve una subautoridad especificada en una estructura SID
(identificador de seguridad).
DWORD GetSubAuthority(DWORD nSubAuthority) const throw();
Parámetros
nSubAuthority
La subautoridad.
Valor devuelto
Devuelve la subautoridad a la que nSubAuthority
hace referencia. El valor de la subautoridad es un identificador relativo (RID).
Comentarios
El parámetro nSubAuthority
especifica un valor de índice que identifica el elemento de matriz de subautoridad que el método devolverá. El método no realiza pruebas de validación en este valor. Una aplicación puede llamar a CSid::GetSubAuthorityCount
para descubrir el intervalo de valores aceptables.
Nota:
En las compilaciones de depuración, la función provocará un ASSERT si el objeto CSid
no es válido.
CSid::GetSubAuthorityCount
Devuelve el recuento de subautoridades.
UCHAR GetSubAuthorityCount() const throw();
Valor devuelto
Si el método se ejecuta correctamente, el valor devuelto es el recuento de subautoridades.
Si este método no se ejecuta bien, el valor devuelto es indefinido. Se produce un error en el método si el objeto CSid
es no válido. Para obtener información de errores extendida, realice una llamada a GetLastError
.
Nota:
En las compilaciones de depuración, la función provocará un ASSERT si el objeto CSid
no es válido.
CSid::IsValid
Hace pruebas con el objeto CSid
para comprobar la validez.
bool IsValid() const throw();
Valor devuelto
Devuelve TRUE
si el objeto CSid
es válido; si no lo es, devuelve FALSE
. Este método no tiene información ampliada sobre el error; no llame a GetLastError
.
Comentarios
El método IsValid
valida el objeto CSid
comprobando que el número de revisión está dentro de un intervalo conocido y que el número de subautoridades es menor que el máximo.
CSid::LoadAccount
Actualiza el objeto CSid
según el nombre de la cuenta y el dominio, o una estructura SID
(identificador de seguridad) existente.
bool LoadAccount(
LPCTSTR pszAccountName,
LPCTSTR pszSystem = NULL) throw(...);
bool LoadAccount(
const SID* pSid,
LPCTSTR pszSystem = NULL) throw(...);
Parámetros
pszAccountName
Nombre de la cuenta.
pszSystem
El nombre del sistema. Esta cadena puede ser el nombre de un equipo remoto. Si esta cadena es NULL, se usa el sistema local en su lugar.
pSid
Un puntero a una estructura SID
.
Valor devuelto
Devuelve TRUE
si la operación se realiza correctamente; de lo contrario, devuelve FALSE
. Para obtener información de errores extendida, realice una llamada a GetLastError
.
Comentarios
LoadAccount
intenta buscar un identificador de seguridad para el nombre especificado. Para obtener más información, vea LookupAccountSid
.
CSid::operator =
Operador de asignación.
CSid& operator= (const CSid& rhs) throw(...);
CSid& operator= (const SID& rhs) throw(...);
Parámetros
rhs
El SID
(identificador de seguridad) o CSid
para asignarlo al objeto CSid
.
Valor devuelto
Devuelve una referencia al objeto actualizado CSid
.
operator ==
Hace pruebas de dos objetos descriptores de seguridad para comprobar la igualdad.
bool operator==(
const CSid& lhs,
const CSid& rhs) throw();
Parámetros
lhs
El SID
(identificador de seguridad) o CSid
que aparece en el lado izquierdo del operador ==
.
rhs
El SID
(identificador de seguridad) o CSid
que aparece en el lado derecho del operador ==
.
Valor devuelto
TRUE
si los descriptores de seguridad son iguales; de lo contrario, devuelve FALSE
.
operator !=
Hace pruebas de dos objetos descriptores de seguridad para comprobar la desigualdad.
bool operator!=(
const CSid& lhs,
const CSid& rhs) throw();
Parámetros
lhs
El SID
(identificador de seguridad) o CSid
que aparece en el lado izquierdo del operador !=
.
rhs
El SID
(identificador de seguridad) o CSid
que aparece en el lado derecho del operador !=
.
Valor devuelto
TRUE
si los descriptores de seguridad no son iguales; de lo contrario, devuelve FALSE
.
operator <
Compara el valor relativo de dos objetos descriptores de seguridad.
bool operator<(
const CSid& lhs,
const CSid& rhs) throw();
Parámetros
lhs
El SID
(identificador de seguridad) o CSid
que aparece en el lado izquierdo del operador <
.
rhs
El SID
(identificador de seguridad) o CSid
que aparece en el lado derecho del operador <
.
Valor devuelto
Es TRUE
si lhs
es menor que rhs
; en caso contrario, es FALSE
.
operator <=
Compara el valor relativo de dos objetos descriptores de seguridad.
bool operator<=(
const CSid& lhs,
const CSid& rhs) throw();
Parámetros
lhs
El SID
(identificador de seguridad) o CSid
que aparece en el lado izquierdo del operador <=
.
rhs
El SID
(identificador de seguridad) o CSid
que aparece en el lado derecho del operador <=
.
Valor devuelto
Es TRUE
si lhs
es menor o igual que rhs
; en caso contrario, es FALSE
.
operator >
Compara el valor relativo de dos objetos descriptores de seguridad.
bool operator>(
const CSid& lhs,
const CSid& rhs) throw();
Parámetros
lhs
El SID
(identificador de seguridad) o CSid
que aparece en el lado izquierdo del operador >
.
rhs
El SID
(identificador de seguridad) o CSid
que aparece en el lado derecho del operador >
.
Valor devuelto
Es TRUE
si lhs
es mayor que rhs
; en caso contrario, es FALSE
.
operator >=
Compara el valor relativo de dos objetos descriptores de seguridad.
bool operator>=(
const CSid& lhs,
const CSid& rhs) throw());
Parámetros
lhs
El SID
(identificador de seguridad) o CSid
que aparece en el lado izquierdo del operador >=
.
rhs
El SID
(identificador de seguridad) o CSid
que aparece en el lado derecho del operador >=
.
Valor devuelto
Es TRUE
si lhs
es mayor o igual que rhs
; en caso contrario, es FALSE
.
CSid::operator const SID *
Convierte un objeto CSid
en un puntero dirigido a una estructura SID
(identificador de seguridad).
operator const SID *() const;
Comentarios
Devuelve la dirección de la estructura SID
.
CSid::Sid
Devuelve la estructura SID
(identificador de seguridad) como una cadena.
LPCTSTR Sid() const throw(...);
Valor devuelto
Devuelve la estructura SID
como una cadena en un formato adecuado para la presentación, el almacenamiento o la transmisión. Equivalente a ConvertSidToStringSid
.
CSid::SidNameUse
Devuelve una descripción del estado del objeto CSid
.
SID_NAME_USE SidNameUse() const throw();
Valor devuelto
Devuelve el valor del miembro de datos que almacena un valor que describe el estado del objeto CSid
.
Valor | Descripción |
---|---|
SidTypeUser | Indica un usuario SID (identificador de seguridad). |
SidTypeGroup | Indica un grupo SID . |
SidTypeDomain | Indica un dominio SID . |
SidTypeAlias | Indica un alias SID . |
SidTypeWellKnownGroup | Indica un SID para un grupo conocido. |
SidTypeDeletedAccount | Indica un SID para una cuenta eliminada. |
SidTypeInvalid | Indica un SID no válido. |
SidTypeUnknown | Especifica un tipo de SID desconocido. |
SidTypeComputer | Indica un SID para un equipo. |
Comentarios
Llame a CSid::LoadAccount
para actualizar el objeto CSid
antes de llamar a SidNameUse
para devolver su estado. SidNameUse
no cambia el estado del objeto (llamando a LookupAccountName
o a LookupAccountSid
), solo devuelve el estado actual.
Consulte también
Ejemplo de seguridad
Información general de clases
Funciones globales de seguridad
Operadores