WindowsXP-SP1/admin/darwin/src/idl/server.idl
2020-09-30 16:53:49 +02:00

218 lines
9.8 KiB
Plaintext

import "unknwn.idl";
import "messag.idl";
import "icust.idl";
cpp_quote("/****************************************************************************")
cpp_quote(" server.h")
cpp_quote("")
cpp_quote(" GENERATED FILE!!! DO NOT EDIT!!!")
cpp_quote(" ")
cpp_quote(" Owner: DavidMck")
cpp_quote(" Copyright (C) Microsoft Corporation, 1998 - 1999")
cpp_quote(" ")
cpp_quote(" This file contains the exported interfaces for Darwin's Server marshalling.")
cpp_quote(" It is generated by midl.exe from server.idl")
cpp_quote("****************************************************************************/")
cpp_quote("#ifndef SERVER_H")
cpp_quote("#define SERVER_H")
typedef enum iauthEnum // Authentication result enum
{
iauthAccept,
iauthReject,
iauthCantValidate,
iauthError
} iauthEnum;
// UI level, arg for IMsiEngine::Initialize, IMsiHandler::Initialize
typedef enum iuiEnum
{
iuiFull = 0, // 'F' complete UI functionality
iuiReduced, // 'R' non-progress related UI actions suppressed
iuiBasic, // 'B' internal engine UI, Message function only
iuiNone, // 'N' totally quiet UI
iuiNextEnum
} iuiEnum;
typedef enum ipackTypeEnum // type of package to authenticate
{
ipackTypePE, // Windows PE (exe or dll)
ipackTypeCAB, // Cabinet file
ipackTypeJava, // Java class file
ipackTypeOLE // OLE storage file
} ipackTypeEnum;
typedef enum iesEnum // return status from IMsiEngine::Sequence and DoAction
{
iesNoAction = 0, // action not invoked
iesSuccess = 1, // IDOK, completed actions successfully
iesUserExit = 2, // IDCANCEL, user terminated prematurely,$resume with next action
iesFailure = 3, // IDABORT, unrecoverable error occurred
iesSuspend = 4, // IDRETRY, sequence suspended, resume with same action
iesFinished = 5, // IDIGNORE, skip remaining actions
iesWrongState = 6, // calling sequence error, not in executable state
iesBadActionData = 7, // invalid Action table record data
iesInstallRunning = 8, // another install is in progress
iesNextEnum
} iesEnum;
typedef enum ireEnum // enumeration for 1st arg of CreateAndRunEngine
{
ireProductCode,
irePackagePath,
ireSubStorage,
ireDatabaseHandle,
ireInstallFinalize,
} ireEnum;
typedef enum iioEnum // various options flags passed to IMsiEngine::Initialize
{
iioUpgrade = 0x00000001,
iioChild = 0x00000002,
iioDisablePlatformValidation = 0x00000004,
iioEndDialog = 0x00000008,
iioCreatingAdvertiseScript = 0x00000010,
iioDisableRollback = 0x00000020,
iioMustAccessInstallerKey = 0x00000040, // Insist that we can access the installer key.
iioReinstallModePackage = 0x00000080,
iioClientEngine = 0x00000100, // Used to indicate that we have a client engine.
iioSimulateX86 = 0x00000200, // ignore current execution platform and use X86, only valid w/ iioCreatingAdvertiseScript
iioSimulateIA64 = 0x00000400, // ignore current execution platform and use IA64, only valid w/ iioCreatingAdvertiseScript
iioRestrictedEngine = 0x00000800, // create a "safe" engine that is not subject to machine state and cannot modify machine state
iioSimulateAMD64 = 0x00001000, // ignore current execution platform and use AMD64, only valid w/iioCreateAdvertiseScript
} iioEnum;
typedef enum isrcEnum // enumeration for sourcelist type to work with
{
isrcNet = 0,
isrcMedia = 1,
isrcURL = 2,
} isrcEnum;
typedef enum icacCustomActionContext // enumeration for types of custom action servers
{
icacFirst = 0,
icac32Impersonated = 0,
icac64Impersonated = 1,
icac32Elevated = 2,
icac64Elevated = 3,
icacNext = 4,
} icacCustomActionContext;
#ifdef UNICODE
typedef wchar_t ichar;
#else
typedef char ichar;
#endif //UNICODE
cpp_quote("#ifndef __cplusplus")
cpp_quote("typedef interface IMsiMessage IMsiMessage;")
cpp_quote("typedef interface IMsiCustomAction IMsiCustomAction;")
typedef IMsiMessage *REF_IMsiMessage;
cpp_quote("#else // __cplusplus")
cpp_quote("#define REF_IMsiMessage IMsiMessage&")
cpp_quote("#endif")
[
object,
pointer_default(unique),
uuid(000C101C-0000-0000-c000-000000000046)
]
interface IMsiServer : IUnknown
{
typedef [unique] IMsiServer *PMSISERVER;
[local]
iesEnum InstallFinalize([in] iesEnum iesState, [in] REF_IMsiMessage riMessage, [in] boolean fUserChangedDuringInstall);
[call_as(InstallFinalize)]
HRESULT InstallFinalizeRemote([in] iesEnum iesState, [in] IMsiMessage* riMessage, [in] boolean fUserChangedDuringInstall, [out] iesEnum * iesRet);
[local]
IMsiRecord *SetLastUsedSource([in, string] const ichar *szProductCode, [in, string] const ichar *szPath,
[in] boolean fAddToList, [in] boolean fPatch);
[call_as(SetLastUsedSource)]
HRESULT SetLastUsedSourceRemote([in, string] const ichar *szProductCode, [in, string] const ichar *szPath,
[in] boolean fAddToList, [in] boolean fPatch, [out] int *pcb, [out, size_is(,*pcb)] char **pchRecordOut);
[local]
boolean RecordShutdownReason();
[call_as(RecordShutdownReason)]
HRESULT RecordShutdownReasonRemote([out] boolean *pfReturn);
[local]
boolean Reboot();
[call_as(Reboot)]
HRESULT RebootRemote([out] boolean *pfReturn);
[local]
int DoInstall([in] ireEnum ireProductCode, [in, string] const ichar *szProduct, [in, string, unique] const ichar *szAction,
[in, string, unique] const ichar *szCommandLine, [in, string, unique] const ichar *szLogFile,
[in] int iLogMode, [in] boolean fFlushEachLine, [in] REF_IMsiMessage riMessage, [in] iioEnum iioOptions);
[call_as(DoInstall)]
HRESULT DoInstallRemote([in] ireEnum ireProductCode, [in, string] const ichar *szProduct, [in, string, unique] const ichar *szAction,
[in, string, unique] const ichar *szCommandLine, [in, string, unique] const ichar *szLogFile,
[in] int iLogMode, [in] boolean fFlushEachLine, [in] IMsiMessage *riMessage, [in] iioEnum iioOptions, [out] int *retVal);
[local]
IMsiRecord *RegisterUser([in, string] const ichar *szProductCode, [in, string, unique] const ichar *szUserName,
[in, string, unique] const ichar *szCompany, [in, string, unique] const ichar *szProductID);
[call_as(RegisterUser)]
HRESULT RegisterUserRemote([in, string] const ichar *szProductCode, [in, string, unique] const ichar *szUserName,
[in, string, unique] const ichar *szCompany, [in, string, unique] const ichar *szProductID,
[out] int *pcb, [out, size_is(,*pcb)] char **pchRecordOut);
[local]
IMsiRecord *RemoveRunOnceEntry([in, string] const ichar *szEntry);
[call_as(RemoveRunOnceEntry)]
HRESULT RemoveRunOnceEntryRemote([in, string] const ichar *szProductCode,
[out] int *pcb, [out, size_is(,*pcb)] char **pchRecordOut);
[local]
boolean CleanupTempPackages([in] REF_IMsiMessage riMessage);
[call_as(CleanupTempPackages)]
HRESULT CleanupTempPackagesRemote([in] IMsiMessage *riMessage, [out] boolean *pfReturn);
[local]
UINT SourceListClearByType([in, string] const ichar *szProductCode, [in, string, unique] const ichar *szUserName,
[in] isrcEnum isrcType);
[call_as(SourceListClearByType)]
HRESULT SourceListClearByTypeRemote([in, string] const ichar *szProductCode, [in, string, unique] const ichar *szUserName,
[in] isrcEnum isrcType, [out] unsigned int *retVal);
[local]
UINT SourceListAddSource([in, string] const ichar *szProductCode, [in, string, unique] const ichar *szUserName, [in] isrcEnum isrcType,
[in, string] const ichar *szSource);
[call_as(SourceListAddSource)]
HRESULT SourceListAddSourceRemote([in, string] const ichar *szProductCode, [in, string, unique] const ichar *szUserName, [in] isrcEnum isrcType,
[in, string] const ichar *szSource, [out] unsigned int *retVal);
[local]
UINT SourceListClearLastUsed([in, string] const ichar *szProductCode, [in, string, unique] const ichar *szUserName);
[call_as(SourceListClearLastUsed)]
HRESULT SourceListClearLastUsedRemote([in, string] const ichar *szProductCode, [in, string, unique] const ichar *szUserName, [out] unsigned int *retVal);
[local]
UINT RegisterCustomActionServer([in,out] icacCustomActionContext* picacContext, [in] const unsigned char *rgchCookie, [in] const int cbCookie,
[in, unique] IMsiCustomAction *piCustomAction, [out] unsigned long *dwProcessId, [out] IMsiRemoteAPI **piRemoteAPI, [out] DWORD *dwPrivileges);
[call_as(RegisterCustomActionServer)]
HRESULT RegisterCustomActionServerRemote([in, out] icacCustomActionContext* picacContext, [in, size_is(cbCookie)] const unsigned char *rgchCookie, [in] const int cbCookie, [in, unique] IMsiCustomAction *piCustomAction, [out] unsigned long *dwProcessId,
[out] IMsiRemoteAPI **piRemoteAPI, [out] DWORD* pdwPrivileges, [out] unsigned int *retVal);
[local]
UINT CreateCustomActionServer([in] const icacCustomActionContext icacContext, [in] const unsigned long dwProcessId, [in, unique] IMsiRemoteAPI *piRemoteAPI,
[in, size_is(cchEnvironment)] const WCHAR* pvEnvironment, [in] DWORD cchEnvironment, [in] DWORD dwPrivileges, [out] unsigned char *rgchCookie, [in, out] int *cbCookie, [out] IMsiCustomAction **piCustomAction, [out] unsigned long *dwServerProcessId);
[call_as(CreateCustomActionServer)]
HRESULT CreateCustomActionServerRemote([in] const icacCustomActionContext icacContext, [in] const unsigned long dwProcessId, [in, unique] IMsiRemoteAPI *piRemoteAPI,
[in, size_is(cchEnvironment)] const WCHAR* pvEnvironment, [in] DWORD cchEnvironment, [in] DWORD dwPrivileges, [out, size_is(*cbCookie)] unsigned char *rgchCookie, [in, out] int *cbCookie, [out] IMsiCustomAction **piCustomAction, [out] unsigned long *dwServerProcessId, [out] unsigned int *retVal);
}
cpp_quote("#endif // SERVER_H")