Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenmsiserver.idl
Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2007 Mike McCormack 00003 * Copyright (C) 2007 Misha Koshelev 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library; if not, write to the Free Software 00017 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00018 */ 00019 00020 #include "msiserver_dispids.h" 00021 import "unknwn.idl"; 00022 import "wtypes.idl"; 00023 import "objidl.idl"; 00024 import "oaidl.idl"; 00025 00026 cpp_quote("#if 0") 00027 typedef unsigned long MSIHANDLE; 00028 typedef int INSTALLMESSAGE; 00029 typedef int MSICONDITION; 00030 typedef int MSIRUNMODE; 00031 typedef int INSTALLSTATE; 00032 cpp_quote("#endif") 00033 00034 [ 00035 uuid(7BDE2046-D03B-4ffc-B84C-A098F38CFF0B), 00036 oleautomation, 00037 object 00038 ] 00039 interface IWineMsiRemoteDatabase : IUnknown 00040 { 00041 HRESULT IsTablePersistent( [in] LPCWSTR table, [out] MSICONDITION *persistent ); 00042 HRESULT GetPrimaryKeys( [in] LPCWSTR table, [out] MSIHANDLE *keys ); 00043 HRESULT GetSummaryInformation( [in] UINT updatecount, [out] MSIHANDLE *suminfo ); 00044 HRESULT OpenView( [in] LPCWSTR query, [out] MSIHANDLE *view ); 00045 HRESULT SetMsiHandle( [in] MSIHANDLE handle ); 00046 } 00047 00048 [ 00049 uuid(902B3592-9D08-4dfd-A593-D07C52546421), 00050 oleautomation, 00051 object 00052 ] 00053 interface IWineMsiRemotePackage : IUnknown 00054 { 00055 HRESULT SetMsiHandle( [in] MSIHANDLE handle ); 00056 HRESULT GetActiveDatabase( [out] MSIHANDLE *handle ); 00057 HRESULT GetProperty( [in] BSTR property, [out, size_is(*size)] BSTR value, [in, out] DWORD *size ); 00058 HRESULT SetProperty( [in] BSTR property, [in] BSTR value ); 00059 HRESULT ProcessMessage( [in] INSTALLMESSAGE message, [in] MSIHANDLE record ); 00060 HRESULT DoAction( [in] BSTR action ); 00061 HRESULT Sequence( [in] BSTR table, [in] int sequence ); 00062 HRESULT GetTargetPath( [in] BSTR folder, [out, size_is(*size)] BSTR value, [in, out] DWORD *size ); 00063 HRESULT SetTargetPath( [in] BSTR folder, [in] BSTR value ); 00064 HRESULT GetSourcePath( [in] BSTR folder, [out, size_is(*size)] BSTR value, [in, out] DWORD *size ); 00065 HRESULT GetMode( [in] MSIRUNMODE mode, [out] BOOL *ret ); 00066 HRESULT SetMode( [in] MSIRUNMODE mode, [in] BOOL state ); 00067 HRESULT GetFeatureState( [in] BSTR feature, [out] INSTALLSTATE *installed, [out] INSTALLSTATE *action ); 00068 HRESULT SetFeatureState( [in] BSTR feature, [in] INSTALLSTATE state ); 00069 HRESULT GetComponentState( [in] BSTR component, [out] INSTALLSTATE *installed, [out] INSTALLSTATE *action ); 00070 HRESULT SetComponentState( [in] BSTR component, [in] INSTALLSTATE state ); 00071 HRESULT GetLanguage( [out] LANGID *language ); 00072 HRESULT SetInstallLevel( [in] int level ); 00073 HRESULT FormatRecord( [in] MSIHANDLE record, [out] BSTR *value ); 00074 HRESULT EvaluateCondition( [in] BSTR condition ); 00075 HRESULT GetFeatureCost( [in] BSTR feature, [in] INT cost_tree, [in] INSTALLSTATE state, [out] INT *cost ); 00076 HRESULT EnumComponentCosts( [in] BSTR component, [in] DWORD index, [in] INSTALLSTATE state, 00077 [out, size_is(*buflen)] BSTR drive, [in, out] DWORD *buflen, [out] INT *cost, [out] INT *temp ); 00078 } 00079 00080 [ 00081 uuid(56D58B64-8780-4c22-A8BC-8B0B29E4A9F8), 00082 oleautomation, 00083 object 00084 ] 00085 interface IWineMsiRemoteCustomAction : IUnknown 00086 { 00087 HRESULT GetActionInfo( [in] LPCGUID guid, [out] INT *type, [out] MSIHANDLE *handle, [out] BSTR *dllname, 00088 [out] BSTR *function, [out] IWineMsiRemotePackage **package ); 00089 } 00090 00091 [ 00092 uuid(000c101c-0000-0000-c000-000000000046), 00093 oleautomation, 00094 object 00095 ] 00096 interface IMsiServer : IUnknown 00097 { 00098 /* FIXME: methods */ 00099 } 00100 00101 [ 00102 uuid(000c101d-0000-0000-c000-000000000046), 00103 oleautomation, 00104 object 00105 ] 00106 interface IMsiMessage : IUnknown 00107 { 00108 /* FIXME: methods */ 00109 } 00110 00111 [ 00112 uuid(000c1025-0000-0000-c000-000000000046), 00113 oleautomation, 00114 object 00115 ] 00116 interface IMsiCustomAction : IUnknown 00117 { 00118 /* FIXME: methods */ 00119 } 00120 00121 [ 00122 uuid(000c1033-0000-0000-c000-000000000046), 00123 oleautomation, 00124 object 00125 ] 00126 interface IMsiRemoteAPI : IUnknown 00127 { 00128 /* FIXME: methods */ 00129 } 00130 00131 [ 00132 helpstring("Msi install server"), 00133 progid("IMsiServer"), 00134 uuid(000c101c-0000-0000-c000-000000000046) 00135 ] 00136 coclass MsiServer { interface IMsiServer; } 00137 00138 [ 00139 helpstring("Microsoft Windows Installer Message RPC"), 00140 progid("WindowsInstaller.Message"), 00141 uuid(000c101d-0000-0000-c000-000000000046) 00142 ] 00143 coclass MsiServerMessage { interface IMsiMessage; } 00144 00145 [ 00146 threading(both), 00147 uuid(000c103e-0000-0000-c000-000000000046) 00148 ] 00149 coclass PSFactoryBuffer { interface IPSFactoryBuffer; } 00150 00151 [ 00152 uuid(000c1082-0000-0000-c000-000000000046) 00153 ] 00154 coclass MsiTransform { } 00155 00156 [ 00157 uuid(000c1084-0000-0000-c000-000000000046) 00158 ] 00159 coclass MsiDatabase { } 00160 00161 [ 00162 uuid(000c1086-0000-0000-c000-000000000046) 00163 ] 00164 coclass MsiPatch { } 00165 00166 [ 00167 threading(apartment), 00168 uuid(000c1094-0000-0000-c000-000000000046) 00169 ] 00170 /* FIXME: unidentified class */ 00171 coclass MsiServerX3 { interface IMsiServer; } 00172 00173 [ 00174 uuid(ba26e6fa-4f27-4f56-953a-3f90272018aa) 00175 ] 00176 coclass WineMsiRemoteCustomAction { interface WineMsiRemoteCustomAction; } 00177 00178 [ 00179 uuid(902b3592-9d08-4dfd-a593-d07c52546421) 00180 ] 00181 coclass WineMsiRemotePackage { interface WineMsiRemotePackage; } 00182 00183 00184 [ uuid(000C1092-0000-0000-C000-000000000046), version(1.0) ] 00185 library WindowsInstaller 00186 { 00187 dispinterface Installer; 00188 dispinterface Record; 00189 dispinterface Session; 00190 dispinterface Database; 00191 dispinterface SummaryInfo; 00192 dispinterface View; 00193 dispinterface UIPreview; 00194 dispinterface FeatureInfo; 00195 dispinterface RecordList; 00196 dispinterface StringList; 00197 dispinterface Product; 00198 dispinterface Patch; 00199 00200 typedef enum { 00201 msiInstallStateNotUsed = -7, 00202 msiInstallStateBadConfig = -6, 00203 msiInstallStateIncomplete = -5, 00204 msiInstallStateSourceAbsent = -4, 00205 msiInstallStateInvalidArg = -2, 00206 msiInstallStateUnknown = -1, 00207 msiInstallStateBroken = 0, 00208 msiInstallStateAdvertised = 1, 00209 msiInstallStateRemoved = 1, 00210 msiInstallStateAbsent = 2, 00211 msiInstallStateLocal = 3, 00212 msiInstallStateSource = 4, 00213 msiInstallStateDefault = 5 00214 } MsiInstallState; 00215 00216 typedef enum { 00217 msiOpenDatabaseModeReadOnly = 0, 00218 msiOpenDatabaseModeTransact = 1, 00219 msiOpenDatabaseModeDirect = 2, 00220 msiOpenDatabaseModeCreate = 3, 00221 msiOpenDatabaseModeCreateDirect = 4, 00222 msiOpenDatabaseModePatchFile = 32 00223 } MsiOpenDatabaseMode; 00224 00225 typedef enum { 00226 msiUILevelNoChange = 0, 00227 msiUILevelDefault = 1, 00228 msiUILevelNone = 2, 00229 msiUILevelBasic = 3, 00230 msiUILevelReduced = 4, 00231 msiUILevelFull = 5, 00232 msiUILevelHideCancel = 32, 00233 msiUILevelProgressOnly = 64, 00234 msiUILevelEndDialog = 128, 00235 msiUILevelSourceResOnly = 256 00236 } MsiUILevel; 00237 00238 [ uuid(000C1090-0000-0000-C000-000000000046) ] 00239 dispinterface Installer 00240 { 00241 properties: 00242 [id(DISPID_INSTALLER_UILEVEL)] 00243 MsiUILevel UILevel; 00244 methods: 00245 [id(DISPID_INSTALLER_CREATERECORD)] 00246 Record *CreateRecord([in] long Count); 00247 [id(DISPID_INSTALLER_OPENPACKAGE)] 00248 Session* OpenPackage( 00249 [in] VARIANT PackagePath, 00250 [in, optional, defaultvalue(0)] long Options); 00251 [id(DISPID_INSTALLER_OPENPRODUCT)] 00252 Session* OpenProduct( 00253 [in] BSTR ProductCode); 00254 [id(DISPID_INSTALLER_SUMMARYINFORMATION)] 00255 SummaryInfo* SummaryInformation( 00256 [in] BSTR PackagePath, 00257 [in, optional, defaultvalue(0)] long UpdateCount); 00258 [id(DISPID_INSTALLER_OPENDATABASE)] 00259 Database *OpenDatabase( 00260 [in] BSTR DatabasePath, 00261 [in] VARIANT OpenMode); 00262 [id(DISPID_INSTALLER_ENABLELOG)] 00263 void EnableLog( 00264 [in] BSTR LogMode, 00265 [in] BSTR LogFile); 00266 [id(DISPID_INSTALLER_INSTALLPRODUCT)] 00267 void InstallProduct( 00268 [in] BSTR PackagePath, 00269 [in, optional, defaultvalue("0")] BSTR PropertyValues); 00270 [id(DISPID_INSTALLER_VERSION)] 00271 BSTR Version(); 00272 [id(DISPID_INSTALLER_LASTERRORRECORD)] 00273 Record* LastErrorRecord(); 00274 [id(DISPID_INSTALLER_REGISTRYVALUE), propget] 00275 BSTR RegistryValue( 00276 [in] VARIANT Root, 00277 [in] BSTR Key, 00278 [in, optional] VARIANT Value); 00279 [id(DISPID_INSTALLER_ENVIRONMENT), propget] 00280 BSTR Environment([in] BSTR Variable); 00281 [id(DISPID_INSTALLER_ENVIRONMENT), propput] 00282 void Environment( 00283 [in] BSTR Variable, 00284 [in] BSTR rhs); 00285 [id(DISPID_INSTALLER_FILEATTRIBUTES)] 00286 long FileAttributes([in] BSTR FilePath); 00287 [id(DISPID_INSTALLER_FILESIZE)] 00288 long FileSize([in] BSTR FilePath); 00289 [id(DISPID_INSTALLER_FILEVERSION)] 00290 BSTR FileVersion( 00291 [in] BSTR FilePath, 00292 [in, optional] VARIANT Language); 00293 [id(DISPID_INSTALLER_PRODUCTSTATE), propget] 00294 MsiInstallState ProductState( 00295 [in] BSTR Product); 00296 [id(DISPID_INSTALLER_PRODUCTINFO), propget] 00297 BSTR ProductInfo( 00298 [in] BSTR Product, 00299 [in] BSTR Attribute); 00300 [id(DISPID_INSTALLER_PRODUCTS), propget] 00301 StringList *Products(); 00302 [id(DISPID_INSTALLER_RELATEDPRODUCTS), propget] 00303 StringList *RelatedProducts( 00304 [in] BSTR UpgradeCode); 00305 } 00306 00307 [ uuid(000C1093-0000-0000-C000-000000000046) ] 00308 dispinterface Record 00309 { 00310 properties: 00311 methods: 00312 [id(DISPID_RECORD_STRINGDATA), propget] 00313 BSTR StringData([in] long Field); 00314 [id(DISPID_RECORD_STRINGDATA), propput] 00315 void StringData( 00316 [in] long Field, 00317 [in] BSTR rhs); 00318 [id(DISPID_RECORD_INTEGERDATA), propget] 00319 long IntegerData([in] long Field); 00320 [id(DISPID_RECORD_INTEGERDATA), propput] 00321 void IntegerData( 00322 [in] long Field, 00323 [in] long rhs); 00324 [id(DISPID_RECORD_FIELDCOUNT), propget] 00325 long FieldCount(); 00326 } 00327 00328 [ uuid(000C1095-0000-0000-C000-000000000046) ] 00329 dispinterface StringList 00330 { 00331 properties: 00332 methods: 00333 [id(DISPID_LIST__NEWENUM)] 00334 IUnknown _NewEnum(); 00335 [id(DISPID_LIST_ITEM), propget] 00336 BSTR Item(long Index); 00337 [id(DISPID_LIST_COUNT), propget] 00338 long Count(); 00339 } 00340 00341 [ uuid(000C1096-0000-0000-C000-000000000046) ] 00342 dispinterface RecordList 00343 { 00344 properties: 00345 methods: 00346 } 00347 00348 [ uuid(000C109A-0000-0000-C000-000000000046) ] 00349 dispinterface UIPreview 00350 { 00351 properties: 00352 methods: 00353 } 00354 00355 [ uuid(000C109B-0000-0000-C000-000000000046) ] 00356 dispinterface SummaryInfo 00357 { 00358 properties: 00359 methods: 00360 [id(DISPID_SUMMARYINFO_PROPERTY), propget] 00361 VARIANT Property([in] long Pid); 00362 [id(DISPID_SUMMARYINFO_PROPERTY), propput] 00363 void Property( 00364 [in] long Pid, 00365 [in] VARIANT rhs); 00366 [id(DISPID_SUMMARYINFO_PROPERTYCOUNT), propget] 00367 long PropertyCount(); 00368 } 00369 00370 typedef enum { 00371 msiViewModifySeek = -1, 00372 msiViewModifyRefresh = 0, 00373 msiViewModifyInsert = 1, 00374 msiViewModifyUpdate = 2, 00375 msiViewModifyAssign = 3, 00376 msiViewModifyReplace = 4, 00377 msiViewModifyMerge = 5, 00378 msiViewModifyDelete = 6, 00379 msiViewModifyInsertTemporary = 7, 00380 msiViewModifyValidate = 8, 00381 msiViewModifyValidateNew = 9, 00382 msiViewModifyValidateField = 10, 00383 msiViewModifyValidateDelete = 11, 00384 } _MsiViewModify; /* Added underscore to avoid conflict with function name */ 00385 00386 [ uuid(000C109C-0000-0000-C000-000000000046) ] 00387 dispinterface View 00388 { 00389 properties: 00390 methods: 00391 [id(DISPID_VIEW_EXECUTE)] 00392 void Execute([in, optional, defaultvalue(0)] Record *Params); 00393 [id(DISPID_VIEW_FETCH)] 00394 Record* Fetch(); 00395 [id(DISPID_VIEW_MODIFY)] 00396 void Modify( 00397 [in] _MsiViewModify Mode, 00398 Record *Record); 00399 [id(DISPID_VIEW_CLOSE)] 00400 void Close(); 00401 } 00402 00403 [ uuid(000C109D-0000-0000-C000-000000000046) ] 00404 dispinterface Database 00405 { 00406 properties: 00407 methods: 00408 [id(DISPID_DATABASE_OPENVIEW)] 00409 View* OpenView([in] BSTR Sql); 00410 [id(DISPID_DATABASE_SUMMARYINFORMATION), propget] 00411 SummaryInfo *SummaryInformation([in, optional, defaultvalue(0)] long UpdateCount); 00412 } 00413 00414 typedef enum { 00415 msiDoActionStatusNoAction = 0, 00416 msiDoActionStatusSuccess = 1, 00417 msiDoActionStatusUserExit = 2, 00418 msiDoActionStatusFailure = 3, 00419 msiDoActionStatusSuspend = 4, 00420 msiDoActionStatusFinished = 5, 00421 msiDoActionStatusWrongState = 6, 00422 msiDoActionStatusBadActionData = 7 00423 } MsiDoActionStatus; 00424 00425 typedef enum { 00426 msiRunModeAdmin = 0, 00427 msiRunModeAdvertise = 1, 00428 msiRunModeMaintenance = 2, 00429 msiRunModeRollbackEnabled = 3, 00430 msiRunModeLogEnabled = 4, 00431 msiRunModeOperations = 5, 00432 msiRunModeRebootAtEnd = 6, 00433 msiRunModeRebootNow = 7, 00434 msiRunModeCabinet = 8, 00435 msiRunModeSourceShortNames = 9, 00436 msiRunModeTargetShortNames = 10, 00437 msiRunModeWindows9x = 12, 00438 msiRunModeZawEnabled = 13, 00439 msiRunModeScheduled = 16, 00440 msiRunModeRollback = 17, 00441 msiRunModeCommit = 18 00442 } MsiRunMode; 00443 00444 typedef enum { 00445 msiEvaluateConditionFalse = 0, 00446 msiEvaluateConditionTrue = 1, 00447 msiEvaluateConditionNone = 2, 00448 msiEvaluateConditionError = 3 00449 } _MsiEvaluateCondition; /* Added underscore to avoid conflict with function name */ 00450 00451 typedef enum { 00452 msiMessageStatusError = -1, 00453 msiMessageStatusNone = 0, 00454 msiMessageStatusOk = 1, 00455 msiMessageStatusCancel = 2, 00456 msiMessageStatusAbort = 3, 00457 msiMessageStatusRetry = 4, 00458 msiMessageStatusIgnore = 5, 00459 msiMessageStatusYes = 6, 00460 msiMessageStatusNo = 7 00461 } MsiMessageStatus; 00462 00463 typedef enum { 00464 msiMessageTypeFatalExit = 0, 00465 msiMessageTypeError = 0x01000000, 00466 msiMessageTypeWarning = 0x02000000, 00467 msiMessageTypeUser = 0x03000000, 00468 msiMessageTypeInfo = 0x04000000, 00469 msiMessageTypeFilesInUse = 0x05000000, 00470 msiMessageTypeResolveSource = 0x06000000, 00471 msiMessageTypeOutOfDiskSpace = 0x07000000, 00472 msiMessageTypeActionStart = 0x08000000, 00473 msiMessageTypeActionData = 0x09000000, 00474 msiMessageTypeProgress = 0x0a000000, 00475 msiMessageTypeCommonData = 0x0b000000, 00476 msiMessageTypeOk = 0, 00477 msiMessageTypeOkCancel = 1, 00478 msiMessageTypeAbortRetryIgnore = 2, 00479 msiMessageTypeYesNoCancel = 3, 00480 msiMessageTypeYesNo = 4, 00481 msiMessageTypeRetryCancel = 5, 00482 msiMessageTypeDefault1 = 0, 00483 msiMessageTypeDefault2 = 256, 00484 msiMessageTypeDefault3 = 512 00485 } MsiMessageType; 00486 00487 [ uuid(000C109E-0000-0000-C000-000000000046) ] 00488 dispinterface Session 00489 { 00490 properties: 00491 methods: 00492 [id(DISPID_SESSION_INSTALLER), propget] 00493 Installer *Installer(); 00494 [id(DISPID_SESSION_PROPERTY), propget] 00495 BSTR Property([in] BSTR Name); 00496 [id(DISPID_SESSION_PROPERTY), propput] 00497 void Property( 00498 [in] BSTR Name, 00499 [in] BSTR rhs); 00500 [id(DISPID_SESSION_LANGUAGE), propget] 00501 long Language(); 00502 [id(DISPID_SESSION_MODE), propget] 00503 VARIANT_BOOL Mode([in] MsiRunMode Flag); 00504 [id(DISPID_SESSION_MODE), propput] 00505 void Mode( 00506 [in] MsiRunMode Flag, 00507 [in] VARIANT_BOOL rhs); 00508 [id(DISPID_SESSION_DATABASE), propget] 00509 Database* Database(); 00510 [id(DISPID_SESSION_DOACTION)] 00511 MsiDoActionStatus DoAction([in] BSTR Action); 00512 [id(DISPID_SESSION_EVALUATECONDITION)] 00513 _MsiEvaluateCondition EvaluateCondition([in] BSTR Expression); 00514 [id(DISPID_SESSION_MESSAGE)] 00515 MsiMessageStatus Message( 00516 [in] MsiMessageType Kind, 00517 [in] Record *Record); 00518 [id(DISPID_SESSION_FEATURECURRENTSTATE), propget] 00519 MsiInstallState FeatureCurrentState([in] BSTR Feature); 00520 [id(DISPID_SESSION_FEATUREREQUESTSTATE), propget] 00521 MsiInstallState FeatureRequestState([in] BSTR Feature); 00522 [id(DISPID_SESSION_FEATUREREQUESTSTATE), propput] 00523 void FeatureRequestState( 00524 [in] BSTR Feature, 00525 [in] MsiInstallState rhs); 00526 [id(DISPID_SESSION_SETINSTALLLEVEL)] 00527 void SetInstallLevel([in] long Level); 00528 } 00529 00530 [ uuid(000C109F-0000-0000-C000-000000000046) ] 00531 dispinterface FeatureInfo 00532 { 00533 properties: 00534 methods: 00535 } 00536 00537 [ uuid(000C10A0-0000-0000-C000-000000000046) ] 00538 dispinterface Product 00539 { 00540 properties: 00541 methods: 00542 } 00543 00544 [ uuid(000C10A1-0000-0000-C000-000000000046) ] 00545 dispinterface Patch 00546 { 00547 properties: 00548 methods: 00549 } 00550 00551 [ 00552 helpstring("Microsoft Windows Installer"), 00553 threading(apartment), 00554 progid("WindowsInstaller.Installer"), 00555 uuid(000c1090-0000-0000-c000-000000000046) 00556 ] 00557 coclass MsiInstaller { interface Installer; } 00558 } Generated on Sat May 26 2012 04:23:50 for ReactOS by
1.7.6.1
|