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.
172 lines
5.5 KiB
172 lines
5.5 KiB
//=--------------------------------------------------------------------------=
|
|
// asctrls.odl
|
|
//=--------------------------------------------------------------------------=
|
|
// Copyright 1995-1996 Microsoft Corporation. All Rights Reserved.
|
|
//
|
|
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|
|
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
|
// PARTICULAR PURPOSE.
|
|
//=--------------------------------------------------------------------------=
|
|
//
|
|
// ODL file for the control(s) and automation object(s) in this inproc server
|
|
//
|
|
#include <olectl.h>
|
|
#include <idispids.h>
|
|
#include <internet.h>
|
|
#include "dispids.h"
|
|
|
|
/*
|
|
LIBID_ASControls {CC0918E0-EFE5-11cf-A044-00AA00B6015C}
|
|
|
|
IID_DInstallEngineEvents {6E449681-C509-11CF-AAFA-00AA00B6015C}
|
|
IID_IInstallEngineCtl {6E449682-C509-11CF-AAFA-00AA00B6015C}
|
|
CLSID_InstallEngineCtl {6E449683-C509-11CF-AAFA-00AA00B6015C}
|
|
|
|
*/
|
|
|
|
// can't include oaidl.h, so this will have to do
|
|
//
|
|
#define DISPID_NEWENUM -4
|
|
|
|
|
|
//=--------------------------------------------------------------------------=
|
|
// the libid for this type libray
|
|
//
|
|
[
|
|
uuid(CC0918E0-EFE5-11cf-A044-00AA00B6015C),
|
|
helpstring("Active Setup Control Library"),
|
|
lcid(0x0000),
|
|
version(1.0)
|
|
]
|
|
library ASControls
|
|
{
|
|
|
|
// standard imports
|
|
//
|
|
importlib("STDOLE2.TLB");
|
|
|
|
// primary dispatch interface for InstallEngine control
|
|
//
|
|
[
|
|
uuid(6E449682-C509-11CF-AAFA-00AA00B6015C),
|
|
helpstring("Primary dispatch for Install Engine"),
|
|
hidden,
|
|
dual,
|
|
odl
|
|
]
|
|
interface IInstallEngineCtl : IDispatch
|
|
{
|
|
|
|
// properties
|
|
//
|
|
[id(DISPID_READYSTATE), propget]
|
|
HRESULT ReadyState([out, retval] long * thestate);
|
|
|
|
[id(DISPID_ENGINESTATUS), propget]
|
|
HRESULT EngineStatus([out, retval] long * theenginestatus);
|
|
|
|
[id(DISPID_CIFFILE)]
|
|
HRESULT SetCifFile([in] BSTR strCabName, [in] BSTR strCifName);
|
|
|
|
[id(DISPID_BASEURL), propput]
|
|
HRESULT BaseUrl([in] BSTR strBaseUrl);
|
|
|
|
[id(DISPID_DOWNLOADDIR), propput]
|
|
HRESULT DownloadDir([in] BSTR strDownloadDir);
|
|
|
|
[id(DISPID_NAME), propget]
|
|
HRESULT DisplayName([in] BSTR ComponentID, [out, retval] BSTR *name);
|
|
|
|
[id(DISPID_SIZE), propget]
|
|
HRESULT Size([in] BSTR ComponentID, [out, retval] long * thestate);
|
|
|
|
[id(DISPID_TOTALSIZE), propget]
|
|
HRESULT TotalDownloadSize([out, retval] long * totalsize);
|
|
|
|
[id(DISPID_DEPENDENCYSIZE), propget]
|
|
HRESULT TotalDependencySize([out, retval] long * totaldepsize);
|
|
|
|
// methods
|
|
|
|
[id(DISPID_SETACTION)]
|
|
HRESULT SetAction([in] BSTR ComponentID, [in] long lAction, [out, retval] long *lResult);
|
|
|
|
[id(DISPID_ISCOMPONENTINSTALLED)]
|
|
HRESULT IsComponentInstalled([in] BSTR ComponentID, [out, retval] long *lResult);
|
|
|
|
[id(DISPID_PROCESSCOMPONENTS)]
|
|
HRESULT ProcessComponents([in] long lFlag);
|
|
|
|
[id(DISPID_ABORT)]
|
|
HRESULT Abort([in] long lFlag);
|
|
|
|
[id(DISPID_FINALIZEINSTALL)]
|
|
HRESULT FinalizeInstall([in] long lFlag);
|
|
|
|
[id(DISPID_HANDLEENGINEPROBLEM)]
|
|
HRESULT HandleEngineProblem([in] long dwAction);
|
|
|
|
[id(DISPID_CHECKFREESPACE)]
|
|
HRESULT CheckFreeSpace([in] long lPad, [out, retval] long *lEnough);
|
|
|
|
[id(DISPID_SETLOCALCIF)]
|
|
HRESULT SetLocalCif([in] BSTR strCif, [out, retval] long *lResult);
|
|
|
|
[id(DISPID_SETSITESFILE)]
|
|
HRESULT SetSitesFile([in] BSTR strUrl, [in] BSTR strRegion, [in] BSTR strLocale, [out, retval] long *lResult);
|
|
|
|
|
|
};
|
|
|
|
// event interface for InstallEngine controls ...
|
|
//
|
|
[
|
|
uuid(6E449681-C509-11CF-AAFA-00AA00B6015C),
|
|
helpstring("Event interface for Install Engine Ctl"),
|
|
hidden
|
|
]
|
|
dispinterface DInstallEngineCtlEvents
|
|
{
|
|
properties:
|
|
|
|
methods:
|
|
|
|
[id(DISPID_READYSTATECHANGE)]
|
|
void OnReadyStateChange([in] long newState);
|
|
[id(DISPID_PROGRESS)]
|
|
void OnProgress([in] long percentDone);
|
|
[id(DISPID_ENGINESTATUSCHANGE)]
|
|
void OnEngineStatusChange([in] long newEngineStatus, [in] long substatus);
|
|
[id(DISPID_ONSTARTINSTALL)]
|
|
void OnStartInstall([in] long lTotalSize);
|
|
[id(DISPID_ONSTARTCOMPONENT)]
|
|
void OnStartComponent([in] BSTR strID, [in] long lTotalSize, [in] BSTR strName);
|
|
[id(DISPID_ONSTOPCOMPONENT)]
|
|
void OnStopComponent([in] BSTR strID, [in] long lResult, [in] long lPhase, [in] BSTR strName, [in] long lStatus);
|
|
[id(DISPID_ONSTOPINSTALL)]
|
|
void OnStopInstall([in] long lResult, [in] BSTR strString, [in] long lStatus);
|
|
[id(DISPID_ONENGINEPROBLEM)]
|
|
void OnEngineProblem([in] long lProblem);
|
|
[id(DISPID_ONCHECKFREESPACE)]
|
|
void OnCheckFreeSpace([in] BSTR chWin, [in] long dwWin, [in] BSTR chInstall, [in] long dwInstall, [in] BSTR chDL, [in] long dwDL);
|
|
[id(DISPID_ONCOMPONENTPROGRESS)]
|
|
void OnComponentProgress([in] BSTR strID, [in] long lPhase, [in] BSTR strName, [in] BSTR strString, [in] long lSoFar, [in] long lTotal);
|
|
[id(DISPID_ONSTARTINSTALLEX)]
|
|
void OnStartInstallEx([in] long lTotalDLSize, [in] long lTotalInsSize);
|
|
};
|
|
|
|
// coclass for Install Engine controls
|
|
//
|
|
[
|
|
uuid(6E449683-C509-11CF-AAFA-00AA00B6015C),
|
|
helpstring("Install Engine Ctl")
|
|
]
|
|
coclass InstallEngineCtl
|
|
{
|
|
[default] interface IInstallEngineCtl;
|
|
[default, source] dispinterface DInstallEngineCtlEvents;
|
|
};
|
|
|
|
|
|
};
|