Artifact 86d294ce6711c3672ae2bee4dc18d0d76d737f39:
- File
src/win32/exdisp.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20 ********\..*
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060: 20 20 20 20 20 20 20 20 20 20 20 65 78 64 69 73 exdis
0070: 70 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 p.d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..*
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..*
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..*
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61 Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57 ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20 indows headers
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a *
01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..*
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 *..*
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0220: 20 20 20 20 20 50 6c 61 63 65 64 20 69 6e 74 6f Placed into
0230: 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 20 20 public domain
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0250: 20 20 20 20 20 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a *..\*******
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02a0: 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e /..module win32.
02b0: 65 78 64 69 73 70 3b 0d 0a 0d 0a 69 6d 70 6f 72 exdisp;....impor
02c0: 74 20 77 69 6e 33 32 2e 64 6f 63 6f 62 6a 2c 20 t win32.docobj,
02d0: 77 69 6e 33 32 2e 6f 61 69 64 6c 2c 20 77 69 6e win32.oaidl, win
02e0: 33 32 2e 6f 63 69 64 6c 3b 0d 0a 70 72 69 76 61 32.ocidl;..priva
02f0: 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e te import win32.
0300: 62 61 73 65 74 79 70 73 2c 20 77 69 6e 33 32 2e basetyps, win32.
0310: 77 69 6e 64 65 66 2c 20 77 69 6e 33 32 2e 77 74 windef, win32.wt
0320: 79 70 65 73 3b 0d 0a 0d 0a 0d 0a 65 6e 75 6d 20 ypes;......enum
0330: 42 72 6f 77 73 65 72 4e 61 76 43 6f 6e 73 74 61 BrowserNavConsta
0340: 6e 74 73 20 7b 0d 0a 09 6e 61 76 4f 70 65 6e 49 nts {...navOpenI
0350: 6e 4e 65 77 57 69 6e 64 6f 77 20 3d 20 30 78 30 nNewWindow = 0x0
0360: 31 2c 0d 0a 09 6e 61 76 4e 6f 48 69 73 74 6f 72 1,...navNoHistor
0370: 79 20 20 20 20 20 20 20 3d 20 30 78 30 32 2c 0d y = 0x02,.
0380: 0a 09 6e 61 76 4e 6f 52 65 61 64 46 72 6f 6d 43 ..navNoReadFromC
0390: 61 63 68 65 20 3d 20 30 78 30 34 2c 0d 0a 09 6e ache = 0x04,...n
03a0: 61 76 4e 6f 57 72 69 74 65 54 6f 63 61 63 68 65 avNoWriteTocache
03b0: 20 20 3d 20 30 78 30 38 2c 0d 0a 09 6e 61 76 41 = 0x08,...navA
03c0: 6c 6c 6f 77 41 75 74 6f 73 65 61 72 63 68 20 3d llowAutosearch =
03d0: 20 30 78 31 30 2c 0d 0a 09 6e 61 76 42 72 6f 77 0x10,...navBrow
03e0: 73 65 72 42 61 72 20 20 20 20 20 20 3d 20 30 78 serBar = 0x
03f0: 32 30 2c 0d 0a 09 6e 61 76 48 79 70 65 72 4c 69 20,...navHyperLi
0400: 6e 6b 20 20 20 20 20 20 20 3d 20 30 78 34 30 0d nk = 0x40.
0410: 0a 7d 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 .}....interface
0420: 49 57 65 62 42 72 6f 77 73 65 72 20 3a 20 49 44 IWebBrowser : ID
0430: 69 73 70 61 74 63 68 20 7b 0d 0a 09 48 52 45 53 ispatch {...HRES
0440: 55 4c 54 20 47 6f 42 61 63 6b 28 29 3b 0d 0a 09 ULT GoBack();...
0450: 48 52 45 53 55 4c 54 20 47 6f 46 6f 72 77 61 72 HRESULT GoForwar
0460: 64 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 d();...HRESULT G
0470: 6f 48 6f 6d 65 28 29 3b 0d 0a 09 48 52 45 53 55 oHome();...HRESU
0480: 4c 54 20 47 6f 53 65 61 72 63 68 28 29 3b 0d 0a LT GoSearch();..
0490: 09 48 52 45 53 55 4c 54 20 4e 61 76 69 67 61 74 .HRESULT Navigat
04a0: 65 28 42 53 54 52 2c 20 56 41 52 49 41 4e 54 2a e(BSTR, VARIANT*
04b0: 2c 20 56 41 52 49 41 4e 54 2a 2c 20 56 41 52 49 , VARIANT*, VARI
04c0: 41 4e 54 2a 2c 20 56 41 52 49 41 4e 54 2a 29 3b ANT*, VARIANT*);
04d0: 0d 0a 09 48 52 45 53 55 4c 54 20 52 65 66 72 65 ...HRESULT Refre
04e0: 73 68 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 sh();...HRESULT
04f0: 52 65 66 72 65 73 68 32 28 56 41 52 49 41 4e 54 Refresh2(VARIANT
0500: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 74 *);...HRESULT St
0510: 6f 70 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 op();...HRESULT
0520: 67 65 74 5f 41 70 70 6c 69 63 61 74 69 6f 6e 28 get_Application(
0530: 49 44 69 73 70 61 74 63 68 2a 20 70 70 44 69 73 IDispatch* ppDis
0540: 70 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 67 65 p);...HRESULT ge
0550: 74 5f 50 61 72 65 6e 74 28 49 44 69 73 70 61 74 t_Parent(IDispat
0560: 63 68 2a 20 70 70 44 69 73 70 29 3b 0d 0a 09 48 ch* ppDisp);...H
0570: 52 45 53 55 4c 54 20 67 65 74 5f 43 6f 6e 74 61 RESULT get_Conta
0580: 69 6e 65 72 28 49 44 69 73 70 61 74 63 68 2a 20 iner(IDispatch*
0590: 70 70 44 69 73 70 29 3b 0d 0a 09 48 52 45 53 55 ppDisp);...HRESU
05a0: 4c 54 20 67 65 74 5f 44 6f 63 75 6d 65 6e 74 28 LT get_Document(
05b0: 49 44 69 73 70 61 74 63 68 2a 20 70 70 44 69 73 IDispatch* ppDis
05c0: 70 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 67 65 p);...HRESULT ge
05d0: 74 5f 54 6f 70 4c 65 76 65 6c 43 6f 6e 74 61 69 t_TopLevelContai
05e0: 6e 65 72 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c ner(VARIANT_BOOL
05f0: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 67 65 *);...HRESULT ge
0600: 74 5f 54 79 70 65 28 42 53 54 52 2a 29 3b 0d 0a t_Type(BSTR*);..
0610: 09 48 52 45 53 55 4c 54 20 67 65 74 5f 4c 65 66 .HRESULT get_Lef
0620: 74 28 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52 45 53 t(LONG*);...HRES
0630: 55 4c 54 20 70 75 74 5f 4c 65 66 74 28 4c 4f 4e ULT put_Left(LON
0640: 47 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 67 65 G);...HRESULT ge
0650: 74 5f 54 6f 70 28 4c 4f 4e 47 2a 29 3b 0d 0a 09 t_Top(LONG*);...
0660: 48 52 45 53 55 4c 54 20 70 75 74 5f 54 6f 70 28 HRESULT put_Top(
0670: 4c 4f 4e 47 29 3b 0d 0a 09 48 52 45 53 55 4c 54 LONG);...HRESULT
0680: 20 67 65 74 5f 57 69 64 74 68 28 4c 4f 4e 47 2a get_Width(LONG*
0690: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 70 75 74 );...HRESULT put
06a0: 5f 57 69 64 74 68 28 4c 4f 4e 47 29 3b 0d 0a 09 _Width(LONG);...
06b0: 48 52 45 53 55 4c 54 20 67 65 74 5f 48 65 69 67 HRESULT get_Heig
06c0: 68 74 28 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52 45 ht(LONG*);...HRE
06d0: 53 55 4c 54 20 70 75 74 5f 48 65 69 67 68 74 28 SULT put_Height(
06e0: 4c 4f 4e 47 29 3b 0d 0a 09 48 52 45 53 55 4c 54 LONG);...HRESULT
06f0: 20 67 65 74 5f 4c 6f 63 61 74 69 6f 6e 4e 61 6d get_LocationNam
0700: 65 28 42 53 54 52 2a 29 3b 0d 0a 09 48 52 45 53 e(BSTR*);...HRES
0710: 55 4c 54 20 67 65 74 5f 4c 6f 63 61 74 69 6f 6e ULT get_Location
0720: 55 52 4c 28 42 53 54 52 2a 29 3b 0d 0a 09 48 52 URL(BSTR*);...HR
0730: 45 53 55 4c 54 20 67 65 74 5f 42 75 73 79 28 56 ESULT get_Busy(V
0740: 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a ARIANT_BOOL*);..
0750: 7d 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 }....interface I
0760: 57 65 62 42 72 6f 77 73 65 72 41 70 70 20 3a 20 WebBrowserApp :
0770: 49 57 65 62 42 72 6f 77 73 65 72 20 7b 0d 0a 09 IWebBrowser {...
0780: 48 52 45 53 55 4c 54 20 51 75 69 74 28 29 3b 0d HRESULT Quit();.
0790: 0a 09 48 52 45 53 55 4c 54 20 43 6c 69 65 6e 74 ..HRESULT Client
07a0: 54 6f 57 69 6e 64 6f 77 28 69 6e 74 2a 2c 20 69 ToWindow(int*, i
07b0: 6e 74 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 nt*);...HRESULT
07c0: 50 75 74 50 72 6f 70 65 72 74 79 28 42 53 54 52 PutProperty(BSTR
07d0: 2c 20 56 41 52 49 41 4e 54 29 3b 0d 0a 09 48 52 , VARIANT);...HR
07e0: 45 53 55 4c 54 20 47 65 74 50 72 6f 70 65 72 74 ESULT GetPropert
07f0: 79 28 42 53 54 52 2c 20 56 41 52 49 41 4e 54 2a y(BSTR, VARIANT*
0800: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 67 65 74 );...HRESULT get
0810: 5f 4e 61 6d 65 28 42 53 54 52 2a 29 3b 0d 0a 09 _Name(BSTR*);...
0820: 48 52 45 53 55 4c 54 20 67 65 74 5f 48 57 4e 44 HRESULT get_HWND
0830: 28 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52 45 53 55 (LONG*);...HRESU
0840: 4c 54 20 67 65 74 5f 46 75 6c 6c 4e 61 6d 65 28 LT get_FullName(
0850: 42 53 54 52 2a 29 3b 0d 0a 09 48 52 45 53 55 4c BSTR*);...HRESUL
0860: 54 20 67 65 74 5f 50 61 74 68 28 42 53 54 52 2a T get_Path(BSTR*
0870: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 67 65 74 );...HRESULT get
0880: 5f 56 69 73 69 62 6c 65 28 56 41 52 49 41 4e 54 _Visible(VARIANT
0890: 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 _BOOL*);...HRESU
08a0: 4c 54 20 70 75 74 5f 56 69 73 69 62 6c 65 28 56 LT put_Visible(V
08b0: 41 52 49 41 4e 54 5f 42 4f 4f 4c 29 3b 0d 0a 09 ARIANT_BOOL);...
08c0: 48 52 45 53 55 4c 54 20 67 65 74 5f 53 74 61 74 HRESULT get_Stat
08d0: 75 73 42 61 72 28 56 41 52 49 41 4e 54 5f 42 4f usBar(VARIANT_BO
08e0: 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 OL*);...HRESULT
08f0: 70 75 74 5f 53 74 61 74 75 73 42 61 72 28 56 41 put_StatusBar(VA
0900: 52 49 41 4e 54 5f 42 4f 4f 4c 29 3b 0d 0a 09 48 RIANT_BOOL);...H
0910: 52 45 53 55 4c 54 20 67 65 74 5f 53 74 61 74 75 RESULT get_Statu
0920: 73 54 65 78 74 28 42 53 54 52 2a 29 3b 0d 0a 09 sText(BSTR*);...
0930: 48 52 45 53 55 4c 54 20 70 75 74 5f 53 74 61 74 HRESULT put_Stat
0940: 75 73 54 65 78 74 28 42 53 54 52 29 3b 0d 0a 09 usText(BSTR);...
0950: 48 52 45 53 55 4c 54 20 67 65 74 5f 54 6f 6f 6c HRESULT get_Tool
0960: 42 61 72 28 69 6e 74 2a 29 3b 0d 0a 09 48 52 45 Bar(int*);...HRE
0970: 53 55 4c 54 20 70 75 74 5f 54 6f 6f 6c 42 61 72 SULT put_ToolBar
0980: 28 69 6e 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 (int);...HRESULT
0990: 20 67 65 74 5f 4d 65 6e 75 42 61 72 28 56 41 52 get_MenuBar(VAR
09a0: 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 IANT_BOOL*);...H
09b0: 52 45 53 55 4c 54 20 70 75 74 5f 4d 65 6e 75 42 RESULT put_MenuB
09c0: 61 72 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 29 ar(VARIANT_BOOL)
09d0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 67 65 74 5f ;...HRESULT get_
09e0: 46 75 6c 6c 53 63 72 65 65 6e 28 56 41 52 49 41 FullScreen(VARIA
09f0: 4e 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 NT_BOOL*);...HRE
0a00: 53 55 4c 54 20 70 75 74 5f 46 75 6c 6c 53 63 72 SULT put_FullScr
0a10: 65 65 6e 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c een(VARIANT_BOOL
0a20: 29 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 65 72 66 61 );..}....interfa
0a30: 63 65 20 49 57 65 62 42 72 6f 77 73 65 72 32 20 ce IWebBrowser2
0a40: 3a 20 49 57 65 62 42 72 6f 77 73 65 72 41 70 70 : IWebBrowserApp
0a50: 20 7b 0d 0a 09 48 52 45 53 55 4c 54 20 4e 61 76 {...HRESULT Nav
0a60: 69 67 61 74 65 32 28 56 41 52 49 41 4e 54 2a 2c igate2(VARIANT*,
0a70: 20 56 41 52 49 41 4e 54 2a 2c 20 56 41 52 49 41 VARIANT*, VARIA
0a80: 4e 54 2a 2c 20 56 41 52 49 41 4e 54 2a 2c 20 56 NT*, VARIANT*, V
0a90: 41 52 49 41 4e 54 2a 29 3b 0d 0a 09 48 52 45 53 ARIANT*);...HRES
0aa0: 55 4c 54 20 51 75 65 72 79 53 74 61 74 75 73 57 ULT QueryStatusW
0ab0: 42 28 4f 4c 45 43 4d 44 49 44 2c 20 4f 4c 45 43 B(OLECMDID, OLEC
0ac0: 4d 44 46 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 MDF*);...HRESULT
0ad0: 20 45 78 65 63 57 42 28 4f 4c 45 43 4d 44 49 44 ExecWB(OLECMDID
0ae0: 2c 20 4f 4c 45 43 4d 44 45 58 45 43 4f 50 54 2c , OLECMDEXECOPT,
0af0: 20 56 41 52 49 41 4e 54 2a 2c 20 56 41 52 49 41 VARIANT*, VARIA
0b00: 4e 54 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 NT*);...HRESULT
0b10: 53 68 6f 77 42 72 6f 77 73 65 72 42 61 72 28 56 ShowBrowserBar(V
0b20: 41 52 49 41 4e 54 2a 2c 20 56 41 52 49 41 4e 54 ARIANT*, VARIANT
0b30: 2a 2c 20 56 41 52 49 41 4e 54 2a 29 3b 0d 0a 09 *, VARIANT*);...
0b40: 48 52 45 53 55 4c 54 20 67 65 74 5f 52 65 61 64 HRESULT get_Read
0b50: 79 53 74 61 74 65 28 52 45 41 44 59 53 54 41 54 yState(READYSTAT
0b60: 45 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 67 E*);...HRESULT g
0b70: 65 74 5f 4f 66 66 6c 69 6e 65 28 56 41 52 49 41 et_Offline(VARIA
0b80: 4e 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 NT_BOOL*);...HRE
0b90: 53 55 4c 54 20 70 75 74 5f 4f 66 66 6c 69 6e 65 SULT put_Offline
0ba0: 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 29 3b 0d (VARIANT_BOOL);.
0bb0: 0a 09 48 52 45 53 55 4c 54 20 67 65 74 5f 53 69 ..HRESULT get_Si
0bc0: 6c 65 6e 74 28 56 41 52 49 41 4e 54 5f 42 4f 4f lent(VARIANT_BOO
0bd0: 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 70 L*);...HRESULT p
0be0: 75 74 5f 53 69 6c 65 6e 74 28 56 41 52 49 41 4e ut_Silent(VARIAN
0bf0: 54 5f 42 4f 4f 4c 29 3b 0d 0a 09 48 52 45 53 55 T_BOOL);...HRESU
0c00: 4c 54 20 67 65 74 5f 52 65 67 69 73 74 61 65 72 LT get_Registaer
0c10: 41 73 42 72 6f 77 73 65 72 28 56 41 52 49 41 4e AsBrowser(VARIAN
0c20: 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 T_BOOL*);...HRES
0c30: 55 4c 54 20 70 75 74 5f 52 65 67 69 73 74 65 72 ULT put_Register
0c40: 41 73 42 72 6f 77 73 65 72 28 56 41 52 49 41 4e AsBrowser(VARIAN
0c50: 54 5f 42 4f 4f 4c 29 3b 0d 0a 09 48 52 45 53 55 T_BOOL);...HRESU
0c60: 4c 54 20 67 65 74 5f 52 65 67 69 73 74 61 65 72 LT get_Registaer
0c70: 41 73 44 72 6f 70 54 61 72 67 65 74 28 56 41 52 AsDropTarget(VAR
0c80: 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 IANT_BOOL*);...H
0c90: 52 45 53 55 4c 54 20 70 75 74 5f 52 65 67 69 73 RESULT put_Regis
0ca0: 74 65 72 41 73 44 72 6f 70 54 61 72 67 65 74 28 terAsDropTarget(
0cb0: 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 29 3b 0d 0a VARIANT_BOOL);..
0cc0: 09 48 52 45 53 55 4c 54 20 67 65 74 5f 54 68 65 .HRESULT get_The
0cd0: 61 74 65 72 4d 6f 64 65 28 56 41 52 49 41 4e 54 aterMode(VARIANT
0ce0: 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 _BOOL*);...HRESU
0cf0: 4c 54 20 70 75 74 5f 54 68 65 61 74 65 72 4d 6f LT put_TheaterMo
0d00: 64 65 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 29 de(VARIANT_BOOL)
0d10: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 67 65 74 5f ;...HRESULT get_
0d20: 41 64 64 72 65 73 73 42 61 72 28 56 41 52 49 41 AddressBar(VARIA
0d30: 4e 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 NT_BOOL*);...HRE
0d40: 53 55 4c 54 20 70 75 74 5f 41 64 64 72 65 73 73 SULT put_Address
0d50: 42 61 72 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c Bar(VARIANT_BOOL
0d60: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 67 65 74 );...HRESULT get
0d70: 5f 52 65 73 69 7a 61 62 6c 65 28 56 41 52 49 41 _Resizable(VARIA
0d80: 4e 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 NT_BOOL*);...HRE
0d90: 53 55 4c 54 20 70 75 74 5f 52 65 73 69 7a 61 62 SULT put_Resizab
0da0: 6c 65 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 29 le(VARIANT_BOOL)
0db0: 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 ;..}....interfac
0dc0: 65 20 44 57 65 62 42 72 6f 77 73 65 72 45 76 65 e DWebBrowserEve
0dd0: 6e 74 73 32 20 3a 20 49 44 69 73 70 61 74 63 68 nts2 : IDispatch
0de0: 20 7b 0d 0a 09 76 6f 69 64 20 53 74 61 74 75 73 {...void Status
0df0: 54 65 78 74 43 68 61 6e 67 65 28 42 53 54 52 29 TextChange(BSTR)
0e00: 3b 0d 0a 09 76 6f 69 64 20 50 72 6f 67 72 65 73 ;...void Progres
0e10: 73 43 68 61 6e 67 65 28 4c 4f 4e 47 2c 20 4c 4f sChange(LONG, LO
0e20: 4e 47 29 3b 0d 0a 09 76 6f 69 64 20 43 6f 6d 6d NG);...void Comm
0e30: 61 6e 64 53 74 61 74 65 43 68 61 6e 67 65 28 4c andStateChange(L
0e40: 4f 4e 47 2c 20 56 41 52 49 41 4e 54 5f 42 4f 4f ONG, VARIANT_BOO
0e50: 4c 29 3b 0d 0a 09 76 6f 69 64 20 44 6f 77 6e 6c L);...void Downl
0e60: 6f 61 64 42 65 67 69 6e 28 29 3b 0d 0a 09 76 6f oadBegin();...vo
0e70: 69 64 20 44 6f 77 6e 6c 6f 61 64 43 6f 6d 70 6c id DownloadCompl
0e80: 65 74 65 28 29 3b 0d 0a 09 76 6f 69 64 20 54 69 ete();...void Ti
0e90: 74 6c 65 43 68 61 6e 67 65 28 42 53 54 52 29 3b tleChange(BSTR);
0ea0: 0d 0a 09 76 6f 69 64 20 50 72 6f 70 65 72 74 79 ...void Property
0eb0: 43 68 61 6e 67 65 28 42 53 54 52 29 3b 0d 0a 09 Change(BSTR);...
0ec0: 76 6f 69 64 20 42 65 66 6f 72 65 4e 61 76 69 67 void BeforeNavig
0ed0: 61 74 65 32 28 49 44 69 73 70 61 74 63 68 20 70 ate2(IDispatch p
0ee0: 44 69 73 70 2c 20 56 41 52 49 41 4e 54 2a 2c 20 Disp, VARIANT*,
0ef0: 56 41 52 49 41 4e 54 2a 2c 20 56 41 52 49 41 4e VARIANT*, VARIAN
0f00: 54 2a 2c 20 56 41 52 49 41 4e 54 2a 2c 20 56 41 T*, VARIANT*, VA
0f10: 52 49 41 4e 54 2a 2c 20 56 41 52 49 41 4e 54 5f RIANT*, VARIANT_
0f20: 42 4f 4f 4c 2a 29 3b 0d 0a 09 76 6f 69 64 20 4e BOOL*);...void N
0f30: 65 77 57 69 6e 64 6f 77 32 28 49 44 69 73 70 61 ewWindow2(IDispa
0f40: 74 63 68 2a 20 70 70 44 69 73 70 2c 20 56 41 52 tch* ppDisp, VAR
0f50: 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 76 IANT_BOOL*);...v
0f60: 6f 69 64 20 4e 61 76 69 67 61 74 65 43 6f 6d 70 oid NavigateComp
0f70: 6c 65 74 65 28 49 44 69 73 70 61 74 63 68 20 70 lete(IDispatch p
0f80: 44 69 73 70 2c 20 56 41 52 49 41 4e 54 2a 29 3b Disp, VARIANT*);
0f90: 0d 0a 09 76 6f 69 64 20 44 6f 63 75 6d 65 6e 74 ...void Document
0fa0: 43 6f 6d 70 6c 65 74 65 28 49 44 69 73 70 61 74 Complete(IDispat
0fb0: 63 68 20 70 44 69 73 70 2c 20 56 41 52 49 41 4e ch pDisp, VARIAN
0fc0: 54 2a 29 3b 0d 0a 09 76 6f 69 64 20 4f 6e 51 75 T*);...void OnQu
0fd0: 69 74 28 29 3b 0d 0a 09 76 6f 69 64 20 4f 6e 56 it();...void OnV
0fe0: 69 73 69 62 6c 65 28 56 41 52 49 41 4e 54 5f 42 isible(VARIANT_B
0ff0: 4f 4f 4c 29 3b 0d 0a 09 76 6f 69 64 20 4f 6e 54 OOL);...void OnT
1000: 6f 6f 6c 42 61 72 28 56 41 52 49 41 4e 54 5f 42 oolBar(VARIANT_B
1010: 4f 4f 4c 29 3b 0d 0a 09 76 6f 69 64 20 4f 6e 4d OOL);...void OnM
1020: 65 6e 75 42 61 72 28 56 41 52 49 41 4e 54 5f 42 enuBar(VARIANT_B
1030: 4f 4f 4c 29 3b 0d 0a 09 76 6f 69 64 20 4f 6e 53 OOL);...void OnS
1040: 74 61 74 75 73 42 61 72 28 56 41 52 49 41 4e 54 tatusBar(VARIANT
1050: 5f 42 4f 4f 4c 29 3b 0d 0a 09 76 6f 69 64 20 4f _BOOL);...void O
1060: 6e 46 75 6c 6c 53 63 72 65 65 6e 28 56 41 52 49 nFullScreen(VARI
1070: 41 4e 54 5f 42 4f 4f 4c 29 3b 0d 0a 09 76 6f 69 ANT_BOOL);...voi
1080: 64 20 4f 6e 54 68 65 61 74 65 72 4d 6f 64 65 28 d OnTheaterMode(
1090: 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 29 3b 0d 0a VARIANT_BOOL);..
10a0: 09 76 6f 69 64 20 57 69 6e 64 6f 77 53 65 74 52 .void WindowSetR
10b0: 65 73 69 7a 61 62 6c 65 28 56 41 52 49 41 4e 54 esizable(VARIANT
10c0: 5f 42 4f 4f 4c 29 3b 0d 0a 09 76 6f 69 64 20 57 _BOOL);...void W
10d0: 69 6e 64 6f 77 53 65 74 4c 65 66 74 28 4c 4f 4e indowSetLeft(LON
10e0: 47 29 3b 0d 0a 09 76 6f 69 64 20 57 69 6e 64 6f G);...void Windo
10f0: 77 53 65 74 54 6f 70 28 4c 4f 4e 47 29 3b 0d 0a wSetTop(LONG);..
1100: 09 76 6f 69 64 20 57 69 6e 64 6f 77 53 65 74 57 .void WindowSetW
1110: 69 64 74 68 28 4c 4f 4e 47 29 3b 0d 0a 09 76 6f idth(LONG);...vo
1120: 69 64 20 57 69 6e 64 6f 77 53 65 74 48 65 69 67 id WindowSetHeig
1130: 68 74 28 4c 4f 4e 47 29 3b 0d 0a 09 76 6f 69 64 ht(LONG);...void
1140: 20 57 69 6e 64 6f 77 43 6c 6f 73 69 6e 67 28 56 WindowClosing(V
1150: 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 56 41 52 ARIANT_BOOL, VAR
1160: 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 76 IANT_BOOL*);...v
1170: 6f 69 64 20 43 6c 69 65 6e 74 54 6f 48 6f 73 74 oid ClientToHost
1180: 57 69 6e 64 6f 77 28 4c 4f 4e 47 2a 2c 20 4c 4f Window(LONG*, LO
1190: 4e 47 2a 29 3b 0d 0a 09 76 6f 69 64 20 53 65 74 NG*);...void Set
11a0: 53 65 63 75 72 65 4c 6f 63 6b 49 63 6f 6e 28 4c SecureLockIcon(L
11b0: 4f 4e 47 29 3b 0d 0a 09 76 6f 69 64 20 46 69 6c ONG);...void Fil
11c0: 65 44 6f 77 6e 6c 6f 61 64 28 56 41 52 49 41 4e eDownload(VARIAN
11d0: 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 7d 0d 0a T_BOOL*);..}..