Leaked source code of windows server 2003
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.
 
 
 
 
 
 

127 lines
2.5 KiB

//*************************************************************
//
// Copyright (c) Microsoft Corporation 1998
// All rights reserved
//
// applist.hxx
//
//*************************************************************
#ifndef _APPLIST_HXX_
#define _APPLIST_HXX_
#define RSOP_ARP_CONTEXT_QUERY L"EntryType = 3"
#define RSOP_POLICY_CONTEXT_QUERY L"EntryType = 2"
#define RSOP_PURGE_QUERY L"EntryType = 1"
//
// RSoP Removal query criteria -- used to remove an installed app
// from the RSoP database due to an uninstall
//
#define RSOP_REMOVAL_QUERY_CRITERIA L"EntryType = %d AND Id = \"%s\""
// RSoP Query criteria maximum constants
#define MAXLEN_RSOPREMOVAL_QUERY_CRITERIA ( sizeof( RSOP_REMOVAL_QUERY_CRITERIA ) / sizeof( WCHAR ) )
#define MAXLEN_RSOPENTRYTYPE_DECIMAL_REPRESENTATION 10
#define MAXLEN_RSOPPACKAGEID_GUID_REPRESENTATION MAX_SZGUID_LEN
class CRsopAppContext;
class CAppList : public CList, public CPolicyLog
{
friend class CManagedAppProcessor;
public:
enum
{
RSOP_FILTER_ALL,
RSOP_FILTER_REMOVALSONLY
};
CAppList(
CManagedAppProcessor * pManApp,
CRsopAppContext * pRsopContext = NULL );
~CAppList();
DWORD
SetAppActions();
DWORD
ProcessPolicy();
DWORD
ProcessARPList();
DWORD
Count(
DWORD Flags
);
CAppInfo *
Find(
GUID DeploymentId
);
HRESULT
WriteLog( DWORD dwFilter = RSOP_FILTER_ALL );
HRESULT
WriteAppToRsopLog( CAppInfo* pAppInfo );
HRESULT
MarkRSOPEntryAsRemoved(
CAppInfo* pAppInfo,
BOOL bRemoveInstances);
private:
HRESULT
PurgeEntries();
HRESULT
GetUserApplyCause(
CPolicyRecord* pRecord,
CAppInfo* pAppInfo
);
HRESULT
FindRsopAppEntry(
CAppInfo* pAppInfo,
WCHAR** ppwszCriteria );
HRESULT
WriteConflicts( CAppInfo* pAppInfo );
HRESULT
InitRsopLog();
WCHAR*
GetRsopListCriteria();
CManagedAppProcessor * _pManApp; // The machine or user global state object.
CRsopAppContext* _pRsopContext; // RSoP Logging context
HRESULT _hrRsopInit; // Status of attempt to initialize RSoP
BOOL _bRsopInitialized; // TRUE if RSoP logging has been initialized
};
#endif