CSid
클래스
이 클래스는 (보안 식별자) 구조체에 SID
대한 래퍼입니다.
Important
이 클래스와 해당 멤버는 Windows 런타임 실행되는 애플리케이션에서 사용할 수 없습니다.
구문
class CSid;
멤버
public typedefs
속성 | 설명 |
---|---|
CSid::CSidArray |
CSid 개체의 배열입니다. |
Public 생성자
속성 | 설명 |
---|---|
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 |
ID 문자열을 반환합니다. |
CSid::SidNameUse |
개체의 상태에 CSid 대한 설명을 반환합니다. |
연산자
속성 | 설명 |
---|---|
CSid::operator = |
대입 연산자입니다. |
CSid::operator const SID * |
개체를 CSid 구조체에 대한 포인터로 SID 캐스팅합니다. |
전역 연산자
속성 | 설명 |
---|---|
operator == |
두 개의 보안 설명자 개체가 같은지 테스트합니다. |
operator != |
같지 않음에 대한 두 개의 보안 설명자 개체를 테스트합니다. |
operator < |
두 보안 설명자 개체의 상대 값을 비교합니다. |
operator > |
두 보안 설명자 개체의 상대 값을 비교합니다. |
operator <= |
두 보안 설명자 개체의 상대 값을 비교합니다. |
operator >= |
두 보안 설명자 개체의 상대 값을 비교합니다. |
설명
구조체 SID
는 사용자 또는 그룹을 고유하게 식별하는 데 사용되는 가변 길이 구조입니다.
애플리케이션은 구조를 직접 수정 SID
하지 말고 대신 이 래퍼 클래스에 제공된 메서드를 사용합니다. 또한 AtlGetOwnerSid
, , AtlSetGroupSid
AtlGetGroupSid
및 AtlSetOwnerSid
를 참조하세요.
Windows의 액세스 제어 모델에 대한 소개는 Windows SDK의 Access Control을 참조하세요.
요구 사항
헤더: 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
계정 또는 기존 계정에서 설정을 복사하여 초기화합니다.
초기화에 실패하면 생성자가 클래스를 throw합니다CAtlException
.
CSid::~CSid
소멸자입니다.
virtual ~CSid() throw();
설명
소멸자가 개체에서 획득한 모든 리소스를 해제합니다.
CSid::CSidArray
CSid
개체의 배열입니다.
typedef CAtlArray<CSid> CSidArray;
설명
이 typedef는 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();
반환 값
개체가 CSid
유효하지 않은 경우 반환 TRUE
합니다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
FALSE.rhs
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
그렇지 않습니다FALSE
.rhs
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 | 잘 알려진 그룹에 대한 A SID 를 나타냅니다. |
SidTypeDeletedAccount | 삭제된 SID 계정의 경우를 나타냅니다. |
SidTypeInvalid | 잘못된 SID . |
SidTypeUnknown | 알 수 없는 SID 형식을 나타냅니다. |
SidTypeComputer | 컴퓨터의 경우를 SID 나타냅니다. |
설명
상태를 반환하기 위해 호출하기 전에 개체를 업데이트 CSid
하기 위한 호출 CSid::LoadAccount
SidNameUse
입니다. SidNameUse
는 개체의 상태를 변경하지 않고(호출 또는 LookupAccountSid
호출) LookupAccountName
현재 상태만 반환합니다.