windows-nt/Source/XPSP1/NT/com/ole32/cs/csadmin/inc/message.hxx
2020-09-26 16:20:57 +08:00

85 lines
2.9 KiB
C++

#ifndef __MESSAGE_HXX__
#define __MESSAGE_HXX__
#include "common.h"
#include "clsdict.hxx"
#include "appdict.hxx"
#include "pdict.hxx"
#include "iidict.hxx"
class CLSDICT;
class APPDICT;
class PDICT;
class IIDICT;
interface IClassAdmin;
typedef class _MESSAGE
{
public:
int fDumpOnly : 1; // flag(1=dump only,0-update cls store)
int fPathTypeKnown: 1; // set of path type is known.
int fAssignOrPublish:1; // Assign or publish.
CLASSPATHTYPE PathType; // package path type if known.
HKEY hRoot; // Registry root key to be updated from
CLSDICT * pClsDict; // class entry dictionary.
APPDICT * pAppDict; // app entry dictionary.
PDICT * pPackageDict; // package dictionary.
IIDICT * pIIDict; // interface dictionary.
char * pPackagePath; // package path.
char * pAuxPath; // addition path - used to specify
// darwin path
char * pPackageName; // overriding package name.
char * pRegistryKeyName; // registry key to be treated as root.
long RunningAppIDValue;// temp running appid value
char * pSetupCommand; // full path & name of setup executable.
char * pClassStoreName;// name of the class store.
char * pClassStoreDomainName; // name of cs domain.
char * pIconPath; // name+path of icon file
DWORD Locale; // locale
// DWORD Architecture; // arhcitechcture (os + platform)
DWORD ActFlags; // activation flags
FILETIME ftLow;
FILETIME ftHigh;
HWND hwnd; // window handle to use for any UI
_MESSAGE();
_MESSAGE( HKEY hKey );
_MESSAGE( char * RootKeyName );
~_MESSAGE();
LONG SetRootKey( char * RegRootKey );
void Init();
void (*pDumpOnePackage)(class _MESSAGE *, PACKAGEDETAIL *);
} MESSAGE;
//
// Global protos.
//
HRESULT UpdateClassStore(
IClassAdmin * pIClassAdmin,
char * szFilePath,
char * szAuxPath,
char * szPackageName,
DWORD cchPackageName,
DWORD dwFlags,
HWND hwnd);
HRESULT UpdateClassStoreFromMessage( MESSAGE * pMessage, IClassAdmin * pClassAdmin );
LONG UpdateDatabaseFromCLSID( MESSAGE * pMessage );
HRESULT UpdateClassStoreFromIE(
IClassAdmin * pClassAdmin,
char * szFilePath,
char * szAuxPath, // used to specify auxillary path
DWORD flags,
FILETIME ftStart,
FILETIME ftEnd,
HWND hwnd );
#endif // __MESSAGE_HXX__