remove trailing whitespace at end of lines
[reactos.git] / rosapps / sysutils / regexpl / SecurityDescriptor.h
1 /* $Id$ */
2
3 // SecurityDescriptor.h: interface for the CSecurityDescriptor class.
4 //
5 //////////////////////////////////////////////////////////////////////
6
7 #if !defined(SECURITYDESCRIPTOR_H__71D0A7E6_8A00_11D3_9103_204C4F4F5020__INCLUDED_)
8 #define SECURITYDESCRIPTOR_H__71D0A7E6_8A00_11D3_9103_204C4F4F5020__INCLUDED_
9
10 BOOL GetTextualSid(
11 PSID pSid, // binary Sid
12 LPTSTR TextualSid, // buffer for Textual representation of Sid
13 LPDWORD lpdwBufferLen // required/provided TextualSid buffersize
14 );
15
16 const TCHAR * GetSidTypeName(SID_NAME_USE Use);
17
18 class CSecurityDescriptor
19 {
20 public:
21 void GetCurrentACE_Flags(BYTE& bFlags);
22 void GetCurrentACE_AccessMask(DWORD& dwMask);
23 PSID GetCurrentACE_SID();
24 enum ACEntryType
25 {
26 Unknown,
27 AccessAlowed,
28 AccessDenied,
29 SystemAudit
30 };
31 ACEntryType GetDACLEntry(DWORD nIndex);
32 ACEntryType GetSACLEntry(DWORD nIndex, BOOL& blnFailedAccess, BOOL& blnSeccessfulAccess);
33 DWORD GetDACLEntriesCount();
34 DWORD GetSACLEntriesCount();
35 BOOL HasValidDACL();
36 BOOL HasNULLDACL();
37 BOOL HasValidSACL();
38 BOOL HasNULLSACL();
39 BOOL DescriptorContainsDACL();
40 BOOL DescriptorContainsSACL();
41 DWORD BeginDACLInteration();
42 DWORD BeginSACLInteration();
43 void AssociateDescriptor(PSECURITY_DESCRIPTOR pSecurityDescriptor);
44 CSecurityDescriptor();
45 virtual ~CSecurityDescriptor();
46 private:
47 PSECURITY_DESCRIPTOR m_pSecurityDescriptor;
48 BOOL m_blnDACLPresent;
49 BOOL m_blnDACLDefaulted;
50 PACL m_pDACL;
51 BOOL m_blnSACLPresent;
52 BOOL m_blnSACLDefaulted;
53 PACL m_pSACL;
54 ACE_HEADER *m_pCurrentACEHeader;
55 };
56
57 #endif // !defined(SECURITYDESCRIPTOR_H__71D0A7E6_8A00_11D3_9103_204C4F4F5020__INCLUDED_)