Source code of Windows XP (NT5)
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.

47 lines
940 B

  1. /*++
  2. Copyright (C) 1996-2001 Microsoft Corporation
  3. Module Name:
  4. SECOBJ.H
  5. Abstract:
  6. Defines classes related to A51 security model
  7. Classes implemented:
  8. CWmiSecurityCheck Main class of security model
  9. History:
  10. 07/20/00 marioh Created.
  11. --*/
  12. #include <winntsec.h>
  13. class CWmiSecurityCheck
  14. {
  15. public:
  16. CWmiSecurityCheck ( );
  17. virtual ~CWmiSecurityCheck ( );
  18. // Object life control
  19. LONG AddRef ( );
  20. LONG Release ( );
  21. // Main security related methods
  22. HRESULT SetScopeSD ( PSECURITY_DESCRIPTOR );
  23. HRESULT AccessCheck ( DWORD, PSECURITY_DESCRIPTOR );
  24. HRESULT SpawnSubscope ( CWmiSecurityCheck** );
  25. HRESULT ComputeEffectiveSD ( PSECURITY_DESCRIPTOR, DWORD );
  26. protected:
  27. LONG m_lCount; // Ref counting
  28. CNtSecurityDescriptor* m_pSD; // Current security descriptor
  29. CWmiSecurityCheck* m_pParent; // Backlink to previous scope
  30. CRITICAL_SECTION m_cs; // Sync.
  31. };