48 lines
940 B
C
48 lines
940 B
C
|
/*++
|
||
|
|
||
|
Copyright (C) 1996-2001 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
SECOBJ.H
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Defines classes related to A51 security model
|
||
|
|
||
|
Classes implemented:
|
||
|
|
||
|
CWmiSecurityCheck Main class of security model
|
||
|
|
||
|
History:
|
||
|
|
||
|
07/20/00 marioh Created.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#include <winntsec.h>
|
||
|
|
||
|
class CWmiSecurityCheck
|
||
|
{
|
||
|
public:
|
||
|
CWmiSecurityCheck ( );
|
||
|
virtual ~CWmiSecurityCheck ( );
|
||
|
|
||
|
// Object life control
|
||
|
LONG AddRef ( );
|
||
|
LONG Release ( );
|
||
|
|
||
|
|
||
|
// Main security related methods
|
||
|
HRESULT SetScopeSD ( PSECURITY_DESCRIPTOR );
|
||
|
HRESULT AccessCheck ( DWORD, PSECURITY_DESCRIPTOR );
|
||
|
HRESULT SpawnSubscope ( CWmiSecurityCheck** );
|
||
|
HRESULT ComputeEffectiveSD ( PSECURITY_DESCRIPTOR, DWORD );
|
||
|
|
||
|
|
||
|
protected:
|
||
|
LONG m_lCount; // Ref counting
|
||
|
CNtSecurityDescriptor* m_pSD; // Current security descriptor
|
||
|
CWmiSecurityCheck* m_pParent; // Backlink to previous scope
|
||
|
CRITICAL_SECTION m_cs; // Sync.
|
||
|
};
|