windows-nt/Source/XPSP1/NT/inetsrv/iis/admin/adsi/iisext/iisext.odl
2020-09-26 16:20:57 +08:00

360 lines
8.2 KiB
Plaintext

// iisext.odl : type library source for iisext.dll
// This file will be processed by the Make Type Library (mktyplib) tool to
// produce the type library (iisext.tlb).
#include "iisext.h"
#define DISPID_IADs_UPPER_BOUND 100
[ uuid(IIS_LIBIID_IISExt), version(1.0),
helpstring("Active DS IIS Extension Dll") ]
library IISExt
{
importlib("stdole2.tlb");
importlib("..\\oleds2.0\\types\\activeds.tlb");
[ uuid(IIS_IID_IISApplicationPool), oleautomation, dual]
interface IISApplicationPool : IADs
{
//methods
[id(DISPID_IADs_UPPER_BOUND+1)]
HRESULT
Recycle(void);
[id(DISPID_IADs_UPPER_BOUND+2)]
HRESULT
EnumApps(
[out, retval] VARIANT* bstrBuffer
);
[id(DISPID_IADs_UPPER_BOUND+3)]
HRESULT
Start(void);
[id(DISPID_IADs_UPPER_BOUND+4)]
HRESULT
Stop(void);
};
[ uuid(IIS_IID_IISApplicationPools), oleautomation, dual]
interface IISApplicationPools : IADs
{
//methods
};
[ uuid(IIS_IID_IISWebService), oleautomation, dual]
interface IISWebService : IADs
{
//methods
[id(DISPID_IADs_UPPER_BOUND+1)]
HRESULT
GetCurrentMode(
[out, retval] VARIANT* pvServerMode
);
[id(DISPID_IADs_UPPER_BOUND+2)]
HRESULT
CreateNewSite(
[in] BSTR bstrServerComment,
[in] VARIANT* pvServerBindings,
[in] BSTR bstrRootVDirPath,
[in, optional] VARIANT vServerID,
[out, retval] VARIANT* pvActualID
);
};
[ uuid(IIS_IID_IISDsCrMap), oleautomation, dual]
interface IISDsCrMap : IADs
{
//methods
[id(DISPID_IADs_UPPER_BOUND+1)]
HRESULT
CreateMapping(
[in] VARIANT vCert,
[in] BSTR bstrNtAcct,
[in] BSTR bstrNtPwd,
[in] BSTR bstrName,
[in] LONG lEnabled
);
[id(DISPID_IADs_UPPER_BOUND+2)]
HRESULT
GetMapping(
[in] LONG lMethod,
[in] VARIANT vKey,
[out] VARIANT* pvCert,
[out] VARIANT* pbstrNtAcct,
[out] VARIANT* pbstrNtPwd,
[out] VARIANT* pbstrName,
[out] VARIANT* plEnabled
);
[id(DISPID_IADs_UPPER_BOUND+3)]
HRESULT
DeleteMapping(
[in] LONG lMethod,
[in] VARIANT vKey
);
[id(DISPID_IADs_UPPER_BOUND+4)]
HRESULT
SetEnabled(
[in] LONG lMethod,
[in] VARIANT vKey,
[in] LONG lEnabled
);
[id(DISPID_IADs_UPPER_BOUND+5)]
HRESULT
SetName(
[in] LONG lMethod,
[in] VARIANT vKey,
[in] BSTR bstrName
);
[id(DISPID_IADs_UPPER_BOUND+6)]
HRESULT
SetPwd(
[in] LONG lMethod,
[in] VARIANT vKey,
[in] BSTR bstrPwd
);
[id(DISPID_IADs_UPPER_BOUND+7)]
HRESULT
SetAcct(
[in] LONG lMethod,
[in] VARIANT vKey,
[in] BSTR bstrAcct
);
};
[ uuid(IIS_IID_IISApp), oleautomation, dual]
interface IISApp : IADs
{
//methods
[id(DISPID_IADs_UPPER_BOUND+1)]
HRESULT
AppCreate(
[in] VARIANT_BOOL bSetInProcFlag
);
[id(DISPID_IADs_UPPER_BOUND+2)]
HRESULT
AppDelete(void);
[id(DISPID_IADs_UPPER_BOUND+3)]
HRESULT
AppDeleteRecursive(void);
[id(DISPID_IADs_UPPER_BOUND+4)]
HRESULT
AppUnLoad(void);
[id(DISPID_IADs_UPPER_BOUND+5)]
HRESULT
AppUnLoadRecursive(void);
[id(DISPID_IADs_UPPER_BOUND+6)]
HRESULT
AppDisable(void);
[id(DISPID_IADs_UPPER_BOUND+7)]
HRESULT
AppDisableRecursive(void);
[id(DISPID_IADs_UPPER_BOUND+8)]
HRESULT
AppEnable(void);
[id(DISPID_IADs_UPPER_BOUND+9)]
HRESULT
AppEnableRecursive(void);
// Obsolete. This method will not work correctly for late bound
// clients
[id(DISPID_IADs_UPPER_BOUND+10)]
HRESULT
AppGetStatus(
[out] DWORD * pdwStatus
);
[id(DISPID_IADs_UPPER_BOUND+11)]
HRESULT
AspAppRestart(void);
};
[ uuid(IIS_IID_IISApp2), oleautomation, dual]
interface IISApp2 : IISApp
{
[id(DISPID_IADs_UPPER_BOUND+12)]
HRESULT
AppCreate2(
[in] LONG lAppMode
);
[id(DISPID_IADs_UPPER_BOUND+13)]
HRESULT
AppGetStatus2(
[out,retval] LONG *lpStatus
);
};
[ uuid(IIS_IID_IISApp3), oleautomation, dual]
interface IISApp3 : IISApp2
{
[id(DISPID_IADs_UPPER_BOUND+14)]
HRESULT
AppCreate3(
[in] LONG lAppMode,
[in] VARIANT bstrAppPooI,
[in] VARIANT bCreatePool
);
};
[ uuid(IIS_IID_IISComputer), oleautomation, dual]
interface IISComputer : IADs
{
//methods
[id(DISPID_IADs_UPPER_BOUND+1)]
HRESULT
Backup(
[in] BSTR bstrLocation,
[in] LONG lVersion,
[in] LONG lFlags
);
[id(DISPID_IADs_UPPER_BOUND+2)]
HRESULT
Restore(
[in] BSTR bstrLocation,
[in] LONG lVersion,
[in] LONG lFlags
);
[id(DISPID_IADs_UPPER_BOUND+3)]
HRESULT
EnumBackups(
[in] BSTR bstrLocation,
[in] LONG lIndex,
[out] VARIANT *pvVersion,
[out] VARIANT *pvLocations,
[out] VARIANT *pvDate
);
[id(DISPID_IADs_UPPER_BOUND+4)]
HRESULT
DeleteBackup(
[in] BSTR bstrLocation,
[in] LONG lVersion
);
};
[ uuid(IIS_IID_IISComputer2), oleautomation, dual]
interface IISComputer2 : IISComputer
{
//methods
[id(DISPID_IADs_UPPER_BOUND+5)]
HRESULT
BackupWithPassword(
[in] BSTR bstrLocation,
[in] LONG lVersion,
[in] LONG lFlags,
[in] BSTR bstrPassword
);
[id(DISPID_IADs_UPPER_BOUND+6)]
HRESULT
RestoreWithPassword(
[in] BSTR bstrLocation,
[in] LONG lVersion,
[in] LONG lFlags,
[in] BSTR bstrPassword
);
[id(DISPID_IADs_UPPER_BOUND+7)]
HRESULT
Export(
[in] BSTR bstrPassword,
[in] BSTR bstrFilename,
[in] BSTR bstrSourcePath,
[in] LONG lFlags
);
[id(DISPID_IADs_UPPER_BOUND+8)]
HRESULT
Import(
[in] BSTR bstrPassword,
[in] BSTR bstrFilename,
[in] BSTR bstrSourcePath,
[in] BSTR bstrDestPath,
[in] LONG lFlags
);
[id(DISPID_IADs_UPPER_BOUND+9)]
HRESULT
SaveData();
};
[uuid(IIS_CLSID_IISExtComputer)]
coclass IISExtComputer
{
[default] interface IISComputer2;
interface IDispatch;
};
[uuid(IIS_CLSID_IISExtApp)]
coclass IISExtApp
{
[default] interface IISApp3;
interface IDispatch;
};
[uuid(IIS_CLSID_IISExtServer)]
coclass IISExtServer
{
[default] interface IADsServiceOperations;
interface IDispatch;
};
[uuid(IIS_CLSID_IISExtDsCrMap)]
coclass IISExtDsCrMap
{
[default] interface IISDsCrMap;
interface IDispatch;
};
[uuid(IIS_CLSID_IISExtApplicationPool)]
coclass IISExtApplicationPool
{
[default] interface IISApplicationPool;
interface IDispatch;
};
[uuid(IIS_CLSID_IISExtApplicationPools)]
coclass IISExtApplicationPools
{
[default] interface IISApplicationPools;
interface IDispatch;
};
[uuid(IIS_CLSID_IISExtWebService)]
coclass IISExtWebService
{
[default] interface IISWebService;
interface IDispatch;
};
};