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.

84 lines
2.9 KiB

  1. #ifndef __MESSAGE_HXX__
  2. #define __MESSAGE_HXX__
  3. #include "common.h"
  4. #include "clsdict.hxx"
  5. #include "appdict.hxx"
  6. #include "pdict.hxx"
  7. #include "iidict.hxx"
  8. class CLSDICT;
  9. class APPDICT;
  10. class PDICT;
  11. class IIDICT;
  12. interface IClassAdmin;
  13. typedef class _MESSAGE
  14. {
  15. public:
  16. int fDumpOnly : 1; // flag(1=dump only,0-update cls store)
  17. int fPathTypeKnown: 1; // set of path type is known.
  18. int fAssignOrPublish:1; // Assign or publish.
  19. CLASSPATHTYPE PathType; // package path type if known.
  20. HKEY hRoot; // Registry root key to be updated from
  21. CLSDICT * pClsDict; // class entry dictionary.
  22. APPDICT * pAppDict; // app entry dictionary.
  23. PDICT * pPackageDict; // package dictionary.
  24. IIDICT * pIIDict; // interface dictionary.
  25. char * pPackagePath; // package path.
  26. char * pAuxPath; // addition path - used to specify
  27. // darwin path
  28. char * pPackageName; // overriding package name.
  29. char * pRegistryKeyName; // registry key to be treated as root.
  30. long RunningAppIDValue;// temp running appid value
  31. char * pSetupCommand; // full path & name of setup executable.
  32. char * pClassStoreName;// name of the class store.
  33. char * pClassStoreDomainName; // name of cs domain.
  34. char * pIconPath; // name+path of icon file
  35. DWORD Locale; // locale
  36. // DWORD Architecture; // arhcitechcture (os + platform)
  37. DWORD ActFlags; // activation flags
  38. FILETIME ftLow;
  39. FILETIME ftHigh;
  40. HWND hwnd; // window handle to use for any UI
  41. _MESSAGE();
  42. _MESSAGE( HKEY hKey );
  43. _MESSAGE( char * RootKeyName );
  44. ~_MESSAGE();
  45. LONG SetRootKey( char * RegRootKey );
  46. void Init();
  47. void (*pDumpOnePackage)(class _MESSAGE *, PACKAGEDETAIL *);
  48. } MESSAGE;
  49. //
  50. // Global protos.
  51. //
  52. HRESULT UpdateClassStore(
  53. IClassAdmin * pIClassAdmin,
  54. char * szFilePath,
  55. char * szAuxPath,
  56. char * szPackageName,
  57. DWORD cchPackageName,
  58. DWORD dwFlags,
  59. HWND hwnd);
  60. HRESULT UpdateClassStoreFromMessage( MESSAGE * pMessage, IClassAdmin * pClassAdmin );
  61. LONG UpdateDatabaseFromCLSID( MESSAGE * pMessage );
  62. HRESULT UpdateClassStoreFromIE(
  63. IClassAdmin * pClassAdmin,
  64. char * szFilePath,
  65. char * szAuxPath, // used to specify auxillary path
  66. DWORD flags,
  67. FILETIME ftStart,
  68. FILETIME ftEnd,
  69. HWND hwnd );
  70. #endif // __MESSAGE_HXX__