master
   1/**
   2 * This file has no copyright assigned and is placed in the Public Domain.
   3 * This file is part of the mingw-w64 runtime package.
   4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
   5 */
   6#include "rpc.h"
   7#include "rpcndr.h"
   8#ifndef COM_NO_WINDOWS_H
   9#include "windows.h"
  10#include "ole2.h"
  11#endif
  12
  13#ifndef __mergemod_h__
  14#define __mergemod_h__
  15
  16#ifndef _WIN32_MSM
  17#define _WIN32_MSM 100
  18#endif
  19
  20#ifdef __cplusplus
  21extern "C"{
  22#endif
  23
  24#ifndef __IEnumMsmString_FWD_DEFINED__
  25#define __IEnumMsmString_FWD_DEFINED__
  26  typedef struct IEnumMsmString IEnumMsmString;
  27#endif
  28
  29#ifndef __IMsmStrings_FWD_DEFINED__
  30#define __IMsmStrings_FWD_DEFINED__
  31  typedef struct IMsmStrings IMsmStrings;
  32#endif
  33
  34#ifndef __IMsmError_FWD_DEFINED__
  35#define __IMsmError_FWD_DEFINED__
  36  typedef struct IMsmError IMsmError;
  37#endif
  38
  39#ifndef __IEnumMsmError_FWD_DEFINED__
  40#define __IEnumMsmError_FWD_DEFINED__
  41  typedef struct IEnumMsmError IEnumMsmError;
  42#endif
  43
  44#ifndef __IMsmErrors_FWD_DEFINED__
  45#define __IMsmErrors_FWD_DEFINED__
  46  typedef struct IMsmErrors IMsmErrors;
  47#endif
  48
  49#ifndef __IMsmDependency_FWD_DEFINED__
  50#define __IMsmDependency_FWD_DEFINED__
  51  typedef struct IMsmDependency IMsmDependency;
  52#endif
  53
  54#ifndef __IEnumMsmDependency_FWD_DEFINED__
  55#define __IEnumMsmDependency_FWD_DEFINED__
  56  typedef struct IEnumMsmDependency IEnumMsmDependency;
  57#endif
  58
  59#ifndef __IMsmDependencies_FWD_DEFINED__
  60#define __IMsmDependencies_FWD_DEFINED__
  61  typedef struct IMsmDependencies IMsmDependencies;
  62#endif
  63
  64#ifndef __IMsmMerge_FWD_DEFINED__
  65#define __IMsmMerge_FWD_DEFINED__
  66  typedef struct IMsmMerge IMsmMerge;
  67#endif
  68
  69#ifndef __IMsmGetFiles_FWD_DEFINED__
  70#define __IMsmGetFiles_FWD_DEFINED__
  71  typedef struct IMsmGetFiles IMsmGetFiles;
  72#endif
  73
  74#ifndef __IMsmStrings_FWD_DEFINED__
  75#define __IMsmStrings_FWD_DEFINED__
  76  typedef struct IMsmStrings IMsmStrings;
  77#endif
  78
  79#ifndef __IMsmError_FWD_DEFINED__
  80#define __IMsmError_FWD_DEFINED__
  81  typedef struct IMsmError IMsmError;
  82#endif
  83
  84#ifndef __IMsmErrors_FWD_DEFINED__
  85#define __IMsmErrors_FWD_DEFINED__
  86  typedef struct IMsmErrors IMsmErrors;
  87#endif
  88
  89#ifndef __IMsmDependency_FWD_DEFINED__
  90#define __IMsmDependency_FWD_DEFINED__
  91  typedef struct IMsmDependency IMsmDependency;
  92#endif
  93
  94#ifndef __IMsmDependencies_FWD_DEFINED__
  95#define __IMsmDependencies_FWD_DEFINED__
  96  typedef struct IMsmDependencies IMsmDependencies;
  97#endif
  98
  99#ifndef __IMsmGetFiles_FWD_DEFINED__
 100#define __IMsmGetFiles_FWD_DEFINED__
 101  typedef struct IMsmGetFiles IMsmGetFiles;
 102#endif
 103
 104#if (_WIN32_MSM >= 150)
 105
 106#ifndef __IMsmConfigurableItem_FWD_DEFINED__
 107#define __IMsmConfigurableItem_FWD_DEFINED__
 108  typedef struct IMsmConfigurableItem IMsmConfigurableItem;
 109#endif
 110
 111#ifndef __IEnumMsmConfigurableItem_FWD_DEFINED__
 112#define __IEnumMsmConfigurableItem_FWD_DEFINED__
 113  typedef struct IEnumMsmConfigurableItem IEnumMsmConfigurableItem;
 114#endif
 115
 116#ifndef __IMsmConfigurableItems_FWD_DEFINED__
 117#define __IMsmConfigurableItems_FWD_DEFINED__
 118  typedef struct IMsmConfigurableItems IMsmConfigurableItems;
 119#endif
 120
 121#ifndef __IMsmMerge2_FWD_DEFINED__
 122#define __IMsmMerge2_FWD_DEFINED__
 123  typedef struct IMsmMerge2 IMsmMerge2;
 124#endif
 125
 126#ifndef __IMsmConfigureModule_FWD_DEFINED__
 127#define __IMsmConfigureModule_FWD_DEFINED__
 128  typedef struct IMsmConfigureModule IMsmConfigureModule;
 129#endif
 130
 131#ifndef __MsmMerge2_FWD_DEFINED__
 132#define __MsmMerge2_FWD_DEFINED__
 133#ifdef __cplusplus
 134  typedef class MsmMerge2 MsmMerge2;
 135#else
 136  typedef struct MsmMerge2 MsmMerge2;
 137#endif
 138#endif
 139#endif
 140
 141#ifndef __MsmMerge_FWD_DEFINED__
 142#define __MsmMerge_FWD_DEFINED__
 143#ifdef __cplusplus
 144  typedef class MsmMerge MsmMerge;
 145#else
 146  typedef struct MsmMerge MsmMerge;
 147#endif
 148#endif
 149
 150#include "oaidl.h"
 151
 152#ifndef __MIDL_user_allocate_free_DEFINED__
 153#define __MIDL_user_allocate_free_DEFINED__
 154  void *__RPC_API MIDL_user_allocate(size_t);
 155  void __RPC_API MIDL_user_free(void *);
 156#endif
 157
 158#ifndef __FORWARD_IID_IMSMMERGETYPELIB
 159#define __FORWARD_IID_IMSMMERGETYPELIB
 160
 161  typedef enum msmErrorType {
 162    msmErrorLanguageUnsupported = 1,msmErrorLanguageFailed = 2,msmErrorExclusion = 3,msmErrorTableMerge = 4,msmErrorResequenceMerge = 5,
 163    msmErrorFileCreate = 6,msmErrorDirCreate = 7,msmErrorFeatureRequired = 8,
 164#if (_WIN32_MSM >= 150)
 165    msmErrorBadNullSubstitution = 9,msmErrorBadSubstitutionType = 10,msmErrorMissingConfigItem = 11,msmErrorBadNullResponse = 12,
 166    msmErrorDataRequestFailed = 13,msmErrorPlatformMismatch = 14
 167#endif
 168  } msmErrorType;
 169
 170#if (_WIN32_MSM >= 150)
 171  typedef enum msmConfigurableItemFormat {
 172    msmConfigurableItemText = 0,msmConfigurableItemKey = 1,msmConfigurableItemInteger = 2,msmConfigurableItemBitfield = 3
 173  } msmConfigurableItemFormat;
 174
 175  typedef enum msmConfigurableItemOptions {
 176    msmConfigurableOptionKeyNoOrphan = 1,msmConfigurableOptionNonNullable = 2
 177  } msmConfigurableItemOptions;
 178#endif
 179#endif
 180
 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#ifndef __IEnumMsmString_INTERFACE_DEFINED__
 185#define __IEnumMsmString_INTERFACE_DEFINED__
 186#if defined(__cplusplus) && !defined(CINTERFACE)
 187  struct IEnumMsmString : public IUnknown {
 188  public:
 189    virtual HRESULT WINAPI Next(unsigned __LONG32 cFetch,BSTR *rgbstrStrings,unsigned __LONG32 *pcFetched) = 0;
 190    virtual HRESULT WINAPI Skip(unsigned __LONG32 cSkip) = 0;
 191    virtual HRESULT WINAPI Reset(void) = 0;
 192    virtual HRESULT WINAPI Clone(IEnumMsmString **pemsmStrings) = 0;
 193  };
 194#else
 195  typedef struct IEnumMsmStringVtbl {
 196    BEGIN_INTERFACE
 197      HRESULT (WINAPI *QueryInterface)(IEnumMsmString *This,REFIID riid,void **ppvObject);
 198      ULONG (WINAPI *AddRef)(IEnumMsmString *This);
 199      ULONG (WINAPI *Release)(IEnumMsmString *This);
 200      HRESULT (WINAPI *Next)(IEnumMsmString *This,unsigned __LONG32 cFetch,BSTR *rgbstrStrings,unsigned __LONG32 *pcFetched);
 201      HRESULT (WINAPI *Skip)(IEnumMsmString *This,unsigned __LONG32 cSkip);
 202      HRESULT (WINAPI *Reset)(IEnumMsmString *This);
 203      HRESULT (WINAPI *Clone)(IEnumMsmString *This,IEnumMsmString **pemsmStrings);
 204    END_INTERFACE
 205  } IEnumMsmStringVtbl;
 206  struct IEnumMsmString {
 207    CONST_VTBL struct IEnumMsmStringVtbl *lpVtbl;
 208  };
 209#ifdef COBJMACROS
 210#define IEnumMsmString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 211#define IEnumMsmString_AddRef(This) (This)->lpVtbl->AddRef(This)
 212#define IEnumMsmString_Release(This) (This)->lpVtbl->Release(This)
 213#define IEnumMsmString_Next(This,cFetch,rgbstrStrings,pcFetched) (This)->lpVtbl->Next(This,cFetch,rgbstrStrings,pcFetched)
 214#define IEnumMsmString_Skip(This,cSkip) (This)->lpVtbl->Skip(This,cSkip)
 215#define IEnumMsmString_Reset(This) (This)->lpVtbl->Reset(This)
 216#define IEnumMsmString_Clone(This,pemsmStrings) (This)->lpVtbl->Clone(This,pemsmStrings)
 217#endif
 218#endif
 219  HRESULT WINAPI IEnumMsmString_Next_Proxy(IEnumMsmString *This,unsigned __LONG32 cFetch,BSTR *rgbstrStrings,unsigned __LONG32 *pcFetched);
 220  void __RPC_STUB IEnumMsmString_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 221  HRESULT WINAPI IEnumMsmString_Skip_Proxy(IEnumMsmString *This,unsigned __LONG32 cSkip);
 222  void __RPC_STUB IEnumMsmString_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 223  HRESULT WINAPI IEnumMsmString_Reset_Proxy(IEnumMsmString *This);
 224  void __RPC_STUB IEnumMsmString_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 225  HRESULT WINAPI IEnumMsmString_Clone_Proxy(IEnumMsmString *This,IEnumMsmString **pemsmStrings);
 226  void __RPC_STUB IEnumMsmString_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 227#endif
 228
 229#ifndef __IMsmStrings_INTERFACE_DEFINED__
 230#define __IMsmStrings_INTERFACE_DEFINED__
 231#if defined(__cplusplus) && !defined(CINTERFACE)
 232  struct IMsmStrings : public IDispatch {
 233  public:
 234    virtual HRESULT WINAPI get_Item(__LONG32 Item,BSTR *Return) = 0;
 235    virtual HRESULT WINAPI get_Count(__LONG32 *Count) = 0;
 236    virtual HRESULT WINAPI get__NewEnum(IUnknown **NewEnum) = 0;
 237  };
 238#else
 239  typedef struct IMsmStringsVtbl {
 240    BEGIN_INTERFACE
 241      HRESULT (WINAPI *QueryInterface)(IMsmStrings *This,REFIID riid,void **ppvObject);
 242      ULONG (WINAPI *AddRef)(IMsmStrings *This);
 243      ULONG (WINAPI *Release)(IMsmStrings *This);
 244      HRESULT (WINAPI *GetTypeInfoCount)(IMsmStrings *This,UINT *pctinfo);
 245      HRESULT (WINAPI *GetTypeInfo)(IMsmStrings *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
 246      HRESULT (WINAPI *GetIDsOfNames)(IMsmStrings *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
 247      HRESULT (WINAPI *Invoke)(IMsmStrings *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
 248      HRESULT (WINAPI *get_Item)(IMsmStrings *This,__LONG32 Item,BSTR *Return);
 249      HRESULT (WINAPI *get_Count)(IMsmStrings *This,__LONG32 *Count);
 250      HRESULT (WINAPI *get__NewEnum)(IMsmStrings *This,IUnknown **NewEnum);
 251    END_INTERFACE
 252  } IMsmStringsVtbl;
 253  struct IMsmStrings {
 254    CONST_VTBL struct IMsmStringsVtbl *lpVtbl;
 255  };
 256#ifdef COBJMACROS
 257#define IMsmStrings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 258#define IMsmStrings_AddRef(This) (This)->lpVtbl->AddRef(This)
 259#define IMsmStrings_Release(This) (This)->lpVtbl->Release(This)
 260#define IMsmStrings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 261#define IMsmStrings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 262#define IMsmStrings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 263#define IMsmStrings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 264#define IMsmStrings_get_Item(This,Item,Return) (This)->lpVtbl->get_Item(This,Item,Return)
 265#define IMsmStrings_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
 266#define IMsmStrings_get__NewEnum(This,NewEnum) (This)->lpVtbl->get__NewEnum(This,NewEnum)
 267#endif
 268#endif
 269  HRESULT WINAPI IMsmStrings_get_Item_Proxy(IMsmStrings *This,__LONG32 Item,BSTR *Return);
 270  void __RPC_STUB IMsmStrings_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 271  HRESULT WINAPI IMsmStrings_get_Count_Proxy(IMsmStrings *This,__LONG32 *Count);
 272  void __RPC_STUB IMsmStrings_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 273  HRESULT WINAPI IMsmStrings_get__NewEnum_Proxy(IMsmStrings *This,IUnknown **NewEnum);
 274  void __RPC_STUB IMsmStrings_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 275#endif
 276
 277#ifndef __IMsmError_INTERFACE_DEFINED__
 278#define __IMsmError_INTERFACE_DEFINED__
 279#if defined(__cplusplus) && !defined(CINTERFACE)
 280  struct IMsmError : public IDispatch {
 281  public:
 282    virtual HRESULT WINAPI get_Type(msmErrorType *ErrorType) = 0;
 283    virtual HRESULT WINAPI get_Path(BSTR *ErrorPath) = 0;
 284    virtual HRESULT WINAPI get_Language(short *ErrorLanguage) = 0;
 285    virtual HRESULT WINAPI get_DatabaseTable(BSTR *ErrorTable) = 0;
 286    virtual HRESULT WINAPI get_DatabaseKeys(IMsmStrings **ErrorKeys) = 0;
 287    virtual HRESULT WINAPI get_ModuleTable(BSTR *ErrorTable) = 0;
 288    virtual HRESULT WINAPI get_ModuleKeys(IMsmStrings **ErrorKeys) = 0;
 289  };
 290#else
 291  typedef struct IMsmErrorVtbl {
 292    BEGIN_INTERFACE
 293      HRESULT (WINAPI *QueryInterface)(IMsmError *This,REFIID riid,void **ppvObject);
 294      ULONG (WINAPI *AddRef)(IMsmError *This);
 295      ULONG (WINAPI *Release)(IMsmError *This);
 296      HRESULT (WINAPI *GetTypeInfoCount)(IMsmError *This,UINT *pctinfo);
 297      HRESULT (WINAPI *GetTypeInfo)(IMsmError *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
 298      HRESULT (WINAPI *GetIDsOfNames)(IMsmError *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
 299      HRESULT (WINAPI *Invoke)(IMsmError *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
 300      HRESULT (WINAPI *get_Type)(IMsmError *This,msmErrorType *ErrorType);
 301      HRESULT (WINAPI *get_Path)(IMsmError *This,BSTR *ErrorPath);
 302      HRESULT (WINAPI *get_Language)(IMsmError *This,short *ErrorLanguage);
 303      HRESULT (WINAPI *get_DatabaseTable)(IMsmError *This,BSTR *ErrorTable);
 304      HRESULT (WINAPI *get_DatabaseKeys)(IMsmError *This,IMsmStrings **ErrorKeys);
 305      HRESULT (WINAPI *get_ModuleTable)(IMsmError *This,BSTR *ErrorTable);
 306      HRESULT (WINAPI *get_ModuleKeys)(IMsmError *This,IMsmStrings **ErrorKeys);
 307    END_INTERFACE
 308  } IMsmErrorVtbl;
 309  struct IMsmError {
 310    CONST_VTBL struct IMsmErrorVtbl *lpVtbl;
 311  };
 312#ifdef COBJMACROS
 313#define IMsmError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 314#define IMsmError_AddRef(This) (This)->lpVtbl->AddRef(This)
 315#define IMsmError_Release(This) (This)->lpVtbl->Release(This)
 316#define IMsmError_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 317#define IMsmError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 318#define IMsmError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 319#define IMsmError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 320#define IMsmError_get_Type(This,ErrorType) (This)->lpVtbl->get_Type(This,ErrorType)
 321#define IMsmError_get_Path(This,ErrorPath) (This)->lpVtbl->get_Path(This,ErrorPath)
 322#define IMsmError_get_Language(This,ErrorLanguage) (This)->lpVtbl->get_Language(This,ErrorLanguage)
 323#define IMsmError_get_DatabaseTable(This,ErrorTable) (This)->lpVtbl->get_DatabaseTable(This,ErrorTable)
 324#define IMsmError_get_DatabaseKeys(This,ErrorKeys) (This)->lpVtbl->get_DatabaseKeys(This,ErrorKeys)
 325#define IMsmError_get_ModuleTable(This,ErrorTable) (This)->lpVtbl->get_ModuleTable(This,ErrorTable)
 326#define IMsmError_get_ModuleKeys(This,ErrorKeys) (This)->lpVtbl->get_ModuleKeys(This,ErrorKeys)
 327#endif
 328#endif
 329  HRESULT WINAPI IMsmError_get_Type_Proxy(IMsmError *This,msmErrorType *ErrorType);
 330  void __RPC_STUB IMsmError_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 331  HRESULT WINAPI IMsmError_get_Path_Proxy(IMsmError *This,BSTR *ErrorPath);
 332  void __RPC_STUB IMsmError_get_Path_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 333  HRESULT WINAPI IMsmError_get_Language_Proxy(IMsmError *This,short *ErrorLanguage);
 334  void __RPC_STUB IMsmError_get_Language_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 335  HRESULT WINAPI IMsmError_get_DatabaseTable_Proxy(IMsmError *This,BSTR *ErrorTable);
 336  void __RPC_STUB IMsmError_get_DatabaseTable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 337  HRESULT WINAPI IMsmError_get_DatabaseKeys_Proxy(IMsmError *This,IMsmStrings **ErrorKeys);
 338  void __RPC_STUB IMsmError_get_DatabaseKeys_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 339  HRESULT WINAPI IMsmError_get_ModuleTable_Proxy(IMsmError *This,BSTR *ErrorTable);
 340  void __RPC_STUB IMsmError_get_ModuleTable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 341  HRESULT WINAPI IMsmError_get_ModuleKeys_Proxy(IMsmError *This,IMsmStrings **ErrorKeys);
 342  void __RPC_STUB IMsmError_get_ModuleKeys_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 343#endif
 344
 345#ifndef __IEnumMsmError_INTERFACE_DEFINED__
 346#define __IEnumMsmError_INTERFACE_DEFINED__
 347#if defined(__cplusplus) && !defined(CINTERFACE)
 348  struct IEnumMsmError : public IUnknown {
 349  public:
 350    virtual HRESULT WINAPI Next(unsigned __LONG32 cFetch,IMsmError **rgmsmErrors,unsigned __LONG32 *pcFetched) = 0;
 351    virtual HRESULT WINAPI Skip(unsigned __LONG32 cSkip) = 0;
 352    virtual HRESULT WINAPI Reset(void) = 0;
 353    virtual HRESULT WINAPI Clone(IEnumMsmError **pemsmErrors) = 0;
 354  };
 355#else
 356  typedef struct IEnumMsmErrorVtbl {
 357    BEGIN_INTERFACE
 358      HRESULT (WINAPI *QueryInterface)(IEnumMsmError *This,REFIID riid,void **ppvObject);
 359      ULONG (WINAPI *AddRef)(IEnumMsmError *This);
 360      ULONG (WINAPI *Release)(IEnumMsmError *This);
 361      HRESULT (WINAPI *Next)(IEnumMsmError *This,unsigned __LONG32 cFetch,IMsmError **rgmsmErrors,unsigned __LONG32 *pcFetched);
 362      HRESULT (WINAPI *Skip)(IEnumMsmError *This,unsigned __LONG32 cSkip);
 363      HRESULT (WINAPI *Reset)(IEnumMsmError *This);
 364      HRESULT (WINAPI *Clone)(IEnumMsmError *This,IEnumMsmError **pemsmErrors);
 365    END_INTERFACE
 366  } IEnumMsmErrorVtbl;
 367  struct IEnumMsmError {
 368    CONST_VTBL struct IEnumMsmErrorVtbl *lpVtbl;
 369  };
 370#ifdef COBJMACROS
 371#define IEnumMsmError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 372#define IEnumMsmError_AddRef(This) (This)->lpVtbl->AddRef(This)
 373#define IEnumMsmError_Release(This) (This)->lpVtbl->Release(This)
 374#define IEnumMsmError_Next(This,cFetch,rgmsmErrors,pcFetched) (This)->lpVtbl->Next(This,cFetch,rgmsmErrors,pcFetched)
 375#define IEnumMsmError_Skip(This,cSkip) (This)->lpVtbl->Skip(This,cSkip)
 376#define IEnumMsmError_Reset(This) (This)->lpVtbl->Reset(This)
 377#define IEnumMsmError_Clone(This,pemsmErrors) (This)->lpVtbl->Clone(This,pemsmErrors)
 378#endif
 379#endif
 380  HRESULT WINAPI IEnumMsmError_Next_Proxy(IEnumMsmError *This,unsigned __LONG32 cFetch,IMsmError **rgmsmErrors,unsigned __LONG32 *pcFetched);
 381  void __RPC_STUB IEnumMsmError_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 382  HRESULT WINAPI IEnumMsmError_Skip_Proxy(IEnumMsmError *This,unsigned __LONG32 cSkip);
 383  void __RPC_STUB IEnumMsmError_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 384  HRESULT WINAPI IEnumMsmError_Reset_Proxy(IEnumMsmError *This);
 385  void __RPC_STUB IEnumMsmError_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 386  HRESULT WINAPI IEnumMsmError_Clone_Proxy(IEnumMsmError *This,IEnumMsmError **pemsmErrors);
 387  void __RPC_STUB IEnumMsmError_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 388#endif
 389
 390#ifndef __IMsmErrors_INTERFACE_DEFINED__
 391#define __IMsmErrors_INTERFACE_DEFINED__
 392#if defined(__cplusplus) && !defined(CINTERFACE)
 393
 394  struct IMsmErrors : public IDispatch {
 395  public:
 396    virtual HRESULT WINAPI get_Item(__LONG32 Item,IMsmError **Return) = 0;
 397    virtual HRESULT WINAPI get_Count(__LONG32 *Count) = 0;
 398    virtual HRESULT WINAPI get__NewEnum(IUnknown **NewEnum) = 0;
 399  };
 400#else
 401  typedef struct IMsmErrorsVtbl {
 402    BEGIN_INTERFACE
 403      HRESULT (WINAPI *QueryInterface)(IMsmErrors *This,REFIID riid,void **ppvObject);
 404      ULONG (WINAPI *AddRef)(IMsmErrors *This);
 405      ULONG (WINAPI *Release)(IMsmErrors *This);
 406      HRESULT (WINAPI *GetTypeInfoCount)(IMsmErrors *This,UINT *pctinfo);
 407      HRESULT (WINAPI *GetTypeInfo)(IMsmErrors *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
 408      HRESULT (WINAPI *GetIDsOfNames)(IMsmErrors *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
 409      HRESULT (WINAPI *Invoke)(IMsmErrors *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
 410      HRESULT (WINAPI *get_Item)(IMsmErrors *This,__LONG32 Item,IMsmError **Return);
 411      HRESULT (WINAPI *get_Count)(IMsmErrors *This,__LONG32 *Count);
 412      HRESULT (WINAPI *get__NewEnum)(IMsmErrors *This,IUnknown **NewEnum);
 413    END_INTERFACE
 414  } IMsmErrorsVtbl;
 415  struct IMsmErrors {
 416    CONST_VTBL struct IMsmErrorsVtbl *lpVtbl;
 417  };
 418#ifdef COBJMACROS
 419#define IMsmErrors_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 420#define IMsmErrors_AddRef(This) (This)->lpVtbl->AddRef(This)
 421#define IMsmErrors_Release(This) (This)->lpVtbl->Release(This)
 422#define IMsmErrors_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 423#define IMsmErrors_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 424#define IMsmErrors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 425#define IMsmErrors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 426#define IMsmErrors_get_Item(This,Item,Return) (This)->lpVtbl->get_Item(This,Item,Return)
 427#define IMsmErrors_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
 428#define IMsmErrors_get__NewEnum(This,NewEnum) (This)->lpVtbl->get__NewEnum(This,NewEnum)
 429#endif
 430#endif
 431  HRESULT WINAPI IMsmErrors_get_Item_Proxy(IMsmErrors *This,__LONG32 Item,IMsmError **Return);
 432  void __RPC_STUB IMsmErrors_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 433  HRESULT WINAPI IMsmErrors_get_Count_Proxy(IMsmErrors *This,__LONG32 *Count);
 434  void __RPC_STUB IMsmErrors_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 435  HRESULT WINAPI IMsmErrors_get__NewEnum_Proxy(IMsmErrors *This,IUnknown **NewEnum);
 436  void __RPC_STUB IMsmErrors_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 437#endif
 438
 439#ifndef __IMsmDependency_INTERFACE_DEFINED__
 440#define __IMsmDependency_INTERFACE_DEFINED__
 441#if defined(__cplusplus) && !defined(CINTERFACE)
 442  struct IMsmDependency : public IDispatch {
 443  public:
 444    virtual HRESULT WINAPI get_Module(BSTR *Module) = 0;
 445    virtual HRESULT WINAPI get_Language(short *Language) = 0;
 446    virtual HRESULT WINAPI get_Version(BSTR *Version) = 0;
 447  };
 448#else
 449  typedef struct IMsmDependencyVtbl {
 450    BEGIN_INTERFACE
 451      HRESULT (WINAPI *QueryInterface)(IMsmDependency *This,REFIID riid,void **ppvObject);
 452      ULONG (WINAPI *AddRef)(IMsmDependency *This);
 453      ULONG (WINAPI *Release)(IMsmDependency *This);
 454      HRESULT (WINAPI *GetTypeInfoCount)(IMsmDependency *This,UINT *pctinfo);
 455      HRESULT (WINAPI *GetTypeInfo)(IMsmDependency *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
 456      HRESULT (WINAPI *GetIDsOfNames)(IMsmDependency *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
 457      HRESULT (WINAPI *Invoke)(IMsmDependency *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
 458      HRESULT (WINAPI *get_Module)(IMsmDependency *This,BSTR *Module);
 459      HRESULT (WINAPI *get_Language)(IMsmDependency *This,short *Language);
 460      HRESULT (WINAPI *get_Version)(IMsmDependency *This,BSTR *Version);
 461    END_INTERFACE
 462  } IMsmDependencyVtbl;
 463  struct IMsmDependency {
 464    CONST_VTBL struct IMsmDependencyVtbl *lpVtbl;
 465  };
 466#ifdef COBJMACROS
 467#define IMsmDependency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 468#define IMsmDependency_AddRef(This) (This)->lpVtbl->AddRef(This)
 469#define IMsmDependency_Release(This) (This)->lpVtbl->Release(This)
 470#define IMsmDependency_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 471#define IMsmDependency_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 472#define IMsmDependency_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 473#define IMsmDependency_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 474#define IMsmDependency_get_Module(This,Module) (This)->lpVtbl->get_Module(This,Module)
 475#define IMsmDependency_get_Language(This,Language) (This)->lpVtbl->get_Language(This,Language)
 476#define IMsmDependency_get_Version(This,Version) (This)->lpVtbl->get_Version(This,Version)
 477#endif
 478#endif
 479  HRESULT WINAPI IMsmDependency_get_Module_Proxy(IMsmDependency *This,BSTR *Module);
 480  void __RPC_STUB IMsmDependency_get_Module_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 481  HRESULT WINAPI IMsmDependency_get_Language_Proxy(IMsmDependency *This,short *Language);
 482  void __RPC_STUB IMsmDependency_get_Language_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 483  HRESULT WINAPI IMsmDependency_get_Version_Proxy(IMsmDependency *This,BSTR *Version);
 484  void __RPC_STUB IMsmDependency_get_Version_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 485#endif
 486
 487#ifndef __IEnumMsmDependency_INTERFACE_DEFINED__
 488#define __IEnumMsmDependency_INTERFACE_DEFINED__
 489#if defined(__cplusplus) && !defined(CINTERFACE)
 490  struct IEnumMsmDependency : public IUnknown {
 491  public:
 492    virtual HRESULT WINAPI Next(unsigned __LONG32 cFetch,IMsmDependency **rgmsmDependencies,unsigned __LONG32 *pcFetched) = 0;
 493    virtual HRESULT WINAPI Skip(unsigned __LONG32 cSkip) = 0;
 494    virtual HRESULT WINAPI Reset(void) = 0;
 495    virtual HRESULT WINAPI Clone(IEnumMsmDependency **pemsmDependencies) = 0;
 496  };
 497#else
 498  typedef struct IEnumMsmDependencyVtbl {
 499    BEGIN_INTERFACE
 500      HRESULT (WINAPI *QueryInterface)(IEnumMsmDependency *This,REFIID riid,void **ppvObject);
 501      ULONG (WINAPI *AddRef)(IEnumMsmDependency *This);
 502      ULONG (WINAPI *Release)(IEnumMsmDependency *This);
 503      HRESULT (WINAPI *Next)(IEnumMsmDependency *This,unsigned __LONG32 cFetch,IMsmDependency **rgmsmDependencies,unsigned __LONG32 *pcFetched);
 504      HRESULT (WINAPI *Skip)(IEnumMsmDependency *This,unsigned __LONG32 cSkip);
 505      HRESULT (WINAPI *Reset)(IEnumMsmDependency *This);
 506      HRESULT (WINAPI *Clone)(IEnumMsmDependency *This,IEnumMsmDependency **pemsmDependencies);
 507    END_INTERFACE
 508  } IEnumMsmDependencyVtbl;
 509  struct IEnumMsmDependency {
 510    CONST_VTBL struct IEnumMsmDependencyVtbl *lpVtbl;
 511  };
 512#ifdef COBJMACROS
 513#define IEnumMsmDependency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 514#define IEnumMsmDependency_AddRef(This) (This)->lpVtbl->AddRef(This)
 515#define IEnumMsmDependency_Release(This) (This)->lpVtbl->Release(This)
 516#define IEnumMsmDependency_Next(This,cFetch,rgmsmDependencies,pcFetched) (This)->lpVtbl->Next(This,cFetch,rgmsmDependencies,pcFetched)
 517#define IEnumMsmDependency_Skip(This,cSkip) (This)->lpVtbl->Skip(This,cSkip)
 518#define IEnumMsmDependency_Reset(This) (This)->lpVtbl->Reset(This)
 519#define IEnumMsmDependency_Clone(This,pemsmDependencies) (This)->lpVtbl->Clone(This,pemsmDependencies)
 520#endif
 521#endif
 522  HRESULT WINAPI IEnumMsmDependency_Next_Proxy(IEnumMsmDependency *This,unsigned __LONG32 cFetch,IMsmDependency **rgmsmDependencies,unsigned __LONG32 *pcFetched);
 523  void __RPC_STUB IEnumMsmDependency_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 524  HRESULT WINAPI IEnumMsmDependency_Skip_Proxy(IEnumMsmDependency *This,unsigned __LONG32 cSkip);
 525  void __RPC_STUB IEnumMsmDependency_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 526  HRESULT WINAPI IEnumMsmDependency_Reset_Proxy(IEnumMsmDependency *This);
 527  void __RPC_STUB IEnumMsmDependency_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 528  HRESULT WINAPI IEnumMsmDependency_Clone_Proxy(IEnumMsmDependency *This,IEnumMsmDependency **pemsmDependencies);
 529  void __RPC_STUB IEnumMsmDependency_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 530#endif
 531
 532#ifndef __IMsmDependencies_INTERFACE_DEFINED__
 533#define __IMsmDependencies_INTERFACE_DEFINED__
 534#if defined(__cplusplus) && !defined(CINTERFACE)
 535  struct IMsmDependencies : public IDispatch {
 536  public:
 537    virtual HRESULT WINAPI get_Item(__LONG32 Item,IMsmDependency **Return) = 0;
 538    virtual HRESULT WINAPI get_Count(__LONG32 *Count) = 0;
 539    virtual HRESULT WINAPI get__NewEnum(IUnknown **NewEnum) = 0;
 540  };
 541#else
 542  typedef struct IMsmDependenciesVtbl {
 543    BEGIN_INTERFACE
 544      HRESULT (WINAPI *QueryInterface)(IMsmDependencies *This,REFIID riid,void **ppvObject);
 545      ULONG (WINAPI *AddRef)(IMsmDependencies *This);
 546      ULONG (WINAPI *Release)(IMsmDependencies *This);
 547      HRESULT (WINAPI *GetTypeInfoCount)(IMsmDependencies *This,UINT *pctinfo);
 548      HRESULT (WINAPI *GetTypeInfo)(IMsmDependencies *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
 549      HRESULT (WINAPI *GetIDsOfNames)(IMsmDependencies *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
 550      HRESULT (WINAPI *Invoke)(IMsmDependencies *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
 551      HRESULT (WINAPI *get_Item)(IMsmDependencies *This,__LONG32 Item,IMsmDependency **Return);
 552      HRESULT (WINAPI *get_Count)(IMsmDependencies *This,__LONG32 *Count);
 553      HRESULT (WINAPI *get__NewEnum)(IMsmDependencies *This,IUnknown **NewEnum);
 554    END_INTERFACE
 555  } IMsmDependenciesVtbl;
 556  struct IMsmDependencies {
 557    CONST_VTBL struct IMsmDependenciesVtbl *lpVtbl;
 558  };
 559#ifdef COBJMACROS
 560#define IMsmDependencies_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 561#define IMsmDependencies_AddRef(This) (This)->lpVtbl->AddRef(This)
 562#define IMsmDependencies_Release(This) (This)->lpVtbl->Release(This)
 563#define IMsmDependencies_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 564#define IMsmDependencies_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 565#define IMsmDependencies_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 566#define IMsmDependencies_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 567#define IMsmDependencies_get_Item(This,Item,Return) (This)->lpVtbl->get_Item(This,Item,Return)
 568#define IMsmDependencies_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
 569#define IMsmDependencies_get__NewEnum(This,NewEnum) (This)->lpVtbl->get__NewEnum(This,NewEnum)
 570#endif
 571#endif
 572  HRESULT WINAPI IMsmDependencies_get_Item_Proxy(IMsmDependencies *This,__LONG32 Item,IMsmDependency **Return);
 573  void __RPC_STUB IMsmDependencies_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 574  HRESULT WINAPI IMsmDependencies_get_Count_Proxy(IMsmDependencies *This,__LONG32 *Count);
 575  void __RPC_STUB IMsmDependencies_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 576  HRESULT WINAPI IMsmDependencies_get__NewEnum_Proxy(IMsmDependencies *This,IUnknown **NewEnum);
 577  void __RPC_STUB IMsmDependencies_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 578#endif
 579
 580#if (_WIN32_MSM >= 150)
 581#ifndef __IMsmConfigurableItem_INTERFACE_DEFINED__
 582#define __IMsmConfigurableItem_INTERFACE_DEFINED__
 583#if defined(__cplusplus) && !defined(CINTERFACE)
 584  struct IMsmConfigurableItem : public IDispatch {
 585  public:
 586    virtual HRESULT WINAPI get_Name(BSTR *Name) = 0;
 587    virtual HRESULT WINAPI get_Format(msmConfigurableItemFormat *Format) = 0;
 588    virtual HRESULT WINAPI get_Type(BSTR *Type) = 0;
 589    virtual HRESULT WINAPI get_Context(BSTR *Context) = 0;
 590    virtual HRESULT WINAPI get_DefaultValue(BSTR *DefaultValue) = 0;
 591    virtual HRESULT WINAPI get_Attributes(__LONG32 *Attributes) = 0;
 592    virtual HRESULT WINAPI get_DisplayName(BSTR *DisplayName) = 0;
 593    virtual HRESULT WINAPI get_Description(BSTR *Description) = 0;
 594    virtual HRESULT WINAPI get_HelpLocation(BSTR *HelpLocation) = 0;
 595    virtual HRESULT WINAPI get_HelpKeyword(BSTR *HelpKeyword) = 0;
 596  };
 597#else
 598  typedef struct IMsmConfigurableItemVtbl {
 599    BEGIN_INTERFACE
 600      HRESULT (WINAPI *QueryInterface)(IMsmConfigurableItem *This,REFIID riid,void **ppvObject);
 601      ULONG (WINAPI *AddRef)(IMsmConfigurableItem *This);
 602      ULONG (WINAPI *Release)(IMsmConfigurableItem *This);
 603      HRESULT (WINAPI *GetTypeInfoCount)(IMsmConfigurableItem *This,UINT *pctinfo);
 604      HRESULT (WINAPI *GetTypeInfo)(IMsmConfigurableItem *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
 605      HRESULT (WINAPI *GetIDsOfNames)(IMsmConfigurableItem *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
 606      HRESULT (WINAPI *Invoke)(IMsmConfigurableItem *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
 607      HRESULT (WINAPI *get_Name)(IMsmConfigurableItem *This,BSTR *Name);
 608      HRESULT (WINAPI *get_Format)(IMsmConfigurableItem *This,msmConfigurableItemFormat *Format);
 609      HRESULT (WINAPI *get_Type)(IMsmConfigurableItem *This,BSTR *Type);
 610      HRESULT (WINAPI *get_Context)(IMsmConfigurableItem *This,BSTR *Context);
 611      HRESULT (WINAPI *get_DefaultValue)(IMsmConfigurableItem *This,BSTR *DefaultValue);
 612      HRESULT (WINAPI *get_Attributes)(IMsmConfigurableItem *This,__LONG32 *Attributes);
 613      HRESULT (WINAPI *get_DisplayName)(IMsmConfigurableItem *This,BSTR *DisplayName);
 614      HRESULT (WINAPI *get_Description)(IMsmConfigurableItem *This,BSTR *Description);
 615      HRESULT (WINAPI *get_HelpLocation)(IMsmConfigurableItem *This,BSTR *HelpLocation);
 616      HRESULT (WINAPI *get_HelpKeyword)(IMsmConfigurableItem *This,BSTR *HelpKeyword);
 617    END_INTERFACE
 618  } IMsmConfigurableItemVtbl;
 619  struct IMsmConfigurableItem {
 620    CONST_VTBL struct IMsmConfigurableItemVtbl *lpVtbl;
 621  };
 622#ifdef COBJMACROS
 623#define IMsmConfigurableItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 624#define IMsmConfigurableItem_AddRef(This) (This)->lpVtbl->AddRef(This)
 625#define IMsmConfigurableItem_Release(This) (This)->lpVtbl->Release(This)
 626#define IMsmConfigurableItem_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 627#define IMsmConfigurableItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 628#define IMsmConfigurableItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 629#define IMsmConfigurableItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 630#define IMsmConfigurableItem_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
 631#define IMsmConfigurableItem_get_Format(This,Format) (This)->lpVtbl->get_Format(This,Format)
 632#define IMsmConfigurableItem_get_Type(This,Type) (This)->lpVtbl->get_Type(This,Type)
 633#define IMsmConfigurableItem_get_Context(This,Context) (This)->lpVtbl->get_Context(This,Context)
 634#define IMsmConfigurableItem_get_DefaultValue(This,DefaultValue) (This)->lpVtbl->get_DefaultValue(This,DefaultValue)
 635#define IMsmConfigurableItem_get_Attributes(This,Attributes) (This)->lpVtbl->get_Attributes(This,Attributes)
 636#define IMsmConfigurableItem_get_DisplayName(This,DisplayName) (This)->lpVtbl->get_DisplayName(This,DisplayName)
 637#define IMsmConfigurableItem_get_Description(This,Description) (This)->lpVtbl->get_Description(This,Description)
 638#define IMsmConfigurableItem_get_HelpLocation(This,HelpLocation) (This)->lpVtbl->get_HelpLocation(This,HelpLocation)
 639#define IMsmConfigurableItem_get_HelpKeyword(This,HelpKeyword) (This)->lpVtbl->get_HelpKeyword(This,HelpKeyword)
 640#endif
 641#endif
 642  HRESULT WINAPI IMsmConfigurableItem_get_Name_Proxy(IMsmConfigurableItem *This,BSTR *Name);
 643  void __RPC_STUB IMsmConfigurableItem_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 644  HRESULT WINAPI IMsmConfigurableItem_get_Format_Proxy(IMsmConfigurableItem *This,msmConfigurableItemFormat *Format);
 645  void __RPC_STUB IMsmConfigurableItem_get_Format_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 646  HRESULT WINAPI IMsmConfigurableItem_get_Type_Proxy(IMsmConfigurableItem *This,BSTR *Type);
 647  void __RPC_STUB IMsmConfigurableItem_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 648  HRESULT WINAPI IMsmConfigurableItem_get_Context_Proxy(IMsmConfigurableItem *This,BSTR *Context);
 649  void __RPC_STUB IMsmConfigurableItem_get_Context_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 650  HRESULT WINAPI IMsmConfigurableItem_get_DefaultValue_Proxy(IMsmConfigurableItem *This,BSTR *DefaultValue);
 651  void __RPC_STUB IMsmConfigurableItem_get_DefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 652  HRESULT WINAPI IMsmConfigurableItem_get_Attributes_Proxy(IMsmConfigurableItem *This,__LONG32 *Attributes);
 653  void __RPC_STUB IMsmConfigurableItem_get_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 654  HRESULT WINAPI IMsmConfigurableItem_get_DisplayName_Proxy(IMsmConfigurableItem *This,BSTR *DisplayName);
 655  void __RPC_STUB IMsmConfigurableItem_get_DisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 656  HRESULT WINAPI IMsmConfigurableItem_get_Description_Proxy(IMsmConfigurableItem *This,BSTR *Description);
 657  void __RPC_STUB IMsmConfigurableItem_get_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 658  HRESULT WINAPI IMsmConfigurableItem_get_HelpLocation_Proxy(IMsmConfigurableItem *This,BSTR *HelpLocation);
 659  void __RPC_STUB IMsmConfigurableItem_get_HelpLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 660  HRESULT WINAPI IMsmConfigurableItem_get_HelpKeyword_Proxy(IMsmConfigurableItem *This,BSTR *HelpKeyword);
 661  void __RPC_STUB IMsmConfigurableItem_get_HelpKeyword_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 662#endif
 663
 664#ifndef __IEnumMsmConfigurableItem_INTERFACE_DEFINED__
 665#define __IEnumMsmConfigurableItem_INTERFACE_DEFINED__
 666#if defined(__cplusplus) && !defined(CINTERFACE)
 667  struct IEnumMsmConfigurableItem : public IUnknown {
 668  public:
 669    virtual HRESULT WINAPI Next(unsigned __LONG32 cFetch,IMsmConfigurableItem **rgmsmItems,unsigned __LONG32 *pcFetched) = 0;
 670    virtual HRESULT WINAPI Skip(unsigned __LONG32 cSkip) = 0;
 671    virtual HRESULT WINAPI Reset(void) = 0;
 672    virtual HRESULT WINAPI Clone(IEnumMsmConfigurableItem **pemsmConfigurableItem) = 0;
 673  };
 674#else
 675  typedef struct IEnumMsmConfigurableItemVtbl {
 676    BEGIN_INTERFACE
 677      HRESULT (WINAPI *QueryInterface)(IEnumMsmConfigurableItem *This,REFIID riid,void **ppvObject);
 678      ULONG (WINAPI *AddRef)(IEnumMsmConfigurableItem *This);
 679      ULONG (WINAPI *Release)(IEnumMsmConfigurableItem *This);
 680      HRESULT (WINAPI *Next)(IEnumMsmConfigurableItem *This,unsigned __LONG32 cFetch,IMsmConfigurableItem **rgmsmItems,unsigned __LONG32 *pcFetched);
 681      HRESULT (WINAPI *Skip)(IEnumMsmConfigurableItem *This,unsigned __LONG32 cSkip);
 682      HRESULT (WINAPI *Reset)(IEnumMsmConfigurableItem *This);
 683      HRESULT (WINAPI *Clone)(IEnumMsmConfigurableItem *This,IEnumMsmConfigurableItem **pemsmConfigurableItem);
 684    END_INTERFACE
 685  } IEnumMsmConfigurableItemVtbl;
 686  struct IEnumMsmConfigurableItem {
 687    CONST_VTBL struct IEnumMsmConfigurableItemVtbl *lpVtbl;
 688  };
 689#ifdef COBJMACROS
 690#define IEnumMsmConfigurableItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 691#define IEnumMsmConfigurableItem_AddRef(This) (This)->lpVtbl->AddRef(This)
 692#define IEnumMsmConfigurableItem_Release(This) (This)->lpVtbl->Release(This)
 693#define IEnumMsmConfigurableItem_Next(This,cFetch,rgmsmItems,pcFetched) (This)->lpVtbl->Next(This,cFetch,rgmsmItems,pcFetched)
 694#define IEnumMsmConfigurableItem_Skip(This,cSkip) (This)->lpVtbl->Skip(This,cSkip)
 695#define IEnumMsmConfigurableItem_Reset(This) (This)->lpVtbl->Reset(This)
 696#define IEnumMsmConfigurableItem_Clone(This,pemsmConfigurableItem) (This)->lpVtbl->Clone(This,pemsmConfigurableItem)
 697#endif
 698#endif
 699  HRESULT WINAPI IEnumMsmConfigurableItem_Next_Proxy(IEnumMsmConfigurableItem *This,unsigned __LONG32 cFetch,IMsmConfigurableItem **rgmsmItems,unsigned __LONG32 *pcFetched);
 700  void __RPC_STUB IEnumMsmConfigurableItem_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 701  HRESULT WINAPI IEnumMsmConfigurableItem_Skip_Proxy(IEnumMsmConfigurableItem *This,unsigned __LONG32 cSkip);
 702  void __RPC_STUB IEnumMsmConfigurableItem_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 703  HRESULT WINAPI IEnumMsmConfigurableItem_Reset_Proxy(IEnumMsmConfigurableItem *This);
 704  void __RPC_STUB IEnumMsmConfigurableItem_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 705  HRESULT WINAPI IEnumMsmConfigurableItem_Clone_Proxy(IEnumMsmConfigurableItem *This,IEnumMsmConfigurableItem **pemsmConfigurableItem);
 706  void __RPC_STUB IEnumMsmConfigurableItem_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 707#endif
 708
 709#ifndef __IMsmConfigurableItems_INTERFACE_DEFINED__
 710#define __IMsmConfigurableItems_INTERFACE_DEFINED__
 711#if defined(__cplusplus) && !defined(CINTERFACE)
 712  struct IMsmConfigurableItems : public IDispatch {
 713  public:
 714    virtual HRESULT WINAPI get_Item(__LONG32 Item,IMsmConfigurableItem **Return) = 0;
 715    virtual HRESULT WINAPI get_Count(__LONG32 *Count) = 0;
 716    virtual HRESULT WINAPI get__NewEnum(IUnknown **NewEnum) = 0;
 717  };
 718#else
 719  typedef struct IMsmConfigurableItemsVtbl {
 720    BEGIN_INTERFACE
 721      HRESULT (WINAPI *QueryInterface)(IMsmConfigurableItems *This,REFIID riid,void **ppvObject);
 722      ULONG (WINAPI *AddRef)(IMsmConfigurableItems *This);
 723      ULONG (WINAPI *Release)(IMsmConfigurableItems *This);
 724      HRESULT (WINAPI *GetTypeInfoCount)(IMsmConfigurableItems *This,UINT *pctinfo);
 725      HRESULT (WINAPI *GetTypeInfo)(IMsmConfigurableItems *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
 726      HRESULT (WINAPI *GetIDsOfNames)(IMsmConfigurableItems *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
 727      HRESULT (WINAPI *Invoke)(IMsmConfigurableItems *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
 728      HRESULT (WINAPI *get_Item)(IMsmConfigurableItems *This,__LONG32 Item,IMsmConfigurableItem **Return);
 729      HRESULT (WINAPI *get_Count)(IMsmConfigurableItems *This,__LONG32 *Count);
 730      HRESULT (WINAPI *get__NewEnum)(IMsmConfigurableItems *This,IUnknown **NewEnum);
 731    END_INTERFACE
 732  } IMsmConfigurableItemsVtbl;
 733  struct IMsmConfigurableItems {
 734    CONST_VTBL struct IMsmConfigurableItemsVtbl *lpVtbl;
 735  };
 736#ifdef COBJMACROS
 737#define IMsmConfigurableItems_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 738#define IMsmConfigurableItems_AddRef(This) (This)->lpVtbl->AddRef(This)
 739#define IMsmConfigurableItems_Release(This) (This)->lpVtbl->Release(This)
 740#define IMsmConfigurableItems_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 741#define IMsmConfigurableItems_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 742#define IMsmConfigurableItems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 743#define IMsmConfigurableItems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 744#define IMsmConfigurableItems_get_Item(This,Item,Return) (This)->lpVtbl->get_Item(This,Item,Return)
 745#define IMsmConfigurableItems_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
 746#define IMsmConfigurableItems_get__NewEnum(This,NewEnum) (This)->lpVtbl->get__NewEnum(This,NewEnum)
 747#endif
 748#endif
 749  HRESULT WINAPI IMsmConfigurableItems_get_Item_Proxy(IMsmConfigurableItems *This,__LONG32 Item,IMsmConfigurableItem **Return);
 750  void __RPC_STUB IMsmConfigurableItems_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 751  HRESULT WINAPI IMsmConfigurableItems_get_Count_Proxy(IMsmConfigurableItems *This,__LONG32 *Count);
 752  void __RPC_STUB IMsmConfigurableItems_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 753  HRESULT WINAPI IMsmConfigurableItems_get__NewEnum_Proxy(IMsmConfigurableItems *This,IUnknown **NewEnum);
 754  void __RPC_STUB IMsmConfigurableItems_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 755#endif
 756
 757#ifndef __IMsmConfigureModule_INTERFACE_DEFINED__
 758#define __IMsmConfigureModule_INTERFACE_DEFINED__
 759#if defined(__cplusplus) && !defined(CINTERFACE)
 760  struct IMsmConfigureModule : public IDispatch {
 761  public:
 762    virtual HRESULT WINAPI ProvideTextData(const BSTR Name,BSTR *ConfigData) = 0;
 763    virtual HRESULT WINAPI ProvideIntegerData(const BSTR Name,__LONG32 *ConfigData) = 0;
 764  };
 765#else
 766  typedef struct IMsmConfigureModuleVtbl {
 767    BEGIN_INTERFACE
 768      HRESULT (WINAPI *QueryInterface)(IMsmConfigureModule *This,REFIID riid,void **ppvObject);
 769      ULONG (WINAPI *AddRef)(IMsmConfigureModule *This);
 770      ULONG (WINAPI *Release)(IMsmConfigureModule *This);
 771      HRESULT (WINAPI *GetTypeInfoCount)(IMsmConfigureModule *This,UINT *pctinfo);
 772      HRESULT (WINAPI *GetTypeInfo)(IMsmConfigureModule *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
 773      HRESULT (WINAPI *GetIDsOfNames)(IMsmConfigureModule *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
 774      HRESULT (WINAPI *Invoke)(IMsmConfigureModule *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
 775      HRESULT (WINAPI *ProvideTextData)(IMsmConfigureModule *This,const BSTR Name,BSTR *ConfigData);
 776      HRESULT (WINAPI *ProvideIntegerData)(IMsmConfigureModule *This,const BSTR Name,__LONG32 *ConfigData);
 777    END_INTERFACE
 778  } IMsmConfigureModuleVtbl;
 779  struct IMsmConfigureModule {
 780    CONST_VTBL struct IMsmConfigureModuleVtbl *lpVtbl;
 781  };
 782#ifdef COBJMACROS
 783#define IMsmConfigureModule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 784#define IMsmConfigureModule_AddRef(This) (This)->lpVtbl->AddRef(This)
 785#define IMsmConfigureModule_Release(This) (This)->lpVtbl->Release(This)
 786#define IMsmConfigureModule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 787#define IMsmConfigureModule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 788#define IMsmConfigureModule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 789#define IMsmConfigureModule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 790#define IMsmConfigureModule_ProvideTextData(This,Name,ConfigData) (This)->lpVtbl->ProvideTextData(This,Name,ConfigData)
 791#define IMsmConfigureModule_ProvideIntegerData(This,Name,ConfigData) (This)->lpVtbl->ProvideIntegerData(This,Name,ConfigData)
 792#endif
 793#endif
 794  HRESULT WINAPI IMsmConfigureModule_ProvideTextData_Proxy(IMsmConfigureModule *This,const BSTR Name,BSTR *ConfigData);
 795  void __RPC_STUB IMsmConfigureModule_ProvideTextData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 796  HRESULT WINAPI IMsmConfigureModule_ProvideIntegerData_Proxy(IMsmConfigureModule *This,const BSTR Name,__LONG32 *ConfigData);
 797  void __RPC_STUB IMsmConfigureModule_ProvideIntegerData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 798#endif
 799#endif
 800
 801#ifndef __IMsmMerge_INTERFACE_DEFINED__
 802#define __IMsmMerge_INTERFACE_DEFINED__
 803#if defined(__cplusplus) && !defined(CINTERFACE)
 804  struct IMsmMerge : public IDispatch {
 805  public:
 806    virtual HRESULT WINAPI OpenDatabase(const BSTR Path) = 0;
 807    virtual HRESULT WINAPI OpenModule(const BSTR Path,const short Language) = 0;
 808    virtual HRESULT WINAPI CloseDatabase(const VARIANT_BOOL Commit) = 0;
 809    virtual HRESULT WINAPI CloseModule(void) = 0;
 810    virtual HRESULT WINAPI OpenLog(const BSTR Path) = 0;
 811    virtual HRESULT WINAPI CloseLog(void) = 0;
 812    virtual HRESULT WINAPI Log(const BSTR Message) = 0;
 813    virtual HRESULT WINAPI get_Errors(IMsmErrors **Errors) = 0;
 814    virtual HRESULT WINAPI get_Dependencies(IMsmDependencies **Dependencies) = 0;
 815    virtual HRESULT WINAPI Merge(const BSTR Feature,const BSTR RedirectDir) = 0;
 816    virtual HRESULT WINAPI Connect(const BSTR Feature) = 0;
 817    virtual HRESULT WINAPI ExtractCAB(const BSTR FileName) = 0;
 818    virtual HRESULT WINAPI ExtractFiles(const BSTR Path) = 0;
 819  };
 820#else
 821  typedef struct IMsmMergeVtbl {
 822    BEGIN_INTERFACE
 823      HRESULT (WINAPI *QueryInterface)(IMsmMerge *This,REFIID riid,void **ppvObject);
 824      ULONG (WINAPI *AddRef)(IMsmMerge *This);
 825      ULONG (WINAPI *Release)(IMsmMerge *This);
 826      HRESULT (WINAPI *GetTypeInfoCount)(IMsmMerge *This,UINT *pctinfo);
 827      HRESULT (WINAPI *GetTypeInfo)(IMsmMerge *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
 828      HRESULT (WINAPI *GetIDsOfNames)(IMsmMerge *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
 829      HRESULT (WINAPI *Invoke)(IMsmMerge *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
 830      HRESULT (WINAPI *OpenDatabase)(IMsmMerge *This,const BSTR Path);
 831      HRESULT (WINAPI *OpenModule)(IMsmMerge *This,const BSTR Path,const short Language);
 832      HRESULT (WINAPI *CloseDatabase)(IMsmMerge *This,const VARIANT_BOOL Commit);
 833      HRESULT (WINAPI *CloseModule)(IMsmMerge *This);
 834      HRESULT (WINAPI *OpenLog)(IMsmMerge *This,const BSTR Path);
 835      HRESULT (WINAPI *CloseLog)(IMsmMerge *This);
 836      HRESULT (WINAPI *Log)(IMsmMerge *This,const BSTR Message);
 837      HRESULT (WINAPI *get_Errors)(IMsmMerge *This,IMsmErrors **Errors);
 838      HRESULT (WINAPI *get_Dependencies)(IMsmMerge *This,IMsmDependencies **Dependencies);
 839      HRESULT (WINAPI *Merge)(IMsmMerge *This,const BSTR Feature,const BSTR RedirectDir);
 840      HRESULT (WINAPI *Connect)(IMsmMerge *This,const BSTR Feature);
 841      HRESULT (WINAPI *ExtractCAB)(IMsmMerge *This,const BSTR FileName);
 842      HRESULT (WINAPI *ExtractFiles)(IMsmMerge *This,const BSTR Path);
 843    END_INTERFACE
 844  } IMsmMergeVtbl;
 845  struct IMsmMerge {
 846    CONST_VTBL struct IMsmMergeVtbl *lpVtbl;
 847  };
 848#ifdef COBJMACROS
 849#define IMsmMerge_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 850#define IMsmMerge_AddRef(This) (This)->lpVtbl->AddRef(This)
 851#define IMsmMerge_Release(This) (This)->lpVtbl->Release(This)
 852#define IMsmMerge_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 853#define IMsmMerge_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 854#define IMsmMerge_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 855#define IMsmMerge_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 856#define IMsmMerge_OpenDatabase(This,Path) (This)->lpVtbl->OpenDatabase(This,Path)
 857#define IMsmMerge_OpenModule(This,Path,Language) (This)->lpVtbl->OpenModule(This,Path,Language)
 858#define IMsmMerge_CloseDatabase(This,Commit) (This)->lpVtbl->CloseDatabase(This,Commit)
 859#define IMsmMerge_CloseModule(This) (This)->lpVtbl->CloseModule(This)
 860#define IMsmMerge_OpenLog(This,Path) (This)->lpVtbl->OpenLog(This,Path)
 861#define IMsmMerge_CloseLog(This) (This)->lpVtbl->CloseLog(This)
 862#define IMsmMerge_Log(This,Message) (This)->lpVtbl->Log(This,Message)
 863#define IMsmMerge_get_Errors(This,Errors) (This)->lpVtbl->get_Errors(This,Errors)
 864#define IMsmMerge_get_Dependencies(This,Dependencies) (This)->lpVtbl->get_Dependencies(This,Dependencies)
 865#define IMsmMerge_Merge(This,Feature,RedirectDir) (This)->lpVtbl->Merge(This,Feature,RedirectDir)
 866#define IMsmMerge_Connect(This,Feature) (This)->lpVtbl->Connect(This,Feature)
 867#define IMsmMerge_ExtractCAB(This,FileName) (This)->lpVtbl->ExtractCAB(This,FileName)
 868#define IMsmMerge_ExtractFiles(This,Path) (This)->lpVtbl->ExtractFiles(This,Path)
 869#endif
 870#endif
 871  HRESULT WINAPI IMsmMerge_OpenDatabase_Proxy(IMsmMerge *This,const BSTR Path);
 872  void __RPC_STUB IMsmMerge_OpenDatabase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 873  HRESULT WINAPI IMsmMerge_OpenModule_Proxy(IMsmMerge *This,const BSTR Path,const short Language);
 874  void __RPC_STUB IMsmMerge_OpenModule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 875  HRESULT WINAPI IMsmMerge_CloseDatabase_Proxy(IMsmMerge *This,const VARIANT_BOOL Commit);
 876  void __RPC_STUB IMsmMerge_CloseDatabase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 877  HRESULT WINAPI IMsmMerge_CloseModule_Proxy(IMsmMerge *This);
 878  void __RPC_STUB IMsmMerge_CloseModule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 879  HRESULT WINAPI IMsmMerge_OpenLog_Proxy(IMsmMerge *This,const BSTR Path);
 880  void __RPC_STUB IMsmMerge_OpenLog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 881  HRESULT WINAPI IMsmMerge_CloseLog_Proxy(IMsmMerge *This);
 882  void __RPC_STUB IMsmMerge_CloseLog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 883  HRESULT WINAPI IMsmMerge_Log_Proxy(IMsmMerge *This,const BSTR Message);
 884  void __RPC_STUB IMsmMerge_Log_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 885  HRESULT WINAPI IMsmMerge_get_Errors_Proxy(IMsmMerge *This,IMsmErrors **Errors);
 886  void __RPC_STUB IMsmMerge_get_Errors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 887  HRESULT WINAPI IMsmMerge_get_Dependencies_Proxy(IMsmMerge *This,IMsmDependencies **Dependencies);
 888  void __RPC_STUB IMsmMerge_get_Dependencies_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 889  HRESULT WINAPI IMsmMerge_Merge_Proxy(IMsmMerge *This,const BSTR Feature,const BSTR RedirectDir);
 890  void __RPC_STUB IMsmMerge_Merge_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 891  HRESULT WINAPI IMsmMerge_Connect_Proxy(IMsmMerge *This,const BSTR Feature);
 892  void __RPC_STUB IMsmMerge_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 893  HRESULT WINAPI IMsmMerge_ExtractCAB_Proxy(IMsmMerge *This,const BSTR FileName);
 894  void __RPC_STUB IMsmMerge_ExtractCAB_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 895  HRESULT WINAPI IMsmMerge_ExtractFiles_Proxy(IMsmMerge *This,const BSTR Path);
 896  void __RPC_STUB IMsmMerge_ExtractFiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 897#endif
 898
 899#ifndef __IMsmGetFiles_INTERFACE_DEFINED__
 900#define __IMsmGetFiles_INTERFACE_DEFINED__
 901#if defined(__cplusplus) && !defined(CINTERFACE)
 902  struct IMsmGetFiles : public IDispatch {
 903  public:
 904    virtual HRESULT WINAPI get_ModuleFiles(IMsmStrings **Files) = 0;
 905  };
 906#else
 907  typedef struct IMsmGetFilesVtbl {
 908    BEGIN_INTERFACE
 909      HRESULT (WINAPI *QueryInterface)(IMsmGetFiles *This,REFIID riid,void **ppvObject);
 910      ULONG (WINAPI *AddRef)(IMsmGetFiles *This);
 911      ULONG (WINAPI *Release)(IMsmGetFiles *This);
 912      HRESULT (WINAPI *GetTypeInfoCount)(IMsmGetFiles *This,UINT *pctinfo);
 913      HRESULT (WINAPI *GetTypeInfo)(IMsmGetFiles *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
 914      HRESULT (WINAPI *GetIDsOfNames)(IMsmGetFiles *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
 915      HRESULT (WINAPI *Invoke)(IMsmGetFiles *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
 916      HRESULT (WINAPI *get_ModuleFiles)(IMsmGetFiles *This,IMsmStrings **Files);
 917    END_INTERFACE
 918  } IMsmGetFilesVtbl;
 919  struct IMsmGetFiles {
 920    CONST_VTBL struct IMsmGetFilesVtbl *lpVtbl;
 921  };
 922#ifdef COBJMACROS
 923#define IMsmGetFiles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 924#define IMsmGetFiles_AddRef(This) (This)->lpVtbl->AddRef(This)
 925#define IMsmGetFiles_Release(This) (This)->lpVtbl->Release(This)
 926#define IMsmGetFiles_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 927#define IMsmGetFiles_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 928#define IMsmGetFiles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 929#define IMsmGetFiles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 930#define IMsmGetFiles_get_ModuleFiles(This,Files) (This)->lpVtbl->get_ModuleFiles(This,Files)
 931#endif
 932#endif
 933  HRESULT WINAPI IMsmGetFiles_get_ModuleFiles_Proxy(IMsmGetFiles *This,IMsmStrings **Files);
 934  void __RPC_STUB IMsmGetFiles_get_ModuleFiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
 935#endif
 936
 937#if (_WIN32_MSM >= 150)
 938#ifndef __IMsmMerge2_INTERFACE_DEFINED__
 939#define __IMsmMerge2_INTERFACE_DEFINED__
 940#if defined(__cplusplus) && !defined(CINTERFACE)
 941  struct IMsmMerge2 : public IDispatch {
 942  public:
 943    virtual HRESULT WINAPI OpenDatabase(const BSTR Path) = 0;
 944    virtual HRESULT WINAPI OpenModule(const BSTR Path,const short Language) = 0;
 945    virtual HRESULT WINAPI CloseDatabase(const VARIANT_BOOL Commit) = 0;
 946    virtual HRESULT WINAPI CloseModule(void) = 0;
 947    virtual HRESULT WINAPI OpenLog(const BSTR Path) = 0;
 948    virtual HRESULT WINAPI CloseLog(void) = 0;
 949    virtual HRESULT WINAPI Log(const BSTR Message) = 0;
 950    virtual HRESULT WINAPI get_Errors(IMsmErrors **Errors) = 0;
 951    virtual HRESULT WINAPI get_Dependencies(IMsmDependencies **Dependencies) = 0;
 952    virtual HRESULT WINAPI Merge(const BSTR Feature,const BSTR RedirectDir) = 0;
 953    virtual HRESULT WINAPI Connect(const BSTR Feature) = 0;
 954    virtual HRESULT WINAPI ExtractCAB(const BSTR FileName) = 0;
 955    virtual HRESULT WINAPI ExtractFiles(const BSTR Path) = 0;
 956    virtual HRESULT WINAPI MergeEx(const BSTR Feature,const BSTR RedirectDir,IUnknown *pConfiguration) = 0;
 957    virtual HRESULT WINAPI ExtractFilesEx(const BSTR Path,VARIANT_BOOL fLongFileNames,IMsmStrings **pFilePaths) = 0;
 958    virtual HRESULT WINAPI get_ConfigurableItems(IMsmConfigurableItems **ConfigurableItems) = 0;
 959    virtual HRESULT WINAPI CreateSourceImage(const BSTR Path,VARIANT_BOOL fLongFileNames,IMsmStrings **pFilePaths) = 0;
 960    virtual HRESULT WINAPI get_ModuleFiles(IMsmStrings **Files) = 0;
 961  };
 962#else
 963  typedef struct IMsmMerge2Vtbl {
 964    BEGIN_INTERFACE
 965      HRESULT (WINAPI *QueryInterface)(IMsmMerge2 *This,REFIID riid,void **ppvObject);
 966      ULONG (WINAPI *AddRef)(IMsmMerge2 *This);
 967      ULONG (WINAPI *Release)(IMsmMerge2 *This);
 968      HRESULT (WINAPI *GetTypeInfoCount)(IMsmMerge2 *This,UINT *pctinfo);
 969      HRESULT (WINAPI *GetTypeInfo)(IMsmMerge2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
 970      HRESULT (WINAPI *GetIDsOfNames)(IMsmMerge2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
 971      HRESULT (WINAPI *Invoke)(IMsmMerge2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
 972      HRESULT (WINAPI *OpenDatabase)(IMsmMerge2 *This,const BSTR Path);
 973      HRESULT (WINAPI *OpenModule)(IMsmMerge2 *This,const BSTR Path,const short Language);
 974      HRESULT (WINAPI *CloseDatabase)(IMsmMerge2 *This,const VARIANT_BOOL Commit);
 975      HRESULT (WINAPI *CloseModule)(IMsmMerge2 *This);
 976      HRESULT (WINAPI *OpenLog)(IMsmMerge2 *This,const BSTR Path);
 977      HRESULT (WINAPI *CloseLog)(IMsmMerge2 *This);
 978      HRESULT (WINAPI *Log)(IMsmMerge2 *This,const BSTR Message);
 979      HRESULT (WINAPI *get_Errors)(IMsmMerge2 *This,IMsmErrors **Errors);
 980      HRESULT (WINAPI *get_Dependencies)(IMsmMerge2 *This,IMsmDependencies **Dependencies);
 981      HRESULT (WINAPI *Merge)(IMsmMerge2 *This,const BSTR Feature,const BSTR RedirectDir);
 982      HRESULT (WINAPI *Connect)(IMsmMerge2 *This,const BSTR Feature);
 983      HRESULT (WINAPI *ExtractCAB)(IMsmMerge2 *This,const BSTR FileName);
 984      HRESULT (WINAPI *ExtractFiles)(IMsmMerge2 *This,const BSTR Path);
 985      HRESULT (WINAPI *MergeEx)(IMsmMerge2 *This,const BSTR Feature,const BSTR RedirectDir,IMsmConfigureModule *pConfiguration);
 986      HRESULT (WINAPI *ExtractFilesEx)(IMsmMerge2 *This,const BSTR Path,VARIANT_BOOL fLongFileNames,IMsmStrings **pFilePaths);
 987      HRESULT (WINAPI *get_ConfigurableItems)(IMsmMerge2 *This,IMsmConfigurableItems **ConfigurableItems);
 988      HRESULT (WINAPI *CreateSourceImage)(IMsmMerge2 *This,const BSTR Path,VARIANT_BOOL fLongFileNames,IMsmStrings **pFilePaths);
 989      HRESULT (WINAPI *get_ModuleFiles)(IMsmMerge2 *This,IMsmStrings **Files);
 990    END_INTERFACE
 991  } IMsmMerge2Vtbl;
 992  struct IMsmMerge2 {
 993    CONST_VTBL struct IMsmMerge2Vtbl *lpVtbl;
 994  };
 995#ifdef COBJMACROS
 996#define IMsmMerge2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 997#define IMsmMerge2_AddRef(This) (This)->lpVtbl->AddRef(This)
 998#define IMsmMerge2_Release(This) (This)->lpVtbl->Release(This)
 999#define IMsmMerge2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1000#define IMsmMerge2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1001#define IMsmMerge2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1002#define IMsmMerge2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1003#define IMsmMerge2_OpenDatabase(This,Path) (This)->lpVtbl->OpenDatabase(This,Path)
1004#define IMsmMerge2_OpenModule(This,Path,Language) (This)->lpVtbl->OpenModule(This,Path,Language)
1005#define IMsmMerge2_CloseDatabase(This,Commit) (This)->lpVtbl->CloseDatabase(This,Commit)
1006#define IMsmMerge2_CloseModule(This) (This)->lpVtbl->CloseModule(This)
1007#define IMsmMerge2_OpenLog(This,Path) (This)->lpVtbl->OpenLog(This,Path)
1008#define IMsmMerge2_CloseLog(This) (This)->lpVtbl->CloseLog(This)
1009#define IMsmMerge2_Log(This,Message) (This)->lpVtbl->Log(This,Message)
1010#define IMsmMerge2_get_Errors(This,Errors) (This)->lpVtbl->get_Errors(This,Errors)
1011#define IMsmMerge2_get_Dependencies(This,Dependencies) (This)->lpVtbl->get_Dependencies(This,Dependencies)
1012#define IMsmMerge2_Merge(This,Feature,RedirectDir) (This)->lpVtbl->Merge(This,Feature,RedirectDir)
1013#define IMsmMerge2_Connect(This,Feature) (This)->lpVtbl->Connect(This,Feature)
1014#define IMsmMerge2_ExtractCAB(This,FileName) (This)->lpVtbl->ExtractCAB(This,FileName)
1015#define IMsmMerge2_ExtractFiles(This,Path) (This)->lpVtbl->ExtractFiles(This,Path)
1016#define IMsmMerge2_MergeEx(This,Feature,RedirectDir,pConfiguration) (This)->lpVtbl->MergeEx(This,Feature,RedirectDir,pConfiguration)
1017#define IMsmMerge2_ExtractFilesEx(This,Path,fLongFileNames,pFilePaths) (This)->lpVtbl->ExtractFilesEx(This,Path,fLongFileNames,pFilePaths)
1018#define IMsmMerge2_get_ConfigurableItems(This,ConfigurableItems) (This)->lpVtbl->get_ConfigurableItems(This,ConfigurableItems)
1019#define IMsmMerge2_CreateSourceImage(This,Path,fLongFileNames,pFilePaths) (This)->lpVtbl->CreateSourceImage(This,Path,fLongFileNames,pFilePaths)
1020#define IMsmMerge2_get_ModuleFiles(This,Files) (This)->lpVtbl->get_ModuleFiles(This,Files)
1021#endif
1022#endif
1023  HRESULT WINAPI IMsmMerge2_OpenDatabase_Proxy(IMsmMerge2 *This,const BSTR Path);
1024  void __RPC_STUB IMsmMerge2_OpenDatabase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1025  HRESULT WINAPI IMsmMerge2_OpenModule_Proxy(IMsmMerge2 *This,const BSTR Path,const short Language);
1026  void __RPC_STUB IMsmMerge2_OpenModule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1027  HRESULT WINAPI IMsmMerge2_CloseDatabase_Proxy(IMsmMerge2 *This,const VARIANT_BOOL Commit);
1028  void __RPC_STUB IMsmMerge2_CloseDatabase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1029  HRESULT WINAPI IMsmMerge2_CloseModule_Proxy(IMsmMerge2 *This);
1030  void __RPC_STUB IMsmMerge2_CloseModule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1031  HRESULT WINAPI IMsmMerge2_OpenLog_Proxy(IMsmMerge2 *This,const BSTR Path);
1032  void __RPC_STUB IMsmMerge2_OpenLog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1033  HRESULT WINAPI IMsmMerge2_CloseLog_Proxy(IMsmMerge2 *This);
1034  void __RPC_STUB IMsmMerge2_CloseLog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1035  HRESULT WINAPI IMsmMerge2_Log_Proxy(IMsmMerge2 *This,const BSTR Message);
1036  void __RPC_STUB IMsmMerge2_Log_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1037  HRESULT WINAPI IMsmMerge2_get_Errors_Proxy(IMsmMerge2 *This,IMsmErrors **Errors);
1038  void __RPC_STUB IMsmMerge2_get_Errors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1039  HRESULT WINAPI IMsmMerge2_get_Dependencies_Proxy(IMsmMerge2 *This,IMsmDependencies **Dependencies);
1040  void __RPC_STUB IMsmMerge2_get_Dependencies_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1041  HRESULT WINAPI IMsmMerge2_Merge_Proxy(IMsmMerge2 *This,const BSTR Feature,const BSTR RedirectDir);
1042  void __RPC_STUB IMsmMerge2_Merge_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1043  HRESULT WINAPI IMsmMerge2_Connect_Proxy(IMsmMerge2 *This,const BSTR Feature);
1044  void __RPC_STUB IMsmMerge2_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1045  HRESULT WINAPI IMsmMerge2_ExtractCAB_Proxy(IMsmMerge2 *This,const BSTR FileName);
1046  void __RPC_STUB IMsmMerge2_ExtractCAB_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1047  HRESULT WINAPI IMsmMerge2_ExtractFiles_Proxy(IMsmMerge2 *This,const BSTR Path);
1048  void __RPC_STUB IMsmMerge2_ExtractFiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1049  HRESULT WINAPI IMsmMerge2_MergeEx_Proxy(IMsmMerge2 *This,const BSTR Feature,const BSTR RedirectDir,IMsmConfigureModule *pConfiguration);
1050  void __RPC_STUB IMsmMerge2_MergeEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1051  HRESULT WINAPI IMsmMerge2_ExtractFilesEx_Proxy(IMsmMerge2 *This,const BSTR Path,VARIANT_BOOL fLongFileNames,IMsmStrings **pFilePaths);
1052  void __RPC_STUB IMsmMerge2_ExtractFilesEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1053  HRESULT WINAPI IMsmMerge2_get_ConfigurableItems_Proxy(IMsmMerge2 *This,IMsmConfigurableItems **ConfigurableItems);
1054  void __RPC_STUB IMsmMerge2_get_ConfigurableItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1055  HRESULT WINAPI IMsmMerge2_CreateSourceImage_Proxy(IMsmMerge2 *This,const BSTR Path,VARIANT_BOOL fLongFileNames,IMsmStrings **pFilePaths);
1056  void __RPC_STUB IMsmMerge2_CreateSourceImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1057  HRESULT WINAPI IMsmMerge2_get_ModuleFiles_Proxy(IMsmMerge2 *This,IMsmStrings **Files);
1058  void __RPC_STUB IMsmMerge2_get_ModuleFiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1059#endif
1060#endif
1061
1062#ifndef __MsmMergeTypeLib_LIBRARY_DEFINED__
1063#define __MsmMergeTypeLib_LIBRARY_DEFINED__
1064#ifdef __cplusplus
1065  class MsmMerge;
1066#endif
1067
1068#if (_WIN32_MSM >= 150)
1069#ifdef __cplusplus
1070  class MsmMerge2;
1071#endif
1072#endif
1073#endif
1074
1075  ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
1076  unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
1077  unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
1078  void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
1079
1080#ifdef __cplusplus
1081}
1082#endif
1083
1084DEFINE_GUID(IID_IEnumMsmString,0x0ADDA826,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
1085DEFINE_GUID(IID_IMsmStrings,0x0ADDA827,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
1086DEFINE_GUID(IID_IMsmError,0x0ADDA828,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
1087DEFINE_GUID(IID_IEnumMsmError,0x0ADDA829,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
1088DEFINE_GUID(IID_IMsmErrors,0x0ADDA82A,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
1089DEFINE_GUID(IID_IMsmDependency,0x0ADDA82B,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
1090DEFINE_GUID(IID_IEnumMsmDependency,0x0ADDA82C,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
1091DEFINE_GUID(IID_IMsmDependencies,0x0ADDA82D,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
1092DEFINE_GUID(IID_IMsmMerge,0x0ADDA82E,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
1093DEFINE_GUID(IID_IMsmGetFiles,0x7041ae26,0x2d78,0x11d2,0x88,0x8a,0x0,0xa0,0xc9,0x81,0xb0,0x15);
1094DEFINE_GUID(LIBID_MsmMergeTypeLib,0x0ADDA82F,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
1095DEFINE_GUID(CLSID_MsmMerge,0x0ADDA830,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
1096#if (_WIN32_MSM >= 150)
1097DEFINE_GUID(IID_IMsmMerge2,0x351A72AB,0x21CB,0x47AB,0xB7,0xAA,0xC4,0xD7,0xB0,0x2E,0xA3,0x05);
1098DEFINE_GUID(IID_IMsmConfigurableItem,0x4D6E6284,0xD21D,0x401E,0x84,0xF6,0x90,0x9E,0x00,0xB5,0x0F,0x71);
1099DEFINE_GUID(IID_IEnumMsmConfigurableItem,0x832C6969,0x4826,0x4C24,0xA3,0x97,0xB7,0x00,0x2D,0x81,0x96,0xE6);
1100DEFINE_GUID(IID_IMsmConfigurableItems,0x55BF723C,0x9A0D,0x463E,0xB4,0x2B,0xB4,0xFB,0xC7,0xBE,0x3C,0x7C);
1101DEFINE_GUID(IID_IMsmConfigureModule,0xAC013209,0x18A7,0x4851,0x8A,0x21,0x23,0x53,0x44,0x3D,0x70,0xA0);
1102DEFINE_GUID(CLSID_MsmMerge2,0xF94985D5,0x29F9,0x4743,0x98,0x05,0x99,0xBC,0x3F,0x35,0xB6,0x78);
1103#endif
1104#endif