MergeMod.h 122 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651
  1. /*****************************************************************************\
  2. mergemod.h - - Interface for MergeMod COM object
  3. Version 2.0
  4. NOTES: All strings are of type BSTR. For [in] strings, LPCWSTR may be
  5. safely used instead, the object will not try to free this memory.
  6. All [out] BSTR values must be released by the client.
  7. Copyright (c) Microsoft Corp. All rights reserved.
  8. \*****************************************************************************/
  9. #include "rpc.h"
  10. #include "rpcndr.h"
  11. #ifndef COM_NO_WINDOWS_H
  12. #include "windows.h"
  13. #include "ole2.h"
  14. #endif /*COM_NO_WINDOWS_H*/
  15. #ifndef __mergemod_h__
  16. #define __mergemod_h__
  17. #ifndef _WIN32_MSM
  18. #define _WIN32_MSM 100
  19. #endif // !_WIN32_MSM
  20. #ifdef __cplusplus
  21. extern "C"{
  22. #endif
  23. /* Forward Declarations */
  24. #ifndef __IEnumMsmString_FWD_DEFINED__
  25. #define __IEnumMsmString_FWD_DEFINED__
  26. typedef interface IEnumMsmString IEnumMsmString;
  27. #endif /* __IEnumMsmString_FWD_DEFINED__ */
  28. #ifndef __IMsmStrings_FWD_DEFINED__
  29. #define __IMsmStrings_FWD_DEFINED__
  30. typedef interface IMsmStrings IMsmStrings;
  31. #endif /* __IMsmStrings_FWD_DEFINED__ */
  32. #ifndef __IMsmError_FWD_DEFINED__
  33. #define __IMsmError_FWD_DEFINED__
  34. typedef interface IMsmError IMsmError;
  35. #endif /* __IMsmError_FWD_DEFINED__ */
  36. #ifndef __IEnumMsmError_FWD_DEFINED__
  37. #define __IEnumMsmError_FWD_DEFINED__
  38. typedef interface IEnumMsmError IEnumMsmError;
  39. #endif /* __IEnumMsmError_FWD_DEFINED__ */
  40. #ifndef __IMsmErrors_FWD_DEFINED__
  41. #define __IMsmErrors_FWD_DEFINED__
  42. typedef interface IMsmErrors IMsmErrors;
  43. #endif /* __IMsmErrors_FWD_DEFINED__ */
  44. #ifndef __IMsmDependency_FWD_DEFINED__
  45. #define __IMsmDependency_FWD_DEFINED__
  46. typedef interface IMsmDependency IMsmDependency;
  47. #endif /* __IMsmDependency_FWD_DEFINED__ */
  48. #ifndef __IEnumMsmDependency_FWD_DEFINED__
  49. #define __IEnumMsmDependency_FWD_DEFINED__
  50. typedef interface IEnumMsmDependency IEnumMsmDependency;
  51. #endif /* __IEnumMsmDependency_FWD_DEFINED__ */
  52. #ifndef __IMsmDependencies_FWD_DEFINED__
  53. #define __IMsmDependencies_FWD_DEFINED__
  54. typedef interface IMsmDependencies IMsmDependencies;
  55. #endif /* __IMsmDependencies_FWD_DEFINED__ */
  56. #ifndef __IMsmMerge_FWD_DEFINED__
  57. #define __IMsmMerge_FWD_DEFINED__
  58. typedef interface IMsmMerge IMsmMerge;
  59. #endif /* __IMsmMerge_FWD_DEFINED__ */
  60. #ifndef __IMsmGetFiles_FWD_DEFINED__
  61. #define __IMsmGetFiles_FWD_DEFINED__
  62. typedef interface IMsmGetFiles IMsmGetFiles;
  63. #endif /* __IMsmGetFiles_FWD_DEFINED__ */
  64. #ifndef __IMsmStrings_FWD_DEFINED__
  65. #define __IMsmStrings_FWD_DEFINED__
  66. typedef interface IMsmStrings IMsmStrings;
  67. #endif /* __IMsmStrings_FWD_DEFINED__ */
  68. #ifndef __IMsmError_FWD_DEFINED__
  69. #define __IMsmError_FWD_DEFINED__
  70. typedef interface IMsmError IMsmError;
  71. #endif /* __IMsmError_FWD_DEFINED__ */
  72. #ifndef __IMsmErrors_FWD_DEFINED__
  73. #define __IMsmErrors_FWD_DEFINED__
  74. typedef interface IMsmErrors IMsmErrors;
  75. #endif /* __IMsmErrors_FWD_DEFINED__ */
  76. #ifndef __IMsmDependency_FWD_DEFINED__
  77. #define __IMsmDependency_FWD_DEFINED__
  78. typedef interface IMsmDependency IMsmDependency;
  79. #endif /* __IMsmDependency_FWD_DEFINED__ */
  80. #ifndef __IMsmDependencies_FWD_DEFINED__
  81. #define __IMsmDependencies_FWD_DEFINED__
  82. typedef interface IMsmDependencies IMsmDependencies;
  83. #endif /* __IMsmDependencies_FWD_DEFINED__ */
  84. #ifndef __IMsmGetFiles_FWD_DEFINED__
  85. #define __IMsmGetFiles_FWD_DEFINED__
  86. typedef interface IMsmGetFiles IMsmGetFiles;
  87. #endif /* __IMsmGetFiles_FWD_DEFINED__ */
  88. #if (_WIN32_MSM >= 150)
  89. #ifndef __IMsmConfigurableItem_FWD_DEFINED__
  90. #define __IMsmConfigurableItem_FWD_DEFINED__
  91. typedef interface IMsmConfigurableItem IMsmConfigurableItem;
  92. #endif /* __IMsmConfigurableItem_FWD_DEFINED__ */
  93. #ifndef __IEnumMsmConfigurableItem_FWD_DEFINED__
  94. #define __IEnumMsmConfigurableItem_FWD_DEFINED__
  95. typedef interface IEnumMsmConfigurableItem IEnumMsmConfigurableItem;
  96. #endif /* __IEnumMsmConfigurableItem_FWD_DEFINED__ */
  97. #ifndef __IMsmConfigurableItems_FWD_DEFINED__
  98. #define __IMsmConfigurableItems_FWD_DEFINED__
  99. typedef interface IMsmConfigurableItems IMsmConfigurableItems;
  100. #endif /* __IMsmConfigurableItems_FWD_DEFINED__ */
  101. #ifndef __IMsmMerge2_FWD_DEFINED__
  102. #define __IMsmMerge2_FWD_DEFINED__
  103. typedef interface IMsmMerge2 IMsmMerge2;
  104. #endif /* __IMsmMerge2_FWD_DEFINED__ */
  105. #ifndef __IMsmConfigureModule_FWD_DEFINED__
  106. #define __IMsmConfigureModule_FWD_DEFINED__
  107. typedef interface IMsmConfigureModule IMsmConfigureModule;
  108. #endif /* __IMsmConfigureModule_FWD_DEFINED__ */
  109. #ifndef __MsmMerge2_FWD_DEFINED__
  110. #define __MsmMerge2_FWD_DEFINED__
  111. #ifdef __cplusplus
  112. typedef class MsmMerge2 MsmMerge2;
  113. #else
  114. typedef struct MsmMerge2 MsmMerge2;
  115. #endif /* __cplusplus */
  116. #endif /* __MsmMerge2_FWD_DEFINED__ */
  117. #endif /* _WIN32_MSM */
  118. #ifndef __MsmMerge_FWD_DEFINED__
  119. #define __MsmMerge_FWD_DEFINED__
  120. #ifdef __cplusplus
  121. typedef class MsmMerge MsmMerge;
  122. #else
  123. typedef struct MsmMerge MsmMerge;
  124. #endif /* __cplusplus */
  125. #endif /* __MsmMerge_FWD_DEFINED__ */
  126. /* header files for imported files */
  127. #include "oaidl.h"
  128. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  129. void __RPC_USER MIDL_user_free( void __RPC_FAR * );
  130. #ifndef __FORWARD_IID_IMSMMERGETYPELIB
  131. #define __FORWARD_IID_IMSMMERGETYPELIB
  132. // --------------------------------------------------------------------------
  133. // MergeMod error types, returned from IMsmError::get_Type
  134. // --------------------------------------------------------------------------
  135. typedef /* [helpstring][uuid] */
  136. enum msmErrorType
  137. {
  138. msmErrorLanguageUnsupported = 1,
  139. msmErrorLanguageFailed = 2,
  140. msmErrorExclusion = 3,
  141. msmErrorTableMerge = 4,
  142. msmErrorResequenceMerge = 5,
  143. msmErrorFileCreate = 6,
  144. msmErrorDirCreate = 7,
  145. msmErrorFeatureRequired = 8,
  146. #if (_WIN32_MSM >= 150)
  147. msmErrorBadNullSubstitution = 9,
  148. msmErrorBadSubstitutionType = 10,
  149. msmErrorMissingConfigItem = 11,
  150. msmErrorBadNullResponse = 12,
  151. msmErrorDataRequestFailed = 13,
  152. msmErrorPlatformMismatch = 14
  153. #endif
  154. }
  155. msmErrorType;
  156. #if (_WIN32_MSM >= 150)
  157. // --------------------------------------------------------------------------
  158. // MergeMod formats for ModuleConfiguration items.
  159. // --------------------------------------------------------------------------
  160. typedef /* [helpstring][uuid] */
  161. enum msmConfigurableItemFormat
  162. {
  163. msmConfigurableItemText = 0,
  164. msmConfigurableItemKey = 1,
  165. msmConfigurableItemInteger = 2,
  166. msmConfigurableItemBitfield = 3
  167. }
  168. msmConfigurableItemFormat;
  169. // --------------------------------------------------------------------------
  170. // MergeMod options for ModuleConfiguration items.
  171. // --------------------------------------------------------------------------
  172. typedef /* [helpstring][uuid] */
  173. enum msmConfigurableItemOptions
  174. {
  175. msmConfigurableOptionKeyNoOrphan = 1,
  176. msmConfigurableOptionNonNullable = 2
  177. }
  178. msmConfigurableItemOptions;
  179. #endif
  180. #endif // __FORWARD_IID_IMSMMERGETYPELIB
  181. extern RPC_IF_HANDLE __MIDL_itf_mergemod_0000_v0_0_c_ifspec;
  182. extern RPC_IF_HANDLE __MIDL_itf_mergemod_0000_v0_0_s_ifspec;
  183. // --------------------------------------------------------------------------
  184. // IEnumMsmString - enumeration of BSTR
  185. // --------------------------------------------------------------------------
  186. #ifndef __IEnumMsmString_INTERFACE_DEFINED__
  187. #define __IEnumMsmString_INTERFACE_DEFINED__
  188. #if defined(__cplusplus) && !defined(CINTERFACE)
  189. interface DECLSPEC_UUID("0ADDA826-2C26-11D2-AD65-00A0C9AF11A6")
  190. IEnumMsmString : public IUnknown
  191. {
  192. public:
  193. virtual HRESULT STDMETHODCALLTYPE Next(
  194. /* [in] */ unsigned long cFetch,
  195. /* [out] */ BSTR __RPC_FAR *rgbstrStrings,
  196. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched) = 0;
  197. virtual HRESULT STDMETHODCALLTYPE Skip(
  198. /* [in] */ unsigned long cSkip) = 0;
  199. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  200. virtual HRESULT STDMETHODCALLTYPE Clone(
  201. /* [retval][out] */ IEnumMsmString __RPC_FAR *__RPC_FAR *pemsmStrings) = 0;
  202. };
  203. #else /* C style interface */
  204. typedef struct IEnumMsmStringVtbl
  205. {
  206. BEGIN_INTERFACE
  207. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  208. IEnumMsmString __RPC_FAR * This,
  209. /* [in] */ REFIID riid,
  210. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  211. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  212. IEnumMsmString __RPC_FAR * This);
  213. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  214. IEnumMsmString __RPC_FAR * This);
  215. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  216. IEnumMsmString __RPC_FAR * This,
  217. /* [in] */ unsigned long cFetch,
  218. /* [out] */ BSTR __RPC_FAR *rgbstrStrings,
  219. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  220. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  221. IEnumMsmString __RPC_FAR * This,
  222. /* [in] */ unsigned long cSkip);
  223. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  224. IEnumMsmString __RPC_FAR * This);
  225. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  226. IEnumMsmString __RPC_FAR * This,
  227. /* [retval][out] */ IEnumMsmString __RPC_FAR *__RPC_FAR *pemsmStrings);
  228. END_INTERFACE
  229. } IEnumMsmStringVtbl;
  230. interface IEnumMsmString
  231. {
  232. CONST_VTBL struct IEnumMsmStringVtbl __RPC_FAR *lpVtbl;
  233. };
  234. #ifdef COBJMACROS
  235. #define IEnumMsmString_QueryInterface(This,riid,ppvObject) \
  236. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  237. #define IEnumMsmString_AddRef(This) \
  238. (This)->lpVtbl -> AddRef(This)
  239. #define IEnumMsmString_Release(This) \
  240. (This)->lpVtbl -> Release(This)
  241. #define IEnumMsmString_Next(This,cFetch,rgbstrStrings,pcFetched) \
  242. (This)->lpVtbl -> Next(This,cFetch,rgbstrStrings,pcFetched)
  243. #define IEnumMsmString_Skip(This,cSkip) \
  244. (This)->lpVtbl -> Skip(This,cSkip)
  245. #define IEnumMsmString_Reset(This) \
  246. (This)->lpVtbl -> Reset(This)
  247. #define IEnumMsmString_Clone(This,pemsmStrings) \
  248. (This)->lpVtbl -> Clone(This,pemsmStrings)
  249. #endif /* COBJMACROS */
  250. #endif /* C style interface */
  251. HRESULT STDMETHODCALLTYPE IEnumMsmString_Next_Proxy(
  252. IEnumMsmString __RPC_FAR * This,
  253. /* [in] */ unsigned long cFetch,
  254. /* [out] */ BSTR __RPC_FAR *rgbstrStrings,
  255. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  256. void __RPC_STUB IEnumMsmString_Next_Stub(
  257. IRpcStubBuffer *This,
  258. IRpcChannelBuffer *_pRpcChannelBuffer,
  259. PRPC_MESSAGE _pRpcMessage,
  260. DWORD *_pdwStubPhase);
  261. HRESULT STDMETHODCALLTYPE IEnumMsmString_Skip_Proxy(
  262. IEnumMsmString __RPC_FAR * This,
  263. /* [in] */ unsigned long cSkip);
  264. void __RPC_STUB IEnumMsmString_Skip_Stub(
  265. IRpcStubBuffer *This,
  266. IRpcChannelBuffer *_pRpcChannelBuffer,
  267. PRPC_MESSAGE _pRpcMessage,
  268. DWORD *_pdwStubPhase);
  269. HRESULT STDMETHODCALLTYPE IEnumMsmString_Reset_Proxy(
  270. IEnumMsmString __RPC_FAR * This);
  271. void __RPC_STUB IEnumMsmString_Reset_Stub(
  272. IRpcStubBuffer *This,
  273. IRpcChannelBuffer *_pRpcChannelBuffer,
  274. PRPC_MESSAGE _pRpcMessage,
  275. DWORD *_pdwStubPhase);
  276. HRESULT STDMETHODCALLTYPE IEnumMsmString_Clone_Proxy(
  277. IEnumMsmString __RPC_FAR * This,
  278. /* [retval][out] */ IEnumMsmString __RPC_FAR *__RPC_FAR *pemsmStrings);
  279. void __RPC_STUB IEnumMsmString_Clone_Stub(
  280. IRpcStubBuffer *This,
  281. IRpcChannelBuffer *_pRpcChannelBuffer,
  282. PRPC_MESSAGE _pRpcMessage,
  283. DWORD *_pdwStubPhase);
  284. #endif /* __IEnumMsmString_INTERFACE_DEFINED__ */
  285. // --------------------------------------------------------------------------
  286. // IMsmStrings - a collection of MergeMod BSTR
  287. // --------------------------------------------------------------------------
  288. #ifndef __IMsmStrings_INTERFACE_DEFINED__
  289. #define __IMsmStrings_INTERFACE_DEFINED__
  290. #if defined(__cplusplus) && !defined(CINTERFACE)
  291. interface DECLSPEC_UUID("0ADDA827-2C26-11D2-AD65-00A0C9AF11A6")
  292. IMsmStrings : public IDispatch
  293. {
  294. public:
  295. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
  296. /* [in] */ long Item,
  297. /* [retval][out] */ BSTR __RPC_FAR *Return) = 0;
  298. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
  299. /* [retval][out] */ long __RPC_FAR *Count) = 0;
  300. virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
  301. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum) = 0;
  302. };
  303. #else /* C style interface */
  304. typedef struct IMsmStringsVtbl
  305. {
  306. BEGIN_INTERFACE
  307. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  308. IMsmStrings __RPC_FAR * This,
  309. /* [in] */ REFIID riid,
  310. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  311. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  312. IMsmStrings __RPC_FAR * This);
  313. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  314. IMsmStrings __RPC_FAR * This);
  315. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  316. IMsmStrings __RPC_FAR * This,
  317. /* [out] */ UINT __RPC_FAR *pctinfo);
  318. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  319. IMsmStrings __RPC_FAR * This,
  320. /* [in] */ UINT iTInfo,
  321. /* [in] */ LCID lcid,
  322. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  323. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  324. IMsmStrings __RPC_FAR * This,
  325. /* [in] */ REFIID riid,
  326. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  327. /* [in] */ UINT cNames,
  328. /* [in] */ LCID lcid,
  329. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  330. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  331. IMsmStrings __RPC_FAR * This,
  332. /* [in] */ DISPID dispIdMember,
  333. /* [in] */ REFIID riid,
  334. /* [in] */ LCID lcid,
  335. /* [in] */ WORD wFlags,
  336. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  337. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  338. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  339. /* [out] */ UINT __RPC_FAR *puArgErr);
  340. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )(
  341. IMsmStrings __RPC_FAR * This,
  342. /* [in] */ long Item,
  343. /* [retval][out] */ BSTR __RPC_FAR *Return);
  344. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(
  345. IMsmStrings __RPC_FAR * This,
  346. /* [retval][out] */ long __RPC_FAR *Count);
  347. /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )(
  348. IMsmStrings __RPC_FAR * This,
  349. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  350. END_INTERFACE
  351. } IMsmStringsVtbl;
  352. interface IMsmStrings
  353. {
  354. CONST_VTBL struct IMsmStringsVtbl __RPC_FAR *lpVtbl;
  355. };
  356. #ifdef COBJMACROS
  357. #define IMsmStrings_QueryInterface(This,riid,ppvObject) \
  358. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  359. #define IMsmStrings_AddRef(This) \
  360. (This)->lpVtbl -> AddRef(This)
  361. #define IMsmStrings_Release(This) \
  362. (This)->lpVtbl -> Release(This)
  363. #define IMsmStrings_GetTypeInfoCount(This,pctinfo) \
  364. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  365. #define IMsmStrings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  366. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  367. #define IMsmStrings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  368. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  369. #define IMsmStrings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  370. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  371. #define IMsmStrings_get_Item(This,Item,Return) \
  372. (This)->lpVtbl -> get_Item(This,Item,Return)
  373. #define IMsmStrings_get_Count(This,Count) \
  374. (This)->lpVtbl -> get_Count(This,Count)
  375. #define IMsmStrings_get__NewEnum(This,NewEnum) \
  376. (This)->lpVtbl -> get__NewEnum(This,NewEnum)
  377. #endif /* COBJMACROS */
  378. #endif /* C style interface */
  379. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmStrings_get_Item_Proxy(
  380. IMsmStrings __RPC_FAR * This,
  381. /* [in] */ long Item,
  382. /* [retval][out] */ BSTR __RPC_FAR *Return);
  383. void __RPC_STUB IMsmStrings_get_Item_Stub(
  384. IRpcStubBuffer *This,
  385. IRpcChannelBuffer *_pRpcChannelBuffer,
  386. PRPC_MESSAGE _pRpcMessage,
  387. DWORD *_pdwStubPhase);
  388. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmStrings_get_Count_Proxy(
  389. IMsmStrings __RPC_FAR * This,
  390. /* [retval][out] */ long __RPC_FAR *Count);
  391. void __RPC_STUB IMsmStrings_get_Count_Stub(
  392. IRpcStubBuffer *This,
  393. IRpcChannelBuffer *_pRpcChannelBuffer,
  394. PRPC_MESSAGE _pRpcMessage,
  395. DWORD *_pdwStubPhase);
  396. /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmStrings_get__NewEnum_Proxy(
  397. IMsmStrings __RPC_FAR * This,
  398. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  399. void __RPC_STUB IMsmStrings_get__NewEnum_Stub(
  400. IRpcStubBuffer *This,
  401. IRpcChannelBuffer *_pRpcChannelBuffer,
  402. PRPC_MESSAGE _pRpcMessage,
  403. DWORD *_pdwStubPhase);
  404. #endif /* __IMsmStrings_INTERFACE_DEFINED__ */
  405. // --------------------------------------------------------------------------
  406. // IMsmError - interface for retrieving details on a single merge error
  407. // --------------------------------------------------------------------------
  408. #ifndef __IMsmError_INTERFACE_DEFINED__
  409. #define __IMsmError_INTERFACE_DEFINED__
  410. #if defined(__cplusplus) && !defined(CINTERFACE)
  411. interface DECLSPEC_UUID("0ADDA828-2C26-11D2-AD65-00A0C9AF11A6")
  412. IMsmError : public IDispatch
  413. {
  414. public:
  415. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type(
  416. /* [retval][out] */ msmErrorType __RPC_FAR *ErrorType) = 0;
  417. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Path(
  418. /* [retval][out] */ BSTR __RPC_FAR *ErrorPath) = 0;
  419. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Language(
  420. /* [retval][out] */ short __RPC_FAR *ErrorLanguage) = 0;
  421. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DatabaseTable(
  422. /* [retval][out] */ BSTR __RPC_FAR *ErrorTable) = 0;
  423. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DatabaseKeys(
  424. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *ErrorKeys) = 0;
  425. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ModuleTable(
  426. /* [retval][out] */ BSTR __RPC_FAR *ErrorTable) = 0;
  427. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ModuleKeys(
  428. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *ErrorKeys) = 0;
  429. };
  430. #else /* C style interface */
  431. typedef struct IMsmErrorVtbl
  432. {
  433. BEGIN_INTERFACE
  434. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  435. IMsmError __RPC_FAR * This,
  436. /* [in] */ REFIID riid,
  437. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  438. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  439. IMsmError __RPC_FAR * This);
  440. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  441. IMsmError __RPC_FAR * This);
  442. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  443. IMsmError __RPC_FAR * This,
  444. /* [out] */ UINT __RPC_FAR *pctinfo);
  445. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  446. IMsmError __RPC_FAR * This,
  447. /* [in] */ UINT iTInfo,
  448. /* [in] */ LCID lcid,
  449. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  450. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  451. IMsmError __RPC_FAR * This,
  452. /* [in] */ REFIID riid,
  453. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  454. /* [in] */ UINT cNames,
  455. /* [in] */ LCID lcid,
  456. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  457. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  458. IMsmError __RPC_FAR * This,
  459. /* [in] */ DISPID dispIdMember,
  460. /* [in] */ REFIID riid,
  461. /* [in] */ LCID lcid,
  462. /* [in] */ WORD wFlags,
  463. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  464. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  465. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  466. /* [out] */ UINT __RPC_FAR *puArgErr);
  467. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )(
  468. IMsmError __RPC_FAR * This,
  469. /* [retval][out] */ msmErrorType __RPC_FAR *ErrorType);
  470. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Path )(
  471. IMsmError __RPC_FAR * This,
  472. /* [retval][out] */ BSTR __RPC_FAR *ErrorPath);
  473. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Language )(
  474. IMsmError __RPC_FAR * This,
  475. /* [retval][out] */ short __RPC_FAR *ErrorLanguage);
  476. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DatabaseTable )(
  477. IMsmError __RPC_FAR * This,
  478. /* [retval][out] */ BSTR __RPC_FAR *ErrorTable);
  479. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DatabaseKeys )(
  480. IMsmError __RPC_FAR * This,
  481. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *ErrorKeys);
  482. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ModuleTable )(
  483. IMsmError __RPC_FAR * This,
  484. /* [retval][out] */ BSTR __RPC_FAR *ErrorTable);
  485. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ModuleKeys )(
  486. IMsmError __RPC_FAR * This,
  487. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *ErrorKeys);
  488. END_INTERFACE
  489. } IMsmErrorVtbl;
  490. interface IMsmError
  491. {
  492. CONST_VTBL struct IMsmErrorVtbl __RPC_FAR *lpVtbl;
  493. };
  494. #ifdef COBJMACROS
  495. #define IMsmError_QueryInterface(This,riid,ppvObject) \
  496. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  497. #define IMsmError_AddRef(This) \
  498. (This)->lpVtbl -> AddRef(This)
  499. #define IMsmError_Release(This) \
  500. (This)->lpVtbl -> Release(This)
  501. #define IMsmError_GetTypeInfoCount(This,pctinfo) \
  502. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  503. #define IMsmError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  504. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  505. #define IMsmError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  506. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  507. #define IMsmError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  508. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  509. #define IMsmError_get_Type(This,ErrorType) \
  510. (This)->lpVtbl -> get_Type(This,ErrorType)
  511. #define IMsmError_get_Path(This,ErrorPath) \
  512. (This)->lpVtbl -> get_Path(This,ErrorPath)
  513. #define IMsmError_get_Language(This,ErrorLanguage) \
  514. (This)->lpVtbl -> get_Language(This,ErrorLanguage)
  515. #define IMsmError_get_DatabaseTable(This,ErrorTable) \
  516. (This)->lpVtbl -> get_DatabaseTable(This,ErrorTable)
  517. #define IMsmError_get_DatabaseKeys(This,ErrorKeys) \
  518. (This)->lpVtbl -> get_DatabaseKeys(This,ErrorKeys)
  519. #define IMsmError_get_ModuleTable(This,ErrorTable) \
  520. (This)->lpVtbl -> get_ModuleTable(This,ErrorTable)
  521. #define IMsmError_get_ModuleKeys(This,ErrorKeys) \
  522. (This)->lpVtbl -> get_ModuleKeys(This,ErrorKeys)
  523. #endif /* COBJMACROS */
  524. #endif /* C style interface */
  525. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_Type_Proxy(
  526. IMsmError __RPC_FAR * This,
  527. /* [retval][out] */ msmErrorType __RPC_FAR *ErrorType);
  528. void __RPC_STUB IMsmError_get_Type_Stub(
  529. IRpcStubBuffer *This,
  530. IRpcChannelBuffer *_pRpcChannelBuffer,
  531. PRPC_MESSAGE _pRpcMessage,
  532. DWORD *_pdwStubPhase);
  533. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_Path_Proxy(
  534. IMsmError __RPC_FAR * This,
  535. /* [retval][out] */ BSTR __RPC_FAR *ErrorPath);
  536. void __RPC_STUB IMsmError_get_Path_Stub(
  537. IRpcStubBuffer *This,
  538. IRpcChannelBuffer *_pRpcChannelBuffer,
  539. PRPC_MESSAGE _pRpcMessage,
  540. DWORD *_pdwStubPhase);
  541. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_Language_Proxy(
  542. IMsmError __RPC_FAR * This,
  543. /* [retval][out] */ short __RPC_FAR *ErrorLanguage);
  544. void __RPC_STUB IMsmError_get_Language_Stub(
  545. IRpcStubBuffer *This,
  546. IRpcChannelBuffer *_pRpcChannelBuffer,
  547. PRPC_MESSAGE _pRpcMessage,
  548. DWORD *_pdwStubPhase);
  549. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_DatabaseTable_Proxy(
  550. IMsmError __RPC_FAR * This,
  551. /* [retval][out] */ BSTR __RPC_FAR *ErrorTable);
  552. void __RPC_STUB IMsmError_get_DatabaseTable_Stub(
  553. IRpcStubBuffer *This,
  554. IRpcChannelBuffer *_pRpcChannelBuffer,
  555. PRPC_MESSAGE _pRpcMessage,
  556. DWORD *_pdwStubPhase);
  557. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_DatabaseKeys_Proxy(
  558. IMsmError __RPC_FAR * This,
  559. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *ErrorKeys);
  560. void __RPC_STUB IMsmError_get_DatabaseKeys_Stub(
  561. IRpcStubBuffer *This,
  562. IRpcChannelBuffer *_pRpcChannelBuffer,
  563. PRPC_MESSAGE _pRpcMessage,
  564. DWORD *_pdwStubPhase);
  565. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_ModuleTable_Proxy(
  566. IMsmError __RPC_FAR * This,
  567. /* [retval][out] */ BSTR __RPC_FAR *ErrorTable);
  568. void __RPC_STUB IMsmError_get_ModuleTable_Stub(
  569. IRpcStubBuffer *This,
  570. IRpcChannelBuffer *_pRpcChannelBuffer,
  571. PRPC_MESSAGE _pRpcMessage,
  572. DWORD *_pdwStubPhase);
  573. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_ModuleKeys_Proxy(
  574. IMsmError __RPC_FAR * This,
  575. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *ErrorKeys);
  576. void __RPC_STUB IMsmError_get_ModuleKeys_Stub(
  577. IRpcStubBuffer *This,
  578. IRpcChannelBuffer *_pRpcChannelBuffer,
  579. PRPC_MESSAGE _pRpcMessage,
  580. DWORD *_pdwStubPhase);
  581. #endif /* __IMsmError_INTERFACE_DEFINED__ */
  582. // --------------------------------------------------------------------------
  583. // IEnumMsmError - enumeration of IMsmError interfaces
  584. // --------------------------------------------------------------------------
  585. #ifndef __IEnumMsmError_INTERFACE_DEFINED__
  586. #define __IEnumMsmError_INTERFACE_DEFINED__
  587. #if defined(__cplusplus) && !defined(CINTERFACE)
  588. interface DECLSPEC_UUID("0ADDA829-2C26-11D2-AD65-00A0C9AF11A6")
  589. IEnumMsmError : public IUnknown
  590. {
  591. public:
  592. virtual HRESULT STDMETHODCALLTYPE Next(
  593. /* [in] */ unsigned long cFetch,
  594. /* [out] */ IMsmError __RPC_FAR *__RPC_FAR *rgmsmErrors,
  595. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched) = 0;
  596. virtual HRESULT STDMETHODCALLTYPE Skip(
  597. /* [in] */ unsigned long cSkip) = 0;
  598. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  599. virtual HRESULT STDMETHODCALLTYPE Clone(
  600. /* [retval][out] */ IEnumMsmError __RPC_FAR *__RPC_FAR *pemsmErrors) = 0;
  601. };
  602. #else /* C style interface */
  603. typedef struct IEnumMsmErrorVtbl
  604. {
  605. BEGIN_INTERFACE
  606. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  607. IEnumMsmError __RPC_FAR * This,
  608. /* [in] */ REFIID riid,
  609. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  610. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  611. IEnumMsmError __RPC_FAR * This);
  612. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  613. IEnumMsmError __RPC_FAR * This);
  614. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  615. IEnumMsmError __RPC_FAR * This,
  616. /* [in] */ unsigned long cFetch,
  617. /* [out] */ IMsmError __RPC_FAR *__RPC_FAR *rgmsmErrors,
  618. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  619. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  620. IEnumMsmError __RPC_FAR * This,
  621. /* [in] */ unsigned long cSkip);
  622. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  623. IEnumMsmError __RPC_FAR * This);
  624. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  625. IEnumMsmError __RPC_FAR * This,
  626. /* [retval][out] */ IEnumMsmError __RPC_FAR *__RPC_FAR *pemsmErrors);
  627. END_INTERFACE
  628. } IEnumMsmErrorVtbl;
  629. interface IEnumMsmError
  630. {
  631. CONST_VTBL struct IEnumMsmErrorVtbl __RPC_FAR *lpVtbl;
  632. };
  633. #ifdef COBJMACROS
  634. #define IEnumMsmError_QueryInterface(This,riid,ppvObject) \
  635. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  636. #define IEnumMsmError_AddRef(This) \
  637. (This)->lpVtbl -> AddRef(This)
  638. #define IEnumMsmError_Release(This) \
  639. (This)->lpVtbl -> Release(This)
  640. #define IEnumMsmError_Next(This,cFetch,rgmsmErrors,pcFetched) \
  641. (This)->lpVtbl -> Next(This,cFetch,rgmsmErrors,pcFetched)
  642. #define IEnumMsmError_Skip(This,cSkip) \
  643. (This)->lpVtbl -> Skip(This,cSkip)
  644. #define IEnumMsmError_Reset(This) \
  645. (This)->lpVtbl -> Reset(This)
  646. #define IEnumMsmError_Clone(This,pemsmErrors) \
  647. (This)->lpVtbl -> Clone(This,pemsmErrors)
  648. #endif /* COBJMACROS */
  649. #endif /* C style interface */
  650. HRESULT STDMETHODCALLTYPE IEnumMsmError_Next_Proxy(
  651. IEnumMsmError __RPC_FAR * This,
  652. /* [in] */ unsigned long cFetch,
  653. /* [out] */ IMsmError __RPC_FAR *__RPC_FAR *rgmsmErrors,
  654. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  655. void __RPC_STUB IEnumMsmError_Next_Stub(
  656. IRpcStubBuffer *This,
  657. IRpcChannelBuffer *_pRpcChannelBuffer,
  658. PRPC_MESSAGE _pRpcMessage,
  659. DWORD *_pdwStubPhase);
  660. HRESULT STDMETHODCALLTYPE IEnumMsmError_Skip_Proxy(
  661. IEnumMsmError __RPC_FAR * This,
  662. /* [in] */ unsigned long cSkip);
  663. void __RPC_STUB IEnumMsmError_Skip_Stub(
  664. IRpcStubBuffer *This,
  665. IRpcChannelBuffer *_pRpcChannelBuffer,
  666. PRPC_MESSAGE _pRpcMessage,
  667. DWORD *_pdwStubPhase);
  668. HRESULT STDMETHODCALLTYPE IEnumMsmError_Reset_Proxy(
  669. IEnumMsmError __RPC_FAR * This);
  670. void __RPC_STUB IEnumMsmError_Reset_Stub(
  671. IRpcStubBuffer *This,
  672. IRpcChannelBuffer *_pRpcChannelBuffer,
  673. PRPC_MESSAGE _pRpcMessage,
  674. DWORD *_pdwStubPhase);
  675. HRESULT STDMETHODCALLTYPE IEnumMsmError_Clone_Proxy(
  676. IEnumMsmError __RPC_FAR * This,
  677. /* [retval][out] */ IEnumMsmError __RPC_FAR *__RPC_FAR *pemsmErrors);
  678. void __RPC_STUB IEnumMsmError_Clone_Stub(
  679. IRpcStubBuffer *This,
  680. IRpcChannelBuffer *_pRpcChannelBuffer,
  681. PRPC_MESSAGE _pRpcMessage,
  682. DWORD *_pdwStubPhase);
  683. #endif /* __IEnumMsmError_INTERFACE_DEFINED__ */
  684. // --------------------------------------------------------------------------
  685. // IMsmErrors - collection of IMsmError interfaces
  686. // --------------------------------------------------------------------------
  687. #ifndef __IMsmErrors_INTERFACE_DEFINED__
  688. #define __IMsmErrors_INTERFACE_DEFINED__
  689. #if defined(__cplusplus) && !defined(CINTERFACE)
  690. interface DECLSPEC_UUID("0ADDA82A-2C26-11D2-AD65-00A0C9AF11A6")
  691. IMsmErrors : public IDispatch
  692. {
  693. public:
  694. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
  695. /* [in] */ long Item,
  696. /* [retval][out] */ IMsmError __RPC_FAR *__RPC_FAR *Return) = 0;
  697. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
  698. /* [retval][out] */ long __RPC_FAR *Count) = 0;
  699. virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
  700. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum) = 0;
  701. };
  702. #else /* C style interface */
  703. typedef struct IMsmErrorsVtbl
  704. {
  705. BEGIN_INTERFACE
  706. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  707. IMsmErrors __RPC_FAR * This,
  708. /* [in] */ REFIID riid,
  709. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  710. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  711. IMsmErrors __RPC_FAR * This);
  712. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  713. IMsmErrors __RPC_FAR * This);
  714. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  715. IMsmErrors __RPC_FAR * This,
  716. /* [out] */ UINT __RPC_FAR *pctinfo);
  717. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  718. IMsmErrors __RPC_FAR * This,
  719. /* [in] */ UINT iTInfo,
  720. /* [in] */ LCID lcid,
  721. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  722. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  723. IMsmErrors __RPC_FAR * This,
  724. /* [in] */ REFIID riid,
  725. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  726. /* [in] */ UINT cNames,
  727. /* [in] */ LCID lcid,
  728. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  729. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  730. IMsmErrors __RPC_FAR * This,
  731. /* [in] */ DISPID dispIdMember,
  732. /* [in] */ REFIID riid,
  733. /* [in] */ LCID lcid,
  734. /* [in] */ WORD wFlags,
  735. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  736. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  737. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  738. /* [out] */ UINT __RPC_FAR *puArgErr);
  739. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )(
  740. IMsmErrors __RPC_FAR * This,
  741. /* [in] */ long Item,
  742. /* [retval][out] */ IMsmError __RPC_FAR *__RPC_FAR *Return);
  743. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(
  744. IMsmErrors __RPC_FAR * This,
  745. /* [retval][out] */ long __RPC_FAR *Count);
  746. /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )(
  747. IMsmErrors __RPC_FAR * This,
  748. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  749. END_INTERFACE
  750. } IMsmErrorsVtbl;
  751. interface IMsmErrors
  752. {
  753. CONST_VTBL struct IMsmErrorsVtbl __RPC_FAR *lpVtbl;
  754. };
  755. #ifdef COBJMACROS
  756. #define IMsmErrors_QueryInterface(This,riid,ppvObject) \
  757. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  758. #define IMsmErrors_AddRef(This) \
  759. (This)->lpVtbl -> AddRef(This)
  760. #define IMsmErrors_Release(This) \
  761. (This)->lpVtbl -> Release(This)
  762. #define IMsmErrors_GetTypeInfoCount(This,pctinfo) \
  763. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  764. #define IMsmErrors_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  765. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  766. #define IMsmErrors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  767. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  768. #define IMsmErrors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  769. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  770. #define IMsmErrors_get_Item(This,Item,Return) \
  771. (This)->lpVtbl -> get_Item(This,Item,Return)
  772. #define IMsmErrors_get_Count(This,Count) \
  773. (This)->lpVtbl -> get_Count(This,Count)
  774. #define IMsmErrors_get__NewEnum(This,NewEnum) \
  775. (This)->lpVtbl -> get__NewEnum(This,NewEnum)
  776. #endif /* COBJMACROS */
  777. #endif /* C style interface */
  778. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmErrors_get_Item_Proxy(
  779. IMsmErrors __RPC_FAR * This,
  780. /* [in] */ long Item,
  781. /* [retval][out] */ IMsmError __RPC_FAR *__RPC_FAR *Return);
  782. void __RPC_STUB IMsmErrors_get_Item_Stub(
  783. IRpcStubBuffer *This,
  784. IRpcChannelBuffer *_pRpcChannelBuffer,
  785. PRPC_MESSAGE _pRpcMessage,
  786. DWORD *_pdwStubPhase);
  787. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmErrors_get_Count_Proxy(
  788. IMsmErrors __RPC_FAR * This,
  789. /* [retval][out] */ long __RPC_FAR *Count);
  790. void __RPC_STUB IMsmErrors_get_Count_Stub(
  791. IRpcStubBuffer *This,
  792. IRpcChannelBuffer *_pRpcChannelBuffer,
  793. PRPC_MESSAGE _pRpcMessage,
  794. DWORD *_pdwStubPhase);
  795. /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmErrors_get__NewEnum_Proxy(
  796. IMsmErrors __RPC_FAR * This,
  797. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  798. void __RPC_STUB IMsmErrors_get__NewEnum_Stub(
  799. IRpcStubBuffer *This,
  800. IRpcChannelBuffer *_pRpcChannelBuffer,
  801. PRPC_MESSAGE _pRpcMessage,
  802. DWORD *_pdwStubPhase);
  803. #endif /* __IMsmErrors_INTERFACE_DEFINED__ */
  804. // --------------------------------------------------------------------------
  805. // IMsmDependency - interface for retrieving details on a single module
  806. // dependency.
  807. // --------------------------------------------------------------------------
  808. #ifndef __IMsmDependency_INTERFACE_DEFINED__
  809. #define __IMsmDependency_INTERFACE_DEFINED__
  810. #if defined(__cplusplus) && !defined(CINTERFACE)
  811. interface DECLSPEC_UUID("0ADDA82B-2C26-11D2-AD65-00A0C9AF11A6")
  812. IMsmDependency : public IDispatch
  813. {
  814. public:
  815. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Module(
  816. /* [retval][out] */ BSTR __RPC_FAR *Module) = 0;
  817. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Language(
  818. /* [retval][out] */ short __RPC_FAR *Language) = 0;
  819. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Version(
  820. /* [retval][out] */ BSTR __RPC_FAR *Version) = 0;
  821. };
  822. #else /* C style interface */
  823. typedef struct IMsmDependencyVtbl
  824. {
  825. BEGIN_INTERFACE
  826. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  827. IMsmDependency __RPC_FAR * This,
  828. /* [in] */ REFIID riid,
  829. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  830. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  831. IMsmDependency __RPC_FAR * This);
  832. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  833. IMsmDependency __RPC_FAR * This);
  834. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  835. IMsmDependency __RPC_FAR * This,
  836. /* [out] */ UINT __RPC_FAR *pctinfo);
  837. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  838. IMsmDependency __RPC_FAR * This,
  839. /* [in] */ UINT iTInfo,
  840. /* [in] */ LCID lcid,
  841. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  842. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  843. IMsmDependency __RPC_FAR * This,
  844. /* [in] */ REFIID riid,
  845. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  846. /* [in] */ UINT cNames,
  847. /* [in] */ LCID lcid,
  848. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  849. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  850. IMsmDependency __RPC_FAR * This,
  851. /* [in] */ DISPID dispIdMember,
  852. /* [in] */ REFIID riid,
  853. /* [in] */ LCID lcid,
  854. /* [in] */ WORD wFlags,
  855. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  856. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  857. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  858. /* [out] */ UINT __RPC_FAR *puArgErr);
  859. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Module )(
  860. IMsmDependency __RPC_FAR * This,
  861. /* [retval][out] */ BSTR __RPC_FAR *Module);
  862. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Language )(
  863. IMsmDependency __RPC_FAR * This,
  864. /* [retval][out] */ short __RPC_FAR *Language);
  865. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Version )(
  866. IMsmDependency __RPC_FAR * This,
  867. /* [retval][out] */ BSTR __RPC_FAR *Version);
  868. END_INTERFACE
  869. } IMsmDependencyVtbl;
  870. interface IMsmDependency
  871. {
  872. CONST_VTBL struct IMsmDependencyVtbl __RPC_FAR *lpVtbl;
  873. };
  874. #ifdef COBJMACROS
  875. #define IMsmDependency_QueryInterface(This,riid,ppvObject) \
  876. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  877. #define IMsmDependency_AddRef(This) \
  878. (This)->lpVtbl -> AddRef(This)
  879. #define IMsmDependency_Release(This) \
  880. (This)->lpVtbl -> Release(This)
  881. #define IMsmDependency_GetTypeInfoCount(This,pctinfo) \
  882. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  883. #define IMsmDependency_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  884. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  885. #define IMsmDependency_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  886. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  887. #define IMsmDependency_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  888. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  889. #define IMsmDependency_get_Module(This,Module) \
  890. (This)->lpVtbl -> get_Module(This,Module)
  891. #define IMsmDependency_get_Language(This,Language) \
  892. (This)->lpVtbl -> get_Language(This,Language)
  893. #define IMsmDependency_get_Version(This,Version) \
  894. (This)->lpVtbl -> get_Version(This,Version)
  895. #endif /* COBJMACROS */
  896. #endif /* C style interface */
  897. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmDependency_get_Module_Proxy(
  898. IMsmDependency __RPC_FAR * This,
  899. /* [retval][out] */ BSTR __RPC_FAR *Module);
  900. void __RPC_STUB IMsmDependency_get_Module_Stub(
  901. IRpcStubBuffer *This,
  902. IRpcChannelBuffer *_pRpcChannelBuffer,
  903. PRPC_MESSAGE _pRpcMessage,
  904. DWORD *_pdwStubPhase);
  905. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmDependency_get_Language_Proxy(
  906. IMsmDependency __RPC_FAR * This,
  907. /* [retval][out] */ short __RPC_FAR *Language);
  908. void __RPC_STUB IMsmDependency_get_Language_Stub(
  909. IRpcStubBuffer *This,
  910. IRpcChannelBuffer *_pRpcChannelBuffer,
  911. PRPC_MESSAGE _pRpcMessage,
  912. DWORD *_pdwStubPhase);
  913. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmDependency_get_Version_Proxy(
  914. IMsmDependency __RPC_FAR * This,
  915. /* [retval][out] */ BSTR __RPC_FAR *Version);
  916. void __RPC_STUB IMsmDependency_get_Version_Stub(
  917. IRpcStubBuffer *This,
  918. IRpcChannelBuffer *_pRpcChannelBuffer,
  919. PRPC_MESSAGE _pRpcMessage,
  920. DWORD *_pdwStubPhase);
  921. #endif /* __IMsmDependency_INTERFACE_DEFINED__ */
  922. // --------------------------------------------------------------------------
  923. // IEnumMsmDependency - enumeration of IMsmDependency interfaces
  924. // --------------------------------------------------------------------------
  925. #ifndef __IEnumMsmDependency_INTERFACE_DEFINED__
  926. #define __IEnumMsmDependency_INTERFACE_DEFINED__
  927. #if defined(__cplusplus) && !defined(CINTERFACE)
  928. interface DECLSPEC_UUID("0ADDA82C-2C26-11D2-AD65-00A0C9AF11A6")
  929. IEnumMsmDependency : public IUnknown
  930. {
  931. public:
  932. virtual HRESULT STDMETHODCALLTYPE Next(
  933. /* [in] */ unsigned long cFetch,
  934. /* [out] */ IMsmDependency __RPC_FAR *__RPC_FAR *rgmsmDependencies,
  935. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched) = 0;
  936. virtual HRESULT STDMETHODCALLTYPE Skip(
  937. /* [in] */ unsigned long cSkip) = 0;
  938. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  939. virtual HRESULT STDMETHODCALLTYPE Clone(
  940. /* [retval][out] */ IEnumMsmDependency __RPC_FAR *__RPC_FAR *pemsmDependencies) = 0;
  941. };
  942. #else /* C style interface */
  943. typedef struct IEnumMsmDependencyVtbl
  944. {
  945. BEGIN_INTERFACE
  946. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  947. IEnumMsmDependency __RPC_FAR * This,
  948. /* [in] */ REFIID riid,
  949. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  950. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  951. IEnumMsmDependency __RPC_FAR * This);
  952. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  953. IEnumMsmDependency __RPC_FAR * This);
  954. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  955. IEnumMsmDependency __RPC_FAR * This,
  956. /* [in] */ unsigned long cFetch,
  957. /* [out] */ IMsmDependency __RPC_FAR *__RPC_FAR *rgmsmDependencies,
  958. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  959. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  960. IEnumMsmDependency __RPC_FAR * This,
  961. /* [in] */ unsigned long cSkip);
  962. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  963. IEnumMsmDependency __RPC_FAR * This);
  964. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  965. IEnumMsmDependency __RPC_FAR * This,
  966. /* [retval][out] */ IEnumMsmDependency __RPC_FAR *__RPC_FAR *pemsmDependencies);
  967. END_INTERFACE
  968. } IEnumMsmDependencyVtbl;
  969. interface IEnumMsmDependency
  970. {
  971. CONST_VTBL struct IEnumMsmDependencyVtbl __RPC_FAR *lpVtbl;
  972. };
  973. #ifdef COBJMACROS
  974. #define IEnumMsmDependency_QueryInterface(This,riid,ppvObject) \
  975. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  976. #define IEnumMsmDependency_AddRef(This) \
  977. (This)->lpVtbl -> AddRef(This)
  978. #define IEnumMsmDependency_Release(This) \
  979. (This)->lpVtbl -> Release(This)
  980. #define IEnumMsmDependency_Next(This,cFetch,rgmsmDependencies,pcFetched) \
  981. (This)->lpVtbl -> Next(This,cFetch,rgmsmDependencies,pcFetched)
  982. #define IEnumMsmDependency_Skip(This,cSkip) \
  983. (This)->lpVtbl -> Skip(This,cSkip)
  984. #define IEnumMsmDependency_Reset(This) \
  985. (This)->lpVtbl -> Reset(This)
  986. #define IEnumMsmDependency_Clone(This,pemsmDependencies) \
  987. (This)->lpVtbl -> Clone(This,pemsmDependencies)
  988. #endif /* COBJMACROS */
  989. #endif /* C style interface */
  990. HRESULT STDMETHODCALLTYPE IEnumMsmDependency_Next_Proxy(
  991. IEnumMsmDependency __RPC_FAR * This,
  992. /* [in] */ unsigned long cFetch,
  993. /* [out] */ IMsmDependency __RPC_FAR *__RPC_FAR *rgmsmDependencies,
  994. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  995. void __RPC_STUB IEnumMsmDependency_Next_Stub(
  996. IRpcStubBuffer *This,
  997. IRpcChannelBuffer *_pRpcChannelBuffer,
  998. PRPC_MESSAGE _pRpcMessage,
  999. DWORD *_pdwStubPhase);
  1000. HRESULT STDMETHODCALLTYPE IEnumMsmDependency_Skip_Proxy(
  1001. IEnumMsmDependency __RPC_FAR * This,
  1002. /* [in] */ unsigned long cSkip);
  1003. void __RPC_STUB IEnumMsmDependency_Skip_Stub(
  1004. IRpcStubBuffer *This,
  1005. IRpcChannelBuffer *_pRpcChannelBuffer,
  1006. PRPC_MESSAGE _pRpcMessage,
  1007. DWORD *_pdwStubPhase);
  1008. HRESULT STDMETHODCALLTYPE IEnumMsmDependency_Reset_Proxy(
  1009. IEnumMsmDependency __RPC_FAR * This);
  1010. void __RPC_STUB IEnumMsmDependency_Reset_Stub(
  1011. IRpcStubBuffer *This,
  1012. IRpcChannelBuffer *_pRpcChannelBuffer,
  1013. PRPC_MESSAGE _pRpcMessage,
  1014. DWORD *_pdwStubPhase);
  1015. HRESULT STDMETHODCALLTYPE IEnumMsmDependency_Clone_Proxy(
  1016. IEnumMsmDependency __RPC_FAR * This,
  1017. /* [retval][out] */ IEnumMsmDependency __RPC_FAR *__RPC_FAR *pemsmDependencies);
  1018. void __RPC_STUB IEnumMsmDependency_Clone_Stub(
  1019. IRpcStubBuffer *This,
  1020. IRpcChannelBuffer *_pRpcChannelBuffer,
  1021. PRPC_MESSAGE _pRpcMessage,
  1022. DWORD *_pdwStubPhase);
  1023. #endif /* __IEnumMsmDependency_INTERFACE_DEFINED__ */
  1024. // --------------------------------------------------------------------------
  1025. // IMsmDependencies - collection of IMsmDependency interfaces
  1026. // --------------------------------------------------------------------------
  1027. #ifndef __IMsmDependencies_INTERFACE_DEFINED__
  1028. #define __IMsmDependencies_INTERFACE_DEFINED__
  1029. #if defined(__cplusplus) && !defined(CINTERFACE)
  1030. interface DECLSPEC_UUID("0ADDA82D-2C26-11D2-AD65-00A0C9AF11A6")
  1031. IMsmDependencies : public IDispatch
  1032. {
  1033. public:
  1034. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
  1035. /* [in] */ long Item,
  1036. /* [retval][out] */ IMsmDependency __RPC_FAR *__RPC_FAR *Return) = 0;
  1037. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
  1038. /* [retval][out] */ long __RPC_FAR *Count) = 0;
  1039. virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
  1040. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum) = 0;
  1041. };
  1042. #else /* C style interface */
  1043. typedef struct IMsmDependenciesVtbl
  1044. {
  1045. BEGIN_INTERFACE
  1046. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1047. IMsmDependencies __RPC_FAR * This,
  1048. /* [in] */ REFIID riid,
  1049. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1050. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1051. IMsmDependencies __RPC_FAR * This);
  1052. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1053. IMsmDependencies __RPC_FAR * This);
  1054. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  1055. IMsmDependencies __RPC_FAR * This,
  1056. /* [out] */ UINT __RPC_FAR *pctinfo);
  1057. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  1058. IMsmDependencies __RPC_FAR * This,
  1059. /* [in] */ UINT iTInfo,
  1060. /* [in] */ LCID lcid,
  1061. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1062. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  1063. IMsmDependencies __RPC_FAR * This,
  1064. /* [in] */ REFIID riid,
  1065. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1066. /* [in] */ UINT cNames,
  1067. /* [in] */ LCID lcid,
  1068. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1069. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  1070. IMsmDependencies __RPC_FAR * This,
  1071. /* [in] */ DISPID dispIdMember,
  1072. /* [in] */ REFIID riid,
  1073. /* [in] */ LCID lcid,
  1074. /* [in] */ WORD wFlags,
  1075. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1076. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1077. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1078. /* [out] */ UINT __RPC_FAR *puArgErr);
  1079. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )(
  1080. IMsmDependencies __RPC_FAR * This,
  1081. /* [in] */ long Item,
  1082. /* [retval][out] */ IMsmDependency __RPC_FAR *__RPC_FAR *Return);
  1083. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(
  1084. IMsmDependencies __RPC_FAR * This,
  1085. /* [retval][out] */ long __RPC_FAR *Count);
  1086. /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )(
  1087. IMsmDependencies __RPC_FAR * This,
  1088. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  1089. END_INTERFACE
  1090. } IMsmDependenciesVtbl;
  1091. interface IMsmDependencies
  1092. {
  1093. CONST_VTBL struct IMsmDependenciesVtbl __RPC_FAR *lpVtbl;
  1094. };
  1095. #ifdef COBJMACROS
  1096. #define IMsmDependencies_QueryInterface(This,riid,ppvObject) \
  1097. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1098. #define IMsmDependencies_AddRef(This) \
  1099. (This)->lpVtbl -> AddRef(This)
  1100. #define IMsmDependencies_Release(This) \
  1101. (This)->lpVtbl -> Release(This)
  1102. #define IMsmDependencies_GetTypeInfoCount(This,pctinfo) \
  1103. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1104. #define IMsmDependencies_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1105. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1106. #define IMsmDependencies_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1107. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1108. #define IMsmDependencies_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1109. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1110. #define IMsmDependencies_get_Item(This,Item,Return) \
  1111. (This)->lpVtbl -> get_Item(This,Item,Return)
  1112. #define IMsmDependencies_get_Count(This,Count) \
  1113. (This)->lpVtbl -> get_Count(This,Count)
  1114. #define IMsmDependencies_get__NewEnum(This,NewEnum) \
  1115. (This)->lpVtbl -> get__NewEnum(This,NewEnum)
  1116. #endif /* COBJMACROS */
  1117. #endif /* C style interface */
  1118. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmDependencies_get_Item_Proxy(
  1119. IMsmDependencies __RPC_FAR * This,
  1120. /* [in] */ long Item,
  1121. /* [retval][out] */ IMsmDependency __RPC_FAR *__RPC_FAR *Return);
  1122. void __RPC_STUB IMsmDependencies_get_Item_Stub(
  1123. IRpcStubBuffer *This,
  1124. IRpcChannelBuffer *_pRpcChannelBuffer,
  1125. PRPC_MESSAGE _pRpcMessage,
  1126. DWORD *_pdwStubPhase);
  1127. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmDependencies_get_Count_Proxy(
  1128. IMsmDependencies __RPC_FAR * This,
  1129. /* [retval][out] */ long __RPC_FAR *Count);
  1130. void __RPC_STUB IMsmDependencies_get_Count_Stub(
  1131. IRpcStubBuffer *This,
  1132. IRpcChannelBuffer *_pRpcChannelBuffer,
  1133. PRPC_MESSAGE _pRpcMessage,
  1134. DWORD *_pdwStubPhase);
  1135. /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmDependencies_get__NewEnum_Proxy(
  1136. IMsmDependencies __RPC_FAR * This,
  1137. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  1138. void __RPC_STUB IMsmDependencies_get__NewEnum_Stub(
  1139. IRpcStubBuffer *This,
  1140. IRpcChannelBuffer *_pRpcChannelBuffer,
  1141. PRPC_MESSAGE _pRpcMessage,
  1142. DWORD *_pdwStubPhase);
  1143. #endif /* __IMsmDependencies_INTERFACE_DEFINED__ */
  1144. // the following interfaces are available only on MergeMod v1.5 or later
  1145. #if (_WIN32_MSM >= 150)
  1146. // --------------------------------------------------------------------------
  1147. // IMsmConfigurableItem - object describing the properties of a single
  1148. // configurable item.
  1149. // --------------------------------------------------------------------------
  1150. #ifndef __IMsmConfigurableItem_INTERFACE_DEFINED__
  1151. #define __IMsmConfigurableItem_INTERFACE_DEFINED__
  1152. #if defined(__cplusplus) && !defined(CINTERFACE)
  1153. MIDL_INTERFACE("4D6E6284-D21D-401E-84F6-909E00B50F71")
  1154. IMsmConfigurableItem : public IDispatch
  1155. {
  1156. public:
  1157. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name(
  1158. /* [retval][out] */ BSTR __RPC_FAR *Name) = 0;
  1159. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Format(
  1160. /* [retval][out] */ msmConfigurableItemFormat __RPC_FAR *Format) = 0;
  1161. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type(
  1162. /* [retval][out] */ BSTR __RPC_FAR *Type) = 0;
  1163. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Context(
  1164. /* [retval][out] */ BSTR __RPC_FAR *Context) = 0;
  1165. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultValue(
  1166. /* [retval][out] */ BSTR __RPC_FAR *DefaultValue) = 0;
  1167. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes(
  1168. /* [retval][out] */ long __RPC_FAR *Attributes) = 0;
  1169. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayName(
  1170. /* [retval][out] */ BSTR __RPC_FAR *DisplayName) = 0;
  1171. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description(
  1172. /* [retval][out] */ BSTR __RPC_FAR *Description) = 0;
  1173. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_HelpLocation(
  1174. /* [retval][out] */ BSTR __RPC_FAR *HelpLocation) = 0;
  1175. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_HelpKeyword(
  1176. /* [retval][out] */ BSTR __RPC_FAR *HelpKeyword) = 0;
  1177. };
  1178. #else /* C style interface */
  1179. typedef struct IMsmConfigurableItemVtbl
  1180. {
  1181. BEGIN_INTERFACE
  1182. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1183. IMsmConfigurableItem __RPC_FAR * This,
  1184. /* [in] */ REFIID riid,
  1185. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1186. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1187. IMsmConfigurableItem __RPC_FAR * This);
  1188. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1189. IMsmConfigurableItem __RPC_FAR * This);
  1190. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  1191. IMsmConfigurableItem __RPC_FAR * This,
  1192. /* [out] */ UINT __RPC_FAR *pctinfo);
  1193. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  1194. IMsmConfigurableItem __RPC_FAR * This,
  1195. /* [in] */ UINT iTInfo,
  1196. /* [in] */ LCID lcid,
  1197. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1198. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  1199. IMsmConfigurableItem __RPC_FAR * This,
  1200. /* [in] */ REFIID riid,
  1201. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1202. /* [in] */ UINT cNames,
  1203. /* [in] */ LCID lcid,
  1204. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1205. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  1206. IMsmConfigurableItem __RPC_FAR * This,
  1207. /* [in] */ DISPID dispIdMember,
  1208. /* [in] */ REFIID riid,
  1209. /* [in] */ LCID lcid,
  1210. /* [in] */ WORD wFlags,
  1211. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1212. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1213. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1214. /* [out] */ UINT __RPC_FAR *puArgErr);
  1215. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )(
  1216. IMsmConfigurableItem __RPC_FAR * This,
  1217. /* [retval][out] */ BSTR __RPC_FAR *Name);
  1218. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Format )(
  1219. IMsmConfigurableItem __RPC_FAR * This,
  1220. /* [retval][out] */ msmConfigurableItemFormat __RPC_FAR *Format);
  1221. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )(
  1222. IMsmConfigurableItem __RPC_FAR * This,
  1223. /* [retval][out] */ BSTR __RPC_FAR *Type);
  1224. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Context )(
  1225. IMsmConfigurableItem __RPC_FAR * This,
  1226. /* [retval][out] */ BSTR __RPC_FAR *Context);
  1227. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DefaultValue )(
  1228. IMsmConfigurableItem __RPC_FAR * This,
  1229. /* [retval][out] */ BSTR __RPC_FAR *DefaultValue);
  1230. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )(
  1231. IMsmConfigurableItem __RPC_FAR * This,
  1232. /* [retval][out] */ long __RPC_FAR *Attributes);
  1233. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DisplayName )(
  1234. IMsmConfigurableItem __RPC_FAR * This,
  1235. /* [retval][out] */ BSTR __RPC_FAR *DisplayName);
  1236. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )(
  1237. IMsmConfigurableItem __RPC_FAR * This,
  1238. /* [retval][out] */ BSTR __RPC_FAR *Description);
  1239. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HelpLocation )(
  1240. IMsmConfigurableItem __RPC_FAR * This,
  1241. /* [retval][out] */ BSTR __RPC_FAR *HelpLocation);
  1242. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HelpKeyword )(
  1243. IMsmConfigurableItem __RPC_FAR * This,
  1244. /* [retval][out] */ BSTR __RPC_FAR *HelpKeyword);
  1245. END_INTERFACE
  1246. } IMsmConfigurableItemVtbl;
  1247. interface IMsmConfigurableItem
  1248. {
  1249. CONST_VTBL struct IMsmConfigurableItemVtbl __RPC_FAR *lpVtbl;
  1250. };
  1251. #ifdef COBJMACROS
  1252. #define IMsmConfigurableItem_QueryInterface(This,riid,ppvObject) \
  1253. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1254. #define IMsmConfigurableItem_AddRef(This) \
  1255. (This)->lpVtbl -> AddRef(This)
  1256. #define IMsmConfigurableItem_Release(This) \
  1257. (This)->lpVtbl -> Release(This)
  1258. #define IMsmConfigurableItem_GetTypeInfoCount(This,pctinfo) \
  1259. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1260. #define IMsmConfigurableItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1261. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1262. #define IMsmConfigurableItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1263. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1264. #define IMsmConfigurableItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1265. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1266. #define IMsmConfigurableItem_get_Name(This,Name) \
  1267. (This)->lpVtbl -> get_Name(This,Name)
  1268. #define IMsmConfigurableItem_get_Format(This,Format) \
  1269. (This)->lpVtbl -> get_Format(This,Format)
  1270. #define IMsmConfigurableItem_get_Type(This,Type) \
  1271. (This)->lpVtbl -> get_Type(This,Type)
  1272. #define IMsmConfigurableItem_get_Context(This,Context) \
  1273. (This)->lpVtbl -> get_Context(This,Context)
  1274. #define IMsmConfigurableItem_get_DefaultValue(This,DefaultValue) \
  1275. (This)->lpVtbl -> get_DefaultValue(This,DefaultValue)
  1276. #define IMsmConfigurableItem_get_Attributes(This,Attributes) \
  1277. (This)->lpVtbl -> get_Attributes(This,Attributes)
  1278. #define IMsmConfigurableItem_get_DisplayName(This,DisplayName) \
  1279. (This)->lpVtbl -> get_DisplayName(This,DisplayName)
  1280. #define IMsmConfigurableItem_get_Description(This,Description) \
  1281. (This)->lpVtbl -> get_Description(This,Description)
  1282. #define IMsmConfigurableItem_get_HelpLocation(This,HelpLocation) \
  1283. (This)->lpVtbl -> get_HelpLocation(This,HelpLocation)
  1284. #define IMsmConfigurableItem_get_HelpKeyword(This,HelpKeyword) \
  1285. (This)->lpVtbl -> get_HelpKeyword(This,HelpKeyword)
  1286. #endif /* COBJMACROS */
  1287. #endif /* C style interface */
  1288. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_Name_Proxy(
  1289. IMsmConfigurableItem __RPC_FAR * This,
  1290. /* [retval][out] */ BSTR __RPC_FAR *Name);
  1291. void __RPC_STUB IMsmConfigurableItem_get_Name_Stub(
  1292. IRpcStubBuffer *This,
  1293. IRpcChannelBuffer *_pRpcChannelBuffer,
  1294. PRPC_MESSAGE _pRpcMessage,
  1295. DWORD *_pdwStubPhase);
  1296. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_Format_Proxy(
  1297. IMsmConfigurableItem __RPC_FAR * This,
  1298. /* [retval][out] */ msmConfigurableItemFormat __RPC_FAR *Format);
  1299. void __RPC_STUB IMsmConfigurableItem_get_Format_Stub(
  1300. IRpcStubBuffer *This,
  1301. IRpcChannelBuffer *_pRpcChannelBuffer,
  1302. PRPC_MESSAGE _pRpcMessage,
  1303. DWORD *_pdwStubPhase);
  1304. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_Type_Proxy(
  1305. IMsmConfigurableItem __RPC_FAR * This,
  1306. /* [retval][out] */ BSTR __RPC_FAR *Type);
  1307. void __RPC_STUB IMsmConfigurableItem_get_Type_Stub(
  1308. IRpcStubBuffer *This,
  1309. IRpcChannelBuffer *_pRpcChannelBuffer,
  1310. PRPC_MESSAGE _pRpcMessage,
  1311. DWORD *_pdwStubPhase);
  1312. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_Context_Proxy(
  1313. IMsmConfigurableItem __RPC_FAR * This,
  1314. /* [retval][out] */ BSTR __RPC_FAR *Context);
  1315. void __RPC_STUB IMsmConfigurableItem_get_Context_Stub(
  1316. IRpcStubBuffer *This,
  1317. IRpcChannelBuffer *_pRpcChannelBuffer,
  1318. PRPC_MESSAGE _pRpcMessage,
  1319. DWORD *_pdwStubPhase);
  1320. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_DefaultValue_Proxy(
  1321. IMsmConfigurableItem __RPC_FAR * This,
  1322. /* [retval][out] */ BSTR __RPC_FAR *DefaultValue);
  1323. void __RPC_STUB IMsmConfigurableItem_get_DefaultValue_Stub(
  1324. IRpcStubBuffer *This,
  1325. IRpcChannelBuffer *_pRpcChannelBuffer,
  1326. PRPC_MESSAGE _pRpcMessage,
  1327. DWORD *_pdwStubPhase);
  1328. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_Attributes_Proxy(
  1329. IMsmConfigurableItem __RPC_FAR * This,
  1330. /* [retval][out] */ long __RPC_FAR *Attributes);
  1331. void __RPC_STUB IMsmConfigurableItem_get_Attributes_Stub(
  1332. IRpcStubBuffer *This,
  1333. IRpcChannelBuffer *_pRpcChannelBuffer,
  1334. PRPC_MESSAGE _pRpcMessage,
  1335. DWORD *_pdwStubPhase);
  1336. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_DisplayName_Proxy(
  1337. IMsmConfigurableItem __RPC_FAR * This,
  1338. /* [retval][out] */ BSTR __RPC_FAR *DisplayName);
  1339. void __RPC_STUB IMsmConfigurableItem_get_DisplayName_Stub(
  1340. IRpcStubBuffer *This,
  1341. IRpcChannelBuffer *_pRpcChannelBuffer,
  1342. PRPC_MESSAGE _pRpcMessage,
  1343. DWORD *_pdwStubPhase);
  1344. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_Description_Proxy(
  1345. IMsmConfigurableItem __RPC_FAR * This,
  1346. /* [retval][out] */ BSTR __RPC_FAR *Description);
  1347. void __RPC_STUB IMsmConfigurableItem_get_Description_Stub(
  1348. IRpcStubBuffer *This,
  1349. IRpcChannelBuffer *_pRpcChannelBuffer,
  1350. PRPC_MESSAGE _pRpcMessage,
  1351. DWORD *_pdwStubPhase);
  1352. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_HelpLocation_Proxy(
  1353. IMsmConfigurableItem __RPC_FAR * This,
  1354. /* [retval][out] */ BSTR __RPC_FAR *HelpLocation);
  1355. void __RPC_STUB IMsmConfigurableItem_get_HelpLocation_Stub(
  1356. IRpcStubBuffer *This,
  1357. IRpcChannelBuffer *_pRpcChannelBuffer,
  1358. PRPC_MESSAGE _pRpcMessage,
  1359. DWORD *_pdwStubPhase);
  1360. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_HelpKeyword_Proxy(
  1361. IMsmConfigurableItem __RPC_FAR * This,
  1362. /* [retval][out] */ BSTR __RPC_FAR *HelpKeyword);
  1363. void __RPC_STUB IMsmConfigurableItem_get_HelpKeyword_Stub(
  1364. IRpcStubBuffer *This,
  1365. IRpcChannelBuffer *_pRpcChannelBuffer,
  1366. PRPC_MESSAGE _pRpcMessage,
  1367. DWORD *_pdwStubPhase);
  1368. #endif /* __IMsmConfigurableItem_INTERFACE_DEFINED__ */
  1369. // --------------------------------------------------------------------------
  1370. // IEnumMsmConfigurableItem - enumerator for configurable items
  1371. // --------------------------------------------------------------------------
  1372. #ifndef __IEnumMsmConfigurableItem_INTERFACE_DEFINED__
  1373. #define __IEnumMsmConfigurableItem_INTERFACE_DEFINED__
  1374. #if defined(__cplusplus) && !defined(CINTERFACE)
  1375. interface DECLSPEC_UUID("832C6969-4826-4C24-A397-B7002D8196E6")
  1376. IEnumMsmConfigurableItem : public IUnknown
  1377. {
  1378. public:
  1379. virtual HRESULT STDMETHODCALLTYPE Next(
  1380. /* [in] */ unsigned long cFetch,
  1381. /* [out] */ IMsmConfigurableItem __RPC_FAR *__RPC_FAR *rgmsmItems,
  1382. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched) = 0;
  1383. virtual HRESULT STDMETHODCALLTYPE Skip(
  1384. /* [in] */ unsigned long cSkip) = 0;
  1385. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1386. virtual HRESULT STDMETHODCALLTYPE Clone(
  1387. /* [retval][out] */ IEnumMsmConfigurableItem __RPC_FAR *__RPC_FAR *pemsmConfigurableItem) = 0;
  1388. };
  1389. #else /* C style interface */
  1390. typedef struct IEnumMsmConfigurableItemVtbl
  1391. {
  1392. BEGIN_INTERFACE
  1393. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1394. IEnumMsmConfigurableItem __RPC_FAR * This,
  1395. /* [in] */ REFIID riid,
  1396. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1397. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1398. IEnumMsmConfigurableItem __RPC_FAR * This);
  1399. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1400. IEnumMsmConfigurableItem __RPC_FAR * This);
  1401. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  1402. IEnumMsmConfigurableItem __RPC_FAR * This,
  1403. /* [in] */ unsigned long cFetch,
  1404. /* [out] */ IMsmConfigurableItem __RPC_FAR *__RPC_FAR *rgmsmItems,
  1405. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  1406. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  1407. IEnumMsmConfigurableItem __RPC_FAR * This,
  1408. /* [in] */ unsigned long cSkip);
  1409. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  1410. IEnumMsmConfigurableItem __RPC_FAR * This);
  1411. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  1412. IEnumMsmConfigurableItem __RPC_FAR * This,
  1413. /* [retval][out] */ IEnumMsmConfigurableItem __RPC_FAR *__RPC_FAR *pemsmConfigurableItem);
  1414. END_INTERFACE
  1415. } IEnumMsmConfigurableItemVtbl;
  1416. interface IEnumMsmConfigurableItem
  1417. {
  1418. CONST_VTBL struct IEnumMsmConfigurableItemVtbl __RPC_FAR *lpVtbl;
  1419. };
  1420. #ifdef COBJMACROS
  1421. #define IEnumMsmConfigurableItem_QueryInterface(This,riid,ppvObject) \
  1422. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1423. #define IEnumMsmConfigurableItem_AddRef(This) \
  1424. (This)->lpVtbl -> AddRef(This)
  1425. #define IEnumMsmConfigurableItem_Release(This) \
  1426. (This)->lpVtbl -> Release(This)
  1427. #define IEnumMsmConfigurableItem_Next(This,cFetch,rgmsmItems,pcFetched) \
  1428. (This)->lpVtbl -> Next(This,cFetch,rgmsmItems,pcFetched)
  1429. #define IEnumMsmConfigurableItem_Skip(This,cSkip) \
  1430. (This)->lpVtbl -> Skip(This,cSkip)
  1431. #define IEnumMsmConfigurableItem_Reset(This) \
  1432. (This)->lpVtbl -> Reset(This)
  1433. #define IEnumMsmConfigurableItem_Clone(This,pemsmConfigurableItem) \
  1434. (This)->lpVtbl -> Clone(This,pemsmConfigurableItem)
  1435. #endif /* COBJMACROS */
  1436. #endif /* C style interface */
  1437. HRESULT STDMETHODCALLTYPE IEnumMsmConfigurableItem_Next_Proxy(
  1438. IEnumMsmConfigurableItem __RPC_FAR * This,
  1439. /* [in] */ unsigned long cFetch,
  1440. /* [out] */ IMsmConfigurableItem __RPC_FAR *__RPC_FAR *rgmsmItems,
  1441. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  1442. void __RPC_STUB IEnumMsmConfigurableItem_Next_Stub(
  1443. IRpcStubBuffer *This,
  1444. IRpcChannelBuffer *_pRpcChannelBuffer,
  1445. PRPC_MESSAGE _pRpcMessage,
  1446. DWORD *_pdwStubPhase);
  1447. HRESULT STDMETHODCALLTYPE IEnumMsmConfigurableItem_Skip_Proxy(
  1448. IEnumMsmConfigurableItem __RPC_FAR * This,
  1449. /* [in] */ unsigned long cSkip);
  1450. void __RPC_STUB IEnumMsmConfigurableItem_Skip_Stub(
  1451. IRpcStubBuffer *This,
  1452. IRpcChannelBuffer *_pRpcChannelBuffer,
  1453. PRPC_MESSAGE _pRpcMessage,
  1454. DWORD *_pdwStubPhase);
  1455. HRESULT STDMETHODCALLTYPE IEnumMsmConfigurableItem_Reset_Proxy(
  1456. IEnumMsmConfigurableItem __RPC_FAR * This);
  1457. void __RPC_STUB IEnumMsmConfigurableItem_Reset_Stub(
  1458. IRpcStubBuffer *This,
  1459. IRpcChannelBuffer *_pRpcChannelBuffer,
  1460. PRPC_MESSAGE _pRpcMessage,
  1461. DWORD *_pdwStubPhase);
  1462. HRESULT STDMETHODCALLTYPE IEnumMsmConfigurableItem_Clone_Proxy(
  1463. IEnumMsmConfigurableItem __RPC_FAR * This,
  1464. /* [retval][out] */ IEnumMsmConfigurableItem __RPC_FAR *__RPC_FAR *pemsmConfigurableItem);
  1465. void __RPC_STUB IEnumMsmConfigurableItem_Clone_Stub(
  1466. IRpcStubBuffer *This,
  1467. IRpcChannelBuffer *_pRpcChannelBuffer,
  1468. PRPC_MESSAGE _pRpcMessage,
  1469. DWORD *_pdwStubPhase);
  1470. #endif /* __IEnumMsmConfigurableItem_INTERFACE_DEFINED__ */
  1471. // --------------------------------------------------------------------------
  1472. // IMsmConfigurableItems - collection of configurable items
  1473. // --------------------------------------------------------------------------
  1474. #ifndef __IMsmConfigurableItems_INTERFACE_DEFINED__
  1475. #define __IMsmConfigurableItems_INTERFACE_DEFINED__
  1476. #if defined(__cplusplus) && !defined(CINTERFACE)
  1477. MIDL_INTERFACE("55BF723C-9A0D-463E-B42B-B4FBC7BE3C7C")
  1478. IMsmConfigurableItems : public IDispatch
  1479. {
  1480. public:
  1481. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
  1482. /* [in] */ long Item,
  1483. /* [retval][out] */ IMsmConfigurableItem __RPC_FAR *__RPC_FAR *Return) = 0;
  1484. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
  1485. /* [retval][out] */ long __RPC_FAR *Count) = 0;
  1486. virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
  1487. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum) = 0;
  1488. };
  1489. #else /* C style interface */
  1490. typedef struct IMsmConfigurableItemsVtbl
  1491. {
  1492. BEGIN_INTERFACE
  1493. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1494. IMsmConfigurableItems __RPC_FAR * This,
  1495. /* [in] */ REFIID riid,
  1496. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1497. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1498. IMsmConfigurableItems __RPC_FAR * This);
  1499. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1500. IMsmConfigurableItems __RPC_FAR * This);
  1501. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  1502. IMsmConfigurableItems __RPC_FAR * This,
  1503. /* [out] */ UINT __RPC_FAR *pctinfo);
  1504. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  1505. IMsmConfigurableItems __RPC_FAR * This,
  1506. /* [in] */ UINT iTInfo,
  1507. /* [in] */ LCID lcid,
  1508. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1509. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  1510. IMsmConfigurableItems __RPC_FAR * This,
  1511. /* [in] */ REFIID riid,
  1512. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1513. /* [in] */ UINT cNames,
  1514. /* [in] */ LCID lcid,
  1515. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1516. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  1517. IMsmConfigurableItems __RPC_FAR * This,
  1518. /* [in] */ DISPID dispIdMember,
  1519. /* [in] */ REFIID riid,
  1520. /* [in] */ LCID lcid,
  1521. /* [in] */ WORD wFlags,
  1522. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1523. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1524. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1525. /* [out] */ UINT __RPC_FAR *puArgErr);
  1526. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )(
  1527. IMsmConfigurableItems __RPC_FAR * This,
  1528. /* [in] */ long Item,
  1529. /* [retval][out] */ IMsmConfigurableItem __RPC_FAR *__RPC_FAR *Return);
  1530. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(
  1531. IMsmConfigurableItems __RPC_FAR * This,
  1532. /* [retval][out] */ long __RPC_FAR *Count);
  1533. /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )(
  1534. IMsmConfigurableItems __RPC_FAR * This,
  1535. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  1536. END_INTERFACE
  1537. } IMsmConfigurableItemsVtbl;
  1538. interface IMsmConfigurableItems
  1539. {
  1540. CONST_VTBL struct IMsmConfigurableItemsVtbl __RPC_FAR *lpVtbl;
  1541. };
  1542. #ifdef COBJMACROS
  1543. #define IMsmConfigurableItems_QueryInterface(This,riid,ppvObject) \
  1544. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1545. #define IMsmConfigurableItems_AddRef(This) \
  1546. (This)->lpVtbl -> AddRef(This)
  1547. #define IMsmConfigurableItems_Release(This) \
  1548. (This)->lpVtbl -> Release(This)
  1549. #define IMsmConfigurableItems_GetTypeInfoCount(This,pctinfo) \
  1550. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1551. #define IMsmConfigurableItems_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1552. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1553. #define IMsmConfigurableItems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1554. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1555. #define IMsmConfigurableItems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1556. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1557. #define IMsmConfigurableItems_get_Item(This,Item,Return) \
  1558. (This)->lpVtbl -> get_Item(This,Item,Return)
  1559. #define IMsmConfigurableItems_get_Count(This,Count) \
  1560. (This)->lpVtbl -> get_Count(This,Count)
  1561. #define IMsmConfigurableItems_get__NewEnum(This,NewEnum) \
  1562. (This)->lpVtbl -> get__NewEnum(This,NewEnum)
  1563. #endif /* COBJMACROS */
  1564. #endif /* C style interface */
  1565. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItems_get_Item_Proxy(
  1566. IMsmConfigurableItems __RPC_FAR * This,
  1567. /* [in] */ long Item,
  1568. /* [retval][out] */ IMsmConfigurableItem __RPC_FAR *__RPC_FAR *Return);
  1569. void __RPC_STUB IMsmConfigurableItems_get_Item_Stub(
  1570. IRpcStubBuffer *This,
  1571. IRpcChannelBuffer *_pRpcChannelBuffer,
  1572. PRPC_MESSAGE _pRpcMessage,
  1573. DWORD *_pdwStubPhase);
  1574. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItems_get_Count_Proxy(
  1575. IMsmConfigurableItems __RPC_FAR * This,
  1576. /* [retval][out] */ long __RPC_FAR *Count);
  1577. void __RPC_STUB IMsmConfigurableItems_get_Count_Stub(
  1578. IRpcStubBuffer *This,
  1579. IRpcChannelBuffer *_pRpcChannelBuffer,
  1580. PRPC_MESSAGE _pRpcMessage,
  1581. DWORD *_pdwStubPhase);
  1582. /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItems_get__NewEnum_Proxy(
  1583. IMsmConfigurableItems __RPC_FAR * This,
  1584. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  1585. void __RPC_STUB IMsmConfigurableItems_get__NewEnum_Stub(
  1586. IRpcStubBuffer *This,
  1587. IRpcChannelBuffer *_pRpcChannelBuffer,
  1588. PRPC_MESSAGE _pRpcMessage,
  1589. DWORD *_pdwStubPhase);
  1590. #endif /* __IMsmConfigurableItems_INTERFACE_DEFINED__ */
  1591. // --------------------------------------------------------------------------
  1592. // IMsmConfigureModule - callback interface called by the MergeMod object.
  1593. // Allows the client to provide merge configuration information during the
  1594. // merge process.
  1595. // --------------------------------------------------------------------------
  1596. #ifndef __IMsmConfigureModule_INTERFACE_DEFINED__
  1597. #define __IMsmConfigureModule_INTERFACE_DEFINED__
  1598. #if defined(__cplusplus) && !defined(CINTERFACE)
  1599. MIDL_INTERFACE("AC013209-18A7-4851-8A21-2353443D70A0")
  1600. IMsmConfigureModule : public IDispatch
  1601. {
  1602. public:
  1603. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ProvideTextData(
  1604. /* [in] */ const BSTR Name,
  1605. /* [retval][out] */ BSTR __RPC_FAR *ConfigData) = 0;
  1606. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ProvideIntegerData(
  1607. /* [in] */ const BSTR Name,
  1608. /* [retval][out] */ long __RPC_FAR *ConfigData) = 0;
  1609. };
  1610. #else /* C style interface */
  1611. typedef struct IMsmConfigureModuleVtbl
  1612. {
  1613. BEGIN_INTERFACE
  1614. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1615. IMsmConfigureModule __RPC_FAR * This,
  1616. /* [in] */ REFIID riid,
  1617. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1618. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1619. IMsmConfigureModule __RPC_FAR * This);
  1620. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1621. IMsmConfigureModule __RPC_FAR * This);
  1622. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  1623. IMsmConfigureModule __RPC_FAR * This,
  1624. /* [out] */ UINT __RPC_FAR *pctinfo);
  1625. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  1626. IMsmConfigureModule __RPC_FAR * This,
  1627. /* [in] */ UINT iTInfo,
  1628. /* [in] */ LCID lcid,
  1629. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1630. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  1631. IMsmConfigureModule __RPC_FAR * This,
  1632. /* [in] */ REFIID riid,
  1633. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1634. /* [in] */ UINT cNames,
  1635. /* [in] */ LCID lcid,
  1636. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1637. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  1638. IMsmConfigureModule __RPC_FAR * This,
  1639. /* [in] */ DISPID dispIdMember,
  1640. /* [in] */ REFIID riid,
  1641. /* [in] */ LCID lcid,
  1642. /* [in] */ WORD wFlags,
  1643. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1644. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1645. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1646. /* [out] */ UINT __RPC_FAR *puArgErr);
  1647. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ProvideTextData )(
  1648. IMsmConfigureModule __RPC_FAR * This,
  1649. /* [in] */ const BSTR Name,
  1650. /* [retval][out] */ BSTR __RPC_FAR *ConfigData);
  1651. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ProvideIntegerData )(
  1652. IMsmConfigureModule __RPC_FAR * This,
  1653. /* [in] */ const BSTR Name,
  1654. /* [retval][out] */ long __RPC_FAR *ConfigData);
  1655. END_INTERFACE
  1656. } IMsmConfigureModuleVtbl;
  1657. interface IMsmConfigureModule
  1658. {
  1659. CONST_VTBL struct IMsmConfigureModuleVtbl __RPC_FAR *lpVtbl;
  1660. };
  1661. #ifdef COBJMACROS
  1662. #define IMsmConfigureModule_QueryInterface(This,riid,ppvObject) \
  1663. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1664. #define IMsmConfigureModule_AddRef(This) \
  1665. (This)->lpVtbl -> AddRef(This)
  1666. #define IMsmConfigureModule_Release(This) \
  1667. (This)->lpVtbl -> Release(This)
  1668. #define IMsmConfigureModule_GetTypeInfoCount(This,pctinfo) \
  1669. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1670. #define IMsmConfigureModule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1671. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1672. #define IMsmConfigureModule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1673. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1674. #define IMsmConfigureModule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1675. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1676. #define IMsmConfigureModule_ProvideTextData(This,Name,ConfigData) \
  1677. (This)->lpVtbl -> ProvideTextData(This,Name,ConfigData)
  1678. #define IMsmConfigureModule_ProvideIntegerData(This,Name,ConfigData) \
  1679. (This)->lpVtbl -> ProvideIntegerData(This,Name,ConfigData)
  1680. #endif /* COBJMACROS */
  1681. #endif /* C style interface */
  1682. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmConfigureModule_ProvideTextData_Proxy(
  1683. IMsmConfigureModule __RPC_FAR * This,
  1684. /* [in] */ const BSTR Name,
  1685. /* [retval][out] */ BSTR __RPC_FAR *ConfigData);
  1686. void __RPC_STUB IMsmConfigureModule_ProvideTextData_Stub(
  1687. IRpcStubBuffer *This,
  1688. IRpcChannelBuffer *_pRpcChannelBuffer,
  1689. PRPC_MESSAGE _pRpcMessage,
  1690. DWORD *_pdwStubPhase);
  1691. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmConfigureModule_ProvideIntegerData_Proxy(
  1692. IMsmConfigureModule __RPC_FAR * This,
  1693. /* [in] */ const BSTR Name,
  1694. /* [retval][out] */ long __RPC_FAR *ConfigData);
  1695. void __RPC_STUB IMsmConfigureModule_ProvideIntegerData_Stub(
  1696. IRpcStubBuffer *This,
  1697. IRpcChannelBuffer *_pRpcChannelBuffer,
  1698. PRPC_MESSAGE _pRpcMessage,
  1699. DWORD *_pdwStubPhase);
  1700. #endif /* __IMsmConfigureModule_INTERFACE_DEFINED__ */
  1701. #endif // _MSM_WIN32 >= 150
  1702. // --------------------------------------------------------------------------
  1703. // IMsmMerge - primary interface to the MergeMod object. Allows the client
  1704. // to open and close databases, perform merges, retrieve the results
  1705. // of a merge, control the creation of a debug-level log, and extract the
  1706. // files from a module to disk.
  1707. // --------------------------------------------------------------------------
  1708. #ifndef __IMsmMerge_INTERFACE_DEFINED__
  1709. #define __IMsmMerge_INTERFACE_DEFINED__
  1710. #if defined(__cplusplus) && !defined(CINTERFACE)
  1711. interface DECLSPEC_UUID("0ADDA82E-2C26-11D2-AD65-00A0C9AF11A6")
  1712. IMsmMerge : public IDispatch
  1713. {
  1714. public:
  1715. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenDatabase(
  1716. /* [in] */ const BSTR Path) = 0;
  1717. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenModule(
  1718. /* [in] */ const BSTR Path,
  1719. /* [in] */ const short Language) = 0;
  1720. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloseDatabase(
  1721. /* [in] */ const VARIANT_BOOL Commit) = 0;
  1722. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloseModule( void) = 0;
  1723. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenLog(
  1724. /* [in] */ const BSTR Path) = 0;
  1725. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloseLog( void) = 0;
  1726. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Log(
  1727. /* [in] */ const BSTR Message) = 0;
  1728. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Errors(
  1729. /* [retval][out] */ IMsmErrors __RPC_FAR *__RPC_FAR *Errors) = 0;
  1730. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Dependencies(
  1731. /* [retval][out] */ IMsmDependencies __RPC_FAR *__RPC_FAR *Dependencies) = 0;
  1732. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Merge(
  1733. /* [in] */ const BSTR Feature,
  1734. /* [in] */ const BSTR RedirectDir) = 0;
  1735. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Connect(
  1736. /* [in] */ const BSTR Feature) = 0;
  1737. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExtractCAB(
  1738. /* [in] */ const BSTR FileName) = 0;
  1739. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExtractFiles(
  1740. /* [in] */ const BSTR Path) = 0;
  1741. };
  1742. #else /* C style interface */
  1743. typedef struct IMsmMergeVtbl
  1744. {
  1745. BEGIN_INTERFACE
  1746. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1747. IMsmMerge __RPC_FAR * This,
  1748. /* [in] */ REFIID riid,
  1749. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1750. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1751. IMsmMerge __RPC_FAR * This);
  1752. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1753. IMsmMerge __RPC_FAR * This);
  1754. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  1755. IMsmMerge __RPC_FAR * This,
  1756. /* [out] */ UINT __RPC_FAR *pctinfo);
  1757. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  1758. IMsmMerge __RPC_FAR * This,
  1759. /* [in] */ UINT iTInfo,
  1760. /* [in] */ LCID lcid,
  1761. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1762. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  1763. IMsmMerge __RPC_FAR * This,
  1764. /* [in] */ REFIID riid,
  1765. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1766. /* [in] */ UINT cNames,
  1767. /* [in] */ LCID lcid,
  1768. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1769. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  1770. IMsmMerge __RPC_FAR * This,
  1771. /* [in] */ DISPID dispIdMember,
  1772. /* [in] */ REFIID riid,
  1773. /* [in] */ LCID lcid,
  1774. /* [in] */ WORD wFlags,
  1775. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1776. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1777. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1778. /* [out] */ UINT __RPC_FAR *puArgErr);
  1779. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenDatabase )(
  1780. IMsmMerge __RPC_FAR * This,
  1781. /* [in] */ const BSTR Path);
  1782. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenModule )(
  1783. IMsmMerge __RPC_FAR * This,
  1784. /* [in] */ const BSTR Path,
  1785. /* [in] */ const short Language);
  1786. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseDatabase )(
  1787. IMsmMerge __RPC_FAR * This,
  1788. /* [in] */ const VARIANT_BOOL Commit);
  1789. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseModule )(
  1790. IMsmMerge __RPC_FAR * This);
  1791. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenLog )(
  1792. IMsmMerge __RPC_FAR * This,
  1793. /* [in] */ const BSTR Path);
  1794. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseLog )(
  1795. IMsmMerge __RPC_FAR * This);
  1796. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Log )(
  1797. IMsmMerge __RPC_FAR * This,
  1798. /* [in] */ const BSTR Message);
  1799. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Errors )(
  1800. IMsmMerge __RPC_FAR * This,
  1801. /* [retval][out] */ IMsmErrors __RPC_FAR *__RPC_FAR *Errors);
  1802. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Dependencies )(
  1803. IMsmMerge __RPC_FAR * This,
  1804. /* [retval][out] */ IMsmDependencies __RPC_FAR *__RPC_FAR *Dependencies);
  1805. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Merge )(
  1806. IMsmMerge __RPC_FAR * This,
  1807. /* [in] */ const BSTR Feature,
  1808. /* [in] */ const BSTR RedirectDir);
  1809. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Connect )(
  1810. IMsmMerge __RPC_FAR * This,
  1811. /* [in] */ const BSTR Feature);
  1812. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExtractCAB )(
  1813. IMsmMerge __RPC_FAR * This,
  1814. /* [in] */ const BSTR FileName);
  1815. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExtractFiles )(
  1816. IMsmMerge __RPC_FAR * This,
  1817. /* [in] */ const BSTR Path);
  1818. END_INTERFACE
  1819. } IMsmMergeVtbl;
  1820. interface IMsmMerge
  1821. {
  1822. CONST_VTBL struct IMsmMergeVtbl __RPC_FAR *lpVtbl;
  1823. };
  1824. #ifdef COBJMACROS
  1825. #define IMsmMerge_QueryInterface(This,riid,ppvObject) \
  1826. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1827. #define IMsmMerge_AddRef(This) \
  1828. (This)->lpVtbl -> AddRef(This)
  1829. #define IMsmMerge_Release(This) \
  1830. (This)->lpVtbl -> Release(This)
  1831. #define IMsmMerge_GetTypeInfoCount(This,pctinfo) \
  1832. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1833. #define IMsmMerge_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1834. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1835. #define IMsmMerge_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1836. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1837. #define IMsmMerge_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1838. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1839. #define IMsmMerge_OpenDatabase(This,Path) \
  1840. (This)->lpVtbl -> OpenDatabase(This,Path)
  1841. #define IMsmMerge_OpenModule(This,Path,Language) \
  1842. (This)->lpVtbl -> OpenModule(This,Path,Language)
  1843. #define IMsmMerge_CloseDatabase(This,Commit) \
  1844. (This)->lpVtbl -> CloseDatabase(This,Commit)
  1845. #define IMsmMerge_CloseModule(This) \
  1846. (This)->lpVtbl -> CloseModule(This)
  1847. #define IMsmMerge_OpenLog(This,Path) \
  1848. (This)->lpVtbl -> OpenLog(This,Path)
  1849. #define IMsmMerge_CloseLog(This) \
  1850. (This)->lpVtbl -> CloseLog(This)
  1851. #define IMsmMerge_Log(This,Message) \
  1852. (This)->lpVtbl -> Log(This,Message)
  1853. #define IMsmMerge_get_Errors(This,Errors) \
  1854. (This)->lpVtbl -> get_Errors(This,Errors)
  1855. #define IMsmMerge_get_Dependencies(This,Dependencies) \
  1856. (This)->lpVtbl -> get_Dependencies(This,Dependencies)
  1857. #define IMsmMerge_Merge(This,Feature,RedirectDir) \
  1858. (This)->lpVtbl -> Merge(This,Feature,RedirectDir)
  1859. #define IMsmMerge_Connect(This,Feature) \
  1860. (This)->lpVtbl -> Connect(This,Feature)
  1861. #define IMsmMerge_ExtractCAB(This,FileName) \
  1862. (This)->lpVtbl -> ExtractCAB(This,FileName)
  1863. #define IMsmMerge_ExtractFiles(This,Path) \
  1864. (This)->lpVtbl -> ExtractFiles(This,Path)
  1865. #endif /* COBJMACROS */
  1866. #endif /* C style interface */
  1867. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_OpenDatabase_Proxy(
  1868. IMsmMerge __RPC_FAR * This,
  1869. /* [in] */ const BSTR Path);
  1870. void __RPC_STUB IMsmMerge_OpenDatabase_Stub(
  1871. IRpcStubBuffer *This,
  1872. IRpcChannelBuffer *_pRpcChannelBuffer,
  1873. PRPC_MESSAGE _pRpcMessage,
  1874. DWORD *_pdwStubPhase);
  1875. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_OpenModule_Proxy(
  1876. IMsmMerge __RPC_FAR * This,
  1877. /* [in] */ const BSTR Path,
  1878. /* [in] */ const short Language);
  1879. void __RPC_STUB IMsmMerge_OpenModule_Stub(
  1880. IRpcStubBuffer *This,
  1881. IRpcChannelBuffer *_pRpcChannelBuffer,
  1882. PRPC_MESSAGE _pRpcMessage,
  1883. DWORD *_pdwStubPhase);
  1884. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_CloseDatabase_Proxy(
  1885. IMsmMerge __RPC_FAR * This,
  1886. /* [in] */ const VARIANT_BOOL Commit);
  1887. void __RPC_STUB IMsmMerge_CloseDatabase_Stub(
  1888. IRpcStubBuffer *This,
  1889. IRpcChannelBuffer *_pRpcChannelBuffer,
  1890. PRPC_MESSAGE _pRpcMessage,
  1891. DWORD *_pdwStubPhase);
  1892. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_CloseModule_Proxy(
  1893. IMsmMerge __RPC_FAR * This);
  1894. void __RPC_STUB IMsmMerge_CloseModule_Stub(
  1895. IRpcStubBuffer *This,
  1896. IRpcChannelBuffer *_pRpcChannelBuffer,
  1897. PRPC_MESSAGE _pRpcMessage,
  1898. DWORD *_pdwStubPhase);
  1899. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_OpenLog_Proxy(
  1900. IMsmMerge __RPC_FAR * This,
  1901. /* [in] */ const BSTR Path);
  1902. void __RPC_STUB IMsmMerge_OpenLog_Stub(
  1903. IRpcStubBuffer *This,
  1904. IRpcChannelBuffer *_pRpcChannelBuffer,
  1905. PRPC_MESSAGE _pRpcMessage,
  1906. DWORD *_pdwStubPhase);
  1907. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_CloseLog_Proxy(
  1908. IMsmMerge __RPC_FAR * This);
  1909. void __RPC_STUB IMsmMerge_CloseLog_Stub(
  1910. IRpcStubBuffer *This,
  1911. IRpcChannelBuffer *_pRpcChannelBuffer,
  1912. PRPC_MESSAGE _pRpcMessage,
  1913. DWORD *_pdwStubPhase);
  1914. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_Log_Proxy(
  1915. IMsmMerge __RPC_FAR * This,
  1916. /* [in] */ const BSTR Message);
  1917. void __RPC_STUB IMsmMerge_Log_Stub(
  1918. IRpcStubBuffer *This,
  1919. IRpcChannelBuffer *_pRpcChannelBuffer,
  1920. PRPC_MESSAGE _pRpcMessage,
  1921. DWORD *_pdwStubPhase);
  1922. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmMerge_get_Errors_Proxy(
  1923. IMsmMerge __RPC_FAR * This,
  1924. /* [retval][out] */ IMsmErrors __RPC_FAR *__RPC_FAR *Errors);
  1925. void __RPC_STUB IMsmMerge_get_Errors_Stub(
  1926. IRpcStubBuffer *This,
  1927. IRpcChannelBuffer *_pRpcChannelBuffer,
  1928. PRPC_MESSAGE _pRpcMessage,
  1929. DWORD *_pdwStubPhase);
  1930. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmMerge_get_Dependencies_Proxy(
  1931. IMsmMerge __RPC_FAR * This,
  1932. /* [retval][out] */ IMsmDependencies __RPC_FAR *__RPC_FAR *Dependencies);
  1933. void __RPC_STUB IMsmMerge_get_Dependencies_Stub(
  1934. IRpcStubBuffer *This,
  1935. IRpcChannelBuffer *_pRpcChannelBuffer,
  1936. PRPC_MESSAGE _pRpcMessage,
  1937. DWORD *_pdwStubPhase);
  1938. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_Merge_Proxy(
  1939. IMsmMerge __RPC_FAR * This,
  1940. /* [in] */ const BSTR Feature,
  1941. /* [in] */ const BSTR RedirectDir);
  1942. void __RPC_STUB IMsmMerge_Merge_Stub(
  1943. IRpcStubBuffer *This,
  1944. IRpcChannelBuffer *_pRpcChannelBuffer,
  1945. PRPC_MESSAGE _pRpcMessage,
  1946. DWORD *_pdwStubPhase);
  1947. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_Connect_Proxy(
  1948. IMsmMerge __RPC_FAR * This,
  1949. /* [in] */ const BSTR Feature);
  1950. void __RPC_STUB IMsmMerge_Connect_Stub(
  1951. IRpcStubBuffer *This,
  1952. IRpcChannelBuffer *_pRpcChannelBuffer,
  1953. PRPC_MESSAGE _pRpcMessage,
  1954. DWORD *_pdwStubPhase);
  1955. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_ExtractCAB_Proxy(
  1956. IMsmMerge __RPC_FAR * This,
  1957. /* [in] */ const BSTR FileName);
  1958. void __RPC_STUB IMsmMerge_ExtractCAB_Stub(
  1959. IRpcStubBuffer *This,
  1960. IRpcChannelBuffer *_pRpcChannelBuffer,
  1961. PRPC_MESSAGE _pRpcMessage,
  1962. DWORD *_pdwStubPhase);
  1963. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_ExtractFiles_Proxy(
  1964. IMsmMerge __RPC_FAR * This,
  1965. /* [in] */ const BSTR Path);
  1966. void __RPC_STUB IMsmMerge_ExtractFiles_Stub(
  1967. IRpcStubBuffer *This,
  1968. IRpcChannelBuffer *_pRpcChannelBuffer,
  1969. PRPC_MESSAGE _pRpcMessage,
  1970. DWORD *_pdwStubPhase);
  1971. #endif /* __IMsmMerge_INTERFACE_DEFINED__ */
  1972. // --------------------------------------------------------------------------
  1973. // IMsmGetFiles - secondary interface to the MergeMod object, allows
  1974. // the client to retrieve the files needed in a particular language of the
  1975. // module. Requires certain actions be performed via the IMsmMerge interface
  1976. // before some calls on this interface will return valid results.
  1977. // --------------------------------------------------------------------------
  1978. #ifndef __IMsmGetFiles_INTERFACE_DEFINED__
  1979. #define __IMsmGetFiles_INTERFACE_DEFINED__
  1980. #if defined(__cplusplus) && !defined(CINTERFACE)
  1981. interface DECLSPEC_UUID("7041AE26-2D78-11d2-888A-00A0C981B015")
  1982. IMsmGetFiles : public IDispatch
  1983. {
  1984. public:
  1985. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ModuleFiles(
  1986. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *Files) = 0;
  1987. };
  1988. #else /* C style interface */
  1989. typedef struct IMsmGetFilesVtbl
  1990. {
  1991. BEGIN_INTERFACE
  1992. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1993. IMsmGetFiles __RPC_FAR * This,
  1994. /* [in] */ REFIID riid,
  1995. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1996. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1997. IMsmGetFiles __RPC_FAR * This);
  1998. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1999. IMsmGetFiles __RPC_FAR * This);
  2000. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  2001. IMsmGetFiles __RPC_FAR * This,
  2002. /* [out] */ UINT __RPC_FAR *pctinfo);
  2003. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  2004. IMsmGetFiles __RPC_FAR * This,
  2005. /* [in] */ UINT iTInfo,
  2006. /* [in] */ LCID lcid,
  2007. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2008. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  2009. IMsmGetFiles __RPC_FAR * This,
  2010. /* [in] */ REFIID riid,
  2011. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2012. /* [in] */ UINT cNames,
  2013. /* [in] */ LCID lcid,
  2014. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2015. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  2016. IMsmGetFiles __RPC_FAR * This,
  2017. /* [in] */ DISPID dispIdMember,
  2018. /* [in] */ REFIID riid,
  2019. /* [in] */ LCID lcid,
  2020. /* [in] */ WORD wFlags,
  2021. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2022. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2023. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2024. /* [out] */ UINT __RPC_FAR *puArgErr);
  2025. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ModuleFiles )(
  2026. IMsmGetFiles __RPC_FAR * This,
  2027. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *Files);
  2028. END_INTERFACE
  2029. } IMsmGetFilesVtbl;
  2030. interface IMsmGetFiles
  2031. {
  2032. CONST_VTBL struct IMsmGetFilesVtbl __RPC_FAR *lpVtbl;
  2033. };
  2034. #ifdef COBJMACROS
  2035. #define IMsmGetFiles_QueryInterface(This,riid,ppvObject) \
  2036. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2037. #define IMsmGetFiles_AddRef(This) \
  2038. (This)->lpVtbl -> AddRef(This)
  2039. #define IMsmGetFiles_Release(This) \
  2040. (This)->lpVtbl -> Release(This)
  2041. #define IMsmGetFiles_GetTypeInfoCount(This,pctinfo) \
  2042. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2043. #define IMsmGetFiles_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  2044. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2045. #define IMsmGetFiles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  2046. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2047. #define IMsmGetFiles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2048. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2049. #define IMsmGetFiles_get_ModuleFiles(This,Files) \
  2050. (This)->lpVtbl -> get_ModuleFiles(This,Files)
  2051. #endif /* COBJMACROS */
  2052. #endif /* C style interface */
  2053. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmGetFiles_get_ModuleFiles_Proxy(
  2054. IMsmGetFiles __RPC_FAR * This,
  2055. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *Files);
  2056. void __RPC_STUB IMsmGetFiles_get_ModuleFiles_Stub(
  2057. IRpcStubBuffer *This,
  2058. IRpcChannelBuffer *_pRpcChannelBuffer,
  2059. PRPC_MESSAGE _pRpcMessage,
  2060. DWORD *_pdwStubPhase);
  2061. #endif /* __IMsmGetFiles_INTERFACE_DEFINED__ */
  2062. // The following interface is available only on MergeMod v1.5 and later
  2063. #if (_WIN32_MSM >= 150)
  2064. // --------------------------------------------------------------------------
  2065. // IMsmMerge2 - primary interface to the MsmMerge2 object. Allows the client
  2066. // to open and close databases, perform merges, retrieve the results
  2067. // of a merge, control the creation of a debug-level log, and extract the
  2068. // files from a module to disk. Extends the original object by adding
  2069. // LFN support and configurable module support.
  2070. // --------------------------------------------------------------------------
  2071. #ifndef __IMsmMerge2_INTERFACE_DEFINED__
  2072. #define __IMsmMerge2_INTERFACE_DEFINED__
  2073. #if defined(__cplusplus) && !defined(CINTERFACE)
  2074. MIDL_INTERFACE("351A72AB-21CB-47AB-B7AA-C4D7B02EA305")
  2075. IMsmMerge2 : public IDispatch
  2076. {
  2077. public:
  2078. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenDatabase(
  2079. /* [in] */ const BSTR Path) = 0;
  2080. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenModule(
  2081. /* [in] */ const BSTR Path,
  2082. /* [in] */ const short Language) = 0;
  2083. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloseDatabase(
  2084. /* [in] */ const VARIANT_BOOL Commit) = 0;
  2085. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloseModule( void) = 0;
  2086. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenLog(
  2087. /* [in] */ const BSTR Path) = 0;
  2088. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloseLog( void) = 0;
  2089. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Log(
  2090. /* [in] */ const BSTR Message) = 0;
  2091. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Errors(
  2092. /* [retval][out] */ IMsmErrors __RPC_FAR *__RPC_FAR *Errors) = 0;
  2093. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Dependencies(
  2094. /* [retval][out] */ IMsmDependencies __RPC_FAR *__RPC_FAR *Dependencies) = 0;
  2095. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Merge(
  2096. /* [in] */ const BSTR Feature,
  2097. /* [in] */ const BSTR RedirectDir) = 0;
  2098. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Connect(
  2099. /* [in] */ const BSTR Feature) = 0;
  2100. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExtractCAB(
  2101. /* [in] */ const BSTR FileName) = 0;
  2102. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExtractFiles(
  2103. /* [in] */ const BSTR Path) = 0;
  2104. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MergeEx(
  2105. /* [in] */ const BSTR Feature,
  2106. /* [in] */ const BSTR RedirectDir,
  2107. /* [in] */ IUnknown __RPC_FAR *pConfiguration) = 0;
  2108. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExtractFilesEx(
  2109. /* [in] */ const BSTR Path,
  2110. /* [in] */ VARIANT_BOOL fLongFileNames,
  2111. /* [out] */ IMsmStrings __RPC_FAR *__RPC_FAR *pFilePaths) = 0;
  2112. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ConfigurableItems(
  2113. /* [retval][out] */ IMsmConfigurableItems __RPC_FAR *__RPC_FAR *ConfigurableItems) = 0;
  2114. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateSourceImage(
  2115. /* [in] */ const BSTR Path,
  2116. /* [in] */ VARIANT_BOOL fLongFileNames,
  2117. /* [out] */ IMsmStrings __RPC_FAR *__RPC_FAR *pFilePaths) = 0;
  2118. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ModuleFiles(
  2119. /* [retval][out] */ IMsmStrings **Files) = 0;
  2120. };
  2121. #else /* C style interface */
  2122. typedef struct IMsmMerge2Vtbl
  2123. {
  2124. BEGIN_INTERFACE
  2125. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2126. IMsmMerge2 __RPC_FAR * This,
  2127. /* [in] */ REFIID riid,
  2128. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2129. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2130. IMsmMerge2 __RPC_FAR * This);
  2131. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2132. IMsmMerge2 __RPC_FAR * This);
  2133. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  2134. IMsmMerge2 __RPC_FAR * This,
  2135. /* [out] */ UINT __RPC_FAR *pctinfo);
  2136. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  2137. IMsmMerge2 __RPC_FAR * This,
  2138. /* [in] */ UINT iTInfo,
  2139. /* [in] */ LCID lcid,
  2140. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2141. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  2142. IMsmMerge2 __RPC_FAR * This,
  2143. /* [in] */ REFIID riid,
  2144. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2145. /* [in] */ UINT cNames,
  2146. /* [in] */ LCID lcid,
  2147. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2148. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  2149. IMsmMerge2 __RPC_FAR * This,
  2150. /* [in] */ DISPID dispIdMember,
  2151. /* [in] */ REFIID riid,
  2152. /* [in] */ LCID lcid,
  2153. /* [in] */ WORD wFlags,
  2154. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2155. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2156. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2157. /* [out] */ UINT __RPC_FAR *puArgErr);
  2158. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenDatabase )(
  2159. IMsmMerge2 __RPC_FAR * This,
  2160. /* [in] */ const BSTR Path);
  2161. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenModule )(
  2162. IMsmMerge2 __RPC_FAR * This,
  2163. /* [in] */ const BSTR Path,
  2164. /* [in] */ const short Language);
  2165. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseDatabase )(
  2166. IMsmMerge2 __RPC_FAR * This,
  2167. /* [in] */ const VARIANT_BOOL Commit);
  2168. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseModule )(
  2169. IMsmMerge2 __RPC_FAR * This);
  2170. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenLog )(
  2171. IMsmMerge2 __RPC_FAR * This,
  2172. /* [in] */ const BSTR Path);
  2173. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseLog )(
  2174. IMsmMerge2 __RPC_FAR * This);
  2175. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Log )(
  2176. IMsmMerge2 __RPC_FAR * This,
  2177. /* [in] */ const BSTR Message);
  2178. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Errors )(
  2179. IMsmMerge2 __RPC_FAR * This,
  2180. /* [retval][out] */ IMsmErrors __RPC_FAR *__RPC_FAR *Errors);
  2181. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Dependencies )(
  2182. IMsmMerge2 __RPC_FAR * This,
  2183. /* [retval][out] */ IMsmDependencies __RPC_FAR *__RPC_FAR *Dependencies);
  2184. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Merge )(
  2185. IMsmMerge2 __RPC_FAR * This,
  2186. /* [in] */ const BSTR Feature,
  2187. /* [in] */ const BSTR RedirectDir);
  2188. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Connect )(
  2189. IMsmMerge2 __RPC_FAR * This,
  2190. /* [in] */ const BSTR Feature);
  2191. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExtractCAB )(
  2192. IMsmMerge2 __RPC_FAR * This,
  2193. /* [in] */ const BSTR FileName);
  2194. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExtractFiles )(
  2195. IMsmMerge2 __RPC_FAR * This,
  2196. /* [in] */ const BSTR Path);
  2197. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MergeEx )(
  2198. IMsmMerge2 __RPC_FAR * This,
  2199. /* [in] */ const BSTR Feature,
  2200. /* [in] */ const BSTR RedirectDir,
  2201. /* [in] */ IMsmConfigureModule __RPC_FAR *pConfiguration);
  2202. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExtractFilesEx )(
  2203. IMsmMerge2 __RPC_FAR * This,
  2204. /* [in] */ const BSTR Path,
  2205. /* [in] */ VARIANT_BOOL fLongFileNames,
  2206. /* [out] */ IMsmStrings __RPC_FAR *__RPC_FAR *pFilePaths);
  2207. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ConfigurableItems )(
  2208. IMsmMerge2 __RPC_FAR * This,
  2209. /* [retval][out] */ IMsmConfigurableItems __RPC_FAR *__RPC_FAR *ConfigurableItems);
  2210. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSourceImage )(
  2211. IMsmMerge2 __RPC_FAR * This,
  2212. /* [in] */ const BSTR Path,
  2213. /* [in] */ VARIANT_BOOL fLongFileNames,
  2214. /* [out] */ IMsmStrings __RPC_FAR *__RPC_FAR *pFilePaths);
  2215. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModuleFiles )(
  2216. IMsmMerge2 * This,
  2217. /* [retval][out] */ IMsmStrings **Files);
  2218. END_INTERFACE
  2219. } IMsmMerge2Vtbl;
  2220. interface IMsmMerge2
  2221. {
  2222. CONST_VTBL struct IMsmMerge2Vtbl __RPC_FAR *lpVtbl;
  2223. };
  2224. #ifdef COBJMACROS
  2225. #define IMsmMerge2_QueryInterface(This,riid,ppvObject) \
  2226. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2227. #define IMsmMerge2_AddRef(This) \
  2228. (This)->lpVtbl -> AddRef(This)
  2229. #define IMsmMerge2_Release(This) \
  2230. (This)->lpVtbl -> Release(This)
  2231. #define IMsmMerge2_GetTypeInfoCount(This,pctinfo) \
  2232. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2233. #define IMsmMerge2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  2234. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2235. #define IMsmMerge2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  2236. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2237. #define IMsmMerge2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2238. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2239. #define IMsmMerge2_OpenDatabase(This,Path) \
  2240. (This)->lpVtbl -> OpenDatabase(This,Path)
  2241. #define IMsmMerge2_OpenModule(This,Path,Language) \
  2242. (This)->lpVtbl -> OpenModule(This,Path,Language)
  2243. #define IMsmMerge2_CloseDatabase(This,Commit) \
  2244. (This)->lpVtbl -> CloseDatabase(This,Commit)
  2245. #define IMsmMerge2_CloseModule(This) \
  2246. (This)->lpVtbl -> CloseModule(This)
  2247. #define IMsmMerge2_OpenLog(This,Path) \
  2248. (This)->lpVtbl -> OpenLog(This,Path)
  2249. #define IMsmMerge2_CloseLog(This) \
  2250. (This)->lpVtbl -> CloseLog(This)
  2251. #define IMsmMerge2_Log(This,Message) \
  2252. (This)->lpVtbl -> Log(This,Message)
  2253. #define IMsmMerge2_get_Errors(This,Errors) \
  2254. (This)->lpVtbl -> get_Errors(This,Errors)
  2255. #define IMsmMerge2_get_Dependencies(This,Dependencies) \
  2256. (This)->lpVtbl -> get_Dependencies(This,Dependencies)
  2257. #define IMsmMerge2_Merge(This,Feature,RedirectDir) \
  2258. (This)->lpVtbl -> Merge(This,Feature,RedirectDir)
  2259. #define IMsmMerge2_Connect(This,Feature) \
  2260. (This)->lpVtbl -> Connect(This,Feature)
  2261. #define IMsmMerge2_ExtractCAB(This,FileName) \
  2262. (This)->lpVtbl -> ExtractCAB(This,FileName)
  2263. #define IMsmMerge2_ExtractFiles(This,Path) \
  2264. (This)->lpVtbl -> ExtractFiles(This,Path)
  2265. #define IMsmMerge2_MergeEx(This,Feature,RedirectDir,pConfiguration) \
  2266. (This)->lpVtbl -> MergeEx(This,Feature,RedirectDir,pConfiguration)
  2267. #define IMsmMerge2_ExtractFilesEx(This,Path,fLongFileNames,pFilePaths) \
  2268. (This)->lpVtbl -> ExtractFilesEx(This,Path,fLongFileNames,pFilePaths)
  2269. #define IMsmMerge2_get_ConfigurableItems(This,ConfigurableItems) \
  2270. (This)->lpVtbl -> get_ConfigurableItems(This,ConfigurableItems)
  2271. #define IMsmMerge2_CreateSourceImage(This,Path,fLongFileNames,pFilePaths) \
  2272. (This)->lpVtbl -> CreateSourceImage(This,Path,fLongFileNames,pFilePaths)
  2273. #define IMsmMerge2_get_ModuleFiles(This,Files) \
  2274. (This)->lpVtbl -> get_ModuleFiles(This,Files)
  2275. #endif /* COBJMACROS */
  2276. #endif /* C style interface */
  2277. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_OpenDatabase_Proxy(
  2278. IMsmMerge2 __RPC_FAR * This,
  2279. /* [in] */ const BSTR Path);
  2280. void __RPC_STUB IMsmMerge2_OpenDatabase_Stub(
  2281. IRpcStubBuffer *This,
  2282. IRpcChannelBuffer *_pRpcChannelBuffer,
  2283. PRPC_MESSAGE _pRpcMessage,
  2284. DWORD *_pdwStubPhase);
  2285. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_OpenModule_Proxy(
  2286. IMsmMerge2 __RPC_FAR * This,
  2287. /* [in] */ const BSTR Path,
  2288. /* [in] */ const short Language);
  2289. void __RPC_STUB IMsmMerge2_OpenModule_Stub(
  2290. IRpcStubBuffer *This,
  2291. IRpcChannelBuffer *_pRpcChannelBuffer,
  2292. PRPC_MESSAGE _pRpcMessage,
  2293. DWORD *_pdwStubPhase);
  2294. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_CloseDatabase_Proxy(
  2295. IMsmMerge2 __RPC_FAR * This,
  2296. /* [in] */ const VARIANT_BOOL Commit);
  2297. void __RPC_STUB IMsmMerge2_CloseDatabase_Stub(
  2298. IRpcStubBuffer *This,
  2299. IRpcChannelBuffer *_pRpcChannelBuffer,
  2300. PRPC_MESSAGE _pRpcMessage,
  2301. DWORD *_pdwStubPhase);
  2302. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_CloseModule_Proxy(
  2303. IMsmMerge2 __RPC_FAR * This);
  2304. void __RPC_STUB IMsmMerge2_CloseModule_Stub(
  2305. IRpcStubBuffer *This,
  2306. IRpcChannelBuffer *_pRpcChannelBuffer,
  2307. PRPC_MESSAGE _pRpcMessage,
  2308. DWORD *_pdwStubPhase);
  2309. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_OpenLog_Proxy(
  2310. IMsmMerge2 __RPC_FAR * This,
  2311. /* [in] */ const BSTR Path);
  2312. void __RPC_STUB IMsmMerge2_OpenLog_Stub(
  2313. IRpcStubBuffer *This,
  2314. IRpcChannelBuffer *_pRpcChannelBuffer,
  2315. PRPC_MESSAGE _pRpcMessage,
  2316. DWORD *_pdwStubPhase);
  2317. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_CloseLog_Proxy(
  2318. IMsmMerge2 __RPC_FAR * This);
  2319. void __RPC_STUB IMsmMerge2_CloseLog_Stub(
  2320. IRpcStubBuffer *This,
  2321. IRpcChannelBuffer *_pRpcChannelBuffer,
  2322. PRPC_MESSAGE _pRpcMessage,
  2323. DWORD *_pdwStubPhase);
  2324. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_Log_Proxy(
  2325. IMsmMerge2 __RPC_FAR * This,
  2326. /* [in] */ const BSTR Message);
  2327. void __RPC_STUB IMsmMerge2_Log_Stub(
  2328. IRpcStubBuffer *This,
  2329. IRpcChannelBuffer *_pRpcChannelBuffer,
  2330. PRPC_MESSAGE _pRpcMessage,
  2331. DWORD *_pdwStubPhase);
  2332. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_get_Errors_Proxy(
  2333. IMsmMerge2 __RPC_FAR * This,
  2334. /* [retval][out] */ IMsmErrors __RPC_FAR *__RPC_FAR *Errors);
  2335. void __RPC_STUB IMsmMerge2_get_Errors_Stub(
  2336. IRpcStubBuffer *This,
  2337. IRpcChannelBuffer *_pRpcChannelBuffer,
  2338. PRPC_MESSAGE _pRpcMessage,
  2339. DWORD *_pdwStubPhase);
  2340. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_get_Dependencies_Proxy(
  2341. IMsmMerge2 __RPC_FAR * This,
  2342. /* [retval][out] */ IMsmDependencies __RPC_FAR *__RPC_FAR *Dependencies);
  2343. void __RPC_STUB IMsmMerge2_get_Dependencies_Stub(
  2344. IRpcStubBuffer *This,
  2345. IRpcChannelBuffer *_pRpcChannelBuffer,
  2346. PRPC_MESSAGE _pRpcMessage,
  2347. DWORD *_pdwStubPhase);
  2348. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_Merge_Proxy(
  2349. IMsmMerge2 __RPC_FAR * This,
  2350. /* [in] */ const BSTR Feature,
  2351. /* [in] */ const BSTR RedirectDir);
  2352. void __RPC_STUB IMsmMerge2_Merge_Stub(
  2353. IRpcStubBuffer *This,
  2354. IRpcChannelBuffer *_pRpcChannelBuffer,
  2355. PRPC_MESSAGE _pRpcMessage,
  2356. DWORD *_pdwStubPhase);
  2357. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_Connect_Proxy(
  2358. IMsmMerge2 __RPC_FAR * This,
  2359. /* [in] */ const BSTR Feature);
  2360. void __RPC_STUB IMsmMerge2_Connect_Stub(
  2361. IRpcStubBuffer *This,
  2362. IRpcChannelBuffer *_pRpcChannelBuffer,
  2363. PRPC_MESSAGE _pRpcMessage,
  2364. DWORD *_pdwStubPhase);
  2365. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_ExtractCAB_Proxy(
  2366. IMsmMerge2 __RPC_FAR * This,
  2367. /* [in] */ const BSTR FileName);
  2368. void __RPC_STUB IMsmMerge2_ExtractCAB_Stub(
  2369. IRpcStubBuffer *This,
  2370. IRpcChannelBuffer *_pRpcChannelBuffer,
  2371. PRPC_MESSAGE _pRpcMessage,
  2372. DWORD *_pdwStubPhase);
  2373. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_ExtractFiles_Proxy(
  2374. IMsmMerge2 __RPC_FAR * This,
  2375. /* [in] */ const BSTR Path);
  2376. void __RPC_STUB IMsmMerge2_ExtractFiles_Stub(
  2377. IRpcStubBuffer *This,
  2378. IRpcChannelBuffer *_pRpcChannelBuffer,
  2379. PRPC_MESSAGE _pRpcMessage,
  2380. DWORD *_pdwStubPhase);
  2381. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_MergeEx_Proxy(
  2382. IMsmMerge2 __RPC_FAR * This,
  2383. /* [in] */ const BSTR Feature,
  2384. /* [in] */ const BSTR RedirectDir,
  2385. /* [in] */ IMsmConfigureModule __RPC_FAR *pConfiguration);
  2386. void __RPC_STUB IMsmMerge2_MergeEx_Stub(
  2387. IRpcStubBuffer *This,
  2388. IRpcChannelBuffer *_pRpcChannelBuffer,
  2389. PRPC_MESSAGE _pRpcMessage,
  2390. DWORD *_pdwStubPhase);
  2391. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_ExtractFilesEx_Proxy(
  2392. IMsmMerge2 __RPC_FAR * This,
  2393. /* [in] */ const BSTR Path,
  2394. /* [in] */ VARIANT_BOOL fLongFileNames,
  2395. /* [out] */ IMsmStrings __RPC_FAR *__RPC_FAR *pFilePaths);
  2396. void __RPC_STUB IMsmMerge2_ExtractFilesEx_Stub(
  2397. IRpcStubBuffer *This,
  2398. IRpcChannelBuffer *_pRpcChannelBuffer,
  2399. PRPC_MESSAGE _pRpcMessage,
  2400. DWORD *_pdwStubPhase);
  2401. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_get_ConfigurableItems_Proxy(
  2402. IMsmMerge2 __RPC_FAR * This,
  2403. /* [retval][out] */ IMsmConfigurableItems __RPC_FAR *__RPC_FAR *
  2404. ConfigurableItems);
  2405. void __RPC_STUB IMsmMerge2_get_ConfigurableItems_Stub(
  2406. IRpcStubBuffer *This,
  2407. IRpcChannelBuffer *_pRpcChannelBuffer,
  2408. PRPC_MESSAGE _pRpcMessage,
  2409. DWORD *_pdwStubPhase);
  2410. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE
  2411. IMsmMerge2_CreateSourceImage_Proxy(
  2412. IMsmMerge2 __RPC_FAR * This,
  2413. /* [in] */ const BSTR Path,
  2414. /* [in] */ VARIANT_BOOL fLongFileNames,
  2415. /* [out] */ IMsmStrings __RPC_FAR *__RPC_FAR *pFilePaths);
  2416. void __RPC_STUB IMsmMerge2_CreateSourceImage_Stub(
  2417. IRpcStubBuffer *This,
  2418. IRpcChannelBuffer *_pRpcChannelBuffer,
  2419. PRPC_MESSAGE _pRpcMessage,
  2420. DWORD *_pdwStubPhase);
  2421. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_get_ModuleFiles_Proxy(
  2422. IMsmMerge2 * This,
  2423. /* [retval][out] */ IMsmStrings **Files);
  2424. void __RPC_STUB IMsmMerge2_get_ModuleFiles_Stub(
  2425. IRpcStubBuffer *This,
  2426. IRpcChannelBuffer *_pRpcChannelBuffer,
  2427. PRPC_MESSAGE _pRpcMessage,
  2428. DWORD *_pdwStubPhase);
  2429. #endif /* __IMsmMerge2_INTERFACE_DEFINED__ */
  2430. #endif // _WIN32_MSM >= 150
  2431. // --------------------------------------------------------------------------
  2432. // TypeLib definitions
  2433. // --------------------------------------------------------------------------
  2434. #ifndef __MsmMergeTypeLib_LIBRARY_DEFINED__
  2435. #define __MsmMergeTypeLib_LIBRARY_DEFINED__
  2436. #ifdef __cplusplus
  2437. class DECLSPEC_UUID("0ADDA830-2C26-11D2-AD65-00A0C9AF11A6")
  2438. MsmMerge;
  2439. #endif
  2440. // the following class is available only on MergeMod v1.5 or later
  2441. #if (_WIN32_MSM >= 150)
  2442. #ifdef __cplusplus
  2443. class DECLSPEC_UUID("F94985D5-29F9-4743-9805-99BC3F35B678")
  2444. MsmMerge2;
  2445. #endif
  2446. #endif // _WIN32_MSM >= 150
  2447. #endif /* __MsmMergeTypeLib_LIBRARY_DEFINED__ */
  2448. // --------------------------------------------------------------------------
  2449. // Additional Prototypes for ALL interfaces
  2450. // --------------------------------------------------------------------------
  2451. unsigned long __RPC_USER BSTR_UserSize( unsigned long __RPC_FAR *, unsigned long , BSTR __RPC_FAR * );
  2452. unsigned char __RPC_FAR * __RPC_USER BSTR_UserMarshal( unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * );
  2453. unsigned char __RPC_FAR * __RPC_USER BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * );
  2454. void __RPC_USER BSTR_UserFree( unsigned long __RPC_FAR *, BSTR __RPC_FAR * );
  2455. #ifdef __cplusplus
  2456. }
  2457. #endif
  2458. // --------------------------------------------------------------------------
  2459. // MergeMod Interface IDs
  2460. // --------------------------------------------------------------------------
  2461. /* [local] */
  2462. DEFINE_GUID(IID_IEnumMsmString, 0x0ADDA826,0x2C26,0x11D2, 0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  2463. DEFINE_GUID(IID_IMsmStrings, 0x0ADDA827,0x2C26,0x11D2, 0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  2464. DEFINE_GUID(IID_IMsmError, 0x0ADDA828,0x2C26,0x11D2, 0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  2465. DEFINE_GUID(IID_IEnumMsmError, 0x0ADDA829,0x2C26,0x11D2, 0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  2466. DEFINE_GUID(IID_IMsmErrors, 0x0ADDA82A,0x2C26,0x11D2, 0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  2467. DEFINE_GUID(IID_IMsmDependency, 0x0ADDA82B,0x2C26,0x11D2, 0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  2468. DEFINE_GUID(IID_IEnumMsmDependency, 0x0ADDA82C,0x2C26,0x11D2, 0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  2469. DEFINE_GUID(IID_IMsmDependencies, 0x0ADDA82D,0x2C26,0x11D2, 0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  2470. DEFINE_GUID(IID_IMsmMerge, 0x0ADDA82E,0x2C26,0x11D2, 0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  2471. DEFINE_GUID(IID_IMsmGetFiles, 0x7041ae26, 0x2d78, 0x11d2, 0x88, 0x8a, 0x0, 0xa0, 0xc9, 0x81, 0xb0, 0x15);
  2472. DEFINE_GUID(LIBID_MsmMergeTypeLib, 0x0ADDA82F,0x2C26,0x11D2, 0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  2473. DEFINE_GUID(CLSID_MsmMerge, 0x0ADDA830,0x2C26,0x11D2, 0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  2474. #if (_WIN32_MSM >= 150)
  2475. DEFINE_GUID(IID_IMsmMerge2, 0x351A72AB, 0x21CB, 0x47AB, 0xB7, 0xAA, 0xC4, 0xD7, 0xB0, 0x2E, 0xA3, 0x05);
  2476. DEFINE_GUID(IID_IMsmConfigurableItem, 0x4D6E6284, 0xD21D, 0x401E, 0x84, 0xF6, 0x90, 0x9E, 0x00, 0xB5, 0x0F, 0x71);
  2477. DEFINE_GUID(IID_IEnumMsmConfigurableItem, 0x832C6969, 0x4826, 0x4C24, 0xA3, 0x97, 0xB7, 0x00, 0x2D, 0x81, 0x96, 0xE6);
  2478. DEFINE_GUID(IID_IMsmConfigurableItems, 0x55BF723C, 0x9A0D, 0x463E, 0xB4, 0x2B, 0xB4, 0xFB, 0xC7, 0xBE, 0x3C, 0x7C);
  2479. DEFINE_GUID(IID_IMsmConfigureModule, 0xAC013209, 0x18A7, 0x4851, 0x8A, 0x21, 0x23, 0x53, 0x44, 0x3D, 0x70, 0xA0);
  2480. DEFINE_GUID(CLSID_MsmMerge2, 0xF94985D5,0x29F9,0x4743, 0x98,0x05,0x99,0xBC,0x3F,0x35,0xB6,0x78);
  2481. #endif
  2482. #endif // __mergemod_h__