Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

295 lines
13 KiB

// marscore.idl : IDL source for marscore.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (marscore.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
import "mshtml.idl";
#ifdef USE_DOWNLOADMANAGER
import "dlmgridl.idl";
#endif
#include "olectl.h"
cpp_quote("#define MTF_USE_DEFAULT_POS 0x00000001")
cpp_quote("#define MTF_MANAGE_WINDOW_SIZE 0x00000002")
cpp_quote("#define MTF_DONT_SHOW_WINDOW 0x00000004")
cpp_quote("#define MTF_RESTORING_FROM_REGISTRY 0x00000008")
//// LEGACY CODE CHECK:
//// LEGACY CODE CHECK: -----Original Message-----
//// LEGACY CODE CHECK: From: Oleg Ovetchkine
//// LEGACY CODE CHECK: Sent: Thursday, May 03, 2001 2:46 PM
//// LEGACY CODE CHECK: To: Desktop Delta Mail Communications; IE Check-in Mail; IE Build Lab
//// LEGACY CODE CHECK: Subject: Lab06: (G) Approved bug fix
//// LEGACY CODE CHECK:
//// LEGACY CODE CHECK:
//// LEGACY CODE CHECK: 26693 HSS:UI:Bad redraw shifts navbar down and right a few pixels, leaving a transparent band top & left
//// LEGACY CODE CHECK:
//// LEGACY CODE CHECK: We have legacy code that supposed to render UI active border around trident when it is hosted.
//// LEGACY CODE CHECK: The bug happens due to two events. First, we set border flag to TRUE while processing CRootElement::BecomeUIActive(),
//// LEGACY CODE CHECK: second because of the flag we inflate window region rectangle by 4 pixels each side,
//// LEGACY CODE CHECK: which causes four pixels bands not to be rendering from left and top sides later.
//// LEGACY CODE CHECK:
//// LEGACY CODE CHECK: We already have a bit flag that suppresses setting border flag in first place (CServer::_fMsoDocMode.
//// LEGACY CODE CHECK: _fMsoDocMode == TRUE when client supports IID_IOleDocumentSite).
//// LEGACY CODE CHECK:
//// LEGACY CODE CHECK: Taking into acount the stage we are now, my suggestion whould be to implement appHack fix for HSS
//// LEGACY CODE CHECK: by introducing one more bit flag on CDoc object, set it to TRUE when Trident is hosted by HSS and
//// LEGACY CODE CHECK: suppress border flag when appHack flag is TRUE. I have worked out the way to recognize HSS application with dmassare,
//// LEGACY CODE CHECK: implemented the fix and verified it on HSS.
//// LEGACY CODE CHECK:
//// LEGACY CODE CHECK:
//// LEGACY CODE CHECK: !!NEVER!! change GUID for SID_SMarsPanel and IMarsPanel.
//// LEGACY CODE CHECK:
typedef struct
{
UINT cbSize;
HICON hIcon;
int nCmdShow;
DWORD dwFlags;
LPCWSTR pwszTitle;
LPCWSTR pwszPanelURL;
LPCWSTR pwszFirstPlace;
RECT rcDefaultPosition;
}
MARSTHREADPARAM;
[
uuid(88519F49-040A-11D3-9883-00C04FA35C89),
version(1.0)
]
library MARSCORELib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[
object,
uuid(988934A0-064B-11D3-BB80-00104B35E7F9),
dual,
pointer_default(unique)
]
interface IMarsPanel : IDispatch
{
[propget, id( 1)] HRESULT name ( [out, retval] BSTR *pVal );
[propget, id( 2)] HRESULT content ( [out, retval] IDispatch* *pVal );
[propget, id( 3)] HRESULT visible ( [out, retval] VARIANT_BOOL *pVal );
[propput, id( 3)] HRESULT visible ( [in ] VARIANT_BOOL newVal );
[propget, id( 4)] HRESULT startUrl ( [out, retval] BSTR *pVal );
[propput, id( 4)] HRESULT startUrl ( [in ] BSTR newVal );
[propget, id( 5)] HRESULT height ( [out, retval] long *pVal );
[propput, id( 5)] HRESULT height ( [in ] long newVal );
[propget, id( 6)] HRESULT width ( [out, retval] long *pVal );
[propput, id( 6)] HRESULT width ( [in ] long newVal );
[propget, id( 7)] HRESULT x ( [out, retval] long *pVal );
[propput, id( 7)] HRESULT x ( [in ] long newVal );
[propget, id( 8)] HRESULT y ( [out, retval] long *pVal );
[propput, id( 8)] HRESULT y ( [in ] long newVal );
[propget, id( 9)] HRESULT position ( [out, retval] VARIANT *pVal );
[propput, id( 9)] HRESULT position ( [in ] VARIANT newVal );
[propget, id(10)] HRESULT autoSize ( [out, retval] VARIANT_BOOL *pVal );
[propput, id(10)] HRESULT autoSize ( [in ] VARIANT_BOOL newVal );
[propget, id(11)] HRESULT contentInvalid ( [out, retval] VARIANT_BOOL *pVal );
[propput, id(11)] HRESULT contentInvalid ( [in ] VARIANT_BOOL newVal );
[propget, id(12)] HRESULT layoutIndex ( [out, retval] long *pVal );
[propget, id(13)] HRESULT isCurrentlyVisible( [out, retval] VARIANT_BOOL *pVal );
[id(20)] HRESULT moveto( [in] VARIANT lX, [in] VARIANT lY, [in] VARIANT lWidth, [in] VARIANT lHeight );
[id(21)] HRESULT restrictHeight( [in] VARIANT lMin, [in] VARIANT lMax, [in] VARIANT varMarker );
[id(22)] HRESULT restrictWidth ( [in] VARIANT lMin, [in] VARIANT lMax, [in] VARIANT varMarker );
[id(23)] HRESULT canResize( [in] long lDX, [in] long lDY, [out, retval] VARIANT_BOOL *pVal );
[id(24)] HRESULT navigate([in] VARIANT varTarget, [in, optional] VARIANT varForceLoad);
[id(25)] HRESULT refresh();
[id(26)] HRESULT activate();
[id(27)] HRESULT insertBefore( [in] VARIANT varInsertBefore );
[id(28)] HRESULT execMshtml( [in ] DWORD nCmdID ,
[in ] DWORD nCmdExecOpt ,
[in, optional] VARIANTARG *pvaIn ,
[in, out, optional] VARIANTARG *pvaOut );
}
[
object,
uuid(988934A1-064B-11D3-BB80-00104B35E7F9),
dual,
pointer_default(unique)
]
interface IMarsPanelCollection : IDispatch
{
[propget, id(1000) ] HRESULT length ( [out, retval] LONG *plNumPanels );
[propget, id(DISPID_VALUE) ] HRESULT item ( [in] VARIANT varPanel, [out, retval] IMarsPanel* *ppPanel );
[propget, id(DISPID_NEWENUM), hidden, restricted] HRESULT _newEnum( [out, retval] IUnknown* *ppEnumPanels );
[propget, id(1)] HRESULT panel( [in] BSTR bstrName, [out, retval] IMarsPanel* *ppPanel );
[id(2)] HRESULT addPanel( [in ] BSTR bstrName ,
[in ] VARIANT varType ,
[in ] BSTR bstrStartUrl ,
[in ] VARIANT varCreate ,
[in ] long lFlags ,
[out, retval] IMarsPanel* *ppPanel );
[id(3)] HRESULT removePanel([in] BSTR bstrName);
[id(4)] HRESULT lockLayout ();
[id(5)] HRESULT unlockLayout();
[propget, id(6)] HRESULT activePanel( [out, retval] IMarsPanel* *ppPanel );
};
[
object,
uuid(988934A2-064B-11D3-BB80-00104B35E7F9),
dual,
pointer_default(unique)
]
interface IMarsPlace : IDispatch
{
[propget, id(1)] HRESULT name( [out, retval] BSTR *pbstrName );
[id(2)] HRESULT transitionTo();
};
[
object,
uuid(988934A3-064B-11D3-BB80-00104B35E7F9),
dual,
pointer_default(unique)
]
interface IMarsPlaceCollection : IDispatch
{
[ id(1)] HRESULT place ( [in] BSTR bstrName, [out, retval] IMarsPlace* *ppMarsPlace );
[propget, id(2)] HRESULT currentPlace( [out, retval] IMarsPlace* *ppMarsPlace );
[ id(3)] HRESULT transitionTo( [in] BSTR bstrName );
};
[
object,
uuid(E2984BA5-294A-4cc5-8CA9-82CDDEC72DD0),
dual,
pointer_default(unique)
]
interface IMarsWindowOM : IDispatch
{
[propget, id( 1)] HRESULT active ( [out, retval] VARIANT_BOOL *pVal );
[propget, id( 2)] HRESULT minimized( [out, retval] VARIANT_BOOL *pVal );
[propput, id( 2)] HRESULT minimized( [in ] VARIANT_BOOL newVal );
[propget, id( 3)] HRESULT maximized( [out, retval] VARIANT_BOOL *pVal );
[propput, id( 3)] HRESULT maximized( [in ] VARIANT_BOOL newVal );
[propget, id( 4)] HRESULT title ( [out, retval] BSTR *pVal );
[propput, id( 4)] HRESULT title ( [in ] BSTR newVal );
[propget, id( 5)] HRESULT x ( [out, retval] long *pVal );
[propput, id( 5)] HRESULT x ( [in ] long newVal );
[propget, id( 6)] HRESULT y ( [out, retval] long *pVal );
[propput, id( 6)] HRESULT y ( [in ] long newVal );
[propget, id( 7)] HRESULT width ( [out, retval] long *pVal );
[propput, id( 7)] HRESULT width ( [in ] long newVal );
[propget, id( 8)] HRESULT height ( [out, retval] long *pVal );
[propput, id( 8)] HRESULT height ( [in ] long newVal );
[propget, id( 9)] HRESULT visible ( [out, retval] VARIANT_BOOL *pVal );
[propput, id( 9)] HRESULT visible ( [in ] VARIANT_BOOL newVal );
[propget, id(15)] HRESULT panels( [out, retval] IMarsPanelCollection* *ppPanels );
[propget, id(16)] HRESULT places( [out, retval] IMarsPlaceCollection* *ppPlaces );
[id(20)] HRESULT setWindowDimensions( [in] long lX, [in] long lY, [in] long lW, [in] long lH );
[id(21)] HRESULT close();
[id(22)] HRESULT refreshLayout();
}
[
uuid(6E204F82-E5AB-4567-B28E-57A5C8BFDDB6),
]
coclass MarsExternal
{
[default] interface IMarsExternal;
};
cpp_quote("#define MARS_E_BAD_FIREEVENT_ARGS 1000")
cpp_quote("")
cpp_quote("// {24EC0AE8-734E-4c18-B191-6D3BF1D9413B}")
cpp_quote("DEFINE_GUID(SID_SMarsPanel, ")
cpp_quote("0x24ec0ae8, 0x734e, 0x4c18, 0xb1, 0x91, 0x6d, 0x3b, 0xf1, 0xd9, 0x41, 0x3b);")
cpp_quote("")
cpp_quote("// {CECC5FD8-4FEF-448f-B5CB-59E44F9D7ED5}")
cpp_quote("DEFINE_GUID(SID_SMarsWindow, ")
cpp_quote("0xcecc5fd8, 0x4fef, 0x448f, 0xb5, 0xcb, 0x59, 0xe4, 0x4f, 0x9d, 0x7e, 0xd5);")
cpp_quote("")
cpp_quote("// {6A0DFD86-87FD-4722-A21B-31920DCECBFE}")
cpp_quote("DEFINE_GUID(SID_SMarsDocument, ")
cpp_quote("0x6a0dfd86, 0x87fd, 0x4722, 0xa2, 0x1b, 0x31, 0x92, 0xd, 0xce, 0xcb, 0xfe);")
cpp_quote("")
cpp_quote("// {847F06DF-970F-4535-883F-B780CB605A12}")
cpp_quote("DEFINE_GUID(SID_SMarsHost, ")
cpp_quote("0x847f06df, 0x970f, 0x4535, 0x88, 0x3f, 0xb7, 0x80, 0xcb, 0x60, 0x5a, 0x12);")
cpp_quote("")
cpp_quote("typedef HRESULT (STDMETHODCALLTYPE *PFNMARSTHREADPROC)(IMarsHost *pMarsHost, MARSTHREADPARAM *pThreadParam);")
cpp_quote("#define ORD_MARSTHREADPROC 5")
};
[
object,
uuid(CC6FFEB0-E379-427a-9810-A16B7A826A89),
pointer_default(unique)
]
interface IMarsHost : IUnknown
{
typedef enum
{
// punk - a mars window
// lParam - WINDOWPLACEMENT*
MARSHOST_ON_WIN_SETPOS,
// punk - a mars window
// lParam - unused
MARSHOST_ON_WIN_INIT,
MARSHOST_ON_WIN_READY,
MARSHOST_ON_WIN_PASSIVATE,
// punk - a mars panel
// lParam - unused
MARSHOST_ON_PANEL_INIT,
MARSHOST_ON_PANEL_PASSIVATE,
MARSHOST_ON_PANEL_CONTROL_CREATE,
// punk - a mars place
// lParam - unused
MARSHOST_ON_PLACE_TRANSITION_DONE,
// punk - IUnknown of the faulting document
// lParam - unused
MARSHOST_ON_SCRIPT_ERROR,
}
MARSHOSTEVENT;
HRESULT OnHostNotify([in] MARSHOSTEVENT event, [in] IUnknown *punk, [in] LPARAM lParam);
HRESULT PreTranslateMessage( [in] MSG* msg );
};
[
object,
uuid(B616B681-04D6-11D3-9883-00C04FA35C89),
dual,
pointer_default(unique)
]
interface IMarsExternal : IDispatch
{
[propget, id(1)] HRESULT singleButtonMouse( [out, retval] VARIANT_BOOL *pVal );
[propput, id(1)] HRESULT singleButtonMouse( [in ] VARIANT_BOOL newVal );
[propget, id(2)] HRESULT panels ( [out, retval] IMarsPanelCollection* *pVal );
[propget, id(3)] HRESULT places ( [out, retval] IMarsPlaceCollection* *pVal );
[propget, id(4)] HRESULT window ( [out, retval] IMarsWindowOM* *pVal );
};