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.

73 lines
2.4 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1999.
  5. //
  6. // File: SecDesc.h
  7. //
  8. // Contents: DoSecurityDescription and support methods
  9. //
  10. //
  11. //----------------------------------------------------------------------------
  12. #ifndef __ACLDIAG_SECDESC
  13. #define __ACLDIAG_SECDESC
  14. HRESULT DoSecurityDescription ();
  15. HRESULT DisplayOwner ();
  16. HRESULT EnumerateDacl (PSECURITY_DESCRIPTOR pSecurityDescriptor, ACE_SAMNAME_LIST& DACLList, bool bListSids);
  17. HRESULT EnumerateSacl (PSECURITY_DESCRIPTOR pSecurityDescriptor, ACE_SAMNAME_LIST& SACLList);
  18. HRESULT PrintEffectivePermissions ();
  19. typedef enum {
  20. P_UNASSIGNED = -1,
  21. P_ALLOW = 0,
  22. P_DENY,
  23. P_SUCCESS,
  24. P_FAILURE,
  25. P_SUCCESS_AND_FAILURE
  26. } P_TYPE;
  27. typedef enum {
  28. P_THIS_OBJECT = 0,
  29. P_ALL_OBJECTS,
  30. P_CLASS_OBJECT
  31. } P_WHO;
  32. HRESULT PrintPermission (ACE_SAMNAME* pAceSAMName,
  33. ACCESS_MASK accessMask,
  34. P_TYPE ptype,
  35. int strIDAll,
  36. int strIDParam,
  37. P_WHO pWho,
  38. PCWSTR pwszClassName);
  39. HRESULT PrintPermission (ACE_SAMNAME* pAceSAMName,
  40. ACCESS_MASK accessMask,
  41. P_TYPE ptype,
  42. int strID,
  43. bool bIsAudit,
  44. P_WHO pWho,
  45. PCWSTR pwszClassName);
  46. HRESULT EnumeratePermissions (ACE_SAMNAME* pAceSAMName, P_TYPE ptype, P_WHO pWho, PCWSTR pwszClassName);
  47. HRESULT GetParentObjectDNWithSameACE (
  48. ACE_SAMNAME* pAceSAMName,
  49. IADsPathname* pPathName,
  50. ACCESS_MASK accessMask,
  51. string strParentDN,
  52. bool bIsAudit);
  53. HRESULT PrintInheritedPermissionFromDN (
  54. ACE_SAMNAME* pAceSAMName,
  55. ACCESS_MASK accessMask,
  56. bool bIsAudit);
  57. HRESULT PrintInheritedPermissions ();
  58. void AddToInheritedObjectTypeGUIDList (list<GUID*>& guidList, GUID* pGuid);
  59. HRESULT PrintAuditingInformation ();
  60. HRESULT GetSecurityDescriptor (
  61. wstring strObjectDN, // pass by value
  62. PSECURITY_DESCRIPTOR* ppSecurityDescriptor);
  63. HRESULT EnumerateAudits (ACE_SAMNAME* pAceSAMName, P_WHO pWho, PCWSTR pwszClassName);
  64. HRESULT PrintEffectiveAuditing ();
  65. HRESULT PrintInheritedAuditing ();
  66. HRESULT GetControlDisplayName (REFGUID guid, wstring& strDisplayName);
  67. HRESULT GetControlDisplayName (const wstring strGuid, wstring& strDisplayName);
  68. #endif // __ACLDIAG_SECDESC