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.
 
 
 
 
 
 

57 lines
1.3 KiB

//+-------------------------------------------------------------------
//
// File: DUMPSEC.hxx
//
// Contents: class encapsulating file security.
//
// Classes: CDumpSecurity
//
// History: Nov-93 Created DaveMont
//
//--------------------------------------------------------------------
#ifndef __DUMPSEC__
#define __DUMPSEC__
#include "t2.hxx"
//+-------------------------------------------------------------------
//
// Class: CDumpSecurity
//
// Purpose: encapsulation of NT File security descriptor with functions
// to get SIDs and iterate through the ACES in the DACL.
//
//--------------------------------------------------------------------
class CDumpSecurity
{
public:
CDumpSecurity(LPWSTR filename);
~CDumpSecurity();
ULONG Init();
ULONG GetSDOwner(SID **psid);
ULONG GetSDGroup(SID **pgsid);
VOID ResetAce(SID *psid);
LONG GetNextAce(ACE_HEADER **paceh);
BOOL IsDaclNull() const { return _bNullDacl;}
private:
BYTE * _psd ;
LPWSTR _pfilename ;
LPWSTR _pwfilename ;
ACL * _pdacl ;
ACE_HEADER * _pah ;
SID * _psid ;
ULONG _cacethissid; // a dinosaur from the cretaceous
BOOL _bNullDacl;
};
#endif // __DUMPSEC__