|
|
//=--------------------------------------------------------------------------=
// jobexec.h
//=--------------------------------------------------------------------------=
// Copyright 1996-1998 Microsoft Corporation. All Rights Reserved.
//
//
// interface declaration for the JobExecuter object.
//
#ifndef _JOBEXEC_H_
#ifdef __cplusplus
extern "C"{ #endif
typedef struct { DWORD cbSize; DWORD dwKBReqWinDrive; DWORD dwKBAvailWinDrive; DWORD dwKBReqInstallDrive; DWORD dwKBAvailInstallDrive; DWORD dwKBReqDownloadDrive; DWORD dwKBAvailDownloadDrive; } CHECKDISKSPACE;
// {7279B780-2867-11d0-A066-00AA00B6015C}
DEFINE_GUID(CLSID_JobExecuter, 0x7279b780, 0x2867, 0x11d0, 0xa0, 0x66, 0x0, 0xaa, 0x0, 0xb6, 0x1, 0x5c);
// {7279B781-2867-11d0-A066-00AA00B6015C}
DEFINE_GUID(IID_IJobExecuter, 0x7279b782, 0x2867, 0x11d0, 0xa0, 0x66, 0x0, 0xaa, 0x0, 0xb6, 0x1, 0x5c);
#undef INTERFACE
#define INTERFACE IJobExecuter
#define E_PARTIAL _HRESULT_TYPEDEF_(0x80100001L)
#define E_ABORTPARTIAL _HRESULT_TYPEDEF_(0x80100002L)
DECLARE_INTERFACE_(IJobExecuter, IUnknown) { // *** IUnknown methods ***
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; STDMETHOD_(ULONG,AddRef) (THIS) PURE; STDMETHOD_(ULONG,Release) (THIS) PURE;
STDMETHOD(InitializeJob)(THIS_ LPCSTR pszJobName, char chMode) PURE; STDMETHOD(SetDownloadDir)(THIS_ LPCSTR pszDownloadDir) PURE; STDMETHOD(SetBaseUrls)(THIS_ LPCSTR pszBaseUrl) PURE; STDMETHOD(SetInstallDrive)(THIS_ CHAR chDrive) PURE; STDMETHOD(SetInstallMode)(THIS_ CHAR chMode) PURE; STDMETHOD(SetInstallOptions)(THIS_ DWORD dwInsFlag) PURE; STDMETHOD(CheckFreeSpace)(THIS_ CHECKDISKSPACE *pcds) PURE;
STDMETHOD(DownloadJob)(THIS_ DWORD dwFlags, LPSTR *ppszSuccessStr, LPSTR *ppszErrorStr) PURE; STDMETHOD(InstallJob)(THIS_ DWORD dwFlags, DWORD *dwStatus, LPSTR *ppszSuccessStr, LPSTR *ppszErrorStr) PURE;
STDMETHOD(SetHWND)(THIS_ HWND hForUI) PURE; STDMETHOD(SetIStream)(THIS_ IStream *pstm) PURE; };
// The job key, off of HKCU
#define KEY_JOB "Software\\Microsoft\\Active Setup\\Jobs"
#define VALUE_BASEURL "BaseUrl"
#define VALUE_CIFNAME "InstallList"
#define VALUE_CABNAME "CabName"
#define VALUE_MODELIST "InstallModes"
#define VALUE_DEFAULTMODE "DefaultMode"
#define VALUE_QUIETMODE "QuietMode"
#define VALUE_LOCALURL "LocalUrl"
// for support of suspend,resume,abort from outside jobexec.dll
#define VALUE_STATUS "Status"
#define DATA_SUSPEND 1
#define DATA_RESUME 2
#define DATA_ABORT 3
#ifdef __cplusplus
} #endif
#define _JOBEXEC_H_
#endif //
|