807b116abf0c6edea85a99b702be5575c218ef09
[reactos.git] / reactos / w32api / include / mshtmhst.h
1 /*** Autogenerated by WIDL 0.9.2 from mshtmhst.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
4
5 #ifndef __WIDL_MSHTMHST_H
6 #define __WIDL_MSHTMHST_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include <ocidl.h>
11 #include <objidl.h>
12 #include <oleidl.h>
13 #include <oaidl.h>
14 #include <docobj.h>
15 #define CONTEXT_MENU_DEFAULT 0
16 #define CONTEXT_MENU_IMAGE 1
17 #define CONTEXT_MENU_CONTROL 2
18 #define CONTEXT_MENU_TABLE 3
19 #define CONTEXT_MENU_TEXTSELECT 4
20 #define CONTEXT_MENU_ANCHOR 5
21 #define CONTEXT_MENU_UNKNOWN 6
22 #define CONTEXT_MENU_IMGDYNSRC 7
23 #define CONTEXT_MENU_IMGART 8
24 #define CONTEXT_MENU_DEBUG 9
25 #define CONTEXT_MENU_VSCROLL 10
26 #define CONTEXT_MENU_HSCROLL 11
27 #define MENUEXT_SHOWDIALOG 1
28 #define DOCHOSTUIFLAG_BROWSER (DOCHOSTUIFLAG_DISABLE_HELP_MENU|DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE)
29 #define HTMLDLG_NOUI 0x0010
30 #define HTMLDLG_MODAL 0x0020
31 #define HTMLDLG_MODELESS 0x0040
32 #define HTMLDLG_PRINT_TEMPLATE 0x0080
33 #define HTMLDLG_VERIFY 0x0100
34 #define PRINT_DONTBOTHERUSER 0x0001
35 #define PRINT_WAITFORCOMPLETION 0x0002
36 #ifndef __IHTMLWindow2_FWD_DEFINED__
37 #define __IHTMLWindow2_FWD_DEFINED__
38 typedef interface IHTMLWindow2 IHTMLWindow2;
39 #endif
40 #ifndef __IHostDialogHelper_FWD_DEFINED__
41 #define __IHostDialogHelper_FWD_DEFINED__
42 typedef struct IHostDialogHelper IHostDialogHelper;
43 #endif
44
45 /*****************************************************************************
46 * IHostDialogHelper interface
47 */
48 #ifndef __IHostDialogHelper_INTERFACE_DEFINED__
49 #define __IHostDialogHelper_INTERFACE_DEFINED__
50
51 DEFINE_GUID(IID_IHostDialogHelper, 0x53dec138, 0xa51e, 0x11d2, 0x86,0x1e, 0x00,0xc0,0x4f,0xa3,0x5c,0x89);
52 #if defined(__cplusplus) && !defined(CINTERFACE)
53 struct IHostDialogHelper : public IUnknown
54 {
55 virtual HRESULT STDMETHODCALLTYPE ShowHTMLDialog(
56 HWND hwndParent,
57 IMoniker* pMk,
58 VARIANT* pvarArgIn,
59 WCHAR* pchOptions,
60 VARIANT* pvarArgOut,
61 IUnknown* punkHost) = 0;
62
63 };
64 #else
65 typedef struct IHostDialogHelperVtbl IHostDialogHelperVtbl;
66 struct IHostDialogHelper {
67 const IHostDialogHelperVtbl* lpVtbl;
68 };
69 struct IHostDialogHelperVtbl {
70 BEGIN_INTERFACE
71
72 /*** IUnknown methods ***/
73 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
74 IHostDialogHelper* This,
75 REFIID riid,
76 void** ppvObject);
77
78 ULONG (STDMETHODCALLTYPE *AddRef)(
79 IHostDialogHelper* This);
80
81 ULONG (STDMETHODCALLTYPE *Release)(
82 IHostDialogHelper* This);
83
84 /*** IHostDialogHelper methods ***/
85 HRESULT (STDMETHODCALLTYPE *ShowHTMLDialog)(
86 IHostDialogHelper* This,
87 HWND hwndParent,
88 IMoniker* pMk,
89 VARIANT* pvarArgIn,
90 WCHAR* pchOptions,
91 VARIANT* pvarArgOut,
92 IUnknown* punkHost);
93
94 END_INTERFACE
95 };
96
97 #ifdef COBJMACROS
98 /*** IUnknown methods ***/
99 #define IHostDialogHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
100 #define IHostDialogHelper_AddRef(p) (p)->lpVtbl->AddRef(p)
101 #define IHostDialogHelper_Release(p) (p)->lpVtbl->Release(p)
102 /*** IHostDialogHelper methods ***/
103 #define IHostDialogHelper_ShowHTMLDialog(p,a,b,c,d,e,f) (p)->lpVtbl->ShowHTMLDialog(p,a,b,c,d,e,f)
104 #endif
105
106 #endif
107
108 HRESULT CALLBACK IHostDialogHelper_ShowHTMLDialog_Proxy(
109 IHostDialogHelper* This,
110 HWND hwndParent,
111 IMoniker* pMk,
112 VARIANT* pvarArgIn,
113 WCHAR* pchOptions,
114 VARIANT* pvarArgOut,
115 IUnknown* punkHost);
116 void __RPC_STUB IHostDialogHelper_ShowHTMLDialog_Stub(
117 struct IRpcStubBuffer* This,
118 struct IRpcChannelBuffer* pRpcChannelBuffer,
119 PRPC_MESSAGE pRpcMessage,
120 DWORD* pdwStubPhase);
121
122 #endif /* __IHostDialogHelper_INTERFACE_DEFINED__ */
123
124 /*****************************************************************************
125 * HostDialogHelper coclass
126 */
127
128 DEFINE_GUID(CLSID_HostDialogHelper, 0x429af92c, 0xa51f, 0x11d2, 0x86,0x1e, 0x00,0xc0,0x4f,0xa3,0x5c,0x89);
129
130 typedef enum tagDOCHOSTUIDBLCLK {
131 DOCHOSTUIDBLCLK_DEFAULT = 0,
132 DOCHOSTUIDBLCLK_SHOWPROPERTIES = 1,
133 DOCHOSTUIDBLCLK_SHOWCODE = 2
134 } DOCHOSTUIDBLCLK;
135 typedef enum tagDOCHOSTUIFLAG {
136 DOCHOSTUIFLAG_DIALOG = 0x1,
137 DOCHOSTUIFLAG_DISABLE_HELP_MENU = 0x2,
138 DOCHOSTUIFLAG_NO3DBORDER = 0x4,
139 DOCHOSTUIFLAG_SCROLL_NO = 0x8,
140 DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = 0x10,
141 DOCHOSTUIFLAG_OPENNEWWIN = 0x20,
142 DOCHOSTUIFLAG_DISABLE_OFFSCREEN = 0x40,
143 DOCHOSTUIFLAG_FLAT_SCROLLBAR = 0x80,
144 DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = 0x100,
145 DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = 0x200,
146 DOCHOSTUIFLAG_OVERRIDEBEHAVIORFACTORY = 0x400,
147 DOCHOSTUIFLAG_CODEPAGELINKEDFONTS = 0x800,
148 DOCHOSTUIFLAG_URL_ENCODING_DISABLE_UTF8 = 0x1000,
149 DOCHOSTUIFLAG_URL_ENCODING_ENABLE_UTF8 = 0x2000,
150 DOCHOSTUIFLAG_ENABLE_FORMS_AUTOCOMPLETE = 0x4000,
151 DOCHOSTUIFLAG_ENABLE_INPLACE_NAVIGATION = 0x10000,
152 DOCHOSTUIFLAG_IME_ENABLE_RECONVERSION = 0x20000,
153 DOCHOSTUIFLAG_THEME = 0x40000,
154 DOCHOSTUIFLAG_NOTHEME = 0x80000,
155 DOCHOSTUIFLAG_NOPICS = 0x100000,
156 DOCHOSTUIFLAG_NO3DOUTERBORDER = 0x200000,
157 DOCHOSTUIFLAG_DISABLE_EDIT_NS_FIXUP = 0x400000,
158 DOCHOSTUIFLAG_LOCAL_MACHINE_ACCESS_CHECK = 0x800000,
159 DOCHOSTUIFLAG_DISABLE_UNTRUSTEDPROTOCOL = 0x1000000
160 } DOCHOSTUIFLAG;
161 #ifndef __IDocHostUIHandler_FWD_DEFINED__
162 #define __IDocHostUIHandler_FWD_DEFINED__
163 typedef struct IDocHostUIHandler IDocHostUIHandler;
164 #endif
165
166 typedef struct _DOCHOSTUIINFO {
167 ULONG cbSize;
168 DWORD dwFlags;
169 DWORD dwDoubleClick;
170 OLECHAR *pchHostCss;
171 OLECHAR *pchHostNS;
172 } DOCHOSTUIINFO;
173 /*****************************************************************************
174 * IDocHostUIHandler interface
175 */
176 #ifndef __IDocHostUIHandler_INTERFACE_DEFINED__
177 #define __IDocHostUIHandler_INTERFACE_DEFINED__
178
179 DEFINE_GUID(IID_IDocHostUIHandler, 0xbd3f23c0, 0xd43e, 0x11cf, 0x89,0x3b, 0x00,0xaa,0x00,0xbd,0xce,0x1a);
180 #if defined(__cplusplus) && !defined(CINTERFACE)
181 struct IDocHostUIHandler : public IUnknown
182 {
183 virtual HRESULT STDMETHODCALLTYPE ShowContextMenu(
184 DWORD dwID,
185 POINT* ppt,
186 IUnknown* pcmdtReserved,
187 IDispatch* pdispReserved) = 0;
188
189 virtual HRESULT STDMETHODCALLTYPE GetHostInfo(
190 DOCHOSTUIINFO* pInfo) = 0;
191
192 virtual HRESULT STDMETHODCALLTYPE ShowUI(
193 DWORD dwID,
194 IOleInPlaceActiveObject* pActiveObject,
195 IOleCommandTarget* pCommandTarget,
196 IOleInPlaceFrame* pFrame,
197 IOleInPlaceUIWindow* pDoc) = 0;
198
199 virtual HRESULT STDMETHODCALLTYPE HideUI(
200 ) = 0;
201
202 virtual HRESULT STDMETHODCALLTYPE UpdateUI(
203 ) = 0;
204
205 virtual HRESULT STDMETHODCALLTYPE EnableModeless(
206 BOOL fEnable) = 0;
207
208 virtual HRESULT STDMETHODCALLTYPE OnDocWindowActivate(
209 BOOL fActivate) = 0;
210
211 virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(
212 BOOL fActivate) = 0;
213
214 virtual HRESULT STDMETHODCALLTYPE ResizeBorder(
215 LPCRECT prcBorder,
216 IOleInPlaceUIWindow* pUIWindow,
217 BOOL fRameWindow) = 0;
218
219 virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
220 LPMSG lpMsg,
221 const GUID* pguidCmdGroup,
222 DWORD nCmdID) = 0;
223
224 virtual HRESULT STDMETHODCALLTYPE GetOptionKeyPath(
225 LPOLESTR* pchKey,
226 DWORD dw) = 0;
227
228 virtual HRESULT STDMETHODCALLTYPE GetDropTarget(
229 IDropTarget* pDropTarget,
230 IDropTarget** ppDropTarget) = 0;
231
232 virtual HRESULT STDMETHODCALLTYPE GetExternal(
233 IDispatch** ppDispatch) = 0;
234
235 virtual HRESULT STDMETHODCALLTYPE TranslateUrl(
236 DWORD dwTranslate,
237 OLECHAR* pchURLIn,
238 OLECHAR** ppchURLOut) = 0;
239
240 virtual HRESULT STDMETHODCALLTYPE FilterDataObject(
241 IDataObject* pDO,
242 IDataObject** ppDORet) = 0;
243
244 };
245 #else
246 typedef struct IDocHostUIHandlerVtbl IDocHostUIHandlerVtbl;
247 struct IDocHostUIHandler {
248 const IDocHostUIHandlerVtbl* lpVtbl;
249 };
250 struct IDocHostUIHandlerVtbl {
251 BEGIN_INTERFACE
252
253 /*** IUnknown methods ***/
254 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
255 IDocHostUIHandler* This,
256 REFIID riid,
257 void** ppvObject);
258
259 ULONG (STDMETHODCALLTYPE *AddRef)(
260 IDocHostUIHandler* This);
261
262 ULONG (STDMETHODCALLTYPE *Release)(
263 IDocHostUIHandler* This);
264
265 /*** IDocHostUIHandler methods ***/
266 HRESULT (STDMETHODCALLTYPE *ShowContextMenu)(
267 IDocHostUIHandler* This,
268 DWORD dwID,
269 POINT* ppt,
270 IUnknown* pcmdtReserved,
271 IDispatch* pdispReserved);
272
273 HRESULT (STDMETHODCALLTYPE *GetHostInfo)(
274 IDocHostUIHandler* This,
275 DOCHOSTUIINFO* pInfo);
276
277 HRESULT (STDMETHODCALLTYPE *ShowUI)(
278 IDocHostUIHandler* This,
279 DWORD dwID,
280 IOleInPlaceActiveObject* pActiveObject,
281 IOleCommandTarget* pCommandTarget,
282 IOleInPlaceFrame* pFrame,
283 IOleInPlaceUIWindow* pDoc);
284
285 HRESULT (STDMETHODCALLTYPE *HideUI)(
286 IDocHostUIHandler* This);
287
288 HRESULT (STDMETHODCALLTYPE *UpdateUI)(
289 IDocHostUIHandler* This);
290
291 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
292 IDocHostUIHandler* This,
293 BOOL fEnable);
294
295 HRESULT (STDMETHODCALLTYPE *OnDocWindowActivate)(
296 IDocHostUIHandler* This,
297 BOOL fActivate);
298
299 HRESULT (STDMETHODCALLTYPE *OnFrameWindowActivate)(
300 IDocHostUIHandler* This,
301 BOOL fActivate);
302
303 HRESULT (STDMETHODCALLTYPE *ResizeBorder)(
304 IDocHostUIHandler* This,
305 LPCRECT prcBorder,
306 IOleInPlaceUIWindow* pUIWindow,
307 BOOL fRameWindow);
308
309 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
310 IDocHostUIHandler* This,
311 LPMSG lpMsg,
312 const GUID* pguidCmdGroup,
313 DWORD nCmdID);
314
315 HRESULT (STDMETHODCALLTYPE *GetOptionKeyPath)(
316 IDocHostUIHandler* This,
317 LPOLESTR* pchKey,
318 DWORD dw);
319
320 HRESULT (STDMETHODCALLTYPE *GetDropTarget)(
321 IDocHostUIHandler* This,
322 IDropTarget* pDropTarget,
323 IDropTarget** ppDropTarget);
324
325 HRESULT (STDMETHODCALLTYPE *GetExternal)(
326 IDocHostUIHandler* This,
327 IDispatch** ppDispatch);
328
329 HRESULT (STDMETHODCALLTYPE *TranslateUrl)(
330 IDocHostUIHandler* This,
331 DWORD dwTranslate,
332 OLECHAR* pchURLIn,
333 OLECHAR** ppchURLOut);
334
335 HRESULT (STDMETHODCALLTYPE *FilterDataObject)(
336 IDocHostUIHandler* This,
337 IDataObject* pDO,
338 IDataObject** ppDORet);
339
340 END_INTERFACE
341 };
342
343 #ifdef COBJMACROS
344 /*** IUnknown methods ***/
345 #define IDocHostUIHandler_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
346 #define IDocHostUIHandler_AddRef(p) (p)->lpVtbl->AddRef(p)
347 #define IDocHostUIHandler_Release(p) (p)->lpVtbl->Release(p)
348 /*** IDocHostUIHandler methods ***/
349 #define IDocHostUIHandler_ShowContextMenu(p,a,b,c,d) (p)->lpVtbl->ShowContextMenu(p,a,b,c,d)
350 #define IDocHostUIHandler_GetHostInfo(p,a) (p)->lpVtbl->GetHostInfo(p,a)
351 #define IDocHostUIHandler_ShowUI(p,a,b,c,d,e) (p)->lpVtbl->ShowUI(p,a,b,c,d,e)
352 #define IDocHostUIHandler_HideUI(p) (p)->lpVtbl->HideUI(p)
353 #define IDocHostUIHandler_UpdateUI(p) (p)->lpVtbl->UpdateUI(p)
354 #define IDocHostUIHandler_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
355 #define IDocHostUIHandler_OnDocWindowActivate(p,a) (p)->lpVtbl->OnDocWindowActivate(p,a)
356 #define IDocHostUIHandler_OnFrameWindowActivate(p,a) (p)->lpVtbl->OnFrameWindowActivate(p,a)
357 #define IDocHostUIHandler_ResizeBorder(p,a,b,c) (p)->lpVtbl->ResizeBorder(p,a,b,c)
358 #define IDocHostUIHandler_TranslateAccelerator(p,a,b,c) (p)->lpVtbl->TranslateAccelerator(p,a,b,c)
359 #define IDocHostUIHandler_GetOptionKeyPath(p,a,b) (p)->lpVtbl->GetOptionKeyPath(p,a,b)
360 #define IDocHostUIHandler_GetDropTarget(p,a,b) (p)->lpVtbl->GetDropTarget(p,a,b)
361 #define IDocHostUIHandler_GetExternal(p,a) (p)->lpVtbl->GetExternal(p,a)
362 #define IDocHostUIHandler_TranslateUrl(p,a,b,c) (p)->lpVtbl->TranslateUrl(p,a,b,c)
363 #define IDocHostUIHandler_FilterDataObject(p,a,b) (p)->lpVtbl->FilterDataObject(p,a,b)
364 #endif
365
366 #endif
367
368 HRESULT CALLBACK IDocHostUIHandler_ShowContextMenu_Proxy(
369 IDocHostUIHandler* This,
370 DWORD dwID,
371 POINT* ppt,
372 IUnknown* pcmdtReserved,
373 IDispatch* pdispReserved);
374 void __RPC_STUB IDocHostUIHandler_ShowContextMenu_Stub(
375 struct IRpcStubBuffer* This,
376 struct IRpcChannelBuffer* pRpcChannelBuffer,
377 PRPC_MESSAGE pRpcMessage,
378 DWORD* pdwStubPhase);
379 HRESULT CALLBACK IDocHostUIHandler_GetHostInfo_Proxy(
380 IDocHostUIHandler* This,
381 DOCHOSTUIINFO* pInfo);
382 void __RPC_STUB IDocHostUIHandler_GetHostInfo_Stub(
383 struct IRpcStubBuffer* This,
384 struct IRpcChannelBuffer* pRpcChannelBuffer,
385 PRPC_MESSAGE pRpcMessage,
386 DWORD* pdwStubPhase);
387 HRESULT CALLBACK IDocHostUIHandler_ShowUI_Proxy(
388 IDocHostUIHandler* This,
389 DWORD dwID,
390 IOleInPlaceActiveObject* pActiveObject,
391 IOleCommandTarget* pCommandTarget,
392 IOleInPlaceFrame* pFrame,
393 IOleInPlaceUIWindow* pDoc);
394 void __RPC_STUB IDocHostUIHandler_ShowUI_Stub(
395 struct IRpcStubBuffer* This,
396 struct IRpcChannelBuffer* pRpcChannelBuffer,
397 PRPC_MESSAGE pRpcMessage,
398 DWORD* pdwStubPhase);
399 HRESULT CALLBACK IDocHostUIHandler_HideUI_Proxy(
400 IDocHostUIHandler* This);
401 void __RPC_STUB IDocHostUIHandler_HideUI_Stub(
402 struct IRpcStubBuffer* This,
403 struct IRpcChannelBuffer* pRpcChannelBuffer,
404 PRPC_MESSAGE pRpcMessage,
405 DWORD* pdwStubPhase);
406 HRESULT CALLBACK IDocHostUIHandler_UpdateUI_Proxy(
407 IDocHostUIHandler* This);
408 void __RPC_STUB IDocHostUIHandler_UpdateUI_Stub(
409 struct IRpcStubBuffer* This,
410 struct IRpcChannelBuffer* pRpcChannelBuffer,
411 PRPC_MESSAGE pRpcMessage,
412 DWORD* pdwStubPhase);
413 HRESULT CALLBACK IDocHostUIHandler_EnableModeless_Proxy(
414 IDocHostUIHandler* This,
415 BOOL fEnable);
416 void __RPC_STUB IDocHostUIHandler_EnableModeless_Stub(
417 struct IRpcStubBuffer* This,
418 struct IRpcChannelBuffer* pRpcChannelBuffer,
419 PRPC_MESSAGE pRpcMessage,
420 DWORD* pdwStubPhase);
421 HRESULT CALLBACK IDocHostUIHandler_OnDocWindowActivate_Proxy(
422 IDocHostUIHandler* This,
423 BOOL fActivate);
424 void __RPC_STUB IDocHostUIHandler_OnDocWindowActivate_Stub(
425 struct IRpcStubBuffer* This,
426 struct IRpcChannelBuffer* pRpcChannelBuffer,
427 PRPC_MESSAGE pRpcMessage,
428 DWORD* pdwStubPhase);
429 HRESULT CALLBACK IDocHostUIHandler_OnFrameWindowActivate_Proxy(
430 IDocHostUIHandler* This,
431 BOOL fActivate);
432 void __RPC_STUB IDocHostUIHandler_OnFrameWindowActivate_Stub(
433 struct IRpcStubBuffer* This,
434 struct IRpcChannelBuffer* pRpcChannelBuffer,
435 PRPC_MESSAGE pRpcMessage,
436 DWORD* pdwStubPhase);
437 HRESULT CALLBACK IDocHostUIHandler_ResizeBorder_Proxy(
438 IDocHostUIHandler* This,
439 LPCRECT prcBorder,
440 IOleInPlaceUIWindow* pUIWindow,
441 BOOL fRameWindow);
442 void __RPC_STUB IDocHostUIHandler_ResizeBorder_Stub(
443 struct IRpcStubBuffer* This,
444 struct IRpcChannelBuffer* pRpcChannelBuffer,
445 PRPC_MESSAGE pRpcMessage,
446 DWORD* pdwStubPhase);
447 HRESULT CALLBACK IDocHostUIHandler_TranslateAccelerator_Proxy(
448 IDocHostUIHandler* This,
449 LPMSG lpMsg,
450 const GUID* pguidCmdGroup,
451 DWORD nCmdID);
452 void __RPC_STUB IDocHostUIHandler_TranslateAccelerator_Stub(
453 struct IRpcStubBuffer* This,
454 struct IRpcChannelBuffer* pRpcChannelBuffer,
455 PRPC_MESSAGE pRpcMessage,
456 DWORD* pdwStubPhase);
457 HRESULT CALLBACK IDocHostUIHandler_GetOptionKeyPath_Proxy(
458 IDocHostUIHandler* This,
459 LPOLESTR* pchKey,
460 DWORD dw);
461 void __RPC_STUB IDocHostUIHandler_GetOptionKeyPath_Stub(
462 struct IRpcStubBuffer* This,
463 struct IRpcChannelBuffer* pRpcChannelBuffer,
464 PRPC_MESSAGE pRpcMessage,
465 DWORD* pdwStubPhase);
466 HRESULT CALLBACK IDocHostUIHandler_GetDropTarget_Proxy(
467 IDocHostUIHandler* This,
468 IDropTarget* pDropTarget,
469 IDropTarget** ppDropTarget);
470 void __RPC_STUB IDocHostUIHandler_GetDropTarget_Stub(
471 struct IRpcStubBuffer* This,
472 struct IRpcChannelBuffer* pRpcChannelBuffer,
473 PRPC_MESSAGE pRpcMessage,
474 DWORD* pdwStubPhase);
475 HRESULT CALLBACK IDocHostUIHandler_GetExternal_Proxy(
476 IDocHostUIHandler* This,
477 IDispatch** ppDispatch);
478 void __RPC_STUB IDocHostUIHandler_GetExternal_Stub(
479 struct IRpcStubBuffer* This,
480 struct IRpcChannelBuffer* pRpcChannelBuffer,
481 PRPC_MESSAGE pRpcMessage,
482 DWORD* pdwStubPhase);
483 HRESULT CALLBACK IDocHostUIHandler_TranslateUrl_Proxy(
484 IDocHostUIHandler* This,
485 DWORD dwTranslate,
486 OLECHAR* pchURLIn,
487 OLECHAR** ppchURLOut);
488 void __RPC_STUB IDocHostUIHandler_TranslateUrl_Stub(
489 struct IRpcStubBuffer* This,
490 struct IRpcChannelBuffer* pRpcChannelBuffer,
491 PRPC_MESSAGE pRpcMessage,
492 DWORD* pdwStubPhase);
493 HRESULT CALLBACK IDocHostUIHandler_FilterDataObject_Proxy(
494 IDocHostUIHandler* This,
495 IDataObject* pDO,
496 IDataObject** ppDORet);
497 void __RPC_STUB IDocHostUIHandler_FilterDataObject_Stub(
498 struct IRpcStubBuffer* This,
499 struct IRpcChannelBuffer* pRpcChannelBuffer,
500 PRPC_MESSAGE pRpcMessage,
501 DWORD* pdwStubPhase);
502
503 #endif /* __IDocHostUIHandler_INTERFACE_DEFINED__ */
504
505 #ifndef __IDocHostUIHandler2_FWD_DEFINED__
506 #define __IDocHostUIHandler2_FWD_DEFINED__
507 typedef struct IDocHostUIHandler2 IDocHostUIHandler2;
508 #endif
509
510 /*****************************************************************************
511 * IDocHostUIHandler2 interface
512 */
513 #ifndef __IDocHostUIHandler2_INTERFACE_DEFINED__
514 #define __IDocHostUIHandler2_INTERFACE_DEFINED__
515
516 DEFINE_GUID(IID_IDocHostUIHandler2, 0x3050f6d0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
517 #if defined(__cplusplus) && !defined(CINTERFACE)
518 struct IDocHostUIHandler2 : public IDocHostUIHandler
519 {
520 virtual HRESULT STDMETHODCALLTYPE GetOverrideKeyPath(
521 LPOLESTR* pchKey,
522 DWORD dw) = 0;
523
524 };
525 #else
526 typedef struct IDocHostUIHandler2Vtbl IDocHostUIHandler2Vtbl;
527 struct IDocHostUIHandler2 {
528 const IDocHostUIHandler2Vtbl* lpVtbl;
529 };
530 struct IDocHostUIHandler2Vtbl {
531 BEGIN_INTERFACE
532
533 /*** IUnknown methods ***/
534 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
535 IDocHostUIHandler2* This,
536 REFIID riid,
537 void** ppvObject);
538
539 ULONG (STDMETHODCALLTYPE *AddRef)(
540 IDocHostUIHandler2* This);
541
542 ULONG (STDMETHODCALLTYPE *Release)(
543 IDocHostUIHandler2* This);
544
545 /*** IDocHostUIHandler methods ***/
546 HRESULT (STDMETHODCALLTYPE *ShowContextMenu)(
547 IDocHostUIHandler2* This,
548 DWORD dwID,
549 POINT* ppt,
550 IUnknown* pcmdtReserved,
551 IDispatch* pdispReserved);
552
553 HRESULT (STDMETHODCALLTYPE *GetHostInfo)(
554 IDocHostUIHandler2* This,
555 DOCHOSTUIINFO* pInfo);
556
557 HRESULT (STDMETHODCALLTYPE *ShowUI)(
558 IDocHostUIHandler2* This,
559 DWORD dwID,
560 IOleInPlaceActiveObject* pActiveObject,
561 IOleCommandTarget* pCommandTarget,
562 IOleInPlaceFrame* pFrame,
563 IOleInPlaceUIWindow* pDoc);
564
565 HRESULT (STDMETHODCALLTYPE *HideUI)(
566 IDocHostUIHandler2* This);
567
568 HRESULT (STDMETHODCALLTYPE *UpdateUI)(
569 IDocHostUIHandler2* This);
570
571 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
572 IDocHostUIHandler2* This,
573 BOOL fEnable);
574
575 HRESULT (STDMETHODCALLTYPE *OnDocWindowActivate)(
576 IDocHostUIHandler2* This,
577 BOOL fActivate);
578
579 HRESULT (STDMETHODCALLTYPE *OnFrameWindowActivate)(
580 IDocHostUIHandler2* This,
581 BOOL fActivate);
582
583 HRESULT (STDMETHODCALLTYPE *ResizeBorder)(
584 IDocHostUIHandler2* This,
585 LPCRECT prcBorder,
586 IOleInPlaceUIWindow* pUIWindow,
587 BOOL fRameWindow);
588
589 HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
590 IDocHostUIHandler2* This,
591 LPMSG lpMsg,
592 const GUID* pguidCmdGroup,
593 DWORD nCmdID);
594
595 HRESULT (STDMETHODCALLTYPE *GetOptionKeyPath)(
596 IDocHostUIHandler2* This,
597 LPOLESTR* pchKey,
598 DWORD dw);
599
600 HRESULT (STDMETHODCALLTYPE *GetDropTarget)(
601 IDocHostUIHandler2* This,
602 IDropTarget* pDropTarget,
603 IDropTarget** ppDropTarget);
604
605 HRESULT (STDMETHODCALLTYPE *GetExternal)(
606 IDocHostUIHandler2* This,
607 IDispatch** ppDispatch);
608
609 HRESULT (STDMETHODCALLTYPE *TranslateUrl)(
610 IDocHostUIHandler2* This,
611 DWORD dwTranslate,
612 OLECHAR* pchURLIn,
613 OLECHAR** ppchURLOut);
614
615 HRESULT (STDMETHODCALLTYPE *FilterDataObject)(
616 IDocHostUIHandler2* This,
617 IDataObject* pDO,
618 IDataObject** ppDORet);
619
620 /*** IDocHostUIHandler2 methods ***/
621 HRESULT (STDMETHODCALLTYPE *GetOverrideKeyPath)(
622 IDocHostUIHandler2* This,
623 LPOLESTR* pchKey,
624 DWORD dw);
625
626 END_INTERFACE
627 };
628
629 #ifdef COBJMACROS
630 /*** IUnknown methods ***/
631 #define IDocHostUIHandler2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
632 #define IDocHostUIHandler2_AddRef(p) (p)->lpVtbl->AddRef(p)
633 #define IDocHostUIHandler2_Release(p) (p)->lpVtbl->Release(p)
634 /*** IDocHostUIHandler methods ***/
635 #define IDocHostUIHandler2_ShowContextMenu(p,a,b,c,d) (p)->lpVtbl->ShowContextMenu(p,a,b,c,d)
636 #define IDocHostUIHandler2_GetHostInfo(p,a) (p)->lpVtbl->GetHostInfo(p,a)
637 #define IDocHostUIHandler2_ShowUI(p,a,b,c,d,e) (p)->lpVtbl->ShowUI(p,a,b,c,d,e)
638 #define IDocHostUIHandler2_HideUI(p) (p)->lpVtbl->HideUI(p)
639 #define IDocHostUIHandler2_UpdateUI(p) (p)->lpVtbl->UpdateUI(p)
640 #define IDocHostUIHandler2_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
641 #define IDocHostUIHandler2_OnDocWindowActivate(p,a) (p)->lpVtbl->OnDocWindowActivate(p,a)
642 #define IDocHostUIHandler2_OnFrameWindowActivate(p,a) (p)->lpVtbl->OnFrameWindowActivate(p,a)
643 #define IDocHostUIHandler2_ResizeBorder(p,a,b,c) (p)->lpVtbl->ResizeBorder(p,a,b,c)
644 #define IDocHostUIHandler2_TranslateAccelerator(p,a,b,c) (p)->lpVtbl->TranslateAccelerator(p,a,b,c)
645 #define IDocHostUIHandler2_GetOptionKeyPath(p,a,b) (p)->lpVtbl->GetOptionKeyPath(p,a,b)
646 #define IDocHostUIHandler2_GetDropTarget(p,a,b) (p)->lpVtbl->GetDropTarget(p,a,b)
647 #define IDocHostUIHandler2_GetExternal(p,a) (p)->lpVtbl->GetExternal(p,a)
648 #define IDocHostUIHandler2_TranslateUrl(p,a,b,c) (p)->lpVtbl->TranslateUrl(p,a,b,c)
649 #define IDocHostUIHandler2_FilterDataObject(p,a,b) (p)->lpVtbl->FilterDataObject(p,a,b)
650 /*** IDocHostUIHandler2 methods ***/
651 #define IDocHostUIHandler2_GetOverrideKeyPath(p,a,b) (p)->lpVtbl->GetOverrideKeyPath(p,a,b)
652 #endif
653
654 #endif
655
656 HRESULT CALLBACK IDocHostUIHandler2_GetOverrideKeyPath_Proxy(
657 IDocHostUIHandler2* This,
658 LPOLESTR* pchKey,
659 DWORD dw);
660 void __RPC_STUB IDocHostUIHandler2_GetOverrideKeyPath_Stub(
661 struct IRpcStubBuffer* This,
662 struct IRpcChannelBuffer* pRpcChannelBuffer,
663 PRPC_MESSAGE pRpcMessage,
664 DWORD* pdwStubPhase);
665
666 #endif /* __IDocHostUIHandler2_INTERFACE_DEFINED__ */
667
668 #ifndef __ICustomDoc_FWD_DEFINED__
669 #define __ICustomDoc_FWD_DEFINED__
670 typedef struct ICustomDoc ICustomDoc;
671 #endif
672
673 /*****************************************************************************
674 * ICustomDoc interface
675 */
676 #ifndef __ICustomDoc_INTERFACE_DEFINED__
677 #define __ICustomDoc_INTERFACE_DEFINED__
678
679 DEFINE_GUID(IID_ICustomDoc, 0x3050f3f0, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
680 #if defined(__cplusplus) && !defined(CINTERFACE)
681 struct ICustomDoc : public IUnknown
682 {
683 virtual HRESULT STDMETHODCALLTYPE SetUIHandler(
684 IDocHostUIHandler* pUIHandler) = 0;
685
686 };
687 #else
688 typedef struct ICustomDocVtbl ICustomDocVtbl;
689 struct ICustomDoc {
690 const ICustomDocVtbl* lpVtbl;
691 };
692 struct ICustomDocVtbl {
693 BEGIN_INTERFACE
694
695 /*** IUnknown methods ***/
696 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
697 ICustomDoc* This,
698 REFIID riid,
699 void** ppvObject);
700
701 ULONG (STDMETHODCALLTYPE *AddRef)(
702 ICustomDoc* This);
703
704 ULONG (STDMETHODCALLTYPE *Release)(
705 ICustomDoc* This);
706
707 /*** ICustomDoc methods ***/
708 HRESULT (STDMETHODCALLTYPE *SetUIHandler)(
709 ICustomDoc* This,
710 IDocHostUIHandler* pUIHandler);
711
712 END_INTERFACE
713 };
714
715 #ifdef COBJMACROS
716 /*** IUnknown methods ***/
717 #define ICustomDoc_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
718 #define ICustomDoc_AddRef(p) (p)->lpVtbl->AddRef(p)
719 #define ICustomDoc_Release(p) (p)->lpVtbl->Release(p)
720 /*** ICustomDoc methods ***/
721 #define ICustomDoc_SetUIHandler(p,a) (p)->lpVtbl->SetUIHandler(p,a)
722 #endif
723
724 #endif
725
726 HRESULT CALLBACK ICustomDoc_SetUIHandler_Proxy(
727 ICustomDoc* This,
728 IDocHostUIHandler* pUIHandler);
729 void __RPC_STUB ICustomDoc_SetUIHandler_Stub(
730 struct IRpcStubBuffer* This,
731 struct IRpcChannelBuffer* pRpcChannelBuffer,
732 PRPC_MESSAGE pRpcMessage,
733 DWORD* pdwStubPhase);
734
735 #endif /* __ICustomDoc_INTERFACE_DEFINED__ */
736
737 #ifndef __IDocHostShowUI_FWD_DEFINED__
738 #define __IDocHostShowUI_FWD_DEFINED__
739 typedef struct IDocHostShowUI IDocHostShowUI;
740 #endif
741
742 /*****************************************************************************
743 * IDocHostShowUI interface
744 */
745 #ifndef __IDocHostShowUI_INTERFACE_DEFINED__
746 #define __IDocHostShowUI_INTERFACE_DEFINED__
747
748 DEFINE_GUID(IID_IDocHostShowUI, 0xc4d244b0, 0xd43e, 0x11cf, 0x89,0x3b, 0x00,0xaa,0x00,0xbd,0xce,0x1a);
749 #if defined(__cplusplus) && !defined(CINTERFACE)
750 struct IDocHostShowUI : public IUnknown
751 {
752 virtual HRESULT STDMETHODCALLTYPE ShowMessage(
753 HWND hwnd,
754 LPOLESTR lpstrText,
755 LPOLESTR lpstrCaption,
756 DWORD dwType,
757 LPOLESTR lpstrHelpFile,
758 DWORD dwHelpContext,
759 LRESULT* plResult) = 0;
760
761 virtual HRESULT STDMETHODCALLTYPE ShowHelp(
762 HWND hwnd,
763 LPOLESTR pszHelpFile,
764 UINT uCommand,
765 DWORD dwData,
766 POINT ptMouse,
767 IDispatch* pDispatchObjectHit) = 0;
768
769 };
770 #else
771 typedef struct IDocHostShowUIVtbl IDocHostShowUIVtbl;
772 struct IDocHostShowUI {
773 const IDocHostShowUIVtbl* lpVtbl;
774 };
775 struct IDocHostShowUIVtbl {
776 BEGIN_INTERFACE
777
778 /*** IUnknown methods ***/
779 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
780 IDocHostShowUI* This,
781 REFIID riid,
782 void** ppvObject);
783
784 ULONG (STDMETHODCALLTYPE *AddRef)(
785 IDocHostShowUI* This);
786
787 ULONG (STDMETHODCALLTYPE *Release)(
788 IDocHostShowUI* This);
789
790 /*** IDocHostShowUI methods ***/
791 HRESULT (STDMETHODCALLTYPE *ShowMessage)(
792 IDocHostShowUI* This,
793 HWND hwnd,
794 LPOLESTR lpstrText,
795 LPOLESTR lpstrCaption,
796 DWORD dwType,
797 LPOLESTR lpstrHelpFile,
798 DWORD dwHelpContext,
799 LRESULT* plResult);
800
801 HRESULT (STDMETHODCALLTYPE *ShowHelp)(
802 IDocHostShowUI* This,
803 HWND hwnd,
804 LPOLESTR pszHelpFile,
805 UINT uCommand,
806 DWORD dwData,
807 POINT ptMouse,
808 IDispatch* pDispatchObjectHit);
809
810 END_INTERFACE
811 };
812
813 #ifdef COBJMACROS
814 /*** IUnknown methods ***/
815 #define IDocHostShowUI_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
816 #define IDocHostShowUI_AddRef(p) (p)->lpVtbl->AddRef(p)
817 #define IDocHostShowUI_Release(p) (p)->lpVtbl->Release(p)
818 /*** IDocHostShowUI methods ***/
819 #define IDocHostShowUI_ShowMessage(p,a,b,c,d,e,f,g) (p)->lpVtbl->ShowMessage(p,a,b,c,d,e,f,g)
820 #define IDocHostShowUI_ShowHelp(p,a,b,c,d,e,f) (p)->lpVtbl->ShowHelp(p,a,b,c,d,e,f)
821 #endif
822
823 #endif
824
825 HRESULT CALLBACK IDocHostShowUI_ShowMessage_Proxy(
826 IDocHostShowUI* This,
827 HWND hwnd,
828 LPOLESTR lpstrText,
829 LPOLESTR lpstrCaption,
830 DWORD dwType,
831 LPOLESTR lpstrHelpFile,
832 DWORD dwHelpContext,
833 LRESULT* plResult);
834 void __RPC_STUB IDocHostShowUI_ShowMessage_Stub(
835 struct IRpcStubBuffer* This,
836 struct IRpcChannelBuffer* pRpcChannelBuffer,
837 PRPC_MESSAGE pRpcMessage,
838 DWORD* pdwStubPhase);
839 HRESULT CALLBACK IDocHostShowUI_ShowHelp_Proxy(
840 IDocHostShowUI* This,
841 HWND hwnd,
842 LPOLESTR pszHelpFile,
843 UINT uCommand,
844 DWORD dwData,
845 POINT ptMouse,
846 IDispatch* pDispatchObjectHit);
847 void __RPC_STUB IDocHostShowUI_ShowHelp_Stub(
848 struct IRpcStubBuffer* This,
849 struct IRpcChannelBuffer* pRpcChannelBuffer,
850 PRPC_MESSAGE pRpcMessage,
851 DWORD* pdwStubPhase);
852
853 #endif /* __IDocHostShowUI_INTERFACE_DEFINED__ */
854
855 #define IClassFactory3 IClassFactoryEx
856 #define IID_IClassFactory3 IID_IClassFactoryEx
857 #ifndef __IClassFactoryEx_FWD_DEFINED__
858 #define __IClassFactoryEx_FWD_DEFINED__
859 typedef struct IClassFactoryEx IClassFactoryEx;
860 #endif
861
862 /*****************************************************************************
863 * IClassFactoryEx interface
864 */
865 #ifndef __IClassFactoryEx_INTERFACE_DEFINED__
866 #define __IClassFactoryEx_INTERFACE_DEFINED__
867
868 DEFINE_GUID(IID_IClassFactoryEx, 0x342d1ea0, 0xae25, 0x11d1, 0x89,0xc5, 0x00,0x60,0x08,0xc3,0xfb,0xfc);
869 #if defined(__cplusplus) && !defined(CINTERFACE)
870 struct IClassFactoryEx : public IClassFactory
871 {
872 virtual HRESULT STDMETHODCALLTYPE CreateInstanceWithContext(
873 IUnknown* punkContext,
874 IUnknown* punkOuter,
875 REFIID riid,
876 void** ppv) = 0;
877
878 };
879 #else
880 typedef struct IClassFactoryExVtbl IClassFactoryExVtbl;
881 struct IClassFactoryEx {
882 const IClassFactoryExVtbl* lpVtbl;
883 };
884 struct IClassFactoryExVtbl {
885 BEGIN_INTERFACE
886
887 /*** IUnknown methods ***/
888 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
889 IClassFactoryEx* This,
890 REFIID riid,
891 void** ppvObject);
892
893 ULONG (STDMETHODCALLTYPE *AddRef)(
894 IClassFactoryEx* This);
895
896 ULONG (STDMETHODCALLTYPE *Release)(
897 IClassFactoryEx* This);
898
899 /*** IClassFactory methods ***/
900 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
901 IClassFactoryEx* This,
902 IUnknown* pUnkOuter,
903 REFIID riid,
904 void** ppvObject);
905
906 HRESULT (STDMETHODCALLTYPE *LockServer)(
907 IClassFactoryEx* This,
908 BOOL fLock);
909
910 /*** IClassFactoryEx methods ***/
911 HRESULT (STDMETHODCALLTYPE *CreateInstanceWithContext)(
912 IClassFactoryEx* This,
913 IUnknown* punkContext,
914 IUnknown* punkOuter,
915 REFIID riid,
916 void** ppv);
917
918 END_INTERFACE
919 };
920
921 #ifdef COBJMACROS
922 /*** IUnknown methods ***/
923 #define IClassFactoryEx_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
924 #define IClassFactoryEx_AddRef(p) (p)->lpVtbl->AddRef(p)
925 #define IClassFactoryEx_Release(p) (p)->lpVtbl->Release(p)
926 /*** IClassFactory methods ***/
927 #define IClassFactoryEx_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
928 #define IClassFactoryEx_LockServer(p,a) (p)->lpVtbl->LockServer(p,a)
929 /*** IClassFactoryEx methods ***/
930 #define IClassFactoryEx_CreateInstanceWithContext(p,a,b,c,d) (p)->lpVtbl->CreateInstanceWithContext(p,a,b,c,d)
931 #endif
932
933 #endif
934
935 HRESULT CALLBACK IClassFactoryEx_CreateInstanceWithContext_Proxy(
936 IClassFactoryEx* This,
937 IUnknown* punkContext,
938 IUnknown* punkOuter,
939 REFIID riid,
940 void** ppv);
941 void __RPC_STUB IClassFactoryEx_CreateInstanceWithContext_Stub(
942 struct IRpcStubBuffer* This,
943 struct IRpcChannelBuffer* pRpcChannelBuffer,
944 PRPC_MESSAGE pRpcMessage,
945 DWORD* pdwStubPhase);
946
947 #endif /* __IClassFactoryEx_INTERFACE_DEFINED__ */
948
949 typedef HRESULT WINAPI SHOWHTMLDIALOGFN(HWND,IMoniker*,VARIANT*,WCHAR*,VARIANT*);
950 typedef HRESULT WINAPI SHOWHTMLDIALOGEXFN(HWND,IMoniker*,DWORD,VARIANT*,WCHAR*,VARIANT*);
951 typedef HRESULT WINAPI SHOWMODELESSHTMLDIALOGFN(HWND,IMoniker*,VARIANT*,VARIANT*,IHTMLWindow2**);
952 EXTERN_C HRESULT WINAPI ShowHTMLDialog(HWND,IMoniker*,VARIANT*,WCHAR*,VARIANT*);
953 EXTERN_C HRESULT WINAPI ShowHTMLDialogEx(HWND,IMoniker*,DWORD,VARIANT*,WCHAR*,VARIANT*);
954 EXTERN_C HRESULT WINAPI ShowModelessHTMLDialog(HWND,IMoniker*,VARIANT*,VARIANT*,IHTMLWindow2**);
955 EXTERN_C HRESULT WINAPI RunHTMLApplication(HINSTANCE,HINSTANCE,LPSTR,int);
956 EXTERN_C HRESULT WINAPI CreateHTMLPropertyPage(IMoniker*,IPropertyPage**);
957 /* Begin additional prototypes for all interfaces */
958
959 unsigned long __RPC_USER BSTR_UserSize (unsigned long *, unsigned long, BSTR *);
960 unsigned char * __RPC_USER BSTR_UserMarshal (unsigned long *, unsigned char *, BSTR *);
961 unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR *);
962 void __RPC_USER BSTR_UserFree (unsigned long *, BSTR *);
963 unsigned long __RPC_USER VARIANT_UserSize (unsigned long *, unsigned long, VARIANT *);
964 unsigned char * __RPC_USER VARIANT_UserMarshal (unsigned long *, unsigned char *, VARIANT *);
965 unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT *);
966 void __RPC_USER VARIANT_UserFree (unsigned long *, VARIANT *);
967 unsigned long __RPC_USER HWND_UserSize (unsigned long *, unsigned long, HWND *);
968 unsigned char * __RPC_USER HWND_UserMarshal (unsigned long *, unsigned char *, HWND *);
969 unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND *);
970 void __RPC_USER HWND_UserFree (unsigned long *, HWND *);
971
972 /* End additional prototypes */
973
974 #ifdef __cplusplus
975 }
976 #endif
977 #endif /* __WIDL_MSHTMHST_H */