41 lines
1 KiB
C++
41 lines
1 KiB
C++
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 2000.
|
|
//
|
|
// File: T R N R G S E C . H
|
|
//
|
|
// Contents: CTransactedRegistrySecurity and accompanying data types
|
|
//
|
|
// Notes:
|
|
//
|
|
// Author: ckotze 13 July 2000
|
|
//
|
|
//---------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
typedef struct tagREGKEYDATA
|
|
{
|
|
HKEY hkeyRoot;
|
|
tstring strKeyName;
|
|
ACCESS_MASK amMask;
|
|
KEY_APPLY_MASK kamMask;
|
|
} REGKEYDATA;
|
|
|
|
typedef list<REGKEYDATA> LISTREGKEYDATA;
|
|
typedef LISTREGKEYDATA::iterator REGKEYDATAITER;
|
|
|
|
class CTransactedRegistrySecurity : protected CRegKeySecurity
|
|
{
|
|
public:
|
|
CTransactedRegistrySecurity();
|
|
virtual ~CTransactedRegistrySecurity();
|
|
|
|
HRESULT SetPermissionsForKeysFromList(PCSID psidUserOrGroup, LISTREGKEYDATA& listRegKeyApply, BOOL bGrantRights);
|
|
HRESULT ApplySecurityToKey(PCSID psidUserOrGroup, const REGKEYDATA rkdInfo, const BOOL bGrantRights);
|
|
private:
|
|
LISTREGKEYDATA m_listTransaction;
|
|
};
|
|
|