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.
 
 
 
 
 
 

63 lines
1.6 KiB

/*****************************************************************************/
/* Copyright (c) 2000-2001 Microsoft Corporation, All Rights Reserved /
/*****************************************************************************/
/*
* SecureKernelObj.h - header file for CSecureKernelObj class.
*
* Created: 11-27-00 by Kevin Hughes
*
*/
#pragma once
////////////////////////////////////////////////////////////////
//
// Class: CSecureKernelObj
//
// This class is intended to encapsulate the security of an
// NT kernel securable object. It inherits off of CSecurityDescriptor
// and it is that class to which it passes Security Descriptors
// it obtains, and from which it receives previously built
// security descriptors to apply. It supplies implementations
// for AllAccessMask(), WriteOwner() and WriteAcls().
//
////////////////////////////////////////////////////////////////
class CSecureKernelObj : public CSecurityDescriptor
{
// Constructors and destructor
public:
CSecureKernelObj();
CSecureKernelObj(
HANDLE hObject,
BOOL fGetSACL = TRUE);
CSecureKernelObj(
HANDLE hObject,
PSECURITY_DESCRIPTOR pSD);
virtual ~CSecureKernelObj();
DWORD SetObject(
HANDLE hObject,
BOOL fGetSACL = TRUE);
virtual DWORD AllAccessMask(void);
virtual DWORD WriteOwner(PSECURITY_DESCRIPTOR pAbsoluteSD);
virtual DWORD WriteAcls(
PSECURITY_DESCRIPTOR pAbsoluteSD,
SECURITY_INFORMATION securityinfo);
private:
HANDLE m_hObject;
};