Класс CSid
Этот класс представляет собой оболочку для SID
структуры (идентификатора безопасности).
Внимание
Этот класс и его члены нельзя использовать в приложениях, которые выполняются в среда выполнения Windows.
Синтаксис
class CSid;
Участники
Общедоступные типдефы
Имя | Описание |
---|---|
CSid::CSidArray |
Массив объектов CSid . |
Открытые конструкторы
Имя | Описание |
---|---|
CSid::CSid |
Конструктор. |
CSid::~CSid |
Деструктор |
Открытые методы
Имя | Описание |
---|---|
CSid::AccountName |
Возвращает имя учетной записи, связанной CSid с объектом. |
CSid::Domain |
Возвращает имя домена, связанного с CSid объектом. |
CSid::EqualPrefix |
Тесты SID (идентификатор безопасности) для равенства. |
CSid::GetLength |
Возвращает длину CSid объекта. |
CSid::GetPSID |
Возвращает указатель на структуру SID . |
CSid::GetPSID_IDENTIFIER_AUTHORITY |
Возвращает указатель на структуру SID_IDENTIFIER_AUTHORITY . |
CSid::GetSubAuthority |
Возвращает указанную подзаготовку в SID структуре. |
CSid::GetSubAuthorityCount |
Возвращает число подзаготовлений. |
CSid::IsValid |
CSid Проверяет объект для допустимости. |
CSid::LoadAccount |
Обновляет объект с CSid именем учетной записи и доменом или существующей SID структурой. |
CSid::Sid |
Возвращает строку идентификатора. |
CSid::SidNameUse |
Возвращает описание состояния CSid объекта. |
Операторы
Имя | Описание |
---|---|
CSid::operator = |
Оператор присвоения. |
CSid::operator const SID * |
Приведение CSid объекта к указателю на структуру SID . |
Глобальные операторы
Имя | Описание |
---|---|
operator == |
Проверяет два объекта дескриптора безопасности для равенства |
operator != |
Проверяет два объекта дескриптора безопасности для неравенства |
operator < |
Сравнивает относительное значение двух объектов дескриптора безопасности. |
operator > |
Сравнивает относительное значение двух объектов дескриптора безопасности. |
operator <= |
Сравнивает относительное значение двух объектов дескриптора безопасности. |
operator >= |
Сравнивает относительное значение двух объектов дескриптора безопасности. |
Замечания
Структура SID
— это структура переменной длины, используемая для уникальной идентификации пользователей или групп.
Приложения не должны изменять структуру SID
напрямую, а использовать методы, предоставляемые в этом классе-оболочке. См. также AtlGetOwnerSid
, , AtlSetGroupSid
AtlGetGroupSid
и AtlSetOwnerSid
.
Общие сведения о модели управления доступом в Windows см. в контроль доступа в пакете SDK для Windows.
Требования
Заголовок: atlsecurity.h
CSid::AccountName
Возвращает имя учетной записи, связанной CSid
с объектом.
LPCTSTR AccountName() const throw(...);
Возвращаемое значение
LPCTSTR
Возвращает указатель на имя учетной записи.
Замечания
Этот метод пытается найти имя указанного SID
(идентификатора безопасности). Полные сведения см. в статье LookupAccountSid
.
Если имя учетной SID
записи не найдено, AccountName
возвращает пустую строку. Этот результат может произойти, если время ожидания сети предотвращает поиск имени этого метода. Он также возникает для идентификаторов безопасности без соответствующего имени учетной записи, например SID
для идентификации сеанса входа.
CSid::CSid
Конструктор.
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(...);
Параметры
rhs
Существующая CSid
структура объекта или SID
(идентификатора безопасности).
IdentifierAuthority
Авторитет.
nSubAuthorityCount
Число подзаготовок.
pszAccountName
Имя учетной записи.
pszSystem
Имя системы. Эта строка может быть именем удаленного компьютера. Если эта строка имеет значение NULL, вместо этого используется локальная система.
pSid
Указатель на структуру SID
.
Замечания
Конструктор инициализирует CSid
объект, устанавливая для элемента внутренних данных SidTypeInvalid
значение или копируя параметры из существующей CSid
SID
учетной записи или существующей учетной записи.
Если инициализация завершается ошибкой CAtlException
, конструктор вызовет класс.
CSid::~CSid
Деструктор
virtual ~CSid() throw();
Замечания
Деструктор освобождает все ресурсы, приобретенные объектом.
CSid::CSidArray
Массив объектов CSid
.
typedef CAtlArray<CSid> CSidArray;
Замечания
Этот типdef указывает тип массива, который можно использовать для получения идентификаторов безопасности из ACL (списка управления доступом). См. раздел CAcl::GetAclEntries
.
CSid::Domain
Возвращает имя домена, связанного с CSid
объектом.
LPCTSTR Domain() const throw(...);
Возвращаемое значение
LPCTSTR
Возвращает указатель на домен.
Замечания
Этот метод пытается найти имя указанного SID
(идентификатора безопасности). Полные сведения см. в статье LookupAccountSid
.
Если имя учетной записи не SID
найдено, Domain
возвращает домен в виде пустой строки. Этот результат может произойти, если время ожидания сети предотвращает поиск имени этого метода. Он также возникает для идентификаторов безопасности без соответствующего имени учетной записи, например SID
для идентификации сеанса входа.
CSid::EqualPrefix
Тесты SID
(идентификатор безопасности) для равенства.
bool EqualPrefix(const SID& rhs) const throw();
bool EqualPrefix(const CSid& rhs) const throw();
Параметры
rhs
Структура SID
или CSid
объект для сравнения (идентификатор безопасности).
Возвращаемое значение
Возвращает успешность TRUE
при FALSE
сбое.
Замечания
Дополнительные сведения см. в разделе EqualPrefixSid
.
CSid::GetLength
Возвращает длину CSid
объекта.
UINT GetLength() const throw();
Возвращаемое значение
Возвращает длину объекта в байтах CSid
.
Замечания
CSid
Если структура недопустима, возвращаемое значение не определено. Перед вызовом GetLength
используйте функцию-член CSid::IsValid
, чтобы убедиться, что CSid
это допустимо.
Примечание.
При отладке сборки функция приведет к возникновению ошибки ASSERT, если CSid
объект недействителен.
CSid::GetPSID
Возвращает указатель на структуру SID
(идентификатор безопасности).
const SID* GetPSID() const throw(...);
Возвращаемое значение
Возвращает адрес базовой CSid
SID
структуры объекта.
CSid::GetPSID_IDENTIFIER_AUTHORITY
Возвращает указатель на структуру SID_IDENTIFIER_AUTHORITY
.
const SID_IDENTIFIER_AUTHORITY* GetPSID_IDENTIFIER_AUTHORITY() const throw();
Возвращаемое значение
Если метод выполнен успешно, он возвращает адрес SID_IDENTIFIER_AUTHORITY
структуры. Если он завершается ошибкой, возвращаемое значение не определено. Сбой может произойти, если CSid
объект недействителен, в этом случае CSid::IsValid
метод возвращается FALSE
. Функция GetLastError
может вызываться для расширенных сведений об ошибке.
Примечание.
При отладке сборки функция приведет к возникновению ошибки ASSERT, если CSid
объект недействителен.
CSid::GetSubAuthority
Возвращает указанную подзаготовку в SID
структуре (идентификатора безопасности).
DWORD GetSubAuthority(DWORD nSubAuthority) const throw();
Параметры
nSubAuthority
Подзаготовка.
Возвращаемое значение
Возвращает подосторию, на которую ссылается nSubAuthority
ссылка. Значение подчиненной проверки подлинности — это относительный идентификатор (RID).
Замечания
Параметр nSubAuthority
задает значение индекса, определяющее элемент массива подзаборности, который будет возвращен методом. Этот метод не выполняет тесты проверки для этого значения. Приложение может вызвать CSid::GetSubAuthorityCount
диапазон допустимых значений.
Примечание.
При отладке сборки функция приведет к возникновению ошибки ASSERT, если CSid
объект недействителен.
CSid::GetSubAuthorityCount
Возвращает число подзаготовлений.
UCHAR GetSubAuthorityCount() const throw();
Возвращаемое значение
Если метод выполнен успешно, возвращаемое значение является числом подзаготовок.
Если метод завершается ошибкой, возвращаемое значение не определено. Метод завершается ошибкой, если CSid
объект недопустим. Чтобы получить расширенные сведения об ошибке, вызовите функцию GetLastError
.
Примечание.
При отладке сборки функция приведет к возникновению ошибки ASSERT, если CSid
объект недействителен.
CSid::IsValid
CSid
Проверяет объект для допустимости.
bool IsValid() const throw();
Возвращаемое значение
Возвращает TRUE
значение, если CSid
объект является допустимым, FALSE
если нет. Для этого метода нет расширенных сведений об ошибке; не вызывайте GetLastError
.
Замечания
Метод IsValid
проверяет CSid
объект, убедившись, что номер редакции находится в известном диапазоне, а количество подзаверений меньше максимального.
CSid::LoadAccount
Обновляет объект, CSid
заданный именем учетной записи и доменом, или существующей SID
(идентификатором безопасности).
bool LoadAccount(
LPCTSTR pszAccountName,
LPCTSTR pszSystem = NULL) throw(...);
bool LoadAccount(
const SID* pSid,
LPCTSTR pszSystem = NULL) throw(...);
Параметры
pszAccountName
Имя учетной записи.
pszSystem
Имя системы. Эта строка может быть именем удаленного компьютера. Если эта строка имеет значение NULL, вместо этого используется локальная система.
pSid
Указатель на структуру SID
.
Возвращаемое значение
Возвращает успешность TRUE
при FALSE
сбое. Чтобы получить расширенные сведения об ошибке, вызовите функцию GetLastError
.
Замечания
LoadAccount
пытается найти идентификатор безопасности для указанного имени. Дополнительные сведения см. в разделе LookupAccountSid
.
CSid::operator =
Оператор присвоения.
CSid& operator= (const CSid& rhs) throw(...);
CSid& operator= (const SID& rhs) throw(...);
Параметры
rhs
( SID
идентификатор безопасности) или CSid
назначение объекту CSid
.
Возвращаемое значение
Возвращает ссылку на обновленный CSid
объект.
operator ==
Проверяет два объекта дескриптора безопасности для равенства.
bool operator==(
const CSid& lhs,
const CSid& rhs) throw();
Параметры
lhs
( SID
идентификатор безопасности) или CSid
отображается слева ==
от оператора.
rhs
( SID
идентификатор безопасности) или CSid
отображается справа ==
от оператора.
Возвращаемое значение
TRUE
Значение , если дескрипторы безопасности равны, в противном случае FALSE
.
operator !=
Проверяет два объекта дескриптора безопасности для неравенства.
bool operator!=(
const CSid& lhs,
const CSid& rhs) throw();
Параметры
lhs
( SID
идентификатор безопасности) или CSid
отображается слева !=
от оператора.
rhs
( SID
идентификатор безопасности) или CSid
отображается справа !=
от оператора.
Возвращаемое значение
TRUE
Значение , если дескрипторы безопасности не равны, в противном случае FALSE
.
operator <
Сравнивает относительное значение двух объектов дескриптора безопасности.
bool operator<(
const CSid& lhs,
const CSid& rhs) throw();
Параметры
lhs
( SID
идентификатор безопасности) или CSid
отображается слева <
от оператора.
rhs
( SID
идентификатор безопасности) или CSid
отображается справа <
от оператора.
Возвращаемое значение
TRUE
Значение ,если lhs
меньше rhs
, в противном случае FALSE
.
operator <=
Сравнивает относительное значение двух объектов дескриптора безопасности.
bool operator<=(
const CSid& lhs,
const CSid& rhs) throw();
Параметры
lhs
( SID
идентификатор безопасности) или CSid
отображается слева <=
от оператора.
rhs
( SID
идентификатор безопасности) или CSid
отображается справа <=
от оператора.
Возвращаемое значение
TRUE
Значение ,если lhs
меньше или равно rhs
, в противном случае FALSE
.
operator >
Сравнивает относительное значение двух объектов дескриптора безопасности.
bool operator>(
const CSid& lhs,
const CSid& rhs) throw();
Параметры
lhs
( SID
идентификатор безопасности) или CSid
отображается слева >
от оператора.
rhs
( SID
идентификатор безопасности) или CSid
отображается справа >
от оператора.
Возвращаемое значение
TRUE
Значение ,rhs
если lhs
больше , в противном случае FALSE
.
operator >=
Сравнивает относительное значение двух объектов дескриптора безопасности.
bool operator>=(
const CSid& lhs,
const CSid& rhs) throw());
Параметры
lhs
( SID
идентификатор безопасности) или CSid
отображается слева >=
от оператора.
rhs
( SID
идентификатор безопасности) или CSid
отображается справа >=
от оператора.
Возвращаемое значение
TRUE
Значение ,если lhs
больше или равно rhs
, в противном случае FALSE
.
CSid::operator const SID *
Приведение CSid
объекта к указателю на SID
структуру (идентификатор безопасности).
operator const SID *() const;
Замечания
Возвращает адрес SID
структуры.
CSid::Sid
Возвращает структуру SID
(идентификатор безопасности) в виде строки.
LPCTSTR Sid() const throw(...);
Возвращаемое значение
SID
Возвращает структуру в виде строки в формате, подходящем для отображения, хранения или передачи. Эквивалент ConvertSidToStringSid
.
CSid::SidNameUse
Возвращает описание состояния CSid
объекта.
SID_NAME_USE SidNameUse() const throw();
Возвращаемое значение
Возвращает значение элемента данных, в котором хранится значение, описывающее состояние CSid
объекта.
значение | Описание |
---|---|
SidTypeUser | Указывает пользователя SID (идентификатор безопасности). |
SidTypeGroup | Указывает группу SID . |
SidTypeDomain | Указывает домен SID . |
SidTypeAlias | Указывает псевдоним SID . |
SidTypeWellKnownGroup | Указывает на SID общеизвестную группу. |
SidTypeDeletedAccount | Указывает для SID удаленной учетной записи. |
SidTypeInvalid | Указывает недопустимое SID значение. |
SidTypeUnknown | Указывает неизвестный SID тип. |
SidTypeComputer | Указывает SID для компьютера. |
Замечания
Вызов CSid::LoadAccount
обновления CSid
объекта перед вызовом SidNameUse
для возврата состояния. SidNameUse
не изменяет состояние объекта (вызывая LookupAccountName
или LookupAccountSid
), но возвращает только текущее состояние.
См. также
Пример безопасности
Общие сведения о классе
Глобальные функции безопасности
Операторы