Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

85 lines
1.7 KiB

/*++
Copyright (c) 2001 Microsoft Corporation
All rights reserved
Module Name:
lsasid.hxx
Abstract:
This file provides useful accssors and mutators.
Author:
Larry Zhu (LZhu) May 1, 2001 Created
Environment:
User Mode -Win32
Revision History:
--*/
#ifndef LSA_SID_HXX
#define LSA_SID_HXX
#ifdef __cplusplus
enum ESidConst {
kSidHeaderLen = FIELD_OFFSET(_SID, SubAuthority),
};
class TSID
{
SIGNATURE('tsid');
public:
TSID(void);
TSID(IN ULONG64 baseOffset);
~TSID(void);
HRESULT IsValid(void) const;
//
// These methods do not query symbols
//
PCSTR toStrDirect(void) const;
PCSTR toStrDirect(IN PCSTR pszFmt) const;
UCHAR GetSubAuthorityCountDirect(void) const;
ULONG GetSizeDirect(void) const;
PCSTR toStr(void) const;
PCSTR toStr(IN PCSTR pszFmt) const;
UCHAR GetSubAuthorityCount(void) const;
ULONG GetSize(void) const;
static PCSTR TSID::ConvertSidToFriendlyName(IN SID* pSid, IN PCSTR pszFmt);
static PCSTR TSID::ConvertSidToFriendlyName(IN PSID pSid, IN PCSTR pszFmt);
static PCSTR TSID::GetSidTypeStr(IN SID_NAME_USE eUse);
PCSTR GetFriendlyNameDirect(IN PCSTR pszFmt) const;
BOOLEAN IsSidValid(void) const;
protected:
HRESULT Initialize(IN ULONG64 baseOffset);
private:
HRESULT Initialize(void);
PCSTR InternalToStr(IN ULONG cbSid, IN PCSTR pszFmt) const;
PCSTR InternalGetFriendlyName(IN ULONG cbSid, IN PCSTR pszFmt) const;
ULONG64 m_baseOffset;
HRESULT m_hr;
};
#endif // #ifdef __cplusplus
#endif // #ifndef LSA_SID_HXX