winapi_ui_automation/um/
exdisp.rs

1// Licensed under the Apache License, Version 2.0
2// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4// All files in the project carrying such notice may not be copied, modified, or distributed
5// except according to those terms.
6//! Mappings for the contents of ExDisp.h
7use shared::basetsd::SHANDLE_PTR;
8use shared::wtypes::{BSTR, VARIANT_BOOL};
9use um::docobj::{OLECMDEXECOPT, OLECMDF, OLECMDID};
10use um::oaidl::{IDispatch, IDispatchVtbl, VARIANT};
11use um::ocidl::READYSTATE;
12use um::winnt::{HRESULT, INT, LONG};
13DEFINE_GUID!{IID_IWebBrowser2,
14    0xd30c1661, 0xcdaf, 0x11d0, 0x8a, 0x3e, 0x00, 0xc0, 0x4f, 0xc9, 0xe2, 0x6e}
15RIDL!{#[uuid(0xeab22ac1, 0x30c1, 0x11cf, 0xa7, 0xeb, 0x00, 0x00, 0xc0, 0x5b, 0xae, 0x0b)]
16interface IWebBrowser(IWebBrowserVtbl): IDispatch(IDispatchVtbl) {
17    fn GoBack() -> HRESULT,
18    fn GoForward() -> HRESULT,
19    fn GoHome() -> HRESULT,
20    fn GoSearch() -> HRESULT,
21    fn Navigate(
22        URL: BSTR,
23        Flags: *const VARIANT,
24        TargetFrameName: *const VARIANT,
25        PostData: *const VARIANT,
26        Headers: *const VARIANT,
27    ) -> HRESULT,
28    fn Refresh() -> HRESULT,
29    fn Refresh2(
30        Level: *const VARIANT,
31    ) -> HRESULT,
32    fn Stop() -> HRESULT,
33    fn get_Application(
34        ppDisp: *mut *mut IDispatch,
35    ) -> HRESULT,
36    fn get_Parent(
37        ppDisp: *mut *mut IDispatch,
38    ) -> HRESULT,
39    fn get_Container(
40        ppDisp: *mut *mut IDispatch,
41    ) -> HRESULT,
42    fn get_Document(
43        ppDisp: *mut *mut IDispatch,
44    ) -> HRESULT,
45    fn get_TopLevelContainer(
46        pBool: *mut VARIANT_BOOL,
47    ) -> HRESULT,
48    fn get_Type(
49        Type: *mut BSTR,
50    ) -> HRESULT,
51    fn get_Left(
52        pl: *mut LONG,
53    ) -> HRESULT,
54    fn put_Left(
55        Left: LONG,
56    ) -> HRESULT,
57    fn get_Top(
58        pl: *mut LONG,
59    ) -> HRESULT,
60    fn put_Top(
61        Top: LONG,
62    ) -> HRESULT,
63    fn get_Width(
64        pl: *mut LONG,
65    ) -> HRESULT,
66    fn put_Width(
67        Width: LONG,
68    ) -> HRESULT,
69    fn get_Height(
70        pl: *mut LONG,
71    ) -> HRESULT,
72    fn put_Height(
73        Height: LONG,
74    ) -> HRESULT,
75    fn get_LocationName(
76        LocationName: *mut BSTR,
77    ) -> HRESULT,
78    fn get_LocationURL(
79        LocationURL: *mut BSTR,
80    ) -> HRESULT,
81    fn get_Busy(
82        pBool: *mut VARIANT_BOOL,
83    ) -> HRESULT,
84}}
85RIDL!{#[uuid(0x0002df05, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)]
86interface IWebBrowserApp(IWebBrowserAppVtbl): IWebBrowser(IWebBrowserVtbl) {
87    fn Quit() -> HRESULT,
88    fn ClientToWindow(
89        pcx: *mut INT,
90        pcy: *mut INT,
91    ) -> HRESULT,
92    fn PutProperty(
93        Property: BSTR,
94        vtValue: VARIANT,
95    ) -> HRESULT,
96    fn GetProperty(
97        Property: BSTR,
98        pvtValue: *mut VARIANT,
99    ) -> HRESULT,
100    fn get_Name(
101        Name: *mut BSTR,
102    ) -> HRESULT,
103    fn get_HWND(
104        pHWND: *mut SHANDLE_PTR,
105    ) -> HRESULT,
106    fn get_FullName(
107        FullName: *mut BSTR,
108    ) -> HRESULT,
109    fn get_Path(
110        Path: *mut BSTR,
111    ) -> HRESULT,
112    fn get_Visible(
113        pBool: *mut VARIANT_BOOL,
114    ) -> HRESULT,
115    fn put_Visible(
116        Value: VARIANT_BOOL,
117    ) -> HRESULT,
118    fn get_StatusBar(
119        pBool: *mut VARIANT_BOOL,
120    ) -> HRESULT,
121    fn put_StatusBar(
122        Value: VARIANT_BOOL,
123    ) -> HRESULT,
124    fn get_StatusText(
125        StatusText: *mut BSTR,
126    ) -> HRESULT,
127    fn put_StatusText(
128        StatusText: BSTR,
129    ) -> HRESULT,
130    fn get_ToolBar(
131        Value: *mut INT,
132    ) -> HRESULT,
133    fn put_ToolBar(
134        Value: INT,
135    ) -> HRESULT,
136    fn get_MenuBar(
137        Value: *mut VARIANT_BOOL,
138    ) -> HRESULT,
139    fn put_MenuBar(
140        Value: VARIANT_BOOL,
141    ) -> HRESULT,
142    fn get_FullScreen(
143        pbFullScreen: *mut VARIANT_BOOL,
144    ) -> HRESULT,
145    fn put_FullScreen(
146        bFullScreen: VARIANT_BOOL,
147    ) -> HRESULT,
148}}
149RIDL!{#[uuid(0xd30c1661, 0xcdaf, 0x11d0, 0x8a, 0x3e, 0x00, 0xc0, 0x4f, 0xc9, 0xe2, 0x6e)]
150interface IWebBrowser2(IWebBrowser2Vtbl): IWebBrowserApp(IWebBrowserAppVtbl) {
151    fn Navigate2(
152        URL: *const VARIANT,
153        Flags: *const VARIANT,
154        TargetFrameName: *const VARIANT,
155        PostData: *const VARIANT,
156        Headers: *const VARIANT,
157    ) -> HRESULT,
158    fn QueryStatusWB(
159        cmdID: OLECMDID,
160        pcmdf: *mut OLECMDF,
161    ) -> HRESULT,
162    fn ExecWB(
163        cmdID: OLECMDID,
164        cmdexecopt: OLECMDEXECOPT,
165        pvaIn: *const VARIANT,
166        pvaOut: *mut VARIANT,
167    ) -> HRESULT,
168    fn ShowBrowserBar(
169        pvaClsid: *const VARIANT,
170        pvarShow: *const VARIANT,
171        pvarSize: *const VARIANT,
172    ) -> HRESULT,
173    fn get_ReadyState(
174        plReadyState: *mut READYSTATE,
175    ) -> HRESULT,
176    fn get_Offline(
177        pbOffline: *mut VARIANT_BOOL,
178    ) -> HRESULT,
179    fn put_Offline(
180        bOffline: VARIANT_BOOL,
181    ) -> HRESULT,
182    fn get_Silent(
183        pbSilent: *mut VARIANT_BOOL,
184    ) -> HRESULT,
185    fn put_Silent(
186        bSilent: VARIANT_BOOL,
187    ) -> HRESULT,
188    fn get_RegisterAsBrowser(
189        pbRegister: *mut VARIANT_BOOL,
190    ) -> HRESULT,
191    fn put_RegisterAsBrowser(
192        bRegister: VARIANT_BOOL,
193    ) -> HRESULT,
194    fn get_RegisterAsDropTarget(
195        pbRegister: *mut VARIANT_BOOL,
196    ) -> HRESULT,
197    fn put_RegisterAsDropTarget(
198        bRegister: VARIANT_BOOL,
199    ) -> HRESULT,
200    fn get_TheaterMode(
201        pbRegister: *mut VARIANT_BOOL,
202    ) -> HRESULT,
203    fn put_TheaterMode(
204        bRegister: VARIANT_BOOL,
205    ) -> HRESULT,
206    fn get_AddressBar(
207        Value: *mut VARIANT_BOOL,
208    ) -> HRESULT,
209    fn put_AddressBar(
210        Value: VARIANT_BOOL,
211    ) -> HRESULT,
212    fn get_Resizable(
213        Value: *mut VARIANT_BOOL,
214    ) -> HRESULT,
215    fn put_Resizable(
216        Value: VARIANT_BOOL,
217    ) -> HRESULT,
218}}
219DEFINE_GUID!{CLSID_InternetExplorer,
220    0x0002df01, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}