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#ifndef __REQUIRED_RPCNDR_H_VERSION__
7#define __REQUIRED_RPCNDR_H_VERSION__ 440
8#endif
9
10#include "rpc.h"
11#include "rpcndr.h"
12
13#ifndef __msimcntl_h__
14#define __msimcntl_h__
15
16#ifndef ___IUseIMBase_FWD_DEFINED__
17#define ___IUseIMBase_FWD_DEFINED__
18typedef struct _IUseIMBase _IUseIMBase;
19#endif
20
21#ifndef __IMSIMContactView_FWD_DEFINED__
22#define __IMSIMContactView_FWD_DEFINED__
23typedef struct IMSIMContactView IMSIMContactView;
24#endif
25
26#ifndef __DMSIMContactViewEvents_FWD_DEFINED__
27#define __DMSIMContactViewEvents_FWD_DEFINED__
28typedef struct DMSIMContactViewEvents DMSIMContactViewEvents;
29#endif
30
31#ifndef __IMSIMMessageView_FWD_DEFINED__
32#define __IMSIMMessageView_FWD_DEFINED__
33typedef struct IMSIMMessageView IMSIMMessageView;
34#endif
35
36#ifndef __DMSIMMessageViewEvents_FWD_DEFINED__
37#define __DMSIMMessageViewEvents_FWD_DEFINED__
38typedef struct DMSIMMessageViewEvents DMSIMMessageViewEvents;
39#endif
40
41#ifndef __MSIMContactView_FWD_DEFINED__
42#define __MSIMContactView_FWD_DEFINED__
43
44#ifdef __cplusplus
45typedef class MSIMContactView MSIMContactView;
46#else
47typedef struct MSIMContactView MSIMContactView;
48#endif
49#endif
50
51#ifndef __MSIMMessageView_FWD_DEFINED__
52#define __MSIMMessageView_FWD_DEFINED__
53
54#ifdef __cplusplus
55typedef class MSIMMessageView MSIMMessageView;
56#else
57typedef struct MSIMMessageView MSIMMessageView;
58#endif
59#endif
60
61#ifndef __IIMSafeContact_FWD_DEFINED__
62#define __IIMSafeContact_FWD_DEFINED__
63typedef struct IIMSafeContact IIMSafeContact;
64#endif
65
66#ifndef __IMSIMContactList_FWD_DEFINED__
67#define __IMSIMContactList_FWD_DEFINED__
68typedef struct IMSIMContactList IMSIMContactList;
69#endif
70
71#ifndef __DIMContactListEvents_FWD_DEFINED__
72#define __DIMContactListEvents_FWD_DEFINED__
73typedef struct DIMContactListEvents DIMContactListEvents;
74#endif
75
76#ifndef __MSIMContactList_FWD_DEFINED__
77#define __MSIMContactList_FWD_DEFINED__
78#ifdef __cplusplus
79typedef class MSIMContactList MSIMContactList;
80#else
81typedef struct MSIMContactList MSIMContactList;
82#endif
83#endif
84
85#ifndef __IMSafeContact_FWD_DEFINED__
86#define __IMSafeContact_FWD_DEFINED__
87#ifdef __cplusplus
88typedef class IMSafeContact IMSafeContact;
89#else
90typedef struct IMSafeContact IMSafeContact;
91#endif
92#endif
93
94#include "oaidl.h"
95#include "ocidl.h"
96#include "simpdata.h"
97
98#ifdef __cplusplus
99extern "C" {
100#endif
101
102#ifndef __MIDL_user_allocate_free_DEFINED__
103#define __MIDL_user_allocate_free_DEFINED__
104  void *__RPC_API MIDL_user_allocate(size_t);
105  void __RPC_API MIDL_user_free(void *);
106#endif
107
108#define DMSIMCONTACTVIEWEVENTS_OnReady 0xD0
109#define DMSIMCONTACTVIEWEVENTS_OnLogon 0xD1
110#define DMSIMCONTACTVIEWEVENTS_OnLogoff 0xD2
111#define DMSIMCONTACTVIEWEVENTS_OnLaunchMessageUI 0xD3
112#define DMSIMCONTACTVIEWEVENTS_OnMenuRequest 0xD6
113#define DMSIMCONTACTVIEWEVENTS_OnMenuSelect 0xD7
114#define DMSIMCONTACTVIEWEVENTS_OnAddResult 0xD8
115#define DMSIMCONTACTVIEWEVENTS_OnRemoveResult 0xD9
116#define DMSIMCONTACTVIEWEVENTS_OnSelect 0xDA
117#define DMSIMCONTACTVIEWEVENTS_OnShutdown 0xDB
118#define DMSIMCONTACTVIEWEVENTS_OnEMailContact 0xDC
119#define DMSIMCONTACTVIEWEVENTS_OnAddContactUI 0xDD
120#define DMSIMCONTACTVIEWEVENTS_OnLocalStateChange 0xDE
121#define DMSIMCONTACTVIEWEVENTS_OnExtentsChange 0xDF
122#define DMSIMMESSAGEVIEWEVENTS_OnReady 0xD0
123#define DMSIMMESSAGEVIEWEVENTS_OnLogon 0xD1
124#define DMSIMMESSAGEVIEWEVENTS_OnLogoff 0xD2
125#define DMSIMMESSAGEVIEWEVENTS_OnLaunchMessageUI 0xD3
126#define DMSIMMESSAGEVIEWEVENTS_OnNewMessage 0xD6
127#define DMSIMMESSAGEVIEWEVENTS_OnAddResult 0xD7
128#define DMSIMMESSAGEVIEWEVENTS_OnRemoveResult 0xD8
129#define DMSIMMESSAGEVIEWEVENTS_OnNewSession 0xD9
130#define DMSIMMESSAGEVIEWEVENTS_OnSessionEnd 0xDA
131#define DMSIMMESSAGEVIEWEVENTS_OnShutdown 0xDB
132#define DMSIMMESSAGEVIEWEVENTS_OnLocalStateChange 0xDC
133#define DMSIMCONTACTLISTEVENTS_OnReady 0xD0
134#define DMSIMCONTACTLISTEVENTS_OnLogon 0xD1
135#define DMSIMCONTACTLISTEVENTS_OnLogoff 0xD2
136#define DMSIMCONTACTLISTEVENTS_OnAddResult 0xD3
137#define DMSIMCONTACTLISTEVENTS_OnRemoveResult 0xD4
138#define DMSIMCONTACTLISTEVENTS_OnShutdown 0xD5
139#define DMSIMCONTACTLISTEVENTS_OnChangeContact 0xD6
140#define DMSIMCONTACTLISTEVENTS_OnLocalStateChange 0xD7
141
142  extern RPC_IF_HANDLE __MIDL_itf_msimcntl_0000_v0_0_c_ifspec;
143  extern RPC_IF_HANDLE __MIDL_itf_msimcntl_0000_v0_0_s_ifspec;
144
145#ifndef __MSIMCNTLLib_LIBRARY_DEFINED__
146#define __MSIMCNTLLib_LIBRARY_DEFINED__
147
148  typedef enum __MIDL___MIDL_itf_msimcntl_0000_0001 {
149    MSIM_PROVIDER_FIRST = 0,MSIM_PROVIDER_ANY = 0,MSIM_PROVIDER_EXCHANGE_HOST = 1,MSIM_PROVIDER_LAST = 1,MSIM_PROVIDER_NONE = 0xffff
150  } MSIM_PROVIDER;
151
152  typedef enum __MIDL___MIDL_itf_msimcntl_0000_0002 {
153    MSIM_MSG_UI_SESSION = 0,MSIM_MSG_UI_NETMEETING = 1
154  } MSIM_MSG_UI;
155
156  EXTERN_C const IID LIBID_MSIMCNTLLib;
157#ifndef ___IUseIMBase_INTERFACE_DEFINED__
158#define ___IUseIMBase_INTERFACE_DEFINED__
159  EXTERN_C const IID IID__IUseIMBase;
160#if defined(__cplusplus) && !defined(CINTERFACE)
161  struct _IUseIMBase : public IDispatch {
162  public:
163    virtual HRESULT WINAPI SetService(IDispatch *pService,IDispatch *pApp = 0) = 0;
164    virtual HRESULT WINAPI get_Service(short *pVal) = 0;
165    virtual HRESULT WINAPI put_Service(short newVal) = 0;
166    virtual HRESULT WINAPI get_HasService(VARIANT_BOOL *pVal) = 0;
167    virtual HRESULT WINAPI get_AutoLogon(VARIANT_BOOL *pVal) = 0;
168    virtual HRESULT WINAPI put_AutoLogon(VARIANT_BOOL newVal) = 0;
169    virtual HRESULT WINAPI get_LoggedOn(VARIANT_BOOL *pVal) = 0;
170    virtual HRESULT WINAPI Logon(BSTR bstrAddress = L"",BSTR bstrName = L"",BSTR bstrPassword = L"",BSTR bstrDomain = L"") = 0;
171    virtual HRESULT WINAPI Logoff(void) = 0;
172    virtual HRESULT WINAPI GetLocalState(VARIANT *pvarState,VARIANT *pvarDescription,VARIANT *pvarData) = 0;
173    virtual HRESULT WINAPI SetLocalState(__LONG32 lState,VARIANT varDescription,VARIANT varData) = 0;
174  };
175#else
176  typedef struct _IUseIMBaseVtbl {
177    BEGIN_INTERFACE
178      HRESULT (WINAPI *QueryInterface)(_IUseIMBase *This,REFIID riid,void **ppvObject);
179      ULONG (WINAPI *AddRef)(_IUseIMBase *This);
180      ULONG (WINAPI *Release)(_IUseIMBase *This);
181      HRESULT (WINAPI *GetTypeInfoCount)(_IUseIMBase *This,UINT *pctinfo);
182      HRESULT (WINAPI *GetTypeInfo)(_IUseIMBase *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
183      HRESULT (WINAPI *GetIDsOfNames)(_IUseIMBase *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
184      HRESULT (WINAPI *Invoke)(_IUseIMBase *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
185      HRESULT (WINAPI *SetService)(_IUseIMBase *This,IDispatch *pService,IDispatch *pApp);
186      HRESULT (WINAPI *get_Service)(_IUseIMBase *This,short *pVal);
187      HRESULT (WINAPI *put_Service)(_IUseIMBase *This,short newVal);
188      HRESULT (WINAPI *get_HasService)(_IUseIMBase *This,VARIANT_BOOL *pVal);
189      HRESULT (WINAPI *get_AutoLogon)(_IUseIMBase *This,VARIANT_BOOL *pVal);
190      HRESULT (WINAPI *put_AutoLogon)(_IUseIMBase *This,VARIANT_BOOL newVal);
191      HRESULT (WINAPI *get_LoggedOn)(_IUseIMBase *This,VARIANT_BOOL *pVal);
192      HRESULT (WINAPI *Logon)(_IUseIMBase *This,BSTR bstrAddress,BSTR bstrName,BSTR bstrPassword,BSTR bstrDomain);
193      HRESULT (WINAPI *Logoff)(_IUseIMBase *This);
194      HRESULT (WINAPI *GetLocalState)(_IUseIMBase *This,VARIANT *pvarState,VARIANT *pvarDescription,VARIANT *pvarData);
195      HRESULT (WINAPI *SetLocalState)(_IUseIMBase *This,__LONG32 lState,VARIANT varDescription,VARIANT varData);
196    END_INTERFACE
197  } _IUseIMBaseVtbl;
198  struct _IUseIMBase {
199    CONST_VTBL struct _IUseIMBaseVtbl *lpVtbl;
200  };
201#ifdef COBJMACROS
202#define _IUseIMBase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
203#define _IUseIMBase_AddRef(This) (This)->lpVtbl->AddRef(This)
204#define _IUseIMBase_Release(This) (This)->lpVtbl->Release(This)
205#define _IUseIMBase_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
206#define _IUseIMBase_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
207#define _IUseIMBase_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
208#define _IUseIMBase_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
209#define _IUseIMBase_SetService(This,pService,pApp) (This)->lpVtbl->SetService(This,pService,pApp)
210#define _IUseIMBase_get_Service(This,pVal) (This)->lpVtbl->get_Service(This,pVal)
211#define _IUseIMBase_put_Service(This,newVal) (This)->lpVtbl->put_Service(This,newVal)
212#define _IUseIMBase_get_HasService(This,pVal) (This)->lpVtbl->get_HasService(This,pVal)
213#define _IUseIMBase_get_AutoLogon(This,pVal) (This)->lpVtbl->get_AutoLogon(This,pVal)
214#define _IUseIMBase_put_AutoLogon(This,newVal) (This)->lpVtbl->put_AutoLogon(This,newVal)
215#define _IUseIMBase_get_LoggedOn(This,pVal) (This)->lpVtbl->get_LoggedOn(This,pVal)
216#define _IUseIMBase_Logon(This,bstrAddress,bstrName,bstrPassword,bstrDomain) (This)->lpVtbl->Logon(This,bstrAddress,bstrName,bstrPassword,bstrDomain)
217#define _IUseIMBase_Logoff(This) (This)->lpVtbl->Logoff(This)
218#define _IUseIMBase_GetLocalState(This,pvarState,pvarDescription,pvarData) (This)->lpVtbl->GetLocalState(This,pvarState,pvarDescription,pvarData)
219#define _IUseIMBase_SetLocalState(This,lState,varDescription,varData) (This)->lpVtbl->SetLocalState(This,lState,varDescription,varData)
220#endif
221#endif
222  HRESULT WINAPI _IUseIMBase_SetService_Proxy(_IUseIMBase *This,IDispatch *pService,IDispatch *pApp);
223  void __RPC_STUB _IUseIMBase_SetService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
224  HRESULT WINAPI _IUseIMBase_get_Service_Proxy(_IUseIMBase *This,short *pVal);
225  void __RPC_STUB _IUseIMBase_get_Service_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
226  HRESULT WINAPI _IUseIMBase_put_Service_Proxy(_IUseIMBase *This,short newVal);
227  void __RPC_STUB _IUseIMBase_put_Service_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
228  HRESULT WINAPI _IUseIMBase_get_HasService_Proxy(_IUseIMBase *This,VARIANT_BOOL *pVal);
229  void __RPC_STUB _IUseIMBase_get_HasService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
230  HRESULT WINAPI _IUseIMBase_get_AutoLogon_Proxy(_IUseIMBase *This,VARIANT_BOOL *pVal);
231  void __RPC_STUB _IUseIMBase_get_AutoLogon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
232  HRESULT WINAPI _IUseIMBase_put_AutoLogon_Proxy(_IUseIMBase *This,VARIANT_BOOL newVal);
233  void __RPC_STUB _IUseIMBase_put_AutoLogon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
234  HRESULT WINAPI _IUseIMBase_get_LoggedOn_Proxy(_IUseIMBase *This,VARIANT_BOOL *pVal);
235  void __RPC_STUB _IUseIMBase_get_LoggedOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
236  HRESULT WINAPI _IUseIMBase_Logon_Proxy(_IUseIMBase *This,BSTR bstrAddress,BSTR bstrName,BSTR bstrPassword,BSTR bstrDomain);
237  void __RPC_STUB _IUseIMBase_Logon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
238  HRESULT WINAPI _IUseIMBase_Logoff_Proxy(_IUseIMBase *This);
239  void __RPC_STUB _IUseIMBase_Logoff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
240  HRESULT WINAPI _IUseIMBase_GetLocalState_Proxy(_IUseIMBase *This,VARIANT *pvarState,VARIANT *pvarDescription,VARIANT *pvarData);
241  void __RPC_STUB _IUseIMBase_GetLocalState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
242  HRESULT WINAPI _IUseIMBase_SetLocalState_Proxy(_IUseIMBase *This,__LONG32 lState,VARIANT varDescription,VARIANT varData);
243  void __RPC_STUB _IUseIMBase_SetLocalState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
244#endif
245
246#ifndef __IMSIMContactView_INTERFACE_DEFINED__
247#define __IMSIMContactView_INTERFACE_DEFINED__
248  EXTERN_C const IID IID_IMSIMContactView;
249#if defined(__cplusplus) && !defined(CINTERFACE)
250  struct IMSIMContactView : public _IUseIMBase {
251  public:
252    virtual HRESULT WINAPI Add(VARIANT vUser) = 0;
253    virtual HRESULT WINAPI Remove(VARIANT vUser) = 0;
254    virtual HRESULT WINAPI get_List(VARIANT *pvarList) = 0;
255    virtual HRESULT WINAPI put_List(VARIANT varList) = 0;
256    virtual HRESULT WINAPI AddMenuItem(BSTR bstrItem,__LONG32 lPosition,__LONG32 *plCommand) = 0;
257    virtual HRESULT WINAPI get_SelectedMenuOptions(__LONG32 *pVal) = 0;
258    virtual HRESULT WINAPI IMSelected(void) = 0;
259    virtual HRESULT WINAPI EMailSelected(void) = 0;
260    virtual HRESULT WINAPI InviteSelected(void) = 0;
261    virtual HRESULT WINAPI BlockSelected(void) = 0;
262    virtual HRESULT WINAPI UnblockSelected(void) = 0;
263    virtual HRESULT WINAPI get_ExtentWidth(__LONG32 *pX) = 0;
264    virtual HRESULT WINAPI get_ExtentHeight(__LONG32 *pY) = 0;
265    virtual HRESULT WINAPI get_HotTracking(VARIANT_BOOL *pVal) = 0;
266    virtual HRESULT WINAPI put_HotTracking(VARIANT_BOOL newVal) = 0;
267    virtual HRESULT WINAPI get_AllowCollapse(VARIANT_BOOL *pVal) = 0;
268    virtual HRESULT WINAPI put_AllowCollapse(VARIANT_BOOL newVal) = 0;
269    virtual HRESULT WINAPI get_ShowSelectAlways(VARIANT_BOOL *pVal) = 0;
270    virtual HRESULT WINAPI put_ShowSelectAlways(VARIANT_BOOL newVal) = 0;
271    virtual HRESULT WINAPI get_OnlineRootLabel(BSTR *pbstrLabel) = 0;
272    virtual HRESULT WINAPI put_OnlineRootLabel(BSTR bstrLabel) = 0;
273    virtual HRESULT WINAPI get_OfflineRootLabel(BSTR *pbstrLabel) = 0;
274    virtual HRESULT WINAPI put_OfflineRootLabel(BSTR bstrLabel) = 0;
275    virtual HRESULT WINAPI get_Window(__LONG32 *pVal) = 0;
276    virtual HRESULT WINAPI get_ShowLogonButton(VARIANT_BOOL *pVal) = 0;
277    virtual HRESULT WINAPI put_ShowLogonButton(VARIANT_BOOL newVal) = 0;
278    virtual HRESULT WINAPI get_OnlineCollapsed(VARIANT_BOOL *pVal) = 0;
279    virtual HRESULT WINAPI put_OnlineCollapsed(VARIANT_BOOL newVal) = 0;
280    virtual HRESULT WINAPI get_OfflineCollapsed(VARIANT_BOOL *pVal) = 0;
281    virtual HRESULT WINAPI put_OfflineCollapsed(VARIANT_BOOL newVal) = 0;
282    virtual HRESULT WINAPI get_Group(VARIANT_BOOL *pVal) = 0;
283    virtual HRESULT WINAPI put_Group(VARIANT_BOOL newVal) = 0;
284    virtual HRESULT WINAPI get_FilterOffline(VARIANT_BOOL *pVal) = 0;
285    virtual HRESULT WINAPI put_FilterOffline(VARIANT_BOOL newVal) = 0;
286    virtual HRESULT WINAPI get_ShowIcons(VARIANT_BOOL *pVal) = 0;
287    virtual HRESULT WINAPI put_ShowIcons(VARIANT_BOOL newVal) = 0;
288    virtual HRESULT WINAPI get_AcceptMessages(VARIANT_BOOL *pVal) = 0;
289    virtual HRESULT WINAPI put_AcceptMessages(VARIANT_BOOL newVal) = 0;
290  };
291#else
292  typedef struct IMSIMContactViewVtbl {
293    BEGIN_INTERFACE
294      HRESULT (WINAPI *QueryInterface)(IMSIMContactView *This,REFIID riid,void **ppvObject);
295      ULONG (WINAPI *AddRef)(IMSIMContactView *This);
296      ULONG (WINAPI *Release)(IMSIMContactView *This);
297      HRESULT (WINAPI *GetTypeInfoCount)(IMSIMContactView *This,UINT *pctinfo);
298      HRESULT (WINAPI *GetTypeInfo)(IMSIMContactView *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
299      HRESULT (WINAPI *GetIDsOfNames)(IMSIMContactView *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
300      HRESULT (WINAPI *Invoke)(IMSIMContactView *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
301      HRESULT (WINAPI *SetService)(IMSIMContactView *This,IDispatch *pService,IDispatch *pApp);
302      HRESULT (WINAPI *get_Service)(IMSIMContactView *This,short *pVal);
303      HRESULT (WINAPI *put_Service)(IMSIMContactView *This,short newVal);
304      HRESULT (WINAPI *get_HasService)(IMSIMContactView *This,VARIANT_BOOL *pVal);
305      HRESULT (WINAPI *get_AutoLogon)(IMSIMContactView *This,VARIANT_BOOL *pVal);
306      HRESULT (WINAPI *put_AutoLogon)(IMSIMContactView *This,VARIANT_BOOL newVal);
307      HRESULT (WINAPI *get_LoggedOn)(IMSIMContactView *This,VARIANT_BOOL *pVal);
308      HRESULT (WINAPI *Logon)(IMSIMContactView *This,BSTR bstrAddress,BSTR bstrName,BSTR bstrPassword,BSTR bstrDomain);
309      HRESULT (WINAPI *Logoff)(IMSIMContactView *This);
310      HRESULT (WINAPI *GetLocalState)(IMSIMContactView *This,VARIANT *pvarState,VARIANT *pvarDescription,VARIANT *pvarData);
311      HRESULT (WINAPI *SetLocalState)(IMSIMContactView *This,__LONG32 lState,VARIANT varDescription,VARIANT varData);
312      HRESULT (WINAPI *Add)(IMSIMContactView *This,VARIANT vUser);
313      HRESULT (WINAPI *Remove)(IMSIMContactView *This,VARIANT vUser);
314      HRESULT (WINAPI *get_List)(IMSIMContactView *This,VARIANT *pvarList);
315      HRESULT (WINAPI *put_List)(IMSIMContactView *This,VARIANT varList);
316      HRESULT (WINAPI *AddMenuItem)(IMSIMContactView *This,BSTR bstrItem,__LONG32 lPosition,__LONG32 *plCommand);
317      HRESULT (WINAPI *get_SelectedMenuOptions)(IMSIMContactView *This,__LONG32 *pVal);
318      HRESULT (WINAPI *IMSelected)(IMSIMContactView *This);
319      HRESULT (WINAPI *EMailSelected)(IMSIMContactView *This);
320      HRESULT (WINAPI *InviteSelected)(IMSIMContactView *This);
321      HRESULT (WINAPI *BlockSelected)(IMSIMContactView *This);
322      HRESULT (WINAPI *UnblockSelected)(IMSIMContactView *This);
323      HRESULT (WINAPI *get_ExtentWidth)(IMSIMContactView *This,__LONG32 *pX);
324      HRESULT (WINAPI *get_ExtentHeight)(IMSIMContactView *This,__LONG32 *pY);
325      HRESULT (WINAPI *get_HotTracking)(IMSIMContactView *This,VARIANT_BOOL *pVal);
326      HRESULT (WINAPI *put_HotTracking)(IMSIMContactView *This,VARIANT_BOOL newVal);
327      HRESULT (WINAPI *get_AllowCollapse)(IMSIMContactView *This,VARIANT_BOOL *pVal);
328      HRESULT (WINAPI *put_AllowCollapse)(IMSIMContactView *This,VARIANT_BOOL newVal);
329      HRESULT (WINAPI *get_ShowSelectAlways)(IMSIMContactView *This,VARIANT_BOOL *pVal);
330      HRESULT (WINAPI *put_ShowSelectAlways)(IMSIMContactView *This,VARIANT_BOOL newVal);
331      HRESULT (WINAPI *get_OnlineRootLabel)(IMSIMContactView *This,BSTR *pbstrLabel);
332      HRESULT (WINAPI *put_OnlineRootLabel)(IMSIMContactView *This,BSTR bstrLabel);
333      HRESULT (WINAPI *get_OfflineRootLabel)(IMSIMContactView *This,BSTR *pbstrLabel);
334      HRESULT (WINAPI *put_OfflineRootLabel)(IMSIMContactView *This,BSTR bstrLabel);
335      HRESULT (WINAPI *get_Window)(IMSIMContactView *This,__LONG32 *pVal);
336      HRESULT (WINAPI *get_ShowLogonButton)(IMSIMContactView *This,VARIANT_BOOL *pVal);
337      HRESULT (WINAPI *put_ShowLogonButton)(IMSIMContactView *This,VARIANT_BOOL newVal);
338      HRESULT (WINAPI *get_OnlineCollapsed)(IMSIMContactView *This,VARIANT_BOOL *pVal);
339      HRESULT (WINAPI *put_OnlineCollapsed)(IMSIMContactView *This,VARIANT_BOOL newVal);
340      HRESULT (WINAPI *get_OfflineCollapsed)(IMSIMContactView *This,VARIANT_BOOL *pVal);
341      HRESULT (WINAPI *put_OfflineCollapsed)(IMSIMContactView *This,VARIANT_BOOL newVal);
342      HRESULT (WINAPI *get_Group)(IMSIMContactView *This,VARIANT_BOOL *pVal);
343      HRESULT (WINAPI *put_Group)(IMSIMContactView *This,VARIANT_BOOL newVal);
344      HRESULT (WINAPI *get_FilterOffline)(IMSIMContactView *This,VARIANT_BOOL *pVal);
345      HRESULT (WINAPI *put_FilterOffline)(IMSIMContactView *This,VARIANT_BOOL newVal);
346      HRESULT (WINAPI *get_ShowIcons)(IMSIMContactView *This,VARIANT_BOOL *pVal);
347      HRESULT (WINAPI *put_ShowIcons)(IMSIMContactView *This,VARIANT_BOOL newVal);
348      HRESULT (WINAPI *get_AcceptMessages)(IMSIMContactView *This,VARIANT_BOOL *pVal);
349      HRESULT (WINAPI *put_AcceptMessages)(IMSIMContactView *This,VARIANT_BOOL newVal);
350    END_INTERFACE
351  } IMSIMContactViewVtbl;
352  struct IMSIMContactView {
353    CONST_VTBL struct IMSIMContactViewVtbl *lpVtbl;
354  };
355#ifdef COBJMACROS
356#define IMSIMContactView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
357#define IMSIMContactView_AddRef(This) (This)->lpVtbl->AddRef(This)
358#define IMSIMContactView_Release(This) (This)->lpVtbl->Release(This)
359#define IMSIMContactView_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
360#define IMSIMContactView_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
361#define IMSIMContactView_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
362#define IMSIMContactView_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
363#define IMSIMContactView_SetService(This,pService,pApp) (This)->lpVtbl->SetService(This,pService,pApp)
364#define IMSIMContactView_get_Service(This,pVal) (This)->lpVtbl->get_Service(This,pVal)
365#define IMSIMContactView_put_Service(This,newVal) (This)->lpVtbl->put_Service(This,newVal)
366#define IMSIMContactView_get_HasService(This,pVal) (This)->lpVtbl->get_HasService(This,pVal)
367#define IMSIMContactView_get_AutoLogon(This,pVal) (This)->lpVtbl->get_AutoLogon(This,pVal)
368#define IMSIMContactView_put_AutoLogon(This,newVal) (This)->lpVtbl->put_AutoLogon(This,newVal)
369#define IMSIMContactView_get_LoggedOn(This,pVal) (This)->lpVtbl->get_LoggedOn(This,pVal)
370#define IMSIMContactView_Logon(This,bstrAddress,bstrName,bstrPassword,bstrDomain) (This)->lpVtbl->Logon(This,bstrAddress,bstrName,bstrPassword,bstrDomain)
371#define IMSIMContactView_Logoff(This) (This)->lpVtbl->Logoff(This)
372#define IMSIMContactView_GetLocalState(This,pvarState,pvarDescription,pvarData) (This)->lpVtbl->GetLocalState(This,pvarState,pvarDescription,pvarData)
373#define IMSIMContactView_SetLocalState(This,lState,varDescription,varData) (This)->lpVtbl->SetLocalState(This,lState,varDescription,varData)
374#define IMSIMContactView_Add(This,vUser) (This)->lpVtbl->Add(This,vUser)
375#define IMSIMContactView_Remove(This,vUser) (This)->lpVtbl->Remove(This,vUser)
376#define IMSIMContactView_get_List(This,pvarList) (This)->lpVtbl->get_List(This,pvarList)
377#define IMSIMContactView_put_List(This,varList) (This)->lpVtbl->put_List(This,varList)
378#define IMSIMContactView_AddMenuItem(This,bstrItem,lPosition,plCommand) (This)->lpVtbl->AddMenuItem(This,bstrItem,lPosition,plCommand)
379#define IMSIMContactView_get_SelectedMenuOptions(This,pVal) (This)->lpVtbl->get_SelectedMenuOptions(This,pVal)
380#define IMSIMContactView_IMSelected(This) (This)->lpVtbl->IMSelected(This)
381#define IMSIMContactView_EMailSelected(This) (This)->lpVtbl->EMailSelected(This)
382#define IMSIMContactView_InviteSelected(This) (This)->lpVtbl->InviteSelected(This)
383#define IMSIMContactView_BlockSelected(This) (This)->lpVtbl->BlockSelected(This)
384#define IMSIMContactView_UnblockSelected(This) (This)->lpVtbl->UnblockSelected(This)
385#define IMSIMContactView_get_ExtentWidth(This,pX) (This)->lpVtbl->get_ExtentWidth(This,pX)
386#define IMSIMContactView_get_ExtentHeight(This,pY) (This)->lpVtbl->get_ExtentHeight(This,pY)
387#define IMSIMContactView_get_HotTracking(This,pVal) (This)->lpVtbl->get_HotTracking(This,pVal)
388#define IMSIMContactView_put_HotTracking(This,newVal) (This)->lpVtbl->put_HotTracking(This,newVal)
389#define IMSIMContactView_get_AllowCollapse(This,pVal) (This)->lpVtbl->get_AllowCollapse(This,pVal)
390#define IMSIMContactView_put_AllowCollapse(This,newVal) (This)->lpVtbl->put_AllowCollapse(This,newVal)
391#define IMSIMContactView_get_ShowSelectAlways(This,pVal) (This)->lpVtbl->get_ShowSelectAlways(This,pVal)
392#define IMSIMContactView_put_ShowSelectAlways(This,newVal) (This)->lpVtbl->put_ShowSelectAlways(This,newVal)
393#define IMSIMContactView_get_OnlineRootLabel(This,pbstrLabel) (This)->lpVtbl->get_OnlineRootLabel(This,pbstrLabel)
394#define IMSIMContactView_put_OnlineRootLabel(This,bstrLabel) (This)->lpVtbl->put_OnlineRootLabel(This,bstrLabel)
395#define IMSIMContactView_get_OfflineRootLabel(This,pbstrLabel) (This)->lpVtbl->get_OfflineRootLabel(This,pbstrLabel)
396#define IMSIMContactView_put_OfflineRootLabel(This,bstrLabel) (This)->lpVtbl->put_OfflineRootLabel(This,bstrLabel)
397#define IMSIMContactView_get_Window(This,pVal) (This)->lpVtbl->get_Window(This,pVal)
398#define IMSIMContactView_get_ShowLogonButton(This,pVal) (This)->lpVtbl->get_ShowLogonButton(This,pVal)
399#define IMSIMContactView_put_ShowLogonButton(This,newVal) (This)->lpVtbl->put_ShowLogonButton(This,newVal)
400#define IMSIMContactView_get_OnlineCollapsed(This,pVal) (This)->lpVtbl->get_OnlineCollapsed(This,pVal)
401#define IMSIMContactView_put_OnlineCollapsed(This,newVal) (This)->lpVtbl->put_OnlineCollapsed(This,newVal)
402#define IMSIMContactView_get_OfflineCollapsed(This,pVal) (This)->lpVtbl->get_OfflineCollapsed(This,pVal)
403#define IMSIMContactView_put_OfflineCollapsed(This,newVal) (This)->lpVtbl->put_OfflineCollapsed(This,newVal)
404#define IMSIMContactView_get_Group(This,pVal) (This)->lpVtbl->get_Group(This,pVal)
405#define IMSIMContactView_put_Group(This,newVal) (This)->lpVtbl->put_Group(This,newVal)
406#define IMSIMContactView_get_FilterOffline(This,pVal) (This)->lpVtbl->get_FilterOffline(This,pVal)
407#define IMSIMContactView_put_FilterOffline(This,newVal) (This)->lpVtbl->put_FilterOffline(This,newVal)
408#define IMSIMContactView_get_ShowIcons(This,pVal) (This)->lpVtbl->get_ShowIcons(This,pVal)
409#define IMSIMContactView_put_ShowIcons(This,newVal) (This)->lpVtbl->put_ShowIcons(This,newVal)
410#define IMSIMContactView_get_AcceptMessages(This,pVal) (This)->lpVtbl->get_AcceptMessages(This,pVal)
411#define IMSIMContactView_put_AcceptMessages(This,newVal) (This)->lpVtbl->put_AcceptMessages(This,newVal)
412#endif
413#endif
414  HRESULT WINAPI IMSIMContactView_Add_Proxy(IMSIMContactView *This,VARIANT vUser);
415  void __RPC_STUB IMSIMContactView_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
416  HRESULT WINAPI IMSIMContactView_Remove_Proxy(IMSIMContactView *This,VARIANT vUser);
417  void __RPC_STUB IMSIMContactView_Remove_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
418  HRESULT WINAPI IMSIMContactView_get_List_Proxy(IMSIMContactView *This,VARIANT *pvarList);
419  void __RPC_STUB IMSIMContactView_get_List_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
420  HRESULT WINAPI IMSIMContactView_put_List_Proxy(IMSIMContactView *This,VARIANT varList);
421  void __RPC_STUB IMSIMContactView_put_List_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
422  HRESULT WINAPI IMSIMContactView_AddMenuItem_Proxy(IMSIMContactView *This,BSTR bstrItem,__LONG32 lPosition,__LONG32 *plCommand);
423  void __RPC_STUB IMSIMContactView_AddMenuItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
424  HRESULT WINAPI IMSIMContactView_get_SelectedMenuOptions_Proxy(IMSIMContactView *This,__LONG32 *pVal);
425  void __RPC_STUB IMSIMContactView_get_SelectedMenuOptions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
426  HRESULT WINAPI IMSIMContactView_IMSelected_Proxy(IMSIMContactView *This);
427  void __RPC_STUB IMSIMContactView_IMSelected_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
428  HRESULT WINAPI IMSIMContactView_EMailSelected_Proxy(IMSIMContactView *This);
429  void __RPC_STUB IMSIMContactView_EMailSelected_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
430  HRESULT WINAPI IMSIMContactView_InviteSelected_Proxy(IMSIMContactView *This);
431  void __RPC_STUB IMSIMContactView_InviteSelected_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
432  HRESULT WINAPI IMSIMContactView_BlockSelected_Proxy(IMSIMContactView *This);
433  void __RPC_STUB IMSIMContactView_BlockSelected_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
434  HRESULT WINAPI IMSIMContactView_UnblockSelected_Proxy(IMSIMContactView *This);
435  void __RPC_STUB IMSIMContactView_UnblockSelected_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
436  HRESULT WINAPI IMSIMContactView_get_ExtentWidth_Proxy(IMSIMContactView *This,__LONG32 *pX);
437  void __RPC_STUB IMSIMContactView_get_ExtentWidth_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
438  HRESULT WINAPI IMSIMContactView_get_ExtentHeight_Proxy(IMSIMContactView *This,__LONG32 *pY);
439  void __RPC_STUB IMSIMContactView_get_ExtentHeight_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
440  HRESULT WINAPI IMSIMContactView_get_HotTracking_Proxy(IMSIMContactView *This,VARIANT_BOOL *pVal);
441  void __RPC_STUB IMSIMContactView_get_HotTracking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
442  HRESULT WINAPI IMSIMContactView_put_HotTracking_Proxy(IMSIMContactView *This,VARIANT_BOOL newVal);
443  void __RPC_STUB IMSIMContactView_put_HotTracking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
444  HRESULT WINAPI IMSIMContactView_get_AllowCollapse_Proxy(IMSIMContactView *This,VARIANT_BOOL *pVal);
445  void __RPC_STUB IMSIMContactView_get_AllowCollapse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
446  HRESULT WINAPI IMSIMContactView_put_AllowCollapse_Proxy(IMSIMContactView *This,VARIANT_BOOL newVal);
447  void __RPC_STUB IMSIMContactView_put_AllowCollapse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
448  HRESULT WINAPI IMSIMContactView_get_ShowSelectAlways_Proxy(IMSIMContactView *This,VARIANT_BOOL *pVal);
449  void __RPC_STUB IMSIMContactView_get_ShowSelectAlways_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
450  HRESULT WINAPI IMSIMContactView_put_ShowSelectAlways_Proxy(IMSIMContactView *This,VARIANT_BOOL newVal);
451  void __RPC_STUB IMSIMContactView_put_ShowSelectAlways_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
452  HRESULT WINAPI IMSIMContactView_get_OnlineRootLabel_Proxy(IMSIMContactView *This,BSTR *pbstrLabel);
453  void __RPC_STUB IMSIMContactView_get_OnlineRootLabel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
454  HRESULT WINAPI IMSIMContactView_put_OnlineRootLabel_Proxy(IMSIMContactView *This,BSTR bstrLabel);
455  void __RPC_STUB IMSIMContactView_put_OnlineRootLabel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
456  HRESULT WINAPI IMSIMContactView_get_OfflineRootLabel_Proxy(IMSIMContactView *This,BSTR *pbstrLabel);
457  void __RPC_STUB IMSIMContactView_get_OfflineRootLabel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
458  HRESULT WINAPI IMSIMContactView_put_OfflineRootLabel_Proxy(IMSIMContactView *This,BSTR bstrLabel);
459  void __RPC_STUB IMSIMContactView_put_OfflineRootLabel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
460  HRESULT WINAPI IMSIMContactView_get_Window_Proxy(IMSIMContactView *This,__LONG32 *pVal);
461  void __RPC_STUB IMSIMContactView_get_Window_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
462  HRESULT WINAPI IMSIMContactView_get_ShowLogonButton_Proxy(IMSIMContactView *This,VARIANT_BOOL *pVal);
463  void __RPC_STUB IMSIMContactView_get_ShowLogonButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
464  HRESULT WINAPI IMSIMContactView_put_ShowLogonButton_Proxy(IMSIMContactView *This,VARIANT_BOOL newVal);
465  void __RPC_STUB IMSIMContactView_put_ShowLogonButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
466  HRESULT WINAPI IMSIMContactView_get_OnlineCollapsed_Proxy(IMSIMContactView *This,VARIANT_BOOL *pVal);
467  void __RPC_STUB IMSIMContactView_get_OnlineCollapsed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
468  HRESULT WINAPI IMSIMContactView_put_OnlineCollapsed_Proxy(IMSIMContactView *This,VARIANT_BOOL newVal);
469  void __RPC_STUB IMSIMContactView_put_OnlineCollapsed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
470  HRESULT WINAPI IMSIMContactView_get_OfflineCollapsed_Proxy(IMSIMContactView *This,VARIANT_BOOL *pVal);
471  void __RPC_STUB IMSIMContactView_get_OfflineCollapsed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
472  HRESULT WINAPI IMSIMContactView_put_OfflineCollapsed_Proxy(IMSIMContactView *This,VARIANT_BOOL newVal);
473  void __RPC_STUB IMSIMContactView_put_OfflineCollapsed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
474  HRESULT WINAPI IMSIMContactView_get_Group_Proxy(IMSIMContactView *This,VARIANT_BOOL *pVal);
475  void __RPC_STUB IMSIMContactView_get_Group_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
476  HRESULT WINAPI IMSIMContactView_put_Group_Proxy(IMSIMContactView *This,VARIANT_BOOL newVal);
477  void __RPC_STUB IMSIMContactView_put_Group_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
478  HRESULT WINAPI IMSIMContactView_get_FilterOffline_Proxy(IMSIMContactView *This,VARIANT_BOOL *pVal);
479  void __RPC_STUB IMSIMContactView_get_FilterOffline_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
480  HRESULT WINAPI IMSIMContactView_put_FilterOffline_Proxy(IMSIMContactView *This,VARIANT_BOOL newVal);
481  void __RPC_STUB IMSIMContactView_put_FilterOffline_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
482  HRESULT WINAPI IMSIMContactView_get_ShowIcons_Proxy(IMSIMContactView *This,VARIANT_BOOL *pVal);
483  void __RPC_STUB IMSIMContactView_get_ShowIcons_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
484  HRESULT WINAPI IMSIMContactView_put_ShowIcons_Proxy(IMSIMContactView *This,VARIANT_BOOL newVal);
485  void __RPC_STUB IMSIMContactView_put_ShowIcons_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
486  HRESULT WINAPI IMSIMContactView_get_AcceptMessages_Proxy(IMSIMContactView *This,VARIANT_BOOL *pVal);
487  void __RPC_STUB IMSIMContactView_get_AcceptMessages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
488  HRESULT WINAPI IMSIMContactView_put_AcceptMessages_Proxy(IMSIMContactView *This,VARIANT_BOOL newVal);
489  void __RPC_STUB IMSIMContactView_put_AcceptMessages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
490#endif
491
492#ifndef __DMSIMContactViewEvents_DISPINTERFACE_DEFINED__
493#define __DMSIMContactViewEvents_DISPINTERFACE_DEFINED__
494  EXTERN_C const IID DIID_DMSIMContactViewEvents;
495#if defined(__cplusplus) && !defined(CINTERFACE)
496  struct DMSIMContactViewEvents : public IDispatch {
497  };
498#else
499  typedef struct DMSIMContactViewEventsVtbl {
500    BEGIN_INTERFACE
501      HRESULT (WINAPI *QueryInterface)(DMSIMContactViewEvents *This,REFIID riid,void **ppvObject);
502      ULONG (WINAPI *AddRef)(DMSIMContactViewEvents *This);
503      ULONG (WINAPI *Release)(DMSIMContactViewEvents *This);
504      HRESULT (WINAPI *GetTypeInfoCount)(DMSIMContactViewEvents *This,UINT *pctinfo);
505      HRESULT (WINAPI *GetTypeInfo)(DMSIMContactViewEvents *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
506      HRESULT (WINAPI *GetIDsOfNames)(DMSIMContactViewEvents *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
507      HRESULT (WINAPI *Invoke)(DMSIMContactViewEvents *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
508    END_INTERFACE
509  } DMSIMContactViewEventsVtbl;
510  struct DMSIMContactViewEvents {
511    CONST_VTBL struct DMSIMContactViewEventsVtbl *lpVtbl;
512  };
513#ifdef COBJMACROS
514#define DMSIMContactViewEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
515#define DMSIMContactViewEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
516#define DMSIMContactViewEvents_Release(This) (This)->lpVtbl->Release(This)
517#define DMSIMContactViewEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
518#define DMSIMContactViewEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
519#define DMSIMContactViewEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
520#define DMSIMContactViewEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
521#endif
522#endif
523#endif
524
525#ifndef __IMSIMMessageView_INTERFACE_DEFINED__
526#define __IMSIMMessageView_INTERFACE_DEFINED__
527  EXTERN_C const IID IID_IMSIMMessageView;
528#if defined(__cplusplus) && !defined(CINTERFACE)
529  struct IMSIMMessageView : public _IUseIMBase {
530  public:
531    virtual HRESULT WINAPI get_Window(__LONG32 *phwnd) = 0;
532    virtual HRESULT WINAPI put_Appearance(short appearance) = 0;
533    virtual HRESULT WINAPI get_Appearance(short *pappearance) = 0;
534    virtual HRESULT WINAPI get_ShowParticipants(VARIANT_BOOL *pVal) = 0;
535    virtual HRESULT WINAPI put_ShowParticipants(VARIANT_BOOL newVal) = 0;
536    virtual HRESULT WINAPI get_ShowMembers(VARIANT_BOOL *pVal) = 0;
537    virtual HRESULT WINAPI put_ShowMembers(VARIANT_BOOL newVal) = 0;
538    virtual HRESULT WINAPI get_ShowAvailable(VARIANT_BOOL *pVal) = 0;
539    virtual HRESULT WINAPI put_ShowAvailable(VARIANT_BOOL newVal) = 0;
540    virtual HRESULT WINAPI get_AvailableList(VARIANT *pVal) = 0;
541    virtual HRESULT WINAPI put_AvailableList(VARIANT newVal) = 0;
542    virtual HRESULT WINAPI get_ShowMessageHistory(VARIANT_BOOL *pVal) = 0;
543    virtual HRESULT WINAPI put_ShowMessageHistory(VARIANT_BOOL newVal) = 0;
544    virtual HRESULT WINAPI get_ShowEdit(VARIANT_BOOL *pVal) = 0;
545    virtual HRESULT WINAPI put_ShowEdit(VARIANT_BOOL newVal) = 0;
546    virtual HRESULT WINAPI get_HideStatus(VARIANT_BOOL *pVal) = 0;
547    virtual HRESULT WINAPI put_HideStatus(VARIANT_BOOL newVal) = 0;
548    virtual HRESULT WINAPI get_MessageHistory(BSTR *pVal) = 0;
549    virtual HRESULT WINAPI get_StatusText(BSTR *pVal) = 0;
550    virtual HRESULT WINAPI put_StatusText(BSTR newVal) = 0;
551    virtual HRESULT WINAPI get_MessageText(BSTR *pVal) = 0;
552    virtual HRESULT WINAPI put_MessageText(BSTR newVal) = 0;
553    virtual HRESULT WINAPI Invite(VARIANT varContact) = 0;
554    virtual HRESULT WINAPI EndSession(void) = 0;
555    virtual HRESULT WINAPI AddToAvailable(VARIANT varContact) = 0;
556    virtual HRESULT WINAPI RemoveFromAvailable(VARIANT varContact) = 0;
557    virtual HRESULT WINAPI InviteNetMeeting(void) = 0;
558    virtual HRESULT WINAPI NetMeetingInvite(IDispatch *pIMSession,IDispatch *pContact,__LONG32 lInviteCookie) = 0;
559    virtual HRESULT WINAPI get_SourceURL(BSTR *pVal) = 0;
560    virtual HRESULT WINAPI put_SourceURL(BSTR newVal) = 0;
561    virtual HRESULT WINAPI get_InSession(VARIANT_BOOL *pVal) = 0;
562  };
563#else
564  typedef struct IMSIMMessageViewVtbl {
565    BEGIN_INTERFACE
566      HRESULT (WINAPI *QueryInterface)(IMSIMMessageView *This,REFIID riid,void **ppvObject);
567      ULONG (WINAPI *AddRef)(IMSIMMessageView *This);
568      ULONG (WINAPI *Release)(IMSIMMessageView *This);
569      HRESULT (WINAPI *GetTypeInfoCount)(IMSIMMessageView *This,UINT *pctinfo);
570      HRESULT (WINAPI *GetTypeInfo)(IMSIMMessageView *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
571      HRESULT (WINAPI *GetIDsOfNames)(IMSIMMessageView *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
572      HRESULT (WINAPI *Invoke)(IMSIMMessageView *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
573      HRESULT (WINAPI *SetService)(IMSIMMessageView *This,IDispatch *pService,IDispatch *pApp);
574      HRESULT (WINAPI *get_Service)(IMSIMMessageView *This,short *pVal);
575      HRESULT (WINAPI *put_Service)(IMSIMMessageView *This,short newVal);
576      HRESULT (WINAPI *get_HasService)(IMSIMMessageView *This,VARIANT_BOOL *pVal);
577      HRESULT (WINAPI *get_AutoLogon)(IMSIMMessageView *This,VARIANT_BOOL *pVal);
578      HRESULT (WINAPI *put_AutoLogon)(IMSIMMessageView *This,VARIANT_BOOL newVal);
579      HRESULT (WINAPI *get_LoggedOn)(IMSIMMessageView *This,VARIANT_BOOL *pVal);
580      HRESULT (WINAPI *Logon)(IMSIMMessageView *This,BSTR bstrAddress,BSTR bstrName,BSTR bstrPassword,BSTR bstrDomain);
581      HRESULT (WINAPI *Logoff)(IMSIMMessageView *This);
582      HRESULT (WINAPI *GetLocalState)(IMSIMMessageView *This,VARIANT *pvarState,VARIANT *pvarDescription,VARIANT *pvarData);
583      HRESULT (WINAPI *SetLocalState)(IMSIMMessageView *This,__LONG32 lState,VARIANT varDescription,VARIANT varData);
584      HRESULT (WINAPI *get_Window)(IMSIMMessageView *This,__LONG32 *phwnd);
585      HRESULT (WINAPI *put_Appearance)(IMSIMMessageView *This,short appearance);
586      HRESULT (WINAPI *get_Appearance)(IMSIMMessageView *This,short *pappearance);
587      HRESULT (WINAPI *get_ShowParticipants)(IMSIMMessageView *This,VARIANT_BOOL *pVal);
588      HRESULT (WINAPI *put_ShowParticipants)(IMSIMMessageView *This,VARIANT_BOOL newVal);
589      HRESULT (WINAPI *get_ShowMembers)(IMSIMMessageView *This,VARIANT_BOOL *pVal);
590      HRESULT (WINAPI *put_ShowMembers)(IMSIMMessageView *This,VARIANT_BOOL newVal);
591      HRESULT (WINAPI *get_ShowAvailable)(IMSIMMessageView *This,VARIANT_BOOL *pVal);
592      HRESULT (WINAPI *put_ShowAvailable)(IMSIMMessageView *This,VARIANT_BOOL newVal);
593      HRESULT (WINAPI *get_AvailableList)(IMSIMMessageView *This,VARIANT *pVal);
594      HRESULT (WINAPI *put_AvailableList)(IMSIMMessageView *This,VARIANT newVal);
595      HRESULT (WINAPI *get_ShowMessageHistory)(IMSIMMessageView *This,VARIANT_BOOL *pVal);
596      HRESULT (WINAPI *put_ShowMessageHistory)(IMSIMMessageView *This,VARIANT_BOOL newVal);
597      HRESULT (WINAPI *get_ShowEdit)(IMSIMMessageView *This,VARIANT_BOOL *pVal);
598      HRESULT (WINAPI *put_ShowEdit)(IMSIMMessageView *This,VARIANT_BOOL newVal);
599      HRESULT (WINAPI *get_HideStatus)(IMSIMMessageView *This,VARIANT_BOOL *pVal);
600      HRESULT (WINAPI *put_HideStatus)(IMSIMMessageView *This,VARIANT_BOOL newVal);
601      HRESULT (WINAPI *get_MessageHistory)(IMSIMMessageView *This,BSTR *pVal);
602      HRESULT (WINAPI *get_StatusText)(IMSIMMessageView *This,BSTR *pVal);
603      HRESULT (WINAPI *put_StatusText)(IMSIMMessageView *This,BSTR newVal);
604      HRESULT (WINAPI *get_MessageText)(IMSIMMessageView *This,BSTR *pVal);
605      HRESULT (WINAPI *put_MessageText)(IMSIMMessageView *This,BSTR newVal);
606      HRESULT (WINAPI *Invite)(IMSIMMessageView *This,VARIANT varContact);
607      HRESULT (WINAPI *EndSession)(IMSIMMessageView *This);
608      HRESULT (WINAPI *AddToAvailable)(IMSIMMessageView *This,VARIANT varContact);
609      HRESULT (WINAPI *RemoveFromAvailable)(IMSIMMessageView *This,VARIANT varContact);
610      HRESULT (WINAPI *InviteNetMeeting)(IMSIMMessageView *This);
611      HRESULT (WINAPI *NetMeetingInvite)(IMSIMMessageView *This,IDispatch *pIMSession,IDispatch *pContact,__LONG32 lInviteCookie);
612      HRESULT (WINAPI *get_SourceURL)(IMSIMMessageView *This,BSTR *pVal);
613      HRESULT (WINAPI *put_SourceURL)(IMSIMMessageView *This,BSTR newVal);
614      HRESULT (WINAPI *get_InSession)(IMSIMMessageView *This,VARIANT_BOOL *pVal);
615    END_INTERFACE
616  } IMSIMMessageViewVtbl;
617  struct IMSIMMessageView {
618    CONST_VTBL struct IMSIMMessageViewVtbl *lpVtbl;
619  };
620#ifdef COBJMACROS
621#define IMSIMMessageView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
622#define IMSIMMessageView_AddRef(This) (This)->lpVtbl->AddRef(This)
623#define IMSIMMessageView_Release(This) (This)->lpVtbl->Release(This)
624#define IMSIMMessageView_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
625#define IMSIMMessageView_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
626#define IMSIMMessageView_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
627#define IMSIMMessageView_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
628#define IMSIMMessageView_SetService(This,pService,pApp) (This)->lpVtbl->SetService(This,pService,pApp)
629#define IMSIMMessageView_get_Service(This,pVal) (This)->lpVtbl->get_Service(This,pVal)
630#define IMSIMMessageView_put_Service(This,newVal) (This)->lpVtbl->put_Service(This,newVal)
631#define IMSIMMessageView_get_HasService(This,pVal) (This)->lpVtbl->get_HasService(This,pVal)
632#define IMSIMMessageView_get_AutoLogon(This,pVal) (This)->lpVtbl->get_AutoLogon(This,pVal)
633#define IMSIMMessageView_put_AutoLogon(This,newVal) (This)->lpVtbl->put_AutoLogon(This,newVal)
634#define IMSIMMessageView_get_LoggedOn(This,pVal) (This)->lpVtbl->get_LoggedOn(This,pVal)
635#define IMSIMMessageView_Logon(This,bstrAddress,bstrName,bstrPassword,bstrDomain) (This)->lpVtbl->Logon(This,bstrAddress,bstrName,bstrPassword,bstrDomain)
636#define IMSIMMessageView_Logoff(This) (This)->lpVtbl->Logoff(This)
637#define IMSIMMessageView_GetLocalState(This,pvarState,pvarDescription,pvarData) (This)->lpVtbl->GetLocalState(This,pvarState,pvarDescription,pvarData)
638#define IMSIMMessageView_SetLocalState(This,lState,varDescription,varData) (This)->lpVtbl->SetLocalState(This,lState,varDescription,varData)
639#define IMSIMMessageView_get_Window(This,phwnd) (This)->lpVtbl->get_Window(This,phwnd)
640#define IMSIMMessageView_put_Appearance(This,appearance) (This)->lpVtbl->put_Appearance(This,appearance)
641#define IMSIMMessageView_get_Appearance(This,pappearance) (This)->lpVtbl->get_Appearance(This,pappearance)
642#define IMSIMMessageView_get_ShowParticipants(This,pVal) (This)->lpVtbl->get_ShowParticipants(This,pVal)
643#define IMSIMMessageView_put_ShowParticipants(This,newVal) (This)->lpVtbl->put_ShowParticipants(This,newVal)
644#define IMSIMMessageView_get_ShowMembers(This,pVal) (This)->lpVtbl->get_ShowMembers(This,pVal)
645#define IMSIMMessageView_put_ShowMembers(This,newVal) (This)->lpVtbl->put_ShowMembers(This,newVal)
646#define IMSIMMessageView_get_ShowAvailable(This,pVal) (This)->lpVtbl->get_ShowAvailable(This,pVal)
647#define IMSIMMessageView_put_ShowAvailable(This,newVal) (This)->lpVtbl->put_ShowAvailable(This,newVal)
648#define IMSIMMessageView_get_AvailableList(This,pVal) (This)->lpVtbl->get_AvailableList(This,pVal)
649#define IMSIMMessageView_put_AvailableList(This,newVal) (This)->lpVtbl->put_AvailableList(This,newVal)
650#define IMSIMMessageView_get_ShowMessageHistory(This,pVal) (This)->lpVtbl->get_ShowMessageHistory(This,pVal)
651#define IMSIMMessageView_put_ShowMessageHistory(This,newVal) (This)->lpVtbl->put_ShowMessageHistory(This,newVal)
652#define IMSIMMessageView_get_ShowEdit(This,pVal) (This)->lpVtbl->get_ShowEdit(This,pVal)
653#define IMSIMMessageView_put_ShowEdit(This,newVal) (This)->lpVtbl->put_ShowEdit(This,newVal)
654#define IMSIMMessageView_get_HideStatus(This,pVal) (This)->lpVtbl->get_HideStatus(This,pVal)
655#define IMSIMMessageView_put_HideStatus(This,newVal) (This)->lpVtbl->put_HideStatus(This,newVal)
656#define IMSIMMessageView_get_MessageHistory(This,pVal) (This)->lpVtbl->get_MessageHistory(This,pVal)
657#define IMSIMMessageView_get_StatusText(This,pVal) (This)->lpVtbl->get_StatusText(This,pVal)
658#define IMSIMMessageView_put_StatusText(This,newVal) (This)->lpVtbl->put_StatusText(This,newVal)
659#define IMSIMMessageView_get_MessageText(This,pVal) (This)->lpVtbl->get_MessageText(This,pVal)
660#define IMSIMMessageView_put_MessageText(This,newVal) (This)->lpVtbl->put_MessageText(This,newVal)
661#define IMSIMMessageView_Invite(This,varContact) (This)->lpVtbl->Invite(This,varContact)
662#define IMSIMMessageView_EndSession(This) (This)->lpVtbl->EndSession(This)
663#define IMSIMMessageView_AddToAvailable(This,varContact) (This)->lpVtbl->AddToAvailable(This,varContact)
664#define IMSIMMessageView_RemoveFromAvailable(This,varContact) (This)->lpVtbl->RemoveFromAvailable(This,varContact)
665#define IMSIMMessageView_InviteNetMeeting(This) (This)->lpVtbl->InviteNetMeeting(This)
666#define IMSIMMessageView_NetMeetingInvite(This,pIMSession,pContact,lInviteCookie) (This)->lpVtbl->NetMeetingInvite(This,pIMSession,pContact,lInviteCookie)
667#define IMSIMMessageView_get_SourceURL(This,pVal) (This)->lpVtbl->get_SourceURL(This,pVal)
668#define IMSIMMessageView_put_SourceURL(This,newVal) (This)->lpVtbl->put_SourceURL(This,newVal)
669#define IMSIMMessageView_get_InSession(This,pVal) (This)->lpVtbl->get_InSession(This,pVal)
670#endif
671#endif
672  HRESULT WINAPI IMSIMMessageView_get_Window_Proxy(IMSIMMessageView *This,__LONG32 *phwnd);
673  void __RPC_STUB IMSIMMessageView_get_Window_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
674  HRESULT WINAPI IMSIMMessageView_put_Appearance_Proxy(IMSIMMessageView *This,short appearance);
675  void __RPC_STUB IMSIMMessageView_put_Appearance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
676  HRESULT WINAPI IMSIMMessageView_get_Appearance_Proxy(IMSIMMessageView *This,short *pappearance);
677  void __RPC_STUB IMSIMMessageView_get_Appearance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
678  HRESULT WINAPI IMSIMMessageView_get_ShowParticipants_Proxy(IMSIMMessageView *This,VARIANT_BOOL *pVal);
679  void __RPC_STUB IMSIMMessageView_get_ShowParticipants_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
680  HRESULT WINAPI IMSIMMessageView_put_ShowParticipants_Proxy(IMSIMMessageView *This,VARIANT_BOOL newVal);
681  void __RPC_STUB IMSIMMessageView_put_ShowParticipants_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
682  HRESULT WINAPI IMSIMMessageView_get_ShowMembers_Proxy(IMSIMMessageView *This,VARIANT_BOOL *pVal);
683  void __RPC_STUB IMSIMMessageView_get_ShowMembers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
684  HRESULT WINAPI IMSIMMessageView_put_ShowMembers_Proxy(IMSIMMessageView *This,VARIANT_BOOL newVal);
685  void __RPC_STUB IMSIMMessageView_put_ShowMembers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
686  HRESULT WINAPI IMSIMMessageView_get_ShowAvailable_Proxy(IMSIMMessageView *This,VARIANT_BOOL *pVal);
687  void __RPC_STUB IMSIMMessageView_get_ShowAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
688  HRESULT WINAPI IMSIMMessageView_put_ShowAvailable_Proxy(IMSIMMessageView *This,VARIANT_BOOL newVal);
689  void __RPC_STUB IMSIMMessageView_put_ShowAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
690  HRESULT WINAPI IMSIMMessageView_get_AvailableList_Proxy(IMSIMMessageView *This,VARIANT *pVal);
691  void __RPC_STUB IMSIMMessageView_get_AvailableList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
692  HRESULT WINAPI IMSIMMessageView_put_AvailableList_Proxy(IMSIMMessageView *This,VARIANT newVal);
693  void __RPC_STUB IMSIMMessageView_put_AvailableList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
694  HRESULT WINAPI IMSIMMessageView_get_ShowMessageHistory_Proxy(IMSIMMessageView *This,VARIANT_BOOL *pVal);
695  void __RPC_STUB IMSIMMessageView_get_ShowMessageHistory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
696  HRESULT WINAPI IMSIMMessageView_put_ShowMessageHistory_Proxy(IMSIMMessageView *This,VARIANT_BOOL newVal);
697  void __RPC_STUB IMSIMMessageView_put_ShowMessageHistory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
698  HRESULT WINAPI IMSIMMessageView_get_ShowEdit_Proxy(IMSIMMessageView *This,VARIANT_BOOL *pVal);
699  void __RPC_STUB IMSIMMessageView_get_ShowEdit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
700  HRESULT WINAPI IMSIMMessageView_put_ShowEdit_Proxy(IMSIMMessageView *This,VARIANT_BOOL newVal);
701  void __RPC_STUB IMSIMMessageView_put_ShowEdit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
702  HRESULT WINAPI IMSIMMessageView_get_HideStatus_Proxy(IMSIMMessageView *This,VARIANT_BOOL *pVal);
703  void __RPC_STUB IMSIMMessageView_get_HideStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
704  HRESULT WINAPI IMSIMMessageView_put_HideStatus_Proxy(IMSIMMessageView *This,VARIANT_BOOL newVal);
705  void __RPC_STUB IMSIMMessageView_put_HideStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
706  HRESULT WINAPI IMSIMMessageView_get_MessageHistory_Proxy(IMSIMMessageView *This,BSTR *pVal);
707  void __RPC_STUB IMSIMMessageView_get_MessageHistory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
708  HRESULT WINAPI IMSIMMessageView_get_StatusText_Proxy(IMSIMMessageView *This,BSTR *pVal);
709  void __RPC_STUB IMSIMMessageView_get_StatusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
710  HRESULT WINAPI IMSIMMessageView_put_StatusText_Proxy(IMSIMMessageView *This,BSTR newVal);
711  void __RPC_STUB IMSIMMessageView_put_StatusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
712  HRESULT WINAPI IMSIMMessageView_get_MessageText_Proxy(IMSIMMessageView *This,BSTR *pVal);
713  void __RPC_STUB IMSIMMessageView_get_MessageText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
714  HRESULT WINAPI IMSIMMessageView_put_MessageText_Proxy(IMSIMMessageView *This,BSTR newVal);
715  void __RPC_STUB IMSIMMessageView_put_MessageText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
716  HRESULT WINAPI IMSIMMessageView_Invite_Proxy(IMSIMMessageView *This,VARIANT varContact);
717  void __RPC_STUB IMSIMMessageView_Invite_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
718  HRESULT WINAPI IMSIMMessageView_EndSession_Proxy(IMSIMMessageView *This);
719  void __RPC_STUB IMSIMMessageView_EndSession_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
720  HRESULT WINAPI IMSIMMessageView_AddToAvailable_Proxy(IMSIMMessageView *This,VARIANT varContact);
721  void __RPC_STUB IMSIMMessageView_AddToAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
722  HRESULT WINAPI IMSIMMessageView_RemoveFromAvailable_Proxy(IMSIMMessageView *This,VARIANT varContact);
723  void __RPC_STUB IMSIMMessageView_RemoveFromAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
724  HRESULT WINAPI IMSIMMessageView_InviteNetMeeting_Proxy(IMSIMMessageView *This);
725  void __RPC_STUB IMSIMMessageView_InviteNetMeeting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
726  HRESULT WINAPI IMSIMMessageView_NetMeetingInvite_Proxy(IMSIMMessageView *This,IDispatch *pIMSession,IDispatch *pContact,__LONG32 lInviteCookie);
727  void __RPC_STUB IMSIMMessageView_NetMeetingInvite_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
728  HRESULT WINAPI IMSIMMessageView_get_SourceURL_Proxy(IMSIMMessageView *This,BSTR *pVal);
729  void __RPC_STUB IMSIMMessageView_get_SourceURL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
730  HRESULT WINAPI IMSIMMessageView_put_SourceURL_Proxy(IMSIMMessageView *This,BSTR newVal);
731  void __RPC_STUB IMSIMMessageView_put_SourceURL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
732  HRESULT WINAPI IMSIMMessageView_get_InSession_Proxy(IMSIMMessageView *This,VARIANT_BOOL *pVal);
733  void __RPC_STUB IMSIMMessageView_get_InSession_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
734#endif
735
736#ifndef __DMSIMMessageViewEvents_DISPINTERFACE_DEFINED__
737#define __DMSIMMessageViewEvents_DISPINTERFACE_DEFINED__
738  EXTERN_C const IID DIID_DMSIMMessageViewEvents;
739#if defined(__cplusplus) && !defined(CINTERFACE)
740  struct DMSIMMessageViewEvents : public IDispatch {
741  };
742#else
743  typedef struct DMSIMMessageViewEventsVtbl {
744    BEGIN_INTERFACE
745      HRESULT (WINAPI *QueryInterface)(DMSIMMessageViewEvents *This,REFIID riid,void **ppvObject);
746      ULONG (WINAPI *AddRef)(DMSIMMessageViewEvents *This);
747      ULONG (WINAPI *Release)(DMSIMMessageViewEvents *This);
748      HRESULT (WINAPI *GetTypeInfoCount)(DMSIMMessageViewEvents *This,UINT *pctinfo);
749      HRESULT (WINAPI *GetTypeInfo)(DMSIMMessageViewEvents *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
750      HRESULT (WINAPI *GetIDsOfNames)(DMSIMMessageViewEvents *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
751      HRESULT (WINAPI *Invoke)(DMSIMMessageViewEvents *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
752    END_INTERFACE
753  } DMSIMMessageViewEventsVtbl;
754  struct DMSIMMessageViewEvents {
755    CONST_VTBL struct DMSIMMessageViewEventsVtbl *lpVtbl;
756  };
757#ifdef COBJMACROS
758#define DMSIMMessageViewEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
759#define DMSIMMessageViewEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
760#define DMSIMMessageViewEvents_Release(This) (This)->lpVtbl->Release(This)
761#define DMSIMMessageViewEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
762#define DMSIMMessageViewEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
763#define DMSIMMessageViewEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
764#define DMSIMMessageViewEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
765#endif
766#endif
767#endif
768
769  EXTERN_C const CLSID CLSID_MSIMContactView;
770#ifdef __cplusplus
771  class MSIMContactView;
772#endif
773  EXTERN_C const CLSID CLSID_MSIMMessageView;
774#ifdef __cplusplus
775  class MSIMMessageView;
776#endif
777
778#ifndef __IIMSafeContact_INTERFACE_DEFINED__
779#define __IIMSafeContact_INTERFACE_DEFINED__
780  EXTERN_C const IID IID_IIMSafeContact;
781#if defined(__cplusplus) && !defined(CINTERFACE)
782  struct IIMSafeContact : public IDispatch {
783  public:
784    virtual HRESULT WINAPI get_LogonName(BSTR *pbstrLogonName) = 0;
785    virtual HRESULT WINAPI get_FriendlyName(BSTR *pbstrFriendlyName) = 0;
786    virtual HRESULT WINAPI get_EmailAddress(BSTR *pbstrEmailAddress) = 0;
787    virtual HRESULT WINAPI get_State(__LONG32 *plState) = 0;
788    virtual HRESULT WINAPI _SetBaseContact(IDispatch *pUnk) = 0;
789    virtual HRESULT WINAPI LaunchInstantMessage(void) = 0;
790    virtual HRESULT WINAPI LaunchEmail(void) = 0;
791    virtual HRESULT WINAPI LaunchNetMeeting(void) = 0;
792  };
793#else
794  typedef struct IIMSafeContactVtbl {
795    BEGIN_INTERFACE
796      HRESULT (WINAPI *QueryInterface)(IIMSafeContact *This,REFIID riid,void **ppvObject);
797      ULONG (WINAPI *AddRef)(IIMSafeContact *This);
798      ULONG (WINAPI *Release)(IIMSafeContact *This);
799      HRESULT (WINAPI *GetTypeInfoCount)(IIMSafeContact *This,UINT *pctinfo);
800      HRESULT (WINAPI *GetTypeInfo)(IIMSafeContact *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
801      HRESULT (WINAPI *GetIDsOfNames)(IIMSafeContact *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
802      HRESULT (WINAPI *Invoke)(IIMSafeContact *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
803      HRESULT (WINAPI *get_LogonName)(IIMSafeContact *This,BSTR *pbstrLogonName);
804      HRESULT (WINAPI *get_FriendlyName)(IIMSafeContact *This,BSTR *pbstrFriendlyName);
805      HRESULT (WINAPI *get_EmailAddress)(IIMSafeContact *This,BSTR *pbstrEmailAddress);
806      HRESULT (WINAPI *get_State)(IIMSafeContact *This,__LONG32 *plState);
807      HRESULT (WINAPI *_SetBaseContact)(IIMSafeContact *This,IDispatch *pUnk);
808      HRESULT (WINAPI *LaunchInstantMessage)(IIMSafeContact *This);
809      HRESULT (WINAPI *LaunchEmail)(IIMSafeContact *This);
810      HRESULT (WINAPI *LaunchNetMeeting)(IIMSafeContact *This);
811    END_INTERFACE
812  } IIMSafeContactVtbl;
813  struct IIMSafeContact {
814    CONST_VTBL struct IIMSafeContactVtbl *lpVtbl;
815  };
816#ifdef COBJMACROS
817#define IIMSafeContact_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
818#define IIMSafeContact_AddRef(This) (This)->lpVtbl->AddRef(This)
819#define IIMSafeContact_Release(This) (This)->lpVtbl->Release(This)
820#define IIMSafeContact_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
821#define IIMSafeContact_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
822#define IIMSafeContact_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
823#define IIMSafeContact_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
824#define IIMSafeContact_get_LogonName(This,pbstrLogonName) (This)->lpVtbl->get_LogonName(This,pbstrLogonName)
825#define IIMSafeContact_get_FriendlyName(This,pbstrFriendlyName) (This)->lpVtbl->get_FriendlyName(This,pbstrFriendlyName)
826#define IIMSafeContact_get_EmailAddress(This,pbstrEmailAddress) (This)->lpVtbl->get_EmailAddress(This,pbstrEmailAddress)
827#define IIMSafeContact_get_State(This,plState) (This)->lpVtbl->get_State(This,plState)
828#define IIMSafeContact__SetBaseContact(This,pUnk) (This)->lpVtbl->_SetBaseContact(This,pUnk)
829#define IIMSafeContact_LaunchInstantMessage(This) (This)->lpVtbl->LaunchInstantMessage(This)
830#define IIMSafeContact_LaunchEmail(This) (This)->lpVtbl->LaunchEmail(This)
831#define IIMSafeContact_LaunchNetMeeting(This) (This)->lpVtbl->LaunchNetMeeting(This)
832#endif
833#endif
834  HRESULT WINAPI IIMSafeContact_get_LogonName_Proxy(IIMSafeContact *This,BSTR *pbstrLogonName);
835  void __RPC_STUB IIMSafeContact_get_LogonName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
836  HRESULT WINAPI IIMSafeContact_get_FriendlyName_Proxy(IIMSafeContact *This,BSTR *pbstrFriendlyName);
837  void __RPC_STUB IIMSafeContact_get_FriendlyName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
838  HRESULT WINAPI IIMSafeContact_get_EmailAddress_Proxy(IIMSafeContact *This,BSTR *pbstrEmailAddress);
839  void __RPC_STUB IIMSafeContact_get_EmailAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
840  HRESULT WINAPI IIMSafeContact_get_State_Proxy(IIMSafeContact *This,__LONG32 *plState);
841  void __RPC_STUB IIMSafeContact_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
842  HRESULT WINAPI IIMSafeContact__SetBaseContact_Proxy(IIMSafeContact *This,IDispatch *pUnk);
843  void __RPC_STUB IIMSafeContact__SetBaseContact_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
844  HRESULT WINAPI IIMSafeContact_LaunchInstantMessage_Proxy(IIMSafeContact *This);
845  void __RPC_STUB IIMSafeContact_LaunchInstantMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
846  HRESULT WINAPI IIMSafeContact_LaunchEmail_Proxy(IIMSafeContact *This);
847  void __RPC_STUB IIMSafeContact_LaunchEmail_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
848  HRESULT WINAPI IIMSafeContact_LaunchNetMeeting_Proxy(IIMSafeContact *This);
849  void __RPC_STUB IIMSafeContact_LaunchNetMeeting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
850#endif
851
852#ifndef __IMSIMContactList_INTERFACE_DEFINED__
853#define __IMSIMContactList_INTERFACE_DEFINED__
854  EXTERN_C const IID IID_IMSIMContactList;
855#if defined(__cplusplus) && !defined(CINTERFACE)
856  struct IMSIMContactList : public _IUseIMBase {
857  public:
858    virtual HRESULT WINAPI get_List(VARIANT *pvarList) = 0;
859    virtual HRESULT WINAPI put_List(VARIANT varList) = 0;
860    virtual HRESULT WINAPI Add(VARIANT vUser) = 0;
861    virtual HRESULT WINAPI Remove(VARIANT vUser) = 0;
862    virtual HRESULT WINAPI get_SelectedMenuOptions(__LONG32 lRow,__LONG32 *pVal) = 0;
863    virtual HRESULT WINAPI InstantMessage(__LONG32 lRow) = 0;
864    virtual HRESULT WINAPI EMail(__LONG32 lRow) = 0;
865    virtual HRESULT WINAPI Invite(__LONG32 lRow) = 0;
866    virtual HRESULT WINAPI Block(__LONG32 lRow) = 0;
867    virtual HRESULT WINAPI Unblock(__LONG32 lRow) = 0;
868    virtual HRESULT WINAPI get_Count(__LONG32 *pnCount) = 0;
869    virtual HRESULT WINAPI get_Item(VARIANT Var,VARIANT *pSafeContact) = 0;
870    virtual HRESULT WINAPI get__NewEnum(IUnknown **ppunkEnum) = 0;
871    virtual HRESULT WINAPI get_LocalState(__LONG32 *pnState) = 0;
872    virtual HRESULT WINAPI put_LocalState(__LONG32 nState) = 0;
873    virtual HRESULT WINAPI get_LocalLogonName(BSTR *pval) = 0;
874  };
875#else
876  typedef struct IMSIMContactListVtbl {
877    BEGIN_INTERFACE
878      HRESULT (WINAPI *QueryInterface)(IMSIMContactList *This,REFIID riid,void **ppvObject);
879      ULONG (WINAPI *AddRef)(IMSIMContactList *This);
880      ULONG (WINAPI *Release)(IMSIMContactList *This);
881      HRESULT (WINAPI *GetTypeInfoCount)(IMSIMContactList *This,UINT *pctinfo);
882      HRESULT (WINAPI *GetTypeInfo)(IMSIMContactList *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
883      HRESULT (WINAPI *GetIDsOfNames)(IMSIMContactList *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
884      HRESULT (WINAPI *Invoke)(IMSIMContactList *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
885      HRESULT (WINAPI *SetService)(IMSIMContactList *This,IDispatch *pService,IDispatch *pApp);
886      HRESULT (WINAPI *get_Service)(IMSIMContactList *This,short *pVal);
887      HRESULT (WINAPI *put_Service)(IMSIMContactList *This,short newVal);
888      HRESULT (WINAPI *get_HasService)(IMSIMContactList *This,VARIANT_BOOL *pVal);
889      HRESULT (WINAPI *get_AutoLogon)(IMSIMContactList *This,VARIANT_BOOL *pVal);
890      HRESULT (WINAPI *put_AutoLogon)(IMSIMContactList *This,VARIANT_BOOL newVal);
891      HRESULT (WINAPI *get_LoggedOn)(IMSIMContactList *This,VARIANT_BOOL *pVal);
892      HRESULT (WINAPI *Logon)(IMSIMContactList *This,BSTR bstrAddress,BSTR bstrName,BSTR bstrPassword,BSTR bstrDomain);
893      HRESULT (WINAPI *Logoff)(IMSIMContactList *This);
894      HRESULT (WINAPI *GetLocalState)(IMSIMContactList *This,VARIANT *pvarState,VARIANT *pvarDescription,VARIANT *pvarData);
895      HRESULT (WINAPI *SetLocalState)(IMSIMContactList *This,__LONG32 lState,VARIANT varDescription,VARIANT varData);
896      HRESULT (WINAPI *get_List)(IMSIMContactList *This,VARIANT *pvarList);
897      HRESULT (WINAPI *put_List)(IMSIMContactList *This,VARIANT varList);
898      HRESULT (WINAPI *Add)(IMSIMContactList *This,VARIANT vUser);
899      HRESULT (WINAPI *Remove)(IMSIMContactList *This,VARIANT vUser);
900      HRESULT (WINAPI *get_SelectedMenuOptions)(IMSIMContactList *This,__LONG32 lRow,__LONG32 *pVal);
901      HRESULT (WINAPI *InstantMessage)(IMSIMContactList *This,__LONG32 lRow);
902      HRESULT (WINAPI *EMail)(IMSIMContactList *This,__LONG32 lRow);
903      HRESULT (WINAPI *Invite)(IMSIMContactList *This,__LONG32 lRow);
904      HRESULT (WINAPI *Block)(IMSIMContactList *This,__LONG32 lRow);
905      HRESULT (WINAPI *Unblock)(IMSIMContactList *This,__LONG32 lRow);
906      HRESULT (WINAPI *get_Count)(IMSIMContactList *This,__LONG32 *pnCount);
907      HRESULT (WINAPI *get_Item)(IMSIMContactList *This,VARIANT Var,VARIANT *pSafeContact);
908      HRESULT (WINAPI *get__NewEnum)(IMSIMContactList *This,IUnknown **ppunkEnum);
909      HRESULT (WINAPI *get_LocalState)(IMSIMContactList *This,__LONG32 *pnState);
910      HRESULT (WINAPI *put_LocalState)(IMSIMContactList *This,__LONG32 nState);
911      HRESULT (WINAPI *get_LocalLogonName)(IMSIMContactList *This,BSTR *pval);
912    END_INTERFACE
913  } IMSIMContactListVtbl;
914  struct IMSIMContactList {
915    CONST_VTBL struct IMSIMContactListVtbl *lpVtbl;
916  };
917#ifdef COBJMACROS
918#define IMSIMContactList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
919#define IMSIMContactList_AddRef(This) (This)->lpVtbl->AddRef(This)
920#define IMSIMContactList_Release(This) (This)->lpVtbl->Release(This)
921#define IMSIMContactList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
922#define IMSIMContactList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
923#define IMSIMContactList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
924#define IMSIMContactList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
925#define IMSIMContactList_SetService(This,pService,pApp) (This)->lpVtbl->SetService(This,pService,pApp)
926#define IMSIMContactList_get_Service(This,pVal) (This)->lpVtbl->get_Service(This,pVal)
927#define IMSIMContactList_put_Service(This,newVal) (This)->lpVtbl->put_Service(This,newVal)
928#define IMSIMContactList_get_HasService(This,pVal) (This)->lpVtbl->get_HasService(This,pVal)
929#define IMSIMContactList_get_AutoLogon(This,pVal) (This)->lpVtbl->get_AutoLogon(This,pVal)
930#define IMSIMContactList_put_AutoLogon(This,newVal) (This)->lpVtbl->put_AutoLogon(This,newVal)
931#define IMSIMContactList_get_LoggedOn(This,pVal) (This)->lpVtbl->get_LoggedOn(This,pVal)
932#define IMSIMContactList_Logon(This,bstrAddress,bstrName,bstrPassword,bstrDomain) (This)->lpVtbl->Logon(This,bstrAddress,bstrName,bstrPassword,bstrDomain)
933#define IMSIMContactList_Logoff(This) (This)->lpVtbl->Logoff(This)
934#define IMSIMContactList_GetLocalState(This,pvarState,pvarDescription,pvarData) (This)->lpVtbl->GetLocalState(This,pvarState,pvarDescription,pvarData)
935#define IMSIMContactList_SetLocalState(This,lState,varDescription,varData) (This)->lpVtbl->SetLocalState(This,lState,varDescription,varData)
936#define IMSIMContactList_get_List(This,pvarList) (This)->lpVtbl->get_List(This,pvarList)
937#define IMSIMContactList_put_List(This,varList) (This)->lpVtbl->put_List(This,varList)
938#define IMSIMContactList_Add(This,vUser) (This)->lpVtbl->Add(This,vUser)
939#define IMSIMContactList_Remove(This,vUser) (This)->lpVtbl->Remove(This,vUser)
940#define IMSIMContactList_get_SelectedMenuOptions(This,lRow,pVal) (This)->lpVtbl->get_SelectedMenuOptions(This,lRow,pVal)
941#define IMSIMContactList_InstantMessage(This,lRow) (This)->lpVtbl->InstantMessage(This,lRow)
942#define IMSIMContactList_EMail(This,lRow) (This)->lpVtbl->EMail(This,lRow)
943#define IMSIMContactList_Invite(This,lRow) (This)->lpVtbl->Invite(This,lRow)
944#define IMSIMContactList_Block(This,lRow) (This)->lpVtbl->Block(This,lRow)
945#define IMSIMContactList_Unblock(This,lRow) (This)->lpVtbl->Unblock(This,lRow)
946#define IMSIMContactList_get_Count(This,pnCount) (This)->lpVtbl->get_Count(This,pnCount)
947#define IMSIMContactList_get_Item(This,Var,pSafeContact) (This)->lpVtbl->get_Item(This,Var,pSafeContact)
948#define IMSIMContactList_get__NewEnum(This,ppunkEnum) (This)->lpVtbl->get__NewEnum(This,ppunkEnum)
949#define IMSIMContactList_get_LocalState(This,pnState) (This)->lpVtbl->get_LocalState(This,pnState)
950#define IMSIMContactList_put_LocalState(This,nState) (This)->lpVtbl->put_LocalState(This,nState)
951#define IMSIMContactList_get_LocalLogonName(This,pval) (This)->lpVtbl->get_LocalLogonName(This,pval)
952#endif
953#endif
954  HRESULT WINAPI IMSIMContactList_get_List_Proxy(IMSIMContactList *This,VARIANT *pvarList);
955  void __RPC_STUB IMSIMContactList_get_List_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
956  HRESULT WINAPI IMSIMContactList_put_List_Proxy(IMSIMContactList *This,VARIANT varList);
957  void __RPC_STUB IMSIMContactList_put_List_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
958  HRESULT WINAPI IMSIMContactList_Add_Proxy(IMSIMContactList *This,VARIANT vUser);
959  void __RPC_STUB IMSIMContactList_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
960  HRESULT WINAPI IMSIMContactList_Remove_Proxy(IMSIMContactList *This,VARIANT vUser);
961  void __RPC_STUB IMSIMContactList_Remove_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
962  HRESULT WINAPI IMSIMContactList_get_SelectedMenuOptions_Proxy(IMSIMContactList *This,__LONG32 lRow,__LONG32 *pVal);
963  void __RPC_STUB IMSIMContactList_get_SelectedMenuOptions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
964  HRESULT WINAPI IMSIMContactList_InstantMessage_Proxy(IMSIMContactList *This,__LONG32 lRow);
965  void __RPC_STUB IMSIMContactList_InstantMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
966  HRESULT WINAPI IMSIMContactList_EMail_Proxy(IMSIMContactList *This,__LONG32 lRow);
967  void __RPC_STUB IMSIMContactList_EMail_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
968  HRESULT WINAPI IMSIMContactList_Invite_Proxy(IMSIMContactList *This,__LONG32 lRow);
969  void __RPC_STUB IMSIMContactList_Invite_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
970  HRESULT WINAPI IMSIMContactList_Block_Proxy(IMSIMContactList *This,__LONG32 lRow);
971  void __RPC_STUB IMSIMContactList_Block_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
972  HRESULT WINAPI IMSIMContactList_Unblock_Proxy(IMSIMContactList *This,__LONG32 lRow);
973  void __RPC_STUB IMSIMContactList_Unblock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
974  HRESULT WINAPI IMSIMContactList_get_Count_Proxy(IMSIMContactList *This,__LONG32 *pnCount);
975  void __RPC_STUB IMSIMContactList_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
976  HRESULT WINAPI IMSIMContactList_get_Item_Proxy(IMSIMContactList *This,VARIANT Var,VARIANT *pSafeContact);
977  void __RPC_STUB IMSIMContactList_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
978  HRESULT WINAPI IMSIMContactList_get__NewEnum_Proxy(IMSIMContactList *This,IUnknown **ppunkEnum);
979  void __RPC_STUB IMSIMContactList_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
980  HRESULT WINAPI IMSIMContactList_get_LocalState_Proxy(IMSIMContactList *This,__LONG32 *pnState);
981  void __RPC_STUB IMSIMContactList_get_LocalState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
982  HRESULT WINAPI IMSIMContactList_put_LocalState_Proxy(IMSIMContactList *This,__LONG32 nState);
983  void __RPC_STUB IMSIMContactList_put_LocalState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
984  HRESULT WINAPI IMSIMContactList_get_LocalLogonName_Proxy(IMSIMContactList *This,BSTR *pval);
985  void __RPC_STUB IMSIMContactList_get_LocalLogonName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
986#endif
987
988#ifndef __DIMContactListEvents_DISPINTERFACE_DEFINED__
989#define __DIMContactListEvents_DISPINTERFACE_DEFINED__
990  EXTERN_C const IID DIID_DIMContactListEvents;
991#if defined(__cplusplus) && !defined(CINTERFACE)
992  struct DIMContactListEvents : public IDispatch {
993  };
994#else
995  typedef struct DIMContactListEventsVtbl {
996    BEGIN_INTERFACE
997      HRESULT (WINAPI *QueryInterface)(DIMContactListEvents *This,REFIID riid,void **ppvObject);
998      ULONG (WINAPI *AddRef)(DIMContactListEvents *This);
999      ULONG (WINAPI *Release)(DIMContactListEvents *This);
1000      HRESULT (WINAPI *GetTypeInfoCount)(DIMContactListEvents *This,UINT *pctinfo);
1001      HRESULT (WINAPI *GetTypeInfo)(DIMContactListEvents *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
1002      HRESULT (WINAPI *GetIDsOfNames)(DIMContactListEvents *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
1003      HRESULT (WINAPI *Invoke)(DIMContactListEvents *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
1004    END_INTERFACE
1005  } DIMContactListEventsVtbl;
1006  struct DIMContactListEvents {
1007    CONST_VTBL struct DIMContactListEventsVtbl *lpVtbl;
1008  };
1009#ifdef COBJMACROS
1010#define DIMContactListEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1011#define DIMContactListEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
1012#define DIMContactListEvents_Release(This) (This)->lpVtbl->Release(This)
1013#define DIMContactListEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1014#define DIMContactListEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1015#define DIMContactListEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1016#define DIMContactListEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1017#endif
1018#endif
1019#endif
1020
1021  EXTERN_C const CLSID CLSID_MSIMContactList;
1022#ifdef __cplusplus
1023  class MSIMContactList;
1024#endif
1025  EXTERN_C const CLSID CLSID_IMSafeContact;
1026#ifdef __cplusplus
1027  class IMSafeContact;
1028#endif
1029#endif
1030
1031#ifdef __cplusplus
1032}
1033#endif
1034#endif
1035