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.
 
 
 
 
 
 

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;
};
};