windows-nt/Source/XPSP1/NT/shell/osshell/security/aclui/aclbloat.h

74 lines
1.7 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 2001
//
// File: aclbloat.h
//
// This file contains the definition for ACLBLOAT class which controls the
// dialog box for aclbloat
//
// Author hiteshr 4th April 2001
//
//--------------------------------------------------------------------------
#ifndef _ACLBLOAT_H
#define _ACLBLOAT_H
class CACLBloat
{
private:
LPSECURITYINFO m_psi;
LPSECURITYINFO2 m_psi2;
SI_PAGE_TYPE m_siPageType;
SI_OBJECT_INFO* m_psiObjectInfo;
HDPA m_hEntries;
HDPA m_hPropEntries;
HDPA m_hMergedEntries;
HFONT m_hFont;
public:
CACLBloat(LPSECURITYINFO psi,
LPSECURITYINFO2 psi2,
SI_PAGE_TYPE m_siPageType,
SI_OBJECT_INFO* psiObjectInfo,
HDPA hEntries,
HDPA hPropEntries);
~CACLBloat();
BOOL DoModalDialog(HWND hParent);
BOOL IsAclBloated();
private:
static INT_PTR _DlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
HRESULT InitDlg( HWND hDlg );
BOOL OnCommand(HWND hDlg, WPARAM wParam, LPARAM lParam);
BOOL OnNotify(HWND hDlg, WPARAM wParam, LPARAM lParam);
HRESULT AddAce(HDPA hEntries,
PACE_HEADER pAceHeader);
HRESULT AddAce(HDPA hEntries, PACE pAceNew);
LPCTSTR TranslateAceIntoRights(DWORD dwMask, const GUID *pObjectType,
PSI_ACCESS pAccess, ULONG cAccess);
LPCTSTR GetItemString(LPCTSTR pszItem, LPTSTR pszBuffer, UINT ccBuffer);
HRESULT AddAcesFromDPA(HWND hListView, HDPA hEntries);
HRESULT MergeAces(HDPA hEntries, HDPA hPropEntries, HDPA hMergedList);
};
typedef CACLBloat *PACLBLOAT;
#endif