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.

86 lines
2.7 KiB

  1. //=--------------------------------------------------------------------------=
  2. // jobexec.h
  3. //=--------------------------------------------------------------------------=
  4. // Copyright 1996-1998 Microsoft Corporation. All Rights Reserved.
  5. //
  6. //
  7. // interface declaration for the JobExecuter object.
  8. //
  9. #ifndef _JOBEXEC_H_
  10. #ifdef __cplusplus
  11. extern "C"{
  12. #endif
  13. typedef struct
  14. {
  15. DWORD cbSize;
  16. DWORD dwKBReqWinDrive;
  17. DWORD dwKBAvailWinDrive;
  18. DWORD dwKBReqInstallDrive;
  19. DWORD dwKBAvailInstallDrive;
  20. DWORD dwKBReqDownloadDrive;
  21. DWORD dwKBAvailDownloadDrive;
  22. } CHECKDISKSPACE;
  23. // {7279B780-2867-11d0-A066-00AA00B6015C}
  24. DEFINE_GUID(CLSID_JobExecuter, 0x7279b780, 0x2867, 0x11d0, 0xa0, 0x66, 0x0, 0xaa, 0x0, 0xb6, 0x1, 0x5c);
  25. // {7279B781-2867-11d0-A066-00AA00B6015C}
  26. DEFINE_GUID(IID_IJobExecuter, 0x7279b782, 0x2867, 0x11d0, 0xa0, 0x66, 0x0, 0xaa, 0x0, 0xb6, 0x1, 0x5c);
  27. #undef INTERFACE
  28. #define INTERFACE IJobExecuter
  29. #define E_PARTIAL _HRESULT_TYPEDEF_(0x80100001L)
  30. #define E_ABORTPARTIAL _HRESULT_TYPEDEF_(0x80100002L)
  31. DECLARE_INTERFACE_(IJobExecuter, IUnknown)
  32. {
  33. // *** IUnknown methods ***
  34. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
  35. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  36. STDMETHOD_(ULONG,Release) (THIS) PURE;
  37. STDMETHOD(InitializeJob)(THIS_ LPCSTR pszJobName, char chMode) PURE;
  38. STDMETHOD(SetDownloadDir)(THIS_ LPCSTR pszDownloadDir) PURE;
  39. STDMETHOD(SetBaseUrls)(THIS_ LPCSTR pszBaseUrl) PURE;
  40. STDMETHOD(SetInstallDrive)(THIS_ CHAR chDrive) PURE;
  41. STDMETHOD(SetInstallMode)(THIS_ CHAR chMode) PURE;
  42. STDMETHOD(SetInstallOptions)(THIS_ DWORD dwInsFlag) PURE;
  43. STDMETHOD(CheckFreeSpace)(THIS_ CHECKDISKSPACE *pcds) PURE;
  44. STDMETHOD(DownloadJob)(THIS_ DWORD dwFlags, LPSTR *ppszSuccessStr, LPSTR *ppszErrorStr) PURE;
  45. STDMETHOD(InstallJob)(THIS_ DWORD dwFlags, DWORD *dwStatus,
  46. LPSTR *ppszSuccessStr, LPSTR *ppszErrorStr) PURE;
  47. STDMETHOD(SetHWND)(THIS_ HWND hForUI) PURE;
  48. STDMETHOD(SetIStream)(THIS_ IStream *pstm) PURE;
  49. };
  50. // The job key, off of HKCU
  51. #define KEY_JOB "Software\\Microsoft\\Active Setup\\Jobs"
  52. #define VALUE_BASEURL "BaseUrl"
  53. #define VALUE_CIFNAME "InstallList"
  54. #define VALUE_CABNAME "CabName"
  55. #define VALUE_MODELIST "InstallModes"
  56. #define VALUE_DEFAULTMODE "DefaultMode"
  57. #define VALUE_QUIETMODE "QuietMode"
  58. #define VALUE_LOCALURL "LocalUrl"
  59. // for support of suspend,resume,abort from outside jobexec.dll
  60. #define VALUE_STATUS "Status"
  61. #define DATA_SUSPEND 1
  62. #define DATA_RESUME 2
  63. #define DATA_ABORT 3
  64. #ifdef __cplusplus
  65. }
  66. #endif
  67. #define _JOBEXEC_H_
  68. #endif //