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.
|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 2000-2001.
//
// File: SaferEntry.h
//
// Contents: Declaration of CSaferEntry
//
//----------------------------------------------------------------------------
#if !defined(AFX_SAFERENTRY_H__CF4D8002_5484_40E9_B4F6_CC4A0030D738__INCLUDED_)
#define AFX_SAFERENTRY_H__CF4D8002_5484_40E9_B4F6_CC4A0030D738__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <winsafer.h>
#include "cookie.h"
#include "certifct.h"
#include "SaferUtil.h"
typedef enum { SAFER_ENTRY_TYPE_UNKNOWN = 0, SAFER_ENTRY_TYPE_HASH, SAFER_ENTRY_TYPE_PATH, SAFER_ENTRY_TYPE_URLZONE, SAFER_ENTRY_TYPE_CERT } SAFER_ENTRY_TYPE;
extern const DWORD AUTHZ_UNKNOWN_LEVEL;
class CSaferEntry : public CCertMgrCookie { public: CSaferEntry ( SAFER_ENTRY_TYPE saferEntryType, bool bIsMachine, PCWSTR pszMachineName, PCWSTR pszObjectName, PSAFER_IDENTIFICATION_HEADER pAuthzInfo, DWORD dwLevelID, IGPEInformation* m_pGPEInformation, CCertificate* pCertificate, CSaferEntries* pSaferEntries, CRSOPObjectArray& rRSOPArray, PCWSTR pszRSOPRegistryKey = 0);
virtual ~CSaferEntry();
public: virtual void Refresh (); CString GetRSOPRegistryKey () const; void SetHashFriendlyName (const CString& szFriendlyName); CString GetHashFriendlyName (); void SetURLZoneID (DWORD dwURLZoneID); int CompareLastModified (const CSaferEntry& saferEntry) const; HRESULT Delete (bool bCommit); HRESULT GetCertificate (CCertificate** ppCert); CString GetDescription (); HRESULT GetFlags (DWORD& dwFlags); HRESULT GetHash ( BYTE rgbFileHash[SAFER_MAX_HASH_SIZE], DWORD& cbFileHash, __int64& m_nFileSize, ALG_ID& algId) const; CString GetShortLastModified () const; CString GetLongLastModified () const; DWORD GetLevel () const; CString GetLevelFriendlyName () const; CString GetPath (); HRESULT GetSaferEntriesNode (CSaferEntries** ppSaferEntries); SAFER_ENTRY_TYPE GetType () const; CString GetTypeString () const; DWORD GetURLZoneID() const; HRESULT PolicyChanged(); HRESULT Save (); HRESULT SetCertificate (CCertificate* pCert); void SetDescription(const CString& szDescription); void SetFlags (DWORD dwFlags); HRESULT SetHash ( BYTE rgbFileHash[SAFER_MAX_HASH_SIZE], DWORD cbFileHash, __int64 m_nFileSize, ALG_ID hashAlgid); HRESULT SetLevel (DWORD dwLevelID); void SetPath (const CString& szPath); CString GetDisplayName () const { return m_szDisplayName; }
private: CString m_szHashFriendlyName; DWORD m_dwFlags; PSAFER_IDENTIFICATION_HEADER m_pAuthzInfo; DWORD m_dwLevelID; DWORD m_dwOriginalLevelID; CString m_szLevelFriendlyName; CCertificate* m_pCertificate; CSaferEntries* m_pSaferEntries; IGPEInformation* m_pGPEInformation; const SAFER_ENTRY_TYPE m_saferEntryType; CString m_szDescription; CString m_szPath; bool m_bDeleted; BYTE m_rgbFileHash[SAFER_MAX_HASH_SIZE]; DWORD m_cbFileHash; DWORD m_UrlZoneId; __int64 m_nHashFileSize; ALG_ID m_hashAlgid; CString m_szDisplayName; CString m_szRSOPRegistryKey; const bool m_bIsComputer; };
#endif // !defined(AFX_SAFERENTRY_H__CF4D8002_5484_40E9_B4F6_CC4A0030D738__INCLUDED_)
|