다음을 통해 공유


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, , AtlSetGroupSidAtlGetGroupSidAtlSetOwnerSid를 참조하세요.

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설정하거나, 기존 CSidSID계정 또는 기존 계정에서 설정을 복사하여 초기화합니다.

초기화에 실패하면 생성자가 클래스를 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 현재 상태만 반환합니다.

참고 항목

보안 샘플
클래스 개요
보안 전역 함수
연산자