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.

40 lines
1.0 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 2000.
  5. //
  6. // File: T R N R G S E C . H
  7. //
  8. // Contents: CTransactedRegistrySecurity and accompanying data types
  9. //
  10. // Notes:
  11. //
  12. // Author: ckotze 13 July 2000
  13. //
  14. //---------------------------------------------------------------------------
  15. #pragma once
  16. typedef struct tagREGKEYDATA
  17. {
  18. HKEY hkeyRoot;
  19. tstring strKeyName;
  20. ACCESS_MASK amMask;
  21. KEY_APPLY_MASK kamMask;
  22. } REGKEYDATA;
  23. typedef list<REGKEYDATA> LISTREGKEYDATA;
  24. typedef LISTREGKEYDATA::iterator REGKEYDATAITER;
  25. class CTransactedRegistrySecurity : protected CRegKeySecurity
  26. {
  27. public:
  28. CTransactedRegistrySecurity();
  29. virtual ~CTransactedRegistrySecurity();
  30. HRESULT SetPermissionsForKeysFromList(PCSID psidUserOrGroup, LISTREGKEYDATA& listRegKeyApply, BOOL bGrantRights);
  31. HRESULT ApplySecurityToKey(PCSID psidUserOrGroup, const REGKEYDATA rkdInfo, const BOOL bGrantRights);
  32. private:
  33. LISTREGKEYDATA m_listTransaction;
  34. };