1#[inline]
4pub unsafe fn CompareBrowserVersions<P0, P1>(
5 version1: P0,
6 version2: P1,
7 result: *mut i32,
8) -> windows_core::Result<()>
9where
10 P0: windows_core::Param<windows_core::PCWSTR>,
11 P1: windows_core::Param<windows_core::PCWSTR>,
12{
13 windows_link::link!("webview2loader" "system" fn CompareBrowserVersions(version1 : windows_core::PCWSTR, version2 : windows_core::PCWSTR, result : *mut i32) -> windows_core::HRESULT);
14 unsafe {
15 CompareBrowserVersions(version1.param().abi(), version2.param().abi(), result as _).ok()
16 }
17}
18#[inline]
19pub unsafe fn CreateCoreWebView2Environment<P0>(
20 environmentcreatedhandler: P0,
21) -> windows_core::Result<()>
22where
23 P0: windows_core::Param<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>,
24{
25 windows_link::link!("webview2loader" "system" fn CreateCoreWebView2Environment(environmentcreatedhandler : * mut core::ffi::c_void) -> windows_core::HRESULT);
26 unsafe { CreateCoreWebView2Environment(environmentcreatedhandler.param().abi()).ok() }
27}
28#[inline]
29pub unsafe fn CreateCoreWebView2EnvironmentWithOptions<P0, P1, P2, P3>(
30 browserexecutablefolder: P0,
31 userdatafolder: P1,
32 environmentoptions: P2,
33 environmentcreatedhandler: P3,
34) -> windows_core::Result<()>
35where
36 P0: windows_core::Param<windows_core::PCWSTR>,
37 P1: windows_core::Param<windows_core::PCWSTR>,
38 P2: windows_core::Param<ICoreWebView2EnvironmentOptions>,
39 P3: windows_core::Param<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>,
40{
41 windows_link::link!("webview2loader" "system" fn CreateCoreWebView2EnvironmentWithOptions(browserexecutablefolder : windows_core::PCWSTR, userdatafolder : windows_core::PCWSTR, environmentoptions : * mut core::ffi::c_void, environmentcreatedhandler : * mut core::ffi::c_void) -> windows_core::HRESULT);
42 unsafe {
43 CreateCoreWebView2EnvironmentWithOptions(
44 browserexecutablefolder.param().abi(),
45 userdatafolder.param().abi(),
46 environmentoptions.param().abi(),
47 environmentcreatedhandler.param().abi(),
48 )
49 .ok()
50 }
51}
52#[inline]
53pub unsafe fn GetAvailableCoreWebView2BrowserVersionString<P0>(
54 browserexecutablefolder: P0,
55 versioninfo: *mut windows_core::PWSTR,
56) -> windows_core::Result<()>
57where
58 P0: windows_core::Param<windows_core::PCWSTR>,
59{
60 windows_link::link!("webview2loader" "system" fn GetAvailableCoreWebView2BrowserVersionString(browserexecutablefolder : windows_core::PCWSTR, versioninfo : *mut windows_core::PWSTR) -> windows_core::HRESULT);
61 unsafe {
62 GetAvailableCoreWebView2BrowserVersionString(
63 browserexecutablefolder.param().abi(),
64 versioninfo as _,
65 )
66 .ok()
67 }
68}
69#[inline]
70pub unsafe fn GetAvailableCoreWebView2BrowserVersionStringWithOptions<P0, P1>(
71 browserexecutablefolder: P0,
72 environmentoptions: P1,
73 versioninfo: *mut windows_core::PWSTR,
74) -> windows_core::Result<()>
75where
76 P0: windows_core::Param<windows_core::PCWSTR>,
77 P1: windows_core::Param<ICoreWebView2EnvironmentOptions>,
78{
79 windows_link::link!("webview2loader" "system" fn GetAvailableCoreWebView2BrowserVersionStringWithOptions(browserexecutablefolder : windows_core::PCWSTR, environmentoptions : * mut core::ffi::c_void, versioninfo : *mut windows_core::PWSTR) -> windows_core::HRESULT);
80 unsafe {
81 GetAvailableCoreWebView2BrowserVersionStringWithOptions(
82 browserexecutablefolder.param().abi(),
83 environmentoptions.param().abi(),
84 versioninfo as _,
85 )
86 .ok()
87 }
88}
89#[repr(transparent)]
90#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
91pub struct COREWEBVIEW2_BOUNDS_MODE(pub i32);
92pub const COREWEBVIEW2_BOUNDS_MODE_USE_RASTERIZATION_SCALE: COREWEBVIEW2_BOUNDS_MODE =
93 COREWEBVIEW2_BOUNDS_MODE(1i32);
94pub const COREWEBVIEW2_BOUNDS_MODE_USE_RAW_PIXELS: COREWEBVIEW2_BOUNDS_MODE =
95 COREWEBVIEW2_BOUNDS_MODE(0i32);
96#[repr(transparent)]
97#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
98pub struct COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND(pub i32);
99pub const COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_FAILED: COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND =
100 COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND(1i32);
101pub const COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_NORMAL: COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND =
102 COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND(0i32);
103#[repr(transparent)]
104#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
105pub struct COREWEBVIEW2_BROWSING_DATA_KINDS(pub i32);
106impl COREWEBVIEW2_BROWSING_DATA_KINDS {
107 pub const fn contains(&self, other: Self) -> bool {
108 self.0 & other.0 == other.0
109 }
110}
111impl core::ops::BitOr for COREWEBVIEW2_BROWSING_DATA_KINDS {
112 type Output = Self;
113 fn bitor(self, other: Self) -> Self {
114 Self(self.0 | other.0)
115 }
116}
117impl core::ops::BitAnd for COREWEBVIEW2_BROWSING_DATA_KINDS {
118 type Output = Self;
119 fn bitand(self, other: Self) -> Self {
120 Self(self.0 & other.0)
121 }
122}
123impl core::ops::BitOrAssign for COREWEBVIEW2_BROWSING_DATA_KINDS {
124 fn bitor_assign(&mut self, other: Self) {
125 self.0.bitor_assign(other.0)
126 }
127}
128impl core::ops::BitAndAssign for COREWEBVIEW2_BROWSING_DATA_KINDS {
129 fn bitand_assign(&mut self, other: Self) {
130 self.0.bitand_assign(other.0)
131 }
132}
133impl core::ops::Not for COREWEBVIEW2_BROWSING_DATA_KINDS {
134 type Output = Self;
135 fn not(self) -> Self {
136 Self(self.0.not())
137 }
138}
139pub const COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_DOM_STORAGE: COREWEBVIEW2_BROWSING_DATA_KINDS =
140 COREWEBVIEW2_BROWSING_DATA_KINDS(32i32);
141pub const COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_PROFILE: COREWEBVIEW2_BROWSING_DATA_KINDS =
142 COREWEBVIEW2_BROWSING_DATA_KINDS(16384i32);
143pub const COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_SITE: COREWEBVIEW2_BROWSING_DATA_KINDS =
144 COREWEBVIEW2_BROWSING_DATA_KINDS(128i32);
145pub const COREWEBVIEW2_BROWSING_DATA_KINDS_BROWSING_HISTORY: COREWEBVIEW2_BROWSING_DATA_KINDS =
146 COREWEBVIEW2_BROWSING_DATA_KINDS(4096i32);
147pub const COREWEBVIEW2_BROWSING_DATA_KINDS_CACHE_STORAGE: COREWEBVIEW2_BROWSING_DATA_KINDS =
148 COREWEBVIEW2_BROWSING_DATA_KINDS(16i32);
149pub const COREWEBVIEW2_BROWSING_DATA_KINDS_COOKIES: COREWEBVIEW2_BROWSING_DATA_KINDS =
150 COREWEBVIEW2_BROWSING_DATA_KINDS(64i32);
151pub const COREWEBVIEW2_BROWSING_DATA_KINDS_DISK_CACHE: COREWEBVIEW2_BROWSING_DATA_KINDS =
152 COREWEBVIEW2_BROWSING_DATA_KINDS(256i32);
153pub const COREWEBVIEW2_BROWSING_DATA_KINDS_DOWNLOAD_HISTORY: COREWEBVIEW2_BROWSING_DATA_KINDS =
154 COREWEBVIEW2_BROWSING_DATA_KINDS(512i32);
155pub const COREWEBVIEW2_BROWSING_DATA_KINDS_FILE_SYSTEMS: COREWEBVIEW2_BROWSING_DATA_KINDS =
156 COREWEBVIEW2_BROWSING_DATA_KINDS(1i32);
157pub const COREWEBVIEW2_BROWSING_DATA_KINDS_GENERAL_AUTOFILL: COREWEBVIEW2_BROWSING_DATA_KINDS =
158 COREWEBVIEW2_BROWSING_DATA_KINDS(1024i32);
159pub const COREWEBVIEW2_BROWSING_DATA_KINDS_INDEXED_DB: COREWEBVIEW2_BROWSING_DATA_KINDS =
160 COREWEBVIEW2_BROWSING_DATA_KINDS(2i32);
161pub const COREWEBVIEW2_BROWSING_DATA_KINDS_LOCAL_STORAGE: COREWEBVIEW2_BROWSING_DATA_KINDS =
162 COREWEBVIEW2_BROWSING_DATA_KINDS(4i32);
163pub const COREWEBVIEW2_BROWSING_DATA_KINDS_PASSWORD_AUTOSAVE: COREWEBVIEW2_BROWSING_DATA_KINDS =
164 COREWEBVIEW2_BROWSING_DATA_KINDS(2048i32);
165pub const COREWEBVIEW2_BROWSING_DATA_KINDS_SERVICE_WORKERS: COREWEBVIEW2_BROWSING_DATA_KINDS =
166 COREWEBVIEW2_BROWSING_DATA_KINDS(32768i32);
167pub const COREWEBVIEW2_BROWSING_DATA_KINDS_SETTINGS: COREWEBVIEW2_BROWSING_DATA_KINDS =
168 COREWEBVIEW2_BROWSING_DATA_KINDS(8192i32);
169pub const COREWEBVIEW2_BROWSING_DATA_KINDS_WEB_SQL: COREWEBVIEW2_BROWSING_DATA_KINDS =
170 COREWEBVIEW2_BROWSING_DATA_KINDS(8i32);
171#[repr(transparent)]
172#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
173pub struct COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT(pub i32);
174pub const COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_JPEG:
175 COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT = COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT(1i32);
176pub const COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_PNG: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT =
177 COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT(0i32);
178#[repr(transparent)]
179#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
180pub struct COREWEBVIEW2_CHANNEL_SEARCH_KIND(pub i32);
181pub const COREWEBVIEW2_CHANNEL_SEARCH_KIND_LEAST_STABLE: COREWEBVIEW2_CHANNEL_SEARCH_KIND =
182 COREWEBVIEW2_CHANNEL_SEARCH_KIND(1i32);
183pub const COREWEBVIEW2_CHANNEL_SEARCH_KIND_MOST_STABLE: COREWEBVIEW2_CHANNEL_SEARCH_KIND =
184 COREWEBVIEW2_CHANNEL_SEARCH_KIND(0i32);
185#[repr(transparent)]
186#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
187pub struct COREWEBVIEW2_CLIENT_CERTIFICATE_KIND(pub i32);
188pub const COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_OTHER: COREWEBVIEW2_CLIENT_CERTIFICATE_KIND =
189 COREWEBVIEW2_CLIENT_CERTIFICATE_KIND(2i32);
190pub const COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_PIN: COREWEBVIEW2_CLIENT_CERTIFICATE_KIND =
191 COREWEBVIEW2_CLIENT_CERTIFICATE_KIND(1i32);
192pub const COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_SMART_CARD: COREWEBVIEW2_CLIENT_CERTIFICATE_KIND =
193 COREWEBVIEW2_CLIENT_CERTIFICATE_KIND(0i32);
194#[repr(C)]
195#[derive(Clone, Copy, Debug, Default, PartialEq)]
196pub struct COREWEBVIEW2_COLOR {
197 pub A: u8,
198 pub R: u8,
199 pub G: u8,
200 pub B: u8,
201}
202#[repr(transparent)]
203#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
204pub struct COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND(pub i32);
205pub const COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_CHECK_BOX: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND =
206 COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND(1i32);
207pub const COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_COMMAND: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND =
208 COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND(0i32);
209pub const COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_RADIO: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND =
210 COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND(2i32);
211pub const COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_SEPARATOR: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND =
212 COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND(3i32);
213pub const COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_SUBMENU: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND =
214 COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND(4i32);
215#[repr(transparent)]
216#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
217pub struct COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND(pub i32);
218pub const COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_AUDIO: COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND =
219 COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND(3i32);
220pub const COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_IMAGE: COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND =
221 COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND(1i32);
222pub const COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_PAGE: COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND =
223 COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND(0i32);
224pub const COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_SELECTED_TEXT:
225 COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND = COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND(2i32);
226pub const COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_VIDEO: COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND =
227 COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND(4i32);
228#[repr(transparent)]
229#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
230pub struct COREWEBVIEW2_COOKIE_SAME_SITE_KIND(pub i32);
231pub const COREWEBVIEW2_COOKIE_SAME_SITE_KIND_LAX: COREWEBVIEW2_COOKIE_SAME_SITE_KIND =
232 COREWEBVIEW2_COOKIE_SAME_SITE_KIND(1i32);
233pub const COREWEBVIEW2_COOKIE_SAME_SITE_KIND_NONE: COREWEBVIEW2_COOKIE_SAME_SITE_KIND =
234 COREWEBVIEW2_COOKIE_SAME_SITE_KIND(0i32);
235pub const COREWEBVIEW2_COOKIE_SAME_SITE_KIND_STRICT: COREWEBVIEW2_COOKIE_SAME_SITE_KIND =
236 COREWEBVIEW2_COOKIE_SAME_SITE_KIND(2i32);
237#[repr(transparent)]
238#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
239pub struct COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT(pub i32);
240pub const COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_BOTTOM_LEFT:
241 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT =
242 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT(2i32);
243pub const COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_BOTTOM_RIGHT:
244 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT =
245 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT(3i32);
246pub const COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_LEFT:
247 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT =
248 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT(0i32);
249pub const COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_RIGHT:
250 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT =
251 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT(1i32);
252#[repr(transparent)]
253#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
254pub struct COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(pub i32);
255pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_DOWNLOAD_PROCESS_CRASHED:
256 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(29i32);
257pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED:
258 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(2i32);
259pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED_BY_POLICY:
260 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(8i32);
261pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_FAILED:
262 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(1i32);
263pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_HASH_MISMATCH:
264 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(11i32);
265pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_MALICIOUS:
266 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(6i32);
267pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG:
268 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(4i32);
269pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE:
270 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(3i32);
271pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED:
272 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(9i32);
273pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE:
274 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(5i32);
275pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT:
276 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(10i32);
277pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR:
278 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(7i32);
279pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED:
280 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(14i32);
281pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED:
282 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(12i32);
283pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_INVALID_REQUEST:
284 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(16i32);
285pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN:
286 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(15i32);
287pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT:
288 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(13i32);
289pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NONE: COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON =
290 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(0i32);
291pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT:
292 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(19i32);
293pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CERTIFICATE_PROBLEM:
294 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(21i32);
295pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CONTENT_LENGTH_MISMATCH:
296 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(24i32);
297pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CROSS_ORIGIN_REDIRECT:
298 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(25i32);
299pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED:
300 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(17i32);
301pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FORBIDDEN:
302 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(22i32);
303pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_NO_RANGE:
304 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(18i32);
305pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNAUTHORIZED:
306 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(20i32);
307pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNEXPECTED_RESPONSE:
308 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(23i32);
309pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_CANCELED:
310 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(26i32);
311pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_PAUSED:
312 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(28i32);
313pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN:
314 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(27i32);
315#[repr(transparent)]
316#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
317pub struct COREWEBVIEW2_DOWNLOAD_STATE(pub i32);
318pub const COREWEBVIEW2_DOWNLOAD_STATE_COMPLETED: COREWEBVIEW2_DOWNLOAD_STATE =
319 COREWEBVIEW2_DOWNLOAD_STATE(2i32);
320pub const COREWEBVIEW2_DOWNLOAD_STATE_INTERRUPTED: COREWEBVIEW2_DOWNLOAD_STATE =
321 COREWEBVIEW2_DOWNLOAD_STATE(1i32);
322pub const COREWEBVIEW2_DOWNLOAD_STATE_IN_PROGRESS: COREWEBVIEW2_DOWNLOAD_STATE =
323 COREWEBVIEW2_DOWNLOAD_STATE(0i32);
324#[repr(transparent)]
325#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
326pub struct COREWEBVIEW2_FAVICON_IMAGE_FORMAT(pub i32);
327pub const COREWEBVIEW2_FAVICON_IMAGE_FORMAT_JPEG: COREWEBVIEW2_FAVICON_IMAGE_FORMAT =
328 COREWEBVIEW2_FAVICON_IMAGE_FORMAT(1i32);
329pub const COREWEBVIEW2_FAVICON_IMAGE_FORMAT_PNG: COREWEBVIEW2_FAVICON_IMAGE_FORMAT =
330 COREWEBVIEW2_FAVICON_IMAGE_FORMAT(0i32);
331#[repr(transparent)]
332#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
333pub struct COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND(pub i32);
334pub const COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND_DIRECTORY: COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND =
335 COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND(1i32);
336pub const COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND_FILE: COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND =
337 COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND(0i32);
338#[repr(transparent)]
339#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
340pub struct COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION(pub i32);
341pub const COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION_READ_ONLY:
342 COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION = COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION(0i32);
343pub const COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION_READ_WRITE:
344 COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION = COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION(1i32);
345#[repr(transparent)]
346#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
347pub struct COREWEBVIEW2_FRAME_KIND(pub i32);
348pub const COREWEBVIEW2_FRAME_KIND_EMBED: COREWEBVIEW2_FRAME_KIND = COREWEBVIEW2_FRAME_KIND(3i32);
349pub const COREWEBVIEW2_FRAME_KIND_IFRAME: COREWEBVIEW2_FRAME_KIND = COREWEBVIEW2_FRAME_KIND(2i32);
350pub const COREWEBVIEW2_FRAME_KIND_MAIN_FRAME: COREWEBVIEW2_FRAME_KIND =
351 COREWEBVIEW2_FRAME_KIND(1i32);
352pub const COREWEBVIEW2_FRAME_KIND_OBJECT: COREWEBVIEW2_FRAME_KIND = COREWEBVIEW2_FRAME_KIND(4i32);
353pub const COREWEBVIEW2_FRAME_KIND_UNKNOWN: COREWEBVIEW2_FRAME_KIND = COREWEBVIEW2_FRAME_KIND(0i32);
354#[repr(transparent)]
355#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
356pub struct COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND(pub i32);
357pub const COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_ALLOW: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND =
358 COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND(1i32);
359pub const COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND =
360 COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND(0i32);
361pub const COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY_CORS: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND =
362 COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND(2i32);
363#[repr(transparent)]
364#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
365pub struct COREWEBVIEW2_KEY_EVENT_KIND(pub i32);
366pub const COREWEBVIEW2_KEY_EVENT_KIND_KEY_DOWN: COREWEBVIEW2_KEY_EVENT_KIND =
367 COREWEBVIEW2_KEY_EVENT_KIND(0i32);
368pub const COREWEBVIEW2_KEY_EVENT_KIND_KEY_UP: COREWEBVIEW2_KEY_EVENT_KIND =
369 COREWEBVIEW2_KEY_EVENT_KIND(1i32);
370pub const COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_DOWN: COREWEBVIEW2_KEY_EVENT_KIND =
371 COREWEBVIEW2_KEY_EVENT_KIND(2i32);
372pub const COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_UP: COREWEBVIEW2_KEY_EVENT_KIND =
373 COREWEBVIEW2_KEY_EVENT_KIND(3i32);
374#[repr(transparent)]
375#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
376pub struct COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL(pub i32);
377pub const COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL_LOW: COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL =
378 COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL(1i32);
379pub const COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL_NORMAL: COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL =
380 COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL(0i32);
381#[repr(transparent)]
382#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
383pub struct COREWEBVIEW2_MOUSE_EVENT_KIND(pub i32);
384pub const COREWEBVIEW2_MOUSE_EVENT_KIND_HORIZONTAL_WHEEL: COREWEBVIEW2_MOUSE_EVENT_KIND =
385 COREWEBVIEW2_MOUSE_EVENT_KIND(526i32);
386pub const COREWEBVIEW2_MOUSE_EVENT_KIND_LEAVE: COREWEBVIEW2_MOUSE_EVENT_KIND =
387 COREWEBVIEW2_MOUSE_EVENT_KIND(675i32);
388pub const COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOUBLE_CLICK: COREWEBVIEW2_MOUSE_EVENT_KIND =
389 COREWEBVIEW2_MOUSE_EVENT_KIND(515i32);
390pub const COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOWN: COREWEBVIEW2_MOUSE_EVENT_KIND =
391 COREWEBVIEW2_MOUSE_EVENT_KIND(513i32);
392pub const COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
393 COREWEBVIEW2_MOUSE_EVENT_KIND(514i32);
394pub const COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOUBLE_CLICK: COREWEBVIEW2_MOUSE_EVENT_KIND =
395 COREWEBVIEW2_MOUSE_EVENT_KIND(521i32);
396pub const COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOWN: COREWEBVIEW2_MOUSE_EVENT_KIND =
397 COREWEBVIEW2_MOUSE_EVENT_KIND(519i32);
398pub const COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
399 COREWEBVIEW2_MOUSE_EVENT_KIND(520i32);
400pub const COREWEBVIEW2_MOUSE_EVENT_KIND_MOVE: COREWEBVIEW2_MOUSE_EVENT_KIND =
401 COREWEBVIEW2_MOUSE_EVENT_KIND(512i32);
402pub const COREWEBVIEW2_MOUSE_EVENT_KIND_NON_CLIENT_RIGHT_BUTTON_DOWN:
403 COREWEBVIEW2_MOUSE_EVENT_KIND = COREWEBVIEW2_MOUSE_EVENT_KIND(164i32);
404pub const COREWEBVIEW2_MOUSE_EVENT_KIND_NON_CLIENT_RIGHT_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
405 COREWEBVIEW2_MOUSE_EVENT_KIND(165i32);
406pub const COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOUBLE_CLICK: COREWEBVIEW2_MOUSE_EVENT_KIND =
407 COREWEBVIEW2_MOUSE_EVENT_KIND(518i32);
408pub const COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOWN: COREWEBVIEW2_MOUSE_EVENT_KIND =
409 COREWEBVIEW2_MOUSE_EVENT_KIND(516i32);
410pub const COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
411 COREWEBVIEW2_MOUSE_EVENT_KIND(517i32);
412pub const COREWEBVIEW2_MOUSE_EVENT_KIND_WHEEL: COREWEBVIEW2_MOUSE_EVENT_KIND =
413 COREWEBVIEW2_MOUSE_EVENT_KIND(522i32);
414pub const COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOUBLE_CLICK: COREWEBVIEW2_MOUSE_EVENT_KIND =
415 COREWEBVIEW2_MOUSE_EVENT_KIND(525i32);
416pub const COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOWN: COREWEBVIEW2_MOUSE_EVENT_KIND =
417 COREWEBVIEW2_MOUSE_EVENT_KIND(523i32);
418pub const COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
419 COREWEBVIEW2_MOUSE_EVENT_KIND(524i32);
420#[repr(transparent)]
421#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
422pub struct COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(pub i32);
423impl COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
424 pub const fn contains(&self, other: Self) -> bool {
425 self.0 & other.0 == other.0
426 }
427}
428impl core::ops::BitOr for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
429 type Output = Self;
430 fn bitor(self, other: Self) -> Self {
431 Self(self.0 | other.0)
432 }
433}
434impl core::ops::BitAnd for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
435 type Output = Self;
436 fn bitand(self, other: Self) -> Self {
437 Self(self.0 & other.0)
438 }
439}
440impl core::ops::BitOrAssign for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
441 fn bitor_assign(&mut self, other: Self) {
442 self.0.bitor_assign(other.0)
443 }
444}
445impl core::ops::BitAndAssign for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
446 fn bitand_assign(&mut self, other: Self) {
447 self.0.bitand_assign(other.0)
448 }
449}
450impl core::ops::Not for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
451 type Output = Self;
452 fn not(self) -> Self {
453 Self(self.0.not())
454 }
455}
456pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_CONTROL: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
457 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(8i32);
458pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_LEFT_BUTTON: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
459 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(1i32);
460pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_MIDDLE_BUTTON:
461 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS = COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(16i32);
462pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_NONE: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
463 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(0i32);
464pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_RIGHT_BUTTON:
465 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS = COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(2i32);
466pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_SHIFT: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
467 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(4i32);
468pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON1: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
469 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(32i32);
470pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON2: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
471 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(64i32);
472#[repr(transparent)]
473#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
474pub struct COREWEBVIEW2_MOVE_FOCUS_REASON(pub i32);
475pub const COREWEBVIEW2_MOVE_FOCUS_REASON_NEXT: COREWEBVIEW2_MOVE_FOCUS_REASON =
476 COREWEBVIEW2_MOVE_FOCUS_REASON(1i32);
477pub const COREWEBVIEW2_MOVE_FOCUS_REASON_PREVIOUS: COREWEBVIEW2_MOVE_FOCUS_REASON =
478 COREWEBVIEW2_MOVE_FOCUS_REASON(2i32);
479pub const COREWEBVIEW2_MOVE_FOCUS_REASON_PROGRAMMATIC: COREWEBVIEW2_MOVE_FOCUS_REASON =
480 COREWEBVIEW2_MOVE_FOCUS_REASON(0i32);
481#[repr(transparent)]
482#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
483pub struct COREWEBVIEW2_NAVIGATION_KIND(pub i32);
484pub const COREWEBVIEW2_NAVIGATION_KIND_BACK_OR_FORWARD: COREWEBVIEW2_NAVIGATION_KIND =
485 COREWEBVIEW2_NAVIGATION_KIND(1i32);
486pub const COREWEBVIEW2_NAVIGATION_KIND_NEW_DOCUMENT: COREWEBVIEW2_NAVIGATION_KIND =
487 COREWEBVIEW2_NAVIGATION_KIND(2i32);
488pub const COREWEBVIEW2_NAVIGATION_KIND_RELOAD: COREWEBVIEW2_NAVIGATION_KIND =
489 COREWEBVIEW2_NAVIGATION_KIND(0i32);
490#[repr(transparent)]
491#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
492pub struct COREWEBVIEW2_NON_CLIENT_REGION_KIND(pub i32);
493pub const COREWEBVIEW2_NON_CLIENT_REGION_KIND_CAPTION: COREWEBVIEW2_NON_CLIENT_REGION_KIND =
494 COREWEBVIEW2_NON_CLIENT_REGION_KIND(2i32);
495pub const COREWEBVIEW2_NON_CLIENT_REGION_KIND_CLIENT: COREWEBVIEW2_NON_CLIENT_REGION_KIND =
496 COREWEBVIEW2_NON_CLIENT_REGION_KIND(1i32);
497pub const COREWEBVIEW2_NON_CLIENT_REGION_KIND_CLOSE: COREWEBVIEW2_NON_CLIENT_REGION_KIND =
498 COREWEBVIEW2_NON_CLIENT_REGION_KIND(20i32);
499pub const COREWEBVIEW2_NON_CLIENT_REGION_KIND_MAXIMIZE: COREWEBVIEW2_NON_CLIENT_REGION_KIND =
500 COREWEBVIEW2_NON_CLIENT_REGION_KIND(9i32);
501pub const COREWEBVIEW2_NON_CLIENT_REGION_KIND_MINIMIZE: COREWEBVIEW2_NON_CLIENT_REGION_KIND =
502 COREWEBVIEW2_NON_CLIENT_REGION_KIND(8i32);
503pub const COREWEBVIEW2_NON_CLIENT_REGION_KIND_NOWHERE: COREWEBVIEW2_NON_CLIENT_REGION_KIND =
504 COREWEBVIEW2_NON_CLIENT_REGION_KIND(0i32);
505#[repr(transparent)]
506#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
507pub struct COREWEBVIEW2_PDF_TOOLBAR_ITEMS(pub i32);
508impl COREWEBVIEW2_PDF_TOOLBAR_ITEMS {
509 pub const fn contains(&self, other: Self) -> bool {
510 self.0 & other.0 == other.0
511 }
512}
513impl core::ops::BitOr for COREWEBVIEW2_PDF_TOOLBAR_ITEMS {
514 type Output = Self;
515 fn bitor(self, other: Self) -> Self {
516 Self(self.0 | other.0)
517 }
518}
519impl core::ops::BitAnd for COREWEBVIEW2_PDF_TOOLBAR_ITEMS {
520 type Output = Self;
521 fn bitand(self, other: Self) -> Self {
522 Self(self.0 & other.0)
523 }
524}
525impl core::ops::BitOrAssign for COREWEBVIEW2_PDF_TOOLBAR_ITEMS {
526 fn bitor_assign(&mut self, other: Self) {
527 self.0.bitor_assign(other.0)
528 }
529}
530impl core::ops::BitAndAssign for COREWEBVIEW2_PDF_TOOLBAR_ITEMS {
531 fn bitand_assign(&mut self, other: Self) {
532 self.0.bitand_assign(other.0)
533 }
534}
535impl core::ops::Not for COREWEBVIEW2_PDF_TOOLBAR_ITEMS {
536 type Output = Self;
537 fn not(self) -> Self {
538 Self(self.0.not())
539 }
540}
541pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_BOOKMARKS: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
542 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(256i32);
543pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_FIT_PAGE: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
544 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(64i32);
545pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_FULL_SCREEN: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
546 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(2048i32);
547pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_MORE_SETTINGS: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
548 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(4096i32);
549pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_NONE: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
550 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(0i32);
551pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PAGE_LAYOUT: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
552 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(128i32);
553pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PAGE_SELECTOR: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
554 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(512i32);
555pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PRINT: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
556 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(2i32);
557pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ROTATE: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
558 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(32i32);
559pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SAVE: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
560 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(1i32);
561pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SAVE_AS: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
562 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(4i32);
563pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SEARCH: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
564 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(1024i32);
565pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ZOOM_IN: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
566 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(8i32);
567pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ZOOM_OUT: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
568 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(16i32);
569#[repr(transparent)]
570#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
571pub struct COREWEBVIEW2_PERMISSION_KIND(pub i32);
572pub const COREWEBVIEW2_PERMISSION_KIND_AUTOPLAY: COREWEBVIEW2_PERMISSION_KIND =
573 COREWEBVIEW2_PERMISSION_KIND(9i32);
574pub const COREWEBVIEW2_PERMISSION_KIND_CAMERA: COREWEBVIEW2_PERMISSION_KIND =
575 COREWEBVIEW2_PERMISSION_KIND(2i32);
576pub const COREWEBVIEW2_PERMISSION_KIND_CLIPBOARD_READ: COREWEBVIEW2_PERMISSION_KIND =
577 COREWEBVIEW2_PERMISSION_KIND(6i32);
578pub const COREWEBVIEW2_PERMISSION_KIND_FILE_READ_WRITE: COREWEBVIEW2_PERMISSION_KIND =
579 COREWEBVIEW2_PERMISSION_KIND(8i32);
580pub const COREWEBVIEW2_PERMISSION_KIND_GEOLOCATION: COREWEBVIEW2_PERMISSION_KIND =
581 COREWEBVIEW2_PERMISSION_KIND(3i32);
582pub const COREWEBVIEW2_PERMISSION_KIND_LOCAL_FONTS: COREWEBVIEW2_PERMISSION_KIND =
583 COREWEBVIEW2_PERMISSION_KIND(10i32);
584pub const COREWEBVIEW2_PERMISSION_KIND_MICROPHONE: COREWEBVIEW2_PERMISSION_KIND =
585 COREWEBVIEW2_PERMISSION_KIND(1i32);
586pub const COREWEBVIEW2_PERMISSION_KIND_MIDI_SYSTEM_EXCLUSIVE_MESSAGES:
587 COREWEBVIEW2_PERMISSION_KIND = COREWEBVIEW2_PERMISSION_KIND(11i32);
588pub const COREWEBVIEW2_PERMISSION_KIND_MULTIPLE_AUTOMATIC_DOWNLOADS: COREWEBVIEW2_PERMISSION_KIND =
589 COREWEBVIEW2_PERMISSION_KIND(7i32);
590pub const COREWEBVIEW2_PERMISSION_KIND_NOTIFICATIONS: COREWEBVIEW2_PERMISSION_KIND =
591 COREWEBVIEW2_PERMISSION_KIND(4i32);
592pub const COREWEBVIEW2_PERMISSION_KIND_OTHER_SENSORS: COREWEBVIEW2_PERMISSION_KIND =
593 COREWEBVIEW2_PERMISSION_KIND(5i32);
594pub const COREWEBVIEW2_PERMISSION_KIND_UNKNOWN_PERMISSION: COREWEBVIEW2_PERMISSION_KIND =
595 COREWEBVIEW2_PERMISSION_KIND(0i32);
596pub const COREWEBVIEW2_PERMISSION_KIND_WINDOW_MANAGEMENT: COREWEBVIEW2_PERMISSION_KIND =
597 COREWEBVIEW2_PERMISSION_KIND(12i32);
598#[repr(transparent)]
599#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
600pub struct COREWEBVIEW2_PERMISSION_STATE(pub i32);
601pub const COREWEBVIEW2_PERMISSION_STATE_ALLOW: COREWEBVIEW2_PERMISSION_STATE =
602 COREWEBVIEW2_PERMISSION_STATE(1i32);
603pub const COREWEBVIEW2_PERMISSION_STATE_DEFAULT: COREWEBVIEW2_PERMISSION_STATE =
604 COREWEBVIEW2_PERMISSION_STATE(0i32);
605pub const COREWEBVIEW2_PERMISSION_STATE_DENY: COREWEBVIEW2_PERMISSION_STATE =
606 COREWEBVIEW2_PERMISSION_STATE(2i32);
607#[repr(C)]
608#[derive(Clone, Copy, Debug, Default, PartialEq)]
609pub struct COREWEBVIEW2_PHYSICAL_KEY_STATUS {
610 pub RepeatCount: u32,
611 pub ScanCode: u32,
612 pub IsExtendedKey: windows_core::BOOL,
613 pub IsMenuKeyDown: windows_core::BOOL,
614 pub WasKeyDown: windows_core::BOOL,
615 pub IsKeyReleased: windows_core::BOOL,
616}
617#[repr(transparent)]
618#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
619pub struct COREWEBVIEW2_POINTER_EVENT_KIND(pub i32);
620pub const COREWEBVIEW2_POINTER_EVENT_KIND_ACTIVATE: COREWEBVIEW2_POINTER_EVENT_KIND =
621 COREWEBVIEW2_POINTER_EVENT_KIND(587i32);
622pub const COREWEBVIEW2_POINTER_EVENT_KIND_DOWN: COREWEBVIEW2_POINTER_EVENT_KIND =
623 COREWEBVIEW2_POINTER_EVENT_KIND(582i32);
624pub const COREWEBVIEW2_POINTER_EVENT_KIND_ENTER: COREWEBVIEW2_POINTER_EVENT_KIND =
625 COREWEBVIEW2_POINTER_EVENT_KIND(585i32);
626pub const COREWEBVIEW2_POINTER_EVENT_KIND_LEAVE: COREWEBVIEW2_POINTER_EVENT_KIND =
627 COREWEBVIEW2_POINTER_EVENT_KIND(586i32);
628pub const COREWEBVIEW2_POINTER_EVENT_KIND_UP: COREWEBVIEW2_POINTER_EVENT_KIND =
629 COREWEBVIEW2_POINTER_EVENT_KIND(583i32);
630pub const COREWEBVIEW2_POINTER_EVENT_KIND_UPDATE: COREWEBVIEW2_POINTER_EVENT_KIND =
631 COREWEBVIEW2_POINTER_EVENT_KIND(581i32);
632#[repr(transparent)]
633#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
634pub struct COREWEBVIEW2_PREFERRED_COLOR_SCHEME(pub i32);
635pub const COREWEBVIEW2_PREFERRED_COLOR_SCHEME_AUTO: COREWEBVIEW2_PREFERRED_COLOR_SCHEME =
636 COREWEBVIEW2_PREFERRED_COLOR_SCHEME(0i32);
637pub const COREWEBVIEW2_PREFERRED_COLOR_SCHEME_DARK: COREWEBVIEW2_PREFERRED_COLOR_SCHEME =
638 COREWEBVIEW2_PREFERRED_COLOR_SCHEME(2i32);
639pub const COREWEBVIEW2_PREFERRED_COLOR_SCHEME_LIGHT: COREWEBVIEW2_PREFERRED_COLOR_SCHEME =
640 COREWEBVIEW2_PREFERRED_COLOR_SCHEME(1i32);
641#[repr(transparent)]
642#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
643pub struct COREWEBVIEW2_PRINT_COLLATION(pub i32);
644pub const COREWEBVIEW2_PRINT_COLLATION_COLLATED: COREWEBVIEW2_PRINT_COLLATION =
645 COREWEBVIEW2_PRINT_COLLATION(1i32);
646pub const COREWEBVIEW2_PRINT_COLLATION_DEFAULT: COREWEBVIEW2_PRINT_COLLATION =
647 COREWEBVIEW2_PRINT_COLLATION(0i32);
648pub const COREWEBVIEW2_PRINT_COLLATION_UNCOLLATED: COREWEBVIEW2_PRINT_COLLATION =
649 COREWEBVIEW2_PRINT_COLLATION(2i32);
650#[repr(transparent)]
651#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
652pub struct COREWEBVIEW2_PRINT_COLOR_MODE(pub i32);
653pub const COREWEBVIEW2_PRINT_COLOR_MODE_COLOR: COREWEBVIEW2_PRINT_COLOR_MODE =
654 COREWEBVIEW2_PRINT_COLOR_MODE(1i32);
655pub const COREWEBVIEW2_PRINT_COLOR_MODE_DEFAULT: COREWEBVIEW2_PRINT_COLOR_MODE =
656 COREWEBVIEW2_PRINT_COLOR_MODE(0i32);
657pub const COREWEBVIEW2_PRINT_COLOR_MODE_GRAYSCALE: COREWEBVIEW2_PRINT_COLOR_MODE =
658 COREWEBVIEW2_PRINT_COLOR_MODE(2i32);
659#[repr(transparent)]
660#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
661pub struct COREWEBVIEW2_PRINT_DIALOG_KIND(pub i32);
662pub const COREWEBVIEW2_PRINT_DIALOG_KIND_BROWSER: COREWEBVIEW2_PRINT_DIALOG_KIND =
663 COREWEBVIEW2_PRINT_DIALOG_KIND(0i32);
664pub const COREWEBVIEW2_PRINT_DIALOG_KIND_SYSTEM: COREWEBVIEW2_PRINT_DIALOG_KIND =
665 COREWEBVIEW2_PRINT_DIALOG_KIND(1i32);
666#[repr(transparent)]
667#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
668pub struct COREWEBVIEW2_PRINT_DUPLEX(pub i32);
669pub const COREWEBVIEW2_PRINT_DUPLEX_DEFAULT: COREWEBVIEW2_PRINT_DUPLEX =
670 COREWEBVIEW2_PRINT_DUPLEX(0i32);
671pub const COREWEBVIEW2_PRINT_DUPLEX_ONE_SIDED: COREWEBVIEW2_PRINT_DUPLEX =
672 COREWEBVIEW2_PRINT_DUPLEX(1i32);
673pub const COREWEBVIEW2_PRINT_DUPLEX_TWO_SIDED_LONG_EDGE: COREWEBVIEW2_PRINT_DUPLEX =
674 COREWEBVIEW2_PRINT_DUPLEX(2i32);
675pub const COREWEBVIEW2_PRINT_DUPLEX_TWO_SIDED_SHORT_EDGE: COREWEBVIEW2_PRINT_DUPLEX =
676 COREWEBVIEW2_PRINT_DUPLEX(3i32);
677#[repr(transparent)]
678#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
679pub struct COREWEBVIEW2_PRINT_MEDIA_SIZE(pub i32);
680pub const COREWEBVIEW2_PRINT_MEDIA_SIZE_CUSTOM: COREWEBVIEW2_PRINT_MEDIA_SIZE =
681 COREWEBVIEW2_PRINT_MEDIA_SIZE(1i32);
682pub const COREWEBVIEW2_PRINT_MEDIA_SIZE_DEFAULT: COREWEBVIEW2_PRINT_MEDIA_SIZE =
683 COREWEBVIEW2_PRINT_MEDIA_SIZE(0i32);
684#[repr(transparent)]
685#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
686pub struct COREWEBVIEW2_PRINT_ORIENTATION(pub i32);
687pub const COREWEBVIEW2_PRINT_ORIENTATION_LANDSCAPE: COREWEBVIEW2_PRINT_ORIENTATION =
688 COREWEBVIEW2_PRINT_ORIENTATION(1i32);
689pub const COREWEBVIEW2_PRINT_ORIENTATION_PORTRAIT: COREWEBVIEW2_PRINT_ORIENTATION =
690 COREWEBVIEW2_PRINT_ORIENTATION(0i32);
691#[repr(transparent)]
692#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
693pub struct COREWEBVIEW2_PRINT_STATUS(pub i32);
694pub const COREWEBVIEW2_PRINT_STATUS_OTHER_ERROR: COREWEBVIEW2_PRINT_STATUS =
695 COREWEBVIEW2_PRINT_STATUS(2i32);
696pub const COREWEBVIEW2_PRINT_STATUS_PRINTER_UNAVAILABLE: COREWEBVIEW2_PRINT_STATUS =
697 COREWEBVIEW2_PRINT_STATUS(1i32);
698pub const COREWEBVIEW2_PRINT_STATUS_SUCCEEDED: COREWEBVIEW2_PRINT_STATUS =
699 COREWEBVIEW2_PRINT_STATUS(0i32);
700#[repr(transparent)]
701#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
702pub struct COREWEBVIEW2_PROCESS_FAILED_KIND(pub i32);
703pub const COREWEBVIEW2_PROCESS_FAILED_KIND_BROWSER_PROCESS_EXITED:
704 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(0i32);
705pub const COREWEBVIEW2_PROCESS_FAILED_KIND_FRAME_RENDER_PROCESS_EXITED:
706 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(3i32);
707pub const COREWEBVIEW2_PROCESS_FAILED_KIND_GPU_PROCESS_EXITED: COREWEBVIEW2_PROCESS_FAILED_KIND =
708 COREWEBVIEW2_PROCESS_FAILED_KIND(6i32);
709pub const COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_BROKER_PROCESS_EXITED:
710 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(8i32);
711pub const COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_PLUGIN_PROCESS_EXITED:
712 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(7i32);
713pub const COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_EXITED: COREWEBVIEW2_PROCESS_FAILED_KIND =
714 COREWEBVIEW2_PROCESS_FAILED_KIND(1i32);
715pub const COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_UNRESPONSIVE:
716 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(2i32);
717pub const COREWEBVIEW2_PROCESS_FAILED_KIND_SANDBOX_HELPER_PROCESS_EXITED:
718 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(5i32);
719pub const COREWEBVIEW2_PROCESS_FAILED_KIND_UNKNOWN_PROCESS_EXITED:
720 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(9i32);
721pub const COREWEBVIEW2_PROCESS_FAILED_KIND_UTILITY_PROCESS_EXITED:
722 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(4i32);
723#[repr(transparent)]
724#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
725pub struct COREWEBVIEW2_PROCESS_FAILED_REASON(pub i32);
726pub const COREWEBVIEW2_PROCESS_FAILED_REASON_CRASHED: COREWEBVIEW2_PROCESS_FAILED_REASON =
727 COREWEBVIEW2_PROCESS_FAILED_REASON(3i32);
728pub const COREWEBVIEW2_PROCESS_FAILED_REASON_LAUNCH_FAILED: COREWEBVIEW2_PROCESS_FAILED_REASON =
729 COREWEBVIEW2_PROCESS_FAILED_REASON(4i32);
730pub const COREWEBVIEW2_PROCESS_FAILED_REASON_OUT_OF_MEMORY: COREWEBVIEW2_PROCESS_FAILED_REASON =
731 COREWEBVIEW2_PROCESS_FAILED_REASON(5i32);
732pub const COREWEBVIEW2_PROCESS_FAILED_REASON_PROFILE_DELETED: COREWEBVIEW2_PROCESS_FAILED_REASON =
733 COREWEBVIEW2_PROCESS_FAILED_REASON(6i32);
734pub const COREWEBVIEW2_PROCESS_FAILED_REASON_TERMINATED: COREWEBVIEW2_PROCESS_FAILED_REASON =
735 COREWEBVIEW2_PROCESS_FAILED_REASON(2i32);
736pub const COREWEBVIEW2_PROCESS_FAILED_REASON_UNEXPECTED: COREWEBVIEW2_PROCESS_FAILED_REASON =
737 COREWEBVIEW2_PROCESS_FAILED_REASON(0i32);
738pub const COREWEBVIEW2_PROCESS_FAILED_REASON_UNRESPONSIVE: COREWEBVIEW2_PROCESS_FAILED_REASON =
739 COREWEBVIEW2_PROCESS_FAILED_REASON(1i32);
740#[repr(transparent)]
741#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
742pub struct COREWEBVIEW2_PROCESS_KIND(pub i32);
743pub const COREWEBVIEW2_PROCESS_KIND_BROWSER: COREWEBVIEW2_PROCESS_KIND =
744 COREWEBVIEW2_PROCESS_KIND(0i32);
745pub const COREWEBVIEW2_PROCESS_KIND_GPU: COREWEBVIEW2_PROCESS_KIND =
746 COREWEBVIEW2_PROCESS_KIND(4i32);
747pub const COREWEBVIEW2_PROCESS_KIND_PPAPI_BROKER: COREWEBVIEW2_PROCESS_KIND =
748 COREWEBVIEW2_PROCESS_KIND(6i32);
749pub const COREWEBVIEW2_PROCESS_KIND_PPAPI_PLUGIN: COREWEBVIEW2_PROCESS_KIND =
750 COREWEBVIEW2_PROCESS_KIND(5i32);
751pub const COREWEBVIEW2_PROCESS_KIND_RENDERER: COREWEBVIEW2_PROCESS_KIND =
752 COREWEBVIEW2_PROCESS_KIND(1i32);
753pub const COREWEBVIEW2_PROCESS_KIND_SANDBOX_HELPER: COREWEBVIEW2_PROCESS_KIND =
754 COREWEBVIEW2_PROCESS_KIND(3i32);
755pub const COREWEBVIEW2_PROCESS_KIND_UTILITY: COREWEBVIEW2_PROCESS_KIND =
756 COREWEBVIEW2_PROCESS_KIND(2i32);
757#[repr(transparent)]
758#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
759pub struct COREWEBVIEW2_RELEASE_CHANNELS(pub i32);
760impl COREWEBVIEW2_RELEASE_CHANNELS {
761 pub const fn contains(&self, other: Self) -> bool {
762 self.0 & other.0 == other.0
763 }
764}
765impl core::ops::BitOr for COREWEBVIEW2_RELEASE_CHANNELS {
766 type Output = Self;
767 fn bitor(self, other: Self) -> Self {
768 Self(self.0 | other.0)
769 }
770}
771impl core::ops::BitAnd for COREWEBVIEW2_RELEASE_CHANNELS {
772 type Output = Self;
773 fn bitand(self, other: Self) -> Self {
774 Self(self.0 & other.0)
775 }
776}
777impl core::ops::BitOrAssign for COREWEBVIEW2_RELEASE_CHANNELS {
778 fn bitor_assign(&mut self, other: Self) {
779 self.0.bitor_assign(other.0)
780 }
781}
782impl core::ops::BitAndAssign for COREWEBVIEW2_RELEASE_CHANNELS {
783 fn bitand_assign(&mut self, other: Self) {
784 self.0.bitand_assign(other.0)
785 }
786}
787impl core::ops::Not for COREWEBVIEW2_RELEASE_CHANNELS {
788 type Output = Self;
789 fn not(self) -> Self {
790 Self(self.0.not())
791 }
792}
793pub const COREWEBVIEW2_RELEASE_CHANNELS_BETA: COREWEBVIEW2_RELEASE_CHANNELS =
794 COREWEBVIEW2_RELEASE_CHANNELS(2i32);
795pub const COREWEBVIEW2_RELEASE_CHANNELS_CANARY: COREWEBVIEW2_RELEASE_CHANNELS =
796 COREWEBVIEW2_RELEASE_CHANNELS(8i32);
797pub const COREWEBVIEW2_RELEASE_CHANNELS_DEV: COREWEBVIEW2_RELEASE_CHANNELS =
798 COREWEBVIEW2_RELEASE_CHANNELS(4i32);
799pub const COREWEBVIEW2_RELEASE_CHANNELS_NONE: COREWEBVIEW2_RELEASE_CHANNELS =
800 COREWEBVIEW2_RELEASE_CHANNELS(0i32);
801pub const COREWEBVIEW2_RELEASE_CHANNELS_STABLE: COREWEBVIEW2_RELEASE_CHANNELS =
802 COREWEBVIEW2_RELEASE_CHANNELS(1i32);
803#[repr(transparent)]
804#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
805pub struct COREWEBVIEW2_SAVE_AS_KIND(pub i32);
806pub const COREWEBVIEW2_SAVE_AS_KIND_COMPLETE: COREWEBVIEW2_SAVE_AS_KIND =
807 COREWEBVIEW2_SAVE_AS_KIND(3i32);
808pub const COREWEBVIEW2_SAVE_AS_KIND_DEFAULT: COREWEBVIEW2_SAVE_AS_KIND =
809 COREWEBVIEW2_SAVE_AS_KIND(0i32);
810pub const COREWEBVIEW2_SAVE_AS_KIND_HTML_ONLY: COREWEBVIEW2_SAVE_AS_KIND =
811 COREWEBVIEW2_SAVE_AS_KIND(1i32);
812pub const COREWEBVIEW2_SAVE_AS_KIND_SINGLE_FILE: COREWEBVIEW2_SAVE_AS_KIND =
813 COREWEBVIEW2_SAVE_AS_KIND(2i32);
814#[repr(transparent)]
815#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
816pub struct COREWEBVIEW2_SAVE_AS_UI_RESULT(pub i32);
817pub const COREWEBVIEW2_SAVE_AS_UI_RESULT_CANCELLED: COREWEBVIEW2_SAVE_AS_UI_RESULT =
818 COREWEBVIEW2_SAVE_AS_UI_RESULT(4i32);
819pub const COREWEBVIEW2_SAVE_AS_UI_RESULT_FILE_ALREADY_EXISTS: COREWEBVIEW2_SAVE_AS_UI_RESULT =
820 COREWEBVIEW2_SAVE_AS_UI_RESULT(2i32);
821pub const COREWEBVIEW2_SAVE_AS_UI_RESULT_INVALID_PATH: COREWEBVIEW2_SAVE_AS_UI_RESULT =
822 COREWEBVIEW2_SAVE_AS_UI_RESULT(1i32);
823pub const COREWEBVIEW2_SAVE_AS_UI_RESULT_KIND_NOT_SUPPORTED: COREWEBVIEW2_SAVE_AS_UI_RESULT =
824 COREWEBVIEW2_SAVE_AS_UI_RESULT(3i32);
825pub const COREWEBVIEW2_SAVE_AS_UI_RESULT_SUCCESS: COREWEBVIEW2_SAVE_AS_UI_RESULT =
826 COREWEBVIEW2_SAVE_AS_UI_RESULT(0i32);
827#[repr(transparent)]
828#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
829pub struct COREWEBVIEW2_SCRIPT_DIALOG_KIND(pub i32);
830pub const COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT: COREWEBVIEW2_SCRIPT_DIALOG_KIND =
831 COREWEBVIEW2_SCRIPT_DIALOG_KIND(0i32);
832pub const COREWEBVIEW2_SCRIPT_DIALOG_KIND_BEFOREUNLOAD: COREWEBVIEW2_SCRIPT_DIALOG_KIND =
833 COREWEBVIEW2_SCRIPT_DIALOG_KIND(3i32);
834pub const COREWEBVIEW2_SCRIPT_DIALOG_KIND_CONFIRM: COREWEBVIEW2_SCRIPT_DIALOG_KIND =
835 COREWEBVIEW2_SCRIPT_DIALOG_KIND(1i32);
836pub const COREWEBVIEW2_SCRIPT_DIALOG_KIND_PROMPT: COREWEBVIEW2_SCRIPT_DIALOG_KIND =
837 COREWEBVIEW2_SCRIPT_DIALOG_KIND(2i32);
838#[repr(transparent)]
839#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
840pub struct COREWEBVIEW2_SCROLLBAR_STYLE(pub i32);
841pub const COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT: COREWEBVIEW2_SCROLLBAR_STYLE =
842 COREWEBVIEW2_SCROLLBAR_STYLE(0i32);
843pub const COREWEBVIEW2_SCROLLBAR_STYLE_FLUENT_OVERLAY: COREWEBVIEW2_SCROLLBAR_STYLE =
844 COREWEBVIEW2_SCROLLBAR_STYLE(1i32);
845#[repr(transparent)]
846#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
847pub struct COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION(pub i32);
848pub const COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_ALWAYS_ALLOW:
849 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION =
850 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION(0i32);
851pub const COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_CANCEL:
852 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION =
853 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION(1i32);
854pub const COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_DEFAULT:
855 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION =
856 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION(2i32);
857#[repr(transparent)]
858#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
859pub struct COREWEBVIEW2_SHARED_BUFFER_ACCESS(pub i32);
860pub const COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_ONLY: COREWEBVIEW2_SHARED_BUFFER_ACCESS =
861 COREWEBVIEW2_SHARED_BUFFER_ACCESS(0i32);
862pub const COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_WRITE: COREWEBVIEW2_SHARED_BUFFER_ACCESS =
863 COREWEBVIEW2_SHARED_BUFFER_ACCESS(1i32);
864#[repr(transparent)]
865#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
866pub struct COREWEBVIEW2_TEXT_DIRECTION_KIND(pub i32);
867pub const COREWEBVIEW2_TEXT_DIRECTION_KIND_DEFAULT: COREWEBVIEW2_TEXT_DIRECTION_KIND =
868 COREWEBVIEW2_TEXT_DIRECTION_KIND(0i32);
869pub const COREWEBVIEW2_TEXT_DIRECTION_KIND_LEFT_TO_RIGHT: COREWEBVIEW2_TEXT_DIRECTION_KIND =
870 COREWEBVIEW2_TEXT_DIRECTION_KIND(1i32);
871pub const COREWEBVIEW2_TEXT_DIRECTION_KIND_RIGHT_TO_LEFT: COREWEBVIEW2_TEXT_DIRECTION_KIND =
872 COREWEBVIEW2_TEXT_DIRECTION_KIND(2i32);
873#[repr(transparent)]
874#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
875pub struct COREWEBVIEW2_TRACKING_PREVENTION_LEVEL(pub i32);
876pub const COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BALANCED: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL =
877 COREWEBVIEW2_TRACKING_PREVENTION_LEVEL(2i32);
878pub const COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BASIC: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL =
879 COREWEBVIEW2_TRACKING_PREVENTION_LEVEL(1i32);
880pub const COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_NONE: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL =
881 COREWEBVIEW2_TRACKING_PREVENTION_LEVEL(0i32);
882pub const COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_STRICT: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL =
883 COREWEBVIEW2_TRACKING_PREVENTION_LEVEL(3i32);
884#[repr(transparent)]
885#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
886pub struct COREWEBVIEW2_WEB_ERROR_STATUS(pub i32);
887pub const COREWEBVIEW2_WEB_ERROR_STATUS_CANNOT_CONNECT: COREWEBVIEW2_WEB_ERROR_STATUS =
888 COREWEBVIEW2_WEB_ERROR_STATUS(12i32);
889pub const COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_COMMON_NAME_IS_INCORRECT:
890 COREWEBVIEW2_WEB_ERROR_STATUS = COREWEBVIEW2_WEB_ERROR_STATUS(1i32);
891pub const COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_EXPIRED: COREWEBVIEW2_WEB_ERROR_STATUS =
892 COREWEBVIEW2_WEB_ERROR_STATUS(2i32);
893pub const COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_IS_INVALID: COREWEBVIEW2_WEB_ERROR_STATUS =
894 COREWEBVIEW2_WEB_ERROR_STATUS(5i32);
895pub const COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_REVOKED: COREWEBVIEW2_WEB_ERROR_STATUS =
896 COREWEBVIEW2_WEB_ERROR_STATUS(4i32);
897pub const COREWEBVIEW2_WEB_ERROR_STATUS_CLIENT_CERTIFICATE_CONTAINS_ERRORS:
898 COREWEBVIEW2_WEB_ERROR_STATUS = COREWEBVIEW2_WEB_ERROR_STATUS(3i32);
899pub const COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_ABORTED: COREWEBVIEW2_WEB_ERROR_STATUS =
900 COREWEBVIEW2_WEB_ERROR_STATUS(9i32);
901pub const COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_RESET: COREWEBVIEW2_WEB_ERROR_STATUS =
902 COREWEBVIEW2_WEB_ERROR_STATUS(10i32);
903pub const COREWEBVIEW2_WEB_ERROR_STATUS_DISCONNECTED: COREWEBVIEW2_WEB_ERROR_STATUS =
904 COREWEBVIEW2_WEB_ERROR_STATUS(11i32);
905pub const COREWEBVIEW2_WEB_ERROR_STATUS_ERROR_HTTP_INVALID_SERVER_RESPONSE:
906 COREWEBVIEW2_WEB_ERROR_STATUS = COREWEBVIEW2_WEB_ERROR_STATUS(8i32);
907pub const COREWEBVIEW2_WEB_ERROR_STATUS_HOST_NAME_NOT_RESOLVED: COREWEBVIEW2_WEB_ERROR_STATUS =
908 COREWEBVIEW2_WEB_ERROR_STATUS(13i32);
909pub const COREWEBVIEW2_WEB_ERROR_STATUS_OPERATION_CANCELED: COREWEBVIEW2_WEB_ERROR_STATUS =
910 COREWEBVIEW2_WEB_ERROR_STATUS(14i32);
911pub const COREWEBVIEW2_WEB_ERROR_STATUS_REDIRECT_FAILED: COREWEBVIEW2_WEB_ERROR_STATUS =
912 COREWEBVIEW2_WEB_ERROR_STATUS(15i32);
913pub const COREWEBVIEW2_WEB_ERROR_STATUS_SERVER_UNREACHABLE: COREWEBVIEW2_WEB_ERROR_STATUS =
914 COREWEBVIEW2_WEB_ERROR_STATUS(6i32);
915pub const COREWEBVIEW2_WEB_ERROR_STATUS_TIMEOUT: COREWEBVIEW2_WEB_ERROR_STATUS =
916 COREWEBVIEW2_WEB_ERROR_STATUS(7i32);
917pub const COREWEBVIEW2_WEB_ERROR_STATUS_UNEXPECTED_ERROR: COREWEBVIEW2_WEB_ERROR_STATUS =
918 COREWEBVIEW2_WEB_ERROR_STATUS(16i32);
919pub const COREWEBVIEW2_WEB_ERROR_STATUS_UNKNOWN: COREWEBVIEW2_WEB_ERROR_STATUS =
920 COREWEBVIEW2_WEB_ERROR_STATUS(0i32);
921pub const COREWEBVIEW2_WEB_ERROR_STATUS_VALID_AUTHENTICATION_CREDENTIALS_REQUIRED:
922 COREWEBVIEW2_WEB_ERROR_STATUS = COREWEBVIEW2_WEB_ERROR_STATUS(17i32);
923pub const COREWEBVIEW2_WEB_ERROR_STATUS_VALID_PROXY_AUTHENTICATION_REQUIRED:
924 COREWEBVIEW2_WEB_ERROR_STATUS = COREWEBVIEW2_WEB_ERROR_STATUS(18i32);
925#[repr(transparent)]
926#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
927pub struct COREWEBVIEW2_WEB_RESOURCE_CONTEXT(pub i32);
928pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
929 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(0i32);
930pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_CSP_VIOLATION_REPORT:
931 COREWEBVIEW2_WEB_RESOURCE_CONTEXT = COREWEBVIEW2_WEB_RESOURCE_CONTEXT(15i32);
932pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_DOCUMENT: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
933 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(1i32);
934pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_EVENT_SOURCE: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
935 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(10i32);
936pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FETCH: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
937 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(8i32);
938pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FONT: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
939 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(5i32);
940pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
941 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(3i32);
942pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MANIFEST: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
943 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(12i32);
944pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MEDIA: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
945 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(4i32);
946pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_OTHER: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
947 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(16i32);
948pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_PING: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
949 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(14i32);
950pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SCRIPT: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
951 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(6i32);
952pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SIGNED_EXCHANGE: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
953 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(13i32);
954pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_STYLESHEET: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
955 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(2i32);
956pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_TEXT_TRACK: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
957 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(9i32);
958pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_WEBSOCKET: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
959 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(11i32);
960pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_XML_HTTP_REQUEST: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
961 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(7i32);
962#[repr(transparent)]
963#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
964pub struct COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS(pub i32);
965impl COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS {
966 pub const fn contains(&self, other: Self) -> bool {
967 self.0 & other.0 == other.0
968 }
969}
970impl core::ops::BitOr for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS {
971 type Output = Self;
972 fn bitor(self, other: Self) -> Self {
973 Self(self.0 | other.0)
974 }
975}
976impl core::ops::BitAnd for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS {
977 type Output = Self;
978 fn bitand(self, other: Self) -> Self {
979 Self(self.0 & other.0)
980 }
981}
982impl core::ops::BitOrAssign for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS {
983 fn bitor_assign(&mut self, other: Self) {
984 self.0.bitor_assign(other.0)
985 }
986}
987impl core::ops::BitAndAssign for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS {
988 fn bitand_assign(&mut self, other: Self) {
989 self.0.bitand_assign(other.0)
990 }
991}
992impl core::ops::Not for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS {
993 type Output = Self;
994 fn not(self) -> Self {
995 Self(self.0.not())
996 }
997}
998pub const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_ALL:
999 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS =
1000 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS(-1i32);
1001pub const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_DOCUMENT:
1002 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS =
1003 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS(1i32);
1004pub const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_NONE:
1005 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS =
1006 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS(0i32);
1007pub const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SERVICE_WORKER:
1008 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS =
1009 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS(4i32);
1010pub const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SHARED_WORKER:
1011 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS =
1012 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS(2i32);
1013pub const CORE_WEBVIEW_TARGET_PRODUCT_VERSION: windows_core::PCWSTR =
1014 windows_core::w!("138.0.3351.48");
1015windows_core::imp::define_interface!(
1016 ICoreWebView2,
1017 ICoreWebView2_Vtbl,
1018 0x76eceacb_0462_4d94_ac83_423a6793775e
1019);
1020windows_core::imp::interface_hierarchy!(ICoreWebView2, windows_core::IUnknown);
1021impl ICoreWebView2 {
1022 pub unsafe fn Settings(&self) -> windows_core::Result<ICoreWebView2Settings> {
1023 unsafe {
1024 let mut result__ = core::mem::zeroed();
1025 (windows_core::Interface::vtable(self).Settings)(
1026 windows_core::Interface::as_raw(self),
1027 &mut result__,
1028 )
1029 .and_then(|| windows_core::Type::from_abi(result__))
1030 }
1031 }
1032 pub unsafe fn Source(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
1033 unsafe {
1034 (windows_core::Interface::vtable(self).Source)(
1035 windows_core::Interface::as_raw(self),
1036 uri as _,
1037 )
1038 .ok()
1039 }
1040 }
1041 pub unsafe fn Navigate<P0>(&self, uri: P0) -> windows_core::Result<()>
1042 where
1043 P0: windows_core::Param<windows_core::PCWSTR>,
1044 {
1045 unsafe {
1046 (windows_core::Interface::vtable(self).Navigate)(
1047 windows_core::Interface::as_raw(self),
1048 uri.param().abi(),
1049 )
1050 .ok()
1051 }
1052 }
1053 pub unsafe fn NavigateToString<P0>(&self, htmlcontent: P0) -> windows_core::Result<()>
1054 where
1055 P0: windows_core::Param<windows_core::PCWSTR>,
1056 {
1057 unsafe {
1058 (windows_core::Interface::vtable(self).NavigateToString)(
1059 windows_core::Interface::as_raw(self),
1060 htmlcontent.param().abi(),
1061 )
1062 .ok()
1063 }
1064 }
1065 pub unsafe fn add_NavigationStarting<P0>(
1066 &self,
1067 eventhandler: P0,
1068 token: *mut i64,
1069 ) -> windows_core::Result<()>
1070 where
1071 P0: windows_core::Param<ICoreWebView2NavigationStartingEventHandler>,
1072 {
1073 unsafe {
1074 (windows_core::Interface::vtable(self).add_NavigationStarting)(
1075 windows_core::Interface::as_raw(self),
1076 eventhandler.param().abi(),
1077 token as _,
1078 )
1079 .ok()
1080 }
1081 }
1082 pub unsafe fn remove_NavigationStarting(&self, token: i64) -> windows_core::Result<()> {
1083 unsafe {
1084 (windows_core::Interface::vtable(self).remove_NavigationStarting)(
1085 windows_core::Interface::as_raw(self),
1086 token,
1087 )
1088 .ok()
1089 }
1090 }
1091 pub unsafe fn add_ContentLoading<P0>(
1092 &self,
1093 eventhandler: P0,
1094 token: *mut i64,
1095 ) -> windows_core::Result<()>
1096 where
1097 P0: windows_core::Param<ICoreWebView2ContentLoadingEventHandler>,
1098 {
1099 unsafe {
1100 (windows_core::Interface::vtable(self).add_ContentLoading)(
1101 windows_core::Interface::as_raw(self),
1102 eventhandler.param().abi(),
1103 token as _,
1104 )
1105 .ok()
1106 }
1107 }
1108 pub unsafe fn remove_ContentLoading(&self, token: i64) -> windows_core::Result<()> {
1109 unsafe {
1110 (windows_core::Interface::vtable(self).remove_ContentLoading)(
1111 windows_core::Interface::as_raw(self),
1112 token,
1113 )
1114 .ok()
1115 }
1116 }
1117 pub unsafe fn add_SourceChanged<P0>(
1118 &self,
1119 eventhandler: P0,
1120 token: *mut i64,
1121 ) -> windows_core::Result<()>
1122 where
1123 P0: windows_core::Param<ICoreWebView2SourceChangedEventHandler>,
1124 {
1125 unsafe {
1126 (windows_core::Interface::vtable(self).add_SourceChanged)(
1127 windows_core::Interface::as_raw(self),
1128 eventhandler.param().abi(),
1129 token as _,
1130 )
1131 .ok()
1132 }
1133 }
1134 pub unsafe fn remove_SourceChanged(&self, token: i64) -> windows_core::Result<()> {
1135 unsafe {
1136 (windows_core::Interface::vtable(self).remove_SourceChanged)(
1137 windows_core::Interface::as_raw(self),
1138 token,
1139 )
1140 .ok()
1141 }
1142 }
1143 pub unsafe fn add_HistoryChanged<P0>(
1144 &self,
1145 eventhandler: P0,
1146 token: *mut i64,
1147 ) -> windows_core::Result<()>
1148 where
1149 P0: windows_core::Param<ICoreWebView2HistoryChangedEventHandler>,
1150 {
1151 unsafe {
1152 (windows_core::Interface::vtable(self).add_HistoryChanged)(
1153 windows_core::Interface::as_raw(self),
1154 eventhandler.param().abi(),
1155 token as _,
1156 )
1157 .ok()
1158 }
1159 }
1160 pub unsafe fn remove_HistoryChanged(&self, token: i64) -> windows_core::Result<()> {
1161 unsafe {
1162 (windows_core::Interface::vtable(self).remove_HistoryChanged)(
1163 windows_core::Interface::as_raw(self),
1164 token,
1165 )
1166 .ok()
1167 }
1168 }
1169 pub unsafe fn add_NavigationCompleted<P0>(
1170 &self,
1171 eventhandler: P0,
1172 token: *mut i64,
1173 ) -> windows_core::Result<()>
1174 where
1175 P0: windows_core::Param<ICoreWebView2NavigationCompletedEventHandler>,
1176 {
1177 unsafe {
1178 (windows_core::Interface::vtable(self).add_NavigationCompleted)(
1179 windows_core::Interface::as_raw(self),
1180 eventhandler.param().abi(),
1181 token as _,
1182 )
1183 .ok()
1184 }
1185 }
1186 pub unsafe fn remove_NavigationCompleted(&self, token: i64) -> windows_core::Result<()> {
1187 unsafe {
1188 (windows_core::Interface::vtable(self).remove_NavigationCompleted)(
1189 windows_core::Interface::as_raw(self),
1190 token,
1191 )
1192 .ok()
1193 }
1194 }
1195 pub unsafe fn add_FrameNavigationStarting<P0>(
1196 &self,
1197 eventhandler: P0,
1198 token: *mut i64,
1199 ) -> windows_core::Result<()>
1200 where
1201 P0: windows_core::Param<ICoreWebView2NavigationStartingEventHandler>,
1202 {
1203 unsafe {
1204 (windows_core::Interface::vtable(self).add_FrameNavigationStarting)(
1205 windows_core::Interface::as_raw(self),
1206 eventhandler.param().abi(),
1207 token as _,
1208 )
1209 .ok()
1210 }
1211 }
1212 pub unsafe fn remove_FrameNavigationStarting(&self, token: i64) -> windows_core::Result<()> {
1213 unsafe {
1214 (windows_core::Interface::vtable(self).remove_FrameNavigationStarting)(
1215 windows_core::Interface::as_raw(self),
1216 token,
1217 )
1218 .ok()
1219 }
1220 }
1221 pub unsafe fn add_FrameNavigationCompleted<P0>(
1222 &self,
1223 eventhandler: P0,
1224 token: *mut i64,
1225 ) -> windows_core::Result<()>
1226 where
1227 P0: windows_core::Param<ICoreWebView2NavigationCompletedEventHandler>,
1228 {
1229 unsafe {
1230 (windows_core::Interface::vtable(self).add_FrameNavigationCompleted)(
1231 windows_core::Interface::as_raw(self),
1232 eventhandler.param().abi(),
1233 token as _,
1234 )
1235 .ok()
1236 }
1237 }
1238 pub unsafe fn remove_FrameNavigationCompleted(&self, token: i64) -> windows_core::Result<()> {
1239 unsafe {
1240 (windows_core::Interface::vtable(self).remove_FrameNavigationCompleted)(
1241 windows_core::Interface::as_raw(self),
1242 token,
1243 )
1244 .ok()
1245 }
1246 }
1247 pub unsafe fn add_ScriptDialogOpening<P0>(
1248 &self,
1249 eventhandler: P0,
1250 token: *mut i64,
1251 ) -> windows_core::Result<()>
1252 where
1253 P0: windows_core::Param<ICoreWebView2ScriptDialogOpeningEventHandler>,
1254 {
1255 unsafe {
1256 (windows_core::Interface::vtable(self).add_ScriptDialogOpening)(
1257 windows_core::Interface::as_raw(self),
1258 eventhandler.param().abi(),
1259 token as _,
1260 )
1261 .ok()
1262 }
1263 }
1264 pub unsafe fn remove_ScriptDialogOpening(&self, token: i64) -> windows_core::Result<()> {
1265 unsafe {
1266 (windows_core::Interface::vtable(self).remove_ScriptDialogOpening)(
1267 windows_core::Interface::as_raw(self),
1268 token,
1269 )
1270 .ok()
1271 }
1272 }
1273 pub unsafe fn add_PermissionRequested<P0>(
1274 &self,
1275 eventhandler: P0,
1276 token: *mut i64,
1277 ) -> windows_core::Result<()>
1278 where
1279 P0: windows_core::Param<ICoreWebView2PermissionRequestedEventHandler>,
1280 {
1281 unsafe {
1282 (windows_core::Interface::vtable(self).add_PermissionRequested)(
1283 windows_core::Interface::as_raw(self),
1284 eventhandler.param().abi(),
1285 token as _,
1286 )
1287 .ok()
1288 }
1289 }
1290 pub unsafe fn remove_PermissionRequested(&self, token: i64) -> windows_core::Result<()> {
1291 unsafe {
1292 (windows_core::Interface::vtable(self).remove_PermissionRequested)(
1293 windows_core::Interface::as_raw(self),
1294 token,
1295 )
1296 .ok()
1297 }
1298 }
1299 pub unsafe fn add_ProcessFailed<P0>(
1300 &self,
1301 eventhandler: P0,
1302 token: *mut i64,
1303 ) -> windows_core::Result<()>
1304 where
1305 P0: windows_core::Param<ICoreWebView2ProcessFailedEventHandler>,
1306 {
1307 unsafe {
1308 (windows_core::Interface::vtable(self).add_ProcessFailed)(
1309 windows_core::Interface::as_raw(self),
1310 eventhandler.param().abi(),
1311 token as _,
1312 )
1313 .ok()
1314 }
1315 }
1316 pub unsafe fn remove_ProcessFailed(&self, token: i64) -> windows_core::Result<()> {
1317 unsafe {
1318 (windows_core::Interface::vtable(self).remove_ProcessFailed)(
1319 windows_core::Interface::as_raw(self),
1320 token,
1321 )
1322 .ok()
1323 }
1324 }
1325 pub unsafe fn AddScriptToExecuteOnDocumentCreated<P0, P1>(
1326 &self,
1327 javascript: P0,
1328 handler: P1,
1329 ) -> windows_core::Result<()>
1330 where
1331 P0: windows_core::Param<windows_core::PCWSTR>,
1332 P1: windows_core::Param<ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler>,
1333 {
1334 unsafe {
1335 (windows_core::Interface::vtable(self).AddScriptToExecuteOnDocumentCreated)(
1336 windows_core::Interface::as_raw(self),
1337 javascript.param().abi(),
1338 handler.param().abi(),
1339 )
1340 .ok()
1341 }
1342 }
1343 pub unsafe fn RemoveScriptToExecuteOnDocumentCreated<P0>(
1344 &self,
1345 id: P0,
1346 ) -> windows_core::Result<()>
1347 where
1348 P0: windows_core::Param<windows_core::PCWSTR>,
1349 {
1350 unsafe {
1351 (windows_core::Interface::vtable(self).RemoveScriptToExecuteOnDocumentCreated)(
1352 windows_core::Interface::as_raw(self),
1353 id.param().abi(),
1354 )
1355 .ok()
1356 }
1357 }
1358 pub unsafe fn ExecuteScript<P0, P1>(
1359 &self,
1360 javascript: P0,
1361 handler: P1,
1362 ) -> windows_core::Result<()>
1363 where
1364 P0: windows_core::Param<windows_core::PCWSTR>,
1365 P1: windows_core::Param<ICoreWebView2ExecuteScriptCompletedHandler>,
1366 {
1367 unsafe {
1368 (windows_core::Interface::vtable(self).ExecuteScript)(
1369 windows_core::Interface::as_raw(self),
1370 javascript.param().abi(),
1371 handler.param().abi(),
1372 )
1373 .ok()
1374 }
1375 }
1376 pub unsafe fn CapturePreview<P1, P2>(
1377 &self,
1378 imageformat: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
1379 imagestream: P1,
1380 handler: P2,
1381 ) -> windows_core::Result<()>
1382 where
1383 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
1384 P2: windows_core::Param<ICoreWebView2CapturePreviewCompletedHandler>,
1385 {
1386 unsafe {
1387 (windows_core::Interface::vtable(self).CapturePreview)(
1388 windows_core::Interface::as_raw(self),
1389 imageformat,
1390 imagestream.param().abi(),
1391 handler.param().abi(),
1392 )
1393 .ok()
1394 }
1395 }
1396 pub unsafe fn Reload(&self) -> windows_core::Result<()> {
1397 unsafe {
1398 (windows_core::Interface::vtable(self).Reload)(windows_core::Interface::as_raw(self))
1399 .ok()
1400 }
1401 }
1402 pub unsafe fn PostWebMessageAsJson<P0>(&self, webmessageasjson: P0) -> windows_core::Result<()>
1403 where
1404 P0: windows_core::Param<windows_core::PCWSTR>,
1405 {
1406 unsafe {
1407 (windows_core::Interface::vtable(self).PostWebMessageAsJson)(
1408 windows_core::Interface::as_raw(self),
1409 webmessageasjson.param().abi(),
1410 )
1411 .ok()
1412 }
1413 }
1414 pub unsafe fn PostWebMessageAsString<P0>(
1415 &self,
1416 webmessageasstring: P0,
1417 ) -> windows_core::Result<()>
1418 where
1419 P0: windows_core::Param<windows_core::PCWSTR>,
1420 {
1421 unsafe {
1422 (windows_core::Interface::vtable(self).PostWebMessageAsString)(
1423 windows_core::Interface::as_raw(self),
1424 webmessageasstring.param().abi(),
1425 )
1426 .ok()
1427 }
1428 }
1429 pub unsafe fn add_WebMessageReceived<P0>(
1430 &self,
1431 handler: P0,
1432 token: *mut i64,
1433 ) -> windows_core::Result<()>
1434 where
1435 P0: windows_core::Param<ICoreWebView2WebMessageReceivedEventHandler>,
1436 {
1437 unsafe {
1438 (windows_core::Interface::vtable(self).add_WebMessageReceived)(
1439 windows_core::Interface::as_raw(self),
1440 handler.param().abi(),
1441 token as _,
1442 )
1443 .ok()
1444 }
1445 }
1446 pub unsafe fn remove_WebMessageReceived(&self, token: i64) -> windows_core::Result<()> {
1447 unsafe {
1448 (windows_core::Interface::vtable(self).remove_WebMessageReceived)(
1449 windows_core::Interface::as_raw(self),
1450 token,
1451 )
1452 .ok()
1453 }
1454 }
1455 pub unsafe fn CallDevToolsProtocolMethod<P0, P1, P2>(
1456 &self,
1457 methodname: P0,
1458 parametersasjson: P1,
1459 handler: P2,
1460 ) -> windows_core::Result<()>
1461 where
1462 P0: windows_core::Param<windows_core::PCWSTR>,
1463 P1: windows_core::Param<windows_core::PCWSTR>,
1464 P2: windows_core::Param<ICoreWebView2CallDevToolsProtocolMethodCompletedHandler>,
1465 {
1466 unsafe {
1467 (windows_core::Interface::vtable(self).CallDevToolsProtocolMethod)(
1468 windows_core::Interface::as_raw(self),
1469 methodname.param().abi(),
1470 parametersasjson.param().abi(),
1471 handler.param().abi(),
1472 )
1473 .ok()
1474 }
1475 }
1476 pub unsafe fn BrowserProcessId(&self, value: *mut u32) -> windows_core::Result<()> {
1477 unsafe {
1478 (windows_core::Interface::vtable(self).BrowserProcessId)(
1479 windows_core::Interface::as_raw(self),
1480 value as _,
1481 )
1482 .ok()
1483 }
1484 }
1485 pub unsafe fn CanGoBack(&self, cangoback: *mut windows_core::BOOL) -> windows_core::Result<()> {
1486 unsafe {
1487 (windows_core::Interface::vtable(self).CanGoBack)(
1488 windows_core::Interface::as_raw(self),
1489 cangoback as _,
1490 )
1491 .ok()
1492 }
1493 }
1494 pub unsafe fn CanGoForward(
1495 &self,
1496 cangoforward: *mut windows_core::BOOL,
1497 ) -> windows_core::Result<()> {
1498 unsafe {
1499 (windows_core::Interface::vtable(self).CanGoForward)(
1500 windows_core::Interface::as_raw(self),
1501 cangoforward as _,
1502 )
1503 .ok()
1504 }
1505 }
1506 pub unsafe fn GoBack(&self) -> windows_core::Result<()> {
1507 unsafe {
1508 (windows_core::Interface::vtable(self).GoBack)(windows_core::Interface::as_raw(self))
1509 .ok()
1510 }
1511 }
1512 pub unsafe fn GoForward(&self) -> windows_core::Result<()> {
1513 unsafe {
1514 (windows_core::Interface::vtable(self).GoForward)(windows_core::Interface::as_raw(self))
1515 .ok()
1516 }
1517 }
1518 pub unsafe fn GetDevToolsProtocolEventReceiver<P0>(
1519 &self,
1520 eventname: P0,
1521 ) -> windows_core::Result<ICoreWebView2DevToolsProtocolEventReceiver>
1522 where
1523 P0: windows_core::Param<windows_core::PCWSTR>,
1524 {
1525 unsafe {
1526 let mut result__ = core::mem::zeroed();
1527 (windows_core::Interface::vtable(self).GetDevToolsProtocolEventReceiver)(
1528 windows_core::Interface::as_raw(self),
1529 eventname.param().abi(),
1530 &mut result__,
1531 )
1532 .and_then(|| windows_core::Type::from_abi(result__))
1533 }
1534 }
1535 pub unsafe fn Stop(&self) -> windows_core::Result<()> {
1536 unsafe {
1537 (windows_core::Interface::vtable(self).Stop)(windows_core::Interface::as_raw(self)).ok()
1538 }
1539 }
1540 pub unsafe fn add_NewWindowRequested<P0>(
1541 &self,
1542 eventhandler: P0,
1543 token: *mut i64,
1544 ) -> windows_core::Result<()>
1545 where
1546 P0: windows_core::Param<ICoreWebView2NewWindowRequestedEventHandler>,
1547 {
1548 unsafe {
1549 (windows_core::Interface::vtable(self).add_NewWindowRequested)(
1550 windows_core::Interface::as_raw(self),
1551 eventhandler.param().abi(),
1552 token as _,
1553 )
1554 .ok()
1555 }
1556 }
1557 pub unsafe fn remove_NewWindowRequested(&self, token: i64) -> windows_core::Result<()> {
1558 unsafe {
1559 (windows_core::Interface::vtable(self).remove_NewWindowRequested)(
1560 windows_core::Interface::as_raw(self),
1561 token,
1562 )
1563 .ok()
1564 }
1565 }
1566 pub unsafe fn add_DocumentTitleChanged<P0>(
1567 &self,
1568 eventhandler: P0,
1569 token: *mut i64,
1570 ) -> windows_core::Result<()>
1571 where
1572 P0: windows_core::Param<ICoreWebView2DocumentTitleChangedEventHandler>,
1573 {
1574 unsafe {
1575 (windows_core::Interface::vtable(self).add_DocumentTitleChanged)(
1576 windows_core::Interface::as_raw(self),
1577 eventhandler.param().abi(),
1578 token as _,
1579 )
1580 .ok()
1581 }
1582 }
1583 pub unsafe fn remove_DocumentTitleChanged(&self, token: i64) -> windows_core::Result<()> {
1584 unsafe {
1585 (windows_core::Interface::vtable(self).remove_DocumentTitleChanged)(
1586 windows_core::Interface::as_raw(self),
1587 token,
1588 )
1589 .ok()
1590 }
1591 }
1592 pub unsafe fn DocumentTitle(
1593 &self,
1594 title: *mut windows_core::PWSTR,
1595 ) -> windows_core::Result<()> {
1596 unsafe {
1597 (windows_core::Interface::vtable(self).DocumentTitle)(
1598 windows_core::Interface::as_raw(self),
1599 title as _,
1600 )
1601 .ok()
1602 }
1603 }
1604 pub unsafe fn AddHostObjectToScript<P0>(
1605 &self,
1606 name: P0,
1607 object: *mut windows::Win32::System::Variant::VARIANT,
1608 ) -> windows_core::Result<()>
1609 where
1610 P0: windows_core::Param<windows_core::PCWSTR>,
1611 {
1612 unsafe {
1613 (windows_core::Interface::vtable(self).AddHostObjectToScript)(
1614 windows_core::Interface::as_raw(self),
1615 name.param().abi(),
1616 core::mem::transmute(object),
1617 )
1618 .ok()
1619 }
1620 }
1621 pub unsafe fn RemoveHostObjectFromScript<P0>(&self, name: P0) -> windows_core::Result<()>
1622 where
1623 P0: windows_core::Param<windows_core::PCWSTR>,
1624 {
1625 unsafe {
1626 (windows_core::Interface::vtable(self).RemoveHostObjectFromScript)(
1627 windows_core::Interface::as_raw(self),
1628 name.param().abi(),
1629 )
1630 .ok()
1631 }
1632 }
1633 pub unsafe fn OpenDevToolsWindow(&self) -> windows_core::Result<()> {
1634 unsafe {
1635 (windows_core::Interface::vtable(self).OpenDevToolsWindow)(
1636 windows_core::Interface::as_raw(self),
1637 )
1638 .ok()
1639 }
1640 }
1641 pub unsafe fn add_ContainsFullScreenElementChanged<P0>(
1642 &self,
1643 eventhandler: P0,
1644 token: *mut i64,
1645 ) -> windows_core::Result<()>
1646 where
1647 P0: windows_core::Param<ICoreWebView2ContainsFullScreenElementChangedEventHandler>,
1648 {
1649 unsafe {
1650 (windows_core::Interface::vtable(self).add_ContainsFullScreenElementChanged)(
1651 windows_core::Interface::as_raw(self),
1652 eventhandler.param().abi(),
1653 token as _,
1654 )
1655 .ok()
1656 }
1657 }
1658 pub unsafe fn remove_ContainsFullScreenElementChanged(
1659 &self,
1660 token: i64,
1661 ) -> windows_core::Result<()> {
1662 unsafe {
1663 (windows_core::Interface::vtable(self).remove_ContainsFullScreenElementChanged)(
1664 windows_core::Interface::as_raw(self),
1665 token,
1666 )
1667 .ok()
1668 }
1669 }
1670 pub unsafe fn ContainsFullScreenElement(
1671 &self,
1672 containsfullscreenelement: *mut windows_core::BOOL,
1673 ) -> windows_core::Result<()> {
1674 unsafe {
1675 (windows_core::Interface::vtable(self).ContainsFullScreenElement)(
1676 windows_core::Interface::as_raw(self),
1677 containsfullscreenelement as _,
1678 )
1679 .ok()
1680 }
1681 }
1682 pub unsafe fn add_WebResourceRequested<P0>(
1683 &self,
1684 eventhandler: P0,
1685 token: *mut i64,
1686 ) -> windows_core::Result<()>
1687 where
1688 P0: windows_core::Param<ICoreWebView2WebResourceRequestedEventHandler>,
1689 {
1690 unsafe {
1691 (windows_core::Interface::vtable(self).add_WebResourceRequested)(
1692 windows_core::Interface::as_raw(self),
1693 eventhandler.param().abi(),
1694 token as _,
1695 )
1696 .ok()
1697 }
1698 }
1699 pub unsafe fn remove_WebResourceRequested(&self, token: i64) -> windows_core::Result<()> {
1700 unsafe {
1701 (windows_core::Interface::vtable(self).remove_WebResourceRequested)(
1702 windows_core::Interface::as_raw(self),
1703 token,
1704 )
1705 .ok()
1706 }
1707 }
1708 pub unsafe fn AddWebResourceRequestedFilter<P0>(
1709 &self,
1710 uri: P0,
1711 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
1712 ) -> windows_core::Result<()>
1713 where
1714 P0: windows_core::Param<windows_core::PCWSTR>,
1715 {
1716 unsafe {
1717 (windows_core::Interface::vtable(self).AddWebResourceRequestedFilter)(
1718 windows_core::Interface::as_raw(self),
1719 uri.param().abi(),
1720 resourcecontext,
1721 )
1722 .ok()
1723 }
1724 }
1725 pub unsafe fn RemoveWebResourceRequestedFilter<P0>(
1726 &self,
1727 uri: P0,
1728 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
1729 ) -> windows_core::Result<()>
1730 where
1731 P0: windows_core::Param<windows_core::PCWSTR>,
1732 {
1733 unsafe {
1734 (windows_core::Interface::vtable(self).RemoveWebResourceRequestedFilter)(
1735 windows_core::Interface::as_raw(self),
1736 uri.param().abi(),
1737 resourcecontext,
1738 )
1739 .ok()
1740 }
1741 }
1742 pub unsafe fn add_WindowCloseRequested<P0>(
1743 &self,
1744 eventhandler: P0,
1745 token: *mut i64,
1746 ) -> windows_core::Result<()>
1747 where
1748 P0: windows_core::Param<ICoreWebView2WindowCloseRequestedEventHandler>,
1749 {
1750 unsafe {
1751 (windows_core::Interface::vtable(self).add_WindowCloseRequested)(
1752 windows_core::Interface::as_raw(self),
1753 eventhandler.param().abi(),
1754 token as _,
1755 )
1756 .ok()
1757 }
1758 }
1759 pub unsafe fn remove_WindowCloseRequested(&self, token: i64) -> windows_core::Result<()> {
1760 unsafe {
1761 (windows_core::Interface::vtable(self).remove_WindowCloseRequested)(
1762 windows_core::Interface::as_raw(self),
1763 token,
1764 )
1765 .ok()
1766 }
1767 }
1768}
1769#[repr(C)]
1770#[doc(hidden)]
1771pub struct ICoreWebView2_Vtbl {
1772 pub base__: windows_core::IUnknown_Vtbl,
1773 pub Settings: unsafe extern "system" fn(
1774 *mut core::ffi::c_void,
1775 *mut *mut core::ffi::c_void,
1776 ) -> windows_core::HRESULT,
1777 pub Source: unsafe extern "system" fn(
1778 *mut core::ffi::c_void,
1779 *mut windows_core::PWSTR,
1780 ) -> windows_core::HRESULT,
1781 pub Navigate: unsafe extern "system" fn(
1782 *mut core::ffi::c_void,
1783 windows_core::PCWSTR,
1784 ) -> windows_core::HRESULT,
1785 pub NavigateToString: unsafe extern "system" fn(
1786 *mut core::ffi::c_void,
1787 windows_core::PCWSTR,
1788 ) -> windows_core::HRESULT,
1789 pub add_NavigationStarting: unsafe extern "system" fn(
1790 *mut core::ffi::c_void,
1791 *mut core::ffi::c_void,
1792 *mut i64,
1793 ) -> windows_core::HRESULT,
1794 pub remove_NavigationStarting:
1795 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1796 pub add_ContentLoading: unsafe extern "system" fn(
1797 *mut core::ffi::c_void,
1798 *mut core::ffi::c_void,
1799 *mut i64,
1800 ) -> windows_core::HRESULT,
1801 pub remove_ContentLoading:
1802 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1803 pub add_SourceChanged: unsafe extern "system" fn(
1804 *mut core::ffi::c_void,
1805 *mut core::ffi::c_void,
1806 *mut i64,
1807 ) -> windows_core::HRESULT,
1808 pub remove_SourceChanged:
1809 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1810 pub add_HistoryChanged: unsafe extern "system" fn(
1811 *mut core::ffi::c_void,
1812 *mut core::ffi::c_void,
1813 *mut i64,
1814 ) -> windows_core::HRESULT,
1815 pub remove_HistoryChanged:
1816 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1817 pub add_NavigationCompleted: unsafe extern "system" fn(
1818 *mut core::ffi::c_void,
1819 *mut core::ffi::c_void,
1820 *mut i64,
1821 ) -> windows_core::HRESULT,
1822 pub remove_NavigationCompleted:
1823 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1824 pub add_FrameNavigationStarting: unsafe extern "system" fn(
1825 *mut core::ffi::c_void,
1826 *mut core::ffi::c_void,
1827 *mut i64,
1828 ) -> windows_core::HRESULT,
1829 pub remove_FrameNavigationStarting:
1830 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1831 pub add_FrameNavigationCompleted: unsafe extern "system" fn(
1832 *mut core::ffi::c_void,
1833 *mut core::ffi::c_void,
1834 *mut i64,
1835 ) -> windows_core::HRESULT,
1836 pub remove_FrameNavigationCompleted:
1837 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1838 pub add_ScriptDialogOpening: unsafe extern "system" fn(
1839 *mut core::ffi::c_void,
1840 *mut core::ffi::c_void,
1841 *mut i64,
1842 ) -> windows_core::HRESULT,
1843 pub remove_ScriptDialogOpening:
1844 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1845 pub add_PermissionRequested: unsafe extern "system" fn(
1846 *mut core::ffi::c_void,
1847 *mut core::ffi::c_void,
1848 *mut i64,
1849 ) -> windows_core::HRESULT,
1850 pub remove_PermissionRequested:
1851 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1852 pub add_ProcessFailed: unsafe extern "system" fn(
1853 *mut core::ffi::c_void,
1854 *mut core::ffi::c_void,
1855 *mut i64,
1856 ) -> windows_core::HRESULT,
1857 pub remove_ProcessFailed:
1858 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1859 pub AddScriptToExecuteOnDocumentCreated: unsafe extern "system" fn(
1860 *mut core::ffi::c_void,
1861 windows_core::PCWSTR,
1862 *mut core::ffi::c_void,
1863 )
1864 -> windows_core::HRESULT,
1865 pub RemoveScriptToExecuteOnDocumentCreated: unsafe extern "system" fn(
1866 *mut core::ffi::c_void,
1867 windows_core::PCWSTR,
1868 )
1869 -> windows_core::HRESULT,
1870 pub ExecuteScript: unsafe extern "system" fn(
1871 *mut core::ffi::c_void,
1872 windows_core::PCWSTR,
1873 *mut core::ffi::c_void,
1874 ) -> windows_core::HRESULT,
1875 pub CapturePreview: unsafe extern "system" fn(
1876 *mut core::ffi::c_void,
1877 COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
1878 *mut core::ffi::c_void,
1879 *mut core::ffi::c_void,
1880 ) -> windows_core::HRESULT,
1881 pub Reload: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1882 pub PostWebMessageAsJson: unsafe extern "system" fn(
1883 *mut core::ffi::c_void,
1884 windows_core::PCWSTR,
1885 ) -> windows_core::HRESULT,
1886 pub PostWebMessageAsString: unsafe extern "system" fn(
1887 *mut core::ffi::c_void,
1888 windows_core::PCWSTR,
1889 ) -> windows_core::HRESULT,
1890 pub add_WebMessageReceived: unsafe extern "system" fn(
1891 *mut core::ffi::c_void,
1892 *mut core::ffi::c_void,
1893 *mut i64,
1894 ) -> windows_core::HRESULT,
1895 pub remove_WebMessageReceived:
1896 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1897 pub CallDevToolsProtocolMethod: unsafe extern "system" fn(
1898 *mut core::ffi::c_void,
1899 windows_core::PCWSTR,
1900 windows_core::PCWSTR,
1901 *mut core::ffi::c_void,
1902 ) -> windows_core::HRESULT,
1903 pub BrowserProcessId:
1904 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
1905 pub CanGoBack: unsafe extern "system" fn(
1906 *mut core::ffi::c_void,
1907 *mut windows_core::BOOL,
1908 ) -> windows_core::HRESULT,
1909 pub CanGoForward: unsafe extern "system" fn(
1910 *mut core::ffi::c_void,
1911 *mut windows_core::BOOL,
1912 ) -> windows_core::HRESULT,
1913 pub GoBack: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1914 pub GoForward: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1915 pub GetDevToolsProtocolEventReceiver: unsafe extern "system" fn(
1916 *mut core::ffi::c_void,
1917 windows_core::PCWSTR,
1918 *mut *mut core::ffi::c_void,
1919 ) -> windows_core::HRESULT,
1920 pub Stop: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1921 pub add_NewWindowRequested: unsafe extern "system" fn(
1922 *mut core::ffi::c_void,
1923 *mut core::ffi::c_void,
1924 *mut i64,
1925 ) -> windows_core::HRESULT,
1926 pub remove_NewWindowRequested:
1927 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1928 pub add_DocumentTitleChanged: unsafe extern "system" fn(
1929 *mut core::ffi::c_void,
1930 *mut core::ffi::c_void,
1931 *mut i64,
1932 ) -> windows_core::HRESULT,
1933 pub remove_DocumentTitleChanged:
1934 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1935 pub DocumentTitle: unsafe extern "system" fn(
1936 *mut core::ffi::c_void,
1937 *mut windows_core::PWSTR,
1938 ) -> windows_core::HRESULT,
1939 pub AddHostObjectToScript: unsafe extern "system" fn(
1940 *mut core::ffi::c_void,
1941 windows_core::PCWSTR,
1942 *mut windows::Win32::System::Variant::VARIANT,
1943 ) -> windows_core::HRESULT,
1944 pub RemoveHostObjectFromScript: unsafe extern "system" fn(
1945 *mut core::ffi::c_void,
1946 windows_core::PCWSTR,
1947 ) -> windows_core::HRESULT,
1948 pub OpenDevToolsWindow:
1949 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1950 pub add_ContainsFullScreenElementChanged: unsafe extern "system" fn(
1951 *mut core::ffi::c_void,
1952 *mut core::ffi::c_void,
1953 *mut i64,
1954 )
1955 -> windows_core::HRESULT,
1956 pub remove_ContainsFullScreenElementChanged:
1957 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1958 pub ContainsFullScreenElement: unsafe extern "system" fn(
1959 *mut core::ffi::c_void,
1960 *mut windows_core::BOOL,
1961 ) -> windows_core::HRESULT,
1962 pub add_WebResourceRequested: unsafe extern "system" fn(
1963 *mut core::ffi::c_void,
1964 *mut core::ffi::c_void,
1965 *mut i64,
1966 ) -> windows_core::HRESULT,
1967 pub remove_WebResourceRequested:
1968 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1969 pub AddWebResourceRequestedFilter: unsafe extern "system" fn(
1970 *mut core::ffi::c_void,
1971 windows_core::PCWSTR,
1972 COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
1973 ) -> windows_core::HRESULT,
1974 pub RemoveWebResourceRequestedFilter: unsafe extern "system" fn(
1975 *mut core::ffi::c_void,
1976 windows_core::PCWSTR,
1977 COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
1978 ) -> windows_core::HRESULT,
1979 pub add_WindowCloseRequested: unsafe extern "system" fn(
1980 *mut core::ffi::c_void,
1981 *mut core::ffi::c_void,
1982 *mut i64,
1983 ) -> windows_core::HRESULT,
1984 pub remove_WindowCloseRequested:
1985 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1986}
1987pub trait ICoreWebView2_Impl: windows_core::IUnknownImpl {
1988 fn Settings(&self) -> windows_core::Result<ICoreWebView2Settings>;
1989 fn Source(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
1990 fn Navigate(&self, uri: &windows_core::PCWSTR) -> windows_core::Result<()>;
1991 fn NavigateToString(&self, htmlcontent: &windows_core::PCWSTR) -> windows_core::Result<()>;
1992 fn add_NavigationStarting(
1993 &self,
1994 eventhandler: windows_core::Ref<'_, ICoreWebView2NavigationStartingEventHandler>,
1995 token: *mut i64,
1996 ) -> windows_core::Result<()>;
1997 fn remove_NavigationStarting(&self, token: i64) -> windows_core::Result<()>;
1998 fn add_ContentLoading(
1999 &self,
2000 eventhandler: windows_core::Ref<'_, ICoreWebView2ContentLoadingEventHandler>,
2001 token: *mut i64,
2002 ) -> windows_core::Result<()>;
2003 fn remove_ContentLoading(&self, token: i64) -> windows_core::Result<()>;
2004 fn add_SourceChanged(
2005 &self,
2006 eventhandler: windows_core::Ref<'_, ICoreWebView2SourceChangedEventHandler>,
2007 token: *mut i64,
2008 ) -> windows_core::Result<()>;
2009 fn remove_SourceChanged(&self, token: i64) -> windows_core::Result<()>;
2010 fn add_HistoryChanged(
2011 &self,
2012 eventhandler: windows_core::Ref<'_, ICoreWebView2HistoryChangedEventHandler>,
2013 token: *mut i64,
2014 ) -> windows_core::Result<()>;
2015 fn remove_HistoryChanged(&self, token: i64) -> windows_core::Result<()>;
2016 fn add_NavigationCompleted(
2017 &self,
2018 eventhandler: windows_core::Ref<'_, ICoreWebView2NavigationCompletedEventHandler>,
2019 token: *mut i64,
2020 ) -> windows_core::Result<()>;
2021 fn remove_NavigationCompleted(&self, token: i64) -> windows_core::Result<()>;
2022 fn add_FrameNavigationStarting(
2023 &self,
2024 eventhandler: windows_core::Ref<'_, ICoreWebView2NavigationStartingEventHandler>,
2025 token: *mut i64,
2026 ) -> windows_core::Result<()>;
2027 fn remove_FrameNavigationStarting(&self, token: i64) -> windows_core::Result<()>;
2028 fn add_FrameNavigationCompleted(
2029 &self,
2030 eventhandler: windows_core::Ref<'_, ICoreWebView2NavigationCompletedEventHandler>,
2031 token: *mut i64,
2032 ) -> windows_core::Result<()>;
2033 fn remove_FrameNavigationCompleted(&self, token: i64) -> windows_core::Result<()>;
2034 fn add_ScriptDialogOpening(
2035 &self,
2036 eventhandler: windows_core::Ref<'_, ICoreWebView2ScriptDialogOpeningEventHandler>,
2037 token: *mut i64,
2038 ) -> windows_core::Result<()>;
2039 fn remove_ScriptDialogOpening(&self, token: i64) -> windows_core::Result<()>;
2040 fn add_PermissionRequested(
2041 &self,
2042 eventhandler: windows_core::Ref<'_, ICoreWebView2PermissionRequestedEventHandler>,
2043 token: *mut i64,
2044 ) -> windows_core::Result<()>;
2045 fn remove_PermissionRequested(&self, token: i64) -> windows_core::Result<()>;
2046 fn add_ProcessFailed(
2047 &self,
2048 eventhandler: windows_core::Ref<'_, ICoreWebView2ProcessFailedEventHandler>,
2049 token: *mut i64,
2050 ) -> windows_core::Result<()>;
2051 fn remove_ProcessFailed(&self, token: i64) -> windows_core::Result<()>;
2052 fn AddScriptToExecuteOnDocumentCreated(
2053 &self,
2054 javascript: &windows_core::PCWSTR,
2055 handler: windows_core::Ref<
2056 '_,
2057 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler,
2058 >,
2059 ) -> windows_core::Result<()>;
2060 fn RemoveScriptToExecuteOnDocumentCreated(
2061 &self,
2062 id: &windows_core::PCWSTR,
2063 ) -> windows_core::Result<()>;
2064 fn ExecuteScript(
2065 &self,
2066 javascript: &windows_core::PCWSTR,
2067 handler: windows_core::Ref<'_, ICoreWebView2ExecuteScriptCompletedHandler>,
2068 ) -> windows_core::Result<()>;
2069 fn CapturePreview(
2070 &self,
2071 imageformat: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
2072 imagestream: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
2073 handler: windows_core::Ref<'_, ICoreWebView2CapturePreviewCompletedHandler>,
2074 ) -> windows_core::Result<()>;
2075 fn Reload(&self) -> windows_core::Result<()>;
2076 fn PostWebMessageAsJson(
2077 &self,
2078 webmessageasjson: &windows_core::PCWSTR,
2079 ) -> windows_core::Result<()>;
2080 fn PostWebMessageAsString(
2081 &self,
2082 webmessageasstring: &windows_core::PCWSTR,
2083 ) -> windows_core::Result<()>;
2084 fn add_WebMessageReceived(
2085 &self,
2086 handler: windows_core::Ref<'_, ICoreWebView2WebMessageReceivedEventHandler>,
2087 token: *mut i64,
2088 ) -> windows_core::Result<()>;
2089 fn remove_WebMessageReceived(&self, token: i64) -> windows_core::Result<()>;
2090 fn CallDevToolsProtocolMethod(
2091 &self,
2092 methodname: &windows_core::PCWSTR,
2093 parametersasjson: &windows_core::PCWSTR,
2094 handler: windows_core::Ref<'_, ICoreWebView2CallDevToolsProtocolMethodCompletedHandler>,
2095 ) -> windows_core::Result<()>;
2096 fn BrowserProcessId(&self, value: *mut u32) -> windows_core::Result<()>;
2097 fn CanGoBack(&self, cangoback: *mut windows_core::BOOL) -> windows_core::Result<()>;
2098 fn CanGoForward(&self, cangoforward: *mut windows_core::BOOL) -> windows_core::Result<()>;
2099 fn GoBack(&self) -> windows_core::Result<()>;
2100 fn GoForward(&self) -> windows_core::Result<()>;
2101 fn GetDevToolsProtocolEventReceiver(
2102 &self,
2103 eventname: &windows_core::PCWSTR,
2104 ) -> windows_core::Result<ICoreWebView2DevToolsProtocolEventReceiver>;
2105 fn Stop(&self) -> windows_core::Result<()>;
2106 fn add_NewWindowRequested(
2107 &self,
2108 eventhandler: windows_core::Ref<'_, ICoreWebView2NewWindowRequestedEventHandler>,
2109 token: *mut i64,
2110 ) -> windows_core::Result<()>;
2111 fn remove_NewWindowRequested(&self, token: i64) -> windows_core::Result<()>;
2112 fn add_DocumentTitleChanged(
2113 &self,
2114 eventhandler: windows_core::Ref<'_, ICoreWebView2DocumentTitleChangedEventHandler>,
2115 token: *mut i64,
2116 ) -> windows_core::Result<()>;
2117 fn remove_DocumentTitleChanged(&self, token: i64) -> windows_core::Result<()>;
2118 fn DocumentTitle(&self, title: *mut windows_core::PWSTR) -> windows_core::Result<()>;
2119 fn AddHostObjectToScript(
2120 &self,
2121 name: &windows_core::PCWSTR,
2122 object: *mut windows::Win32::System::Variant::VARIANT,
2123 ) -> windows_core::Result<()>;
2124 fn RemoveHostObjectFromScript(&self, name: &windows_core::PCWSTR) -> windows_core::Result<()>;
2125 fn OpenDevToolsWindow(&self) -> windows_core::Result<()>;
2126 fn add_ContainsFullScreenElementChanged(
2127 &self,
2128 eventhandler: windows_core::Ref<
2129 '_,
2130 ICoreWebView2ContainsFullScreenElementChangedEventHandler,
2131 >,
2132 token: *mut i64,
2133 ) -> windows_core::Result<()>;
2134 fn remove_ContainsFullScreenElementChanged(&self, token: i64) -> windows_core::Result<()>;
2135 fn ContainsFullScreenElement(
2136 &self,
2137 containsfullscreenelement: *mut windows_core::BOOL,
2138 ) -> windows_core::Result<()>;
2139 fn add_WebResourceRequested(
2140 &self,
2141 eventhandler: windows_core::Ref<'_, ICoreWebView2WebResourceRequestedEventHandler>,
2142 token: *mut i64,
2143 ) -> windows_core::Result<()>;
2144 fn remove_WebResourceRequested(&self, token: i64) -> windows_core::Result<()>;
2145 fn AddWebResourceRequestedFilter(
2146 &self,
2147 uri: &windows_core::PCWSTR,
2148 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
2149 ) -> windows_core::Result<()>;
2150 fn RemoveWebResourceRequestedFilter(
2151 &self,
2152 uri: &windows_core::PCWSTR,
2153 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
2154 ) -> windows_core::Result<()>;
2155 fn add_WindowCloseRequested(
2156 &self,
2157 eventhandler: windows_core::Ref<'_, ICoreWebView2WindowCloseRequestedEventHandler>,
2158 token: *mut i64,
2159 ) -> windows_core::Result<()>;
2160 fn remove_WindowCloseRequested(&self, token: i64) -> windows_core::Result<()>;
2161}
2162impl ICoreWebView2_Vtbl {
2163 pub const fn new<Identity: ICoreWebView2_Impl, const OFFSET: isize>() -> Self {
2164 unsafe extern "system" fn Settings<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2165 this: *mut core::ffi::c_void,
2166 settings: *mut *mut core::ffi::c_void,
2167 ) -> windows_core::HRESULT {
2168 unsafe {
2169 let this: &Identity =
2170 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2171 match ICoreWebView2_Impl::Settings(this) {
2172 Ok(ok__) => {
2173 settings.write(core::mem::transmute(ok__));
2174 windows_core::HRESULT(0)
2175 }
2176 Err(err) => err.into(),
2177 }
2178 }
2179 }
2180 unsafe extern "system" fn Source<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2181 this: *mut core::ffi::c_void,
2182 uri: *mut windows_core::PWSTR,
2183 ) -> windows_core::HRESULT {
2184 unsafe {
2185 let this: &Identity =
2186 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2187 ICoreWebView2_Impl::Source(this, core::mem::transmute_copy(&uri)).into()
2188 }
2189 }
2190 unsafe extern "system" fn Navigate<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2191 this: *mut core::ffi::c_void,
2192 uri: windows_core::PCWSTR,
2193 ) -> windows_core::HRESULT {
2194 unsafe {
2195 let this: &Identity =
2196 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2197 ICoreWebView2_Impl::Navigate(this, core::mem::transmute(&uri)).into()
2198 }
2199 }
2200 unsafe extern "system" fn NavigateToString<
2201 Identity: ICoreWebView2_Impl,
2202 const OFFSET: isize,
2203 >(
2204 this: *mut core::ffi::c_void,
2205 htmlcontent: windows_core::PCWSTR,
2206 ) -> windows_core::HRESULT {
2207 unsafe {
2208 let this: &Identity =
2209 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2210 ICoreWebView2_Impl::NavigateToString(this, core::mem::transmute(&htmlcontent))
2211 .into()
2212 }
2213 }
2214 unsafe extern "system" fn add_NavigationStarting<
2215 Identity: ICoreWebView2_Impl,
2216 const OFFSET: isize,
2217 >(
2218 this: *mut core::ffi::c_void,
2219 eventhandler: *mut core::ffi::c_void,
2220 token: *mut i64,
2221 ) -> windows_core::HRESULT {
2222 unsafe {
2223 let this: &Identity =
2224 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2225 ICoreWebView2_Impl::add_NavigationStarting(
2226 this,
2227 core::mem::transmute_copy(&eventhandler),
2228 core::mem::transmute_copy(&token),
2229 )
2230 .into()
2231 }
2232 }
2233 unsafe extern "system" fn remove_NavigationStarting<
2234 Identity: ICoreWebView2_Impl,
2235 const OFFSET: isize,
2236 >(
2237 this: *mut core::ffi::c_void,
2238 token: i64,
2239 ) -> windows_core::HRESULT {
2240 unsafe {
2241 let this: &Identity =
2242 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2243 ICoreWebView2_Impl::remove_NavigationStarting(
2244 this,
2245 core::mem::transmute_copy(&token),
2246 )
2247 .into()
2248 }
2249 }
2250 unsafe extern "system" fn add_ContentLoading<
2251 Identity: ICoreWebView2_Impl,
2252 const OFFSET: isize,
2253 >(
2254 this: *mut core::ffi::c_void,
2255 eventhandler: *mut core::ffi::c_void,
2256 token: *mut i64,
2257 ) -> windows_core::HRESULT {
2258 unsafe {
2259 let this: &Identity =
2260 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2261 ICoreWebView2_Impl::add_ContentLoading(
2262 this,
2263 core::mem::transmute_copy(&eventhandler),
2264 core::mem::transmute_copy(&token),
2265 )
2266 .into()
2267 }
2268 }
2269 unsafe extern "system" fn remove_ContentLoading<
2270 Identity: ICoreWebView2_Impl,
2271 const OFFSET: isize,
2272 >(
2273 this: *mut core::ffi::c_void,
2274 token: i64,
2275 ) -> windows_core::HRESULT {
2276 unsafe {
2277 let this: &Identity =
2278 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2279 ICoreWebView2_Impl::remove_ContentLoading(this, core::mem::transmute_copy(&token))
2280 .into()
2281 }
2282 }
2283 unsafe extern "system" fn add_SourceChanged<
2284 Identity: ICoreWebView2_Impl,
2285 const OFFSET: isize,
2286 >(
2287 this: *mut core::ffi::c_void,
2288 eventhandler: *mut core::ffi::c_void,
2289 token: *mut i64,
2290 ) -> windows_core::HRESULT {
2291 unsafe {
2292 let this: &Identity =
2293 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2294 ICoreWebView2_Impl::add_SourceChanged(
2295 this,
2296 core::mem::transmute_copy(&eventhandler),
2297 core::mem::transmute_copy(&token),
2298 )
2299 .into()
2300 }
2301 }
2302 unsafe extern "system" fn remove_SourceChanged<
2303 Identity: ICoreWebView2_Impl,
2304 const OFFSET: isize,
2305 >(
2306 this: *mut core::ffi::c_void,
2307 token: i64,
2308 ) -> windows_core::HRESULT {
2309 unsafe {
2310 let this: &Identity =
2311 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2312 ICoreWebView2_Impl::remove_SourceChanged(this, core::mem::transmute_copy(&token))
2313 .into()
2314 }
2315 }
2316 unsafe extern "system" fn add_HistoryChanged<
2317 Identity: ICoreWebView2_Impl,
2318 const OFFSET: isize,
2319 >(
2320 this: *mut core::ffi::c_void,
2321 eventhandler: *mut core::ffi::c_void,
2322 token: *mut i64,
2323 ) -> windows_core::HRESULT {
2324 unsafe {
2325 let this: &Identity =
2326 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2327 ICoreWebView2_Impl::add_HistoryChanged(
2328 this,
2329 core::mem::transmute_copy(&eventhandler),
2330 core::mem::transmute_copy(&token),
2331 )
2332 .into()
2333 }
2334 }
2335 unsafe extern "system" fn remove_HistoryChanged<
2336 Identity: ICoreWebView2_Impl,
2337 const OFFSET: isize,
2338 >(
2339 this: *mut core::ffi::c_void,
2340 token: i64,
2341 ) -> windows_core::HRESULT {
2342 unsafe {
2343 let this: &Identity =
2344 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2345 ICoreWebView2_Impl::remove_HistoryChanged(this, core::mem::transmute_copy(&token))
2346 .into()
2347 }
2348 }
2349 unsafe extern "system" fn add_NavigationCompleted<
2350 Identity: ICoreWebView2_Impl,
2351 const OFFSET: isize,
2352 >(
2353 this: *mut core::ffi::c_void,
2354 eventhandler: *mut core::ffi::c_void,
2355 token: *mut i64,
2356 ) -> windows_core::HRESULT {
2357 unsafe {
2358 let this: &Identity =
2359 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2360 ICoreWebView2_Impl::add_NavigationCompleted(
2361 this,
2362 core::mem::transmute_copy(&eventhandler),
2363 core::mem::transmute_copy(&token),
2364 )
2365 .into()
2366 }
2367 }
2368 unsafe extern "system" fn remove_NavigationCompleted<
2369 Identity: ICoreWebView2_Impl,
2370 const OFFSET: isize,
2371 >(
2372 this: *mut core::ffi::c_void,
2373 token: i64,
2374 ) -> windows_core::HRESULT {
2375 unsafe {
2376 let this: &Identity =
2377 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2378 ICoreWebView2_Impl::remove_NavigationCompleted(
2379 this,
2380 core::mem::transmute_copy(&token),
2381 )
2382 .into()
2383 }
2384 }
2385 unsafe extern "system" fn add_FrameNavigationStarting<
2386 Identity: ICoreWebView2_Impl,
2387 const OFFSET: isize,
2388 >(
2389 this: *mut core::ffi::c_void,
2390 eventhandler: *mut core::ffi::c_void,
2391 token: *mut i64,
2392 ) -> windows_core::HRESULT {
2393 unsafe {
2394 let this: &Identity =
2395 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2396 ICoreWebView2_Impl::add_FrameNavigationStarting(
2397 this,
2398 core::mem::transmute_copy(&eventhandler),
2399 core::mem::transmute_copy(&token),
2400 )
2401 .into()
2402 }
2403 }
2404 unsafe extern "system" fn remove_FrameNavigationStarting<
2405 Identity: ICoreWebView2_Impl,
2406 const OFFSET: isize,
2407 >(
2408 this: *mut core::ffi::c_void,
2409 token: i64,
2410 ) -> windows_core::HRESULT {
2411 unsafe {
2412 let this: &Identity =
2413 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2414 ICoreWebView2_Impl::remove_FrameNavigationStarting(
2415 this,
2416 core::mem::transmute_copy(&token),
2417 )
2418 .into()
2419 }
2420 }
2421 unsafe extern "system" fn add_FrameNavigationCompleted<
2422 Identity: ICoreWebView2_Impl,
2423 const OFFSET: isize,
2424 >(
2425 this: *mut core::ffi::c_void,
2426 eventhandler: *mut core::ffi::c_void,
2427 token: *mut i64,
2428 ) -> windows_core::HRESULT {
2429 unsafe {
2430 let this: &Identity =
2431 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2432 ICoreWebView2_Impl::add_FrameNavigationCompleted(
2433 this,
2434 core::mem::transmute_copy(&eventhandler),
2435 core::mem::transmute_copy(&token),
2436 )
2437 .into()
2438 }
2439 }
2440 unsafe extern "system" fn remove_FrameNavigationCompleted<
2441 Identity: ICoreWebView2_Impl,
2442 const OFFSET: isize,
2443 >(
2444 this: *mut core::ffi::c_void,
2445 token: i64,
2446 ) -> windows_core::HRESULT {
2447 unsafe {
2448 let this: &Identity =
2449 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2450 ICoreWebView2_Impl::remove_FrameNavigationCompleted(
2451 this,
2452 core::mem::transmute_copy(&token),
2453 )
2454 .into()
2455 }
2456 }
2457 unsafe extern "system" fn add_ScriptDialogOpening<
2458 Identity: ICoreWebView2_Impl,
2459 const OFFSET: isize,
2460 >(
2461 this: *mut core::ffi::c_void,
2462 eventhandler: *mut core::ffi::c_void,
2463 token: *mut i64,
2464 ) -> windows_core::HRESULT {
2465 unsafe {
2466 let this: &Identity =
2467 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2468 ICoreWebView2_Impl::add_ScriptDialogOpening(
2469 this,
2470 core::mem::transmute_copy(&eventhandler),
2471 core::mem::transmute_copy(&token),
2472 )
2473 .into()
2474 }
2475 }
2476 unsafe extern "system" fn remove_ScriptDialogOpening<
2477 Identity: ICoreWebView2_Impl,
2478 const OFFSET: isize,
2479 >(
2480 this: *mut core::ffi::c_void,
2481 token: i64,
2482 ) -> windows_core::HRESULT {
2483 unsafe {
2484 let this: &Identity =
2485 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2486 ICoreWebView2_Impl::remove_ScriptDialogOpening(
2487 this,
2488 core::mem::transmute_copy(&token),
2489 )
2490 .into()
2491 }
2492 }
2493 unsafe extern "system" fn add_PermissionRequested<
2494 Identity: ICoreWebView2_Impl,
2495 const OFFSET: isize,
2496 >(
2497 this: *mut core::ffi::c_void,
2498 eventhandler: *mut core::ffi::c_void,
2499 token: *mut i64,
2500 ) -> windows_core::HRESULT {
2501 unsafe {
2502 let this: &Identity =
2503 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2504 ICoreWebView2_Impl::add_PermissionRequested(
2505 this,
2506 core::mem::transmute_copy(&eventhandler),
2507 core::mem::transmute_copy(&token),
2508 )
2509 .into()
2510 }
2511 }
2512 unsafe extern "system" fn remove_PermissionRequested<
2513 Identity: ICoreWebView2_Impl,
2514 const OFFSET: isize,
2515 >(
2516 this: *mut core::ffi::c_void,
2517 token: i64,
2518 ) -> windows_core::HRESULT {
2519 unsafe {
2520 let this: &Identity =
2521 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2522 ICoreWebView2_Impl::remove_PermissionRequested(
2523 this,
2524 core::mem::transmute_copy(&token),
2525 )
2526 .into()
2527 }
2528 }
2529 unsafe extern "system" fn add_ProcessFailed<
2530 Identity: ICoreWebView2_Impl,
2531 const OFFSET: isize,
2532 >(
2533 this: *mut core::ffi::c_void,
2534 eventhandler: *mut core::ffi::c_void,
2535 token: *mut i64,
2536 ) -> windows_core::HRESULT {
2537 unsafe {
2538 let this: &Identity =
2539 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2540 ICoreWebView2_Impl::add_ProcessFailed(
2541 this,
2542 core::mem::transmute_copy(&eventhandler),
2543 core::mem::transmute_copy(&token),
2544 )
2545 .into()
2546 }
2547 }
2548 unsafe extern "system" fn remove_ProcessFailed<
2549 Identity: ICoreWebView2_Impl,
2550 const OFFSET: isize,
2551 >(
2552 this: *mut core::ffi::c_void,
2553 token: i64,
2554 ) -> windows_core::HRESULT {
2555 unsafe {
2556 let this: &Identity =
2557 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2558 ICoreWebView2_Impl::remove_ProcessFailed(this, core::mem::transmute_copy(&token))
2559 .into()
2560 }
2561 }
2562 unsafe extern "system" fn AddScriptToExecuteOnDocumentCreated<
2563 Identity: ICoreWebView2_Impl,
2564 const OFFSET: isize,
2565 >(
2566 this: *mut core::ffi::c_void,
2567 javascript: windows_core::PCWSTR,
2568 handler: *mut core::ffi::c_void,
2569 ) -> windows_core::HRESULT {
2570 unsafe {
2571 let this: &Identity =
2572 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2573 ICoreWebView2_Impl::AddScriptToExecuteOnDocumentCreated(
2574 this,
2575 core::mem::transmute(&javascript),
2576 core::mem::transmute_copy(&handler),
2577 )
2578 .into()
2579 }
2580 }
2581 unsafe extern "system" fn RemoveScriptToExecuteOnDocumentCreated<
2582 Identity: ICoreWebView2_Impl,
2583 const OFFSET: isize,
2584 >(
2585 this: *mut core::ffi::c_void,
2586 id: windows_core::PCWSTR,
2587 ) -> windows_core::HRESULT {
2588 unsafe {
2589 let this: &Identity =
2590 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2591 ICoreWebView2_Impl::RemoveScriptToExecuteOnDocumentCreated(
2592 this,
2593 core::mem::transmute(&id),
2594 )
2595 .into()
2596 }
2597 }
2598 unsafe extern "system" fn ExecuteScript<
2599 Identity: ICoreWebView2_Impl,
2600 const OFFSET: isize,
2601 >(
2602 this: *mut core::ffi::c_void,
2603 javascript: windows_core::PCWSTR,
2604 handler: *mut core::ffi::c_void,
2605 ) -> windows_core::HRESULT {
2606 unsafe {
2607 let this: &Identity =
2608 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2609 ICoreWebView2_Impl::ExecuteScript(
2610 this,
2611 core::mem::transmute(&javascript),
2612 core::mem::transmute_copy(&handler),
2613 )
2614 .into()
2615 }
2616 }
2617 unsafe extern "system" fn CapturePreview<
2618 Identity: ICoreWebView2_Impl,
2619 const OFFSET: isize,
2620 >(
2621 this: *mut core::ffi::c_void,
2622 imageformat: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
2623 imagestream: *mut core::ffi::c_void,
2624 handler: *mut core::ffi::c_void,
2625 ) -> windows_core::HRESULT {
2626 unsafe {
2627 let this: &Identity =
2628 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2629 ICoreWebView2_Impl::CapturePreview(
2630 this,
2631 core::mem::transmute_copy(&imageformat),
2632 core::mem::transmute_copy(&imagestream),
2633 core::mem::transmute_copy(&handler),
2634 )
2635 .into()
2636 }
2637 }
2638 unsafe extern "system" fn Reload<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2639 this: *mut core::ffi::c_void,
2640 ) -> windows_core::HRESULT {
2641 unsafe {
2642 let this: &Identity =
2643 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2644 ICoreWebView2_Impl::Reload(this).into()
2645 }
2646 }
2647 unsafe extern "system" fn PostWebMessageAsJson<
2648 Identity: ICoreWebView2_Impl,
2649 const OFFSET: isize,
2650 >(
2651 this: *mut core::ffi::c_void,
2652 webmessageasjson: windows_core::PCWSTR,
2653 ) -> windows_core::HRESULT {
2654 unsafe {
2655 let this: &Identity =
2656 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2657 ICoreWebView2_Impl::PostWebMessageAsJson(
2658 this,
2659 core::mem::transmute(&webmessageasjson),
2660 )
2661 .into()
2662 }
2663 }
2664 unsafe extern "system" fn PostWebMessageAsString<
2665 Identity: ICoreWebView2_Impl,
2666 const OFFSET: isize,
2667 >(
2668 this: *mut core::ffi::c_void,
2669 webmessageasstring: windows_core::PCWSTR,
2670 ) -> windows_core::HRESULT {
2671 unsafe {
2672 let this: &Identity =
2673 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2674 ICoreWebView2_Impl::PostWebMessageAsString(
2675 this,
2676 core::mem::transmute(&webmessageasstring),
2677 )
2678 .into()
2679 }
2680 }
2681 unsafe extern "system" fn add_WebMessageReceived<
2682 Identity: ICoreWebView2_Impl,
2683 const OFFSET: isize,
2684 >(
2685 this: *mut core::ffi::c_void,
2686 handler: *mut core::ffi::c_void,
2687 token: *mut i64,
2688 ) -> windows_core::HRESULT {
2689 unsafe {
2690 let this: &Identity =
2691 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2692 ICoreWebView2_Impl::add_WebMessageReceived(
2693 this,
2694 core::mem::transmute_copy(&handler),
2695 core::mem::transmute_copy(&token),
2696 )
2697 .into()
2698 }
2699 }
2700 unsafe extern "system" fn remove_WebMessageReceived<
2701 Identity: ICoreWebView2_Impl,
2702 const OFFSET: isize,
2703 >(
2704 this: *mut core::ffi::c_void,
2705 token: i64,
2706 ) -> windows_core::HRESULT {
2707 unsafe {
2708 let this: &Identity =
2709 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2710 ICoreWebView2_Impl::remove_WebMessageReceived(
2711 this,
2712 core::mem::transmute_copy(&token),
2713 )
2714 .into()
2715 }
2716 }
2717 unsafe extern "system" fn CallDevToolsProtocolMethod<
2718 Identity: ICoreWebView2_Impl,
2719 const OFFSET: isize,
2720 >(
2721 this: *mut core::ffi::c_void,
2722 methodname: windows_core::PCWSTR,
2723 parametersasjson: windows_core::PCWSTR,
2724 handler: *mut core::ffi::c_void,
2725 ) -> windows_core::HRESULT {
2726 unsafe {
2727 let this: &Identity =
2728 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2729 ICoreWebView2_Impl::CallDevToolsProtocolMethod(
2730 this,
2731 core::mem::transmute(&methodname),
2732 core::mem::transmute(¶metersasjson),
2733 core::mem::transmute_copy(&handler),
2734 )
2735 .into()
2736 }
2737 }
2738 unsafe extern "system" fn BrowserProcessId<
2739 Identity: ICoreWebView2_Impl,
2740 const OFFSET: isize,
2741 >(
2742 this: *mut core::ffi::c_void,
2743 value: *mut u32,
2744 ) -> windows_core::HRESULT {
2745 unsafe {
2746 let this: &Identity =
2747 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2748 ICoreWebView2_Impl::BrowserProcessId(this, core::mem::transmute_copy(&value)).into()
2749 }
2750 }
2751 unsafe extern "system" fn CanGoBack<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2752 this: *mut core::ffi::c_void,
2753 cangoback: *mut windows_core::BOOL,
2754 ) -> windows_core::HRESULT {
2755 unsafe {
2756 let this: &Identity =
2757 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2758 ICoreWebView2_Impl::CanGoBack(this, core::mem::transmute_copy(&cangoback)).into()
2759 }
2760 }
2761 unsafe extern "system" fn CanGoForward<
2762 Identity: ICoreWebView2_Impl,
2763 const OFFSET: isize,
2764 >(
2765 this: *mut core::ffi::c_void,
2766 cangoforward: *mut windows_core::BOOL,
2767 ) -> windows_core::HRESULT {
2768 unsafe {
2769 let this: &Identity =
2770 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2771 ICoreWebView2_Impl::CanGoForward(this, core::mem::transmute_copy(&cangoforward))
2772 .into()
2773 }
2774 }
2775 unsafe extern "system" fn GoBack<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2776 this: *mut core::ffi::c_void,
2777 ) -> windows_core::HRESULT {
2778 unsafe {
2779 let this: &Identity =
2780 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2781 ICoreWebView2_Impl::GoBack(this).into()
2782 }
2783 }
2784 unsafe extern "system" fn GoForward<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2785 this: *mut core::ffi::c_void,
2786 ) -> windows_core::HRESULT {
2787 unsafe {
2788 let this: &Identity =
2789 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2790 ICoreWebView2_Impl::GoForward(this).into()
2791 }
2792 }
2793 unsafe extern "system" fn GetDevToolsProtocolEventReceiver<
2794 Identity: ICoreWebView2_Impl,
2795 const OFFSET: isize,
2796 >(
2797 this: *mut core::ffi::c_void,
2798 eventname: windows_core::PCWSTR,
2799 receiver: *mut *mut core::ffi::c_void,
2800 ) -> windows_core::HRESULT {
2801 unsafe {
2802 let this: &Identity =
2803 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2804 match ICoreWebView2_Impl::GetDevToolsProtocolEventReceiver(
2805 this,
2806 core::mem::transmute(&eventname),
2807 ) {
2808 Ok(ok__) => {
2809 receiver.write(core::mem::transmute(ok__));
2810 windows_core::HRESULT(0)
2811 }
2812 Err(err) => err.into(),
2813 }
2814 }
2815 }
2816 unsafe extern "system" fn Stop<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2817 this: *mut core::ffi::c_void,
2818 ) -> windows_core::HRESULT {
2819 unsafe {
2820 let this: &Identity =
2821 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2822 ICoreWebView2_Impl::Stop(this).into()
2823 }
2824 }
2825 unsafe extern "system" fn add_NewWindowRequested<
2826 Identity: ICoreWebView2_Impl,
2827 const OFFSET: isize,
2828 >(
2829 this: *mut core::ffi::c_void,
2830 eventhandler: *mut core::ffi::c_void,
2831 token: *mut i64,
2832 ) -> windows_core::HRESULT {
2833 unsafe {
2834 let this: &Identity =
2835 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2836 ICoreWebView2_Impl::add_NewWindowRequested(
2837 this,
2838 core::mem::transmute_copy(&eventhandler),
2839 core::mem::transmute_copy(&token),
2840 )
2841 .into()
2842 }
2843 }
2844 unsafe extern "system" fn remove_NewWindowRequested<
2845 Identity: ICoreWebView2_Impl,
2846 const OFFSET: isize,
2847 >(
2848 this: *mut core::ffi::c_void,
2849 token: i64,
2850 ) -> windows_core::HRESULT {
2851 unsafe {
2852 let this: &Identity =
2853 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2854 ICoreWebView2_Impl::remove_NewWindowRequested(
2855 this,
2856 core::mem::transmute_copy(&token),
2857 )
2858 .into()
2859 }
2860 }
2861 unsafe extern "system" fn add_DocumentTitleChanged<
2862 Identity: ICoreWebView2_Impl,
2863 const OFFSET: isize,
2864 >(
2865 this: *mut core::ffi::c_void,
2866 eventhandler: *mut core::ffi::c_void,
2867 token: *mut i64,
2868 ) -> windows_core::HRESULT {
2869 unsafe {
2870 let this: &Identity =
2871 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2872 ICoreWebView2_Impl::add_DocumentTitleChanged(
2873 this,
2874 core::mem::transmute_copy(&eventhandler),
2875 core::mem::transmute_copy(&token),
2876 )
2877 .into()
2878 }
2879 }
2880 unsafe extern "system" fn remove_DocumentTitleChanged<
2881 Identity: ICoreWebView2_Impl,
2882 const OFFSET: isize,
2883 >(
2884 this: *mut core::ffi::c_void,
2885 token: i64,
2886 ) -> windows_core::HRESULT {
2887 unsafe {
2888 let this: &Identity =
2889 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2890 ICoreWebView2_Impl::remove_DocumentTitleChanged(
2891 this,
2892 core::mem::transmute_copy(&token),
2893 )
2894 .into()
2895 }
2896 }
2897 unsafe extern "system" fn DocumentTitle<
2898 Identity: ICoreWebView2_Impl,
2899 const OFFSET: isize,
2900 >(
2901 this: *mut core::ffi::c_void,
2902 title: *mut windows_core::PWSTR,
2903 ) -> windows_core::HRESULT {
2904 unsafe {
2905 let this: &Identity =
2906 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2907 ICoreWebView2_Impl::DocumentTitle(this, core::mem::transmute_copy(&title)).into()
2908 }
2909 }
2910 unsafe extern "system" fn AddHostObjectToScript<
2911 Identity: ICoreWebView2_Impl,
2912 const OFFSET: isize,
2913 >(
2914 this: *mut core::ffi::c_void,
2915 name: windows_core::PCWSTR,
2916 object: *mut windows::Win32::System::Variant::VARIANT,
2917 ) -> windows_core::HRESULT {
2918 unsafe {
2919 let this: &Identity =
2920 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2921 ICoreWebView2_Impl::AddHostObjectToScript(
2922 this,
2923 core::mem::transmute(&name),
2924 core::mem::transmute_copy(&object),
2925 )
2926 .into()
2927 }
2928 }
2929 unsafe extern "system" fn RemoveHostObjectFromScript<
2930 Identity: ICoreWebView2_Impl,
2931 const OFFSET: isize,
2932 >(
2933 this: *mut core::ffi::c_void,
2934 name: windows_core::PCWSTR,
2935 ) -> windows_core::HRESULT {
2936 unsafe {
2937 let this: &Identity =
2938 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2939 ICoreWebView2_Impl::RemoveHostObjectFromScript(this, core::mem::transmute(&name))
2940 .into()
2941 }
2942 }
2943 unsafe extern "system" fn OpenDevToolsWindow<
2944 Identity: ICoreWebView2_Impl,
2945 const OFFSET: isize,
2946 >(
2947 this: *mut core::ffi::c_void,
2948 ) -> windows_core::HRESULT {
2949 unsafe {
2950 let this: &Identity =
2951 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2952 ICoreWebView2_Impl::OpenDevToolsWindow(this).into()
2953 }
2954 }
2955 unsafe extern "system" fn add_ContainsFullScreenElementChanged<
2956 Identity: ICoreWebView2_Impl,
2957 const OFFSET: isize,
2958 >(
2959 this: *mut core::ffi::c_void,
2960 eventhandler: *mut core::ffi::c_void,
2961 token: *mut i64,
2962 ) -> windows_core::HRESULT {
2963 unsafe {
2964 let this: &Identity =
2965 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2966 ICoreWebView2_Impl::add_ContainsFullScreenElementChanged(
2967 this,
2968 core::mem::transmute_copy(&eventhandler),
2969 core::mem::transmute_copy(&token),
2970 )
2971 .into()
2972 }
2973 }
2974 unsafe extern "system" fn remove_ContainsFullScreenElementChanged<
2975 Identity: ICoreWebView2_Impl,
2976 const OFFSET: isize,
2977 >(
2978 this: *mut core::ffi::c_void,
2979 token: i64,
2980 ) -> windows_core::HRESULT {
2981 unsafe {
2982 let this: &Identity =
2983 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2984 ICoreWebView2_Impl::remove_ContainsFullScreenElementChanged(
2985 this,
2986 core::mem::transmute_copy(&token),
2987 )
2988 .into()
2989 }
2990 }
2991 unsafe extern "system" fn ContainsFullScreenElement<
2992 Identity: ICoreWebView2_Impl,
2993 const OFFSET: isize,
2994 >(
2995 this: *mut core::ffi::c_void,
2996 containsfullscreenelement: *mut windows_core::BOOL,
2997 ) -> windows_core::HRESULT {
2998 unsafe {
2999 let this: &Identity =
3000 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3001 ICoreWebView2_Impl::ContainsFullScreenElement(
3002 this,
3003 core::mem::transmute_copy(&containsfullscreenelement),
3004 )
3005 .into()
3006 }
3007 }
3008 unsafe extern "system" fn add_WebResourceRequested<
3009 Identity: ICoreWebView2_Impl,
3010 const OFFSET: isize,
3011 >(
3012 this: *mut core::ffi::c_void,
3013 eventhandler: *mut core::ffi::c_void,
3014 token: *mut i64,
3015 ) -> windows_core::HRESULT {
3016 unsafe {
3017 let this: &Identity =
3018 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3019 ICoreWebView2_Impl::add_WebResourceRequested(
3020 this,
3021 core::mem::transmute_copy(&eventhandler),
3022 core::mem::transmute_copy(&token),
3023 )
3024 .into()
3025 }
3026 }
3027 unsafe extern "system" fn remove_WebResourceRequested<
3028 Identity: ICoreWebView2_Impl,
3029 const OFFSET: isize,
3030 >(
3031 this: *mut core::ffi::c_void,
3032 token: i64,
3033 ) -> windows_core::HRESULT {
3034 unsafe {
3035 let this: &Identity =
3036 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3037 ICoreWebView2_Impl::remove_WebResourceRequested(
3038 this,
3039 core::mem::transmute_copy(&token),
3040 )
3041 .into()
3042 }
3043 }
3044 unsafe extern "system" fn AddWebResourceRequestedFilter<
3045 Identity: ICoreWebView2_Impl,
3046 const OFFSET: isize,
3047 >(
3048 this: *mut core::ffi::c_void,
3049 uri: windows_core::PCWSTR,
3050 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
3051 ) -> windows_core::HRESULT {
3052 unsafe {
3053 let this: &Identity =
3054 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3055 ICoreWebView2_Impl::AddWebResourceRequestedFilter(
3056 this,
3057 core::mem::transmute(&uri),
3058 core::mem::transmute_copy(&resourcecontext),
3059 )
3060 .into()
3061 }
3062 }
3063 unsafe extern "system" fn RemoveWebResourceRequestedFilter<
3064 Identity: ICoreWebView2_Impl,
3065 const OFFSET: isize,
3066 >(
3067 this: *mut core::ffi::c_void,
3068 uri: windows_core::PCWSTR,
3069 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
3070 ) -> windows_core::HRESULT {
3071 unsafe {
3072 let this: &Identity =
3073 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3074 ICoreWebView2_Impl::RemoveWebResourceRequestedFilter(
3075 this,
3076 core::mem::transmute(&uri),
3077 core::mem::transmute_copy(&resourcecontext),
3078 )
3079 .into()
3080 }
3081 }
3082 unsafe extern "system" fn add_WindowCloseRequested<
3083 Identity: ICoreWebView2_Impl,
3084 const OFFSET: isize,
3085 >(
3086 this: *mut core::ffi::c_void,
3087 eventhandler: *mut core::ffi::c_void,
3088 token: *mut i64,
3089 ) -> windows_core::HRESULT {
3090 unsafe {
3091 let this: &Identity =
3092 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3093 ICoreWebView2_Impl::add_WindowCloseRequested(
3094 this,
3095 core::mem::transmute_copy(&eventhandler),
3096 core::mem::transmute_copy(&token),
3097 )
3098 .into()
3099 }
3100 }
3101 unsafe extern "system" fn remove_WindowCloseRequested<
3102 Identity: ICoreWebView2_Impl,
3103 const OFFSET: isize,
3104 >(
3105 this: *mut core::ffi::c_void,
3106 token: i64,
3107 ) -> windows_core::HRESULT {
3108 unsafe {
3109 let this: &Identity =
3110 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3111 ICoreWebView2_Impl::remove_WindowCloseRequested(
3112 this,
3113 core::mem::transmute_copy(&token),
3114 )
3115 .into()
3116 }
3117 }
3118 Self {
3119 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3120 Settings: Settings::<Identity, OFFSET>,
3121 Source: Source::<Identity, OFFSET>,
3122 Navigate: Navigate::<Identity, OFFSET>,
3123 NavigateToString: NavigateToString::<Identity, OFFSET>,
3124 add_NavigationStarting: add_NavigationStarting::<Identity, OFFSET>,
3125 remove_NavigationStarting: remove_NavigationStarting::<Identity, OFFSET>,
3126 add_ContentLoading: add_ContentLoading::<Identity, OFFSET>,
3127 remove_ContentLoading: remove_ContentLoading::<Identity, OFFSET>,
3128 add_SourceChanged: add_SourceChanged::<Identity, OFFSET>,
3129 remove_SourceChanged: remove_SourceChanged::<Identity, OFFSET>,
3130 add_HistoryChanged: add_HistoryChanged::<Identity, OFFSET>,
3131 remove_HistoryChanged: remove_HistoryChanged::<Identity, OFFSET>,
3132 add_NavigationCompleted: add_NavigationCompleted::<Identity, OFFSET>,
3133 remove_NavigationCompleted: remove_NavigationCompleted::<Identity, OFFSET>,
3134 add_FrameNavigationStarting: add_FrameNavigationStarting::<Identity, OFFSET>,
3135 remove_FrameNavigationStarting: remove_FrameNavigationStarting::<Identity, OFFSET>,
3136 add_FrameNavigationCompleted: add_FrameNavigationCompleted::<Identity, OFFSET>,
3137 remove_FrameNavigationCompleted: remove_FrameNavigationCompleted::<Identity, OFFSET>,
3138 add_ScriptDialogOpening: add_ScriptDialogOpening::<Identity, OFFSET>,
3139 remove_ScriptDialogOpening: remove_ScriptDialogOpening::<Identity, OFFSET>,
3140 add_PermissionRequested: add_PermissionRequested::<Identity, OFFSET>,
3141 remove_PermissionRequested: remove_PermissionRequested::<Identity, OFFSET>,
3142 add_ProcessFailed: add_ProcessFailed::<Identity, OFFSET>,
3143 remove_ProcessFailed: remove_ProcessFailed::<Identity, OFFSET>,
3144 AddScriptToExecuteOnDocumentCreated: AddScriptToExecuteOnDocumentCreated::<
3145 Identity,
3146 OFFSET,
3147 >,
3148 RemoveScriptToExecuteOnDocumentCreated: RemoveScriptToExecuteOnDocumentCreated::<
3149 Identity,
3150 OFFSET,
3151 >,
3152 ExecuteScript: ExecuteScript::<Identity, OFFSET>,
3153 CapturePreview: CapturePreview::<Identity, OFFSET>,
3154 Reload: Reload::<Identity, OFFSET>,
3155 PostWebMessageAsJson: PostWebMessageAsJson::<Identity, OFFSET>,
3156 PostWebMessageAsString: PostWebMessageAsString::<Identity, OFFSET>,
3157 add_WebMessageReceived: add_WebMessageReceived::<Identity, OFFSET>,
3158 remove_WebMessageReceived: remove_WebMessageReceived::<Identity, OFFSET>,
3159 CallDevToolsProtocolMethod: CallDevToolsProtocolMethod::<Identity, OFFSET>,
3160 BrowserProcessId: BrowserProcessId::<Identity, OFFSET>,
3161 CanGoBack: CanGoBack::<Identity, OFFSET>,
3162 CanGoForward: CanGoForward::<Identity, OFFSET>,
3163 GoBack: GoBack::<Identity, OFFSET>,
3164 GoForward: GoForward::<Identity, OFFSET>,
3165 GetDevToolsProtocolEventReceiver: GetDevToolsProtocolEventReceiver::<Identity, OFFSET>,
3166 Stop: Stop::<Identity, OFFSET>,
3167 add_NewWindowRequested: add_NewWindowRequested::<Identity, OFFSET>,
3168 remove_NewWindowRequested: remove_NewWindowRequested::<Identity, OFFSET>,
3169 add_DocumentTitleChanged: add_DocumentTitleChanged::<Identity, OFFSET>,
3170 remove_DocumentTitleChanged: remove_DocumentTitleChanged::<Identity, OFFSET>,
3171 DocumentTitle: DocumentTitle::<Identity, OFFSET>,
3172 AddHostObjectToScript: AddHostObjectToScript::<Identity, OFFSET>,
3173 RemoveHostObjectFromScript: RemoveHostObjectFromScript::<Identity, OFFSET>,
3174 OpenDevToolsWindow: OpenDevToolsWindow::<Identity, OFFSET>,
3175 add_ContainsFullScreenElementChanged: add_ContainsFullScreenElementChanged::<
3176 Identity,
3177 OFFSET,
3178 >,
3179 remove_ContainsFullScreenElementChanged: remove_ContainsFullScreenElementChanged::<
3180 Identity,
3181 OFFSET,
3182 >,
3183 ContainsFullScreenElement: ContainsFullScreenElement::<Identity, OFFSET>,
3184 add_WebResourceRequested: add_WebResourceRequested::<Identity, OFFSET>,
3185 remove_WebResourceRequested: remove_WebResourceRequested::<Identity, OFFSET>,
3186 AddWebResourceRequestedFilter: AddWebResourceRequestedFilter::<Identity, OFFSET>,
3187 RemoveWebResourceRequestedFilter: RemoveWebResourceRequestedFilter::<Identity, OFFSET>,
3188 add_WindowCloseRequested: add_WindowCloseRequested::<Identity, OFFSET>,
3189 remove_WindowCloseRequested: remove_WindowCloseRequested::<Identity, OFFSET>,
3190 }
3191 }
3192 pub fn matches(iid: &windows_core::GUID) -> bool {
3193 iid == &<ICoreWebView2 as windows_core::Interface>::IID
3194 }
3195}
3196impl windows_core::RuntimeName for ICoreWebView2 {}
3197windows_core::imp::define_interface!(
3198 ICoreWebView2AcceleratorKeyPressedEventArgs,
3199 ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl,
3200 0x9f760f8a_fb79_42be_9990_7b56900fa9c7
3201);
3202windows_core::imp::interface_hierarchy!(
3203 ICoreWebView2AcceleratorKeyPressedEventArgs,
3204 windows_core::IUnknown
3205);
3206impl ICoreWebView2AcceleratorKeyPressedEventArgs {
3207 pub unsafe fn KeyEventKind(
3208 &self,
3209 keyeventkind: *mut COREWEBVIEW2_KEY_EVENT_KIND,
3210 ) -> windows_core::Result<()> {
3211 unsafe {
3212 (windows_core::Interface::vtable(self).KeyEventKind)(
3213 windows_core::Interface::as_raw(self),
3214 keyeventkind as _,
3215 )
3216 .ok()
3217 }
3218 }
3219 pub unsafe fn VirtualKey(&self, virtualkey: *mut u32) -> windows_core::Result<()> {
3220 unsafe {
3221 (windows_core::Interface::vtable(self).VirtualKey)(
3222 windows_core::Interface::as_raw(self),
3223 virtualkey as _,
3224 )
3225 .ok()
3226 }
3227 }
3228 pub unsafe fn KeyEventLParam(&self, lparam: *mut i32) -> windows_core::Result<()> {
3229 unsafe {
3230 (windows_core::Interface::vtable(self).KeyEventLParam)(
3231 windows_core::Interface::as_raw(self),
3232 lparam as _,
3233 )
3234 .ok()
3235 }
3236 }
3237 pub unsafe fn PhysicalKeyStatus(
3238 &self,
3239 physicalkeystatus: *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
3240 ) -> windows_core::Result<()> {
3241 unsafe {
3242 (windows_core::Interface::vtable(self).PhysicalKeyStatus)(
3243 windows_core::Interface::as_raw(self),
3244 physicalkeystatus as _,
3245 )
3246 .ok()
3247 }
3248 }
3249 pub unsafe fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()> {
3250 unsafe {
3251 (windows_core::Interface::vtable(self).Handled)(
3252 windows_core::Interface::as_raw(self),
3253 handled as _,
3254 )
3255 .ok()
3256 }
3257 }
3258 pub unsafe fn SetHandled(&self, handled: bool) -> windows_core::Result<()> {
3259 unsafe {
3260 (windows_core::Interface::vtable(self).SetHandled)(
3261 windows_core::Interface::as_raw(self),
3262 handled.into(),
3263 )
3264 .ok()
3265 }
3266 }
3267}
3268#[repr(C)]
3269#[doc(hidden)]
3270pub struct ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl {
3271 pub base__: windows_core::IUnknown_Vtbl,
3272 pub KeyEventKind: unsafe extern "system" fn(
3273 *mut core::ffi::c_void,
3274 *mut COREWEBVIEW2_KEY_EVENT_KIND,
3275 ) -> windows_core::HRESULT,
3276 pub VirtualKey:
3277 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
3278 pub KeyEventLParam:
3279 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
3280 pub PhysicalKeyStatus: unsafe extern "system" fn(
3281 *mut core::ffi::c_void,
3282 *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
3283 ) -> windows_core::HRESULT,
3284 pub Handled: unsafe extern "system" fn(
3285 *mut core::ffi::c_void,
3286 *mut windows_core::BOOL,
3287 ) -> windows_core::HRESULT,
3288 pub SetHandled: unsafe extern "system" fn(
3289 *mut core::ffi::c_void,
3290 windows_core::BOOL,
3291 ) -> windows_core::HRESULT,
3292}
3293pub trait ICoreWebView2AcceleratorKeyPressedEventArgs_Impl: windows_core::IUnknownImpl {
3294 fn KeyEventKind(
3295 &self,
3296 keyeventkind: *mut COREWEBVIEW2_KEY_EVENT_KIND,
3297 ) -> windows_core::Result<()>;
3298 fn VirtualKey(&self, virtualkey: *mut u32) -> windows_core::Result<()>;
3299 fn KeyEventLParam(&self, lparam: *mut i32) -> windows_core::Result<()>;
3300 fn PhysicalKeyStatus(
3301 &self,
3302 physicalkeystatus: *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
3303 ) -> windows_core::Result<()>;
3304 fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()>;
3305 fn SetHandled(&self, handled: windows_core::BOOL) -> windows_core::Result<()>;
3306}
3307impl ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl {
3308 pub const fn new<
3309 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3310 const OFFSET: isize,
3311 >() -> Self {
3312 unsafe extern "system" fn KeyEventKind<
3313 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3314 const OFFSET: isize,
3315 >(
3316 this: *mut core::ffi::c_void,
3317 keyeventkind: *mut COREWEBVIEW2_KEY_EVENT_KIND,
3318 ) -> windows_core::HRESULT {
3319 unsafe {
3320 let this: &Identity =
3321 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3322 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::KeyEventKind(
3323 this,
3324 core::mem::transmute_copy(&keyeventkind),
3325 )
3326 .into()
3327 }
3328 }
3329 unsafe extern "system" fn VirtualKey<
3330 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3331 const OFFSET: isize,
3332 >(
3333 this: *mut core::ffi::c_void,
3334 virtualkey: *mut u32,
3335 ) -> windows_core::HRESULT {
3336 unsafe {
3337 let this: &Identity =
3338 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3339 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::VirtualKey(
3340 this,
3341 core::mem::transmute_copy(&virtualkey),
3342 )
3343 .into()
3344 }
3345 }
3346 unsafe extern "system" fn KeyEventLParam<
3347 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3348 const OFFSET: isize,
3349 >(
3350 this: *mut core::ffi::c_void,
3351 lparam: *mut i32,
3352 ) -> windows_core::HRESULT {
3353 unsafe {
3354 let this: &Identity =
3355 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3356 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::KeyEventLParam(
3357 this,
3358 core::mem::transmute_copy(&lparam),
3359 )
3360 .into()
3361 }
3362 }
3363 unsafe extern "system" fn PhysicalKeyStatus<
3364 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3365 const OFFSET: isize,
3366 >(
3367 this: *mut core::ffi::c_void,
3368 physicalkeystatus: *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
3369 ) -> windows_core::HRESULT {
3370 unsafe {
3371 let this: &Identity =
3372 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3373 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::PhysicalKeyStatus(
3374 this,
3375 core::mem::transmute_copy(&physicalkeystatus),
3376 )
3377 .into()
3378 }
3379 }
3380 unsafe extern "system" fn Handled<
3381 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3382 const OFFSET: isize,
3383 >(
3384 this: *mut core::ffi::c_void,
3385 handled: *mut windows_core::BOOL,
3386 ) -> windows_core::HRESULT {
3387 unsafe {
3388 let this: &Identity =
3389 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3390 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::Handled(
3391 this,
3392 core::mem::transmute_copy(&handled),
3393 )
3394 .into()
3395 }
3396 }
3397 unsafe extern "system" fn SetHandled<
3398 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3399 const OFFSET: isize,
3400 >(
3401 this: *mut core::ffi::c_void,
3402 handled: windows_core::BOOL,
3403 ) -> windows_core::HRESULT {
3404 unsafe {
3405 let this: &Identity =
3406 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3407 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::SetHandled(
3408 this,
3409 core::mem::transmute_copy(&handled),
3410 )
3411 .into()
3412 }
3413 }
3414 Self {
3415 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3416 KeyEventKind: KeyEventKind::<Identity, OFFSET>,
3417 VirtualKey: VirtualKey::<Identity, OFFSET>,
3418 KeyEventLParam: KeyEventLParam::<Identity, OFFSET>,
3419 PhysicalKeyStatus: PhysicalKeyStatus::<Identity, OFFSET>,
3420 Handled: Handled::<Identity, OFFSET>,
3421 SetHandled: SetHandled::<Identity, OFFSET>,
3422 }
3423 }
3424 pub fn matches(iid: &windows_core::GUID) -> bool {
3425 iid == &<ICoreWebView2AcceleratorKeyPressedEventArgs as windows_core::Interface>::IID
3426 }
3427}
3428impl windows_core::RuntimeName for ICoreWebView2AcceleratorKeyPressedEventArgs {}
3429windows_core::imp::define_interface!(
3430 ICoreWebView2AcceleratorKeyPressedEventArgs2,
3431 ICoreWebView2AcceleratorKeyPressedEventArgs2_Vtbl,
3432 0x03b2c8c8_7799_4e34_bd66_ed26aa85f2bf
3433);
3434impl core::ops::Deref for ICoreWebView2AcceleratorKeyPressedEventArgs2 {
3435 type Target = ICoreWebView2AcceleratorKeyPressedEventArgs;
3436 fn deref(&self) -> &Self::Target {
3437 unsafe { core::mem::transmute(self) }
3438 }
3439}
3440windows_core::imp::interface_hierarchy!(
3441 ICoreWebView2AcceleratorKeyPressedEventArgs2,
3442 windows_core::IUnknown,
3443 ICoreWebView2AcceleratorKeyPressedEventArgs
3444);
3445impl ICoreWebView2AcceleratorKeyPressedEventArgs2 {
3446 pub unsafe fn IsBrowserAcceleratorKeyEnabled(
3447 &self,
3448 value: *mut windows_core::BOOL,
3449 ) -> windows_core::Result<()> {
3450 unsafe {
3451 (windows_core::Interface::vtable(self).IsBrowserAcceleratorKeyEnabled)(
3452 windows_core::Interface::as_raw(self),
3453 value as _,
3454 )
3455 .ok()
3456 }
3457 }
3458 pub unsafe fn SetIsBrowserAcceleratorKeyEnabled(
3459 &self,
3460 value: bool,
3461 ) -> windows_core::Result<()> {
3462 unsafe {
3463 (windows_core::Interface::vtable(self).SetIsBrowserAcceleratorKeyEnabled)(
3464 windows_core::Interface::as_raw(self),
3465 value.into(),
3466 )
3467 .ok()
3468 }
3469 }
3470}
3471#[repr(C)]
3472#[doc(hidden)]
3473pub struct ICoreWebView2AcceleratorKeyPressedEventArgs2_Vtbl {
3474 pub base__: ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl,
3475 pub IsBrowserAcceleratorKeyEnabled: unsafe extern "system" fn(
3476 *mut core::ffi::c_void,
3477 *mut windows_core::BOOL,
3478 ) -> windows_core::HRESULT,
3479 pub SetIsBrowserAcceleratorKeyEnabled: unsafe extern "system" fn(
3480 *mut core::ffi::c_void,
3481 windows_core::BOOL,
3482 ) -> windows_core::HRESULT,
3483}
3484pub trait ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl:
3485 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl
3486{
3487 fn IsBrowserAcceleratorKeyEnabled(
3488 &self,
3489 value: *mut windows_core::BOOL,
3490 ) -> windows_core::Result<()>;
3491 fn SetIsBrowserAcceleratorKeyEnabled(
3492 &self,
3493 value: windows_core::BOOL,
3494 ) -> windows_core::Result<()>;
3495}
3496impl ICoreWebView2AcceleratorKeyPressedEventArgs2_Vtbl {
3497 pub const fn new<
3498 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl,
3499 const OFFSET: isize,
3500 >() -> Self {
3501 unsafe extern "system" fn IsBrowserAcceleratorKeyEnabled<
3502 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl,
3503 const OFFSET: isize,
3504 >(
3505 this: *mut core::ffi::c_void,
3506 value: *mut windows_core::BOOL,
3507 ) -> windows_core::HRESULT {
3508 unsafe {
3509 let this: &Identity =
3510 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3511 ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl::IsBrowserAcceleratorKeyEnabled(
3512 this,
3513 core::mem::transmute_copy(&value),
3514 )
3515 .into()
3516 }
3517 }
3518 unsafe extern "system" fn SetIsBrowserAcceleratorKeyEnabled<
3519 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl,
3520 const OFFSET: isize,
3521 >(
3522 this: *mut core::ffi::c_void,
3523 value: windows_core::BOOL,
3524 ) -> windows_core::HRESULT {
3525 unsafe {
3526 let this: &Identity =
3527 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3528 ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl:: SetIsBrowserAcceleratorKeyEnabled ( this , core::mem::transmute_copy ( & value ) , ) . into ( )
3529 }
3530 }
3531 Self {
3532 base__: ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl::new::<Identity, OFFSET>(),
3533 IsBrowserAcceleratorKeyEnabled: IsBrowserAcceleratorKeyEnabled::<Identity, OFFSET>,
3534 SetIsBrowserAcceleratorKeyEnabled: SetIsBrowserAcceleratorKeyEnabled::<Identity, OFFSET>,
3535 }
3536 }
3537 pub fn matches(iid: &windows_core::GUID) -> bool {
3538 iid == &<ICoreWebView2AcceleratorKeyPressedEventArgs2 as windows_core::Interface>::IID
3539 || iid == &<ICoreWebView2AcceleratorKeyPressedEventArgs as windows_core::Interface>::IID
3540 }
3541}
3542impl windows_core::RuntimeName for ICoreWebView2AcceleratorKeyPressedEventArgs2 {}
3543windows_core::imp::define_interface!(
3544 ICoreWebView2AcceleratorKeyPressedEventHandler,
3545 ICoreWebView2AcceleratorKeyPressedEventHandler_Vtbl,
3546 0xb29c7e28_fa79_41a8_8e44_65811c76dcb2
3547);
3548windows_core::imp::interface_hierarchy!(
3549 ICoreWebView2AcceleratorKeyPressedEventHandler,
3550 windows_core::IUnknown
3551);
3552impl ICoreWebView2AcceleratorKeyPressedEventHandler {
3553 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
3554 where
3555 P0: windows_core::Param<ICoreWebView2Controller>,
3556 P1: windows_core::Param<ICoreWebView2AcceleratorKeyPressedEventArgs>,
3557 {
3558 unsafe {
3559 (windows_core::Interface::vtable(self).Invoke)(
3560 windows_core::Interface::as_raw(self),
3561 sender.param().abi(),
3562 args.param().abi(),
3563 )
3564 .ok()
3565 }
3566 }
3567}
3568#[repr(C)]
3569#[doc(hidden)]
3570pub struct ICoreWebView2AcceleratorKeyPressedEventHandler_Vtbl {
3571 pub base__: windows_core::IUnknown_Vtbl,
3572 pub Invoke: unsafe extern "system" fn(
3573 *mut core::ffi::c_void,
3574 *mut core::ffi::c_void,
3575 *mut core::ffi::c_void,
3576 ) -> windows_core::HRESULT,
3577}
3578pub trait ICoreWebView2AcceleratorKeyPressedEventHandler_Impl: windows_core::IUnknownImpl {
3579 fn Invoke(
3580 &self,
3581 sender: windows_core::Ref<'_, ICoreWebView2Controller>,
3582 args: windows_core::Ref<'_, ICoreWebView2AcceleratorKeyPressedEventArgs>,
3583 ) -> windows_core::Result<()>;
3584}
3585impl ICoreWebView2AcceleratorKeyPressedEventHandler_Vtbl {
3586 pub const fn new<
3587 Identity: ICoreWebView2AcceleratorKeyPressedEventHandler_Impl,
3588 const OFFSET: isize,
3589 >() -> Self {
3590 unsafe extern "system" fn Invoke<
3591 Identity: ICoreWebView2AcceleratorKeyPressedEventHandler_Impl,
3592 const OFFSET: isize,
3593 >(
3594 this: *mut core::ffi::c_void,
3595 sender: *mut core::ffi::c_void,
3596 args: *mut core::ffi::c_void,
3597 ) -> windows_core::HRESULT {
3598 unsafe {
3599 let this: &Identity =
3600 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3601 ICoreWebView2AcceleratorKeyPressedEventHandler_Impl::Invoke(
3602 this,
3603 core::mem::transmute_copy(&sender),
3604 core::mem::transmute_copy(&args),
3605 )
3606 .into()
3607 }
3608 }
3609 Self {
3610 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3611 Invoke: Invoke::<Identity, OFFSET>,
3612 }
3613 }
3614 pub fn matches(iid: &windows_core::GUID) -> bool {
3615 iid == &<ICoreWebView2AcceleratorKeyPressedEventHandler as windows_core::Interface>::IID
3616 }
3617}
3618impl windows_core::RuntimeName for ICoreWebView2AcceleratorKeyPressedEventHandler {}
3619windows_core::imp::define_interface!(
3620 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler,
3621 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Vtbl,
3622 0xb99369f3_9b11_47b5_bc6f_8e7895fcea17
3623);
3624windows_core::imp::interface_hierarchy!(
3625 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler,
3626 windows_core::IUnknown
3627);
3628impl ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler {
3629 pub unsafe fn Invoke<P1>(
3630 &self,
3631 errorcode: windows_core::HRESULT,
3632 result: P1,
3633 ) -> windows_core::Result<()>
3634 where
3635 P1: windows_core::Param<windows_core::PCWSTR>,
3636 {
3637 unsafe {
3638 (windows_core::Interface::vtable(self).Invoke)(
3639 windows_core::Interface::as_raw(self),
3640 errorcode,
3641 result.param().abi(),
3642 )
3643 .ok()
3644 }
3645 }
3646}
3647#[repr(C)]
3648#[doc(hidden)]
3649pub struct ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Vtbl {
3650 pub base__: windows_core::IUnknown_Vtbl,
3651 pub Invoke: unsafe extern "system" fn(
3652 *mut core::ffi::c_void,
3653 windows_core::HRESULT,
3654 windows_core::PCWSTR,
3655 ) -> windows_core::HRESULT,
3656}
3657pub trait ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl:
3658 windows_core::IUnknownImpl
3659{
3660 fn Invoke(
3661 &self,
3662 errorcode: windows_core::HRESULT,
3663 result: &windows_core::PCWSTR,
3664 ) -> windows_core::Result<()>;
3665}
3666impl ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Vtbl {
3667 pub const fn new<
3668 Identity: ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl,
3669 const OFFSET: isize,
3670 >() -> Self {
3671 unsafe extern "system" fn Invoke<
3672 Identity: ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl,
3673 const OFFSET: isize,
3674 >(
3675 this: *mut core::ffi::c_void,
3676 errorcode: windows_core::HRESULT,
3677 result: windows_core::PCWSTR,
3678 ) -> windows_core::HRESULT {
3679 unsafe {
3680 let this: &Identity =
3681 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3682 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl::Invoke(
3683 this,
3684 core::mem::transmute_copy(&errorcode),
3685 core::mem::transmute(&result),
3686 )
3687 .into()
3688 }
3689 }
3690 Self {
3691 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3692 Invoke: Invoke::<Identity, OFFSET>,
3693 }
3694 }
3695 pub fn matches(iid: &windows_core::GUID) -> bool {
3696 iid == & < ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler as windows_core::Interface >::IID
3697 }
3698}
3699impl windows_core::RuntimeName
3700 for ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler
3701{
3702}
3703windows_core::imp::define_interface!(
3704 ICoreWebView2BasicAuthenticationRequestedEventArgs,
3705 ICoreWebView2BasicAuthenticationRequestedEventArgs_Vtbl,
3706 0xef05516f_d897_4f9e_b672_d8e2307a3fb0
3707);
3708windows_core::imp::interface_hierarchy!(
3709 ICoreWebView2BasicAuthenticationRequestedEventArgs,
3710 windows_core::IUnknown
3711);
3712impl ICoreWebView2BasicAuthenticationRequestedEventArgs {
3713 pub unsafe fn Uri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
3714 unsafe {
3715 (windows_core::Interface::vtable(self).Uri)(
3716 windows_core::Interface::as_raw(self),
3717 value as _,
3718 )
3719 .ok()
3720 }
3721 }
3722 pub unsafe fn Challenge(
3723 &self,
3724 challenge: *mut windows_core::PWSTR,
3725 ) -> windows_core::Result<()> {
3726 unsafe {
3727 (windows_core::Interface::vtable(self).Challenge)(
3728 windows_core::Interface::as_raw(self),
3729 challenge as _,
3730 )
3731 .ok()
3732 }
3733 }
3734 pub unsafe fn Response(
3735 &self,
3736 ) -> windows_core::Result<ICoreWebView2BasicAuthenticationResponse> {
3737 unsafe {
3738 let mut result__ = core::mem::zeroed();
3739 (windows_core::Interface::vtable(self).Response)(
3740 windows_core::Interface::as_raw(self),
3741 &mut result__,
3742 )
3743 .and_then(|| windows_core::Type::from_abi(result__))
3744 }
3745 }
3746 pub unsafe fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()> {
3747 unsafe {
3748 (windows_core::Interface::vtable(self).Cancel)(
3749 windows_core::Interface::as_raw(self),
3750 cancel as _,
3751 )
3752 .ok()
3753 }
3754 }
3755 pub unsafe fn SetCancel(&self, cancel: bool) -> windows_core::Result<()> {
3756 unsafe {
3757 (windows_core::Interface::vtable(self).SetCancel)(
3758 windows_core::Interface::as_raw(self),
3759 cancel.into(),
3760 )
3761 .ok()
3762 }
3763 }
3764 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
3765 unsafe {
3766 let mut result__ = core::mem::zeroed();
3767 (windows_core::Interface::vtable(self).GetDeferral)(
3768 windows_core::Interface::as_raw(self),
3769 &mut result__,
3770 )
3771 .and_then(|| windows_core::Type::from_abi(result__))
3772 }
3773 }
3774}
3775#[repr(C)]
3776#[doc(hidden)]
3777pub struct ICoreWebView2BasicAuthenticationRequestedEventArgs_Vtbl {
3778 pub base__: windows_core::IUnknown_Vtbl,
3779 pub Uri: unsafe extern "system" fn(
3780 *mut core::ffi::c_void,
3781 *mut windows_core::PWSTR,
3782 ) -> windows_core::HRESULT,
3783 pub Challenge: unsafe extern "system" fn(
3784 *mut core::ffi::c_void,
3785 *mut windows_core::PWSTR,
3786 ) -> windows_core::HRESULT,
3787 pub Response: unsafe extern "system" fn(
3788 *mut core::ffi::c_void,
3789 *mut *mut core::ffi::c_void,
3790 ) -> windows_core::HRESULT,
3791 pub Cancel: unsafe extern "system" fn(
3792 *mut core::ffi::c_void,
3793 *mut windows_core::BOOL,
3794 ) -> windows_core::HRESULT,
3795 pub SetCancel: unsafe extern "system" fn(
3796 *mut core::ffi::c_void,
3797 windows_core::BOOL,
3798 ) -> windows_core::HRESULT,
3799 pub GetDeferral: unsafe extern "system" fn(
3800 *mut core::ffi::c_void,
3801 *mut *mut core::ffi::c_void,
3802 ) -> windows_core::HRESULT,
3803}
3804pub trait ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl:
3805 windows_core::IUnknownImpl
3806{
3807 fn Uri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
3808 fn Challenge(&self, challenge: *mut windows_core::PWSTR) -> windows_core::Result<()>;
3809 fn Response(&self) -> windows_core::Result<ICoreWebView2BasicAuthenticationResponse>;
3810 fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()>;
3811 fn SetCancel(&self, cancel: windows_core::BOOL) -> windows_core::Result<()>;
3812 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
3813}
3814impl ICoreWebView2BasicAuthenticationRequestedEventArgs_Vtbl {
3815 pub const fn new<
3816 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3817 const OFFSET: isize,
3818 >() -> Self {
3819 unsafe extern "system" fn Uri<
3820 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3821 const OFFSET: isize,
3822 >(
3823 this: *mut core::ffi::c_void,
3824 value: *mut windows_core::PWSTR,
3825 ) -> windows_core::HRESULT {
3826 unsafe {
3827 let this: &Identity =
3828 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3829 ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::Uri(
3830 this,
3831 core::mem::transmute_copy(&value),
3832 )
3833 .into()
3834 }
3835 }
3836 unsafe extern "system" fn Challenge<
3837 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3838 const OFFSET: isize,
3839 >(
3840 this: *mut core::ffi::c_void,
3841 challenge: *mut windows_core::PWSTR,
3842 ) -> windows_core::HRESULT {
3843 unsafe {
3844 let this: &Identity =
3845 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3846 ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::Challenge(
3847 this,
3848 core::mem::transmute_copy(&challenge),
3849 )
3850 .into()
3851 }
3852 }
3853 unsafe extern "system" fn Response<
3854 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3855 const OFFSET: isize,
3856 >(
3857 this: *mut core::ffi::c_void,
3858 response: *mut *mut core::ffi::c_void,
3859 ) -> windows_core::HRESULT {
3860 unsafe {
3861 let this: &Identity =
3862 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3863 match ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::Response(this) {
3864 Ok(ok__) => {
3865 response.write(core::mem::transmute(ok__));
3866 windows_core::HRESULT(0)
3867 }
3868 Err(err) => err.into(),
3869 }
3870 }
3871 }
3872 unsafe extern "system" fn Cancel<
3873 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3874 const OFFSET: isize,
3875 >(
3876 this: *mut core::ffi::c_void,
3877 cancel: *mut windows_core::BOOL,
3878 ) -> windows_core::HRESULT {
3879 unsafe {
3880 let this: &Identity =
3881 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3882 ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::Cancel(
3883 this,
3884 core::mem::transmute_copy(&cancel),
3885 )
3886 .into()
3887 }
3888 }
3889 unsafe extern "system" fn SetCancel<
3890 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3891 const OFFSET: isize,
3892 >(
3893 this: *mut core::ffi::c_void,
3894 cancel: windows_core::BOOL,
3895 ) -> windows_core::HRESULT {
3896 unsafe {
3897 let this: &Identity =
3898 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3899 ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::SetCancel(
3900 this,
3901 core::mem::transmute_copy(&cancel),
3902 )
3903 .into()
3904 }
3905 }
3906 unsafe extern "system" fn GetDeferral<
3907 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3908 const OFFSET: isize,
3909 >(
3910 this: *mut core::ffi::c_void,
3911 deferral: *mut *mut core::ffi::c_void,
3912 ) -> windows_core::HRESULT {
3913 unsafe {
3914 let this: &Identity =
3915 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3916 match ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::GetDeferral(this) {
3917 Ok(ok__) => {
3918 deferral.write(core::mem::transmute(ok__));
3919 windows_core::HRESULT(0)
3920 }
3921 Err(err) => err.into(),
3922 }
3923 }
3924 }
3925 Self {
3926 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3927 Uri: Uri::<Identity, OFFSET>,
3928 Challenge: Challenge::<Identity, OFFSET>,
3929 Response: Response::<Identity, OFFSET>,
3930 Cancel: Cancel::<Identity, OFFSET>,
3931 SetCancel: SetCancel::<Identity, OFFSET>,
3932 GetDeferral: GetDeferral::<Identity, OFFSET>,
3933 }
3934 }
3935 pub fn matches(iid: &windows_core::GUID) -> bool {
3936 iid == &<ICoreWebView2BasicAuthenticationRequestedEventArgs as windows_core::Interface>::IID
3937 }
3938}
3939impl windows_core::RuntimeName for ICoreWebView2BasicAuthenticationRequestedEventArgs {}
3940windows_core::imp::define_interface!(
3941 ICoreWebView2BasicAuthenticationRequestedEventHandler,
3942 ICoreWebView2BasicAuthenticationRequestedEventHandler_Vtbl,
3943 0x58b4d6c2_18d4_497e_b39b_9a96533fa278
3944);
3945windows_core::imp::interface_hierarchy!(
3946 ICoreWebView2BasicAuthenticationRequestedEventHandler,
3947 windows_core::IUnknown
3948);
3949impl ICoreWebView2BasicAuthenticationRequestedEventHandler {
3950 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
3951 where
3952 P0: windows_core::Param<ICoreWebView2>,
3953 P1: windows_core::Param<ICoreWebView2BasicAuthenticationRequestedEventArgs>,
3954 {
3955 unsafe {
3956 (windows_core::Interface::vtable(self).Invoke)(
3957 windows_core::Interface::as_raw(self),
3958 sender.param().abi(),
3959 args.param().abi(),
3960 )
3961 .ok()
3962 }
3963 }
3964}
3965#[repr(C)]
3966#[doc(hidden)]
3967pub struct ICoreWebView2BasicAuthenticationRequestedEventHandler_Vtbl {
3968 pub base__: windows_core::IUnknown_Vtbl,
3969 pub Invoke: unsafe extern "system" fn(
3970 *mut core::ffi::c_void,
3971 *mut core::ffi::c_void,
3972 *mut core::ffi::c_void,
3973 ) -> windows_core::HRESULT,
3974}
3975pub trait ICoreWebView2BasicAuthenticationRequestedEventHandler_Impl:
3976 windows_core::IUnknownImpl
3977{
3978 fn Invoke(
3979 &self,
3980 sender: windows_core::Ref<'_, ICoreWebView2>,
3981 args: windows_core::Ref<'_, ICoreWebView2BasicAuthenticationRequestedEventArgs>,
3982 ) -> windows_core::Result<()>;
3983}
3984impl ICoreWebView2BasicAuthenticationRequestedEventHandler_Vtbl {
3985 pub const fn new<
3986 Identity: ICoreWebView2BasicAuthenticationRequestedEventHandler_Impl,
3987 const OFFSET: isize,
3988 >() -> Self {
3989 unsafe extern "system" fn Invoke<
3990 Identity: ICoreWebView2BasicAuthenticationRequestedEventHandler_Impl,
3991 const OFFSET: isize,
3992 >(
3993 this: *mut core::ffi::c_void,
3994 sender: *mut core::ffi::c_void,
3995 args: *mut core::ffi::c_void,
3996 ) -> windows_core::HRESULT {
3997 unsafe {
3998 let this: &Identity =
3999 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4000 ICoreWebView2BasicAuthenticationRequestedEventHandler_Impl::Invoke(
4001 this,
4002 core::mem::transmute_copy(&sender),
4003 core::mem::transmute_copy(&args),
4004 )
4005 .into()
4006 }
4007 }
4008 Self {
4009 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4010 Invoke: Invoke::<Identity, OFFSET>,
4011 }
4012 }
4013 pub fn matches(iid: &windows_core::GUID) -> bool {
4014 iid == & < ICoreWebView2BasicAuthenticationRequestedEventHandler as windows_core::Interface >::IID
4015 }
4016}
4017impl windows_core::RuntimeName for ICoreWebView2BasicAuthenticationRequestedEventHandler {}
4018windows_core::imp::define_interface!(
4019 ICoreWebView2BasicAuthenticationResponse,
4020 ICoreWebView2BasicAuthenticationResponse_Vtbl,
4021 0x07023f7d_2d77_4d67_9040_6e7d428c6a40
4022);
4023windows_core::imp::interface_hierarchy!(
4024 ICoreWebView2BasicAuthenticationResponse,
4025 windows_core::IUnknown
4026);
4027impl ICoreWebView2BasicAuthenticationResponse {
4028 pub unsafe fn UserName(&self, username: *mut windows_core::PWSTR) -> windows_core::Result<()> {
4029 unsafe {
4030 (windows_core::Interface::vtable(self).UserName)(
4031 windows_core::Interface::as_raw(self),
4032 username as _,
4033 )
4034 .ok()
4035 }
4036 }
4037 pub unsafe fn SetUserName<P0>(&self, username: P0) -> windows_core::Result<()>
4038 where
4039 P0: windows_core::Param<windows_core::PCWSTR>,
4040 {
4041 unsafe {
4042 (windows_core::Interface::vtable(self).SetUserName)(
4043 windows_core::Interface::as_raw(self),
4044 username.param().abi(),
4045 )
4046 .ok()
4047 }
4048 }
4049 pub unsafe fn Password(&self, password: *mut windows_core::PWSTR) -> windows_core::Result<()> {
4050 unsafe {
4051 (windows_core::Interface::vtable(self).Password)(
4052 windows_core::Interface::as_raw(self),
4053 password as _,
4054 )
4055 .ok()
4056 }
4057 }
4058 pub unsafe fn SetPassword<P0>(&self, password: P0) -> windows_core::Result<()>
4059 where
4060 P0: windows_core::Param<windows_core::PCWSTR>,
4061 {
4062 unsafe {
4063 (windows_core::Interface::vtable(self).SetPassword)(
4064 windows_core::Interface::as_raw(self),
4065 password.param().abi(),
4066 )
4067 .ok()
4068 }
4069 }
4070}
4071#[repr(C)]
4072#[doc(hidden)]
4073pub struct ICoreWebView2BasicAuthenticationResponse_Vtbl {
4074 pub base__: windows_core::IUnknown_Vtbl,
4075 pub UserName: unsafe extern "system" fn(
4076 *mut core::ffi::c_void,
4077 *mut windows_core::PWSTR,
4078 ) -> windows_core::HRESULT,
4079 pub SetUserName: unsafe extern "system" fn(
4080 *mut core::ffi::c_void,
4081 windows_core::PCWSTR,
4082 ) -> windows_core::HRESULT,
4083 pub Password: unsafe extern "system" fn(
4084 *mut core::ffi::c_void,
4085 *mut windows_core::PWSTR,
4086 ) -> windows_core::HRESULT,
4087 pub SetPassword: unsafe extern "system" fn(
4088 *mut core::ffi::c_void,
4089 windows_core::PCWSTR,
4090 ) -> windows_core::HRESULT,
4091}
4092pub trait ICoreWebView2BasicAuthenticationResponse_Impl: windows_core::IUnknownImpl {
4093 fn UserName(&self, username: *mut windows_core::PWSTR) -> windows_core::Result<()>;
4094 fn SetUserName(&self, username: &windows_core::PCWSTR) -> windows_core::Result<()>;
4095 fn Password(&self, password: *mut windows_core::PWSTR) -> windows_core::Result<()>;
4096 fn SetPassword(&self, password: &windows_core::PCWSTR) -> windows_core::Result<()>;
4097}
4098impl ICoreWebView2BasicAuthenticationResponse_Vtbl {
4099 pub const fn new<
4100 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4101 const OFFSET: isize,
4102 >() -> Self {
4103 unsafe extern "system" fn UserName<
4104 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4105 const OFFSET: isize,
4106 >(
4107 this: *mut core::ffi::c_void,
4108 username: *mut windows_core::PWSTR,
4109 ) -> windows_core::HRESULT {
4110 unsafe {
4111 let this: &Identity =
4112 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4113 ICoreWebView2BasicAuthenticationResponse_Impl::UserName(
4114 this,
4115 core::mem::transmute_copy(&username),
4116 )
4117 .into()
4118 }
4119 }
4120 unsafe extern "system" fn SetUserName<
4121 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4122 const OFFSET: isize,
4123 >(
4124 this: *mut core::ffi::c_void,
4125 username: windows_core::PCWSTR,
4126 ) -> windows_core::HRESULT {
4127 unsafe {
4128 let this: &Identity =
4129 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4130 ICoreWebView2BasicAuthenticationResponse_Impl::SetUserName(
4131 this,
4132 core::mem::transmute(&username),
4133 )
4134 .into()
4135 }
4136 }
4137 unsafe extern "system" fn Password<
4138 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4139 const OFFSET: isize,
4140 >(
4141 this: *mut core::ffi::c_void,
4142 password: *mut windows_core::PWSTR,
4143 ) -> windows_core::HRESULT {
4144 unsafe {
4145 let this: &Identity =
4146 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4147 ICoreWebView2BasicAuthenticationResponse_Impl::Password(
4148 this,
4149 core::mem::transmute_copy(&password),
4150 )
4151 .into()
4152 }
4153 }
4154 unsafe extern "system" fn SetPassword<
4155 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4156 const OFFSET: isize,
4157 >(
4158 this: *mut core::ffi::c_void,
4159 password: windows_core::PCWSTR,
4160 ) -> windows_core::HRESULT {
4161 unsafe {
4162 let this: &Identity =
4163 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4164 ICoreWebView2BasicAuthenticationResponse_Impl::SetPassword(
4165 this,
4166 core::mem::transmute(&password),
4167 )
4168 .into()
4169 }
4170 }
4171 Self {
4172 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4173 UserName: UserName::<Identity, OFFSET>,
4174 SetUserName: SetUserName::<Identity, OFFSET>,
4175 Password: Password::<Identity, OFFSET>,
4176 SetPassword: SetPassword::<Identity, OFFSET>,
4177 }
4178 }
4179 pub fn matches(iid: &windows_core::GUID) -> bool {
4180 iid == &<ICoreWebView2BasicAuthenticationResponse as windows_core::Interface>::IID
4181 }
4182}
4183impl windows_core::RuntimeName for ICoreWebView2BasicAuthenticationResponse {}
4184windows_core::imp::define_interface!(
4185 ICoreWebView2BrowserExtension,
4186 ICoreWebView2BrowserExtension_Vtbl,
4187 0x7ef7ffa0_fac5_462c_b189_3d9edbe575da
4188);
4189windows_core::imp::interface_hierarchy!(ICoreWebView2BrowserExtension, windows_core::IUnknown);
4190impl ICoreWebView2BrowserExtension {
4191 pub unsafe fn Id(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
4192 unsafe {
4193 (windows_core::Interface::vtable(self).Id)(
4194 windows_core::Interface::as_raw(self),
4195 value as _,
4196 )
4197 .ok()
4198 }
4199 }
4200 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
4201 unsafe {
4202 (windows_core::Interface::vtable(self).Name)(
4203 windows_core::Interface::as_raw(self),
4204 value as _,
4205 )
4206 .ok()
4207 }
4208 }
4209 pub unsafe fn Remove<P0>(&self, handler: P0) -> windows_core::Result<()>
4210 where
4211 P0: windows_core::Param<ICoreWebView2BrowserExtensionRemoveCompletedHandler>,
4212 {
4213 unsafe {
4214 (windows_core::Interface::vtable(self).Remove)(
4215 windows_core::Interface::as_raw(self),
4216 handler.param().abi(),
4217 )
4218 .ok()
4219 }
4220 }
4221 pub unsafe fn IsEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
4222 unsafe {
4223 (windows_core::Interface::vtable(self).IsEnabled)(
4224 windows_core::Interface::as_raw(self),
4225 value as _,
4226 )
4227 .ok()
4228 }
4229 }
4230 pub unsafe fn Enable<P1>(&self, isenabled: bool, handler: P1) -> windows_core::Result<()>
4231 where
4232 P1: windows_core::Param<ICoreWebView2BrowserExtensionEnableCompletedHandler>,
4233 {
4234 unsafe {
4235 (windows_core::Interface::vtable(self).Enable)(
4236 windows_core::Interface::as_raw(self),
4237 isenabled.into(),
4238 handler.param().abi(),
4239 )
4240 .ok()
4241 }
4242 }
4243}
4244#[repr(C)]
4245#[doc(hidden)]
4246pub struct ICoreWebView2BrowserExtension_Vtbl {
4247 pub base__: windows_core::IUnknown_Vtbl,
4248 pub Id: unsafe extern "system" fn(
4249 *mut core::ffi::c_void,
4250 *mut windows_core::PWSTR,
4251 ) -> windows_core::HRESULT,
4252 pub Name: unsafe extern "system" fn(
4253 *mut core::ffi::c_void,
4254 *mut windows_core::PWSTR,
4255 ) -> windows_core::HRESULT,
4256 pub Remove: unsafe extern "system" fn(
4257 *mut core::ffi::c_void,
4258 *mut core::ffi::c_void,
4259 ) -> windows_core::HRESULT,
4260 pub IsEnabled: unsafe extern "system" fn(
4261 *mut core::ffi::c_void,
4262 *mut windows_core::BOOL,
4263 ) -> windows_core::HRESULT,
4264 pub Enable: unsafe extern "system" fn(
4265 *mut core::ffi::c_void,
4266 windows_core::BOOL,
4267 *mut core::ffi::c_void,
4268 ) -> windows_core::HRESULT,
4269}
4270pub trait ICoreWebView2BrowserExtension_Impl: windows_core::IUnknownImpl {
4271 fn Id(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
4272 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
4273 fn Remove(
4274 &self,
4275 handler: windows_core::Ref<'_, ICoreWebView2BrowserExtensionRemoveCompletedHandler>,
4276 ) -> windows_core::Result<()>;
4277 fn IsEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
4278 fn Enable(
4279 &self,
4280 isenabled: windows_core::BOOL,
4281 handler: windows_core::Ref<'_, ICoreWebView2BrowserExtensionEnableCompletedHandler>,
4282 ) -> windows_core::Result<()>;
4283}
4284impl ICoreWebView2BrowserExtension_Vtbl {
4285 pub const fn new<Identity: ICoreWebView2BrowserExtension_Impl, const OFFSET: isize>() -> Self {
4286 unsafe extern "system" fn Id<
4287 Identity: ICoreWebView2BrowserExtension_Impl,
4288 const OFFSET: isize,
4289 >(
4290 this: *mut core::ffi::c_void,
4291 value: *mut windows_core::PWSTR,
4292 ) -> windows_core::HRESULT {
4293 unsafe {
4294 let this: &Identity =
4295 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4296 ICoreWebView2BrowserExtension_Impl::Id(this, core::mem::transmute_copy(&value))
4297 .into()
4298 }
4299 }
4300 unsafe extern "system" fn Name<
4301 Identity: ICoreWebView2BrowserExtension_Impl,
4302 const OFFSET: isize,
4303 >(
4304 this: *mut core::ffi::c_void,
4305 value: *mut windows_core::PWSTR,
4306 ) -> windows_core::HRESULT {
4307 unsafe {
4308 let this: &Identity =
4309 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4310 ICoreWebView2BrowserExtension_Impl::Name(this, core::mem::transmute_copy(&value))
4311 .into()
4312 }
4313 }
4314 unsafe extern "system" fn Remove<
4315 Identity: ICoreWebView2BrowserExtension_Impl,
4316 const OFFSET: isize,
4317 >(
4318 this: *mut core::ffi::c_void,
4319 handler: *mut core::ffi::c_void,
4320 ) -> windows_core::HRESULT {
4321 unsafe {
4322 let this: &Identity =
4323 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4324 ICoreWebView2BrowserExtension_Impl::Remove(
4325 this,
4326 core::mem::transmute_copy(&handler),
4327 )
4328 .into()
4329 }
4330 }
4331 unsafe extern "system" fn IsEnabled<
4332 Identity: ICoreWebView2BrowserExtension_Impl,
4333 const OFFSET: isize,
4334 >(
4335 this: *mut core::ffi::c_void,
4336 value: *mut windows_core::BOOL,
4337 ) -> windows_core::HRESULT {
4338 unsafe {
4339 let this: &Identity =
4340 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4341 ICoreWebView2BrowserExtension_Impl::IsEnabled(
4342 this,
4343 core::mem::transmute_copy(&value),
4344 )
4345 .into()
4346 }
4347 }
4348 unsafe extern "system" fn Enable<
4349 Identity: ICoreWebView2BrowserExtension_Impl,
4350 const OFFSET: isize,
4351 >(
4352 this: *mut core::ffi::c_void,
4353 isenabled: windows_core::BOOL,
4354 handler: *mut core::ffi::c_void,
4355 ) -> windows_core::HRESULT {
4356 unsafe {
4357 let this: &Identity =
4358 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4359 ICoreWebView2BrowserExtension_Impl::Enable(
4360 this,
4361 core::mem::transmute_copy(&isenabled),
4362 core::mem::transmute_copy(&handler),
4363 )
4364 .into()
4365 }
4366 }
4367 Self {
4368 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4369 Id: Id::<Identity, OFFSET>,
4370 Name: Name::<Identity, OFFSET>,
4371 Remove: Remove::<Identity, OFFSET>,
4372 IsEnabled: IsEnabled::<Identity, OFFSET>,
4373 Enable: Enable::<Identity, OFFSET>,
4374 }
4375 }
4376 pub fn matches(iid: &windows_core::GUID) -> bool {
4377 iid == &<ICoreWebView2BrowserExtension as windows_core::Interface>::IID
4378 }
4379}
4380impl windows_core::RuntimeName for ICoreWebView2BrowserExtension {}
4381windows_core::imp::define_interface!(
4382 ICoreWebView2BrowserExtensionEnableCompletedHandler,
4383 ICoreWebView2BrowserExtensionEnableCompletedHandler_Vtbl,
4384 0x30c186ce_7fad_421f_a3bc_a8eaf071ddb8
4385);
4386windows_core::imp::interface_hierarchy!(
4387 ICoreWebView2BrowserExtensionEnableCompletedHandler,
4388 windows_core::IUnknown
4389);
4390impl ICoreWebView2BrowserExtensionEnableCompletedHandler {
4391 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
4392 unsafe {
4393 (windows_core::Interface::vtable(self).Invoke)(
4394 windows_core::Interface::as_raw(self),
4395 errorcode,
4396 )
4397 .ok()
4398 }
4399 }
4400}
4401#[repr(C)]
4402#[doc(hidden)]
4403pub struct ICoreWebView2BrowserExtensionEnableCompletedHandler_Vtbl {
4404 pub base__: windows_core::IUnknown_Vtbl,
4405 pub Invoke: unsafe extern "system" fn(
4406 *mut core::ffi::c_void,
4407 windows_core::HRESULT,
4408 ) -> windows_core::HRESULT,
4409}
4410pub trait ICoreWebView2BrowserExtensionEnableCompletedHandler_Impl:
4411 windows_core::IUnknownImpl
4412{
4413 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
4414}
4415impl ICoreWebView2BrowserExtensionEnableCompletedHandler_Vtbl {
4416 pub const fn new<
4417 Identity: ICoreWebView2BrowserExtensionEnableCompletedHandler_Impl,
4418 const OFFSET: isize,
4419 >() -> Self {
4420 unsafe extern "system" fn Invoke<
4421 Identity: ICoreWebView2BrowserExtensionEnableCompletedHandler_Impl,
4422 const OFFSET: isize,
4423 >(
4424 this: *mut core::ffi::c_void,
4425 errorcode: windows_core::HRESULT,
4426 ) -> windows_core::HRESULT {
4427 unsafe {
4428 let this: &Identity =
4429 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4430 ICoreWebView2BrowserExtensionEnableCompletedHandler_Impl::Invoke(
4431 this,
4432 core::mem::transmute_copy(&errorcode),
4433 )
4434 .into()
4435 }
4436 }
4437 Self {
4438 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4439 Invoke: Invoke::<Identity, OFFSET>,
4440 }
4441 }
4442 pub fn matches(iid: &windows_core::GUID) -> bool {
4443 iid == & < ICoreWebView2BrowserExtensionEnableCompletedHandler as windows_core::Interface >::IID
4444 }
4445}
4446impl windows_core::RuntimeName for ICoreWebView2BrowserExtensionEnableCompletedHandler {}
4447windows_core::imp::define_interface!(
4448 ICoreWebView2BrowserExtensionList,
4449 ICoreWebView2BrowserExtensionList_Vtbl,
4450 0x2ef3d2dc_bd5f_4f4d_90af_fd67798f0c2f
4451);
4452windows_core::imp::interface_hierarchy!(ICoreWebView2BrowserExtensionList, windows_core::IUnknown);
4453impl ICoreWebView2BrowserExtensionList {
4454 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
4455 unsafe {
4456 (windows_core::Interface::vtable(self).Count)(
4457 windows_core::Interface::as_raw(self),
4458 value as _,
4459 )
4460 .ok()
4461 }
4462 }
4463 pub unsafe fn GetValueAtIndex(
4464 &self,
4465 index: u32,
4466 ) -> windows_core::Result<ICoreWebView2BrowserExtension> {
4467 unsafe {
4468 let mut result__ = core::mem::zeroed();
4469 (windows_core::Interface::vtable(self).GetValueAtIndex)(
4470 windows_core::Interface::as_raw(self),
4471 index,
4472 &mut result__,
4473 )
4474 .and_then(|| windows_core::Type::from_abi(result__))
4475 }
4476 }
4477}
4478#[repr(C)]
4479#[doc(hidden)]
4480pub struct ICoreWebView2BrowserExtensionList_Vtbl {
4481 pub base__: windows_core::IUnknown_Vtbl,
4482 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
4483 pub GetValueAtIndex: unsafe extern "system" fn(
4484 *mut core::ffi::c_void,
4485 u32,
4486 *mut *mut core::ffi::c_void,
4487 ) -> windows_core::HRESULT,
4488}
4489pub trait ICoreWebView2BrowserExtensionList_Impl: windows_core::IUnknownImpl {
4490 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
4491 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2BrowserExtension>;
4492}
4493impl ICoreWebView2BrowserExtensionList_Vtbl {
4494 pub const fn new<Identity: ICoreWebView2BrowserExtensionList_Impl, const OFFSET: isize>() -> Self
4495 {
4496 unsafe extern "system" fn Count<
4497 Identity: ICoreWebView2BrowserExtensionList_Impl,
4498 const OFFSET: isize,
4499 >(
4500 this: *mut core::ffi::c_void,
4501 value: *mut u32,
4502 ) -> windows_core::HRESULT {
4503 unsafe {
4504 let this: &Identity =
4505 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4506 ICoreWebView2BrowserExtensionList_Impl::Count(
4507 this,
4508 core::mem::transmute_copy(&value),
4509 )
4510 .into()
4511 }
4512 }
4513 unsafe extern "system" fn GetValueAtIndex<
4514 Identity: ICoreWebView2BrowserExtensionList_Impl,
4515 const OFFSET: isize,
4516 >(
4517 this: *mut core::ffi::c_void,
4518 index: u32,
4519 value: *mut *mut core::ffi::c_void,
4520 ) -> windows_core::HRESULT {
4521 unsafe {
4522 let this: &Identity =
4523 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4524 match ICoreWebView2BrowserExtensionList_Impl::GetValueAtIndex(
4525 this,
4526 core::mem::transmute_copy(&index),
4527 ) {
4528 Ok(ok__) => {
4529 value.write(core::mem::transmute(ok__));
4530 windows_core::HRESULT(0)
4531 }
4532 Err(err) => err.into(),
4533 }
4534 }
4535 }
4536 Self {
4537 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4538 Count: Count::<Identity, OFFSET>,
4539 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
4540 }
4541 }
4542 pub fn matches(iid: &windows_core::GUID) -> bool {
4543 iid == &<ICoreWebView2BrowserExtensionList as windows_core::Interface>::IID
4544 }
4545}
4546impl windows_core::RuntimeName for ICoreWebView2BrowserExtensionList {}
4547windows_core::imp::define_interface!(
4548 ICoreWebView2BrowserExtensionRemoveCompletedHandler,
4549 ICoreWebView2BrowserExtensionRemoveCompletedHandler_Vtbl,
4550 0x8e41909a_9b18_4bb1_8cdf_930f467a50be
4551);
4552windows_core::imp::interface_hierarchy!(
4553 ICoreWebView2BrowserExtensionRemoveCompletedHandler,
4554 windows_core::IUnknown
4555);
4556impl ICoreWebView2BrowserExtensionRemoveCompletedHandler {
4557 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
4558 unsafe {
4559 (windows_core::Interface::vtable(self).Invoke)(
4560 windows_core::Interface::as_raw(self),
4561 errorcode,
4562 )
4563 .ok()
4564 }
4565 }
4566}
4567#[repr(C)]
4568#[doc(hidden)]
4569pub struct ICoreWebView2BrowserExtensionRemoveCompletedHandler_Vtbl {
4570 pub base__: windows_core::IUnknown_Vtbl,
4571 pub Invoke: unsafe extern "system" fn(
4572 *mut core::ffi::c_void,
4573 windows_core::HRESULT,
4574 ) -> windows_core::HRESULT,
4575}
4576pub trait ICoreWebView2BrowserExtensionRemoveCompletedHandler_Impl:
4577 windows_core::IUnknownImpl
4578{
4579 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
4580}
4581impl ICoreWebView2BrowserExtensionRemoveCompletedHandler_Vtbl {
4582 pub const fn new<
4583 Identity: ICoreWebView2BrowserExtensionRemoveCompletedHandler_Impl,
4584 const OFFSET: isize,
4585 >() -> Self {
4586 unsafe extern "system" fn Invoke<
4587 Identity: ICoreWebView2BrowserExtensionRemoveCompletedHandler_Impl,
4588 const OFFSET: isize,
4589 >(
4590 this: *mut core::ffi::c_void,
4591 errorcode: windows_core::HRESULT,
4592 ) -> windows_core::HRESULT {
4593 unsafe {
4594 let this: &Identity =
4595 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4596 ICoreWebView2BrowserExtensionRemoveCompletedHandler_Impl::Invoke(
4597 this,
4598 core::mem::transmute_copy(&errorcode),
4599 )
4600 .into()
4601 }
4602 }
4603 Self {
4604 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4605 Invoke: Invoke::<Identity, OFFSET>,
4606 }
4607 }
4608 pub fn matches(iid: &windows_core::GUID) -> bool {
4609 iid == & < ICoreWebView2BrowserExtensionRemoveCompletedHandler as windows_core::Interface >::IID
4610 }
4611}
4612impl windows_core::RuntimeName for ICoreWebView2BrowserExtensionRemoveCompletedHandler {}
4613windows_core::imp::define_interface!(
4614 ICoreWebView2BrowserProcessExitedEventArgs,
4615 ICoreWebView2BrowserProcessExitedEventArgs_Vtbl,
4616 0x1f00663f_af8c_4782_9cdd_dd01c52e34cb
4617);
4618windows_core::imp::interface_hierarchy!(
4619 ICoreWebView2BrowserProcessExitedEventArgs,
4620 windows_core::IUnknown
4621);
4622impl ICoreWebView2BrowserProcessExitedEventArgs {
4623 pub unsafe fn BrowserProcessExitKind(
4624 &self,
4625 value: *mut COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND,
4626 ) -> windows_core::Result<()> {
4627 unsafe {
4628 (windows_core::Interface::vtable(self).BrowserProcessExitKind)(
4629 windows_core::Interface::as_raw(self),
4630 value as _,
4631 )
4632 .ok()
4633 }
4634 }
4635 pub unsafe fn BrowserProcessId(&self, value: *mut u32) -> windows_core::Result<()> {
4636 unsafe {
4637 (windows_core::Interface::vtable(self).BrowserProcessId)(
4638 windows_core::Interface::as_raw(self),
4639 value as _,
4640 )
4641 .ok()
4642 }
4643 }
4644}
4645#[repr(C)]
4646#[doc(hidden)]
4647pub struct ICoreWebView2BrowserProcessExitedEventArgs_Vtbl {
4648 pub base__: windows_core::IUnknown_Vtbl,
4649 pub BrowserProcessExitKind: unsafe extern "system" fn(
4650 *mut core::ffi::c_void,
4651 *mut COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND,
4652 ) -> windows_core::HRESULT,
4653 pub BrowserProcessId:
4654 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
4655}
4656pub trait ICoreWebView2BrowserProcessExitedEventArgs_Impl: windows_core::IUnknownImpl {
4657 fn BrowserProcessExitKind(
4658 &self,
4659 value: *mut COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND,
4660 ) -> windows_core::Result<()>;
4661 fn BrowserProcessId(&self, value: *mut u32) -> windows_core::Result<()>;
4662}
4663impl ICoreWebView2BrowserProcessExitedEventArgs_Vtbl {
4664 pub const fn new<
4665 Identity: ICoreWebView2BrowserProcessExitedEventArgs_Impl,
4666 const OFFSET: isize,
4667 >() -> Self {
4668 unsafe extern "system" fn BrowserProcessExitKind<
4669 Identity: ICoreWebView2BrowserProcessExitedEventArgs_Impl,
4670 const OFFSET: isize,
4671 >(
4672 this: *mut core::ffi::c_void,
4673 value: *mut COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND,
4674 ) -> windows_core::HRESULT {
4675 unsafe {
4676 let this: &Identity =
4677 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4678 ICoreWebView2BrowserProcessExitedEventArgs_Impl::BrowserProcessExitKind(
4679 this,
4680 core::mem::transmute_copy(&value),
4681 )
4682 .into()
4683 }
4684 }
4685 unsafe extern "system" fn BrowserProcessId<
4686 Identity: ICoreWebView2BrowserProcessExitedEventArgs_Impl,
4687 const OFFSET: isize,
4688 >(
4689 this: *mut core::ffi::c_void,
4690 value: *mut u32,
4691 ) -> windows_core::HRESULT {
4692 unsafe {
4693 let this: &Identity =
4694 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4695 ICoreWebView2BrowserProcessExitedEventArgs_Impl::BrowserProcessId(
4696 this,
4697 core::mem::transmute_copy(&value),
4698 )
4699 .into()
4700 }
4701 }
4702 Self {
4703 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4704 BrowserProcessExitKind: BrowserProcessExitKind::<Identity, OFFSET>,
4705 BrowserProcessId: BrowserProcessId::<Identity, OFFSET>,
4706 }
4707 }
4708 pub fn matches(iid: &windows_core::GUID) -> bool {
4709 iid == &<ICoreWebView2BrowserProcessExitedEventArgs as windows_core::Interface>::IID
4710 }
4711}
4712impl windows_core::RuntimeName for ICoreWebView2BrowserProcessExitedEventArgs {}
4713windows_core::imp::define_interface!(
4714 ICoreWebView2BrowserProcessExitedEventHandler,
4715 ICoreWebView2BrowserProcessExitedEventHandler_Vtbl,
4716 0xfa504257_a216_4911_a860_fe8825712861
4717);
4718windows_core::imp::interface_hierarchy!(
4719 ICoreWebView2BrowserProcessExitedEventHandler,
4720 windows_core::IUnknown
4721);
4722impl ICoreWebView2BrowserProcessExitedEventHandler {
4723 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
4724 where
4725 P0: windows_core::Param<ICoreWebView2Environment>,
4726 P1: windows_core::Param<ICoreWebView2BrowserProcessExitedEventArgs>,
4727 {
4728 unsafe {
4729 (windows_core::Interface::vtable(self).Invoke)(
4730 windows_core::Interface::as_raw(self),
4731 sender.param().abi(),
4732 args.param().abi(),
4733 )
4734 .ok()
4735 }
4736 }
4737}
4738#[repr(C)]
4739#[doc(hidden)]
4740pub struct ICoreWebView2BrowserProcessExitedEventHandler_Vtbl {
4741 pub base__: windows_core::IUnknown_Vtbl,
4742 pub Invoke: unsafe extern "system" fn(
4743 *mut core::ffi::c_void,
4744 *mut core::ffi::c_void,
4745 *mut core::ffi::c_void,
4746 ) -> windows_core::HRESULT,
4747}
4748pub trait ICoreWebView2BrowserProcessExitedEventHandler_Impl: windows_core::IUnknownImpl {
4749 fn Invoke(
4750 &self,
4751 sender: windows_core::Ref<'_, ICoreWebView2Environment>,
4752 args: windows_core::Ref<'_, ICoreWebView2BrowserProcessExitedEventArgs>,
4753 ) -> windows_core::Result<()>;
4754}
4755impl ICoreWebView2BrowserProcessExitedEventHandler_Vtbl {
4756 pub const fn new<
4757 Identity: ICoreWebView2BrowserProcessExitedEventHandler_Impl,
4758 const OFFSET: isize,
4759 >() -> Self {
4760 unsafe extern "system" fn Invoke<
4761 Identity: ICoreWebView2BrowserProcessExitedEventHandler_Impl,
4762 const OFFSET: isize,
4763 >(
4764 this: *mut core::ffi::c_void,
4765 sender: *mut core::ffi::c_void,
4766 args: *mut core::ffi::c_void,
4767 ) -> windows_core::HRESULT {
4768 unsafe {
4769 let this: &Identity =
4770 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4771 ICoreWebView2BrowserProcessExitedEventHandler_Impl::Invoke(
4772 this,
4773 core::mem::transmute_copy(&sender),
4774 core::mem::transmute_copy(&args),
4775 )
4776 .into()
4777 }
4778 }
4779 Self {
4780 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4781 Invoke: Invoke::<Identity, OFFSET>,
4782 }
4783 }
4784 pub fn matches(iid: &windows_core::GUID) -> bool {
4785 iid == &<ICoreWebView2BrowserProcessExitedEventHandler as windows_core::Interface>::IID
4786 }
4787}
4788impl windows_core::RuntimeName for ICoreWebView2BrowserProcessExitedEventHandler {}
4789windows_core::imp::define_interface!(
4790 ICoreWebView2BytesReceivedChangedEventHandler,
4791 ICoreWebView2BytesReceivedChangedEventHandler_Vtbl,
4792 0x828e8ab6_d94c_4264_9cef_5217170d6251
4793);
4794windows_core::imp::interface_hierarchy!(
4795 ICoreWebView2BytesReceivedChangedEventHandler,
4796 windows_core::IUnknown
4797);
4798impl ICoreWebView2BytesReceivedChangedEventHandler {
4799 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
4800 where
4801 P0: windows_core::Param<ICoreWebView2DownloadOperation>,
4802 P1: windows_core::Param<windows_core::IUnknown>,
4803 {
4804 unsafe {
4805 (windows_core::Interface::vtable(self).Invoke)(
4806 windows_core::Interface::as_raw(self),
4807 sender.param().abi(),
4808 args.param().abi(),
4809 )
4810 .ok()
4811 }
4812 }
4813}
4814#[repr(C)]
4815#[doc(hidden)]
4816pub struct ICoreWebView2BytesReceivedChangedEventHandler_Vtbl {
4817 pub base__: windows_core::IUnknown_Vtbl,
4818 pub Invoke: unsafe extern "system" fn(
4819 *mut core::ffi::c_void,
4820 *mut core::ffi::c_void,
4821 *mut core::ffi::c_void,
4822 ) -> windows_core::HRESULT,
4823}
4824pub trait ICoreWebView2BytesReceivedChangedEventHandler_Impl: windows_core::IUnknownImpl {
4825 fn Invoke(
4826 &self,
4827 sender: windows_core::Ref<'_, ICoreWebView2DownloadOperation>,
4828 args: windows_core::Ref<'_, windows_core::IUnknown>,
4829 ) -> windows_core::Result<()>;
4830}
4831impl ICoreWebView2BytesReceivedChangedEventHandler_Vtbl {
4832 pub const fn new<
4833 Identity: ICoreWebView2BytesReceivedChangedEventHandler_Impl,
4834 const OFFSET: isize,
4835 >() -> Self {
4836 unsafe extern "system" fn Invoke<
4837 Identity: ICoreWebView2BytesReceivedChangedEventHandler_Impl,
4838 const OFFSET: isize,
4839 >(
4840 this: *mut core::ffi::c_void,
4841 sender: *mut core::ffi::c_void,
4842 args: *mut core::ffi::c_void,
4843 ) -> windows_core::HRESULT {
4844 unsafe {
4845 let this: &Identity =
4846 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4847 ICoreWebView2BytesReceivedChangedEventHandler_Impl::Invoke(
4848 this,
4849 core::mem::transmute_copy(&sender),
4850 core::mem::transmute_copy(&args),
4851 )
4852 .into()
4853 }
4854 }
4855 Self {
4856 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4857 Invoke: Invoke::<Identity, OFFSET>,
4858 }
4859 }
4860 pub fn matches(iid: &windows_core::GUID) -> bool {
4861 iid == &<ICoreWebView2BytesReceivedChangedEventHandler as windows_core::Interface>::IID
4862 }
4863}
4864impl windows_core::RuntimeName for ICoreWebView2BytesReceivedChangedEventHandler {}
4865windows_core::imp::define_interface!(
4866 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler,
4867 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Vtbl,
4868 0x5c4889f0_5ef6_4c5a_952c_d8f1b92d0574
4869);
4870windows_core::imp::interface_hierarchy!(
4871 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler,
4872 windows_core::IUnknown
4873);
4874impl ICoreWebView2CallDevToolsProtocolMethodCompletedHandler {
4875 pub unsafe fn Invoke<P1>(
4876 &self,
4877 errorcode: windows_core::HRESULT,
4878 result: P1,
4879 ) -> windows_core::Result<()>
4880 where
4881 P1: windows_core::Param<windows_core::PCWSTR>,
4882 {
4883 unsafe {
4884 (windows_core::Interface::vtable(self).Invoke)(
4885 windows_core::Interface::as_raw(self),
4886 errorcode,
4887 result.param().abi(),
4888 )
4889 .ok()
4890 }
4891 }
4892}
4893#[repr(C)]
4894#[doc(hidden)]
4895pub struct ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Vtbl {
4896 pub base__: windows_core::IUnknown_Vtbl,
4897 pub Invoke: unsafe extern "system" fn(
4898 *mut core::ffi::c_void,
4899 windows_core::HRESULT,
4900 windows_core::PCWSTR,
4901 ) -> windows_core::HRESULT,
4902}
4903pub trait ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl:
4904 windows_core::IUnknownImpl
4905{
4906 fn Invoke(
4907 &self,
4908 errorcode: windows_core::HRESULT,
4909 result: &windows_core::PCWSTR,
4910 ) -> windows_core::Result<()>;
4911}
4912impl ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Vtbl {
4913 pub const fn new<
4914 Identity: ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl,
4915 const OFFSET: isize,
4916 >() -> Self {
4917 unsafe extern "system" fn Invoke<
4918 Identity: ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl,
4919 const OFFSET: isize,
4920 >(
4921 this: *mut core::ffi::c_void,
4922 errorcode: windows_core::HRESULT,
4923 result: windows_core::PCWSTR,
4924 ) -> windows_core::HRESULT {
4925 unsafe {
4926 let this: &Identity =
4927 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4928 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl::Invoke(
4929 this,
4930 core::mem::transmute_copy(&errorcode),
4931 core::mem::transmute(&result),
4932 )
4933 .into()
4934 }
4935 }
4936 Self {
4937 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4938 Invoke: Invoke::<Identity, OFFSET>,
4939 }
4940 }
4941 pub fn matches(iid: &windows_core::GUID) -> bool {
4942 iid == & < ICoreWebView2CallDevToolsProtocolMethodCompletedHandler as windows_core::Interface >::IID
4943 }
4944}
4945impl windows_core::RuntimeName for ICoreWebView2CallDevToolsProtocolMethodCompletedHandler {}
4946windows_core::imp::define_interface!(
4947 ICoreWebView2CapturePreviewCompletedHandler,
4948 ICoreWebView2CapturePreviewCompletedHandler_Vtbl,
4949 0x697e05e9_3d8f_45fa_96f4_8ffe1ededaf5
4950);
4951windows_core::imp::interface_hierarchy!(
4952 ICoreWebView2CapturePreviewCompletedHandler,
4953 windows_core::IUnknown
4954);
4955impl ICoreWebView2CapturePreviewCompletedHandler {
4956 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
4957 unsafe {
4958 (windows_core::Interface::vtable(self).Invoke)(
4959 windows_core::Interface::as_raw(self),
4960 errorcode,
4961 )
4962 .ok()
4963 }
4964 }
4965}
4966#[repr(C)]
4967#[doc(hidden)]
4968pub struct ICoreWebView2CapturePreviewCompletedHandler_Vtbl {
4969 pub base__: windows_core::IUnknown_Vtbl,
4970 pub Invoke: unsafe extern "system" fn(
4971 *mut core::ffi::c_void,
4972 windows_core::HRESULT,
4973 ) -> windows_core::HRESULT,
4974}
4975pub trait ICoreWebView2CapturePreviewCompletedHandler_Impl: windows_core::IUnknownImpl {
4976 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
4977}
4978impl ICoreWebView2CapturePreviewCompletedHandler_Vtbl {
4979 pub const fn new<
4980 Identity: ICoreWebView2CapturePreviewCompletedHandler_Impl,
4981 const OFFSET: isize,
4982 >() -> Self {
4983 unsafe extern "system" fn Invoke<
4984 Identity: ICoreWebView2CapturePreviewCompletedHandler_Impl,
4985 const OFFSET: isize,
4986 >(
4987 this: *mut core::ffi::c_void,
4988 errorcode: windows_core::HRESULT,
4989 ) -> windows_core::HRESULT {
4990 unsafe {
4991 let this: &Identity =
4992 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4993 ICoreWebView2CapturePreviewCompletedHandler_Impl::Invoke(
4994 this,
4995 core::mem::transmute_copy(&errorcode),
4996 )
4997 .into()
4998 }
4999 }
5000 Self {
5001 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5002 Invoke: Invoke::<Identity, OFFSET>,
5003 }
5004 }
5005 pub fn matches(iid: &windows_core::GUID) -> bool {
5006 iid == &<ICoreWebView2CapturePreviewCompletedHandler as windows_core::Interface>::IID
5007 }
5008}
5009impl windows_core::RuntimeName for ICoreWebView2CapturePreviewCompletedHandler {}
5010windows_core::imp::define_interface!(
5011 ICoreWebView2Certificate,
5012 ICoreWebView2Certificate_Vtbl,
5013 0xc5fb2fce_1cac_4aee_9c79_5ed0362eaae0
5014);
5015windows_core::imp::interface_hierarchy!(ICoreWebView2Certificate, windows_core::IUnknown);
5016impl ICoreWebView2Certificate {
5017 pub unsafe fn Subject(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5018 unsafe {
5019 (windows_core::Interface::vtable(self).Subject)(
5020 windows_core::Interface::as_raw(self),
5021 value as _,
5022 )
5023 .ok()
5024 }
5025 }
5026 pub unsafe fn Issuer(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5027 unsafe {
5028 (windows_core::Interface::vtable(self).Issuer)(
5029 windows_core::Interface::as_raw(self),
5030 value as _,
5031 )
5032 .ok()
5033 }
5034 }
5035 pub unsafe fn ValidFrom(&self, value: *mut f64) -> windows_core::Result<()> {
5036 unsafe {
5037 (windows_core::Interface::vtable(self).ValidFrom)(
5038 windows_core::Interface::as_raw(self),
5039 value as _,
5040 )
5041 .ok()
5042 }
5043 }
5044 pub unsafe fn ValidTo(&self, value: *mut f64) -> windows_core::Result<()> {
5045 unsafe {
5046 (windows_core::Interface::vtable(self).ValidTo)(
5047 windows_core::Interface::as_raw(self),
5048 value as _,
5049 )
5050 .ok()
5051 }
5052 }
5053 pub unsafe fn DerEncodedSerialNumber(
5054 &self,
5055 value: *mut windows_core::PWSTR,
5056 ) -> windows_core::Result<()> {
5057 unsafe {
5058 (windows_core::Interface::vtable(self).DerEncodedSerialNumber)(
5059 windows_core::Interface::as_raw(self),
5060 value as _,
5061 )
5062 .ok()
5063 }
5064 }
5065 pub unsafe fn DisplayName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5066 unsafe {
5067 (windows_core::Interface::vtable(self).DisplayName)(
5068 windows_core::Interface::as_raw(self),
5069 value as _,
5070 )
5071 .ok()
5072 }
5073 }
5074 pub unsafe fn ToPemEncoding(
5075 &self,
5076 pemencodeddata: *mut windows_core::PWSTR,
5077 ) -> windows_core::Result<()> {
5078 unsafe {
5079 (windows_core::Interface::vtable(self).ToPemEncoding)(
5080 windows_core::Interface::as_raw(self),
5081 pemencodeddata as _,
5082 )
5083 .ok()
5084 }
5085 }
5086 pub unsafe fn PemEncodedIssuerCertificateChain(
5087 &self,
5088 ) -> windows_core::Result<ICoreWebView2StringCollection> {
5089 unsafe {
5090 let mut result__ = core::mem::zeroed();
5091 (windows_core::Interface::vtable(self).PemEncodedIssuerCertificateChain)(
5092 windows_core::Interface::as_raw(self),
5093 &mut result__,
5094 )
5095 .and_then(|| windows_core::Type::from_abi(result__))
5096 }
5097 }
5098}
5099#[repr(C)]
5100#[doc(hidden)]
5101pub struct ICoreWebView2Certificate_Vtbl {
5102 pub base__: windows_core::IUnknown_Vtbl,
5103 pub Subject: unsafe extern "system" fn(
5104 *mut core::ffi::c_void,
5105 *mut windows_core::PWSTR,
5106 ) -> windows_core::HRESULT,
5107 pub Issuer: unsafe extern "system" fn(
5108 *mut core::ffi::c_void,
5109 *mut windows_core::PWSTR,
5110 ) -> windows_core::HRESULT,
5111 pub ValidFrom:
5112 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
5113 pub ValidTo:
5114 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
5115 pub DerEncodedSerialNumber: unsafe extern "system" fn(
5116 *mut core::ffi::c_void,
5117 *mut windows_core::PWSTR,
5118 ) -> windows_core::HRESULT,
5119 pub DisplayName: unsafe extern "system" fn(
5120 *mut core::ffi::c_void,
5121 *mut windows_core::PWSTR,
5122 ) -> windows_core::HRESULT,
5123 pub ToPemEncoding: unsafe extern "system" fn(
5124 *mut core::ffi::c_void,
5125 *mut windows_core::PWSTR,
5126 ) -> windows_core::HRESULT,
5127 pub PemEncodedIssuerCertificateChain: unsafe extern "system" fn(
5128 *mut core::ffi::c_void,
5129 *mut *mut core::ffi::c_void,
5130 ) -> windows_core::HRESULT,
5131}
5132pub trait ICoreWebView2Certificate_Impl: windows_core::IUnknownImpl {
5133 fn Subject(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5134 fn Issuer(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5135 fn ValidFrom(&self, value: *mut f64) -> windows_core::Result<()>;
5136 fn ValidTo(&self, value: *mut f64) -> windows_core::Result<()>;
5137 fn DerEncodedSerialNumber(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5138 fn DisplayName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5139 fn ToPemEncoding(&self, pemencodeddata: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5140 fn PemEncodedIssuerCertificateChain(
5141 &self,
5142 ) -> windows_core::Result<ICoreWebView2StringCollection>;
5143}
5144impl ICoreWebView2Certificate_Vtbl {
5145 pub const fn new<Identity: ICoreWebView2Certificate_Impl, const OFFSET: isize>() -> Self {
5146 unsafe extern "system" fn Subject<
5147 Identity: ICoreWebView2Certificate_Impl,
5148 const OFFSET: isize,
5149 >(
5150 this: *mut core::ffi::c_void,
5151 value: *mut windows_core::PWSTR,
5152 ) -> windows_core::HRESULT {
5153 unsafe {
5154 let this: &Identity =
5155 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5156 ICoreWebView2Certificate_Impl::Subject(this, core::mem::transmute_copy(&value))
5157 .into()
5158 }
5159 }
5160 unsafe extern "system" fn Issuer<
5161 Identity: ICoreWebView2Certificate_Impl,
5162 const OFFSET: isize,
5163 >(
5164 this: *mut core::ffi::c_void,
5165 value: *mut windows_core::PWSTR,
5166 ) -> windows_core::HRESULT {
5167 unsafe {
5168 let this: &Identity =
5169 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5170 ICoreWebView2Certificate_Impl::Issuer(this, core::mem::transmute_copy(&value))
5171 .into()
5172 }
5173 }
5174 unsafe extern "system" fn ValidFrom<
5175 Identity: ICoreWebView2Certificate_Impl,
5176 const OFFSET: isize,
5177 >(
5178 this: *mut core::ffi::c_void,
5179 value: *mut f64,
5180 ) -> windows_core::HRESULT {
5181 unsafe {
5182 let this: &Identity =
5183 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5184 ICoreWebView2Certificate_Impl::ValidFrom(this, core::mem::transmute_copy(&value))
5185 .into()
5186 }
5187 }
5188 unsafe extern "system" fn ValidTo<
5189 Identity: ICoreWebView2Certificate_Impl,
5190 const OFFSET: isize,
5191 >(
5192 this: *mut core::ffi::c_void,
5193 value: *mut f64,
5194 ) -> windows_core::HRESULT {
5195 unsafe {
5196 let this: &Identity =
5197 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5198 ICoreWebView2Certificate_Impl::ValidTo(this, core::mem::transmute_copy(&value))
5199 .into()
5200 }
5201 }
5202 unsafe extern "system" fn DerEncodedSerialNumber<
5203 Identity: ICoreWebView2Certificate_Impl,
5204 const OFFSET: isize,
5205 >(
5206 this: *mut core::ffi::c_void,
5207 value: *mut windows_core::PWSTR,
5208 ) -> windows_core::HRESULT {
5209 unsafe {
5210 let this: &Identity =
5211 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5212 ICoreWebView2Certificate_Impl::DerEncodedSerialNumber(
5213 this,
5214 core::mem::transmute_copy(&value),
5215 )
5216 .into()
5217 }
5218 }
5219 unsafe extern "system" fn DisplayName<
5220 Identity: ICoreWebView2Certificate_Impl,
5221 const OFFSET: isize,
5222 >(
5223 this: *mut core::ffi::c_void,
5224 value: *mut windows_core::PWSTR,
5225 ) -> windows_core::HRESULT {
5226 unsafe {
5227 let this: &Identity =
5228 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5229 ICoreWebView2Certificate_Impl::DisplayName(this, core::mem::transmute_copy(&value))
5230 .into()
5231 }
5232 }
5233 unsafe extern "system" fn ToPemEncoding<
5234 Identity: ICoreWebView2Certificate_Impl,
5235 const OFFSET: isize,
5236 >(
5237 this: *mut core::ffi::c_void,
5238 pemencodeddata: *mut windows_core::PWSTR,
5239 ) -> windows_core::HRESULT {
5240 unsafe {
5241 let this: &Identity =
5242 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5243 ICoreWebView2Certificate_Impl::ToPemEncoding(
5244 this,
5245 core::mem::transmute_copy(&pemencodeddata),
5246 )
5247 .into()
5248 }
5249 }
5250 unsafe extern "system" fn PemEncodedIssuerCertificateChain<
5251 Identity: ICoreWebView2Certificate_Impl,
5252 const OFFSET: isize,
5253 >(
5254 this: *mut core::ffi::c_void,
5255 value: *mut *mut core::ffi::c_void,
5256 ) -> windows_core::HRESULT {
5257 unsafe {
5258 let this: &Identity =
5259 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5260 match ICoreWebView2Certificate_Impl::PemEncodedIssuerCertificateChain(this) {
5261 Ok(ok__) => {
5262 value.write(core::mem::transmute(ok__));
5263 windows_core::HRESULT(0)
5264 }
5265 Err(err) => err.into(),
5266 }
5267 }
5268 }
5269 Self {
5270 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5271 Subject: Subject::<Identity, OFFSET>,
5272 Issuer: Issuer::<Identity, OFFSET>,
5273 ValidFrom: ValidFrom::<Identity, OFFSET>,
5274 ValidTo: ValidTo::<Identity, OFFSET>,
5275 DerEncodedSerialNumber: DerEncodedSerialNumber::<Identity, OFFSET>,
5276 DisplayName: DisplayName::<Identity, OFFSET>,
5277 ToPemEncoding: ToPemEncoding::<Identity, OFFSET>,
5278 PemEncodedIssuerCertificateChain: PemEncodedIssuerCertificateChain::<Identity, OFFSET>,
5279 }
5280 }
5281 pub fn matches(iid: &windows_core::GUID) -> bool {
5282 iid == &<ICoreWebView2Certificate as windows_core::Interface>::IID
5283 }
5284}
5285impl windows_core::RuntimeName for ICoreWebView2Certificate {}
5286windows_core::imp::define_interface!(
5287 ICoreWebView2ClearBrowsingDataCompletedHandler,
5288 ICoreWebView2ClearBrowsingDataCompletedHandler_Vtbl,
5289 0xe9710a06_1d1d_49b2_8234_226f35846ae5
5290);
5291windows_core::imp::interface_hierarchy!(
5292 ICoreWebView2ClearBrowsingDataCompletedHandler,
5293 windows_core::IUnknown
5294);
5295impl ICoreWebView2ClearBrowsingDataCompletedHandler {
5296 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
5297 unsafe {
5298 (windows_core::Interface::vtable(self).Invoke)(
5299 windows_core::Interface::as_raw(self),
5300 errorcode,
5301 )
5302 .ok()
5303 }
5304 }
5305}
5306#[repr(C)]
5307#[doc(hidden)]
5308pub struct ICoreWebView2ClearBrowsingDataCompletedHandler_Vtbl {
5309 pub base__: windows_core::IUnknown_Vtbl,
5310 pub Invoke: unsafe extern "system" fn(
5311 *mut core::ffi::c_void,
5312 windows_core::HRESULT,
5313 ) -> windows_core::HRESULT,
5314}
5315pub trait ICoreWebView2ClearBrowsingDataCompletedHandler_Impl: windows_core::IUnknownImpl {
5316 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
5317}
5318impl ICoreWebView2ClearBrowsingDataCompletedHandler_Vtbl {
5319 pub const fn new<
5320 Identity: ICoreWebView2ClearBrowsingDataCompletedHandler_Impl,
5321 const OFFSET: isize,
5322 >() -> Self {
5323 unsafe extern "system" fn Invoke<
5324 Identity: ICoreWebView2ClearBrowsingDataCompletedHandler_Impl,
5325 const OFFSET: isize,
5326 >(
5327 this: *mut core::ffi::c_void,
5328 errorcode: windows_core::HRESULT,
5329 ) -> windows_core::HRESULT {
5330 unsafe {
5331 let this: &Identity =
5332 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5333 ICoreWebView2ClearBrowsingDataCompletedHandler_Impl::Invoke(
5334 this,
5335 core::mem::transmute_copy(&errorcode),
5336 )
5337 .into()
5338 }
5339 }
5340 Self {
5341 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5342 Invoke: Invoke::<Identity, OFFSET>,
5343 }
5344 }
5345 pub fn matches(iid: &windows_core::GUID) -> bool {
5346 iid == &<ICoreWebView2ClearBrowsingDataCompletedHandler as windows_core::Interface>::IID
5347 }
5348}
5349impl windows_core::RuntimeName for ICoreWebView2ClearBrowsingDataCompletedHandler {}
5350windows_core::imp::define_interface!(
5351 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler,
5352 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Vtbl,
5353 0x3b40aac6_acfe_4ffd_8211_f607b96e2d5b
5354);
5355windows_core::imp::interface_hierarchy!(
5356 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler,
5357 windows_core::IUnknown
5358);
5359impl ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler {
5360 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
5361 unsafe {
5362 (windows_core::Interface::vtable(self).Invoke)(
5363 windows_core::Interface::as_raw(self),
5364 errorcode,
5365 )
5366 .ok()
5367 }
5368 }
5369}
5370#[repr(C)]
5371#[doc(hidden)]
5372pub struct ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Vtbl {
5373 pub base__: windows_core::IUnknown_Vtbl,
5374 pub Invoke: unsafe extern "system" fn(
5375 *mut core::ffi::c_void,
5376 windows_core::HRESULT,
5377 ) -> windows_core::HRESULT,
5378}
5379pub trait ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Impl:
5380 windows_core::IUnknownImpl
5381{
5382 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
5383}
5384impl ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Vtbl {
5385 pub const fn new<
5386 Identity: ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Impl,
5387 const OFFSET: isize,
5388 >() -> Self {
5389 unsafe extern "system" fn Invoke<
5390 Identity: ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Impl,
5391 const OFFSET: isize,
5392 >(
5393 this: *mut core::ffi::c_void,
5394 errorcode: windows_core::HRESULT,
5395 ) -> windows_core::HRESULT {
5396 unsafe {
5397 let this: &Identity =
5398 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5399 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Impl::Invoke(
5400 this,
5401 core::mem::transmute_copy(&errorcode),
5402 )
5403 .into()
5404 }
5405 }
5406 Self {
5407 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5408 Invoke: Invoke::<Identity, OFFSET>,
5409 }
5410 }
5411 pub fn matches(iid: &windows_core::GUID) -> bool {
5412 iid == & < ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler as windows_core::Interface >::IID
5413 }
5414}
5415impl windows_core::RuntimeName for ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler {}
5416windows_core::imp::define_interface!(
5417 ICoreWebView2ClientCertificate,
5418 ICoreWebView2ClientCertificate_Vtbl,
5419 0xe7188076_bcc3_11eb_8529_0242ac130003
5420);
5421windows_core::imp::interface_hierarchy!(ICoreWebView2ClientCertificate, windows_core::IUnknown);
5422impl ICoreWebView2ClientCertificate {
5423 pub unsafe fn Subject(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5424 unsafe {
5425 (windows_core::Interface::vtable(self).Subject)(
5426 windows_core::Interface::as_raw(self),
5427 value as _,
5428 )
5429 .ok()
5430 }
5431 }
5432 pub unsafe fn Issuer(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5433 unsafe {
5434 (windows_core::Interface::vtable(self).Issuer)(
5435 windows_core::Interface::as_raw(self),
5436 value as _,
5437 )
5438 .ok()
5439 }
5440 }
5441 pub unsafe fn ValidFrom(&self, value: *mut f64) -> windows_core::Result<()> {
5442 unsafe {
5443 (windows_core::Interface::vtable(self).ValidFrom)(
5444 windows_core::Interface::as_raw(self),
5445 value as _,
5446 )
5447 .ok()
5448 }
5449 }
5450 pub unsafe fn ValidTo(&self, value: *mut f64) -> windows_core::Result<()> {
5451 unsafe {
5452 (windows_core::Interface::vtable(self).ValidTo)(
5453 windows_core::Interface::as_raw(self),
5454 value as _,
5455 )
5456 .ok()
5457 }
5458 }
5459 pub unsafe fn DerEncodedSerialNumber(
5460 &self,
5461 value: *mut windows_core::PWSTR,
5462 ) -> windows_core::Result<()> {
5463 unsafe {
5464 (windows_core::Interface::vtable(self).DerEncodedSerialNumber)(
5465 windows_core::Interface::as_raw(self),
5466 value as _,
5467 )
5468 .ok()
5469 }
5470 }
5471 pub unsafe fn DisplayName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5472 unsafe {
5473 (windows_core::Interface::vtable(self).DisplayName)(
5474 windows_core::Interface::as_raw(self),
5475 value as _,
5476 )
5477 .ok()
5478 }
5479 }
5480 pub unsafe fn ToPemEncoding(
5481 &self,
5482 pemencodeddata: *mut windows_core::PWSTR,
5483 ) -> windows_core::Result<()> {
5484 unsafe {
5485 (windows_core::Interface::vtable(self).ToPemEncoding)(
5486 windows_core::Interface::as_raw(self),
5487 pemencodeddata as _,
5488 )
5489 .ok()
5490 }
5491 }
5492 pub unsafe fn PemEncodedIssuerCertificateChain(
5493 &self,
5494 ) -> windows_core::Result<ICoreWebView2StringCollection> {
5495 unsafe {
5496 let mut result__ = core::mem::zeroed();
5497 (windows_core::Interface::vtable(self).PemEncodedIssuerCertificateChain)(
5498 windows_core::Interface::as_raw(self),
5499 &mut result__,
5500 )
5501 .and_then(|| windows_core::Type::from_abi(result__))
5502 }
5503 }
5504 pub unsafe fn Kind(
5505 &self,
5506 value: *mut COREWEBVIEW2_CLIENT_CERTIFICATE_KIND,
5507 ) -> windows_core::Result<()> {
5508 unsafe {
5509 (windows_core::Interface::vtable(self).Kind)(
5510 windows_core::Interface::as_raw(self),
5511 value as _,
5512 )
5513 .ok()
5514 }
5515 }
5516}
5517#[repr(C)]
5518#[doc(hidden)]
5519pub struct ICoreWebView2ClientCertificate_Vtbl {
5520 pub base__: windows_core::IUnknown_Vtbl,
5521 pub Subject: unsafe extern "system" fn(
5522 *mut core::ffi::c_void,
5523 *mut windows_core::PWSTR,
5524 ) -> windows_core::HRESULT,
5525 pub Issuer: unsafe extern "system" fn(
5526 *mut core::ffi::c_void,
5527 *mut windows_core::PWSTR,
5528 ) -> windows_core::HRESULT,
5529 pub ValidFrom:
5530 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
5531 pub ValidTo:
5532 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
5533 pub DerEncodedSerialNumber: unsafe extern "system" fn(
5534 *mut core::ffi::c_void,
5535 *mut windows_core::PWSTR,
5536 ) -> windows_core::HRESULT,
5537 pub DisplayName: unsafe extern "system" fn(
5538 *mut core::ffi::c_void,
5539 *mut windows_core::PWSTR,
5540 ) -> windows_core::HRESULT,
5541 pub ToPemEncoding: unsafe extern "system" fn(
5542 *mut core::ffi::c_void,
5543 *mut windows_core::PWSTR,
5544 ) -> windows_core::HRESULT,
5545 pub PemEncodedIssuerCertificateChain: unsafe extern "system" fn(
5546 *mut core::ffi::c_void,
5547 *mut *mut core::ffi::c_void,
5548 ) -> windows_core::HRESULT,
5549 pub Kind: unsafe extern "system" fn(
5550 *mut core::ffi::c_void,
5551 *mut COREWEBVIEW2_CLIENT_CERTIFICATE_KIND,
5552 ) -> windows_core::HRESULT,
5553}
5554pub trait ICoreWebView2ClientCertificate_Impl: windows_core::IUnknownImpl {
5555 fn Subject(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5556 fn Issuer(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5557 fn ValidFrom(&self, value: *mut f64) -> windows_core::Result<()>;
5558 fn ValidTo(&self, value: *mut f64) -> windows_core::Result<()>;
5559 fn DerEncodedSerialNumber(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5560 fn DisplayName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5561 fn ToPemEncoding(&self, pemencodeddata: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5562 fn PemEncodedIssuerCertificateChain(
5563 &self,
5564 ) -> windows_core::Result<ICoreWebView2StringCollection>;
5565 fn Kind(&self, value: *mut COREWEBVIEW2_CLIENT_CERTIFICATE_KIND) -> windows_core::Result<()>;
5566}
5567impl ICoreWebView2ClientCertificate_Vtbl {
5568 pub const fn new<Identity: ICoreWebView2ClientCertificate_Impl, const OFFSET: isize>() -> Self {
5569 unsafe extern "system" fn Subject<
5570 Identity: ICoreWebView2ClientCertificate_Impl,
5571 const OFFSET: isize,
5572 >(
5573 this: *mut core::ffi::c_void,
5574 value: *mut windows_core::PWSTR,
5575 ) -> windows_core::HRESULT {
5576 unsafe {
5577 let this: &Identity =
5578 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5579 ICoreWebView2ClientCertificate_Impl::Subject(
5580 this,
5581 core::mem::transmute_copy(&value),
5582 )
5583 .into()
5584 }
5585 }
5586 unsafe extern "system" fn Issuer<
5587 Identity: ICoreWebView2ClientCertificate_Impl,
5588 const OFFSET: isize,
5589 >(
5590 this: *mut core::ffi::c_void,
5591 value: *mut windows_core::PWSTR,
5592 ) -> windows_core::HRESULT {
5593 unsafe {
5594 let this: &Identity =
5595 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5596 ICoreWebView2ClientCertificate_Impl::Issuer(this, core::mem::transmute_copy(&value))
5597 .into()
5598 }
5599 }
5600 unsafe extern "system" fn ValidFrom<
5601 Identity: ICoreWebView2ClientCertificate_Impl,
5602 const OFFSET: isize,
5603 >(
5604 this: *mut core::ffi::c_void,
5605 value: *mut f64,
5606 ) -> windows_core::HRESULT {
5607 unsafe {
5608 let this: &Identity =
5609 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5610 ICoreWebView2ClientCertificate_Impl::ValidFrom(
5611 this,
5612 core::mem::transmute_copy(&value),
5613 )
5614 .into()
5615 }
5616 }
5617 unsafe extern "system" fn ValidTo<
5618 Identity: ICoreWebView2ClientCertificate_Impl,
5619 const OFFSET: isize,
5620 >(
5621 this: *mut core::ffi::c_void,
5622 value: *mut f64,
5623 ) -> windows_core::HRESULT {
5624 unsafe {
5625 let this: &Identity =
5626 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5627 ICoreWebView2ClientCertificate_Impl::ValidTo(
5628 this,
5629 core::mem::transmute_copy(&value),
5630 )
5631 .into()
5632 }
5633 }
5634 unsafe extern "system" fn DerEncodedSerialNumber<
5635 Identity: ICoreWebView2ClientCertificate_Impl,
5636 const OFFSET: isize,
5637 >(
5638 this: *mut core::ffi::c_void,
5639 value: *mut windows_core::PWSTR,
5640 ) -> windows_core::HRESULT {
5641 unsafe {
5642 let this: &Identity =
5643 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5644 ICoreWebView2ClientCertificate_Impl::DerEncodedSerialNumber(
5645 this,
5646 core::mem::transmute_copy(&value),
5647 )
5648 .into()
5649 }
5650 }
5651 unsafe extern "system" fn DisplayName<
5652 Identity: ICoreWebView2ClientCertificate_Impl,
5653 const OFFSET: isize,
5654 >(
5655 this: *mut core::ffi::c_void,
5656 value: *mut windows_core::PWSTR,
5657 ) -> windows_core::HRESULT {
5658 unsafe {
5659 let this: &Identity =
5660 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5661 ICoreWebView2ClientCertificate_Impl::DisplayName(
5662 this,
5663 core::mem::transmute_copy(&value),
5664 )
5665 .into()
5666 }
5667 }
5668 unsafe extern "system" fn ToPemEncoding<
5669 Identity: ICoreWebView2ClientCertificate_Impl,
5670 const OFFSET: isize,
5671 >(
5672 this: *mut core::ffi::c_void,
5673 pemencodeddata: *mut windows_core::PWSTR,
5674 ) -> windows_core::HRESULT {
5675 unsafe {
5676 let this: &Identity =
5677 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5678 ICoreWebView2ClientCertificate_Impl::ToPemEncoding(
5679 this,
5680 core::mem::transmute_copy(&pemencodeddata),
5681 )
5682 .into()
5683 }
5684 }
5685 unsafe extern "system" fn PemEncodedIssuerCertificateChain<
5686 Identity: ICoreWebView2ClientCertificate_Impl,
5687 const OFFSET: isize,
5688 >(
5689 this: *mut core::ffi::c_void,
5690 value: *mut *mut core::ffi::c_void,
5691 ) -> windows_core::HRESULT {
5692 unsafe {
5693 let this: &Identity =
5694 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5695 match ICoreWebView2ClientCertificate_Impl::PemEncodedIssuerCertificateChain(this) {
5696 Ok(ok__) => {
5697 value.write(core::mem::transmute(ok__));
5698 windows_core::HRESULT(0)
5699 }
5700 Err(err) => err.into(),
5701 }
5702 }
5703 }
5704 unsafe extern "system" fn Kind<
5705 Identity: ICoreWebView2ClientCertificate_Impl,
5706 const OFFSET: isize,
5707 >(
5708 this: *mut core::ffi::c_void,
5709 value: *mut COREWEBVIEW2_CLIENT_CERTIFICATE_KIND,
5710 ) -> windows_core::HRESULT {
5711 unsafe {
5712 let this: &Identity =
5713 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5714 ICoreWebView2ClientCertificate_Impl::Kind(this, core::mem::transmute_copy(&value))
5715 .into()
5716 }
5717 }
5718 Self {
5719 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5720 Subject: Subject::<Identity, OFFSET>,
5721 Issuer: Issuer::<Identity, OFFSET>,
5722 ValidFrom: ValidFrom::<Identity, OFFSET>,
5723 ValidTo: ValidTo::<Identity, OFFSET>,
5724 DerEncodedSerialNumber: DerEncodedSerialNumber::<Identity, OFFSET>,
5725 DisplayName: DisplayName::<Identity, OFFSET>,
5726 ToPemEncoding: ToPemEncoding::<Identity, OFFSET>,
5727 PemEncodedIssuerCertificateChain: PemEncodedIssuerCertificateChain::<Identity, OFFSET>,
5728 Kind: Kind::<Identity, OFFSET>,
5729 }
5730 }
5731 pub fn matches(iid: &windows_core::GUID) -> bool {
5732 iid == &<ICoreWebView2ClientCertificate as windows_core::Interface>::IID
5733 }
5734}
5735impl windows_core::RuntimeName for ICoreWebView2ClientCertificate {}
5736windows_core::imp::define_interface!(
5737 ICoreWebView2ClientCertificateCollection,
5738 ICoreWebView2ClientCertificateCollection_Vtbl,
5739 0xef5674d2_bcc3_11eb_8529_0242ac130003
5740);
5741windows_core::imp::interface_hierarchy!(
5742 ICoreWebView2ClientCertificateCollection,
5743 windows_core::IUnknown
5744);
5745impl ICoreWebView2ClientCertificateCollection {
5746 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
5747 unsafe {
5748 (windows_core::Interface::vtable(self).Count)(
5749 windows_core::Interface::as_raw(self),
5750 value as _,
5751 )
5752 .ok()
5753 }
5754 }
5755 pub unsafe fn GetValueAtIndex(
5756 &self,
5757 index: u32,
5758 ) -> windows_core::Result<ICoreWebView2ClientCertificate> {
5759 unsafe {
5760 let mut result__ = core::mem::zeroed();
5761 (windows_core::Interface::vtable(self).GetValueAtIndex)(
5762 windows_core::Interface::as_raw(self),
5763 index,
5764 &mut result__,
5765 )
5766 .and_then(|| windows_core::Type::from_abi(result__))
5767 }
5768 }
5769}
5770#[repr(C)]
5771#[doc(hidden)]
5772pub struct ICoreWebView2ClientCertificateCollection_Vtbl {
5773 pub base__: windows_core::IUnknown_Vtbl,
5774 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
5775 pub GetValueAtIndex: unsafe extern "system" fn(
5776 *mut core::ffi::c_void,
5777 u32,
5778 *mut *mut core::ffi::c_void,
5779 ) -> windows_core::HRESULT,
5780}
5781pub trait ICoreWebView2ClientCertificateCollection_Impl: windows_core::IUnknownImpl {
5782 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
5783 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2ClientCertificate>;
5784}
5785impl ICoreWebView2ClientCertificateCollection_Vtbl {
5786 pub const fn new<
5787 Identity: ICoreWebView2ClientCertificateCollection_Impl,
5788 const OFFSET: isize,
5789 >() -> Self {
5790 unsafe extern "system" fn Count<
5791 Identity: ICoreWebView2ClientCertificateCollection_Impl,
5792 const OFFSET: isize,
5793 >(
5794 this: *mut core::ffi::c_void,
5795 value: *mut u32,
5796 ) -> windows_core::HRESULT {
5797 unsafe {
5798 let this: &Identity =
5799 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5800 ICoreWebView2ClientCertificateCollection_Impl::Count(
5801 this,
5802 core::mem::transmute_copy(&value),
5803 )
5804 .into()
5805 }
5806 }
5807 unsafe extern "system" fn GetValueAtIndex<
5808 Identity: ICoreWebView2ClientCertificateCollection_Impl,
5809 const OFFSET: isize,
5810 >(
5811 this: *mut core::ffi::c_void,
5812 index: u32,
5813 value: *mut *mut core::ffi::c_void,
5814 ) -> windows_core::HRESULT {
5815 unsafe {
5816 let this: &Identity =
5817 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5818 match ICoreWebView2ClientCertificateCollection_Impl::GetValueAtIndex(
5819 this,
5820 core::mem::transmute_copy(&index),
5821 ) {
5822 Ok(ok__) => {
5823 value.write(core::mem::transmute(ok__));
5824 windows_core::HRESULT(0)
5825 }
5826 Err(err) => err.into(),
5827 }
5828 }
5829 }
5830 Self {
5831 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5832 Count: Count::<Identity, OFFSET>,
5833 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
5834 }
5835 }
5836 pub fn matches(iid: &windows_core::GUID) -> bool {
5837 iid == &<ICoreWebView2ClientCertificateCollection as windows_core::Interface>::IID
5838 }
5839}
5840impl windows_core::RuntimeName for ICoreWebView2ClientCertificateCollection {}
5841windows_core::imp::define_interface!(
5842 ICoreWebView2ClientCertificateRequestedEventArgs,
5843 ICoreWebView2ClientCertificateRequestedEventArgs_Vtbl,
5844 0xbc59db28_bcc3_11eb_8529_0242ac130003
5845);
5846windows_core::imp::interface_hierarchy!(
5847 ICoreWebView2ClientCertificateRequestedEventArgs,
5848 windows_core::IUnknown
5849);
5850impl ICoreWebView2ClientCertificateRequestedEventArgs {
5851 pub unsafe fn Host(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5852 unsafe {
5853 (windows_core::Interface::vtable(self).Host)(
5854 windows_core::Interface::as_raw(self),
5855 value as _,
5856 )
5857 .ok()
5858 }
5859 }
5860 pub unsafe fn Port(&self, value: *mut i32) -> windows_core::Result<()> {
5861 unsafe {
5862 (windows_core::Interface::vtable(self).Port)(
5863 windows_core::Interface::as_raw(self),
5864 value as _,
5865 )
5866 .ok()
5867 }
5868 }
5869 pub unsafe fn IsProxy(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
5870 unsafe {
5871 (windows_core::Interface::vtable(self).IsProxy)(
5872 windows_core::Interface::as_raw(self),
5873 value as _,
5874 )
5875 .ok()
5876 }
5877 }
5878 pub unsafe fn AllowedCertificateAuthorities(
5879 &self,
5880 ) -> windows_core::Result<ICoreWebView2StringCollection> {
5881 unsafe {
5882 let mut result__ = core::mem::zeroed();
5883 (windows_core::Interface::vtable(self).AllowedCertificateAuthorities)(
5884 windows_core::Interface::as_raw(self),
5885 &mut result__,
5886 )
5887 .and_then(|| windows_core::Type::from_abi(result__))
5888 }
5889 }
5890 pub unsafe fn MutuallyTrustedCertificates(
5891 &self,
5892 ) -> windows_core::Result<ICoreWebView2ClientCertificateCollection> {
5893 unsafe {
5894 let mut result__ = core::mem::zeroed();
5895 (windows_core::Interface::vtable(self).MutuallyTrustedCertificates)(
5896 windows_core::Interface::as_raw(self),
5897 &mut result__,
5898 )
5899 .and_then(|| windows_core::Type::from_abi(result__))
5900 }
5901 }
5902 pub unsafe fn SelectedCertificate(
5903 &self,
5904 ) -> windows_core::Result<ICoreWebView2ClientCertificate> {
5905 unsafe {
5906 let mut result__ = core::mem::zeroed();
5907 (windows_core::Interface::vtable(self).SelectedCertificate)(
5908 windows_core::Interface::as_raw(self),
5909 &mut result__,
5910 )
5911 .and_then(|| windows_core::Type::from_abi(result__))
5912 }
5913 }
5914 pub unsafe fn SetSelectedCertificate<P0>(&self, value: P0) -> windows_core::Result<()>
5915 where
5916 P0: windows_core::Param<ICoreWebView2ClientCertificate>,
5917 {
5918 unsafe {
5919 (windows_core::Interface::vtable(self).SetSelectedCertificate)(
5920 windows_core::Interface::as_raw(self),
5921 value.param().abi(),
5922 )
5923 .ok()
5924 }
5925 }
5926 pub unsafe fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
5927 unsafe {
5928 (windows_core::Interface::vtable(self).Cancel)(
5929 windows_core::Interface::as_raw(self),
5930 value as _,
5931 )
5932 .ok()
5933 }
5934 }
5935 pub unsafe fn SetCancel(&self, value: bool) -> windows_core::Result<()> {
5936 unsafe {
5937 (windows_core::Interface::vtable(self).SetCancel)(
5938 windows_core::Interface::as_raw(self),
5939 value.into(),
5940 )
5941 .ok()
5942 }
5943 }
5944 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
5945 unsafe {
5946 (windows_core::Interface::vtable(self).Handled)(
5947 windows_core::Interface::as_raw(self),
5948 value as _,
5949 )
5950 .ok()
5951 }
5952 }
5953 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
5954 unsafe {
5955 (windows_core::Interface::vtable(self).SetHandled)(
5956 windows_core::Interface::as_raw(self),
5957 value.into(),
5958 )
5959 .ok()
5960 }
5961 }
5962 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
5963 unsafe {
5964 let mut result__ = core::mem::zeroed();
5965 (windows_core::Interface::vtable(self).GetDeferral)(
5966 windows_core::Interface::as_raw(self),
5967 &mut result__,
5968 )
5969 .and_then(|| windows_core::Type::from_abi(result__))
5970 }
5971 }
5972}
5973#[repr(C)]
5974#[doc(hidden)]
5975pub struct ICoreWebView2ClientCertificateRequestedEventArgs_Vtbl {
5976 pub base__: windows_core::IUnknown_Vtbl,
5977 pub Host: unsafe extern "system" fn(
5978 *mut core::ffi::c_void,
5979 *mut windows_core::PWSTR,
5980 ) -> windows_core::HRESULT,
5981 pub Port: unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
5982 pub IsProxy: unsafe extern "system" fn(
5983 *mut core::ffi::c_void,
5984 *mut windows_core::BOOL,
5985 ) -> windows_core::HRESULT,
5986 pub AllowedCertificateAuthorities: unsafe extern "system" fn(
5987 *mut core::ffi::c_void,
5988 *mut *mut core::ffi::c_void,
5989 ) -> windows_core::HRESULT,
5990 pub MutuallyTrustedCertificates: unsafe extern "system" fn(
5991 *mut core::ffi::c_void,
5992 *mut *mut core::ffi::c_void,
5993 ) -> windows_core::HRESULT,
5994 pub SelectedCertificate: unsafe extern "system" fn(
5995 *mut core::ffi::c_void,
5996 *mut *mut core::ffi::c_void,
5997 ) -> windows_core::HRESULT,
5998 pub SetSelectedCertificate: unsafe extern "system" fn(
5999 *mut core::ffi::c_void,
6000 *mut core::ffi::c_void,
6001 ) -> windows_core::HRESULT,
6002 pub Cancel: unsafe extern "system" fn(
6003 *mut core::ffi::c_void,
6004 *mut windows_core::BOOL,
6005 ) -> windows_core::HRESULT,
6006 pub SetCancel: unsafe extern "system" fn(
6007 *mut core::ffi::c_void,
6008 windows_core::BOOL,
6009 ) -> windows_core::HRESULT,
6010 pub Handled: unsafe extern "system" fn(
6011 *mut core::ffi::c_void,
6012 *mut windows_core::BOOL,
6013 ) -> windows_core::HRESULT,
6014 pub SetHandled: unsafe extern "system" fn(
6015 *mut core::ffi::c_void,
6016 windows_core::BOOL,
6017 ) -> windows_core::HRESULT,
6018 pub GetDeferral: unsafe extern "system" fn(
6019 *mut core::ffi::c_void,
6020 *mut *mut core::ffi::c_void,
6021 ) -> windows_core::HRESULT,
6022}
6023pub trait ICoreWebView2ClientCertificateRequestedEventArgs_Impl:
6024 windows_core::IUnknownImpl
6025{
6026 fn Host(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
6027 fn Port(&self, value: *mut i32) -> windows_core::Result<()>;
6028 fn IsProxy(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
6029 fn AllowedCertificateAuthorities(&self) -> windows_core::Result<ICoreWebView2StringCollection>;
6030 fn MutuallyTrustedCertificates(
6031 &self,
6032 ) -> windows_core::Result<ICoreWebView2ClientCertificateCollection>;
6033 fn SelectedCertificate(&self) -> windows_core::Result<ICoreWebView2ClientCertificate>;
6034 fn SetSelectedCertificate(
6035 &self,
6036 value: windows_core::Ref<'_, ICoreWebView2ClientCertificate>,
6037 ) -> windows_core::Result<()>;
6038 fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
6039 fn SetCancel(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
6040 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
6041 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
6042 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
6043}
6044impl ICoreWebView2ClientCertificateRequestedEventArgs_Vtbl {
6045 pub const fn new<
6046 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6047 const OFFSET: isize,
6048 >() -> Self {
6049 unsafe extern "system" fn Host<
6050 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6051 const OFFSET: isize,
6052 >(
6053 this: *mut core::ffi::c_void,
6054 value: *mut windows_core::PWSTR,
6055 ) -> windows_core::HRESULT {
6056 unsafe {
6057 let this: &Identity =
6058 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6059 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::Host(
6060 this,
6061 core::mem::transmute_copy(&value),
6062 )
6063 .into()
6064 }
6065 }
6066 unsafe extern "system" fn Port<
6067 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6068 const OFFSET: isize,
6069 >(
6070 this: *mut core::ffi::c_void,
6071 value: *mut i32,
6072 ) -> windows_core::HRESULT {
6073 unsafe {
6074 let this: &Identity =
6075 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6076 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::Port(
6077 this,
6078 core::mem::transmute_copy(&value),
6079 )
6080 .into()
6081 }
6082 }
6083 unsafe extern "system" fn IsProxy<
6084 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6085 const OFFSET: isize,
6086 >(
6087 this: *mut core::ffi::c_void,
6088 value: *mut windows_core::BOOL,
6089 ) -> windows_core::HRESULT {
6090 unsafe {
6091 let this: &Identity =
6092 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6093 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::IsProxy(
6094 this,
6095 core::mem::transmute_copy(&value),
6096 )
6097 .into()
6098 }
6099 }
6100 unsafe extern "system" fn AllowedCertificateAuthorities<
6101 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6102 const OFFSET: isize,
6103 >(
6104 this: *mut core::ffi::c_void,
6105 value: *mut *mut core::ffi::c_void,
6106 ) -> windows_core::HRESULT {
6107 unsafe {
6108 let this: &Identity =
6109 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6110 match ICoreWebView2ClientCertificateRequestedEventArgs_Impl:: AllowedCertificateAuthorities ( this , ) { Ok ( ok__ ) => { value . write ( core::mem::transmute ( ok__ ) ) ; windows_core::HRESULT ( 0 ) } Err ( err ) => err . into ( ) }
6111 }
6112 }
6113 unsafe extern "system" fn MutuallyTrustedCertificates<
6114 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6115 const OFFSET: isize,
6116 >(
6117 this: *mut core::ffi::c_void,
6118 value: *mut *mut core::ffi::c_void,
6119 ) -> windows_core::HRESULT {
6120 unsafe {
6121 let this: &Identity =
6122 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6123 match ICoreWebView2ClientCertificateRequestedEventArgs_Impl:: MutuallyTrustedCertificates ( this , ) { Ok ( ok__ ) => { value . write ( core::mem::transmute ( ok__ ) ) ; windows_core::HRESULT ( 0 ) } Err ( err ) => err . into ( ) }
6124 }
6125 }
6126 unsafe extern "system" fn SelectedCertificate<
6127 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6128 const OFFSET: isize,
6129 >(
6130 this: *mut core::ffi::c_void,
6131 value: *mut *mut core::ffi::c_void,
6132 ) -> windows_core::HRESULT {
6133 unsafe {
6134 let this: &Identity =
6135 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6136 match ICoreWebView2ClientCertificateRequestedEventArgs_Impl::SelectedCertificate(
6137 this,
6138 ) {
6139 Ok(ok__) => {
6140 value.write(core::mem::transmute(ok__));
6141 windows_core::HRESULT(0)
6142 }
6143 Err(err) => err.into(),
6144 }
6145 }
6146 }
6147 unsafe extern "system" fn SetSelectedCertificate<
6148 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6149 const OFFSET: isize,
6150 >(
6151 this: *mut core::ffi::c_void,
6152 value: *mut core::ffi::c_void,
6153 ) -> windows_core::HRESULT {
6154 unsafe {
6155 let this: &Identity =
6156 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6157 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::SetSelectedCertificate(
6158 this,
6159 core::mem::transmute_copy(&value),
6160 )
6161 .into()
6162 }
6163 }
6164 unsafe extern "system" fn Cancel<
6165 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6166 const OFFSET: isize,
6167 >(
6168 this: *mut core::ffi::c_void,
6169 value: *mut windows_core::BOOL,
6170 ) -> windows_core::HRESULT {
6171 unsafe {
6172 let this: &Identity =
6173 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6174 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::Cancel(
6175 this,
6176 core::mem::transmute_copy(&value),
6177 )
6178 .into()
6179 }
6180 }
6181 unsafe extern "system" fn SetCancel<
6182 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6183 const OFFSET: isize,
6184 >(
6185 this: *mut core::ffi::c_void,
6186 value: windows_core::BOOL,
6187 ) -> windows_core::HRESULT {
6188 unsafe {
6189 let this: &Identity =
6190 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6191 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::SetCancel(
6192 this,
6193 core::mem::transmute_copy(&value),
6194 )
6195 .into()
6196 }
6197 }
6198 unsafe extern "system" fn Handled<
6199 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6200 const OFFSET: isize,
6201 >(
6202 this: *mut core::ffi::c_void,
6203 value: *mut windows_core::BOOL,
6204 ) -> windows_core::HRESULT {
6205 unsafe {
6206 let this: &Identity =
6207 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6208 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::Handled(
6209 this,
6210 core::mem::transmute_copy(&value),
6211 )
6212 .into()
6213 }
6214 }
6215 unsafe extern "system" fn SetHandled<
6216 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6217 const OFFSET: isize,
6218 >(
6219 this: *mut core::ffi::c_void,
6220 value: windows_core::BOOL,
6221 ) -> windows_core::HRESULT {
6222 unsafe {
6223 let this: &Identity =
6224 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6225 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::SetHandled(
6226 this,
6227 core::mem::transmute_copy(&value),
6228 )
6229 .into()
6230 }
6231 }
6232 unsafe extern "system" fn GetDeferral<
6233 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6234 const OFFSET: isize,
6235 >(
6236 this: *mut core::ffi::c_void,
6237 deferral: *mut *mut core::ffi::c_void,
6238 ) -> windows_core::HRESULT {
6239 unsafe {
6240 let this: &Identity =
6241 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6242 match ICoreWebView2ClientCertificateRequestedEventArgs_Impl::GetDeferral(this) {
6243 Ok(ok__) => {
6244 deferral.write(core::mem::transmute(ok__));
6245 windows_core::HRESULT(0)
6246 }
6247 Err(err) => err.into(),
6248 }
6249 }
6250 }
6251 Self {
6252 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6253 Host: Host::<Identity, OFFSET>,
6254 Port: Port::<Identity, OFFSET>,
6255 IsProxy: IsProxy::<Identity, OFFSET>,
6256 AllowedCertificateAuthorities: AllowedCertificateAuthorities::<Identity, OFFSET>,
6257 MutuallyTrustedCertificates: MutuallyTrustedCertificates::<Identity, OFFSET>,
6258 SelectedCertificate: SelectedCertificate::<Identity, OFFSET>,
6259 SetSelectedCertificate: SetSelectedCertificate::<Identity, OFFSET>,
6260 Cancel: Cancel::<Identity, OFFSET>,
6261 SetCancel: SetCancel::<Identity, OFFSET>,
6262 Handled: Handled::<Identity, OFFSET>,
6263 SetHandled: SetHandled::<Identity, OFFSET>,
6264 GetDeferral: GetDeferral::<Identity, OFFSET>,
6265 }
6266 }
6267 pub fn matches(iid: &windows_core::GUID) -> bool {
6268 iid == &<ICoreWebView2ClientCertificateRequestedEventArgs as windows_core::Interface>::IID
6269 }
6270}
6271impl windows_core::RuntimeName for ICoreWebView2ClientCertificateRequestedEventArgs {}
6272windows_core::imp::define_interface!(
6273 ICoreWebView2ClientCertificateRequestedEventHandler,
6274 ICoreWebView2ClientCertificateRequestedEventHandler_Vtbl,
6275 0xd7175ba2_bcc3_11eb_8529_0242ac130003
6276);
6277windows_core::imp::interface_hierarchy!(
6278 ICoreWebView2ClientCertificateRequestedEventHandler,
6279 windows_core::IUnknown
6280);
6281impl ICoreWebView2ClientCertificateRequestedEventHandler {
6282 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
6283 where
6284 P0: windows_core::Param<ICoreWebView2>,
6285 P1: windows_core::Param<ICoreWebView2ClientCertificateRequestedEventArgs>,
6286 {
6287 unsafe {
6288 (windows_core::Interface::vtable(self).Invoke)(
6289 windows_core::Interface::as_raw(self),
6290 sender.param().abi(),
6291 args.param().abi(),
6292 )
6293 .ok()
6294 }
6295 }
6296}
6297#[repr(C)]
6298#[doc(hidden)]
6299pub struct ICoreWebView2ClientCertificateRequestedEventHandler_Vtbl {
6300 pub base__: windows_core::IUnknown_Vtbl,
6301 pub Invoke: unsafe extern "system" fn(
6302 *mut core::ffi::c_void,
6303 *mut core::ffi::c_void,
6304 *mut core::ffi::c_void,
6305 ) -> windows_core::HRESULT,
6306}
6307pub trait ICoreWebView2ClientCertificateRequestedEventHandler_Impl:
6308 windows_core::IUnknownImpl
6309{
6310 fn Invoke(
6311 &self,
6312 sender: windows_core::Ref<'_, ICoreWebView2>,
6313 args: windows_core::Ref<'_, ICoreWebView2ClientCertificateRequestedEventArgs>,
6314 ) -> windows_core::Result<()>;
6315}
6316impl ICoreWebView2ClientCertificateRequestedEventHandler_Vtbl {
6317 pub const fn new<
6318 Identity: ICoreWebView2ClientCertificateRequestedEventHandler_Impl,
6319 const OFFSET: isize,
6320 >() -> Self {
6321 unsafe extern "system" fn Invoke<
6322 Identity: ICoreWebView2ClientCertificateRequestedEventHandler_Impl,
6323 const OFFSET: isize,
6324 >(
6325 this: *mut core::ffi::c_void,
6326 sender: *mut core::ffi::c_void,
6327 args: *mut core::ffi::c_void,
6328 ) -> windows_core::HRESULT {
6329 unsafe {
6330 let this: &Identity =
6331 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6332 ICoreWebView2ClientCertificateRequestedEventHandler_Impl::Invoke(
6333 this,
6334 core::mem::transmute_copy(&sender),
6335 core::mem::transmute_copy(&args),
6336 )
6337 .into()
6338 }
6339 }
6340 Self {
6341 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6342 Invoke: Invoke::<Identity, OFFSET>,
6343 }
6344 }
6345 pub fn matches(iid: &windows_core::GUID) -> bool {
6346 iid == & < ICoreWebView2ClientCertificateRequestedEventHandler as windows_core::Interface >::IID
6347 }
6348}
6349impl windows_core::RuntimeName for ICoreWebView2ClientCertificateRequestedEventHandler {}
6350windows_core::imp::define_interface!(
6351 ICoreWebView2CompositionController,
6352 ICoreWebView2CompositionController_Vtbl,
6353 0x3df9b733_b9ae_4a15_86b4_eb9ee9826469
6354);
6355windows_core::imp::interface_hierarchy!(ICoreWebView2CompositionController, windows_core::IUnknown);
6356impl ICoreWebView2CompositionController {
6357 pub unsafe fn RootVisualTarget(&self) -> windows_core::Result<windows_core::IUnknown> {
6358 unsafe {
6359 let mut result__ = core::mem::zeroed();
6360 (windows_core::Interface::vtable(self).RootVisualTarget)(
6361 windows_core::Interface::as_raw(self),
6362 &mut result__,
6363 )
6364 .and_then(|| windows_core::Type::from_abi(result__))
6365 }
6366 }
6367 pub unsafe fn SetRootVisualTarget<P0>(&self, target: P0) -> windows_core::Result<()>
6368 where
6369 P0: windows_core::Param<windows_core::IUnknown>,
6370 {
6371 unsafe {
6372 (windows_core::Interface::vtable(self).SetRootVisualTarget)(
6373 windows_core::Interface::as_raw(self),
6374 target.param().abi(),
6375 )
6376 .ok()
6377 }
6378 }
6379 pub unsafe fn SendMouseInput(
6380 &self,
6381 eventkind: COREWEBVIEW2_MOUSE_EVENT_KIND,
6382 virtualkeys: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
6383 mousedata: u32,
6384 point: windows::Win32::Foundation::POINT,
6385 ) -> windows_core::Result<()> {
6386 unsafe {
6387 (windows_core::Interface::vtable(self).SendMouseInput)(
6388 windows_core::Interface::as_raw(self),
6389 eventkind,
6390 virtualkeys,
6391 mousedata,
6392 core::mem::transmute(point),
6393 )
6394 .ok()
6395 }
6396 }
6397 pub unsafe fn SendPointerInput<P1>(
6398 &self,
6399 eventkind: COREWEBVIEW2_POINTER_EVENT_KIND,
6400 pointerinfo: P1,
6401 ) -> windows_core::Result<()>
6402 where
6403 P1: windows_core::Param<ICoreWebView2PointerInfo>,
6404 {
6405 unsafe {
6406 (windows_core::Interface::vtable(self).SendPointerInput)(
6407 windows_core::Interface::as_raw(self),
6408 eventkind,
6409 pointerinfo.param().abi(),
6410 )
6411 .ok()
6412 }
6413 }
6414 pub unsafe fn Cursor(
6415 &self,
6416 cursor: *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
6417 ) -> windows_core::Result<()> {
6418 unsafe {
6419 (windows_core::Interface::vtable(self).Cursor)(
6420 windows_core::Interface::as_raw(self),
6421 cursor as _,
6422 )
6423 .ok()
6424 }
6425 }
6426 pub unsafe fn SystemCursorId(&self, systemcursorid: *mut u32) -> windows_core::Result<()> {
6427 unsafe {
6428 (windows_core::Interface::vtable(self).SystemCursorId)(
6429 windows_core::Interface::as_raw(self),
6430 systemcursorid as _,
6431 )
6432 .ok()
6433 }
6434 }
6435 pub unsafe fn add_CursorChanged<P0>(
6436 &self,
6437 eventhandler: P0,
6438 token: *mut i64,
6439 ) -> windows_core::Result<()>
6440 where
6441 P0: windows_core::Param<ICoreWebView2CursorChangedEventHandler>,
6442 {
6443 unsafe {
6444 (windows_core::Interface::vtable(self).add_CursorChanged)(
6445 windows_core::Interface::as_raw(self),
6446 eventhandler.param().abi(),
6447 token as _,
6448 )
6449 .ok()
6450 }
6451 }
6452 pub unsafe fn remove_CursorChanged(&self, token: i64) -> windows_core::Result<()> {
6453 unsafe {
6454 (windows_core::Interface::vtable(self).remove_CursorChanged)(
6455 windows_core::Interface::as_raw(self),
6456 token,
6457 )
6458 .ok()
6459 }
6460 }
6461}
6462#[repr(C)]
6463#[doc(hidden)]
6464pub struct ICoreWebView2CompositionController_Vtbl {
6465 pub base__: windows_core::IUnknown_Vtbl,
6466 pub RootVisualTarget: unsafe extern "system" fn(
6467 *mut core::ffi::c_void,
6468 *mut *mut core::ffi::c_void,
6469 ) -> windows_core::HRESULT,
6470 pub SetRootVisualTarget: unsafe extern "system" fn(
6471 *mut core::ffi::c_void,
6472 *mut core::ffi::c_void,
6473 ) -> windows_core::HRESULT,
6474 pub SendMouseInput: unsafe extern "system" fn(
6475 *mut core::ffi::c_void,
6476 COREWEBVIEW2_MOUSE_EVENT_KIND,
6477 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
6478 u32,
6479 windows::Win32::Foundation::POINT,
6480 ) -> windows_core::HRESULT,
6481 pub SendPointerInput: unsafe extern "system" fn(
6482 *mut core::ffi::c_void,
6483 COREWEBVIEW2_POINTER_EVENT_KIND,
6484 *mut core::ffi::c_void,
6485 ) -> windows_core::HRESULT,
6486 pub Cursor: unsafe extern "system" fn(
6487 *mut core::ffi::c_void,
6488 *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
6489 ) -> windows_core::HRESULT,
6490 pub SystemCursorId:
6491 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
6492 pub add_CursorChanged: unsafe extern "system" fn(
6493 *mut core::ffi::c_void,
6494 *mut core::ffi::c_void,
6495 *mut i64,
6496 ) -> windows_core::HRESULT,
6497 pub remove_CursorChanged:
6498 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
6499}
6500pub trait ICoreWebView2CompositionController_Impl: windows_core::IUnknownImpl {
6501 fn RootVisualTarget(&self) -> windows_core::Result<windows_core::IUnknown>;
6502 fn SetRootVisualTarget(
6503 &self,
6504 target: windows_core::Ref<'_, windows_core::IUnknown>,
6505 ) -> windows_core::Result<()>;
6506 fn SendMouseInput(
6507 &self,
6508 eventkind: COREWEBVIEW2_MOUSE_EVENT_KIND,
6509 virtualkeys: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
6510 mousedata: u32,
6511 point: &windows::Win32::Foundation::POINT,
6512 ) -> windows_core::Result<()>;
6513 fn SendPointerInput(
6514 &self,
6515 eventkind: COREWEBVIEW2_POINTER_EVENT_KIND,
6516 pointerinfo: windows_core::Ref<'_, ICoreWebView2PointerInfo>,
6517 ) -> windows_core::Result<()>;
6518 fn Cursor(
6519 &self,
6520 cursor: *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
6521 ) -> windows_core::Result<()>;
6522 fn SystemCursorId(&self, systemcursorid: *mut u32) -> windows_core::Result<()>;
6523 fn add_CursorChanged(
6524 &self,
6525 eventhandler: windows_core::Ref<'_, ICoreWebView2CursorChangedEventHandler>,
6526 token: *mut i64,
6527 ) -> windows_core::Result<()>;
6528 fn remove_CursorChanged(&self, token: i64) -> windows_core::Result<()>;
6529}
6530impl ICoreWebView2CompositionController_Vtbl {
6531 pub const fn new<Identity: ICoreWebView2CompositionController_Impl, const OFFSET: isize>(
6532 ) -> Self {
6533 unsafe extern "system" fn RootVisualTarget<
6534 Identity: ICoreWebView2CompositionController_Impl,
6535 const OFFSET: isize,
6536 >(
6537 this: *mut core::ffi::c_void,
6538 target: *mut *mut core::ffi::c_void,
6539 ) -> windows_core::HRESULT {
6540 unsafe {
6541 let this: &Identity =
6542 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6543 match ICoreWebView2CompositionController_Impl::RootVisualTarget(this) {
6544 Ok(ok__) => {
6545 target.write(core::mem::transmute(ok__));
6546 windows_core::HRESULT(0)
6547 }
6548 Err(err) => err.into(),
6549 }
6550 }
6551 }
6552 unsafe extern "system" fn SetRootVisualTarget<
6553 Identity: ICoreWebView2CompositionController_Impl,
6554 const OFFSET: isize,
6555 >(
6556 this: *mut core::ffi::c_void,
6557 target: *mut core::ffi::c_void,
6558 ) -> windows_core::HRESULT {
6559 unsafe {
6560 let this: &Identity =
6561 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6562 ICoreWebView2CompositionController_Impl::SetRootVisualTarget(
6563 this,
6564 core::mem::transmute_copy(&target),
6565 )
6566 .into()
6567 }
6568 }
6569 unsafe extern "system" fn SendMouseInput<
6570 Identity: ICoreWebView2CompositionController_Impl,
6571 const OFFSET: isize,
6572 >(
6573 this: *mut core::ffi::c_void,
6574 eventkind: COREWEBVIEW2_MOUSE_EVENT_KIND,
6575 virtualkeys: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
6576 mousedata: u32,
6577 point: windows::Win32::Foundation::POINT,
6578 ) -> windows_core::HRESULT {
6579 unsafe {
6580 let this: &Identity =
6581 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6582 ICoreWebView2CompositionController_Impl::SendMouseInput(
6583 this,
6584 core::mem::transmute_copy(&eventkind),
6585 core::mem::transmute_copy(&virtualkeys),
6586 core::mem::transmute_copy(&mousedata),
6587 core::mem::transmute(&point),
6588 )
6589 .into()
6590 }
6591 }
6592 unsafe extern "system" fn SendPointerInput<
6593 Identity: ICoreWebView2CompositionController_Impl,
6594 const OFFSET: isize,
6595 >(
6596 this: *mut core::ffi::c_void,
6597 eventkind: COREWEBVIEW2_POINTER_EVENT_KIND,
6598 pointerinfo: *mut core::ffi::c_void,
6599 ) -> windows_core::HRESULT {
6600 unsafe {
6601 let this: &Identity =
6602 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6603 ICoreWebView2CompositionController_Impl::SendPointerInput(
6604 this,
6605 core::mem::transmute_copy(&eventkind),
6606 core::mem::transmute_copy(&pointerinfo),
6607 )
6608 .into()
6609 }
6610 }
6611 unsafe extern "system" fn Cursor<
6612 Identity: ICoreWebView2CompositionController_Impl,
6613 const OFFSET: isize,
6614 >(
6615 this: *mut core::ffi::c_void,
6616 cursor: *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
6617 ) -> windows_core::HRESULT {
6618 unsafe {
6619 let this: &Identity =
6620 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6621 ICoreWebView2CompositionController_Impl::Cursor(
6622 this,
6623 core::mem::transmute_copy(&cursor),
6624 )
6625 .into()
6626 }
6627 }
6628 unsafe extern "system" fn SystemCursorId<
6629 Identity: ICoreWebView2CompositionController_Impl,
6630 const OFFSET: isize,
6631 >(
6632 this: *mut core::ffi::c_void,
6633 systemcursorid: *mut u32,
6634 ) -> windows_core::HRESULT {
6635 unsafe {
6636 let this: &Identity =
6637 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6638 ICoreWebView2CompositionController_Impl::SystemCursorId(
6639 this,
6640 core::mem::transmute_copy(&systemcursorid),
6641 )
6642 .into()
6643 }
6644 }
6645 unsafe extern "system" fn add_CursorChanged<
6646 Identity: ICoreWebView2CompositionController_Impl,
6647 const OFFSET: isize,
6648 >(
6649 this: *mut core::ffi::c_void,
6650 eventhandler: *mut core::ffi::c_void,
6651 token: *mut i64,
6652 ) -> windows_core::HRESULT {
6653 unsafe {
6654 let this: &Identity =
6655 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6656 ICoreWebView2CompositionController_Impl::add_CursorChanged(
6657 this,
6658 core::mem::transmute_copy(&eventhandler),
6659 core::mem::transmute_copy(&token),
6660 )
6661 .into()
6662 }
6663 }
6664 unsafe extern "system" fn remove_CursorChanged<
6665 Identity: ICoreWebView2CompositionController_Impl,
6666 const OFFSET: isize,
6667 >(
6668 this: *mut core::ffi::c_void,
6669 token: i64,
6670 ) -> windows_core::HRESULT {
6671 unsafe {
6672 let this: &Identity =
6673 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6674 ICoreWebView2CompositionController_Impl::remove_CursorChanged(
6675 this,
6676 core::mem::transmute_copy(&token),
6677 )
6678 .into()
6679 }
6680 }
6681 Self {
6682 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6683 RootVisualTarget: RootVisualTarget::<Identity, OFFSET>,
6684 SetRootVisualTarget: SetRootVisualTarget::<Identity, OFFSET>,
6685 SendMouseInput: SendMouseInput::<Identity, OFFSET>,
6686 SendPointerInput: SendPointerInput::<Identity, OFFSET>,
6687 Cursor: Cursor::<Identity, OFFSET>,
6688 SystemCursorId: SystemCursorId::<Identity, OFFSET>,
6689 add_CursorChanged: add_CursorChanged::<Identity, OFFSET>,
6690 remove_CursorChanged: remove_CursorChanged::<Identity, OFFSET>,
6691 }
6692 }
6693 pub fn matches(iid: &windows_core::GUID) -> bool {
6694 iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
6695 }
6696}
6697impl windows_core::RuntimeName for ICoreWebView2CompositionController {}
6698windows_core::imp::define_interface!(
6699 ICoreWebView2CompositionController2,
6700 ICoreWebView2CompositionController2_Vtbl,
6701 0x0b6a3d24_49cb_4806_ba20_b5e0734a7b26
6702);
6703impl core::ops::Deref for ICoreWebView2CompositionController2 {
6704 type Target = ICoreWebView2CompositionController;
6705 fn deref(&self) -> &Self::Target {
6706 unsafe { core::mem::transmute(self) }
6707 }
6708}
6709windows_core::imp::interface_hierarchy!(
6710 ICoreWebView2CompositionController2,
6711 windows_core::IUnknown,
6712 ICoreWebView2CompositionController
6713);
6714impl ICoreWebView2CompositionController2 {
6715 pub unsafe fn AutomationProvider(&self) -> windows_core::Result<windows_core::IUnknown> {
6716 unsafe {
6717 let mut result__ = core::mem::zeroed();
6718 (windows_core::Interface::vtable(self).AutomationProvider)(
6719 windows_core::Interface::as_raw(self),
6720 &mut result__,
6721 )
6722 .and_then(|| windows_core::Type::from_abi(result__))
6723 }
6724 }
6725}
6726#[repr(C)]
6727#[doc(hidden)]
6728pub struct ICoreWebView2CompositionController2_Vtbl {
6729 pub base__: ICoreWebView2CompositionController_Vtbl,
6730 pub AutomationProvider: unsafe extern "system" fn(
6731 *mut core::ffi::c_void,
6732 *mut *mut core::ffi::c_void,
6733 ) -> windows_core::HRESULT,
6734}
6735pub trait ICoreWebView2CompositionController2_Impl:
6736 ICoreWebView2CompositionController_Impl
6737{
6738 fn AutomationProvider(&self) -> windows_core::Result<windows_core::IUnknown>;
6739}
6740impl ICoreWebView2CompositionController2_Vtbl {
6741 pub const fn new<Identity: ICoreWebView2CompositionController2_Impl, const OFFSET: isize>(
6742 ) -> Self {
6743 unsafe extern "system" fn AutomationProvider<
6744 Identity: ICoreWebView2CompositionController2_Impl,
6745 const OFFSET: isize,
6746 >(
6747 this: *mut core::ffi::c_void,
6748 value: *mut *mut core::ffi::c_void,
6749 ) -> windows_core::HRESULT {
6750 unsafe {
6751 let this: &Identity =
6752 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6753 match ICoreWebView2CompositionController2_Impl::AutomationProvider(this) {
6754 Ok(ok__) => {
6755 value.write(core::mem::transmute(ok__));
6756 windows_core::HRESULT(0)
6757 }
6758 Err(err) => err.into(),
6759 }
6760 }
6761 }
6762 Self {
6763 base__: ICoreWebView2CompositionController_Vtbl::new::<Identity, OFFSET>(),
6764 AutomationProvider: AutomationProvider::<Identity, OFFSET>,
6765 }
6766 }
6767 pub fn matches(iid: &windows_core::GUID) -> bool {
6768 iid == &<ICoreWebView2CompositionController2 as windows_core::Interface>::IID
6769 || iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
6770 }
6771}
6772impl windows_core::RuntimeName for ICoreWebView2CompositionController2 {}
6773windows_core::imp::define_interface!(
6774 ICoreWebView2CompositionController3,
6775 ICoreWebView2CompositionController3_Vtbl,
6776 0x9570570e_4d76_4361_9ee1_f04d0dbdfb1e
6777);
6778impl core::ops::Deref for ICoreWebView2CompositionController3 {
6779 type Target = ICoreWebView2CompositionController2;
6780 fn deref(&self) -> &Self::Target {
6781 unsafe { core::mem::transmute(self) }
6782 }
6783}
6784windows_core::imp::interface_hierarchy!(
6785 ICoreWebView2CompositionController3,
6786 windows_core::IUnknown,
6787 ICoreWebView2CompositionController,
6788 ICoreWebView2CompositionController2
6789);
6790impl ICoreWebView2CompositionController3 {
6791 pub unsafe fn DragEnter<P0>(
6792 &self,
6793 dataobject: P0,
6794 keystate: u32,
6795 point: windows::Win32::Foundation::POINT,
6796 effect: *mut u32,
6797 ) -> windows_core::Result<()>
6798 where
6799 P0: windows_core::Param<windows::Win32::System::Com::IDataObject>,
6800 {
6801 unsafe {
6802 (windows_core::Interface::vtable(self).DragEnter)(
6803 windows_core::Interface::as_raw(self),
6804 dataobject.param().abi(),
6805 keystate,
6806 core::mem::transmute(point),
6807 effect as _,
6808 )
6809 .ok()
6810 }
6811 }
6812 pub unsafe fn DragLeave(&self) -> windows_core::Result<()> {
6813 unsafe {
6814 (windows_core::Interface::vtable(self).DragLeave)(windows_core::Interface::as_raw(self))
6815 .ok()
6816 }
6817 }
6818 pub unsafe fn DragOver(
6819 &self,
6820 keystate: u32,
6821 point: windows::Win32::Foundation::POINT,
6822 effect: *mut u32,
6823 ) -> windows_core::Result<()> {
6824 unsafe {
6825 (windows_core::Interface::vtable(self).DragOver)(
6826 windows_core::Interface::as_raw(self),
6827 keystate,
6828 core::mem::transmute(point),
6829 effect as _,
6830 )
6831 .ok()
6832 }
6833 }
6834 pub unsafe fn Drop<P0>(
6835 &self,
6836 dataobject: P0,
6837 keystate: u32,
6838 point: windows::Win32::Foundation::POINT,
6839 effect: *mut u32,
6840 ) -> windows_core::Result<()>
6841 where
6842 P0: windows_core::Param<windows::Win32::System::Com::IDataObject>,
6843 {
6844 unsafe {
6845 (windows_core::Interface::vtable(self).Drop)(
6846 windows_core::Interface::as_raw(self),
6847 dataobject.param().abi(),
6848 keystate,
6849 core::mem::transmute(point),
6850 effect as _,
6851 )
6852 .ok()
6853 }
6854 }
6855}
6856#[repr(C)]
6857#[doc(hidden)]
6858pub struct ICoreWebView2CompositionController3_Vtbl {
6859 pub base__: ICoreWebView2CompositionController2_Vtbl,
6860 pub DragEnter: unsafe extern "system" fn(
6861 *mut core::ffi::c_void,
6862 *mut core::ffi::c_void,
6863 u32,
6864 windows::Win32::Foundation::POINT,
6865 *mut u32,
6866 ) -> windows_core::HRESULT,
6867 pub DragLeave: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
6868 pub DragOver: unsafe extern "system" fn(
6869 *mut core::ffi::c_void,
6870 u32,
6871 windows::Win32::Foundation::POINT,
6872 *mut u32,
6873 ) -> windows_core::HRESULT,
6874 pub Drop: unsafe extern "system" fn(
6875 *mut core::ffi::c_void,
6876 *mut core::ffi::c_void,
6877 u32,
6878 windows::Win32::Foundation::POINT,
6879 *mut u32,
6880 ) -> windows_core::HRESULT,
6881}
6882pub trait ICoreWebView2CompositionController3_Impl:
6883 ICoreWebView2CompositionController2_Impl
6884{
6885 fn DragEnter(
6886 &self,
6887 dataobject: windows_core::Ref<'_, windows::Win32::System::Com::IDataObject>,
6888 keystate: u32,
6889 point: &windows::Win32::Foundation::POINT,
6890 effect: *mut u32,
6891 ) -> windows_core::Result<()>;
6892 fn DragLeave(&self) -> windows_core::Result<()>;
6893 fn DragOver(
6894 &self,
6895 keystate: u32,
6896 point: &windows::Win32::Foundation::POINT,
6897 effect: *mut u32,
6898 ) -> windows_core::Result<()>;
6899 fn Drop(
6900 &self,
6901 dataobject: windows_core::Ref<'_, windows::Win32::System::Com::IDataObject>,
6902 keystate: u32,
6903 point: &windows::Win32::Foundation::POINT,
6904 effect: *mut u32,
6905 ) -> windows_core::Result<()>;
6906}
6907impl ICoreWebView2CompositionController3_Vtbl {
6908 pub const fn new<Identity: ICoreWebView2CompositionController3_Impl, const OFFSET: isize>(
6909 ) -> Self {
6910 unsafe extern "system" fn DragEnter<
6911 Identity: ICoreWebView2CompositionController3_Impl,
6912 const OFFSET: isize,
6913 >(
6914 this: *mut core::ffi::c_void,
6915 dataobject: *mut core::ffi::c_void,
6916 keystate: u32,
6917 point: windows::Win32::Foundation::POINT,
6918 effect: *mut u32,
6919 ) -> windows_core::HRESULT {
6920 unsafe {
6921 let this: &Identity =
6922 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6923 ICoreWebView2CompositionController3_Impl::DragEnter(
6924 this,
6925 core::mem::transmute_copy(&dataobject),
6926 core::mem::transmute_copy(&keystate),
6927 core::mem::transmute(&point),
6928 core::mem::transmute_copy(&effect),
6929 )
6930 .into()
6931 }
6932 }
6933 unsafe extern "system" fn DragLeave<
6934 Identity: ICoreWebView2CompositionController3_Impl,
6935 const OFFSET: isize,
6936 >(
6937 this: *mut core::ffi::c_void,
6938 ) -> windows_core::HRESULT {
6939 unsafe {
6940 let this: &Identity =
6941 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6942 ICoreWebView2CompositionController3_Impl::DragLeave(this).into()
6943 }
6944 }
6945 unsafe extern "system" fn DragOver<
6946 Identity: ICoreWebView2CompositionController3_Impl,
6947 const OFFSET: isize,
6948 >(
6949 this: *mut core::ffi::c_void,
6950 keystate: u32,
6951 point: windows::Win32::Foundation::POINT,
6952 effect: *mut u32,
6953 ) -> windows_core::HRESULT {
6954 unsafe {
6955 let this: &Identity =
6956 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6957 ICoreWebView2CompositionController3_Impl::DragOver(
6958 this,
6959 core::mem::transmute_copy(&keystate),
6960 core::mem::transmute(&point),
6961 core::mem::transmute_copy(&effect),
6962 )
6963 .into()
6964 }
6965 }
6966 unsafe extern "system" fn Drop<
6967 Identity: ICoreWebView2CompositionController3_Impl,
6968 const OFFSET: isize,
6969 >(
6970 this: *mut core::ffi::c_void,
6971 dataobject: *mut core::ffi::c_void,
6972 keystate: u32,
6973 point: windows::Win32::Foundation::POINT,
6974 effect: *mut u32,
6975 ) -> windows_core::HRESULT {
6976 unsafe {
6977 let this: &Identity =
6978 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6979 ICoreWebView2CompositionController3_Impl::Drop(
6980 this,
6981 core::mem::transmute_copy(&dataobject),
6982 core::mem::transmute_copy(&keystate),
6983 core::mem::transmute(&point),
6984 core::mem::transmute_copy(&effect),
6985 )
6986 .into()
6987 }
6988 }
6989 Self {
6990 base__: ICoreWebView2CompositionController2_Vtbl::new::<Identity, OFFSET>(),
6991 DragEnter: DragEnter::<Identity, OFFSET>,
6992 DragLeave: DragLeave::<Identity, OFFSET>,
6993 DragOver: DragOver::<Identity, OFFSET>,
6994 Drop: Drop::<Identity, OFFSET>,
6995 }
6996 }
6997 pub fn matches(iid: &windows_core::GUID) -> bool {
6998 iid == &<ICoreWebView2CompositionController3 as windows_core::Interface>::IID
6999 || iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
7000 || iid == &<ICoreWebView2CompositionController2 as windows_core::Interface>::IID
7001 }
7002}
7003impl windows_core::RuntimeName for ICoreWebView2CompositionController3 {}
7004windows_core::imp::define_interface!(
7005 ICoreWebView2CompositionController4,
7006 ICoreWebView2CompositionController4_Vtbl,
7007 0x7c367b9b_3d2b_450f_9e58_d61a20f486aa
7008);
7009impl core::ops::Deref for ICoreWebView2CompositionController4 {
7010 type Target = ICoreWebView2CompositionController3;
7011 fn deref(&self) -> &Self::Target {
7012 unsafe { core::mem::transmute(self) }
7013 }
7014}
7015windows_core::imp::interface_hierarchy!(
7016 ICoreWebView2CompositionController4,
7017 windows_core::IUnknown,
7018 ICoreWebView2CompositionController,
7019 ICoreWebView2CompositionController2,
7020 ICoreWebView2CompositionController3
7021);
7022impl ICoreWebView2CompositionController4 {
7023 pub unsafe fn GetNonClientRegionAtPoint(
7024 &self,
7025 point: windows::Win32::Foundation::POINT,
7026 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7027 ) -> windows_core::Result<()> {
7028 unsafe {
7029 (windows_core::Interface::vtable(self).GetNonClientRegionAtPoint)(
7030 windows_core::Interface::as_raw(self),
7031 core::mem::transmute(point),
7032 value as _,
7033 )
7034 .ok()
7035 }
7036 }
7037 pub unsafe fn QueryNonClientRegion(
7038 &self,
7039 kind: COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7040 ) -> windows_core::Result<ICoreWebView2RegionRectCollectionView> {
7041 unsafe {
7042 let mut result__ = core::mem::zeroed();
7043 (windows_core::Interface::vtable(self).QueryNonClientRegion)(
7044 windows_core::Interface::as_raw(self),
7045 kind,
7046 &mut result__,
7047 )
7048 .and_then(|| windows_core::Type::from_abi(result__))
7049 }
7050 }
7051 pub unsafe fn add_NonClientRegionChanged<P0>(
7052 &self,
7053 eventhandler: P0,
7054 token: *mut i64,
7055 ) -> windows_core::Result<()>
7056 where
7057 P0: windows_core::Param<ICoreWebView2NonClientRegionChangedEventHandler>,
7058 {
7059 unsafe {
7060 (windows_core::Interface::vtable(self).add_NonClientRegionChanged)(
7061 windows_core::Interface::as_raw(self),
7062 eventhandler.param().abi(),
7063 token as _,
7064 )
7065 .ok()
7066 }
7067 }
7068 pub unsafe fn remove_NonClientRegionChanged(&self, token: i64) -> windows_core::Result<()> {
7069 unsafe {
7070 (windows_core::Interface::vtable(self).remove_NonClientRegionChanged)(
7071 windows_core::Interface::as_raw(self),
7072 token,
7073 )
7074 .ok()
7075 }
7076 }
7077}
7078#[repr(C)]
7079#[doc(hidden)]
7080pub struct ICoreWebView2CompositionController4_Vtbl {
7081 pub base__: ICoreWebView2CompositionController3_Vtbl,
7082 pub GetNonClientRegionAtPoint: unsafe extern "system" fn(
7083 *mut core::ffi::c_void,
7084 windows::Win32::Foundation::POINT,
7085 *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7086 ) -> windows_core::HRESULT,
7087 pub QueryNonClientRegion: unsafe extern "system" fn(
7088 *mut core::ffi::c_void,
7089 COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7090 *mut *mut core::ffi::c_void,
7091 ) -> windows_core::HRESULT,
7092 pub add_NonClientRegionChanged: unsafe extern "system" fn(
7093 *mut core::ffi::c_void,
7094 *mut core::ffi::c_void,
7095 *mut i64,
7096 ) -> windows_core::HRESULT,
7097 pub remove_NonClientRegionChanged:
7098 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
7099}
7100pub trait ICoreWebView2CompositionController4_Impl:
7101 ICoreWebView2CompositionController3_Impl
7102{
7103 fn GetNonClientRegionAtPoint(
7104 &self,
7105 point: &windows::Win32::Foundation::POINT,
7106 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7107 ) -> windows_core::Result<()>;
7108 fn QueryNonClientRegion(
7109 &self,
7110 kind: COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7111 ) -> windows_core::Result<ICoreWebView2RegionRectCollectionView>;
7112 fn add_NonClientRegionChanged(
7113 &self,
7114 eventhandler: windows_core::Ref<'_, ICoreWebView2NonClientRegionChangedEventHandler>,
7115 token: *mut i64,
7116 ) -> windows_core::Result<()>;
7117 fn remove_NonClientRegionChanged(&self, token: i64) -> windows_core::Result<()>;
7118}
7119impl ICoreWebView2CompositionController4_Vtbl {
7120 pub const fn new<Identity: ICoreWebView2CompositionController4_Impl, const OFFSET: isize>(
7121 ) -> Self {
7122 unsafe extern "system" fn GetNonClientRegionAtPoint<
7123 Identity: ICoreWebView2CompositionController4_Impl,
7124 const OFFSET: isize,
7125 >(
7126 this: *mut core::ffi::c_void,
7127 point: windows::Win32::Foundation::POINT,
7128 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7129 ) -> windows_core::HRESULT {
7130 unsafe {
7131 let this: &Identity =
7132 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7133 ICoreWebView2CompositionController4_Impl::GetNonClientRegionAtPoint(
7134 this,
7135 core::mem::transmute(&point),
7136 core::mem::transmute_copy(&value),
7137 )
7138 .into()
7139 }
7140 }
7141 unsafe extern "system" fn QueryNonClientRegion<
7142 Identity: ICoreWebView2CompositionController4_Impl,
7143 const OFFSET: isize,
7144 >(
7145 this: *mut core::ffi::c_void,
7146 kind: COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7147 rects: *mut *mut core::ffi::c_void,
7148 ) -> windows_core::HRESULT {
7149 unsafe {
7150 let this: &Identity =
7151 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7152 match ICoreWebView2CompositionController4_Impl::QueryNonClientRegion(
7153 this,
7154 core::mem::transmute_copy(&kind),
7155 ) {
7156 Ok(ok__) => {
7157 rects.write(core::mem::transmute(ok__));
7158 windows_core::HRESULT(0)
7159 }
7160 Err(err) => err.into(),
7161 }
7162 }
7163 }
7164 unsafe extern "system" fn add_NonClientRegionChanged<
7165 Identity: ICoreWebView2CompositionController4_Impl,
7166 const OFFSET: isize,
7167 >(
7168 this: *mut core::ffi::c_void,
7169 eventhandler: *mut core::ffi::c_void,
7170 token: *mut i64,
7171 ) -> windows_core::HRESULT {
7172 unsafe {
7173 let this: &Identity =
7174 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7175 ICoreWebView2CompositionController4_Impl::add_NonClientRegionChanged(
7176 this,
7177 core::mem::transmute_copy(&eventhandler),
7178 core::mem::transmute_copy(&token),
7179 )
7180 .into()
7181 }
7182 }
7183 unsafe extern "system" fn remove_NonClientRegionChanged<
7184 Identity: ICoreWebView2CompositionController4_Impl,
7185 const OFFSET: isize,
7186 >(
7187 this: *mut core::ffi::c_void,
7188 token: i64,
7189 ) -> windows_core::HRESULT {
7190 unsafe {
7191 let this: &Identity =
7192 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7193 ICoreWebView2CompositionController4_Impl::remove_NonClientRegionChanged(
7194 this,
7195 core::mem::transmute_copy(&token),
7196 )
7197 .into()
7198 }
7199 }
7200 Self {
7201 base__: ICoreWebView2CompositionController3_Vtbl::new::<Identity, OFFSET>(),
7202 GetNonClientRegionAtPoint: GetNonClientRegionAtPoint::<Identity, OFFSET>,
7203 QueryNonClientRegion: QueryNonClientRegion::<Identity, OFFSET>,
7204 add_NonClientRegionChanged: add_NonClientRegionChanged::<Identity, OFFSET>,
7205 remove_NonClientRegionChanged: remove_NonClientRegionChanged::<Identity, OFFSET>,
7206 }
7207 }
7208 pub fn matches(iid: &windows_core::GUID) -> bool {
7209 iid == &<ICoreWebView2CompositionController4 as windows_core::Interface>::IID
7210 || iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
7211 || iid == &<ICoreWebView2CompositionController2 as windows_core::Interface>::IID
7212 || iid == &<ICoreWebView2CompositionController3 as windows_core::Interface>::IID
7213 }
7214}
7215impl windows_core::RuntimeName for ICoreWebView2CompositionController4 {}
7216windows_core::imp::define_interface!(
7217 ICoreWebView2ContainsFullScreenElementChangedEventHandler,
7218 ICoreWebView2ContainsFullScreenElementChangedEventHandler_Vtbl,
7219 0xe45d98b1_afef_45be_8baf_6c7728867f73
7220);
7221windows_core::imp::interface_hierarchy!(
7222 ICoreWebView2ContainsFullScreenElementChangedEventHandler,
7223 windows_core::IUnknown
7224);
7225impl ICoreWebView2ContainsFullScreenElementChangedEventHandler {
7226 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
7227 where
7228 P0: windows_core::Param<ICoreWebView2>,
7229 P1: windows_core::Param<windows_core::IUnknown>,
7230 {
7231 unsafe {
7232 (windows_core::Interface::vtable(self).Invoke)(
7233 windows_core::Interface::as_raw(self),
7234 sender.param().abi(),
7235 args.param().abi(),
7236 )
7237 .ok()
7238 }
7239 }
7240}
7241#[repr(C)]
7242#[doc(hidden)]
7243pub struct ICoreWebView2ContainsFullScreenElementChangedEventHandler_Vtbl {
7244 pub base__: windows_core::IUnknown_Vtbl,
7245 pub Invoke: unsafe extern "system" fn(
7246 *mut core::ffi::c_void,
7247 *mut core::ffi::c_void,
7248 *mut core::ffi::c_void,
7249 ) -> windows_core::HRESULT,
7250}
7251pub trait ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl:
7252 windows_core::IUnknownImpl
7253{
7254 fn Invoke(
7255 &self,
7256 sender: windows_core::Ref<'_, ICoreWebView2>,
7257 args: windows_core::Ref<'_, windows_core::IUnknown>,
7258 ) -> windows_core::Result<()>;
7259}
7260impl ICoreWebView2ContainsFullScreenElementChangedEventHandler_Vtbl {
7261 pub const fn new<
7262 Identity: ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl,
7263 const OFFSET: isize,
7264 >() -> Self {
7265 unsafe extern "system" fn Invoke<
7266 Identity: ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl,
7267 const OFFSET: isize,
7268 >(
7269 this: *mut core::ffi::c_void,
7270 sender: *mut core::ffi::c_void,
7271 args: *mut core::ffi::c_void,
7272 ) -> windows_core::HRESULT {
7273 unsafe {
7274 let this: &Identity =
7275 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7276 ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl::Invoke(
7277 this,
7278 core::mem::transmute_copy(&sender),
7279 core::mem::transmute_copy(&args),
7280 )
7281 .into()
7282 }
7283 }
7284 Self {
7285 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7286 Invoke: Invoke::<Identity, OFFSET>,
7287 }
7288 }
7289 pub fn matches(iid: &windows_core::GUID) -> bool {
7290 iid == & < ICoreWebView2ContainsFullScreenElementChangedEventHandler as windows_core::Interface >::IID
7291 }
7292}
7293impl windows_core::RuntimeName for ICoreWebView2ContainsFullScreenElementChangedEventHandler {}
7294windows_core::imp::define_interface!(
7295 ICoreWebView2ContentLoadingEventArgs,
7296 ICoreWebView2ContentLoadingEventArgs_Vtbl,
7297 0x0c8a1275_9b6b_4901_87ad_70df25bafa6e
7298);
7299windows_core::imp::interface_hierarchy!(
7300 ICoreWebView2ContentLoadingEventArgs,
7301 windows_core::IUnknown
7302);
7303impl ICoreWebView2ContentLoadingEventArgs {
7304 pub unsafe fn IsErrorPage(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
7305 unsafe {
7306 (windows_core::Interface::vtable(self).IsErrorPage)(
7307 windows_core::Interface::as_raw(self),
7308 value as _,
7309 )
7310 .ok()
7311 }
7312 }
7313 pub unsafe fn NavigationId(&self, value: *mut u64) -> windows_core::Result<()> {
7314 unsafe {
7315 (windows_core::Interface::vtable(self).NavigationId)(
7316 windows_core::Interface::as_raw(self),
7317 value as _,
7318 )
7319 .ok()
7320 }
7321 }
7322}
7323#[repr(C)]
7324#[doc(hidden)]
7325pub struct ICoreWebView2ContentLoadingEventArgs_Vtbl {
7326 pub base__: windows_core::IUnknown_Vtbl,
7327 pub IsErrorPage: unsafe extern "system" fn(
7328 *mut core::ffi::c_void,
7329 *mut windows_core::BOOL,
7330 ) -> windows_core::HRESULT,
7331 pub NavigationId:
7332 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
7333}
7334pub trait ICoreWebView2ContentLoadingEventArgs_Impl: windows_core::IUnknownImpl {
7335 fn IsErrorPage(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
7336 fn NavigationId(&self, value: *mut u64) -> windows_core::Result<()>;
7337}
7338impl ICoreWebView2ContentLoadingEventArgs_Vtbl {
7339 pub const fn new<Identity: ICoreWebView2ContentLoadingEventArgs_Impl, const OFFSET: isize>(
7340 ) -> Self {
7341 unsafe extern "system" fn IsErrorPage<
7342 Identity: ICoreWebView2ContentLoadingEventArgs_Impl,
7343 const OFFSET: isize,
7344 >(
7345 this: *mut core::ffi::c_void,
7346 value: *mut windows_core::BOOL,
7347 ) -> windows_core::HRESULT {
7348 unsafe {
7349 let this: &Identity =
7350 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7351 ICoreWebView2ContentLoadingEventArgs_Impl::IsErrorPage(
7352 this,
7353 core::mem::transmute_copy(&value),
7354 )
7355 .into()
7356 }
7357 }
7358 unsafe extern "system" fn NavigationId<
7359 Identity: ICoreWebView2ContentLoadingEventArgs_Impl,
7360 const OFFSET: isize,
7361 >(
7362 this: *mut core::ffi::c_void,
7363 value: *mut u64,
7364 ) -> windows_core::HRESULT {
7365 unsafe {
7366 let this: &Identity =
7367 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7368 ICoreWebView2ContentLoadingEventArgs_Impl::NavigationId(
7369 this,
7370 core::mem::transmute_copy(&value),
7371 )
7372 .into()
7373 }
7374 }
7375 Self {
7376 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7377 IsErrorPage: IsErrorPage::<Identity, OFFSET>,
7378 NavigationId: NavigationId::<Identity, OFFSET>,
7379 }
7380 }
7381 pub fn matches(iid: &windows_core::GUID) -> bool {
7382 iid == &<ICoreWebView2ContentLoadingEventArgs as windows_core::Interface>::IID
7383 }
7384}
7385impl windows_core::RuntimeName for ICoreWebView2ContentLoadingEventArgs {}
7386windows_core::imp::define_interface!(
7387 ICoreWebView2ContentLoadingEventHandler,
7388 ICoreWebView2ContentLoadingEventHandler_Vtbl,
7389 0x364471e7_f2be_4910_bdba_d72077d51c4b
7390);
7391windows_core::imp::interface_hierarchy!(
7392 ICoreWebView2ContentLoadingEventHandler,
7393 windows_core::IUnknown
7394);
7395impl ICoreWebView2ContentLoadingEventHandler {
7396 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
7397 where
7398 P0: windows_core::Param<ICoreWebView2>,
7399 P1: windows_core::Param<ICoreWebView2ContentLoadingEventArgs>,
7400 {
7401 unsafe {
7402 (windows_core::Interface::vtable(self).Invoke)(
7403 windows_core::Interface::as_raw(self),
7404 sender.param().abi(),
7405 args.param().abi(),
7406 )
7407 .ok()
7408 }
7409 }
7410}
7411#[repr(C)]
7412#[doc(hidden)]
7413pub struct ICoreWebView2ContentLoadingEventHandler_Vtbl {
7414 pub base__: windows_core::IUnknown_Vtbl,
7415 pub Invoke: unsafe extern "system" fn(
7416 *mut core::ffi::c_void,
7417 *mut core::ffi::c_void,
7418 *mut core::ffi::c_void,
7419 ) -> windows_core::HRESULT,
7420}
7421pub trait ICoreWebView2ContentLoadingEventHandler_Impl: windows_core::IUnknownImpl {
7422 fn Invoke(
7423 &self,
7424 sender: windows_core::Ref<'_, ICoreWebView2>,
7425 args: windows_core::Ref<'_, ICoreWebView2ContentLoadingEventArgs>,
7426 ) -> windows_core::Result<()>;
7427}
7428impl ICoreWebView2ContentLoadingEventHandler_Vtbl {
7429 pub const fn new<
7430 Identity: ICoreWebView2ContentLoadingEventHandler_Impl,
7431 const OFFSET: isize,
7432 >() -> Self {
7433 unsafe extern "system" fn Invoke<
7434 Identity: ICoreWebView2ContentLoadingEventHandler_Impl,
7435 const OFFSET: isize,
7436 >(
7437 this: *mut core::ffi::c_void,
7438 sender: *mut core::ffi::c_void,
7439 args: *mut core::ffi::c_void,
7440 ) -> windows_core::HRESULT {
7441 unsafe {
7442 let this: &Identity =
7443 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7444 ICoreWebView2ContentLoadingEventHandler_Impl::Invoke(
7445 this,
7446 core::mem::transmute_copy(&sender),
7447 core::mem::transmute_copy(&args),
7448 )
7449 .into()
7450 }
7451 }
7452 Self {
7453 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7454 Invoke: Invoke::<Identity, OFFSET>,
7455 }
7456 }
7457 pub fn matches(iid: &windows_core::GUID) -> bool {
7458 iid == &<ICoreWebView2ContentLoadingEventHandler as windows_core::Interface>::IID
7459 }
7460}
7461impl windows_core::RuntimeName for ICoreWebView2ContentLoadingEventHandler {}
7462windows_core::imp::define_interface!(
7463 ICoreWebView2ContextMenuItem,
7464 ICoreWebView2ContextMenuItem_Vtbl,
7465 0x7aed49e3_a93f_497a_811c_749c6b6b6c65
7466);
7467windows_core::imp::interface_hierarchy!(ICoreWebView2ContextMenuItem, windows_core::IUnknown);
7468impl ICoreWebView2ContextMenuItem {
7469 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
7470 unsafe {
7471 (windows_core::Interface::vtable(self).Name)(
7472 windows_core::Interface::as_raw(self),
7473 value as _,
7474 )
7475 .ok()
7476 }
7477 }
7478 pub unsafe fn Label(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
7479 unsafe {
7480 (windows_core::Interface::vtable(self).Label)(
7481 windows_core::Interface::as_raw(self),
7482 value as _,
7483 )
7484 .ok()
7485 }
7486 }
7487 pub unsafe fn CommandId(&self, value: *mut i32) -> windows_core::Result<()> {
7488 unsafe {
7489 (windows_core::Interface::vtable(self).CommandId)(
7490 windows_core::Interface::as_raw(self),
7491 value as _,
7492 )
7493 .ok()
7494 }
7495 }
7496 pub unsafe fn ShortcutKeyDescription(
7497 &self,
7498 value: *mut windows_core::PWSTR,
7499 ) -> windows_core::Result<()> {
7500 unsafe {
7501 (windows_core::Interface::vtable(self).ShortcutKeyDescription)(
7502 windows_core::Interface::as_raw(self),
7503 value as _,
7504 )
7505 .ok()
7506 }
7507 }
7508 pub unsafe fn Icon(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
7509 unsafe {
7510 let mut result__ = core::mem::zeroed();
7511 (windows_core::Interface::vtable(self).Icon)(
7512 windows_core::Interface::as_raw(self),
7513 &mut result__,
7514 )
7515 .and_then(|| windows_core::Type::from_abi(result__))
7516 }
7517 }
7518 pub unsafe fn Kind(
7519 &self,
7520 value: *mut COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
7521 ) -> windows_core::Result<()> {
7522 unsafe {
7523 (windows_core::Interface::vtable(self).Kind)(
7524 windows_core::Interface::as_raw(self),
7525 value as _,
7526 )
7527 .ok()
7528 }
7529 }
7530 pub unsafe fn SetIsEnabled(&self, value: bool) -> windows_core::Result<()> {
7531 unsafe {
7532 (windows_core::Interface::vtable(self).SetIsEnabled)(
7533 windows_core::Interface::as_raw(self),
7534 value.into(),
7535 )
7536 .ok()
7537 }
7538 }
7539 pub unsafe fn IsEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
7540 unsafe {
7541 (windows_core::Interface::vtable(self).IsEnabled)(
7542 windows_core::Interface::as_raw(self),
7543 value as _,
7544 )
7545 .ok()
7546 }
7547 }
7548 pub unsafe fn SetIsChecked(&self, value: bool) -> windows_core::Result<()> {
7549 unsafe {
7550 (windows_core::Interface::vtable(self).SetIsChecked)(
7551 windows_core::Interface::as_raw(self),
7552 value.into(),
7553 )
7554 .ok()
7555 }
7556 }
7557 pub unsafe fn IsChecked(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
7558 unsafe {
7559 (windows_core::Interface::vtable(self).IsChecked)(
7560 windows_core::Interface::as_raw(self),
7561 value as _,
7562 )
7563 .ok()
7564 }
7565 }
7566 pub unsafe fn Children(&self) -> windows_core::Result<ICoreWebView2ContextMenuItemCollection> {
7567 unsafe {
7568 let mut result__ = core::mem::zeroed();
7569 (windows_core::Interface::vtable(self).Children)(
7570 windows_core::Interface::as_raw(self),
7571 &mut result__,
7572 )
7573 .and_then(|| windows_core::Type::from_abi(result__))
7574 }
7575 }
7576 pub unsafe fn add_CustomItemSelected<P0>(
7577 &self,
7578 eventhandler: P0,
7579 token: *mut i64,
7580 ) -> windows_core::Result<()>
7581 where
7582 P0: windows_core::Param<ICoreWebView2CustomItemSelectedEventHandler>,
7583 {
7584 unsafe {
7585 (windows_core::Interface::vtable(self).add_CustomItemSelected)(
7586 windows_core::Interface::as_raw(self),
7587 eventhandler.param().abi(),
7588 token as _,
7589 )
7590 .ok()
7591 }
7592 }
7593 pub unsafe fn remove_CustomItemSelected(&self, token: i64) -> windows_core::Result<()> {
7594 unsafe {
7595 (windows_core::Interface::vtable(self).remove_CustomItemSelected)(
7596 windows_core::Interface::as_raw(self),
7597 token,
7598 )
7599 .ok()
7600 }
7601 }
7602}
7603#[repr(C)]
7604#[doc(hidden)]
7605pub struct ICoreWebView2ContextMenuItem_Vtbl {
7606 pub base__: windows_core::IUnknown_Vtbl,
7607 pub Name: unsafe extern "system" fn(
7608 *mut core::ffi::c_void,
7609 *mut windows_core::PWSTR,
7610 ) -> windows_core::HRESULT,
7611 pub Label: unsafe extern "system" fn(
7612 *mut core::ffi::c_void,
7613 *mut windows_core::PWSTR,
7614 ) -> windows_core::HRESULT,
7615 pub CommandId:
7616 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
7617 pub ShortcutKeyDescription: unsafe extern "system" fn(
7618 *mut core::ffi::c_void,
7619 *mut windows_core::PWSTR,
7620 ) -> windows_core::HRESULT,
7621 pub Icon: unsafe extern "system" fn(
7622 *mut core::ffi::c_void,
7623 *mut *mut core::ffi::c_void,
7624 ) -> windows_core::HRESULT,
7625 pub Kind: unsafe extern "system" fn(
7626 *mut core::ffi::c_void,
7627 *mut COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
7628 ) -> windows_core::HRESULT,
7629 pub SetIsEnabled: unsafe extern "system" fn(
7630 *mut core::ffi::c_void,
7631 windows_core::BOOL,
7632 ) -> windows_core::HRESULT,
7633 pub IsEnabled: unsafe extern "system" fn(
7634 *mut core::ffi::c_void,
7635 *mut windows_core::BOOL,
7636 ) -> windows_core::HRESULT,
7637 pub SetIsChecked: unsafe extern "system" fn(
7638 *mut core::ffi::c_void,
7639 windows_core::BOOL,
7640 ) -> windows_core::HRESULT,
7641 pub IsChecked: unsafe extern "system" fn(
7642 *mut core::ffi::c_void,
7643 *mut windows_core::BOOL,
7644 ) -> windows_core::HRESULT,
7645 pub Children: unsafe extern "system" fn(
7646 *mut core::ffi::c_void,
7647 *mut *mut core::ffi::c_void,
7648 ) -> windows_core::HRESULT,
7649 pub add_CustomItemSelected: unsafe extern "system" fn(
7650 *mut core::ffi::c_void,
7651 *mut core::ffi::c_void,
7652 *mut i64,
7653 ) -> windows_core::HRESULT,
7654 pub remove_CustomItemSelected:
7655 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
7656}
7657pub trait ICoreWebView2ContextMenuItem_Impl: windows_core::IUnknownImpl {
7658 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
7659 fn Label(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
7660 fn CommandId(&self, value: *mut i32) -> windows_core::Result<()>;
7661 fn ShortcutKeyDescription(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
7662 fn Icon(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
7663 fn Kind(&self, value: *mut COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND) -> windows_core::Result<()>;
7664 fn SetIsEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
7665 fn IsEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
7666 fn SetIsChecked(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
7667 fn IsChecked(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
7668 fn Children(&self) -> windows_core::Result<ICoreWebView2ContextMenuItemCollection>;
7669 fn add_CustomItemSelected(
7670 &self,
7671 eventhandler: windows_core::Ref<'_, ICoreWebView2CustomItemSelectedEventHandler>,
7672 token: *mut i64,
7673 ) -> windows_core::Result<()>;
7674 fn remove_CustomItemSelected(&self, token: i64) -> windows_core::Result<()>;
7675}
7676impl ICoreWebView2ContextMenuItem_Vtbl {
7677 pub const fn new<Identity: ICoreWebView2ContextMenuItem_Impl, const OFFSET: isize>() -> Self {
7678 unsafe extern "system" fn Name<
7679 Identity: ICoreWebView2ContextMenuItem_Impl,
7680 const OFFSET: isize,
7681 >(
7682 this: *mut core::ffi::c_void,
7683 value: *mut windows_core::PWSTR,
7684 ) -> windows_core::HRESULT {
7685 unsafe {
7686 let this: &Identity =
7687 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7688 ICoreWebView2ContextMenuItem_Impl::Name(this, core::mem::transmute_copy(&value))
7689 .into()
7690 }
7691 }
7692 unsafe extern "system" fn Label<
7693 Identity: ICoreWebView2ContextMenuItem_Impl,
7694 const OFFSET: isize,
7695 >(
7696 this: *mut core::ffi::c_void,
7697 value: *mut windows_core::PWSTR,
7698 ) -> windows_core::HRESULT {
7699 unsafe {
7700 let this: &Identity =
7701 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7702 ICoreWebView2ContextMenuItem_Impl::Label(this, core::mem::transmute_copy(&value))
7703 .into()
7704 }
7705 }
7706 unsafe extern "system" fn CommandId<
7707 Identity: ICoreWebView2ContextMenuItem_Impl,
7708 const OFFSET: isize,
7709 >(
7710 this: *mut core::ffi::c_void,
7711 value: *mut i32,
7712 ) -> windows_core::HRESULT {
7713 unsafe {
7714 let this: &Identity =
7715 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7716 ICoreWebView2ContextMenuItem_Impl::CommandId(
7717 this,
7718 core::mem::transmute_copy(&value),
7719 )
7720 .into()
7721 }
7722 }
7723 unsafe extern "system" fn ShortcutKeyDescription<
7724 Identity: ICoreWebView2ContextMenuItem_Impl,
7725 const OFFSET: isize,
7726 >(
7727 this: *mut core::ffi::c_void,
7728 value: *mut windows_core::PWSTR,
7729 ) -> windows_core::HRESULT {
7730 unsafe {
7731 let this: &Identity =
7732 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7733 ICoreWebView2ContextMenuItem_Impl::ShortcutKeyDescription(
7734 this,
7735 core::mem::transmute_copy(&value),
7736 )
7737 .into()
7738 }
7739 }
7740 unsafe extern "system" fn Icon<
7741 Identity: ICoreWebView2ContextMenuItem_Impl,
7742 const OFFSET: isize,
7743 >(
7744 this: *mut core::ffi::c_void,
7745 value: *mut *mut core::ffi::c_void,
7746 ) -> windows_core::HRESULT {
7747 unsafe {
7748 let this: &Identity =
7749 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7750 match ICoreWebView2ContextMenuItem_Impl::Icon(this) {
7751 Ok(ok__) => {
7752 value.write(core::mem::transmute(ok__));
7753 windows_core::HRESULT(0)
7754 }
7755 Err(err) => err.into(),
7756 }
7757 }
7758 }
7759 unsafe extern "system" fn Kind<
7760 Identity: ICoreWebView2ContextMenuItem_Impl,
7761 const OFFSET: isize,
7762 >(
7763 this: *mut core::ffi::c_void,
7764 value: *mut COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
7765 ) -> windows_core::HRESULT {
7766 unsafe {
7767 let this: &Identity =
7768 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7769 ICoreWebView2ContextMenuItem_Impl::Kind(this, core::mem::transmute_copy(&value))
7770 .into()
7771 }
7772 }
7773 unsafe extern "system" fn SetIsEnabled<
7774 Identity: ICoreWebView2ContextMenuItem_Impl,
7775 const OFFSET: isize,
7776 >(
7777 this: *mut core::ffi::c_void,
7778 value: windows_core::BOOL,
7779 ) -> windows_core::HRESULT {
7780 unsafe {
7781 let this: &Identity =
7782 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7783 ICoreWebView2ContextMenuItem_Impl::SetIsEnabled(
7784 this,
7785 core::mem::transmute_copy(&value),
7786 )
7787 .into()
7788 }
7789 }
7790 unsafe extern "system" fn IsEnabled<
7791 Identity: ICoreWebView2ContextMenuItem_Impl,
7792 const OFFSET: isize,
7793 >(
7794 this: *mut core::ffi::c_void,
7795 value: *mut windows_core::BOOL,
7796 ) -> windows_core::HRESULT {
7797 unsafe {
7798 let this: &Identity =
7799 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7800 ICoreWebView2ContextMenuItem_Impl::IsEnabled(
7801 this,
7802 core::mem::transmute_copy(&value),
7803 )
7804 .into()
7805 }
7806 }
7807 unsafe extern "system" fn SetIsChecked<
7808 Identity: ICoreWebView2ContextMenuItem_Impl,
7809 const OFFSET: isize,
7810 >(
7811 this: *mut core::ffi::c_void,
7812 value: windows_core::BOOL,
7813 ) -> windows_core::HRESULT {
7814 unsafe {
7815 let this: &Identity =
7816 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7817 ICoreWebView2ContextMenuItem_Impl::SetIsChecked(
7818 this,
7819 core::mem::transmute_copy(&value),
7820 )
7821 .into()
7822 }
7823 }
7824 unsafe extern "system" fn IsChecked<
7825 Identity: ICoreWebView2ContextMenuItem_Impl,
7826 const OFFSET: isize,
7827 >(
7828 this: *mut core::ffi::c_void,
7829 value: *mut windows_core::BOOL,
7830 ) -> windows_core::HRESULT {
7831 unsafe {
7832 let this: &Identity =
7833 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7834 ICoreWebView2ContextMenuItem_Impl::IsChecked(
7835 this,
7836 core::mem::transmute_copy(&value),
7837 )
7838 .into()
7839 }
7840 }
7841 unsafe extern "system" fn Children<
7842 Identity: ICoreWebView2ContextMenuItem_Impl,
7843 const OFFSET: isize,
7844 >(
7845 this: *mut core::ffi::c_void,
7846 value: *mut *mut core::ffi::c_void,
7847 ) -> windows_core::HRESULT {
7848 unsafe {
7849 let this: &Identity =
7850 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7851 match ICoreWebView2ContextMenuItem_Impl::Children(this) {
7852 Ok(ok__) => {
7853 value.write(core::mem::transmute(ok__));
7854 windows_core::HRESULT(0)
7855 }
7856 Err(err) => err.into(),
7857 }
7858 }
7859 }
7860 unsafe extern "system" fn add_CustomItemSelected<
7861 Identity: ICoreWebView2ContextMenuItem_Impl,
7862 const OFFSET: isize,
7863 >(
7864 this: *mut core::ffi::c_void,
7865 eventhandler: *mut core::ffi::c_void,
7866 token: *mut i64,
7867 ) -> windows_core::HRESULT {
7868 unsafe {
7869 let this: &Identity =
7870 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7871 ICoreWebView2ContextMenuItem_Impl::add_CustomItemSelected(
7872 this,
7873 core::mem::transmute_copy(&eventhandler),
7874 core::mem::transmute_copy(&token),
7875 )
7876 .into()
7877 }
7878 }
7879 unsafe extern "system" fn remove_CustomItemSelected<
7880 Identity: ICoreWebView2ContextMenuItem_Impl,
7881 const OFFSET: isize,
7882 >(
7883 this: *mut core::ffi::c_void,
7884 token: i64,
7885 ) -> windows_core::HRESULT {
7886 unsafe {
7887 let this: &Identity =
7888 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7889 ICoreWebView2ContextMenuItem_Impl::remove_CustomItemSelected(
7890 this,
7891 core::mem::transmute_copy(&token),
7892 )
7893 .into()
7894 }
7895 }
7896 Self {
7897 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7898 Name: Name::<Identity, OFFSET>,
7899 Label: Label::<Identity, OFFSET>,
7900 CommandId: CommandId::<Identity, OFFSET>,
7901 ShortcutKeyDescription: ShortcutKeyDescription::<Identity, OFFSET>,
7902 Icon: Icon::<Identity, OFFSET>,
7903 Kind: Kind::<Identity, OFFSET>,
7904 SetIsEnabled: SetIsEnabled::<Identity, OFFSET>,
7905 IsEnabled: IsEnabled::<Identity, OFFSET>,
7906 SetIsChecked: SetIsChecked::<Identity, OFFSET>,
7907 IsChecked: IsChecked::<Identity, OFFSET>,
7908 Children: Children::<Identity, OFFSET>,
7909 add_CustomItemSelected: add_CustomItemSelected::<Identity, OFFSET>,
7910 remove_CustomItemSelected: remove_CustomItemSelected::<Identity, OFFSET>,
7911 }
7912 }
7913 pub fn matches(iid: &windows_core::GUID) -> bool {
7914 iid == &<ICoreWebView2ContextMenuItem as windows_core::Interface>::IID
7915 }
7916}
7917impl windows_core::RuntimeName for ICoreWebView2ContextMenuItem {}
7918windows_core::imp::define_interface!(
7919 ICoreWebView2ContextMenuItemCollection,
7920 ICoreWebView2ContextMenuItemCollection_Vtbl,
7921 0xf562a2f5_c415_45cf_b909_d4b7c1e276d3
7922);
7923windows_core::imp::interface_hierarchy!(
7924 ICoreWebView2ContextMenuItemCollection,
7925 windows_core::IUnknown
7926);
7927impl ICoreWebView2ContextMenuItemCollection {
7928 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
7929 unsafe {
7930 (windows_core::Interface::vtable(self).Count)(
7931 windows_core::Interface::as_raw(self),
7932 value as _,
7933 )
7934 .ok()
7935 }
7936 }
7937 pub unsafe fn GetValueAtIndex(
7938 &self,
7939 index: u32,
7940 ) -> windows_core::Result<ICoreWebView2ContextMenuItem> {
7941 unsafe {
7942 let mut result__ = core::mem::zeroed();
7943 (windows_core::Interface::vtable(self).GetValueAtIndex)(
7944 windows_core::Interface::as_raw(self),
7945 index,
7946 &mut result__,
7947 )
7948 .and_then(|| windows_core::Type::from_abi(result__))
7949 }
7950 }
7951 pub unsafe fn RemoveValueAtIndex(&self, index: u32) -> windows_core::Result<()> {
7952 unsafe {
7953 (windows_core::Interface::vtable(self).RemoveValueAtIndex)(
7954 windows_core::Interface::as_raw(self),
7955 index,
7956 )
7957 .ok()
7958 }
7959 }
7960 pub unsafe fn InsertValueAtIndex<P1>(&self, index: u32, value: P1) -> windows_core::Result<()>
7961 where
7962 P1: windows_core::Param<ICoreWebView2ContextMenuItem>,
7963 {
7964 unsafe {
7965 (windows_core::Interface::vtable(self).InsertValueAtIndex)(
7966 windows_core::Interface::as_raw(self),
7967 index,
7968 value.param().abi(),
7969 )
7970 .ok()
7971 }
7972 }
7973}
7974#[repr(C)]
7975#[doc(hidden)]
7976pub struct ICoreWebView2ContextMenuItemCollection_Vtbl {
7977 pub base__: windows_core::IUnknown_Vtbl,
7978 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
7979 pub GetValueAtIndex: unsafe extern "system" fn(
7980 *mut core::ffi::c_void,
7981 u32,
7982 *mut *mut core::ffi::c_void,
7983 ) -> windows_core::HRESULT,
7984 pub RemoveValueAtIndex:
7985 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
7986 pub InsertValueAtIndex: unsafe extern "system" fn(
7987 *mut core::ffi::c_void,
7988 u32,
7989 *mut core::ffi::c_void,
7990 ) -> windows_core::HRESULT,
7991}
7992pub trait ICoreWebView2ContextMenuItemCollection_Impl: windows_core::IUnknownImpl {
7993 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
7994 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2ContextMenuItem>;
7995 fn RemoveValueAtIndex(&self, index: u32) -> windows_core::Result<()>;
7996 fn InsertValueAtIndex(
7997 &self,
7998 index: u32,
7999 value: windows_core::Ref<'_, ICoreWebView2ContextMenuItem>,
8000 ) -> windows_core::Result<()>;
8001}
8002impl ICoreWebView2ContextMenuItemCollection_Vtbl {
8003 pub const fn new<Identity: ICoreWebView2ContextMenuItemCollection_Impl, const OFFSET: isize>(
8004 ) -> Self {
8005 unsafe extern "system" fn Count<
8006 Identity: ICoreWebView2ContextMenuItemCollection_Impl,
8007 const OFFSET: isize,
8008 >(
8009 this: *mut core::ffi::c_void,
8010 value: *mut u32,
8011 ) -> windows_core::HRESULT {
8012 unsafe {
8013 let this: &Identity =
8014 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8015 ICoreWebView2ContextMenuItemCollection_Impl::Count(
8016 this,
8017 core::mem::transmute_copy(&value),
8018 )
8019 .into()
8020 }
8021 }
8022 unsafe extern "system" fn GetValueAtIndex<
8023 Identity: ICoreWebView2ContextMenuItemCollection_Impl,
8024 const OFFSET: isize,
8025 >(
8026 this: *mut core::ffi::c_void,
8027 index: u32,
8028 value: *mut *mut core::ffi::c_void,
8029 ) -> windows_core::HRESULT {
8030 unsafe {
8031 let this: &Identity =
8032 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8033 match ICoreWebView2ContextMenuItemCollection_Impl::GetValueAtIndex(
8034 this,
8035 core::mem::transmute_copy(&index),
8036 ) {
8037 Ok(ok__) => {
8038 value.write(core::mem::transmute(ok__));
8039 windows_core::HRESULT(0)
8040 }
8041 Err(err) => err.into(),
8042 }
8043 }
8044 }
8045 unsafe extern "system" fn RemoveValueAtIndex<
8046 Identity: ICoreWebView2ContextMenuItemCollection_Impl,
8047 const OFFSET: isize,
8048 >(
8049 this: *mut core::ffi::c_void,
8050 index: u32,
8051 ) -> windows_core::HRESULT {
8052 unsafe {
8053 let this: &Identity =
8054 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8055 ICoreWebView2ContextMenuItemCollection_Impl::RemoveValueAtIndex(
8056 this,
8057 core::mem::transmute_copy(&index),
8058 )
8059 .into()
8060 }
8061 }
8062 unsafe extern "system" fn InsertValueAtIndex<
8063 Identity: ICoreWebView2ContextMenuItemCollection_Impl,
8064 const OFFSET: isize,
8065 >(
8066 this: *mut core::ffi::c_void,
8067 index: u32,
8068 value: *mut core::ffi::c_void,
8069 ) -> windows_core::HRESULT {
8070 unsafe {
8071 let this: &Identity =
8072 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8073 ICoreWebView2ContextMenuItemCollection_Impl::InsertValueAtIndex(
8074 this,
8075 core::mem::transmute_copy(&index),
8076 core::mem::transmute_copy(&value),
8077 )
8078 .into()
8079 }
8080 }
8081 Self {
8082 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8083 Count: Count::<Identity, OFFSET>,
8084 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
8085 RemoveValueAtIndex: RemoveValueAtIndex::<Identity, OFFSET>,
8086 InsertValueAtIndex: InsertValueAtIndex::<Identity, OFFSET>,
8087 }
8088 }
8089 pub fn matches(iid: &windows_core::GUID) -> bool {
8090 iid == &<ICoreWebView2ContextMenuItemCollection as windows_core::Interface>::IID
8091 }
8092}
8093impl windows_core::RuntimeName for ICoreWebView2ContextMenuItemCollection {}
8094windows_core::imp::define_interface!(
8095 ICoreWebView2ContextMenuRequestedEventArgs,
8096 ICoreWebView2ContextMenuRequestedEventArgs_Vtbl,
8097 0xa1d309ee_c03f_11eb_8529_0242ac130003
8098);
8099windows_core::imp::interface_hierarchy!(
8100 ICoreWebView2ContextMenuRequestedEventArgs,
8101 windows_core::IUnknown
8102);
8103impl ICoreWebView2ContextMenuRequestedEventArgs {
8104 pub unsafe fn MenuItems(&self) -> windows_core::Result<ICoreWebView2ContextMenuItemCollection> {
8105 unsafe {
8106 let mut result__ = core::mem::zeroed();
8107 (windows_core::Interface::vtable(self).MenuItems)(
8108 windows_core::Interface::as_raw(self),
8109 &mut result__,
8110 )
8111 .and_then(|| windows_core::Type::from_abi(result__))
8112 }
8113 }
8114 pub unsafe fn ContextMenuTarget(&self) -> windows_core::Result<ICoreWebView2ContextMenuTarget> {
8115 unsafe {
8116 let mut result__ = core::mem::zeroed();
8117 (windows_core::Interface::vtable(self).ContextMenuTarget)(
8118 windows_core::Interface::as_raw(self),
8119 &mut result__,
8120 )
8121 .and_then(|| windows_core::Type::from_abi(result__))
8122 }
8123 }
8124 pub unsafe fn Location(
8125 &self,
8126 value: *mut windows::Win32::Foundation::POINT,
8127 ) -> windows_core::Result<()> {
8128 unsafe {
8129 (windows_core::Interface::vtable(self).Location)(
8130 windows_core::Interface::as_raw(self),
8131 value as _,
8132 )
8133 .ok()
8134 }
8135 }
8136 pub unsafe fn SetSelectedCommandId(&self, value: i32) -> windows_core::Result<()> {
8137 unsafe {
8138 (windows_core::Interface::vtable(self).SetSelectedCommandId)(
8139 windows_core::Interface::as_raw(self),
8140 value,
8141 )
8142 .ok()
8143 }
8144 }
8145 pub unsafe fn SelectedCommandId(&self, value: *mut i32) -> windows_core::Result<()> {
8146 unsafe {
8147 (windows_core::Interface::vtable(self).SelectedCommandId)(
8148 windows_core::Interface::as_raw(self),
8149 value as _,
8150 )
8151 .ok()
8152 }
8153 }
8154 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
8155 unsafe {
8156 (windows_core::Interface::vtable(self).SetHandled)(
8157 windows_core::Interface::as_raw(self),
8158 value.into(),
8159 )
8160 .ok()
8161 }
8162 }
8163 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8164 unsafe {
8165 (windows_core::Interface::vtable(self).Handled)(
8166 windows_core::Interface::as_raw(self),
8167 value as _,
8168 )
8169 .ok()
8170 }
8171 }
8172 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
8173 unsafe {
8174 let mut result__ = core::mem::zeroed();
8175 (windows_core::Interface::vtable(self).GetDeferral)(
8176 windows_core::Interface::as_raw(self),
8177 &mut result__,
8178 )
8179 .and_then(|| windows_core::Type::from_abi(result__))
8180 }
8181 }
8182}
8183#[repr(C)]
8184#[doc(hidden)]
8185pub struct ICoreWebView2ContextMenuRequestedEventArgs_Vtbl {
8186 pub base__: windows_core::IUnknown_Vtbl,
8187 pub MenuItems: unsafe extern "system" fn(
8188 *mut core::ffi::c_void,
8189 *mut *mut core::ffi::c_void,
8190 ) -> windows_core::HRESULT,
8191 pub ContextMenuTarget: unsafe extern "system" fn(
8192 *mut core::ffi::c_void,
8193 *mut *mut core::ffi::c_void,
8194 ) -> windows_core::HRESULT,
8195 pub Location: unsafe extern "system" fn(
8196 *mut core::ffi::c_void,
8197 *mut windows::Win32::Foundation::POINT,
8198 ) -> windows_core::HRESULT,
8199 pub SetSelectedCommandId:
8200 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
8201 pub SelectedCommandId:
8202 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
8203 pub SetHandled: unsafe extern "system" fn(
8204 *mut core::ffi::c_void,
8205 windows_core::BOOL,
8206 ) -> windows_core::HRESULT,
8207 pub Handled: unsafe extern "system" fn(
8208 *mut core::ffi::c_void,
8209 *mut windows_core::BOOL,
8210 ) -> windows_core::HRESULT,
8211 pub GetDeferral: unsafe extern "system" fn(
8212 *mut core::ffi::c_void,
8213 *mut *mut core::ffi::c_void,
8214 ) -> windows_core::HRESULT,
8215}
8216pub trait ICoreWebView2ContextMenuRequestedEventArgs_Impl: windows_core::IUnknownImpl {
8217 fn MenuItems(&self) -> windows_core::Result<ICoreWebView2ContextMenuItemCollection>;
8218 fn ContextMenuTarget(&self) -> windows_core::Result<ICoreWebView2ContextMenuTarget>;
8219 fn Location(&self, value: *mut windows::Win32::Foundation::POINT) -> windows_core::Result<()>;
8220 fn SetSelectedCommandId(&self, value: i32) -> windows_core::Result<()>;
8221 fn SelectedCommandId(&self, value: *mut i32) -> windows_core::Result<()>;
8222 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
8223 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8224 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
8225}
8226impl ICoreWebView2ContextMenuRequestedEventArgs_Vtbl {
8227 pub const fn new<
8228 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8229 const OFFSET: isize,
8230 >() -> Self {
8231 unsafe extern "system" fn MenuItems<
8232 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8233 const OFFSET: isize,
8234 >(
8235 this: *mut core::ffi::c_void,
8236 value: *mut *mut core::ffi::c_void,
8237 ) -> windows_core::HRESULT {
8238 unsafe {
8239 let this: &Identity =
8240 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8241 match ICoreWebView2ContextMenuRequestedEventArgs_Impl::MenuItems(this) {
8242 Ok(ok__) => {
8243 value.write(core::mem::transmute(ok__));
8244 windows_core::HRESULT(0)
8245 }
8246 Err(err) => err.into(),
8247 }
8248 }
8249 }
8250 unsafe extern "system" fn ContextMenuTarget<
8251 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8252 const OFFSET: isize,
8253 >(
8254 this: *mut core::ffi::c_void,
8255 value: *mut *mut core::ffi::c_void,
8256 ) -> windows_core::HRESULT {
8257 unsafe {
8258 let this: &Identity =
8259 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8260 match ICoreWebView2ContextMenuRequestedEventArgs_Impl::ContextMenuTarget(this) {
8261 Ok(ok__) => {
8262 value.write(core::mem::transmute(ok__));
8263 windows_core::HRESULT(0)
8264 }
8265 Err(err) => err.into(),
8266 }
8267 }
8268 }
8269 unsafe extern "system" fn Location<
8270 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8271 const OFFSET: isize,
8272 >(
8273 this: *mut core::ffi::c_void,
8274 value: *mut windows::Win32::Foundation::POINT,
8275 ) -> windows_core::HRESULT {
8276 unsafe {
8277 let this: &Identity =
8278 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8279 ICoreWebView2ContextMenuRequestedEventArgs_Impl::Location(
8280 this,
8281 core::mem::transmute_copy(&value),
8282 )
8283 .into()
8284 }
8285 }
8286 unsafe extern "system" fn SetSelectedCommandId<
8287 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8288 const OFFSET: isize,
8289 >(
8290 this: *mut core::ffi::c_void,
8291 value: i32,
8292 ) -> windows_core::HRESULT {
8293 unsafe {
8294 let this: &Identity =
8295 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8296 ICoreWebView2ContextMenuRequestedEventArgs_Impl::SetSelectedCommandId(
8297 this,
8298 core::mem::transmute_copy(&value),
8299 )
8300 .into()
8301 }
8302 }
8303 unsafe extern "system" fn SelectedCommandId<
8304 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8305 const OFFSET: isize,
8306 >(
8307 this: *mut core::ffi::c_void,
8308 value: *mut i32,
8309 ) -> windows_core::HRESULT {
8310 unsafe {
8311 let this: &Identity =
8312 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8313 ICoreWebView2ContextMenuRequestedEventArgs_Impl::SelectedCommandId(
8314 this,
8315 core::mem::transmute_copy(&value),
8316 )
8317 .into()
8318 }
8319 }
8320 unsafe extern "system" fn SetHandled<
8321 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8322 const OFFSET: isize,
8323 >(
8324 this: *mut core::ffi::c_void,
8325 value: windows_core::BOOL,
8326 ) -> windows_core::HRESULT {
8327 unsafe {
8328 let this: &Identity =
8329 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8330 ICoreWebView2ContextMenuRequestedEventArgs_Impl::SetHandled(
8331 this,
8332 core::mem::transmute_copy(&value),
8333 )
8334 .into()
8335 }
8336 }
8337 unsafe extern "system" fn Handled<
8338 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8339 const OFFSET: isize,
8340 >(
8341 this: *mut core::ffi::c_void,
8342 value: *mut windows_core::BOOL,
8343 ) -> windows_core::HRESULT {
8344 unsafe {
8345 let this: &Identity =
8346 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8347 ICoreWebView2ContextMenuRequestedEventArgs_Impl::Handled(
8348 this,
8349 core::mem::transmute_copy(&value),
8350 )
8351 .into()
8352 }
8353 }
8354 unsafe extern "system" fn GetDeferral<
8355 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8356 const OFFSET: isize,
8357 >(
8358 this: *mut core::ffi::c_void,
8359 deferral: *mut *mut core::ffi::c_void,
8360 ) -> windows_core::HRESULT {
8361 unsafe {
8362 let this: &Identity =
8363 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8364 match ICoreWebView2ContextMenuRequestedEventArgs_Impl::GetDeferral(this) {
8365 Ok(ok__) => {
8366 deferral.write(core::mem::transmute(ok__));
8367 windows_core::HRESULT(0)
8368 }
8369 Err(err) => err.into(),
8370 }
8371 }
8372 }
8373 Self {
8374 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8375 MenuItems: MenuItems::<Identity, OFFSET>,
8376 ContextMenuTarget: ContextMenuTarget::<Identity, OFFSET>,
8377 Location: Location::<Identity, OFFSET>,
8378 SetSelectedCommandId: SetSelectedCommandId::<Identity, OFFSET>,
8379 SelectedCommandId: SelectedCommandId::<Identity, OFFSET>,
8380 SetHandled: SetHandled::<Identity, OFFSET>,
8381 Handled: Handled::<Identity, OFFSET>,
8382 GetDeferral: GetDeferral::<Identity, OFFSET>,
8383 }
8384 }
8385 pub fn matches(iid: &windows_core::GUID) -> bool {
8386 iid == &<ICoreWebView2ContextMenuRequestedEventArgs as windows_core::Interface>::IID
8387 }
8388}
8389impl windows_core::RuntimeName for ICoreWebView2ContextMenuRequestedEventArgs {}
8390windows_core::imp::define_interface!(
8391 ICoreWebView2ContextMenuRequestedEventHandler,
8392 ICoreWebView2ContextMenuRequestedEventHandler_Vtbl,
8393 0x04d3fe1d_ab87_42fb_a898_da241d35b63c
8394);
8395windows_core::imp::interface_hierarchy!(
8396 ICoreWebView2ContextMenuRequestedEventHandler,
8397 windows_core::IUnknown
8398);
8399impl ICoreWebView2ContextMenuRequestedEventHandler {
8400 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
8401 where
8402 P0: windows_core::Param<ICoreWebView2>,
8403 P1: windows_core::Param<ICoreWebView2ContextMenuRequestedEventArgs>,
8404 {
8405 unsafe {
8406 (windows_core::Interface::vtable(self).Invoke)(
8407 windows_core::Interface::as_raw(self),
8408 sender.param().abi(),
8409 args.param().abi(),
8410 )
8411 .ok()
8412 }
8413 }
8414}
8415#[repr(C)]
8416#[doc(hidden)]
8417pub struct ICoreWebView2ContextMenuRequestedEventHandler_Vtbl {
8418 pub base__: windows_core::IUnknown_Vtbl,
8419 pub Invoke: unsafe extern "system" fn(
8420 *mut core::ffi::c_void,
8421 *mut core::ffi::c_void,
8422 *mut core::ffi::c_void,
8423 ) -> windows_core::HRESULT,
8424}
8425pub trait ICoreWebView2ContextMenuRequestedEventHandler_Impl: windows_core::IUnknownImpl {
8426 fn Invoke(
8427 &self,
8428 sender: windows_core::Ref<'_, ICoreWebView2>,
8429 args: windows_core::Ref<'_, ICoreWebView2ContextMenuRequestedEventArgs>,
8430 ) -> windows_core::Result<()>;
8431}
8432impl ICoreWebView2ContextMenuRequestedEventHandler_Vtbl {
8433 pub const fn new<
8434 Identity: ICoreWebView2ContextMenuRequestedEventHandler_Impl,
8435 const OFFSET: isize,
8436 >() -> Self {
8437 unsafe extern "system" fn Invoke<
8438 Identity: ICoreWebView2ContextMenuRequestedEventHandler_Impl,
8439 const OFFSET: isize,
8440 >(
8441 this: *mut core::ffi::c_void,
8442 sender: *mut core::ffi::c_void,
8443 args: *mut core::ffi::c_void,
8444 ) -> windows_core::HRESULT {
8445 unsafe {
8446 let this: &Identity =
8447 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8448 ICoreWebView2ContextMenuRequestedEventHandler_Impl::Invoke(
8449 this,
8450 core::mem::transmute_copy(&sender),
8451 core::mem::transmute_copy(&args),
8452 )
8453 .into()
8454 }
8455 }
8456 Self {
8457 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8458 Invoke: Invoke::<Identity, OFFSET>,
8459 }
8460 }
8461 pub fn matches(iid: &windows_core::GUID) -> bool {
8462 iid == &<ICoreWebView2ContextMenuRequestedEventHandler as windows_core::Interface>::IID
8463 }
8464}
8465impl windows_core::RuntimeName for ICoreWebView2ContextMenuRequestedEventHandler {}
8466windows_core::imp::define_interface!(
8467 ICoreWebView2ContextMenuTarget,
8468 ICoreWebView2ContextMenuTarget_Vtbl,
8469 0xb8611d99_eed6_4f3f_902c_a198502ad472
8470);
8471windows_core::imp::interface_hierarchy!(ICoreWebView2ContextMenuTarget, windows_core::IUnknown);
8472impl ICoreWebView2ContextMenuTarget {
8473 pub unsafe fn Kind(
8474 &self,
8475 value: *mut COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND,
8476 ) -> windows_core::Result<()> {
8477 unsafe {
8478 (windows_core::Interface::vtable(self).Kind)(
8479 windows_core::Interface::as_raw(self),
8480 value as _,
8481 )
8482 .ok()
8483 }
8484 }
8485 pub unsafe fn IsEditable(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8486 unsafe {
8487 (windows_core::Interface::vtable(self).IsEditable)(
8488 windows_core::Interface::as_raw(self),
8489 value as _,
8490 )
8491 .ok()
8492 }
8493 }
8494 pub unsafe fn IsRequestedForMainFrame(
8495 &self,
8496 value: *mut windows_core::BOOL,
8497 ) -> windows_core::Result<()> {
8498 unsafe {
8499 (windows_core::Interface::vtable(self).IsRequestedForMainFrame)(
8500 windows_core::Interface::as_raw(self),
8501 value as _,
8502 )
8503 .ok()
8504 }
8505 }
8506 pub unsafe fn PageUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8507 unsafe {
8508 (windows_core::Interface::vtable(self).PageUri)(
8509 windows_core::Interface::as_raw(self),
8510 value as _,
8511 )
8512 .ok()
8513 }
8514 }
8515 pub unsafe fn FrameUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8516 unsafe {
8517 (windows_core::Interface::vtable(self).FrameUri)(
8518 windows_core::Interface::as_raw(self),
8519 value as _,
8520 )
8521 .ok()
8522 }
8523 }
8524 pub unsafe fn HasLinkUri(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8525 unsafe {
8526 (windows_core::Interface::vtable(self).HasLinkUri)(
8527 windows_core::Interface::as_raw(self),
8528 value as _,
8529 )
8530 .ok()
8531 }
8532 }
8533 pub unsafe fn LinkUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8534 unsafe {
8535 (windows_core::Interface::vtable(self).LinkUri)(
8536 windows_core::Interface::as_raw(self),
8537 value as _,
8538 )
8539 .ok()
8540 }
8541 }
8542 pub unsafe fn HasLinkText(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8543 unsafe {
8544 (windows_core::Interface::vtable(self).HasLinkText)(
8545 windows_core::Interface::as_raw(self),
8546 value as _,
8547 )
8548 .ok()
8549 }
8550 }
8551 pub unsafe fn LinkText(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8552 unsafe {
8553 (windows_core::Interface::vtable(self).LinkText)(
8554 windows_core::Interface::as_raw(self),
8555 value as _,
8556 )
8557 .ok()
8558 }
8559 }
8560 pub unsafe fn HasSourceUri(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8561 unsafe {
8562 (windows_core::Interface::vtable(self).HasSourceUri)(
8563 windows_core::Interface::as_raw(self),
8564 value as _,
8565 )
8566 .ok()
8567 }
8568 }
8569 pub unsafe fn SourceUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8570 unsafe {
8571 (windows_core::Interface::vtable(self).SourceUri)(
8572 windows_core::Interface::as_raw(self),
8573 value as _,
8574 )
8575 .ok()
8576 }
8577 }
8578 pub unsafe fn HasSelection(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8579 unsafe {
8580 (windows_core::Interface::vtable(self).HasSelection)(
8581 windows_core::Interface::as_raw(self),
8582 value as _,
8583 )
8584 .ok()
8585 }
8586 }
8587 pub unsafe fn SelectionText(
8588 &self,
8589 value: *mut windows_core::PWSTR,
8590 ) -> windows_core::Result<()> {
8591 unsafe {
8592 (windows_core::Interface::vtable(self).SelectionText)(
8593 windows_core::Interface::as_raw(self),
8594 value as _,
8595 )
8596 .ok()
8597 }
8598 }
8599}
8600#[repr(C)]
8601#[doc(hidden)]
8602pub struct ICoreWebView2ContextMenuTarget_Vtbl {
8603 pub base__: windows_core::IUnknown_Vtbl,
8604 pub Kind: unsafe extern "system" fn(
8605 *mut core::ffi::c_void,
8606 *mut COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND,
8607 ) -> windows_core::HRESULT,
8608 pub IsEditable: unsafe extern "system" fn(
8609 *mut core::ffi::c_void,
8610 *mut windows_core::BOOL,
8611 ) -> windows_core::HRESULT,
8612 pub IsRequestedForMainFrame: unsafe extern "system" fn(
8613 *mut core::ffi::c_void,
8614 *mut windows_core::BOOL,
8615 ) -> windows_core::HRESULT,
8616 pub PageUri: unsafe extern "system" fn(
8617 *mut core::ffi::c_void,
8618 *mut windows_core::PWSTR,
8619 ) -> windows_core::HRESULT,
8620 pub FrameUri: unsafe extern "system" fn(
8621 *mut core::ffi::c_void,
8622 *mut windows_core::PWSTR,
8623 ) -> windows_core::HRESULT,
8624 pub HasLinkUri: unsafe extern "system" fn(
8625 *mut core::ffi::c_void,
8626 *mut windows_core::BOOL,
8627 ) -> windows_core::HRESULT,
8628 pub LinkUri: unsafe extern "system" fn(
8629 *mut core::ffi::c_void,
8630 *mut windows_core::PWSTR,
8631 ) -> windows_core::HRESULT,
8632 pub HasLinkText: unsafe extern "system" fn(
8633 *mut core::ffi::c_void,
8634 *mut windows_core::BOOL,
8635 ) -> windows_core::HRESULT,
8636 pub LinkText: unsafe extern "system" fn(
8637 *mut core::ffi::c_void,
8638 *mut windows_core::PWSTR,
8639 ) -> windows_core::HRESULT,
8640 pub HasSourceUri: unsafe extern "system" fn(
8641 *mut core::ffi::c_void,
8642 *mut windows_core::BOOL,
8643 ) -> windows_core::HRESULT,
8644 pub SourceUri: unsafe extern "system" fn(
8645 *mut core::ffi::c_void,
8646 *mut windows_core::PWSTR,
8647 ) -> windows_core::HRESULT,
8648 pub HasSelection: unsafe extern "system" fn(
8649 *mut core::ffi::c_void,
8650 *mut windows_core::BOOL,
8651 ) -> windows_core::HRESULT,
8652 pub SelectionText: unsafe extern "system" fn(
8653 *mut core::ffi::c_void,
8654 *mut windows_core::PWSTR,
8655 ) -> windows_core::HRESULT,
8656}
8657pub trait ICoreWebView2ContextMenuTarget_Impl: windows_core::IUnknownImpl {
8658 fn Kind(&self, value: *mut COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND) -> windows_core::Result<()>;
8659 fn IsEditable(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8660 fn IsRequestedForMainFrame(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8661 fn PageUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8662 fn FrameUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8663 fn HasLinkUri(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8664 fn LinkUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8665 fn HasLinkText(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8666 fn LinkText(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8667 fn HasSourceUri(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8668 fn SourceUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8669 fn HasSelection(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8670 fn SelectionText(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8671}
8672impl ICoreWebView2ContextMenuTarget_Vtbl {
8673 pub const fn new<Identity: ICoreWebView2ContextMenuTarget_Impl, const OFFSET: isize>() -> Self {
8674 unsafe extern "system" fn Kind<
8675 Identity: ICoreWebView2ContextMenuTarget_Impl,
8676 const OFFSET: isize,
8677 >(
8678 this: *mut core::ffi::c_void,
8679 value: *mut COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND,
8680 ) -> windows_core::HRESULT {
8681 unsafe {
8682 let this: &Identity =
8683 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8684 ICoreWebView2ContextMenuTarget_Impl::Kind(this, core::mem::transmute_copy(&value))
8685 .into()
8686 }
8687 }
8688 unsafe extern "system" fn IsEditable<
8689 Identity: ICoreWebView2ContextMenuTarget_Impl,
8690 const OFFSET: isize,
8691 >(
8692 this: *mut core::ffi::c_void,
8693 value: *mut windows_core::BOOL,
8694 ) -> windows_core::HRESULT {
8695 unsafe {
8696 let this: &Identity =
8697 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8698 ICoreWebView2ContextMenuTarget_Impl::IsEditable(
8699 this,
8700 core::mem::transmute_copy(&value),
8701 )
8702 .into()
8703 }
8704 }
8705 unsafe extern "system" fn IsRequestedForMainFrame<
8706 Identity: ICoreWebView2ContextMenuTarget_Impl,
8707 const OFFSET: isize,
8708 >(
8709 this: *mut core::ffi::c_void,
8710 value: *mut windows_core::BOOL,
8711 ) -> windows_core::HRESULT {
8712 unsafe {
8713 let this: &Identity =
8714 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8715 ICoreWebView2ContextMenuTarget_Impl::IsRequestedForMainFrame(
8716 this,
8717 core::mem::transmute_copy(&value),
8718 )
8719 .into()
8720 }
8721 }
8722 unsafe extern "system" fn PageUri<
8723 Identity: ICoreWebView2ContextMenuTarget_Impl,
8724 const OFFSET: isize,
8725 >(
8726 this: *mut core::ffi::c_void,
8727 value: *mut windows_core::PWSTR,
8728 ) -> windows_core::HRESULT {
8729 unsafe {
8730 let this: &Identity =
8731 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8732 ICoreWebView2ContextMenuTarget_Impl::PageUri(
8733 this,
8734 core::mem::transmute_copy(&value),
8735 )
8736 .into()
8737 }
8738 }
8739 unsafe extern "system" fn FrameUri<
8740 Identity: ICoreWebView2ContextMenuTarget_Impl,
8741 const OFFSET: isize,
8742 >(
8743 this: *mut core::ffi::c_void,
8744 value: *mut windows_core::PWSTR,
8745 ) -> windows_core::HRESULT {
8746 unsafe {
8747 let this: &Identity =
8748 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8749 ICoreWebView2ContextMenuTarget_Impl::FrameUri(
8750 this,
8751 core::mem::transmute_copy(&value),
8752 )
8753 .into()
8754 }
8755 }
8756 unsafe extern "system" fn HasLinkUri<
8757 Identity: ICoreWebView2ContextMenuTarget_Impl,
8758 const OFFSET: isize,
8759 >(
8760 this: *mut core::ffi::c_void,
8761 value: *mut windows_core::BOOL,
8762 ) -> windows_core::HRESULT {
8763 unsafe {
8764 let this: &Identity =
8765 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8766 ICoreWebView2ContextMenuTarget_Impl::HasLinkUri(
8767 this,
8768 core::mem::transmute_copy(&value),
8769 )
8770 .into()
8771 }
8772 }
8773 unsafe extern "system" fn LinkUri<
8774 Identity: ICoreWebView2ContextMenuTarget_Impl,
8775 const OFFSET: isize,
8776 >(
8777 this: *mut core::ffi::c_void,
8778 value: *mut windows_core::PWSTR,
8779 ) -> windows_core::HRESULT {
8780 unsafe {
8781 let this: &Identity =
8782 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8783 ICoreWebView2ContextMenuTarget_Impl::LinkUri(
8784 this,
8785 core::mem::transmute_copy(&value),
8786 )
8787 .into()
8788 }
8789 }
8790 unsafe extern "system" fn HasLinkText<
8791 Identity: ICoreWebView2ContextMenuTarget_Impl,
8792 const OFFSET: isize,
8793 >(
8794 this: *mut core::ffi::c_void,
8795 value: *mut windows_core::BOOL,
8796 ) -> windows_core::HRESULT {
8797 unsafe {
8798 let this: &Identity =
8799 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8800 ICoreWebView2ContextMenuTarget_Impl::HasLinkText(
8801 this,
8802 core::mem::transmute_copy(&value),
8803 )
8804 .into()
8805 }
8806 }
8807 unsafe extern "system" fn LinkText<
8808 Identity: ICoreWebView2ContextMenuTarget_Impl,
8809 const OFFSET: isize,
8810 >(
8811 this: *mut core::ffi::c_void,
8812 value: *mut windows_core::PWSTR,
8813 ) -> windows_core::HRESULT {
8814 unsafe {
8815 let this: &Identity =
8816 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8817 ICoreWebView2ContextMenuTarget_Impl::LinkText(
8818 this,
8819 core::mem::transmute_copy(&value),
8820 )
8821 .into()
8822 }
8823 }
8824 unsafe extern "system" fn HasSourceUri<
8825 Identity: ICoreWebView2ContextMenuTarget_Impl,
8826 const OFFSET: isize,
8827 >(
8828 this: *mut core::ffi::c_void,
8829 value: *mut windows_core::BOOL,
8830 ) -> windows_core::HRESULT {
8831 unsafe {
8832 let this: &Identity =
8833 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8834 ICoreWebView2ContextMenuTarget_Impl::HasSourceUri(
8835 this,
8836 core::mem::transmute_copy(&value),
8837 )
8838 .into()
8839 }
8840 }
8841 unsafe extern "system" fn SourceUri<
8842 Identity: ICoreWebView2ContextMenuTarget_Impl,
8843 const OFFSET: isize,
8844 >(
8845 this: *mut core::ffi::c_void,
8846 value: *mut windows_core::PWSTR,
8847 ) -> windows_core::HRESULT {
8848 unsafe {
8849 let this: &Identity =
8850 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8851 ICoreWebView2ContextMenuTarget_Impl::SourceUri(
8852 this,
8853 core::mem::transmute_copy(&value),
8854 )
8855 .into()
8856 }
8857 }
8858 unsafe extern "system" fn HasSelection<
8859 Identity: ICoreWebView2ContextMenuTarget_Impl,
8860 const OFFSET: isize,
8861 >(
8862 this: *mut core::ffi::c_void,
8863 value: *mut windows_core::BOOL,
8864 ) -> windows_core::HRESULT {
8865 unsafe {
8866 let this: &Identity =
8867 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8868 ICoreWebView2ContextMenuTarget_Impl::HasSelection(
8869 this,
8870 core::mem::transmute_copy(&value),
8871 )
8872 .into()
8873 }
8874 }
8875 unsafe extern "system" fn SelectionText<
8876 Identity: ICoreWebView2ContextMenuTarget_Impl,
8877 const OFFSET: isize,
8878 >(
8879 this: *mut core::ffi::c_void,
8880 value: *mut windows_core::PWSTR,
8881 ) -> windows_core::HRESULT {
8882 unsafe {
8883 let this: &Identity =
8884 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8885 ICoreWebView2ContextMenuTarget_Impl::SelectionText(
8886 this,
8887 core::mem::transmute_copy(&value),
8888 )
8889 .into()
8890 }
8891 }
8892 Self {
8893 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8894 Kind: Kind::<Identity, OFFSET>,
8895 IsEditable: IsEditable::<Identity, OFFSET>,
8896 IsRequestedForMainFrame: IsRequestedForMainFrame::<Identity, OFFSET>,
8897 PageUri: PageUri::<Identity, OFFSET>,
8898 FrameUri: FrameUri::<Identity, OFFSET>,
8899 HasLinkUri: HasLinkUri::<Identity, OFFSET>,
8900 LinkUri: LinkUri::<Identity, OFFSET>,
8901 HasLinkText: HasLinkText::<Identity, OFFSET>,
8902 LinkText: LinkText::<Identity, OFFSET>,
8903 HasSourceUri: HasSourceUri::<Identity, OFFSET>,
8904 SourceUri: SourceUri::<Identity, OFFSET>,
8905 HasSelection: HasSelection::<Identity, OFFSET>,
8906 SelectionText: SelectionText::<Identity, OFFSET>,
8907 }
8908 }
8909 pub fn matches(iid: &windows_core::GUID) -> bool {
8910 iid == &<ICoreWebView2ContextMenuTarget as windows_core::Interface>::IID
8911 }
8912}
8913impl windows_core::RuntimeName for ICoreWebView2ContextMenuTarget {}
8914windows_core::imp::define_interface!(
8915 ICoreWebView2Controller,
8916 ICoreWebView2Controller_Vtbl,
8917 0x4d00c0d1_9434_4eb6_8078_8697a560334f
8918);
8919windows_core::imp::interface_hierarchy!(ICoreWebView2Controller, windows_core::IUnknown);
8920impl ICoreWebView2Controller {
8921 pub unsafe fn IsVisible(&self, isvisible: *mut windows_core::BOOL) -> windows_core::Result<()> {
8922 unsafe {
8923 (windows_core::Interface::vtable(self).IsVisible)(
8924 windows_core::Interface::as_raw(self),
8925 isvisible as _,
8926 )
8927 .ok()
8928 }
8929 }
8930 pub unsafe fn SetIsVisible(&self, isvisible: bool) -> windows_core::Result<()> {
8931 unsafe {
8932 (windows_core::Interface::vtable(self).SetIsVisible)(
8933 windows_core::Interface::as_raw(self),
8934 isvisible.into(),
8935 )
8936 .ok()
8937 }
8938 }
8939 pub unsafe fn Bounds(
8940 &self,
8941 bounds: *mut windows::Win32::Foundation::RECT,
8942 ) -> windows_core::Result<()> {
8943 unsafe {
8944 (windows_core::Interface::vtable(self).Bounds)(
8945 windows_core::Interface::as_raw(self),
8946 bounds as _,
8947 )
8948 .ok()
8949 }
8950 }
8951 pub unsafe fn SetBounds(
8952 &self,
8953 bounds: windows::Win32::Foundation::RECT,
8954 ) -> windows_core::Result<()> {
8955 unsafe {
8956 (windows_core::Interface::vtable(self).SetBounds)(
8957 windows_core::Interface::as_raw(self),
8958 core::mem::transmute(bounds),
8959 )
8960 .ok()
8961 }
8962 }
8963 pub unsafe fn ZoomFactor(&self, zoomfactor: *mut f64) -> windows_core::Result<()> {
8964 unsafe {
8965 (windows_core::Interface::vtable(self).ZoomFactor)(
8966 windows_core::Interface::as_raw(self),
8967 zoomfactor as _,
8968 )
8969 .ok()
8970 }
8971 }
8972 pub unsafe fn SetZoomFactor(&self, zoomfactor: f64) -> windows_core::Result<()> {
8973 unsafe {
8974 (windows_core::Interface::vtable(self).SetZoomFactor)(
8975 windows_core::Interface::as_raw(self),
8976 zoomfactor,
8977 )
8978 .ok()
8979 }
8980 }
8981 pub unsafe fn add_ZoomFactorChanged<P0>(
8982 &self,
8983 eventhandler: P0,
8984 token: *mut i64,
8985 ) -> windows_core::Result<()>
8986 where
8987 P0: windows_core::Param<ICoreWebView2ZoomFactorChangedEventHandler>,
8988 {
8989 unsafe {
8990 (windows_core::Interface::vtable(self).add_ZoomFactorChanged)(
8991 windows_core::Interface::as_raw(self),
8992 eventhandler.param().abi(),
8993 token as _,
8994 )
8995 .ok()
8996 }
8997 }
8998 pub unsafe fn remove_ZoomFactorChanged(&self, token: i64) -> windows_core::Result<()> {
8999 unsafe {
9000 (windows_core::Interface::vtable(self).remove_ZoomFactorChanged)(
9001 windows_core::Interface::as_raw(self),
9002 token,
9003 )
9004 .ok()
9005 }
9006 }
9007 pub unsafe fn SetBoundsAndZoomFactor(
9008 &self,
9009 bounds: windows::Win32::Foundation::RECT,
9010 zoomfactor: f64,
9011 ) -> windows_core::Result<()> {
9012 unsafe {
9013 (windows_core::Interface::vtable(self).SetBoundsAndZoomFactor)(
9014 windows_core::Interface::as_raw(self),
9015 core::mem::transmute(bounds),
9016 zoomfactor,
9017 )
9018 .ok()
9019 }
9020 }
9021 pub unsafe fn MoveFocus(
9022 &self,
9023 reason: COREWEBVIEW2_MOVE_FOCUS_REASON,
9024 ) -> windows_core::Result<()> {
9025 unsafe {
9026 (windows_core::Interface::vtable(self).MoveFocus)(
9027 windows_core::Interface::as_raw(self),
9028 reason,
9029 )
9030 .ok()
9031 }
9032 }
9033 pub unsafe fn add_MoveFocusRequested<P0>(
9034 &self,
9035 eventhandler: P0,
9036 token: *mut i64,
9037 ) -> windows_core::Result<()>
9038 where
9039 P0: windows_core::Param<ICoreWebView2MoveFocusRequestedEventHandler>,
9040 {
9041 unsafe {
9042 (windows_core::Interface::vtable(self).add_MoveFocusRequested)(
9043 windows_core::Interface::as_raw(self),
9044 eventhandler.param().abi(),
9045 token as _,
9046 )
9047 .ok()
9048 }
9049 }
9050 pub unsafe fn remove_MoveFocusRequested(&self, token: i64) -> windows_core::Result<()> {
9051 unsafe {
9052 (windows_core::Interface::vtable(self).remove_MoveFocusRequested)(
9053 windows_core::Interface::as_raw(self),
9054 token,
9055 )
9056 .ok()
9057 }
9058 }
9059 pub unsafe fn add_GotFocus<P0>(
9060 &self,
9061 eventhandler: P0,
9062 token: *mut i64,
9063 ) -> windows_core::Result<()>
9064 where
9065 P0: windows_core::Param<ICoreWebView2FocusChangedEventHandler>,
9066 {
9067 unsafe {
9068 (windows_core::Interface::vtable(self).add_GotFocus)(
9069 windows_core::Interface::as_raw(self),
9070 eventhandler.param().abi(),
9071 token as _,
9072 )
9073 .ok()
9074 }
9075 }
9076 pub unsafe fn remove_GotFocus(&self, token: i64) -> windows_core::Result<()> {
9077 unsafe {
9078 (windows_core::Interface::vtable(self).remove_GotFocus)(
9079 windows_core::Interface::as_raw(self),
9080 token,
9081 )
9082 .ok()
9083 }
9084 }
9085 pub unsafe fn add_LostFocus<P0>(
9086 &self,
9087 eventhandler: P0,
9088 token: *mut i64,
9089 ) -> windows_core::Result<()>
9090 where
9091 P0: windows_core::Param<ICoreWebView2FocusChangedEventHandler>,
9092 {
9093 unsafe {
9094 (windows_core::Interface::vtable(self).add_LostFocus)(
9095 windows_core::Interface::as_raw(self),
9096 eventhandler.param().abi(),
9097 token as _,
9098 )
9099 .ok()
9100 }
9101 }
9102 pub unsafe fn remove_LostFocus(&self, token: i64) -> windows_core::Result<()> {
9103 unsafe {
9104 (windows_core::Interface::vtable(self).remove_LostFocus)(
9105 windows_core::Interface::as_raw(self),
9106 token,
9107 )
9108 .ok()
9109 }
9110 }
9111 pub unsafe fn add_AcceleratorKeyPressed<P0>(
9112 &self,
9113 eventhandler: P0,
9114 token: *mut i64,
9115 ) -> windows_core::Result<()>
9116 where
9117 P0: windows_core::Param<ICoreWebView2AcceleratorKeyPressedEventHandler>,
9118 {
9119 unsafe {
9120 (windows_core::Interface::vtable(self).add_AcceleratorKeyPressed)(
9121 windows_core::Interface::as_raw(self),
9122 eventhandler.param().abi(),
9123 token as _,
9124 )
9125 .ok()
9126 }
9127 }
9128 pub unsafe fn remove_AcceleratorKeyPressed(&self, token: i64) -> windows_core::Result<()> {
9129 unsafe {
9130 (windows_core::Interface::vtable(self).remove_AcceleratorKeyPressed)(
9131 windows_core::Interface::as_raw(self),
9132 token,
9133 )
9134 .ok()
9135 }
9136 }
9137 pub unsafe fn ParentWindow(
9138 &self,
9139 parentwindow: *mut windows::Win32::Foundation::HWND,
9140 ) -> windows_core::Result<()> {
9141 unsafe {
9142 (windows_core::Interface::vtable(self).ParentWindow)(
9143 windows_core::Interface::as_raw(self),
9144 parentwindow as _,
9145 )
9146 .ok()
9147 }
9148 }
9149 pub unsafe fn SetParentWindow(
9150 &self,
9151 parentwindow: windows::Win32::Foundation::HWND,
9152 ) -> windows_core::Result<()> {
9153 unsafe {
9154 (windows_core::Interface::vtable(self).SetParentWindow)(
9155 windows_core::Interface::as_raw(self),
9156 parentwindow,
9157 )
9158 .ok()
9159 }
9160 }
9161 pub unsafe fn NotifyParentWindowPositionChanged(&self) -> windows_core::Result<()> {
9162 unsafe {
9163 (windows_core::Interface::vtable(self).NotifyParentWindowPositionChanged)(
9164 windows_core::Interface::as_raw(self),
9165 )
9166 .ok()
9167 }
9168 }
9169 pub unsafe fn Close(&self) -> windows_core::Result<()> {
9170 unsafe {
9171 (windows_core::Interface::vtable(self).Close)(windows_core::Interface::as_raw(self))
9172 .ok()
9173 }
9174 }
9175 pub unsafe fn CoreWebView2(&self) -> windows_core::Result<ICoreWebView2> {
9176 unsafe {
9177 let mut result__ = core::mem::zeroed();
9178 (windows_core::Interface::vtable(self).CoreWebView2)(
9179 windows_core::Interface::as_raw(self),
9180 &mut result__,
9181 )
9182 .and_then(|| windows_core::Type::from_abi(result__))
9183 }
9184 }
9185}
9186#[repr(C)]
9187#[doc(hidden)]
9188pub struct ICoreWebView2Controller_Vtbl {
9189 pub base__: windows_core::IUnknown_Vtbl,
9190 pub IsVisible: unsafe extern "system" fn(
9191 *mut core::ffi::c_void,
9192 *mut windows_core::BOOL,
9193 ) -> windows_core::HRESULT,
9194 pub SetIsVisible: unsafe extern "system" fn(
9195 *mut core::ffi::c_void,
9196 windows_core::BOOL,
9197 ) -> windows_core::HRESULT,
9198 pub Bounds: unsafe extern "system" fn(
9199 *mut core::ffi::c_void,
9200 *mut windows::Win32::Foundation::RECT,
9201 ) -> windows_core::HRESULT,
9202 pub SetBounds: unsafe extern "system" fn(
9203 *mut core::ffi::c_void,
9204 windows::Win32::Foundation::RECT,
9205 ) -> windows_core::HRESULT,
9206 pub ZoomFactor:
9207 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
9208 pub SetZoomFactor:
9209 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
9210 pub add_ZoomFactorChanged: unsafe extern "system" fn(
9211 *mut core::ffi::c_void,
9212 *mut core::ffi::c_void,
9213 *mut i64,
9214 ) -> windows_core::HRESULT,
9215 pub remove_ZoomFactorChanged:
9216 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9217 pub SetBoundsAndZoomFactor: unsafe extern "system" fn(
9218 *mut core::ffi::c_void,
9219 windows::Win32::Foundation::RECT,
9220 f64,
9221 ) -> windows_core::HRESULT,
9222 pub MoveFocus: unsafe extern "system" fn(
9223 *mut core::ffi::c_void,
9224 COREWEBVIEW2_MOVE_FOCUS_REASON,
9225 ) -> windows_core::HRESULT,
9226 pub add_MoveFocusRequested: unsafe extern "system" fn(
9227 *mut core::ffi::c_void,
9228 *mut core::ffi::c_void,
9229 *mut i64,
9230 ) -> windows_core::HRESULT,
9231 pub remove_MoveFocusRequested:
9232 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9233 pub add_GotFocus: unsafe extern "system" fn(
9234 *mut core::ffi::c_void,
9235 *mut core::ffi::c_void,
9236 *mut i64,
9237 ) -> windows_core::HRESULT,
9238 pub remove_GotFocus:
9239 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9240 pub add_LostFocus: unsafe extern "system" fn(
9241 *mut core::ffi::c_void,
9242 *mut core::ffi::c_void,
9243 *mut i64,
9244 ) -> windows_core::HRESULT,
9245 pub remove_LostFocus:
9246 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9247 pub add_AcceleratorKeyPressed: unsafe extern "system" fn(
9248 *mut core::ffi::c_void,
9249 *mut core::ffi::c_void,
9250 *mut i64,
9251 ) -> windows_core::HRESULT,
9252 pub remove_AcceleratorKeyPressed:
9253 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9254 pub ParentWindow: unsafe extern "system" fn(
9255 *mut core::ffi::c_void,
9256 *mut windows::Win32::Foundation::HWND,
9257 ) -> windows_core::HRESULT,
9258 pub SetParentWindow: unsafe extern "system" fn(
9259 *mut core::ffi::c_void,
9260 windows::Win32::Foundation::HWND,
9261 ) -> windows_core::HRESULT,
9262 pub NotifyParentWindowPositionChanged:
9263 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
9264 pub Close: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
9265 pub CoreWebView2: unsafe extern "system" fn(
9266 *mut core::ffi::c_void,
9267 *mut *mut core::ffi::c_void,
9268 ) -> windows_core::HRESULT,
9269}
9270pub trait ICoreWebView2Controller_Impl: windows_core::IUnknownImpl {
9271 fn IsVisible(&self, isvisible: *mut windows_core::BOOL) -> windows_core::Result<()>;
9272 fn SetIsVisible(&self, isvisible: windows_core::BOOL) -> windows_core::Result<()>;
9273 fn Bounds(&self, bounds: *mut windows::Win32::Foundation::RECT) -> windows_core::Result<()>;
9274 fn SetBounds(&self, bounds: &windows::Win32::Foundation::RECT) -> windows_core::Result<()>;
9275 fn ZoomFactor(&self, zoomfactor: *mut f64) -> windows_core::Result<()>;
9276 fn SetZoomFactor(&self, zoomfactor: f64) -> windows_core::Result<()>;
9277 fn add_ZoomFactorChanged(
9278 &self,
9279 eventhandler: windows_core::Ref<'_, ICoreWebView2ZoomFactorChangedEventHandler>,
9280 token: *mut i64,
9281 ) -> windows_core::Result<()>;
9282 fn remove_ZoomFactorChanged(&self, token: i64) -> windows_core::Result<()>;
9283 fn SetBoundsAndZoomFactor(
9284 &self,
9285 bounds: &windows::Win32::Foundation::RECT,
9286 zoomfactor: f64,
9287 ) -> windows_core::Result<()>;
9288 fn MoveFocus(&self, reason: COREWEBVIEW2_MOVE_FOCUS_REASON) -> windows_core::Result<()>;
9289 fn add_MoveFocusRequested(
9290 &self,
9291 eventhandler: windows_core::Ref<'_, ICoreWebView2MoveFocusRequestedEventHandler>,
9292 token: *mut i64,
9293 ) -> windows_core::Result<()>;
9294 fn remove_MoveFocusRequested(&self, token: i64) -> windows_core::Result<()>;
9295 fn add_GotFocus(
9296 &self,
9297 eventhandler: windows_core::Ref<'_, ICoreWebView2FocusChangedEventHandler>,
9298 token: *mut i64,
9299 ) -> windows_core::Result<()>;
9300 fn remove_GotFocus(&self, token: i64) -> windows_core::Result<()>;
9301 fn add_LostFocus(
9302 &self,
9303 eventhandler: windows_core::Ref<'_, ICoreWebView2FocusChangedEventHandler>,
9304 token: *mut i64,
9305 ) -> windows_core::Result<()>;
9306 fn remove_LostFocus(&self, token: i64) -> windows_core::Result<()>;
9307 fn add_AcceleratorKeyPressed(
9308 &self,
9309 eventhandler: windows_core::Ref<'_, ICoreWebView2AcceleratorKeyPressedEventHandler>,
9310 token: *mut i64,
9311 ) -> windows_core::Result<()>;
9312 fn remove_AcceleratorKeyPressed(&self, token: i64) -> windows_core::Result<()>;
9313 fn ParentWindow(
9314 &self,
9315 parentwindow: *mut windows::Win32::Foundation::HWND,
9316 ) -> windows_core::Result<()>;
9317 fn SetParentWindow(
9318 &self,
9319 parentwindow: windows::Win32::Foundation::HWND,
9320 ) -> windows_core::Result<()>;
9321 fn NotifyParentWindowPositionChanged(&self) -> windows_core::Result<()>;
9322 fn Close(&self) -> windows_core::Result<()>;
9323 fn CoreWebView2(&self) -> windows_core::Result<ICoreWebView2>;
9324}
9325impl ICoreWebView2Controller_Vtbl {
9326 pub const fn new<Identity: ICoreWebView2Controller_Impl, const OFFSET: isize>() -> Self {
9327 unsafe extern "system" fn IsVisible<
9328 Identity: ICoreWebView2Controller_Impl,
9329 const OFFSET: isize,
9330 >(
9331 this: *mut core::ffi::c_void,
9332 isvisible: *mut windows_core::BOOL,
9333 ) -> windows_core::HRESULT {
9334 unsafe {
9335 let this: &Identity =
9336 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9337 ICoreWebView2Controller_Impl::IsVisible(this, core::mem::transmute_copy(&isvisible))
9338 .into()
9339 }
9340 }
9341 unsafe extern "system" fn SetIsVisible<
9342 Identity: ICoreWebView2Controller_Impl,
9343 const OFFSET: isize,
9344 >(
9345 this: *mut core::ffi::c_void,
9346 isvisible: windows_core::BOOL,
9347 ) -> windows_core::HRESULT {
9348 unsafe {
9349 let this: &Identity =
9350 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9351 ICoreWebView2Controller_Impl::SetIsVisible(
9352 this,
9353 core::mem::transmute_copy(&isvisible),
9354 )
9355 .into()
9356 }
9357 }
9358 unsafe extern "system" fn Bounds<
9359 Identity: ICoreWebView2Controller_Impl,
9360 const OFFSET: isize,
9361 >(
9362 this: *mut core::ffi::c_void,
9363 bounds: *mut windows::Win32::Foundation::RECT,
9364 ) -> windows_core::HRESULT {
9365 unsafe {
9366 let this: &Identity =
9367 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9368 ICoreWebView2Controller_Impl::Bounds(this, core::mem::transmute_copy(&bounds))
9369 .into()
9370 }
9371 }
9372 unsafe extern "system" fn SetBounds<
9373 Identity: ICoreWebView2Controller_Impl,
9374 const OFFSET: isize,
9375 >(
9376 this: *mut core::ffi::c_void,
9377 bounds: windows::Win32::Foundation::RECT,
9378 ) -> windows_core::HRESULT {
9379 unsafe {
9380 let this: &Identity =
9381 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9382 ICoreWebView2Controller_Impl::SetBounds(this, core::mem::transmute(&bounds)).into()
9383 }
9384 }
9385 unsafe extern "system" fn ZoomFactor<
9386 Identity: ICoreWebView2Controller_Impl,
9387 const OFFSET: isize,
9388 >(
9389 this: *mut core::ffi::c_void,
9390 zoomfactor: *mut f64,
9391 ) -> windows_core::HRESULT {
9392 unsafe {
9393 let this: &Identity =
9394 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9395 ICoreWebView2Controller_Impl::ZoomFactor(
9396 this,
9397 core::mem::transmute_copy(&zoomfactor),
9398 )
9399 .into()
9400 }
9401 }
9402 unsafe extern "system" fn SetZoomFactor<
9403 Identity: ICoreWebView2Controller_Impl,
9404 const OFFSET: isize,
9405 >(
9406 this: *mut core::ffi::c_void,
9407 zoomfactor: f64,
9408 ) -> windows_core::HRESULT {
9409 unsafe {
9410 let this: &Identity =
9411 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9412 ICoreWebView2Controller_Impl::SetZoomFactor(
9413 this,
9414 core::mem::transmute_copy(&zoomfactor),
9415 )
9416 .into()
9417 }
9418 }
9419 unsafe extern "system" fn add_ZoomFactorChanged<
9420 Identity: ICoreWebView2Controller_Impl,
9421 const OFFSET: isize,
9422 >(
9423 this: *mut core::ffi::c_void,
9424 eventhandler: *mut core::ffi::c_void,
9425 token: *mut i64,
9426 ) -> windows_core::HRESULT {
9427 unsafe {
9428 let this: &Identity =
9429 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9430 ICoreWebView2Controller_Impl::add_ZoomFactorChanged(
9431 this,
9432 core::mem::transmute_copy(&eventhandler),
9433 core::mem::transmute_copy(&token),
9434 )
9435 .into()
9436 }
9437 }
9438 unsafe extern "system" fn remove_ZoomFactorChanged<
9439 Identity: ICoreWebView2Controller_Impl,
9440 const OFFSET: isize,
9441 >(
9442 this: *mut core::ffi::c_void,
9443 token: i64,
9444 ) -> windows_core::HRESULT {
9445 unsafe {
9446 let this: &Identity =
9447 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9448 ICoreWebView2Controller_Impl::remove_ZoomFactorChanged(
9449 this,
9450 core::mem::transmute_copy(&token),
9451 )
9452 .into()
9453 }
9454 }
9455 unsafe extern "system" fn SetBoundsAndZoomFactor<
9456 Identity: ICoreWebView2Controller_Impl,
9457 const OFFSET: isize,
9458 >(
9459 this: *mut core::ffi::c_void,
9460 bounds: windows::Win32::Foundation::RECT,
9461 zoomfactor: f64,
9462 ) -> windows_core::HRESULT {
9463 unsafe {
9464 let this: &Identity =
9465 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9466 ICoreWebView2Controller_Impl::SetBoundsAndZoomFactor(
9467 this,
9468 core::mem::transmute(&bounds),
9469 core::mem::transmute_copy(&zoomfactor),
9470 )
9471 .into()
9472 }
9473 }
9474 unsafe extern "system" fn MoveFocus<
9475 Identity: ICoreWebView2Controller_Impl,
9476 const OFFSET: isize,
9477 >(
9478 this: *mut core::ffi::c_void,
9479 reason: COREWEBVIEW2_MOVE_FOCUS_REASON,
9480 ) -> windows_core::HRESULT {
9481 unsafe {
9482 let this: &Identity =
9483 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9484 ICoreWebView2Controller_Impl::MoveFocus(this, core::mem::transmute_copy(&reason))
9485 .into()
9486 }
9487 }
9488 unsafe extern "system" fn add_MoveFocusRequested<
9489 Identity: ICoreWebView2Controller_Impl,
9490 const OFFSET: isize,
9491 >(
9492 this: *mut core::ffi::c_void,
9493 eventhandler: *mut core::ffi::c_void,
9494 token: *mut i64,
9495 ) -> windows_core::HRESULT {
9496 unsafe {
9497 let this: &Identity =
9498 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9499 ICoreWebView2Controller_Impl::add_MoveFocusRequested(
9500 this,
9501 core::mem::transmute_copy(&eventhandler),
9502 core::mem::transmute_copy(&token),
9503 )
9504 .into()
9505 }
9506 }
9507 unsafe extern "system" fn remove_MoveFocusRequested<
9508 Identity: ICoreWebView2Controller_Impl,
9509 const OFFSET: isize,
9510 >(
9511 this: *mut core::ffi::c_void,
9512 token: i64,
9513 ) -> windows_core::HRESULT {
9514 unsafe {
9515 let this: &Identity =
9516 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9517 ICoreWebView2Controller_Impl::remove_MoveFocusRequested(
9518 this,
9519 core::mem::transmute_copy(&token),
9520 )
9521 .into()
9522 }
9523 }
9524 unsafe extern "system" fn add_GotFocus<
9525 Identity: ICoreWebView2Controller_Impl,
9526 const OFFSET: isize,
9527 >(
9528 this: *mut core::ffi::c_void,
9529 eventhandler: *mut core::ffi::c_void,
9530 token: *mut i64,
9531 ) -> windows_core::HRESULT {
9532 unsafe {
9533 let this: &Identity =
9534 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9535 ICoreWebView2Controller_Impl::add_GotFocus(
9536 this,
9537 core::mem::transmute_copy(&eventhandler),
9538 core::mem::transmute_copy(&token),
9539 )
9540 .into()
9541 }
9542 }
9543 unsafe extern "system" fn remove_GotFocus<
9544 Identity: ICoreWebView2Controller_Impl,
9545 const OFFSET: isize,
9546 >(
9547 this: *mut core::ffi::c_void,
9548 token: i64,
9549 ) -> windows_core::HRESULT {
9550 unsafe {
9551 let this: &Identity =
9552 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9553 ICoreWebView2Controller_Impl::remove_GotFocus(
9554 this,
9555 core::mem::transmute_copy(&token),
9556 )
9557 .into()
9558 }
9559 }
9560 unsafe extern "system" fn add_LostFocus<
9561 Identity: ICoreWebView2Controller_Impl,
9562 const OFFSET: isize,
9563 >(
9564 this: *mut core::ffi::c_void,
9565 eventhandler: *mut core::ffi::c_void,
9566 token: *mut i64,
9567 ) -> windows_core::HRESULT {
9568 unsafe {
9569 let this: &Identity =
9570 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9571 ICoreWebView2Controller_Impl::add_LostFocus(
9572 this,
9573 core::mem::transmute_copy(&eventhandler),
9574 core::mem::transmute_copy(&token),
9575 )
9576 .into()
9577 }
9578 }
9579 unsafe extern "system" fn remove_LostFocus<
9580 Identity: ICoreWebView2Controller_Impl,
9581 const OFFSET: isize,
9582 >(
9583 this: *mut core::ffi::c_void,
9584 token: i64,
9585 ) -> windows_core::HRESULT {
9586 unsafe {
9587 let this: &Identity =
9588 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9589 ICoreWebView2Controller_Impl::remove_LostFocus(
9590 this,
9591 core::mem::transmute_copy(&token),
9592 )
9593 .into()
9594 }
9595 }
9596 unsafe extern "system" fn add_AcceleratorKeyPressed<
9597 Identity: ICoreWebView2Controller_Impl,
9598 const OFFSET: isize,
9599 >(
9600 this: *mut core::ffi::c_void,
9601 eventhandler: *mut core::ffi::c_void,
9602 token: *mut i64,
9603 ) -> windows_core::HRESULT {
9604 unsafe {
9605 let this: &Identity =
9606 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9607 ICoreWebView2Controller_Impl::add_AcceleratorKeyPressed(
9608 this,
9609 core::mem::transmute_copy(&eventhandler),
9610 core::mem::transmute_copy(&token),
9611 )
9612 .into()
9613 }
9614 }
9615 unsafe extern "system" fn remove_AcceleratorKeyPressed<
9616 Identity: ICoreWebView2Controller_Impl,
9617 const OFFSET: isize,
9618 >(
9619 this: *mut core::ffi::c_void,
9620 token: i64,
9621 ) -> windows_core::HRESULT {
9622 unsafe {
9623 let this: &Identity =
9624 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9625 ICoreWebView2Controller_Impl::remove_AcceleratorKeyPressed(
9626 this,
9627 core::mem::transmute_copy(&token),
9628 )
9629 .into()
9630 }
9631 }
9632 unsafe extern "system" fn ParentWindow<
9633 Identity: ICoreWebView2Controller_Impl,
9634 const OFFSET: isize,
9635 >(
9636 this: *mut core::ffi::c_void,
9637 parentwindow: *mut windows::Win32::Foundation::HWND,
9638 ) -> windows_core::HRESULT {
9639 unsafe {
9640 let this: &Identity =
9641 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9642 ICoreWebView2Controller_Impl::ParentWindow(
9643 this,
9644 core::mem::transmute_copy(&parentwindow),
9645 )
9646 .into()
9647 }
9648 }
9649 unsafe extern "system" fn SetParentWindow<
9650 Identity: ICoreWebView2Controller_Impl,
9651 const OFFSET: isize,
9652 >(
9653 this: *mut core::ffi::c_void,
9654 parentwindow: windows::Win32::Foundation::HWND,
9655 ) -> windows_core::HRESULT {
9656 unsafe {
9657 let this: &Identity =
9658 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9659 ICoreWebView2Controller_Impl::SetParentWindow(
9660 this,
9661 core::mem::transmute_copy(&parentwindow),
9662 )
9663 .into()
9664 }
9665 }
9666 unsafe extern "system" fn NotifyParentWindowPositionChanged<
9667 Identity: ICoreWebView2Controller_Impl,
9668 const OFFSET: isize,
9669 >(
9670 this: *mut core::ffi::c_void,
9671 ) -> windows_core::HRESULT {
9672 unsafe {
9673 let this: &Identity =
9674 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9675 ICoreWebView2Controller_Impl::NotifyParentWindowPositionChanged(this).into()
9676 }
9677 }
9678 unsafe extern "system" fn Close<
9679 Identity: ICoreWebView2Controller_Impl,
9680 const OFFSET: isize,
9681 >(
9682 this: *mut core::ffi::c_void,
9683 ) -> windows_core::HRESULT {
9684 unsafe {
9685 let this: &Identity =
9686 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9687 ICoreWebView2Controller_Impl::Close(this).into()
9688 }
9689 }
9690 unsafe extern "system" fn CoreWebView2<
9691 Identity: ICoreWebView2Controller_Impl,
9692 const OFFSET: isize,
9693 >(
9694 this: *mut core::ffi::c_void,
9695 corewebview2: *mut *mut core::ffi::c_void,
9696 ) -> windows_core::HRESULT {
9697 unsafe {
9698 let this: &Identity =
9699 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9700 match ICoreWebView2Controller_Impl::CoreWebView2(this) {
9701 Ok(ok__) => {
9702 corewebview2.write(core::mem::transmute(ok__));
9703 windows_core::HRESULT(0)
9704 }
9705 Err(err) => err.into(),
9706 }
9707 }
9708 }
9709 Self {
9710 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
9711 IsVisible: IsVisible::<Identity, OFFSET>,
9712 SetIsVisible: SetIsVisible::<Identity, OFFSET>,
9713 Bounds: Bounds::<Identity, OFFSET>,
9714 SetBounds: SetBounds::<Identity, OFFSET>,
9715 ZoomFactor: ZoomFactor::<Identity, OFFSET>,
9716 SetZoomFactor: SetZoomFactor::<Identity, OFFSET>,
9717 add_ZoomFactorChanged: add_ZoomFactorChanged::<Identity, OFFSET>,
9718 remove_ZoomFactorChanged: remove_ZoomFactorChanged::<Identity, OFFSET>,
9719 SetBoundsAndZoomFactor: SetBoundsAndZoomFactor::<Identity, OFFSET>,
9720 MoveFocus: MoveFocus::<Identity, OFFSET>,
9721 add_MoveFocusRequested: add_MoveFocusRequested::<Identity, OFFSET>,
9722 remove_MoveFocusRequested: remove_MoveFocusRequested::<Identity, OFFSET>,
9723 add_GotFocus: add_GotFocus::<Identity, OFFSET>,
9724 remove_GotFocus: remove_GotFocus::<Identity, OFFSET>,
9725 add_LostFocus: add_LostFocus::<Identity, OFFSET>,
9726 remove_LostFocus: remove_LostFocus::<Identity, OFFSET>,
9727 add_AcceleratorKeyPressed: add_AcceleratorKeyPressed::<Identity, OFFSET>,
9728 remove_AcceleratorKeyPressed: remove_AcceleratorKeyPressed::<Identity, OFFSET>,
9729 ParentWindow: ParentWindow::<Identity, OFFSET>,
9730 SetParentWindow: SetParentWindow::<Identity, OFFSET>,
9731 NotifyParentWindowPositionChanged: NotifyParentWindowPositionChanged::<Identity, OFFSET>,
9732 Close: Close::<Identity, OFFSET>,
9733 CoreWebView2: CoreWebView2::<Identity, OFFSET>,
9734 }
9735 }
9736 pub fn matches(iid: &windows_core::GUID) -> bool {
9737 iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
9738 }
9739}
9740impl windows_core::RuntimeName for ICoreWebView2Controller {}
9741windows_core::imp::define_interface!(
9742 ICoreWebView2Controller2,
9743 ICoreWebView2Controller2_Vtbl,
9744 0xc979903e_d4ca_4228_92eb_47ee3fa96eab
9745);
9746impl core::ops::Deref for ICoreWebView2Controller2 {
9747 type Target = ICoreWebView2Controller;
9748 fn deref(&self) -> &Self::Target {
9749 unsafe { core::mem::transmute(self) }
9750 }
9751}
9752windows_core::imp::interface_hierarchy!(
9753 ICoreWebView2Controller2,
9754 windows_core::IUnknown,
9755 ICoreWebView2Controller
9756);
9757impl ICoreWebView2Controller2 {
9758 pub unsafe fn DefaultBackgroundColor(
9759 &self,
9760 value: *mut COREWEBVIEW2_COLOR,
9761 ) -> windows_core::Result<()> {
9762 unsafe {
9763 (windows_core::Interface::vtable(self).DefaultBackgroundColor)(
9764 windows_core::Interface::as_raw(self),
9765 value as _,
9766 )
9767 .ok()
9768 }
9769 }
9770 pub unsafe fn SetDefaultBackgroundColor(
9771 &self,
9772 value: COREWEBVIEW2_COLOR,
9773 ) -> windows_core::Result<()> {
9774 unsafe {
9775 (windows_core::Interface::vtable(self).SetDefaultBackgroundColor)(
9776 windows_core::Interface::as_raw(self),
9777 core::mem::transmute(value),
9778 )
9779 .ok()
9780 }
9781 }
9782}
9783#[repr(C)]
9784#[doc(hidden)]
9785pub struct ICoreWebView2Controller2_Vtbl {
9786 pub base__: ICoreWebView2Controller_Vtbl,
9787 pub DefaultBackgroundColor: unsafe extern "system" fn(
9788 *mut core::ffi::c_void,
9789 *mut COREWEBVIEW2_COLOR,
9790 ) -> windows_core::HRESULT,
9791 pub SetDefaultBackgroundColor: unsafe extern "system" fn(
9792 *mut core::ffi::c_void,
9793 COREWEBVIEW2_COLOR,
9794 ) -> windows_core::HRESULT,
9795}
9796pub trait ICoreWebView2Controller2_Impl: ICoreWebView2Controller_Impl {
9797 fn DefaultBackgroundColor(&self, value: *mut COREWEBVIEW2_COLOR) -> windows_core::Result<()>;
9798 fn SetDefaultBackgroundColor(&self, value: &COREWEBVIEW2_COLOR) -> windows_core::Result<()>;
9799}
9800impl ICoreWebView2Controller2_Vtbl {
9801 pub const fn new<Identity: ICoreWebView2Controller2_Impl, const OFFSET: isize>() -> Self {
9802 unsafe extern "system" fn DefaultBackgroundColor<
9803 Identity: ICoreWebView2Controller2_Impl,
9804 const OFFSET: isize,
9805 >(
9806 this: *mut core::ffi::c_void,
9807 value: *mut COREWEBVIEW2_COLOR,
9808 ) -> windows_core::HRESULT {
9809 unsafe {
9810 let this: &Identity =
9811 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9812 ICoreWebView2Controller2_Impl::DefaultBackgroundColor(
9813 this,
9814 core::mem::transmute_copy(&value),
9815 )
9816 .into()
9817 }
9818 }
9819 unsafe extern "system" fn SetDefaultBackgroundColor<
9820 Identity: ICoreWebView2Controller2_Impl,
9821 const OFFSET: isize,
9822 >(
9823 this: *mut core::ffi::c_void,
9824 value: COREWEBVIEW2_COLOR,
9825 ) -> windows_core::HRESULT {
9826 unsafe {
9827 let this: &Identity =
9828 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9829 ICoreWebView2Controller2_Impl::SetDefaultBackgroundColor(
9830 this,
9831 core::mem::transmute(&value),
9832 )
9833 .into()
9834 }
9835 }
9836 Self {
9837 base__: ICoreWebView2Controller_Vtbl::new::<Identity, OFFSET>(),
9838 DefaultBackgroundColor: DefaultBackgroundColor::<Identity, OFFSET>,
9839 SetDefaultBackgroundColor: SetDefaultBackgroundColor::<Identity, OFFSET>,
9840 }
9841 }
9842 pub fn matches(iid: &windows_core::GUID) -> bool {
9843 iid == &<ICoreWebView2Controller2 as windows_core::Interface>::IID
9844 || iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
9845 }
9846}
9847impl windows_core::RuntimeName for ICoreWebView2Controller2 {}
9848windows_core::imp::define_interface!(
9849 ICoreWebView2Controller3,
9850 ICoreWebView2Controller3_Vtbl,
9851 0xf9614724_5d2b_41dc_aef7_73d62b51543b
9852);
9853impl core::ops::Deref for ICoreWebView2Controller3 {
9854 type Target = ICoreWebView2Controller2;
9855 fn deref(&self) -> &Self::Target {
9856 unsafe { core::mem::transmute(self) }
9857 }
9858}
9859windows_core::imp::interface_hierarchy!(
9860 ICoreWebView2Controller3,
9861 windows_core::IUnknown,
9862 ICoreWebView2Controller,
9863 ICoreWebView2Controller2
9864);
9865impl ICoreWebView2Controller3 {
9866 pub unsafe fn RasterizationScale(&self, scale: *mut f64) -> windows_core::Result<()> {
9867 unsafe {
9868 (windows_core::Interface::vtable(self).RasterizationScale)(
9869 windows_core::Interface::as_raw(self),
9870 scale as _,
9871 )
9872 .ok()
9873 }
9874 }
9875 pub unsafe fn SetRasterizationScale(&self, scale: f64) -> windows_core::Result<()> {
9876 unsafe {
9877 (windows_core::Interface::vtable(self).SetRasterizationScale)(
9878 windows_core::Interface::as_raw(self),
9879 scale,
9880 )
9881 .ok()
9882 }
9883 }
9884 pub unsafe fn ShouldDetectMonitorScaleChanges(
9885 &self,
9886 value: *mut windows_core::BOOL,
9887 ) -> windows_core::Result<()> {
9888 unsafe {
9889 (windows_core::Interface::vtable(self).ShouldDetectMonitorScaleChanges)(
9890 windows_core::Interface::as_raw(self),
9891 value as _,
9892 )
9893 .ok()
9894 }
9895 }
9896 pub unsafe fn SetShouldDetectMonitorScaleChanges(
9897 &self,
9898 value: bool,
9899 ) -> windows_core::Result<()> {
9900 unsafe {
9901 (windows_core::Interface::vtable(self).SetShouldDetectMonitorScaleChanges)(
9902 windows_core::Interface::as_raw(self),
9903 value.into(),
9904 )
9905 .ok()
9906 }
9907 }
9908 pub unsafe fn add_RasterizationScaleChanged<P0>(
9909 &self,
9910 eventhandler: P0,
9911 token: *mut i64,
9912 ) -> windows_core::Result<()>
9913 where
9914 P0: windows_core::Param<ICoreWebView2RasterizationScaleChangedEventHandler>,
9915 {
9916 unsafe {
9917 (windows_core::Interface::vtable(self).add_RasterizationScaleChanged)(
9918 windows_core::Interface::as_raw(self),
9919 eventhandler.param().abi(),
9920 token as _,
9921 )
9922 .ok()
9923 }
9924 }
9925 pub unsafe fn remove_RasterizationScaleChanged(&self, token: i64) -> windows_core::Result<()> {
9926 unsafe {
9927 (windows_core::Interface::vtable(self).remove_RasterizationScaleChanged)(
9928 windows_core::Interface::as_raw(self),
9929 token,
9930 )
9931 .ok()
9932 }
9933 }
9934 pub unsafe fn BoundsMode(
9935 &self,
9936 boundsmode: *mut COREWEBVIEW2_BOUNDS_MODE,
9937 ) -> windows_core::Result<()> {
9938 unsafe {
9939 (windows_core::Interface::vtable(self).BoundsMode)(
9940 windows_core::Interface::as_raw(self),
9941 boundsmode as _,
9942 )
9943 .ok()
9944 }
9945 }
9946 pub unsafe fn SetBoundsMode(
9947 &self,
9948 boundsmode: COREWEBVIEW2_BOUNDS_MODE,
9949 ) -> windows_core::Result<()> {
9950 unsafe {
9951 (windows_core::Interface::vtable(self).SetBoundsMode)(
9952 windows_core::Interface::as_raw(self),
9953 boundsmode,
9954 )
9955 .ok()
9956 }
9957 }
9958}
9959#[repr(C)]
9960#[doc(hidden)]
9961pub struct ICoreWebView2Controller3_Vtbl {
9962 pub base__: ICoreWebView2Controller2_Vtbl,
9963 pub RasterizationScale:
9964 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
9965 pub SetRasterizationScale:
9966 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
9967 pub ShouldDetectMonitorScaleChanges: unsafe extern "system" fn(
9968 *mut core::ffi::c_void,
9969 *mut windows_core::BOOL,
9970 ) -> windows_core::HRESULT,
9971 pub SetShouldDetectMonitorScaleChanges: unsafe extern "system" fn(
9972 *mut core::ffi::c_void,
9973 windows_core::BOOL,
9974 ) -> windows_core::HRESULT,
9975 pub add_RasterizationScaleChanged: unsafe extern "system" fn(
9976 *mut core::ffi::c_void,
9977 *mut core::ffi::c_void,
9978 *mut i64,
9979 ) -> windows_core::HRESULT,
9980 pub remove_RasterizationScaleChanged:
9981 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9982 pub BoundsMode: unsafe extern "system" fn(
9983 *mut core::ffi::c_void,
9984 *mut COREWEBVIEW2_BOUNDS_MODE,
9985 ) -> windows_core::HRESULT,
9986 pub SetBoundsMode: unsafe extern "system" fn(
9987 *mut core::ffi::c_void,
9988 COREWEBVIEW2_BOUNDS_MODE,
9989 ) -> windows_core::HRESULT,
9990}
9991pub trait ICoreWebView2Controller3_Impl: ICoreWebView2Controller2_Impl {
9992 fn RasterizationScale(&self, scale: *mut f64) -> windows_core::Result<()>;
9993 fn SetRasterizationScale(&self, scale: f64) -> windows_core::Result<()>;
9994 fn ShouldDetectMonitorScaleChanges(
9995 &self,
9996 value: *mut windows_core::BOOL,
9997 ) -> windows_core::Result<()>;
9998 fn SetShouldDetectMonitorScaleChanges(
9999 &self,
10000 value: windows_core::BOOL,
10001 ) -> windows_core::Result<()>;
10002 fn add_RasterizationScaleChanged(
10003 &self,
10004 eventhandler: windows_core::Ref<'_, ICoreWebView2RasterizationScaleChangedEventHandler>,
10005 token: *mut i64,
10006 ) -> windows_core::Result<()>;
10007 fn remove_RasterizationScaleChanged(&self, token: i64) -> windows_core::Result<()>;
10008 fn BoundsMode(&self, boundsmode: *mut COREWEBVIEW2_BOUNDS_MODE) -> windows_core::Result<()>;
10009 fn SetBoundsMode(&self, boundsmode: COREWEBVIEW2_BOUNDS_MODE) -> windows_core::Result<()>;
10010}
10011impl ICoreWebView2Controller3_Vtbl {
10012 pub const fn new<Identity: ICoreWebView2Controller3_Impl, const OFFSET: isize>() -> Self {
10013 unsafe extern "system" fn RasterizationScale<
10014 Identity: ICoreWebView2Controller3_Impl,
10015 const OFFSET: isize,
10016 >(
10017 this: *mut core::ffi::c_void,
10018 scale: *mut f64,
10019 ) -> windows_core::HRESULT {
10020 unsafe {
10021 let this: &Identity =
10022 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10023 ICoreWebView2Controller3_Impl::RasterizationScale(
10024 this,
10025 core::mem::transmute_copy(&scale),
10026 )
10027 .into()
10028 }
10029 }
10030 unsafe extern "system" fn SetRasterizationScale<
10031 Identity: ICoreWebView2Controller3_Impl,
10032 const OFFSET: isize,
10033 >(
10034 this: *mut core::ffi::c_void,
10035 scale: f64,
10036 ) -> windows_core::HRESULT {
10037 unsafe {
10038 let this: &Identity =
10039 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10040 ICoreWebView2Controller3_Impl::SetRasterizationScale(
10041 this,
10042 core::mem::transmute_copy(&scale),
10043 )
10044 .into()
10045 }
10046 }
10047 unsafe extern "system" fn ShouldDetectMonitorScaleChanges<
10048 Identity: ICoreWebView2Controller3_Impl,
10049 const OFFSET: isize,
10050 >(
10051 this: *mut core::ffi::c_void,
10052 value: *mut windows_core::BOOL,
10053 ) -> windows_core::HRESULT {
10054 unsafe {
10055 let this: &Identity =
10056 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10057 ICoreWebView2Controller3_Impl::ShouldDetectMonitorScaleChanges(
10058 this,
10059 core::mem::transmute_copy(&value),
10060 )
10061 .into()
10062 }
10063 }
10064 unsafe extern "system" fn SetShouldDetectMonitorScaleChanges<
10065 Identity: ICoreWebView2Controller3_Impl,
10066 const OFFSET: isize,
10067 >(
10068 this: *mut core::ffi::c_void,
10069 value: windows_core::BOOL,
10070 ) -> windows_core::HRESULT {
10071 unsafe {
10072 let this: &Identity =
10073 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10074 ICoreWebView2Controller3_Impl::SetShouldDetectMonitorScaleChanges(
10075 this,
10076 core::mem::transmute_copy(&value),
10077 )
10078 .into()
10079 }
10080 }
10081 unsafe extern "system" fn add_RasterizationScaleChanged<
10082 Identity: ICoreWebView2Controller3_Impl,
10083 const OFFSET: isize,
10084 >(
10085 this: *mut core::ffi::c_void,
10086 eventhandler: *mut core::ffi::c_void,
10087 token: *mut i64,
10088 ) -> windows_core::HRESULT {
10089 unsafe {
10090 let this: &Identity =
10091 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10092 ICoreWebView2Controller3_Impl::add_RasterizationScaleChanged(
10093 this,
10094 core::mem::transmute_copy(&eventhandler),
10095 core::mem::transmute_copy(&token),
10096 )
10097 .into()
10098 }
10099 }
10100 unsafe extern "system" fn remove_RasterizationScaleChanged<
10101 Identity: ICoreWebView2Controller3_Impl,
10102 const OFFSET: isize,
10103 >(
10104 this: *mut core::ffi::c_void,
10105 token: i64,
10106 ) -> windows_core::HRESULT {
10107 unsafe {
10108 let this: &Identity =
10109 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10110 ICoreWebView2Controller3_Impl::remove_RasterizationScaleChanged(
10111 this,
10112 core::mem::transmute_copy(&token),
10113 )
10114 .into()
10115 }
10116 }
10117 unsafe extern "system" fn BoundsMode<
10118 Identity: ICoreWebView2Controller3_Impl,
10119 const OFFSET: isize,
10120 >(
10121 this: *mut core::ffi::c_void,
10122 boundsmode: *mut COREWEBVIEW2_BOUNDS_MODE,
10123 ) -> windows_core::HRESULT {
10124 unsafe {
10125 let this: &Identity =
10126 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10127 ICoreWebView2Controller3_Impl::BoundsMode(
10128 this,
10129 core::mem::transmute_copy(&boundsmode),
10130 )
10131 .into()
10132 }
10133 }
10134 unsafe extern "system" fn SetBoundsMode<
10135 Identity: ICoreWebView2Controller3_Impl,
10136 const OFFSET: isize,
10137 >(
10138 this: *mut core::ffi::c_void,
10139 boundsmode: COREWEBVIEW2_BOUNDS_MODE,
10140 ) -> windows_core::HRESULT {
10141 unsafe {
10142 let this: &Identity =
10143 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10144 ICoreWebView2Controller3_Impl::SetBoundsMode(
10145 this,
10146 core::mem::transmute_copy(&boundsmode),
10147 )
10148 .into()
10149 }
10150 }
10151 Self {
10152 base__: ICoreWebView2Controller2_Vtbl::new::<Identity, OFFSET>(),
10153 RasterizationScale: RasterizationScale::<Identity, OFFSET>,
10154 SetRasterizationScale: SetRasterizationScale::<Identity, OFFSET>,
10155 ShouldDetectMonitorScaleChanges: ShouldDetectMonitorScaleChanges::<Identity, OFFSET>,
10156 SetShouldDetectMonitorScaleChanges: SetShouldDetectMonitorScaleChanges::<
10157 Identity,
10158 OFFSET,
10159 >,
10160 add_RasterizationScaleChanged: add_RasterizationScaleChanged::<Identity, OFFSET>,
10161 remove_RasterizationScaleChanged: remove_RasterizationScaleChanged::<Identity, OFFSET>,
10162 BoundsMode: BoundsMode::<Identity, OFFSET>,
10163 SetBoundsMode: SetBoundsMode::<Identity, OFFSET>,
10164 }
10165 }
10166 pub fn matches(iid: &windows_core::GUID) -> bool {
10167 iid == &<ICoreWebView2Controller3 as windows_core::Interface>::IID
10168 || iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
10169 || iid == &<ICoreWebView2Controller2 as windows_core::Interface>::IID
10170 }
10171}
10172impl windows_core::RuntimeName for ICoreWebView2Controller3 {}
10173windows_core::imp::define_interface!(
10174 ICoreWebView2Controller4,
10175 ICoreWebView2Controller4_Vtbl,
10176 0x97d418d5_a426_4e49_a151_e1a10f327d9e
10177);
10178impl core::ops::Deref for ICoreWebView2Controller4 {
10179 type Target = ICoreWebView2Controller3;
10180 fn deref(&self) -> &Self::Target {
10181 unsafe { core::mem::transmute(self) }
10182 }
10183}
10184windows_core::imp::interface_hierarchy!(
10185 ICoreWebView2Controller4,
10186 windows_core::IUnknown,
10187 ICoreWebView2Controller,
10188 ICoreWebView2Controller2,
10189 ICoreWebView2Controller3
10190);
10191impl ICoreWebView2Controller4 {
10192 pub unsafe fn AllowExternalDrop(
10193 &self,
10194 value: *mut windows_core::BOOL,
10195 ) -> windows_core::Result<()> {
10196 unsafe {
10197 (windows_core::Interface::vtable(self).AllowExternalDrop)(
10198 windows_core::Interface::as_raw(self),
10199 value as _,
10200 )
10201 .ok()
10202 }
10203 }
10204 pub unsafe fn SetAllowExternalDrop(&self, value: bool) -> windows_core::Result<()> {
10205 unsafe {
10206 (windows_core::Interface::vtable(self).SetAllowExternalDrop)(
10207 windows_core::Interface::as_raw(self),
10208 value.into(),
10209 )
10210 .ok()
10211 }
10212 }
10213}
10214#[repr(C)]
10215#[doc(hidden)]
10216pub struct ICoreWebView2Controller4_Vtbl {
10217 pub base__: ICoreWebView2Controller3_Vtbl,
10218 pub AllowExternalDrop: unsafe extern "system" fn(
10219 *mut core::ffi::c_void,
10220 *mut windows_core::BOOL,
10221 ) -> windows_core::HRESULT,
10222 pub SetAllowExternalDrop: unsafe extern "system" fn(
10223 *mut core::ffi::c_void,
10224 windows_core::BOOL,
10225 ) -> windows_core::HRESULT,
10226}
10227pub trait ICoreWebView2Controller4_Impl: ICoreWebView2Controller3_Impl {
10228 fn AllowExternalDrop(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
10229 fn SetAllowExternalDrop(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
10230}
10231impl ICoreWebView2Controller4_Vtbl {
10232 pub const fn new<Identity: ICoreWebView2Controller4_Impl, const OFFSET: isize>() -> Self {
10233 unsafe extern "system" fn AllowExternalDrop<
10234 Identity: ICoreWebView2Controller4_Impl,
10235 const OFFSET: isize,
10236 >(
10237 this: *mut core::ffi::c_void,
10238 value: *mut windows_core::BOOL,
10239 ) -> windows_core::HRESULT {
10240 unsafe {
10241 let this: &Identity =
10242 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10243 ICoreWebView2Controller4_Impl::AllowExternalDrop(
10244 this,
10245 core::mem::transmute_copy(&value),
10246 )
10247 .into()
10248 }
10249 }
10250 unsafe extern "system" fn SetAllowExternalDrop<
10251 Identity: ICoreWebView2Controller4_Impl,
10252 const OFFSET: isize,
10253 >(
10254 this: *mut core::ffi::c_void,
10255 value: windows_core::BOOL,
10256 ) -> windows_core::HRESULT {
10257 unsafe {
10258 let this: &Identity =
10259 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10260 ICoreWebView2Controller4_Impl::SetAllowExternalDrop(
10261 this,
10262 core::mem::transmute_copy(&value),
10263 )
10264 .into()
10265 }
10266 }
10267 Self {
10268 base__: ICoreWebView2Controller3_Vtbl::new::<Identity, OFFSET>(),
10269 AllowExternalDrop: AllowExternalDrop::<Identity, OFFSET>,
10270 SetAllowExternalDrop: SetAllowExternalDrop::<Identity, OFFSET>,
10271 }
10272 }
10273 pub fn matches(iid: &windows_core::GUID) -> bool {
10274 iid == &<ICoreWebView2Controller4 as windows_core::Interface>::IID
10275 || iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
10276 || iid == &<ICoreWebView2Controller2 as windows_core::Interface>::IID
10277 || iid == &<ICoreWebView2Controller3 as windows_core::Interface>::IID
10278 }
10279}
10280impl windows_core::RuntimeName for ICoreWebView2Controller4 {}
10281windows_core::imp::define_interface!(
10282 ICoreWebView2ControllerOptions,
10283 ICoreWebView2ControllerOptions_Vtbl,
10284 0x12aae616_8ccb_44ec_bcb3_eb1831881635
10285);
10286windows_core::imp::interface_hierarchy!(ICoreWebView2ControllerOptions, windows_core::IUnknown);
10287impl ICoreWebView2ControllerOptions {
10288 pub unsafe fn ProfileName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10289 unsafe {
10290 (windows_core::Interface::vtable(self).ProfileName)(
10291 windows_core::Interface::as_raw(self),
10292 value as _,
10293 )
10294 .ok()
10295 }
10296 }
10297 pub unsafe fn SetProfileName<P0>(&self, value: P0) -> windows_core::Result<()>
10298 where
10299 P0: windows_core::Param<windows_core::PCWSTR>,
10300 {
10301 unsafe {
10302 (windows_core::Interface::vtable(self).SetProfileName)(
10303 windows_core::Interface::as_raw(self),
10304 value.param().abi(),
10305 )
10306 .ok()
10307 }
10308 }
10309 pub unsafe fn IsInPrivateModeEnabled(
10310 &self,
10311 value: *mut windows_core::BOOL,
10312 ) -> windows_core::Result<()> {
10313 unsafe {
10314 (windows_core::Interface::vtable(self).IsInPrivateModeEnabled)(
10315 windows_core::Interface::as_raw(self),
10316 value as _,
10317 )
10318 .ok()
10319 }
10320 }
10321 pub unsafe fn SetIsInPrivateModeEnabled(&self, value: bool) -> windows_core::Result<()> {
10322 unsafe {
10323 (windows_core::Interface::vtable(self).SetIsInPrivateModeEnabled)(
10324 windows_core::Interface::as_raw(self),
10325 value.into(),
10326 )
10327 .ok()
10328 }
10329 }
10330}
10331#[repr(C)]
10332#[doc(hidden)]
10333pub struct ICoreWebView2ControllerOptions_Vtbl {
10334 pub base__: windows_core::IUnknown_Vtbl,
10335 pub ProfileName: unsafe extern "system" fn(
10336 *mut core::ffi::c_void,
10337 *mut windows_core::PWSTR,
10338 ) -> windows_core::HRESULT,
10339 pub SetProfileName: unsafe extern "system" fn(
10340 *mut core::ffi::c_void,
10341 windows_core::PCWSTR,
10342 ) -> windows_core::HRESULT,
10343 pub IsInPrivateModeEnabled: unsafe extern "system" fn(
10344 *mut core::ffi::c_void,
10345 *mut windows_core::BOOL,
10346 ) -> windows_core::HRESULT,
10347 pub SetIsInPrivateModeEnabled: unsafe extern "system" fn(
10348 *mut core::ffi::c_void,
10349 windows_core::BOOL,
10350 ) -> windows_core::HRESULT,
10351}
10352pub trait ICoreWebView2ControllerOptions_Impl: windows_core::IUnknownImpl {
10353 fn ProfileName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10354 fn SetProfileName(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
10355 fn IsInPrivateModeEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
10356 fn SetIsInPrivateModeEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
10357}
10358impl ICoreWebView2ControllerOptions_Vtbl {
10359 pub const fn new<Identity: ICoreWebView2ControllerOptions_Impl, const OFFSET: isize>() -> Self {
10360 unsafe extern "system" fn ProfileName<
10361 Identity: ICoreWebView2ControllerOptions_Impl,
10362 const OFFSET: isize,
10363 >(
10364 this: *mut core::ffi::c_void,
10365 value: *mut windows_core::PWSTR,
10366 ) -> windows_core::HRESULT {
10367 unsafe {
10368 let this: &Identity =
10369 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10370 ICoreWebView2ControllerOptions_Impl::ProfileName(
10371 this,
10372 core::mem::transmute_copy(&value),
10373 )
10374 .into()
10375 }
10376 }
10377 unsafe extern "system" fn SetProfileName<
10378 Identity: ICoreWebView2ControllerOptions_Impl,
10379 const OFFSET: isize,
10380 >(
10381 this: *mut core::ffi::c_void,
10382 value: windows_core::PCWSTR,
10383 ) -> windows_core::HRESULT {
10384 unsafe {
10385 let this: &Identity =
10386 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10387 ICoreWebView2ControllerOptions_Impl::SetProfileName(
10388 this,
10389 core::mem::transmute(&value),
10390 )
10391 .into()
10392 }
10393 }
10394 unsafe extern "system" fn IsInPrivateModeEnabled<
10395 Identity: ICoreWebView2ControllerOptions_Impl,
10396 const OFFSET: isize,
10397 >(
10398 this: *mut core::ffi::c_void,
10399 value: *mut windows_core::BOOL,
10400 ) -> windows_core::HRESULT {
10401 unsafe {
10402 let this: &Identity =
10403 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10404 ICoreWebView2ControllerOptions_Impl::IsInPrivateModeEnabled(
10405 this,
10406 core::mem::transmute_copy(&value),
10407 )
10408 .into()
10409 }
10410 }
10411 unsafe extern "system" fn SetIsInPrivateModeEnabled<
10412 Identity: ICoreWebView2ControllerOptions_Impl,
10413 const OFFSET: isize,
10414 >(
10415 this: *mut core::ffi::c_void,
10416 value: windows_core::BOOL,
10417 ) -> windows_core::HRESULT {
10418 unsafe {
10419 let this: &Identity =
10420 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10421 ICoreWebView2ControllerOptions_Impl::SetIsInPrivateModeEnabled(
10422 this,
10423 core::mem::transmute_copy(&value),
10424 )
10425 .into()
10426 }
10427 }
10428 Self {
10429 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
10430 ProfileName: ProfileName::<Identity, OFFSET>,
10431 SetProfileName: SetProfileName::<Identity, OFFSET>,
10432 IsInPrivateModeEnabled: IsInPrivateModeEnabled::<Identity, OFFSET>,
10433 SetIsInPrivateModeEnabled: SetIsInPrivateModeEnabled::<Identity, OFFSET>,
10434 }
10435 }
10436 pub fn matches(iid: &windows_core::GUID) -> bool {
10437 iid == &<ICoreWebView2ControllerOptions as windows_core::Interface>::IID
10438 }
10439}
10440impl windows_core::RuntimeName for ICoreWebView2ControllerOptions {}
10441windows_core::imp::define_interface!(
10442 ICoreWebView2ControllerOptions2,
10443 ICoreWebView2ControllerOptions2_Vtbl,
10444 0x06c991d8_9e7e_11ed_a8fc_0242ac120002
10445);
10446impl core::ops::Deref for ICoreWebView2ControllerOptions2 {
10447 type Target = ICoreWebView2ControllerOptions;
10448 fn deref(&self) -> &Self::Target {
10449 unsafe { core::mem::transmute(self) }
10450 }
10451}
10452windows_core::imp::interface_hierarchy!(
10453 ICoreWebView2ControllerOptions2,
10454 windows_core::IUnknown,
10455 ICoreWebView2ControllerOptions
10456);
10457impl ICoreWebView2ControllerOptions2 {
10458 pub unsafe fn ScriptLocale(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10459 unsafe {
10460 (windows_core::Interface::vtable(self).ScriptLocale)(
10461 windows_core::Interface::as_raw(self),
10462 value as _,
10463 )
10464 .ok()
10465 }
10466 }
10467 pub unsafe fn SetScriptLocale<P0>(&self, value: P0) -> windows_core::Result<()>
10468 where
10469 P0: windows_core::Param<windows_core::PCWSTR>,
10470 {
10471 unsafe {
10472 (windows_core::Interface::vtable(self).SetScriptLocale)(
10473 windows_core::Interface::as_raw(self),
10474 value.param().abi(),
10475 )
10476 .ok()
10477 }
10478 }
10479}
10480#[repr(C)]
10481#[doc(hidden)]
10482pub struct ICoreWebView2ControllerOptions2_Vtbl {
10483 pub base__: ICoreWebView2ControllerOptions_Vtbl,
10484 pub ScriptLocale: unsafe extern "system" fn(
10485 *mut core::ffi::c_void,
10486 *mut windows_core::PWSTR,
10487 ) -> windows_core::HRESULT,
10488 pub SetScriptLocale: unsafe extern "system" fn(
10489 *mut core::ffi::c_void,
10490 windows_core::PCWSTR,
10491 ) -> windows_core::HRESULT,
10492}
10493pub trait ICoreWebView2ControllerOptions2_Impl: ICoreWebView2ControllerOptions_Impl {
10494 fn ScriptLocale(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10495 fn SetScriptLocale(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
10496}
10497impl ICoreWebView2ControllerOptions2_Vtbl {
10498 pub const fn new<Identity: ICoreWebView2ControllerOptions2_Impl, const OFFSET: isize>() -> Self
10499 {
10500 unsafe extern "system" fn ScriptLocale<
10501 Identity: ICoreWebView2ControllerOptions2_Impl,
10502 const OFFSET: isize,
10503 >(
10504 this: *mut core::ffi::c_void,
10505 value: *mut windows_core::PWSTR,
10506 ) -> windows_core::HRESULT {
10507 unsafe {
10508 let this: &Identity =
10509 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10510 ICoreWebView2ControllerOptions2_Impl::ScriptLocale(
10511 this,
10512 core::mem::transmute_copy(&value),
10513 )
10514 .into()
10515 }
10516 }
10517 unsafe extern "system" fn SetScriptLocale<
10518 Identity: ICoreWebView2ControllerOptions2_Impl,
10519 const OFFSET: isize,
10520 >(
10521 this: *mut core::ffi::c_void,
10522 value: windows_core::PCWSTR,
10523 ) -> windows_core::HRESULT {
10524 unsafe {
10525 let this: &Identity =
10526 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10527 ICoreWebView2ControllerOptions2_Impl::SetScriptLocale(
10528 this,
10529 core::mem::transmute(&value),
10530 )
10531 .into()
10532 }
10533 }
10534 Self {
10535 base__: ICoreWebView2ControllerOptions_Vtbl::new::<Identity, OFFSET>(),
10536 ScriptLocale: ScriptLocale::<Identity, OFFSET>,
10537 SetScriptLocale: SetScriptLocale::<Identity, OFFSET>,
10538 }
10539 }
10540 pub fn matches(iid: &windows_core::GUID) -> bool {
10541 iid == &<ICoreWebView2ControllerOptions2 as windows_core::Interface>::IID
10542 || iid == &<ICoreWebView2ControllerOptions as windows_core::Interface>::IID
10543 }
10544}
10545impl windows_core::RuntimeName for ICoreWebView2ControllerOptions2 {}
10546windows_core::imp::define_interface!(
10547 ICoreWebView2ControllerOptions3,
10548 ICoreWebView2ControllerOptions3_Vtbl,
10549 0xb32b191a_8998_57ca_b7cb_e04617e4ce4a
10550);
10551impl core::ops::Deref for ICoreWebView2ControllerOptions3 {
10552 type Target = ICoreWebView2ControllerOptions2;
10553 fn deref(&self) -> &Self::Target {
10554 unsafe { core::mem::transmute(self) }
10555 }
10556}
10557windows_core::imp::interface_hierarchy!(
10558 ICoreWebView2ControllerOptions3,
10559 windows_core::IUnknown,
10560 ICoreWebView2ControllerOptions,
10561 ICoreWebView2ControllerOptions2
10562);
10563impl ICoreWebView2ControllerOptions3 {
10564 pub unsafe fn DefaultBackgroundColor(
10565 &self,
10566 value: *mut COREWEBVIEW2_COLOR,
10567 ) -> windows_core::Result<()> {
10568 unsafe {
10569 (windows_core::Interface::vtable(self).DefaultBackgroundColor)(
10570 windows_core::Interface::as_raw(self),
10571 value as _,
10572 )
10573 .ok()
10574 }
10575 }
10576 pub unsafe fn SetDefaultBackgroundColor(
10577 &self,
10578 value: COREWEBVIEW2_COLOR,
10579 ) -> windows_core::Result<()> {
10580 unsafe {
10581 (windows_core::Interface::vtable(self).SetDefaultBackgroundColor)(
10582 windows_core::Interface::as_raw(self),
10583 core::mem::transmute(value),
10584 )
10585 .ok()
10586 }
10587 }
10588}
10589#[repr(C)]
10590#[doc(hidden)]
10591pub struct ICoreWebView2ControllerOptions3_Vtbl {
10592 pub base__: ICoreWebView2ControllerOptions2_Vtbl,
10593 pub DefaultBackgroundColor: unsafe extern "system" fn(
10594 *mut core::ffi::c_void,
10595 *mut COREWEBVIEW2_COLOR,
10596 ) -> windows_core::HRESULT,
10597 pub SetDefaultBackgroundColor: unsafe extern "system" fn(
10598 *mut core::ffi::c_void,
10599 COREWEBVIEW2_COLOR,
10600 ) -> windows_core::HRESULT,
10601}
10602pub trait ICoreWebView2ControllerOptions3_Impl: ICoreWebView2ControllerOptions2_Impl {
10603 fn DefaultBackgroundColor(&self, value: *mut COREWEBVIEW2_COLOR) -> windows_core::Result<()>;
10604 fn SetDefaultBackgroundColor(&self, value: &COREWEBVIEW2_COLOR) -> windows_core::Result<()>;
10605}
10606impl ICoreWebView2ControllerOptions3_Vtbl {
10607 pub const fn new<Identity: ICoreWebView2ControllerOptions3_Impl, const OFFSET: isize>() -> Self
10608 {
10609 unsafe extern "system" fn DefaultBackgroundColor<
10610 Identity: ICoreWebView2ControllerOptions3_Impl,
10611 const OFFSET: isize,
10612 >(
10613 this: *mut core::ffi::c_void,
10614 value: *mut COREWEBVIEW2_COLOR,
10615 ) -> windows_core::HRESULT {
10616 unsafe {
10617 let this: &Identity =
10618 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10619 ICoreWebView2ControllerOptions3_Impl::DefaultBackgroundColor(
10620 this,
10621 core::mem::transmute_copy(&value),
10622 )
10623 .into()
10624 }
10625 }
10626 unsafe extern "system" fn SetDefaultBackgroundColor<
10627 Identity: ICoreWebView2ControllerOptions3_Impl,
10628 const OFFSET: isize,
10629 >(
10630 this: *mut core::ffi::c_void,
10631 value: COREWEBVIEW2_COLOR,
10632 ) -> windows_core::HRESULT {
10633 unsafe {
10634 let this: &Identity =
10635 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10636 ICoreWebView2ControllerOptions3_Impl::SetDefaultBackgroundColor(
10637 this,
10638 core::mem::transmute(&value),
10639 )
10640 .into()
10641 }
10642 }
10643 Self {
10644 base__: ICoreWebView2ControllerOptions2_Vtbl::new::<Identity, OFFSET>(),
10645 DefaultBackgroundColor: DefaultBackgroundColor::<Identity, OFFSET>,
10646 SetDefaultBackgroundColor: SetDefaultBackgroundColor::<Identity, OFFSET>,
10647 }
10648 }
10649 pub fn matches(iid: &windows_core::GUID) -> bool {
10650 iid == &<ICoreWebView2ControllerOptions3 as windows_core::Interface>::IID
10651 || iid == &<ICoreWebView2ControllerOptions as windows_core::Interface>::IID
10652 || iid == &<ICoreWebView2ControllerOptions2 as windows_core::Interface>::IID
10653 }
10654}
10655impl windows_core::RuntimeName for ICoreWebView2ControllerOptions3 {}
10656windows_core::imp::define_interface!(
10657 ICoreWebView2ControllerOptions4,
10658 ICoreWebView2ControllerOptions4_Vtbl,
10659 0x21eb052f_ad39_555e_824a_c87b091d4d36
10660);
10661impl core::ops::Deref for ICoreWebView2ControllerOptions4 {
10662 type Target = ICoreWebView2ControllerOptions3;
10663 fn deref(&self) -> &Self::Target {
10664 unsafe { core::mem::transmute(self) }
10665 }
10666}
10667windows_core::imp::interface_hierarchy!(
10668 ICoreWebView2ControllerOptions4,
10669 windows_core::IUnknown,
10670 ICoreWebView2ControllerOptions,
10671 ICoreWebView2ControllerOptions2,
10672 ICoreWebView2ControllerOptions3
10673);
10674impl ICoreWebView2ControllerOptions4 {
10675 pub unsafe fn AllowHostInputProcessing(
10676 &self,
10677 value: *mut windows_core::BOOL,
10678 ) -> windows_core::Result<()> {
10679 unsafe {
10680 (windows_core::Interface::vtable(self).AllowHostInputProcessing)(
10681 windows_core::Interface::as_raw(self),
10682 value as _,
10683 )
10684 .ok()
10685 }
10686 }
10687 pub unsafe fn SetAllowHostInputProcessing(&self, value: bool) -> windows_core::Result<()> {
10688 unsafe {
10689 (windows_core::Interface::vtable(self).SetAllowHostInputProcessing)(
10690 windows_core::Interface::as_raw(self),
10691 value.into(),
10692 )
10693 .ok()
10694 }
10695 }
10696}
10697#[repr(C)]
10698#[doc(hidden)]
10699pub struct ICoreWebView2ControllerOptions4_Vtbl {
10700 pub base__: ICoreWebView2ControllerOptions3_Vtbl,
10701 pub AllowHostInputProcessing: unsafe extern "system" fn(
10702 *mut core::ffi::c_void,
10703 *mut windows_core::BOOL,
10704 ) -> windows_core::HRESULT,
10705 pub SetAllowHostInputProcessing: unsafe extern "system" fn(
10706 *mut core::ffi::c_void,
10707 windows_core::BOOL,
10708 ) -> windows_core::HRESULT,
10709}
10710pub trait ICoreWebView2ControllerOptions4_Impl: ICoreWebView2ControllerOptions3_Impl {
10711 fn AllowHostInputProcessing(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
10712 fn SetAllowHostInputProcessing(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
10713}
10714impl ICoreWebView2ControllerOptions4_Vtbl {
10715 pub const fn new<Identity: ICoreWebView2ControllerOptions4_Impl, const OFFSET: isize>() -> Self
10716 {
10717 unsafe extern "system" fn AllowHostInputProcessing<
10718 Identity: ICoreWebView2ControllerOptions4_Impl,
10719 const OFFSET: isize,
10720 >(
10721 this: *mut core::ffi::c_void,
10722 value: *mut windows_core::BOOL,
10723 ) -> windows_core::HRESULT {
10724 unsafe {
10725 let this: &Identity =
10726 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10727 ICoreWebView2ControllerOptions4_Impl::AllowHostInputProcessing(
10728 this,
10729 core::mem::transmute_copy(&value),
10730 )
10731 .into()
10732 }
10733 }
10734 unsafe extern "system" fn SetAllowHostInputProcessing<
10735 Identity: ICoreWebView2ControllerOptions4_Impl,
10736 const OFFSET: isize,
10737 >(
10738 this: *mut core::ffi::c_void,
10739 value: windows_core::BOOL,
10740 ) -> windows_core::HRESULT {
10741 unsafe {
10742 let this: &Identity =
10743 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10744 ICoreWebView2ControllerOptions4_Impl::SetAllowHostInputProcessing(
10745 this,
10746 core::mem::transmute_copy(&value),
10747 )
10748 .into()
10749 }
10750 }
10751 Self {
10752 base__: ICoreWebView2ControllerOptions3_Vtbl::new::<Identity, OFFSET>(),
10753 AllowHostInputProcessing: AllowHostInputProcessing::<Identity, OFFSET>,
10754 SetAllowHostInputProcessing: SetAllowHostInputProcessing::<Identity, OFFSET>,
10755 }
10756 }
10757 pub fn matches(iid: &windows_core::GUID) -> bool {
10758 iid == &<ICoreWebView2ControllerOptions4 as windows_core::Interface>::IID
10759 || iid == &<ICoreWebView2ControllerOptions as windows_core::Interface>::IID
10760 || iid == &<ICoreWebView2ControllerOptions2 as windows_core::Interface>::IID
10761 || iid == &<ICoreWebView2ControllerOptions3 as windows_core::Interface>::IID
10762 }
10763}
10764impl windows_core::RuntimeName for ICoreWebView2ControllerOptions4 {}
10765windows_core::imp::define_interface!(
10766 ICoreWebView2Cookie,
10767 ICoreWebView2Cookie_Vtbl,
10768 0xad26d6be_1486_43e6_bf87_a2034006ca21
10769);
10770windows_core::imp::interface_hierarchy!(ICoreWebView2Cookie, windows_core::IUnknown);
10771impl ICoreWebView2Cookie {
10772 pub unsafe fn Name(&self, name: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10773 unsafe {
10774 (windows_core::Interface::vtable(self).Name)(
10775 windows_core::Interface::as_raw(self),
10776 name as _,
10777 )
10778 .ok()
10779 }
10780 }
10781 pub unsafe fn Value(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10782 unsafe {
10783 (windows_core::Interface::vtable(self).Value)(
10784 windows_core::Interface::as_raw(self),
10785 value as _,
10786 )
10787 .ok()
10788 }
10789 }
10790 pub unsafe fn SetValue<P0>(&self, value: P0) -> windows_core::Result<()>
10791 where
10792 P0: windows_core::Param<windows_core::PCWSTR>,
10793 {
10794 unsafe {
10795 (windows_core::Interface::vtable(self).SetValue)(
10796 windows_core::Interface::as_raw(self),
10797 value.param().abi(),
10798 )
10799 .ok()
10800 }
10801 }
10802 pub unsafe fn Domain(&self, domain: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10803 unsafe {
10804 (windows_core::Interface::vtable(self).Domain)(
10805 windows_core::Interface::as_raw(self),
10806 domain as _,
10807 )
10808 .ok()
10809 }
10810 }
10811 pub unsafe fn Path(&self, path: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10812 unsafe {
10813 (windows_core::Interface::vtable(self).Path)(
10814 windows_core::Interface::as_raw(self),
10815 path as _,
10816 )
10817 .ok()
10818 }
10819 }
10820 pub unsafe fn Expires(&self, expires: *mut f64) -> windows_core::Result<()> {
10821 unsafe {
10822 (windows_core::Interface::vtable(self).Expires)(
10823 windows_core::Interface::as_raw(self),
10824 expires as _,
10825 )
10826 .ok()
10827 }
10828 }
10829 pub unsafe fn SetExpires(&self, expires: f64) -> windows_core::Result<()> {
10830 unsafe {
10831 (windows_core::Interface::vtable(self).SetExpires)(
10832 windows_core::Interface::as_raw(self),
10833 expires,
10834 )
10835 .ok()
10836 }
10837 }
10838 pub unsafe fn IsHttpOnly(
10839 &self,
10840 ishttponly: *mut windows_core::BOOL,
10841 ) -> windows_core::Result<()> {
10842 unsafe {
10843 (windows_core::Interface::vtable(self).IsHttpOnly)(
10844 windows_core::Interface::as_raw(self),
10845 ishttponly as _,
10846 )
10847 .ok()
10848 }
10849 }
10850 pub unsafe fn SetIsHttpOnly(&self, ishttponly: bool) -> windows_core::Result<()> {
10851 unsafe {
10852 (windows_core::Interface::vtable(self).SetIsHttpOnly)(
10853 windows_core::Interface::as_raw(self),
10854 ishttponly.into(),
10855 )
10856 .ok()
10857 }
10858 }
10859 pub unsafe fn SameSite(
10860 &self,
10861 samesite: *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10862 ) -> windows_core::Result<()> {
10863 unsafe {
10864 (windows_core::Interface::vtable(self).SameSite)(
10865 windows_core::Interface::as_raw(self),
10866 samesite as _,
10867 )
10868 .ok()
10869 }
10870 }
10871 pub unsafe fn SetSameSite(
10872 &self,
10873 samesite: COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10874 ) -> windows_core::Result<()> {
10875 unsafe {
10876 (windows_core::Interface::vtable(self).SetSameSite)(
10877 windows_core::Interface::as_raw(self),
10878 samesite,
10879 )
10880 .ok()
10881 }
10882 }
10883 pub unsafe fn IsSecure(&self, issecure: *mut windows_core::BOOL) -> windows_core::Result<()> {
10884 unsafe {
10885 (windows_core::Interface::vtable(self).IsSecure)(
10886 windows_core::Interface::as_raw(self),
10887 issecure as _,
10888 )
10889 .ok()
10890 }
10891 }
10892 pub unsafe fn SetIsSecure(&self, issecure: bool) -> windows_core::Result<()> {
10893 unsafe {
10894 (windows_core::Interface::vtable(self).SetIsSecure)(
10895 windows_core::Interface::as_raw(self),
10896 issecure.into(),
10897 )
10898 .ok()
10899 }
10900 }
10901 pub unsafe fn IsSession(&self, issession: *mut windows_core::BOOL) -> windows_core::Result<()> {
10902 unsafe {
10903 (windows_core::Interface::vtable(self).IsSession)(
10904 windows_core::Interface::as_raw(self),
10905 issession as _,
10906 )
10907 .ok()
10908 }
10909 }
10910}
10911#[repr(C)]
10912#[doc(hidden)]
10913pub struct ICoreWebView2Cookie_Vtbl {
10914 pub base__: windows_core::IUnknown_Vtbl,
10915 pub Name: unsafe extern "system" fn(
10916 *mut core::ffi::c_void,
10917 *mut windows_core::PWSTR,
10918 ) -> windows_core::HRESULT,
10919 pub Value: unsafe extern "system" fn(
10920 *mut core::ffi::c_void,
10921 *mut windows_core::PWSTR,
10922 ) -> windows_core::HRESULT,
10923 pub SetValue: unsafe extern "system" fn(
10924 *mut core::ffi::c_void,
10925 windows_core::PCWSTR,
10926 ) -> windows_core::HRESULT,
10927 pub Domain: unsafe extern "system" fn(
10928 *mut core::ffi::c_void,
10929 *mut windows_core::PWSTR,
10930 ) -> windows_core::HRESULT,
10931 pub Path: unsafe extern "system" fn(
10932 *mut core::ffi::c_void,
10933 *mut windows_core::PWSTR,
10934 ) -> windows_core::HRESULT,
10935 pub Expires:
10936 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
10937 pub SetExpires: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
10938 pub IsHttpOnly: unsafe extern "system" fn(
10939 *mut core::ffi::c_void,
10940 *mut windows_core::BOOL,
10941 ) -> windows_core::HRESULT,
10942 pub SetIsHttpOnly: unsafe extern "system" fn(
10943 *mut core::ffi::c_void,
10944 windows_core::BOOL,
10945 ) -> windows_core::HRESULT,
10946 pub SameSite: unsafe extern "system" fn(
10947 *mut core::ffi::c_void,
10948 *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10949 ) -> windows_core::HRESULT,
10950 pub SetSameSite: unsafe extern "system" fn(
10951 *mut core::ffi::c_void,
10952 COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10953 ) -> windows_core::HRESULT,
10954 pub IsSecure: unsafe extern "system" fn(
10955 *mut core::ffi::c_void,
10956 *mut windows_core::BOOL,
10957 ) -> windows_core::HRESULT,
10958 pub SetIsSecure: unsafe extern "system" fn(
10959 *mut core::ffi::c_void,
10960 windows_core::BOOL,
10961 ) -> windows_core::HRESULT,
10962 pub IsSession: unsafe extern "system" fn(
10963 *mut core::ffi::c_void,
10964 *mut windows_core::BOOL,
10965 ) -> windows_core::HRESULT,
10966}
10967pub trait ICoreWebView2Cookie_Impl: windows_core::IUnknownImpl {
10968 fn Name(&self, name: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10969 fn Value(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10970 fn SetValue(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
10971 fn Domain(&self, domain: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10972 fn Path(&self, path: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10973 fn Expires(&self, expires: *mut f64) -> windows_core::Result<()>;
10974 fn SetExpires(&self, expires: f64) -> windows_core::Result<()>;
10975 fn IsHttpOnly(&self, ishttponly: *mut windows_core::BOOL) -> windows_core::Result<()>;
10976 fn SetIsHttpOnly(&self, ishttponly: windows_core::BOOL) -> windows_core::Result<()>;
10977 fn SameSite(
10978 &self,
10979 samesite: *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10980 ) -> windows_core::Result<()>;
10981 fn SetSameSite(&self, samesite: COREWEBVIEW2_COOKIE_SAME_SITE_KIND)
10982 -> windows_core::Result<()>;
10983 fn IsSecure(&self, issecure: *mut windows_core::BOOL) -> windows_core::Result<()>;
10984 fn SetIsSecure(&self, issecure: windows_core::BOOL) -> windows_core::Result<()>;
10985 fn IsSession(&self, issession: *mut windows_core::BOOL) -> windows_core::Result<()>;
10986}
10987impl ICoreWebView2Cookie_Vtbl {
10988 pub const fn new<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>() -> Self {
10989 unsafe extern "system" fn Name<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>(
10990 this: *mut core::ffi::c_void,
10991 name: *mut windows_core::PWSTR,
10992 ) -> windows_core::HRESULT {
10993 unsafe {
10994 let this: &Identity =
10995 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10996 ICoreWebView2Cookie_Impl::Name(this, core::mem::transmute_copy(&name)).into()
10997 }
10998 }
10999 unsafe extern "system" fn Value<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>(
11000 this: *mut core::ffi::c_void,
11001 value: *mut windows_core::PWSTR,
11002 ) -> windows_core::HRESULT {
11003 unsafe {
11004 let this: &Identity =
11005 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11006 ICoreWebView2Cookie_Impl::Value(this, core::mem::transmute_copy(&value)).into()
11007 }
11008 }
11009 unsafe extern "system" fn SetValue<
11010 Identity: ICoreWebView2Cookie_Impl,
11011 const OFFSET: isize,
11012 >(
11013 this: *mut core::ffi::c_void,
11014 value: windows_core::PCWSTR,
11015 ) -> windows_core::HRESULT {
11016 unsafe {
11017 let this: &Identity =
11018 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11019 ICoreWebView2Cookie_Impl::SetValue(this, core::mem::transmute(&value)).into()
11020 }
11021 }
11022 unsafe extern "system" fn Domain<
11023 Identity: ICoreWebView2Cookie_Impl,
11024 const OFFSET: isize,
11025 >(
11026 this: *mut core::ffi::c_void,
11027 domain: *mut windows_core::PWSTR,
11028 ) -> windows_core::HRESULT {
11029 unsafe {
11030 let this: &Identity =
11031 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11032 ICoreWebView2Cookie_Impl::Domain(this, core::mem::transmute_copy(&domain)).into()
11033 }
11034 }
11035 unsafe extern "system" fn Path<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>(
11036 this: *mut core::ffi::c_void,
11037 path: *mut windows_core::PWSTR,
11038 ) -> windows_core::HRESULT {
11039 unsafe {
11040 let this: &Identity =
11041 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11042 ICoreWebView2Cookie_Impl::Path(this, core::mem::transmute_copy(&path)).into()
11043 }
11044 }
11045 unsafe extern "system" fn Expires<
11046 Identity: ICoreWebView2Cookie_Impl,
11047 const OFFSET: isize,
11048 >(
11049 this: *mut core::ffi::c_void,
11050 expires: *mut f64,
11051 ) -> windows_core::HRESULT {
11052 unsafe {
11053 let this: &Identity =
11054 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11055 ICoreWebView2Cookie_Impl::Expires(this, core::mem::transmute_copy(&expires)).into()
11056 }
11057 }
11058 unsafe extern "system" fn SetExpires<
11059 Identity: ICoreWebView2Cookie_Impl,
11060 const OFFSET: isize,
11061 >(
11062 this: *mut core::ffi::c_void,
11063 expires: f64,
11064 ) -> windows_core::HRESULT {
11065 unsafe {
11066 let this: &Identity =
11067 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11068 ICoreWebView2Cookie_Impl::SetExpires(this, core::mem::transmute_copy(&expires))
11069 .into()
11070 }
11071 }
11072 unsafe extern "system" fn IsHttpOnly<
11073 Identity: ICoreWebView2Cookie_Impl,
11074 const OFFSET: isize,
11075 >(
11076 this: *mut core::ffi::c_void,
11077 ishttponly: *mut windows_core::BOOL,
11078 ) -> windows_core::HRESULT {
11079 unsafe {
11080 let this: &Identity =
11081 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11082 ICoreWebView2Cookie_Impl::IsHttpOnly(this, core::mem::transmute_copy(&ishttponly))
11083 .into()
11084 }
11085 }
11086 unsafe extern "system" fn SetIsHttpOnly<
11087 Identity: ICoreWebView2Cookie_Impl,
11088 const OFFSET: isize,
11089 >(
11090 this: *mut core::ffi::c_void,
11091 ishttponly: windows_core::BOOL,
11092 ) -> windows_core::HRESULT {
11093 unsafe {
11094 let this: &Identity =
11095 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11096 ICoreWebView2Cookie_Impl::SetIsHttpOnly(
11097 this,
11098 core::mem::transmute_copy(&ishttponly),
11099 )
11100 .into()
11101 }
11102 }
11103 unsafe extern "system" fn SameSite<
11104 Identity: ICoreWebView2Cookie_Impl,
11105 const OFFSET: isize,
11106 >(
11107 this: *mut core::ffi::c_void,
11108 samesite: *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
11109 ) -> windows_core::HRESULT {
11110 unsafe {
11111 let this: &Identity =
11112 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11113 ICoreWebView2Cookie_Impl::SameSite(this, core::mem::transmute_copy(&samesite))
11114 .into()
11115 }
11116 }
11117 unsafe extern "system" fn SetSameSite<
11118 Identity: ICoreWebView2Cookie_Impl,
11119 const OFFSET: isize,
11120 >(
11121 this: *mut core::ffi::c_void,
11122 samesite: COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
11123 ) -> windows_core::HRESULT {
11124 unsafe {
11125 let this: &Identity =
11126 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11127 ICoreWebView2Cookie_Impl::SetSameSite(this, core::mem::transmute_copy(&samesite))
11128 .into()
11129 }
11130 }
11131 unsafe extern "system" fn IsSecure<
11132 Identity: ICoreWebView2Cookie_Impl,
11133 const OFFSET: isize,
11134 >(
11135 this: *mut core::ffi::c_void,
11136 issecure: *mut windows_core::BOOL,
11137 ) -> windows_core::HRESULT {
11138 unsafe {
11139 let this: &Identity =
11140 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11141 ICoreWebView2Cookie_Impl::IsSecure(this, core::mem::transmute_copy(&issecure))
11142 .into()
11143 }
11144 }
11145 unsafe extern "system" fn SetIsSecure<
11146 Identity: ICoreWebView2Cookie_Impl,
11147 const OFFSET: isize,
11148 >(
11149 this: *mut core::ffi::c_void,
11150 issecure: windows_core::BOOL,
11151 ) -> windows_core::HRESULT {
11152 unsafe {
11153 let this: &Identity =
11154 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11155 ICoreWebView2Cookie_Impl::SetIsSecure(this, core::mem::transmute_copy(&issecure))
11156 .into()
11157 }
11158 }
11159 unsafe extern "system" fn IsSession<
11160 Identity: ICoreWebView2Cookie_Impl,
11161 const OFFSET: isize,
11162 >(
11163 this: *mut core::ffi::c_void,
11164 issession: *mut windows_core::BOOL,
11165 ) -> windows_core::HRESULT {
11166 unsafe {
11167 let this: &Identity =
11168 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11169 ICoreWebView2Cookie_Impl::IsSession(this, core::mem::transmute_copy(&issession))
11170 .into()
11171 }
11172 }
11173 Self {
11174 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11175 Name: Name::<Identity, OFFSET>,
11176 Value: Value::<Identity, OFFSET>,
11177 SetValue: SetValue::<Identity, OFFSET>,
11178 Domain: Domain::<Identity, OFFSET>,
11179 Path: Path::<Identity, OFFSET>,
11180 Expires: Expires::<Identity, OFFSET>,
11181 SetExpires: SetExpires::<Identity, OFFSET>,
11182 IsHttpOnly: IsHttpOnly::<Identity, OFFSET>,
11183 SetIsHttpOnly: SetIsHttpOnly::<Identity, OFFSET>,
11184 SameSite: SameSite::<Identity, OFFSET>,
11185 SetSameSite: SetSameSite::<Identity, OFFSET>,
11186 IsSecure: IsSecure::<Identity, OFFSET>,
11187 SetIsSecure: SetIsSecure::<Identity, OFFSET>,
11188 IsSession: IsSession::<Identity, OFFSET>,
11189 }
11190 }
11191 pub fn matches(iid: &windows_core::GUID) -> bool {
11192 iid == &<ICoreWebView2Cookie as windows_core::Interface>::IID
11193 }
11194}
11195impl windows_core::RuntimeName for ICoreWebView2Cookie {}
11196windows_core::imp::define_interface!(
11197 ICoreWebView2CookieList,
11198 ICoreWebView2CookieList_Vtbl,
11199 0xf7f6f714_5d2a_43c6_9503_346ece02d186
11200);
11201windows_core::imp::interface_hierarchy!(ICoreWebView2CookieList, windows_core::IUnknown);
11202impl ICoreWebView2CookieList {
11203 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
11204 unsafe {
11205 (windows_core::Interface::vtable(self).Count)(
11206 windows_core::Interface::as_raw(self),
11207 value as _,
11208 )
11209 .ok()
11210 }
11211 }
11212 pub unsafe fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2Cookie> {
11213 unsafe {
11214 let mut result__ = core::mem::zeroed();
11215 (windows_core::Interface::vtable(self).GetValueAtIndex)(
11216 windows_core::Interface::as_raw(self),
11217 index,
11218 &mut result__,
11219 )
11220 .and_then(|| windows_core::Type::from_abi(result__))
11221 }
11222 }
11223}
11224#[repr(C)]
11225#[doc(hidden)]
11226pub struct ICoreWebView2CookieList_Vtbl {
11227 pub base__: windows_core::IUnknown_Vtbl,
11228 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11229 pub GetValueAtIndex: unsafe extern "system" fn(
11230 *mut core::ffi::c_void,
11231 u32,
11232 *mut *mut core::ffi::c_void,
11233 ) -> windows_core::HRESULT,
11234}
11235pub trait ICoreWebView2CookieList_Impl: windows_core::IUnknownImpl {
11236 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
11237 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2Cookie>;
11238}
11239impl ICoreWebView2CookieList_Vtbl {
11240 pub const fn new<Identity: ICoreWebView2CookieList_Impl, const OFFSET: isize>() -> Self {
11241 unsafe extern "system" fn Count<
11242 Identity: ICoreWebView2CookieList_Impl,
11243 const OFFSET: isize,
11244 >(
11245 this: *mut core::ffi::c_void,
11246 value: *mut u32,
11247 ) -> windows_core::HRESULT {
11248 unsafe {
11249 let this: &Identity =
11250 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11251 ICoreWebView2CookieList_Impl::Count(this, core::mem::transmute_copy(&value)).into()
11252 }
11253 }
11254 unsafe extern "system" fn GetValueAtIndex<
11255 Identity: ICoreWebView2CookieList_Impl,
11256 const OFFSET: isize,
11257 >(
11258 this: *mut core::ffi::c_void,
11259 index: u32,
11260 value: *mut *mut core::ffi::c_void,
11261 ) -> windows_core::HRESULT {
11262 unsafe {
11263 let this: &Identity =
11264 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11265 match ICoreWebView2CookieList_Impl::GetValueAtIndex(
11266 this,
11267 core::mem::transmute_copy(&index),
11268 ) {
11269 Ok(ok__) => {
11270 value.write(core::mem::transmute(ok__));
11271 windows_core::HRESULT(0)
11272 }
11273 Err(err) => err.into(),
11274 }
11275 }
11276 }
11277 Self {
11278 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11279 Count: Count::<Identity, OFFSET>,
11280 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
11281 }
11282 }
11283 pub fn matches(iid: &windows_core::GUID) -> bool {
11284 iid == &<ICoreWebView2CookieList as windows_core::Interface>::IID
11285 }
11286}
11287impl windows_core::RuntimeName for ICoreWebView2CookieList {}
11288windows_core::imp::define_interface!(
11289 ICoreWebView2CookieManager,
11290 ICoreWebView2CookieManager_Vtbl,
11291 0x177cd9e7_b6f5_451a_94a0_5d7a3a4c4141
11292);
11293windows_core::imp::interface_hierarchy!(ICoreWebView2CookieManager, windows_core::IUnknown);
11294impl ICoreWebView2CookieManager {
11295 pub unsafe fn CreateCookie<P0, P1, P2, P3>(
11296 &self,
11297 name: P0,
11298 value: P1,
11299 domain: P2,
11300 path: P3,
11301 ) -> windows_core::Result<ICoreWebView2Cookie>
11302 where
11303 P0: windows_core::Param<windows_core::PCWSTR>,
11304 P1: windows_core::Param<windows_core::PCWSTR>,
11305 P2: windows_core::Param<windows_core::PCWSTR>,
11306 P3: windows_core::Param<windows_core::PCWSTR>,
11307 {
11308 unsafe {
11309 let mut result__ = core::mem::zeroed();
11310 (windows_core::Interface::vtable(self).CreateCookie)(
11311 windows_core::Interface::as_raw(self),
11312 name.param().abi(),
11313 value.param().abi(),
11314 domain.param().abi(),
11315 path.param().abi(),
11316 &mut result__,
11317 )
11318 .and_then(|| windows_core::Type::from_abi(result__))
11319 }
11320 }
11321 pub unsafe fn CopyCookie<P0>(
11322 &self,
11323 cookieparam: P0,
11324 ) -> windows_core::Result<ICoreWebView2Cookie>
11325 where
11326 P0: windows_core::Param<ICoreWebView2Cookie>,
11327 {
11328 unsafe {
11329 let mut result__ = core::mem::zeroed();
11330 (windows_core::Interface::vtable(self).CopyCookie)(
11331 windows_core::Interface::as_raw(self),
11332 cookieparam.param().abi(),
11333 &mut result__,
11334 )
11335 .and_then(|| windows_core::Type::from_abi(result__))
11336 }
11337 }
11338 pub unsafe fn GetCookies<P0, P1>(&self, uri: P0, handler: P1) -> windows_core::Result<()>
11339 where
11340 P0: windows_core::Param<windows_core::PCWSTR>,
11341 P1: windows_core::Param<ICoreWebView2GetCookiesCompletedHandler>,
11342 {
11343 unsafe {
11344 (windows_core::Interface::vtable(self).GetCookies)(
11345 windows_core::Interface::as_raw(self),
11346 uri.param().abi(),
11347 handler.param().abi(),
11348 )
11349 .ok()
11350 }
11351 }
11352 pub unsafe fn AddOrUpdateCookie<P0>(&self, cookie: P0) -> windows_core::Result<()>
11353 where
11354 P0: windows_core::Param<ICoreWebView2Cookie>,
11355 {
11356 unsafe {
11357 (windows_core::Interface::vtable(self).AddOrUpdateCookie)(
11358 windows_core::Interface::as_raw(self),
11359 cookie.param().abi(),
11360 )
11361 .ok()
11362 }
11363 }
11364 pub unsafe fn DeleteCookie<P0>(&self, cookie: P0) -> windows_core::Result<()>
11365 where
11366 P0: windows_core::Param<ICoreWebView2Cookie>,
11367 {
11368 unsafe {
11369 (windows_core::Interface::vtable(self).DeleteCookie)(
11370 windows_core::Interface::as_raw(self),
11371 cookie.param().abi(),
11372 )
11373 .ok()
11374 }
11375 }
11376 pub unsafe fn DeleteCookies<P0, P1>(&self, name: P0, uri: P1) -> windows_core::Result<()>
11377 where
11378 P0: windows_core::Param<windows_core::PCWSTR>,
11379 P1: windows_core::Param<windows_core::PCWSTR>,
11380 {
11381 unsafe {
11382 (windows_core::Interface::vtable(self).DeleteCookies)(
11383 windows_core::Interface::as_raw(self),
11384 name.param().abi(),
11385 uri.param().abi(),
11386 )
11387 .ok()
11388 }
11389 }
11390 pub unsafe fn DeleteCookiesWithDomainAndPath<P0, P1, P2>(
11391 &self,
11392 name: P0,
11393 domain: P1,
11394 path: P2,
11395 ) -> windows_core::Result<()>
11396 where
11397 P0: windows_core::Param<windows_core::PCWSTR>,
11398 P1: windows_core::Param<windows_core::PCWSTR>,
11399 P2: windows_core::Param<windows_core::PCWSTR>,
11400 {
11401 unsafe {
11402 (windows_core::Interface::vtable(self).DeleteCookiesWithDomainAndPath)(
11403 windows_core::Interface::as_raw(self),
11404 name.param().abi(),
11405 domain.param().abi(),
11406 path.param().abi(),
11407 )
11408 .ok()
11409 }
11410 }
11411 pub unsafe fn DeleteAllCookies(&self) -> windows_core::Result<()> {
11412 unsafe {
11413 (windows_core::Interface::vtable(self).DeleteAllCookies)(
11414 windows_core::Interface::as_raw(self),
11415 )
11416 .ok()
11417 }
11418 }
11419}
11420#[repr(C)]
11421#[doc(hidden)]
11422pub struct ICoreWebView2CookieManager_Vtbl {
11423 pub base__: windows_core::IUnknown_Vtbl,
11424 pub CreateCookie: unsafe extern "system" fn(
11425 *mut core::ffi::c_void,
11426 windows_core::PCWSTR,
11427 windows_core::PCWSTR,
11428 windows_core::PCWSTR,
11429 windows_core::PCWSTR,
11430 *mut *mut core::ffi::c_void,
11431 ) -> windows_core::HRESULT,
11432 pub CopyCookie: unsafe extern "system" fn(
11433 *mut core::ffi::c_void,
11434 *mut core::ffi::c_void,
11435 *mut *mut core::ffi::c_void,
11436 ) -> windows_core::HRESULT,
11437 pub GetCookies: unsafe extern "system" fn(
11438 *mut core::ffi::c_void,
11439 windows_core::PCWSTR,
11440 *mut core::ffi::c_void,
11441 ) -> windows_core::HRESULT,
11442 pub AddOrUpdateCookie: unsafe extern "system" fn(
11443 *mut core::ffi::c_void,
11444 *mut core::ffi::c_void,
11445 ) -> windows_core::HRESULT,
11446 pub DeleteCookie: unsafe extern "system" fn(
11447 *mut core::ffi::c_void,
11448 *mut core::ffi::c_void,
11449 ) -> windows_core::HRESULT,
11450 pub DeleteCookies: unsafe extern "system" fn(
11451 *mut core::ffi::c_void,
11452 windows_core::PCWSTR,
11453 windows_core::PCWSTR,
11454 ) -> windows_core::HRESULT,
11455 pub DeleteCookiesWithDomainAndPath: unsafe extern "system" fn(
11456 *mut core::ffi::c_void,
11457 windows_core::PCWSTR,
11458 windows_core::PCWSTR,
11459 windows_core::PCWSTR,
11460 ) -> windows_core::HRESULT,
11461 pub DeleteAllCookies:
11462 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
11463}
11464pub trait ICoreWebView2CookieManager_Impl: windows_core::IUnknownImpl {
11465 fn CreateCookie(
11466 &self,
11467 name: &windows_core::PCWSTR,
11468 value: &windows_core::PCWSTR,
11469 domain: &windows_core::PCWSTR,
11470 path: &windows_core::PCWSTR,
11471 ) -> windows_core::Result<ICoreWebView2Cookie>;
11472 fn CopyCookie(
11473 &self,
11474 cookieparam: windows_core::Ref<'_, ICoreWebView2Cookie>,
11475 ) -> windows_core::Result<ICoreWebView2Cookie>;
11476 fn GetCookies(
11477 &self,
11478 uri: &windows_core::PCWSTR,
11479 handler: windows_core::Ref<'_, ICoreWebView2GetCookiesCompletedHandler>,
11480 ) -> windows_core::Result<()>;
11481 fn AddOrUpdateCookie(
11482 &self,
11483 cookie: windows_core::Ref<'_, ICoreWebView2Cookie>,
11484 ) -> windows_core::Result<()>;
11485 fn DeleteCookie(
11486 &self,
11487 cookie: windows_core::Ref<'_, ICoreWebView2Cookie>,
11488 ) -> windows_core::Result<()>;
11489 fn DeleteCookies(
11490 &self,
11491 name: &windows_core::PCWSTR,
11492 uri: &windows_core::PCWSTR,
11493 ) -> windows_core::Result<()>;
11494 fn DeleteCookiesWithDomainAndPath(
11495 &self,
11496 name: &windows_core::PCWSTR,
11497 domain: &windows_core::PCWSTR,
11498 path: &windows_core::PCWSTR,
11499 ) -> windows_core::Result<()>;
11500 fn DeleteAllCookies(&self) -> windows_core::Result<()>;
11501}
11502impl ICoreWebView2CookieManager_Vtbl {
11503 pub const fn new<Identity: ICoreWebView2CookieManager_Impl, const OFFSET: isize>() -> Self {
11504 unsafe extern "system" fn CreateCookie<
11505 Identity: ICoreWebView2CookieManager_Impl,
11506 const OFFSET: isize,
11507 >(
11508 this: *mut core::ffi::c_void,
11509 name: windows_core::PCWSTR,
11510 value: windows_core::PCWSTR,
11511 domain: windows_core::PCWSTR,
11512 path: windows_core::PCWSTR,
11513 cookie: *mut *mut core::ffi::c_void,
11514 ) -> windows_core::HRESULT {
11515 unsafe {
11516 let this: &Identity =
11517 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11518 match ICoreWebView2CookieManager_Impl::CreateCookie(
11519 this,
11520 core::mem::transmute(&name),
11521 core::mem::transmute(&value),
11522 core::mem::transmute(&domain),
11523 core::mem::transmute(&path),
11524 ) {
11525 Ok(ok__) => {
11526 cookie.write(core::mem::transmute(ok__));
11527 windows_core::HRESULT(0)
11528 }
11529 Err(err) => err.into(),
11530 }
11531 }
11532 }
11533 unsafe extern "system" fn CopyCookie<
11534 Identity: ICoreWebView2CookieManager_Impl,
11535 const OFFSET: isize,
11536 >(
11537 this: *mut core::ffi::c_void,
11538 cookieparam: *mut core::ffi::c_void,
11539 cookie: *mut *mut core::ffi::c_void,
11540 ) -> windows_core::HRESULT {
11541 unsafe {
11542 let this: &Identity =
11543 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11544 match ICoreWebView2CookieManager_Impl::CopyCookie(
11545 this,
11546 core::mem::transmute_copy(&cookieparam),
11547 ) {
11548 Ok(ok__) => {
11549 cookie.write(core::mem::transmute(ok__));
11550 windows_core::HRESULT(0)
11551 }
11552 Err(err) => err.into(),
11553 }
11554 }
11555 }
11556 unsafe extern "system" fn GetCookies<
11557 Identity: ICoreWebView2CookieManager_Impl,
11558 const OFFSET: isize,
11559 >(
11560 this: *mut core::ffi::c_void,
11561 uri: windows_core::PCWSTR,
11562 handler: *mut core::ffi::c_void,
11563 ) -> windows_core::HRESULT {
11564 unsafe {
11565 let this: &Identity =
11566 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11567 ICoreWebView2CookieManager_Impl::GetCookies(
11568 this,
11569 core::mem::transmute(&uri),
11570 core::mem::transmute_copy(&handler),
11571 )
11572 .into()
11573 }
11574 }
11575 unsafe extern "system" fn AddOrUpdateCookie<
11576 Identity: ICoreWebView2CookieManager_Impl,
11577 const OFFSET: isize,
11578 >(
11579 this: *mut core::ffi::c_void,
11580 cookie: *mut core::ffi::c_void,
11581 ) -> windows_core::HRESULT {
11582 unsafe {
11583 let this: &Identity =
11584 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11585 ICoreWebView2CookieManager_Impl::AddOrUpdateCookie(
11586 this,
11587 core::mem::transmute_copy(&cookie),
11588 )
11589 .into()
11590 }
11591 }
11592 unsafe extern "system" fn DeleteCookie<
11593 Identity: ICoreWebView2CookieManager_Impl,
11594 const OFFSET: isize,
11595 >(
11596 this: *mut core::ffi::c_void,
11597 cookie: *mut core::ffi::c_void,
11598 ) -> windows_core::HRESULT {
11599 unsafe {
11600 let this: &Identity =
11601 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11602 ICoreWebView2CookieManager_Impl::DeleteCookie(
11603 this,
11604 core::mem::transmute_copy(&cookie),
11605 )
11606 .into()
11607 }
11608 }
11609 unsafe extern "system" fn DeleteCookies<
11610 Identity: ICoreWebView2CookieManager_Impl,
11611 const OFFSET: isize,
11612 >(
11613 this: *mut core::ffi::c_void,
11614 name: windows_core::PCWSTR,
11615 uri: windows_core::PCWSTR,
11616 ) -> windows_core::HRESULT {
11617 unsafe {
11618 let this: &Identity =
11619 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11620 ICoreWebView2CookieManager_Impl::DeleteCookies(
11621 this,
11622 core::mem::transmute(&name),
11623 core::mem::transmute(&uri),
11624 )
11625 .into()
11626 }
11627 }
11628 unsafe extern "system" fn DeleteCookiesWithDomainAndPath<
11629 Identity: ICoreWebView2CookieManager_Impl,
11630 const OFFSET: isize,
11631 >(
11632 this: *mut core::ffi::c_void,
11633 name: windows_core::PCWSTR,
11634 domain: windows_core::PCWSTR,
11635 path: windows_core::PCWSTR,
11636 ) -> windows_core::HRESULT {
11637 unsafe {
11638 let this: &Identity =
11639 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11640 ICoreWebView2CookieManager_Impl::DeleteCookiesWithDomainAndPath(
11641 this,
11642 core::mem::transmute(&name),
11643 core::mem::transmute(&domain),
11644 core::mem::transmute(&path),
11645 )
11646 .into()
11647 }
11648 }
11649 unsafe extern "system" fn DeleteAllCookies<
11650 Identity: ICoreWebView2CookieManager_Impl,
11651 const OFFSET: isize,
11652 >(
11653 this: *mut core::ffi::c_void,
11654 ) -> windows_core::HRESULT {
11655 unsafe {
11656 let this: &Identity =
11657 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11658 ICoreWebView2CookieManager_Impl::DeleteAllCookies(this).into()
11659 }
11660 }
11661 Self {
11662 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11663 CreateCookie: CreateCookie::<Identity, OFFSET>,
11664 CopyCookie: CopyCookie::<Identity, OFFSET>,
11665 GetCookies: GetCookies::<Identity, OFFSET>,
11666 AddOrUpdateCookie: AddOrUpdateCookie::<Identity, OFFSET>,
11667 DeleteCookie: DeleteCookie::<Identity, OFFSET>,
11668 DeleteCookies: DeleteCookies::<Identity, OFFSET>,
11669 DeleteCookiesWithDomainAndPath: DeleteCookiesWithDomainAndPath::<Identity, OFFSET>,
11670 DeleteAllCookies: DeleteAllCookies::<Identity, OFFSET>,
11671 }
11672 }
11673 pub fn matches(iid: &windows_core::GUID) -> bool {
11674 iid == &<ICoreWebView2CookieManager as windows_core::Interface>::IID
11675 }
11676}
11677impl windows_core::RuntimeName for ICoreWebView2CookieManager {}
11678windows_core::imp::define_interface!(
11679 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
11680 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Vtbl,
11681 0x02fab84b_1428_4fb7_ad45_1b2e64736184
11682);
11683windows_core::imp::interface_hierarchy!(
11684 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
11685 windows_core::IUnknown
11686);
11687impl ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler {
11688 pub unsafe fn Invoke<P1>(
11689 &self,
11690 errorcode: windows_core::HRESULT,
11691 result: P1,
11692 ) -> windows_core::Result<()>
11693 where
11694 P1: windows_core::Param<ICoreWebView2CompositionController>,
11695 {
11696 unsafe {
11697 (windows_core::Interface::vtable(self).Invoke)(
11698 windows_core::Interface::as_raw(self),
11699 errorcode,
11700 result.param().abi(),
11701 )
11702 .ok()
11703 }
11704 }
11705}
11706#[repr(C)]
11707#[doc(hidden)]
11708pub struct ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Vtbl {
11709 pub base__: windows_core::IUnknown_Vtbl,
11710 pub Invoke: unsafe extern "system" fn(
11711 *mut core::ffi::c_void,
11712 windows_core::HRESULT,
11713 *mut core::ffi::c_void,
11714 ) -> windows_core::HRESULT,
11715}
11716pub trait ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl:
11717 windows_core::IUnknownImpl
11718{
11719 fn Invoke(
11720 &self,
11721 errorcode: windows_core::HRESULT,
11722 result: windows_core::Ref<'_, ICoreWebView2CompositionController>,
11723 ) -> windows_core::Result<()>;
11724}
11725impl ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Vtbl {
11726 pub const fn new<
11727 Identity: ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl,
11728 const OFFSET: isize,
11729 >() -> Self {
11730 unsafe extern "system" fn Invoke<
11731 Identity: ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl,
11732 const OFFSET: isize,
11733 >(
11734 this: *mut core::ffi::c_void,
11735 errorcode: windows_core::HRESULT,
11736 result: *mut core::ffi::c_void,
11737 ) -> windows_core::HRESULT {
11738 unsafe {
11739 let this: &Identity =
11740 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11741 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl::Invoke(
11742 this,
11743 core::mem::transmute_copy(&errorcode),
11744 core::mem::transmute_copy(&result),
11745 )
11746 .into()
11747 }
11748 }
11749 Self {
11750 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11751 Invoke: Invoke::<Identity, OFFSET>,
11752 }
11753 }
11754 pub fn matches(iid: &windows_core::GUID) -> bool {
11755 iid == & < ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler as windows_core::Interface >::IID
11756 }
11757}
11758impl windows_core::RuntimeName
11759 for ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler
11760{
11761}
11762windows_core::imp::define_interface!(
11763 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler,
11764 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Vtbl,
11765 0x6c4819f3_c9b7_4260_8127_c9f5bde7f68c
11766);
11767windows_core::imp::interface_hierarchy!(
11768 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler,
11769 windows_core::IUnknown
11770);
11771impl ICoreWebView2CreateCoreWebView2ControllerCompletedHandler {
11772 pub unsafe fn Invoke<P1>(
11773 &self,
11774 errorcode: windows_core::HRESULT,
11775 result: P1,
11776 ) -> windows_core::Result<()>
11777 where
11778 P1: windows_core::Param<ICoreWebView2Controller>,
11779 {
11780 unsafe {
11781 (windows_core::Interface::vtable(self).Invoke)(
11782 windows_core::Interface::as_raw(self),
11783 errorcode,
11784 result.param().abi(),
11785 )
11786 .ok()
11787 }
11788 }
11789}
11790#[repr(C)]
11791#[doc(hidden)]
11792pub struct ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Vtbl {
11793 pub base__: windows_core::IUnknown_Vtbl,
11794 pub Invoke: unsafe extern "system" fn(
11795 *mut core::ffi::c_void,
11796 windows_core::HRESULT,
11797 *mut core::ffi::c_void,
11798 ) -> windows_core::HRESULT,
11799}
11800pub trait ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl:
11801 windows_core::IUnknownImpl
11802{
11803 fn Invoke(
11804 &self,
11805 errorcode: windows_core::HRESULT,
11806 result: windows_core::Ref<'_, ICoreWebView2Controller>,
11807 ) -> windows_core::Result<()>;
11808}
11809impl ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Vtbl {
11810 pub const fn new<
11811 Identity: ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl,
11812 const OFFSET: isize,
11813 >() -> Self {
11814 unsafe extern "system" fn Invoke<
11815 Identity: ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl,
11816 const OFFSET: isize,
11817 >(
11818 this: *mut core::ffi::c_void,
11819 errorcode: windows_core::HRESULT,
11820 result: *mut core::ffi::c_void,
11821 ) -> windows_core::HRESULT {
11822 unsafe {
11823 let this: &Identity =
11824 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11825 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl::Invoke(
11826 this,
11827 core::mem::transmute_copy(&errorcode),
11828 core::mem::transmute_copy(&result),
11829 )
11830 .into()
11831 }
11832 }
11833 Self {
11834 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11835 Invoke: Invoke::<Identity, OFFSET>,
11836 }
11837 }
11838 pub fn matches(iid: &windows_core::GUID) -> bool {
11839 iid == & < ICoreWebView2CreateCoreWebView2ControllerCompletedHandler as windows_core::Interface >::IID
11840 }
11841}
11842impl windows_core::RuntimeName for ICoreWebView2CreateCoreWebView2ControllerCompletedHandler {}
11843windows_core::imp::define_interface!(
11844 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler,
11845 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Vtbl,
11846 0x4e8a3389_c9d8_4bd2_b6b5_124fee6cc14d
11847);
11848windows_core::imp::interface_hierarchy!(
11849 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler,
11850 windows_core::IUnknown
11851);
11852impl ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler {
11853 pub unsafe fn Invoke<P1>(
11854 &self,
11855 errorcode: windows_core::HRESULT,
11856 result: P1,
11857 ) -> windows_core::Result<()>
11858 where
11859 P1: windows_core::Param<ICoreWebView2Environment>,
11860 {
11861 unsafe {
11862 (windows_core::Interface::vtable(self).Invoke)(
11863 windows_core::Interface::as_raw(self),
11864 errorcode,
11865 result.param().abi(),
11866 )
11867 .ok()
11868 }
11869 }
11870}
11871#[repr(C)]
11872#[doc(hidden)]
11873pub struct ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Vtbl {
11874 pub base__: windows_core::IUnknown_Vtbl,
11875 pub Invoke: unsafe extern "system" fn(
11876 *mut core::ffi::c_void,
11877 windows_core::HRESULT,
11878 *mut core::ffi::c_void,
11879 ) -> windows_core::HRESULT,
11880}
11881pub trait ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl:
11882 windows_core::IUnknownImpl
11883{
11884 fn Invoke(
11885 &self,
11886 errorcode: windows_core::HRESULT,
11887 result: windows_core::Ref<'_, ICoreWebView2Environment>,
11888 ) -> windows_core::Result<()>;
11889}
11890impl ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Vtbl {
11891 pub const fn new<
11892 Identity: ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl,
11893 const OFFSET: isize,
11894 >() -> Self {
11895 unsafe extern "system" fn Invoke<
11896 Identity: ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl,
11897 const OFFSET: isize,
11898 >(
11899 this: *mut core::ffi::c_void,
11900 errorcode: windows_core::HRESULT,
11901 result: *mut core::ffi::c_void,
11902 ) -> windows_core::HRESULT {
11903 unsafe {
11904 let this: &Identity =
11905 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11906 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl::Invoke(
11907 this,
11908 core::mem::transmute_copy(&errorcode),
11909 core::mem::transmute_copy(&result),
11910 )
11911 .into()
11912 }
11913 }
11914 Self {
11915 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11916 Invoke: Invoke::<Identity, OFFSET>,
11917 }
11918 }
11919 pub fn matches(iid: &windows_core::GUID) -> bool {
11920 iid == & < ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler as windows_core::Interface >::IID
11921 }
11922}
11923impl windows_core::RuntimeName for ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler {}
11924windows_core::imp::define_interface!(
11925 ICoreWebView2CursorChangedEventHandler,
11926 ICoreWebView2CursorChangedEventHandler_Vtbl,
11927 0x9da43ccc_26e1_4dad_b56c_d8961c94c571
11928);
11929windows_core::imp::interface_hierarchy!(
11930 ICoreWebView2CursorChangedEventHandler,
11931 windows_core::IUnknown
11932);
11933impl ICoreWebView2CursorChangedEventHandler {
11934 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
11935 where
11936 P0: windows_core::Param<ICoreWebView2CompositionController>,
11937 P1: windows_core::Param<windows_core::IUnknown>,
11938 {
11939 unsafe {
11940 (windows_core::Interface::vtable(self).Invoke)(
11941 windows_core::Interface::as_raw(self),
11942 sender.param().abi(),
11943 args.param().abi(),
11944 )
11945 .ok()
11946 }
11947 }
11948}
11949#[repr(C)]
11950#[doc(hidden)]
11951pub struct ICoreWebView2CursorChangedEventHandler_Vtbl {
11952 pub base__: windows_core::IUnknown_Vtbl,
11953 pub Invoke: unsafe extern "system" fn(
11954 *mut core::ffi::c_void,
11955 *mut core::ffi::c_void,
11956 *mut core::ffi::c_void,
11957 ) -> windows_core::HRESULT,
11958}
11959pub trait ICoreWebView2CursorChangedEventHandler_Impl: windows_core::IUnknownImpl {
11960 fn Invoke(
11961 &self,
11962 sender: windows_core::Ref<'_, ICoreWebView2CompositionController>,
11963 args: windows_core::Ref<'_, windows_core::IUnknown>,
11964 ) -> windows_core::Result<()>;
11965}
11966impl ICoreWebView2CursorChangedEventHandler_Vtbl {
11967 pub const fn new<Identity: ICoreWebView2CursorChangedEventHandler_Impl, const OFFSET: isize>(
11968 ) -> Self {
11969 unsafe extern "system" fn Invoke<
11970 Identity: ICoreWebView2CursorChangedEventHandler_Impl,
11971 const OFFSET: isize,
11972 >(
11973 this: *mut core::ffi::c_void,
11974 sender: *mut core::ffi::c_void,
11975 args: *mut core::ffi::c_void,
11976 ) -> windows_core::HRESULT {
11977 unsafe {
11978 let this: &Identity =
11979 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11980 ICoreWebView2CursorChangedEventHandler_Impl::Invoke(
11981 this,
11982 core::mem::transmute_copy(&sender),
11983 core::mem::transmute_copy(&args),
11984 )
11985 .into()
11986 }
11987 }
11988 Self {
11989 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11990 Invoke: Invoke::<Identity, OFFSET>,
11991 }
11992 }
11993 pub fn matches(iid: &windows_core::GUID) -> bool {
11994 iid == &<ICoreWebView2CursorChangedEventHandler as windows_core::Interface>::IID
11995 }
11996}
11997impl windows_core::RuntimeName for ICoreWebView2CursorChangedEventHandler {}
11998windows_core::imp::define_interface!(
11999 ICoreWebView2CustomItemSelectedEventHandler,
12000 ICoreWebView2CustomItemSelectedEventHandler_Vtbl,
12001 0x49e1d0bc_fe9e_4481_b7c2_32324aa21998
12002);
12003windows_core::imp::interface_hierarchy!(
12004 ICoreWebView2CustomItemSelectedEventHandler,
12005 windows_core::IUnknown
12006);
12007impl ICoreWebView2CustomItemSelectedEventHandler {
12008 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
12009 where
12010 P0: windows_core::Param<ICoreWebView2ContextMenuItem>,
12011 P1: windows_core::Param<windows_core::IUnknown>,
12012 {
12013 unsafe {
12014 (windows_core::Interface::vtable(self).Invoke)(
12015 windows_core::Interface::as_raw(self),
12016 sender.param().abi(),
12017 args.param().abi(),
12018 )
12019 .ok()
12020 }
12021 }
12022}
12023#[repr(C)]
12024#[doc(hidden)]
12025pub struct ICoreWebView2CustomItemSelectedEventHandler_Vtbl {
12026 pub base__: windows_core::IUnknown_Vtbl,
12027 pub Invoke: unsafe extern "system" fn(
12028 *mut core::ffi::c_void,
12029 *mut core::ffi::c_void,
12030 *mut core::ffi::c_void,
12031 ) -> windows_core::HRESULT,
12032}
12033pub trait ICoreWebView2CustomItemSelectedEventHandler_Impl: windows_core::IUnknownImpl {
12034 fn Invoke(
12035 &self,
12036 sender: windows_core::Ref<'_, ICoreWebView2ContextMenuItem>,
12037 args: windows_core::Ref<'_, windows_core::IUnknown>,
12038 ) -> windows_core::Result<()>;
12039}
12040impl ICoreWebView2CustomItemSelectedEventHandler_Vtbl {
12041 pub const fn new<
12042 Identity: ICoreWebView2CustomItemSelectedEventHandler_Impl,
12043 const OFFSET: isize,
12044 >() -> Self {
12045 unsafe extern "system" fn Invoke<
12046 Identity: ICoreWebView2CustomItemSelectedEventHandler_Impl,
12047 const OFFSET: isize,
12048 >(
12049 this: *mut core::ffi::c_void,
12050 sender: *mut core::ffi::c_void,
12051 args: *mut core::ffi::c_void,
12052 ) -> windows_core::HRESULT {
12053 unsafe {
12054 let this: &Identity =
12055 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12056 ICoreWebView2CustomItemSelectedEventHandler_Impl::Invoke(
12057 this,
12058 core::mem::transmute_copy(&sender),
12059 core::mem::transmute_copy(&args),
12060 )
12061 .into()
12062 }
12063 }
12064 Self {
12065 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12066 Invoke: Invoke::<Identity, OFFSET>,
12067 }
12068 }
12069 pub fn matches(iid: &windows_core::GUID) -> bool {
12070 iid == &<ICoreWebView2CustomItemSelectedEventHandler as windows_core::Interface>::IID
12071 }
12072}
12073impl windows_core::RuntimeName for ICoreWebView2CustomItemSelectedEventHandler {}
12074windows_core::imp::define_interface!(
12075 ICoreWebView2CustomSchemeRegistration,
12076 ICoreWebView2CustomSchemeRegistration_Vtbl,
12077 0xd60ac92c_37a6_4b26_a39e_95cfe59047bb
12078);
12079windows_core::imp::interface_hierarchy!(
12080 ICoreWebView2CustomSchemeRegistration,
12081 windows_core::IUnknown
12082);
12083impl ICoreWebView2CustomSchemeRegistration {
12084 pub unsafe fn SchemeName(
12085 &self,
12086 schemename: *mut windows_core::PWSTR,
12087 ) -> windows_core::Result<()> {
12088 unsafe {
12089 (windows_core::Interface::vtable(self).SchemeName)(
12090 windows_core::Interface::as_raw(self),
12091 schemename as _,
12092 )
12093 .ok()
12094 }
12095 }
12096 pub unsafe fn TreatAsSecure(
12097 &self,
12098 treatassecure: *mut windows_core::BOOL,
12099 ) -> windows_core::Result<()> {
12100 unsafe {
12101 (windows_core::Interface::vtable(self).TreatAsSecure)(
12102 windows_core::Interface::as_raw(self),
12103 treatassecure as _,
12104 )
12105 .ok()
12106 }
12107 }
12108 pub unsafe fn SetTreatAsSecure(&self, value: bool) -> windows_core::Result<()> {
12109 unsafe {
12110 (windows_core::Interface::vtable(self).SetTreatAsSecure)(
12111 windows_core::Interface::as_raw(self),
12112 value.into(),
12113 )
12114 .ok()
12115 }
12116 }
12117 pub unsafe fn GetAllowedOrigins(
12118 &self,
12119 allowedoriginscount: *mut u32,
12120 allowedorigins: *mut *mut windows_core::PWSTR,
12121 ) -> windows_core::Result<()> {
12122 unsafe {
12123 (windows_core::Interface::vtable(self).GetAllowedOrigins)(
12124 windows_core::Interface::as_raw(self),
12125 allowedoriginscount as _,
12126 allowedorigins as _,
12127 )
12128 .ok()
12129 }
12130 }
12131 pub unsafe fn SetAllowedOrigins(
12132 &self,
12133 allowedoriginscount: u32,
12134 allowedorigins: *const windows_core::PCWSTR,
12135 ) -> windows_core::Result<()> {
12136 unsafe {
12137 (windows_core::Interface::vtable(self).SetAllowedOrigins)(
12138 windows_core::Interface::as_raw(self),
12139 allowedoriginscount,
12140 allowedorigins,
12141 )
12142 .ok()
12143 }
12144 }
12145 pub unsafe fn HasAuthorityComponent(
12146 &self,
12147 hasauthoritycomponent: *mut windows_core::BOOL,
12148 ) -> windows_core::Result<()> {
12149 unsafe {
12150 (windows_core::Interface::vtable(self).HasAuthorityComponent)(
12151 windows_core::Interface::as_raw(self),
12152 hasauthoritycomponent as _,
12153 )
12154 .ok()
12155 }
12156 }
12157 pub unsafe fn SetHasAuthorityComponent(
12158 &self,
12159 hasauthoritycomponent: bool,
12160 ) -> windows_core::Result<()> {
12161 unsafe {
12162 (windows_core::Interface::vtable(self).SetHasAuthorityComponent)(
12163 windows_core::Interface::as_raw(self),
12164 hasauthoritycomponent.into(),
12165 )
12166 .ok()
12167 }
12168 }
12169}
12170#[repr(C)]
12171#[doc(hidden)]
12172pub struct ICoreWebView2CustomSchemeRegistration_Vtbl {
12173 pub base__: windows_core::IUnknown_Vtbl,
12174 pub SchemeName: unsafe extern "system" fn(
12175 *mut core::ffi::c_void,
12176 *mut windows_core::PWSTR,
12177 ) -> windows_core::HRESULT,
12178 pub TreatAsSecure: unsafe extern "system" fn(
12179 *mut core::ffi::c_void,
12180 *mut windows_core::BOOL,
12181 ) -> windows_core::HRESULT,
12182 pub SetTreatAsSecure: unsafe extern "system" fn(
12183 *mut core::ffi::c_void,
12184 windows_core::BOOL,
12185 ) -> windows_core::HRESULT,
12186 pub GetAllowedOrigins: unsafe extern "system" fn(
12187 *mut core::ffi::c_void,
12188 *mut u32,
12189 *mut *mut windows_core::PWSTR,
12190 ) -> windows_core::HRESULT,
12191 pub SetAllowedOrigins: unsafe extern "system" fn(
12192 *mut core::ffi::c_void,
12193 u32,
12194 *const windows_core::PCWSTR,
12195 ) -> windows_core::HRESULT,
12196 pub HasAuthorityComponent: unsafe extern "system" fn(
12197 *mut core::ffi::c_void,
12198 *mut windows_core::BOOL,
12199 ) -> windows_core::HRESULT,
12200 pub SetHasAuthorityComponent: unsafe extern "system" fn(
12201 *mut core::ffi::c_void,
12202 windows_core::BOOL,
12203 ) -> windows_core::HRESULT,
12204}
12205pub trait ICoreWebView2CustomSchemeRegistration_Impl: windows_core::IUnknownImpl {
12206 fn SchemeName(&self, schemename: *mut windows_core::PWSTR) -> windows_core::Result<()>;
12207 fn TreatAsSecure(&self, treatassecure: *mut windows_core::BOOL) -> windows_core::Result<()>;
12208 fn SetTreatAsSecure(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
12209 fn GetAllowedOrigins(
12210 &self,
12211 allowedoriginscount: *mut u32,
12212 allowedorigins: *mut *mut windows_core::PWSTR,
12213 ) -> windows_core::Result<()>;
12214 fn SetAllowedOrigins(
12215 &self,
12216 allowedoriginscount: u32,
12217 allowedorigins: *const windows_core::PCWSTR,
12218 ) -> windows_core::Result<()>;
12219 fn HasAuthorityComponent(
12220 &self,
12221 hasauthoritycomponent: *mut windows_core::BOOL,
12222 ) -> windows_core::Result<()>;
12223 fn SetHasAuthorityComponent(
12224 &self,
12225 hasauthoritycomponent: windows_core::BOOL,
12226 ) -> windows_core::Result<()>;
12227}
12228impl ICoreWebView2CustomSchemeRegistration_Vtbl {
12229 pub const fn new<Identity: ICoreWebView2CustomSchemeRegistration_Impl, const OFFSET: isize>(
12230 ) -> Self {
12231 unsafe extern "system" fn SchemeName<
12232 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12233 const OFFSET: isize,
12234 >(
12235 this: *mut core::ffi::c_void,
12236 schemename: *mut windows_core::PWSTR,
12237 ) -> windows_core::HRESULT {
12238 unsafe {
12239 let this: &Identity =
12240 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12241 ICoreWebView2CustomSchemeRegistration_Impl::SchemeName(
12242 this,
12243 core::mem::transmute_copy(&schemename),
12244 )
12245 .into()
12246 }
12247 }
12248 unsafe extern "system" fn TreatAsSecure<
12249 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12250 const OFFSET: isize,
12251 >(
12252 this: *mut core::ffi::c_void,
12253 treatassecure: *mut windows_core::BOOL,
12254 ) -> windows_core::HRESULT {
12255 unsafe {
12256 let this: &Identity =
12257 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12258 ICoreWebView2CustomSchemeRegistration_Impl::TreatAsSecure(
12259 this,
12260 core::mem::transmute_copy(&treatassecure),
12261 )
12262 .into()
12263 }
12264 }
12265 unsafe extern "system" fn SetTreatAsSecure<
12266 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12267 const OFFSET: isize,
12268 >(
12269 this: *mut core::ffi::c_void,
12270 value: windows_core::BOOL,
12271 ) -> windows_core::HRESULT {
12272 unsafe {
12273 let this: &Identity =
12274 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12275 ICoreWebView2CustomSchemeRegistration_Impl::SetTreatAsSecure(
12276 this,
12277 core::mem::transmute_copy(&value),
12278 )
12279 .into()
12280 }
12281 }
12282 unsafe extern "system" fn GetAllowedOrigins<
12283 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12284 const OFFSET: isize,
12285 >(
12286 this: *mut core::ffi::c_void,
12287 allowedoriginscount: *mut u32,
12288 allowedorigins: *mut *mut windows_core::PWSTR,
12289 ) -> windows_core::HRESULT {
12290 unsafe {
12291 let this: &Identity =
12292 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12293 ICoreWebView2CustomSchemeRegistration_Impl::GetAllowedOrigins(
12294 this,
12295 core::mem::transmute_copy(&allowedoriginscount),
12296 core::mem::transmute_copy(&allowedorigins),
12297 )
12298 .into()
12299 }
12300 }
12301 unsafe extern "system" fn SetAllowedOrigins<
12302 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12303 const OFFSET: isize,
12304 >(
12305 this: *mut core::ffi::c_void,
12306 allowedoriginscount: u32,
12307 allowedorigins: *const windows_core::PCWSTR,
12308 ) -> windows_core::HRESULT {
12309 unsafe {
12310 let this: &Identity =
12311 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12312 ICoreWebView2CustomSchemeRegistration_Impl::SetAllowedOrigins(
12313 this,
12314 core::mem::transmute_copy(&allowedoriginscount),
12315 core::mem::transmute_copy(&allowedorigins),
12316 )
12317 .into()
12318 }
12319 }
12320 unsafe extern "system" fn HasAuthorityComponent<
12321 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12322 const OFFSET: isize,
12323 >(
12324 this: *mut core::ffi::c_void,
12325 hasauthoritycomponent: *mut windows_core::BOOL,
12326 ) -> windows_core::HRESULT {
12327 unsafe {
12328 let this: &Identity =
12329 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12330 ICoreWebView2CustomSchemeRegistration_Impl::HasAuthorityComponent(
12331 this,
12332 core::mem::transmute_copy(&hasauthoritycomponent),
12333 )
12334 .into()
12335 }
12336 }
12337 unsafe extern "system" fn SetHasAuthorityComponent<
12338 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12339 const OFFSET: isize,
12340 >(
12341 this: *mut core::ffi::c_void,
12342 hasauthoritycomponent: windows_core::BOOL,
12343 ) -> windows_core::HRESULT {
12344 unsafe {
12345 let this: &Identity =
12346 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12347 ICoreWebView2CustomSchemeRegistration_Impl::SetHasAuthorityComponent(
12348 this,
12349 core::mem::transmute_copy(&hasauthoritycomponent),
12350 )
12351 .into()
12352 }
12353 }
12354 Self {
12355 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12356 SchemeName: SchemeName::<Identity, OFFSET>,
12357 TreatAsSecure: TreatAsSecure::<Identity, OFFSET>,
12358 SetTreatAsSecure: SetTreatAsSecure::<Identity, OFFSET>,
12359 GetAllowedOrigins: GetAllowedOrigins::<Identity, OFFSET>,
12360 SetAllowedOrigins: SetAllowedOrigins::<Identity, OFFSET>,
12361 HasAuthorityComponent: HasAuthorityComponent::<Identity, OFFSET>,
12362 SetHasAuthorityComponent: SetHasAuthorityComponent::<Identity, OFFSET>,
12363 }
12364 }
12365 pub fn matches(iid: &windows_core::GUID) -> bool {
12366 iid == &<ICoreWebView2CustomSchemeRegistration as windows_core::Interface>::IID
12367 }
12368}
12369impl windows_core::RuntimeName for ICoreWebView2CustomSchemeRegistration {}
12370windows_core::imp::define_interface!(
12371 ICoreWebView2DOMContentLoadedEventArgs,
12372 ICoreWebView2DOMContentLoadedEventArgs_Vtbl,
12373 0x16b1e21a_c503_44f2_84c9_70aba5031283
12374);
12375windows_core::imp::interface_hierarchy!(
12376 ICoreWebView2DOMContentLoadedEventArgs,
12377 windows_core::IUnknown
12378);
12379impl ICoreWebView2DOMContentLoadedEventArgs {
12380 pub unsafe fn NavigationId(&self, value: *mut u64) -> windows_core::Result<()> {
12381 unsafe {
12382 (windows_core::Interface::vtable(self).NavigationId)(
12383 windows_core::Interface::as_raw(self),
12384 value as _,
12385 )
12386 .ok()
12387 }
12388 }
12389}
12390#[repr(C)]
12391#[doc(hidden)]
12392pub struct ICoreWebView2DOMContentLoadedEventArgs_Vtbl {
12393 pub base__: windows_core::IUnknown_Vtbl,
12394 pub NavigationId:
12395 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
12396}
12397pub trait ICoreWebView2DOMContentLoadedEventArgs_Impl: windows_core::IUnknownImpl {
12398 fn NavigationId(&self, value: *mut u64) -> windows_core::Result<()>;
12399}
12400impl ICoreWebView2DOMContentLoadedEventArgs_Vtbl {
12401 pub const fn new<Identity: ICoreWebView2DOMContentLoadedEventArgs_Impl, const OFFSET: isize>(
12402 ) -> Self {
12403 unsafe extern "system" fn NavigationId<
12404 Identity: ICoreWebView2DOMContentLoadedEventArgs_Impl,
12405 const OFFSET: isize,
12406 >(
12407 this: *mut core::ffi::c_void,
12408 value: *mut u64,
12409 ) -> windows_core::HRESULT {
12410 unsafe {
12411 let this: &Identity =
12412 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12413 ICoreWebView2DOMContentLoadedEventArgs_Impl::NavigationId(
12414 this,
12415 core::mem::transmute_copy(&value),
12416 )
12417 .into()
12418 }
12419 }
12420 Self {
12421 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12422 NavigationId: NavigationId::<Identity, OFFSET>,
12423 }
12424 }
12425 pub fn matches(iid: &windows_core::GUID) -> bool {
12426 iid == &<ICoreWebView2DOMContentLoadedEventArgs as windows_core::Interface>::IID
12427 }
12428}
12429impl windows_core::RuntimeName for ICoreWebView2DOMContentLoadedEventArgs {}
12430windows_core::imp::define_interface!(
12431 ICoreWebView2DOMContentLoadedEventHandler,
12432 ICoreWebView2DOMContentLoadedEventHandler_Vtbl,
12433 0x4bac7e9c_199e_49ed_87ed_249303acf019
12434);
12435windows_core::imp::interface_hierarchy!(
12436 ICoreWebView2DOMContentLoadedEventHandler,
12437 windows_core::IUnknown
12438);
12439impl ICoreWebView2DOMContentLoadedEventHandler {
12440 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
12441 where
12442 P0: windows_core::Param<ICoreWebView2>,
12443 P1: windows_core::Param<ICoreWebView2DOMContentLoadedEventArgs>,
12444 {
12445 unsafe {
12446 (windows_core::Interface::vtable(self).Invoke)(
12447 windows_core::Interface::as_raw(self),
12448 sender.param().abi(),
12449 args.param().abi(),
12450 )
12451 .ok()
12452 }
12453 }
12454}
12455#[repr(C)]
12456#[doc(hidden)]
12457pub struct ICoreWebView2DOMContentLoadedEventHandler_Vtbl {
12458 pub base__: windows_core::IUnknown_Vtbl,
12459 pub Invoke: unsafe extern "system" fn(
12460 *mut core::ffi::c_void,
12461 *mut core::ffi::c_void,
12462 *mut core::ffi::c_void,
12463 ) -> windows_core::HRESULT,
12464}
12465pub trait ICoreWebView2DOMContentLoadedEventHandler_Impl: windows_core::IUnknownImpl {
12466 fn Invoke(
12467 &self,
12468 sender: windows_core::Ref<'_, ICoreWebView2>,
12469 args: windows_core::Ref<'_, ICoreWebView2DOMContentLoadedEventArgs>,
12470 ) -> windows_core::Result<()>;
12471}
12472impl ICoreWebView2DOMContentLoadedEventHandler_Vtbl {
12473 pub const fn new<
12474 Identity: ICoreWebView2DOMContentLoadedEventHandler_Impl,
12475 const OFFSET: isize,
12476 >() -> Self {
12477 unsafe extern "system" fn Invoke<
12478 Identity: ICoreWebView2DOMContentLoadedEventHandler_Impl,
12479 const OFFSET: isize,
12480 >(
12481 this: *mut core::ffi::c_void,
12482 sender: *mut core::ffi::c_void,
12483 args: *mut core::ffi::c_void,
12484 ) -> windows_core::HRESULT {
12485 unsafe {
12486 let this: &Identity =
12487 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12488 ICoreWebView2DOMContentLoadedEventHandler_Impl::Invoke(
12489 this,
12490 core::mem::transmute_copy(&sender),
12491 core::mem::transmute_copy(&args),
12492 )
12493 .into()
12494 }
12495 }
12496 Self {
12497 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12498 Invoke: Invoke::<Identity, OFFSET>,
12499 }
12500 }
12501 pub fn matches(iid: &windows_core::GUID) -> bool {
12502 iid == &<ICoreWebView2DOMContentLoadedEventHandler as windows_core::Interface>::IID
12503 }
12504}
12505impl windows_core::RuntimeName for ICoreWebView2DOMContentLoadedEventHandler {}
12506windows_core::imp::define_interface!(
12507 ICoreWebView2Deferral,
12508 ICoreWebView2Deferral_Vtbl,
12509 0xc10e7f7b_b585_46f0_a623_8befbf3e4ee0
12510);
12511windows_core::imp::interface_hierarchy!(ICoreWebView2Deferral, windows_core::IUnknown);
12512impl ICoreWebView2Deferral {
12513 pub unsafe fn Complete(&self) -> windows_core::Result<()> {
12514 unsafe {
12515 (windows_core::Interface::vtable(self).Complete)(windows_core::Interface::as_raw(self))
12516 .ok()
12517 }
12518 }
12519}
12520#[repr(C)]
12521#[doc(hidden)]
12522pub struct ICoreWebView2Deferral_Vtbl {
12523 pub base__: windows_core::IUnknown_Vtbl,
12524 pub Complete: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
12525}
12526pub trait ICoreWebView2Deferral_Impl: windows_core::IUnknownImpl {
12527 fn Complete(&self) -> windows_core::Result<()>;
12528}
12529impl ICoreWebView2Deferral_Vtbl {
12530 pub const fn new<Identity: ICoreWebView2Deferral_Impl, const OFFSET: isize>() -> Self {
12531 unsafe extern "system" fn Complete<
12532 Identity: ICoreWebView2Deferral_Impl,
12533 const OFFSET: isize,
12534 >(
12535 this: *mut core::ffi::c_void,
12536 ) -> windows_core::HRESULT {
12537 unsafe {
12538 let this: &Identity =
12539 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12540 ICoreWebView2Deferral_Impl::Complete(this).into()
12541 }
12542 }
12543 Self {
12544 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12545 Complete: Complete::<Identity, OFFSET>,
12546 }
12547 }
12548 pub fn matches(iid: &windows_core::GUID) -> bool {
12549 iid == &<ICoreWebView2Deferral as windows_core::Interface>::IID
12550 }
12551}
12552impl windows_core::RuntimeName for ICoreWebView2Deferral {}
12553windows_core::imp::define_interface!(
12554 ICoreWebView2DevToolsProtocolEventReceivedEventArgs,
12555 ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl,
12556 0x653c2959_bb3a_4377_8632_b58ada4e66c4
12557);
12558windows_core::imp::interface_hierarchy!(
12559 ICoreWebView2DevToolsProtocolEventReceivedEventArgs,
12560 windows_core::IUnknown
12561);
12562impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs {
12563 pub unsafe fn ParameterObjectAsJson(
12564 &self,
12565 value: *mut windows_core::PWSTR,
12566 ) -> windows_core::Result<()> {
12567 unsafe {
12568 (windows_core::Interface::vtable(self).ParameterObjectAsJson)(
12569 windows_core::Interface::as_raw(self),
12570 value as _,
12571 )
12572 .ok()
12573 }
12574 }
12575}
12576#[repr(C)]
12577#[doc(hidden)]
12578pub struct ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl {
12579 pub base__: windows_core::IUnknown_Vtbl,
12580 pub ParameterObjectAsJson: unsafe extern "system" fn(
12581 *mut core::ffi::c_void,
12582 *mut windows_core::PWSTR,
12583 ) -> windows_core::HRESULT,
12584}
12585pub trait ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl:
12586 windows_core::IUnknownImpl
12587{
12588 fn ParameterObjectAsJson(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
12589}
12590impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl {
12591 pub const fn new<
12592 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl,
12593 const OFFSET: isize,
12594 >() -> Self {
12595 unsafe extern "system" fn ParameterObjectAsJson<
12596 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl,
12597 const OFFSET: isize,
12598 >(
12599 this: *mut core::ffi::c_void,
12600 value: *mut windows_core::PWSTR,
12601 ) -> windows_core::HRESULT {
12602 unsafe {
12603 let this: &Identity =
12604 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12605 ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl::ParameterObjectAsJson(
12606 this,
12607 core::mem::transmute_copy(&value),
12608 )
12609 .into()
12610 }
12611 }
12612 Self {
12613 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12614 ParameterObjectAsJson: ParameterObjectAsJson::<Identity, OFFSET>,
12615 }
12616 }
12617 pub fn matches(iid: &windows_core::GUID) -> bool {
12618 iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventArgs as windows_core::Interface >::IID
12619 }
12620}
12621impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceivedEventArgs {}
12622windows_core::imp::define_interface!(
12623 ICoreWebView2DevToolsProtocolEventReceivedEventArgs2,
12624 ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Vtbl,
12625 0x2dc4959d_1494_4393_95ba_bea4cb9ebd1b
12626);
12627impl core::ops::Deref for ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 {
12628 type Target = ICoreWebView2DevToolsProtocolEventReceivedEventArgs;
12629 fn deref(&self) -> &Self::Target {
12630 unsafe { core::mem::transmute(self) }
12631 }
12632}
12633windows_core::imp::interface_hierarchy!(
12634 ICoreWebView2DevToolsProtocolEventReceivedEventArgs2,
12635 windows_core::IUnknown,
12636 ICoreWebView2DevToolsProtocolEventReceivedEventArgs
12637);
12638impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 {
12639 pub unsafe fn SessionId(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
12640 unsafe {
12641 (windows_core::Interface::vtable(self).SessionId)(
12642 windows_core::Interface::as_raw(self),
12643 value as _,
12644 )
12645 .ok()
12646 }
12647 }
12648}
12649#[repr(C)]
12650#[doc(hidden)]
12651pub struct ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Vtbl {
12652 pub base__: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl,
12653 pub SessionId: unsafe extern "system" fn(
12654 *mut core::ffi::c_void,
12655 *mut windows_core::PWSTR,
12656 ) -> windows_core::HRESULT,
12657}
12658pub trait ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Impl:
12659 ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl
12660{
12661 fn SessionId(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
12662}
12663impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Vtbl {
12664 pub const fn new<
12665 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Impl,
12666 const OFFSET: isize,
12667 >() -> Self {
12668 unsafe extern "system" fn SessionId<
12669 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Impl,
12670 const OFFSET: isize,
12671 >(
12672 this: *mut core::ffi::c_void,
12673 value: *mut windows_core::PWSTR,
12674 ) -> windows_core::HRESULT {
12675 unsafe {
12676 let this: &Identity =
12677 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12678 ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Impl::SessionId(
12679 this,
12680 core::mem::transmute_copy(&value),
12681 )
12682 .into()
12683 }
12684 }
12685 Self {
12686 base__: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl::new::<Identity, OFFSET>(
12687 ),
12688 SessionId: SessionId::<Identity, OFFSET>,
12689 }
12690 }
12691 pub fn matches(iid: &windows_core::GUID) -> bool {
12692 iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 as windows_core::Interface >::IID || iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventArgs as windows_core::Interface >::IID
12693 }
12694}
12695impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 {}
12696windows_core::imp::define_interface!(
12697 ICoreWebView2DevToolsProtocolEventReceivedEventHandler,
12698 ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Vtbl,
12699 0xe2fda4be_5456_406c_a261_3d452138362c
12700);
12701windows_core::imp::interface_hierarchy!(
12702 ICoreWebView2DevToolsProtocolEventReceivedEventHandler,
12703 windows_core::IUnknown
12704);
12705impl ICoreWebView2DevToolsProtocolEventReceivedEventHandler {
12706 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
12707 where
12708 P0: windows_core::Param<ICoreWebView2>,
12709 P1: windows_core::Param<ICoreWebView2DevToolsProtocolEventReceivedEventArgs>,
12710 {
12711 unsafe {
12712 (windows_core::Interface::vtable(self).Invoke)(
12713 windows_core::Interface::as_raw(self),
12714 sender.param().abi(),
12715 args.param().abi(),
12716 )
12717 .ok()
12718 }
12719 }
12720}
12721#[repr(C)]
12722#[doc(hidden)]
12723pub struct ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Vtbl {
12724 pub base__: windows_core::IUnknown_Vtbl,
12725 pub Invoke: unsafe extern "system" fn(
12726 *mut core::ffi::c_void,
12727 *mut core::ffi::c_void,
12728 *mut core::ffi::c_void,
12729 ) -> windows_core::HRESULT,
12730}
12731pub trait ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl:
12732 windows_core::IUnknownImpl
12733{
12734 fn Invoke(
12735 &self,
12736 sender: windows_core::Ref<'_, ICoreWebView2>,
12737 args: windows_core::Ref<'_, ICoreWebView2DevToolsProtocolEventReceivedEventArgs>,
12738 ) -> windows_core::Result<()>;
12739}
12740impl ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Vtbl {
12741 pub const fn new<
12742 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl,
12743 const OFFSET: isize,
12744 >() -> Self {
12745 unsafe extern "system" fn Invoke<
12746 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl,
12747 const OFFSET: isize,
12748 >(
12749 this: *mut core::ffi::c_void,
12750 sender: *mut core::ffi::c_void,
12751 args: *mut core::ffi::c_void,
12752 ) -> windows_core::HRESULT {
12753 unsafe {
12754 let this: &Identity =
12755 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12756 ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl::Invoke(
12757 this,
12758 core::mem::transmute_copy(&sender),
12759 core::mem::transmute_copy(&args),
12760 )
12761 .into()
12762 }
12763 }
12764 Self {
12765 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12766 Invoke: Invoke::<Identity, OFFSET>,
12767 }
12768 }
12769 pub fn matches(iid: &windows_core::GUID) -> bool {
12770 iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventHandler as windows_core::Interface >::IID
12771 }
12772}
12773impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceivedEventHandler {}
12774windows_core::imp::define_interface!(
12775 ICoreWebView2DevToolsProtocolEventReceiver,
12776 ICoreWebView2DevToolsProtocolEventReceiver_Vtbl,
12777 0xb32ca51a_8371_45e9_9317_af021d080367
12778);
12779windows_core::imp::interface_hierarchy!(
12780 ICoreWebView2DevToolsProtocolEventReceiver,
12781 windows_core::IUnknown
12782);
12783impl ICoreWebView2DevToolsProtocolEventReceiver {
12784 pub unsafe fn add_DevToolsProtocolEventReceived<P0>(
12785 &self,
12786 eventhandler: P0,
12787 token: *mut i64,
12788 ) -> windows_core::Result<()>
12789 where
12790 P0: windows_core::Param<ICoreWebView2DevToolsProtocolEventReceivedEventHandler>,
12791 {
12792 unsafe {
12793 (windows_core::Interface::vtable(self).add_DevToolsProtocolEventReceived)(
12794 windows_core::Interface::as_raw(self),
12795 eventhandler.param().abi(),
12796 token as _,
12797 )
12798 .ok()
12799 }
12800 }
12801 pub unsafe fn remove_DevToolsProtocolEventReceived(
12802 &self,
12803 token: i64,
12804 ) -> windows_core::Result<()> {
12805 unsafe {
12806 (windows_core::Interface::vtable(self).remove_DevToolsProtocolEventReceived)(
12807 windows_core::Interface::as_raw(self),
12808 token,
12809 )
12810 .ok()
12811 }
12812 }
12813}
12814#[repr(C)]
12815#[doc(hidden)]
12816pub struct ICoreWebView2DevToolsProtocolEventReceiver_Vtbl {
12817 pub base__: windows_core::IUnknown_Vtbl,
12818 pub add_DevToolsProtocolEventReceived: unsafe extern "system" fn(
12819 *mut core::ffi::c_void,
12820 *mut core::ffi::c_void,
12821 *mut i64,
12822 ) -> windows_core::HRESULT,
12823 pub remove_DevToolsProtocolEventReceived:
12824 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
12825}
12826pub trait ICoreWebView2DevToolsProtocolEventReceiver_Impl: windows_core::IUnknownImpl {
12827 fn add_DevToolsProtocolEventReceived(
12828 &self,
12829 eventhandler: windows_core::Ref<'_, ICoreWebView2DevToolsProtocolEventReceivedEventHandler>,
12830 token: *mut i64,
12831 ) -> windows_core::Result<()>;
12832 fn remove_DevToolsProtocolEventReceived(&self, token: i64) -> windows_core::Result<()>;
12833}
12834impl ICoreWebView2DevToolsProtocolEventReceiver_Vtbl {
12835 pub const fn new<
12836 Identity: ICoreWebView2DevToolsProtocolEventReceiver_Impl,
12837 const OFFSET: isize,
12838 >() -> Self {
12839 unsafe extern "system" fn add_DevToolsProtocolEventReceived<
12840 Identity: ICoreWebView2DevToolsProtocolEventReceiver_Impl,
12841 const OFFSET: isize,
12842 >(
12843 this: *mut core::ffi::c_void,
12844 eventhandler: *mut core::ffi::c_void,
12845 token: *mut i64,
12846 ) -> windows_core::HRESULT {
12847 unsafe {
12848 let this: &Identity =
12849 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12850 ICoreWebView2DevToolsProtocolEventReceiver_Impl::add_DevToolsProtocolEventReceived(
12851 this,
12852 core::mem::transmute_copy(&eventhandler),
12853 core::mem::transmute_copy(&token),
12854 )
12855 .into()
12856 }
12857 }
12858 unsafe extern "system" fn remove_DevToolsProtocolEventReceived<
12859 Identity: ICoreWebView2DevToolsProtocolEventReceiver_Impl,
12860 const OFFSET: isize,
12861 >(
12862 this: *mut core::ffi::c_void,
12863 token: i64,
12864 ) -> windows_core::HRESULT {
12865 unsafe {
12866 let this: &Identity =
12867 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12868 ICoreWebView2DevToolsProtocolEventReceiver_Impl:: remove_DevToolsProtocolEventReceived ( this , core::mem::transmute_copy ( & token ) , ) . into ( )
12869 }
12870 }
12871 Self {
12872 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12873 add_DevToolsProtocolEventReceived: add_DevToolsProtocolEventReceived::<Identity, OFFSET>,
12874 remove_DevToolsProtocolEventReceived: remove_DevToolsProtocolEventReceived::<
12875 Identity,
12876 OFFSET,
12877 >,
12878 }
12879 }
12880 pub fn matches(iid: &windows_core::GUID) -> bool {
12881 iid == &<ICoreWebView2DevToolsProtocolEventReceiver as windows_core::Interface>::IID
12882 }
12883}
12884impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceiver {}
12885windows_core::imp::define_interface!(
12886 ICoreWebView2DocumentTitleChangedEventHandler,
12887 ICoreWebView2DocumentTitleChangedEventHandler_Vtbl,
12888 0xf5f2b923_953e_4042_9f95_f3a118e1afd4
12889);
12890windows_core::imp::interface_hierarchy!(
12891 ICoreWebView2DocumentTitleChangedEventHandler,
12892 windows_core::IUnknown
12893);
12894impl ICoreWebView2DocumentTitleChangedEventHandler {
12895 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
12896 where
12897 P0: windows_core::Param<ICoreWebView2>,
12898 P1: windows_core::Param<windows_core::IUnknown>,
12899 {
12900 unsafe {
12901 (windows_core::Interface::vtable(self).Invoke)(
12902 windows_core::Interface::as_raw(self),
12903 sender.param().abi(),
12904 args.param().abi(),
12905 )
12906 .ok()
12907 }
12908 }
12909}
12910#[repr(C)]
12911#[doc(hidden)]
12912pub struct ICoreWebView2DocumentTitleChangedEventHandler_Vtbl {
12913 pub base__: windows_core::IUnknown_Vtbl,
12914 pub Invoke: unsafe extern "system" fn(
12915 *mut core::ffi::c_void,
12916 *mut core::ffi::c_void,
12917 *mut core::ffi::c_void,
12918 ) -> windows_core::HRESULT,
12919}
12920pub trait ICoreWebView2DocumentTitleChangedEventHandler_Impl: windows_core::IUnknownImpl {
12921 fn Invoke(
12922 &self,
12923 sender: windows_core::Ref<'_, ICoreWebView2>,
12924 args: windows_core::Ref<'_, windows_core::IUnknown>,
12925 ) -> windows_core::Result<()>;
12926}
12927impl ICoreWebView2DocumentTitleChangedEventHandler_Vtbl {
12928 pub const fn new<
12929 Identity: ICoreWebView2DocumentTitleChangedEventHandler_Impl,
12930 const OFFSET: isize,
12931 >() -> Self {
12932 unsafe extern "system" fn Invoke<
12933 Identity: ICoreWebView2DocumentTitleChangedEventHandler_Impl,
12934 const OFFSET: isize,
12935 >(
12936 this: *mut core::ffi::c_void,
12937 sender: *mut core::ffi::c_void,
12938 args: *mut core::ffi::c_void,
12939 ) -> windows_core::HRESULT {
12940 unsafe {
12941 let this: &Identity =
12942 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12943 ICoreWebView2DocumentTitleChangedEventHandler_Impl::Invoke(
12944 this,
12945 core::mem::transmute_copy(&sender),
12946 core::mem::transmute_copy(&args),
12947 )
12948 .into()
12949 }
12950 }
12951 Self {
12952 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12953 Invoke: Invoke::<Identity, OFFSET>,
12954 }
12955 }
12956 pub fn matches(iid: &windows_core::GUID) -> bool {
12957 iid == &<ICoreWebView2DocumentTitleChangedEventHandler as windows_core::Interface>::IID
12958 }
12959}
12960impl windows_core::RuntimeName for ICoreWebView2DocumentTitleChangedEventHandler {}
12961windows_core::imp::define_interface!(
12962 ICoreWebView2DownloadOperation,
12963 ICoreWebView2DownloadOperation_Vtbl,
12964 0x3d6b6cf2_afe1_44c7_a995_c65117714336
12965);
12966windows_core::imp::interface_hierarchy!(ICoreWebView2DownloadOperation, windows_core::IUnknown);
12967impl ICoreWebView2DownloadOperation {
12968 pub unsafe fn add_BytesReceivedChanged<P0>(
12969 &self,
12970 eventhandler: P0,
12971 token: *mut i64,
12972 ) -> windows_core::Result<()>
12973 where
12974 P0: windows_core::Param<ICoreWebView2BytesReceivedChangedEventHandler>,
12975 {
12976 unsafe {
12977 (windows_core::Interface::vtable(self).add_BytesReceivedChanged)(
12978 windows_core::Interface::as_raw(self),
12979 eventhandler.param().abi(),
12980 token as _,
12981 )
12982 .ok()
12983 }
12984 }
12985 pub unsafe fn remove_BytesReceivedChanged(&self, token: i64) -> windows_core::Result<()> {
12986 unsafe {
12987 (windows_core::Interface::vtable(self).remove_BytesReceivedChanged)(
12988 windows_core::Interface::as_raw(self),
12989 token,
12990 )
12991 .ok()
12992 }
12993 }
12994 pub unsafe fn add_EstimatedEndTimeChanged<P0>(
12995 &self,
12996 eventhandler: P0,
12997 token: *mut i64,
12998 ) -> windows_core::Result<()>
12999 where
13000 P0: windows_core::Param<ICoreWebView2EstimatedEndTimeChangedEventHandler>,
13001 {
13002 unsafe {
13003 (windows_core::Interface::vtable(self).add_EstimatedEndTimeChanged)(
13004 windows_core::Interface::as_raw(self),
13005 eventhandler.param().abi(),
13006 token as _,
13007 )
13008 .ok()
13009 }
13010 }
13011 pub unsafe fn remove_EstimatedEndTimeChanged(&self, token: i64) -> windows_core::Result<()> {
13012 unsafe {
13013 (windows_core::Interface::vtable(self).remove_EstimatedEndTimeChanged)(
13014 windows_core::Interface::as_raw(self),
13015 token,
13016 )
13017 .ok()
13018 }
13019 }
13020 pub unsafe fn add_StateChanged<P0>(
13021 &self,
13022 eventhandler: P0,
13023 token: *mut i64,
13024 ) -> windows_core::Result<()>
13025 where
13026 P0: windows_core::Param<ICoreWebView2StateChangedEventHandler>,
13027 {
13028 unsafe {
13029 (windows_core::Interface::vtable(self).add_StateChanged)(
13030 windows_core::Interface::as_raw(self),
13031 eventhandler.param().abi(),
13032 token as _,
13033 )
13034 .ok()
13035 }
13036 }
13037 pub unsafe fn remove_StateChanged(&self, token: i64) -> windows_core::Result<()> {
13038 unsafe {
13039 (windows_core::Interface::vtable(self).remove_StateChanged)(
13040 windows_core::Interface::as_raw(self),
13041 token,
13042 )
13043 .ok()
13044 }
13045 }
13046 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
13047 unsafe {
13048 (windows_core::Interface::vtable(self).Uri)(
13049 windows_core::Interface::as_raw(self),
13050 uri as _,
13051 )
13052 .ok()
13053 }
13054 }
13055 pub unsafe fn ContentDisposition(
13056 &self,
13057 contentdisposition: *mut windows_core::PWSTR,
13058 ) -> windows_core::Result<()> {
13059 unsafe {
13060 (windows_core::Interface::vtable(self).ContentDisposition)(
13061 windows_core::Interface::as_raw(self),
13062 contentdisposition as _,
13063 )
13064 .ok()
13065 }
13066 }
13067 pub unsafe fn MimeType(&self, mimetype: *mut windows_core::PWSTR) -> windows_core::Result<()> {
13068 unsafe {
13069 (windows_core::Interface::vtable(self).MimeType)(
13070 windows_core::Interface::as_raw(self),
13071 mimetype as _,
13072 )
13073 .ok()
13074 }
13075 }
13076 pub unsafe fn TotalBytesToReceive(
13077 &self,
13078 totalbytestoreceive: *mut i64,
13079 ) -> windows_core::Result<()> {
13080 unsafe {
13081 (windows_core::Interface::vtable(self).TotalBytesToReceive)(
13082 windows_core::Interface::as_raw(self),
13083 totalbytestoreceive as _,
13084 )
13085 .ok()
13086 }
13087 }
13088 pub unsafe fn BytesReceived(&self, bytesreceived: *mut i64) -> windows_core::Result<()> {
13089 unsafe {
13090 (windows_core::Interface::vtable(self).BytesReceived)(
13091 windows_core::Interface::as_raw(self),
13092 bytesreceived as _,
13093 )
13094 .ok()
13095 }
13096 }
13097 pub unsafe fn EstimatedEndTime(
13098 &self,
13099 estimatedendtime: *mut windows_core::PWSTR,
13100 ) -> windows_core::Result<()> {
13101 unsafe {
13102 (windows_core::Interface::vtable(self).EstimatedEndTime)(
13103 windows_core::Interface::as_raw(self),
13104 estimatedendtime as _,
13105 )
13106 .ok()
13107 }
13108 }
13109 pub unsafe fn ResultFilePath(
13110 &self,
13111 resultfilepath: *mut windows_core::PWSTR,
13112 ) -> windows_core::Result<()> {
13113 unsafe {
13114 (windows_core::Interface::vtable(self).ResultFilePath)(
13115 windows_core::Interface::as_raw(self),
13116 resultfilepath as _,
13117 )
13118 .ok()
13119 }
13120 }
13121 pub unsafe fn State(
13122 &self,
13123 downloadstate: *mut COREWEBVIEW2_DOWNLOAD_STATE,
13124 ) -> windows_core::Result<()> {
13125 unsafe {
13126 (windows_core::Interface::vtable(self).State)(
13127 windows_core::Interface::as_raw(self),
13128 downloadstate as _,
13129 )
13130 .ok()
13131 }
13132 }
13133 pub unsafe fn InterruptReason(
13134 &self,
13135 interruptreason: *mut COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON,
13136 ) -> windows_core::Result<()> {
13137 unsafe {
13138 (windows_core::Interface::vtable(self).InterruptReason)(
13139 windows_core::Interface::as_raw(self),
13140 interruptreason as _,
13141 )
13142 .ok()
13143 }
13144 }
13145 pub unsafe fn Cancel(&self) -> windows_core::Result<()> {
13146 unsafe {
13147 (windows_core::Interface::vtable(self).Cancel)(windows_core::Interface::as_raw(self))
13148 .ok()
13149 }
13150 }
13151 pub unsafe fn Pause(&self) -> windows_core::Result<()> {
13152 unsafe {
13153 (windows_core::Interface::vtable(self).Pause)(windows_core::Interface::as_raw(self))
13154 .ok()
13155 }
13156 }
13157 pub unsafe fn Resume(&self) -> windows_core::Result<()> {
13158 unsafe {
13159 (windows_core::Interface::vtable(self).Resume)(windows_core::Interface::as_raw(self))
13160 .ok()
13161 }
13162 }
13163 pub unsafe fn CanResume(&self, canresume: *mut windows_core::BOOL) -> windows_core::Result<()> {
13164 unsafe {
13165 (windows_core::Interface::vtable(self).CanResume)(
13166 windows_core::Interface::as_raw(self),
13167 canresume as _,
13168 )
13169 .ok()
13170 }
13171 }
13172}
13173#[repr(C)]
13174#[doc(hidden)]
13175pub struct ICoreWebView2DownloadOperation_Vtbl {
13176 pub base__: windows_core::IUnknown_Vtbl,
13177 pub add_BytesReceivedChanged: unsafe extern "system" fn(
13178 *mut core::ffi::c_void,
13179 *mut core::ffi::c_void,
13180 *mut i64,
13181 ) -> windows_core::HRESULT,
13182 pub remove_BytesReceivedChanged:
13183 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
13184 pub add_EstimatedEndTimeChanged: unsafe extern "system" fn(
13185 *mut core::ffi::c_void,
13186 *mut core::ffi::c_void,
13187 *mut i64,
13188 ) -> windows_core::HRESULT,
13189 pub remove_EstimatedEndTimeChanged:
13190 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
13191 pub add_StateChanged: unsafe extern "system" fn(
13192 *mut core::ffi::c_void,
13193 *mut core::ffi::c_void,
13194 *mut i64,
13195 ) -> windows_core::HRESULT,
13196 pub remove_StateChanged:
13197 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
13198 pub Uri: unsafe extern "system" fn(
13199 *mut core::ffi::c_void,
13200 *mut windows_core::PWSTR,
13201 ) -> windows_core::HRESULT,
13202 pub ContentDisposition: unsafe extern "system" fn(
13203 *mut core::ffi::c_void,
13204 *mut windows_core::PWSTR,
13205 ) -> windows_core::HRESULT,
13206 pub MimeType: unsafe extern "system" fn(
13207 *mut core::ffi::c_void,
13208 *mut windows_core::PWSTR,
13209 ) -> windows_core::HRESULT,
13210 pub TotalBytesToReceive:
13211 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i64) -> windows_core::HRESULT,
13212 pub BytesReceived:
13213 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i64) -> windows_core::HRESULT,
13214 pub EstimatedEndTime: unsafe extern "system" fn(
13215 *mut core::ffi::c_void,
13216 *mut windows_core::PWSTR,
13217 ) -> windows_core::HRESULT,
13218 pub ResultFilePath: unsafe extern "system" fn(
13219 *mut core::ffi::c_void,
13220 *mut windows_core::PWSTR,
13221 ) -> windows_core::HRESULT,
13222 pub State: unsafe extern "system" fn(
13223 *mut core::ffi::c_void,
13224 *mut COREWEBVIEW2_DOWNLOAD_STATE,
13225 ) -> windows_core::HRESULT,
13226 pub InterruptReason: unsafe extern "system" fn(
13227 *mut core::ffi::c_void,
13228 *mut COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON,
13229 ) -> windows_core::HRESULT,
13230 pub Cancel: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
13231 pub Pause: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
13232 pub Resume: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
13233 pub CanResume: unsafe extern "system" fn(
13234 *mut core::ffi::c_void,
13235 *mut windows_core::BOOL,
13236 ) -> windows_core::HRESULT,
13237}
13238pub trait ICoreWebView2DownloadOperation_Impl: windows_core::IUnknownImpl {
13239 fn add_BytesReceivedChanged(
13240 &self,
13241 eventhandler: windows_core::Ref<'_, ICoreWebView2BytesReceivedChangedEventHandler>,
13242 token: *mut i64,
13243 ) -> windows_core::Result<()>;
13244 fn remove_BytesReceivedChanged(&self, token: i64) -> windows_core::Result<()>;
13245 fn add_EstimatedEndTimeChanged(
13246 &self,
13247 eventhandler: windows_core::Ref<'_, ICoreWebView2EstimatedEndTimeChangedEventHandler>,
13248 token: *mut i64,
13249 ) -> windows_core::Result<()>;
13250 fn remove_EstimatedEndTimeChanged(&self, token: i64) -> windows_core::Result<()>;
13251 fn add_StateChanged(
13252 &self,
13253 eventhandler: windows_core::Ref<'_, ICoreWebView2StateChangedEventHandler>,
13254 token: *mut i64,
13255 ) -> windows_core::Result<()>;
13256 fn remove_StateChanged(&self, token: i64) -> windows_core::Result<()>;
13257 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
13258 fn ContentDisposition(
13259 &self,
13260 contentdisposition: *mut windows_core::PWSTR,
13261 ) -> windows_core::Result<()>;
13262 fn MimeType(&self, mimetype: *mut windows_core::PWSTR) -> windows_core::Result<()>;
13263 fn TotalBytesToReceive(&self, totalbytestoreceive: *mut i64) -> windows_core::Result<()>;
13264 fn BytesReceived(&self, bytesreceived: *mut i64) -> windows_core::Result<()>;
13265 fn EstimatedEndTime(
13266 &self,
13267 estimatedendtime: *mut windows_core::PWSTR,
13268 ) -> windows_core::Result<()>;
13269 fn ResultFilePath(&self, resultfilepath: *mut windows_core::PWSTR) -> windows_core::Result<()>;
13270 fn State(&self, downloadstate: *mut COREWEBVIEW2_DOWNLOAD_STATE) -> windows_core::Result<()>;
13271 fn InterruptReason(
13272 &self,
13273 interruptreason: *mut COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON,
13274 ) -> windows_core::Result<()>;
13275 fn Cancel(&self) -> windows_core::Result<()>;
13276 fn Pause(&self) -> windows_core::Result<()>;
13277 fn Resume(&self) -> windows_core::Result<()>;
13278 fn CanResume(&self, canresume: *mut windows_core::BOOL) -> windows_core::Result<()>;
13279}
13280impl ICoreWebView2DownloadOperation_Vtbl {
13281 pub const fn new<Identity: ICoreWebView2DownloadOperation_Impl, const OFFSET: isize>() -> Self {
13282 unsafe extern "system" fn add_BytesReceivedChanged<
13283 Identity: ICoreWebView2DownloadOperation_Impl,
13284 const OFFSET: isize,
13285 >(
13286 this: *mut core::ffi::c_void,
13287 eventhandler: *mut core::ffi::c_void,
13288 token: *mut i64,
13289 ) -> windows_core::HRESULT {
13290 unsafe {
13291 let this: &Identity =
13292 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13293 ICoreWebView2DownloadOperation_Impl::add_BytesReceivedChanged(
13294 this,
13295 core::mem::transmute_copy(&eventhandler),
13296 core::mem::transmute_copy(&token),
13297 )
13298 .into()
13299 }
13300 }
13301 unsafe extern "system" fn remove_BytesReceivedChanged<
13302 Identity: ICoreWebView2DownloadOperation_Impl,
13303 const OFFSET: isize,
13304 >(
13305 this: *mut core::ffi::c_void,
13306 token: i64,
13307 ) -> windows_core::HRESULT {
13308 unsafe {
13309 let this: &Identity =
13310 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13311 ICoreWebView2DownloadOperation_Impl::remove_BytesReceivedChanged(
13312 this,
13313 core::mem::transmute_copy(&token),
13314 )
13315 .into()
13316 }
13317 }
13318 unsafe extern "system" fn add_EstimatedEndTimeChanged<
13319 Identity: ICoreWebView2DownloadOperation_Impl,
13320 const OFFSET: isize,
13321 >(
13322 this: *mut core::ffi::c_void,
13323 eventhandler: *mut core::ffi::c_void,
13324 token: *mut i64,
13325 ) -> windows_core::HRESULT {
13326 unsafe {
13327 let this: &Identity =
13328 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13329 ICoreWebView2DownloadOperation_Impl::add_EstimatedEndTimeChanged(
13330 this,
13331 core::mem::transmute_copy(&eventhandler),
13332 core::mem::transmute_copy(&token),
13333 )
13334 .into()
13335 }
13336 }
13337 unsafe extern "system" fn remove_EstimatedEndTimeChanged<
13338 Identity: ICoreWebView2DownloadOperation_Impl,
13339 const OFFSET: isize,
13340 >(
13341 this: *mut core::ffi::c_void,
13342 token: i64,
13343 ) -> windows_core::HRESULT {
13344 unsafe {
13345 let this: &Identity =
13346 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13347 ICoreWebView2DownloadOperation_Impl::remove_EstimatedEndTimeChanged(
13348 this,
13349 core::mem::transmute_copy(&token),
13350 )
13351 .into()
13352 }
13353 }
13354 unsafe extern "system" fn add_StateChanged<
13355 Identity: ICoreWebView2DownloadOperation_Impl,
13356 const OFFSET: isize,
13357 >(
13358 this: *mut core::ffi::c_void,
13359 eventhandler: *mut core::ffi::c_void,
13360 token: *mut i64,
13361 ) -> windows_core::HRESULT {
13362 unsafe {
13363 let this: &Identity =
13364 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13365 ICoreWebView2DownloadOperation_Impl::add_StateChanged(
13366 this,
13367 core::mem::transmute_copy(&eventhandler),
13368 core::mem::transmute_copy(&token),
13369 )
13370 .into()
13371 }
13372 }
13373 unsafe extern "system" fn remove_StateChanged<
13374 Identity: ICoreWebView2DownloadOperation_Impl,
13375 const OFFSET: isize,
13376 >(
13377 this: *mut core::ffi::c_void,
13378 token: i64,
13379 ) -> windows_core::HRESULT {
13380 unsafe {
13381 let this: &Identity =
13382 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13383 ICoreWebView2DownloadOperation_Impl::remove_StateChanged(
13384 this,
13385 core::mem::transmute_copy(&token),
13386 )
13387 .into()
13388 }
13389 }
13390 unsafe extern "system" fn Uri<
13391 Identity: ICoreWebView2DownloadOperation_Impl,
13392 const OFFSET: isize,
13393 >(
13394 this: *mut core::ffi::c_void,
13395 uri: *mut windows_core::PWSTR,
13396 ) -> windows_core::HRESULT {
13397 unsafe {
13398 let this: &Identity =
13399 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13400 ICoreWebView2DownloadOperation_Impl::Uri(this, core::mem::transmute_copy(&uri))
13401 .into()
13402 }
13403 }
13404 unsafe extern "system" fn ContentDisposition<
13405 Identity: ICoreWebView2DownloadOperation_Impl,
13406 const OFFSET: isize,
13407 >(
13408 this: *mut core::ffi::c_void,
13409 contentdisposition: *mut windows_core::PWSTR,
13410 ) -> windows_core::HRESULT {
13411 unsafe {
13412 let this: &Identity =
13413 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13414 ICoreWebView2DownloadOperation_Impl::ContentDisposition(
13415 this,
13416 core::mem::transmute_copy(&contentdisposition),
13417 )
13418 .into()
13419 }
13420 }
13421 unsafe extern "system" fn MimeType<
13422 Identity: ICoreWebView2DownloadOperation_Impl,
13423 const OFFSET: isize,
13424 >(
13425 this: *mut core::ffi::c_void,
13426 mimetype: *mut windows_core::PWSTR,
13427 ) -> windows_core::HRESULT {
13428 unsafe {
13429 let this: &Identity =
13430 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13431 ICoreWebView2DownloadOperation_Impl::MimeType(
13432 this,
13433 core::mem::transmute_copy(&mimetype),
13434 )
13435 .into()
13436 }
13437 }
13438 unsafe extern "system" fn TotalBytesToReceive<
13439 Identity: ICoreWebView2DownloadOperation_Impl,
13440 const OFFSET: isize,
13441 >(
13442 this: *mut core::ffi::c_void,
13443 totalbytestoreceive: *mut i64,
13444 ) -> windows_core::HRESULT {
13445 unsafe {
13446 let this: &Identity =
13447 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13448 ICoreWebView2DownloadOperation_Impl::TotalBytesToReceive(
13449 this,
13450 core::mem::transmute_copy(&totalbytestoreceive),
13451 )
13452 .into()
13453 }
13454 }
13455 unsafe extern "system" fn BytesReceived<
13456 Identity: ICoreWebView2DownloadOperation_Impl,
13457 const OFFSET: isize,
13458 >(
13459 this: *mut core::ffi::c_void,
13460 bytesreceived: *mut i64,
13461 ) -> windows_core::HRESULT {
13462 unsafe {
13463 let this: &Identity =
13464 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13465 ICoreWebView2DownloadOperation_Impl::BytesReceived(
13466 this,
13467 core::mem::transmute_copy(&bytesreceived),
13468 )
13469 .into()
13470 }
13471 }
13472 unsafe extern "system" fn EstimatedEndTime<
13473 Identity: ICoreWebView2DownloadOperation_Impl,
13474 const OFFSET: isize,
13475 >(
13476 this: *mut core::ffi::c_void,
13477 estimatedendtime: *mut windows_core::PWSTR,
13478 ) -> windows_core::HRESULT {
13479 unsafe {
13480 let this: &Identity =
13481 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13482 ICoreWebView2DownloadOperation_Impl::EstimatedEndTime(
13483 this,
13484 core::mem::transmute_copy(&estimatedendtime),
13485 )
13486 .into()
13487 }
13488 }
13489 unsafe extern "system" fn ResultFilePath<
13490 Identity: ICoreWebView2DownloadOperation_Impl,
13491 const OFFSET: isize,
13492 >(
13493 this: *mut core::ffi::c_void,
13494 resultfilepath: *mut windows_core::PWSTR,
13495 ) -> windows_core::HRESULT {
13496 unsafe {
13497 let this: &Identity =
13498 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13499 ICoreWebView2DownloadOperation_Impl::ResultFilePath(
13500 this,
13501 core::mem::transmute_copy(&resultfilepath),
13502 )
13503 .into()
13504 }
13505 }
13506 unsafe extern "system" fn State<
13507 Identity: ICoreWebView2DownloadOperation_Impl,
13508 const OFFSET: isize,
13509 >(
13510 this: *mut core::ffi::c_void,
13511 downloadstate: *mut COREWEBVIEW2_DOWNLOAD_STATE,
13512 ) -> windows_core::HRESULT {
13513 unsafe {
13514 let this: &Identity =
13515 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13516 ICoreWebView2DownloadOperation_Impl::State(
13517 this,
13518 core::mem::transmute_copy(&downloadstate),
13519 )
13520 .into()
13521 }
13522 }
13523 unsafe extern "system" fn InterruptReason<
13524 Identity: ICoreWebView2DownloadOperation_Impl,
13525 const OFFSET: isize,
13526 >(
13527 this: *mut core::ffi::c_void,
13528 interruptreason: *mut COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON,
13529 ) -> windows_core::HRESULT {
13530 unsafe {
13531 let this: &Identity =
13532 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13533 ICoreWebView2DownloadOperation_Impl::InterruptReason(
13534 this,
13535 core::mem::transmute_copy(&interruptreason),
13536 )
13537 .into()
13538 }
13539 }
13540 unsafe extern "system" fn Cancel<
13541 Identity: ICoreWebView2DownloadOperation_Impl,
13542 const OFFSET: isize,
13543 >(
13544 this: *mut core::ffi::c_void,
13545 ) -> windows_core::HRESULT {
13546 unsafe {
13547 let this: &Identity =
13548 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13549 ICoreWebView2DownloadOperation_Impl::Cancel(this).into()
13550 }
13551 }
13552 unsafe extern "system" fn Pause<
13553 Identity: ICoreWebView2DownloadOperation_Impl,
13554 const OFFSET: isize,
13555 >(
13556 this: *mut core::ffi::c_void,
13557 ) -> windows_core::HRESULT {
13558 unsafe {
13559 let this: &Identity =
13560 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13561 ICoreWebView2DownloadOperation_Impl::Pause(this).into()
13562 }
13563 }
13564 unsafe extern "system" fn Resume<
13565 Identity: ICoreWebView2DownloadOperation_Impl,
13566 const OFFSET: isize,
13567 >(
13568 this: *mut core::ffi::c_void,
13569 ) -> windows_core::HRESULT {
13570 unsafe {
13571 let this: &Identity =
13572 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13573 ICoreWebView2DownloadOperation_Impl::Resume(this).into()
13574 }
13575 }
13576 unsafe extern "system" fn CanResume<
13577 Identity: ICoreWebView2DownloadOperation_Impl,
13578 const OFFSET: isize,
13579 >(
13580 this: *mut core::ffi::c_void,
13581 canresume: *mut windows_core::BOOL,
13582 ) -> windows_core::HRESULT {
13583 unsafe {
13584 let this: &Identity =
13585 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13586 ICoreWebView2DownloadOperation_Impl::CanResume(
13587 this,
13588 core::mem::transmute_copy(&canresume),
13589 )
13590 .into()
13591 }
13592 }
13593 Self {
13594 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
13595 add_BytesReceivedChanged: add_BytesReceivedChanged::<Identity, OFFSET>,
13596 remove_BytesReceivedChanged: remove_BytesReceivedChanged::<Identity, OFFSET>,
13597 add_EstimatedEndTimeChanged: add_EstimatedEndTimeChanged::<Identity, OFFSET>,
13598 remove_EstimatedEndTimeChanged: remove_EstimatedEndTimeChanged::<Identity, OFFSET>,
13599 add_StateChanged: add_StateChanged::<Identity, OFFSET>,
13600 remove_StateChanged: remove_StateChanged::<Identity, OFFSET>,
13601 Uri: Uri::<Identity, OFFSET>,
13602 ContentDisposition: ContentDisposition::<Identity, OFFSET>,
13603 MimeType: MimeType::<Identity, OFFSET>,
13604 TotalBytesToReceive: TotalBytesToReceive::<Identity, OFFSET>,
13605 BytesReceived: BytesReceived::<Identity, OFFSET>,
13606 EstimatedEndTime: EstimatedEndTime::<Identity, OFFSET>,
13607 ResultFilePath: ResultFilePath::<Identity, OFFSET>,
13608 State: State::<Identity, OFFSET>,
13609 InterruptReason: InterruptReason::<Identity, OFFSET>,
13610 Cancel: Cancel::<Identity, OFFSET>,
13611 Pause: Pause::<Identity, OFFSET>,
13612 Resume: Resume::<Identity, OFFSET>,
13613 CanResume: CanResume::<Identity, OFFSET>,
13614 }
13615 }
13616 pub fn matches(iid: &windows_core::GUID) -> bool {
13617 iid == &<ICoreWebView2DownloadOperation as windows_core::Interface>::IID
13618 }
13619}
13620impl windows_core::RuntimeName for ICoreWebView2DownloadOperation {}
13621windows_core::imp::define_interface!(
13622 ICoreWebView2DownloadStartingEventArgs,
13623 ICoreWebView2DownloadStartingEventArgs_Vtbl,
13624 0xe99bbe21_43e9_4544_a732_282764eafa60
13625);
13626windows_core::imp::interface_hierarchy!(
13627 ICoreWebView2DownloadStartingEventArgs,
13628 windows_core::IUnknown
13629);
13630impl ICoreWebView2DownloadStartingEventArgs {
13631 pub unsafe fn DownloadOperation(&self) -> windows_core::Result<ICoreWebView2DownloadOperation> {
13632 unsafe {
13633 let mut result__ = core::mem::zeroed();
13634 (windows_core::Interface::vtable(self).DownloadOperation)(
13635 windows_core::Interface::as_raw(self),
13636 &mut result__,
13637 )
13638 .and_then(|| windows_core::Type::from_abi(result__))
13639 }
13640 }
13641 pub unsafe fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()> {
13642 unsafe {
13643 (windows_core::Interface::vtable(self).Cancel)(
13644 windows_core::Interface::as_raw(self),
13645 cancel as _,
13646 )
13647 .ok()
13648 }
13649 }
13650 pub unsafe fn SetCancel(&self, cancel: bool) -> windows_core::Result<()> {
13651 unsafe {
13652 (windows_core::Interface::vtable(self).SetCancel)(
13653 windows_core::Interface::as_raw(self),
13654 cancel.into(),
13655 )
13656 .ok()
13657 }
13658 }
13659 pub unsafe fn ResultFilePath(
13660 &self,
13661 resultfilepath: *mut windows_core::PWSTR,
13662 ) -> windows_core::Result<()> {
13663 unsafe {
13664 (windows_core::Interface::vtable(self).ResultFilePath)(
13665 windows_core::Interface::as_raw(self),
13666 resultfilepath as _,
13667 )
13668 .ok()
13669 }
13670 }
13671 pub unsafe fn SetResultFilePath<P0>(&self, resultfilepath: P0) -> windows_core::Result<()>
13672 where
13673 P0: windows_core::Param<windows_core::PCWSTR>,
13674 {
13675 unsafe {
13676 (windows_core::Interface::vtable(self).SetResultFilePath)(
13677 windows_core::Interface::as_raw(self),
13678 resultfilepath.param().abi(),
13679 )
13680 .ok()
13681 }
13682 }
13683 pub unsafe fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()> {
13684 unsafe {
13685 (windows_core::Interface::vtable(self).Handled)(
13686 windows_core::Interface::as_raw(self),
13687 handled as _,
13688 )
13689 .ok()
13690 }
13691 }
13692 pub unsafe fn SetHandled(&self, handled: bool) -> windows_core::Result<()> {
13693 unsafe {
13694 (windows_core::Interface::vtable(self).SetHandled)(
13695 windows_core::Interface::as_raw(self),
13696 handled.into(),
13697 )
13698 .ok()
13699 }
13700 }
13701 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
13702 unsafe {
13703 let mut result__ = core::mem::zeroed();
13704 (windows_core::Interface::vtable(self).GetDeferral)(
13705 windows_core::Interface::as_raw(self),
13706 &mut result__,
13707 )
13708 .and_then(|| windows_core::Type::from_abi(result__))
13709 }
13710 }
13711}
13712#[repr(C)]
13713#[doc(hidden)]
13714pub struct ICoreWebView2DownloadStartingEventArgs_Vtbl {
13715 pub base__: windows_core::IUnknown_Vtbl,
13716 pub DownloadOperation: unsafe extern "system" fn(
13717 *mut core::ffi::c_void,
13718 *mut *mut core::ffi::c_void,
13719 ) -> windows_core::HRESULT,
13720 pub Cancel: unsafe extern "system" fn(
13721 *mut core::ffi::c_void,
13722 *mut windows_core::BOOL,
13723 ) -> windows_core::HRESULT,
13724 pub SetCancel: unsafe extern "system" fn(
13725 *mut core::ffi::c_void,
13726 windows_core::BOOL,
13727 ) -> windows_core::HRESULT,
13728 pub ResultFilePath: unsafe extern "system" fn(
13729 *mut core::ffi::c_void,
13730 *mut windows_core::PWSTR,
13731 ) -> windows_core::HRESULT,
13732 pub SetResultFilePath: unsafe extern "system" fn(
13733 *mut core::ffi::c_void,
13734 windows_core::PCWSTR,
13735 ) -> windows_core::HRESULT,
13736 pub Handled: unsafe extern "system" fn(
13737 *mut core::ffi::c_void,
13738 *mut windows_core::BOOL,
13739 ) -> windows_core::HRESULT,
13740 pub SetHandled: unsafe extern "system" fn(
13741 *mut core::ffi::c_void,
13742 windows_core::BOOL,
13743 ) -> windows_core::HRESULT,
13744 pub GetDeferral: unsafe extern "system" fn(
13745 *mut core::ffi::c_void,
13746 *mut *mut core::ffi::c_void,
13747 ) -> windows_core::HRESULT,
13748}
13749pub trait ICoreWebView2DownloadStartingEventArgs_Impl: windows_core::IUnknownImpl {
13750 fn DownloadOperation(&self) -> windows_core::Result<ICoreWebView2DownloadOperation>;
13751 fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()>;
13752 fn SetCancel(&self, cancel: windows_core::BOOL) -> windows_core::Result<()>;
13753 fn ResultFilePath(&self, resultfilepath: *mut windows_core::PWSTR) -> windows_core::Result<()>;
13754 fn SetResultFilePath(&self, resultfilepath: &windows_core::PCWSTR) -> windows_core::Result<()>;
13755 fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()>;
13756 fn SetHandled(&self, handled: windows_core::BOOL) -> windows_core::Result<()>;
13757 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
13758}
13759impl ICoreWebView2DownloadStartingEventArgs_Vtbl {
13760 pub const fn new<Identity: ICoreWebView2DownloadStartingEventArgs_Impl, const OFFSET: isize>(
13761 ) -> Self {
13762 unsafe extern "system" fn DownloadOperation<
13763 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13764 const OFFSET: isize,
13765 >(
13766 this: *mut core::ffi::c_void,
13767 downloadoperation: *mut *mut core::ffi::c_void,
13768 ) -> windows_core::HRESULT {
13769 unsafe {
13770 let this: &Identity =
13771 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13772 match ICoreWebView2DownloadStartingEventArgs_Impl::DownloadOperation(this) {
13773 Ok(ok__) => {
13774 downloadoperation.write(core::mem::transmute(ok__));
13775 windows_core::HRESULT(0)
13776 }
13777 Err(err) => err.into(),
13778 }
13779 }
13780 }
13781 unsafe extern "system" fn Cancel<
13782 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13783 const OFFSET: isize,
13784 >(
13785 this: *mut core::ffi::c_void,
13786 cancel: *mut windows_core::BOOL,
13787 ) -> windows_core::HRESULT {
13788 unsafe {
13789 let this: &Identity =
13790 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13791 ICoreWebView2DownloadStartingEventArgs_Impl::Cancel(
13792 this,
13793 core::mem::transmute_copy(&cancel),
13794 )
13795 .into()
13796 }
13797 }
13798 unsafe extern "system" fn SetCancel<
13799 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13800 const OFFSET: isize,
13801 >(
13802 this: *mut core::ffi::c_void,
13803 cancel: windows_core::BOOL,
13804 ) -> windows_core::HRESULT {
13805 unsafe {
13806 let this: &Identity =
13807 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13808 ICoreWebView2DownloadStartingEventArgs_Impl::SetCancel(
13809 this,
13810 core::mem::transmute_copy(&cancel),
13811 )
13812 .into()
13813 }
13814 }
13815 unsafe extern "system" fn ResultFilePath<
13816 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13817 const OFFSET: isize,
13818 >(
13819 this: *mut core::ffi::c_void,
13820 resultfilepath: *mut windows_core::PWSTR,
13821 ) -> windows_core::HRESULT {
13822 unsafe {
13823 let this: &Identity =
13824 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13825 ICoreWebView2DownloadStartingEventArgs_Impl::ResultFilePath(
13826 this,
13827 core::mem::transmute_copy(&resultfilepath),
13828 )
13829 .into()
13830 }
13831 }
13832 unsafe extern "system" fn SetResultFilePath<
13833 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13834 const OFFSET: isize,
13835 >(
13836 this: *mut core::ffi::c_void,
13837 resultfilepath: windows_core::PCWSTR,
13838 ) -> windows_core::HRESULT {
13839 unsafe {
13840 let this: &Identity =
13841 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13842 ICoreWebView2DownloadStartingEventArgs_Impl::SetResultFilePath(
13843 this,
13844 core::mem::transmute(&resultfilepath),
13845 )
13846 .into()
13847 }
13848 }
13849 unsafe extern "system" fn Handled<
13850 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13851 const OFFSET: isize,
13852 >(
13853 this: *mut core::ffi::c_void,
13854 handled: *mut windows_core::BOOL,
13855 ) -> windows_core::HRESULT {
13856 unsafe {
13857 let this: &Identity =
13858 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13859 ICoreWebView2DownloadStartingEventArgs_Impl::Handled(
13860 this,
13861 core::mem::transmute_copy(&handled),
13862 )
13863 .into()
13864 }
13865 }
13866 unsafe extern "system" fn SetHandled<
13867 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13868 const OFFSET: isize,
13869 >(
13870 this: *mut core::ffi::c_void,
13871 handled: windows_core::BOOL,
13872 ) -> windows_core::HRESULT {
13873 unsafe {
13874 let this: &Identity =
13875 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13876 ICoreWebView2DownloadStartingEventArgs_Impl::SetHandled(
13877 this,
13878 core::mem::transmute_copy(&handled),
13879 )
13880 .into()
13881 }
13882 }
13883 unsafe extern "system" fn GetDeferral<
13884 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13885 const OFFSET: isize,
13886 >(
13887 this: *mut core::ffi::c_void,
13888 deferral: *mut *mut core::ffi::c_void,
13889 ) -> windows_core::HRESULT {
13890 unsafe {
13891 let this: &Identity =
13892 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13893 match ICoreWebView2DownloadStartingEventArgs_Impl::GetDeferral(this) {
13894 Ok(ok__) => {
13895 deferral.write(core::mem::transmute(ok__));
13896 windows_core::HRESULT(0)
13897 }
13898 Err(err) => err.into(),
13899 }
13900 }
13901 }
13902 Self {
13903 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
13904 DownloadOperation: DownloadOperation::<Identity, OFFSET>,
13905 Cancel: Cancel::<Identity, OFFSET>,
13906 SetCancel: SetCancel::<Identity, OFFSET>,
13907 ResultFilePath: ResultFilePath::<Identity, OFFSET>,
13908 SetResultFilePath: SetResultFilePath::<Identity, OFFSET>,
13909 Handled: Handled::<Identity, OFFSET>,
13910 SetHandled: SetHandled::<Identity, OFFSET>,
13911 GetDeferral: GetDeferral::<Identity, OFFSET>,
13912 }
13913 }
13914 pub fn matches(iid: &windows_core::GUID) -> bool {
13915 iid == &<ICoreWebView2DownloadStartingEventArgs as windows_core::Interface>::IID
13916 }
13917}
13918impl windows_core::RuntimeName for ICoreWebView2DownloadStartingEventArgs {}
13919windows_core::imp::define_interface!(
13920 ICoreWebView2DownloadStartingEventHandler,
13921 ICoreWebView2DownloadStartingEventHandler_Vtbl,
13922 0xefedc989_c396_41ca_83f7_07f845a55724
13923);
13924windows_core::imp::interface_hierarchy!(
13925 ICoreWebView2DownloadStartingEventHandler,
13926 windows_core::IUnknown
13927);
13928impl ICoreWebView2DownloadStartingEventHandler {
13929 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
13930 where
13931 P0: windows_core::Param<ICoreWebView2>,
13932 P1: windows_core::Param<ICoreWebView2DownloadStartingEventArgs>,
13933 {
13934 unsafe {
13935 (windows_core::Interface::vtable(self).Invoke)(
13936 windows_core::Interface::as_raw(self),
13937 sender.param().abi(),
13938 args.param().abi(),
13939 )
13940 .ok()
13941 }
13942 }
13943}
13944#[repr(C)]
13945#[doc(hidden)]
13946pub struct ICoreWebView2DownloadStartingEventHandler_Vtbl {
13947 pub base__: windows_core::IUnknown_Vtbl,
13948 pub Invoke: unsafe extern "system" fn(
13949 *mut core::ffi::c_void,
13950 *mut core::ffi::c_void,
13951 *mut core::ffi::c_void,
13952 ) -> windows_core::HRESULT,
13953}
13954pub trait ICoreWebView2DownloadStartingEventHandler_Impl: windows_core::IUnknownImpl {
13955 fn Invoke(
13956 &self,
13957 sender: windows_core::Ref<'_, ICoreWebView2>,
13958 args: windows_core::Ref<'_, ICoreWebView2DownloadStartingEventArgs>,
13959 ) -> windows_core::Result<()>;
13960}
13961impl ICoreWebView2DownloadStartingEventHandler_Vtbl {
13962 pub const fn new<
13963 Identity: ICoreWebView2DownloadStartingEventHandler_Impl,
13964 const OFFSET: isize,
13965 >() -> Self {
13966 unsafe extern "system" fn Invoke<
13967 Identity: ICoreWebView2DownloadStartingEventHandler_Impl,
13968 const OFFSET: isize,
13969 >(
13970 this: *mut core::ffi::c_void,
13971 sender: *mut core::ffi::c_void,
13972 args: *mut core::ffi::c_void,
13973 ) -> windows_core::HRESULT {
13974 unsafe {
13975 let this: &Identity =
13976 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13977 ICoreWebView2DownloadStartingEventHandler_Impl::Invoke(
13978 this,
13979 core::mem::transmute_copy(&sender),
13980 core::mem::transmute_copy(&args),
13981 )
13982 .into()
13983 }
13984 }
13985 Self {
13986 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
13987 Invoke: Invoke::<Identity, OFFSET>,
13988 }
13989 }
13990 pub fn matches(iid: &windows_core::GUID) -> bool {
13991 iid == &<ICoreWebView2DownloadStartingEventHandler as windows_core::Interface>::IID
13992 }
13993}
13994impl windows_core::RuntimeName for ICoreWebView2DownloadStartingEventHandler {}
13995windows_core::imp::define_interface!(
13996 ICoreWebView2Environment,
13997 ICoreWebView2Environment_Vtbl,
13998 0xb96d755e_0319_4e92_a296_23436f46a1fc
13999);
14000windows_core::imp::interface_hierarchy!(ICoreWebView2Environment, windows_core::IUnknown);
14001impl ICoreWebView2Environment {
14002 pub unsafe fn CreateCoreWebView2Controller<P1>(
14003 &self,
14004 parentwindow: windows::Win32::Foundation::HWND,
14005 handler: P1,
14006 ) -> windows_core::Result<()>
14007 where
14008 P1: windows_core::Param<ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
14009 {
14010 unsafe {
14011 (windows_core::Interface::vtable(self).CreateCoreWebView2Controller)(
14012 windows_core::Interface::as_raw(self),
14013 parentwindow,
14014 handler.param().abi(),
14015 )
14016 .ok()
14017 }
14018 }
14019 pub unsafe fn CreateWebResourceResponse<P0, P2, P3>(
14020 &self,
14021 content: P0,
14022 statuscode: i32,
14023 reasonphrase: P2,
14024 headers: P3,
14025 ) -> windows_core::Result<ICoreWebView2WebResourceResponse>
14026 where
14027 P0: windows_core::Param<windows::Win32::System::Com::IStream>,
14028 P2: windows_core::Param<windows_core::PCWSTR>,
14029 P3: windows_core::Param<windows_core::PCWSTR>,
14030 {
14031 unsafe {
14032 let mut result__ = core::mem::zeroed();
14033 (windows_core::Interface::vtable(self).CreateWebResourceResponse)(
14034 windows_core::Interface::as_raw(self),
14035 content.param().abi(),
14036 statuscode,
14037 reasonphrase.param().abi(),
14038 headers.param().abi(),
14039 &mut result__,
14040 )
14041 .and_then(|| windows_core::Type::from_abi(result__))
14042 }
14043 }
14044 pub unsafe fn BrowserVersionString(
14045 &self,
14046 versioninfo: *mut windows_core::PWSTR,
14047 ) -> windows_core::Result<()> {
14048 unsafe {
14049 (windows_core::Interface::vtable(self).BrowserVersionString)(
14050 windows_core::Interface::as_raw(self),
14051 versioninfo as _,
14052 )
14053 .ok()
14054 }
14055 }
14056 pub unsafe fn add_NewBrowserVersionAvailable<P0>(
14057 &self,
14058 eventhandler: P0,
14059 token: *mut i64,
14060 ) -> windows_core::Result<()>
14061 where
14062 P0: windows_core::Param<ICoreWebView2NewBrowserVersionAvailableEventHandler>,
14063 {
14064 unsafe {
14065 (windows_core::Interface::vtable(self).add_NewBrowserVersionAvailable)(
14066 windows_core::Interface::as_raw(self),
14067 eventhandler.param().abi(),
14068 token as _,
14069 )
14070 .ok()
14071 }
14072 }
14073 pub unsafe fn remove_NewBrowserVersionAvailable(&self, token: i64) -> windows_core::Result<()> {
14074 unsafe {
14075 (windows_core::Interface::vtable(self).remove_NewBrowserVersionAvailable)(
14076 windows_core::Interface::as_raw(self),
14077 token,
14078 )
14079 .ok()
14080 }
14081 }
14082}
14083#[repr(C)]
14084#[doc(hidden)]
14085pub struct ICoreWebView2Environment_Vtbl {
14086 pub base__: windows_core::IUnknown_Vtbl,
14087 pub CreateCoreWebView2Controller: unsafe extern "system" fn(
14088 *mut core::ffi::c_void,
14089 windows::Win32::Foundation::HWND,
14090 *mut core::ffi::c_void,
14091 ) -> windows_core::HRESULT,
14092 pub CreateWebResourceResponse: unsafe extern "system" fn(
14093 *mut core::ffi::c_void,
14094 *mut core::ffi::c_void,
14095 i32,
14096 windows_core::PCWSTR,
14097 windows_core::PCWSTR,
14098 *mut *mut core::ffi::c_void,
14099 ) -> windows_core::HRESULT,
14100 pub BrowserVersionString: unsafe extern "system" fn(
14101 *mut core::ffi::c_void,
14102 *mut windows_core::PWSTR,
14103 ) -> windows_core::HRESULT,
14104 pub add_NewBrowserVersionAvailable: unsafe extern "system" fn(
14105 *mut core::ffi::c_void,
14106 *mut core::ffi::c_void,
14107 *mut i64,
14108 ) -> windows_core::HRESULT,
14109 pub remove_NewBrowserVersionAvailable:
14110 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
14111}
14112pub trait ICoreWebView2Environment_Impl: windows_core::IUnknownImpl {
14113 fn CreateCoreWebView2Controller(
14114 &self,
14115 parentwindow: windows::Win32::Foundation::HWND,
14116 handler: windows_core::Ref<'_, ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
14117 ) -> windows_core::Result<()>;
14118 fn CreateWebResourceResponse(
14119 &self,
14120 content: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
14121 statuscode: i32,
14122 reasonphrase: &windows_core::PCWSTR,
14123 headers: &windows_core::PCWSTR,
14124 ) -> windows_core::Result<ICoreWebView2WebResourceResponse>;
14125 fn BrowserVersionString(
14126 &self,
14127 versioninfo: *mut windows_core::PWSTR,
14128 ) -> windows_core::Result<()>;
14129 fn add_NewBrowserVersionAvailable(
14130 &self,
14131 eventhandler: windows_core::Ref<'_, ICoreWebView2NewBrowserVersionAvailableEventHandler>,
14132 token: *mut i64,
14133 ) -> windows_core::Result<()>;
14134 fn remove_NewBrowserVersionAvailable(&self, token: i64) -> windows_core::Result<()>;
14135}
14136impl ICoreWebView2Environment_Vtbl {
14137 pub const fn new<Identity: ICoreWebView2Environment_Impl, const OFFSET: isize>() -> Self {
14138 unsafe extern "system" fn CreateCoreWebView2Controller<
14139 Identity: ICoreWebView2Environment_Impl,
14140 const OFFSET: isize,
14141 >(
14142 this: *mut core::ffi::c_void,
14143 parentwindow: windows::Win32::Foundation::HWND,
14144 handler: *mut core::ffi::c_void,
14145 ) -> windows_core::HRESULT {
14146 unsafe {
14147 let this: &Identity =
14148 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14149 ICoreWebView2Environment_Impl::CreateCoreWebView2Controller(
14150 this,
14151 core::mem::transmute_copy(&parentwindow),
14152 core::mem::transmute_copy(&handler),
14153 )
14154 .into()
14155 }
14156 }
14157 unsafe extern "system" fn CreateWebResourceResponse<
14158 Identity: ICoreWebView2Environment_Impl,
14159 const OFFSET: isize,
14160 >(
14161 this: *mut core::ffi::c_void,
14162 content: *mut core::ffi::c_void,
14163 statuscode: i32,
14164 reasonphrase: windows_core::PCWSTR,
14165 headers: windows_core::PCWSTR,
14166 response: *mut *mut core::ffi::c_void,
14167 ) -> windows_core::HRESULT {
14168 unsafe {
14169 let this: &Identity =
14170 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14171 match ICoreWebView2Environment_Impl::CreateWebResourceResponse(
14172 this,
14173 core::mem::transmute_copy(&content),
14174 core::mem::transmute_copy(&statuscode),
14175 core::mem::transmute(&reasonphrase),
14176 core::mem::transmute(&headers),
14177 ) {
14178 Ok(ok__) => {
14179 response.write(core::mem::transmute(ok__));
14180 windows_core::HRESULT(0)
14181 }
14182 Err(err) => err.into(),
14183 }
14184 }
14185 }
14186 unsafe extern "system" fn BrowserVersionString<
14187 Identity: ICoreWebView2Environment_Impl,
14188 const OFFSET: isize,
14189 >(
14190 this: *mut core::ffi::c_void,
14191 versioninfo: *mut windows_core::PWSTR,
14192 ) -> windows_core::HRESULT {
14193 unsafe {
14194 let this: &Identity =
14195 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14196 ICoreWebView2Environment_Impl::BrowserVersionString(
14197 this,
14198 core::mem::transmute_copy(&versioninfo),
14199 )
14200 .into()
14201 }
14202 }
14203 unsafe extern "system" fn add_NewBrowserVersionAvailable<
14204 Identity: ICoreWebView2Environment_Impl,
14205 const OFFSET: isize,
14206 >(
14207 this: *mut core::ffi::c_void,
14208 eventhandler: *mut core::ffi::c_void,
14209 token: *mut i64,
14210 ) -> windows_core::HRESULT {
14211 unsafe {
14212 let this: &Identity =
14213 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14214 ICoreWebView2Environment_Impl::add_NewBrowserVersionAvailable(
14215 this,
14216 core::mem::transmute_copy(&eventhandler),
14217 core::mem::transmute_copy(&token),
14218 )
14219 .into()
14220 }
14221 }
14222 unsafe extern "system" fn remove_NewBrowserVersionAvailable<
14223 Identity: ICoreWebView2Environment_Impl,
14224 const OFFSET: isize,
14225 >(
14226 this: *mut core::ffi::c_void,
14227 token: i64,
14228 ) -> windows_core::HRESULT {
14229 unsafe {
14230 let this: &Identity =
14231 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14232 ICoreWebView2Environment_Impl::remove_NewBrowserVersionAvailable(
14233 this,
14234 core::mem::transmute_copy(&token),
14235 )
14236 .into()
14237 }
14238 }
14239 Self {
14240 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
14241 CreateCoreWebView2Controller: CreateCoreWebView2Controller::<Identity, OFFSET>,
14242 CreateWebResourceResponse: CreateWebResourceResponse::<Identity, OFFSET>,
14243 BrowserVersionString: BrowserVersionString::<Identity, OFFSET>,
14244 add_NewBrowserVersionAvailable: add_NewBrowserVersionAvailable::<Identity, OFFSET>,
14245 remove_NewBrowserVersionAvailable: remove_NewBrowserVersionAvailable::<Identity, OFFSET>,
14246 }
14247 }
14248 pub fn matches(iid: &windows_core::GUID) -> bool {
14249 iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14250 }
14251}
14252impl windows_core::RuntimeName for ICoreWebView2Environment {}
14253windows_core::imp::define_interface!(
14254 ICoreWebView2Environment10,
14255 ICoreWebView2Environment10_Vtbl,
14256 0xee0eb9df_6f12_46ce_b53f_3f47b9c928e0
14257);
14258impl core::ops::Deref for ICoreWebView2Environment10 {
14259 type Target = ICoreWebView2Environment9;
14260 fn deref(&self) -> &Self::Target {
14261 unsafe { core::mem::transmute(self) }
14262 }
14263}
14264windows_core::imp::interface_hierarchy!(
14265 ICoreWebView2Environment10,
14266 windows_core::IUnknown,
14267 ICoreWebView2Environment,
14268 ICoreWebView2Environment2,
14269 ICoreWebView2Environment3,
14270 ICoreWebView2Environment4,
14271 ICoreWebView2Environment5,
14272 ICoreWebView2Environment6,
14273 ICoreWebView2Environment7,
14274 ICoreWebView2Environment8,
14275 ICoreWebView2Environment9
14276);
14277impl ICoreWebView2Environment10 {
14278 pub unsafe fn CreateCoreWebView2ControllerOptions(
14279 &self,
14280 ) -> windows_core::Result<ICoreWebView2ControllerOptions> {
14281 unsafe {
14282 let mut result__ = core::mem::zeroed();
14283 (windows_core::Interface::vtable(self).CreateCoreWebView2ControllerOptions)(
14284 windows_core::Interface::as_raw(self),
14285 &mut result__,
14286 )
14287 .and_then(|| windows_core::Type::from_abi(result__))
14288 }
14289 }
14290 pub unsafe fn CreateCoreWebView2ControllerWithOptions<P1, P2>(
14291 &self,
14292 parentwindow: windows::Win32::Foundation::HWND,
14293 options: P1,
14294 handler: P2,
14295 ) -> windows_core::Result<()>
14296 where
14297 P1: windows_core::Param<ICoreWebView2ControllerOptions>,
14298 P2: windows_core::Param<ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
14299 {
14300 unsafe {
14301 (windows_core::Interface::vtable(self).CreateCoreWebView2ControllerWithOptions)(
14302 windows_core::Interface::as_raw(self),
14303 parentwindow,
14304 options.param().abi(),
14305 handler.param().abi(),
14306 )
14307 .ok()
14308 }
14309 }
14310 pub unsafe fn CreateCoreWebView2CompositionControllerWithOptions<P1, P2>(
14311 &self,
14312 parentwindow: windows::Win32::Foundation::HWND,
14313 options: P1,
14314 handler: P2,
14315 ) -> windows_core::Result<()>
14316 where
14317 P1: windows_core::Param<ICoreWebView2ControllerOptions>,
14318 P2: windows_core::Param<
14319 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
14320 >,
14321 {
14322 unsafe {
14323 (windows_core::Interface::vtable(self)
14324 .CreateCoreWebView2CompositionControllerWithOptions)(
14325 windows_core::Interface::as_raw(self),
14326 parentwindow,
14327 options.param().abi(),
14328 handler.param().abi(),
14329 )
14330 .ok()
14331 }
14332 }
14333}
14334#[repr(C)]
14335#[doc(hidden)]
14336pub struct ICoreWebView2Environment10_Vtbl {
14337 pub base__: ICoreWebView2Environment9_Vtbl,
14338 pub CreateCoreWebView2ControllerOptions: unsafe extern "system" fn(
14339 *mut core::ffi::c_void,
14340 *mut *mut core::ffi::c_void,
14341 )
14342 -> windows_core::HRESULT,
14343 pub CreateCoreWebView2ControllerWithOptions: unsafe extern "system" fn(
14344 *mut core::ffi::c_void,
14345 windows::Win32::Foundation::HWND,
14346 *mut core::ffi::c_void,
14347 *mut core::ffi::c_void,
14348 )
14349 -> windows_core::HRESULT,
14350 pub CreateCoreWebView2CompositionControllerWithOptions:
14351 unsafe extern "system" fn(
14352 *mut core::ffi::c_void,
14353 windows::Win32::Foundation::HWND,
14354 *mut core::ffi::c_void,
14355 *mut core::ffi::c_void,
14356 ) -> windows_core::HRESULT,
14357}
14358pub trait ICoreWebView2Environment10_Impl: ICoreWebView2Environment9_Impl {
14359 fn CreateCoreWebView2ControllerOptions(
14360 &self,
14361 ) -> windows_core::Result<ICoreWebView2ControllerOptions>;
14362 fn CreateCoreWebView2ControllerWithOptions(
14363 &self,
14364 parentwindow: windows::Win32::Foundation::HWND,
14365 options: windows_core::Ref<'_, ICoreWebView2ControllerOptions>,
14366 handler: windows_core::Ref<'_, ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
14367 ) -> windows_core::Result<()>;
14368 fn CreateCoreWebView2CompositionControllerWithOptions(
14369 &self,
14370 parentwindow: windows::Win32::Foundation::HWND,
14371 options: windows_core::Ref<'_, ICoreWebView2ControllerOptions>,
14372 handler: windows_core::Ref<
14373 '_,
14374 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
14375 >,
14376 ) -> windows_core::Result<()>;
14377}
14378impl ICoreWebView2Environment10_Vtbl {
14379 pub const fn new<Identity: ICoreWebView2Environment10_Impl, const OFFSET: isize>() -> Self {
14380 unsafe extern "system" fn CreateCoreWebView2ControllerOptions<
14381 Identity: ICoreWebView2Environment10_Impl,
14382 const OFFSET: isize,
14383 >(
14384 this: *mut core::ffi::c_void,
14385 value: *mut *mut core::ffi::c_void,
14386 ) -> windows_core::HRESULT {
14387 unsafe {
14388 let this: &Identity =
14389 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14390 match ICoreWebView2Environment10_Impl::CreateCoreWebView2ControllerOptions(this) {
14391 Ok(ok__) => {
14392 value.write(core::mem::transmute(ok__));
14393 windows_core::HRESULT(0)
14394 }
14395 Err(err) => err.into(),
14396 }
14397 }
14398 }
14399 unsafe extern "system" fn CreateCoreWebView2ControllerWithOptions<
14400 Identity: ICoreWebView2Environment10_Impl,
14401 const OFFSET: isize,
14402 >(
14403 this: *mut core::ffi::c_void,
14404 parentwindow: windows::Win32::Foundation::HWND,
14405 options: *mut core::ffi::c_void,
14406 handler: *mut core::ffi::c_void,
14407 ) -> windows_core::HRESULT {
14408 unsafe {
14409 let this: &Identity =
14410 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14411 ICoreWebView2Environment10_Impl::CreateCoreWebView2ControllerWithOptions(
14412 this,
14413 core::mem::transmute_copy(&parentwindow),
14414 core::mem::transmute_copy(&options),
14415 core::mem::transmute_copy(&handler),
14416 )
14417 .into()
14418 }
14419 }
14420 unsafe extern "system" fn CreateCoreWebView2CompositionControllerWithOptions<
14421 Identity: ICoreWebView2Environment10_Impl,
14422 const OFFSET: isize,
14423 >(
14424 this: *mut core::ffi::c_void,
14425 parentwindow: windows::Win32::Foundation::HWND,
14426 options: *mut core::ffi::c_void,
14427 handler: *mut core::ffi::c_void,
14428 ) -> windows_core::HRESULT {
14429 unsafe {
14430 let this: &Identity =
14431 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14432 ICoreWebView2Environment10_Impl::CreateCoreWebView2CompositionControllerWithOptions(
14433 this,
14434 core::mem::transmute_copy(&parentwindow),
14435 core::mem::transmute_copy(&options),
14436 core::mem::transmute_copy(&handler),
14437 )
14438 .into()
14439 }
14440 }
14441 Self {
14442 base__: ICoreWebView2Environment9_Vtbl::new::<Identity, OFFSET>(),
14443 CreateCoreWebView2ControllerOptions: CreateCoreWebView2ControllerOptions::<
14444 Identity,
14445 OFFSET,
14446 >,
14447 CreateCoreWebView2ControllerWithOptions: CreateCoreWebView2ControllerWithOptions::<
14448 Identity,
14449 OFFSET,
14450 >,
14451 CreateCoreWebView2CompositionControllerWithOptions:
14452 CreateCoreWebView2CompositionControllerWithOptions::<Identity, OFFSET>,
14453 }
14454 }
14455 pub fn matches(iid: &windows_core::GUID) -> bool {
14456 iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
14457 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14458 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
14459 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
14460 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
14461 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
14462 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
14463 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
14464 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
14465 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
14466 }
14467}
14468impl windows_core::RuntimeName for ICoreWebView2Environment10 {}
14469windows_core::imp::define_interface!(
14470 ICoreWebView2Environment11,
14471 ICoreWebView2Environment11_Vtbl,
14472 0xf0913dc6_a0ec_42ef_9805_91dff3a2966a
14473);
14474impl core::ops::Deref for ICoreWebView2Environment11 {
14475 type Target = ICoreWebView2Environment10;
14476 fn deref(&self) -> &Self::Target {
14477 unsafe { core::mem::transmute(self) }
14478 }
14479}
14480windows_core::imp::interface_hierarchy!(
14481 ICoreWebView2Environment11,
14482 windows_core::IUnknown,
14483 ICoreWebView2Environment,
14484 ICoreWebView2Environment2,
14485 ICoreWebView2Environment3,
14486 ICoreWebView2Environment4,
14487 ICoreWebView2Environment5,
14488 ICoreWebView2Environment6,
14489 ICoreWebView2Environment7,
14490 ICoreWebView2Environment8,
14491 ICoreWebView2Environment9,
14492 ICoreWebView2Environment10
14493);
14494impl ICoreWebView2Environment11 {
14495 pub unsafe fn FailureReportFolderPath(
14496 &self,
14497 value: *mut windows_core::PWSTR,
14498 ) -> windows_core::Result<()> {
14499 unsafe {
14500 (windows_core::Interface::vtable(self).FailureReportFolderPath)(
14501 windows_core::Interface::as_raw(self),
14502 value as _,
14503 )
14504 .ok()
14505 }
14506 }
14507}
14508#[repr(C)]
14509#[doc(hidden)]
14510pub struct ICoreWebView2Environment11_Vtbl {
14511 pub base__: ICoreWebView2Environment10_Vtbl,
14512 pub FailureReportFolderPath: unsafe extern "system" fn(
14513 *mut core::ffi::c_void,
14514 *mut windows_core::PWSTR,
14515 ) -> windows_core::HRESULT,
14516}
14517pub trait ICoreWebView2Environment11_Impl: ICoreWebView2Environment10_Impl {
14518 fn FailureReportFolderPath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
14519}
14520impl ICoreWebView2Environment11_Vtbl {
14521 pub const fn new<Identity: ICoreWebView2Environment11_Impl, const OFFSET: isize>() -> Self {
14522 unsafe extern "system" fn FailureReportFolderPath<
14523 Identity: ICoreWebView2Environment11_Impl,
14524 const OFFSET: isize,
14525 >(
14526 this: *mut core::ffi::c_void,
14527 value: *mut windows_core::PWSTR,
14528 ) -> windows_core::HRESULT {
14529 unsafe {
14530 let this: &Identity =
14531 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14532 ICoreWebView2Environment11_Impl::FailureReportFolderPath(
14533 this,
14534 core::mem::transmute_copy(&value),
14535 )
14536 .into()
14537 }
14538 }
14539 Self {
14540 base__: ICoreWebView2Environment10_Vtbl::new::<Identity, OFFSET>(),
14541 FailureReportFolderPath: FailureReportFolderPath::<Identity, OFFSET>,
14542 }
14543 }
14544 pub fn matches(iid: &windows_core::GUID) -> bool {
14545 iid == &<ICoreWebView2Environment11 as windows_core::Interface>::IID
14546 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14547 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
14548 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
14549 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
14550 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
14551 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
14552 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
14553 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
14554 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
14555 || iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
14556 }
14557}
14558impl windows_core::RuntimeName for ICoreWebView2Environment11 {}
14559windows_core::imp::define_interface!(
14560 ICoreWebView2Environment12,
14561 ICoreWebView2Environment12_Vtbl,
14562 0xf503db9b_739f_48dd_b151_fdfcf253f54e
14563);
14564impl core::ops::Deref for ICoreWebView2Environment12 {
14565 type Target = ICoreWebView2Environment11;
14566 fn deref(&self) -> &Self::Target {
14567 unsafe { core::mem::transmute(self) }
14568 }
14569}
14570windows_core::imp::interface_hierarchy!(
14571 ICoreWebView2Environment12,
14572 windows_core::IUnknown,
14573 ICoreWebView2Environment,
14574 ICoreWebView2Environment2,
14575 ICoreWebView2Environment3,
14576 ICoreWebView2Environment4,
14577 ICoreWebView2Environment5,
14578 ICoreWebView2Environment6,
14579 ICoreWebView2Environment7,
14580 ICoreWebView2Environment8,
14581 ICoreWebView2Environment9,
14582 ICoreWebView2Environment10,
14583 ICoreWebView2Environment11
14584);
14585impl ICoreWebView2Environment12 {
14586 pub unsafe fn CreateSharedBuffer(
14587 &self,
14588 size: u64,
14589 ) -> windows_core::Result<ICoreWebView2SharedBuffer> {
14590 unsafe {
14591 let mut result__ = core::mem::zeroed();
14592 (windows_core::Interface::vtable(self).CreateSharedBuffer)(
14593 windows_core::Interface::as_raw(self),
14594 size,
14595 &mut result__,
14596 )
14597 .and_then(|| windows_core::Type::from_abi(result__))
14598 }
14599 }
14600}
14601#[repr(C)]
14602#[doc(hidden)]
14603pub struct ICoreWebView2Environment12_Vtbl {
14604 pub base__: ICoreWebView2Environment11_Vtbl,
14605 pub CreateSharedBuffer: unsafe extern "system" fn(
14606 *mut core::ffi::c_void,
14607 u64,
14608 *mut *mut core::ffi::c_void,
14609 ) -> windows_core::HRESULT,
14610}
14611pub trait ICoreWebView2Environment12_Impl: ICoreWebView2Environment11_Impl {
14612 fn CreateSharedBuffer(&self, size: u64) -> windows_core::Result<ICoreWebView2SharedBuffer>;
14613}
14614impl ICoreWebView2Environment12_Vtbl {
14615 pub const fn new<Identity: ICoreWebView2Environment12_Impl, const OFFSET: isize>() -> Self {
14616 unsafe extern "system" fn CreateSharedBuffer<
14617 Identity: ICoreWebView2Environment12_Impl,
14618 const OFFSET: isize,
14619 >(
14620 this: *mut core::ffi::c_void,
14621 size: u64,
14622 value: *mut *mut core::ffi::c_void,
14623 ) -> windows_core::HRESULT {
14624 unsafe {
14625 let this: &Identity =
14626 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14627 match ICoreWebView2Environment12_Impl::CreateSharedBuffer(
14628 this,
14629 core::mem::transmute_copy(&size),
14630 ) {
14631 Ok(ok__) => {
14632 value.write(core::mem::transmute(ok__));
14633 windows_core::HRESULT(0)
14634 }
14635 Err(err) => err.into(),
14636 }
14637 }
14638 }
14639 Self {
14640 base__: ICoreWebView2Environment11_Vtbl::new::<Identity, OFFSET>(),
14641 CreateSharedBuffer: CreateSharedBuffer::<Identity, OFFSET>,
14642 }
14643 }
14644 pub fn matches(iid: &windows_core::GUID) -> bool {
14645 iid == &<ICoreWebView2Environment12 as windows_core::Interface>::IID
14646 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14647 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
14648 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
14649 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
14650 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
14651 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
14652 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
14653 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
14654 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
14655 || iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
14656 || iid == &<ICoreWebView2Environment11 as windows_core::Interface>::IID
14657 }
14658}
14659impl windows_core::RuntimeName for ICoreWebView2Environment12 {}
14660windows_core::imp::define_interface!(
14661 ICoreWebView2Environment13,
14662 ICoreWebView2Environment13_Vtbl,
14663 0xaf641f58_72b2_11ee_b962_0242ac120002
14664);
14665impl core::ops::Deref for ICoreWebView2Environment13 {
14666 type Target = ICoreWebView2Environment12;
14667 fn deref(&self) -> &Self::Target {
14668 unsafe { core::mem::transmute(self) }
14669 }
14670}
14671windows_core::imp::interface_hierarchy!(
14672 ICoreWebView2Environment13,
14673 windows_core::IUnknown,
14674 ICoreWebView2Environment,
14675 ICoreWebView2Environment2,
14676 ICoreWebView2Environment3,
14677 ICoreWebView2Environment4,
14678 ICoreWebView2Environment5,
14679 ICoreWebView2Environment6,
14680 ICoreWebView2Environment7,
14681 ICoreWebView2Environment8,
14682 ICoreWebView2Environment9,
14683 ICoreWebView2Environment10,
14684 ICoreWebView2Environment11,
14685 ICoreWebView2Environment12
14686);
14687impl ICoreWebView2Environment13 {
14688 pub unsafe fn GetProcessExtendedInfos<P0>(&self, handler: P0) -> windows_core::Result<()>
14689 where
14690 P0: windows_core::Param<ICoreWebView2GetProcessExtendedInfosCompletedHandler>,
14691 {
14692 unsafe {
14693 (windows_core::Interface::vtable(self).GetProcessExtendedInfos)(
14694 windows_core::Interface::as_raw(self),
14695 handler.param().abi(),
14696 )
14697 .ok()
14698 }
14699 }
14700}
14701#[repr(C)]
14702#[doc(hidden)]
14703pub struct ICoreWebView2Environment13_Vtbl {
14704 pub base__: ICoreWebView2Environment12_Vtbl,
14705 pub GetProcessExtendedInfos: unsafe extern "system" fn(
14706 *mut core::ffi::c_void,
14707 *mut core::ffi::c_void,
14708 ) -> windows_core::HRESULT,
14709}
14710pub trait ICoreWebView2Environment13_Impl: ICoreWebView2Environment12_Impl {
14711 fn GetProcessExtendedInfos(
14712 &self,
14713 handler: windows_core::Ref<'_, ICoreWebView2GetProcessExtendedInfosCompletedHandler>,
14714 ) -> windows_core::Result<()>;
14715}
14716impl ICoreWebView2Environment13_Vtbl {
14717 pub const fn new<Identity: ICoreWebView2Environment13_Impl, const OFFSET: isize>() -> Self {
14718 unsafe extern "system" fn GetProcessExtendedInfos<
14719 Identity: ICoreWebView2Environment13_Impl,
14720 const OFFSET: isize,
14721 >(
14722 this: *mut core::ffi::c_void,
14723 handler: *mut core::ffi::c_void,
14724 ) -> windows_core::HRESULT {
14725 unsafe {
14726 let this: &Identity =
14727 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14728 ICoreWebView2Environment13_Impl::GetProcessExtendedInfos(
14729 this,
14730 core::mem::transmute_copy(&handler),
14731 )
14732 .into()
14733 }
14734 }
14735 Self {
14736 base__: ICoreWebView2Environment12_Vtbl::new::<Identity, OFFSET>(),
14737 GetProcessExtendedInfos: GetProcessExtendedInfos::<Identity, OFFSET>,
14738 }
14739 }
14740 pub fn matches(iid: &windows_core::GUID) -> bool {
14741 iid == &<ICoreWebView2Environment13 as windows_core::Interface>::IID
14742 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14743 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
14744 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
14745 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
14746 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
14747 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
14748 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
14749 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
14750 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
14751 || iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
14752 || iid == &<ICoreWebView2Environment11 as windows_core::Interface>::IID
14753 || iid == &<ICoreWebView2Environment12 as windows_core::Interface>::IID
14754 }
14755}
14756impl windows_core::RuntimeName for ICoreWebView2Environment13 {}
14757windows_core::imp::define_interface!(
14758 ICoreWebView2Environment14,
14759 ICoreWebView2Environment14_Vtbl,
14760 0xa5e9fad9_c875_59da_9bd7_473aa5ca1cef
14761);
14762impl core::ops::Deref for ICoreWebView2Environment14 {
14763 type Target = ICoreWebView2Environment13;
14764 fn deref(&self) -> &Self::Target {
14765 unsafe { core::mem::transmute(self) }
14766 }
14767}
14768windows_core::imp::interface_hierarchy!(
14769 ICoreWebView2Environment14,
14770 windows_core::IUnknown,
14771 ICoreWebView2Environment,
14772 ICoreWebView2Environment2,
14773 ICoreWebView2Environment3,
14774 ICoreWebView2Environment4,
14775 ICoreWebView2Environment5,
14776 ICoreWebView2Environment6,
14777 ICoreWebView2Environment7,
14778 ICoreWebView2Environment8,
14779 ICoreWebView2Environment9,
14780 ICoreWebView2Environment10,
14781 ICoreWebView2Environment11,
14782 ICoreWebView2Environment12,
14783 ICoreWebView2Environment13
14784);
14785impl ICoreWebView2Environment14 {
14786 pub unsafe fn CreateWebFileSystemFileHandle<P0>(
14787 &self,
14788 path: P0,
14789 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14790 ) -> windows_core::Result<ICoreWebView2FileSystemHandle>
14791 where
14792 P0: windows_core::Param<windows_core::PCWSTR>,
14793 {
14794 unsafe {
14795 let mut result__ = core::mem::zeroed();
14796 (windows_core::Interface::vtable(self).CreateWebFileSystemFileHandle)(
14797 windows_core::Interface::as_raw(self),
14798 path.param().abi(),
14799 permission,
14800 &mut result__,
14801 )
14802 .and_then(|| windows_core::Type::from_abi(result__))
14803 }
14804 }
14805 pub unsafe fn CreateWebFileSystemDirectoryHandle<P0>(
14806 &self,
14807 path: P0,
14808 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14809 ) -> windows_core::Result<ICoreWebView2FileSystemHandle>
14810 where
14811 P0: windows_core::Param<windows_core::PCWSTR>,
14812 {
14813 unsafe {
14814 let mut result__ = core::mem::zeroed();
14815 (windows_core::Interface::vtable(self).CreateWebFileSystemDirectoryHandle)(
14816 windows_core::Interface::as_raw(self),
14817 path.param().abi(),
14818 permission,
14819 &mut result__,
14820 )
14821 .and_then(|| windows_core::Type::from_abi(result__))
14822 }
14823 }
14824 pub unsafe fn CreateObjectCollection(
14825 &self,
14826 length: u32,
14827 items: *mut Option<windows_core::IUnknown>,
14828 objectcollection: *mut Option<ICoreWebView2ObjectCollection>,
14829 ) -> windows_core::Result<()> {
14830 unsafe {
14831 (windows_core::Interface::vtable(self).CreateObjectCollection)(
14832 windows_core::Interface::as_raw(self),
14833 length,
14834 core::mem::transmute(items),
14835 core::mem::transmute(objectcollection),
14836 )
14837 .ok()
14838 }
14839 }
14840}
14841#[repr(C)]
14842#[doc(hidden)]
14843pub struct ICoreWebView2Environment14_Vtbl {
14844 pub base__: ICoreWebView2Environment13_Vtbl,
14845 pub CreateWebFileSystemFileHandle: unsafe extern "system" fn(
14846 *mut core::ffi::c_void,
14847 windows_core::PCWSTR,
14848 COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14849 *mut *mut core::ffi::c_void,
14850 ) -> windows_core::HRESULT,
14851 pub CreateWebFileSystemDirectoryHandle: unsafe extern "system" fn(
14852 *mut core::ffi::c_void,
14853 windows_core::PCWSTR,
14854 COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14855 *mut *mut core::ffi::c_void,
14856 ) -> windows_core::HRESULT,
14857 pub CreateObjectCollection: unsafe extern "system" fn(
14858 *mut core::ffi::c_void,
14859 u32,
14860 *mut *mut core::ffi::c_void,
14861 *mut *mut core::ffi::c_void,
14862 ) -> windows_core::HRESULT,
14863}
14864pub trait ICoreWebView2Environment14_Impl: ICoreWebView2Environment13_Impl {
14865 fn CreateWebFileSystemFileHandle(
14866 &self,
14867 path: &windows_core::PCWSTR,
14868 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14869 ) -> windows_core::Result<ICoreWebView2FileSystemHandle>;
14870 fn CreateWebFileSystemDirectoryHandle(
14871 &self,
14872 path: &windows_core::PCWSTR,
14873 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14874 ) -> windows_core::Result<ICoreWebView2FileSystemHandle>;
14875 fn CreateObjectCollection(
14876 &self,
14877 length: u32,
14878 items: windows_core::OutRef<'_, windows_core::IUnknown>,
14879 objectcollection: windows_core::OutRef<'_, ICoreWebView2ObjectCollection>,
14880 ) -> windows_core::Result<()>;
14881}
14882impl ICoreWebView2Environment14_Vtbl {
14883 pub const fn new<Identity: ICoreWebView2Environment14_Impl, const OFFSET: isize>() -> Self {
14884 unsafe extern "system" fn CreateWebFileSystemFileHandle<
14885 Identity: ICoreWebView2Environment14_Impl,
14886 const OFFSET: isize,
14887 >(
14888 this: *mut core::ffi::c_void,
14889 path: windows_core::PCWSTR,
14890 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14891 value: *mut *mut core::ffi::c_void,
14892 ) -> windows_core::HRESULT {
14893 unsafe {
14894 let this: &Identity =
14895 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14896 match ICoreWebView2Environment14_Impl::CreateWebFileSystemFileHandle(
14897 this,
14898 core::mem::transmute(&path),
14899 core::mem::transmute_copy(&permission),
14900 ) {
14901 Ok(ok__) => {
14902 value.write(core::mem::transmute(ok__));
14903 windows_core::HRESULT(0)
14904 }
14905 Err(err) => err.into(),
14906 }
14907 }
14908 }
14909 unsafe extern "system" fn CreateWebFileSystemDirectoryHandle<
14910 Identity: ICoreWebView2Environment14_Impl,
14911 const OFFSET: isize,
14912 >(
14913 this: *mut core::ffi::c_void,
14914 path: windows_core::PCWSTR,
14915 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14916 value: *mut *mut core::ffi::c_void,
14917 ) -> windows_core::HRESULT {
14918 unsafe {
14919 let this: &Identity =
14920 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14921 match ICoreWebView2Environment14_Impl::CreateWebFileSystemDirectoryHandle(
14922 this,
14923 core::mem::transmute(&path),
14924 core::mem::transmute_copy(&permission),
14925 ) {
14926 Ok(ok__) => {
14927 value.write(core::mem::transmute(ok__));
14928 windows_core::HRESULT(0)
14929 }
14930 Err(err) => err.into(),
14931 }
14932 }
14933 }
14934 unsafe extern "system" fn CreateObjectCollection<
14935 Identity: ICoreWebView2Environment14_Impl,
14936 const OFFSET: isize,
14937 >(
14938 this: *mut core::ffi::c_void,
14939 length: u32,
14940 items: *mut *mut core::ffi::c_void,
14941 objectcollection: *mut *mut core::ffi::c_void,
14942 ) -> windows_core::HRESULT {
14943 unsafe {
14944 let this: &Identity =
14945 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14946 ICoreWebView2Environment14_Impl::CreateObjectCollection(
14947 this,
14948 core::mem::transmute_copy(&length),
14949 core::mem::transmute_copy(&items),
14950 core::mem::transmute_copy(&objectcollection),
14951 )
14952 .into()
14953 }
14954 }
14955 Self {
14956 base__: ICoreWebView2Environment13_Vtbl::new::<Identity, OFFSET>(),
14957 CreateWebFileSystemFileHandle: CreateWebFileSystemFileHandle::<Identity, OFFSET>,
14958 CreateWebFileSystemDirectoryHandle: CreateWebFileSystemDirectoryHandle::<
14959 Identity,
14960 OFFSET,
14961 >,
14962 CreateObjectCollection: CreateObjectCollection::<Identity, OFFSET>,
14963 }
14964 }
14965 pub fn matches(iid: &windows_core::GUID) -> bool {
14966 iid == &<ICoreWebView2Environment14 as windows_core::Interface>::IID
14967 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14968 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
14969 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
14970 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
14971 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
14972 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
14973 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
14974 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
14975 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
14976 || iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
14977 || iid == &<ICoreWebView2Environment11 as windows_core::Interface>::IID
14978 || iid == &<ICoreWebView2Environment12 as windows_core::Interface>::IID
14979 || iid == &<ICoreWebView2Environment13 as windows_core::Interface>::IID
14980 }
14981}
14982impl windows_core::RuntimeName for ICoreWebView2Environment14 {}
14983windows_core::imp::define_interface!(
14984 ICoreWebView2Environment2,
14985 ICoreWebView2Environment2_Vtbl,
14986 0x41f3632b_5ef4_404f_ad82_2d606c5a9a21
14987);
14988impl core::ops::Deref for ICoreWebView2Environment2 {
14989 type Target = ICoreWebView2Environment;
14990 fn deref(&self) -> &Self::Target {
14991 unsafe { core::mem::transmute(self) }
14992 }
14993}
14994windows_core::imp::interface_hierarchy!(
14995 ICoreWebView2Environment2,
14996 windows_core::IUnknown,
14997 ICoreWebView2Environment
14998);
14999impl ICoreWebView2Environment2 {
15000 pub unsafe fn CreateWebResourceRequest<P0, P1, P2, P3>(
15001 &self,
15002 uri: P0,
15003 method: P1,
15004 postdata: P2,
15005 headers: P3,
15006 ) -> windows_core::Result<ICoreWebView2WebResourceRequest>
15007 where
15008 P0: windows_core::Param<windows_core::PCWSTR>,
15009 P1: windows_core::Param<windows_core::PCWSTR>,
15010 P2: windows_core::Param<windows::Win32::System::Com::IStream>,
15011 P3: windows_core::Param<windows_core::PCWSTR>,
15012 {
15013 unsafe {
15014 let mut result__ = core::mem::zeroed();
15015 (windows_core::Interface::vtable(self).CreateWebResourceRequest)(
15016 windows_core::Interface::as_raw(self),
15017 uri.param().abi(),
15018 method.param().abi(),
15019 postdata.param().abi(),
15020 headers.param().abi(),
15021 &mut result__,
15022 )
15023 .and_then(|| windows_core::Type::from_abi(result__))
15024 }
15025 }
15026}
15027#[repr(C)]
15028#[doc(hidden)]
15029pub struct ICoreWebView2Environment2_Vtbl {
15030 pub base__: ICoreWebView2Environment_Vtbl,
15031 pub CreateWebResourceRequest: unsafe extern "system" fn(
15032 *mut core::ffi::c_void,
15033 windows_core::PCWSTR,
15034 windows_core::PCWSTR,
15035 *mut core::ffi::c_void,
15036 windows_core::PCWSTR,
15037 *mut *mut core::ffi::c_void,
15038 ) -> windows_core::HRESULT,
15039}
15040pub trait ICoreWebView2Environment2_Impl: ICoreWebView2Environment_Impl {
15041 fn CreateWebResourceRequest(
15042 &self,
15043 uri: &windows_core::PCWSTR,
15044 method: &windows_core::PCWSTR,
15045 postdata: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
15046 headers: &windows_core::PCWSTR,
15047 ) -> windows_core::Result<ICoreWebView2WebResourceRequest>;
15048}
15049impl ICoreWebView2Environment2_Vtbl {
15050 pub const fn new<Identity: ICoreWebView2Environment2_Impl, const OFFSET: isize>() -> Self {
15051 unsafe extern "system" fn CreateWebResourceRequest<
15052 Identity: ICoreWebView2Environment2_Impl,
15053 const OFFSET: isize,
15054 >(
15055 this: *mut core::ffi::c_void,
15056 uri: windows_core::PCWSTR,
15057 method: windows_core::PCWSTR,
15058 postdata: *mut core::ffi::c_void,
15059 headers: windows_core::PCWSTR,
15060 value: *mut *mut core::ffi::c_void,
15061 ) -> windows_core::HRESULT {
15062 unsafe {
15063 let this: &Identity =
15064 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15065 match ICoreWebView2Environment2_Impl::CreateWebResourceRequest(
15066 this,
15067 core::mem::transmute(&uri),
15068 core::mem::transmute(&method),
15069 core::mem::transmute_copy(&postdata),
15070 core::mem::transmute(&headers),
15071 ) {
15072 Ok(ok__) => {
15073 value.write(core::mem::transmute(ok__));
15074 windows_core::HRESULT(0)
15075 }
15076 Err(err) => err.into(),
15077 }
15078 }
15079 }
15080 Self {
15081 base__: ICoreWebView2Environment_Vtbl::new::<Identity, OFFSET>(),
15082 CreateWebResourceRequest: CreateWebResourceRequest::<Identity, OFFSET>,
15083 }
15084 }
15085 pub fn matches(iid: &windows_core::GUID) -> bool {
15086 iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15087 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15088 }
15089}
15090impl windows_core::RuntimeName for ICoreWebView2Environment2 {}
15091windows_core::imp::define_interface!(
15092 ICoreWebView2Environment3,
15093 ICoreWebView2Environment3_Vtbl,
15094 0x80a22ae3_be7c_4ce2_afe1_5a50056cdeeb
15095);
15096impl core::ops::Deref for ICoreWebView2Environment3 {
15097 type Target = ICoreWebView2Environment2;
15098 fn deref(&self) -> &Self::Target {
15099 unsafe { core::mem::transmute(self) }
15100 }
15101}
15102windows_core::imp::interface_hierarchy!(
15103 ICoreWebView2Environment3,
15104 windows_core::IUnknown,
15105 ICoreWebView2Environment,
15106 ICoreWebView2Environment2
15107);
15108impl ICoreWebView2Environment3 {
15109 pub unsafe fn CreateCoreWebView2CompositionController<P1>(
15110 &self,
15111 parentwindow: windows::Win32::Foundation::HWND,
15112 handler: P1,
15113 ) -> windows_core::Result<()>
15114 where
15115 P1: windows_core::Param<
15116 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
15117 >,
15118 {
15119 unsafe {
15120 (windows_core::Interface::vtable(self).CreateCoreWebView2CompositionController)(
15121 windows_core::Interface::as_raw(self),
15122 parentwindow,
15123 handler.param().abi(),
15124 )
15125 .ok()
15126 }
15127 }
15128 pub unsafe fn CreateCoreWebView2PointerInfo(
15129 &self,
15130 ) -> windows_core::Result<ICoreWebView2PointerInfo> {
15131 unsafe {
15132 let mut result__ = core::mem::zeroed();
15133 (windows_core::Interface::vtable(self).CreateCoreWebView2PointerInfo)(
15134 windows_core::Interface::as_raw(self),
15135 &mut result__,
15136 )
15137 .and_then(|| windows_core::Type::from_abi(result__))
15138 }
15139 }
15140}
15141#[repr(C)]
15142#[doc(hidden)]
15143pub struct ICoreWebView2Environment3_Vtbl {
15144 pub base__: ICoreWebView2Environment2_Vtbl,
15145 pub CreateCoreWebView2CompositionController: unsafe extern "system" fn(
15146 *mut core::ffi::c_void,
15147 windows::Win32::Foundation::HWND,
15148 *mut core::ffi::c_void,
15149 )
15150 -> windows_core::HRESULT,
15151 pub CreateCoreWebView2PointerInfo: unsafe extern "system" fn(
15152 *mut core::ffi::c_void,
15153 *mut *mut core::ffi::c_void,
15154 ) -> windows_core::HRESULT,
15155}
15156pub trait ICoreWebView2Environment3_Impl: ICoreWebView2Environment2_Impl {
15157 fn CreateCoreWebView2CompositionController(
15158 &self,
15159 parentwindow: windows::Win32::Foundation::HWND,
15160 handler: windows_core::Ref<
15161 '_,
15162 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
15163 >,
15164 ) -> windows_core::Result<()>;
15165 fn CreateCoreWebView2PointerInfo(&self) -> windows_core::Result<ICoreWebView2PointerInfo>;
15166}
15167impl ICoreWebView2Environment3_Vtbl {
15168 pub const fn new<Identity: ICoreWebView2Environment3_Impl, const OFFSET: isize>() -> Self {
15169 unsafe extern "system" fn CreateCoreWebView2CompositionController<
15170 Identity: ICoreWebView2Environment3_Impl,
15171 const OFFSET: isize,
15172 >(
15173 this: *mut core::ffi::c_void,
15174 parentwindow: windows::Win32::Foundation::HWND,
15175 handler: *mut core::ffi::c_void,
15176 ) -> windows_core::HRESULT {
15177 unsafe {
15178 let this: &Identity =
15179 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15180 ICoreWebView2Environment3_Impl::CreateCoreWebView2CompositionController(
15181 this,
15182 core::mem::transmute_copy(&parentwindow),
15183 core::mem::transmute_copy(&handler),
15184 )
15185 .into()
15186 }
15187 }
15188 unsafe extern "system" fn CreateCoreWebView2PointerInfo<
15189 Identity: ICoreWebView2Environment3_Impl,
15190 const OFFSET: isize,
15191 >(
15192 this: *mut core::ffi::c_void,
15193 value: *mut *mut core::ffi::c_void,
15194 ) -> windows_core::HRESULT {
15195 unsafe {
15196 let this: &Identity =
15197 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15198 match ICoreWebView2Environment3_Impl::CreateCoreWebView2PointerInfo(this) {
15199 Ok(ok__) => {
15200 value.write(core::mem::transmute(ok__));
15201 windows_core::HRESULT(0)
15202 }
15203 Err(err) => err.into(),
15204 }
15205 }
15206 }
15207 Self {
15208 base__: ICoreWebView2Environment2_Vtbl::new::<Identity, OFFSET>(),
15209 CreateCoreWebView2CompositionController: CreateCoreWebView2CompositionController::<
15210 Identity,
15211 OFFSET,
15212 >,
15213 CreateCoreWebView2PointerInfo: CreateCoreWebView2PointerInfo::<Identity, OFFSET>,
15214 }
15215 }
15216 pub fn matches(iid: &windows_core::GUID) -> bool {
15217 iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15218 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15219 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15220 }
15221}
15222impl windows_core::RuntimeName for ICoreWebView2Environment3 {}
15223windows_core::imp::define_interface!(
15224 ICoreWebView2Environment4,
15225 ICoreWebView2Environment4_Vtbl,
15226 0x20944379_6dcf_41d6_a0a0_abc0fc50de0d
15227);
15228impl core::ops::Deref for ICoreWebView2Environment4 {
15229 type Target = ICoreWebView2Environment3;
15230 fn deref(&self) -> &Self::Target {
15231 unsafe { core::mem::transmute(self) }
15232 }
15233}
15234windows_core::imp::interface_hierarchy!(
15235 ICoreWebView2Environment4,
15236 windows_core::IUnknown,
15237 ICoreWebView2Environment,
15238 ICoreWebView2Environment2,
15239 ICoreWebView2Environment3
15240);
15241impl ICoreWebView2Environment4 {
15242 pub unsafe fn GetAutomationProviderForWindow(
15243 &self,
15244 hwnd: windows::Win32::Foundation::HWND,
15245 ) -> windows_core::Result<windows_core::IUnknown> {
15246 unsafe {
15247 let mut result__ = core::mem::zeroed();
15248 (windows_core::Interface::vtable(self).GetAutomationProviderForWindow)(
15249 windows_core::Interface::as_raw(self),
15250 hwnd,
15251 &mut result__,
15252 )
15253 .and_then(|| windows_core::Type::from_abi(result__))
15254 }
15255 }
15256}
15257#[repr(C)]
15258#[doc(hidden)]
15259pub struct ICoreWebView2Environment4_Vtbl {
15260 pub base__: ICoreWebView2Environment3_Vtbl,
15261 pub GetAutomationProviderForWindow: unsafe extern "system" fn(
15262 *mut core::ffi::c_void,
15263 windows::Win32::Foundation::HWND,
15264 *mut *mut core::ffi::c_void,
15265 ) -> windows_core::HRESULT,
15266}
15267pub trait ICoreWebView2Environment4_Impl: ICoreWebView2Environment3_Impl {
15268 fn GetAutomationProviderForWindow(
15269 &self,
15270 hwnd: windows::Win32::Foundation::HWND,
15271 ) -> windows_core::Result<windows_core::IUnknown>;
15272}
15273impl ICoreWebView2Environment4_Vtbl {
15274 pub const fn new<Identity: ICoreWebView2Environment4_Impl, const OFFSET: isize>() -> Self {
15275 unsafe extern "system" fn GetAutomationProviderForWindow<
15276 Identity: ICoreWebView2Environment4_Impl,
15277 const OFFSET: isize,
15278 >(
15279 this: *mut core::ffi::c_void,
15280 hwnd: windows::Win32::Foundation::HWND,
15281 value: *mut *mut core::ffi::c_void,
15282 ) -> windows_core::HRESULT {
15283 unsafe {
15284 let this: &Identity =
15285 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15286 match ICoreWebView2Environment4_Impl::GetAutomationProviderForWindow(
15287 this,
15288 core::mem::transmute_copy(&hwnd),
15289 ) {
15290 Ok(ok__) => {
15291 value.write(core::mem::transmute(ok__));
15292 windows_core::HRESULT(0)
15293 }
15294 Err(err) => err.into(),
15295 }
15296 }
15297 }
15298 Self {
15299 base__: ICoreWebView2Environment3_Vtbl::new::<Identity, OFFSET>(),
15300 GetAutomationProviderForWindow: GetAutomationProviderForWindow::<Identity, OFFSET>,
15301 }
15302 }
15303 pub fn matches(iid: &windows_core::GUID) -> bool {
15304 iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15305 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15306 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15307 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15308 }
15309}
15310impl windows_core::RuntimeName for ICoreWebView2Environment4 {}
15311windows_core::imp::define_interface!(
15312 ICoreWebView2Environment5,
15313 ICoreWebView2Environment5_Vtbl,
15314 0x319e423d_e0d7_4b8d_9254_ae9475de9b17
15315);
15316impl core::ops::Deref for ICoreWebView2Environment5 {
15317 type Target = ICoreWebView2Environment4;
15318 fn deref(&self) -> &Self::Target {
15319 unsafe { core::mem::transmute(self) }
15320 }
15321}
15322windows_core::imp::interface_hierarchy!(
15323 ICoreWebView2Environment5,
15324 windows_core::IUnknown,
15325 ICoreWebView2Environment,
15326 ICoreWebView2Environment2,
15327 ICoreWebView2Environment3,
15328 ICoreWebView2Environment4
15329);
15330impl ICoreWebView2Environment5 {
15331 pub unsafe fn add_BrowserProcessExited<P0>(
15332 &self,
15333 eventhandler: P0,
15334 token: *mut i64,
15335 ) -> windows_core::Result<()>
15336 where
15337 P0: windows_core::Param<ICoreWebView2BrowserProcessExitedEventHandler>,
15338 {
15339 unsafe {
15340 (windows_core::Interface::vtable(self).add_BrowserProcessExited)(
15341 windows_core::Interface::as_raw(self),
15342 eventhandler.param().abi(),
15343 token as _,
15344 )
15345 .ok()
15346 }
15347 }
15348 pub unsafe fn remove_BrowserProcessExited(&self, token: i64) -> windows_core::Result<()> {
15349 unsafe {
15350 (windows_core::Interface::vtable(self).remove_BrowserProcessExited)(
15351 windows_core::Interface::as_raw(self),
15352 token,
15353 )
15354 .ok()
15355 }
15356 }
15357}
15358#[repr(C)]
15359#[doc(hidden)]
15360pub struct ICoreWebView2Environment5_Vtbl {
15361 pub base__: ICoreWebView2Environment4_Vtbl,
15362 pub add_BrowserProcessExited: unsafe extern "system" fn(
15363 *mut core::ffi::c_void,
15364 *mut core::ffi::c_void,
15365 *mut i64,
15366 ) -> windows_core::HRESULT,
15367 pub remove_BrowserProcessExited:
15368 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
15369}
15370pub trait ICoreWebView2Environment5_Impl: ICoreWebView2Environment4_Impl {
15371 fn add_BrowserProcessExited(
15372 &self,
15373 eventhandler: windows_core::Ref<'_, ICoreWebView2BrowserProcessExitedEventHandler>,
15374 token: *mut i64,
15375 ) -> windows_core::Result<()>;
15376 fn remove_BrowserProcessExited(&self, token: i64) -> windows_core::Result<()>;
15377}
15378impl ICoreWebView2Environment5_Vtbl {
15379 pub const fn new<Identity: ICoreWebView2Environment5_Impl, const OFFSET: isize>() -> Self {
15380 unsafe extern "system" fn add_BrowserProcessExited<
15381 Identity: ICoreWebView2Environment5_Impl,
15382 const OFFSET: isize,
15383 >(
15384 this: *mut core::ffi::c_void,
15385 eventhandler: *mut core::ffi::c_void,
15386 token: *mut i64,
15387 ) -> windows_core::HRESULT {
15388 unsafe {
15389 let this: &Identity =
15390 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15391 ICoreWebView2Environment5_Impl::add_BrowserProcessExited(
15392 this,
15393 core::mem::transmute_copy(&eventhandler),
15394 core::mem::transmute_copy(&token),
15395 )
15396 .into()
15397 }
15398 }
15399 unsafe extern "system" fn remove_BrowserProcessExited<
15400 Identity: ICoreWebView2Environment5_Impl,
15401 const OFFSET: isize,
15402 >(
15403 this: *mut core::ffi::c_void,
15404 token: i64,
15405 ) -> windows_core::HRESULT {
15406 unsafe {
15407 let this: &Identity =
15408 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15409 ICoreWebView2Environment5_Impl::remove_BrowserProcessExited(
15410 this,
15411 core::mem::transmute_copy(&token),
15412 )
15413 .into()
15414 }
15415 }
15416 Self {
15417 base__: ICoreWebView2Environment4_Vtbl::new::<Identity, OFFSET>(),
15418 add_BrowserProcessExited: add_BrowserProcessExited::<Identity, OFFSET>,
15419 remove_BrowserProcessExited: remove_BrowserProcessExited::<Identity, OFFSET>,
15420 }
15421 }
15422 pub fn matches(iid: &windows_core::GUID) -> bool {
15423 iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15424 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15425 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15426 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15427 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15428 }
15429}
15430impl windows_core::RuntimeName for ICoreWebView2Environment5 {}
15431windows_core::imp::define_interface!(
15432 ICoreWebView2Environment6,
15433 ICoreWebView2Environment6_Vtbl,
15434 0xe59ee362_acbd_4857_9a8e_d3644d9459a9
15435);
15436impl core::ops::Deref for ICoreWebView2Environment6 {
15437 type Target = ICoreWebView2Environment5;
15438 fn deref(&self) -> &Self::Target {
15439 unsafe { core::mem::transmute(self) }
15440 }
15441}
15442windows_core::imp::interface_hierarchy!(
15443 ICoreWebView2Environment6,
15444 windows_core::IUnknown,
15445 ICoreWebView2Environment,
15446 ICoreWebView2Environment2,
15447 ICoreWebView2Environment3,
15448 ICoreWebView2Environment4,
15449 ICoreWebView2Environment5
15450);
15451impl ICoreWebView2Environment6 {
15452 pub unsafe fn CreatePrintSettings(&self) -> windows_core::Result<ICoreWebView2PrintSettings> {
15453 unsafe {
15454 let mut result__ = core::mem::zeroed();
15455 (windows_core::Interface::vtable(self).CreatePrintSettings)(
15456 windows_core::Interface::as_raw(self),
15457 &mut result__,
15458 )
15459 .and_then(|| windows_core::Type::from_abi(result__))
15460 }
15461 }
15462}
15463#[repr(C)]
15464#[doc(hidden)]
15465pub struct ICoreWebView2Environment6_Vtbl {
15466 pub base__: ICoreWebView2Environment5_Vtbl,
15467 pub CreatePrintSettings: unsafe extern "system" fn(
15468 *mut core::ffi::c_void,
15469 *mut *mut core::ffi::c_void,
15470 ) -> windows_core::HRESULT,
15471}
15472pub trait ICoreWebView2Environment6_Impl: ICoreWebView2Environment5_Impl {
15473 fn CreatePrintSettings(&self) -> windows_core::Result<ICoreWebView2PrintSettings>;
15474}
15475impl ICoreWebView2Environment6_Vtbl {
15476 pub const fn new<Identity: ICoreWebView2Environment6_Impl, const OFFSET: isize>() -> Self {
15477 unsafe extern "system" fn CreatePrintSettings<
15478 Identity: ICoreWebView2Environment6_Impl,
15479 const OFFSET: isize,
15480 >(
15481 this: *mut core::ffi::c_void,
15482 value: *mut *mut core::ffi::c_void,
15483 ) -> windows_core::HRESULT {
15484 unsafe {
15485 let this: &Identity =
15486 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15487 match ICoreWebView2Environment6_Impl::CreatePrintSettings(this) {
15488 Ok(ok__) => {
15489 value.write(core::mem::transmute(ok__));
15490 windows_core::HRESULT(0)
15491 }
15492 Err(err) => err.into(),
15493 }
15494 }
15495 }
15496 Self {
15497 base__: ICoreWebView2Environment5_Vtbl::new::<Identity, OFFSET>(),
15498 CreatePrintSettings: CreatePrintSettings::<Identity, OFFSET>,
15499 }
15500 }
15501 pub fn matches(iid: &windows_core::GUID) -> bool {
15502 iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
15503 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15504 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15505 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15506 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15507 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15508 }
15509}
15510impl windows_core::RuntimeName for ICoreWebView2Environment6 {}
15511windows_core::imp::define_interface!(
15512 ICoreWebView2Environment7,
15513 ICoreWebView2Environment7_Vtbl,
15514 0x43c22296_3bbd_43a4_9c00_5c0df6dd29a2
15515);
15516impl core::ops::Deref for ICoreWebView2Environment7 {
15517 type Target = ICoreWebView2Environment6;
15518 fn deref(&self) -> &Self::Target {
15519 unsafe { core::mem::transmute(self) }
15520 }
15521}
15522windows_core::imp::interface_hierarchy!(
15523 ICoreWebView2Environment7,
15524 windows_core::IUnknown,
15525 ICoreWebView2Environment,
15526 ICoreWebView2Environment2,
15527 ICoreWebView2Environment3,
15528 ICoreWebView2Environment4,
15529 ICoreWebView2Environment5,
15530 ICoreWebView2Environment6
15531);
15532impl ICoreWebView2Environment7 {
15533 pub unsafe fn UserDataFolder(
15534 &self,
15535 value: *mut windows_core::PWSTR,
15536 ) -> windows_core::Result<()> {
15537 unsafe {
15538 (windows_core::Interface::vtable(self).UserDataFolder)(
15539 windows_core::Interface::as_raw(self),
15540 value as _,
15541 )
15542 .ok()
15543 }
15544 }
15545}
15546#[repr(C)]
15547#[doc(hidden)]
15548pub struct ICoreWebView2Environment7_Vtbl {
15549 pub base__: ICoreWebView2Environment6_Vtbl,
15550 pub UserDataFolder: unsafe extern "system" fn(
15551 *mut core::ffi::c_void,
15552 *mut windows_core::PWSTR,
15553 ) -> windows_core::HRESULT,
15554}
15555pub trait ICoreWebView2Environment7_Impl: ICoreWebView2Environment6_Impl {
15556 fn UserDataFolder(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
15557}
15558impl ICoreWebView2Environment7_Vtbl {
15559 pub const fn new<Identity: ICoreWebView2Environment7_Impl, const OFFSET: isize>() -> Self {
15560 unsafe extern "system" fn UserDataFolder<
15561 Identity: ICoreWebView2Environment7_Impl,
15562 const OFFSET: isize,
15563 >(
15564 this: *mut core::ffi::c_void,
15565 value: *mut windows_core::PWSTR,
15566 ) -> windows_core::HRESULT {
15567 unsafe {
15568 let this: &Identity =
15569 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15570 ICoreWebView2Environment7_Impl::UserDataFolder(
15571 this,
15572 core::mem::transmute_copy(&value),
15573 )
15574 .into()
15575 }
15576 }
15577 Self {
15578 base__: ICoreWebView2Environment6_Vtbl::new::<Identity, OFFSET>(),
15579 UserDataFolder: UserDataFolder::<Identity, OFFSET>,
15580 }
15581 }
15582 pub fn matches(iid: &windows_core::GUID) -> bool {
15583 iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
15584 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15585 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15586 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15587 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15588 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15589 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
15590 }
15591}
15592impl windows_core::RuntimeName for ICoreWebView2Environment7 {}
15593windows_core::imp::define_interface!(
15594 ICoreWebView2Environment8,
15595 ICoreWebView2Environment8_Vtbl,
15596 0xd6eb91dd_c3d2_45e5_bd29_6dc2bc4de9cf
15597);
15598impl core::ops::Deref for ICoreWebView2Environment8 {
15599 type Target = ICoreWebView2Environment7;
15600 fn deref(&self) -> &Self::Target {
15601 unsafe { core::mem::transmute(self) }
15602 }
15603}
15604windows_core::imp::interface_hierarchy!(
15605 ICoreWebView2Environment8,
15606 windows_core::IUnknown,
15607 ICoreWebView2Environment,
15608 ICoreWebView2Environment2,
15609 ICoreWebView2Environment3,
15610 ICoreWebView2Environment4,
15611 ICoreWebView2Environment5,
15612 ICoreWebView2Environment6,
15613 ICoreWebView2Environment7
15614);
15615impl ICoreWebView2Environment8 {
15616 pub unsafe fn add_ProcessInfosChanged<P0>(
15617 &self,
15618 eventhandler: P0,
15619 token: *mut i64,
15620 ) -> windows_core::Result<()>
15621 where
15622 P0: windows_core::Param<ICoreWebView2ProcessInfosChangedEventHandler>,
15623 {
15624 unsafe {
15625 (windows_core::Interface::vtable(self).add_ProcessInfosChanged)(
15626 windows_core::Interface::as_raw(self),
15627 eventhandler.param().abi(),
15628 token as _,
15629 )
15630 .ok()
15631 }
15632 }
15633 pub unsafe fn remove_ProcessInfosChanged(&self, token: i64) -> windows_core::Result<()> {
15634 unsafe {
15635 (windows_core::Interface::vtable(self).remove_ProcessInfosChanged)(
15636 windows_core::Interface::as_raw(self),
15637 token,
15638 )
15639 .ok()
15640 }
15641 }
15642 pub unsafe fn GetProcessInfos(
15643 &self,
15644 ) -> windows_core::Result<ICoreWebView2ProcessInfoCollection> {
15645 unsafe {
15646 let mut result__ = core::mem::zeroed();
15647 (windows_core::Interface::vtable(self).GetProcessInfos)(
15648 windows_core::Interface::as_raw(self),
15649 &mut result__,
15650 )
15651 .and_then(|| windows_core::Type::from_abi(result__))
15652 }
15653 }
15654}
15655#[repr(C)]
15656#[doc(hidden)]
15657pub struct ICoreWebView2Environment8_Vtbl {
15658 pub base__: ICoreWebView2Environment7_Vtbl,
15659 pub add_ProcessInfosChanged: unsafe extern "system" fn(
15660 *mut core::ffi::c_void,
15661 *mut core::ffi::c_void,
15662 *mut i64,
15663 ) -> windows_core::HRESULT,
15664 pub remove_ProcessInfosChanged:
15665 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
15666 pub GetProcessInfos: unsafe extern "system" fn(
15667 *mut core::ffi::c_void,
15668 *mut *mut core::ffi::c_void,
15669 ) -> windows_core::HRESULT,
15670}
15671pub trait ICoreWebView2Environment8_Impl: ICoreWebView2Environment7_Impl {
15672 fn add_ProcessInfosChanged(
15673 &self,
15674 eventhandler: windows_core::Ref<'_, ICoreWebView2ProcessInfosChangedEventHandler>,
15675 token: *mut i64,
15676 ) -> windows_core::Result<()>;
15677 fn remove_ProcessInfosChanged(&self, token: i64) -> windows_core::Result<()>;
15678 fn GetProcessInfos(&self) -> windows_core::Result<ICoreWebView2ProcessInfoCollection>;
15679}
15680impl ICoreWebView2Environment8_Vtbl {
15681 pub const fn new<Identity: ICoreWebView2Environment8_Impl, const OFFSET: isize>() -> Self {
15682 unsafe extern "system" fn add_ProcessInfosChanged<
15683 Identity: ICoreWebView2Environment8_Impl,
15684 const OFFSET: isize,
15685 >(
15686 this: *mut core::ffi::c_void,
15687 eventhandler: *mut core::ffi::c_void,
15688 token: *mut i64,
15689 ) -> windows_core::HRESULT {
15690 unsafe {
15691 let this: &Identity =
15692 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15693 ICoreWebView2Environment8_Impl::add_ProcessInfosChanged(
15694 this,
15695 core::mem::transmute_copy(&eventhandler),
15696 core::mem::transmute_copy(&token),
15697 )
15698 .into()
15699 }
15700 }
15701 unsafe extern "system" fn remove_ProcessInfosChanged<
15702 Identity: ICoreWebView2Environment8_Impl,
15703 const OFFSET: isize,
15704 >(
15705 this: *mut core::ffi::c_void,
15706 token: i64,
15707 ) -> windows_core::HRESULT {
15708 unsafe {
15709 let this: &Identity =
15710 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15711 ICoreWebView2Environment8_Impl::remove_ProcessInfosChanged(
15712 this,
15713 core::mem::transmute_copy(&token),
15714 )
15715 .into()
15716 }
15717 }
15718 unsafe extern "system" fn GetProcessInfos<
15719 Identity: ICoreWebView2Environment8_Impl,
15720 const OFFSET: isize,
15721 >(
15722 this: *mut core::ffi::c_void,
15723 value: *mut *mut core::ffi::c_void,
15724 ) -> windows_core::HRESULT {
15725 unsafe {
15726 let this: &Identity =
15727 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15728 match ICoreWebView2Environment8_Impl::GetProcessInfos(this) {
15729 Ok(ok__) => {
15730 value.write(core::mem::transmute(ok__));
15731 windows_core::HRESULT(0)
15732 }
15733 Err(err) => err.into(),
15734 }
15735 }
15736 }
15737 Self {
15738 base__: ICoreWebView2Environment7_Vtbl::new::<Identity, OFFSET>(),
15739 add_ProcessInfosChanged: add_ProcessInfosChanged::<Identity, OFFSET>,
15740 remove_ProcessInfosChanged: remove_ProcessInfosChanged::<Identity, OFFSET>,
15741 GetProcessInfos: GetProcessInfos::<Identity, OFFSET>,
15742 }
15743 }
15744 pub fn matches(iid: &windows_core::GUID) -> bool {
15745 iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
15746 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15747 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15748 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15749 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15750 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15751 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
15752 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
15753 }
15754}
15755impl windows_core::RuntimeName for ICoreWebView2Environment8 {}
15756windows_core::imp::define_interface!(
15757 ICoreWebView2Environment9,
15758 ICoreWebView2Environment9_Vtbl,
15759 0xf06f41bf_4b5a_49d8_b9f6_fa16cd29f274
15760);
15761impl core::ops::Deref for ICoreWebView2Environment9 {
15762 type Target = ICoreWebView2Environment8;
15763 fn deref(&self) -> &Self::Target {
15764 unsafe { core::mem::transmute(self) }
15765 }
15766}
15767windows_core::imp::interface_hierarchy!(
15768 ICoreWebView2Environment9,
15769 windows_core::IUnknown,
15770 ICoreWebView2Environment,
15771 ICoreWebView2Environment2,
15772 ICoreWebView2Environment3,
15773 ICoreWebView2Environment4,
15774 ICoreWebView2Environment5,
15775 ICoreWebView2Environment6,
15776 ICoreWebView2Environment7,
15777 ICoreWebView2Environment8
15778);
15779impl ICoreWebView2Environment9 {
15780 pub unsafe fn CreateContextMenuItem<P0, P1>(
15781 &self,
15782 label: P0,
15783 iconstream: P1,
15784 kind: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
15785 ) -> windows_core::Result<ICoreWebView2ContextMenuItem>
15786 where
15787 P0: windows_core::Param<windows_core::PCWSTR>,
15788 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
15789 {
15790 unsafe {
15791 let mut result__ = core::mem::zeroed();
15792 (windows_core::Interface::vtable(self).CreateContextMenuItem)(
15793 windows_core::Interface::as_raw(self),
15794 label.param().abi(),
15795 iconstream.param().abi(),
15796 kind,
15797 &mut result__,
15798 )
15799 .and_then(|| windows_core::Type::from_abi(result__))
15800 }
15801 }
15802}
15803#[repr(C)]
15804#[doc(hidden)]
15805pub struct ICoreWebView2Environment9_Vtbl {
15806 pub base__: ICoreWebView2Environment8_Vtbl,
15807 pub CreateContextMenuItem: unsafe extern "system" fn(
15808 *mut core::ffi::c_void,
15809 windows_core::PCWSTR,
15810 *mut core::ffi::c_void,
15811 COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
15812 *mut *mut core::ffi::c_void,
15813 ) -> windows_core::HRESULT,
15814}
15815pub trait ICoreWebView2Environment9_Impl: ICoreWebView2Environment8_Impl {
15816 fn CreateContextMenuItem(
15817 &self,
15818 label: &windows_core::PCWSTR,
15819 iconstream: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
15820 kind: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
15821 ) -> windows_core::Result<ICoreWebView2ContextMenuItem>;
15822}
15823impl ICoreWebView2Environment9_Vtbl {
15824 pub const fn new<Identity: ICoreWebView2Environment9_Impl, const OFFSET: isize>() -> Self {
15825 unsafe extern "system" fn CreateContextMenuItem<
15826 Identity: ICoreWebView2Environment9_Impl,
15827 const OFFSET: isize,
15828 >(
15829 this: *mut core::ffi::c_void,
15830 label: windows_core::PCWSTR,
15831 iconstream: *mut core::ffi::c_void,
15832 kind: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
15833 value: *mut *mut core::ffi::c_void,
15834 ) -> windows_core::HRESULT {
15835 unsafe {
15836 let this: &Identity =
15837 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15838 match ICoreWebView2Environment9_Impl::CreateContextMenuItem(
15839 this,
15840 core::mem::transmute(&label),
15841 core::mem::transmute_copy(&iconstream),
15842 core::mem::transmute_copy(&kind),
15843 ) {
15844 Ok(ok__) => {
15845 value.write(core::mem::transmute(ok__));
15846 windows_core::HRESULT(0)
15847 }
15848 Err(err) => err.into(),
15849 }
15850 }
15851 }
15852 Self {
15853 base__: ICoreWebView2Environment8_Vtbl::new::<Identity, OFFSET>(),
15854 CreateContextMenuItem: CreateContextMenuItem::<Identity, OFFSET>,
15855 }
15856 }
15857 pub fn matches(iid: &windows_core::GUID) -> bool {
15858 iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
15859 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15860 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15861 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15862 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15863 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15864 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
15865 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
15866 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
15867 }
15868}
15869impl windows_core::RuntimeName for ICoreWebView2Environment9 {}
15870windows_core::imp::define_interface!(
15871 ICoreWebView2EnvironmentOptions,
15872 ICoreWebView2EnvironmentOptions_Vtbl,
15873 0x2fde08a8_1e9a_4766_8c05_95a9ceb9d1c5
15874);
15875windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions, windows_core::IUnknown);
15876impl ICoreWebView2EnvironmentOptions {
15877 pub unsafe fn AdditionalBrowserArguments(
15878 &self,
15879 value: *mut windows_core::PWSTR,
15880 ) -> windows_core::Result<()> {
15881 unsafe {
15882 (windows_core::Interface::vtable(self).AdditionalBrowserArguments)(
15883 windows_core::Interface::as_raw(self),
15884 value as _,
15885 )
15886 .ok()
15887 }
15888 }
15889 pub unsafe fn SetAdditionalBrowserArguments<P0>(&self, value: P0) -> windows_core::Result<()>
15890 where
15891 P0: windows_core::Param<windows_core::PCWSTR>,
15892 {
15893 unsafe {
15894 (windows_core::Interface::vtable(self).SetAdditionalBrowserArguments)(
15895 windows_core::Interface::as_raw(self),
15896 value.param().abi(),
15897 )
15898 .ok()
15899 }
15900 }
15901 pub unsafe fn Language(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
15902 unsafe {
15903 (windows_core::Interface::vtable(self).Language)(
15904 windows_core::Interface::as_raw(self),
15905 value as _,
15906 )
15907 .ok()
15908 }
15909 }
15910 pub unsafe fn SetLanguage<P0>(&self, value: P0) -> windows_core::Result<()>
15911 where
15912 P0: windows_core::Param<windows_core::PCWSTR>,
15913 {
15914 unsafe {
15915 (windows_core::Interface::vtable(self).SetLanguage)(
15916 windows_core::Interface::as_raw(self),
15917 value.param().abi(),
15918 )
15919 .ok()
15920 }
15921 }
15922 pub unsafe fn TargetCompatibleBrowserVersion(
15923 &self,
15924 value: *mut windows_core::PWSTR,
15925 ) -> windows_core::Result<()> {
15926 unsafe {
15927 (windows_core::Interface::vtable(self).TargetCompatibleBrowserVersion)(
15928 windows_core::Interface::as_raw(self),
15929 value as _,
15930 )
15931 .ok()
15932 }
15933 }
15934 pub unsafe fn SetTargetCompatibleBrowserVersion<P0>(
15935 &self,
15936 value: P0,
15937 ) -> windows_core::Result<()>
15938 where
15939 P0: windows_core::Param<windows_core::PCWSTR>,
15940 {
15941 unsafe {
15942 (windows_core::Interface::vtable(self).SetTargetCompatibleBrowserVersion)(
15943 windows_core::Interface::as_raw(self),
15944 value.param().abi(),
15945 )
15946 .ok()
15947 }
15948 }
15949 pub unsafe fn AllowSingleSignOnUsingOSPrimaryAccount(
15950 &self,
15951 allow: *mut windows_core::BOOL,
15952 ) -> windows_core::Result<()> {
15953 unsafe {
15954 (windows_core::Interface::vtable(self).AllowSingleSignOnUsingOSPrimaryAccount)(
15955 windows_core::Interface::as_raw(self),
15956 allow as _,
15957 )
15958 .ok()
15959 }
15960 }
15961 pub unsafe fn SetAllowSingleSignOnUsingOSPrimaryAccount(
15962 &self,
15963 allow: bool,
15964 ) -> windows_core::Result<()> {
15965 unsafe {
15966 (windows_core::Interface::vtable(self).SetAllowSingleSignOnUsingOSPrimaryAccount)(
15967 windows_core::Interface::as_raw(self),
15968 allow.into(),
15969 )
15970 .ok()
15971 }
15972 }
15973}
15974#[repr(C)]
15975#[doc(hidden)]
15976pub struct ICoreWebView2EnvironmentOptions_Vtbl {
15977 pub base__: windows_core::IUnknown_Vtbl,
15978 pub AdditionalBrowserArguments: unsafe extern "system" fn(
15979 *mut core::ffi::c_void,
15980 *mut windows_core::PWSTR,
15981 ) -> windows_core::HRESULT,
15982 pub SetAdditionalBrowserArguments: unsafe extern "system" fn(
15983 *mut core::ffi::c_void,
15984 windows_core::PCWSTR,
15985 ) -> windows_core::HRESULT,
15986 pub Language: unsafe extern "system" fn(
15987 *mut core::ffi::c_void,
15988 *mut windows_core::PWSTR,
15989 ) -> windows_core::HRESULT,
15990 pub SetLanguage: unsafe extern "system" fn(
15991 *mut core::ffi::c_void,
15992 windows_core::PCWSTR,
15993 ) -> windows_core::HRESULT,
15994 pub TargetCompatibleBrowserVersion: unsafe extern "system" fn(
15995 *mut core::ffi::c_void,
15996 *mut windows_core::PWSTR,
15997 ) -> windows_core::HRESULT,
15998 pub SetTargetCompatibleBrowserVersion: unsafe extern "system" fn(
15999 *mut core::ffi::c_void,
16000 windows_core::PCWSTR,
16001 ) -> windows_core::HRESULT,
16002 pub AllowSingleSignOnUsingOSPrimaryAccount: unsafe extern "system" fn(
16003 *mut core::ffi::c_void,
16004 *mut windows_core::BOOL,
16005 )
16006 -> windows_core::HRESULT,
16007 pub SetAllowSingleSignOnUsingOSPrimaryAccount:
16008 unsafe extern "system" fn(
16009 *mut core::ffi::c_void,
16010 windows_core::BOOL,
16011 ) -> windows_core::HRESULT,
16012}
16013pub trait ICoreWebView2EnvironmentOptions_Impl: windows_core::IUnknownImpl {
16014 fn AdditionalBrowserArguments(
16015 &self,
16016 value: *mut windows_core::PWSTR,
16017 ) -> windows_core::Result<()>;
16018 fn SetAdditionalBrowserArguments(
16019 &self,
16020 value: &windows_core::PCWSTR,
16021 ) -> windows_core::Result<()>;
16022 fn Language(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
16023 fn SetLanguage(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
16024 fn TargetCompatibleBrowserVersion(
16025 &self,
16026 value: *mut windows_core::PWSTR,
16027 ) -> windows_core::Result<()>;
16028 fn SetTargetCompatibleBrowserVersion(
16029 &self,
16030 value: &windows_core::PCWSTR,
16031 ) -> windows_core::Result<()>;
16032 fn AllowSingleSignOnUsingOSPrimaryAccount(
16033 &self,
16034 allow: *mut windows_core::BOOL,
16035 ) -> windows_core::Result<()>;
16036 fn SetAllowSingleSignOnUsingOSPrimaryAccount(
16037 &self,
16038 allow: windows_core::BOOL,
16039 ) -> windows_core::Result<()>;
16040}
16041impl ICoreWebView2EnvironmentOptions_Vtbl {
16042 pub const fn new<Identity: ICoreWebView2EnvironmentOptions_Impl, const OFFSET: isize>() -> Self
16043 {
16044 unsafe extern "system" fn AdditionalBrowserArguments<
16045 Identity: ICoreWebView2EnvironmentOptions_Impl,
16046 const OFFSET: isize,
16047 >(
16048 this: *mut core::ffi::c_void,
16049 value: *mut windows_core::PWSTR,
16050 ) -> windows_core::HRESULT {
16051 unsafe {
16052 let this: &Identity =
16053 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16054 ICoreWebView2EnvironmentOptions_Impl::AdditionalBrowserArguments(
16055 this,
16056 core::mem::transmute_copy(&value),
16057 )
16058 .into()
16059 }
16060 }
16061 unsafe extern "system" fn SetAdditionalBrowserArguments<
16062 Identity: ICoreWebView2EnvironmentOptions_Impl,
16063 const OFFSET: isize,
16064 >(
16065 this: *mut core::ffi::c_void,
16066 value: windows_core::PCWSTR,
16067 ) -> windows_core::HRESULT {
16068 unsafe {
16069 let this: &Identity =
16070 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16071 ICoreWebView2EnvironmentOptions_Impl::SetAdditionalBrowserArguments(
16072 this,
16073 core::mem::transmute(&value),
16074 )
16075 .into()
16076 }
16077 }
16078 unsafe extern "system" fn Language<
16079 Identity: ICoreWebView2EnvironmentOptions_Impl,
16080 const OFFSET: isize,
16081 >(
16082 this: *mut core::ffi::c_void,
16083 value: *mut windows_core::PWSTR,
16084 ) -> windows_core::HRESULT {
16085 unsafe {
16086 let this: &Identity =
16087 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16088 ICoreWebView2EnvironmentOptions_Impl::Language(
16089 this,
16090 core::mem::transmute_copy(&value),
16091 )
16092 .into()
16093 }
16094 }
16095 unsafe extern "system" fn SetLanguage<
16096 Identity: ICoreWebView2EnvironmentOptions_Impl,
16097 const OFFSET: isize,
16098 >(
16099 this: *mut core::ffi::c_void,
16100 value: windows_core::PCWSTR,
16101 ) -> windows_core::HRESULT {
16102 unsafe {
16103 let this: &Identity =
16104 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16105 ICoreWebView2EnvironmentOptions_Impl::SetLanguage(
16106 this,
16107 core::mem::transmute(&value),
16108 )
16109 .into()
16110 }
16111 }
16112 unsafe extern "system" fn TargetCompatibleBrowserVersion<
16113 Identity: ICoreWebView2EnvironmentOptions_Impl,
16114 const OFFSET: isize,
16115 >(
16116 this: *mut core::ffi::c_void,
16117 value: *mut windows_core::PWSTR,
16118 ) -> windows_core::HRESULT {
16119 unsafe {
16120 let this: &Identity =
16121 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16122 ICoreWebView2EnvironmentOptions_Impl::TargetCompatibleBrowserVersion(
16123 this,
16124 core::mem::transmute_copy(&value),
16125 )
16126 .into()
16127 }
16128 }
16129 unsafe extern "system" fn SetTargetCompatibleBrowserVersion<
16130 Identity: ICoreWebView2EnvironmentOptions_Impl,
16131 const OFFSET: isize,
16132 >(
16133 this: *mut core::ffi::c_void,
16134 value: windows_core::PCWSTR,
16135 ) -> windows_core::HRESULT {
16136 unsafe {
16137 let this: &Identity =
16138 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16139 ICoreWebView2EnvironmentOptions_Impl::SetTargetCompatibleBrowserVersion(
16140 this,
16141 core::mem::transmute(&value),
16142 )
16143 .into()
16144 }
16145 }
16146 unsafe extern "system" fn AllowSingleSignOnUsingOSPrimaryAccount<
16147 Identity: ICoreWebView2EnvironmentOptions_Impl,
16148 const OFFSET: isize,
16149 >(
16150 this: *mut core::ffi::c_void,
16151 allow: *mut windows_core::BOOL,
16152 ) -> windows_core::HRESULT {
16153 unsafe {
16154 let this: &Identity =
16155 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16156 ICoreWebView2EnvironmentOptions_Impl::AllowSingleSignOnUsingOSPrimaryAccount(
16157 this,
16158 core::mem::transmute_copy(&allow),
16159 )
16160 .into()
16161 }
16162 }
16163 unsafe extern "system" fn SetAllowSingleSignOnUsingOSPrimaryAccount<
16164 Identity: ICoreWebView2EnvironmentOptions_Impl,
16165 const OFFSET: isize,
16166 >(
16167 this: *mut core::ffi::c_void,
16168 allow: windows_core::BOOL,
16169 ) -> windows_core::HRESULT {
16170 unsafe {
16171 let this: &Identity =
16172 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16173 ICoreWebView2EnvironmentOptions_Impl::SetAllowSingleSignOnUsingOSPrimaryAccount(
16174 this,
16175 core::mem::transmute_copy(&allow),
16176 )
16177 .into()
16178 }
16179 }
16180 Self {
16181 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16182 AdditionalBrowserArguments: AdditionalBrowserArguments::<Identity, OFFSET>,
16183 SetAdditionalBrowserArguments: SetAdditionalBrowserArguments::<Identity, OFFSET>,
16184 Language: Language::<Identity, OFFSET>,
16185 SetLanguage: SetLanguage::<Identity, OFFSET>,
16186 TargetCompatibleBrowserVersion: TargetCompatibleBrowserVersion::<Identity, OFFSET>,
16187 SetTargetCompatibleBrowserVersion: SetTargetCompatibleBrowserVersion::<Identity, OFFSET>,
16188 AllowSingleSignOnUsingOSPrimaryAccount: AllowSingleSignOnUsingOSPrimaryAccount::<
16189 Identity,
16190 OFFSET,
16191 >,
16192 SetAllowSingleSignOnUsingOSPrimaryAccount: SetAllowSingleSignOnUsingOSPrimaryAccount::<
16193 Identity,
16194 OFFSET,
16195 >,
16196 }
16197 }
16198 pub fn matches(iid: &windows_core::GUID) -> bool {
16199 iid == &<ICoreWebView2EnvironmentOptions as windows_core::Interface>::IID
16200 }
16201}
16202impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions {}
16203windows_core::imp::define_interface!(
16204 ICoreWebView2EnvironmentOptions2,
16205 ICoreWebView2EnvironmentOptions2_Vtbl,
16206 0xff85c98a_1ba7_4a6b_90c8_2b752c89e9e2
16207);
16208windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions2, windows_core::IUnknown);
16209impl ICoreWebView2EnvironmentOptions2 {
16210 pub unsafe fn ExclusiveUserDataFolderAccess(
16211 &self,
16212 value: *mut windows_core::BOOL,
16213 ) -> windows_core::Result<()> {
16214 unsafe {
16215 (windows_core::Interface::vtable(self).ExclusiveUserDataFolderAccess)(
16216 windows_core::Interface::as_raw(self),
16217 value as _,
16218 )
16219 .ok()
16220 }
16221 }
16222 pub unsafe fn SetExclusiveUserDataFolderAccess(&self, value: bool) -> windows_core::Result<()> {
16223 unsafe {
16224 (windows_core::Interface::vtable(self).SetExclusiveUserDataFolderAccess)(
16225 windows_core::Interface::as_raw(self),
16226 value.into(),
16227 )
16228 .ok()
16229 }
16230 }
16231}
16232#[repr(C)]
16233#[doc(hidden)]
16234pub struct ICoreWebView2EnvironmentOptions2_Vtbl {
16235 pub base__: windows_core::IUnknown_Vtbl,
16236 pub ExclusiveUserDataFolderAccess: unsafe extern "system" fn(
16237 *mut core::ffi::c_void,
16238 *mut windows_core::BOOL,
16239 ) -> windows_core::HRESULT,
16240 pub SetExclusiveUserDataFolderAccess: unsafe extern "system" fn(
16241 *mut core::ffi::c_void,
16242 windows_core::BOOL,
16243 ) -> windows_core::HRESULT,
16244}
16245pub trait ICoreWebView2EnvironmentOptions2_Impl: windows_core::IUnknownImpl {
16246 fn ExclusiveUserDataFolderAccess(
16247 &self,
16248 value: *mut windows_core::BOOL,
16249 ) -> windows_core::Result<()>;
16250 fn SetExclusiveUserDataFolderAccess(
16251 &self,
16252 value: windows_core::BOOL,
16253 ) -> windows_core::Result<()>;
16254}
16255impl ICoreWebView2EnvironmentOptions2_Vtbl {
16256 pub const fn new<Identity: ICoreWebView2EnvironmentOptions2_Impl, const OFFSET: isize>() -> Self
16257 {
16258 unsafe extern "system" fn ExclusiveUserDataFolderAccess<
16259 Identity: ICoreWebView2EnvironmentOptions2_Impl,
16260 const OFFSET: isize,
16261 >(
16262 this: *mut core::ffi::c_void,
16263 value: *mut windows_core::BOOL,
16264 ) -> windows_core::HRESULT {
16265 unsafe {
16266 let this: &Identity =
16267 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16268 ICoreWebView2EnvironmentOptions2_Impl::ExclusiveUserDataFolderAccess(
16269 this,
16270 core::mem::transmute_copy(&value),
16271 )
16272 .into()
16273 }
16274 }
16275 unsafe extern "system" fn SetExclusiveUserDataFolderAccess<
16276 Identity: ICoreWebView2EnvironmentOptions2_Impl,
16277 const OFFSET: isize,
16278 >(
16279 this: *mut core::ffi::c_void,
16280 value: windows_core::BOOL,
16281 ) -> windows_core::HRESULT {
16282 unsafe {
16283 let this: &Identity =
16284 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16285 ICoreWebView2EnvironmentOptions2_Impl::SetExclusiveUserDataFolderAccess(
16286 this,
16287 core::mem::transmute_copy(&value),
16288 )
16289 .into()
16290 }
16291 }
16292 Self {
16293 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16294 ExclusiveUserDataFolderAccess: ExclusiveUserDataFolderAccess::<Identity, OFFSET>,
16295 SetExclusiveUserDataFolderAccess: SetExclusiveUserDataFolderAccess::<Identity, OFFSET>,
16296 }
16297 }
16298 pub fn matches(iid: &windows_core::GUID) -> bool {
16299 iid == &<ICoreWebView2EnvironmentOptions2 as windows_core::Interface>::IID
16300 }
16301}
16302impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions2 {}
16303windows_core::imp::define_interface!(
16304 ICoreWebView2EnvironmentOptions3,
16305 ICoreWebView2EnvironmentOptions3_Vtbl,
16306 0x4a5c436e_a9e3_4a2e_89c3_910d3513f5cc
16307);
16308windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions3, windows_core::IUnknown);
16309impl ICoreWebView2EnvironmentOptions3 {
16310 pub unsafe fn IsCustomCrashReportingEnabled(
16311 &self,
16312 value: *mut windows_core::BOOL,
16313 ) -> windows_core::Result<()> {
16314 unsafe {
16315 (windows_core::Interface::vtable(self).IsCustomCrashReportingEnabled)(
16316 windows_core::Interface::as_raw(self),
16317 value as _,
16318 )
16319 .ok()
16320 }
16321 }
16322 pub unsafe fn SetIsCustomCrashReportingEnabled(&self, value: bool) -> windows_core::Result<()> {
16323 unsafe {
16324 (windows_core::Interface::vtable(self).SetIsCustomCrashReportingEnabled)(
16325 windows_core::Interface::as_raw(self),
16326 value.into(),
16327 )
16328 .ok()
16329 }
16330 }
16331}
16332#[repr(C)]
16333#[doc(hidden)]
16334pub struct ICoreWebView2EnvironmentOptions3_Vtbl {
16335 pub base__: windows_core::IUnknown_Vtbl,
16336 pub IsCustomCrashReportingEnabled: unsafe extern "system" fn(
16337 *mut core::ffi::c_void,
16338 *mut windows_core::BOOL,
16339 ) -> windows_core::HRESULT,
16340 pub SetIsCustomCrashReportingEnabled: unsafe extern "system" fn(
16341 *mut core::ffi::c_void,
16342 windows_core::BOOL,
16343 ) -> windows_core::HRESULT,
16344}
16345pub trait ICoreWebView2EnvironmentOptions3_Impl: windows_core::IUnknownImpl {
16346 fn IsCustomCrashReportingEnabled(
16347 &self,
16348 value: *mut windows_core::BOOL,
16349 ) -> windows_core::Result<()>;
16350 fn SetIsCustomCrashReportingEnabled(
16351 &self,
16352 value: windows_core::BOOL,
16353 ) -> windows_core::Result<()>;
16354}
16355impl ICoreWebView2EnvironmentOptions3_Vtbl {
16356 pub const fn new<Identity: ICoreWebView2EnvironmentOptions3_Impl, const OFFSET: isize>() -> Self
16357 {
16358 unsafe extern "system" fn IsCustomCrashReportingEnabled<
16359 Identity: ICoreWebView2EnvironmentOptions3_Impl,
16360 const OFFSET: isize,
16361 >(
16362 this: *mut core::ffi::c_void,
16363 value: *mut windows_core::BOOL,
16364 ) -> windows_core::HRESULT {
16365 unsafe {
16366 let this: &Identity =
16367 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16368 ICoreWebView2EnvironmentOptions3_Impl::IsCustomCrashReportingEnabled(
16369 this,
16370 core::mem::transmute_copy(&value),
16371 )
16372 .into()
16373 }
16374 }
16375 unsafe extern "system" fn SetIsCustomCrashReportingEnabled<
16376 Identity: ICoreWebView2EnvironmentOptions3_Impl,
16377 const OFFSET: isize,
16378 >(
16379 this: *mut core::ffi::c_void,
16380 value: windows_core::BOOL,
16381 ) -> windows_core::HRESULT {
16382 unsafe {
16383 let this: &Identity =
16384 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16385 ICoreWebView2EnvironmentOptions3_Impl::SetIsCustomCrashReportingEnabled(
16386 this,
16387 core::mem::transmute_copy(&value),
16388 )
16389 .into()
16390 }
16391 }
16392 Self {
16393 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16394 IsCustomCrashReportingEnabled: IsCustomCrashReportingEnabled::<Identity, OFFSET>,
16395 SetIsCustomCrashReportingEnabled: SetIsCustomCrashReportingEnabled::<Identity, OFFSET>,
16396 }
16397 }
16398 pub fn matches(iid: &windows_core::GUID) -> bool {
16399 iid == &<ICoreWebView2EnvironmentOptions3 as windows_core::Interface>::IID
16400 }
16401}
16402impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions3 {}
16403windows_core::imp::define_interface!(
16404 ICoreWebView2EnvironmentOptions4,
16405 ICoreWebView2EnvironmentOptions4_Vtbl,
16406 0xac52d13f_0d38_475a_9dca_876580d6793e
16407);
16408windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions4, windows_core::IUnknown);
16409impl ICoreWebView2EnvironmentOptions4 {
16410 pub unsafe fn GetCustomSchemeRegistrations(
16411 &self,
16412 count: *mut u32,
16413 schemeregistrations: *mut *mut Option<ICoreWebView2CustomSchemeRegistration>,
16414 ) -> windows_core::Result<()> {
16415 unsafe {
16416 (windows_core::Interface::vtable(self).GetCustomSchemeRegistrations)(
16417 windows_core::Interface::as_raw(self),
16418 count as _,
16419 schemeregistrations as _,
16420 )
16421 .ok()
16422 }
16423 }
16424 pub unsafe fn SetCustomSchemeRegistrations(
16425 &self,
16426 count: u32,
16427 ) -> windows_core::Result<ICoreWebView2CustomSchemeRegistration> {
16428 unsafe {
16429 let mut result__ = core::mem::zeroed();
16430 (windows_core::Interface::vtable(self).SetCustomSchemeRegistrations)(
16431 windows_core::Interface::as_raw(self),
16432 count,
16433 &mut result__,
16434 )
16435 .and_then(|| windows_core::Type::from_abi(result__))
16436 }
16437 }
16438}
16439#[repr(C)]
16440#[doc(hidden)]
16441pub struct ICoreWebView2EnvironmentOptions4_Vtbl {
16442 pub base__: windows_core::IUnknown_Vtbl,
16443 pub GetCustomSchemeRegistrations: unsafe extern "system" fn(
16444 *mut core::ffi::c_void,
16445 *mut u32,
16446 *mut *mut *mut core::ffi::c_void,
16447 ) -> windows_core::HRESULT,
16448 pub SetCustomSchemeRegistrations: unsafe extern "system" fn(
16449 *mut core::ffi::c_void,
16450 u32,
16451 *mut *mut core::ffi::c_void,
16452 ) -> windows_core::HRESULT,
16453}
16454pub trait ICoreWebView2EnvironmentOptions4_Impl: windows_core::IUnknownImpl {
16455 fn GetCustomSchemeRegistrations(
16456 &self,
16457 count: *mut u32,
16458 schemeregistrations: *mut *mut Option<ICoreWebView2CustomSchemeRegistration>,
16459 ) -> windows_core::Result<()>;
16460 fn SetCustomSchemeRegistrations(
16461 &self,
16462 count: u32,
16463 ) -> windows_core::Result<ICoreWebView2CustomSchemeRegistration>;
16464}
16465impl ICoreWebView2EnvironmentOptions4_Vtbl {
16466 pub const fn new<Identity: ICoreWebView2EnvironmentOptions4_Impl, const OFFSET: isize>() -> Self
16467 {
16468 unsafe extern "system" fn GetCustomSchemeRegistrations<
16469 Identity: ICoreWebView2EnvironmentOptions4_Impl,
16470 const OFFSET: isize,
16471 >(
16472 this: *mut core::ffi::c_void,
16473 count: *mut u32,
16474 schemeregistrations: *mut *mut *mut core::ffi::c_void,
16475 ) -> windows_core::HRESULT {
16476 unsafe {
16477 let this: &Identity =
16478 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16479 ICoreWebView2EnvironmentOptions4_Impl::GetCustomSchemeRegistrations(
16480 this,
16481 core::mem::transmute_copy(&count),
16482 core::mem::transmute_copy(&schemeregistrations),
16483 )
16484 .into()
16485 }
16486 }
16487 unsafe extern "system" fn SetCustomSchemeRegistrations<
16488 Identity: ICoreWebView2EnvironmentOptions4_Impl,
16489 const OFFSET: isize,
16490 >(
16491 this: *mut core::ffi::c_void,
16492 count: u32,
16493 schemeregistrations: *mut *mut core::ffi::c_void,
16494 ) -> windows_core::HRESULT {
16495 unsafe {
16496 let this: &Identity =
16497 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16498 match ICoreWebView2EnvironmentOptions4_Impl::SetCustomSchemeRegistrations(
16499 this,
16500 core::mem::transmute_copy(&count),
16501 ) {
16502 Ok(ok__) => {
16503 schemeregistrations.write(core::mem::transmute(ok__));
16504 windows_core::HRESULT(0)
16505 }
16506 Err(err) => err.into(),
16507 }
16508 }
16509 }
16510 Self {
16511 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16512 GetCustomSchemeRegistrations: GetCustomSchemeRegistrations::<Identity, OFFSET>,
16513 SetCustomSchemeRegistrations: SetCustomSchemeRegistrations::<Identity, OFFSET>,
16514 }
16515 }
16516 pub fn matches(iid: &windows_core::GUID) -> bool {
16517 iid == &<ICoreWebView2EnvironmentOptions4 as windows_core::Interface>::IID
16518 }
16519}
16520impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions4 {}
16521windows_core::imp::define_interface!(
16522 ICoreWebView2EnvironmentOptions5,
16523 ICoreWebView2EnvironmentOptions5_Vtbl,
16524 0x0ae35d64_c47f_4464_814e_259c345d1501
16525);
16526windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions5, windows_core::IUnknown);
16527impl ICoreWebView2EnvironmentOptions5 {
16528 pub unsafe fn EnableTrackingPrevention(
16529 &self,
16530 value: *mut windows_core::BOOL,
16531 ) -> windows_core::Result<()> {
16532 unsafe {
16533 (windows_core::Interface::vtable(self).EnableTrackingPrevention)(
16534 windows_core::Interface::as_raw(self),
16535 value as _,
16536 )
16537 .ok()
16538 }
16539 }
16540 pub unsafe fn SetEnableTrackingPrevention(&self, value: bool) -> windows_core::Result<()> {
16541 unsafe {
16542 (windows_core::Interface::vtable(self).SetEnableTrackingPrevention)(
16543 windows_core::Interface::as_raw(self),
16544 value.into(),
16545 )
16546 .ok()
16547 }
16548 }
16549}
16550#[repr(C)]
16551#[doc(hidden)]
16552pub struct ICoreWebView2EnvironmentOptions5_Vtbl {
16553 pub base__: windows_core::IUnknown_Vtbl,
16554 pub EnableTrackingPrevention: unsafe extern "system" fn(
16555 *mut core::ffi::c_void,
16556 *mut windows_core::BOOL,
16557 ) -> windows_core::HRESULT,
16558 pub SetEnableTrackingPrevention: unsafe extern "system" fn(
16559 *mut core::ffi::c_void,
16560 windows_core::BOOL,
16561 ) -> windows_core::HRESULT,
16562}
16563pub trait ICoreWebView2EnvironmentOptions5_Impl: windows_core::IUnknownImpl {
16564 fn EnableTrackingPrevention(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
16565 fn SetEnableTrackingPrevention(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
16566}
16567impl ICoreWebView2EnvironmentOptions5_Vtbl {
16568 pub const fn new<Identity: ICoreWebView2EnvironmentOptions5_Impl, const OFFSET: isize>() -> Self
16569 {
16570 unsafe extern "system" fn EnableTrackingPrevention<
16571 Identity: ICoreWebView2EnvironmentOptions5_Impl,
16572 const OFFSET: isize,
16573 >(
16574 this: *mut core::ffi::c_void,
16575 value: *mut windows_core::BOOL,
16576 ) -> windows_core::HRESULT {
16577 unsafe {
16578 let this: &Identity =
16579 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16580 ICoreWebView2EnvironmentOptions5_Impl::EnableTrackingPrevention(
16581 this,
16582 core::mem::transmute_copy(&value),
16583 )
16584 .into()
16585 }
16586 }
16587 unsafe extern "system" fn SetEnableTrackingPrevention<
16588 Identity: ICoreWebView2EnvironmentOptions5_Impl,
16589 const OFFSET: isize,
16590 >(
16591 this: *mut core::ffi::c_void,
16592 value: windows_core::BOOL,
16593 ) -> windows_core::HRESULT {
16594 unsafe {
16595 let this: &Identity =
16596 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16597 ICoreWebView2EnvironmentOptions5_Impl::SetEnableTrackingPrevention(
16598 this,
16599 core::mem::transmute_copy(&value),
16600 )
16601 .into()
16602 }
16603 }
16604 Self {
16605 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16606 EnableTrackingPrevention: EnableTrackingPrevention::<Identity, OFFSET>,
16607 SetEnableTrackingPrevention: SetEnableTrackingPrevention::<Identity, OFFSET>,
16608 }
16609 }
16610 pub fn matches(iid: &windows_core::GUID) -> bool {
16611 iid == &<ICoreWebView2EnvironmentOptions5 as windows_core::Interface>::IID
16612 }
16613}
16614impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions5 {}
16615windows_core::imp::define_interface!(
16616 ICoreWebView2EnvironmentOptions6,
16617 ICoreWebView2EnvironmentOptions6_Vtbl,
16618 0x57d29cc3_c84f_42a0_b0e2_effbd5e179de
16619);
16620windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions6, windows_core::IUnknown);
16621impl ICoreWebView2EnvironmentOptions6 {
16622 pub unsafe fn AreBrowserExtensionsEnabled(
16623 &self,
16624 value: *mut windows_core::BOOL,
16625 ) -> windows_core::Result<()> {
16626 unsafe {
16627 (windows_core::Interface::vtable(self).AreBrowserExtensionsEnabled)(
16628 windows_core::Interface::as_raw(self),
16629 value as _,
16630 )
16631 .ok()
16632 }
16633 }
16634 pub unsafe fn SetAreBrowserExtensionsEnabled(&self, value: bool) -> windows_core::Result<()> {
16635 unsafe {
16636 (windows_core::Interface::vtable(self).SetAreBrowserExtensionsEnabled)(
16637 windows_core::Interface::as_raw(self),
16638 value.into(),
16639 )
16640 .ok()
16641 }
16642 }
16643}
16644#[repr(C)]
16645#[doc(hidden)]
16646pub struct ICoreWebView2EnvironmentOptions6_Vtbl {
16647 pub base__: windows_core::IUnknown_Vtbl,
16648 pub AreBrowserExtensionsEnabled: unsafe extern "system" fn(
16649 *mut core::ffi::c_void,
16650 *mut windows_core::BOOL,
16651 ) -> windows_core::HRESULT,
16652 pub SetAreBrowserExtensionsEnabled: unsafe extern "system" fn(
16653 *mut core::ffi::c_void,
16654 windows_core::BOOL,
16655 ) -> windows_core::HRESULT,
16656}
16657pub trait ICoreWebView2EnvironmentOptions6_Impl: windows_core::IUnknownImpl {
16658 fn AreBrowserExtensionsEnabled(
16659 &self,
16660 value: *mut windows_core::BOOL,
16661 ) -> windows_core::Result<()>;
16662 fn SetAreBrowserExtensionsEnabled(&self, value: windows_core::BOOL)
16663 -> windows_core::Result<()>;
16664}
16665impl ICoreWebView2EnvironmentOptions6_Vtbl {
16666 pub const fn new<Identity: ICoreWebView2EnvironmentOptions6_Impl, const OFFSET: isize>() -> Self
16667 {
16668 unsafe extern "system" fn AreBrowserExtensionsEnabled<
16669 Identity: ICoreWebView2EnvironmentOptions6_Impl,
16670 const OFFSET: isize,
16671 >(
16672 this: *mut core::ffi::c_void,
16673 value: *mut windows_core::BOOL,
16674 ) -> windows_core::HRESULT {
16675 unsafe {
16676 let this: &Identity =
16677 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16678 ICoreWebView2EnvironmentOptions6_Impl::AreBrowserExtensionsEnabled(
16679 this,
16680 core::mem::transmute_copy(&value),
16681 )
16682 .into()
16683 }
16684 }
16685 unsafe extern "system" fn SetAreBrowserExtensionsEnabled<
16686 Identity: ICoreWebView2EnvironmentOptions6_Impl,
16687 const OFFSET: isize,
16688 >(
16689 this: *mut core::ffi::c_void,
16690 value: windows_core::BOOL,
16691 ) -> windows_core::HRESULT {
16692 unsafe {
16693 let this: &Identity =
16694 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16695 ICoreWebView2EnvironmentOptions6_Impl::SetAreBrowserExtensionsEnabled(
16696 this,
16697 core::mem::transmute_copy(&value),
16698 )
16699 .into()
16700 }
16701 }
16702 Self {
16703 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16704 AreBrowserExtensionsEnabled: AreBrowserExtensionsEnabled::<Identity, OFFSET>,
16705 SetAreBrowserExtensionsEnabled: SetAreBrowserExtensionsEnabled::<Identity, OFFSET>,
16706 }
16707 }
16708 pub fn matches(iid: &windows_core::GUID) -> bool {
16709 iid == &<ICoreWebView2EnvironmentOptions6 as windows_core::Interface>::IID
16710 }
16711}
16712impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions6 {}
16713windows_core::imp::define_interface!(
16714 ICoreWebView2EnvironmentOptions7,
16715 ICoreWebView2EnvironmentOptions7_Vtbl,
16716 0xc48d539f_e39f_441c_ae68_1f66e570bdc5
16717);
16718windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions7, windows_core::IUnknown);
16719impl ICoreWebView2EnvironmentOptions7 {
16720 pub unsafe fn ChannelSearchKind(
16721 &self,
16722 value: *mut COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16723 ) -> windows_core::Result<()> {
16724 unsafe {
16725 (windows_core::Interface::vtable(self).ChannelSearchKind)(
16726 windows_core::Interface::as_raw(self),
16727 value as _,
16728 )
16729 .ok()
16730 }
16731 }
16732 pub unsafe fn SetChannelSearchKind(
16733 &self,
16734 value: COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16735 ) -> windows_core::Result<()> {
16736 unsafe {
16737 (windows_core::Interface::vtable(self).SetChannelSearchKind)(
16738 windows_core::Interface::as_raw(self),
16739 value,
16740 )
16741 .ok()
16742 }
16743 }
16744 pub unsafe fn ReleaseChannels(
16745 &self,
16746 value: *mut COREWEBVIEW2_RELEASE_CHANNELS,
16747 ) -> windows_core::Result<()> {
16748 unsafe {
16749 (windows_core::Interface::vtable(self).ReleaseChannels)(
16750 windows_core::Interface::as_raw(self),
16751 value as _,
16752 )
16753 .ok()
16754 }
16755 }
16756 pub unsafe fn SetReleaseChannels(
16757 &self,
16758 value: COREWEBVIEW2_RELEASE_CHANNELS,
16759 ) -> windows_core::Result<()> {
16760 unsafe {
16761 (windows_core::Interface::vtable(self).SetReleaseChannels)(
16762 windows_core::Interface::as_raw(self),
16763 value,
16764 )
16765 .ok()
16766 }
16767 }
16768}
16769#[repr(C)]
16770#[doc(hidden)]
16771pub struct ICoreWebView2EnvironmentOptions7_Vtbl {
16772 pub base__: windows_core::IUnknown_Vtbl,
16773 pub ChannelSearchKind: unsafe extern "system" fn(
16774 *mut core::ffi::c_void,
16775 *mut COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16776 ) -> windows_core::HRESULT,
16777 pub SetChannelSearchKind: unsafe extern "system" fn(
16778 *mut core::ffi::c_void,
16779 COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16780 ) -> windows_core::HRESULT,
16781 pub ReleaseChannels: unsafe extern "system" fn(
16782 *mut core::ffi::c_void,
16783 *mut COREWEBVIEW2_RELEASE_CHANNELS,
16784 ) -> windows_core::HRESULT,
16785 pub SetReleaseChannels: unsafe extern "system" fn(
16786 *mut core::ffi::c_void,
16787 COREWEBVIEW2_RELEASE_CHANNELS,
16788 ) -> windows_core::HRESULT,
16789}
16790pub trait ICoreWebView2EnvironmentOptions7_Impl: windows_core::IUnknownImpl {
16791 fn ChannelSearchKind(
16792 &self,
16793 value: *mut COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16794 ) -> windows_core::Result<()>;
16795 fn SetChannelSearchKind(
16796 &self,
16797 value: COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16798 ) -> windows_core::Result<()>;
16799 fn ReleaseChannels(
16800 &self,
16801 value: *mut COREWEBVIEW2_RELEASE_CHANNELS,
16802 ) -> windows_core::Result<()>;
16803 fn SetReleaseChannels(&self, value: COREWEBVIEW2_RELEASE_CHANNELS) -> windows_core::Result<()>;
16804}
16805impl ICoreWebView2EnvironmentOptions7_Vtbl {
16806 pub const fn new<Identity: ICoreWebView2EnvironmentOptions7_Impl, const OFFSET: isize>() -> Self
16807 {
16808 unsafe extern "system" fn ChannelSearchKind<
16809 Identity: ICoreWebView2EnvironmentOptions7_Impl,
16810 const OFFSET: isize,
16811 >(
16812 this: *mut core::ffi::c_void,
16813 value: *mut COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16814 ) -> windows_core::HRESULT {
16815 unsafe {
16816 let this: &Identity =
16817 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16818 ICoreWebView2EnvironmentOptions7_Impl::ChannelSearchKind(
16819 this,
16820 core::mem::transmute_copy(&value),
16821 )
16822 .into()
16823 }
16824 }
16825 unsafe extern "system" fn SetChannelSearchKind<
16826 Identity: ICoreWebView2EnvironmentOptions7_Impl,
16827 const OFFSET: isize,
16828 >(
16829 this: *mut core::ffi::c_void,
16830 value: COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16831 ) -> windows_core::HRESULT {
16832 unsafe {
16833 let this: &Identity =
16834 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16835 ICoreWebView2EnvironmentOptions7_Impl::SetChannelSearchKind(
16836 this,
16837 core::mem::transmute_copy(&value),
16838 )
16839 .into()
16840 }
16841 }
16842 unsafe extern "system" fn ReleaseChannels<
16843 Identity: ICoreWebView2EnvironmentOptions7_Impl,
16844 const OFFSET: isize,
16845 >(
16846 this: *mut core::ffi::c_void,
16847 value: *mut COREWEBVIEW2_RELEASE_CHANNELS,
16848 ) -> windows_core::HRESULT {
16849 unsafe {
16850 let this: &Identity =
16851 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16852 ICoreWebView2EnvironmentOptions7_Impl::ReleaseChannels(
16853 this,
16854 core::mem::transmute_copy(&value),
16855 )
16856 .into()
16857 }
16858 }
16859 unsafe extern "system" fn SetReleaseChannels<
16860 Identity: ICoreWebView2EnvironmentOptions7_Impl,
16861 const OFFSET: isize,
16862 >(
16863 this: *mut core::ffi::c_void,
16864 value: COREWEBVIEW2_RELEASE_CHANNELS,
16865 ) -> windows_core::HRESULT {
16866 unsafe {
16867 let this: &Identity =
16868 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16869 ICoreWebView2EnvironmentOptions7_Impl::SetReleaseChannels(
16870 this,
16871 core::mem::transmute_copy(&value),
16872 )
16873 .into()
16874 }
16875 }
16876 Self {
16877 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16878 ChannelSearchKind: ChannelSearchKind::<Identity, OFFSET>,
16879 SetChannelSearchKind: SetChannelSearchKind::<Identity, OFFSET>,
16880 ReleaseChannels: ReleaseChannels::<Identity, OFFSET>,
16881 SetReleaseChannels: SetReleaseChannels::<Identity, OFFSET>,
16882 }
16883 }
16884 pub fn matches(iid: &windows_core::GUID) -> bool {
16885 iid == &<ICoreWebView2EnvironmentOptions7 as windows_core::Interface>::IID
16886 }
16887}
16888impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions7 {}
16889windows_core::imp::define_interface!(
16890 ICoreWebView2EnvironmentOptions8,
16891 ICoreWebView2EnvironmentOptions8_Vtbl,
16892 0x7c7ecf51_e918_5caf_853c_e9a2bcc27775
16893);
16894windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions8, windows_core::IUnknown);
16895impl ICoreWebView2EnvironmentOptions8 {
16896 pub unsafe fn ScrollBarStyle(
16897 &self,
16898 value: *mut COREWEBVIEW2_SCROLLBAR_STYLE,
16899 ) -> windows_core::Result<()> {
16900 unsafe {
16901 (windows_core::Interface::vtable(self).ScrollBarStyle)(
16902 windows_core::Interface::as_raw(self),
16903 value as _,
16904 )
16905 .ok()
16906 }
16907 }
16908 pub unsafe fn SetScrollBarStyle(
16909 &self,
16910 value: COREWEBVIEW2_SCROLLBAR_STYLE,
16911 ) -> windows_core::Result<()> {
16912 unsafe {
16913 (windows_core::Interface::vtable(self).SetScrollBarStyle)(
16914 windows_core::Interface::as_raw(self),
16915 value,
16916 )
16917 .ok()
16918 }
16919 }
16920}
16921#[repr(C)]
16922#[doc(hidden)]
16923pub struct ICoreWebView2EnvironmentOptions8_Vtbl {
16924 pub base__: windows_core::IUnknown_Vtbl,
16925 pub ScrollBarStyle: unsafe extern "system" fn(
16926 *mut core::ffi::c_void,
16927 *mut COREWEBVIEW2_SCROLLBAR_STYLE,
16928 ) -> windows_core::HRESULT,
16929 pub SetScrollBarStyle: unsafe extern "system" fn(
16930 *mut core::ffi::c_void,
16931 COREWEBVIEW2_SCROLLBAR_STYLE,
16932 ) -> windows_core::HRESULT,
16933}
16934pub trait ICoreWebView2EnvironmentOptions8_Impl: windows_core::IUnknownImpl {
16935 fn ScrollBarStyle(&self, value: *mut COREWEBVIEW2_SCROLLBAR_STYLE) -> windows_core::Result<()>;
16936 fn SetScrollBarStyle(&self, value: COREWEBVIEW2_SCROLLBAR_STYLE) -> windows_core::Result<()>;
16937}
16938impl ICoreWebView2EnvironmentOptions8_Vtbl {
16939 pub const fn new<Identity: ICoreWebView2EnvironmentOptions8_Impl, const OFFSET: isize>() -> Self
16940 {
16941 unsafe extern "system" fn ScrollBarStyle<
16942 Identity: ICoreWebView2EnvironmentOptions8_Impl,
16943 const OFFSET: isize,
16944 >(
16945 this: *mut core::ffi::c_void,
16946 value: *mut COREWEBVIEW2_SCROLLBAR_STYLE,
16947 ) -> windows_core::HRESULT {
16948 unsafe {
16949 let this: &Identity =
16950 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16951 ICoreWebView2EnvironmentOptions8_Impl::ScrollBarStyle(
16952 this,
16953 core::mem::transmute_copy(&value),
16954 )
16955 .into()
16956 }
16957 }
16958 unsafe extern "system" fn SetScrollBarStyle<
16959 Identity: ICoreWebView2EnvironmentOptions8_Impl,
16960 const OFFSET: isize,
16961 >(
16962 this: *mut core::ffi::c_void,
16963 value: COREWEBVIEW2_SCROLLBAR_STYLE,
16964 ) -> windows_core::HRESULT {
16965 unsafe {
16966 let this: &Identity =
16967 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16968 ICoreWebView2EnvironmentOptions8_Impl::SetScrollBarStyle(
16969 this,
16970 core::mem::transmute_copy(&value),
16971 )
16972 .into()
16973 }
16974 }
16975 Self {
16976 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16977 ScrollBarStyle: ScrollBarStyle::<Identity, OFFSET>,
16978 SetScrollBarStyle: SetScrollBarStyle::<Identity, OFFSET>,
16979 }
16980 }
16981 pub fn matches(iid: &windows_core::GUID) -> bool {
16982 iid == &<ICoreWebView2EnvironmentOptions8 as windows_core::Interface>::IID
16983 }
16984}
16985impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions8 {}
16986windows_core::imp::define_interface!(
16987 ICoreWebView2EstimatedEndTimeChangedEventHandler,
16988 ICoreWebView2EstimatedEndTimeChangedEventHandler_Vtbl,
16989 0x28f0d425_93fe_4e63_9f8d_2aeec6d3ba1e
16990);
16991windows_core::imp::interface_hierarchy!(
16992 ICoreWebView2EstimatedEndTimeChangedEventHandler,
16993 windows_core::IUnknown
16994);
16995impl ICoreWebView2EstimatedEndTimeChangedEventHandler {
16996 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
16997 where
16998 P0: windows_core::Param<ICoreWebView2DownloadOperation>,
16999 P1: windows_core::Param<windows_core::IUnknown>,
17000 {
17001 unsafe {
17002 (windows_core::Interface::vtable(self).Invoke)(
17003 windows_core::Interface::as_raw(self),
17004 sender.param().abi(),
17005 args.param().abi(),
17006 )
17007 .ok()
17008 }
17009 }
17010}
17011#[repr(C)]
17012#[doc(hidden)]
17013pub struct ICoreWebView2EstimatedEndTimeChangedEventHandler_Vtbl {
17014 pub base__: windows_core::IUnknown_Vtbl,
17015 pub Invoke: unsafe extern "system" fn(
17016 *mut core::ffi::c_void,
17017 *mut core::ffi::c_void,
17018 *mut core::ffi::c_void,
17019 ) -> windows_core::HRESULT,
17020}
17021pub trait ICoreWebView2EstimatedEndTimeChangedEventHandler_Impl:
17022 windows_core::IUnknownImpl
17023{
17024 fn Invoke(
17025 &self,
17026 sender: windows_core::Ref<'_, ICoreWebView2DownloadOperation>,
17027 args: windows_core::Ref<'_, windows_core::IUnknown>,
17028 ) -> windows_core::Result<()>;
17029}
17030impl ICoreWebView2EstimatedEndTimeChangedEventHandler_Vtbl {
17031 pub const fn new<
17032 Identity: ICoreWebView2EstimatedEndTimeChangedEventHandler_Impl,
17033 const OFFSET: isize,
17034 >() -> Self {
17035 unsafe extern "system" fn Invoke<
17036 Identity: ICoreWebView2EstimatedEndTimeChangedEventHandler_Impl,
17037 const OFFSET: isize,
17038 >(
17039 this: *mut core::ffi::c_void,
17040 sender: *mut core::ffi::c_void,
17041 args: *mut core::ffi::c_void,
17042 ) -> windows_core::HRESULT {
17043 unsafe {
17044 let this: &Identity =
17045 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17046 ICoreWebView2EstimatedEndTimeChangedEventHandler_Impl::Invoke(
17047 this,
17048 core::mem::transmute_copy(&sender),
17049 core::mem::transmute_copy(&args),
17050 )
17051 .into()
17052 }
17053 }
17054 Self {
17055 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17056 Invoke: Invoke::<Identity, OFFSET>,
17057 }
17058 }
17059 pub fn matches(iid: &windows_core::GUID) -> bool {
17060 iid == &<ICoreWebView2EstimatedEndTimeChangedEventHandler as windows_core::Interface>::IID
17061 }
17062}
17063impl windows_core::RuntimeName for ICoreWebView2EstimatedEndTimeChangedEventHandler {}
17064windows_core::imp::define_interface!(
17065 ICoreWebView2ExecuteScriptCompletedHandler,
17066 ICoreWebView2ExecuteScriptCompletedHandler_Vtbl,
17067 0x49511172_cc67_4bca_9923_137112f4c4cc
17068);
17069windows_core::imp::interface_hierarchy!(
17070 ICoreWebView2ExecuteScriptCompletedHandler,
17071 windows_core::IUnknown
17072);
17073impl ICoreWebView2ExecuteScriptCompletedHandler {
17074 pub unsafe fn Invoke<P1>(
17075 &self,
17076 errorcode: windows_core::HRESULT,
17077 result: P1,
17078 ) -> windows_core::Result<()>
17079 where
17080 P1: windows_core::Param<windows_core::PCWSTR>,
17081 {
17082 unsafe {
17083 (windows_core::Interface::vtable(self).Invoke)(
17084 windows_core::Interface::as_raw(self),
17085 errorcode,
17086 result.param().abi(),
17087 )
17088 .ok()
17089 }
17090 }
17091}
17092#[repr(C)]
17093#[doc(hidden)]
17094pub struct ICoreWebView2ExecuteScriptCompletedHandler_Vtbl {
17095 pub base__: windows_core::IUnknown_Vtbl,
17096 pub Invoke: unsafe extern "system" fn(
17097 *mut core::ffi::c_void,
17098 windows_core::HRESULT,
17099 windows_core::PCWSTR,
17100 ) -> windows_core::HRESULT,
17101}
17102pub trait ICoreWebView2ExecuteScriptCompletedHandler_Impl: windows_core::IUnknownImpl {
17103 fn Invoke(
17104 &self,
17105 errorcode: windows_core::HRESULT,
17106 result: &windows_core::PCWSTR,
17107 ) -> windows_core::Result<()>;
17108}
17109impl ICoreWebView2ExecuteScriptCompletedHandler_Vtbl {
17110 pub const fn new<
17111 Identity: ICoreWebView2ExecuteScriptCompletedHandler_Impl,
17112 const OFFSET: isize,
17113 >() -> Self {
17114 unsafe extern "system" fn Invoke<
17115 Identity: ICoreWebView2ExecuteScriptCompletedHandler_Impl,
17116 const OFFSET: isize,
17117 >(
17118 this: *mut core::ffi::c_void,
17119 errorcode: windows_core::HRESULT,
17120 result: windows_core::PCWSTR,
17121 ) -> windows_core::HRESULT {
17122 unsafe {
17123 let this: &Identity =
17124 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17125 ICoreWebView2ExecuteScriptCompletedHandler_Impl::Invoke(
17126 this,
17127 core::mem::transmute_copy(&errorcode),
17128 core::mem::transmute(&result),
17129 )
17130 .into()
17131 }
17132 }
17133 Self {
17134 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17135 Invoke: Invoke::<Identity, OFFSET>,
17136 }
17137 }
17138 pub fn matches(iid: &windows_core::GUID) -> bool {
17139 iid == &<ICoreWebView2ExecuteScriptCompletedHandler as windows_core::Interface>::IID
17140 }
17141}
17142impl windows_core::RuntimeName for ICoreWebView2ExecuteScriptCompletedHandler {}
17143windows_core::imp::define_interface!(
17144 ICoreWebView2ExecuteScriptResult,
17145 ICoreWebView2ExecuteScriptResult_Vtbl,
17146 0x0ce15963_3698_4df7_9399_71ed6cdd8c9f
17147);
17148windows_core::imp::interface_hierarchy!(ICoreWebView2ExecuteScriptResult, windows_core::IUnknown);
17149impl ICoreWebView2ExecuteScriptResult {
17150 pub unsafe fn Succeeded(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
17151 unsafe {
17152 (windows_core::Interface::vtable(self).Succeeded)(
17153 windows_core::Interface::as_raw(self),
17154 value as _,
17155 )
17156 .ok()
17157 }
17158 }
17159 pub unsafe fn ResultAsJson(
17160 &self,
17161 jsonresult: *mut windows_core::PWSTR,
17162 ) -> windows_core::Result<()> {
17163 unsafe {
17164 (windows_core::Interface::vtable(self).ResultAsJson)(
17165 windows_core::Interface::as_raw(self),
17166 jsonresult as _,
17167 )
17168 .ok()
17169 }
17170 }
17171 pub unsafe fn TryGetResultAsString(
17172 &self,
17173 stringresult: *mut windows_core::PWSTR,
17174 value: *mut windows_core::BOOL,
17175 ) -> windows_core::Result<()> {
17176 unsafe {
17177 (windows_core::Interface::vtable(self).TryGetResultAsString)(
17178 windows_core::Interface::as_raw(self),
17179 stringresult as _,
17180 value as _,
17181 )
17182 .ok()
17183 }
17184 }
17185 pub unsafe fn Exception(&self) -> windows_core::Result<ICoreWebView2ScriptException> {
17186 unsafe {
17187 let mut result__ = core::mem::zeroed();
17188 (windows_core::Interface::vtable(self).Exception)(
17189 windows_core::Interface::as_raw(self),
17190 &mut result__,
17191 )
17192 .and_then(|| windows_core::Type::from_abi(result__))
17193 }
17194 }
17195}
17196#[repr(C)]
17197#[doc(hidden)]
17198pub struct ICoreWebView2ExecuteScriptResult_Vtbl {
17199 pub base__: windows_core::IUnknown_Vtbl,
17200 pub Succeeded: unsafe extern "system" fn(
17201 *mut core::ffi::c_void,
17202 *mut windows_core::BOOL,
17203 ) -> windows_core::HRESULT,
17204 pub ResultAsJson: unsafe extern "system" fn(
17205 *mut core::ffi::c_void,
17206 *mut windows_core::PWSTR,
17207 ) -> windows_core::HRESULT,
17208 pub TryGetResultAsString: unsafe extern "system" fn(
17209 *mut core::ffi::c_void,
17210 *mut windows_core::PWSTR,
17211 *mut windows_core::BOOL,
17212 ) -> windows_core::HRESULT,
17213 pub Exception: unsafe extern "system" fn(
17214 *mut core::ffi::c_void,
17215 *mut *mut core::ffi::c_void,
17216 ) -> windows_core::HRESULT,
17217}
17218pub trait ICoreWebView2ExecuteScriptResult_Impl: windows_core::IUnknownImpl {
17219 fn Succeeded(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
17220 fn ResultAsJson(&self, jsonresult: *mut windows_core::PWSTR) -> windows_core::Result<()>;
17221 fn TryGetResultAsString(
17222 &self,
17223 stringresult: *mut windows_core::PWSTR,
17224 value: *mut windows_core::BOOL,
17225 ) -> windows_core::Result<()>;
17226 fn Exception(&self) -> windows_core::Result<ICoreWebView2ScriptException>;
17227}
17228impl ICoreWebView2ExecuteScriptResult_Vtbl {
17229 pub const fn new<Identity: ICoreWebView2ExecuteScriptResult_Impl, const OFFSET: isize>() -> Self
17230 {
17231 unsafe extern "system" fn Succeeded<
17232 Identity: ICoreWebView2ExecuteScriptResult_Impl,
17233 const OFFSET: isize,
17234 >(
17235 this: *mut core::ffi::c_void,
17236 value: *mut windows_core::BOOL,
17237 ) -> windows_core::HRESULT {
17238 unsafe {
17239 let this: &Identity =
17240 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17241 ICoreWebView2ExecuteScriptResult_Impl::Succeeded(
17242 this,
17243 core::mem::transmute_copy(&value),
17244 )
17245 .into()
17246 }
17247 }
17248 unsafe extern "system" fn ResultAsJson<
17249 Identity: ICoreWebView2ExecuteScriptResult_Impl,
17250 const OFFSET: isize,
17251 >(
17252 this: *mut core::ffi::c_void,
17253 jsonresult: *mut windows_core::PWSTR,
17254 ) -> windows_core::HRESULT {
17255 unsafe {
17256 let this: &Identity =
17257 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17258 ICoreWebView2ExecuteScriptResult_Impl::ResultAsJson(
17259 this,
17260 core::mem::transmute_copy(&jsonresult),
17261 )
17262 .into()
17263 }
17264 }
17265 unsafe extern "system" fn TryGetResultAsString<
17266 Identity: ICoreWebView2ExecuteScriptResult_Impl,
17267 const OFFSET: isize,
17268 >(
17269 this: *mut core::ffi::c_void,
17270 stringresult: *mut windows_core::PWSTR,
17271 value: *mut windows_core::BOOL,
17272 ) -> windows_core::HRESULT {
17273 unsafe {
17274 let this: &Identity =
17275 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17276 ICoreWebView2ExecuteScriptResult_Impl::TryGetResultAsString(
17277 this,
17278 core::mem::transmute_copy(&stringresult),
17279 core::mem::transmute_copy(&value),
17280 )
17281 .into()
17282 }
17283 }
17284 unsafe extern "system" fn Exception<
17285 Identity: ICoreWebView2ExecuteScriptResult_Impl,
17286 const OFFSET: isize,
17287 >(
17288 this: *mut core::ffi::c_void,
17289 exception: *mut *mut core::ffi::c_void,
17290 ) -> windows_core::HRESULT {
17291 unsafe {
17292 let this: &Identity =
17293 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17294 match ICoreWebView2ExecuteScriptResult_Impl::Exception(this) {
17295 Ok(ok__) => {
17296 exception.write(core::mem::transmute(ok__));
17297 windows_core::HRESULT(0)
17298 }
17299 Err(err) => err.into(),
17300 }
17301 }
17302 }
17303 Self {
17304 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17305 Succeeded: Succeeded::<Identity, OFFSET>,
17306 ResultAsJson: ResultAsJson::<Identity, OFFSET>,
17307 TryGetResultAsString: TryGetResultAsString::<Identity, OFFSET>,
17308 Exception: Exception::<Identity, OFFSET>,
17309 }
17310 }
17311 pub fn matches(iid: &windows_core::GUID) -> bool {
17312 iid == &<ICoreWebView2ExecuteScriptResult as windows_core::Interface>::IID
17313 }
17314}
17315impl windows_core::RuntimeName for ICoreWebView2ExecuteScriptResult {}
17316windows_core::imp::define_interface!(
17317 ICoreWebView2ExecuteScriptWithResultCompletedHandler,
17318 ICoreWebView2ExecuteScriptWithResultCompletedHandler_Vtbl,
17319 0x1bb5317b_8238_4c67_a7ff_baf6558f289d
17320);
17321windows_core::imp::interface_hierarchy!(
17322 ICoreWebView2ExecuteScriptWithResultCompletedHandler,
17323 windows_core::IUnknown
17324);
17325impl ICoreWebView2ExecuteScriptWithResultCompletedHandler {
17326 pub unsafe fn Invoke<P1>(
17327 &self,
17328 errorcode: windows_core::HRESULT,
17329 result: P1,
17330 ) -> windows_core::Result<()>
17331 where
17332 P1: windows_core::Param<ICoreWebView2ExecuteScriptResult>,
17333 {
17334 unsafe {
17335 (windows_core::Interface::vtable(self).Invoke)(
17336 windows_core::Interface::as_raw(self),
17337 errorcode,
17338 result.param().abi(),
17339 )
17340 .ok()
17341 }
17342 }
17343}
17344#[repr(C)]
17345#[doc(hidden)]
17346pub struct ICoreWebView2ExecuteScriptWithResultCompletedHandler_Vtbl {
17347 pub base__: windows_core::IUnknown_Vtbl,
17348 pub Invoke: unsafe extern "system" fn(
17349 *mut core::ffi::c_void,
17350 windows_core::HRESULT,
17351 *mut core::ffi::c_void,
17352 ) -> windows_core::HRESULT,
17353}
17354pub trait ICoreWebView2ExecuteScriptWithResultCompletedHandler_Impl:
17355 windows_core::IUnknownImpl
17356{
17357 fn Invoke(
17358 &self,
17359 errorcode: windows_core::HRESULT,
17360 result: windows_core::Ref<'_, ICoreWebView2ExecuteScriptResult>,
17361 ) -> windows_core::Result<()>;
17362}
17363impl ICoreWebView2ExecuteScriptWithResultCompletedHandler_Vtbl {
17364 pub const fn new<
17365 Identity: ICoreWebView2ExecuteScriptWithResultCompletedHandler_Impl,
17366 const OFFSET: isize,
17367 >() -> Self {
17368 unsafe extern "system" fn Invoke<
17369 Identity: ICoreWebView2ExecuteScriptWithResultCompletedHandler_Impl,
17370 const OFFSET: isize,
17371 >(
17372 this: *mut core::ffi::c_void,
17373 errorcode: windows_core::HRESULT,
17374 result: *mut core::ffi::c_void,
17375 ) -> windows_core::HRESULT {
17376 unsafe {
17377 let this: &Identity =
17378 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17379 ICoreWebView2ExecuteScriptWithResultCompletedHandler_Impl::Invoke(
17380 this,
17381 core::mem::transmute_copy(&errorcode),
17382 core::mem::transmute_copy(&result),
17383 )
17384 .into()
17385 }
17386 }
17387 Self {
17388 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17389 Invoke: Invoke::<Identity, OFFSET>,
17390 }
17391 }
17392 pub fn matches(iid: &windows_core::GUID) -> bool {
17393 iid == & < ICoreWebView2ExecuteScriptWithResultCompletedHandler as windows_core::Interface >::IID
17394 }
17395}
17396impl windows_core::RuntimeName for ICoreWebView2ExecuteScriptWithResultCompletedHandler {}
17397windows_core::imp::define_interface!(
17398 ICoreWebView2FaviconChangedEventHandler,
17399 ICoreWebView2FaviconChangedEventHandler_Vtbl,
17400 0x2913da94_833d_4de0_8dca_900fc524a1a4
17401);
17402windows_core::imp::interface_hierarchy!(
17403 ICoreWebView2FaviconChangedEventHandler,
17404 windows_core::IUnknown
17405);
17406impl ICoreWebView2FaviconChangedEventHandler {
17407 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
17408 where
17409 P0: windows_core::Param<ICoreWebView2>,
17410 P1: windows_core::Param<windows_core::IUnknown>,
17411 {
17412 unsafe {
17413 (windows_core::Interface::vtable(self).Invoke)(
17414 windows_core::Interface::as_raw(self),
17415 sender.param().abi(),
17416 args.param().abi(),
17417 )
17418 .ok()
17419 }
17420 }
17421}
17422#[repr(C)]
17423#[doc(hidden)]
17424pub struct ICoreWebView2FaviconChangedEventHandler_Vtbl {
17425 pub base__: windows_core::IUnknown_Vtbl,
17426 pub Invoke: unsafe extern "system" fn(
17427 *mut core::ffi::c_void,
17428 *mut core::ffi::c_void,
17429 *mut core::ffi::c_void,
17430 ) -> windows_core::HRESULT,
17431}
17432pub trait ICoreWebView2FaviconChangedEventHandler_Impl: windows_core::IUnknownImpl {
17433 fn Invoke(
17434 &self,
17435 sender: windows_core::Ref<'_, ICoreWebView2>,
17436 args: windows_core::Ref<'_, windows_core::IUnknown>,
17437 ) -> windows_core::Result<()>;
17438}
17439impl ICoreWebView2FaviconChangedEventHandler_Vtbl {
17440 pub const fn new<
17441 Identity: ICoreWebView2FaviconChangedEventHandler_Impl,
17442 const OFFSET: isize,
17443 >() -> Self {
17444 unsafe extern "system" fn Invoke<
17445 Identity: ICoreWebView2FaviconChangedEventHandler_Impl,
17446 const OFFSET: isize,
17447 >(
17448 this: *mut core::ffi::c_void,
17449 sender: *mut core::ffi::c_void,
17450 args: *mut core::ffi::c_void,
17451 ) -> windows_core::HRESULT {
17452 unsafe {
17453 let this: &Identity =
17454 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17455 ICoreWebView2FaviconChangedEventHandler_Impl::Invoke(
17456 this,
17457 core::mem::transmute_copy(&sender),
17458 core::mem::transmute_copy(&args),
17459 )
17460 .into()
17461 }
17462 }
17463 Self {
17464 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17465 Invoke: Invoke::<Identity, OFFSET>,
17466 }
17467 }
17468 pub fn matches(iid: &windows_core::GUID) -> bool {
17469 iid == &<ICoreWebView2FaviconChangedEventHandler as windows_core::Interface>::IID
17470 }
17471}
17472impl windows_core::RuntimeName for ICoreWebView2FaviconChangedEventHandler {}
17473windows_core::imp::define_interface!(
17474 ICoreWebView2File,
17475 ICoreWebView2File_Vtbl,
17476 0xf2c19559_6bc1_4583_a757_90021be9afec
17477);
17478windows_core::imp::interface_hierarchy!(ICoreWebView2File, windows_core::IUnknown);
17479impl ICoreWebView2File {
17480 pub unsafe fn Path(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
17481 unsafe {
17482 (windows_core::Interface::vtable(self).Path)(
17483 windows_core::Interface::as_raw(self),
17484 value as _,
17485 )
17486 .ok()
17487 }
17488 }
17489}
17490#[repr(C)]
17491#[doc(hidden)]
17492pub struct ICoreWebView2File_Vtbl {
17493 pub base__: windows_core::IUnknown_Vtbl,
17494 pub Path: unsafe extern "system" fn(
17495 *mut core::ffi::c_void,
17496 *mut windows_core::PWSTR,
17497 ) -> windows_core::HRESULT,
17498}
17499pub trait ICoreWebView2File_Impl: windows_core::IUnknownImpl {
17500 fn Path(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
17501}
17502impl ICoreWebView2File_Vtbl {
17503 pub const fn new<Identity: ICoreWebView2File_Impl, const OFFSET: isize>() -> Self {
17504 unsafe extern "system" fn Path<Identity: ICoreWebView2File_Impl, const OFFSET: isize>(
17505 this: *mut core::ffi::c_void,
17506 value: *mut windows_core::PWSTR,
17507 ) -> windows_core::HRESULT {
17508 unsafe {
17509 let this: &Identity =
17510 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17511 ICoreWebView2File_Impl::Path(this, core::mem::transmute_copy(&value)).into()
17512 }
17513 }
17514 Self {
17515 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17516 Path: Path::<Identity, OFFSET>,
17517 }
17518 }
17519 pub fn matches(iid: &windows_core::GUID) -> bool {
17520 iid == &<ICoreWebView2File as windows_core::Interface>::IID
17521 }
17522}
17523impl windows_core::RuntimeName for ICoreWebView2File {}
17524windows_core::imp::define_interface!(
17525 ICoreWebView2FileSystemHandle,
17526 ICoreWebView2FileSystemHandle_Vtbl,
17527 0xc65100ac_0de2_5551_a362_23d9bd1d0e1f
17528);
17529windows_core::imp::interface_hierarchy!(ICoreWebView2FileSystemHandle, windows_core::IUnknown);
17530impl ICoreWebView2FileSystemHandle {
17531 pub unsafe fn Kind(
17532 &self,
17533 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND,
17534 ) -> windows_core::Result<()> {
17535 unsafe {
17536 (windows_core::Interface::vtable(self).Kind)(
17537 windows_core::Interface::as_raw(self),
17538 value as _,
17539 )
17540 .ok()
17541 }
17542 }
17543 pub unsafe fn Path(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
17544 unsafe {
17545 (windows_core::Interface::vtable(self).Path)(
17546 windows_core::Interface::as_raw(self),
17547 value as _,
17548 )
17549 .ok()
17550 }
17551 }
17552 pub unsafe fn Permission(
17553 &self,
17554 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
17555 ) -> windows_core::Result<()> {
17556 unsafe {
17557 (windows_core::Interface::vtable(self).Permission)(
17558 windows_core::Interface::as_raw(self),
17559 value as _,
17560 )
17561 .ok()
17562 }
17563 }
17564}
17565#[repr(C)]
17566#[doc(hidden)]
17567pub struct ICoreWebView2FileSystemHandle_Vtbl {
17568 pub base__: windows_core::IUnknown_Vtbl,
17569 pub Kind: unsafe extern "system" fn(
17570 *mut core::ffi::c_void,
17571 *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND,
17572 ) -> windows_core::HRESULT,
17573 pub Path: unsafe extern "system" fn(
17574 *mut core::ffi::c_void,
17575 *mut windows_core::PWSTR,
17576 ) -> windows_core::HRESULT,
17577 pub Permission: unsafe extern "system" fn(
17578 *mut core::ffi::c_void,
17579 *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
17580 ) -> windows_core::HRESULT,
17581}
17582pub trait ICoreWebView2FileSystemHandle_Impl: windows_core::IUnknownImpl {
17583 fn Kind(&self, value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND) -> windows_core::Result<()>;
17584 fn Path(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
17585 fn Permission(
17586 &self,
17587 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
17588 ) -> windows_core::Result<()>;
17589}
17590impl ICoreWebView2FileSystemHandle_Vtbl {
17591 pub const fn new<Identity: ICoreWebView2FileSystemHandle_Impl, const OFFSET: isize>() -> Self {
17592 unsafe extern "system" fn Kind<
17593 Identity: ICoreWebView2FileSystemHandle_Impl,
17594 const OFFSET: isize,
17595 >(
17596 this: *mut core::ffi::c_void,
17597 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND,
17598 ) -> windows_core::HRESULT {
17599 unsafe {
17600 let this: &Identity =
17601 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17602 ICoreWebView2FileSystemHandle_Impl::Kind(this, core::mem::transmute_copy(&value))
17603 .into()
17604 }
17605 }
17606 unsafe extern "system" fn Path<
17607 Identity: ICoreWebView2FileSystemHandle_Impl,
17608 const OFFSET: isize,
17609 >(
17610 this: *mut core::ffi::c_void,
17611 value: *mut windows_core::PWSTR,
17612 ) -> windows_core::HRESULT {
17613 unsafe {
17614 let this: &Identity =
17615 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17616 ICoreWebView2FileSystemHandle_Impl::Path(this, core::mem::transmute_copy(&value))
17617 .into()
17618 }
17619 }
17620 unsafe extern "system" fn Permission<
17621 Identity: ICoreWebView2FileSystemHandle_Impl,
17622 const OFFSET: isize,
17623 >(
17624 this: *mut core::ffi::c_void,
17625 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
17626 ) -> windows_core::HRESULT {
17627 unsafe {
17628 let this: &Identity =
17629 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17630 ICoreWebView2FileSystemHandle_Impl::Permission(
17631 this,
17632 core::mem::transmute_copy(&value),
17633 )
17634 .into()
17635 }
17636 }
17637 Self {
17638 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17639 Kind: Kind::<Identity, OFFSET>,
17640 Path: Path::<Identity, OFFSET>,
17641 Permission: Permission::<Identity, OFFSET>,
17642 }
17643 }
17644 pub fn matches(iid: &windows_core::GUID) -> bool {
17645 iid == &<ICoreWebView2FileSystemHandle as windows_core::Interface>::IID
17646 }
17647}
17648impl windows_core::RuntimeName for ICoreWebView2FileSystemHandle {}
17649windows_core::imp::define_interface!(
17650 ICoreWebView2FocusChangedEventHandler,
17651 ICoreWebView2FocusChangedEventHandler_Vtbl,
17652 0x05ea24bd_6452_4926_9014_4b82b498135d
17653);
17654windows_core::imp::interface_hierarchy!(
17655 ICoreWebView2FocusChangedEventHandler,
17656 windows_core::IUnknown
17657);
17658impl ICoreWebView2FocusChangedEventHandler {
17659 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
17660 where
17661 P0: windows_core::Param<ICoreWebView2Controller>,
17662 P1: windows_core::Param<windows_core::IUnknown>,
17663 {
17664 unsafe {
17665 (windows_core::Interface::vtable(self).Invoke)(
17666 windows_core::Interface::as_raw(self),
17667 sender.param().abi(),
17668 args.param().abi(),
17669 )
17670 .ok()
17671 }
17672 }
17673}
17674#[repr(C)]
17675#[doc(hidden)]
17676pub struct ICoreWebView2FocusChangedEventHandler_Vtbl {
17677 pub base__: windows_core::IUnknown_Vtbl,
17678 pub Invoke: unsafe extern "system" fn(
17679 *mut core::ffi::c_void,
17680 *mut core::ffi::c_void,
17681 *mut core::ffi::c_void,
17682 ) -> windows_core::HRESULT,
17683}
17684pub trait ICoreWebView2FocusChangedEventHandler_Impl: windows_core::IUnknownImpl {
17685 fn Invoke(
17686 &self,
17687 sender: windows_core::Ref<'_, ICoreWebView2Controller>,
17688 args: windows_core::Ref<'_, windows_core::IUnknown>,
17689 ) -> windows_core::Result<()>;
17690}
17691impl ICoreWebView2FocusChangedEventHandler_Vtbl {
17692 pub const fn new<Identity: ICoreWebView2FocusChangedEventHandler_Impl, const OFFSET: isize>(
17693 ) -> Self {
17694 unsafe extern "system" fn Invoke<
17695 Identity: ICoreWebView2FocusChangedEventHandler_Impl,
17696 const OFFSET: isize,
17697 >(
17698 this: *mut core::ffi::c_void,
17699 sender: *mut core::ffi::c_void,
17700 args: *mut core::ffi::c_void,
17701 ) -> windows_core::HRESULT {
17702 unsafe {
17703 let this: &Identity =
17704 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17705 ICoreWebView2FocusChangedEventHandler_Impl::Invoke(
17706 this,
17707 core::mem::transmute_copy(&sender),
17708 core::mem::transmute_copy(&args),
17709 )
17710 .into()
17711 }
17712 }
17713 Self {
17714 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17715 Invoke: Invoke::<Identity, OFFSET>,
17716 }
17717 }
17718 pub fn matches(iid: &windows_core::GUID) -> bool {
17719 iid == &<ICoreWebView2FocusChangedEventHandler as windows_core::Interface>::IID
17720 }
17721}
17722impl windows_core::RuntimeName for ICoreWebView2FocusChangedEventHandler {}
17723windows_core::imp::define_interface!(
17724 ICoreWebView2Frame,
17725 ICoreWebView2Frame_Vtbl,
17726 0xf1131a5e_9ba9_11eb_a8b3_0242ac130003
17727);
17728windows_core::imp::interface_hierarchy!(ICoreWebView2Frame, windows_core::IUnknown);
17729impl ICoreWebView2Frame {
17730 pub unsafe fn Name(&self, name: *mut windows_core::PWSTR) -> windows_core::Result<()> {
17731 unsafe {
17732 (windows_core::Interface::vtable(self).Name)(
17733 windows_core::Interface::as_raw(self),
17734 name as _,
17735 )
17736 .ok()
17737 }
17738 }
17739 pub unsafe fn add_NameChanged<P0>(
17740 &self,
17741 eventhandler: P0,
17742 token: *mut i64,
17743 ) -> windows_core::Result<()>
17744 where
17745 P0: windows_core::Param<ICoreWebView2FrameNameChangedEventHandler>,
17746 {
17747 unsafe {
17748 (windows_core::Interface::vtable(self).add_NameChanged)(
17749 windows_core::Interface::as_raw(self),
17750 eventhandler.param().abi(),
17751 token as _,
17752 )
17753 .ok()
17754 }
17755 }
17756 pub unsafe fn remove_NameChanged(&self, token: i64) -> windows_core::Result<()> {
17757 unsafe {
17758 (windows_core::Interface::vtable(self).remove_NameChanged)(
17759 windows_core::Interface::as_raw(self),
17760 token,
17761 )
17762 .ok()
17763 }
17764 }
17765 pub unsafe fn AddHostObjectToScriptWithOrigins<P0>(
17766 &self,
17767 name: P0,
17768 object: *mut windows::Win32::System::Variant::VARIANT,
17769 originscount: u32,
17770 origins: *const windows_core::PCWSTR,
17771 ) -> windows_core::Result<()>
17772 where
17773 P0: windows_core::Param<windows_core::PCWSTR>,
17774 {
17775 unsafe {
17776 (windows_core::Interface::vtable(self).AddHostObjectToScriptWithOrigins)(
17777 windows_core::Interface::as_raw(self),
17778 name.param().abi(),
17779 core::mem::transmute(object),
17780 originscount,
17781 origins,
17782 )
17783 .ok()
17784 }
17785 }
17786 pub unsafe fn RemoveHostObjectFromScript<P0>(&self, name: P0) -> windows_core::Result<()>
17787 where
17788 P0: windows_core::Param<windows_core::PCWSTR>,
17789 {
17790 unsafe {
17791 (windows_core::Interface::vtable(self).RemoveHostObjectFromScript)(
17792 windows_core::Interface::as_raw(self),
17793 name.param().abi(),
17794 )
17795 .ok()
17796 }
17797 }
17798 pub unsafe fn add_Destroyed<P0>(
17799 &self,
17800 eventhandler: P0,
17801 token: *mut i64,
17802 ) -> windows_core::Result<()>
17803 where
17804 P0: windows_core::Param<ICoreWebView2FrameDestroyedEventHandler>,
17805 {
17806 unsafe {
17807 (windows_core::Interface::vtable(self).add_Destroyed)(
17808 windows_core::Interface::as_raw(self),
17809 eventhandler.param().abi(),
17810 token as _,
17811 )
17812 .ok()
17813 }
17814 }
17815 pub unsafe fn remove_Destroyed(&self, token: i64) -> windows_core::Result<()> {
17816 unsafe {
17817 (windows_core::Interface::vtable(self).remove_Destroyed)(
17818 windows_core::Interface::as_raw(self),
17819 token,
17820 )
17821 .ok()
17822 }
17823 }
17824 pub unsafe fn IsDestroyed(
17825 &self,
17826 destroyed: *mut windows_core::BOOL,
17827 ) -> windows_core::Result<()> {
17828 unsafe {
17829 (windows_core::Interface::vtable(self).IsDestroyed)(
17830 windows_core::Interface::as_raw(self),
17831 destroyed as _,
17832 )
17833 .ok()
17834 }
17835 }
17836}
17837#[repr(C)]
17838#[doc(hidden)]
17839pub struct ICoreWebView2Frame_Vtbl {
17840 pub base__: windows_core::IUnknown_Vtbl,
17841 pub Name: unsafe extern "system" fn(
17842 *mut core::ffi::c_void,
17843 *mut windows_core::PWSTR,
17844 ) -> windows_core::HRESULT,
17845 pub add_NameChanged: unsafe extern "system" fn(
17846 *mut core::ffi::c_void,
17847 *mut core::ffi::c_void,
17848 *mut i64,
17849 ) -> windows_core::HRESULT,
17850 pub remove_NameChanged:
17851 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
17852 pub AddHostObjectToScriptWithOrigins: unsafe extern "system" fn(
17853 *mut core::ffi::c_void,
17854 windows_core::PCWSTR,
17855 *mut windows::Win32::System::Variant::VARIANT,
17856 u32,
17857 *const windows_core::PCWSTR,
17858 ) -> windows_core::HRESULT,
17859 pub RemoveHostObjectFromScript: unsafe extern "system" fn(
17860 *mut core::ffi::c_void,
17861 windows_core::PCWSTR,
17862 ) -> windows_core::HRESULT,
17863 pub add_Destroyed: unsafe extern "system" fn(
17864 *mut core::ffi::c_void,
17865 *mut core::ffi::c_void,
17866 *mut i64,
17867 ) -> windows_core::HRESULT,
17868 pub remove_Destroyed:
17869 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
17870 pub IsDestroyed: unsafe extern "system" fn(
17871 *mut core::ffi::c_void,
17872 *mut windows_core::BOOL,
17873 ) -> windows_core::HRESULT,
17874}
17875pub trait ICoreWebView2Frame_Impl: windows_core::IUnknownImpl {
17876 fn Name(&self, name: *mut windows_core::PWSTR) -> windows_core::Result<()>;
17877 fn add_NameChanged(
17878 &self,
17879 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameNameChangedEventHandler>,
17880 token: *mut i64,
17881 ) -> windows_core::Result<()>;
17882 fn remove_NameChanged(&self, token: i64) -> windows_core::Result<()>;
17883 fn AddHostObjectToScriptWithOrigins(
17884 &self,
17885 name: &windows_core::PCWSTR,
17886 object: *mut windows::Win32::System::Variant::VARIANT,
17887 originscount: u32,
17888 origins: *const windows_core::PCWSTR,
17889 ) -> windows_core::Result<()>;
17890 fn RemoveHostObjectFromScript(&self, name: &windows_core::PCWSTR) -> windows_core::Result<()>;
17891 fn add_Destroyed(
17892 &self,
17893 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameDestroyedEventHandler>,
17894 token: *mut i64,
17895 ) -> windows_core::Result<()>;
17896 fn remove_Destroyed(&self, token: i64) -> windows_core::Result<()>;
17897 fn IsDestroyed(&self, destroyed: *mut windows_core::BOOL) -> windows_core::Result<()>;
17898}
17899impl ICoreWebView2Frame_Vtbl {
17900 pub const fn new<Identity: ICoreWebView2Frame_Impl, const OFFSET: isize>() -> Self {
17901 unsafe extern "system" fn Name<Identity: ICoreWebView2Frame_Impl, const OFFSET: isize>(
17902 this: *mut core::ffi::c_void,
17903 name: *mut windows_core::PWSTR,
17904 ) -> windows_core::HRESULT {
17905 unsafe {
17906 let this: &Identity =
17907 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17908 ICoreWebView2Frame_Impl::Name(this, core::mem::transmute_copy(&name)).into()
17909 }
17910 }
17911 unsafe extern "system" fn add_NameChanged<
17912 Identity: ICoreWebView2Frame_Impl,
17913 const OFFSET: isize,
17914 >(
17915 this: *mut core::ffi::c_void,
17916 eventhandler: *mut core::ffi::c_void,
17917 token: *mut i64,
17918 ) -> windows_core::HRESULT {
17919 unsafe {
17920 let this: &Identity =
17921 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17922 ICoreWebView2Frame_Impl::add_NameChanged(
17923 this,
17924 core::mem::transmute_copy(&eventhandler),
17925 core::mem::transmute_copy(&token),
17926 )
17927 .into()
17928 }
17929 }
17930 unsafe extern "system" fn remove_NameChanged<
17931 Identity: ICoreWebView2Frame_Impl,
17932 const OFFSET: isize,
17933 >(
17934 this: *mut core::ffi::c_void,
17935 token: i64,
17936 ) -> windows_core::HRESULT {
17937 unsafe {
17938 let this: &Identity =
17939 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17940 ICoreWebView2Frame_Impl::remove_NameChanged(this, core::mem::transmute_copy(&token))
17941 .into()
17942 }
17943 }
17944 unsafe extern "system" fn AddHostObjectToScriptWithOrigins<
17945 Identity: ICoreWebView2Frame_Impl,
17946 const OFFSET: isize,
17947 >(
17948 this: *mut core::ffi::c_void,
17949 name: windows_core::PCWSTR,
17950 object: *mut windows::Win32::System::Variant::VARIANT,
17951 originscount: u32,
17952 origins: *const windows_core::PCWSTR,
17953 ) -> windows_core::HRESULT {
17954 unsafe {
17955 let this: &Identity =
17956 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17957 ICoreWebView2Frame_Impl::AddHostObjectToScriptWithOrigins(
17958 this,
17959 core::mem::transmute(&name),
17960 core::mem::transmute_copy(&object),
17961 core::mem::transmute_copy(&originscount),
17962 core::mem::transmute_copy(&origins),
17963 )
17964 .into()
17965 }
17966 }
17967 unsafe extern "system" fn RemoveHostObjectFromScript<
17968 Identity: ICoreWebView2Frame_Impl,
17969 const OFFSET: isize,
17970 >(
17971 this: *mut core::ffi::c_void,
17972 name: windows_core::PCWSTR,
17973 ) -> windows_core::HRESULT {
17974 unsafe {
17975 let this: &Identity =
17976 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17977 ICoreWebView2Frame_Impl::RemoveHostObjectFromScript(
17978 this,
17979 core::mem::transmute(&name),
17980 )
17981 .into()
17982 }
17983 }
17984 unsafe extern "system" fn add_Destroyed<
17985 Identity: ICoreWebView2Frame_Impl,
17986 const OFFSET: isize,
17987 >(
17988 this: *mut core::ffi::c_void,
17989 eventhandler: *mut core::ffi::c_void,
17990 token: *mut i64,
17991 ) -> windows_core::HRESULT {
17992 unsafe {
17993 let this: &Identity =
17994 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17995 ICoreWebView2Frame_Impl::add_Destroyed(
17996 this,
17997 core::mem::transmute_copy(&eventhandler),
17998 core::mem::transmute_copy(&token),
17999 )
18000 .into()
18001 }
18002 }
18003 unsafe extern "system" fn remove_Destroyed<
18004 Identity: ICoreWebView2Frame_Impl,
18005 const OFFSET: isize,
18006 >(
18007 this: *mut core::ffi::c_void,
18008 token: i64,
18009 ) -> windows_core::HRESULT {
18010 unsafe {
18011 let this: &Identity =
18012 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18013 ICoreWebView2Frame_Impl::remove_Destroyed(this, core::mem::transmute_copy(&token))
18014 .into()
18015 }
18016 }
18017 unsafe extern "system" fn IsDestroyed<
18018 Identity: ICoreWebView2Frame_Impl,
18019 const OFFSET: isize,
18020 >(
18021 this: *mut core::ffi::c_void,
18022 destroyed: *mut windows_core::BOOL,
18023 ) -> windows_core::HRESULT {
18024 unsafe {
18025 let this: &Identity =
18026 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18027 ICoreWebView2Frame_Impl::IsDestroyed(this, core::mem::transmute_copy(&destroyed))
18028 .into()
18029 }
18030 }
18031 Self {
18032 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
18033 Name: Name::<Identity, OFFSET>,
18034 add_NameChanged: add_NameChanged::<Identity, OFFSET>,
18035 remove_NameChanged: remove_NameChanged::<Identity, OFFSET>,
18036 AddHostObjectToScriptWithOrigins: AddHostObjectToScriptWithOrigins::<Identity, OFFSET>,
18037 RemoveHostObjectFromScript: RemoveHostObjectFromScript::<Identity, OFFSET>,
18038 add_Destroyed: add_Destroyed::<Identity, OFFSET>,
18039 remove_Destroyed: remove_Destroyed::<Identity, OFFSET>,
18040 IsDestroyed: IsDestroyed::<Identity, OFFSET>,
18041 }
18042 }
18043 pub fn matches(iid: &windows_core::GUID) -> bool {
18044 iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
18045 }
18046}
18047impl windows_core::RuntimeName for ICoreWebView2Frame {}
18048windows_core::imp::define_interface!(
18049 ICoreWebView2Frame2,
18050 ICoreWebView2Frame2_Vtbl,
18051 0x7a6a5834_d185_4dbf_b63f_4a9bc43107d4
18052);
18053impl core::ops::Deref for ICoreWebView2Frame2 {
18054 type Target = ICoreWebView2Frame;
18055 fn deref(&self) -> &Self::Target {
18056 unsafe { core::mem::transmute(self) }
18057 }
18058}
18059windows_core::imp::interface_hierarchy!(
18060 ICoreWebView2Frame2,
18061 windows_core::IUnknown,
18062 ICoreWebView2Frame
18063);
18064impl ICoreWebView2Frame2 {
18065 pub unsafe fn add_NavigationStarting<P0>(
18066 &self,
18067 eventhandler: P0,
18068 token: *mut i64,
18069 ) -> windows_core::Result<()>
18070 where
18071 P0: windows_core::Param<ICoreWebView2FrameNavigationStartingEventHandler>,
18072 {
18073 unsafe {
18074 (windows_core::Interface::vtable(self).add_NavigationStarting)(
18075 windows_core::Interface::as_raw(self),
18076 eventhandler.param().abi(),
18077 token as _,
18078 )
18079 .ok()
18080 }
18081 }
18082 pub unsafe fn remove_NavigationStarting(&self, token: i64) -> windows_core::Result<()> {
18083 unsafe {
18084 (windows_core::Interface::vtable(self).remove_NavigationStarting)(
18085 windows_core::Interface::as_raw(self),
18086 token,
18087 )
18088 .ok()
18089 }
18090 }
18091 pub unsafe fn add_ContentLoading<P0>(
18092 &self,
18093 eventhandler: P0,
18094 token: *mut i64,
18095 ) -> windows_core::Result<()>
18096 where
18097 P0: windows_core::Param<ICoreWebView2FrameContentLoadingEventHandler>,
18098 {
18099 unsafe {
18100 (windows_core::Interface::vtable(self).add_ContentLoading)(
18101 windows_core::Interface::as_raw(self),
18102 eventhandler.param().abi(),
18103 token as _,
18104 )
18105 .ok()
18106 }
18107 }
18108 pub unsafe fn remove_ContentLoading(&self, token: i64) -> windows_core::Result<()> {
18109 unsafe {
18110 (windows_core::Interface::vtable(self).remove_ContentLoading)(
18111 windows_core::Interface::as_raw(self),
18112 token,
18113 )
18114 .ok()
18115 }
18116 }
18117 pub unsafe fn add_NavigationCompleted<P0>(
18118 &self,
18119 eventhandler: P0,
18120 token: *mut i64,
18121 ) -> windows_core::Result<()>
18122 where
18123 P0: windows_core::Param<ICoreWebView2FrameNavigationCompletedEventHandler>,
18124 {
18125 unsafe {
18126 (windows_core::Interface::vtable(self).add_NavigationCompleted)(
18127 windows_core::Interface::as_raw(self),
18128 eventhandler.param().abi(),
18129 token as _,
18130 )
18131 .ok()
18132 }
18133 }
18134 pub unsafe fn remove_NavigationCompleted(&self, token: i64) -> windows_core::Result<()> {
18135 unsafe {
18136 (windows_core::Interface::vtable(self).remove_NavigationCompleted)(
18137 windows_core::Interface::as_raw(self),
18138 token,
18139 )
18140 .ok()
18141 }
18142 }
18143 pub unsafe fn add_DOMContentLoaded<P0>(
18144 &self,
18145 eventhandler: P0,
18146 token: *mut i64,
18147 ) -> windows_core::Result<()>
18148 where
18149 P0: windows_core::Param<ICoreWebView2FrameDOMContentLoadedEventHandler>,
18150 {
18151 unsafe {
18152 (windows_core::Interface::vtable(self).add_DOMContentLoaded)(
18153 windows_core::Interface::as_raw(self),
18154 eventhandler.param().abi(),
18155 token as _,
18156 )
18157 .ok()
18158 }
18159 }
18160 pub unsafe fn remove_DOMContentLoaded(&self, token: i64) -> windows_core::Result<()> {
18161 unsafe {
18162 (windows_core::Interface::vtable(self).remove_DOMContentLoaded)(
18163 windows_core::Interface::as_raw(self),
18164 token,
18165 )
18166 .ok()
18167 }
18168 }
18169 pub unsafe fn ExecuteScript<P0, P1>(
18170 &self,
18171 javascript: P0,
18172 handler: P1,
18173 ) -> windows_core::Result<()>
18174 where
18175 P0: windows_core::Param<windows_core::PCWSTR>,
18176 P1: windows_core::Param<ICoreWebView2ExecuteScriptCompletedHandler>,
18177 {
18178 unsafe {
18179 (windows_core::Interface::vtable(self).ExecuteScript)(
18180 windows_core::Interface::as_raw(self),
18181 javascript.param().abi(),
18182 handler.param().abi(),
18183 )
18184 .ok()
18185 }
18186 }
18187 pub unsafe fn PostWebMessageAsJson<P0>(&self, webmessageasjson: P0) -> windows_core::Result<()>
18188 where
18189 P0: windows_core::Param<windows_core::PCWSTR>,
18190 {
18191 unsafe {
18192 (windows_core::Interface::vtable(self).PostWebMessageAsJson)(
18193 windows_core::Interface::as_raw(self),
18194 webmessageasjson.param().abi(),
18195 )
18196 .ok()
18197 }
18198 }
18199 pub unsafe fn PostWebMessageAsString<P0>(
18200 &self,
18201 webmessageasstring: P0,
18202 ) -> windows_core::Result<()>
18203 where
18204 P0: windows_core::Param<windows_core::PCWSTR>,
18205 {
18206 unsafe {
18207 (windows_core::Interface::vtable(self).PostWebMessageAsString)(
18208 windows_core::Interface::as_raw(self),
18209 webmessageasstring.param().abi(),
18210 )
18211 .ok()
18212 }
18213 }
18214 pub unsafe fn add_WebMessageReceived<P0>(
18215 &self,
18216 handler: P0,
18217 token: *mut i64,
18218 ) -> windows_core::Result<()>
18219 where
18220 P0: windows_core::Param<ICoreWebView2FrameWebMessageReceivedEventHandler>,
18221 {
18222 unsafe {
18223 (windows_core::Interface::vtable(self).add_WebMessageReceived)(
18224 windows_core::Interface::as_raw(self),
18225 handler.param().abi(),
18226 token as _,
18227 )
18228 .ok()
18229 }
18230 }
18231 pub unsafe fn remove_WebMessageReceived(&self, token: i64) -> windows_core::Result<()> {
18232 unsafe {
18233 (windows_core::Interface::vtable(self).remove_WebMessageReceived)(
18234 windows_core::Interface::as_raw(self),
18235 token,
18236 )
18237 .ok()
18238 }
18239 }
18240}
18241#[repr(C)]
18242#[doc(hidden)]
18243pub struct ICoreWebView2Frame2_Vtbl {
18244 pub base__: ICoreWebView2Frame_Vtbl,
18245 pub add_NavigationStarting: unsafe extern "system" fn(
18246 *mut core::ffi::c_void,
18247 *mut core::ffi::c_void,
18248 *mut i64,
18249 ) -> windows_core::HRESULT,
18250 pub remove_NavigationStarting:
18251 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18252 pub add_ContentLoading: unsafe extern "system" fn(
18253 *mut core::ffi::c_void,
18254 *mut core::ffi::c_void,
18255 *mut i64,
18256 ) -> windows_core::HRESULT,
18257 pub remove_ContentLoading:
18258 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18259 pub add_NavigationCompleted: unsafe extern "system" fn(
18260 *mut core::ffi::c_void,
18261 *mut core::ffi::c_void,
18262 *mut i64,
18263 ) -> windows_core::HRESULT,
18264 pub remove_NavigationCompleted:
18265 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18266 pub add_DOMContentLoaded: unsafe extern "system" fn(
18267 *mut core::ffi::c_void,
18268 *mut core::ffi::c_void,
18269 *mut i64,
18270 ) -> windows_core::HRESULT,
18271 pub remove_DOMContentLoaded:
18272 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18273 pub ExecuteScript: unsafe extern "system" fn(
18274 *mut core::ffi::c_void,
18275 windows_core::PCWSTR,
18276 *mut core::ffi::c_void,
18277 ) -> windows_core::HRESULT,
18278 pub PostWebMessageAsJson: unsafe extern "system" fn(
18279 *mut core::ffi::c_void,
18280 windows_core::PCWSTR,
18281 ) -> windows_core::HRESULT,
18282 pub PostWebMessageAsString: unsafe extern "system" fn(
18283 *mut core::ffi::c_void,
18284 windows_core::PCWSTR,
18285 ) -> windows_core::HRESULT,
18286 pub add_WebMessageReceived: unsafe extern "system" fn(
18287 *mut core::ffi::c_void,
18288 *mut core::ffi::c_void,
18289 *mut i64,
18290 ) -> windows_core::HRESULT,
18291 pub remove_WebMessageReceived:
18292 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18293}
18294pub trait ICoreWebView2Frame2_Impl: ICoreWebView2Frame_Impl {
18295 fn add_NavigationStarting(
18296 &self,
18297 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameNavigationStartingEventHandler>,
18298 token: *mut i64,
18299 ) -> windows_core::Result<()>;
18300 fn remove_NavigationStarting(&self, token: i64) -> windows_core::Result<()>;
18301 fn add_ContentLoading(
18302 &self,
18303 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameContentLoadingEventHandler>,
18304 token: *mut i64,
18305 ) -> windows_core::Result<()>;
18306 fn remove_ContentLoading(&self, token: i64) -> windows_core::Result<()>;
18307 fn add_NavigationCompleted(
18308 &self,
18309 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameNavigationCompletedEventHandler>,
18310 token: *mut i64,
18311 ) -> windows_core::Result<()>;
18312 fn remove_NavigationCompleted(&self, token: i64) -> windows_core::Result<()>;
18313 fn add_DOMContentLoaded(
18314 &self,
18315 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameDOMContentLoadedEventHandler>,
18316 token: *mut i64,
18317 ) -> windows_core::Result<()>;
18318 fn remove_DOMContentLoaded(&self, token: i64) -> windows_core::Result<()>;
18319 fn ExecuteScript(
18320 &self,
18321 javascript: &windows_core::PCWSTR,
18322 handler: windows_core::Ref<'_, ICoreWebView2ExecuteScriptCompletedHandler>,
18323 ) -> windows_core::Result<()>;
18324 fn PostWebMessageAsJson(
18325 &self,
18326 webmessageasjson: &windows_core::PCWSTR,
18327 ) -> windows_core::Result<()>;
18328 fn PostWebMessageAsString(
18329 &self,
18330 webmessageasstring: &windows_core::PCWSTR,
18331 ) -> windows_core::Result<()>;
18332 fn add_WebMessageReceived(
18333 &self,
18334 handler: windows_core::Ref<'_, ICoreWebView2FrameWebMessageReceivedEventHandler>,
18335 token: *mut i64,
18336 ) -> windows_core::Result<()>;
18337 fn remove_WebMessageReceived(&self, token: i64) -> windows_core::Result<()>;
18338}
18339impl ICoreWebView2Frame2_Vtbl {
18340 pub const fn new<Identity: ICoreWebView2Frame2_Impl, const OFFSET: isize>() -> Self {
18341 unsafe extern "system" fn add_NavigationStarting<
18342 Identity: ICoreWebView2Frame2_Impl,
18343 const OFFSET: isize,
18344 >(
18345 this: *mut core::ffi::c_void,
18346 eventhandler: *mut core::ffi::c_void,
18347 token: *mut i64,
18348 ) -> windows_core::HRESULT {
18349 unsafe {
18350 let this: &Identity =
18351 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18352 ICoreWebView2Frame2_Impl::add_NavigationStarting(
18353 this,
18354 core::mem::transmute_copy(&eventhandler),
18355 core::mem::transmute_copy(&token),
18356 )
18357 .into()
18358 }
18359 }
18360 unsafe extern "system" fn remove_NavigationStarting<
18361 Identity: ICoreWebView2Frame2_Impl,
18362 const OFFSET: isize,
18363 >(
18364 this: *mut core::ffi::c_void,
18365 token: i64,
18366 ) -> windows_core::HRESULT {
18367 unsafe {
18368 let this: &Identity =
18369 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18370 ICoreWebView2Frame2_Impl::remove_NavigationStarting(
18371 this,
18372 core::mem::transmute_copy(&token),
18373 )
18374 .into()
18375 }
18376 }
18377 unsafe extern "system" fn add_ContentLoading<
18378 Identity: ICoreWebView2Frame2_Impl,
18379 const OFFSET: isize,
18380 >(
18381 this: *mut core::ffi::c_void,
18382 eventhandler: *mut core::ffi::c_void,
18383 token: *mut i64,
18384 ) -> windows_core::HRESULT {
18385 unsafe {
18386 let this: &Identity =
18387 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18388 ICoreWebView2Frame2_Impl::add_ContentLoading(
18389 this,
18390 core::mem::transmute_copy(&eventhandler),
18391 core::mem::transmute_copy(&token),
18392 )
18393 .into()
18394 }
18395 }
18396 unsafe extern "system" fn remove_ContentLoading<
18397 Identity: ICoreWebView2Frame2_Impl,
18398 const OFFSET: isize,
18399 >(
18400 this: *mut core::ffi::c_void,
18401 token: i64,
18402 ) -> windows_core::HRESULT {
18403 unsafe {
18404 let this: &Identity =
18405 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18406 ICoreWebView2Frame2_Impl::remove_ContentLoading(
18407 this,
18408 core::mem::transmute_copy(&token),
18409 )
18410 .into()
18411 }
18412 }
18413 unsafe extern "system" fn add_NavigationCompleted<
18414 Identity: ICoreWebView2Frame2_Impl,
18415 const OFFSET: isize,
18416 >(
18417 this: *mut core::ffi::c_void,
18418 eventhandler: *mut core::ffi::c_void,
18419 token: *mut i64,
18420 ) -> windows_core::HRESULT {
18421 unsafe {
18422 let this: &Identity =
18423 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18424 ICoreWebView2Frame2_Impl::add_NavigationCompleted(
18425 this,
18426 core::mem::transmute_copy(&eventhandler),
18427 core::mem::transmute_copy(&token),
18428 )
18429 .into()
18430 }
18431 }
18432 unsafe extern "system" fn remove_NavigationCompleted<
18433 Identity: ICoreWebView2Frame2_Impl,
18434 const OFFSET: isize,
18435 >(
18436 this: *mut core::ffi::c_void,
18437 token: i64,
18438 ) -> windows_core::HRESULT {
18439 unsafe {
18440 let this: &Identity =
18441 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18442 ICoreWebView2Frame2_Impl::remove_NavigationCompleted(
18443 this,
18444 core::mem::transmute_copy(&token),
18445 )
18446 .into()
18447 }
18448 }
18449 unsafe extern "system" fn add_DOMContentLoaded<
18450 Identity: ICoreWebView2Frame2_Impl,
18451 const OFFSET: isize,
18452 >(
18453 this: *mut core::ffi::c_void,
18454 eventhandler: *mut core::ffi::c_void,
18455 token: *mut i64,
18456 ) -> windows_core::HRESULT {
18457 unsafe {
18458 let this: &Identity =
18459 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18460 ICoreWebView2Frame2_Impl::add_DOMContentLoaded(
18461 this,
18462 core::mem::transmute_copy(&eventhandler),
18463 core::mem::transmute_copy(&token),
18464 )
18465 .into()
18466 }
18467 }
18468 unsafe extern "system" fn remove_DOMContentLoaded<
18469 Identity: ICoreWebView2Frame2_Impl,
18470 const OFFSET: isize,
18471 >(
18472 this: *mut core::ffi::c_void,
18473 token: i64,
18474 ) -> windows_core::HRESULT {
18475 unsafe {
18476 let this: &Identity =
18477 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18478 ICoreWebView2Frame2_Impl::remove_DOMContentLoaded(
18479 this,
18480 core::mem::transmute_copy(&token),
18481 )
18482 .into()
18483 }
18484 }
18485 unsafe extern "system" fn ExecuteScript<
18486 Identity: ICoreWebView2Frame2_Impl,
18487 const OFFSET: isize,
18488 >(
18489 this: *mut core::ffi::c_void,
18490 javascript: windows_core::PCWSTR,
18491 handler: *mut core::ffi::c_void,
18492 ) -> windows_core::HRESULT {
18493 unsafe {
18494 let this: &Identity =
18495 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18496 ICoreWebView2Frame2_Impl::ExecuteScript(
18497 this,
18498 core::mem::transmute(&javascript),
18499 core::mem::transmute_copy(&handler),
18500 )
18501 .into()
18502 }
18503 }
18504 unsafe extern "system" fn PostWebMessageAsJson<
18505 Identity: ICoreWebView2Frame2_Impl,
18506 const OFFSET: isize,
18507 >(
18508 this: *mut core::ffi::c_void,
18509 webmessageasjson: windows_core::PCWSTR,
18510 ) -> windows_core::HRESULT {
18511 unsafe {
18512 let this: &Identity =
18513 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18514 ICoreWebView2Frame2_Impl::PostWebMessageAsJson(
18515 this,
18516 core::mem::transmute(&webmessageasjson),
18517 )
18518 .into()
18519 }
18520 }
18521 unsafe extern "system" fn PostWebMessageAsString<
18522 Identity: ICoreWebView2Frame2_Impl,
18523 const OFFSET: isize,
18524 >(
18525 this: *mut core::ffi::c_void,
18526 webmessageasstring: windows_core::PCWSTR,
18527 ) -> windows_core::HRESULT {
18528 unsafe {
18529 let this: &Identity =
18530 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18531 ICoreWebView2Frame2_Impl::PostWebMessageAsString(
18532 this,
18533 core::mem::transmute(&webmessageasstring),
18534 )
18535 .into()
18536 }
18537 }
18538 unsafe extern "system" fn add_WebMessageReceived<
18539 Identity: ICoreWebView2Frame2_Impl,
18540 const OFFSET: isize,
18541 >(
18542 this: *mut core::ffi::c_void,
18543 handler: *mut core::ffi::c_void,
18544 token: *mut i64,
18545 ) -> windows_core::HRESULT {
18546 unsafe {
18547 let this: &Identity =
18548 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18549 ICoreWebView2Frame2_Impl::add_WebMessageReceived(
18550 this,
18551 core::mem::transmute_copy(&handler),
18552 core::mem::transmute_copy(&token),
18553 )
18554 .into()
18555 }
18556 }
18557 unsafe extern "system" fn remove_WebMessageReceived<
18558 Identity: ICoreWebView2Frame2_Impl,
18559 const OFFSET: isize,
18560 >(
18561 this: *mut core::ffi::c_void,
18562 token: i64,
18563 ) -> windows_core::HRESULT {
18564 unsafe {
18565 let this: &Identity =
18566 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18567 ICoreWebView2Frame2_Impl::remove_WebMessageReceived(
18568 this,
18569 core::mem::transmute_copy(&token),
18570 )
18571 .into()
18572 }
18573 }
18574 Self {
18575 base__: ICoreWebView2Frame_Vtbl::new::<Identity, OFFSET>(),
18576 add_NavigationStarting: add_NavigationStarting::<Identity, OFFSET>,
18577 remove_NavigationStarting: remove_NavigationStarting::<Identity, OFFSET>,
18578 add_ContentLoading: add_ContentLoading::<Identity, OFFSET>,
18579 remove_ContentLoading: remove_ContentLoading::<Identity, OFFSET>,
18580 add_NavigationCompleted: add_NavigationCompleted::<Identity, OFFSET>,
18581 remove_NavigationCompleted: remove_NavigationCompleted::<Identity, OFFSET>,
18582 add_DOMContentLoaded: add_DOMContentLoaded::<Identity, OFFSET>,
18583 remove_DOMContentLoaded: remove_DOMContentLoaded::<Identity, OFFSET>,
18584 ExecuteScript: ExecuteScript::<Identity, OFFSET>,
18585 PostWebMessageAsJson: PostWebMessageAsJson::<Identity, OFFSET>,
18586 PostWebMessageAsString: PostWebMessageAsString::<Identity, OFFSET>,
18587 add_WebMessageReceived: add_WebMessageReceived::<Identity, OFFSET>,
18588 remove_WebMessageReceived: remove_WebMessageReceived::<Identity, OFFSET>,
18589 }
18590 }
18591 pub fn matches(iid: &windows_core::GUID) -> bool {
18592 iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
18593 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
18594 }
18595}
18596impl windows_core::RuntimeName for ICoreWebView2Frame2 {}
18597windows_core::imp::define_interface!(
18598 ICoreWebView2Frame3,
18599 ICoreWebView2Frame3_Vtbl,
18600 0xb50d82cc_cc28_481d_9614_cb048895e6a0
18601);
18602impl core::ops::Deref for ICoreWebView2Frame3 {
18603 type Target = ICoreWebView2Frame2;
18604 fn deref(&self) -> &Self::Target {
18605 unsafe { core::mem::transmute(self) }
18606 }
18607}
18608windows_core::imp::interface_hierarchy!(
18609 ICoreWebView2Frame3,
18610 windows_core::IUnknown,
18611 ICoreWebView2Frame,
18612 ICoreWebView2Frame2
18613);
18614impl ICoreWebView2Frame3 {
18615 pub unsafe fn add_PermissionRequested<P0>(
18616 &self,
18617 eventhandler: P0,
18618 token: *mut i64,
18619 ) -> windows_core::Result<()>
18620 where
18621 P0: windows_core::Param<ICoreWebView2FramePermissionRequestedEventHandler>,
18622 {
18623 unsafe {
18624 (windows_core::Interface::vtable(self).add_PermissionRequested)(
18625 windows_core::Interface::as_raw(self),
18626 eventhandler.param().abi(),
18627 token as _,
18628 )
18629 .ok()
18630 }
18631 }
18632 pub unsafe fn remove_PermissionRequested(&self, token: i64) -> windows_core::Result<()> {
18633 unsafe {
18634 (windows_core::Interface::vtable(self).remove_PermissionRequested)(
18635 windows_core::Interface::as_raw(self),
18636 token,
18637 )
18638 .ok()
18639 }
18640 }
18641}
18642#[repr(C)]
18643#[doc(hidden)]
18644pub struct ICoreWebView2Frame3_Vtbl {
18645 pub base__: ICoreWebView2Frame2_Vtbl,
18646 pub add_PermissionRequested: unsafe extern "system" fn(
18647 *mut core::ffi::c_void,
18648 *mut core::ffi::c_void,
18649 *mut i64,
18650 ) -> windows_core::HRESULT,
18651 pub remove_PermissionRequested:
18652 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18653}
18654pub trait ICoreWebView2Frame3_Impl: ICoreWebView2Frame2_Impl {
18655 fn add_PermissionRequested(
18656 &self,
18657 eventhandler: windows_core::Ref<'_, ICoreWebView2FramePermissionRequestedEventHandler>,
18658 token: *mut i64,
18659 ) -> windows_core::Result<()>;
18660 fn remove_PermissionRequested(&self, token: i64) -> windows_core::Result<()>;
18661}
18662impl ICoreWebView2Frame3_Vtbl {
18663 pub const fn new<Identity: ICoreWebView2Frame3_Impl, const OFFSET: isize>() -> Self {
18664 unsafe extern "system" fn add_PermissionRequested<
18665 Identity: ICoreWebView2Frame3_Impl,
18666 const OFFSET: isize,
18667 >(
18668 this: *mut core::ffi::c_void,
18669 eventhandler: *mut core::ffi::c_void,
18670 token: *mut i64,
18671 ) -> windows_core::HRESULT {
18672 unsafe {
18673 let this: &Identity =
18674 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18675 ICoreWebView2Frame3_Impl::add_PermissionRequested(
18676 this,
18677 core::mem::transmute_copy(&eventhandler),
18678 core::mem::transmute_copy(&token),
18679 )
18680 .into()
18681 }
18682 }
18683 unsafe extern "system" fn remove_PermissionRequested<
18684 Identity: ICoreWebView2Frame3_Impl,
18685 const OFFSET: isize,
18686 >(
18687 this: *mut core::ffi::c_void,
18688 token: i64,
18689 ) -> windows_core::HRESULT {
18690 unsafe {
18691 let this: &Identity =
18692 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18693 ICoreWebView2Frame3_Impl::remove_PermissionRequested(
18694 this,
18695 core::mem::transmute_copy(&token),
18696 )
18697 .into()
18698 }
18699 }
18700 Self {
18701 base__: ICoreWebView2Frame2_Vtbl::new::<Identity, OFFSET>(),
18702 add_PermissionRequested: add_PermissionRequested::<Identity, OFFSET>,
18703 remove_PermissionRequested: remove_PermissionRequested::<Identity, OFFSET>,
18704 }
18705 }
18706 pub fn matches(iid: &windows_core::GUID) -> bool {
18707 iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
18708 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
18709 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
18710 }
18711}
18712impl windows_core::RuntimeName for ICoreWebView2Frame3 {}
18713windows_core::imp::define_interface!(
18714 ICoreWebView2Frame4,
18715 ICoreWebView2Frame4_Vtbl,
18716 0x188782dc_92aa_4732_ab3c_fcc59f6f68b9
18717);
18718impl core::ops::Deref for ICoreWebView2Frame4 {
18719 type Target = ICoreWebView2Frame3;
18720 fn deref(&self) -> &Self::Target {
18721 unsafe { core::mem::transmute(self) }
18722 }
18723}
18724windows_core::imp::interface_hierarchy!(
18725 ICoreWebView2Frame4,
18726 windows_core::IUnknown,
18727 ICoreWebView2Frame,
18728 ICoreWebView2Frame2,
18729 ICoreWebView2Frame3
18730);
18731impl ICoreWebView2Frame4 {
18732 pub unsafe fn PostSharedBufferToScript<P0, P2>(
18733 &self,
18734 sharedbuffer: P0,
18735 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
18736 additionaldataasjson: P2,
18737 ) -> windows_core::Result<()>
18738 where
18739 P0: windows_core::Param<ICoreWebView2SharedBuffer>,
18740 P2: windows_core::Param<windows_core::PCWSTR>,
18741 {
18742 unsafe {
18743 (windows_core::Interface::vtable(self).PostSharedBufferToScript)(
18744 windows_core::Interface::as_raw(self),
18745 sharedbuffer.param().abi(),
18746 access,
18747 additionaldataasjson.param().abi(),
18748 )
18749 .ok()
18750 }
18751 }
18752}
18753#[repr(C)]
18754#[doc(hidden)]
18755pub struct ICoreWebView2Frame4_Vtbl {
18756 pub base__: ICoreWebView2Frame3_Vtbl,
18757 pub PostSharedBufferToScript: unsafe extern "system" fn(
18758 *mut core::ffi::c_void,
18759 *mut core::ffi::c_void,
18760 COREWEBVIEW2_SHARED_BUFFER_ACCESS,
18761 windows_core::PCWSTR,
18762 ) -> windows_core::HRESULT,
18763}
18764pub trait ICoreWebView2Frame4_Impl: ICoreWebView2Frame3_Impl {
18765 fn PostSharedBufferToScript(
18766 &self,
18767 sharedbuffer: windows_core::Ref<'_, ICoreWebView2SharedBuffer>,
18768 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
18769 additionaldataasjson: &windows_core::PCWSTR,
18770 ) -> windows_core::Result<()>;
18771}
18772impl ICoreWebView2Frame4_Vtbl {
18773 pub const fn new<Identity: ICoreWebView2Frame4_Impl, const OFFSET: isize>() -> Self {
18774 unsafe extern "system" fn PostSharedBufferToScript<
18775 Identity: ICoreWebView2Frame4_Impl,
18776 const OFFSET: isize,
18777 >(
18778 this: *mut core::ffi::c_void,
18779 sharedbuffer: *mut core::ffi::c_void,
18780 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
18781 additionaldataasjson: windows_core::PCWSTR,
18782 ) -> windows_core::HRESULT {
18783 unsafe {
18784 let this: &Identity =
18785 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18786 ICoreWebView2Frame4_Impl::PostSharedBufferToScript(
18787 this,
18788 core::mem::transmute_copy(&sharedbuffer),
18789 core::mem::transmute_copy(&access),
18790 core::mem::transmute(&additionaldataasjson),
18791 )
18792 .into()
18793 }
18794 }
18795 Self {
18796 base__: ICoreWebView2Frame3_Vtbl::new::<Identity, OFFSET>(),
18797 PostSharedBufferToScript: PostSharedBufferToScript::<Identity, OFFSET>,
18798 }
18799 }
18800 pub fn matches(iid: &windows_core::GUID) -> bool {
18801 iid == &<ICoreWebView2Frame4 as windows_core::Interface>::IID
18802 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
18803 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
18804 || iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
18805 }
18806}
18807impl windows_core::RuntimeName for ICoreWebView2Frame4 {}
18808windows_core::imp::define_interface!(
18809 ICoreWebView2Frame5,
18810 ICoreWebView2Frame5_Vtbl,
18811 0x99d199c4_7305_11ee_b962_0242ac120002
18812);
18813impl core::ops::Deref for ICoreWebView2Frame5 {
18814 type Target = ICoreWebView2Frame4;
18815 fn deref(&self) -> &Self::Target {
18816 unsafe { core::mem::transmute(self) }
18817 }
18818}
18819windows_core::imp::interface_hierarchy!(
18820 ICoreWebView2Frame5,
18821 windows_core::IUnknown,
18822 ICoreWebView2Frame,
18823 ICoreWebView2Frame2,
18824 ICoreWebView2Frame3,
18825 ICoreWebView2Frame4
18826);
18827impl ICoreWebView2Frame5 {
18828 pub unsafe fn FrameId(&self, value: *mut u32) -> windows_core::Result<()> {
18829 unsafe {
18830 (windows_core::Interface::vtable(self).FrameId)(
18831 windows_core::Interface::as_raw(self),
18832 value as _,
18833 )
18834 .ok()
18835 }
18836 }
18837}
18838#[repr(C)]
18839#[doc(hidden)]
18840pub struct ICoreWebView2Frame5_Vtbl {
18841 pub base__: ICoreWebView2Frame4_Vtbl,
18842 pub FrameId:
18843 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
18844}
18845pub trait ICoreWebView2Frame5_Impl: ICoreWebView2Frame4_Impl {
18846 fn FrameId(&self, value: *mut u32) -> windows_core::Result<()>;
18847}
18848impl ICoreWebView2Frame5_Vtbl {
18849 pub const fn new<Identity: ICoreWebView2Frame5_Impl, const OFFSET: isize>() -> Self {
18850 unsafe extern "system" fn FrameId<
18851 Identity: ICoreWebView2Frame5_Impl,
18852 const OFFSET: isize,
18853 >(
18854 this: *mut core::ffi::c_void,
18855 value: *mut u32,
18856 ) -> windows_core::HRESULT {
18857 unsafe {
18858 let this: &Identity =
18859 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18860 ICoreWebView2Frame5_Impl::FrameId(this, core::mem::transmute_copy(&value)).into()
18861 }
18862 }
18863 Self {
18864 base__: ICoreWebView2Frame4_Vtbl::new::<Identity, OFFSET>(),
18865 FrameId: FrameId::<Identity, OFFSET>,
18866 }
18867 }
18868 pub fn matches(iid: &windows_core::GUID) -> bool {
18869 iid == &<ICoreWebView2Frame5 as windows_core::Interface>::IID
18870 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
18871 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
18872 || iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
18873 || iid == &<ICoreWebView2Frame4 as windows_core::Interface>::IID
18874 }
18875}
18876impl windows_core::RuntimeName for ICoreWebView2Frame5 {}
18877windows_core::imp::define_interface!(
18878 ICoreWebView2Frame6,
18879 ICoreWebView2Frame6_Vtbl,
18880 0x0de611fd_31e9_5ddc_9d71_95eda26eff32
18881);
18882impl core::ops::Deref for ICoreWebView2Frame6 {
18883 type Target = ICoreWebView2Frame5;
18884 fn deref(&self) -> &Self::Target {
18885 unsafe { core::mem::transmute(self) }
18886 }
18887}
18888windows_core::imp::interface_hierarchy!(
18889 ICoreWebView2Frame6,
18890 windows_core::IUnknown,
18891 ICoreWebView2Frame,
18892 ICoreWebView2Frame2,
18893 ICoreWebView2Frame3,
18894 ICoreWebView2Frame4,
18895 ICoreWebView2Frame5
18896);
18897impl ICoreWebView2Frame6 {
18898 pub unsafe fn add_ScreenCaptureStarting<P0>(
18899 &self,
18900 eventhandler: P0,
18901 token: *mut i64,
18902 ) -> windows_core::Result<()>
18903 where
18904 P0: windows_core::Param<ICoreWebView2FrameScreenCaptureStartingEventHandler>,
18905 {
18906 unsafe {
18907 (windows_core::Interface::vtable(self).add_ScreenCaptureStarting)(
18908 windows_core::Interface::as_raw(self),
18909 eventhandler.param().abi(),
18910 token as _,
18911 )
18912 .ok()
18913 }
18914 }
18915 pub unsafe fn remove_ScreenCaptureStarting(&self, token: i64) -> windows_core::Result<()> {
18916 unsafe {
18917 (windows_core::Interface::vtable(self).remove_ScreenCaptureStarting)(
18918 windows_core::Interface::as_raw(self),
18919 token,
18920 )
18921 .ok()
18922 }
18923 }
18924}
18925#[repr(C)]
18926#[doc(hidden)]
18927pub struct ICoreWebView2Frame6_Vtbl {
18928 pub base__: ICoreWebView2Frame5_Vtbl,
18929 pub add_ScreenCaptureStarting: unsafe extern "system" fn(
18930 *mut core::ffi::c_void,
18931 *mut core::ffi::c_void,
18932 *mut i64,
18933 ) -> windows_core::HRESULT,
18934 pub remove_ScreenCaptureStarting:
18935 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18936}
18937pub trait ICoreWebView2Frame6_Impl: ICoreWebView2Frame5_Impl {
18938 fn add_ScreenCaptureStarting(
18939 &self,
18940 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameScreenCaptureStartingEventHandler>,
18941 token: *mut i64,
18942 ) -> windows_core::Result<()>;
18943 fn remove_ScreenCaptureStarting(&self, token: i64) -> windows_core::Result<()>;
18944}
18945impl ICoreWebView2Frame6_Vtbl {
18946 pub const fn new<Identity: ICoreWebView2Frame6_Impl, const OFFSET: isize>() -> Self {
18947 unsafe extern "system" fn add_ScreenCaptureStarting<
18948 Identity: ICoreWebView2Frame6_Impl,
18949 const OFFSET: isize,
18950 >(
18951 this: *mut core::ffi::c_void,
18952 eventhandler: *mut core::ffi::c_void,
18953 token: *mut i64,
18954 ) -> windows_core::HRESULT {
18955 unsafe {
18956 let this: &Identity =
18957 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18958 ICoreWebView2Frame6_Impl::add_ScreenCaptureStarting(
18959 this,
18960 core::mem::transmute_copy(&eventhandler),
18961 core::mem::transmute_copy(&token),
18962 )
18963 .into()
18964 }
18965 }
18966 unsafe extern "system" fn remove_ScreenCaptureStarting<
18967 Identity: ICoreWebView2Frame6_Impl,
18968 const OFFSET: isize,
18969 >(
18970 this: *mut core::ffi::c_void,
18971 token: i64,
18972 ) -> windows_core::HRESULT {
18973 unsafe {
18974 let this: &Identity =
18975 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18976 ICoreWebView2Frame6_Impl::remove_ScreenCaptureStarting(
18977 this,
18978 core::mem::transmute_copy(&token),
18979 )
18980 .into()
18981 }
18982 }
18983 Self {
18984 base__: ICoreWebView2Frame5_Vtbl::new::<Identity, OFFSET>(),
18985 add_ScreenCaptureStarting: add_ScreenCaptureStarting::<Identity, OFFSET>,
18986 remove_ScreenCaptureStarting: remove_ScreenCaptureStarting::<Identity, OFFSET>,
18987 }
18988 }
18989 pub fn matches(iid: &windows_core::GUID) -> bool {
18990 iid == &<ICoreWebView2Frame6 as windows_core::Interface>::IID
18991 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
18992 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
18993 || iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
18994 || iid == &<ICoreWebView2Frame4 as windows_core::Interface>::IID
18995 || iid == &<ICoreWebView2Frame5 as windows_core::Interface>::IID
18996 }
18997}
18998impl windows_core::RuntimeName for ICoreWebView2Frame6 {}
18999windows_core::imp::define_interface!(
19000 ICoreWebView2Frame7,
19001 ICoreWebView2Frame7_Vtbl,
19002 0x3598cfa2_d85d_5a9f_9228_4dde1f59ec64
19003);
19004impl core::ops::Deref for ICoreWebView2Frame7 {
19005 type Target = ICoreWebView2Frame6;
19006 fn deref(&self) -> &Self::Target {
19007 unsafe { core::mem::transmute(self) }
19008 }
19009}
19010windows_core::imp::interface_hierarchy!(
19011 ICoreWebView2Frame7,
19012 windows_core::IUnknown,
19013 ICoreWebView2Frame,
19014 ICoreWebView2Frame2,
19015 ICoreWebView2Frame3,
19016 ICoreWebView2Frame4,
19017 ICoreWebView2Frame5,
19018 ICoreWebView2Frame6
19019);
19020impl ICoreWebView2Frame7 {
19021 pub unsafe fn add_FrameCreated<P0>(
19022 &self,
19023 eventhandler: P0,
19024 token: *mut i64,
19025 ) -> windows_core::Result<()>
19026 where
19027 P0: windows_core::Param<ICoreWebView2FrameChildFrameCreatedEventHandler>,
19028 {
19029 unsafe {
19030 (windows_core::Interface::vtable(self).add_FrameCreated)(
19031 windows_core::Interface::as_raw(self),
19032 eventhandler.param().abi(),
19033 token as _,
19034 )
19035 .ok()
19036 }
19037 }
19038 pub unsafe fn remove_FrameCreated(&self, token: i64) -> windows_core::Result<()> {
19039 unsafe {
19040 (windows_core::Interface::vtable(self).remove_FrameCreated)(
19041 windows_core::Interface::as_raw(self),
19042 token,
19043 )
19044 .ok()
19045 }
19046 }
19047}
19048#[repr(C)]
19049#[doc(hidden)]
19050pub struct ICoreWebView2Frame7_Vtbl {
19051 pub base__: ICoreWebView2Frame6_Vtbl,
19052 pub add_FrameCreated: unsafe extern "system" fn(
19053 *mut core::ffi::c_void,
19054 *mut core::ffi::c_void,
19055 *mut i64,
19056 ) -> windows_core::HRESULT,
19057 pub remove_FrameCreated:
19058 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
19059}
19060pub trait ICoreWebView2Frame7_Impl: ICoreWebView2Frame6_Impl {
19061 fn add_FrameCreated(
19062 &self,
19063 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameChildFrameCreatedEventHandler>,
19064 token: *mut i64,
19065 ) -> windows_core::Result<()>;
19066 fn remove_FrameCreated(&self, token: i64) -> windows_core::Result<()>;
19067}
19068impl ICoreWebView2Frame7_Vtbl {
19069 pub const fn new<Identity: ICoreWebView2Frame7_Impl, const OFFSET: isize>() -> Self {
19070 unsafe extern "system" fn add_FrameCreated<
19071 Identity: ICoreWebView2Frame7_Impl,
19072 const OFFSET: isize,
19073 >(
19074 this: *mut core::ffi::c_void,
19075 eventhandler: *mut core::ffi::c_void,
19076 token: *mut i64,
19077 ) -> windows_core::HRESULT {
19078 unsafe {
19079 let this: &Identity =
19080 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19081 ICoreWebView2Frame7_Impl::add_FrameCreated(
19082 this,
19083 core::mem::transmute_copy(&eventhandler),
19084 core::mem::transmute_copy(&token),
19085 )
19086 .into()
19087 }
19088 }
19089 unsafe extern "system" fn remove_FrameCreated<
19090 Identity: ICoreWebView2Frame7_Impl,
19091 const OFFSET: isize,
19092 >(
19093 this: *mut core::ffi::c_void,
19094 token: i64,
19095 ) -> windows_core::HRESULT {
19096 unsafe {
19097 let this: &Identity =
19098 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19099 ICoreWebView2Frame7_Impl::remove_FrameCreated(
19100 this,
19101 core::mem::transmute_copy(&token),
19102 )
19103 .into()
19104 }
19105 }
19106 Self {
19107 base__: ICoreWebView2Frame6_Vtbl::new::<Identity, OFFSET>(),
19108 add_FrameCreated: add_FrameCreated::<Identity, OFFSET>,
19109 remove_FrameCreated: remove_FrameCreated::<Identity, OFFSET>,
19110 }
19111 }
19112 pub fn matches(iid: &windows_core::GUID) -> bool {
19113 iid == &<ICoreWebView2Frame7 as windows_core::Interface>::IID
19114 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
19115 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
19116 || iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
19117 || iid == &<ICoreWebView2Frame4 as windows_core::Interface>::IID
19118 || iid == &<ICoreWebView2Frame5 as windows_core::Interface>::IID
19119 || iid == &<ICoreWebView2Frame6 as windows_core::Interface>::IID
19120 }
19121}
19122impl windows_core::RuntimeName for ICoreWebView2Frame7 {}
19123windows_core::imp::define_interface!(
19124 ICoreWebView2FrameChildFrameCreatedEventHandler,
19125 ICoreWebView2FrameChildFrameCreatedEventHandler_Vtbl,
19126 0x569e40e7_46b7_563d_83ae_1073155664d7
19127);
19128windows_core::imp::interface_hierarchy!(
19129 ICoreWebView2FrameChildFrameCreatedEventHandler,
19130 windows_core::IUnknown
19131);
19132impl ICoreWebView2FrameChildFrameCreatedEventHandler {
19133 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19134 where
19135 P0: windows_core::Param<ICoreWebView2Frame>,
19136 P1: windows_core::Param<ICoreWebView2FrameCreatedEventArgs>,
19137 {
19138 unsafe {
19139 (windows_core::Interface::vtable(self).Invoke)(
19140 windows_core::Interface::as_raw(self),
19141 sender.param().abi(),
19142 args.param().abi(),
19143 )
19144 .ok()
19145 }
19146 }
19147}
19148#[repr(C)]
19149#[doc(hidden)]
19150pub struct ICoreWebView2FrameChildFrameCreatedEventHandler_Vtbl {
19151 pub base__: windows_core::IUnknown_Vtbl,
19152 pub Invoke: unsafe extern "system" fn(
19153 *mut core::ffi::c_void,
19154 *mut core::ffi::c_void,
19155 *mut core::ffi::c_void,
19156 ) -> windows_core::HRESULT,
19157}
19158pub trait ICoreWebView2FrameChildFrameCreatedEventHandler_Impl: windows_core::IUnknownImpl {
19159 fn Invoke(
19160 &self,
19161 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
19162 args: windows_core::Ref<'_, ICoreWebView2FrameCreatedEventArgs>,
19163 ) -> windows_core::Result<()>;
19164}
19165impl ICoreWebView2FrameChildFrameCreatedEventHandler_Vtbl {
19166 pub const fn new<
19167 Identity: ICoreWebView2FrameChildFrameCreatedEventHandler_Impl,
19168 const OFFSET: isize,
19169 >() -> Self {
19170 unsafe extern "system" fn Invoke<
19171 Identity: ICoreWebView2FrameChildFrameCreatedEventHandler_Impl,
19172 const OFFSET: isize,
19173 >(
19174 this: *mut core::ffi::c_void,
19175 sender: *mut core::ffi::c_void,
19176 args: *mut core::ffi::c_void,
19177 ) -> windows_core::HRESULT {
19178 unsafe {
19179 let this: &Identity =
19180 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19181 ICoreWebView2FrameChildFrameCreatedEventHandler_Impl::Invoke(
19182 this,
19183 core::mem::transmute_copy(&sender),
19184 core::mem::transmute_copy(&args),
19185 )
19186 .into()
19187 }
19188 }
19189 Self {
19190 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19191 Invoke: Invoke::<Identity, OFFSET>,
19192 }
19193 }
19194 pub fn matches(iid: &windows_core::GUID) -> bool {
19195 iid == &<ICoreWebView2FrameChildFrameCreatedEventHandler as windows_core::Interface>::IID
19196 }
19197}
19198impl windows_core::RuntimeName for ICoreWebView2FrameChildFrameCreatedEventHandler {}
19199windows_core::imp::define_interface!(
19200 ICoreWebView2FrameContentLoadingEventHandler,
19201 ICoreWebView2FrameContentLoadingEventHandler_Vtbl,
19202 0x0d6156f2_d332_49a7_9e03_7d8f2feeee54
19203);
19204windows_core::imp::interface_hierarchy!(
19205 ICoreWebView2FrameContentLoadingEventHandler,
19206 windows_core::IUnknown
19207);
19208impl ICoreWebView2FrameContentLoadingEventHandler {
19209 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19210 where
19211 P0: windows_core::Param<ICoreWebView2Frame>,
19212 P1: windows_core::Param<ICoreWebView2ContentLoadingEventArgs>,
19213 {
19214 unsafe {
19215 (windows_core::Interface::vtable(self).Invoke)(
19216 windows_core::Interface::as_raw(self),
19217 sender.param().abi(),
19218 args.param().abi(),
19219 )
19220 .ok()
19221 }
19222 }
19223}
19224#[repr(C)]
19225#[doc(hidden)]
19226pub struct ICoreWebView2FrameContentLoadingEventHandler_Vtbl {
19227 pub base__: windows_core::IUnknown_Vtbl,
19228 pub Invoke: unsafe extern "system" fn(
19229 *mut core::ffi::c_void,
19230 *mut core::ffi::c_void,
19231 *mut core::ffi::c_void,
19232 ) -> windows_core::HRESULT,
19233}
19234pub trait ICoreWebView2FrameContentLoadingEventHandler_Impl: windows_core::IUnknownImpl {
19235 fn Invoke(
19236 &self,
19237 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
19238 args: windows_core::Ref<'_, ICoreWebView2ContentLoadingEventArgs>,
19239 ) -> windows_core::Result<()>;
19240}
19241impl ICoreWebView2FrameContentLoadingEventHandler_Vtbl {
19242 pub const fn new<
19243 Identity: ICoreWebView2FrameContentLoadingEventHandler_Impl,
19244 const OFFSET: isize,
19245 >() -> Self {
19246 unsafe extern "system" fn Invoke<
19247 Identity: ICoreWebView2FrameContentLoadingEventHandler_Impl,
19248 const OFFSET: isize,
19249 >(
19250 this: *mut core::ffi::c_void,
19251 sender: *mut core::ffi::c_void,
19252 args: *mut core::ffi::c_void,
19253 ) -> windows_core::HRESULT {
19254 unsafe {
19255 let this: &Identity =
19256 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19257 ICoreWebView2FrameContentLoadingEventHandler_Impl::Invoke(
19258 this,
19259 core::mem::transmute_copy(&sender),
19260 core::mem::transmute_copy(&args),
19261 )
19262 .into()
19263 }
19264 }
19265 Self {
19266 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19267 Invoke: Invoke::<Identity, OFFSET>,
19268 }
19269 }
19270 pub fn matches(iid: &windows_core::GUID) -> bool {
19271 iid == &<ICoreWebView2FrameContentLoadingEventHandler as windows_core::Interface>::IID
19272 }
19273}
19274impl windows_core::RuntimeName for ICoreWebView2FrameContentLoadingEventHandler {}
19275windows_core::imp::define_interface!(
19276 ICoreWebView2FrameCreatedEventArgs,
19277 ICoreWebView2FrameCreatedEventArgs_Vtbl,
19278 0x4d6e7b5e_9baa_11eb_a8b3_0242ac130003
19279);
19280windows_core::imp::interface_hierarchy!(ICoreWebView2FrameCreatedEventArgs, windows_core::IUnknown);
19281impl ICoreWebView2FrameCreatedEventArgs {
19282 pub unsafe fn Frame(&self) -> windows_core::Result<ICoreWebView2Frame> {
19283 unsafe {
19284 let mut result__ = core::mem::zeroed();
19285 (windows_core::Interface::vtable(self).Frame)(
19286 windows_core::Interface::as_raw(self),
19287 &mut result__,
19288 )
19289 .and_then(|| windows_core::Type::from_abi(result__))
19290 }
19291 }
19292}
19293#[repr(C)]
19294#[doc(hidden)]
19295pub struct ICoreWebView2FrameCreatedEventArgs_Vtbl {
19296 pub base__: windows_core::IUnknown_Vtbl,
19297 pub Frame: unsafe extern "system" fn(
19298 *mut core::ffi::c_void,
19299 *mut *mut core::ffi::c_void,
19300 ) -> windows_core::HRESULT,
19301}
19302pub trait ICoreWebView2FrameCreatedEventArgs_Impl: windows_core::IUnknownImpl {
19303 fn Frame(&self) -> windows_core::Result<ICoreWebView2Frame>;
19304}
19305impl ICoreWebView2FrameCreatedEventArgs_Vtbl {
19306 pub const fn new<Identity: ICoreWebView2FrameCreatedEventArgs_Impl, const OFFSET: isize>(
19307 ) -> Self {
19308 unsafe extern "system" fn Frame<
19309 Identity: ICoreWebView2FrameCreatedEventArgs_Impl,
19310 const OFFSET: isize,
19311 >(
19312 this: *mut core::ffi::c_void,
19313 value: *mut *mut core::ffi::c_void,
19314 ) -> windows_core::HRESULT {
19315 unsafe {
19316 let this: &Identity =
19317 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19318 match ICoreWebView2FrameCreatedEventArgs_Impl::Frame(this) {
19319 Ok(ok__) => {
19320 value.write(core::mem::transmute(ok__));
19321 windows_core::HRESULT(0)
19322 }
19323 Err(err) => err.into(),
19324 }
19325 }
19326 }
19327 Self {
19328 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19329 Frame: Frame::<Identity, OFFSET>,
19330 }
19331 }
19332 pub fn matches(iid: &windows_core::GUID) -> bool {
19333 iid == &<ICoreWebView2FrameCreatedEventArgs as windows_core::Interface>::IID
19334 }
19335}
19336impl windows_core::RuntimeName for ICoreWebView2FrameCreatedEventArgs {}
19337windows_core::imp::define_interface!(
19338 ICoreWebView2FrameCreatedEventHandler,
19339 ICoreWebView2FrameCreatedEventHandler_Vtbl,
19340 0x38059770_9baa_11eb_a8b3_0242ac130003
19341);
19342windows_core::imp::interface_hierarchy!(
19343 ICoreWebView2FrameCreatedEventHandler,
19344 windows_core::IUnknown
19345);
19346impl ICoreWebView2FrameCreatedEventHandler {
19347 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19348 where
19349 P0: windows_core::Param<ICoreWebView2>,
19350 P1: windows_core::Param<ICoreWebView2FrameCreatedEventArgs>,
19351 {
19352 unsafe {
19353 (windows_core::Interface::vtable(self).Invoke)(
19354 windows_core::Interface::as_raw(self),
19355 sender.param().abi(),
19356 args.param().abi(),
19357 )
19358 .ok()
19359 }
19360 }
19361}
19362#[repr(C)]
19363#[doc(hidden)]
19364pub struct ICoreWebView2FrameCreatedEventHandler_Vtbl {
19365 pub base__: windows_core::IUnknown_Vtbl,
19366 pub Invoke: unsafe extern "system" fn(
19367 *mut core::ffi::c_void,
19368 *mut core::ffi::c_void,
19369 *mut core::ffi::c_void,
19370 ) -> windows_core::HRESULT,
19371}
19372pub trait ICoreWebView2FrameCreatedEventHandler_Impl: windows_core::IUnknownImpl {
19373 fn Invoke(
19374 &self,
19375 sender: windows_core::Ref<'_, ICoreWebView2>,
19376 args: windows_core::Ref<'_, ICoreWebView2FrameCreatedEventArgs>,
19377 ) -> windows_core::Result<()>;
19378}
19379impl ICoreWebView2FrameCreatedEventHandler_Vtbl {
19380 pub const fn new<Identity: ICoreWebView2FrameCreatedEventHandler_Impl, const OFFSET: isize>(
19381 ) -> Self {
19382 unsafe extern "system" fn Invoke<
19383 Identity: ICoreWebView2FrameCreatedEventHandler_Impl,
19384 const OFFSET: isize,
19385 >(
19386 this: *mut core::ffi::c_void,
19387 sender: *mut core::ffi::c_void,
19388 args: *mut core::ffi::c_void,
19389 ) -> windows_core::HRESULT {
19390 unsafe {
19391 let this: &Identity =
19392 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19393 ICoreWebView2FrameCreatedEventHandler_Impl::Invoke(
19394 this,
19395 core::mem::transmute_copy(&sender),
19396 core::mem::transmute_copy(&args),
19397 )
19398 .into()
19399 }
19400 }
19401 Self {
19402 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19403 Invoke: Invoke::<Identity, OFFSET>,
19404 }
19405 }
19406 pub fn matches(iid: &windows_core::GUID) -> bool {
19407 iid == &<ICoreWebView2FrameCreatedEventHandler as windows_core::Interface>::IID
19408 }
19409}
19410impl windows_core::RuntimeName for ICoreWebView2FrameCreatedEventHandler {}
19411windows_core::imp::define_interface!(
19412 ICoreWebView2FrameDOMContentLoadedEventHandler,
19413 ICoreWebView2FrameDOMContentLoadedEventHandler_Vtbl,
19414 0x38d9520d_340f_4d1e_a775_43fce9753683
19415);
19416windows_core::imp::interface_hierarchy!(
19417 ICoreWebView2FrameDOMContentLoadedEventHandler,
19418 windows_core::IUnknown
19419);
19420impl ICoreWebView2FrameDOMContentLoadedEventHandler {
19421 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19422 where
19423 P0: windows_core::Param<ICoreWebView2Frame>,
19424 P1: windows_core::Param<ICoreWebView2DOMContentLoadedEventArgs>,
19425 {
19426 unsafe {
19427 (windows_core::Interface::vtable(self).Invoke)(
19428 windows_core::Interface::as_raw(self),
19429 sender.param().abi(),
19430 args.param().abi(),
19431 )
19432 .ok()
19433 }
19434 }
19435}
19436#[repr(C)]
19437#[doc(hidden)]
19438pub struct ICoreWebView2FrameDOMContentLoadedEventHandler_Vtbl {
19439 pub base__: windows_core::IUnknown_Vtbl,
19440 pub Invoke: unsafe extern "system" fn(
19441 *mut core::ffi::c_void,
19442 *mut core::ffi::c_void,
19443 *mut core::ffi::c_void,
19444 ) -> windows_core::HRESULT,
19445}
19446pub trait ICoreWebView2FrameDOMContentLoadedEventHandler_Impl: windows_core::IUnknownImpl {
19447 fn Invoke(
19448 &self,
19449 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
19450 args: windows_core::Ref<'_, ICoreWebView2DOMContentLoadedEventArgs>,
19451 ) -> windows_core::Result<()>;
19452}
19453impl ICoreWebView2FrameDOMContentLoadedEventHandler_Vtbl {
19454 pub const fn new<
19455 Identity: ICoreWebView2FrameDOMContentLoadedEventHandler_Impl,
19456 const OFFSET: isize,
19457 >() -> Self {
19458 unsafe extern "system" fn Invoke<
19459 Identity: ICoreWebView2FrameDOMContentLoadedEventHandler_Impl,
19460 const OFFSET: isize,
19461 >(
19462 this: *mut core::ffi::c_void,
19463 sender: *mut core::ffi::c_void,
19464 args: *mut core::ffi::c_void,
19465 ) -> windows_core::HRESULT {
19466 unsafe {
19467 let this: &Identity =
19468 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19469 ICoreWebView2FrameDOMContentLoadedEventHandler_Impl::Invoke(
19470 this,
19471 core::mem::transmute_copy(&sender),
19472 core::mem::transmute_copy(&args),
19473 )
19474 .into()
19475 }
19476 }
19477 Self {
19478 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19479 Invoke: Invoke::<Identity, OFFSET>,
19480 }
19481 }
19482 pub fn matches(iid: &windows_core::GUID) -> bool {
19483 iid == &<ICoreWebView2FrameDOMContentLoadedEventHandler as windows_core::Interface>::IID
19484 }
19485}
19486impl windows_core::RuntimeName for ICoreWebView2FrameDOMContentLoadedEventHandler {}
19487windows_core::imp::define_interface!(
19488 ICoreWebView2FrameDestroyedEventHandler,
19489 ICoreWebView2FrameDestroyedEventHandler_Vtbl,
19490 0x59dd7b4c_9baa_11eb_a8b3_0242ac130003
19491);
19492windows_core::imp::interface_hierarchy!(
19493 ICoreWebView2FrameDestroyedEventHandler,
19494 windows_core::IUnknown
19495);
19496impl ICoreWebView2FrameDestroyedEventHandler {
19497 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19498 where
19499 P0: windows_core::Param<ICoreWebView2Frame>,
19500 P1: windows_core::Param<windows_core::IUnknown>,
19501 {
19502 unsafe {
19503 (windows_core::Interface::vtable(self).Invoke)(
19504 windows_core::Interface::as_raw(self),
19505 sender.param().abi(),
19506 args.param().abi(),
19507 )
19508 .ok()
19509 }
19510 }
19511}
19512#[repr(C)]
19513#[doc(hidden)]
19514pub struct ICoreWebView2FrameDestroyedEventHandler_Vtbl {
19515 pub base__: windows_core::IUnknown_Vtbl,
19516 pub Invoke: unsafe extern "system" fn(
19517 *mut core::ffi::c_void,
19518 *mut core::ffi::c_void,
19519 *mut core::ffi::c_void,
19520 ) -> windows_core::HRESULT,
19521}
19522pub trait ICoreWebView2FrameDestroyedEventHandler_Impl: windows_core::IUnknownImpl {
19523 fn Invoke(
19524 &self,
19525 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
19526 args: windows_core::Ref<'_, windows_core::IUnknown>,
19527 ) -> windows_core::Result<()>;
19528}
19529impl ICoreWebView2FrameDestroyedEventHandler_Vtbl {
19530 pub const fn new<
19531 Identity: ICoreWebView2FrameDestroyedEventHandler_Impl,
19532 const OFFSET: isize,
19533 >() -> Self {
19534 unsafe extern "system" fn Invoke<
19535 Identity: ICoreWebView2FrameDestroyedEventHandler_Impl,
19536 const OFFSET: isize,
19537 >(
19538 this: *mut core::ffi::c_void,
19539 sender: *mut core::ffi::c_void,
19540 args: *mut core::ffi::c_void,
19541 ) -> windows_core::HRESULT {
19542 unsafe {
19543 let this: &Identity =
19544 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19545 ICoreWebView2FrameDestroyedEventHandler_Impl::Invoke(
19546 this,
19547 core::mem::transmute_copy(&sender),
19548 core::mem::transmute_copy(&args),
19549 )
19550 .into()
19551 }
19552 }
19553 Self {
19554 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19555 Invoke: Invoke::<Identity, OFFSET>,
19556 }
19557 }
19558 pub fn matches(iid: &windows_core::GUID) -> bool {
19559 iid == &<ICoreWebView2FrameDestroyedEventHandler as windows_core::Interface>::IID
19560 }
19561}
19562impl windows_core::RuntimeName for ICoreWebView2FrameDestroyedEventHandler {}
19563windows_core::imp::define_interface!(
19564 ICoreWebView2FrameInfo,
19565 ICoreWebView2FrameInfo_Vtbl,
19566 0xda86b8a1_bdf3_4f11_9955_528cefa59727
19567);
19568windows_core::imp::interface_hierarchy!(ICoreWebView2FrameInfo, windows_core::IUnknown);
19569impl ICoreWebView2FrameInfo {
19570 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
19571 unsafe {
19572 (windows_core::Interface::vtable(self).Name)(
19573 windows_core::Interface::as_raw(self),
19574 value as _,
19575 )
19576 .ok()
19577 }
19578 }
19579 pub unsafe fn Source(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
19580 unsafe {
19581 (windows_core::Interface::vtable(self).Source)(
19582 windows_core::Interface::as_raw(self),
19583 value as _,
19584 )
19585 .ok()
19586 }
19587 }
19588}
19589#[repr(C)]
19590#[doc(hidden)]
19591pub struct ICoreWebView2FrameInfo_Vtbl {
19592 pub base__: windows_core::IUnknown_Vtbl,
19593 pub Name: unsafe extern "system" fn(
19594 *mut core::ffi::c_void,
19595 *mut windows_core::PWSTR,
19596 ) -> windows_core::HRESULT,
19597 pub Source: unsafe extern "system" fn(
19598 *mut core::ffi::c_void,
19599 *mut windows_core::PWSTR,
19600 ) -> windows_core::HRESULT,
19601}
19602pub trait ICoreWebView2FrameInfo_Impl: windows_core::IUnknownImpl {
19603 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
19604 fn Source(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
19605}
19606impl ICoreWebView2FrameInfo_Vtbl {
19607 pub const fn new<Identity: ICoreWebView2FrameInfo_Impl, const OFFSET: isize>() -> Self {
19608 unsafe extern "system" fn Name<
19609 Identity: ICoreWebView2FrameInfo_Impl,
19610 const OFFSET: isize,
19611 >(
19612 this: *mut core::ffi::c_void,
19613 value: *mut windows_core::PWSTR,
19614 ) -> windows_core::HRESULT {
19615 unsafe {
19616 let this: &Identity =
19617 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19618 ICoreWebView2FrameInfo_Impl::Name(this, core::mem::transmute_copy(&value)).into()
19619 }
19620 }
19621 unsafe extern "system" fn Source<
19622 Identity: ICoreWebView2FrameInfo_Impl,
19623 const OFFSET: isize,
19624 >(
19625 this: *mut core::ffi::c_void,
19626 value: *mut windows_core::PWSTR,
19627 ) -> windows_core::HRESULT {
19628 unsafe {
19629 let this: &Identity =
19630 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19631 ICoreWebView2FrameInfo_Impl::Source(this, core::mem::transmute_copy(&value)).into()
19632 }
19633 }
19634 Self {
19635 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19636 Name: Name::<Identity, OFFSET>,
19637 Source: Source::<Identity, OFFSET>,
19638 }
19639 }
19640 pub fn matches(iid: &windows_core::GUID) -> bool {
19641 iid == &<ICoreWebView2FrameInfo as windows_core::Interface>::IID
19642 }
19643}
19644impl windows_core::RuntimeName for ICoreWebView2FrameInfo {}
19645windows_core::imp::define_interface!(
19646 ICoreWebView2FrameInfo2,
19647 ICoreWebView2FrameInfo2_Vtbl,
19648 0x56f85cfa_72c4_11ee_b962_0242ac120002
19649);
19650impl core::ops::Deref for ICoreWebView2FrameInfo2 {
19651 type Target = ICoreWebView2FrameInfo;
19652 fn deref(&self) -> &Self::Target {
19653 unsafe { core::mem::transmute(self) }
19654 }
19655}
19656windows_core::imp::interface_hierarchy!(
19657 ICoreWebView2FrameInfo2,
19658 windows_core::IUnknown,
19659 ICoreWebView2FrameInfo
19660);
19661impl ICoreWebView2FrameInfo2 {
19662 pub unsafe fn ParentFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo> {
19663 unsafe {
19664 let mut result__ = core::mem::zeroed();
19665 (windows_core::Interface::vtable(self).ParentFrameInfo)(
19666 windows_core::Interface::as_raw(self),
19667 &mut result__,
19668 )
19669 .and_then(|| windows_core::Type::from_abi(result__))
19670 }
19671 }
19672 pub unsafe fn FrameId(&self, id: *mut u32) -> windows_core::Result<()> {
19673 unsafe {
19674 (windows_core::Interface::vtable(self).FrameId)(
19675 windows_core::Interface::as_raw(self),
19676 id as _,
19677 )
19678 .ok()
19679 }
19680 }
19681 pub unsafe fn FrameKind(&self, kind: *mut COREWEBVIEW2_FRAME_KIND) -> windows_core::Result<()> {
19682 unsafe {
19683 (windows_core::Interface::vtable(self).FrameKind)(
19684 windows_core::Interface::as_raw(self),
19685 kind as _,
19686 )
19687 .ok()
19688 }
19689 }
19690}
19691#[repr(C)]
19692#[doc(hidden)]
19693pub struct ICoreWebView2FrameInfo2_Vtbl {
19694 pub base__: ICoreWebView2FrameInfo_Vtbl,
19695 pub ParentFrameInfo: unsafe extern "system" fn(
19696 *mut core::ffi::c_void,
19697 *mut *mut core::ffi::c_void,
19698 ) -> windows_core::HRESULT,
19699 pub FrameId:
19700 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
19701 pub FrameKind: unsafe extern "system" fn(
19702 *mut core::ffi::c_void,
19703 *mut COREWEBVIEW2_FRAME_KIND,
19704 ) -> windows_core::HRESULT,
19705}
19706pub trait ICoreWebView2FrameInfo2_Impl: ICoreWebView2FrameInfo_Impl {
19707 fn ParentFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo>;
19708 fn FrameId(&self, id: *mut u32) -> windows_core::Result<()>;
19709 fn FrameKind(&self, kind: *mut COREWEBVIEW2_FRAME_KIND) -> windows_core::Result<()>;
19710}
19711impl ICoreWebView2FrameInfo2_Vtbl {
19712 pub const fn new<Identity: ICoreWebView2FrameInfo2_Impl, const OFFSET: isize>() -> Self {
19713 unsafe extern "system" fn ParentFrameInfo<
19714 Identity: ICoreWebView2FrameInfo2_Impl,
19715 const OFFSET: isize,
19716 >(
19717 this: *mut core::ffi::c_void,
19718 frameinfo: *mut *mut core::ffi::c_void,
19719 ) -> windows_core::HRESULT {
19720 unsafe {
19721 let this: &Identity =
19722 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19723 match ICoreWebView2FrameInfo2_Impl::ParentFrameInfo(this) {
19724 Ok(ok__) => {
19725 frameinfo.write(core::mem::transmute(ok__));
19726 windows_core::HRESULT(0)
19727 }
19728 Err(err) => err.into(),
19729 }
19730 }
19731 }
19732 unsafe extern "system" fn FrameId<
19733 Identity: ICoreWebView2FrameInfo2_Impl,
19734 const OFFSET: isize,
19735 >(
19736 this: *mut core::ffi::c_void,
19737 id: *mut u32,
19738 ) -> windows_core::HRESULT {
19739 unsafe {
19740 let this: &Identity =
19741 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19742 ICoreWebView2FrameInfo2_Impl::FrameId(this, core::mem::transmute_copy(&id)).into()
19743 }
19744 }
19745 unsafe extern "system" fn FrameKind<
19746 Identity: ICoreWebView2FrameInfo2_Impl,
19747 const OFFSET: isize,
19748 >(
19749 this: *mut core::ffi::c_void,
19750 kind: *mut COREWEBVIEW2_FRAME_KIND,
19751 ) -> windows_core::HRESULT {
19752 unsafe {
19753 let this: &Identity =
19754 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19755 ICoreWebView2FrameInfo2_Impl::FrameKind(this, core::mem::transmute_copy(&kind))
19756 .into()
19757 }
19758 }
19759 Self {
19760 base__: ICoreWebView2FrameInfo_Vtbl::new::<Identity, OFFSET>(),
19761 ParentFrameInfo: ParentFrameInfo::<Identity, OFFSET>,
19762 FrameId: FrameId::<Identity, OFFSET>,
19763 FrameKind: FrameKind::<Identity, OFFSET>,
19764 }
19765 }
19766 pub fn matches(iid: &windows_core::GUID) -> bool {
19767 iid == &<ICoreWebView2FrameInfo2 as windows_core::Interface>::IID
19768 || iid == &<ICoreWebView2FrameInfo as windows_core::Interface>::IID
19769 }
19770}
19771impl windows_core::RuntimeName for ICoreWebView2FrameInfo2 {}
19772windows_core::imp::define_interface!(
19773 ICoreWebView2FrameInfoCollection,
19774 ICoreWebView2FrameInfoCollection_Vtbl,
19775 0x8f834154_d38e_4d90_affb_6800a7272839
19776);
19777windows_core::imp::interface_hierarchy!(ICoreWebView2FrameInfoCollection, windows_core::IUnknown);
19778impl ICoreWebView2FrameInfoCollection {
19779 pub unsafe fn GetIterator(
19780 &self,
19781 ) -> windows_core::Result<ICoreWebView2FrameInfoCollectionIterator> {
19782 unsafe {
19783 let mut result__ = core::mem::zeroed();
19784 (windows_core::Interface::vtable(self).GetIterator)(
19785 windows_core::Interface::as_raw(self),
19786 &mut result__,
19787 )
19788 .and_then(|| windows_core::Type::from_abi(result__))
19789 }
19790 }
19791}
19792#[repr(C)]
19793#[doc(hidden)]
19794pub struct ICoreWebView2FrameInfoCollection_Vtbl {
19795 pub base__: windows_core::IUnknown_Vtbl,
19796 pub GetIterator: unsafe extern "system" fn(
19797 *mut core::ffi::c_void,
19798 *mut *mut core::ffi::c_void,
19799 ) -> windows_core::HRESULT,
19800}
19801pub trait ICoreWebView2FrameInfoCollection_Impl: windows_core::IUnknownImpl {
19802 fn GetIterator(&self) -> windows_core::Result<ICoreWebView2FrameInfoCollectionIterator>;
19803}
19804impl ICoreWebView2FrameInfoCollection_Vtbl {
19805 pub const fn new<Identity: ICoreWebView2FrameInfoCollection_Impl, const OFFSET: isize>() -> Self
19806 {
19807 unsafe extern "system" fn GetIterator<
19808 Identity: ICoreWebView2FrameInfoCollection_Impl,
19809 const OFFSET: isize,
19810 >(
19811 this: *mut core::ffi::c_void,
19812 value: *mut *mut core::ffi::c_void,
19813 ) -> windows_core::HRESULT {
19814 unsafe {
19815 let this: &Identity =
19816 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19817 match ICoreWebView2FrameInfoCollection_Impl::GetIterator(this) {
19818 Ok(ok__) => {
19819 value.write(core::mem::transmute(ok__));
19820 windows_core::HRESULT(0)
19821 }
19822 Err(err) => err.into(),
19823 }
19824 }
19825 }
19826 Self {
19827 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19828 GetIterator: GetIterator::<Identity, OFFSET>,
19829 }
19830 }
19831 pub fn matches(iid: &windows_core::GUID) -> bool {
19832 iid == &<ICoreWebView2FrameInfoCollection as windows_core::Interface>::IID
19833 }
19834}
19835impl windows_core::RuntimeName for ICoreWebView2FrameInfoCollection {}
19836windows_core::imp::define_interface!(
19837 ICoreWebView2FrameInfoCollectionIterator,
19838 ICoreWebView2FrameInfoCollectionIterator_Vtbl,
19839 0x1bf89e2d_1b2b_4629_b28f_05099b41bb03
19840);
19841windows_core::imp::interface_hierarchy!(
19842 ICoreWebView2FrameInfoCollectionIterator,
19843 windows_core::IUnknown
19844);
19845impl ICoreWebView2FrameInfoCollectionIterator {
19846 pub unsafe fn HasCurrent(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
19847 unsafe {
19848 (windows_core::Interface::vtable(self).HasCurrent)(
19849 windows_core::Interface::as_raw(self),
19850 value as _,
19851 )
19852 .ok()
19853 }
19854 }
19855 pub unsafe fn GetCurrent(&self) -> windows_core::Result<ICoreWebView2FrameInfo> {
19856 unsafe {
19857 let mut result__ = core::mem::zeroed();
19858 (windows_core::Interface::vtable(self).GetCurrent)(
19859 windows_core::Interface::as_raw(self),
19860 &mut result__,
19861 )
19862 .and_then(|| windows_core::Type::from_abi(result__))
19863 }
19864 }
19865 pub unsafe fn MoveNext(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
19866 unsafe {
19867 (windows_core::Interface::vtable(self).MoveNext)(
19868 windows_core::Interface::as_raw(self),
19869 value as _,
19870 )
19871 .ok()
19872 }
19873 }
19874}
19875#[repr(C)]
19876#[doc(hidden)]
19877pub struct ICoreWebView2FrameInfoCollectionIterator_Vtbl {
19878 pub base__: windows_core::IUnknown_Vtbl,
19879 pub HasCurrent: unsafe extern "system" fn(
19880 *mut core::ffi::c_void,
19881 *mut windows_core::BOOL,
19882 ) -> windows_core::HRESULT,
19883 pub GetCurrent: unsafe extern "system" fn(
19884 *mut core::ffi::c_void,
19885 *mut *mut core::ffi::c_void,
19886 ) -> windows_core::HRESULT,
19887 pub MoveNext: unsafe extern "system" fn(
19888 *mut core::ffi::c_void,
19889 *mut windows_core::BOOL,
19890 ) -> windows_core::HRESULT,
19891}
19892pub trait ICoreWebView2FrameInfoCollectionIterator_Impl: windows_core::IUnknownImpl {
19893 fn HasCurrent(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
19894 fn GetCurrent(&self) -> windows_core::Result<ICoreWebView2FrameInfo>;
19895 fn MoveNext(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
19896}
19897impl ICoreWebView2FrameInfoCollectionIterator_Vtbl {
19898 pub const fn new<
19899 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
19900 const OFFSET: isize,
19901 >() -> Self {
19902 unsafe extern "system" fn HasCurrent<
19903 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
19904 const OFFSET: isize,
19905 >(
19906 this: *mut core::ffi::c_void,
19907 value: *mut windows_core::BOOL,
19908 ) -> windows_core::HRESULT {
19909 unsafe {
19910 let this: &Identity =
19911 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19912 ICoreWebView2FrameInfoCollectionIterator_Impl::HasCurrent(
19913 this,
19914 core::mem::transmute_copy(&value),
19915 )
19916 .into()
19917 }
19918 }
19919 unsafe extern "system" fn GetCurrent<
19920 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
19921 const OFFSET: isize,
19922 >(
19923 this: *mut core::ffi::c_void,
19924 value: *mut *mut core::ffi::c_void,
19925 ) -> windows_core::HRESULT {
19926 unsafe {
19927 let this: &Identity =
19928 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19929 match ICoreWebView2FrameInfoCollectionIterator_Impl::GetCurrent(this) {
19930 Ok(ok__) => {
19931 value.write(core::mem::transmute(ok__));
19932 windows_core::HRESULT(0)
19933 }
19934 Err(err) => err.into(),
19935 }
19936 }
19937 }
19938 unsafe extern "system" fn MoveNext<
19939 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
19940 const OFFSET: isize,
19941 >(
19942 this: *mut core::ffi::c_void,
19943 value: *mut windows_core::BOOL,
19944 ) -> windows_core::HRESULT {
19945 unsafe {
19946 let this: &Identity =
19947 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19948 ICoreWebView2FrameInfoCollectionIterator_Impl::MoveNext(
19949 this,
19950 core::mem::transmute_copy(&value),
19951 )
19952 .into()
19953 }
19954 }
19955 Self {
19956 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19957 HasCurrent: HasCurrent::<Identity, OFFSET>,
19958 GetCurrent: GetCurrent::<Identity, OFFSET>,
19959 MoveNext: MoveNext::<Identity, OFFSET>,
19960 }
19961 }
19962 pub fn matches(iid: &windows_core::GUID) -> bool {
19963 iid == &<ICoreWebView2FrameInfoCollectionIterator as windows_core::Interface>::IID
19964 }
19965}
19966impl windows_core::RuntimeName for ICoreWebView2FrameInfoCollectionIterator {}
19967windows_core::imp::define_interface!(
19968 ICoreWebView2FrameNameChangedEventHandler,
19969 ICoreWebView2FrameNameChangedEventHandler_Vtbl,
19970 0x435c7dc8_9baa_11eb_a8b3_0242ac130003
19971);
19972windows_core::imp::interface_hierarchy!(
19973 ICoreWebView2FrameNameChangedEventHandler,
19974 windows_core::IUnknown
19975);
19976impl ICoreWebView2FrameNameChangedEventHandler {
19977 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19978 where
19979 P0: windows_core::Param<ICoreWebView2Frame>,
19980 P1: windows_core::Param<windows_core::IUnknown>,
19981 {
19982 unsafe {
19983 (windows_core::Interface::vtable(self).Invoke)(
19984 windows_core::Interface::as_raw(self),
19985 sender.param().abi(),
19986 args.param().abi(),
19987 )
19988 .ok()
19989 }
19990 }
19991}
19992#[repr(C)]
19993#[doc(hidden)]
19994pub struct ICoreWebView2FrameNameChangedEventHandler_Vtbl {
19995 pub base__: windows_core::IUnknown_Vtbl,
19996 pub Invoke: unsafe extern "system" fn(
19997 *mut core::ffi::c_void,
19998 *mut core::ffi::c_void,
19999 *mut core::ffi::c_void,
20000 ) -> windows_core::HRESULT,
20001}
20002pub trait ICoreWebView2FrameNameChangedEventHandler_Impl: windows_core::IUnknownImpl {
20003 fn Invoke(
20004 &self,
20005 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
20006 args: windows_core::Ref<'_, windows_core::IUnknown>,
20007 ) -> windows_core::Result<()>;
20008}
20009impl ICoreWebView2FrameNameChangedEventHandler_Vtbl {
20010 pub const fn new<
20011 Identity: ICoreWebView2FrameNameChangedEventHandler_Impl,
20012 const OFFSET: isize,
20013 >() -> Self {
20014 unsafe extern "system" fn Invoke<
20015 Identity: ICoreWebView2FrameNameChangedEventHandler_Impl,
20016 const OFFSET: isize,
20017 >(
20018 this: *mut core::ffi::c_void,
20019 sender: *mut core::ffi::c_void,
20020 args: *mut core::ffi::c_void,
20021 ) -> windows_core::HRESULT {
20022 unsafe {
20023 let this: &Identity =
20024 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20025 ICoreWebView2FrameNameChangedEventHandler_Impl::Invoke(
20026 this,
20027 core::mem::transmute_copy(&sender),
20028 core::mem::transmute_copy(&args),
20029 )
20030 .into()
20031 }
20032 }
20033 Self {
20034 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20035 Invoke: Invoke::<Identity, OFFSET>,
20036 }
20037 }
20038 pub fn matches(iid: &windows_core::GUID) -> bool {
20039 iid == &<ICoreWebView2FrameNameChangedEventHandler as windows_core::Interface>::IID
20040 }
20041}
20042impl windows_core::RuntimeName for ICoreWebView2FrameNameChangedEventHandler {}
20043windows_core::imp::define_interface!(
20044 ICoreWebView2FrameNavigationCompletedEventHandler,
20045 ICoreWebView2FrameNavigationCompletedEventHandler_Vtbl,
20046 0x609302ad_0e36_4f9a_a210_6a45272842a9
20047);
20048windows_core::imp::interface_hierarchy!(
20049 ICoreWebView2FrameNavigationCompletedEventHandler,
20050 windows_core::IUnknown
20051);
20052impl ICoreWebView2FrameNavigationCompletedEventHandler {
20053 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
20054 where
20055 P0: windows_core::Param<ICoreWebView2Frame>,
20056 P1: windows_core::Param<ICoreWebView2NavigationCompletedEventArgs>,
20057 {
20058 unsafe {
20059 (windows_core::Interface::vtable(self).Invoke)(
20060 windows_core::Interface::as_raw(self),
20061 sender.param().abi(),
20062 args.param().abi(),
20063 )
20064 .ok()
20065 }
20066 }
20067}
20068#[repr(C)]
20069#[doc(hidden)]
20070pub struct ICoreWebView2FrameNavigationCompletedEventHandler_Vtbl {
20071 pub base__: windows_core::IUnknown_Vtbl,
20072 pub Invoke: unsafe extern "system" fn(
20073 *mut core::ffi::c_void,
20074 *mut core::ffi::c_void,
20075 *mut core::ffi::c_void,
20076 ) -> windows_core::HRESULT,
20077}
20078pub trait ICoreWebView2FrameNavigationCompletedEventHandler_Impl:
20079 windows_core::IUnknownImpl
20080{
20081 fn Invoke(
20082 &self,
20083 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
20084 args: windows_core::Ref<'_, ICoreWebView2NavigationCompletedEventArgs>,
20085 ) -> windows_core::Result<()>;
20086}
20087impl ICoreWebView2FrameNavigationCompletedEventHandler_Vtbl {
20088 pub const fn new<
20089 Identity: ICoreWebView2FrameNavigationCompletedEventHandler_Impl,
20090 const OFFSET: isize,
20091 >() -> Self {
20092 unsafe extern "system" fn Invoke<
20093 Identity: ICoreWebView2FrameNavigationCompletedEventHandler_Impl,
20094 const OFFSET: isize,
20095 >(
20096 this: *mut core::ffi::c_void,
20097 sender: *mut core::ffi::c_void,
20098 args: *mut core::ffi::c_void,
20099 ) -> windows_core::HRESULT {
20100 unsafe {
20101 let this: &Identity =
20102 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20103 ICoreWebView2FrameNavigationCompletedEventHandler_Impl::Invoke(
20104 this,
20105 core::mem::transmute_copy(&sender),
20106 core::mem::transmute_copy(&args),
20107 )
20108 .into()
20109 }
20110 }
20111 Self {
20112 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20113 Invoke: Invoke::<Identity, OFFSET>,
20114 }
20115 }
20116 pub fn matches(iid: &windows_core::GUID) -> bool {
20117 iid == &<ICoreWebView2FrameNavigationCompletedEventHandler as windows_core::Interface>::IID
20118 }
20119}
20120impl windows_core::RuntimeName for ICoreWebView2FrameNavigationCompletedEventHandler {}
20121windows_core::imp::define_interface!(
20122 ICoreWebView2FrameNavigationStartingEventHandler,
20123 ICoreWebView2FrameNavigationStartingEventHandler_Vtbl,
20124 0xe79908bf_2d5d_4968_83db_263fea2c1da3
20125);
20126windows_core::imp::interface_hierarchy!(
20127 ICoreWebView2FrameNavigationStartingEventHandler,
20128 windows_core::IUnknown
20129);
20130impl ICoreWebView2FrameNavigationStartingEventHandler {
20131 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
20132 where
20133 P0: windows_core::Param<ICoreWebView2Frame>,
20134 P1: windows_core::Param<ICoreWebView2NavigationStartingEventArgs>,
20135 {
20136 unsafe {
20137 (windows_core::Interface::vtable(self).Invoke)(
20138 windows_core::Interface::as_raw(self),
20139 sender.param().abi(),
20140 args.param().abi(),
20141 )
20142 .ok()
20143 }
20144 }
20145}
20146#[repr(C)]
20147#[doc(hidden)]
20148pub struct ICoreWebView2FrameNavigationStartingEventHandler_Vtbl {
20149 pub base__: windows_core::IUnknown_Vtbl,
20150 pub Invoke: unsafe extern "system" fn(
20151 *mut core::ffi::c_void,
20152 *mut core::ffi::c_void,
20153 *mut core::ffi::c_void,
20154 ) -> windows_core::HRESULT,
20155}
20156pub trait ICoreWebView2FrameNavigationStartingEventHandler_Impl:
20157 windows_core::IUnknownImpl
20158{
20159 fn Invoke(
20160 &self,
20161 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
20162 args: windows_core::Ref<'_, ICoreWebView2NavigationStartingEventArgs>,
20163 ) -> windows_core::Result<()>;
20164}
20165impl ICoreWebView2FrameNavigationStartingEventHandler_Vtbl {
20166 pub const fn new<
20167 Identity: ICoreWebView2FrameNavigationStartingEventHandler_Impl,
20168 const OFFSET: isize,
20169 >() -> Self {
20170 unsafe extern "system" fn Invoke<
20171 Identity: ICoreWebView2FrameNavigationStartingEventHandler_Impl,
20172 const OFFSET: isize,
20173 >(
20174 this: *mut core::ffi::c_void,
20175 sender: *mut core::ffi::c_void,
20176 args: *mut core::ffi::c_void,
20177 ) -> windows_core::HRESULT {
20178 unsafe {
20179 let this: &Identity =
20180 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20181 ICoreWebView2FrameNavigationStartingEventHandler_Impl::Invoke(
20182 this,
20183 core::mem::transmute_copy(&sender),
20184 core::mem::transmute_copy(&args),
20185 )
20186 .into()
20187 }
20188 }
20189 Self {
20190 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20191 Invoke: Invoke::<Identity, OFFSET>,
20192 }
20193 }
20194 pub fn matches(iid: &windows_core::GUID) -> bool {
20195 iid == &<ICoreWebView2FrameNavigationStartingEventHandler as windows_core::Interface>::IID
20196 }
20197}
20198impl windows_core::RuntimeName for ICoreWebView2FrameNavigationStartingEventHandler {}
20199windows_core::imp::define_interface!(
20200 ICoreWebView2FramePermissionRequestedEventHandler,
20201 ICoreWebView2FramePermissionRequestedEventHandler_Vtbl,
20202 0x845d0edd_8bd8_429b_9915_4821789f23e9
20203);
20204windows_core::imp::interface_hierarchy!(
20205 ICoreWebView2FramePermissionRequestedEventHandler,
20206 windows_core::IUnknown
20207);
20208impl ICoreWebView2FramePermissionRequestedEventHandler {
20209 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
20210 where
20211 P0: windows_core::Param<ICoreWebView2Frame>,
20212 P1: windows_core::Param<ICoreWebView2PermissionRequestedEventArgs2>,
20213 {
20214 unsafe {
20215 (windows_core::Interface::vtable(self).Invoke)(
20216 windows_core::Interface::as_raw(self),
20217 sender.param().abi(),
20218 args.param().abi(),
20219 )
20220 .ok()
20221 }
20222 }
20223}
20224#[repr(C)]
20225#[doc(hidden)]
20226pub struct ICoreWebView2FramePermissionRequestedEventHandler_Vtbl {
20227 pub base__: windows_core::IUnknown_Vtbl,
20228 pub Invoke: unsafe extern "system" fn(
20229 *mut core::ffi::c_void,
20230 *mut core::ffi::c_void,
20231 *mut core::ffi::c_void,
20232 ) -> windows_core::HRESULT,
20233}
20234pub trait ICoreWebView2FramePermissionRequestedEventHandler_Impl:
20235 windows_core::IUnknownImpl
20236{
20237 fn Invoke(
20238 &self,
20239 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
20240 args: windows_core::Ref<'_, ICoreWebView2PermissionRequestedEventArgs2>,
20241 ) -> windows_core::Result<()>;
20242}
20243impl ICoreWebView2FramePermissionRequestedEventHandler_Vtbl {
20244 pub const fn new<
20245 Identity: ICoreWebView2FramePermissionRequestedEventHandler_Impl,
20246 const OFFSET: isize,
20247 >() -> Self {
20248 unsafe extern "system" fn Invoke<
20249 Identity: ICoreWebView2FramePermissionRequestedEventHandler_Impl,
20250 const OFFSET: isize,
20251 >(
20252 this: *mut core::ffi::c_void,
20253 sender: *mut core::ffi::c_void,
20254 args: *mut core::ffi::c_void,
20255 ) -> windows_core::HRESULT {
20256 unsafe {
20257 let this: &Identity =
20258 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20259 ICoreWebView2FramePermissionRequestedEventHandler_Impl::Invoke(
20260 this,
20261 core::mem::transmute_copy(&sender),
20262 core::mem::transmute_copy(&args),
20263 )
20264 .into()
20265 }
20266 }
20267 Self {
20268 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20269 Invoke: Invoke::<Identity, OFFSET>,
20270 }
20271 }
20272 pub fn matches(iid: &windows_core::GUID) -> bool {
20273 iid == &<ICoreWebView2FramePermissionRequestedEventHandler as windows_core::Interface>::IID
20274 }
20275}
20276impl windows_core::RuntimeName for ICoreWebView2FramePermissionRequestedEventHandler {}
20277windows_core::imp::define_interface!(
20278 ICoreWebView2FrameScreenCaptureStartingEventHandler,
20279 ICoreWebView2FrameScreenCaptureStartingEventHandler_Vtbl,
20280 0xa6c1d8ad_bb80_59c5_895b_fba1698b9309
20281);
20282windows_core::imp::interface_hierarchy!(
20283 ICoreWebView2FrameScreenCaptureStartingEventHandler,
20284 windows_core::IUnknown
20285);
20286impl ICoreWebView2FrameScreenCaptureStartingEventHandler {
20287 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
20288 where
20289 P0: windows_core::Param<ICoreWebView2Frame>,
20290 P1: windows_core::Param<ICoreWebView2ScreenCaptureStartingEventArgs>,
20291 {
20292 unsafe {
20293 (windows_core::Interface::vtable(self).Invoke)(
20294 windows_core::Interface::as_raw(self),
20295 sender.param().abi(),
20296 args.param().abi(),
20297 )
20298 .ok()
20299 }
20300 }
20301}
20302#[repr(C)]
20303#[doc(hidden)]
20304pub struct ICoreWebView2FrameScreenCaptureStartingEventHandler_Vtbl {
20305 pub base__: windows_core::IUnknown_Vtbl,
20306 pub Invoke: unsafe extern "system" fn(
20307 *mut core::ffi::c_void,
20308 *mut core::ffi::c_void,
20309 *mut core::ffi::c_void,
20310 ) -> windows_core::HRESULT,
20311}
20312pub trait ICoreWebView2FrameScreenCaptureStartingEventHandler_Impl:
20313 windows_core::IUnknownImpl
20314{
20315 fn Invoke(
20316 &self,
20317 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
20318 args: windows_core::Ref<'_, ICoreWebView2ScreenCaptureStartingEventArgs>,
20319 ) -> windows_core::Result<()>;
20320}
20321impl ICoreWebView2FrameScreenCaptureStartingEventHandler_Vtbl {
20322 pub const fn new<
20323 Identity: ICoreWebView2FrameScreenCaptureStartingEventHandler_Impl,
20324 const OFFSET: isize,
20325 >() -> Self {
20326 unsafe extern "system" fn Invoke<
20327 Identity: ICoreWebView2FrameScreenCaptureStartingEventHandler_Impl,
20328 const OFFSET: isize,
20329 >(
20330 this: *mut core::ffi::c_void,
20331 sender: *mut core::ffi::c_void,
20332 args: *mut core::ffi::c_void,
20333 ) -> windows_core::HRESULT {
20334 unsafe {
20335 let this: &Identity =
20336 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20337 ICoreWebView2FrameScreenCaptureStartingEventHandler_Impl::Invoke(
20338 this,
20339 core::mem::transmute_copy(&sender),
20340 core::mem::transmute_copy(&args),
20341 )
20342 .into()
20343 }
20344 }
20345 Self {
20346 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20347 Invoke: Invoke::<Identity, OFFSET>,
20348 }
20349 }
20350 pub fn matches(iid: &windows_core::GUID) -> bool {
20351 iid == & < ICoreWebView2FrameScreenCaptureStartingEventHandler as windows_core::Interface >::IID
20352 }
20353}
20354impl windows_core::RuntimeName for ICoreWebView2FrameScreenCaptureStartingEventHandler {}
20355windows_core::imp::define_interface!(
20356 ICoreWebView2FrameWebMessageReceivedEventHandler,
20357 ICoreWebView2FrameWebMessageReceivedEventHandler_Vtbl,
20358 0xe371e005_6d1d_4517_934b_a8f1629c62a5
20359);
20360windows_core::imp::interface_hierarchy!(
20361 ICoreWebView2FrameWebMessageReceivedEventHandler,
20362 windows_core::IUnknown
20363);
20364impl ICoreWebView2FrameWebMessageReceivedEventHandler {
20365 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
20366 where
20367 P0: windows_core::Param<ICoreWebView2Frame>,
20368 P1: windows_core::Param<ICoreWebView2WebMessageReceivedEventArgs>,
20369 {
20370 unsafe {
20371 (windows_core::Interface::vtable(self).Invoke)(
20372 windows_core::Interface::as_raw(self),
20373 sender.param().abi(),
20374 args.param().abi(),
20375 )
20376 .ok()
20377 }
20378 }
20379}
20380#[repr(C)]
20381#[doc(hidden)]
20382pub struct ICoreWebView2FrameWebMessageReceivedEventHandler_Vtbl {
20383 pub base__: windows_core::IUnknown_Vtbl,
20384 pub Invoke: unsafe extern "system" fn(
20385 *mut core::ffi::c_void,
20386 *mut core::ffi::c_void,
20387 *mut core::ffi::c_void,
20388 ) -> windows_core::HRESULT,
20389}
20390pub trait ICoreWebView2FrameWebMessageReceivedEventHandler_Impl:
20391 windows_core::IUnknownImpl
20392{
20393 fn Invoke(
20394 &self,
20395 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
20396 args: windows_core::Ref<'_, ICoreWebView2WebMessageReceivedEventArgs>,
20397 ) -> windows_core::Result<()>;
20398}
20399impl ICoreWebView2FrameWebMessageReceivedEventHandler_Vtbl {
20400 pub const fn new<
20401 Identity: ICoreWebView2FrameWebMessageReceivedEventHandler_Impl,
20402 const OFFSET: isize,
20403 >() -> Self {
20404 unsafe extern "system" fn Invoke<
20405 Identity: ICoreWebView2FrameWebMessageReceivedEventHandler_Impl,
20406 const OFFSET: isize,
20407 >(
20408 this: *mut core::ffi::c_void,
20409 sender: *mut core::ffi::c_void,
20410 args: *mut core::ffi::c_void,
20411 ) -> windows_core::HRESULT {
20412 unsafe {
20413 let this: &Identity =
20414 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20415 ICoreWebView2FrameWebMessageReceivedEventHandler_Impl::Invoke(
20416 this,
20417 core::mem::transmute_copy(&sender),
20418 core::mem::transmute_copy(&args),
20419 )
20420 .into()
20421 }
20422 }
20423 Self {
20424 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20425 Invoke: Invoke::<Identity, OFFSET>,
20426 }
20427 }
20428 pub fn matches(iid: &windows_core::GUID) -> bool {
20429 iid == &<ICoreWebView2FrameWebMessageReceivedEventHandler as windows_core::Interface>::IID
20430 }
20431}
20432impl windows_core::RuntimeName for ICoreWebView2FrameWebMessageReceivedEventHandler {}
20433windows_core::imp::define_interface!(
20434 ICoreWebView2GetCookiesCompletedHandler,
20435 ICoreWebView2GetCookiesCompletedHandler_Vtbl,
20436 0x5a4f5069_5c15_47c3_8646_f4de1c116670
20437);
20438windows_core::imp::interface_hierarchy!(
20439 ICoreWebView2GetCookiesCompletedHandler,
20440 windows_core::IUnknown
20441);
20442impl ICoreWebView2GetCookiesCompletedHandler {
20443 pub unsafe fn Invoke<P1>(
20444 &self,
20445 errorcode: windows_core::HRESULT,
20446 result: P1,
20447 ) -> windows_core::Result<()>
20448 where
20449 P1: windows_core::Param<ICoreWebView2CookieList>,
20450 {
20451 unsafe {
20452 (windows_core::Interface::vtable(self).Invoke)(
20453 windows_core::Interface::as_raw(self),
20454 errorcode,
20455 result.param().abi(),
20456 )
20457 .ok()
20458 }
20459 }
20460}
20461#[repr(C)]
20462#[doc(hidden)]
20463pub struct ICoreWebView2GetCookiesCompletedHandler_Vtbl {
20464 pub base__: windows_core::IUnknown_Vtbl,
20465 pub Invoke: unsafe extern "system" fn(
20466 *mut core::ffi::c_void,
20467 windows_core::HRESULT,
20468 *mut core::ffi::c_void,
20469 ) -> windows_core::HRESULT,
20470}
20471pub trait ICoreWebView2GetCookiesCompletedHandler_Impl: windows_core::IUnknownImpl {
20472 fn Invoke(
20473 &self,
20474 errorcode: windows_core::HRESULT,
20475 result: windows_core::Ref<'_, ICoreWebView2CookieList>,
20476 ) -> windows_core::Result<()>;
20477}
20478impl ICoreWebView2GetCookiesCompletedHandler_Vtbl {
20479 pub const fn new<
20480 Identity: ICoreWebView2GetCookiesCompletedHandler_Impl,
20481 const OFFSET: isize,
20482 >() -> Self {
20483 unsafe extern "system" fn Invoke<
20484 Identity: ICoreWebView2GetCookiesCompletedHandler_Impl,
20485 const OFFSET: isize,
20486 >(
20487 this: *mut core::ffi::c_void,
20488 errorcode: windows_core::HRESULT,
20489 result: *mut core::ffi::c_void,
20490 ) -> windows_core::HRESULT {
20491 unsafe {
20492 let this: &Identity =
20493 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20494 ICoreWebView2GetCookiesCompletedHandler_Impl::Invoke(
20495 this,
20496 core::mem::transmute_copy(&errorcode),
20497 core::mem::transmute_copy(&result),
20498 )
20499 .into()
20500 }
20501 }
20502 Self {
20503 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20504 Invoke: Invoke::<Identity, OFFSET>,
20505 }
20506 }
20507 pub fn matches(iid: &windows_core::GUID) -> bool {
20508 iid == &<ICoreWebView2GetCookiesCompletedHandler as windows_core::Interface>::IID
20509 }
20510}
20511impl windows_core::RuntimeName for ICoreWebView2GetCookiesCompletedHandler {}
20512windows_core::imp::define_interface!(
20513 ICoreWebView2GetFaviconCompletedHandler,
20514 ICoreWebView2GetFaviconCompletedHandler_Vtbl,
20515 0xa2508329_7da8_49d7_8c05_fa125e4aee8d
20516);
20517windows_core::imp::interface_hierarchy!(
20518 ICoreWebView2GetFaviconCompletedHandler,
20519 windows_core::IUnknown
20520);
20521impl ICoreWebView2GetFaviconCompletedHandler {
20522 pub unsafe fn Invoke<P1>(
20523 &self,
20524 errorcode: windows_core::HRESULT,
20525 result: P1,
20526 ) -> windows_core::Result<()>
20527 where
20528 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
20529 {
20530 unsafe {
20531 (windows_core::Interface::vtable(self).Invoke)(
20532 windows_core::Interface::as_raw(self),
20533 errorcode,
20534 result.param().abi(),
20535 )
20536 .ok()
20537 }
20538 }
20539}
20540#[repr(C)]
20541#[doc(hidden)]
20542pub struct ICoreWebView2GetFaviconCompletedHandler_Vtbl {
20543 pub base__: windows_core::IUnknown_Vtbl,
20544 pub Invoke: unsafe extern "system" fn(
20545 *mut core::ffi::c_void,
20546 windows_core::HRESULT,
20547 *mut core::ffi::c_void,
20548 ) -> windows_core::HRESULT,
20549}
20550pub trait ICoreWebView2GetFaviconCompletedHandler_Impl: windows_core::IUnknownImpl {
20551 fn Invoke(
20552 &self,
20553 errorcode: windows_core::HRESULT,
20554 result: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
20555 ) -> windows_core::Result<()>;
20556}
20557impl ICoreWebView2GetFaviconCompletedHandler_Vtbl {
20558 pub const fn new<
20559 Identity: ICoreWebView2GetFaviconCompletedHandler_Impl,
20560 const OFFSET: isize,
20561 >() -> Self {
20562 unsafe extern "system" fn Invoke<
20563 Identity: ICoreWebView2GetFaviconCompletedHandler_Impl,
20564 const OFFSET: isize,
20565 >(
20566 this: *mut core::ffi::c_void,
20567 errorcode: windows_core::HRESULT,
20568 result: *mut core::ffi::c_void,
20569 ) -> windows_core::HRESULT {
20570 unsafe {
20571 let this: &Identity =
20572 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20573 ICoreWebView2GetFaviconCompletedHandler_Impl::Invoke(
20574 this,
20575 core::mem::transmute_copy(&errorcode),
20576 core::mem::transmute_copy(&result),
20577 )
20578 .into()
20579 }
20580 }
20581 Self {
20582 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20583 Invoke: Invoke::<Identity, OFFSET>,
20584 }
20585 }
20586 pub fn matches(iid: &windows_core::GUID) -> bool {
20587 iid == &<ICoreWebView2GetFaviconCompletedHandler as windows_core::Interface>::IID
20588 }
20589}
20590impl windows_core::RuntimeName for ICoreWebView2GetFaviconCompletedHandler {}
20591windows_core::imp::define_interface!(
20592 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler,
20593 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Vtbl,
20594 0x38274481_a15c_4563_94cf_990edc9aeb95
20595);
20596windows_core::imp::interface_hierarchy!(
20597 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler,
20598 windows_core::IUnknown
20599);
20600impl ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler {
20601 pub unsafe fn Invoke<P1>(
20602 &self,
20603 errorcode: windows_core::HRESULT,
20604 result: P1,
20605 ) -> windows_core::Result<()>
20606 where
20607 P1: windows_core::Param<ICoreWebView2PermissionSettingCollectionView>,
20608 {
20609 unsafe {
20610 (windows_core::Interface::vtable(self).Invoke)(
20611 windows_core::Interface::as_raw(self),
20612 errorcode,
20613 result.param().abi(),
20614 )
20615 .ok()
20616 }
20617 }
20618}
20619#[repr(C)]
20620#[doc(hidden)]
20621pub struct ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Vtbl {
20622 pub base__: windows_core::IUnknown_Vtbl,
20623 pub Invoke: unsafe extern "system" fn(
20624 *mut core::ffi::c_void,
20625 windows_core::HRESULT,
20626 *mut core::ffi::c_void,
20627 ) -> windows_core::HRESULT,
20628}
20629pub trait ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Impl:
20630 windows_core::IUnknownImpl
20631{
20632 fn Invoke(
20633 &self,
20634 errorcode: windows_core::HRESULT,
20635 result: windows_core::Ref<'_, ICoreWebView2PermissionSettingCollectionView>,
20636 ) -> windows_core::Result<()>;
20637}
20638impl ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Vtbl {
20639 pub const fn new<
20640 Identity: ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Impl,
20641 const OFFSET: isize,
20642 >() -> Self {
20643 unsafe extern "system" fn Invoke<
20644 Identity: ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Impl,
20645 const OFFSET: isize,
20646 >(
20647 this: *mut core::ffi::c_void,
20648 errorcode: windows_core::HRESULT,
20649 result: *mut core::ffi::c_void,
20650 ) -> windows_core::HRESULT {
20651 unsafe {
20652 let this: &Identity =
20653 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20654 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Impl::Invoke(
20655 this,
20656 core::mem::transmute_copy(&errorcode),
20657 core::mem::transmute_copy(&result),
20658 )
20659 .into()
20660 }
20661 }
20662 Self {
20663 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20664 Invoke: Invoke::<Identity, OFFSET>,
20665 }
20666 }
20667 pub fn matches(iid: &windows_core::GUID) -> bool {
20668 iid == & < ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler as windows_core::Interface >::IID
20669 }
20670}
20671impl windows_core::RuntimeName for ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler {}
20672windows_core::imp::define_interface!(
20673 ICoreWebView2GetProcessExtendedInfosCompletedHandler,
20674 ICoreWebView2GetProcessExtendedInfosCompletedHandler_Vtbl,
20675 0xf45e55aa_3bc2_11ee_be56_0242ac120002
20676);
20677windows_core::imp::interface_hierarchy!(
20678 ICoreWebView2GetProcessExtendedInfosCompletedHandler,
20679 windows_core::IUnknown
20680);
20681impl ICoreWebView2GetProcessExtendedInfosCompletedHandler {
20682 pub unsafe fn Invoke<P1>(
20683 &self,
20684 errorcode: windows_core::HRESULT,
20685 result: P1,
20686 ) -> windows_core::Result<()>
20687 where
20688 P1: windows_core::Param<ICoreWebView2ProcessExtendedInfoCollection>,
20689 {
20690 unsafe {
20691 (windows_core::Interface::vtable(self).Invoke)(
20692 windows_core::Interface::as_raw(self),
20693 errorcode,
20694 result.param().abi(),
20695 )
20696 .ok()
20697 }
20698 }
20699}
20700#[repr(C)]
20701#[doc(hidden)]
20702pub struct ICoreWebView2GetProcessExtendedInfosCompletedHandler_Vtbl {
20703 pub base__: windows_core::IUnknown_Vtbl,
20704 pub Invoke: unsafe extern "system" fn(
20705 *mut core::ffi::c_void,
20706 windows_core::HRESULT,
20707 *mut core::ffi::c_void,
20708 ) -> windows_core::HRESULT,
20709}
20710pub trait ICoreWebView2GetProcessExtendedInfosCompletedHandler_Impl:
20711 windows_core::IUnknownImpl
20712{
20713 fn Invoke(
20714 &self,
20715 errorcode: windows_core::HRESULT,
20716 result: windows_core::Ref<'_, ICoreWebView2ProcessExtendedInfoCollection>,
20717 ) -> windows_core::Result<()>;
20718}
20719impl ICoreWebView2GetProcessExtendedInfosCompletedHandler_Vtbl {
20720 pub const fn new<
20721 Identity: ICoreWebView2GetProcessExtendedInfosCompletedHandler_Impl,
20722 const OFFSET: isize,
20723 >() -> Self {
20724 unsafe extern "system" fn Invoke<
20725 Identity: ICoreWebView2GetProcessExtendedInfosCompletedHandler_Impl,
20726 const OFFSET: isize,
20727 >(
20728 this: *mut core::ffi::c_void,
20729 errorcode: windows_core::HRESULT,
20730 result: *mut core::ffi::c_void,
20731 ) -> windows_core::HRESULT {
20732 unsafe {
20733 let this: &Identity =
20734 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20735 ICoreWebView2GetProcessExtendedInfosCompletedHandler_Impl::Invoke(
20736 this,
20737 core::mem::transmute_copy(&errorcode),
20738 core::mem::transmute_copy(&result),
20739 )
20740 .into()
20741 }
20742 }
20743 Self {
20744 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20745 Invoke: Invoke::<Identity, OFFSET>,
20746 }
20747 }
20748 pub fn matches(iid: &windows_core::GUID) -> bool {
20749 iid == & < ICoreWebView2GetProcessExtendedInfosCompletedHandler as windows_core::Interface >::IID
20750 }
20751}
20752impl windows_core::RuntimeName for ICoreWebView2GetProcessExtendedInfosCompletedHandler {}
20753windows_core::imp::define_interface!(
20754 ICoreWebView2HistoryChangedEventHandler,
20755 ICoreWebView2HistoryChangedEventHandler_Vtbl,
20756 0xc79a420c_efd9_4058_9295_3e8b4bcab645
20757);
20758windows_core::imp::interface_hierarchy!(
20759 ICoreWebView2HistoryChangedEventHandler,
20760 windows_core::IUnknown
20761);
20762impl ICoreWebView2HistoryChangedEventHandler {
20763 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
20764 where
20765 P0: windows_core::Param<ICoreWebView2>,
20766 P1: windows_core::Param<windows_core::IUnknown>,
20767 {
20768 unsafe {
20769 (windows_core::Interface::vtable(self).Invoke)(
20770 windows_core::Interface::as_raw(self),
20771 sender.param().abi(),
20772 args.param().abi(),
20773 )
20774 .ok()
20775 }
20776 }
20777}
20778#[repr(C)]
20779#[doc(hidden)]
20780pub struct ICoreWebView2HistoryChangedEventHandler_Vtbl {
20781 pub base__: windows_core::IUnknown_Vtbl,
20782 pub Invoke: unsafe extern "system" fn(
20783 *mut core::ffi::c_void,
20784 *mut core::ffi::c_void,
20785 *mut core::ffi::c_void,
20786 ) -> windows_core::HRESULT,
20787}
20788pub trait ICoreWebView2HistoryChangedEventHandler_Impl: windows_core::IUnknownImpl {
20789 fn Invoke(
20790 &self,
20791 sender: windows_core::Ref<'_, ICoreWebView2>,
20792 args: windows_core::Ref<'_, windows_core::IUnknown>,
20793 ) -> windows_core::Result<()>;
20794}
20795impl ICoreWebView2HistoryChangedEventHandler_Vtbl {
20796 pub const fn new<
20797 Identity: ICoreWebView2HistoryChangedEventHandler_Impl,
20798 const OFFSET: isize,
20799 >() -> Self {
20800 unsafe extern "system" fn Invoke<
20801 Identity: ICoreWebView2HistoryChangedEventHandler_Impl,
20802 const OFFSET: isize,
20803 >(
20804 this: *mut core::ffi::c_void,
20805 sender: *mut core::ffi::c_void,
20806 args: *mut core::ffi::c_void,
20807 ) -> windows_core::HRESULT {
20808 unsafe {
20809 let this: &Identity =
20810 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20811 ICoreWebView2HistoryChangedEventHandler_Impl::Invoke(
20812 this,
20813 core::mem::transmute_copy(&sender),
20814 core::mem::transmute_copy(&args),
20815 )
20816 .into()
20817 }
20818 }
20819 Self {
20820 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20821 Invoke: Invoke::<Identity, OFFSET>,
20822 }
20823 }
20824 pub fn matches(iid: &windows_core::GUID) -> bool {
20825 iid == &<ICoreWebView2HistoryChangedEventHandler as windows_core::Interface>::IID
20826 }
20827}
20828impl windows_core::RuntimeName for ICoreWebView2HistoryChangedEventHandler {}
20829windows_core::imp::define_interface!(
20830 ICoreWebView2HttpHeadersCollectionIterator,
20831 ICoreWebView2HttpHeadersCollectionIterator_Vtbl,
20832 0x0702fc30_f43b_47bb_ab52_a42cb552ad9f
20833);
20834windows_core::imp::interface_hierarchy!(
20835 ICoreWebView2HttpHeadersCollectionIterator,
20836 windows_core::IUnknown
20837);
20838impl ICoreWebView2HttpHeadersCollectionIterator {
20839 pub unsafe fn GetCurrentHeader(
20840 &self,
20841 name: *mut windows_core::PWSTR,
20842 value: *mut windows_core::PWSTR,
20843 ) -> windows_core::Result<()> {
20844 unsafe {
20845 (windows_core::Interface::vtable(self).GetCurrentHeader)(
20846 windows_core::Interface::as_raw(self),
20847 name as _,
20848 value as _,
20849 )
20850 .ok()
20851 }
20852 }
20853 pub unsafe fn HasCurrentHeader(
20854 &self,
20855 hascurrent: *mut windows_core::BOOL,
20856 ) -> windows_core::Result<()> {
20857 unsafe {
20858 (windows_core::Interface::vtable(self).HasCurrentHeader)(
20859 windows_core::Interface::as_raw(self),
20860 hascurrent as _,
20861 )
20862 .ok()
20863 }
20864 }
20865 pub unsafe fn MoveNext(&self, hasnext: *mut windows_core::BOOL) -> windows_core::Result<()> {
20866 unsafe {
20867 (windows_core::Interface::vtable(self).MoveNext)(
20868 windows_core::Interface::as_raw(self),
20869 hasnext as _,
20870 )
20871 .ok()
20872 }
20873 }
20874}
20875#[repr(C)]
20876#[doc(hidden)]
20877pub struct ICoreWebView2HttpHeadersCollectionIterator_Vtbl {
20878 pub base__: windows_core::IUnknown_Vtbl,
20879 pub GetCurrentHeader: unsafe extern "system" fn(
20880 *mut core::ffi::c_void,
20881 *mut windows_core::PWSTR,
20882 *mut windows_core::PWSTR,
20883 ) -> windows_core::HRESULT,
20884 pub HasCurrentHeader: unsafe extern "system" fn(
20885 *mut core::ffi::c_void,
20886 *mut windows_core::BOOL,
20887 ) -> windows_core::HRESULT,
20888 pub MoveNext: unsafe extern "system" fn(
20889 *mut core::ffi::c_void,
20890 *mut windows_core::BOOL,
20891 ) -> windows_core::HRESULT,
20892}
20893pub trait ICoreWebView2HttpHeadersCollectionIterator_Impl: windows_core::IUnknownImpl {
20894 fn GetCurrentHeader(
20895 &self,
20896 name: *mut windows_core::PWSTR,
20897 value: *mut windows_core::PWSTR,
20898 ) -> windows_core::Result<()>;
20899 fn HasCurrentHeader(&self, hascurrent: *mut windows_core::BOOL) -> windows_core::Result<()>;
20900 fn MoveNext(&self, hasnext: *mut windows_core::BOOL) -> windows_core::Result<()>;
20901}
20902impl ICoreWebView2HttpHeadersCollectionIterator_Vtbl {
20903 pub const fn new<
20904 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
20905 const OFFSET: isize,
20906 >() -> Self {
20907 unsafe extern "system" fn GetCurrentHeader<
20908 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
20909 const OFFSET: isize,
20910 >(
20911 this: *mut core::ffi::c_void,
20912 name: *mut windows_core::PWSTR,
20913 value: *mut windows_core::PWSTR,
20914 ) -> windows_core::HRESULT {
20915 unsafe {
20916 let this: &Identity =
20917 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20918 ICoreWebView2HttpHeadersCollectionIterator_Impl::GetCurrentHeader(
20919 this,
20920 core::mem::transmute_copy(&name),
20921 core::mem::transmute_copy(&value),
20922 )
20923 .into()
20924 }
20925 }
20926 unsafe extern "system" fn HasCurrentHeader<
20927 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
20928 const OFFSET: isize,
20929 >(
20930 this: *mut core::ffi::c_void,
20931 hascurrent: *mut windows_core::BOOL,
20932 ) -> windows_core::HRESULT {
20933 unsafe {
20934 let this: &Identity =
20935 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20936 ICoreWebView2HttpHeadersCollectionIterator_Impl::HasCurrentHeader(
20937 this,
20938 core::mem::transmute_copy(&hascurrent),
20939 )
20940 .into()
20941 }
20942 }
20943 unsafe extern "system" fn MoveNext<
20944 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
20945 const OFFSET: isize,
20946 >(
20947 this: *mut core::ffi::c_void,
20948 hasnext: *mut windows_core::BOOL,
20949 ) -> windows_core::HRESULT {
20950 unsafe {
20951 let this: &Identity =
20952 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20953 ICoreWebView2HttpHeadersCollectionIterator_Impl::MoveNext(
20954 this,
20955 core::mem::transmute_copy(&hasnext),
20956 )
20957 .into()
20958 }
20959 }
20960 Self {
20961 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20962 GetCurrentHeader: GetCurrentHeader::<Identity, OFFSET>,
20963 HasCurrentHeader: HasCurrentHeader::<Identity, OFFSET>,
20964 MoveNext: MoveNext::<Identity, OFFSET>,
20965 }
20966 }
20967 pub fn matches(iid: &windows_core::GUID) -> bool {
20968 iid == &<ICoreWebView2HttpHeadersCollectionIterator as windows_core::Interface>::IID
20969 }
20970}
20971impl windows_core::RuntimeName for ICoreWebView2HttpHeadersCollectionIterator {}
20972windows_core::imp::define_interface!(
20973 ICoreWebView2HttpRequestHeaders,
20974 ICoreWebView2HttpRequestHeaders_Vtbl,
20975 0xe86cac0e_5523_465c_b536_8fb9fc8c8c60
20976);
20977windows_core::imp::interface_hierarchy!(ICoreWebView2HttpRequestHeaders, windows_core::IUnknown);
20978impl ICoreWebView2HttpRequestHeaders {
20979 pub unsafe fn GetHeader<P0>(
20980 &self,
20981 name: P0,
20982 value: *mut windows_core::PWSTR,
20983 ) -> windows_core::Result<()>
20984 where
20985 P0: windows_core::Param<windows_core::PCWSTR>,
20986 {
20987 unsafe {
20988 (windows_core::Interface::vtable(self).GetHeader)(
20989 windows_core::Interface::as_raw(self),
20990 name.param().abi(),
20991 value as _,
20992 )
20993 .ok()
20994 }
20995 }
20996 pub unsafe fn GetHeaders<P0>(
20997 &self,
20998 name: P0,
20999 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>
21000 where
21001 P0: windows_core::Param<windows_core::PCWSTR>,
21002 {
21003 unsafe {
21004 let mut result__ = core::mem::zeroed();
21005 (windows_core::Interface::vtable(self).GetHeaders)(
21006 windows_core::Interface::as_raw(self),
21007 name.param().abi(),
21008 &mut result__,
21009 )
21010 .and_then(|| windows_core::Type::from_abi(result__))
21011 }
21012 }
21013 pub unsafe fn Contains<P0>(
21014 &self,
21015 name: P0,
21016 value: *mut windows_core::BOOL,
21017 ) -> windows_core::Result<()>
21018 where
21019 P0: windows_core::Param<windows_core::PCWSTR>,
21020 {
21021 unsafe {
21022 (windows_core::Interface::vtable(self).Contains)(
21023 windows_core::Interface::as_raw(self),
21024 name.param().abi(),
21025 value as _,
21026 )
21027 .ok()
21028 }
21029 }
21030 pub unsafe fn SetHeader<P0, P1>(&self, name: P0, value: P1) -> windows_core::Result<()>
21031 where
21032 P0: windows_core::Param<windows_core::PCWSTR>,
21033 P1: windows_core::Param<windows_core::PCWSTR>,
21034 {
21035 unsafe {
21036 (windows_core::Interface::vtable(self).SetHeader)(
21037 windows_core::Interface::as_raw(self),
21038 name.param().abi(),
21039 value.param().abi(),
21040 )
21041 .ok()
21042 }
21043 }
21044 pub unsafe fn RemoveHeader<P0>(&self, name: P0) -> windows_core::Result<()>
21045 where
21046 P0: windows_core::Param<windows_core::PCWSTR>,
21047 {
21048 unsafe {
21049 (windows_core::Interface::vtable(self).RemoveHeader)(
21050 windows_core::Interface::as_raw(self),
21051 name.param().abi(),
21052 )
21053 .ok()
21054 }
21055 }
21056 pub unsafe fn GetIterator(
21057 &self,
21058 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator> {
21059 unsafe {
21060 let mut result__ = core::mem::zeroed();
21061 (windows_core::Interface::vtable(self).GetIterator)(
21062 windows_core::Interface::as_raw(self),
21063 &mut result__,
21064 )
21065 .and_then(|| windows_core::Type::from_abi(result__))
21066 }
21067 }
21068}
21069#[repr(C)]
21070#[doc(hidden)]
21071pub struct ICoreWebView2HttpRequestHeaders_Vtbl {
21072 pub base__: windows_core::IUnknown_Vtbl,
21073 pub GetHeader: unsafe extern "system" fn(
21074 *mut core::ffi::c_void,
21075 windows_core::PCWSTR,
21076 *mut windows_core::PWSTR,
21077 ) -> windows_core::HRESULT,
21078 pub GetHeaders: unsafe extern "system" fn(
21079 *mut core::ffi::c_void,
21080 windows_core::PCWSTR,
21081 *mut *mut core::ffi::c_void,
21082 ) -> windows_core::HRESULT,
21083 pub Contains: unsafe extern "system" fn(
21084 *mut core::ffi::c_void,
21085 windows_core::PCWSTR,
21086 *mut windows_core::BOOL,
21087 ) -> windows_core::HRESULT,
21088 pub SetHeader: unsafe extern "system" fn(
21089 *mut core::ffi::c_void,
21090 windows_core::PCWSTR,
21091 windows_core::PCWSTR,
21092 ) -> windows_core::HRESULT,
21093 pub RemoveHeader: unsafe extern "system" fn(
21094 *mut core::ffi::c_void,
21095 windows_core::PCWSTR,
21096 ) -> windows_core::HRESULT,
21097 pub GetIterator: unsafe extern "system" fn(
21098 *mut core::ffi::c_void,
21099 *mut *mut core::ffi::c_void,
21100 ) -> windows_core::HRESULT,
21101}
21102pub trait ICoreWebView2HttpRequestHeaders_Impl: windows_core::IUnknownImpl {
21103 fn GetHeader(
21104 &self,
21105 name: &windows_core::PCWSTR,
21106 value: *mut windows_core::PWSTR,
21107 ) -> windows_core::Result<()>;
21108 fn GetHeaders(
21109 &self,
21110 name: &windows_core::PCWSTR,
21111 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
21112 fn Contains(
21113 &self,
21114 name: &windows_core::PCWSTR,
21115 value: *mut windows_core::BOOL,
21116 ) -> windows_core::Result<()>;
21117 fn SetHeader(
21118 &self,
21119 name: &windows_core::PCWSTR,
21120 value: &windows_core::PCWSTR,
21121 ) -> windows_core::Result<()>;
21122 fn RemoveHeader(&self, name: &windows_core::PCWSTR) -> windows_core::Result<()>;
21123 fn GetIterator(&self) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
21124}
21125impl ICoreWebView2HttpRequestHeaders_Vtbl {
21126 pub const fn new<Identity: ICoreWebView2HttpRequestHeaders_Impl, const OFFSET: isize>() -> Self
21127 {
21128 unsafe extern "system" fn GetHeader<
21129 Identity: ICoreWebView2HttpRequestHeaders_Impl,
21130 const OFFSET: isize,
21131 >(
21132 this: *mut core::ffi::c_void,
21133 name: windows_core::PCWSTR,
21134 value: *mut windows_core::PWSTR,
21135 ) -> windows_core::HRESULT {
21136 unsafe {
21137 let this: &Identity =
21138 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21139 ICoreWebView2HttpRequestHeaders_Impl::GetHeader(
21140 this,
21141 core::mem::transmute(&name),
21142 core::mem::transmute_copy(&value),
21143 )
21144 .into()
21145 }
21146 }
21147 unsafe extern "system" fn GetHeaders<
21148 Identity: ICoreWebView2HttpRequestHeaders_Impl,
21149 const OFFSET: isize,
21150 >(
21151 this: *mut core::ffi::c_void,
21152 name: windows_core::PCWSTR,
21153 value: *mut *mut core::ffi::c_void,
21154 ) -> windows_core::HRESULT {
21155 unsafe {
21156 let this: &Identity =
21157 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21158 match ICoreWebView2HttpRequestHeaders_Impl::GetHeaders(
21159 this,
21160 core::mem::transmute(&name),
21161 ) {
21162 Ok(ok__) => {
21163 value.write(core::mem::transmute(ok__));
21164 windows_core::HRESULT(0)
21165 }
21166 Err(err) => err.into(),
21167 }
21168 }
21169 }
21170 unsafe extern "system" fn Contains<
21171 Identity: ICoreWebView2HttpRequestHeaders_Impl,
21172 const OFFSET: isize,
21173 >(
21174 this: *mut core::ffi::c_void,
21175 name: windows_core::PCWSTR,
21176 value: *mut windows_core::BOOL,
21177 ) -> windows_core::HRESULT {
21178 unsafe {
21179 let this: &Identity =
21180 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21181 ICoreWebView2HttpRequestHeaders_Impl::Contains(
21182 this,
21183 core::mem::transmute(&name),
21184 core::mem::transmute_copy(&value),
21185 )
21186 .into()
21187 }
21188 }
21189 unsafe extern "system" fn SetHeader<
21190 Identity: ICoreWebView2HttpRequestHeaders_Impl,
21191 const OFFSET: isize,
21192 >(
21193 this: *mut core::ffi::c_void,
21194 name: windows_core::PCWSTR,
21195 value: windows_core::PCWSTR,
21196 ) -> windows_core::HRESULT {
21197 unsafe {
21198 let this: &Identity =
21199 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21200 ICoreWebView2HttpRequestHeaders_Impl::SetHeader(
21201 this,
21202 core::mem::transmute(&name),
21203 core::mem::transmute(&value),
21204 )
21205 .into()
21206 }
21207 }
21208 unsafe extern "system" fn RemoveHeader<
21209 Identity: ICoreWebView2HttpRequestHeaders_Impl,
21210 const OFFSET: isize,
21211 >(
21212 this: *mut core::ffi::c_void,
21213 name: windows_core::PCWSTR,
21214 ) -> windows_core::HRESULT {
21215 unsafe {
21216 let this: &Identity =
21217 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21218 ICoreWebView2HttpRequestHeaders_Impl::RemoveHeader(
21219 this,
21220 core::mem::transmute(&name),
21221 )
21222 .into()
21223 }
21224 }
21225 unsafe extern "system" fn GetIterator<
21226 Identity: ICoreWebView2HttpRequestHeaders_Impl,
21227 const OFFSET: isize,
21228 >(
21229 this: *mut core::ffi::c_void,
21230 value: *mut *mut core::ffi::c_void,
21231 ) -> windows_core::HRESULT {
21232 unsafe {
21233 let this: &Identity =
21234 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21235 match ICoreWebView2HttpRequestHeaders_Impl::GetIterator(this) {
21236 Ok(ok__) => {
21237 value.write(core::mem::transmute(ok__));
21238 windows_core::HRESULT(0)
21239 }
21240 Err(err) => err.into(),
21241 }
21242 }
21243 }
21244 Self {
21245 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21246 GetHeader: GetHeader::<Identity, OFFSET>,
21247 GetHeaders: GetHeaders::<Identity, OFFSET>,
21248 Contains: Contains::<Identity, OFFSET>,
21249 SetHeader: SetHeader::<Identity, OFFSET>,
21250 RemoveHeader: RemoveHeader::<Identity, OFFSET>,
21251 GetIterator: GetIterator::<Identity, OFFSET>,
21252 }
21253 }
21254 pub fn matches(iid: &windows_core::GUID) -> bool {
21255 iid == &<ICoreWebView2HttpRequestHeaders as windows_core::Interface>::IID
21256 }
21257}
21258impl windows_core::RuntimeName for ICoreWebView2HttpRequestHeaders {}
21259windows_core::imp::define_interface!(
21260 ICoreWebView2HttpResponseHeaders,
21261 ICoreWebView2HttpResponseHeaders_Vtbl,
21262 0x03c5ff5a_9b45_4a88_881c_89a9f328619c
21263);
21264windows_core::imp::interface_hierarchy!(ICoreWebView2HttpResponseHeaders, windows_core::IUnknown);
21265impl ICoreWebView2HttpResponseHeaders {
21266 pub unsafe fn AppendHeader<P0, P1>(&self, name: P0, value: P1) -> windows_core::Result<()>
21267 where
21268 P0: windows_core::Param<windows_core::PCWSTR>,
21269 P1: windows_core::Param<windows_core::PCWSTR>,
21270 {
21271 unsafe {
21272 (windows_core::Interface::vtable(self).AppendHeader)(
21273 windows_core::Interface::as_raw(self),
21274 name.param().abi(),
21275 value.param().abi(),
21276 )
21277 .ok()
21278 }
21279 }
21280 pub unsafe fn Contains<P0>(
21281 &self,
21282 name: P0,
21283 value: *mut windows_core::BOOL,
21284 ) -> windows_core::Result<()>
21285 where
21286 P0: windows_core::Param<windows_core::PCWSTR>,
21287 {
21288 unsafe {
21289 (windows_core::Interface::vtable(self).Contains)(
21290 windows_core::Interface::as_raw(self),
21291 name.param().abi(),
21292 value as _,
21293 )
21294 .ok()
21295 }
21296 }
21297 pub unsafe fn GetHeader<P0>(
21298 &self,
21299 name: P0,
21300 value: *mut windows_core::PWSTR,
21301 ) -> windows_core::Result<()>
21302 where
21303 P0: windows_core::Param<windows_core::PCWSTR>,
21304 {
21305 unsafe {
21306 (windows_core::Interface::vtable(self).GetHeader)(
21307 windows_core::Interface::as_raw(self),
21308 name.param().abi(),
21309 value as _,
21310 )
21311 .ok()
21312 }
21313 }
21314 pub unsafe fn GetHeaders<P0>(
21315 &self,
21316 name: P0,
21317 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>
21318 where
21319 P0: windows_core::Param<windows_core::PCWSTR>,
21320 {
21321 unsafe {
21322 let mut result__ = core::mem::zeroed();
21323 (windows_core::Interface::vtable(self).GetHeaders)(
21324 windows_core::Interface::as_raw(self),
21325 name.param().abi(),
21326 &mut result__,
21327 )
21328 .and_then(|| windows_core::Type::from_abi(result__))
21329 }
21330 }
21331 pub unsafe fn GetIterator(
21332 &self,
21333 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator> {
21334 unsafe {
21335 let mut result__ = core::mem::zeroed();
21336 (windows_core::Interface::vtable(self).GetIterator)(
21337 windows_core::Interface::as_raw(self),
21338 &mut result__,
21339 )
21340 .and_then(|| windows_core::Type::from_abi(result__))
21341 }
21342 }
21343}
21344#[repr(C)]
21345#[doc(hidden)]
21346pub struct ICoreWebView2HttpResponseHeaders_Vtbl {
21347 pub base__: windows_core::IUnknown_Vtbl,
21348 pub AppendHeader: unsafe extern "system" fn(
21349 *mut core::ffi::c_void,
21350 windows_core::PCWSTR,
21351 windows_core::PCWSTR,
21352 ) -> windows_core::HRESULT,
21353 pub Contains: unsafe extern "system" fn(
21354 *mut core::ffi::c_void,
21355 windows_core::PCWSTR,
21356 *mut windows_core::BOOL,
21357 ) -> windows_core::HRESULT,
21358 pub GetHeader: unsafe extern "system" fn(
21359 *mut core::ffi::c_void,
21360 windows_core::PCWSTR,
21361 *mut windows_core::PWSTR,
21362 ) -> windows_core::HRESULT,
21363 pub GetHeaders: unsafe extern "system" fn(
21364 *mut core::ffi::c_void,
21365 windows_core::PCWSTR,
21366 *mut *mut core::ffi::c_void,
21367 ) -> windows_core::HRESULT,
21368 pub GetIterator: unsafe extern "system" fn(
21369 *mut core::ffi::c_void,
21370 *mut *mut core::ffi::c_void,
21371 ) -> windows_core::HRESULT,
21372}
21373pub trait ICoreWebView2HttpResponseHeaders_Impl: windows_core::IUnknownImpl {
21374 fn AppendHeader(
21375 &self,
21376 name: &windows_core::PCWSTR,
21377 value: &windows_core::PCWSTR,
21378 ) -> windows_core::Result<()>;
21379 fn Contains(
21380 &self,
21381 name: &windows_core::PCWSTR,
21382 value: *mut windows_core::BOOL,
21383 ) -> windows_core::Result<()>;
21384 fn GetHeader(
21385 &self,
21386 name: &windows_core::PCWSTR,
21387 value: *mut windows_core::PWSTR,
21388 ) -> windows_core::Result<()>;
21389 fn GetHeaders(
21390 &self,
21391 name: &windows_core::PCWSTR,
21392 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
21393 fn GetIterator(&self) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
21394}
21395impl ICoreWebView2HttpResponseHeaders_Vtbl {
21396 pub const fn new<Identity: ICoreWebView2HttpResponseHeaders_Impl, const OFFSET: isize>() -> Self
21397 {
21398 unsafe extern "system" fn AppendHeader<
21399 Identity: ICoreWebView2HttpResponseHeaders_Impl,
21400 const OFFSET: isize,
21401 >(
21402 this: *mut core::ffi::c_void,
21403 name: windows_core::PCWSTR,
21404 value: windows_core::PCWSTR,
21405 ) -> windows_core::HRESULT {
21406 unsafe {
21407 let this: &Identity =
21408 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21409 ICoreWebView2HttpResponseHeaders_Impl::AppendHeader(
21410 this,
21411 core::mem::transmute(&name),
21412 core::mem::transmute(&value),
21413 )
21414 .into()
21415 }
21416 }
21417 unsafe extern "system" fn Contains<
21418 Identity: ICoreWebView2HttpResponseHeaders_Impl,
21419 const OFFSET: isize,
21420 >(
21421 this: *mut core::ffi::c_void,
21422 name: windows_core::PCWSTR,
21423 value: *mut windows_core::BOOL,
21424 ) -> windows_core::HRESULT {
21425 unsafe {
21426 let this: &Identity =
21427 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21428 ICoreWebView2HttpResponseHeaders_Impl::Contains(
21429 this,
21430 core::mem::transmute(&name),
21431 core::mem::transmute_copy(&value),
21432 )
21433 .into()
21434 }
21435 }
21436 unsafe extern "system" fn GetHeader<
21437 Identity: ICoreWebView2HttpResponseHeaders_Impl,
21438 const OFFSET: isize,
21439 >(
21440 this: *mut core::ffi::c_void,
21441 name: windows_core::PCWSTR,
21442 value: *mut windows_core::PWSTR,
21443 ) -> windows_core::HRESULT {
21444 unsafe {
21445 let this: &Identity =
21446 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21447 ICoreWebView2HttpResponseHeaders_Impl::GetHeader(
21448 this,
21449 core::mem::transmute(&name),
21450 core::mem::transmute_copy(&value),
21451 )
21452 .into()
21453 }
21454 }
21455 unsafe extern "system" fn GetHeaders<
21456 Identity: ICoreWebView2HttpResponseHeaders_Impl,
21457 const OFFSET: isize,
21458 >(
21459 this: *mut core::ffi::c_void,
21460 name: windows_core::PCWSTR,
21461 value: *mut *mut core::ffi::c_void,
21462 ) -> windows_core::HRESULT {
21463 unsafe {
21464 let this: &Identity =
21465 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21466 match ICoreWebView2HttpResponseHeaders_Impl::GetHeaders(
21467 this,
21468 core::mem::transmute(&name),
21469 ) {
21470 Ok(ok__) => {
21471 value.write(core::mem::transmute(ok__));
21472 windows_core::HRESULT(0)
21473 }
21474 Err(err) => err.into(),
21475 }
21476 }
21477 }
21478 unsafe extern "system" fn GetIterator<
21479 Identity: ICoreWebView2HttpResponseHeaders_Impl,
21480 const OFFSET: isize,
21481 >(
21482 this: *mut core::ffi::c_void,
21483 value: *mut *mut core::ffi::c_void,
21484 ) -> windows_core::HRESULT {
21485 unsafe {
21486 let this: &Identity =
21487 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21488 match ICoreWebView2HttpResponseHeaders_Impl::GetIterator(this) {
21489 Ok(ok__) => {
21490 value.write(core::mem::transmute(ok__));
21491 windows_core::HRESULT(0)
21492 }
21493 Err(err) => err.into(),
21494 }
21495 }
21496 }
21497 Self {
21498 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21499 AppendHeader: AppendHeader::<Identity, OFFSET>,
21500 Contains: Contains::<Identity, OFFSET>,
21501 GetHeader: GetHeader::<Identity, OFFSET>,
21502 GetHeaders: GetHeaders::<Identity, OFFSET>,
21503 GetIterator: GetIterator::<Identity, OFFSET>,
21504 }
21505 }
21506 pub fn matches(iid: &windows_core::GUID) -> bool {
21507 iid == &<ICoreWebView2HttpResponseHeaders as windows_core::Interface>::IID
21508 }
21509}
21510impl windows_core::RuntimeName for ICoreWebView2HttpResponseHeaders {}
21511windows_core::imp::define_interface!(
21512 ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler,
21513 ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Vtbl,
21514 0x3117da26_ae13_438d_bd46_edbeb2c4ce81
21515);
21516windows_core::imp::interface_hierarchy!(
21517 ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler,
21518 windows_core::IUnknown
21519);
21520impl ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler {
21521 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21522 where
21523 P0: windows_core::Param<ICoreWebView2>,
21524 P1: windows_core::Param<windows_core::IUnknown>,
21525 {
21526 unsafe {
21527 (windows_core::Interface::vtable(self).Invoke)(
21528 windows_core::Interface::as_raw(self),
21529 sender.param().abi(),
21530 args.param().abi(),
21531 )
21532 .ok()
21533 }
21534 }
21535}
21536#[repr(C)]
21537#[doc(hidden)]
21538pub struct ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Vtbl {
21539 pub base__: windows_core::IUnknown_Vtbl,
21540 pub Invoke: unsafe extern "system" fn(
21541 *mut core::ffi::c_void,
21542 *mut core::ffi::c_void,
21543 *mut core::ffi::c_void,
21544 ) -> windows_core::HRESULT,
21545}
21546pub trait ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Impl:
21547 windows_core::IUnknownImpl
21548{
21549 fn Invoke(
21550 &self,
21551 sender: windows_core::Ref<'_, ICoreWebView2>,
21552 args: windows_core::Ref<'_, windows_core::IUnknown>,
21553 ) -> windows_core::Result<()>;
21554}
21555impl ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Vtbl {
21556 pub const fn new<
21557 Identity: ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Impl,
21558 const OFFSET: isize,
21559 >() -> Self {
21560 unsafe extern "system" fn Invoke<
21561 Identity: ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Impl,
21562 const OFFSET: isize,
21563 >(
21564 this: *mut core::ffi::c_void,
21565 sender: *mut core::ffi::c_void,
21566 args: *mut core::ffi::c_void,
21567 ) -> windows_core::HRESULT {
21568 unsafe {
21569 let this: &Identity =
21570 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21571 ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Impl::Invoke(
21572 this,
21573 core::mem::transmute_copy(&sender),
21574 core::mem::transmute_copy(&args),
21575 )
21576 .into()
21577 }
21578 }
21579 Self {
21580 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21581 Invoke: Invoke::<Identity, OFFSET>,
21582 }
21583 }
21584 pub fn matches(iid: &windows_core::GUID) -> bool {
21585 iid == & < ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler as windows_core::Interface >::IID
21586 }
21587}
21588impl windows_core::RuntimeName for ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler {}
21589windows_core::imp::define_interface!(
21590 ICoreWebView2IsDocumentPlayingAudioChangedEventHandler,
21591 ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Vtbl,
21592 0x5def109a_2f4b_49fa_b7f6_11c39e513328
21593);
21594windows_core::imp::interface_hierarchy!(
21595 ICoreWebView2IsDocumentPlayingAudioChangedEventHandler,
21596 windows_core::IUnknown
21597);
21598impl ICoreWebView2IsDocumentPlayingAudioChangedEventHandler {
21599 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21600 where
21601 P0: windows_core::Param<ICoreWebView2>,
21602 P1: windows_core::Param<windows_core::IUnknown>,
21603 {
21604 unsafe {
21605 (windows_core::Interface::vtable(self).Invoke)(
21606 windows_core::Interface::as_raw(self),
21607 sender.param().abi(),
21608 args.param().abi(),
21609 )
21610 .ok()
21611 }
21612 }
21613}
21614#[repr(C)]
21615#[doc(hidden)]
21616pub struct ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Vtbl {
21617 pub base__: windows_core::IUnknown_Vtbl,
21618 pub Invoke: unsafe extern "system" fn(
21619 *mut core::ffi::c_void,
21620 *mut core::ffi::c_void,
21621 *mut core::ffi::c_void,
21622 ) -> windows_core::HRESULT,
21623}
21624pub trait ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Impl:
21625 windows_core::IUnknownImpl
21626{
21627 fn Invoke(
21628 &self,
21629 sender: windows_core::Ref<'_, ICoreWebView2>,
21630 args: windows_core::Ref<'_, windows_core::IUnknown>,
21631 ) -> windows_core::Result<()>;
21632}
21633impl ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Vtbl {
21634 pub const fn new<
21635 Identity: ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Impl,
21636 const OFFSET: isize,
21637 >() -> Self {
21638 unsafe extern "system" fn Invoke<
21639 Identity: ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Impl,
21640 const OFFSET: isize,
21641 >(
21642 this: *mut core::ffi::c_void,
21643 sender: *mut core::ffi::c_void,
21644 args: *mut core::ffi::c_void,
21645 ) -> windows_core::HRESULT {
21646 unsafe {
21647 let this: &Identity =
21648 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21649 ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Impl::Invoke(
21650 this,
21651 core::mem::transmute_copy(&sender),
21652 core::mem::transmute_copy(&args),
21653 )
21654 .into()
21655 }
21656 }
21657 Self {
21658 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21659 Invoke: Invoke::<Identity, OFFSET>,
21660 }
21661 }
21662 pub fn matches(iid: &windows_core::GUID) -> bool {
21663 iid == & < ICoreWebView2IsDocumentPlayingAudioChangedEventHandler as windows_core::Interface >::IID
21664 }
21665}
21666impl windows_core::RuntimeName for ICoreWebView2IsDocumentPlayingAudioChangedEventHandler {}
21667windows_core::imp::define_interface!(
21668 ICoreWebView2IsMutedChangedEventHandler,
21669 ICoreWebView2IsMutedChangedEventHandler_Vtbl,
21670 0x57d90347_cd0e_4952_a4a2_7483a2756f08
21671);
21672windows_core::imp::interface_hierarchy!(
21673 ICoreWebView2IsMutedChangedEventHandler,
21674 windows_core::IUnknown
21675);
21676impl ICoreWebView2IsMutedChangedEventHandler {
21677 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21678 where
21679 P0: windows_core::Param<ICoreWebView2>,
21680 P1: windows_core::Param<windows_core::IUnknown>,
21681 {
21682 unsafe {
21683 (windows_core::Interface::vtable(self).Invoke)(
21684 windows_core::Interface::as_raw(self),
21685 sender.param().abi(),
21686 args.param().abi(),
21687 )
21688 .ok()
21689 }
21690 }
21691}
21692#[repr(C)]
21693#[doc(hidden)]
21694pub struct ICoreWebView2IsMutedChangedEventHandler_Vtbl {
21695 pub base__: windows_core::IUnknown_Vtbl,
21696 pub Invoke: unsafe extern "system" fn(
21697 *mut core::ffi::c_void,
21698 *mut core::ffi::c_void,
21699 *mut core::ffi::c_void,
21700 ) -> windows_core::HRESULT,
21701}
21702pub trait ICoreWebView2IsMutedChangedEventHandler_Impl: windows_core::IUnknownImpl {
21703 fn Invoke(
21704 &self,
21705 sender: windows_core::Ref<'_, ICoreWebView2>,
21706 args: windows_core::Ref<'_, windows_core::IUnknown>,
21707 ) -> windows_core::Result<()>;
21708}
21709impl ICoreWebView2IsMutedChangedEventHandler_Vtbl {
21710 pub const fn new<
21711 Identity: ICoreWebView2IsMutedChangedEventHandler_Impl,
21712 const OFFSET: isize,
21713 >() -> Self {
21714 unsafe extern "system" fn Invoke<
21715 Identity: ICoreWebView2IsMutedChangedEventHandler_Impl,
21716 const OFFSET: isize,
21717 >(
21718 this: *mut core::ffi::c_void,
21719 sender: *mut core::ffi::c_void,
21720 args: *mut core::ffi::c_void,
21721 ) -> windows_core::HRESULT {
21722 unsafe {
21723 let this: &Identity =
21724 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21725 ICoreWebView2IsMutedChangedEventHandler_Impl::Invoke(
21726 this,
21727 core::mem::transmute_copy(&sender),
21728 core::mem::transmute_copy(&args),
21729 )
21730 .into()
21731 }
21732 }
21733 Self {
21734 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21735 Invoke: Invoke::<Identity, OFFSET>,
21736 }
21737 }
21738 pub fn matches(iid: &windows_core::GUID) -> bool {
21739 iid == &<ICoreWebView2IsMutedChangedEventHandler as windows_core::Interface>::IID
21740 }
21741}
21742impl windows_core::RuntimeName for ICoreWebView2IsMutedChangedEventHandler {}
21743windows_core::imp::define_interface!(
21744 ICoreWebView2LaunchingExternalUriSchemeEventArgs,
21745 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Vtbl,
21746 0x07d1a6c3_7175_4ba1_9306_e593ca07e46c
21747);
21748windows_core::imp::interface_hierarchy!(
21749 ICoreWebView2LaunchingExternalUriSchemeEventArgs,
21750 windows_core::IUnknown
21751);
21752impl ICoreWebView2LaunchingExternalUriSchemeEventArgs {
21753 pub unsafe fn Uri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
21754 unsafe {
21755 (windows_core::Interface::vtable(self).Uri)(
21756 windows_core::Interface::as_raw(self),
21757 value as _,
21758 )
21759 .ok()
21760 }
21761 }
21762 pub unsafe fn InitiatingOrigin(
21763 &self,
21764 value: *mut windows_core::PWSTR,
21765 ) -> windows_core::Result<()> {
21766 unsafe {
21767 (windows_core::Interface::vtable(self).InitiatingOrigin)(
21768 windows_core::Interface::as_raw(self),
21769 value as _,
21770 )
21771 .ok()
21772 }
21773 }
21774 pub unsafe fn IsUserInitiated(
21775 &self,
21776 value: *mut windows_core::BOOL,
21777 ) -> windows_core::Result<()> {
21778 unsafe {
21779 (windows_core::Interface::vtable(self).IsUserInitiated)(
21780 windows_core::Interface::as_raw(self),
21781 value as _,
21782 )
21783 .ok()
21784 }
21785 }
21786 pub unsafe fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
21787 unsafe {
21788 (windows_core::Interface::vtable(self).Cancel)(
21789 windows_core::Interface::as_raw(self),
21790 value as _,
21791 )
21792 .ok()
21793 }
21794 }
21795 pub unsafe fn SetCancel(&self, value: bool) -> windows_core::Result<()> {
21796 unsafe {
21797 (windows_core::Interface::vtable(self).SetCancel)(
21798 windows_core::Interface::as_raw(self),
21799 value.into(),
21800 )
21801 .ok()
21802 }
21803 }
21804 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
21805 unsafe {
21806 let mut result__ = core::mem::zeroed();
21807 (windows_core::Interface::vtable(self).GetDeferral)(
21808 windows_core::Interface::as_raw(self),
21809 &mut result__,
21810 )
21811 .and_then(|| windows_core::Type::from_abi(result__))
21812 }
21813 }
21814}
21815#[repr(C)]
21816#[doc(hidden)]
21817pub struct ICoreWebView2LaunchingExternalUriSchemeEventArgs_Vtbl {
21818 pub base__: windows_core::IUnknown_Vtbl,
21819 pub Uri: unsafe extern "system" fn(
21820 *mut core::ffi::c_void,
21821 *mut windows_core::PWSTR,
21822 ) -> windows_core::HRESULT,
21823 pub InitiatingOrigin: unsafe extern "system" fn(
21824 *mut core::ffi::c_void,
21825 *mut windows_core::PWSTR,
21826 ) -> windows_core::HRESULT,
21827 pub IsUserInitiated: unsafe extern "system" fn(
21828 *mut core::ffi::c_void,
21829 *mut windows_core::BOOL,
21830 ) -> windows_core::HRESULT,
21831 pub Cancel: unsafe extern "system" fn(
21832 *mut core::ffi::c_void,
21833 *mut windows_core::BOOL,
21834 ) -> windows_core::HRESULT,
21835 pub SetCancel: unsafe extern "system" fn(
21836 *mut core::ffi::c_void,
21837 windows_core::BOOL,
21838 ) -> windows_core::HRESULT,
21839 pub GetDeferral: unsafe extern "system" fn(
21840 *mut core::ffi::c_void,
21841 *mut *mut core::ffi::c_void,
21842 ) -> windows_core::HRESULT,
21843}
21844pub trait ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl:
21845 windows_core::IUnknownImpl
21846{
21847 fn Uri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
21848 fn InitiatingOrigin(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
21849 fn IsUserInitiated(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
21850 fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
21851 fn SetCancel(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
21852 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
21853}
21854impl ICoreWebView2LaunchingExternalUriSchemeEventArgs_Vtbl {
21855 pub const fn new<
21856 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21857 const OFFSET: isize,
21858 >() -> Self {
21859 unsafe extern "system" fn Uri<
21860 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21861 const OFFSET: isize,
21862 >(
21863 this: *mut core::ffi::c_void,
21864 value: *mut windows_core::PWSTR,
21865 ) -> windows_core::HRESULT {
21866 unsafe {
21867 let this: &Identity =
21868 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21869 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::Uri(
21870 this,
21871 core::mem::transmute_copy(&value),
21872 )
21873 .into()
21874 }
21875 }
21876 unsafe extern "system" fn InitiatingOrigin<
21877 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21878 const OFFSET: isize,
21879 >(
21880 this: *mut core::ffi::c_void,
21881 value: *mut windows_core::PWSTR,
21882 ) -> windows_core::HRESULT {
21883 unsafe {
21884 let this: &Identity =
21885 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21886 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::InitiatingOrigin(
21887 this,
21888 core::mem::transmute_copy(&value),
21889 )
21890 .into()
21891 }
21892 }
21893 unsafe extern "system" fn IsUserInitiated<
21894 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21895 const OFFSET: isize,
21896 >(
21897 this: *mut core::ffi::c_void,
21898 value: *mut windows_core::BOOL,
21899 ) -> windows_core::HRESULT {
21900 unsafe {
21901 let this: &Identity =
21902 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21903 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::IsUserInitiated(
21904 this,
21905 core::mem::transmute_copy(&value),
21906 )
21907 .into()
21908 }
21909 }
21910 unsafe extern "system" fn Cancel<
21911 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21912 const OFFSET: isize,
21913 >(
21914 this: *mut core::ffi::c_void,
21915 value: *mut windows_core::BOOL,
21916 ) -> windows_core::HRESULT {
21917 unsafe {
21918 let this: &Identity =
21919 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21920 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::Cancel(
21921 this,
21922 core::mem::transmute_copy(&value),
21923 )
21924 .into()
21925 }
21926 }
21927 unsafe extern "system" fn SetCancel<
21928 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21929 const OFFSET: isize,
21930 >(
21931 this: *mut core::ffi::c_void,
21932 value: windows_core::BOOL,
21933 ) -> windows_core::HRESULT {
21934 unsafe {
21935 let this: &Identity =
21936 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21937 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::SetCancel(
21938 this,
21939 core::mem::transmute_copy(&value),
21940 )
21941 .into()
21942 }
21943 }
21944 unsafe extern "system" fn GetDeferral<
21945 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21946 const OFFSET: isize,
21947 >(
21948 this: *mut core::ffi::c_void,
21949 value: *mut *mut core::ffi::c_void,
21950 ) -> windows_core::HRESULT {
21951 unsafe {
21952 let this: &Identity =
21953 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21954 match ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::GetDeferral(this) {
21955 Ok(ok__) => {
21956 value.write(core::mem::transmute(ok__));
21957 windows_core::HRESULT(0)
21958 }
21959 Err(err) => err.into(),
21960 }
21961 }
21962 }
21963 Self {
21964 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21965 Uri: Uri::<Identity, OFFSET>,
21966 InitiatingOrigin: InitiatingOrigin::<Identity, OFFSET>,
21967 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
21968 Cancel: Cancel::<Identity, OFFSET>,
21969 SetCancel: SetCancel::<Identity, OFFSET>,
21970 GetDeferral: GetDeferral::<Identity, OFFSET>,
21971 }
21972 }
21973 pub fn matches(iid: &windows_core::GUID) -> bool {
21974 iid == &<ICoreWebView2LaunchingExternalUriSchemeEventArgs as windows_core::Interface>::IID
21975 }
21976}
21977impl windows_core::RuntimeName for ICoreWebView2LaunchingExternalUriSchemeEventArgs {}
21978windows_core::imp::define_interface!(
21979 ICoreWebView2LaunchingExternalUriSchemeEventHandler,
21980 ICoreWebView2LaunchingExternalUriSchemeEventHandler_Vtbl,
21981 0x74f712e0_8165_43a9_a13f_0cce597e75df
21982);
21983windows_core::imp::interface_hierarchy!(
21984 ICoreWebView2LaunchingExternalUriSchemeEventHandler,
21985 windows_core::IUnknown
21986);
21987impl ICoreWebView2LaunchingExternalUriSchemeEventHandler {
21988 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21989 where
21990 P0: windows_core::Param<ICoreWebView2>,
21991 P1: windows_core::Param<ICoreWebView2LaunchingExternalUriSchemeEventArgs>,
21992 {
21993 unsafe {
21994 (windows_core::Interface::vtable(self).Invoke)(
21995 windows_core::Interface::as_raw(self),
21996 sender.param().abi(),
21997 args.param().abi(),
21998 )
21999 .ok()
22000 }
22001 }
22002}
22003#[repr(C)]
22004#[doc(hidden)]
22005pub struct ICoreWebView2LaunchingExternalUriSchemeEventHandler_Vtbl {
22006 pub base__: windows_core::IUnknown_Vtbl,
22007 pub Invoke: unsafe extern "system" fn(
22008 *mut core::ffi::c_void,
22009 *mut core::ffi::c_void,
22010 *mut core::ffi::c_void,
22011 ) -> windows_core::HRESULT,
22012}
22013pub trait ICoreWebView2LaunchingExternalUriSchemeEventHandler_Impl:
22014 windows_core::IUnknownImpl
22015{
22016 fn Invoke(
22017 &self,
22018 sender: windows_core::Ref<'_, ICoreWebView2>,
22019 args: windows_core::Ref<'_, ICoreWebView2LaunchingExternalUriSchemeEventArgs>,
22020 ) -> windows_core::Result<()>;
22021}
22022impl ICoreWebView2LaunchingExternalUriSchemeEventHandler_Vtbl {
22023 pub const fn new<
22024 Identity: ICoreWebView2LaunchingExternalUriSchemeEventHandler_Impl,
22025 const OFFSET: isize,
22026 >() -> Self {
22027 unsafe extern "system" fn Invoke<
22028 Identity: ICoreWebView2LaunchingExternalUriSchemeEventHandler_Impl,
22029 const OFFSET: isize,
22030 >(
22031 this: *mut core::ffi::c_void,
22032 sender: *mut core::ffi::c_void,
22033 args: *mut core::ffi::c_void,
22034 ) -> windows_core::HRESULT {
22035 unsafe {
22036 let this: &Identity =
22037 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22038 ICoreWebView2LaunchingExternalUriSchemeEventHandler_Impl::Invoke(
22039 this,
22040 core::mem::transmute_copy(&sender),
22041 core::mem::transmute_copy(&args),
22042 )
22043 .into()
22044 }
22045 }
22046 Self {
22047 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22048 Invoke: Invoke::<Identity, OFFSET>,
22049 }
22050 }
22051 pub fn matches(iid: &windows_core::GUID) -> bool {
22052 iid == & < ICoreWebView2LaunchingExternalUriSchemeEventHandler as windows_core::Interface >::IID
22053 }
22054}
22055impl windows_core::RuntimeName for ICoreWebView2LaunchingExternalUriSchemeEventHandler {}
22056windows_core::imp::define_interface!(
22057 ICoreWebView2MoveFocusRequestedEventArgs,
22058 ICoreWebView2MoveFocusRequestedEventArgs_Vtbl,
22059 0x2d6aa13b_3839_4a15_92fc_d88b3c0d9c9d
22060);
22061windows_core::imp::interface_hierarchy!(
22062 ICoreWebView2MoveFocusRequestedEventArgs,
22063 windows_core::IUnknown
22064);
22065impl ICoreWebView2MoveFocusRequestedEventArgs {
22066 pub unsafe fn Reason(
22067 &self,
22068 reason: *mut COREWEBVIEW2_MOVE_FOCUS_REASON,
22069 ) -> windows_core::Result<()> {
22070 unsafe {
22071 (windows_core::Interface::vtable(self).Reason)(
22072 windows_core::Interface::as_raw(self),
22073 reason as _,
22074 )
22075 .ok()
22076 }
22077 }
22078 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
22079 unsafe {
22080 (windows_core::Interface::vtable(self).Handled)(
22081 windows_core::Interface::as_raw(self),
22082 value as _,
22083 )
22084 .ok()
22085 }
22086 }
22087 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
22088 unsafe {
22089 (windows_core::Interface::vtable(self).SetHandled)(
22090 windows_core::Interface::as_raw(self),
22091 value.into(),
22092 )
22093 .ok()
22094 }
22095 }
22096}
22097#[repr(C)]
22098#[doc(hidden)]
22099pub struct ICoreWebView2MoveFocusRequestedEventArgs_Vtbl {
22100 pub base__: windows_core::IUnknown_Vtbl,
22101 pub Reason: unsafe extern "system" fn(
22102 *mut core::ffi::c_void,
22103 *mut COREWEBVIEW2_MOVE_FOCUS_REASON,
22104 ) -> windows_core::HRESULT,
22105 pub Handled: unsafe extern "system" fn(
22106 *mut core::ffi::c_void,
22107 *mut windows_core::BOOL,
22108 ) -> windows_core::HRESULT,
22109 pub SetHandled: unsafe extern "system" fn(
22110 *mut core::ffi::c_void,
22111 windows_core::BOOL,
22112 ) -> windows_core::HRESULT,
22113}
22114pub trait ICoreWebView2MoveFocusRequestedEventArgs_Impl: windows_core::IUnknownImpl {
22115 fn Reason(&self, reason: *mut COREWEBVIEW2_MOVE_FOCUS_REASON) -> windows_core::Result<()>;
22116 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
22117 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
22118}
22119impl ICoreWebView2MoveFocusRequestedEventArgs_Vtbl {
22120 pub const fn new<
22121 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
22122 const OFFSET: isize,
22123 >() -> Self {
22124 unsafe extern "system" fn Reason<
22125 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
22126 const OFFSET: isize,
22127 >(
22128 this: *mut core::ffi::c_void,
22129 reason: *mut COREWEBVIEW2_MOVE_FOCUS_REASON,
22130 ) -> windows_core::HRESULT {
22131 unsafe {
22132 let this: &Identity =
22133 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22134 ICoreWebView2MoveFocusRequestedEventArgs_Impl::Reason(
22135 this,
22136 core::mem::transmute_copy(&reason),
22137 )
22138 .into()
22139 }
22140 }
22141 unsafe extern "system" fn Handled<
22142 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
22143 const OFFSET: isize,
22144 >(
22145 this: *mut core::ffi::c_void,
22146 value: *mut windows_core::BOOL,
22147 ) -> windows_core::HRESULT {
22148 unsafe {
22149 let this: &Identity =
22150 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22151 ICoreWebView2MoveFocusRequestedEventArgs_Impl::Handled(
22152 this,
22153 core::mem::transmute_copy(&value),
22154 )
22155 .into()
22156 }
22157 }
22158 unsafe extern "system" fn SetHandled<
22159 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
22160 const OFFSET: isize,
22161 >(
22162 this: *mut core::ffi::c_void,
22163 value: windows_core::BOOL,
22164 ) -> windows_core::HRESULT {
22165 unsafe {
22166 let this: &Identity =
22167 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22168 ICoreWebView2MoveFocusRequestedEventArgs_Impl::SetHandled(
22169 this,
22170 core::mem::transmute_copy(&value),
22171 )
22172 .into()
22173 }
22174 }
22175 Self {
22176 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22177 Reason: Reason::<Identity, OFFSET>,
22178 Handled: Handled::<Identity, OFFSET>,
22179 SetHandled: SetHandled::<Identity, OFFSET>,
22180 }
22181 }
22182 pub fn matches(iid: &windows_core::GUID) -> bool {
22183 iid == &<ICoreWebView2MoveFocusRequestedEventArgs as windows_core::Interface>::IID
22184 }
22185}
22186impl windows_core::RuntimeName for ICoreWebView2MoveFocusRequestedEventArgs {}
22187windows_core::imp::define_interface!(
22188 ICoreWebView2MoveFocusRequestedEventHandler,
22189 ICoreWebView2MoveFocusRequestedEventHandler_Vtbl,
22190 0x69035451_6dc7_4cb8_9bce_b2bd70ad289f
22191);
22192windows_core::imp::interface_hierarchy!(
22193 ICoreWebView2MoveFocusRequestedEventHandler,
22194 windows_core::IUnknown
22195);
22196impl ICoreWebView2MoveFocusRequestedEventHandler {
22197 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
22198 where
22199 P0: windows_core::Param<ICoreWebView2Controller>,
22200 P1: windows_core::Param<ICoreWebView2MoveFocusRequestedEventArgs>,
22201 {
22202 unsafe {
22203 (windows_core::Interface::vtable(self).Invoke)(
22204 windows_core::Interface::as_raw(self),
22205 sender.param().abi(),
22206 args.param().abi(),
22207 )
22208 .ok()
22209 }
22210 }
22211}
22212#[repr(C)]
22213#[doc(hidden)]
22214pub struct ICoreWebView2MoveFocusRequestedEventHandler_Vtbl {
22215 pub base__: windows_core::IUnknown_Vtbl,
22216 pub Invoke: unsafe extern "system" fn(
22217 *mut core::ffi::c_void,
22218 *mut core::ffi::c_void,
22219 *mut core::ffi::c_void,
22220 ) -> windows_core::HRESULT,
22221}
22222pub trait ICoreWebView2MoveFocusRequestedEventHandler_Impl: windows_core::IUnknownImpl {
22223 fn Invoke(
22224 &self,
22225 sender: windows_core::Ref<'_, ICoreWebView2Controller>,
22226 args: windows_core::Ref<'_, ICoreWebView2MoveFocusRequestedEventArgs>,
22227 ) -> windows_core::Result<()>;
22228}
22229impl ICoreWebView2MoveFocusRequestedEventHandler_Vtbl {
22230 pub const fn new<
22231 Identity: ICoreWebView2MoveFocusRequestedEventHandler_Impl,
22232 const OFFSET: isize,
22233 >() -> Self {
22234 unsafe extern "system" fn Invoke<
22235 Identity: ICoreWebView2MoveFocusRequestedEventHandler_Impl,
22236 const OFFSET: isize,
22237 >(
22238 this: *mut core::ffi::c_void,
22239 sender: *mut core::ffi::c_void,
22240 args: *mut core::ffi::c_void,
22241 ) -> windows_core::HRESULT {
22242 unsafe {
22243 let this: &Identity =
22244 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22245 ICoreWebView2MoveFocusRequestedEventHandler_Impl::Invoke(
22246 this,
22247 core::mem::transmute_copy(&sender),
22248 core::mem::transmute_copy(&args),
22249 )
22250 .into()
22251 }
22252 }
22253 Self {
22254 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22255 Invoke: Invoke::<Identity, OFFSET>,
22256 }
22257 }
22258 pub fn matches(iid: &windows_core::GUID) -> bool {
22259 iid == &<ICoreWebView2MoveFocusRequestedEventHandler as windows_core::Interface>::IID
22260 }
22261}
22262impl windows_core::RuntimeName for ICoreWebView2MoveFocusRequestedEventHandler {}
22263windows_core::imp::define_interface!(
22264 ICoreWebView2NavigationCompletedEventArgs,
22265 ICoreWebView2NavigationCompletedEventArgs_Vtbl,
22266 0x30d68b7d_20d9_4752_a9ca_ec8448fbb5c1
22267);
22268windows_core::imp::interface_hierarchy!(
22269 ICoreWebView2NavigationCompletedEventArgs,
22270 windows_core::IUnknown
22271);
22272impl ICoreWebView2NavigationCompletedEventArgs {
22273 pub unsafe fn IsSuccess(&self, issuccess: *mut windows_core::BOOL) -> windows_core::Result<()> {
22274 unsafe {
22275 (windows_core::Interface::vtable(self).IsSuccess)(
22276 windows_core::Interface::as_raw(self),
22277 issuccess as _,
22278 )
22279 .ok()
22280 }
22281 }
22282 pub unsafe fn WebErrorStatus(
22283 &self,
22284 weberrorstatus: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
22285 ) -> windows_core::Result<()> {
22286 unsafe {
22287 (windows_core::Interface::vtable(self).WebErrorStatus)(
22288 windows_core::Interface::as_raw(self),
22289 weberrorstatus as _,
22290 )
22291 .ok()
22292 }
22293 }
22294 pub unsafe fn NavigationId(&self, navigationid: *mut u64) -> windows_core::Result<()> {
22295 unsafe {
22296 (windows_core::Interface::vtable(self).NavigationId)(
22297 windows_core::Interface::as_raw(self),
22298 navigationid as _,
22299 )
22300 .ok()
22301 }
22302 }
22303}
22304#[repr(C)]
22305#[doc(hidden)]
22306pub struct ICoreWebView2NavigationCompletedEventArgs_Vtbl {
22307 pub base__: windows_core::IUnknown_Vtbl,
22308 pub IsSuccess: unsafe extern "system" fn(
22309 *mut core::ffi::c_void,
22310 *mut windows_core::BOOL,
22311 ) -> windows_core::HRESULT,
22312 pub WebErrorStatus: unsafe extern "system" fn(
22313 *mut core::ffi::c_void,
22314 *mut COREWEBVIEW2_WEB_ERROR_STATUS,
22315 ) -> windows_core::HRESULT,
22316 pub NavigationId:
22317 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
22318}
22319pub trait ICoreWebView2NavigationCompletedEventArgs_Impl: windows_core::IUnknownImpl {
22320 fn IsSuccess(&self, issuccess: *mut windows_core::BOOL) -> windows_core::Result<()>;
22321 fn WebErrorStatus(
22322 &self,
22323 weberrorstatus: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
22324 ) -> windows_core::Result<()>;
22325 fn NavigationId(&self, navigationid: *mut u64) -> windows_core::Result<()>;
22326}
22327impl ICoreWebView2NavigationCompletedEventArgs_Vtbl {
22328 pub const fn new<
22329 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
22330 const OFFSET: isize,
22331 >() -> Self {
22332 unsafe extern "system" fn IsSuccess<
22333 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
22334 const OFFSET: isize,
22335 >(
22336 this: *mut core::ffi::c_void,
22337 issuccess: *mut windows_core::BOOL,
22338 ) -> windows_core::HRESULT {
22339 unsafe {
22340 let this: &Identity =
22341 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22342 ICoreWebView2NavigationCompletedEventArgs_Impl::IsSuccess(
22343 this,
22344 core::mem::transmute_copy(&issuccess),
22345 )
22346 .into()
22347 }
22348 }
22349 unsafe extern "system" fn WebErrorStatus<
22350 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
22351 const OFFSET: isize,
22352 >(
22353 this: *mut core::ffi::c_void,
22354 weberrorstatus: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
22355 ) -> windows_core::HRESULT {
22356 unsafe {
22357 let this: &Identity =
22358 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22359 ICoreWebView2NavigationCompletedEventArgs_Impl::WebErrorStatus(
22360 this,
22361 core::mem::transmute_copy(&weberrorstatus),
22362 )
22363 .into()
22364 }
22365 }
22366 unsafe extern "system" fn NavigationId<
22367 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
22368 const OFFSET: isize,
22369 >(
22370 this: *mut core::ffi::c_void,
22371 navigationid: *mut u64,
22372 ) -> windows_core::HRESULT {
22373 unsafe {
22374 let this: &Identity =
22375 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22376 ICoreWebView2NavigationCompletedEventArgs_Impl::NavigationId(
22377 this,
22378 core::mem::transmute_copy(&navigationid),
22379 )
22380 .into()
22381 }
22382 }
22383 Self {
22384 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22385 IsSuccess: IsSuccess::<Identity, OFFSET>,
22386 WebErrorStatus: WebErrorStatus::<Identity, OFFSET>,
22387 NavigationId: NavigationId::<Identity, OFFSET>,
22388 }
22389 }
22390 pub fn matches(iid: &windows_core::GUID) -> bool {
22391 iid == &<ICoreWebView2NavigationCompletedEventArgs as windows_core::Interface>::IID
22392 }
22393}
22394impl windows_core::RuntimeName for ICoreWebView2NavigationCompletedEventArgs {}
22395windows_core::imp::define_interface!(
22396 ICoreWebView2NavigationCompletedEventArgs2,
22397 ICoreWebView2NavigationCompletedEventArgs2_Vtbl,
22398 0xfdf8b738_ee1e_4db2_a329_8d7d7b74d792
22399);
22400impl core::ops::Deref for ICoreWebView2NavigationCompletedEventArgs2 {
22401 type Target = ICoreWebView2NavigationCompletedEventArgs;
22402 fn deref(&self) -> &Self::Target {
22403 unsafe { core::mem::transmute(self) }
22404 }
22405}
22406windows_core::imp::interface_hierarchy!(
22407 ICoreWebView2NavigationCompletedEventArgs2,
22408 windows_core::IUnknown,
22409 ICoreWebView2NavigationCompletedEventArgs
22410);
22411impl ICoreWebView2NavigationCompletedEventArgs2 {
22412 pub unsafe fn HttpStatusCode(&self, value: *mut i32) -> windows_core::Result<()> {
22413 unsafe {
22414 (windows_core::Interface::vtable(self).HttpStatusCode)(
22415 windows_core::Interface::as_raw(self),
22416 value as _,
22417 )
22418 .ok()
22419 }
22420 }
22421}
22422#[repr(C)]
22423#[doc(hidden)]
22424pub struct ICoreWebView2NavigationCompletedEventArgs2_Vtbl {
22425 pub base__: ICoreWebView2NavigationCompletedEventArgs_Vtbl,
22426 pub HttpStatusCode:
22427 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
22428}
22429pub trait ICoreWebView2NavigationCompletedEventArgs2_Impl:
22430 ICoreWebView2NavigationCompletedEventArgs_Impl
22431{
22432 fn HttpStatusCode(&self, value: *mut i32) -> windows_core::Result<()>;
22433}
22434impl ICoreWebView2NavigationCompletedEventArgs2_Vtbl {
22435 pub const fn new<
22436 Identity: ICoreWebView2NavigationCompletedEventArgs2_Impl,
22437 const OFFSET: isize,
22438 >() -> Self {
22439 unsafe extern "system" fn HttpStatusCode<
22440 Identity: ICoreWebView2NavigationCompletedEventArgs2_Impl,
22441 const OFFSET: isize,
22442 >(
22443 this: *mut core::ffi::c_void,
22444 value: *mut i32,
22445 ) -> windows_core::HRESULT {
22446 unsafe {
22447 let this: &Identity =
22448 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22449 ICoreWebView2NavigationCompletedEventArgs2_Impl::HttpStatusCode(
22450 this,
22451 core::mem::transmute_copy(&value),
22452 )
22453 .into()
22454 }
22455 }
22456 Self {
22457 base__: ICoreWebView2NavigationCompletedEventArgs_Vtbl::new::<Identity, OFFSET>(),
22458 HttpStatusCode: HttpStatusCode::<Identity, OFFSET>,
22459 }
22460 }
22461 pub fn matches(iid: &windows_core::GUID) -> bool {
22462 iid == &<ICoreWebView2NavigationCompletedEventArgs2 as windows_core::Interface>::IID
22463 || iid == &<ICoreWebView2NavigationCompletedEventArgs as windows_core::Interface>::IID
22464 }
22465}
22466impl windows_core::RuntimeName for ICoreWebView2NavigationCompletedEventArgs2 {}
22467windows_core::imp::define_interface!(
22468 ICoreWebView2NavigationCompletedEventHandler,
22469 ICoreWebView2NavigationCompletedEventHandler_Vtbl,
22470 0xd33a35bf_1c49_4f98_93ab_006e0533fe1c
22471);
22472windows_core::imp::interface_hierarchy!(
22473 ICoreWebView2NavigationCompletedEventHandler,
22474 windows_core::IUnknown
22475);
22476impl ICoreWebView2NavigationCompletedEventHandler {
22477 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
22478 where
22479 P0: windows_core::Param<ICoreWebView2>,
22480 P1: windows_core::Param<ICoreWebView2NavigationCompletedEventArgs>,
22481 {
22482 unsafe {
22483 (windows_core::Interface::vtable(self).Invoke)(
22484 windows_core::Interface::as_raw(self),
22485 sender.param().abi(),
22486 args.param().abi(),
22487 )
22488 .ok()
22489 }
22490 }
22491}
22492#[repr(C)]
22493#[doc(hidden)]
22494pub struct ICoreWebView2NavigationCompletedEventHandler_Vtbl {
22495 pub base__: windows_core::IUnknown_Vtbl,
22496 pub Invoke: unsafe extern "system" fn(
22497 *mut core::ffi::c_void,
22498 *mut core::ffi::c_void,
22499 *mut core::ffi::c_void,
22500 ) -> windows_core::HRESULT,
22501}
22502pub trait ICoreWebView2NavigationCompletedEventHandler_Impl: windows_core::IUnknownImpl {
22503 fn Invoke(
22504 &self,
22505 sender: windows_core::Ref<'_, ICoreWebView2>,
22506 args: windows_core::Ref<'_, ICoreWebView2NavigationCompletedEventArgs>,
22507 ) -> windows_core::Result<()>;
22508}
22509impl ICoreWebView2NavigationCompletedEventHandler_Vtbl {
22510 pub const fn new<
22511 Identity: ICoreWebView2NavigationCompletedEventHandler_Impl,
22512 const OFFSET: isize,
22513 >() -> Self {
22514 unsafe extern "system" fn Invoke<
22515 Identity: ICoreWebView2NavigationCompletedEventHandler_Impl,
22516 const OFFSET: isize,
22517 >(
22518 this: *mut core::ffi::c_void,
22519 sender: *mut core::ffi::c_void,
22520 args: *mut core::ffi::c_void,
22521 ) -> windows_core::HRESULT {
22522 unsafe {
22523 let this: &Identity =
22524 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22525 ICoreWebView2NavigationCompletedEventHandler_Impl::Invoke(
22526 this,
22527 core::mem::transmute_copy(&sender),
22528 core::mem::transmute_copy(&args),
22529 )
22530 .into()
22531 }
22532 }
22533 Self {
22534 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22535 Invoke: Invoke::<Identity, OFFSET>,
22536 }
22537 }
22538 pub fn matches(iid: &windows_core::GUID) -> bool {
22539 iid == &<ICoreWebView2NavigationCompletedEventHandler as windows_core::Interface>::IID
22540 }
22541}
22542impl windows_core::RuntimeName for ICoreWebView2NavigationCompletedEventHandler {}
22543windows_core::imp::define_interface!(
22544 ICoreWebView2NavigationStartingEventArgs,
22545 ICoreWebView2NavigationStartingEventArgs_Vtbl,
22546 0x5b495469_e119_438a_9b18_7604f25f2e49
22547);
22548windows_core::imp::interface_hierarchy!(
22549 ICoreWebView2NavigationStartingEventArgs,
22550 windows_core::IUnknown
22551);
22552impl ICoreWebView2NavigationStartingEventArgs {
22553 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
22554 unsafe {
22555 (windows_core::Interface::vtable(self).Uri)(
22556 windows_core::Interface::as_raw(self),
22557 uri as _,
22558 )
22559 .ok()
22560 }
22561 }
22562 pub unsafe fn IsUserInitiated(
22563 &self,
22564 isuserinitiated: *mut windows_core::BOOL,
22565 ) -> windows_core::Result<()> {
22566 unsafe {
22567 (windows_core::Interface::vtable(self).IsUserInitiated)(
22568 windows_core::Interface::as_raw(self),
22569 isuserinitiated as _,
22570 )
22571 .ok()
22572 }
22573 }
22574 pub unsafe fn IsRedirected(
22575 &self,
22576 isredirected: *mut windows_core::BOOL,
22577 ) -> windows_core::Result<()> {
22578 unsafe {
22579 (windows_core::Interface::vtable(self).IsRedirected)(
22580 windows_core::Interface::as_raw(self),
22581 isredirected as _,
22582 )
22583 .ok()
22584 }
22585 }
22586 pub unsafe fn RequestHeaders(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders> {
22587 unsafe {
22588 let mut result__ = core::mem::zeroed();
22589 (windows_core::Interface::vtable(self).RequestHeaders)(
22590 windows_core::Interface::as_raw(self),
22591 &mut result__,
22592 )
22593 .and_then(|| windows_core::Type::from_abi(result__))
22594 }
22595 }
22596 pub unsafe fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()> {
22597 unsafe {
22598 (windows_core::Interface::vtable(self).Cancel)(
22599 windows_core::Interface::as_raw(self),
22600 cancel as _,
22601 )
22602 .ok()
22603 }
22604 }
22605 pub unsafe fn SetCancel(&self, cancel: bool) -> windows_core::Result<()> {
22606 unsafe {
22607 (windows_core::Interface::vtable(self).SetCancel)(
22608 windows_core::Interface::as_raw(self),
22609 cancel.into(),
22610 )
22611 .ok()
22612 }
22613 }
22614 pub unsafe fn NavigationId(&self, navigationid: *mut u64) -> windows_core::Result<()> {
22615 unsafe {
22616 (windows_core::Interface::vtable(self).NavigationId)(
22617 windows_core::Interface::as_raw(self),
22618 navigationid as _,
22619 )
22620 .ok()
22621 }
22622 }
22623}
22624#[repr(C)]
22625#[doc(hidden)]
22626pub struct ICoreWebView2NavigationStartingEventArgs_Vtbl {
22627 pub base__: windows_core::IUnknown_Vtbl,
22628 pub Uri: unsafe extern "system" fn(
22629 *mut core::ffi::c_void,
22630 *mut windows_core::PWSTR,
22631 ) -> windows_core::HRESULT,
22632 pub IsUserInitiated: unsafe extern "system" fn(
22633 *mut core::ffi::c_void,
22634 *mut windows_core::BOOL,
22635 ) -> windows_core::HRESULT,
22636 pub IsRedirected: unsafe extern "system" fn(
22637 *mut core::ffi::c_void,
22638 *mut windows_core::BOOL,
22639 ) -> windows_core::HRESULT,
22640 pub RequestHeaders: unsafe extern "system" fn(
22641 *mut core::ffi::c_void,
22642 *mut *mut core::ffi::c_void,
22643 ) -> windows_core::HRESULT,
22644 pub Cancel: unsafe extern "system" fn(
22645 *mut core::ffi::c_void,
22646 *mut windows_core::BOOL,
22647 ) -> windows_core::HRESULT,
22648 pub SetCancel: unsafe extern "system" fn(
22649 *mut core::ffi::c_void,
22650 windows_core::BOOL,
22651 ) -> windows_core::HRESULT,
22652 pub NavigationId:
22653 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
22654}
22655pub trait ICoreWebView2NavigationStartingEventArgs_Impl: windows_core::IUnknownImpl {
22656 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
22657 fn IsUserInitiated(&self, isuserinitiated: *mut windows_core::BOOL)
22658 -> windows_core::Result<()>;
22659 fn IsRedirected(&self, isredirected: *mut windows_core::BOOL) -> windows_core::Result<()>;
22660 fn RequestHeaders(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders>;
22661 fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()>;
22662 fn SetCancel(&self, cancel: windows_core::BOOL) -> windows_core::Result<()>;
22663 fn NavigationId(&self, navigationid: *mut u64) -> windows_core::Result<()>;
22664}
22665impl ICoreWebView2NavigationStartingEventArgs_Vtbl {
22666 pub const fn new<
22667 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22668 const OFFSET: isize,
22669 >() -> Self {
22670 unsafe extern "system" fn Uri<
22671 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22672 const OFFSET: isize,
22673 >(
22674 this: *mut core::ffi::c_void,
22675 uri: *mut windows_core::PWSTR,
22676 ) -> windows_core::HRESULT {
22677 unsafe {
22678 let this: &Identity =
22679 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22680 ICoreWebView2NavigationStartingEventArgs_Impl::Uri(
22681 this,
22682 core::mem::transmute_copy(&uri),
22683 )
22684 .into()
22685 }
22686 }
22687 unsafe extern "system" fn IsUserInitiated<
22688 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22689 const OFFSET: isize,
22690 >(
22691 this: *mut core::ffi::c_void,
22692 isuserinitiated: *mut windows_core::BOOL,
22693 ) -> windows_core::HRESULT {
22694 unsafe {
22695 let this: &Identity =
22696 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22697 ICoreWebView2NavigationStartingEventArgs_Impl::IsUserInitiated(
22698 this,
22699 core::mem::transmute_copy(&isuserinitiated),
22700 )
22701 .into()
22702 }
22703 }
22704 unsafe extern "system" fn IsRedirected<
22705 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22706 const OFFSET: isize,
22707 >(
22708 this: *mut core::ffi::c_void,
22709 isredirected: *mut windows_core::BOOL,
22710 ) -> windows_core::HRESULT {
22711 unsafe {
22712 let this: &Identity =
22713 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22714 ICoreWebView2NavigationStartingEventArgs_Impl::IsRedirected(
22715 this,
22716 core::mem::transmute_copy(&isredirected),
22717 )
22718 .into()
22719 }
22720 }
22721 unsafe extern "system" fn RequestHeaders<
22722 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22723 const OFFSET: isize,
22724 >(
22725 this: *mut core::ffi::c_void,
22726 requestheaders: *mut *mut core::ffi::c_void,
22727 ) -> windows_core::HRESULT {
22728 unsafe {
22729 let this: &Identity =
22730 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22731 match ICoreWebView2NavigationStartingEventArgs_Impl::RequestHeaders(this) {
22732 Ok(ok__) => {
22733 requestheaders.write(core::mem::transmute(ok__));
22734 windows_core::HRESULT(0)
22735 }
22736 Err(err) => err.into(),
22737 }
22738 }
22739 }
22740 unsafe extern "system" fn Cancel<
22741 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22742 const OFFSET: isize,
22743 >(
22744 this: *mut core::ffi::c_void,
22745 cancel: *mut windows_core::BOOL,
22746 ) -> windows_core::HRESULT {
22747 unsafe {
22748 let this: &Identity =
22749 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22750 ICoreWebView2NavigationStartingEventArgs_Impl::Cancel(
22751 this,
22752 core::mem::transmute_copy(&cancel),
22753 )
22754 .into()
22755 }
22756 }
22757 unsafe extern "system" fn SetCancel<
22758 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22759 const OFFSET: isize,
22760 >(
22761 this: *mut core::ffi::c_void,
22762 cancel: windows_core::BOOL,
22763 ) -> windows_core::HRESULT {
22764 unsafe {
22765 let this: &Identity =
22766 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22767 ICoreWebView2NavigationStartingEventArgs_Impl::SetCancel(
22768 this,
22769 core::mem::transmute_copy(&cancel),
22770 )
22771 .into()
22772 }
22773 }
22774 unsafe extern "system" fn NavigationId<
22775 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22776 const OFFSET: isize,
22777 >(
22778 this: *mut core::ffi::c_void,
22779 navigationid: *mut u64,
22780 ) -> windows_core::HRESULT {
22781 unsafe {
22782 let this: &Identity =
22783 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22784 ICoreWebView2NavigationStartingEventArgs_Impl::NavigationId(
22785 this,
22786 core::mem::transmute_copy(&navigationid),
22787 )
22788 .into()
22789 }
22790 }
22791 Self {
22792 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22793 Uri: Uri::<Identity, OFFSET>,
22794 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
22795 IsRedirected: IsRedirected::<Identity, OFFSET>,
22796 RequestHeaders: RequestHeaders::<Identity, OFFSET>,
22797 Cancel: Cancel::<Identity, OFFSET>,
22798 SetCancel: SetCancel::<Identity, OFFSET>,
22799 NavigationId: NavigationId::<Identity, OFFSET>,
22800 }
22801 }
22802 pub fn matches(iid: &windows_core::GUID) -> bool {
22803 iid == &<ICoreWebView2NavigationStartingEventArgs as windows_core::Interface>::IID
22804 }
22805}
22806impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventArgs {}
22807windows_core::imp::define_interface!(
22808 ICoreWebView2NavigationStartingEventArgs2,
22809 ICoreWebView2NavigationStartingEventArgs2_Vtbl,
22810 0x9086be93_91aa_472d_a7e0_579f2ba006ad
22811);
22812impl core::ops::Deref for ICoreWebView2NavigationStartingEventArgs2 {
22813 type Target = ICoreWebView2NavigationStartingEventArgs;
22814 fn deref(&self) -> &Self::Target {
22815 unsafe { core::mem::transmute(self) }
22816 }
22817}
22818windows_core::imp::interface_hierarchy!(
22819 ICoreWebView2NavigationStartingEventArgs2,
22820 windows_core::IUnknown,
22821 ICoreWebView2NavigationStartingEventArgs
22822);
22823impl ICoreWebView2NavigationStartingEventArgs2 {
22824 pub unsafe fn AdditionalAllowedFrameAncestors(
22825 &self,
22826 value: *mut windows_core::PWSTR,
22827 ) -> windows_core::Result<()> {
22828 unsafe {
22829 (windows_core::Interface::vtable(self).AdditionalAllowedFrameAncestors)(
22830 windows_core::Interface::as_raw(self),
22831 value as _,
22832 )
22833 .ok()
22834 }
22835 }
22836 pub unsafe fn SetAdditionalAllowedFrameAncestors<P0>(
22837 &self,
22838 value: P0,
22839 ) -> windows_core::Result<()>
22840 where
22841 P0: windows_core::Param<windows_core::PCWSTR>,
22842 {
22843 unsafe {
22844 (windows_core::Interface::vtable(self).SetAdditionalAllowedFrameAncestors)(
22845 windows_core::Interface::as_raw(self),
22846 value.param().abi(),
22847 )
22848 .ok()
22849 }
22850 }
22851}
22852#[repr(C)]
22853#[doc(hidden)]
22854pub struct ICoreWebView2NavigationStartingEventArgs2_Vtbl {
22855 pub base__: ICoreWebView2NavigationStartingEventArgs_Vtbl,
22856 pub AdditionalAllowedFrameAncestors: unsafe extern "system" fn(
22857 *mut core::ffi::c_void,
22858 *mut windows_core::PWSTR,
22859 ) -> windows_core::HRESULT,
22860 pub SetAdditionalAllowedFrameAncestors: unsafe extern "system" fn(
22861 *mut core::ffi::c_void,
22862 windows_core::PCWSTR,
22863 ) -> windows_core::HRESULT,
22864}
22865pub trait ICoreWebView2NavigationStartingEventArgs2_Impl:
22866 ICoreWebView2NavigationStartingEventArgs_Impl
22867{
22868 fn AdditionalAllowedFrameAncestors(
22869 &self,
22870 value: *mut windows_core::PWSTR,
22871 ) -> windows_core::Result<()>;
22872 fn SetAdditionalAllowedFrameAncestors(
22873 &self,
22874 value: &windows_core::PCWSTR,
22875 ) -> windows_core::Result<()>;
22876}
22877impl ICoreWebView2NavigationStartingEventArgs2_Vtbl {
22878 pub const fn new<
22879 Identity: ICoreWebView2NavigationStartingEventArgs2_Impl,
22880 const OFFSET: isize,
22881 >() -> Self {
22882 unsafe extern "system" fn AdditionalAllowedFrameAncestors<
22883 Identity: ICoreWebView2NavigationStartingEventArgs2_Impl,
22884 const OFFSET: isize,
22885 >(
22886 this: *mut core::ffi::c_void,
22887 value: *mut windows_core::PWSTR,
22888 ) -> windows_core::HRESULT {
22889 unsafe {
22890 let this: &Identity =
22891 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22892 ICoreWebView2NavigationStartingEventArgs2_Impl::AdditionalAllowedFrameAncestors(
22893 this,
22894 core::mem::transmute_copy(&value),
22895 )
22896 .into()
22897 }
22898 }
22899 unsafe extern "system" fn SetAdditionalAllowedFrameAncestors<
22900 Identity: ICoreWebView2NavigationStartingEventArgs2_Impl,
22901 const OFFSET: isize,
22902 >(
22903 this: *mut core::ffi::c_void,
22904 value: windows_core::PCWSTR,
22905 ) -> windows_core::HRESULT {
22906 unsafe {
22907 let this: &Identity =
22908 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22909 ICoreWebView2NavigationStartingEventArgs2_Impl::SetAdditionalAllowedFrameAncestors(
22910 this,
22911 core::mem::transmute(&value),
22912 )
22913 .into()
22914 }
22915 }
22916 Self {
22917 base__: ICoreWebView2NavigationStartingEventArgs_Vtbl::new::<Identity, OFFSET>(),
22918 AdditionalAllowedFrameAncestors: AdditionalAllowedFrameAncestors::<Identity, OFFSET>,
22919 SetAdditionalAllowedFrameAncestors: SetAdditionalAllowedFrameAncestors::<
22920 Identity,
22921 OFFSET,
22922 >,
22923 }
22924 }
22925 pub fn matches(iid: &windows_core::GUID) -> bool {
22926 iid == &<ICoreWebView2NavigationStartingEventArgs2 as windows_core::Interface>::IID
22927 || iid == &<ICoreWebView2NavigationStartingEventArgs as windows_core::Interface>::IID
22928 }
22929}
22930impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventArgs2 {}
22931windows_core::imp::define_interface!(
22932 ICoreWebView2NavigationStartingEventArgs3,
22933 ICoreWebView2NavigationStartingEventArgs3_Vtbl,
22934 0xddffe494_4942_4bd2_ab73_35b8ff40e19f
22935);
22936impl core::ops::Deref for ICoreWebView2NavigationStartingEventArgs3 {
22937 type Target = ICoreWebView2NavigationStartingEventArgs2;
22938 fn deref(&self) -> &Self::Target {
22939 unsafe { core::mem::transmute(self) }
22940 }
22941}
22942windows_core::imp::interface_hierarchy!(
22943 ICoreWebView2NavigationStartingEventArgs3,
22944 windows_core::IUnknown,
22945 ICoreWebView2NavigationStartingEventArgs,
22946 ICoreWebView2NavigationStartingEventArgs2
22947);
22948impl ICoreWebView2NavigationStartingEventArgs3 {
22949 pub unsafe fn NavigationKind(
22950 &self,
22951 value: *mut COREWEBVIEW2_NAVIGATION_KIND,
22952 ) -> windows_core::Result<()> {
22953 unsafe {
22954 (windows_core::Interface::vtable(self).NavigationKind)(
22955 windows_core::Interface::as_raw(self),
22956 value as _,
22957 )
22958 .ok()
22959 }
22960 }
22961}
22962#[repr(C)]
22963#[doc(hidden)]
22964pub struct ICoreWebView2NavigationStartingEventArgs3_Vtbl {
22965 pub base__: ICoreWebView2NavigationStartingEventArgs2_Vtbl,
22966 pub NavigationKind: unsafe extern "system" fn(
22967 *mut core::ffi::c_void,
22968 *mut COREWEBVIEW2_NAVIGATION_KIND,
22969 ) -> windows_core::HRESULT,
22970}
22971pub trait ICoreWebView2NavigationStartingEventArgs3_Impl:
22972 ICoreWebView2NavigationStartingEventArgs2_Impl
22973{
22974 fn NavigationKind(&self, value: *mut COREWEBVIEW2_NAVIGATION_KIND) -> windows_core::Result<()>;
22975}
22976impl ICoreWebView2NavigationStartingEventArgs3_Vtbl {
22977 pub const fn new<
22978 Identity: ICoreWebView2NavigationStartingEventArgs3_Impl,
22979 const OFFSET: isize,
22980 >() -> Self {
22981 unsafe extern "system" fn NavigationKind<
22982 Identity: ICoreWebView2NavigationStartingEventArgs3_Impl,
22983 const OFFSET: isize,
22984 >(
22985 this: *mut core::ffi::c_void,
22986 value: *mut COREWEBVIEW2_NAVIGATION_KIND,
22987 ) -> windows_core::HRESULT {
22988 unsafe {
22989 let this: &Identity =
22990 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22991 ICoreWebView2NavigationStartingEventArgs3_Impl::NavigationKind(
22992 this,
22993 core::mem::transmute_copy(&value),
22994 )
22995 .into()
22996 }
22997 }
22998 Self {
22999 base__: ICoreWebView2NavigationStartingEventArgs2_Vtbl::new::<Identity, OFFSET>(),
23000 NavigationKind: NavigationKind::<Identity, OFFSET>,
23001 }
23002 }
23003 pub fn matches(iid: &windows_core::GUID) -> bool {
23004 iid == &<ICoreWebView2NavigationStartingEventArgs3 as windows_core::Interface>::IID
23005 || iid == &<ICoreWebView2NavigationStartingEventArgs as windows_core::Interface>::IID
23006 || iid == &<ICoreWebView2NavigationStartingEventArgs2 as windows_core::Interface>::IID
23007 }
23008}
23009impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventArgs3 {}
23010windows_core::imp::define_interface!(
23011 ICoreWebView2NavigationStartingEventHandler,
23012 ICoreWebView2NavigationStartingEventHandler_Vtbl,
23013 0x9adbe429_f36d_432b_9ddc_f8881fbd76e3
23014);
23015windows_core::imp::interface_hierarchy!(
23016 ICoreWebView2NavigationStartingEventHandler,
23017 windows_core::IUnknown
23018);
23019impl ICoreWebView2NavigationStartingEventHandler {
23020 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
23021 where
23022 P0: windows_core::Param<ICoreWebView2>,
23023 P1: windows_core::Param<ICoreWebView2NavigationStartingEventArgs>,
23024 {
23025 unsafe {
23026 (windows_core::Interface::vtable(self).Invoke)(
23027 windows_core::Interface::as_raw(self),
23028 sender.param().abi(),
23029 args.param().abi(),
23030 )
23031 .ok()
23032 }
23033 }
23034}
23035#[repr(C)]
23036#[doc(hidden)]
23037pub struct ICoreWebView2NavigationStartingEventHandler_Vtbl {
23038 pub base__: windows_core::IUnknown_Vtbl,
23039 pub Invoke: unsafe extern "system" fn(
23040 *mut core::ffi::c_void,
23041 *mut core::ffi::c_void,
23042 *mut core::ffi::c_void,
23043 ) -> windows_core::HRESULT,
23044}
23045pub trait ICoreWebView2NavigationStartingEventHandler_Impl: windows_core::IUnknownImpl {
23046 fn Invoke(
23047 &self,
23048 sender: windows_core::Ref<'_, ICoreWebView2>,
23049 args: windows_core::Ref<'_, ICoreWebView2NavigationStartingEventArgs>,
23050 ) -> windows_core::Result<()>;
23051}
23052impl ICoreWebView2NavigationStartingEventHandler_Vtbl {
23053 pub const fn new<
23054 Identity: ICoreWebView2NavigationStartingEventHandler_Impl,
23055 const OFFSET: isize,
23056 >() -> Self {
23057 unsafe extern "system" fn Invoke<
23058 Identity: ICoreWebView2NavigationStartingEventHandler_Impl,
23059 const OFFSET: isize,
23060 >(
23061 this: *mut core::ffi::c_void,
23062 sender: *mut core::ffi::c_void,
23063 args: *mut core::ffi::c_void,
23064 ) -> windows_core::HRESULT {
23065 unsafe {
23066 let this: &Identity =
23067 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23068 ICoreWebView2NavigationStartingEventHandler_Impl::Invoke(
23069 this,
23070 core::mem::transmute_copy(&sender),
23071 core::mem::transmute_copy(&args),
23072 )
23073 .into()
23074 }
23075 }
23076 Self {
23077 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23078 Invoke: Invoke::<Identity, OFFSET>,
23079 }
23080 }
23081 pub fn matches(iid: &windows_core::GUID) -> bool {
23082 iid == &<ICoreWebView2NavigationStartingEventHandler as windows_core::Interface>::IID
23083 }
23084}
23085impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventHandler {}
23086windows_core::imp::define_interface!(
23087 ICoreWebView2NewBrowserVersionAvailableEventHandler,
23088 ICoreWebView2NewBrowserVersionAvailableEventHandler_Vtbl,
23089 0xf9a2976e_d34e_44fc_adee_81b6b57ca914
23090);
23091windows_core::imp::interface_hierarchy!(
23092 ICoreWebView2NewBrowserVersionAvailableEventHandler,
23093 windows_core::IUnknown
23094);
23095impl ICoreWebView2NewBrowserVersionAvailableEventHandler {
23096 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
23097 where
23098 P0: windows_core::Param<ICoreWebView2Environment>,
23099 P1: windows_core::Param<windows_core::IUnknown>,
23100 {
23101 unsafe {
23102 (windows_core::Interface::vtable(self).Invoke)(
23103 windows_core::Interface::as_raw(self),
23104 sender.param().abi(),
23105 args.param().abi(),
23106 )
23107 .ok()
23108 }
23109 }
23110}
23111#[repr(C)]
23112#[doc(hidden)]
23113pub struct ICoreWebView2NewBrowserVersionAvailableEventHandler_Vtbl {
23114 pub base__: windows_core::IUnknown_Vtbl,
23115 pub Invoke: unsafe extern "system" fn(
23116 *mut core::ffi::c_void,
23117 *mut core::ffi::c_void,
23118 *mut core::ffi::c_void,
23119 ) -> windows_core::HRESULT,
23120}
23121pub trait ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl:
23122 windows_core::IUnknownImpl
23123{
23124 fn Invoke(
23125 &self,
23126 sender: windows_core::Ref<'_, ICoreWebView2Environment>,
23127 args: windows_core::Ref<'_, windows_core::IUnknown>,
23128 ) -> windows_core::Result<()>;
23129}
23130impl ICoreWebView2NewBrowserVersionAvailableEventHandler_Vtbl {
23131 pub const fn new<
23132 Identity: ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl,
23133 const OFFSET: isize,
23134 >() -> Self {
23135 unsafe extern "system" fn Invoke<
23136 Identity: ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl,
23137 const OFFSET: isize,
23138 >(
23139 this: *mut core::ffi::c_void,
23140 sender: *mut core::ffi::c_void,
23141 args: *mut core::ffi::c_void,
23142 ) -> windows_core::HRESULT {
23143 unsafe {
23144 let this: &Identity =
23145 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23146 ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl::Invoke(
23147 this,
23148 core::mem::transmute_copy(&sender),
23149 core::mem::transmute_copy(&args),
23150 )
23151 .into()
23152 }
23153 }
23154 Self {
23155 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23156 Invoke: Invoke::<Identity, OFFSET>,
23157 }
23158 }
23159 pub fn matches(iid: &windows_core::GUID) -> bool {
23160 iid == & < ICoreWebView2NewBrowserVersionAvailableEventHandler as windows_core::Interface >::IID
23161 }
23162}
23163impl windows_core::RuntimeName for ICoreWebView2NewBrowserVersionAvailableEventHandler {}
23164windows_core::imp::define_interface!(
23165 ICoreWebView2NewWindowRequestedEventArgs,
23166 ICoreWebView2NewWindowRequestedEventArgs_Vtbl,
23167 0x34acb11c_fc37_4418_9132_f9c21d1eafb9
23168);
23169windows_core::imp::interface_hierarchy!(
23170 ICoreWebView2NewWindowRequestedEventArgs,
23171 windows_core::IUnknown
23172);
23173impl ICoreWebView2NewWindowRequestedEventArgs {
23174 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23175 unsafe {
23176 (windows_core::Interface::vtable(self).Uri)(
23177 windows_core::Interface::as_raw(self),
23178 uri as _,
23179 )
23180 .ok()
23181 }
23182 }
23183 pub unsafe fn SetNewWindow<P0>(&self, newwindow: P0) -> windows_core::Result<()>
23184 where
23185 P0: windows_core::Param<ICoreWebView2>,
23186 {
23187 unsafe {
23188 (windows_core::Interface::vtable(self).SetNewWindow)(
23189 windows_core::Interface::as_raw(self),
23190 newwindow.param().abi(),
23191 )
23192 .ok()
23193 }
23194 }
23195 pub unsafe fn NewWindow(&self) -> windows_core::Result<ICoreWebView2> {
23196 unsafe {
23197 let mut result__ = core::mem::zeroed();
23198 (windows_core::Interface::vtable(self).NewWindow)(
23199 windows_core::Interface::as_raw(self),
23200 &mut result__,
23201 )
23202 .and_then(|| windows_core::Type::from_abi(result__))
23203 }
23204 }
23205 pub unsafe fn SetHandled(&self, handled: bool) -> windows_core::Result<()> {
23206 unsafe {
23207 (windows_core::Interface::vtable(self).SetHandled)(
23208 windows_core::Interface::as_raw(self),
23209 handled.into(),
23210 )
23211 .ok()
23212 }
23213 }
23214 pub unsafe fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()> {
23215 unsafe {
23216 (windows_core::Interface::vtable(self).Handled)(
23217 windows_core::Interface::as_raw(self),
23218 handled as _,
23219 )
23220 .ok()
23221 }
23222 }
23223 pub unsafe fn IsUserInitiated(
23224 &self,
23225 isuserinitiated: *mut windows_core::BOOL,
23226 ) -> windows_core::Result<()> {
23227 unsafe {
23228 (windows_core::Interface::vtable(self).IsUserInitiated)(
23229 windows_core::Interface::as_raw(self),
23230 isuserinitiated as _,
23231 )
23232 .ok()
23233 }
23234 }
23235 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
23236 unsafe {
23237 let mut result__ = core::mem::zeroed();
23238 (windows_core::Interface::vtable(self).GetDeferral)(
23239 windows_core::Interface::as_raw(self),
23240 &mut result__,
23241 )
23242 .and_then(|| windows_core::Type::from_abi(result__))
23243 }
23244 }
23245 pub unsafe fn WindowFeatures(&self) -> windows_core::Result<ICoreWebView2WindowFeatures> {
23246 unsafe {
23247 let mut result__ = core::mem::zeroed();
23248 (windows_core::Interface::vtable(self).WindowFeatures)(
23249 windows_core::Interface::as_raw(self),
23250 &mut result__,
23251 )
23252 .and_then(|| windows_core::Type::from_abi(result__))
23253 }
23254 }
23255}
23256#[repr(C)]
23257#[doc(hidden)]
23258pub struct ICoreWebView2NewWindowRequestedEventArgs_Vtbl {
23259 pub base__: windows_core::IUnknown_Vtbl,
23260 pub Uri: unsafe extern "system" fn(
23261 *mut core::ffi::c_void,
23262 *mut windows_core::PWSTR,
23263 ) -> windows_core::HRESULT,
23264 pub SetNewWindow: unsafe extern "system" fn(
23265 *mut core::ffi::c_void,
23266 *mut core::ffi::c_void,
23267 ) -> windows_core::HRESULT,
23268 pub NewWindow: unsafe extern "system" fn(
23269 *mut core::ffi::c_void,
23270 *mut *mut core::ffi::c_void,
23271 ) -> windows_core::HRESULT,
23272 pub SetHandled: unsafe extern "system" fn(
23273 *mut core::ffi::c_void,
23274 windows_core::BOOL,
23275 ) -> windows_core::HRESULT,
23276 pub Handled: unsafe extern "system" fn(
23277 *mut core::ffi::c_void,
23278 *mut windows_core::BOOL,
23279 ) -> windows_core::HRESULT,
23280 pub IsUserInitiated: unsafe extern "system" fn(
23281 *mut core::ffi::c_void,
23282 *mut windows_core::BOOL,
23283 ) -> windows_core::HRESULT,
23284 pub GetDeferral: unsafe extern "system" fn(
23285 *mut core::ffi::c_void,
23286 *mut *mut core::ffi::c_void,
23287 ) -> windows_core::HRESULT,
23288 pub WindowFeatures: unsafe extern "system" fn(
23289 *mut core::ffi::c_void,
23290 *mut *mut core::ffi::c_void,
23291 ) -> windows_core::HRESULT,
23292}
23293pub trait ICoreWebView2NewWindowRequestedEventArgs_Impl: windows_core::IUnknownImpl {
23294 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
23295 fn SetNewWindow(
23296 &self,
23297 newwindow: windows_core::Ref<'_, ICoreWebView2>,
23298 ) -> windows_core::Result<()>;
23299 fn NewWindow(&self) -> windows_core::Result<ICoreWebView2>;
23300 fn SetHandled(&self, handled: windows_core::BOOL) -> windows_core::Result<()>;
23301 fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()>;
23302 fn IsUserInitiated(&self, isuserinitiated: *mut windows_core::BOOL)
23303 -> windows_core::Result<()>;
23304 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
23305 fn WindowFeatures(&self) -> windows_core::Result<ICoreWebView2WindowFeatures>;
23306}
23307impl ICoreWebView2NewWindowRequestedEventArgs_Vtbl {
23308 pub const fn new<
23309 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
23310 const OFFSET: isize,
23311 >() -> Self {
23312 unsafe extern "system" fn Uri<
23313 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
23314 const OFFSET: isize,
23315 >(
23316 this: *mut core::ffi::c_void,
23317 uri: *mut windows_core::PWSTR,
23318 ) -> windows_core::HRESULT {
23319 unsafe {
23320 let this: &Identity =
23321 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23322 ICoreWebView2NewWindowRequestedEventArgs_Impl::Uri(
23323 this,
23324 core::mem::transmute_copy(&uri),
23325 )
23326 .into()
23327 }
23328 }
23329 unsafe extern "system" fn SetNewWindow<
23330 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
23331 const OFFSET: isize,
23332 >(
23333 this: *mut core::ffi::c_void,
23334 newwindow: *mut core::ffi::c_void,
23335 ) -> windows_core::HRESULT {
23336 unsafe {
23337 let this: &Identity =
23338 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23339 ICoreWebView2NewWindowRequestedEventArgs_Impl::SetNewWindow(
23340 this,
23341 core::mem::transmute_copy(&newwindow),
23342 )
23343 .into()
23344 }
23345 }
23346 unsafe extern "system" fn NewWindow<
23347 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
23348 const OFFSET: isize,
23349 >(
23350 this: *mut core::ffi::c_void,
23351 newwindow: *mut *mut core::ffi::c_void,
23352 ) -> windows_core::HRESULT {
23353 unsafe {
23354 let this: &Identity =
23355 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23356 match ICoreWebView2NewWindowRequestedEventArgs_Impl::NewWindow(this) {
23357 Ok(ok__) => {
23358 newwindow.write(core::mem::transmute(ok__));
23359 windows_core::HRESULT(0)
23360 }
23361 Err(err) => err.into(),
23362 }
23363 }
23364 }
23365 unsafe extern "system" fn SetHandled<
23366 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
23367 const OFFSET: isize,
23368 >(
23369 this: *mut core::ffi::c_void,
23370 handled: windows_core::BOOL,
23371 ) -> windows_core::HRESULT {
23372 unsafe {
23373 let this: &Identity =
23374 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23375 ICoreWebView2NewWindowRequestedEventArgs_Impl::SetHandled(
23376 this,
23377 core::mem::transmute_copy(&handled),
23378 )
23379 .into()
23380 }
23381 }
23382 unsafe extern "system" fn Handled<
23383 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
23384 const OFFSET: isize,
23385 >(
23386 this: *mut core::ffi::c_void,
23387 handled: *mut windows_core::BOOL,
23388 ) -> windows_core::HRESULT {
23389 unsafe {
23390 let this: &Identity =
23391 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23392 ICoreWebView2NewWindowRequestedEventArgs_Impl::Handled(
23393 this,
23394 core::mem::transmute_copy(&handled),
23395 )
23396 .into()
23397 }
23398 }
23399 unsafe extern "system" fn IsUserInitiated<
23400 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
23401 const OFFSET: isize,
23402 >(
23403 this: *mut core::ffi::c_void,
23404 isuserinitiated: *mut windows_core::BOOL,
23405 ) -> windows_core::HRESULT {
23406 unsafe {
23407 let this: &Identity =
23408 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23409 ICoreWebView2NewWindowRequestedEventArgs_Impl::IsUserInitiated(
23410 this,
23411 core::mem::transmute_copy(&isuserinitiated),
23412 )
23413 .into()
23414 }
23415 }
23416 unsafe extern "system" fn GetDeferral<
23417 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
23418 const OFFSET: isize,
23419 >(
23420 this: *mut core::ffi::c_void,
23421 deferral: *mut *mut core::ffi::c_void,
23422 ) -> windows_core::HRESULT {
23423 unsafe {
23424 let this: &Identity =
23425 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23426 match ICoreWebView2NewWindowRequestedEventArgs_Impl::GetDeferral(this) {
23427 Ok(ok__) => {
23428 deferral.write(core::mem::transmute(ok__));
23429 windows_core::HRESULT(0)
23430 }
23431 Err(err) => err.into(),
23432 }
23433 }
23434 }
23435 unsafe extern "system" fn WindowFeatures<
23436 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
23437 const OFFSET: isize,
23438 >(
23439 this: *mut core::ffi::c_void,
23440 value: *mut *mut core::ffi::c_void,
23441 ) -> windows_core::HRESULT {
23442 unsafe {
23443 let this: &Identity =
23444 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23445 match ICoreWebView2NewWindowRequestedEventArgs_Impl::WindowFeatures(this) {
23446 Ok(ok__) => {
23447 value.write(core::mem::transmute(ok__));
23448 windows_core::HRESULT(0)
23449 }
23450 Err(err) => err.into(),
23451 }
23452 }
23453 }
23454 Self {
23455 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23456 Uri: Uri::<Identity, OFFSET>,
23457 SetNewWindow: SetNewWindow::<Identity, OFFSET>,
23458 NewWindow: NewWindow::<Identity, OFFSET>,
23459 SetHandled: SetHandled::<Identity, OFFSET>,
23460 Handled: Handled::<Identity, OFFSET>,
23461 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
23462 GetDeferral: GetDeferral::<Identity, OFFSET>,
23463 WindowFeatures: WindowFeatures::<Identity, OFFSET>,
23464 }
23465 }
23466 pub fn matches(iid: &windows_core::GUID) -> bool {
23467 iid == &<ICoreWebView2NewWindowRequestedEventArgs as windows_core::Interface>::IID
23468 }
23469}
23470impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventArgs {}
23471windows_core::imp::define_interface!(
23472 ICoreWebView2NewWindowRequestedEventArgs2,
23473 ICoreWebView2NewWindowRequestedEventArgs2_Vtbl,
23474 0xbbc7baed_74c6_4c92_b63a_7f5aeae03de3
23475);
23476impl core::ops::Deref for ICoreWebView2NewWindowRequestedEventArgs2 {
23477 type Target = ICoreWebView2NewWindowRequestedEventArgs;
23478 fn deref(&self) -> &Self::Target {
23479 unsafe { core::mem::transmute(self) }
23480 }
23481}
23482windows_core::imp::interface_hierarchy!(
23483 ICoreWebView2NewWindowRequestedEventArgs2,
23484 windows_core::IUnknown,
23485 ICoreWebView2NewWindowRequestedEventArgs
23486);
23487impl ICoreWebView2NewWindowRequestedEventArgs2 {
23488 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23489 unsafe {
23490 (windows_core::Interface::vtable(self).Name)(
23491 windows_core::Interface::as_raw(self),
23492 value as _,
23493 )
23494 .ok()
23495 }
23496 }
23497}
23498#[repr(C)]
23499#[doc(hidden)]
23500pub struct ICoreWebView2NewWindowRequestedEventArgs2_Vtbl {
23501 pub base__: ICoreWebView2NewWindowRequestedEventArgs_Vtbl,
23502 pub Name: unsafe extern "system" fn(
23503 *mut core::ffi::c_void,
23504 *mut windows_core::PWSTR,
23505 ) -> windows_core::HRESULT,
23506}
23507pub trait ICoreWebView2NewWindowRequestedEventArgs2_Impl:
23508 ICoreWebView2NewWindowRequestedEventArgs_Impl
23509{
23510 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
23511}
23512impl ICoreWebView2NewWindowRequestedEventArgs2_Vtbl {
23513 pub const fn new<
23514 Identity: ICoreWebView2NewWindowRequestedEventArgs2_Impl,
23515 const OFFSET: isize,
23516 >() -> Self {
23517 unsafe extern "system" fn Name<
23518 Identity: ICoreWebView2NewWindowRequestedEventArgs2_Impl,
23519 const OFFSET: isize,
23520 >(
23521 this: *mut core::ffi::c_void,
23522 value: *mut windows_core::PWSTR,
23523 ) -> windows_core::HRESULT {
23524 unsafe {
23525 let this: &Identity =
23526 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23527 ICoreWebView2NewWindowRequestedEventArgs2_Impl::Name(
23528 this,
23529 core::mem::transmute_copy(&value),
23530 )
23531 .into()
23532 }
23533 }
23534 Self {
23535 base__: ICoreWebView2NewWindowRequestedEventArgs_Vtbl::new::<Identity, OFFSET>(),
23536 Name: Name::<Identity, OFFSET>,
23537 }
23538 }
23539 pub fn matches(iid: &windows_core::GUID) -> bool {
23540 iid == &<ICoreWebView2NewWindowRequestedEventArgs2 as windows_core::Interface>::IID
23541 || iid == &<ICoreWebView2NewWindowRequestedEventArgs as windows_core::Interface>::IID
23542 }
23543}
23544impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventArgs2 {}
23545windows_core::imp::define_interface!(
23546 ICoreWebView2NewWindowRequestedEventArgs3,
23547 ICoreWebView2NewWindowRequestedEventArgs3_Vtbl,
23548 0x842bed3c_6ad6_4dd9_b938_28c96667ad66
23549);
23550impl core::ops::Deref for ICoreWebView2NewWindowRequestedEventArgs3 {
23551 type Target = ICoreWebView2NewWindowRequestedEventArgs2;
23552 fn deref(&self) -> &Self::Target {
23553 unsafe { core::mem::transmute(self) }
23554 }
23555}
23556windows_core::imp::interface_hierarchy!(
23557 ICoreWebView2NewWindowRequestedEventArgs3,
23558 windows_core::IUnknown,
23559 ICoreWebView2NewWindowRequestedEventArgs,
23560 ICoreWebView2NewWindowRequestedEventArgs2
23561);
23562impl ICoreWebView2NewWindowRequestedEventArgs3 {
23563 pub unsafe fn OriginalSourceFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo> {
23564 unsafe {
23565 let mut result__ = core::mem::zeroed();
23566 (windows_core::Interface::vtable(self).OriginalSourceFrameInfo)(
23567 windows_core::Interface::as_raw(self),
23568 &mut result__,
23569 )
23570 .and_then(|| windows_core::Type::from_abi(result__))
23571 }
23572 }
23573}
23574#[repr(C)]
23575#[doc(hidden)]
23576pub struct ICoreWebView2NewWindowRequestedEventArgs3_Vtbl {
23577 pub base__: ICoreWebView2NewWindowRequestedEventArgs2_Vtbl,
23578 pub OriginalSourceFrameInfo: unsafe extern "system" fn(
23579 *mut core::ffi::c_void,
23580 *mut *mut core::ffi::c_void,
23581 ) -> windows_core::HRESULT,
23582}
23583pub trait ICoreWebView2NewWindowRequestedEventArgs3_Impl:
23584 ICoreWebView2NewWindowRequestedEventArgs2_Impl
23585{
23586 fn OriginalSourceFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo>;
23587}
23588impl ICoreWebView2NewWindowRequestedEventArgs3_Vtbl {
23589 pub const fn new<
23590 Identity: ICoreWebView2NewWindowRequestedEventArgs3_Impl,
23591 const OFFSET: isize,
23592 >() -> Self {
23593 unsafe extern "system" fn OriginalSourceFrameInfo<
23594 Identity: ICoreWebView2NewWindowRequestedEventArgs3_Impl,
23595 const OFFSET: isize,
23596 >(
23597 this: *mut core::ffi::c_void,
23598 value: *mut *mut core::ffi::c_void,
23599 ) -> windows_core::HRESULT {
23600 unsafe {
23601 let this: &Identity =
23602 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23603 match ICoreWebView2NewWindowRequestedEventArgs3_Impl::OriginalSourceFrameInfo(this)
23604 {
23605 Ok(ok__) => {
23606 value.write(core::mem::transmute(ok__));
23607 windows_core::HRESULT(0)
23608 }
23609 Err(err) => err.into(),
23610 }
23611 }
23612 }
23613 Self {
23614 base__: ICoreWebView2NewWindowRequestedEventArgs2_Vtbl::new::<Identity, OFFSET>(),
23615 OriginalSourceFrameInfo: OriginalSourceFrameInfo::<Identity, OFFSET>,
23616 }
23617 }
23618 pub fn matches(iid: &windows_core::GUID) -> bool {
23619 iid == &<ICoreWebView2NewWindowRequestedEventArgs3 as windows_core::Interface>::IID
23620 || iid == &<ICoreWebView2NewWindowRequestedEventArgs as windows_core::Interface>::IID
23621 || iid == &<ICoreWebView2NewWindowRequestedEventArgs2 as windows_core::Interface>::IID
23622 }
23623}
23624impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventArgs3 {}
23625windows_core::imp::define_interface!(
23626 ICoreWebView2NewWindowRequestedEventHandler,
23627 ICoreWebView2NewWindowRequestedEventHandler_Vtbl,
23628 0xd4c185fe_c81c_4989_97af_2d3fa7ab5651
23629);
23630windows_core::imp::interface_hierarchy!(
23631 ICoreWebView2NewWindowRequestedEventHandler,
23632 windows_core::IUnknown
23633);
23634impl ICoreWebView2NewWindowRequestedEventHandler {
23635 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
23636 where
23637 P0: windows_core::Param<ICoreWebView2>,
23638 P1: windows_core::Param<ICoreWebView2NewWindowRequestedEventArgs>,
23639 {
23640 unsafe {
23641 (windows_core::Interface::vtable(self).Invoke)(
23642 windows_core::Interface::as_raw(self),
23643 sender.param().abi(),
23644 args.param().abi(),
23645 )
23646 .ok()
23647 }
23648 }
23649}
23650#[repr(C)]
23651#[doc(hidden)]
23652pub struct ICoreWebView2NewWindowRequestedEventHandler_Vtbl {
23653 pub base__: windows_core::IUnknown_Vtbl,
23654 pub Invoke: unsafe extern "system" fn(
23655 *mut core::ffi::c_void,
23656 *mut core::ffi::c_void,
23657 *mut core::ffi::c_void,
23658 ) -> windows_core::HRESULT,
23659}
23660pub trait ICoreWebView2NewWindowRequestedEventHandler_Impl: windows_core::IUnknownImpl {
23661 fn Invoke(
23662 &self,
23663 sender: windows_core::Ref<'_, ICoreWebView2>,
23664 args: windows_core::Ref<'_, ICoreWebView2NewWindowRequestedEventArgs>,
23665 ) -> windows_core::Result<()>;
23666}
23667impl ICoreWebView2NewWindowRequestedEventHandler_Vtbl {
23668 pub const fn new<
23669 Identity: ICoreWebView2NewWindowRequestedEventHandler_Impl,
23670 const OFFSET: isize,
23671 >() -> Self {
23672 unsafe extern "system" fn Invoke<
23673 Identity: ICoreWebView2NewWindowRequestedEventHandler_Impl,
23674 const OFFSET: isize,
23675 >(
23676 this: *mut core::ffi::c_void,
23677 sender: *mut core::ffi::c_void,
23678 args: *mut core::ffi::c_void,
23679 ) -> windows_core::HRESULT {
23680 unsafe {
23681 let this: &Identity =
23682 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23683 ICoreWebView2NewWindowRequestedEventHandler_Impl::Invoke(
23684 this,
23685 core::mem::transmute_copy(&sender),
23686 core::mem::transmute_copy(&args),
23687 )
23688 .into()
23689 }
23690 }
23691 Self {
23692 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23693 Invoke: Invoke::<Identity, OFFSET>,
23694 }
23695 }
23696 pub fn matches(iid: &windows_core::GUID) -> bool {
23697 iid == &<ICoreWebView2NewWindowRequestedEventHandler as windows_core::Interface>::IID
23698 }
23699}
23700impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventHandler {}
23701windows_core::imp::define_interface!(
23702 ICoreWebView2NonClientRegionChangedEventArgs,
23703 ICoreWebView2NonClientRegionChangedEventArgs_Vtbl,
23704 0xab71d500_0820_4a52_809c_48db04ff93bf
23705);
23706windows_core::imp::interface_hierarchy!(
23707 ICoreWebView2NonClientRegionChangedEventArgs,
23708 windows_core::IUnknown
23709);
23710impl ICoreWebView2NonClientRegionChangedEventArgs {
23711 pub unsafe fn RegionKind(
23712 &self,
23713 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
23714 ) -> windows_core::Result<()> {
23715 unsafe {
23716 (windows_core::Interface::vtable(self).RegionKind)(
23717 windows_core::Interface::as_raw(self),
23718 value as _,
23719 )
23720 .ok()
23721 }
23722 }
23723}
23724#[repr(C)]
23725#[doc(hidden)]
23726pub struct ICoreWebView2NonClientRegionChangedEventArgs_Vtbl {
23727 pub base__: windows_core::IUnknown_Vtbl,
23728 pub RegionKind: unsafe extern "system" fn(
23729 *mut core::ffi::c_void,
23730 *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
23731 ) -> windows_core::HRESULT,
23732}
23733pub trait ICoreWebView2NonClientRegionChangedEventArgs_Impl: windows_core::IUnknownImpl {
23734 fn RegionKind(
23735 &self,
23736 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
23737 ) -> windows_core::Result<()>;
23738}
23739impl ICoreWebView2NonClientRegionChangedEventArgs_Vtbl {
23740 pub const fn new<
23741 Identity: ICoreWebView2NonClientRegionChangedEventArgs_Impl,
23742 const OFFSET: isize,
23743 >() -> Self {
23744 unsafe extern "system" fn RegionKind<
23745 Identity: ICoreWebView2NonClientRegionChangedEventArgs_Impl,
23746 const OFFSET: isize,
23747 >(
23748 this: *mut core::ffi::c_void,
23749 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
23750 ) -> windows_core::HRESULT {
23751 unsafe {
23752 let this: &Identity =
23753 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23754 ICoreWebView2NonClientRegionChangedEventArgs_Impl::RegionKind(
23755 this,
23756 core::mem::transmute_copy(&value),
23757 )
23758 .into()
23759 }
23760 }
23761 Self {
23762 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23763 RegionKind: RegionKind::<Identity, OFFSET>,
23764 }
23765 }
23766 pub fn matches(iid: &windows_core::GUID) -> bool {
23767 iid == &<ICoreWebView2NonClientRegionChangedEventArgs as windows_core::Interface>::IID
23768 }
23769}
23770impl windows_core::RuntimeName for ICoreWebView2NonClientRegionChangedEventArgs {}
23771windows_core::imp::define_interface!(
23772 ICoreWebView2NonClientRegionChangedEventHandler,
23773 ICoreWebView2NonClientRegionChangedEventHandler_Vtbl,
23774 0x4a794e66_aa6c_46bd_93a3_382196837680
23775);
23776windows_core::imp::interface_hierarchy!(
23777 ICoreWebView2NonClientRegionChangedEventHandler,
23778 windows_core::IUnknown
23779);
23780impl ICoreWebView2NonClientRegionChangedEventHandler {
23781 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
23782 where
23783 P0: windows_core::Param<ICoreWebView2CompositionController>,
23784 P1: windows_core::Param<ICoreWebView2NonClientRegionChangedEventArgs>,
23785 {
23786 unsafe {
23787 (windows_core::Interface::vtable(self).Invoke)(
23788 windows_core::Interface::as_raw(self),
23789 sender.param().abi(),
23790 args.param().abi(),
23791 )
23792 .ok()
23793 }
23794 }
23795}
23796#[repr(C)]
23797#[doc(hidden)]
23798pub struct ICoreWebView2NonClientRegionChangedEventHandler_Vtbl {
23799 pub base__: windows_core::IUnknown_Vtbl,
23800 pub Invoke: unsafe extern "system" fn(
23801 *mut core::ffi::c_void,
23802 *mut core::ffi::c_void,
23803 *mut core::ffi::c_void,
23804 ) -> windows_core::HRESULT,
23805}
23806pub trait ICoreWebView2NonClientRegionChangedEventHandler_Impl: windows_core::IUnknownImpl {
23807 fn Invoke(
23808 &self,
23809 sender: windows_core::Ref<'_, ICoreWebView2CompositionController>,
23810 args: windows_core::Ref<'_, ICoreWebView2NonClientRegionChangedEventArgs>,
23811 ) -> windows_core::Result<()>;
23812}
23813impl ICoreWebView2NonClientRegionChangedEventHandler_Vtbl {
23814 pub const fn new<
23815 Identity: ICoreWebView2NonClientRegionChangedEventHandler_Impl,
23816 const OFFSET: isize,
23817 >() -> Self {
23818 unsafe extern "system" fn Invoke<
23819 Identity: ICoreWebView2NonClientRegionChangedEventHandler_Impl,
23820 const OFFSET: isize,
23821 >(
23822 this: *mut core::ffi::c_void,
23823 sender: *mut core::ffi::c_void,
23824 args: *mut core::ffi::c_void,
23825 ) -> windows_core::HRESULT {
23826 unsafe {
23827 let this: &Identity =
23828 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23829 ICoreWebView2NonClientRegionChangedEventHandler_Impl::Invoke(
23830 this,
23831 core::mem::transmute_copy(&sender),
23832 core::mem::transmute_copy(&args),
23833 )
23834 .into()
23835 }
23836 }
23837 Self {
23838 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23839 Invoke: Invoke::<Identity, OFFSET>,
23840 }
23841 }
23842 pub fn matches(iid: &windows_core::GUID) -> bool {
23843 iid == &<ICoreWebView2NonClientRegionChangedEventHandler as windows_core::Interface>::IID
23844 }
23845}
23846impl windows_core::RuntimeName for ICoreWebView2NonClientRegionChangedEventHandler {}
23847windows_core::imp::define_interface!(
23848 ICoreWebView2Notification,
23849 ICoreWebView2Notification_Vtbl,
23850 0xb7434d98_6bc8_419d_9da5_fb5a96d4dacd
23851);
23852windows_core::imp::interface_hierarchy!(ICoreWebView2Notification, windows_core::IUnknown);
23853impl ICoreWebView2Notification {
23854 pub unsafe fn add_CloseRequested<P0>(
23855 &self,
23856 eventhandler: P0,
23857 token: *mut i64,
23858 ) -> windows_core::Result<()>
23859 where
23860 P0: windows_core::Param<ICoreWebView2NotificationCloseRequestedEventHandler>,
23861 {
23862 unsafe {
23863 (windows_core::Interface::vtable(self).add_CloseRequested)(
23864 windows_core::Interface::as_raw(self),
23865 eventhandler.param().abi(),
23866 token as _,
23867 )
23868 .ok()
23869 }
23870 }
23871 pub unsafe fn remove_CloseRequested(&self, token: i64) -> windows_core::Result<()> {
23872 unsafe {
23873 (windows_core::Interface::vtable(self).remove_CloseRequested)(
23874 windows_core::Interface::as_raw(self),
23875 token,
23876 )
23877 .ok()
23878 }
23879 }
23880 pub unsafe fn ReportShown(&self) -> windows_core::Result<()> {
23881 unsafe {
23882 (windows_core::Interface::vtable(self).ReportShown)(windows_core::Interface::as_raw(
23883 self,
23884 ))
23885 .ok()
23886 }
23887 }
23888 pub unsafe fn ReportClicked(&self) -> windows_core::Result<()> {
23889 unsafe {
23890 (windows_core::Interface::vtable(self).ReportClicked)(windows_core::Interface::as_raw(
23891 self,
23892 ))
23893 .ok()
23894 }
23895 }
23896 pub unsafe fn ReportClosed(&self) -> windows_core::Result<()> {
23897 unsafe {
23898 (windows_core::Interface::vtable(self).ReportClosed)(windows_core::Interface::as_raw(
23899 self,
23900 ))
23901 .ok()
23902 }
23903 }
23904 pub unsafe fn Body(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23905 unsafe {
23906 (windows_core::Interface::vtable(self).Body)(
23907 windows_core::Interface::as_raw(self),
23908 value as _,
23909 )
23910 .ok()
23911 }
23912 }
23913 pub unsafe fn Direction(
23914 &self,
23915 value: *mut COREWEBVIEW2_TEXT_DIRECTION_KIND,
23916 ) -> windows_core::Result<()> {
23917 unsafe {
23918 (windows_core::Interface::vtable(self).Direction)(
23919 windows_core::Interface::as_raw(self),
23920 value as _,
23921 )
23922 .ok()
23923 }
23924 }
23925 pub unsafe fn Language(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23926 unsafe {
23927 (windows_core::Interface::vtable(self).Language)(
23928 windows_core::Interface::as_raw(self),
23929 value as _,
23930 )
23931 .ok()
23932 }
23933 }
23934 pub unsafe fn Tag(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23935 unsafe {
23936 (windows_core::Interface::vtable(self).Tag)(
23937 windows_core::Interface::as_raw(self),
23938 value as _,
23939 )
23940 .ok()
23941 }
23942 }
23943 pub unsafe fn IconUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23944 unsafe {
23945 (windows_core::Interface::vtable(self).IconUri)(
23946 windows_core::Interface::as_raw(self),
23947 value as _,
23948 )
23949 .ok()
23950 }
23951 }
23952 pub unsafe fn Title(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23953 unsafe {
23954 (windows_core::Interface::vtable(self).Title)(
23955 windows_core::Interface::as_raw(self),
23956 value as _,
23957 )
23958 .ok()
23959 }
23960 }
23961 pub unsafe fn BadgeUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23962 unsafe {
23963 (windows_core::Interface::vtable(self).BadgeUri)(
23964 windows_core::Interface::as_raw(self),
23965 value as _,
23966 )
23967 .ok()
23968 }
23969 }
23970 pub unsafe fn BodyImageUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23971 unsafe {
23972 (windows_core::Interface::vtable(self).BodyImageUri)(
23973 windows_core::Interface::as_raw(self),
23974 value as _,
23975 )
23976 .ok()
23977 }
23978 }
23979 pub unsafe fn ShouldRenotify(
23980 &self,
23981 value: *mut windows_core::BOOL,
23982 ) -> windows_core::Result<()> {
23983 unsafe {
23984 (windows_core::Interface::vtable(self).ShouldRenotify)(
23985 windows_core::Interface::as_raw(self),
23986 value as _,
23987 )
23988 .ok()
23989 }
23990 }
23991 pub unsafe fn RequiresInteraction(
23992 &self,
23993 value: *mut windows_core::BOOL,
23994 ) -> windows_core::Result<()> {
23995 unsafe {
23996 (windows_core::Interface::vtable(self).RequiresInteraction)(
23997 windows_core::Interface::as_raw(self),
23998 value as _,
23999 )
24000 .ok()
24001 }
24002 }
24003 pub unsafe fn IsSilent(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
24004 unsafe {
24005 (windows_core::Interface::vtable(self).IsSilent)(
24006 windows_core::Interface::as_raw(self),
24007 value as _,
24008 )
24009 .ok()
24010 }
24011 }
24012 pub unsafe fn Timestamp(&self, value: *mut f64) -> windows_core::Result<()> {
24013 unsafe {
24014 (windows_core::Interface::vtable(self).Timestamp)(
24015 windows_core::Interface::as_raw(self),
24016 value as _,
24017 )
24018 .ok()
24019 }
24020 }
24021 pub unsafe fn GetVibrationPattern(
24022 &self,
24023 count: *mut u32,
24024 vibrationpattern: *mut *mut u64,
24025 ) -> windows_core::Result<()> {
24026 unsafe {
24027 (windows_core::Interface::vtable(self).GetVibrationPattern)(
24028 windows_core::Interface::as_raw(self),
24029 count as _,
24030 vibrationpattern as _,
24031 )
24032 .ok()
24033 }
24034 }
24035}
24036#[repr(C)]
24037#[doc(hidden)]
24038pub struct ICoreWebView2Notification_Vtbl {
24039 pub base__: windows_core::IUnknown_Vtbl,
24040 pub add_CloseRequested: unsafe extern "system" fn(
24041 *mut core::ffi::c_void,
24042 *mut core::ffi::c_void,
24043 *mut i64,
24044 ) -> windows_core::HRESULT,
24045 pub remove_CloseRequested:
24046 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
24047 pub ReportShown: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
24048 pub ReportClicked: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
24049 pub ReportClosed: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
24050 pub Body: unsafe extern "system" fn(
24051 *mut core::ffi::c_void,
24052 *mut windows_core::PWSTR,
24053 ) -> windows_core::HRESULT,
24054 pub Direction: unsafe extern "system" fn(
24055 *mut core::ffi::c_void,
24056 *mut COREWEBVIEW2_TEXT_DIRECTION_KIND,
24057 ) -> windows_core::HRESULT,
24058 pub Language: unsafe extern "system" fn(
24059 *mut core::ffi::c_void,
24060 *mut windows_core::PWSTR,
24061 ) -> windows_core::HRESULT,
24062 pub Tag: unsafe extern "system" fn(
24063 *mut core::ffi::c_void,
24064 *mut windows_core::PWSTR,
24065 ) -> windows_core::HRESULT,
24066 pub IconUri: unsafe extern "system" fn(
24067 *mut core::ffi::c_void,
24068 *mut windows_core::PWSTR,
24069 ) -> windows_core::HRESULT,
24070 pub Title: unsafe extern "system" fn(
24071 *mut core::ffi::c_void,
24072 *mut windows_core::PWSTR,
24073 ) -> windows_core::HRESULT,
24074 pub BadgeUri: unsafe extern "system" fn(
24075 *mut core::ffi::c_void,
24076 *mut windows_core::PWSTR,
24077 ) -> windows_core::HRESULT,
24078 pub BodyImageUri: unsafe extern "system" fn(
24079 *mut core::ffi::c_void,
24080 *mut windows_core::PWSTR,
24081 ) -> windows_core::HRESULT,
24082 pub ShouldRenotify: unsafe extern "system" fn(
24083 *mut core::ffi::c_void,
24084 *mut windows_core::BOOL,
24085 ) -> windows_core::HRESULT,
24086 pub RequiresInteraction: unsafe extern "system" fn(
24087 *mut core::ffi::c_void,
24088 *mut windows_core::BOOL,
24089 ) -> windows_core::HRESULT,
24090 pub IsSilent: unsafe extern "system" fn(
24091 *mut core::ffi::c_void,
24092 *mut windows_core::BOOL,
24093 ) -> windows_core::HRESULT,
24094 pub Timestamp:
24095 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
24096 pub GetVibrationPattern: unsafe extern "system" fn(
24097 *mut core::ffi::c_void,
24098 *mut u32,
24099 *mut *mut u64,
24100 ) -> windows_core::HRESULT,
24101}
24102pub trait ICoreWebView2Notification_Impl: windows_core::IUnknownImpl {
24103 fn add_CloseRequested(
24104 &self,
24105 eventhandler: windows_core::Ref<'_, ICoreWebView2NotificationCloseRequestedEventHandler>,
24106 token: *mut i64,
24107 ) -> windows_core::Result<()>;
24108 fn remove_CloseRequested(&self, token: i64) -> windows_core::Result<()>;
24109 fn ReportShown(&self) -> windows_core::Result<()>;
24110 fn ReportClicked(&self) -> windows_core::Result<()>;
24111 fn ReportClosed(&self) -> windows_core::Result<()>;
24112 fn Body(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
24113 fn Direction(&self, value: *mut COREWEBVIEW2_TEXT_DIRECTION_KIND) -> windows_core::Result<()>;
24114 fn Language(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
24115 fn Tag(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
24116 fn IconUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
24117 fn Title(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
24118 fn BadgeUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
24119 fn BodyImageUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
24120 fn ShouldRenotify(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
24121 fn RequiresInteraction(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
24122 fn IsSilent(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
24123 fn Timestamp(&self, value: *mut f64) -> windows_core::Result<()>;
24124 fn GetVibrationPattern(
24125 &self,
24126 count: *mut u32,
24127 vibrationpattern: *mut *mut u64,
24128 ) -> windows_core::Result<()>;
24129}
24130impl ICoreWebView2Notification_Vtbl {
24131 pub const fn new<Identity: ICoreWebView2Notification_Impl, const OFFSET: isize>() -> Self {
24132 unsafe extern "system" fn add_CloseRequested<
24133 Identity: ICoreWebView2Notification_Impl,
24134 const OFFSET: isize,
24135 >(
24136 this: *mut core::ffi::c_void,
24137 eventhandler: *mut core::ffi::c_void,
24138 token: *mut i64,
24139 ) -> windows_core::HRESULT {
24140 unsafe {
24141 let this: &Identity =
24142 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24143 ICoreWebView2Notification_Impl::add_CloseRequested(
24144 this,
24145 core::mem::transmute_copy(&eventhandler),
24146 core::mem::transmute_copy(&token),
24147 )
24148 .into()
24149 }
24150 }
24151 unsafe extern "system" fn remove_CloseRequested<
24152 Identity: ICoreWebView2Notification_Impl,
24153 const OFFSET: isize,
24154 >(
24155 this: *mut core::ffi::c_void,
24156 token: i64,
24157 ) -> windows_core::HRESULT {
24158 unsafe {
24159 let this: &Identity =
24160 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24161 ICoreWebView2Notification_Impl::remove_CloseRequested(
24162 this,
24163 core::mem::transmute_copy(&token),
24164 )
24165 .into()
24166 }
24167 }
24168 unsafe extern "system" fn ReportShown<
24169 Identity: ICoreWebView2Notification_Impl,
24170 const OFFSET: isize,
24171 >(
24172 this: *mut core::ffi::c_void,
24173 ) -> windows_core::HRESULT {
24174 unsafe {
24175 let this: &Identity =
24176 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24177 ICoreWebView2Notification_Impl::ReportShown(this).into()
24178 }
24179 }
24180 unsafe extern "system" fn ReportClicked<
24181 Identity: ICoreWebView2Notification_Impl,
24182 const OFFSET: isize,
24183 >(
24184 this: *mut core::ffi::c_void,
24185 ) -> windows_core::HRESULT {
24186 unsafe {
24187 let this: &Identity =
24188 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24189 ICoreWebView2Notification_Impl::ReportClicked(this).into()
24190 }
24191 }
24192 unsafe extern "system" fn ReportClosed<
24193 Identity: ICoreWebView2Notification_Impl,
24194 const OFFSET: isize,
24195 >(
24196 this: *mut core::ffi::c_void,
24197 ) -> windows_core::HRESULT {
24198 unsafe {
24199 let this: &Identity =
24200 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24201 ICoreWebView2Notification_Impl::ReportClosed(this).into()
24202 }
24203 }
24204 unsafe extern "system" fn Body<
24205 Identity: ICoreWebView2Notification_Impl,
24206 const OFFSET: isize,
24207 >(
24208 this: *mut core::ffi::c_void,
24209 value: *mut windows_core::PWSTR,
24210 ) -> windows_core::HRESULT {
24211 unsafe {
24212 let this: &Identity =
24213 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24214 ICoreWebView2Notification_Impl::Body(this, core::mem::transmute_copy(&value)).into()
24215 }
24216 }
24217 unsafe extern "system" fn Direction<
24218 Identity: ICoreWebView2Notification_Impl,
24219 const OFFSET: isize,
24220 >(
24221 this: *mut core::ffi::c_void,
24222 value: *mut COREWEBVIEW2_TEXT_DIRECTION_KIND,
24223 ) -> windows_core::HRESULT {
24224 unsafe {
24225 let this: &Identity =
24226 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24227 ICoreWebView2Notification_Impl::Direction(this, core::mem::transmute_copy(&value))
24228 .into()
24229 }
24230 }
24231 unsafe extern "system" fn Language<
24232 Identity: ICoreWebView2Notification_Impl,
24233 const OFFSET: isize,
24234 >(
24235 this: *mut core::ffi::c_void,
24236 value: *mut windows_core::PWSTR,
24237 ) -> windows_core::HRESULT {
24238 unsafe {
24239 let this: &Identity =
24240 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24241 ICoreWebView2Notification_Impl::Language(this, core::mem::transmute_copy(&value))
24242 .into()
24243 }
24244 }
24245 unsafe extern "system" fn Tag<
24246 Identity: ICoreWebView2Notification_Impl,
24247 const OFFSET: isize,
24248 >(
24249 this: *mut core::ffi::c_void,
24250 value: *mut windows_core::PWSTR,
24251 ) -> windows_core::HRESULT {
24252 unsafe {
24253 let this: &Identity =
24254 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24255 ICoreWebView2Notification_Impl::Tag(this, core::mem::transmute_copy(&value)).into()
24256 }
24257 }
24258 unsafe extern "system" fn IconUri<
24259 Identity: ICoreWebView2Notification_Impl,
24260 const OFFSET: isize,
24261 >(
24262 this: *mut core::ffi::c_void,
24263 value: *mut windows_core::PWSTR,
24264 ) -> windows_core::HRESULT {
24265 unsafe {
24266 let this: &Identity =
24267 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24268 ICoreWebView2Notification_Impl::IconUri(this, core::mem::transmute_copy(&value))
24269 .into()
24270 }
24271 }
24272 unsafe extern "system" fn Title<
24273 Identity: ICoreWebView2Notification_Impl,
24274 const OFFSET: isize,
24275 >(
24276 this: *mut core::ffi::c_void,
24277 value: *mut windows_core::PWSTR,
24278 ) -> windows_core::HRESULT {
24279 unsafe {
24280 let this: &Identity =
24281 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24282 ICoreWebView2Notification_Impl::Title(this, core::mem::transmute_copy(&value))
24283 .into()
24284 }
24285 }
24286 unsafe extern "system" fn BadgeUri<
24287 Identity: ICoreWebView2Notification_Impl,
24288 const OFFSET: isize,
24289 >(
24290 this: *mut core::ffi::c_void,
24291 value: *mut windows_core::PWSTR,
24292 ) -> windows_core::HRESULT {
24293 unsafe {
24294 let this: &Identity =
24295 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24296 ICoreWebView2Notification_Impl::BadgeUri(this, core::mem::transmute_copy(&value))
24297 .into()
24298 }
24299 }
24300 unsafe extern "system" fn BodyImageUri<
24301 Identity: ICoreWebView2Notification_Impl,
24302 const OFFSET: isize,
24303 >(
24304 this: *mut core::ffi::c_void,
24305 value: *mut windows_core::PWSTR,
24306 ) -> windows_core::HRESULT {
24307 unsafe {
24308 let this: &Identity =
24309 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24310 ICoreWebView2Notification_Impl::BodyImageUri(
24311 this,
24312 core::mem::transmute_copy(&value),
24313 )
24314 .into()
24315 }
24316 }
24317 unsafe extern "system" fn ShouldRenotify<
24318 Identity: ICoreWebView2Notification_Impl,
24319 const OFFSET: isize,
24320 >(
24321 this: *mut core::ffi::c_void,
24322 value: *mut windows_core::BOOL,
24323 ) -> windows_core::HRESULT {
24324 unsafe {
24325 let this: &Identity =
24326 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24327 ICoreWebView2Notification_Impl::ShouldRenotify(
24328 this,
24329 core::mem::transmute_copy(&value),
24330 )
24331 .into()
24332 }
24333 }
24334 unsafe extern "system" fn RequiresInteraction<
24335 Identity: ICoreWebView2Notification_Impl,
24336 const OFFSET: isize,
24337 >(
24338 this: *mut core::ffi::c_void,
24339 value: *mut windows_core::BOOL,
24340 ) -> windows_core::HRESULT {
24341 unsafe {
24342 let this: &Identity =
24343 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24344 ICoreWebView2Notification_Impl::RequiresInteraction(
24345 this,
24346 core::mem::transmute_copy(&value),
24347 )
24348 .into()
24349 }
24350 }
24351 unsafe extern "system" fn IsSilent<
24352 Identity: ICoreWebView2Notification_Impl,
24353 const OFFSET: isize,
24354 >(
24355 this: *mut core::ffi::c_void,
24356 value: *mut windows_core::BOOL,
24357 ) -> windows_core::HRESULT {
24358 unsafe {
24359 let this: &Identity =
24360 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24361 ICoreWebView2Notification_Impl::IsSilent(this, core::mem::transmute_copy(&value))
24362 .into()
24363 }
24364 }
24365 unsafe extern "system" fn Timestamp<
24366 Identity: ICoreWebView2Notification_Impl,
24367 const OFFSET: isize,
24368 >(
24369 this: *mut core::ffi::c_void,
24370 value: *mut f64,
24371 ) -> windows_core::HRESULT {
24372 unsafe {
24373 let this: &Identity =
24374 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24375 ICoreWebView2Notification_Impl::Timestamp(this, core::mem::transmute_copy(&value))
24376 .into()
24377 }
24378 }
24379 unsafe extern "system" fn GetVibrationPattern<
24380 Identity: ICoreWebView2Notification_Impl,
24381 const OFFSET: isize,
24382 >(
24383 this: *mut core::ffi::c_void,
24384 count: *mut u32,
24385 vibrationpattern: *mut *mut u64,
24386 ) -> windows_core::HRESULT {
24387 unsafe {
24388 let this: &Identity =
24389 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24390 ICoreWebView2Notification_Impl::GetVibrationPattern(
24391 this,
24392 core::mem::transmute_copy(&count),
24393 core::mem::transmute_copy(&vibrationpattern),
24394 )
24395 .into()
24396 }
24397 }
24398 Self {
24399 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24400 add_CloseRequested: add_CloseRequested::<Identity, OFFSET>,
24401 remove_CloseRequested: remove_CloseRequested::<Identity, OFFSET>,
24402 ReportShown: ReportShown::<Identity, OFFSET>,
24403 ReportClicked: ReportClicked::<Identity, OFFSET>,
24404 ReportClosed: ReportClosed::<Identity, OFFSET>,
24405 Body: Body::<Identity, OFFSET>,
24406 Direction: Direction::<Identity, OFFSET>,
24407 Language: Language::<Identity, OFFSET>,
24408 Tag: Tag::<Identity, OFFSET>,
24409 IconUri: IconUri::<Identity, OFFSET>,
24410 Title: Title::<Identity, OFFSET>,
24411 BadgeUri: BadgeUri::<Identity, OFFSET>,
24412 BodyImageUri: BodyImageUri::<Identity, OFFSET>,
24413 ShouldRenotify: ShouldRenotify::<Identity, OFFSET>,
24414 RequiresInteraction: RequiresInteraction::<Identity, OFFSET>,
24415 IsSilent: IsSilent::<Identity, OFFSET>,
24416 Timestamp: Timestamp::<Identity, OFFSET>,
24417 GetVibrationPattern: GetVibrationPattern::<Identity, OFFSET>,
24418 }
24419 }
24420 pub fn matches(iid: &windows_core::GUID) -> bool {
24421 iid == &<ICoreWebView2Notification as windows_core::Interface>::IID
24422 }
24423}
24424impl windows_core::RuntimeName for ICoreWebView2Notification {}
24425windows_core::imp::define_interface!(
24426 ICoreWebView2NotificationCloseRequestedEventHandler,
24427 ICoreWebView2NotificationCloseRequestedEventHandler_Vtbl,
24428 0x47c32d23_1e94_4733_85f1_d9bf4acd0974
24429);
24430windows_core::imp::interface_hierarchy!(
24431 ICoreWebView2NotificationCloseRequestedEventHandler,
24432 windows_core::IUnknown
24433);
24434impl ICoreWebView2NotificationCloseRequestedEventHandler {
24435 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
24436 where
24437 P0: windows_core::Param<ICoreWebView2Notification>,
24438 P1: windows_core::Param<windows_core::IUnknown>,
24439 {
24440 unsafe {
24441 (windows_core::Interface::vtable(self).Invoke)(
24442 windows_core::Interface::as_raw(self),
24443 sender.param().abi(),
24444 args.param().abi(),
24445 )
24446 .ok()
24447 }
24448 }
24449}
24450#[repr(C)]
24451#[doc(hidden)]
24452pub struct ICoreWebView2NotificationCloseRequestedEventHandler_Vtbl {
24453 pub base__: windows_core::IUnknown_Vtbl,
24454 pub Invoke: unsafe extern "system" fn(
24455 *mut core::ffi::c_void,
24456 *mut core::ffi::c_void,
24457 *mut core::ffi::c_void,
24458 ) -> windows_core::HRESULT,
24459}
24460pub trait ICoreWebView2NotificationCloseRequestedEventHandler_Impl:
24461 windows_core::IUnknownImpl
24462{
24463 fn Invoke(
24464 &self,
24465 sender: windows_core::Ref<'_, ICoreWebView2Notification>,
24466 args: windows_core::Ref<'_, windows_core::IUnknown>,
24467 ) -> windows_core::Result<()>;
24468}
24469impl ICoreWebView2NotificationCloseRequestedEventHandler_Vtbl {
24470 pub const fn new<
24471 Identity: ICoreWebView2NotificationCloseRequestedEventHandler_Impl,
24472 const OFFSET: isize,
24473 >() -> Self {
24474 unsafe extern "system" fn Invoke<
24475 Identity: ICoreWebView2NotificationCloseRequestedEventHandler_Impl,
24476 const OFFSET: isize,
24477 >(
24478 this: *mut core::ffi::c_void,
24479 sender: *mut core::ffi::c_void,
24480 args: *mut core::ffi::c_void,
24481 ) -> windows_core::HRESULT {
24482 unsafe {
24483 let this: &Identity =
24484 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24485 ICoreWebView2NotificationCloseRequestedEventHandler_Impl::Invoke(
24486 this,
24487 core::mem::transmute_copy(&sender),
24488 core::mem::transmute_copy(&args),
24489 )
24490 .into()
24491 }
24492 }
24493 Self {
24494 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24495 Invoke: Invoke::<Identity, OFFSET>,
24496 }
24497 }
24498 pub fn matches(iid: &windows_core::GUID) -> bool {
24499 iid == & < ICoreWebView2NotificationCloseRequestedEventHandler as windows_core::Interface >::IID
24500 }
24501}
24502impl windows_core::RuntimeName for ICoreWebView2NotificationCloseRequestedEventHandler {}
24503windows_core::imp::define_interface!(
24504 ICoreWebView2NotificationReceivedEventArgs,
24505 ICoreWebView2NotificationReceivedEventArgs_Vtbl,
24506 0x1512dd5b_5514_4f85_886e_21c3a4c9cfe6
24507);
24508windows_core::imp::interface_hierarchy!(
24509 ICoreWebView2NotificationReceivedEventArgs,
24510 windows_core::IUnknown
24511);
24512impl ICoreWebView2NotificationReceivedEventArgs {
24513 pub unsafe fn SenderOrigin(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
24514 unsafe {
24515 (windows_core::Interface::vtable(self).SenderOrigin)(
24516 windows_core::Interface::as_raw(self),
24517 value as _,
24518 )
24519 .ok()
24520 }
24521 }
24522 pub unsafe fn Notification(&self) -> windows_core::Result<ICoreWebView2Notification> {
24523 unsafe {
24524 let mut result__ = core::mem::zeroed();
24525 (windows_core::Interface::vtable(self).Notification)(
24526 windows_core::Interface::as_raw(self),
24527 &mut result__,
24528 )
24529 .and_then(|| windows_core::Type::from_abi(result__))
24530 }
24531 }
24532 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
24533 unsafe {
24534 (windows_core::Interface::vtable(self).SetHandled)(
24535 windows_core::Interface::as_raw(self),
24536 value.into(),
24537 )
24538 .ok()
24539 }
24540 }
24541 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
24542 unsafe {
24543 (windows_core::Interface::vtable(self).Handled)(
24544 windows_core::Interface::as_raw(self),
24545 value as _,
24546 )
24547 .ok()
24548 }
24549 }
24550 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
24551 unsafe {
24552 let mut result__ = core::mem::zeroed();
24553 (windows_core::Interface::vtable(self).GetDeferral)(
24554 windows_core::Interface::as_raw(self),
24555 &mut result__,
24556 )
24557 .and_then(|| windows_core::Type::from_abi(result__))
24558 }
24559 }
24560}
24561#[repr(C)]
24562#[doc(hidden)]
24563pub struct ICoreWebView2NotificationReceivedEventArgs_Vtbl {
24564 pub base__: windows_core::IUnknown_Vtbl,
24565 pub SenderOrigin: unsafe extern "system" fn(
24566 *mut core::ffi::c_void,
24567 *mut windows_core::PWSTR,
24568 ) -> windows_core::HRESULT,
24569 pub Notification: unsafe extern "system" fn(
24570 *mut core::ffi::c_void,
24571 *mut *mut core::ffi::c_void,
24572 ) -> windows_core::HRESULT,
24573 pub SetHandled: unsafe extern "system" fn(
24574 *mut core::ffi::c_void,
24575 windows_core::BOOL,
24576 ) -> windows_core::HRESULT,
24577 pub Handled: unsafe extern "system" fn(
24578 *mut core::ffi::c_void,
24579 *mut windows_core::BOOL,
24580 ) -> windows_core::HRESULT,
24581 pub GetDeferral: unsafe extern "system" fn(
24582 *mut core::ffi::c_void,
24583 *mut *mut core::ffi::c_void,
24584 ) -> windows_core::HRESULT,
24585}
24586pub trait ICoreWebView2NotificationReceivedEventArgs_Impl: windows_core::IUnknownImpl {
24587 fn SenderOrigin(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
24588 fn Notification(&self) -> windows_core::Result<ICoreWebView2Notification>;
24589 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
24590 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
24591 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
24592}
24593impl ICoreWebView2NotificationReceivedEventArgs_Vtbl {
24594 pub const fn new<
24595 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
24596 const OFFSET: isize,
24597 >() -> Self {
24598 unsafe extern "system" fn SenderOrigin<
24599 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
24600 const OFFSET: isize,
24601 >(
24602 this: *mut core::ffi::c_void,
24603 value: *mut windows_core::PWSTR,
24604 ) -> windows_core::HRESULT {
24605 unsafe {
24606 let this: &Identity =
24607 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24608 ICoreWebView2NotificationReceivedEventArgs_Impl::SenderOrigin(
24609 this,
24610 core::mem::transmute_copy(&value),
24611 )
24612 .into()
24613 }
24614 }
24615 unsafe extern "system" fn Notification<
24616 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
24617 const OFFSET: isize,
24618 >(
24619 this: *mut core::ffi::c_void,
24620 value: *mut *mut core::ffi::c_void,
24621 ) -> windows_core::HRESULT {
24622 unsafe {
24623 let this: &Identity =
24624 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24625 match ICoreWebView2NotificationReceivedEventArgs_Impl::Notification(this) {
24626 Ok(ok__) => {
24627 value.write(core::mem::transmute(ok__));
24628 windows_core::HRESULT(0)
24629 }
24630 Err(err) => err.into(),
24631 }
24632 }
24633 }
24634 unsafe extern "system" fn SetHandled<
24635 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
24636 const OFFSET: isize,
24637 >(
24638 this: *mut core::ffi::c_void,
24639 value: windows_core::BOOL,
24640 ) -> windows_core::HRESULT {
24641 unsafe {
24642 let this: &Identity =
24643 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24644 ICoreWebView2NotificationReceivedEventArgs_Impl::SetHandled(
24645 this,
24646 core::mem::transmute_copy(&value),
24647 )
24648 .into()
24649 }
24650 }
24651 unsafe extern "system" fn Handled<
24652 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
24653 const OFFSET: isize,
24654 >(
24655 this: *mut core::ffi::c_void,
24656 value: *mut windows_core::BOOL,
24657 ) -> windows_core::HRESULT {
24658 unsafe {
24659 let this: &Identity =
24660 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24661 ICoreWebView2NotificationReceivedEventArgs_Impl::Handled(
24662 this,
24663 core::mem::transmute_copy(&value),
24664 )
24665 .into()
24666 }
24667 }
24668 unsafe extern "system" fn GetDeferral<
24669 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
24670 const OFFSET: isize,
24671 >(
24672 this: *mut core::ffi::c_void,
24673 deferral: *mut *mut core::ffi::c_void,
24674 ) -> windows_core::HRESULT {
24675 unsafe {
24676 let this: &Identity =
24677 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24678 match ICoreWebView2NotificationReceivedEventArgs_Impl::GetDeferral(this) {
24679 Ok(ok__) => {
24680 deferral.write(core::mem::transmute(ok__));
24681 windows_core::HRESULT(0)
24682 }
24683 Err(err) => err.into(),
24684 }
24685 }
24686 }
24687 Self {
24688 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24689 SenderOrigin: SenderOrigin::<Identity, OFFSET>,
24690 Notification: Notification::<Identity, OFFSET>,
24691 SetHandled: SetHandled::<Identity, OFFSET>,
24692 Handled: Handled::<Identity, OFFSET>,
24693 GetDeferral: GetDeferral::<Identity, OFFSET>,
24694 }
24695 }
24696 pub fn matches(iid: &windows_core::GUID) -> bool {
24697 iid == &<ICoreWebView2NotificationReceivedEventArgs as windows_core::Interface>::IID
24698 }
24699}
24700impl windows_core::RuntimeName for ICoreWebView2NotificationReceivedEventArgs {}
24701windows_core::imp::define_interface!(
24702 ICoreWebView2NotificationReceivedEventHandler,
24703 ICoreWebView2NotificationReceivedEventHandler_Vtbl,
24704 0x89c5d598_8788_423b_be97_e6e01c0f9ee3
24705);
24706windows_core::imp::interface_hierarchy!(
24707 ICoreWebView2NotificationReceivedEventHandler,
24708 windows_core::IUnknown
24709);
24710impl ICoreWebView2NotificationReceivedEventHandler {
24711 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
24712 where
24713 P0: windows_core::Param<ICoreWebView2>,
24714 P1: windows_core::Param<ICoreWebView2NotificationReceivedEventArgs>,
24715 {
24716 unsafe {
24717 (windows_core::Interface::vtable(self).Invoke)(
24718 windows_core::Interface::as_raw(self),
24719 sender.param().abi(),
24720 args.param().abi(),
24721 )
24722 .ok()
24723 }
24724 }
24725}
24726#[repr(C)]
24727#[doc(hidden)]
24728pub struct ICoreWebView2NotificationReceivedEventHandler_Vtbl {
24729 pub base__: windows_core::IUnknown_Vtbl,
24730 pub Invoke: unsafe extern "system" fn(
24731 *mut core::ffi::c_void,
24732 *mut core::ffi::c_void,
24733 *mut core::ffi::c_void,
24734 ) -> windows_core::HRESULT,
24735}
24736pub trait ICoreWebView2NotificationReceivedEventHandler_Impl: windows_core::IUnknownImpl {
24737 fn Invoke(
24738 &self,
24739 sender: windows_core::Ref<'_, ICoreWebView2>,
24740 args: windows_core::Ref<'_, ICoreWebView2NotificationReceivedEventArgs>,
24741 ) -> windows_core::Result<()>;
24742}
24743impl ICoreWebView2NotificationReceivedEventHandler_Vtbl {
24744 pub const fn new<
24745 Identity: ICoreWebView2NotificationReceivedEventHandler_Impl,
24746 const OFFSET: isize,
24747 >() -> Self {
24748 unsafe extern "system" fn Invoke<
24749 Identity: ICoreWebView2NotificationReceivedEventHandler_Impl,
24750 const OFFSET: isize,
24751 >(
24752 this: *mut core::ffi::c_void,
24753 sender: *mut core::ffi::c_void,
24754 args: *mut core::ffi::c_void,
24755 ) -> windows_core::HRESULT {
24756 unsafe {
24757 let this: &Identity =
24758 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24759 ICoreWebView2NotificationReceivedEventHandler_Impl::Invoke(
24760 this,
24761 core::mem::transmute_copy(&sender),
24762 core::mem::transmute_copy(&args),
24763 )
24764 .into()
24765 }
24766 }
24767 Self {
24768 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24769 Invoke: Invoke::<Identity, OFFSET>,
24770 }
24771 }
24772 pub fn matches(iid: &windows_core::GUID) -> bool {
24773 iid == &<ICoreWebView2NotificationReceivedEventHandler as windows_core::Interface>::IID
24774 }
24775}
24776impl windows_core::RuntimeName for ICoreWebView2NotificationReceivedEventHandler {}
24777windows_core::imp::define_interface!(
24778 ICoreWebView2ObjectCollection,
24779 ICoreWebView2ObjectCollection_Vtbl,
24780 0x5cfec11c_25bd_4e8d_9e1a_7acdaeeec047
24781);
24782impl core::ops::Deref for ICoreWebView2ObjectCollection {
24783 type Target = ICoreWebView2ObjectCollectionView;
24784 fn deref(&self) -> &Self::Target {
24785 unsafe { core::mem::transmute(self) }
24786 }
24787}
24788windows_core::imp::interface_hierarchy!(
24789 ICoreWebView2ObjectCollection,
24790 windows_core::IUnknown,
24791 ICoreWebView2ObjectCollectionView
24792);
24793impl ICoreWebView2ObjectCollection {
24794 pub unsafe fn RemoveValueAtIndex(&self, index: u32) -> windows_core::Result<()> {
24795 unsafe {
24796 (windows_core::Interface::vtable(self).RemoveValueAtIndex)(
24797 windows_core::Interface::as_raw(self),
24798 index,
24799 )
24800 .ok()
24801 }
24802 }
24803 pub unsafe fn InsertValueAtIndex<P1>(&self, index: u32, value: P1) -> windows_core::Result<()>
24804 where
24805 P1: windows_core::Param<windows_core::IUnknown>,
24806 {
24807 unsafe {
24808 (windows_core::Interface::vtable(self).InsertValueAtIndex)(
24809 windows_core::Interface::as_raw(self),
24810 index,
24811 value.param().abi(),
24812 )
24813 .ok()
24814 }
24815 }
24816}
24817#[repr(C)]
24818#[doc(hidden)]
24819pub struct ICoreWebView2ObjectCollection_Vtbl {
24820 pub base__: ICoreWebView2ObjectCollectionView_Vtbl,
24821 pub RemoveValueAtIndex:
24822 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
24823 pub InsertValueAtIndex: unsafe extern "system" fn(
24824 *mut core::ffi::c_void,
24825 u32,
24826 *mut core::ffi::c_void,
24827 ) -> windows_core::HRESULT,
24828}
24829pub trait ICoreWebView2ObjectCollection_Impl: ICoreWebView2ObjectCollectionView_Impl {
24830 fn RemoveValueAtIndex(&self, index: u32) -> windows_core::Result<()>;
24831 fn InsertValueAtIndex(
24832 &self,
24833 index: u32,
24834 value: windows_core::Ref<'_, windows_core::IUnknown>,
24835 ) -> windows_core::Result<()>;
24836}
24837impl ICoreWebView2ObjectCollection_Vtbl {
24838 pub const fn new<Identity: ICoreWebView2ObjectCollection_Impl, const OFFSET: isize>() -> Self {
24839 unsafe extern "system" fn RemoveValueAtIndex<
24840 Identity: ICoreWebView2ObjectCollection_Impl,
24841 const OFFSET: isize,
24842 >(
24843 this: *mut core::ffi::c_void,
24844 index: u32,
24845 ) -> windows_core::HRESULT {
24846 unsafe {
24847 let this: &Identity =
24848 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24849 ICoreWebView2ObjectCollection_Impl::RemoveValueAtIndex(
24850 this,
24851 core::mem::transmute_copy(&index),
24852 )
24853 .into()
24854 }
24855 }
24856 unsafe extern "system" fn InsertValueAtIndex<
24857 Identity: ICoreWebView2ObjectCollection_Impl,
24858 const OFFSET: isize,
24859 >(
24860 this: *mut core::ffi::c_void,
24861 index: u32,
24862 value: *mut core::ffi::c_void,
24863 ) -> windows_core::HRESULT {
24864 unsafe {
24865 let this: &Identity =
24866 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24867 ICoreWebView2ObjectCollection_Impl::InsertValueAtIndex(
24868 this,
24869 core::mem::transmute_copy(&index),
24870 core::mem::transmute_copy(&value),
24871 )
24872 .into()
24873 }
24874 }
24875 Self {
24876 base__: ICoreWebView2ObjectCollectionView_Vtbl::new::<Identity, OFFSET>(),
24877 RemoveValueAtIndex: RemoveValueAtIndex::<Identity, OFFSET>,
24878 InsertValueAtIndex: InsertValueAtIndex::<Identity, OFFSET>,
24879 }
24880 }
24881 pub fn matches(iid: &windows_core::GUID) -> bool {
24882 iid == &<ICoreWebView2ObjectCollection as windows_core::Interface>::IID
24883 || iid == &<ICoreWebView2ObjectCollectionView as windows_core::Interface>::IID
24884 }
24885}
24886impl windows_core::RuntimeName for ICoreWebView2ObjectCollection {}
24887windows_core::imp::define_interface!(
24888 ICoreWebView2ObjectCollectionView,
24889 ICoreWebView2ObjectCollectionView_Vtbl,
24890 0x0f36fd87_4f69_4415_98da_888f89fb9a33
24891);
24892windows_core::imp::interface_hierarchy!(ICoreWebView2ObjectCollectionView, windows_core::IUnknown);
24893impl ICoreWebView2ObjectCollectionView {
24894 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
24895 unsafe {
24896 (windows_core::Interface::vtable(self).Count)(
24897 windows_core::Interface::as_raw(self),
24898 value as _,
24899 )
24900 .ok()
24901 }
24902 }
24903 pub unsafe fn GetValueAtIndex(
24904 &self,
24905 index: u32,
24906 ) -> windows_core::Result<windows_core::IUnknown> {
24907 unsafe {
24908 let mut result__ = core::mem::zeroed();
24909 (windows_core::Interface::vtable(self).GetValueAtIndex)(
24910 windows_core::Interface::as_raw(self),
24911 index,
24912 &mut result__,
24913 )
24914 .and_then(|| windows_core::Type::from_abi(result__))
24915 }
24916 }
24917}
24918#[repr(C)]
24919#[doc(hidden)]
24920pub struct ICoreWebView2ObjectCollectionView_Vtbl {
24921 pub base__: windows_core::IUnknown_Vtbl,
24922 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
24923 pub GetValueAtIndex: unsafe extern "system" fn(
24924 *mut core::ffi::c_void,
24925 u32,
24926 *mut *mut core::ffi::c_void,
24927 ) -> windows_core::HRESULT,
24928}
24929pub trait ICoreWebView2ObjectCollectionView_Impl: windows_core::IUnknownImpl {
24930 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
24931 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<windows_core::IUnknown>;
24932}
24933impl ICoreWebView2ObjectCollectionView_Vtbl {
24934 pub const fn new<Identity: ICoreWebView2ObjectCollectionView_Impl, const OFFSET: isize>() -> Self
24935 {
24936 unsafe extern "system" fn Count<
24937 Identity: ICoreWebView2ObjectCollectionView_Impl,
24938 const OFFSET: isize,
24939 >(
24940 this: *mut core::ffi::c_void,
24941 value: *mut u32,
24942 ) -> windows_core::HRESULT {
24943 unsafe {
24944 let this: &Identity =
24945 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24946 ICoreWebView2ObjectCollectionView_Impl::Count(
24947 this,
24948 core::mem::transmute_copy(&value),
24949 )
24950 .into()
24951 }
24952 }
24953 unsafe extern "system" fn GetValueAtIndex<
24954 Identity: ICoreWebView2ObjectCollectionView_Impl,
24955 const OFFSET: isize,
24956 >(
24957 this: *mut core::ffi::c_void,
24958 index: u32,
24959 value: *mut *mut core::ffi::c_void,
24960 ) -> windows_core::HRESULT {
24961 unsafe {
24962 let this: &Identity =
24963 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24964 match ICoreWebView2ObjectCollectionView_Impl::GetValueAtIndex(
24965 this,
24966 core::mem::transmute_copy(&index),
24967 ) {
24968 Ok(ok__) => {
24969 value.write(core::mem::transmute(ok__));
24970 windows_core::HRESULT(0)
24971 }
24972 Err(err) => err.into(),
24973 }
24974 }
24975 }
24976 Self {
24977 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24978 Count: Count::<Identity, OFFSET>,
24979 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
24980 }
24981 }
24982 pub fn matches(iid: &windows_core::GUID) -> bool {
24983 iid == &<ICoreWebView2ObjectCollectionView as windows_core::Interface>::IID
24984 }
24985}
24986impl windows_core::RuntimeName for ICoreWebView2ObjectCollectionView {}
24987windows_core::imp::define_interface!(
24988 ICoreWebView2PermissionRequestedEventArgs,
24989 ICoreWebView2PermissionRequestedEventArgs_Vtbl,
24990 0x973ae2ef_ff18_4894_8fb2_3c758f046810
24991);
24992windows_core::imp::interface_hierarchy!(
24993 ICoreWebView2PermissionRequestedEventArgs,
24994 windows_core::IUnknown
24995);
24996impl ICoreWebView2PermissionRequestedEventArgs {
24997 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
24998 unsafe {
24999 (windows_core::Interface::vtable(self).Uri)(
25000 windows_core::Interface::as_raw(self),
25001 uri as _,
25002 )
25003 .ok()
25004 }
25005 }
25006 pub unsafe fn PermissionKind(
25007 &self,
25008 permissionkind: *mut COREWEBVIEW2_PERMISSION_KIND,
25009 ) -> windows_core::Result<()> {
25010 unsafe {
25011 (windows_core::Interface::vtable(self).PermissionKind)(
25012 windows_core::Interface::as_raw(self),
25013 permissionkind as _,
25014 )
25015 .ok()
25016 }
25017 }
25018 pub unsafe fn IsUserInitiated(
25019 &self,
25020 isuserinitiated: *mut windows_core::BOOL,
25021 ) -> windows_core::Result<()> {
25022 unsafe {
25023 (windows_core::Interface::vtable(self).IsUserInitiated)(
25024 windows_core::Interface::as_raw(self),
25025 isuserinitiated as _,
25026 )
25027 .ok()
25028 }
25029 }
25030 pub unsafe fn State(
25031 &self,
25032 state: *mut COREWEBVIEW2_PERMISSION_STATE,
25033 ) -> windows_core::Result<()> {
25034 unsafe {
25035 (windows_core::Interface::vtable(self).State)(
25036 windows_core::Interface::as_raw(self),
25037 state as _,
25038 )
25039 .ok()
25040 }
25041 }
25042 pub unsafe fn SetState(
25043 &self,
25044 state: COREWEBVIEW2_PERMISSION_STATE,
25045 ) -> windows_core::Result<()> {
25046 unsafe {
25047 (windows_core::Interface::vtable(self).SetState)(
25048 windows_core::Interface::as_raw(self),
25049 state,
25050 )
25051 .ok()
25052 }
25053 }
25054 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
25055 unsafe {
25056 let mut result__ = core::mem::zeroed();
25057 (windows_core::Interface::vtable(self).GetDeferral)(
25058 windows_core::Interface::as_raw(self),
25059 &mut result__,
25060 )
25061 .and_then(|| windows_core::Type::from_abi(result__))
25062 }
25063 }
25064}
25065#[repr(C)]
25066#[doc(hidden)]
25067pub struct ICoreWebView2PermissionRequestedEventArgs_Vtbl {
25068 pub base__: windows_core::IUnknown_Vtbl,
25069 pub Uri: unsafe extern "system" fn(
25070 *mut core::ffi::c_void,
25071 *mut windows_core::PWSTR,
25072 ) -> windows_core::HRESULT,
25073 pub PermissionKind: unsafe extern "system" fn(
25074 *mut core::ffi::c_void,
25075 *mut COREWEBVIEW2_PERMISSION_KIND,
25076 ) -> windows_core::HRESULT,
25077 pub IsUserInitiated: unsafe extern "system" fn(
25078 *mut core::ffi::c_void,
25079 *mut windows_core::BOOL,
25080 ) -> windows_core::HRESULT,
25081 pub State: unsafe extern "system" fn(
25082 *mut core::ffi::c_void,
25083 *mut COREWEBVIEW2_PERMISSION_STATE,
25084 ) -> windows_core::HRESULT,
25085 pub SetState: unsafe extern "system" fn(
25086 *mut core::ffi::c_void,
25087 COREWEBVIEW2_PERMISSION_STATE,
25088 ) -> windows_core::HRESULT,
25089 pub GetDeferral: unsafe extern "system" fn(
25090 *mut core::ffi::c_void,
25091 *mut *mut core::ffi::c_void,
25092 ) -> windows_core::HRESULT,
25093}
25094pub trait ICoreWebView2PermissionRequestedEventArgs_Impl: windows_core::IUnknownImpl {
25095 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
25096 fn PermissionKind(
25097 &self,
25098 permissionkind: *mut COREWEBVIEW2_PERMISSION_KIND,
25099 ) -> windows_core::Result<()>;
25100 fn IsUserInitiated(&self, isuserinitiated: *mut windows_core::BOOL)
25101 -> windows_core::Result<()>;
25102 fn State(&self, state: *mut COREWEBVIEW2_PERMISSION_STATE) -> windows_core::Result<()>;
25103 fn SetState(&self, state: COREWEBVIEW2_PERMISSION_STATE) -> windows_core::Result<()>;
25104 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
25105}
25106impl ICoreWebView2PermissionRequestedEventArgs_Vtbl {
25107 pub const fn new<
25108 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
25109 const OFFSET: isize,
25110 >() -> Self {
25111 unsafe extern "system" fn Uri<
25112 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
25113 const OFFSET: isize,
25114 >(
25115 this: *mut core::ffi::c_void,
25116 uri: *mut windows_core::PWSTR,
25117 ) -> windows_core::HRESULT {
25118 unsafe {
25119 let this: &Identity =
25120 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25121 ICoreWebView2PermissionRequestedEventArgs_Impl::Uri(
25122 this,
25123 core::mem::transmute_copy(&uri),
25124 )
25125 .into()
25126 }
25127 }
25128 unsafe extern "system" fn PermissionKind<
25129 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
25130 const OFFSET: isize,
25131 >(
25132 this: *mut core::ffi::c_void,
25133 permissionkind: *mut COREWEBVIEW2_PERMISSION_KIND,
25134 ) -> windows_core::HRESULT {
25135 unsafe {
25136 let this: &Identity =
25137 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25138 ICoreWebView2PermissionRequestedEventArgs_Impl::PermissionKind(
25139 this,
25140 core::mem::transmute_copy(&permissionkind),
25141 )
25142 .into()
25143 }
25144 }
25145 unsafe extern "system" fn IsUserInitiated<
25146 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
25147 const OFFSET: isize,
25148 >(
25149 this: *mut core::ffi::c_void,
25150 isuserinitiated: *mut windows_core::BOOL,
25151 ) -> windows_core::HRESULT {
25152 unsafe {
25153 let this: &Identity =
25154 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25155 ICoreWebView2PermissionRequestedEventArgs_Impl::IsUserInitiated(
25156 this,
25157 core::mem::transmute_copy(&isuserinitiated),
25158 )
25159 .into()
25160 }
25161 }
25162 unsafe extern "system" fn State<
25163 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
25164 const OFFSET: isize,
25165 >(
25166 this: *mut core::ffi::c_void,
25167 state: *mut COREWEBVIEW2_PERMISSION_STATE,
25168 ) -> windows_core::HRESULT {
25169 unsafe {
25170 let this: &Identity =
25171 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25172 ICoreWebView2PermissionRequestedEventArgs_Impl::State(
25173 this,
25174 core::mem::transmute_copy(&state),
25175 )
25176 .into()
25177 }
25178 }
25179 unsafe extern "system" fn SetState<
25180 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
25181 const OFFSET: isize,
25182 >(
25183 this: *mut core::ffi::c_void,
25184 state: COREWEBVIEW2_PERMISSION_STATE,
25185 ) -> windows_core::HRESULT {
25186 unsafe {
25187 let this: &Identity =
25188 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25189 ICoreWebView2PermissionRequestedEventArgs_Impl::SetState(
25190 this,
25191 core::mem::transmute_copy(&state),
25192 )
25193 .into()
25194 }
25195 }
25196 unsafe extern "system" fn GetDeferral<
25197 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
25198 const OFFSET: isize,
25199 >(
25200 this: *mut core::ffi::c_void,
25201 deferral: *mut *mut core::ffi::c_void,
25202 ) -> windows_core::HRESULT {
25203 unsafe {
25204 let this: &Identity =
25205 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25206 match ICoreWebView2PermissionRequestedEventArgs_Impl::GetDeferral(this) {
25207 Ok(ok__) => {
25208 deferral.write(core::mem::transmute(ok__));
25209 windows_core::HRESULT(0)
25210 }
25211 Err(err) => err.into(),
25212 }
25213 }
25214 }
25215 Self {
25216 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
25217 Uri: Uri::<Identity, OFFSET>,
25218 PermissionKind: PermissionKind::<Identity, OFFSET>,
25219 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
25220 State: State::<Identity, OFFSET>,
25221 SetState: SetState::<Identity, OFFSET>,
25222 GetDeferral: GetDeferral::<Identity, OFFSET>,
25223 }
25224 }
25225 pub fn matches(iid: &windows_core::GUID) -> bool {
25226 iid == &<ICoreWebView2PermissionRequestedEventArgs as windows_core::Interface>::IID
25227 }
25228}
25229impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventArgs {}
25230windows_core::imp::define_interface!(
25231 ICoreWebView2PermissionRequestedEventArgs2,
25232 ICoreWebView2PermissionRequestedEventArgs2_Vtbl,
25233 0x74d7127f_9de6_4200_8734_42d6fb4ff741
25234);
25235impl core::ops::Deref for ICoreWebView2PermissionRequestedEventArgs2 {
25236 type Target = ICoreWebView2PermissionRequestedEventArgs;
25237 fn deref(&self) -> &Self::Target {
25238 unsafe { core::mem::transmute(self) }
25239 }
25240}
25241windows_core::imp::interface_hierarchy!(
25242 ICoreWebView2PermissionRequestedEventArgs2,
25243 windows_core::IUnknown,
25244 ICoreWebView2PermissionRequestedEventArgs
25245);
25246impl ICoreWebView2PermissionRequestedEventArgs2 {
25247 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
25248 unsafe {
25249 (windows_core::Interface::vtable(self).Handled)(
25250 windows_core::Interface::as_raw(self),
25251 value as _,
25252 )
25253 .ok()
25254 }
25255 }
25256 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
25257 unsafe {
25258 (windows_core::Interface::vtable(self).SetHandled)(
25259 windows_core::Interface::as_raw(self),
25260 value.into(),
25261 )
25262 .ok()
25263 }
25264 }
25265}
25266#[repr(C)]
25267#[doc(hidden)]
25268pub struct ICoreWebView2PermissionRequestedEventArgs2_Vtbl {
25269 pub base__: ICoreWebView2PermissionRequestedEventArgs_Vtbl,
25270 pub Handled: unsafe extern "system" fn(
25271 *mut core::ffi::c_void,
25272 *mut windows_core::BOOL,
25273 ) -> windows_core::HRESULT,
25274 pub SetHandled: unsafe extern "system" fn(
25275 *mut core::ffi::c_void,
25276 windows_core::BOOL,
25277 ) -> windows_core::HRESULT,
25278}
25279pub trait ICoreWebView2PermissionRequestedEventArgs2_Impl:
25280 ICoreWebView2PermissionRequestedEventArgs_Impl
25281{
25282 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
25283 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
25284}
25285impl ICoreWebView2PermissionRequestedEventArgs2_Vtbl {
25286 pub const fn new<
25287 Identity: ICoreWebView2PermissionRequestedEventArgs2_Impl,
25288 const OFFSET: isize,
25289 >() -> Self {
25290 unsafe extern "system" fn Handled<
25291 Identity: ICoreWebView2PermissionRequestedEventArgs2_Impl,
25292 const OFFSET: isize,
25293 >(
25294 this: *mut core::ffi::c_void,
25295 value: *mut windows_core::BOOL,
25296 ) -> windows_core::HRESULT {
25297 unsafe {
25298 let this: &Identity =
25299 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25300 ICoreWebView2PermissionRequestedEventArgs2_Impl::Handled(
25301 this,
25302 core::mem::transmute_copy(&value),
25303 )
25304 .into()
25305 }
25306 }
25307 unsafe extern "system" fn SetHandled<
25308 Identity: ICoreWebView2PermissionRequestedEventArgs2_Impl,
25309 const OFFSET: isize,
25310 >(
25311 this: *mut core::ffi::c_void,
25312 value: windows_core::BOOL,
25313 ) -> windows_core::HRESULT {
25314 unsafe {
25315 let this: &Identity =
25316 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25317 ICoreWebView2PermissionRequestedEventArgs2_Impl::SetHandled(
25318 this,
25319 core::mem::transmute_copy(&value),
25320 )
25321 .into()
25322 }
25323 }
25324 Self {
25325 base__: ICoreWebView2PermissionRequestedEventArgs_Vtbl::new::<Identity, OFFSET>(),
25326 Handled: Handled::<Identity, OFFSET>,
25327 SetHandled: SetHandled::<Identity, OFFSET>,
25328 }
25329 }
25330 pub fn matches(iid: &windows_core::GUID) -> bool {
25331 iid == &<ICoreWebView2PermissionRequestedEventArgs2 as windows_core::Interface>::IID
25332 || iid == &<ICoreWebView2PermissionRequestedEventArgs as windows_core::Interface>::IID
25333 }
25334}
25335impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventArgs2 {}
25336windows_core::imp::define_interface!(
25337 ICoreWebView2PermissionRequestedEventArgs3,
25338 ICoreWebView2PermissionRequestedEventArgs3_Vtbl,
25339 0xe61670bc_3dce_4177_86d2_c629ae3cb6ac
25340);
25341impl core::ops::Deref for ICoreWebView2PermissionRequestedEventArgs3 {
25342 type Target = ICoreWebView2PermissionRequestedEventArgs2;
25343 fn deref(&self) -> &Self::Target {
25344 unsafe { core::mem::transmute(self) }
25345 }
25346}
25347windows_core::imp::interface_hierarchy!(
25348 ICoreWebView2PermissionRequestedEventArgs3,
25349 windows_core::IUnknown,
25350 ICoreWebView2PermissionRequestedEventArgs,
25351 ICoreWebView2PermissionRequestedEventArgs2
25352);
25353impl ICoreWebView2PermissionRequestedEventArgs3 {
25354 pub unsafe fn SavesInProfile(
25355 &self,
25356 value: *mut windows_core::BOOL,
25357 ) -> windows_core::Result<()> {
25358 unsafe {
25359 (windows_core::Interface::vtable(self).SavesInProfile)(
25360 windows_core::Interface::as_raw(self),
25361 value as _,
25362 )
25363 .ok()
25364 }
25365 }
25366 pub unsafe fn SetSavesInProfile(&self, value: bool) -> windows_core::Result<()> {
25367 unsafe {
25368 (windows_core::Interface::vtable(self).SetSavesInProfile)(
25369 windows_core::Interface::as_raw(self),
25370 value.into(),
25371 )
25372 .ok()
25373 }
25374 }
25375}
25376#[repr(C)]
25377#[doc(hidden)]
25378pub struct ICoreWebView2PermissionRequestedEventArgs3_Vtbl {
25379 pub base__: ICoreWebView2PermissionRequestedEventArgs2_Vtbl,
25380 pub SavesInProfile: unsafe extern "system" fn(
25381 *mut core::ffi::c_void,
25382 *mut windows_core::BOOL,
25383 ) -> windows_core::HRESULT,
25384 pub SetSavesInProfile: unsafe extern "system" fn(
25385 *mut core::ffi::c_void,
25386 windows_core::BOOL,
25387 ) -> windows_core::HRESULT,
25388}
25389pub trait ICoreWebView2PermissionRequestedEventArgs3_Impl:
25390 ICoreWebView2PermissionRequestedEventArgs2_Impl
25391{
25392 fn SavesInProfile(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
25393 fn SetSavesInProfile(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
25394}
25395impl ICoreWebView2PermissionRequestedEventArgs3_Vtbl {
25396 pub const fn new<
25397 Identity: ICoreWebView2PermissionRequestedEventArgs3_Impl,
25398 const OFFSET: isize,
25399 >() -> Self {
25400 unsafe extern "system" fn SavesInProfile<
25401 Identity: ICoreWebView2PermissionRequestedEventArgs3_Impl,
25402 const OFFSET: isize,
25403 >(
25404 this: *mut core::ffi::c_void,
25405 value: *mut windows_core::BOOL,
25406 ) -> windows_core::HRESULT {
25407 unsafe {
25408 let this: &Identity =
25409 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25410 ICoreWebView2PermissionRequestedEventArgs3_Impl::SavesInProfile(
25411 this,
25412 core::mem::transmute_copy(&value),
25413 )
25414 .into()
25415 }
25416 }
25417 unsafe extern "system" fn SetSavesInProfile<
25418 Identity: ICoreWebView2PermissionRequestedEventArgs3_Impl,
25419 const OFFSET: isize,
25420 >(
25421 this: *mut core::ffi::c_void,
25422 value: windows_core::BOOL,
25423 ) -> windows_core::HRESULT {
25424 unsafe {
25425 let this: &Identity =
25426 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25427 ICoreWebView2PermissionRequestedEventArgs3_Impl::SetSavesInProfile(
25428 this,
25429 core::mem::transmute_copy(&value),
25430 )
25431 .into()
25432 }
25433 }
25434 Self {
25435 base__: ICoreWebView2PermissionRequestedEventArgs2_Vtbl::new::<Identity, OFFSET>(),
25436 SavesInProfile: SavesInProfile::<Identity, OFFSET>,
25437 SetSavesInProfile: SetSavesInProfile::<Identity, OFFSET>,
25438 }
25439 }
25440 pub fn matches(iid: &windows_core::GUID) -> bool {
25441 iid == &<ICoreWebView2PermissionRequestedEventArgs3 as windows_core::Interface>::IID
25442 || iid == &<ICoreWebView2PermissionRequestedEventArgs as windows_core::Interface>::IID
25443 || iid == &<ICoreWebView2PermissionRequestedEventArgs2 as windows_core::Interface>::IID
25444 }
25445}
25446impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventArgs3 {}
25447windows_core::imp::define_interface!(
25448 ICoreWebView2PermissionRequestedEventHandler,
25449 ICoreWebView2PermissionRequestedEventHandler_Vtbl,
25450 0x15e1c6a3_c72a_4df3_91d7_d097fbec6bfd
25451);
25452windows_core::imp::interface_hierarchy!(
25453 ICoreWebView2PermissionRequestedEventHandler,
25454 windows_core::IUnknown
25455);
25456impl ICoreWebView2PermissionRequestedEventHandler {
25457 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
25458 where
25459 P0: windows_core::Param<ICoreWebView2>,
25460 P1: windows_core::Param<ICoreWebView2PermissionRequestedEventArgs>,
25461 {
25462 unsafe {
25463 (windows_core::Interface::vtable(self).Invoke)(
25464 windows_core::Interface::as_raw(self),
25465 sender.param().abi(),
25466 args.param().abi(),
25467 )
25468 .ok()
25469 }
25470 }
25471}
25472#[repr(C)]
25473#[doc(hidden)]
25474pub struct ICoreWebView2PermissionRequestedEventHandler_Vtbl {
25475 pub base__: windows_core::IUnknown_Vtbl,
25476 pub Invoke: unsafe extern "system" fn(
25477 *mut core::ffi::c_void,
25478 *mut core::ffi::c_void,
25479 *mut core::ffi::c_void,
25480 ) -> windows_core::HRESULT,
25481}
25482pub trait ICoreWebView2PermissionRequestedEventHandler_Impl: windows_core::IUnknownImpl {
25483 fn Invoke(
25484 &self,
25485 sender: windows_core::Ref<'_, ICoreWebView2>,
25486 args: windows_core::Ref<'_, ICoreWebView2PermissionRequestedEventArgs>,
25487 ) -> windows_core::Result<()>;
25488}
25489impl ICoreWebView2PermissionRequestedEventHandler_Vtbl {
25490 pub const fn new<
25491 Identity: ICoreWebView2PermissionRequestedEventHandler_Impl,
25492 const OFFSET: isize,
25493 >() -> Self {
25494 unsafe extern "system" fn Invoke<
25495 Identity: ICoreWebView2PermissionRequestedEventHandler_Impl,
25496 const OFFSET: isize,
25497 >(
25498 this: *mut core::ffi::c_void,
25499 sender: *mut core::ffi::c_void,
25500 args: *mut core::ffi::c_void,
25501 ) -> windows_core::HRESULT {
25502 unsafe {
25503 let this: &Identity =
25504 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25505 ICoreWebView2PermissionRequestedEventHandler_Impl::Invoke(
25506 this,
25507 core::mem::transmute_copy(&sender),
25508 core::mem::transmute_copy(&args),
25509 )
25510 .into()
25511 }
25512 }
25513 Self {
25514 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
25515 Invoke: Invoke::<Identity, OFFSET>,
25516 }
25517 }
25518 pub fn matches(iid: &windows_core::GUID) -> bool {
25519 iid == &<ICoreWebView2PermissionRequestedEventHandler as windows_core::Interface>::IID
25520 }
25521}
25522impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventHandler {}
25523windows_core::imp::define_interface!(
25524 ICoreWebView2PermissionSetting,
25525 ICoreWebView2PermissionSetting_Vtbl,
25526 0x792b6eca_5576_421c_9119_74ebb3a4ffb3
25527);
25528windows_core::imp::interface_hierarchy!(ICoreWebView2PermissionSetting, windows_core::IUnknown);
25529impl ICoreWebView2PermissionSetting {
25530 pub unsafe fn PermissionKind(
25531 &self,
25532 value: *mut COREWEBVIEW2_PERMISSION_KIND,
25533 ) -> windows_core::Result<()> {
25534 unsafe {
25535 (windows_core::Interface::vtable(self).PermissionKind)(
25536 windows_core::Interface::as_raw(self),
25537 value as _,
25538 )
25539 .ok()
25540 }
25541 }
25542 pub unsafe fn PermissionOrigin(
25543 &self,
25544 value: *mut windows_core::PWSTR,
25545 ) -> windows_core::Result<()> {
25546 unsafe {
25547 (windows_core::Interface::vtable(self).PermissionOrigin)(
25548 windows_core::Interface::as_raw(self),
25549 value as _,
25550 )
25551 .ok()
25552 }
25553 }
25554 pub unsafe fn PermissionState(
25555 &self,
25556 value: *mut COREWEBVIEW2_PERMISSION_STATE,
25557 ) -> windows_core::Result<()> {
25558 unsafe {
25559 (windows_core::Interface::vtable(self).PermissionState)(
25560 windows_core::Interface::as_raw(self),
25561 value as _,
25562 )
25563 .ok()
25564 }
25565 }
25566}
25567#[repr(C)]
25568#[doc(hidden)]
25569pub struct ICoreWebView2PermissionSetting_Vtbl {
25570 pub base__: windows_core::IUnknown_Vtbl,
25571 pub PermissionKind: unsafe extern "system" fn(
25572 *mut core::ffi::c_void,
25573 *mut COREWEBVIEW2_PERMISSION_KIND,
25574 ) -> windows_core::HRESULT,
25575 pub PermissionOrigin: unsafe extern "system" fn(
25576 *mut core::ffi::c_void,
25577 *mut windows_core::PWSTR,
25578 ) -> windows_core::HRESULT,
25579 pub PermissionState: unsafe extern "system" fn(
25580 *mut core::ffi::c_void,
25581 *mut COREWEBVIEW2_PERMISSION_STATE,
25582 ) -> windows_core::HRESULT,
25583}
25584pub trait ICoreWebView2PermissionSetting_Impl: windows_core::IUnknownImpl {
25585 fn PermissionKind(&self, value: *mut COREWEBVIEW2_PERMISSION_KIND) -> windows_core::Result<()>;
25586 fn PermissionOrigin(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
25587 fn PermissionState(
25588 &self,
25589 value: *mut COREWEBVIEW2_PERMISSION_STATE,
25590 ) -> windows_core::Result<()>;
25591}
25592impl ICoreWebView2PermissionSetting_Vtbl {
25593 pub const fn new<Identity: ICoreWebView2PermissionSetting_Impl, const OFFSET: isize>() -> Self {
25594 unsafe extern "system" fn PermissionKind<
25595 Identity: ICoreWebView2PermissionSetting_Impl,
25596 const OFFSET: isize,
25597 >(
25598 this: *mut core::ffi::c_void,
25599 value: *mut COREWEBVIEW2_PERMISSION_KIND,
25600 ) -> windows_core::HRESULT {
25601 unsafe {
25602 let this: &Identity =
25603 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25604 ICoreWebView2PermissionSetting_Impl::PermissionKind(
25605 this,
25606 core::mem::transmute_copy(&value),
25607 )
25608 .into()
25609 }
25610 }
25611 unsafe extern "system" fn PermissionOrigin<
25612 Identity: ICoreWebView2PermissionSetting_Impl,
25613 const OFFSET: isize,
25614 >(
25615 this: *mut core::ffi::c_void,
25616 value: *mut windows_core::PWSTR,
25617 ) -> windows_core::HRESULT {
25618 unsafe {
25619 let this: &Identity =
25620 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25621 ICoreWebView2PermissionSetting_Impl::PermissionOrigin(
25622 this,
25623 core::mem::transmute_copy(&value),
25624 )
25625 .into()
25626 }
25627 }
25628 unsafe extern "system" fn PermissionState<
25629 Identity: ICoreWebView2PermissionSetting_Impl,
25630 const OFFSET: isize,
25631 >(
25632 this: *mut core::ffi::c_void,
25633 value: *mut COREWEBVIEW2_PERMISSION_STATE,
25634 ) -> windows_core::HRESULT {
25635 unsafe {
25636 let this: &Identity =
25637 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25638 ICoreWebView2PermissionSetting_Impl::PermissionState(
25639 this,
25640 core::mem::transmute_copy(&value),
25641 )
25642 .into()
25643 }
25644 }
25645 Self {
25646 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
25647 PermissionKind: PermissionKind::<Identity, OFFSET>,
25648 PermissionOrigin: PermissionOrigin::<Identity, OFFSET>,
25649 PermissionState: PermissionState::<Identity, OFFSET>,
25650 }
25651 }
25652 pub fn matches(iid: &windows_core::GUID) -> bool {
25653 iid == &<ICoreWebView2PermissionSetting as windows_core::Interface>::IID
25654 }
25655}
25656impl windows_core::RuntimeName for ICoreWebView2PermissionSetting {}
25657windows_core::imp::define_interface!(
25658 ICoreWebView2PermissionSettingCollectionView,
25659 ICoreWebView2PermissionSettingCollectionView_Vtbl,
25660 0xf5596f62_3de5_47b1_91e8_a4104b596b96
25661);
25662windows_core::imp::interface_hierarchy!(
25663 ICoreWebView2PermissionSettingCollectionView,
25664 windows_core::IUnknown
25665);
25666impl ICoreWebView2PermissionSettingCollectionView {
25667 pub unsafe fn GetValueAtIndex(
25668 &self,
25669 index: u32,
25670 ) -> windows_core::Result<ICoreWebView2PermissionSetting> {
25671 unsafe {
25672 let mut result__ = core::mem::zeroed();
25673 (windows_core::Interface::vtable(self).GetValueAtIndex)(
25674 windows_core::Interface::as_raw(self),
25675 index,
25676 &mut result__,
25677 )
25678 .and_then(|| windows_core::Type::from_abi(result__))
25679 }
25680 }
25681 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
25682 unsafe {
25683 (windows_core::Interface::vtable(self).Count)(
25684 windows_core::Interface::as_raw(self),
25685 value as _,
25686 )
25687 .ok()
25688 }
25689 }
25690}
25691#[repr(C)]
25692#[doc(hidden)]
25693pub struct ICoreWebView2PermissionSettingCollectionView_Vtbl {
25694 pub base__: windows_core::IUnknown_Vtbl,
25695 pub GetValueAtIndex: unsafe extern "system" fn(
25696 *mut core::ffi::c_void,
25697 u32,
25698 *mut *mut core::ffi::c_void,
25699 ) -> windows_core::HRESULT,
25700 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
25701}
25702pub trait ICoreWebView2PermissionSettingCollectionView_Impl: windows_core::IUnknownImpl {
25703 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2PermissionSetting>;
25704 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
25705}
25706impl ICoreWebView2PermissionSettingCollectionView_Vtbl {
25707 pub const fn new<
25708 Identity: ICoreWebView2PermissionSettingCollectionView_Impl,
25709 const OFFSET: isize,
25710 >() -> Self {
25711 unsafe extern "system" fn GetValueAtIndex<
25712 Identity: ICoreWebView2PermissionSettingCollectionView_Impl,
25713 const OFFSET: isize,
25714 >(
25715 this: *mut core::ffi::c_void,
25716 index: u32,
25717 permissionsetting: *mut *mut core::ffi::c_void,
25718 ) -> windows_core::HRESULT {
25719 unsafe {
25720 let this: &Identity =
25721 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25722 match ICoreWebView2PermissionSettingCollectionView_Impl::GetValueAtIndex(
25723 this,
25724 core::mem::transmute_copy(&index),
25725 ) {
25726 Ok(ok__) => {
25727 permissionsetting.write(core::mem::transmute(ok__));
25728 windows_core::HRESULT(0)
25729 }
25730 Err(err) => err.into(),
25731 }
25732 }
25733 }
25734 unsafe extern "system" fn Count<
25735 Identity: ICoreWebView2PermissionSettingCollectionView_Impl,
25736 const OFFSET: isize,
25737 >(
25738 this: *mut core::ffi::c_void,
25739 value: *mut u32,
25740 ) -> windows_core::HRESULT {
25741 unsafe {
25742 let this: &Identity =
25743 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25744 ICoreWebView2PermissionSettingCollectionView_Impl::Count(
25745 this,
25746 core::mem::transmute_copy(&value),
25747 )
25748 .into()
25749 }
25750 }
25751 Self {
25752 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
25753 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
25754 Count: Count::<Identity, OFFSET>,
25755 }
25756 }
25757 pub fn matches(iid: &windows_core::GUID) -> bool {
25758 iid == &<ICoreWebView2PermissionSettingCollectionView as windows_core::Interface>::IID
25759 }
25760}
25761impl windows_core::RuntimeName for ICoreWebView2PermissionSettingCollectionView {}
25762windows_core::imp::define_interface!(
25763 ICoreWebView2PointerInfo,
25764 ICoreWebView2PointerInfo_Vtbl,
25765 0xe6995887_d10d_4f5d_9359_4ce46e4f96b9
25766);
25767windows_core::imp::interface_hierarchy!(ICoreWebView2PointerInfo, windows_core::IUnknown);
25768impl ICoreWebView2PointerInfo {
25769 pub unsafe fn PointerKind(&self, pointerkind: *mut u32) -> windows_core::Result<()> {
25770 unsafe {
25771 (windows_core::Interface::vtable(self).PointerKind)(
25772 windows_core::Interface::as_raw(self),
25773 pointerkind as _,
25774 )
25775 .ok()
25776 }
25777 }
25778 pub unsafe fn SetPointerKind(&self, pointerkind: u32) -> windows_core::Result<()> {
25779 unsafe {
25780 (windows_core::Interface::vtable(self).SetPointerKind)(
25781 windows_core::Interface::as_raw(self),
25782 pointerkind,
25783 )
25784 .ok()
25785 }
25786 }
25787 pub unsafe fn PointerId(&self, pointerid: *mut u32) -> windows_core::Result<()> {
25788 unsafe {
25789 (windows_core::Interface::vtable(self).PointerId)(
25790 windows_core::Interface::as_raw(self),
25791 pointerid as _,
25792 )
25793 .ok()
25794 }
25795 }
25796 pub unsafe fn SetPointerId(&self, pointerid: u32) -> windows_core::Result<()> {
25797 unsafe {
25798 (windows_core::Interface::vtable(self).SetPointerId)(
25799 windows_core::Interface::as_raw(self),
25800 pointerid,
25801 )
25802 .ok()
25803 }
25804 }
25805 pub unsafe fn FrameId(&self, frameid: *mut u32) -> windows_core::Result<()> {
25806 unsafe {
25807 (windows_core::Interface::vtable(self).FrameId)(
25808 windows_core::Interface::as_raw(self),
25809 frameid as _,
25810 )
25811 .ok()
25812 }
25813 }
25814 pub unsafe fn SetFrameId(&self, frameid: u32) -> windows_core::Result<()> {
25815 unsafe {
25816 (windows_core::Interface::vtable(self).SetFrameId)(
25817 windows_core::Interface::as_raw(self),
25818 frameid,
25819 )
25820 .ok()
25821 }
25822 }
25823 pub unsafe fn PointerFlags(&self, pointerflags: *mut u32) -> windows_core::Result<()> {
25824 unsafe {
25825 (windows_core::Interface::vtable(self).PointerFlags)(
25826 windows_core::Interface::as_raw(self),
25827 pointerflags as _,
25828 )
25829 .ok()
25830 }
25831 }
25832 pub unsafe fn SetPointerFlags(&self, pointerflags: u32) -> windows_core::Result<()> {
25833 unsafe {
25834 (windows_core::Interface::vtable(self).SetPointerFlags)(
25835 windows_core::Interface::as_raw(self),
25836 pointerflags,
25837 )
25838 .ok()
25839 }
25840 }
25841 pub unsafe fn PointerDeviceRect(
25842 &self,
25843 pointerdevicerect: *mut windows::Win32::Foundation::RECT,
25844 ) -> windows_core::Result<()> {
25845 unsafe {
25846 (windows_core::Interface::vtable(self).PointerDeviceRect)(
25847 windows_core::Interface::as_raw(self),
25848 pointerdevicerect as _,
25849 )
25850 .ok()
25851 }
25852 }
25853 pub unsafe fn SetPointerDeviceRect(
25854 &self,
25855 pointerdevicerect: windows::Win32::Foundation::RECT,
25856 ) -> windows_core::Result<()> {
25857 unsafe {
25858 (windows_core::Interface::vtable(self).SetPointerDeviceRect)(
25859 windows_core::Interface::as_raw(self),
25860 core::mem::transmute(pointerdevicerect),
25861 )
25862 .ok()
25863 }
25864 }
25865 pub unsafe fn DisplayRect(
25866 &self,
25867 displayrect: *mut windows::Win32::Foundation::RECT,
25868 ) -> windows_core::Result<()> {
25869 unsafe {
25870 (windows_core::Interface::vtable(self).DisplayRect)(
25871 windows_core::Interface::as_raw(self),
25872 displayrect as _,
25873 )
25874 .ok()
25875 }
25876 }
25877 pub unsafe fn SetDisplayRect(
25878 &self,
25879 displayrect: windows::Win32::Foundation::RECT,
25880 ) -> windows_core::Result<()> {
25881 unsafe {
25882 (windows_core::Interface::vtable(self).SetDisplayRect)(
25883 windows_core::Interface::as_raw(self),
25884 core::mem::transmute(displayrect),
25885 )
25886 .ok()
25887 }
25888 }
25889 pub unsafe fn PixelLocation(
25890 &self,
25891 pixellocation: *mut windows::Win32::Foundation::POINT,
25892 ) -> windows_core::Result<()> {
25893 unsafe {
25894 (windows_core::Interface::vtable(self).PixelLocation)(
25895 windows_core::Interface::as_raw(self),
25896 pixellocation as _,
25897 )
25898 .ok()
25899 }
25900 }
25901 pub unsafe fn SetPixelLocation(
25902 &self,
25903 pixellocation: windows::Win32::Foundation::POINT,
25904 ) -> windows_core::Result<()> {
25905 unsafe {
25906 (windows_core::Interface::vtable(self).SetPixelLocation)(
25907 windows_core::Interface::as_raw(self),
25908 core::mem::transmute(pixellocation),
25909 )
25910 .ok()
25911 }
25912 }
25913 pub unsafe fn HimetricLocation(
25914 &self,
25915 himetriclocation: *mut windows::Win32::Foundation::POINT,
25916 ) -> windows_core::Result<()> {
25917 unsafe {
25918 (windows_core::Interface::vtable(self).HimetricLocation)(
25919 windows_core::Interface::as_raw(self),
25920 himetriclocation as _,
25921 )
25922 .ok()
25923 }
25924 }
25925 pub unsafe fn SetHimetricLocation(
25926 &self,
25927 himetriclocation: windows::Win32::Foundation::POINT,
25928 ) -> windows_core::Result<()> {
25929 unsafe {
25930 (windows_core::Interface::vtable(self).SetHimetricLocation)(
25931 windows_core::Interface::as_raw(self),
25932 core::mem::transmute(himetriclocation),
25933 )
25934 .ok()
25935 }
25936 }
25937 pub unsafe fn PixelLocationRaw(
25938 &self,
25939 pixellocationraw: *mut windows::Win32::Foundation::POINT,
25940 ) -> windows_core::Result<()> {
25941 unsafe {
25942 (windows_core::Interface::vtable(self).PixelLocationRaw)(
25943 windows_core::Interface::as_raw(self),
25944 pixellocationraw as _,
25945 )
25946 .ok()
25947 }
25948 }
25949 pub unsafe fn SetPixelLocationRaw(
25950 &self,
25951 pixellocationraw: windows::Win32::Foundation::POINT,
25952 ) -> windows_core::Result<()> {
25953 unsafe {
25954 (windows_core::Interface::vtable(self).SetPixelLocationRaw)(
25955 windows_core::Interface::as_raw(self),
25956 core::mem::transmute(pixellocationraw),
25957 )
25958 .ok()
25959 }
25960 }
25961 pub unsafe fn HimetricLocationRaw(
25962 &self,
25963 himetriclocationraw: *mut windows::Win32::Foundation::POINT,
25964 ) -> windows_core::Result<()> {
25965 unsafe {
25966 (windows_core::Interface::vtable(self).HimetricLocationRaw)(
25967 windows_core::Interface::as_raw(self),
25968 himetriclocationraw as _,
25969 )
25970 .ok()
25971 }
25972 }
25973 pub unsafe fn SetHimetricLocationRaw(
25974 &self,
25975 himetriclocationraw: windows::Win32::Foundation::POINT,
25976 ) -> windows_core::Result<()> {
25977 unsafe {
25978 (windows_core::Interface::vtable(self).SetHimetricLocationRaw)(
25979 windows_core::Interface::as_raw(self),
25980 core::mem::transmute(himetriclocationraw),
25981 )
25982 .ok()
25983 }
25984 }
25985 pub unsafe fn Time(&self, time: *mut u32) -> windows_core::Result<()> {
25986 unsafe {
25987 (windows_core::Interface::vtable(self).Time)(
25988 windows_core::Interface::as_raw(self),
25989 time as _,
25990 )
25991 .ok()
25992 }
25993 }
25994 pub unsafe fn SetTime(&self, time: u32) -> windows_core::Result<()> {
25995 unsafe {
25996 (windows_core::Interface::vtable(self).SetTime)(
25997 windows_core::Interface::as_raw(self),
25998 time,
25999 )
26000 .ok()
26001 }
26002 }
26003 pub unsafe fn HistoryCount(&self, historycount: *mut u32) -> windows_core::Result<()> {
26004 unsafe {
26005 (windows_core::Interface::vtable(self).HistoryCount)(
26006 windows_core::Interface::as_raw(self),
26007 historycount as _,
26008 )
26009 .ok()
26010 }
26011 }
26012 pub unsafe fn SetHistoryCount(&self, historycount: u32) -> windows_core::Result<()> {
26013 unsafe {
26014 (windows_core::Interface::vtable(self).SetHistoryCount)(
26015 windows_core::Interface::as_raw(self),
26016 historycount,
26017 )
26018 .ok()
26019 }
26020 }
26021 pub unsafe fn InputData(&self, inputdata: *mut i32) -> windows_core::Result<()> {
26022 unsafe {
26023 (windows_core::Interface::vtable(self).InputData)(
26024 windows_core::Interface::as_raw(self),
26025 inputdata as _,
26026 )
26027 .ok()
26028 }
26029 }
26030 pub unsafe fn SetInputData(&self, inputdata: i32) -> windows_core::Result<()> {
26031 unsafe {
26032 (windows_core::Interface::vtable(self).SetInputData)(
26033 windows_core::Interface::as_raw(self),
26034 inputdata,
26035 )
26036 .ok()
26037 }
26038 }
26039 pub unsafe fn KeyStates(&self, keystates: *mut u32) -> windows_core::Result<()> {
26040 unsafe {
26041 (windows_core::Interface::vtable(self).KeyStates)(
26042 windows_core::Interface::as_raw(self),
26043 keystates as _,
26044 )
26045 .ok()
26046 }
26047 }
26048 pub unsafe fn SetKeyStates(&self, keystates: u32) -> windows_core::Result<()> {
26049 unsafe {
26050 (windows_core::Interface::vtable(self).SetKeyStates)(
26051 windows_core::Interface::as_raw(self),
26052 keystates,
26053 )
26054 .ok()
26055 }
26056 }
26057 pub unsafe fn PerformanceCount(&self, performancecount: *mut u64) -> windows_core::Result<()> {
26058 unsafe {
26059 (windows_core::Interface::vtable(self).PerformanceCount)(
26060 windows_core::Interface::as_raw(self),
26061 performancecount as _,
26062 )
26063 .ok()
26064 }
26065 }
26066 pub unsafe fn SetPerformanceCount(&self, performancecount: u64) -> windows_core::Result<()> {
26067 unsafe {
26068 (windows_core::Interface::vtable(self).SetPerformanceCount)(
26069 windows_core::Interface::as_raw(self),
26070 performancecount,
26071 )
26072 .ok()
26073 }
26074 }
26075 pub unsafe fn ButtonChangeKind(&self, buttonchangekind: *mut i32) -> windows_core::Result<()> {
26076 unsafe {
26077 (windows_core::Interface::vtable(self).ButtonChangeKind)(
26078 windows_core::Interface::as_raw(self),
26079 buttonchangekind as _,
26080 )
26081 .ok()
26082 }
26083 }
26084 pub unsafe fn SetButtonChangeKind(&self, buttonchangekind: i32) -> windows_core::Result<()> {
26085 unsafe {
26086 (windows_core::Interface::vtable(self).SetButtonChangeKind)(
26087 windows_core::Interface::as_raw(self),
26088 buttonchangekind,
26089 )
26090 .ok()
26091 }
26092 }
26093 pub unsafe fn PenFlags(&self, penflags: *mut u32) -> windows_core::Result<()> {
26094 unsafe {
26095 (windows_core::Interface::vtable(self).PenFlags)(
26096 windows_core::Interface::as_raw(self),
26097 penflags as _,
26098 )
26099 .ok()
26100 }
26101 }
26102 pub unsafe fn SetPenFlags(&self, penflags: u32) -> windows_core::Result<()> {
26103 unsafe {
26104 (windows_core::Interface::vtable(self).SetPenFlags)(
26105 windows_core::Interface::as_raw(self),
26106 penflags,
26107 )
26108 .ok()
26109 }
26110 }
26111 pub unsafe fn PenMask(&self, penmask: *mut u32) -> windows_core::Result<()> {
26112 unsafe {
26113 (windows_core::Interface::vtable(self).PenMask)(
26114 windows_core::Interface::as_raw(self),
26115 penmask as _,
26116 )
26117 .ok()
26118 }
26119 }
26120 pub unsafe fn SetPenMask(&self, penmask: u32) -> windows_core::Result<()> {
26121 unsafe {
26122 (windows_core::Interface::vtable(self).SetPenMask)(
26123 windows_core::Interface::as_raw(self),
26124 penmask,
26125 )
26126 .ok()
26127 }
26128 }
26129 pub unsafe fn PenPressure(&self, penpressure: *mut u32) -> windows_core::Result<()> {
26130 unsafe {
26131 (windows_core::Interface::vtable(self).PenPressure)(
26132 windows_core::Interface::as_raw(self),
26133 penpressure as _,
26134 )
26135 .ok()
26136 }
26137 }
26138 pub unsafe fn SetPenPressure(&self, penpressure: u32) -> windows_core::Result<()> {
26139 unsafe {
26140 (windows_core::Interface::vtable(self).SetPenPressure)(
26141 windows_core::Interface::as_raw(self),
26142 penpressure,
26143 )
26144 .ok()
26145 }
26146 }
26147 pub unsafe fn PenRotation(&self, penrotation: *mut u32) -> windows_core::Result<()> {
26148 unsafe {
26149 (windows_core::Interface::vtable(self).PenRotation)(
26150 windows_core::Interface::as_raw(self),
26151 penrotation as _,
26152 )
26153 .ok()
26154 }
26155 }
26156 pub unsafe fn SetPenRotation(&self, penrotation: u32) -> windows_core::Result<()> {
26157 unsafe {
26158 (windows_core::Interface::vtable(self).SetPenRotation)(
26159 windows_core::Interface::as_raw(self),
26160 penrotation,
26161 )
26162 .ok()
26163 }
26164 }
26165 pub unsafe fn PenTiltX(&self, pentiltx: *mut i32) -> windows_core::Result<()> {
26166 unsafe {
26167 (windows_core::Interface::vtable(self).PenTiltX)(
26168 windows_core::Interface::as_raw(self),
26169 pentiltx as _,
26170 )
26171 .ok()
26172 }
26173 }
26174 pub unsafe fn SetPenTiltX(&self, pentiltx: i32) -> windows_core::Result<()> {
26175 unsafe {
26176 (windows_core::Interface::vtable(self).SetPenTiltX)(
26177 windows_core::Interface::as_raw(self),
26178 pentiltx,
26179 )
26180 .ok()
26181 }
26182 }
26183 pub unsafe fn PenTiltY(&self, pentilty: *mut i32) -> windows_core::Result<()> {
26184 unsafe {
26185 (windows_core::Interface::vtable(self).PenTiltY)(
26186 windows_core::Interface::as_raw(self),
26187 pentilty as _,
26188 )
26189 .ok()
26190 }
26191 }
26192 pub unsafe fn SetPenTiltY(&self, pentilty: i32) -> windows_core::Result<()> {
26193 unsafe {
26194 (windows_core::Interface::vtable(self).SetPenTiltY)(
26195 windows_core::Interface::as_raw(self),
26196 pentilty,
26197 )
26198 .ok()
26199 }
26200 }
26201 pub unsafe fn TouchFlags(&self, touchflags: *mut u32) -> windows_core::Result<()> {
26202 unsafe {
26203 (windows_core::Interface::vtable(self).TouchFlags)(
26204 windows_core::Interface::as_raw(self),
26205 touchflags as _,
26206 )
26207 .ok()
26208 }
26209 }
26210 pub unsafe fn SetTouchFlags(&self, touchflags: u32) -> windows_core::Result<()> {
26211 unsafe {
26212 (windows_core::Interface::vtable(self).SetTouchFlags)(
26213 windows_core::Interface::as_raw(self),
26214 touchflags,
26215 )
26216 .ok()
26217 }
26218 }
26219 pub unsafe fn TouchMask(&self, touchmask: *mut u32) -> windows_core::Result<()> {
26220 unsafe {
26221 (windows_core::Interface::vtable(self).TouchMask)(
26222 windows_core::Interface::as_raw(self),
26223 touchmask as _,
26224 )
26225 .ok()
26226 }
26227 }
26228 pub unsafe fn SetTouchMask(&self, touchmask: u32) -> windows_core::Result<()> {
26229 unsafe {
26230 (windows_core::Interface::vtable(self).SetTouchMask)(
26231 windows_core::Interface::as_raw(self),
26232 touchmask,
26233 )
26234 .ok()
26235 }
26236 }
26237 pub unsafe fn TouchContact(
26238 &self,
26239 touchcontact: *mut windows::Win32::Foundation::RECT,
26240 ) -> windows_core::Result<()> {
26241 unsafe {
26242 (windows_core::Interface::vtable(self).TouchContact)(
26243 windows_core::Interface::as_raw(self),
26244 touchcontact as _,
26245 )
26246 .ok()
26247 }
26248 }
26249 pub unsafe fn SetTouchContact(
26250 &self,
26251 touchcontact: windows::Win32::Foundation::RECT,
26252 ) -> windows_core::Result<()> {
26253 unsafe {
26254 (windows_core::Interface::vtable(self).SetTouchContact)(
26255 windows_core::Interface::as_raw(self),
26256 core::mem::transmute(touchcontact),
26257 )
26258 .ok()
26259 }
26260 }
26261 pub unsafe fn TouchContactRaw(
26262 &self,
26263 touchcontactraw: *mut windows::Win32::Foundation::RECT,
26264 ) -> windows_core::Result<()> {
26265 unsafe {
26266 (windows_core::Interface::vtable(self).TouchContactRaw)(
26267 windows_core::Interface::as_raw(self),
26268 touchcontactraw as _,
26269 )
26270 .ok()
26271 }
26272 }
26273 pub unsafe fn SetTouchContactRaw(
26274 &self,
26275 touchcontactraw: windows::Win32::Foundation::RECT,
26276 ) -> windows_core::Result<()> {
26277 unsafe {
26278 (windows_core::Interface::vtable(self).SetTouchContactRaw)(
26279 windows_core::Interface::as_raw(self),
26280 core::mem::transmute(touchcontactraw),
26281 )
26282 .ok()
26283 }
26284 }
26285 pub unsafe fn TouchOrientation(&self, touchorientation: *mut u32) -> windows_core::Result<()> {
26286 unsafe {
26287 (windows_core::Interface::vtable(self).TouchOrientation)(
26288 windows_core::Interface::as_raw(self),
26289 touchorientation as _,
26290 )
26291 .ok()
26292 }
26293 }
26294 pub unsafe fn SetTouchOrientation(&self, touchorientation: u32) -> windows_core::Result<()> {
26295 unsafe {
26296 (windows_core::Interface::vtable(self).SetTouchOrientation)(
26297 windows_core::Interface::as_raw(self),
26298 touchorientation,
26299 )
26300 .ok()
26301 }
26302 }
26303 pub unsafe fn TouchPressure(&self, touchpressure: *mut u32) -> windows_core::Result<()> {
26304 unsafe {
26305 (windows_core::Interface::vtable(self).TouchPressure)(
26306 windows_core::Interface::as_raw(self),
26307 touchpressure as _,
26308 )
26309 .ok()
26310 }
26311 }
26312 pub unsafe fn SetTouchPressure(&self, touchpressure: u32) -> windows_core::Result<()> {
26313 unsafe {
26314 (windows_core::Interface::vtable(self).SetTouchPressure)(
26315 windows_core::Interface::as_raw(self),
26316 touchpressure,
26317 )
26318 .ok()
26319 }
26320 }
26321}
26322#[repr(C)]
26323#[doc(hidden)]
26324pub struct ICoreWebView2PointerInfo_Vtbl {
26325 pub base__: windows_core::IUnknown_Vtbl,
26326 pub PointerKind:
26327 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26328 pub SetPointerKind:
26329 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26330 pub PointerId:
26331 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26332 pub SetPointerId:
26333 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26334 pub FrameId:
26335 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26336 pub SetFrameId: unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26337 pub PointerFlags:
26338 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26339 pub SetPointerFlags:
26340 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26341 pub PointerDeviceRect: unsafe extern "system" fn(
26342 *mut core::ffi::c_void,
26343 *mut windows::Win32::Foundation::RECT,
26344 ) -> windows_core::HRESULT,
26345 pub SetPointerDeviceRect: unsafe extern "system" fn(
26346 *mut core::ffi::c_void,
26347 windows::Win32::Foundation::RECT,
26348 ) -> windows_core::HRESULT,
26349 pub DisplayRect: unsafe extern "system" fn(
26350 *mut core::ffi::c_void,
26351 *mut windows::Win32::Foundation::RECT,
26352 ) -> windows_core::HRESULT,
26353 pub SetDisplayRect: unsafe extern "system" fn(
26354 *mut core::ffi::c_void,
26355 windows::Win32::Foundation::RECT,
26356 ) -> windows_core::HRESULT,
26357 pub PixelLocation: unsafe extern "system" fn(
26358 *mut core::ffi::c_void,
26359 *mut windows::Win32::Foundation::POINT,
26360 ) -> windows_core::HRESULT,
26361 pub SetPixelLocation: unsafe extern "system" fn(
26362 *mut core::ffi::c_void,
26363 windows::Win32::Foundation::POINT,
26364 ) -> windows_core::HRESULT,
26365 pub HimetricLocation: unsafe extern "system" fn(
26366 *mut core::ffi::c_void,
26367 *mut windows::Win32::Foundation::POINT,
26368 ) -> windows_core::HRESULT,
26369 pub SetHimetricLocation: unsafe extern "system" fn(
26370 *mut core::ffi::c_void,
26371 windows::Win32::Foundation::POINT,
26372 ) -> windows_core::HRESULT,
26373 pub PixelLocationRaw: unsafe extern "system" fn(
26374 *mut core::ffi::c_void,
26375 *mut windows::Win32::Foundation::POINT,
26376 ) -> windows_core::HRESULT,
26377 pub SetPixelLocationRaw: unsafe extern "system" fn(
26378 *mut core::ffi::c_void,
26379 windows::Win32::Foundation::POINT,
26380 ) -> windows_core::HRESULT,
26381 pub HimetricLocationRaw: unsafe extern "system" fn(
26382 *mut core::ffi::c_void,
26383 *mut windows::Win32::Foundation::POINT,
26384 ) -> windows_core::HRESULT,
26385 pub SetHimetricLocationRaw: unsafe extern "system" fn(
26386 *mut core::ffi::c_void,
26387 windows::Win32::Foundation::POINT,
26388 ) -> windows_core::HRESULT,
26389 pub Time: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26390 pub SetTime: unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26391 pub HistoryCount:
26392 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26393 pub SetHistoryCount:
26394 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26395 pub InputData:
26396 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
26397 pub SetInputData:
26398 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
26399 pub KeyStates:
26400 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26401 pub SetKeyStates:
26402 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26403 pub PerformanceCount:
26404 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
26405 pub SetPerformanceCount:
26406 unsafe extern "system" fn(*mut core::ffi::c_void, u64) -> windows_core::HRESULT,
26407 pub ButtonChangeKind:
26408 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
26409 pub SetButtonChangeKind:
26410 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
26411 pub PenFlags:
26412 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26413 pub SetPenFlags:
26414 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26415 pub PenMask:
26416 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26417 pub SetPenMask: unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26418 pub PenPressure:
26419 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26420 pub SetPenPressure:
26421 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26422 pub PenRotation:
26423 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26424 pub SetPenRotation:
26425 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26426 pub PenTiltX:
26427 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
26428 pub SetPenTiltX:
26429 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
26430 pub PenTiltY:
26431 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
26432 pub SetPenTiltY:
26433 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
26434 pub TouchFlags:
26435 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26436 pub SetTouchFlags:
26437 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26438 pub TouchMask:
26439 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26440 pub SetTouchMask:
26441 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26442 pub TouchContact: unsafe extern "system" fn(
26443 *mut core::ffi::c_void,
26444 *mut windows::Win32::Foundation::RECT,
26445 ) -> windows_core::HRESULT,
26446 pub SetTouchContact: unsafe extern "system" fn(
26447 *mut core::ffi::c_void,
26448 windows::Win32::Foundation::RECT,
26449 ) -> windows_core::HRESULT,
26450 pub TouchContactRaw: unsafe extern "system" fn(
26451 *mut core::ffi::c_void,
26452 *mut windows::Win32::Foundation::RECT,
26453 ) -> windows_core::HRESULT,
26454 pub SetTouchContactRaw: unsafe extern "system" fn(
26455 *mut core::ffi::c_void,
26456 windows::Win32::Foundation::RECT,
26457 ) -> windows_core::HRESULT,
26458 pub TouchOrientation:
26459 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26460 pub SetTouchOrientation:
26461 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26462 pub TouchPressure:
26463 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26464 pub SetTouchPressure:
26465 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26466}
26467pub trait ICoreWebView2PointerInfo_Impl: windows_core::IUnknownImpl {
26468 fn PointerKind(&self, pointerkind: *mut u32) -> windows_core::Result<()>;
26469 fn SetPointerKind(&self, pointerkind: u32) -> windows_core::Result<()>;
26470 fn PointerId(&self, pointerid: *mut u32) -> windows_core::Result<()>;
26471 fn SetPointerId(&self, pointerid: u32) -> windows_core::Result<()>;
26472 fn FrameId(&self, frameid: *mut u32) -> windows_core::Result<()>;
26473 fn SetFrameId(&self, frameid: u32) -> windows_core::Result<()>;
26474 fn PointerFlags(&self, pointerflags: *mut u32) -> windows_core::Result<()>;
26475 fn SetPointerFlags(&self, pointerflags: u32) -> windows_core::Result<()>;
26476 fn PointerDeviceRect(
26477 &self,
26478 pointerdevicerect: *mut windows::Win32::Foundation::RECT,
26479 ) -> windows_core::Result<()>;
26480 fn SetPointerDeviceRect(
26481 &self,
26482 pointerdevicerect: &windows::Win32::Foundation::RECT,
26483 ) -> windows_core::Result<()>;
26484 fn DisplayRect(
26485 &self,
26486 displayrect: *mut windows::Win32::Foundation::RECT,
26487 ) -> windows_core::Result<()>;
26488 fn SetDisplayRect(
26489 &self,
26490 displayrect: &windows::Win32::Foundation::RECT,
26491 ) -> windows_core::Result<()>;
26492 fn PixelLocation(
26493 &self,
26494 pixellocation: *mut windows::Win32::Foundation::POINT,
26495 ) -> windows_core::Result<()>;
26496 fn SetPixelLocation(
26497 &self,
26498 pixellocation: &windows::Win32::Foundation::POINT,
26499 ) -> windows_core::Result<()>;
26500 fn HimetricLocation(
26501 &self,
26502 himetriclocation: *mut windows::Win32::Foundation::POINT,
26503 ) -> windows_core::Result<()>;
26504 fn SetHimetricLocation(
26505 &self,
26506 himetriclocation: &windows::Win32::Foundation::POINT,
26507 ) -> windows_core::Result<()>;
26508 fn PixelLocationRaw(
26509 &self,
26510 pixellocationraw: *mut windows::Win32::Foundation::POINT,
26511 ) -> windows_core::Result<()>;
26512 fn SetPixelLocationRaw(
26513 &self,
26514 pixellocationraw: &windows::Win32::Foundation::POINT,
26515 ) -> windows_core::Result<()>;
26516 fn HimetricLocationRaw(
26517 &self,
26518 himetriclocationraw: *mut windows::Win32::Foundation::POINT,
26519 ) -> windows_core::Result<()>;
26520 fn SetHimetricLocationRaw(
26521 &self,
26522 himetriclocationraw: &windows::Win32::Foundation::POINT,
26523 ) -> windows_core::Result<()>;
26524 fn Time(&self, time: *mut u32) -> windows_core::Result<()>;
26525 fn SetTime(&self, time: u32) -> windows_core::Result<()>;
26526 fn HistoryCount(&self, historycount: *mut u32) -> windows_core::Result<()>;
26527 fn SetHistoryCount(&self, historycount: u32) -> windows_core::Result<()>;
26528 fn InputData(&self, inputdata: *mut i32) -> windows_core::Result<()>;
26529 fn SetInputData(&self, inputdata: i32) -> windows_core::Result<()>;
26530 fn KeyStates(&self, keystates: *mut u32) -> windows_core::Result<()>;
26531 fn SetKeyStates(&self, keystates: u32) -> windows_core::Result<()>;
26532 fn PerformanceCount(&self, performancecount: *mut u64) -> windows_core::Result<()>;
26533 fn SetPerformanceCount(&self, performancecount: u64) -> windows_core::Result<()>;
26534 fn ButtonChangeKind(&self, buttonchangekind: *mut i32) -> windows_core::Result<()>;
26535 fn SetButtonChangeKind(&self, buttonchangekind: i32) -> windows_core::Result<()>;
26536 fn PenFlags(&self, penflags: *mut u32) -> windows_core::Result<()>;
26537 fn SetPenFlags(&self, penflags: u32) -> windows_core::Result<()>;
26538 fn PenMask(&self, penmask: *mut u32) -> windows_core::Result<()>;
26539 fn SetPenMask(&self, penmask: u32) -> windows_core::Result<()>;
26540 fn PenPressure(&self, penpressure: *mut u32) -> windows_core::Result<()>;
26541 fn SetPenPressure(&self, penpressure: u32) -> windows_core::Result<()>;
26542 fn PenRotation(&self, penrotation: *mut u32) -> windows_core::Result<()>;
26543 fn SetPenRotation(&self, penrotation: u32) -> windows_core::Result<()>;
26544 fn PenTiltX(&self, pentiltx: *mut i32) -> windows_core::Result<()>;
26545 fn SetPenTiltX(&self, pentiltx: i32) -> windows_core::Result<()>;
26546 fn PenTiltY(&self, pentilty: *mut i32) -> windows_core::Result<()>;
26547 fn SetPenTiltY(&self, pentilty: i32) -> windows_core::Result<()>;
26548 fn TouchFlags(&self, touchflags: *mut u32) -> windows_core::Result<()>;
26549 fn SetTouchFlags(&self, touchflags: u32) -> windows_core::Result<()>;
26550 fn TouchMask(&self, touchmask: *mut u32) -> windows_core::Result<()>;
26551 fn SetTouchMask(&self, touchmask: u32) -> windows_core::Result<()>;
26552 fn TouchContact(
26553 &self,
26554 touchcontact: *mut windows::Win32::Foundation::RECT,
26555 ) -> windows_core::Result<()>;
26556 fn SetTouchContact(
26557 &self,
26558 touchcontact: &windows::Win32::Foundation::RECT,
26559 ) -> windows_core::Result<()>;
26560 fn TouchContactRaw(
26561 &self,
26562 touchcontactraw: *mut windows::Win32::Foundation::RECT,
26563 ) -> windows_core::Result<()>;
26564 fn SetTouchContactRaw(
26565 &self,
26566 touchcontactraw: &windows::Win32::Foundation::RECT,
26567 ) -> windows_core::Result<()>;
26568 fn TouchOrientation(&self, touchorientation: *mut u32) -> windows_core::Result<()>;
26569 fn SetTouchOrientation(&self, touchorientation: u32) -> windows_core::Result<()>;
26570 fn TouchPressure(&self, touchpressure: *mut u32) -> windows_core::Result<()>;
26571 fn SetTouchPressure(&self, touchpressure: u32) -> windows_core::Result<()>;
26572}
26573impl ICoreWebView2PointerInfo_Vtbl {
26574 pub const fn new<Identity: ICoreWebView2PointerInfo_Impl, const OFFSET: isize>() -> Self {
26575 unsafe extern "system" fn PointerKind<
26576 Identity: ICoreWebView2PointerInfo_Impl,
26577 const OFFSET: isize,
26578 >(
26579 this: *mut core::ffi::c_void,
26580 pointerkind: *mut u32,
26581 ) -> windows_core::HRESULT {
26582 unsafe {
26583 let this: &Identity =
26584 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26585 ICoreWebView2PointerInfo_Impl::PointerKind(
26586 this,
26587 core::mem::transmute_copy(&pointerkind),
26588 )
26589 .into()
26590 }
26591 }
26592 unsafe extern "system" fn SetPointerKind<
26593 Identity: ICoreWebView2PointerInfo_Impl,
26594 const OFFSET: isize,
26595 >(
26596 this: *mut core::ffi::c_void,
26597 pointerkind: u32,
26598 ) -> windows_core::HRESULT {
26599 unsafe {
26600 let this: &Identity =
26601 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26602 ICoreWebView2PointerInfo_Impl::SetPointerKind(
26603 this,
26604 core::mem::transmute_copy(&pointerkind),
26605 )
26606 .into()
26607 }
26608 }
26609 unsafe extern "system" fn PointerId<
26610 Identity: ICoreWebView2PointerInfo_Impl,
26611 const OFFSET: isize,
26612 >(
26613 this: *mut core::ffi::c_void,
26614 pointerid: *mut u32,
26615 ) -> windows_core::HRESULT {
26616 unsafe {
26617 let this: &Identity =
26618 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26619 ICoreWebView2PointerInfo_Impl::PointerId(
26620 this,
26621 core::mem::transmute_copy(&pointerid),
26622 )
26623 .into()
26624 }
26625 }
26626 unsafe extern "system" fn SetPointerId<
26627 Identity: ICoreWebView2PointerInfo_Impl,
26628 const OFFSET: isize,
26629 >(
26630 this: *mut core::ffi::c_void,
26631 pointerid: u32,
26632 ) -> windows_core::HRESULT {
26633 unsafe {
26634 let this: &Identity =
26635 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26636 ICoreWebView2PointerInfo_Impl::SetPointerId(
26637 this,
26638 core::mem::transmute_copy(&pointerid),
26639 )
26640 .into()
26641 }
26642 }
26643 unsafe extern "system" fn FrameId<
26644 Identity: ICoreWebView2PointerInfo_Impl,
26645 const OFFSET: isize,
26646 >(
26647 this: *mut core::ffi::c_void,
26648 frameid: *mut u32,
26649 ) -> windows_core::HRESULT {
26650 unsafe {
26651 let this: &Identity =
26652 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26653 ICoreWebView2PointerInfo_Impl::FrameId(this, core::mem::transmute_copy(&frameid))
26654 .into()
26655 }
26656 }
26657 unsafe extern "system" fn SetFrameId<
26658 Identity: ICoreWebView2PointerInfo_Impl,
26659 const OFFSET: isize,
26660 >(
26661 this: *mut core::ffi::c_void,
26662 frameid: u32,
26663 ) -> windows_core::HRESULT {
26664 unsafe {
26665 let this: &Identity =
26666 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26667 ICoreWebView2PointerInfo_Impl::SetFrameId(this, core::mem::transmute_copy(&frameid))
26668 .into()
26669 }
26670 }
26671 unsafe extern "system" fn PointerFlags<
26672 Identity: ICoreWebView2PointerInfo_Impl,
26673 const OFFSET: isize,
26674 >(
26675 this: *mut core::ffi::c_void,
26676 pointerflags: *mut u32,
26677 ) -> windows_core::HRESULT {
26678 unsafe {
26679 let this: &Identity =
26680 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26681 ICoreWebView2PointerInfo_Impl::PointerFlags(
26682 this,
26683 core::mem::transmute_copy(&pointerflags),
26684 )
26685 .into()
26686 }
26687 }
26688 unsafe extern "system" fn SetPointerFlags<
26689 Identity: ICoreWebView2PointerInfo_Impl,
26690 const OFFSET: isize,
26691 >(
26692 this: *mut core::ffi::c_void,
26693 pointerflags: u32,
26694 ) -> windows_core::HRESULT {
26695 unsafe {
26696 let this: &Identity =
26697 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26698 ICoreWebView2PointerInfo_Impl::SetPointerFlags(
26699 this,
26700 core::mem::transmute_copy(&pointerflags),
26701 )
26702 .into()
26703 }
26704 }
26705 unsafe extern "system" fn PointerDeviceRect<
26706 Identity: ICoreWebView2PointerInfo_Impl,
26707 const OFFSET: isize,
26708 >(
26709 this: *mut core::ffi::c_void,
26710 pointerdevicerect: *mut windows::Win32::Foundation::RECT,
26711 ) -> windows_core::HRESULT {
26712 unsafe {
26713 let this: &Identity =
26714 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26715 ICoreWebView2PointerInfo_Impl::PointerDeviceRect(
26716 this,
26717 core::mem::transmute_copy(&pointerdevicerect),
26718 )
26719 .into()
26720 }
26721 }
26722 unsafe extern "system" fn SetPointerDeviceRect<
26723 Identity: ICoreWebView2PointerInfo_Impl,
26724 const OFFSET: isize,
26725 >(
26726 this: *mut core::ffi::c_void,
26727 pointerdevicerect: windows::Win32::Foundation::RECT,
26728 ) -> windows_core::HRESULT {
26729 unsafe {
26730 let this: &Identity =
26731 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26732 ICoreWebView2PointerInfo_Impl::SetPointerDeviceRect(
26733 this,
26734 core::mem::transmute(&pointerdevicerect),
26735 )
26736 .into()
26737 }
26738 }
26739 unsafe extern "system" fn DisplayRect<
26740 Identity: ICoreWebView2PointerInfo_Impl,
26741 const OFFSET: isize,
26742 >(
26743 this: *mut core::ffi::c_void,
26744 displayrect: *mut windows::Win32::Foundation::RECT,
26745 ) -> windows_core::HRESULT {
26746 unsafe {
26747 let this: &Identity =
26748 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26749 ICoreWebView2PointerInfo_Impl::DisplayRect(
26750 this,
26751 core::mem::transmute_copy(&displayrect),
26752 )
26753 .into()
26754 }
26755 }
26756 unsafe extern "system" fn SetDisplayRect<
26757 Identity: ICoreWebView2PointerInfo_Impl,
26758 const OFFSET: isize,
26759 >(
26760 this: *mut core::ffi::c_void,
26761 displayrect: windows::Win32::Foundation::RECT,
26762 ) -> windows_core::HRESULT {
26763 unsafe {
26764 let this: &Identity =
26765 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26766 ICoreWebView2PointerInfo_Impl::SetDisplayRect(
26767 this,
26768 core::mem::transmute(&displayrect),
26769 )
26770 .into()
26771 }
26772 }
26773 unsafe extern "system" fn PixelLocation<
26774 Identity: ICoreWebView2PointerInfo_Impl,
26775 const OFFSET: isize,
26776 >(
26777 this: *mut core::ffi::c_void,
26778 pixellocation: *mut windows::Win32::Foundation::POINT,
26779 ) -> windows_core::HRESULT {
26780 unsafe {
26781 let this: &Identity =
26782 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26783 ICoreWebView2PointerInfo_Impl::PixelLocation(
26784 this,
26785 core::mem::transmute_copy(&pixellocation),
26786 )
26787 .into()
26788 }
26789 }
26790 unsafe extern "system" fn SetPixelLocation<
26791 Identity: ICoreWebView2PointerInfo_Impl,
26792 const OFFSET: isize,
26793 >(
26794 this: *mut core::ffi::c_void,
26795 pixellocation: windows::Win32::Foundation::POINT,
26796 ) -> windows_core::HRESULT {
26797 unsafe {
26798 let this: &Identity =
26799 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26800 ICoreWebView2PointerInfo_Impl::SetPixelLocation(
26801 this,
26802 core::mem::transmute(&pixellocation),
26803 )
26804 .into()
26805 }
26806 }
26807 unsafe extern "system" fn HimetricLocation<
26808 Identity: ICoreWebView2PointerInfo_Impl,
26809 const OFFSET: isize,
26810 >(
26811 this: *mut core::ffi::c_void,
26812 himetriclocation: *mut windows::Win32::Foundation::POINT,
26813 ) -> windows_core::HRESULT {
26814 unsafe {
26815 let this: &Identity =
26816 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26817 ICoreWebView2PointerInfo_Impl::HimetricLocation(
26818 this,
26819 core::mem::transmute_copy(&himetriclocation),
26820 )
26821 .into()
26822 }
26823 }
26824 unsafe extern "system" fn SetHimetricLocation<
26825 Identity: ICoreWebView2PointerInfo_Impl,
26826 const OFFSET: isize,
26827 >(
26828 this: *mut core::ffi::c_void,
26829 himetriclocation: windows::Win32::Foundation::POINT,
26830 ) -> windows_core::HRESULT {
26831 unsafe {
26832 let this: &Identity =
26833 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26834 ICoreWebView2PointerInfo_Impl::SetHimetricLocation(
26835 this,
26836 core::mem::transmute(&himetriclocation),
26837 )
26838 .into()
26839 }
26840 }
26841 unsafe extern "system" fn PixelLocationRaw<
26842 Identity: ICoreWebView2PointerInfo_Impl,
26843 const OFFSET: isize,
26844 >(
26845 this: *mut core::ffi::c_void,
26846 pixellocationraw: *mut windows::Win32::Foundation::POINT,
26847 ) -> windows_core::HRESULT {
26848 unsafe {
26849 let this: &Identity =
26850 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26851 ICoreWebView2PointerInfo_Impl::PixelLocationRaw(
26852 this,
26853 core::mem::transmute_copy(&pixellocationraw),
26854 )
26855 .into()
26856 }
26857 }
26858 unsafe extern "system" fn SetPixelLocationRaw<
26859 Identity: ICoreWebView2PointerInfo_Impl,
26860 const OFFSET: isize,
26861 >(
26862 this: *mut core::ffi::c_void,
26863 pixellocationraw: windows::Win32::Foundation::POINT,
26864 ) -> windows_core::HRESULT {
26865 unsafe {
26866 let this: &Identity =
26867 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26868 ICoreWebView2PointerInfo_Impl::SetPixelLocationRaw(
26869 this,
26870 core::mem::transmute(&pixellocationraw),
26871 )
26872 .into()
26873 }
26874 }
26875 unsafe extern "system" fn HimetricLocationRaw<
26876 Identity: ICoreWebView2PointerInfo_Impl,
26877 const OFFSET: isize,
26878 >(
26879 this: *mut core::ffi::c_void,
26880 himetriclocationraw: *mut windows::Win32::Foundation::POINT,
26881 ) -> windows_core::HRESULT {
26882 unsafe {
26883 let this: &Identity =
26884 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26885 ICoreWebView2PointerInfo_Impl::HimetricLocationRaw(
26886 this,
26887 core::mem::transmute_copy(&himetriclocationraw),
26888 )
26889 .into()
26890 }
26891 }
26892 unsafe extern "system" fn SetHimetricLocationRaw<
26893 Identity: ICoreWebView2PointerInfo_Impl,
26894 const OFFSET: isize,
26895 >(
26896 this: *mut core::ffi::c_void,
26897 himetriclocationraw: windows::Win32::Foundation::POINT,
26898 ) -> windows_core::HRESULT {
26899 unsafe {
26900 let this: &Identity =
26901 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26902 ICoreWebView2PointerInfo_Impl::SetHimetricLocationRaw(
26903 this,
26904 core::mem::transmute(&himetriclocationraw),
26905 )
26906 .into()
26907 }
26908 }
26909 unsafe extern "system" fn Time<
26910 Identity: ICoreWebView2PointerInfo_Impl,
26911 const OFFSET: isize,
26912 >(
26913 this: *mut core::ffi::c_void,
26914 time: *mut u32,
26915 ) -> windows_core::HRESULT {
26916 unsafe {
26917 let this: &Identity =
26918 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26919 ICoreWebView2PointerInfo_Impl::Time(this, core::mem::transmute_copy(&time)).into()
26920 }
26921 }
26922 unsafe extern "system" fn SetTime<
26923 Identity: ICoreWebView2PointerInfo_Impl,
26924 const OFFSET: isize,
26925 >(
26926 this: *mut core::ffi::c_void,
26927 time: u32,
26928 ) -> windows_core::HRESULT {
26929 unsafe {
26930 let this: &Identity =
26931 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26932 ICoreWebView2PointerInfo_Impl::SetTime(this, core::mem::transmute_copy(&time))
26933 .into()
26934 }
26935 }
26936 unsafe extern "system" fn HistoryCount<
26937 Identity: ICoreWebView2PointerInfo_Impl,
26938 const OFFSET: isize,
26939 >(
26940 this: *mut core::ffi::c_void,
26941 historycount: *mut u32,
26942 ) -> windows_core::HRESULT {
26943 unsafe {
26944 let this: &Identity =
26945 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26946 ICoreWebView2PointerInfo_Impl::HistoryCount(
26947 this,
26948 core::mem::transmute_copy(&historycount),
26949 )
26950 .into()
26951 }
26952 }
26953 unsafe extern "system" fn SetHistoryCount<
26954 Identity: ICoreWebView2PointerInfo_Impl,
26955 const OFFSET: isize,
26956 >(
26957 this: *mut core::ffi::c_void,
26958 historycount: u32,
26959 ) -> windows_core::HRESULT {
26960 unsafe {
26961 let this: &Identity =
26962 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26963 ICoreWebView2PointerInfo_Impl::SetHistoryCount(
26964 this,
26965 core::mem::transmute_copy(&historycount),
26966 )
26967 .into()
26968 }
26969 }
26970 unsafe extern "system" fn InputData<
26971 Identity: ICoreWebView2PointerInfo_Impl,
26972 const OFFSET: isize,
26973 >(
26974 this: *mut core::ffi::c_void,
26975 inputdata: *mut i32,
26976 ) -> windows_core::HRESULT {
26977 unsafe {
26978 let this: &Identity =
26979 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26980 ICoreWebView2PointerInfo_Impl::InputData(
26981 this,
26982 core::mem::transmute_copy(&inputdata),
26983 )
26984 .into()
26985 }
26986 }
26987 unsafe extern "system" fn SetInputData<
26988 Identity: ICoreWebView2PointerInfo_Impl,
26989 const OFFSET: isize,
26990 >(
26991 this: *mut core::ffi::c_void,
26992 inputdata: i32,
26993 ) -> windows_core::HRESULT {
26994 unsafe {
26995 let this: &Identity =
26996 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26997 ICoreWebView2PointerInfo_Impl::SetInputData(
26998 this,
26999 core::mem::transmute_copy(&inputdata),
27000 )
27001 .into()
27002 }
27003 }
27004 unsafe extern "system" fn KeyStates<
27005 Identity: ICoreWebView2PointerInfo_Impl,
27006 const OFFSET: isize,
27007 >(
27008 this: *mut core::ffi::c_void,
27009 keystates: *mut u32,
27010 ) -> windows_core::HRESULT {
27011 unsafe {
27012 let this: &Identity =
27013 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27014 ICoreWebView2PointerInfo_Impl::KeyStates(
27015 this,
27016 core::mem::transmute_copy(&keystates),
27017 )
27018 .into()
27019 }
27020 }
27021 unsafe extern "system" fn SetKeyStates<
27022 Identity: ICoreWebView2PointerInfo_Impl,
27023 const OFFSET: isize,
27024 >(
27025 this: *mut core::ffi::c_void,
27026 keystates: u32,
27027 ) -> windows_core::HRESULT {
27028 unsafe {
27029 let this: &Identity =
27030 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27031 ICoreWebView2PointerInfo_Impl::SetKeyStates(
27032 this,
27033 core::mem::transmute_copy(&keystates),
27034 )
27035 .into()
27036 }
27037 }
27038 unsafe extern "system" fn PerformanceCount<
27039 Identity: ICoreWebView2PointerInfo_Impl,
27040 const OFFSET: isize,
27041 >(
27042 this: *mut core::ffi::c_void,
27043 performancecount: *mut u64,
27044 ) -> windows_core::HRESULT {
27045 unsafe {
27046 let this: &Identity =
27047 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27048 ICoreWebView2PointerInfo_Impl::PerformanceCount(
27049 this,
27050 core::mem::transmute_copy(&performancecount),
27051 )
27052 .into()
27053 }
27054 }
27055 unsafe extern "system" fn SetPerformanceCount<
27056 Identity: ICoreWebView2PointerInfo_Impl,
27057 const OFFSET: isize,
27058 >(
27059 this: *mut core::ffi::c_void,
27060 performancecount: u64,
27061 ) -> windows_core::HRESULT {
27062 unsafe {
27063 let this: &Identity =
27064 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27065 ICoreWebView2PointerInfo_Impl::SetPerformanceCount(
27066 this,
27067 core::mem::transmute_copy(&performancecount),
27068 )
27069 .into()
27070 }
27071 }
27072 unsafe extern "system" fn ButtonChangeKind<
27073 Identity: ICoreWebView2PointerInfo_Impl,
27074 const OFFSET: isize,
27075 >(
27076 this: *mut core::ffi::c_void,
27077 buttonchangekind: *mut i32,
27078 ) -> windows_core::HRESULT {
27079 unsafe {
27080 let this: &Identity =
27081 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27082 ICoreWebView2PointerInfo_Impl::ButtonChangeKind(
27083 this,
27084 core::mem::transmute_copy(&buttonchangekind),
27085 )
27086 .into()
27087 }
27088 }
27089 unsafe extern "system" fn SetButtonChangeKind<
27090 Identity: ICoreWebView2PointerInfo_Impl,
27091 const OFFSET: isize,
27092 >(
27093 this: *mut core::ffi::c_void,
27094 buttonchangekind: i32,
27095 ) -> windows_core::HRESULT {
27096 unsafe {
27097 let this: &Identity =
27098 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27099 ICoreWebView2PointerInfo_Impl::SetButtonChangeKind(
27100 this,
27101 core::mem::transmute_copy(&buttonchangekind),
27102 )
27103 .into()
27104 }
27105 }
27106 unsafe extern "system" fn PenFlags<
27107 Identity: ICoreWebView2PointerInfo_Impl,
27108 const OFFSET: isize,
27109 >(
27110 this: *mut core::ffi::c_void,
27111 penflags: *mut u32,
27112 ) -> windows_core::HRESULT {
27113 unsafe {
27114 let this: &Identity =
27115 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27116 ICoreWebView2PointerInfo_Impl::PenFlags(this, core::mem::transmute_copy(&penflags))
27117 .into()
27118 }
27119 }
27120 unsafe extern "system" fn SetPenFlags<
27121 Identity: ICoreWebView2PointerInfo_Impl,
27122 const OFFSET: isize,
27123 >(
27124 this: *mut core::ffi::c_void,
27125 penflags: u32,
27126 ) -> windows_core::HRESULT {
27127 unsafe {
27128 let this: &Identity =
27129 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27130 ICoreWebView2PointerInfo_Impl::SetPenFlags(
27131 this,
27132 core::mem::transmute_copy(&penflags),
27133 )
27134 .into()
27135 }
27136 }
27137 unsafe extern "system" fn PenMask<
27138 Identity: ICoreWebView2PointerInfo_Impl,
27139 const OFFSET: isize,
27140 >(
27141 this: *mut core::ffi::c_void,
27142 penmask: *mut u32,
27143 ) -> windows_core::HRESULT {
27144 unsafe {
27145 let this: &Identity =
27146 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27147 ICoreWebView2PointerInfo_Impl::PenMask(this, core::mem::transmute_copy(&penmask))
27148 .into()
27149 }
27150 }
27151 unsafe extern "system" fn SetPenMask<
27152 Identity: ICoreWebView2PointerInfo_Impl,
27153 const OFFSET: isize,
27154 >(
27155 this: *mut core::ffi::c_void,
27156 penmask: u32,
27157 ) -> windows_core::HRESULT {
27158 unsafe {
27159 let this: &Identity =
27160 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27161 ICoreWebView2PointerInfo_Impl::SetPenMask(this, core::mem::transmute_copy(&penmask))
27162 .into()
27163 }
27164 }
27165 unsafe extern "system" fn PenPressure<
27166 Identity: ICoreWebView2PointerInfo_Impl,
27167 const OFFSET: isize,
27168 >(
27169 this: *mut core::ffi::c_void,
27170 penpressure: *mut u32,
27171 ) -> windows_core::HRESULT {
27172 unsafe {
27173 let this: &Identity =
27174 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27175 ICoreWebView2PointerInfo_Impl::PenPressure(
27176 this,
27177 core::mem::transmute_copy(&penpressure),
27178 )
27179 .into()
27180 }
27181 }
27182 unsafe extern "system" fn SetPenPressure<
27183 Identity: ICoreWebView2PointerInfo_Impl,
27184 const OFFSET: isize,
27185 >(
27186 this: *mut core::ffi::c_void,
27187 penpressure: u32,
27188 ) -> windows_core::HRESULT {
27189 unsafe {
27190 let this: &Identity =
27191 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27192 ICoreWebView2PointerInfo_Impl::SetPenPressure(
27193 this,
27194 core::mem::transmute_copy(&penpressure),
27195 )
27196 .into()
27197 }
27198 }
27199 unsafe extern "system" fn PenRotation<
27200 Identity: ICoreWebView2PointerInfo_Impl,
27201 const OFFSET: isize,
27202 >(
27203 this: *mut core::ffi::c_void,
27204 penrotation: *mut u32,
27205 ) -> windows_core::HRESULT {
27206 unsafe {
27207 let this: &Identity =
27208 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27209 ICoreWebView2PointerInfo_Impl::PenRotation(
27210 this,
27211 core::mem::transmute_copy(&penrotation),
27212 )
27213 .into()
27214 }
27215 }
27216 unsafe extern "system" fn SetPenRotation<
27217 Identity: ICoreWebView2PointerInfo_Impl,
27218 const OFFSET: isize,
27219 >(
27220 this: *mut core::ffi::c_void,
27221 penrotation: u32,
27222 ) -> windows_core::HRESULT {
27223 unsafe {
27224 let this: &Identity =
27225 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27226 ICoreWebView2PointerInfo_Impl::SetPenRotation(
27227 this,
27228 core::mem::transmute_copy(&penrotation),
27229 )
27230 .into()
27231 }
27232 }
27233 unsafe extern "system" fn PenTiltX<
27234 Identity: ICoreWebView2PointerInfo_Impl,
27235 const OFFSET: isize,
27236 >(
27237 this: *mut core::ffi::c_void,
27238 pentiltx: *mut i32,
27239 ) -> windows_core::HRESULT {
27240 unsafe {
27241 let this: &Identity =
27242 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27243 ICoreWebView2PointerInfo_Impl::PenTiltX(this, core::mem::transmute_copy(&pentiltx))
27244 .into()
27245 }
27246 }
27247 unsafe extern "system" fn SetPenTiltX<
27248 Identity: ICoreWebView2PointerInfo_Impl,
27249 const OFFSET: isize,
27250 >(
27251 this: *mut core::ffi::c_void,
27252 pentiltx: i32,
27253 ) -> windows_core::HRESULT {
27254 unsafe {
27255 let this: &Identity =
27256 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27257 ICoreWebView2PointerInfo_Impl::SetPenTiltX(
27258 this,
27259 core::mem::transmute_copy(&pentiltx),
27260 )
27261 .into()
27262 }
27263 }
27264 unsafe extern "system" fn PenTiltY<
27265 Identity: ICoreWebView2PointerInfo_Impl,
27266 const OFFSET: isize,
27267 >(
27268 this: *mut core::ffi::c_void,
27269 pentilty: *mut i32,
27270 ) -> windows_core::HRESULT {
27271 unsafe {
27272 let this: &Identity =
27273 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27274 ICoreWebView2PointerInfo_Impl::PenTiltY(this, core::mem::transmute_copy(&pentilty))
27275 .into()
27276 }
27277 }
27278 unsafe extern "system" fn SetPenTiltY<
27279 Identity: ICoreWebView2PointerInfo_Impl,
27280 const OFFSET: isize,
27281 >(
27282 this: *mut core::ffi::c_void,
27283 pentilty: i32,
27284 ) -> windows_core::HRESULT {
27285 unsafe {
27286 let this: &Identity =
27287 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27288 ICoreWebView2PointerInfo_Impl::SetPenTiltY(
27289 this,
27290 core::mem::transmute_copy(&pentilty),
27291 )
27292 .into()
27293 }
27294 }
27295 unsafe extern "system" fn TouchFlags<
27296 Identity: ICoreWebView2PointerInfo_Impl,
27297 const OFFSET: isize,
27298 >(
27299 this: *mut core::ffi::c_void,
27300 touchflags: *mut u32,
27301 ) -> windows_core::HRESULT {
27302 unsafe {
27303 let this: &Identity =
27304 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27305 ICoreWebView2PointerInfo_Impl::TouchFlags(
27306 this,
27307 core::mem::transmute_copy(&touchflags),
27308 )
27309 .into()
27310 }
27311 }
27312 unsafe extern "system" fn SetTouchFlags<
27313 Identity: ICoreWebView2PointerInfo_Impl,
27314 const OFFSET: isize,
27315 >(
27316 this: *mut core::ffi::c_void,
27317 touchflags: u32,
27318 ) -> windows_core::HRESULT {
27319 unsafe {
27320 let this: &Identity =
27321 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27322 ICoreWebView2PointerInfo_Impl::SetTouchFlags(
27323 this,
27324 core::mem::transmute_copy(&touchflags),
27325 )
27326 .into()
27327 }
27328 }
27329 unsafe extern "system" fn TouchMask<
27330 Identity: ICoreWebView2PointerInfo_Impl,
27331 const OFFSET: isize,
27332 >(
27333 this: *mut core::ffi::c_void,
27334 touchmask: *mut u32,
27335 ) -> windows_core::HRESULT {
27336 unsafe {
27337 let this: &Identity =
27338 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27339 ICoreWebView2PointerInfo_Impl::TouchMask(
27340 this,
27341 core::mem::transmute_copy(&touchmask),
27342 )
27343 .into()
27344 }
27345 }
27346 unsafe extern "system" fn SetTouchMask<
27347 Identity: ICoreWebView2PointerInfo_Impl,
27348 const OFFSET: isize,
27349 >(
27350 this: *mut core::ffi::c_void,
27351 touchmask: u32,
27352 ) -> windows_core::HRESULT {
27353 unsafe {
27354 let this: &Identity =
27355 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27356 ICoreWebView2PointerInfo_Impl::SetTouchMask(
27357 this,
27358 core::mem::transmute_copy(&touchmask),
27359 )
27360 .into()
27361 }
27362 }
27363 unsafe extern "system" fn TouchContact<
27364 Identity: ICoreWebView2PointerInfo_Impl,
27365 const OFFSET: isize,
27366 >(
27367 this: *mut core::ffi::c_void,
27368 touchcontact: *mut windows::Win32::Foundation::RECT,
27369 ) -> windows_core::HRESULT {
27370 unsafe {
27371 let this: &Identity =
27372 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27373 ICoreWebView2PointerInfo_Impl::TouchContact(
27374 this,
27375 core::mem::transmute_copy(&touchcontact),
27376 )
27377 .into()
27378 }
27379 }
27380 unsafe extern "system" fn SetTouchContact<
27381 Identity: ICoreWebView2PointerInfo_Impl,
27382 const OFFSET: isize,
27383 >(
27384 this: *mut core::ffi::c_void,
27385 touchcontact: windows::Win32::Foundation::RECT,
27386 ) -> windows_core::HRESULT {
27387 unsafe {
27388 let this: &Identity =
27389 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27390 ICoreWebView2PointerInfo_Impl::SetTouchContact(
27391 this,
27392 core::mem::transmute(&touchcontact),
27393 )
27394 .into()
27395 }
27396 }
27397 unsafe extern "system" fn TouchContactRaw<
27398 Identity: ICoreWebView2PointerInfo_Impl,
27399 const OFFSET: isize,
27400 >(
27401 this: *mut core::ffi::c_void,
27402 touchcontactraw: *mut windows::Win32::Foundation::RECT,
27403 ) -> windows_core::HRESULT {
27404 unsafe {
27405 let this: &Identity =
27406 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27407 ICoreWebView2PointerInfo_Impl::TouchContactRaw(
27408 this,
27409 core::mem::transmute_copy(&touchcontactraw),
27410 )
27411 .into()
27412 }
27413 }
27414 unsafe extern "system" fn SetTouchContactRaw<
27415 Identity: ICoreWebView2PointerInfo_Impl,
27416 const OFFSET: isize,
27417 >(
27418 this: *mut core::ffi::c_void,
27419 touchcontactraw: windows::Win32::Foundation::RECT,
27420 ) -> windows_core::HRESULT {
27421 unsafe {
27422 let this: &Identity =
27423 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27424 ICoreWebView2PointerInfo_Impl::SetTouchContactRaw(
27425 this,
27426 core::mem::transmute(&touchcontactraw),
27427 )
27428 .into()
27429 }
27430 }
27431 unsafe extern "system" fn TouchOrientation<
27432 Identity: ICoreWebView2PointerInfo_Impl,
27433 const OFFSET: isize,
27434 >(
27435 this: *mut core::ffi::c_void,
27436 touchorientation: *mut u32,
27437 ) -> windows_core::HRESULT {
27438 unsafe {
27439 let this: &Identity =
27440 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27441 ICoreWebView2PointerInfo_Impl::TouchOrientation(
27442 this,
27443 core::mem::transmute_copy(&touchorientation),
27444 )
27445 .into()
27446 }
27447 }
27448 unsafe extern "system" fn SetTouchOrientation<
27449 Identity: ICoreWebView2PointerInfo_Impl,
27450 const OFFSET: isize,
27451 >(
27452 this: *mut core::ffi::c_void,
27453 touchorientation: u32,
27454 ) -> windows_core::HRESULT {
27455 unsafe {
27456 let this: &Identity =
27457 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27458 ICoreWebView2PointerInfo_Impl::SetTouchOrientation(
27459 this,
27460 core::mem::transmute_copy(&touchorientation),
27461 )
27462 .into()
27463 }
27464 }
27465 unsafe extern "system" fn TouchPressure<
27466 Identity: ICoreWebView2PointerInfo_Impl,
27467 const OFFSET: isize,
27468 >(
27469 this: *mut core::ffi::c_void,
27470 touchpressure: *mut u32,
27471 ) -> windows_core::HRESULT {
27472 unsafe {
27473 let this: &Identity =
27474 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27475 ICoreWebView2PointerInfo_Impl::TouchPressure(
27476 this,
27477 core::mem::transmute_copy(&touchpressure),
27478 )
27479 .into()
27480 }
27481 }
27482 unsafe extern "system" fn SetTouchPressure<
27483 Identity: ICoreWebView2PointerInfo_Impl,
27484 const OFFSET: isize,
27485 >(
27486 this: *mut core::ffi::c_void,
27487 touchpressure: u32,
27488 ) -> windows_core::HRESULT {
27489 unsafe {
27490 let this: &Identity =
27491 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27492 ICoreWebView2PointerInfo_Impl::SetTouchPressure(
27493 this,
27494 core::mem::transmute_copy(&touchpressure),
27495 )
27496 .into()
27497 }
27498 }
27499 Self {
27500 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
27501 PointerKind: PointerKind::<Identity, OFFSET>,
27502 SetPointerKind: SetPointerKind::<Identity, OFFSET>,
27503 PointerId: PointerId::<Identity, OFFSET>,
27504 SetPointerId: SetPointerId::<Identity, OFFSET>,
27505 FrameId: FrameId::<Identity, OFFSET>,
27506 SetFrameId: SetFrameId::<Identity, OFFSET>,
27507 PointerFlags: PointerFlags::<Identity, OFFSET>,
27508 SetPointerFlags: SetPointerFlags::<Identity, OFFSET>,
27509 PointerDeviceRect: PointerDeviceRect::<Identity, OFFSET>,
27510 SetPointerDeviceRect: SetPointerDeviceRect::<Identity, OFFSET>,
27511 DisplayRect: DisplayRect::<Identity, OFFSET>,
27512 SetDisplayRect: SetDisplayRect::<Identity, OFFSET>,
27513 PixelLocation: PixelLocation::<Identity, OFFSET>,
27514 SetPixelLocation: SetPixelLocation::<Identity, OFFSET>,
27515 HimetricLocation: HimetricLocation::<Identity, OFFSET>,
27516 SetHimetricLocation: SetHimetricLocation::<Identity, OFFSET>,
27517 PixelLocationRaw: PixelLocationRaw::<Identity, OFFSET>,
27518 SetPixelLocationRaw: SetPixelLocationRaw::<Identity, OFFSET>,
27519 HimetricLocationRaw: HimetricLocationRaw::<Identity, OFFSET>,
27520 SetHimetricLocationRaw: SetHimetricLocationRaw::<Identity, OFFSET>,
27521 Time: Time::<Identity, OFFSET>,
27522 SetTime: SetTime::<Identity, OFFSET>,
27523 HistoryCount: HistoryCount::<Identity, OFFSET>,
27524 SetHistoryCount: SetHistoryCount::<Identity, OFFSET>,
27525 InputData: InputData::<Identity, OFFSET>,
27526 SetInputData: SetInputData::<Identity, OFFSET>,
27527 KeyStates: KeyStates::<Identity, OFFSET>,
27528 SetKeyStates: SetKeyStates::<Identity, OFFSET>,
27529 PerformanceCount: PerformanceCount::<Identity, OFFSET>,
27530 SetPerformanceCount: SetPerformanceCount::<Identity, OFFSET>,
27531 ButtonChangeKind: ButtonChangeKind::<Identity, OFFSET>,
27532 SetButtonChangeKind: SetButtonChangeKind::<Identity, OFFSET>,
27533 PenFlags: PenFlags::<Identity, OFFSET>,
27534 SetPenFlags: SetPenFlags::<Identity, OFFSET>,
27535 PenMask: PenMask::<Identity, OFFSET>,
27536 SetPenMask: SetPenMask::<Identity, OFFSET>,
27537 PenPressure: PenPressure::<Identity, OFFSET>,
27538 SetPenPressure: SetPenPressure::<Identity, OFFSET>,
27539 PenRotation: PenRotation::<Identity, OFFSET>,
27540 SetPenRotation: SetPenRotation::<Identity, OFFSET>,
27541 PenTiltX: PenTiltX::<Identity, OFFSET>,
27542 SetPenTiltX: SetPenTiltX::<Identity, OFFSET>,
27543 PenTiltY: PenTiltY::<Identity, OFFSET>,
27544 SetPenTiltY: SetPenTiltY::<Identity, OFFSET>,
27545 TouchFlags: TouchFlags::<Identity, OFFSET>,
27546 SetTouchFlags: SetTouchFlags::<Identity, OFFSET>,
27547 TouchMask: TouchMask::<Identity, OFFSET>,
27548 SetTouchMask: SetTouchMask::<Identity, OFFSET>,
27549 TouchContact: TouchContact::<Identity, OFFSET>,
27550 SetTouchContact: SetTouchContact::<Identity, OFFSET>,
27551 TouchContactRaw: TouchContactRaw::<Identity, OFFSET>,
27552 SetTouchContactRaw: SetTouchContactRaw::<Identity, OFFSET>,
27553 TouchOrientation: TouchOrientation::<Identity, OFFSET>,
27554 SetTouchOrientation: SetTouchOrientation::<Identity, OFFSET>,
27555 TouchPressure: TouchPressure::<Identity, OFFSET>,
27556 SetTouchPressure: SetTouchPressure::<Identity, OFFSET>,
27557 }
27558 }
27559 pub fn matches(iid: &windows_core::GUID) -> bool {
27560 iid == &<ICoreWebView2PointerInfo as windows_core::Interface>::IID
27561 }
27562}
27563impl windows_core::RuntimeName for ICoreWebView2PointerInfo {}
27564windows_core::imp::define_interface!(
27565 ICoreWebView2PrintCompletedHandler,
27566 ICoreWebView2PrintCompletedHandler_Vtbl,
27567 0x8fd80075_ed08_42db_8570_f5d14977461e
27568);
27569windows_core::imp::interface_hierarchy!(ICoreWebView2PrintCompletedHandler, windows_core::IUnknown);
27570impl ICoreWebView2PrintCompletedHandler {
27571 pub unsafe fn Invoke(
27572 &self,
27573 errorcode: windows_core::HRESULT,
27574 result: COREWEBVIEW2_PRINT_STATUS,
27575 ) -> windows_core::Result<()> {
27576 unsafe {
27577 (windows_core::Interface::vtable(self).Invoke)(
27578 windows_core::Interface::as_raw(self),
27579 errorcode,
27580 result,
27581 )
27582 .ok()
27583 }
27584 }
27585}
27586#[repr(C)]
27587#[doc(hidden)]
27588pub struct ICoreWebView2PrintCompletedHandler_Vtbl {
27589 pub base__: windows_core::IUnknown_Vtbl,
27590 pub Invoke: unsafe extern "system" fn(
27591 *mut core::ffi::c_void,
27592 windows_core::HRESULT,
27593 COREWEBVIEW2_PRINT_STATUS,
27594 ) -> windows_core::HRESULT,
27595}
27596pub trait ICoreWebView2PrintCompletedHandler_Impl: windows_core::IUnknownImpl {
27597 fn Invoke(
27598 &self,
27599 errorcode: windows_core::HRESULT,
27600 result: COREWEBVIEW2_PRINT_STATUS,
27601 ) -> windows_core::Result<()>;
27602}
27603impl ICoreWebView2PrintCompletedHandler_Vtbl {
27604 pub const fn new<Identity: ICoreWebView2PrintCompletedHandler_Impl, const OFFSET: isize>(
27605 ) -> Self {
27606 unsafe extern "system" fn Invoke<
27607 Identity: ICoreWebView2PrintCompletedHandler_Impl,
27608 const OFFSET: isize,
27609 >(
27610 this: *mut core::ffi::c_void,
27611 errorcode: windows_core::HRESULT,
27612 result: COREWEBVIEW2_PRINT_STATUS,
27613 ) -> windows_core::HRESULT {
27614 unsafe {
27615 let this: &Identity =
27616 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27617 ICoreWebView2PrintCompletedHandler_Impl::Invoke(
27618 this,
27619 core::mem::transmute_copy(&errorcode),
27620 core::mem::transmute_copy(&result),
27621 )
27622 .into()
27623 }
27624 }
27625 Self {
27626 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
27627 Invoke: Invoke::<Identity, OFFSET>,
27628 }
27629 }
27630 pub fn matches(iid: &windows_core::GUID) -> bool {
27631 iid == &<ICoreWebView2PrintCompletedHandler as windows_core::Interface>::IID
27632 }
27633}
27634impl windows_core::RuntimeName for ICoreWebView2PrintCompletedHandler {}
27635windows_core::imp::define_interface!(
27636 ICoreWebView2PrintSettings,
27637 ICoreWebView2PrintSettings_Vtbl,
27638 0x377f3721_c74e_48ca_8db1_df68e51d60e2
27639);
27640windows_core::imp::interface_hierarchy!(ICoreWebView2PrintSettings, windows_core::IUnknown);
27641impl ICoreWebView2PrintSettings {
27642 pub unsafe fn Orientation(
27643 &self,
27644 orientation: *mut COREWEBVIEW2_PRINT_ORIENTATION,
27645 ) -> windows_core::Result<()> {
27646 unsafe {
27647 (windows_core::Interface::vtable(self).Orientation)(
27648 windows_core::Interface::as_raw(self),
27649 orientation as _,
27650 )
27651 .ok()
27652 }
27653 }
27654 pub unsafe fn SetOrientation(
27655 &self,
27656 orientation: COREWEBVIEW2_PRINT_ORIENTATION,
27657 ) -> windows_core::Result<()> {
27658 unsafe {
27659 (windows_core::Interface::vtable(self).SetOrientation)(
27660 windows_core::Interface::as_raw(self),
27661 orientation,
27662 )
27663 .ok()
27664 }
27665 }
27666 pub unsafe fn ScaleFactor(&self, scalefactor: *mut f64) -> windows_core::Result<()> {
27667 unsafe {
27668 (windows_core::Interface::vtable(self).ScaleFactor)(
27669 windows_core::Interface::as_raw(self),
27670 scalefactor as _,
27671 )
27672 .ok()
27673 }
27674 }
27675 pub unsafe fn SetScaleFactor(&self, scalefactor: f64) -> windows_core::Result<()> {
27676 unsafe {
27677 (windows_core::Interface::vtable(self).SetScaleFactor)(
27678 windows_core::Interface::as_raw(self),
27679 scalefactor,
27680 )
27681 .ok()
27682 }
27683 }
27684 pub unsafe fn PageWidth(&self, pagewidth: *mut f64) -> windows_core::Result<()> {
27685 unsafe {
27686 (windows_core::Interface::vtable(self).PageWidth)(
27687 windows_core::Interface::as_raw(self),
27688 pagewidth as _,
27689 )
27690 .ok()
27691 }
27692 }
27693 pub unsafe fn SetPageWidth(&self, pagewidth: f64) -> windows_core::Result<()> {
27694 unsafe {
27695 (windows_core::Interface::vtable(self).SetPageWidth)(
27696 windows_core::Interface::as_raw(self),
27697 pagewidth,
27698 )
27699 .ok()
27700 }
27701 }
27702 pub unsafe fn PageHeight(&self, pageheight: *mut f64) -> windows_core::Result<()> {
27703 unsafe {
27704 (windows_core::Interface::vtable(self).PageHeight)(
27705 windows_core::Interface::as_raw(self),
27706 pageheight as _,
27707 )
27708 .ok()
27709 }
27710 }
27711 pub unsafe fn SetPageHeight(&self, pageheight: f64) -> windows_core::Result<()> {
27712 unsafe {
27713 (windows_core::Interface::vtable(self).SetPageHeight)(
27714 windows_core::Interface::as_raw(self),
27715 pageheight,
27716 )
27717 .ok()
27718 }
27719 }
27720 pub unsafe fn MarginTop(&self, margintop: *mut f64) -> windows_core::Result<()> {
27721 unsafe {
27722 (windows_core::Interface::vtable(self).MarginTop)(
27723 windows_core::Interface::as_raw(self),
27724 margintop as _,
27725 )
27726 .ok()
27727 }
27728 }
27729 pub unsafe fn SetMarginTop(&self, margintop: f64) -> windows_core::Result<()> {
27730 unsafe {
27731 (windows_core::Interface::vtable(self).SetMarginTop)(
27732 windows_core::Interface::as_raw(self),
27733 margintop,
27734 )
27735 .ok()
27736 }
27737 }
27738 pub unsafe fn MarginBottom(&self, marginbottom: *mut f64) -> windows_core::Result<()> {
27739 unsafe {
27740 (windows_core::Interface::vtable(self).MarginBottom)(
27741 windows_core::Interface::as_raw(self),
27742 marginbottom as _,
27743 )
27744 .ok()
27745 }
27746 }
27747 pub unsafe fn SetMarginBottom(&self, marginbottom: f64) -> windows_core::Result<()> {
27748 unsafe {
27749 (windows_core::Interface::vtable(self).SetMarginBottom)(
27750 windows_core::Interface::as_raw(self),
27751 marginbottom,
27752 )
27753 .ok()
27754 }
27755 }
27756 pub unsafe fn MarginLeft(&self, marginleft: *mut f64) -> windows_core::Result<()> {
27757 unsafe {
27758 (windows_core::Interface::vtable(self).MarginLeft)(
27759 windows_core::Interface::as_raw(self),
27760 marginleft as _,
27761 )
27762 .ok()
27763 }
27764 }
27765 pub unsafe fn SetMarginLeft(&self, marginleft: f64) -> windows_core::Result<()> {
27766 unsafe {
27767 (windows_core::Interface::vtable(self).SetMarginLeft)(
27768 windows_core::Interface::as_raw(self),
27769 marginleft,
27770 )
27771 .ok()
27772 }
27773 }
27774 pub unsafe fn MarginRight(&self, marginright: *mut f64) -> windows_core::Result<()> {
27775 unsafe {
27776 (windows_core::Interface::vtable(self).MarginRight)(
27777 windows_core::Interface::as_raw(self),
27778 marginright as _,
27779 )
27780 .ok()
27781 }
27782 }
27783 pub unsafe fn SetMarginRight(&self, marginright: f64) -> windows_core::Result<()> {
27784 unsafe {
27785 (windows_core::Interface::vtable(self).SetMarginRight)(
27786 windows_core::Interface::as_raw(self),
27787 marginright,
27788 )
27789 .ok()
27790 }
27791 }
27792 pub unsafe fn ShouldPrintBackgrounds(
27793 &self,
27794 shouldprintbackgrounds: *mut windows_core::BOOL,
27795 ) -> windows_core::Result<()> {
27796 unsafe {
27797 (windows_core::Interface::vtable(self).ShouldPrintBackgrounds)(
27798 windows_core::Interface::as_raw(self),
27799 shouldprintbackgrounds as _,
27800 )
27801 .ok()
27802 }
27803 }
27804 pub unsafe fn SetShouldPrintBackgrounds(
27805 &self,
27806 shouldprintbackgrounds: bool,
27807 ) -> windows_core::Result<()> {
27808 unsafe {
27809 (windows_core::Interface::vtable(self).SetShouldPrintBackgrounds)(
27810 windows_core::Interface::as_raw(self),
27811 shouldprintbackgrounds.into(),
27812 )
27813 .ok()
27814 }
27815 }
27816 pub unsafe fn ShouldPrintSelectionOnly(
27817 &self,
27818 shouldprintselectiononly: *mut windows_core::BOOL,
27819 ) -> windows_core::Result<()> {
27820 unsafe {
27821 (windows_core::Interface::vtable(self).ShouldPrintSelectionOnly)(
27822 windows_core::Interface::as_raw(self),
27823 shouldprintselectiononly as _,
27824 )
27825 .ok()
27826 }
27827 }
27828 pub unsafe fn SetShouldPrintSelectionOnly(
27829 &self,
27830 shouldprintselectiononly: bool,
27831 ) -> windows_core::Result<()> {
27832 unsafe {
27833 (windows_core::Interface::vtable(self).SetShouldPrintSelectionOnly)(
27834 windows_core::Interface::as_raw(self),
27835 shouldprintselectiononly.into(),
27836 )
27837 .ok()
27838 }
27839 }
27840 pub unsafe fn ShouldPrintHeaderAndFooter(
27841 &self,
27842 shouldprintheaderandfooter: *mut windows_core::BOOL,
27843 ) -> windows_core::Result<()> {
27844 unsafe {
27845 (windows_core::Interface::vtable(self).ShouldPrintHeaderAndFooter)(
27846 windows_core::Interface::as_raw(self),
27847 shouldprintheaderandfooter as _,
27848 )
27849 .ok()
27850 }
27851 }
27852 pub unsafe fn SetShouldPrintHeaderAndFooter(
27853 &self,
27854 shouldprintheaderandfooter: bool,
27855 ) -> windows_core::Result<()> {
27856 unsafe {
27857 (windows_core::Interface::vtable(self).SetShouldPrintHeaderAndFooter)(
27858 windows_core::Interface::as_raw(self),
27859 shouldprintheaderandfooter.into(),
27860 )
27861 .ok()
27862 }
27863 }
27864 pub unsafe fn HeaderTitle(
27865 &self,
27866 headertitle: *mut windows_core::PWSTR,
27867 ) -> windows_core::Result<()> {
27868 unsafe {
27869 (windows_core::Interface::vtable(self).HeaderTitle)(
27870 windows_core::Interface::as_raw(self),
27871 headertitle as _,
27872 )
27873 .ok()
27874 }
27875 }
27876 pub unsafe fn SetHeaderTitle<P0>(&self, headertitle: P0) -> windows_core::Result<()>
27877 where
27878 P0: windows_core::Param<windows_core::PCWSTR>,
27879 {
27880 unsafe {
27881 (windows_core::Interface::vtable(self).SetHeaderTitle)(
27882 windows_core::Interface::as_raw(self),
27883 headertitle.param().abi(),
27884 )
27885 .ok()
27886 }
27887 }
27888 pub unsafe fn FooterUri(
27889 &self,
27890 footeruri: *mut windows_core::PWSTR,
27891 ) -> windows_core::Result<()> {
27892 unsafe {
27893 (windows_core::Interface::vtable(self).FooterUri)(
27894 windows_core::Interface::as_raw(self),
27895 footeruri as _,
27896 )
27897 .ok()
27898 }
27899 }
27900 pub unsafe fn SetFooterUri<P0>(&self, footeruri: P0) -> windows_core::Result<()>
27901 where
27902 P0: windows_core::Param<windows_core::PCWSTR>,
27903 {
27904 unsafe {
27905 (windows_core::Interface::vtable(self).SetFooterUri)(
27906 windows_core::Interface::as_raw(self),
27907 footeruri.param().abi(),
27908 )
27909 .ok()
27910 }
27911 }
27912}
27913#[repr(C)]
27914#[doc(hidden)]
27915pub struct ICoreWebView2PrintSettings_Vtbl {
27916 pub base__: windows_core::IUnknown_Vtbl,
27917 pub Orientation: unsafe extern "system" fn(
27918 *mut core::ffi::c_void,
27919 *mut COREWEBVIEW2_PRINT_ORIENTATION,
27920 ) -> windows_core::HRESULT,
27921 pub SetOrientation: unsafe extern "system" fn(
27922 *mut core::ffi::c_void,
27923 COREWEBVIEW2_PRINT_ORIENTATION,
27924 ) -> windows_core::HRESULT,
27925 pub ScaleFactor:
27926 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27927 pub SetScaleFactor:
27928 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27929 pub PageWidth:
27930 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27931 pub SetPageWidth:
27932 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27933 pub PageHeight:
27934 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27935 pub SetPageHeight:
27936 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27937 pub MarginTop:
27938 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27939 pub SetMarginTop:
27940 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27941 pub MarginBottom:
27942 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27943 pub SetMarginBottom:
27944 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27945 pub MarginLeft:
27946 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27947 pub SetMarginLeft:
27948 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27949 pub MarginRight:
27950 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27951 pub SetMarginRight:
27952 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27953 pub ShouldPrintBackgrounds: unsafe extern "system" fn(
27954 *mut core::ffi::c_void,
27955 *mut windows_core::BOOL,
27956 ) -> windows_core::HRESULT,
27957 pub SetShouldPrintBackgrounds: unsafe extern "system" fn(
27958 *mut core::ffi::c_void,
27959 windows_core::BOOL,
27960 ) -> windows_core::HRESULT,
27961 pub ShouldPrintSelectionOnly: unsafe extern "system" fn(
27962 *mut core::ffi::c_void,
27963 *mut windows_core::BOOL,
27964 ) -> windows_core::HRESULT,
27965 pub SetShouldPrintSelectionOnly: unsafe extern "system" fn(
27966 *mut core::ffi::c_void,
27967 windows_core::BOOL,
27968 ) -> windows_core::HRESULT,
27969 pub ShouldPrintHeaderAndFooter: unsafe extern "system" fn(
27970 *mut core::ffi::c_void,
27971 *mut windows_core::BOOL,
27972 ) -> windows_core::HRESULT,
27973 pub SetShouldPrintHeaderAndFooter: unsafe extern "system" fn(
27974 *mut core::ffi::c_void,
27975 windows_core::BOOL,
27976 ) -> windows_core::HRESULT,
27977 pub HeaderTitle: unsafe extern "system" fn(
27978 *mut core::ffi::c_void,
27979 *mut windows_core::PWSTR,
27980 ) -> windows_core::HRESULT,
27981 pub SetHeaderTitle: unsafe extern "system" fn(
27982 *mut core::ffi::c_void,
27983 windows_core::PCWSTR,
27984 ) -> windows_core::HRESULT,
27985 pub FooterUri: unsafe extern "system" fn(
27986 *mut core::ffi::c_void,
27987 *mut windows_core::PWSTR,
27988 ) -> windows_core::HRESULT,
27989 pub SetFooterUri: unsafe extern "system" fn(
27990 *mut core::ffi::c_void,
27991 windows_core::PCWSTR,
27992 ) -> windows_core::HRESULT,
27993}
27994pub trait ICoreWebView2PrintSettings_Impl: windows_core::IUnknownImpl {
27995 fn Orientation(
27996 &self,
27997 orientation: *mut COREWEBVIEW2_PRINT_ORIENTATION,
27998 ) -> windows_core::Result<()>;
27999 fn SetOrientation(
28000 &self,
28001 orientation: COREWEBVIEW2_PRINT_ORIENTATION,
28002 ) -> windows_core::Result<()>;
28003 fn ScaleFactor(&self, scalefactor: *mut f64) -> windows_core::Result<()>;
28004 fn SetScaleFactor(&self, scalefactor: f64) -> windows_core::Result<()>;
28005 fn PageWidth(&self, pagewidth: *mut f64) -> windows_core::Result<()>;
28006 fn SetPageWidth(&self, pagewidth: f64) -> windows_core::Result<()>;
28007 fn PageHeight(&self, pageheight: *mut f64) -> windows_core::Result<()>;
28008 fn SetPageHeight(&self, pageheight: f64) -> windows_core::Result<()>;
28009 fn MarginTop(&self, margintop: *mut f64) -> windows_core::Result<()>;
28010 fn SetMarginTop(&self, margintop: f64) -> windows_core::Result<()>;
28011 fn MarginBottom(&self, marginbottom: *mut f64) -> windows_core::Result<()>;
28012 fn SetMarginBottom(&self, marginbottom: f64) -> windows_core::Result<()>;
28013 fn MarginLeft(&self, marginleft: *mut f64) -> windows_core::Result<()>;
28014 fn SetMarginLeft(&self, marginleft: f64) -> windows_core::Result<()>;
28015 fn MarginRight(&self, marginright: *mut f64) -> windows_core::Result<()>;
28016 fn SetMarginRight(&self, marginright: f64) -> windows_core::Result<()>;
28017 fn ShouldPrintBackgrounds(
28018 &self,
28019 shouldprintbackgrounds: *mut windows_core::BOOL,
28020 ) -> windows_core::Result<()>;
28021 fn SetShouldPrintBackgrounds(
28022 &self,
28023 shouldprintbackgrounds: windows_core::BOOL,
28024 ) -> windows_core::Result<()>;
28025 fn ShouldPrintSelectionOnly(
28026 &self,
28027 shouldprintselectiononly: *mut windows_core::BOOL,
28028 ) -> windows_core::Result<()>;
28029 fn SetShouldPrintSelectionOnly(
28030 &self,
28031 shouldprintselectiononly: windows_core::BOOL,
28032 ) -> windows_core::Result<()>;
28033 fn ShouldPrintHeaderAndFooter(
28034 &self,
28035 shouldprintheaderandfooter: *mut windows_core::BOOL,
28036 ) -> windows_core::Result<()>;
28037 fn SetShouldPrintHeaderAndFooter(
28038 &self,
28039 shouldprintheaderandfooter: windows_core::BOOL,
28040 ) -> windows_core::Result<()>;
28041 fn HeaderTitle(&self, headertitle: *mut windows_core::PWSTR) -> windows_core::Result<()>;
28042 fn SetHeaderTitle(&self, headertitle: &windows_core::PCWSTR) -> windows_core::Result<()>;
28043 fn FooterUri(&self, footeruri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
28044 fn SetFooterUri(&self, footeruri: &windows_core::PCWSTR) -> windows_core::Result<()>;
28045}
28046impl ICoreWebView2PrintSettings_Vtbl {
28047 pub const fn new<Identity: ICoreWebView2PrintSettings_Impl, const OFFSET: isize>() -> Self {
28048 unsafe extern "system" fn Orientation<
28049 Identity: ICoreWebView2PrintSettings_Impl,
28050 const OFFSET: isize,
28051 >(
28052 this: *mut core::ffi::c_void,
28053 orientation: *mut COREWEBVIEW2_PRINT_ORIENTATION,
28054 ) -> windows_core::HRESULT {
28055 unsafe {
28056 let this: &Identity =
28057 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28058 ICoreWebView2PrintSettings_Impl::Orientation(
28059 this,
28060 core::mem::transmute_copy(&orientation),
28061 )
28062 .into()
28063 }
28064 }
28065 unsafe extern "system" fn SetOrientation<
28066 Identity: ICoreWebView2PrintSettings_Impl,
28067 const OFFSET: isize,
28068 >(
28069 this: *mut core::ffi::c_void,
28070 orientation: COREWEBVIEW2_PRINT_ORIENTATION,
28071 ) -> windows_core::HRESULT {
28072 unsafe {
28073 let this: &Identity =
28074 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28075 ICoreWebView2PrintSettings_Impl::SetOrientation(
28076 this,
28077 core::mem::transmute_copy(&orientation),
28078 )
28079 .into()
28080 }
28081 }
28082 unsafe extern "system" fn ScaleFactor<
28083 Identity: ICoreWebView2PrintSettings_Impl,
28084 const OFFSET: isize,
28085 >(
28086 this: *mut core::ffi::c_void,
28087 scalefactor: *mut f64,
28088 ) -> windows_core::HRESULT {
28089 unsafe {
28090 let this: &Identity =
28091 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28092 ICoreWebView2PrintSettings_Impl::ScaleFactor(
28093 this,
28094 core::mem::transmute_copy(&scalefactor),
28095 )
28096 .into()
28097 }
28098 }
28099 unsafe extern "system" fn SetScaleFactor<
28100 Identity: ICoreWebView2PrintSettings_Impl,
28101 const OFFSET: isize,
28102 >(
28103 this: *mut core::ffi::c_void,
28104 scalefactor: f64,
28105 ) -> windows_core::HRESULT {
28106 unsafe {
28107 let this: &Identity =
28108 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28109 ICoreWebView2PrintSettings_Impl::SetScaleFactor(
28110 this,
28111 core::mem::transmute_copy(&scalefactor),
28112 )
28113 .into()
28114 }
28115 }
28116 unsafe extern "system" fn PageWidth<
28117 Identity: ICoreWebView2PrintSettings_Impl,
28118 const OFFSET: isize,
28119 >(
28120 this: *mut core::ffi::c_void,
28121 pagewidth: *mut f64,
28122 ) -> windows_core::HRESULT {
28123 unsafe {
28124 let this: &Identity =
28125 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28126 ICoreWebView2PrintSettings_Impl::PageWidth(
28127 this,
28128 core::mem::transmute_copy(&pagewidth),
28129 )
28130 .into()
28131 }
28132 }
28133 unsafe extern "system" fn SetPageWidth<
28134 Identity: ICoreWebView2PrintSettings_Impl,
28135 const OFFSET: isize,
28136 >(
28137 this: *mut core::ffi::c_void,
28138 pagewidth: f64,
28139 ) -> windows_core::HRESULT {
28140 unsafe {
28141 let this: &Identity =
28142 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28143 ICoreWebView2PrintSettings_Impl::SetPageWidth(
28144 this,
28145 core::mem::transmute_copy(&pagewidth),
28146 )
28147 .into()
28148 }
28149 }
28150 unsafe extern "system" fn PageHeight<
28151 Identity: ICoreWebView2PrintSettings_Impl,
28152 const OFFSET: isize,
28153 >(
28154 this: *mut core::ffi::c_void,
28155 pageheight: *mut f64,
28156 ) -> windows_core::HRESULT {
28157 unsafe {
28158 let this: &Identity =
28159 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28160 ICoreWebView2PrintSettings_Impl::PageHeight(
28161 this,
28162 core::mem::transmute_copy(&pageheight),
28163 )
28164 .into()
28165 }
28166 }
28167 unsafe extern "system" fn SetPageHeight<
28168 Identity: ICoreWebView2PrintSettings_Impl,
28169 const OFFSET: isize,
28170 >(
28171 this: *mut core::ffi::c_void,
28172 pageheight: f64,
28173 ) -> windows_core::HRESULT {
28174 unsafe {
28175 let this: &Identity =
28176 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28177 ICoreWebView2PrintSettings_Impl::SetPageHeight(
28178 this,
28179 core::mem::transmute_copy(&pageheight),
28180 )
28181 .into()
28182 }
28183 }
28184 unsafe extern "system" fn MarginTop<
28185 Identity: ICoreWebView2PrintSettings_Impl,
28186 const OFFSET: isize,
28187 >(
28188 this: *mut core::ffi::c_void,
28189 margintop: *mut f64,
28190 ) -> windows_core::HRESULT {
28191 unsafe {
28192 let this: &Identity =
28193 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28194 ICoreWebView2PrintSettings_Impl::MarginTop(
28195 this,
28196 core::mem::transmute_copy(&margintop),
28197 )
28198 .into()
28199 }
28200 }
28201 unsafe extern "system" fn SetMarginTop<
28202 Identity: ICoreWebView2PrintSettings_Impl,
28203 const OFFSET: isize,
28204 >(
28205 this: *mut core::ffi::c_void,
28206 margintop: f64,
28207 ) -> windows_core::HRESULT {
28208 unsafe {
28209 let this: &Identity =
28210 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28211 ICoreWebView2PrintSettings_Impl::SetMarginTop(
28212 this,
28213 core::mem::transmute_copy(&margintop),
28214 )
28215 .into()
28216 }
28217 }
28218 unsafe extern "system" fn MarginBottom<
28219 Identity: ICoreWebView2PrintSettings_Impl,
28220 const OFFSET: isize,
28221 >(
28222 this: *mut core::ffi::c_void,
28223 marginbottom: *mut f64,
28224 ) -> windows_core::HRESULT {
28225 unsafe {
28226 let this: &Identity =
28227 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28228 ICoreWebView2PrintSettings_Impl::MarginBottom(
28229 this,
28230 core::mem::transmute_copy(&marginbottom),
28231 )
28232 .into()
28233 }
28234 }
28235 unsafe extern "system" fn SetMarginBottom<
28236 Identity: ICoreWebView2PrintSettings_Impl,
28237 const OFFSET: isize,
28238 >(
28239 this: *mut core::ffi::c_void,
28240 marginbottom: f64,
28241 ) -> windows_core::HRESULT {
28242 unsafe {
28243 let this: &Identity =
28244 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28245 ICoreWebView2PrintSettings_Impl::SetMarginBottom(
28246 this,
28247 core::mem::transmute_copy(&marginbottom),
28248 )
28249 .into()
28250 }
28251 }
28252 unsafe extern "system" fn MarginLeft<
28253 Identity: ICoreWebView2PrintSettings_Impl,
28254 const OFFSET: isize,
28255 >(
28256 this: *mut core::ffi::c_void,
28257 marginleft: *mut f64,
28258 ) -> windows_core::HRESULT {
28259 unsafe {
28260 let this: &Identity =
28261 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28262 ICoreWebView2PrintSettings_Impl::MarginLeft(
28263 this,
28264 core::mem::transmute_copy(&marginleft),
28265 )
28266 .into()
28267 }
28268 }
28269 unsafe extern "system" fn SetMarginLeft<
28270 Identity: ICoreWebView2PrintSettings_Impl,
28271 const OFFSET: isize,
28272 >(
28273 this: *mut core::ffi::c_void,
28274 marginleft: f64,
28275 ) -> windows_core::HRESULT {
28276 unsafe {
28277 let this: &Identity =
28278 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28279 ICoreWebView2PrintSettings_Impl::SetMarginLeft(
28280 this,
28281 core::mem::transmute_copy(&marginleft),
28282 )
28283 .into()
28284 }
28285 }
28286 unsafe extern "system" fn MarginRight<
28287 Identity: ICoreWebView2PrintSettings_Impl,
28288 const OFFSET: isize,
28289 >(
28290 this: *mut core::ffi::c_void,
28291 marginright: *mut f64,
28292 ) -> windows_core::HRESULT {
28293 unsafe {
28294 let this: &Identity =
28295 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28296 ICoreWebView2PrintSettings_Impl::MarginRight(
28297 this,
28298 core::mem::transmute_copy(&marginright),
28299 )
28300 .into()
28301 }
28302 }
28303 unsafe extern "system" fn SetMarginRight<
28304 Identity: ICoreWebView2PrintSettings_Impl,
28305 const OFFSET: isize,
28306 >(
28307 this: *mut core::ffi::c_void,
28308 marginright: f64,
28309 ) -> windows_core::HRESULT {
28310 unsafe {
28311 let this: &Identity =
28312 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28313 ICoreWebView2PrintSettings_Impl::SetMarginRight(
28314 this,
28315 core::mem::transmute_copy(&marginright),
28316 )
28317 .into()
28318 }
28319 }
28320 unsafe extern "system" fn ShouldPrintBackgrounds<
28321 Identity: ICoreWebView2PrintSettings_Impl,
28322 const OFFSET: isize,
28323 >(
28324 this: *mut core::ffi::c_void,
28325 shouldprintbackgrounds: *mut windows_core::BOOL,
28326 ) -> windows_core::HRESULT {
28327 unsafe {
28328 let this: &Identity =
28329 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28330 ICoreWebView2PrintSettings_Impl::ShouldPrintBackgrounds(
28331 this,
28332 core::mem::transmute_copy(&shouldprintbackgrounds),
28333 )
28334 .into()
28335 }
28336 }
28337 unsafe extern "system" fn SetShouldPrintBackgrounds<
28338 Identity: ICoreWebView2PrintSettings_Impl,
28339 const OFFSET: isize,
28340 >(
28341 this: *mut core::ffi::c_void,
28342 shouldprintbackgrounds: windows_core::BOOL,
28343 ) -> windows_core::HRESULT {
28344 unsafe {
28345 let this: &Identity =
28346 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28347 ICoreWebView2PrintSettings_Impl::SetShouldPrintBackgrounds(
28348 this,
28349 core::mem::transmute_copy(&shouldprintbackgrounds),
28350 )
28351 .into()
28352 }
28353 }
28354 unsafe extern "system" fn ShouldPrintSelectionOnly<
28355 Identity: ICoreWebView2PrintSettings_Impl,
28356 const OFFSET: isize,
28357 >(
28358 this: *mut core::ffi::c_void,
28359 shouldprintselectiononly: *mut windows_core::BOOL,
28360 ) -> windows_core::HRESULT {
28361 unsafe {
28362 let this: &Identity =
28363 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28364 ICoreWebView2PrintSettings_Impl::ShouldPrintSelectionOnly(
28365 this,
28366 core::mem::transmute_copy(&shouldprintselectiononly),
28367 )
28368 .into()
28369 }
28370 }
28371 unsafe extern "system" fn SetShouldPrintSelectionOnly<
28372 Identity: ICoreWebView2PrintSettings_Impl,
28373 const OFFSET: isize,
28374 >(
28375 this: *mut core::ffi::c_void,
28376 shouldprintselectiononly: windows_core::BOOL,
28377 ) -> windows_core::HRESULT {
28378 unsafe {
28379 let this: &Identity =
28380 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28381 ICoreWebView2PrintSettings_Impl::SetShouldPrintSelectionOnly(
28382 this,
28383 core::mem::transmute_copy(&shouldprintselectiononly),
28384 )
28385 .into()
28386 }
28387 }
28388 unsafe extern "system" fn ShouldPrintHeaderAndFooter<
28389 Identity: ICoreWebView2PrintSettings_Impl,
28390 const OFFSET: isize,
28391 >(
28392 this: *mut core::ffi::c_void,
28393 shouldprintheaderandfooter: *mut windows_core::BOOL,
28394 ) -> windows_core::HRESULT {
28395 unsafe {
28396 let this: &Identity =
28397 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28398 ICoreWebView2PrintSettings_Impl::ShouldPrintHeaderAndFooter(
28399 this,
28400 core::mem::transmute_copy(&shouldprintheaderandfooter),
28401 )
28402 .into()
28403 }
28404 }
28405 unsafe extern "system" fn SetShouldPrintHeaderAndFooter<
28406 Identity: ICoreWebView2PrintSettings_Impl,
28407 const OFFSET: isize,
28408 >(
28409 this: *mut core::ffi::c_void,
28410 shouldprintheaderandfooter: windows_core::BOOL,
28411 ) -> windows_core::HRESULT {
28412 unsafe {
28413 let this: &Identity =
28414 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28415 ICoreWebView2PrintSettings_Impl::SetShouldPrintHeaderAndFooter(
28416 this,
28417 core::mem::transmute_copy(&shouldprintheaderandfooter),
28418 )
28419 .into()
28420 }
28421 }
28422 unsafe extern "system" fn HeaderTitle<
28423 Identity: ICoreWebView2PrintSettings_Impl,
28424 const OFFSET: isize,
28425 >(
28426 this: *mut core::ffi::c_void,
28427 headertitle: *mut windows_core::PWSTR,
28428 ) -> windows_core::HRESULT {
28429 unsafe {
28430 let this: &Identity =
28431 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28432 ICoreWebView2PrintSettings_Impl::HeaderTitle(
28433 this,
28434 core::mem::transmute_copy(&headertitle),
28435 )
28436 .into()
28437 }
28438 }
28439 unsafe extern "system" fn SetHeaderTitle<
28440 Identity: ICoreWebView2PrintSettings_Impl,
28441 const OFFSET: isize,
28442 >(
28443 this: *mut core::ffi::c_void,
28444 headertitle: windows_core::PCWSTR,
28445 ) -> windows_core::HRESULT {
28446 unsafe {
28447 let this: &Identity =
28448 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28449 ICoreWebView2PrintSettings_Impl::SetHeaderTitle(
28450 this,
28451 core::mem::transmute(&headertitle),
28452 )
28453 .into()
28454 }
28455 }
28456 unsafe extern "system" fn FooterUri<
28457 Identity: ICoreWebView2PrintSettings_Impl,
28458 const OFFSET: isize,
28459 >(
28460 this: *mut core::ffi::c_void,
28461 footeruri: *mut windows_core::PWSTR,
28462 ) -> windows_core::HRESULT {
28463 unsafe {
28464 let this: &Identity =
28465 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28466 ICoreWebView2PrintSettings_Impl::FooterUri(
28467 this,
28468 core::mem::transmute_copy(&footeruri),
28469 )
28470 .into()
28471 }
28472 }
28473 unsafe extern "system" fn SetFooterUri<
28474 Identity: ICoreWebView2PrintSettings_Impl,
28475 const OFFSET: isize,
28476 >(
28477 this: *mut core::ffi::c_void,
28478 footeruri: windows_core::PCWSTR,
28479 ) -> windows_core::HRESULT {
28480 unsafe {
28481 let this: &Identity =
28482 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28483 ICoreWebView2PrintSettings_Impl::SetFooterUri(
28484 this,
28485 core::mem::transmute(&footeruri),
28486 )
28487 .into()
28488 }
28489 }
28490 Self {
28491 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
28492 Orientation: Orientation::<Identity, OFFSET>,
28493 SetOrientation: SetOrientation::<Identity, OFFSET>,
28494 ScaleFactor: ScaleFactor::<Identity, OFFSET>,
28495 SetScaleFactor: SetScaleFactor::<Identity, OFFSET>,
28496 PageWidth: PageWidth::<Identity, OFFSET>,
28497 SetPageWidth: SetPageWidth::<Identity, OFFSET>,
28498 PageHeight: PageHeight::<Identity, OFFSET>,
28499 SetPageHeight: SetPageHeight::<Identity, OFFSET>,
28500 MarginTop: MarginTop::<Identity, OFFSET>,
28501 SetMarginTop: SetMarginTop::<Identity, OFFSET>,
28502 MarginBottom: MarginBottom::<Identity, OFFSET>,
28503 SetMarginBottom: SetMarginBottom::<Identity, OFFSET>,
28504 MarginLeft: MarginLeft::<Identity, OFFSET>,
28505 SetMarginLeft: SetMarginLeft::<Identity, OFFSET>,
28506 MarginRight: MarginRight::<Identity, OFFSET>,
28507 SetMarginRight: SetMarginRight::<Identity, OFFSET>,
28508 ShouldPrintBackgrounds: ShouldPrintBackgrounds::<Identity, OFFSET>,
28509 SetShouldPrintBackgrounds: SetShouldPrintBackgrounds::<Identity, OFFSET>,
28510 ShouldPrintSelectionOnly: ShouldPrintSelectionOnly::<Identity, OFFSET>,
28511 SetShouldPrintSelectionOnly: SetShouldPrintSelectionOnly::<Identity, OFFSET>,
28512 ShouldPrintHeaderAndFooter: ShouldPrintHeaderAndFooter::<Identity, OFFSET>,
28513 SetShouldPrintHeaderAndFooter: SetShouldPrintHeaderAndFooter::<Identity, OFFSET>,
28514 HeaderTitle: HeaderTitle::<Identity, OFFSET>,
28515 SetHeaderTitle: SetHeaderTitle::<Identity, OFFSET>,
28516 FooterUri: FooterUri::<Identity, OFFSET>,
28517 SetFooterUri: SetFooterUri::<Identity, OFFSET>,
28518 }
28519 }
28520 pub fn matches(iid: &windows_core::GUID) -> bool {
28521 iid == &<ICoreWebView2PrintSettings as windows_core::Interface>::IID
28522 }
28523}
28524impl windows_core::RuntimeName for ICoreWebView2PrintSettings {}
28525windows_core::imp::define_interface!(
28526 ICoreWebView2PrintSettings2,
28527 ICoreWebView2PrintSettings2_Vtbl,
28528 0xca7f0e1f_3484_41d1_8c1a_65cd44a63f8d
28529);
28530impl core::ops::Deref for ICoreWebView2PrintSettings2 {
28531 type Target = ICoreWebView2PrintSettings;
28532 fn deref(&self) -> &Self::Target {
28533 unsafe { core::mem::transmute(self) }
28534 }
28535}
28536windows_core::imp::interface_hierarchy!(
28537 ICoreWebView2PrintSettings2,
28538 windows_core::IUnknown,
28539 ICoreWebView2PrintSettings
28540);
28541impl ICoreWebView2PrintSettings2 {
28542 pub unsafe fn PageRanges(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
28543 unsafe {
28544 (windows_core::Interface::vtable(self).PageRanges)(
28545 windows_core::Interface::as_raw(self),
28546 value as _,
28547 )
28548 .ok()
28549 }
28550 }
28551 pub unsafe fn SetPageRanges<P0>(&self, value: P0) -> windows_core::Result<()>
28552 where
28553 P0: windows_core::Param<windows_core::PCWSTR>,
28554 {
28555 unsafe {
28556 (windows_core::Interface::vtable(self).SetPageRanges)(
28557 windows_core::Interface::as_raw(self),
28558 value.param().abi(),
28559 )
28560 .ok()
28561 }
28562 }
28563 pub unsafe fn PagesPerSide(&self, value: *mut i32) -> windows_core::Result<()> {
28564 unsafe {
28565 (windows_core::Interface::vtable(self).PagesPerSide)(
28566 windows_core::Interface::as_raw(self),
28567 value as _,
28568 )
28569 .ok()
28570 }
28571 }
28572 pub unsafe fn SetPagesPerSide(&self, value: i32) -> windows_core::Result<()> {
28573 unsafe {
28574 (windows_core::Interface::vtable(self).SetPagesPerSide)(
28575 windows_core::Interface::as_raw(self),
28576 value,
28577 )
28578 .ok()
28579 }
28580 }
28581 pub unsafe fn Copies(&self, value: *mut i32) -> windows_core::Result<()> {
28582 unsafe {
28583 (windows_core::Interface::vtable(self).Copies)(
28584 windows_core::Interface::as_raw(self),
28585 value as _,
28586 )
28587 .ok()
28588 }
28589 }
28590 pub unsafe fn SetCopies(&self, value: i32) -> windows_core::Result<()> {
28591 unsafe {
28592 (windows_core::Interface::vtable(self).SetCopies)(
28593 windows_core::Interface::as_raw(self),
28594 value,
28595 )
28596 .ok()
28597 }
28598 }
28599 pub unsafe fn Collation(
28600 &self,
28601 value: *mut COREWEBVIEW2_PRINT_COLLATION,
28602 ) -> windows_core::Result<()> {
28603 unsafe {
28604 (windows_core::Interface::vtable(self).Collation)(
28605 windows_core::Interface::as_raw(self),
28606 value as _,
28607 )
28608 .ok()
28609 }
28610 }
28611 pub unsafe fn SetCollation(
28612 &self,
28613 value: COREWEBVIEW2_PRINT_COLLATION,
28614 ) -> windows_core::Result<()> {
28615 unsafe {
28616 (windows_core::Interface::vtable(self).SetCollation)(
28617 windows_core::Interface::as_raw(self),
28618 value,
28619 )
28620 .ok()
28621 }
28622 }
28623 pub unsafe fn ColorMode(
28624 &self,
28625 value: *mut COREWEBVIEW2_PRINT_COLOR_MODE,
28626 ) -> windows_core::Result<()> {
28627 unsafe {
28628 (windows_core::Interface::vtable(self).ColorMode)(
28629 windows_core::Interface::as_raw(self),
28630 value as _,
28631 )
28632 .ok()
28633 }
28634 }
28635 pub unsafe fn SetColorMode(
28636 &self,
28637 value: COREWEBVIEW2_PRINT_COLOR_MODE,
28638 ) -> windows_core::Result<()> {
28639 unsafe {
28640 (windows_core::Interface::vtable(self).SetColorMode)(
28641 windows_core::Interface::as_raw(self),
28642 value,
28643 )
28644 .ok()
28645 }
28646 }
28647 pub unsafe fn Duplex(&self, value: *mut COREWEBVIEW2_PRINT_DUPLEX) -> windows_core::Result<()> {
28648 unsafe {
28649 (windows_core::Interface::vtable(self).Duplex)(
28650 windows_core::Interface::as_raw(self),
28651 value as _,
28652 )
28653 .ok()
28654 }
28655 }
28656 pub unsafe fn SetDuplex(&self, value: COREWEBVIEW2_PRINT_DUPLEX) -> windows_core::Result<()> {
28657 unsafe {
28658 (windows_core::Interface::vtable(self).SetDuplex)(
28659 windows_core::Interface::as_raw(self),
28660 value,
28661 )
28662 .ok()
28663 }
28664 }
28665 pub unsafe fn MediaSize(
28666 &self,
28667 value: *mut COREWEBVIEW2_PRINT_MEDIA_SIZE,
28668 ) -> windows_core::Result<()> {
28669 unsafe {
28670 (windows_core::Interface::vtable(self).MediaSize)(
28671 windows_core::Interface::as_raw(self),
28672 value as _,
28673 )
28674 .ok()
28675 }
28676 }
28677 pub unsafe fn SetMediaSize(
28678 &self,
28679 value: COREWEBVIEW2_PRINT_MEDIA_SIZE,
28680 ) -> windows_core::Result<()> {
28681 unsafe {
28682 (windows_core::Interface::vtable(self).SetMediaSize)(
28683 windows_core::Interface::as_raw(self),
28684 value,
28685 )
28686 .ok()
28687 }
28688 }
28689 pub unsafe fn PrinterName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
28690 unsafe {
28691 (windows_core::Interface::vtable(self).PrinterName)(
28692 windows_core::Interface::as_raw(self),
28693 value as _,
28694 )
28695 .ok()
28696 }
28697 }
28698 pub unsafe fn SetPrinterName<P0>(&self, value: P0) -> windows_core::Result<()>
28699 where
28700 P0: windows_core::Param<windows_core::PCWSTR>,
28701 {
28702 unsafe {
28703 (windows_core::Interface::vtable(self).SetPrinterName)(
28704 windows_core::Interface::as_raw(self),
28705 value.param().abi(),
28706 )
28707 .ok()
28708 }
28709 }
28710}
28711#[repr(C)]
28712#[doc(hidden)]
28713pub struct ICoreWebView2PrintSettings2_Vtbl {
28714 pub base__: ICoreWebView2PrintSettings_Vtbl,
28715 pub PageRanges: unsafe extern "system" fn(
28716 *mut core::ffi::c_void,
28717 *mut windows_core::PWSTR,
28718 ) -> windows_core::HRESULT,
28719 pub SetPageRanges: unsafe extern "system" fn(
28720 *mut core::ffi::c_void,
28721 windows_core::PCWSTR,
28722 ) -> windows_core::HRESULT,
28723 pub PagesPerSide:
28724 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
28725 pub SetPagesPerSide:
28726 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
28727 pub Copies:
28728 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
28729 pub SetCopies: unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
28730 pub Collation: unsafe extern "system" fn(
28731 *mut core::ffi::c_void,
28732 *mut COREWEBVIEW2_PRINT_COLLATION,
28733 ) -> windows_core::HRESULT,
28734 pub SetCollation: unsafe extern "system" fn(
28735 *mut core::ffi::c_void,
28736 COREWEBVIEW2_PRINT_COLLATION,
28737 ) -> windows_core::HRESULT,
28738 pub ColorMode: unsafe extern "system" fn(
28739 *mut core::ffi::c_void,
28740 *mut COREWEBVIEW2_PRINT_COLOR_MODE,
28741 ) -> windows_core::HRESULT,
28742 pub SetColorMode: unsafe extern "system" fn(
28743 *mut core::ffi::c_void,
28744 COREWEBVIEW2_PRINT_COLOR_MODE,
28745 ) -> windows_core::HRESULT,
28746 pub Duplex: unsafe extern "system" fn(
28747 *mut core::ffi::c_void,
28748 *mut COREWEBVIEW2_PRINT_DUPLEX,
28749 ) -> windows_core::HRESULT,
28750 pub SetDuplex: unsafe extern "system" fn(
28751 *mut core::ffi::c_void,
28752 COREWEBVIEW2_PRINT_DUPLEX,
28753 ) -> windows_core::HRESULT,
28754 pub MediaSize: unsafe extern "system" fn(
28755 *mut core::ffi::c_void,
28756 *mut COREWEBVIEW2_PRINT_MEDIA_SIZE,
28757 ) -> windows_core::HRESULT,
28758 pub SetMediaSize: unsafe extern "system" fn(
28759 *mut core::ffi::c_void,
28760 COREWEBVIEW2_PRINT_MEDIA_SIZE,
28761 ) -> windows_core::HRESULT,
28762 pub PrinterName: unsafe extern "system" fn(
28763 *mut core::ffi::c_void,
28764 *mut windows_core::PWSTR,
28765 ) -> windows_core::HRESULT,
28766 pub SetPrinterName: unsafe extern "system" fn(
28767 *mut core::ffi::c_void,
28768 windows_core::PCWSTR,
28769 ) -> windows_core::HRESULT,
28770}
28771pub trait ICoreWebView2PrintSettings2_Impl: ICoreWebView2PrintSettings_Impl {
28772 fn PageRanges(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
28773 fn SetPageRanges(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
28774 fn PagesPerSide(&self, value: *mut i32) -> windows_core::Result<()>;
28775 fn SetPagesPerSide(&self, value: i32) -> windows_core::Result<()>;
28776 fn Copies(&self, value: *mut i32) -> windows_core::Result<()>;
28777 fn SetCopies(&self, value: i32) -> windows_core::Result<()>;
28778 fn Collation(&self, value: *mut COREWEBVIEW2_PRINT_COLLATION) -> windows_core::Result<()>;
28779 fn SetCollation(&self, value: COREWEBVIEW2_PRINT_COLLATION) -> windows_core::Result<()>;
28780 fn ColorMode(&self, value: *mut COREWEBVIEW2_PRINT_COLOR_MODE) -> windows_core::Result<()>;
28781 fn SetColorMode(&self, value: COREWEBVIEW2_PRINT_COLOR_MODE) -> windows_core::Result<()>;
28782 fn Duplex(&self, value: *mut COREWEBVIEW2_PRINT_DUPLEX) -> windows_core::Result<()>;
28783 fn SetDuplex(&self, value: COREWEBVIEW2_PRINT_DUPLEX) -> windows_core::Result<()>;
28784 fn MediaSize(&self, value: *mut COREWEBVIEW2_PRINT_MEDIA_SIZE) -> windows_core::Result<()>;
28785 fn SetMediaSize(&self, value: COREWEBVIEW2_PRINT_MEDIA_SIZE) -> windows_core::Result<()>;
28786 fn PrinterName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
28787 fn SetPrinterName(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
28788}
28789impl ICoreWebView2PrintSettings2_Vtbl {
28790 pub const fn new<Identity: ICoreWebView2PrintSettings2_Impl, const OFFSET: isize>() -> Self {
28791 unsafe extern "system" fn PageRanges<
28792 Identity: ICoreWebView2PrintSettings2_Impl,
28793 const OFFSET: isize,
28794 >(
28795 this: *mut core::ffi::c_void,
28796 value: *mut windows_core::PWSTR,
28797 ) -> windows_core::HRESULT {
28798 unsafe {
28799 let this: &Identity =
28800 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28801 ICoreWebView2PrintSettings2_Impl::PageRanges(
28802 this,
28803 core::mem::transmute_copy(&value),
28804 )
28805 .into()
28806 }
28807 }
28808 unsafe extern "system" fn SetPageRanges<
28809 Identity: ICoreWebView2PrintSettings2_Impl,
28810 const OFFSET: isize,
28811 >(
28812 this: *mut core::ffi::c_void,
28813 value: windows_core::PCWSTR,
28814 ) -> windows_core::HRESULT {
28815 unsafe {
28816 let this: &Identity =
28817 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28818 ICoreWebView2PrintSettings2_Impl::SetPageRanges(this, core::mem::transmute(&value))
28819 .into()
28820 }
28821 }
28822 unsafe extern "system" fn PagesPerSide<
28823 Identity: ICoreWebView2PrintSettings2_Impl,
28824 const OFFSET: isize,
28825 >(
28826 this: *mut core::ffi::c_void,
28827 value: *mut i32,
28828 ) -> windows_core::HRESULT {
28829 unsafe {
28830 let this: &Identity =
28831 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28832 ICoreWebView2PrintSettings2_Impl::PagesPerSide(
28833 this,
28834 core::mem::transmute_copy(&value),
28835 )
28836 .into()
28837 }
28838 }
28839 unsafe extern "system" fn SetPagesPerSide<
28840 Identity: ICoreWebView2PrintSettings2_Impl,
28841 const OFFSET: isize,
28842 >(
28843 this: *mut core::ffi::c_void,
28844 value: i32,
28845 ) -> windows_core::HRESULT {
28846 unsafe {
28847 let this: &Identity =
28848 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28849 ICoreWebView2PrintSettings2_Impl::SetPagesPerSide(
28850 this,
28851 core::mem::transmute_copy(&value),
28852 )
28853 .into()
28854 }
28855 }
28856 unsafe extern "system" fn Copies<
28857 Identity: ICoreWebView2PrintSettings2_Impl,
28858 const OFFSET: isize,
28859 >(
28860 this: *mut core::ffi::c_void,
28861 value: *mut i32,
28862 ) -> windows_core::HRESULT {
28863 unsafe {
28864 let this: &Identity =
28865 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28866 ICoreWebView2PrintSettings2_Impl::Copies(this, core::mem::transmute_copy(&value))
28867 .into()
28868 }
28869 }
28870 unsafe extern "system" fn SetCopies<
28871 Identity: ICoreWebView2PrintSettings2_Impl,
28872 const OFFSET: isize,
28873 >(
28874 this: *mut core::ffi::c_void,
28875 value: i32,
28876 ) -> windows_core::HRESULT {
28877 unsafe {
28878 let this: &Identity =
28879 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28880 ICoreWebView2PrintSettings2_Impl::SetCopies(this, core::mem::transmute_copy(&value))
28881 .into()
28882 }
28883 }
28884 unsafe extern "system" fn Collation<
28885 Identity: ICoreWebView2PrintSettings2_Impl,
28886 const OFFSET: isize,
28887 >(
28888 this: *mut core::ffi::c_void,
28889 value: *mut COREWEBVIEW2_PRINT_COLLATION,
28890 ) -> windows_core::HRESULT {
28891 unsafe {
28892 let this: &Identity =
28893 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28894 ICoreWebView2PrintSettings2_Impl::Collation(this, core::mem::transmute_copy(&value))
28895 .into()
28896 }
28897 }
28898 unsafe extern "system" fn SetCollation<
28899 Identity: ICoreWebView2PrintSettings2_Impl,
28900 const OFFSET: isize,
28901 >(
28902 this: *mut core::ffi::c_void,
28903 value: COREWEBVIEW2_PRINT_COLLATION,
28904 ) -> windows_core::HRESULT {
28905 unsafe {
28906 let this: &Identity =
28907 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28908 ICoreWebView2PrintSettings2_Impl::SetCollation(
28909 this,
28910 core::mem::transmute_copy(&value),
28911 )
28912 .into()
28913 }
28914 }
28915 unsafe extern "system" fn ColorMode<
28916 Identity: ICoreWebView2PrintSettings2_Impl,
28917 const OFFSET: isize,
28918 >(
28919 this: *mut core::ffi::c_void,
28920 value: *mut COREWEBVIEW2_PRINT_COLOR_MODE,
28921 ) -> windows_core::HRESULT {
28922 unsafe {
28923 let this: &Identity =
28924 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28925 ICoreWebView2PrintSettings2_Impl::ColorMode(this, core::mem::transmute_copy(&value))
28926 .into()
28927 }
28928 }
28929 unsafe extern "system" fn SetColorMode<
28930 Identity: ICoreWebView2PrintSettings2_Impl,
28931 const OFFSET: isize,
28932 >(
28933 this: *mut core::ffi::c_void,
28934 value: COREWEBVIEW2_PRINT_COLOR_MODE,
28935 ) -> windows_core::HRESULT {
28936 unsafe {
28937 let this: &Identity =
28938 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28939 ICoreWebView2PrintSettings2_Impl::SetColorMode(
28940 this,
28941 core::mem::transmute_copy(&value),
28942 )
28943 .into()
28944 }
28945 }
28946 unsafe extern "system" fn Duplex<
28947 Identity: ICoreWebView2PrintSettings2_Impl,
28948 const OFFSET: isize,
28949 >(
28950 this: *mut core::ffi::c_void,
28951 value: *mut COREWEBVIEW2_PRINT_DUPLEX,
28952 ) -> windows_core::HRESULT {
28953 unsafe {
28954 let this: &Identity =
28955 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28956 ICoreWebView2PrintSettings2_Impl::Duplex(this, core::mem::transmute_copy(&value))
28957 .into()
28958 }
28959 }
28960 unsafe extern "system" fn SetDuplex<
28961 Identity: ICoreWebView2PrintSettings2_Impl,
28962 const OFFSET: isize,
28963 >(
28964 this: *mut core::ffi::c_void,
28965 value: COREWEBVIEW2_PRINT_DUPLEX,
28966 ) -> windows_core::HRESULT {
28967 unsafe {
28968 let this: &Identity =
28969 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28970 ICoreWebView2PrintSettings2_Impl::SetDuplex(this, core::mem::transmute_copy(&value))
28971 .into()
28972 }
28973 }
28974 unsafe extern "system" fn MediaSize<
28975 Identity: ICoreWebView2PrintSettings2_Impl,
28976 const OFFSET: isize,
28977 >(
28978 this: *mut core::ffi::c_void,
28979 value: *mut COREWEBVIEW2_PRINT_MEDIA_SIZE,
28980 ) -> windows_core::HRESULT {
28981 unsafe {
28982 let this: &Identity =
28983 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28984 ICoreWebView2PrintSettings2_Impl::MediaSize(this, core::mem::transmute_copy(&value))
28985 .into()
28986 }
28987 }
28988 unsafe extern "system" fn SetMediaSize<
28989 Identity: ICoreWebView2PrintSettings2_Impl,
28990 const OFFSET: isize,
28991 >(
28992 this: *mut core::ffi::c_void,
28993 value: COREWEBVIEW2_PRINT_MEDIA_SIZE,
28994 ) -> windows_core::HRESULT {
28995 unsafe {
28996 let this: &Identity =
28997 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28998 ICoreWebView2PrintSettings2_Impl::SetMediaSize(
28999 this,
29000 core::mem::transmute_copy(&value),
29001 )
29002 .into()
29003 }
29004 }
29005 unsafe extern "system" fn PrinterName<
29006 Identity: ICoreWebView2PrintSettings2_Impl,
29007 const OFFSET: isize,
29008 >(
29009 this: *mut core::ffi::c_void,
29010 value: *mut windows_core::PWSTR,
29011 ) -> windows_core::HRESULT {
29012 unsafe {
29013 let this: &Identity =
29014 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29015 ICoreWebView2PrintSettings2_Impl::PrinterName(
29016 this,
29017 core::mem::transmute_copy(&value),
29018 )
29019 .into()
29020 }
29021 }
29022 unsafe extern "system" fn SetPrinterName<
29023 Identity: ICoreWebView2PrintSettings2_Impl,
29024 const OFFSET: isize,
29025 >(
29026 this: *mut core::ffi::c_void,
29027 value: windows_core::PCWSTR,
29028 ) -> windows_core::HRESULT {
29029 unsafe {
29030 let this: &Identity =
29031 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29032 ICoreWebView2PrintSettings2_Impl::SetPrinterName(this, core::mem::transmute(&value))
29033 .into()
29034 }
29035 }
29036 Self {
29037 base__: ICoreWebView2PrintSettings_Vtbl::new::<Identity, OFFSET>(),
29038 PageRanges: PageRanges::<Identity, OFFSET>,
29039 SetPageRanges: SetPageRanges::<Identity, OFFSET>,
29040 PagesPerSide: PagesPerSide::<Identity, OFFSET>,
29041 SetPagesPerSide: SetPagesPerSide::<Identity, OFFSET>,
29042 Copies: Copies::<Identity, OFFSET>,
29043 SetCopies: SetCopies::<Identity, OFFSET>,
29044 Collation: Collation::<Identity, OFFSET>,
29045 SetCollation: SetCollation::<Identity, OFFSET>,
29046 ColorMode: ColorMode::<Identity, OFFSET>,
29047 SetColorMode: SetColorMode::<Identity, OFFSET>,
29048 Duplex: Duplex::<Identity, OFFSET>,
29049 SetDuplex: SetDuplex::<Identity, OFFSET>,
29050 MediaSize: MediaSize::<Identity, OFFSET>,
29051 SetMediaSize: SetMediaSize::<Identity, OFFSET>,
29052 PrinterName: PrinterName::<Identity, OFFSET>,
29053 SetPrinterName: SetPrinterName::<Identity, OFFSET>,
29054 }
29055 }
29056 pub fn matches(iid: &windows_core::GUID) -> bool {
29057 iid == &<ICoreWebView2PrintSettings2 as windows_core::Interface>::IID
29058 || iid == &<ICoreWebView2PrintSettings as windows_core::Interface>::IID
29059 }
29060}
29061impl windows_core::RuntimeName for ICoreWebView2PrintSettings2 {}
29062windows_core::imp::define_interface!(
29063 ICoreWebView2PrintToPdfCompletedHandler,
29064 ICoreWebView2PrintToPdfCompletedHandler_Vtbl,
29065 0xccf1ef04_fd8e_4d5f_b2de_0983e41b8c36
29066);
29067windows_core::imp::interface_hierarchy!(
29068 ICoreWebView2PrintToPdfCompletedHandler,
29069 windows_core::IUnknown
29070);
29071impl ICoreWebView2PrintToPdfCompletedHandler {
29072 pub unsafe fn Invoke(
29073 &self,
29074 errorcode: windows_core::HRESULT,
29075 result: bool,
29076 ) -> windows_core::Result<()> {
29077 unsafe {
29078 (windows_core::Interface::vtable(self).Invoke)(
29079 windows_core::Interface::as_raw(self),
29080 errorcode,
29081 result.into(),
29082 )
29083 .ok()
29084 }
29085 }
29086}
29087#[repr(C)]
29088#[doc(hidden)]
29089pub struct ICoreWebView2PrintToPdfCompletedHandler_Vtbl {
29090 pub base__: windows_core::IUnknown_Vtbl,
29091 pub Invoke: unsafe extern "system" fn(
29092 *mut core::ffi::c_void,
29093 windows_core::HRESULT,
29094 windows_core::BOOL,
29095 ) -> windows_core::HRESULT,
29096}
29097pub trait ICoreWebView2PrintToPdfCompletedHandler_Impl: windows_core::IUnknownImpl {
29098 fn Invoke(
29099 &self,
29100 errorcode: windows_core::HRESULT,
29101 result: windows_core::BOOL,
29102 ) -> windows_core::Result<()>;
29103}
29104impl ICoreWebView2PrintToPdfCompletedHandler_Vtbl {
29105 pub const fn new<
29106 Identity: ICoreWebView2PrintToPdfCompletedHandler_Impl,
29107 const OFFSET: isize,
29108 >() -> Self {
29109 unsafe extern "system" fn Invoke<
29110 Identity: ICoreWebView2PrintToPdfCompletedHandler_Impl,
29111 const OFFSET: isize,
29112 >(
29113 this: *mut core::ffi::c_void,
29114 errorcode: windows_core::HRESULT,
29115 result: windows_core::BOOL,
29116 ) -> windows_core::HRESULT {
29117 unsafe {
29118 let this: &Identity =
29119 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29120 ICoreWebView2PrintToPdfCompletedHandler_Impl::Invoke(
29121 this,
29122 core::mem::transmute_copy(&errorcode),
29123 core::mem::transmute_copy(&result),
29124 )
29125 .into()
29126 }
29127 }
29128 Self {
29129 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29130 Invoke: Invoke::<Identity, OFFSET>,
29131 }
29132 }
29133 pub fn matches(iid: &windows_core::GUID) -> bool {
29134 iid == &<ICoreWebView2PrintToPdfCompletedHandler as windows_core::Interface>::IID
29135 }
29136}
29137impl windows_core::RuntimeName for ICoreWebView2PrintToPdfCompletedHandler {}
29138windows_core::imp::define_interface!(
29139 ICoreWebView2PrintToPdfStreamCompletedHandler,
29140 ICoreWebView2PrintToPdfStreamCompletedHandler_Vtbl,
29141 0x4c9f8229_8f93_444f_a711_2c0dfd6359d5
29142);
29143windows_core::imp::interface_hierarchy!(
29144 ICoreWebView2PrintToPdfStreamCompletedHandler,
29145 windows_core::IUnknown
29146);
29147impl ICoreWebView2PrintToPdfStreamCompletedHandler {
29148 pub unsafe fn Invoke<P1>(
29149 &self,
29150 errorcode: windows_core::HRESULT,
29151 result: P1,
29152 ) -> windows_core::Result<()>
29153 where
29154 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
29155 {
29156 unsafe {
29157 (windows_core::Interface::vtable(self).Invoke)(
29158 windows_core::Interface::as_raw(self),
29159 errorcode,
29160 result.param().abi(),
29161 )
29162 .ok()
29163 }
29164 }
29165}
29166#[repr(C)]
29167#[doc(hidden)]
29168pub struct ICoreWebView2PrintToPdfStreamCompletedHandler_Vtbl {
29169 pub base__: windows_core::IUnknown_Vtbl,
29170 pub Invoke: unsafe extern "system" fn(
29171 *mut core::ffi::c_void,
29172 windows_core::HRESULT,
29173 *mut core::ffi::c_void,
29174 ) -> windows_core::HRESULT,
29175}
29176pub trait ICoreWebView2PrintToPdfStreamCompletedHandler_Impl: windows_core::IUnknownImpl {
29177 fn Invoke(
29178 &self,
29179 errorcode: windows_core::HRESULT,
29180 result: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
29181 ) -> windows_core::Result<()>;
29182}
29183impl ICoreWebView2PrintToPdfStreamCompletedHandler_Vtbl {
29184 pub const fn new<
29185 Identity: ICoreWebView2PrintToPdfStreamCompletedHandler_Impl,
29186 const OFFSET: isize,
29187 >() -> Self {
29188 unsafe extern "system" fn Invoke<
29189 Identity: ICoreWebView2PrintToPdfStreamCompletedHandler_Impl,
29190 const OFFSET: isize,
29191 >(
29192 this: *mut core::ffi::c_void,
29193 errorcode: windows_core::HRESULT,
29194 result: *mut core::ffi::c_void,
29195 ) -> windows_core::HRESULT {
29196 unsafe {
29197 let this: &Identity =
29198 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29199 ICoreWebView2PrintToPdfStreamCompletedHandler_Impl::Invoke(
29200 this,
29201 core::mem::transmute_copy(&errorcode),
29202 core::mem::transmute_copy(&result),
29203 )
29204 .into()
29205 }
29206 }
29207 Self {
29208 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29209 Invoke: Invoke::<Identity, OFFSET>,
29210 }
29211 }
29212 pub fn matches(iid: &windows_core::GUID) -> bool {
29213 iid == &<ICoreWebView2PrintToPdfStreamCompletedHandler as windows_core::Interface>::IID
29214 }
29215}
29216impl windows_core::RuntimeName for ICoreWebView2PrintToPdfStreamCompletedHandler {}
29217windows_core::imp::define_interface!(
29218 ICoreWebView2ProcessExtendedInfo,
29219 ICoreWebView2ProcessExtendedInfo_Vtbl,
29220 0xaf4c4c2e_45db_11ee_be56_0242ac120002
29221);
29222windows_core::imp::interface_hierarchy!(ICoreWebView2ProcessExtendedInfo, windows_core::IUnknown);
29223impl ICoreWebView2ProcessExtendedInfo {
29224 pub unsafe fn ProcessInfo(&self) -> windows_core::Result<ICoreWebView2ProcessInfo> {
29225 unsafe {
29226 let mut result__ = core::mem::zeroed();
29227 (windows_core::Interface::vtable(self).ProcessInfo)(
29228 windows_core::Interface::as_raw(self),
29229 &mut result__,
29230 )
29231 .and_then(|| windows_core::Type::from_abi(result__))
29232 }
29233 }
29234 pub unsafe fn AssociatedFrameInfos(
29235 &self,
29236 ) -> windows_core::Result<ICoreWebView2FrameInfoCollection> {
29237 unsafe {
29238 let mut result__ = core::mem::zeroed();
29239 (windows_core::Interface::vtable(self).AssociatedFrameInfos)(
29240 windows_core::Interface::as_raw(self),
29241 &mut result__,
29242 )
29243 .and_then(|| windows_core::Type::from_abi(result__))
29244 }
29245 }
29246}
29247#[repr(C)]
29248#[doc(hidden)]
29249pub struct ICoreWebView2ProcessExtendedInfo_Vtbl {
29250 pub base__: windows_core::IUnknown_Vtbl,
29251 pub ProcessInfo: unsafe extern "system" fn(
29252 *mut core::ffi::c_void,
29253 *mut *mut core::ffi::c_void,
29254 ) -> windows_core::HRESULT,
29255 pub AssociatedFrameInfos: unsafe extern "system" fn(
29256 *mut core::ffi::c_void,
29257 *mut *mut core::ffi::c_void,
29258 ) -> windows_core::HRESULT,
29259}
29260pub trait ICoreWebView2ProcessExtendedInfo_Impl: windows_core::IUnknownImpl {
29261 fn ProcessInfo(&self) -> windows_core::Result<ICoreWebView2ProcessInfo>;
29262 fn AssociatedFrameInfos(&self) -> windows_core::Result<ICoreWebView2FrameInfoCollection>;
29263}
29264impl ICoreWebView2ProcessExtendedInfo_Vtbl {
29265 pub const fn new<Identity: ICoreWebView2ProcessExtendedInfo_Impl, const OFFSET: isize>() -> Self
29266 {
29267 unsafe extern "system" fn ProcessInfo<
29268 Identity: ICoreWebView2ProcessExtendedInfo_Impl,
29269 const OFFSET: isize,
29270 >(
29271 this: *mut core::ffi::c_void,
29272 processinfo: *mut *mut core::ffi::c_void,
29273 ) -> windows_core::HRESULT {
29274 unsafe {
29275 let this: &Identity =
29276 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29277 match ICoreWebView2ProcessExtendedInfo_Impl::ProcessInfo(this) {
29278 Ok(ok__) => {
29279 processinfo.write(core::mem::transmute(ok__));
29280 windows_core::HRESULT(0)
29281 }
29282 Err(err) => err.into(),
29283 }
29284 }
29285 }
29286 unsafe extern "system" fn AssociatedFrameInfos<
29287 Identity: ICoreWebView2ProcessExtendedInfo_Impl,
29288 const OFFSET: isize,
29289 >(
29290 this: *mut core::ffi::c_void,
29291 frames: *mut *mut core::ffi::c_void,
29292 ) -> windows_core::HRESULT {
29293 unsafe {
29294 let this: &Identity =
29295 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29296 match ICoreWebView2ProcessExtendedInfo_Impl::AssociatedFrameInfos(this) {
29297 Ok(ok__) => {
29298 frames.write(core::mem::transmute(ok__));
29299 windows_core::HRESULT(0)
29300 }
29301 Err(err) => err.into(),
29302 }
29303 }
29304 }
29305 Self {
29306 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29307 ProcessInfo: ProcessInfo::<Identity, OFFSET>,
29308 AssociatedFrameInfos: AssociatedFrameInfos::<Identity, OFFSET>,
29309 }
29310 }
29311 pub fn matches(iid: &windows_core::GUID) -> bool {
29312 iid == &<ICoreWebView2ProcessExtendedInfo as windows_core::Interface>::IID
29313 }
29314}
29315impl windows_core::RuntimeName for ICoreWebView2ProcessExtendedInfo {}
29316windows_core::imp::define_interface!(
29317 ICoreWebView2ProcessExtendedInfoCollection,
29318 ICoreWebView2ProcessExtendedInfoCollection_Vtbl,
29319 0x32efa696_407a_11ee_be56_0242ac120002
29320);
29321windows_core::imp::interface_hierarchy!(
29322 ICoreWebView2ProcessExtendedInfoCollection,
29323 windows_core::IUnknown
29324);
29325impl ICoreWebView2ProcessExtendedInfoCollection {
29326 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
29327 unsafe {
29328 (windows_core::Interface::vtable(self).Count)(
29329 windows_core::Interface::as_raw(self),
29330 value as _,
29331 )
29332 .ok()
29333 }
29334 }
29335 pub unsafe fn GetValueAtIndex(
29336 &self,
29337 index: u32,
29338 ) -> windows_core::Result<ICoreWebView2ProcessExtendedInfo> {
29339 unsafe {
29340 let mut result__ = core::mem::zeroed();
29341 (windows_core::Interface::vtable(self).GetValueAtIndex)(
29342 windows_core::Interface::as_raw(self),
29343 index,
29344 &mut result__,
29345 )
29346 .and_then(|| windows_core::Type::from_abi(result__))
29347 }
29348 }
29349}
29350#[repr(C)]
29351#[doc(hidden)]
29352pub struct ICoreWebView2ProcessExtendedInfoCollection_Vtbl {
29353 pub base__: windows_core::IUnknown_Vtbl,
29354 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
29355 pub GetValueAtIndex: unsafe extern "system" fn(
29356 *mut core::ffi::c_void,
29357 u32,
29358 *mut *mut core::ffi::c_void,
29359 ) -> windows_core::HRESULT,
29360}
29361pub trait ICoreWebView2ProcessExtendedInfoCollection_Impl: windows_core::IUnknownImpl {
29362 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
29363 fn GetValueAtIndex(&self, index: u32)
29364 -> windows_core::Result<ICoreWebView2ProcessExtendedInfo>;
29365}
29366impl ICoreWebView2ProcessExtendedInfoCollection_Vtbl {
29367 pub const fn new<
29368 Identity: ICoreWebView2ProcessExtendedInfoCollection_Impl,
29369 const OFFSET: isize,
29370 >() -> Self {
29371 unsafe extern "system" fn Count<
29372 Identity: ICoreWebView2ProcessExtendedInfoCollection_Impl,
29373 const OFFSET: isize,
29374 >(
29375 this: *mut core::ffi::c_void,
29376 value: *mut u32,
29377 ) -> windows_core::HRESULT {
29378 unsafe {
29379 let this: &Identity =
29380 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29381 ICoreWebView2ProcessExtendedInfoCollection_Impl::Count(
29382 this,
29383 core::mem::transmute_copy(&value),
29384 )
29385 .into()
29386 }
29387 }
29388 unsafe extern "system" fn GetValueAtIndex<
29389 Identity: ICoreWebView2ProcessExtendedInfoCollection_Impl,
29390 const OFFSET: isize,
29391 >(
29392 this: *mut core::ffi::c_void,
29393 index: u32,
29394 value: *mut *mut core::ffi::c_void,
29395 ) -> windows_core::HRESULT {
29396 unsafe {
29397 let this: &Identity =
29398 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29399 match ICoreWebView2ProcessExtendedInfoCollection_Impl::GetValueAtIndex(
29400 this,
29401 core::mem::transmute_copy(&index),
29402 ) {
29403 Ok(ok__) => {
29404 value.write(core::mem::transmute(ok__));
29405 windows_core::HRESULT(0)
29406 }
29407 Err(err) => err.into(),
29408 }
29409 }
29410 }
29411 Self {
29412 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29413 Count: Count::<Identity, OFFSET>,
29414 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
29415 }
29416 }
29417 pub fn matches(iid: &windows_core::GUID) -> bool {
29418 iid == &<ICoreWebView2ProcessExtendedInfoCollection as windows_core::Interface>::IID
29419 }
29420}
29421impl windows_core::RuntimeName for ICoreWebView2ProcessExtendedInfoCollection {}
29422windows_core::imp::define_interface!(
29423 ICoreWebView2ProcessFailedEventArgs,
29424 ICoreWebView2ProcessFailedEventArgs_Vtbl,
29425 0x8155a9a4_1474_4a86_8cae_151b0fa6b8ca
29426);
29427windows_core::imp::interface_hierarchy!(
29428 ICoreWebView2ProcessFailedEventArgs,
29429 windows_core::IUnknown
29430);
29431impl ICoreWebView2ProcessFailedEventArgs {
29432 pub unsafe fn ProcessFailedKind(
29433 &self,
29434 value: *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
29435 ) -> windows_core::Result<()> {
29436 unsafe {
29437 (windows_core::Interface::vtable(self).ProcessFailedKind)(
29438 windows_core::Interface::as_raw(self),
29439 value as _,
29440 )
29441 .ok()
29442 }
29443 }
29444}
29445#[repr(C)]
29446#[doc(hidden)]
29447pub struct ICoreWebView2ProcessFailedEventArgs_Vtbl {
29448 pub base__: windows_core::IUnknown_Vtbl,
29449 pub ProcessFailedKind: unsafe extern "system" fn(
29450 *mut core::ffi::c_void,
29451 *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
29452 ) -> windows_core::HRESULT,
29453}
29454pub trait ICoreWebView2ProcessFailedEventArgs_Impl: windows_core::IUnknownImpl {
29455 fn ProcessFailedKind(
29456 &self,
29457 value: *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
29458 ) -> windows_core::Result<()>;
29459}
29460impl ICoreWebView2ProcessFailedEventArgs_Vtbl {
29461 pub const fn new<Identity: ICoreWebView2ProcessFailedEventArgs_Impl, const OFFSET: isize>(
29462 ) -> Self {
29463 unsafe extern "system" fn ProcessFailedKind<
29464 Identity: ICoreWebView2ProcessFailedEventArgs_Impl,
29465 const OFFSET: isize,
29466 >(
29467 this: *mut core::ffi::c_void,
29468 value: *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
29469 ) -> windows_core::HRESULT {
29470 unsafe {
29471 let this: &Identity =
29472 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29473 ICoreWebView2ProcessFailedEventArgs_Impl::ProcessFailedKind(
29474 this,
29475 core::mem::transmute_copy(&value),
29476 )
29477 .into()
29478 }
29479 }
29480 Self {
29481 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29482 ProcessFailedKind: ProcessFailedKind::<Identity, OFFSET>,
29483 }
29484 }
29485 pub fn matches(iid: &windows_core::GUID) -> bool {
29486 iid == &<ICoreWebView2ProcessFailedEventArgs as windows_core::Interface>::IID
29487 }
29488}
29489impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventArgs {}
29490windows_core::imp::define_interface!(
29491 ICoreWebView2ProcessFailedEventArgs2,
29492 ICoreWebView2ProcessFailedEventArgs2_Vtbl,
29493 0x4dab9422_46fa_4c3e_a5d2_41d2071d3680
29494);
29495impl core::ops::Deref for ICoreWebView2ProcessFailedEventArgs2 {
29496 type Target = ICoreWebView2ProcessFailedEventArgs;
29497 fn deref(&self) -> &Self::Target {
29498 unsafe { core::mem::transmute(self) }
29499 }
29500}
29501windows_core::imp::interface_hierarchy!(
29502 ICoreWebView2ProcessFailedEventArgs2,
29503 windows_core::IUnknown,
29504 ICoreWebView2ProcessFailedEventArgs
29505);
29506impl ICoreWebView2ProcessFailedEventArgs2 {
29507 pub unsafe fn Reason(
29508 &self,
29509 reason: *mut COREWEBVIEW2_PROCESS_FAILED_REASON,
29510 ) -> windows_core::Result<()> {
29511 unsafe {
29512 (windows_core::Interface::vtable(self).Reason)(
29513 windows_core::Interface::as_raw(self),
29514 reason as _,
29515 )
29516 .ok()
29517 }
29518 }
29519 pub unsafe fn ExitCode(&self, exitcode: *mut i32) -> windows_core::Result<()> {
29520 unsafe {
29521 (windows_core::Interface::vtable(self).ExitCode)(
29522 windows_core::Interface::as_raw(self),
29523 exitcode as _,
29524 )
29525 .ok()
29526 }
29527 }
29528 pub unsafe fn ProcessDescription(
29529 &self,
29530 processdescription: *mut windows_core::PWSTR,
29531 ) -> windows_core::Result<()> {
29532 unsafe {
29533 (windows_core::Interface::vtable(self).ProcessDescription)(
29534 windows_core::Interface::as_raw(self),
29535 processdescription as _,
29536 )
29537 .ok()
29538 }
29539 }
29540 pub unsafe fn FrameInfosForFailedProcess(
29541 &self,
29542 ) -> windows_core::Result<ICoreWebView2FrameInfoCollection> {
29543 unsafe {
29544 let mut result__ = core::mem::zeroed();
29545 (windows_core::Interface::vtable(self).FrameInfosForFailedProcess)(
29546 windows_core::Interface::as_raw(self),
29547 &mut result__,
29548 )
29549 .and_then(|| windows_core::Type::from_abi(result__))
29550 }
29551 }
29552}
29553#[repr(C)]
29554#[doc(hidden)]
29555pub struct ICoreWebView2ProcessFailedEventArgs2_Vtbl {
29556 pub base__: ICoreWebView2ProcessFailedEventArgs_Vtbl,
29557 pub Reason: unsafe extern "system" fn(
29558 *mut core::ffi::c_void,
29559 *mut COREWEBVIEW2_PROCESS_FAILED_REASON,
29560 ) -> windows_core::HRESULT,
29561 pub ExitCode:
29562 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
29563 pub ProcessDescription: unsafe extern "system" fn(
29564 *mut core::ffi::c_void,
29565 *mut windows_core::PWSTR,
29566 ) -> windows_core::HRESULT,
29567 pub FrameInfosForFailedProcess: unsafe extern "system" fn(
29568 *mut core::ffi::c_void,
29569 *mut *mut core::ffi::c_void,
29570 ) -> windows_core::HRESULT,
29571}
29572pub trait ICoreWebView2ProcessFailedEventArgs2_Impl:
29573 ICoreWebView2ProcessFailedEventArgs_Impl
29574{
29575 fn Reason(&self, reason: *mut COREWEBVIEW2_PROCESS_FAILED_REASON) -> windows_core::Result<()>;
29576 fn ExitCode(&self, exitcode: *mut i32) -> windows_core::Result<()>;
29577 fn ProcessDescription(
29578 &self,
29579 processdescription: *mut windows_core::PWSTR,
29580 ) -> windows_core::Result<()>;
29581 fn FrameInfosForFailedProcess(&self) -> windows_core::Result<ICoreWebView2FrameInfoCollection>;
29582}
29583impl ICoreWebView2ProcessFailedEventArgs2_Vtbl {
29584 pub const fn new<Identity: ICoreWebView2ProcessFailedEventArgs2_Impl, const OFFSET: isize>(
29585 ) -> Self {
29586 unsafe extern "system" fn Reason<
29587 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
29588 const OFFSET: isize,
29589 >(
29590 this: *mut core::ffi::c_void,
29591 reason: *mut COREWEBVIEW2_PROCESS_FAILED_REASON,
29592 ) -> windows_core::HRESULT {
29593 unsafe {
29594 let this: &Identity =
29595 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29596 ICoreWebView2ProcessFailedEventArgs2_Impl::Reason(
29597 this,
29598 core::mem::transmute_copy(&reason),
29599 )
29600 .into()
29601 }
29602 }
29603 unsafe extern "system" fn ExitCode<
29604 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
29605 const OFFSET: isize,
29606 >(
29607 this: *mut core::ffi::c_void,
29608 exitcode: *mut i32,
29609 ) -> windows_core::HRESULT {
29610 unsafe {
29611 let this: &Identity =
29612 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29613 ICoreWebView2ProcessFailedEventArgs2_Impl::ExitCode(
29614 this,
29615 core::mem::transmute_copy(&exitcode),
29616 )
29617 .into()
29618 }
29619 }
29620 unsafe extern "system" fn ProcessDescription<
29621 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
29622 const OFFSET: isize,
29623 >(
29624 this: *mut core::ffi::c_void,
29625 processdescription: *mut windows_core::PWSTR,
29626 ) -> windows_core::HRESULT {
29627 unsafe {
29628 let this: &Identity =
29629 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29630 ICoreWebView2ProcessFailedEventArgs2_Impl::ProcessDescription(
29631 this,
29632 core::mem::transmute_copy(&processdescription),
29633 )
29634 .into()
29635 }
29636 }
29637 unsafe extern "system" fn FrameInfosForFailedProcess<
29638 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
29639 const OFFSET: isize,
29640 >(
29641 this: *mut core::ffi::c_void,
29642 frames: *mut *mut core::ffi::c_void,
29643 ) -> windows_core::HRESULT {
29644 unsafe {
29645 let this: &Identity =
29646 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29647 match ICoreWebView2ProcessFailedEventArgs2_Impl::FrameInfosForFailedProcess(this) {
29648 Ok(ok__) => {
29649 frames.write(core::mem::transmute(ok__));
29650 windows_core::HRESULT(0)
29651 }
29652 Err(err) => err.into(),
29653 }
29654 }
29655 }
29656 Self {
29657 base__: ICoreWebView2ProcessFailedEventArgs_Vtbl::new::<Identity, OFFSET>(),
29658 Reason: Reason::<Identity, OFFSET>,
29659 ExitCode: ExitCode::<Identity, OFFSET>,
29660 ProcessDescription: ProcessDescription::<Identity, OFFSET>,
29661 FrameInfosForFailedProcess: FrameInfosForFailedProcess::<Identity, OFFSET>,
29662 }
29663 }
29664 pub fn matches(iid: &windows_core::GUID) -> bool {
29665 iid == &<ICoreWebView2ProcessFailedEventArgs2 as windows_core::Interface>::IID
29666 || iid == &<ICoreWebView2ProcessFailedEventArgs as windows_core::Interface>::IID
29667 }
29668}
29669impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventArgs2 {}
29670windows_core::imp::define_interface!(
29671 ICoreWebView2ProcessFailedEventArgs3,
29672 ICoreWebView2ProcessFailedEventArgs3_Vtbl,
29673 0xab667428_094d_5fd1_b480_8b4c0fdbdf2f
29674);
29675impl core::ops::Deref for ICoreWebView2ProcessFailedEventArgs3 {
29676 type Target = ICoreWebView2ProcessFailedEventArgs2;
29677 fn deref(&self) -> &Self::Target {
29678 unsafe { core::mem::transmute(self) }
29679 }
29680}
29681windows_core::imp::interface_hierarchy!(
29682 ICoreWebView2ProcessFailedEventArgs3,
29683 windows_core::IUnknown,
29684 ICoreWebView2ProcessFailedEventArgs,
29685 ICoreWebView2ProcessFailedEventArgs2
29686);
29687impl ICoreWebView2ProcessFailedEventArgs3 {
29688 pub unsafe fn FailureSourceModulePath(
29689 &self,
29690 value: *mut windows_core::PWSTR,
29691 ) -> windows_core::Result<()> {
29692 unsafe {
29693 (windows_core::Interface::vtable(self).FailureSourceModulePath)(
29694 windows_core::Interface::as_raw(self),
29695 value as _,
29696 )
29697 .ok()
29698 }
29699 }
29700}
29701#[repr(C)]
29702#[doc(hidden)]
29703pub struct ICoreWebView2ProcessFailedEventArgs3_Vtbl {
29704 pub base__: ICoreWebView2ProcessFailedEventArgs2_Vtbl,
29705 pub FailureSourceModulePath: unsafe extern "system" fn(
29706 *mut core::ffi::c_void,
29707 *mut windows_core::PWSTR,
29708 ) -> windows_core::HRESULT,
29709}
29710pub trait ICoreWebView2ProcessFailedEventArgs3_Impl:
29711 ICoreWebView2ProcessFailedEventArgs2_Impl
29712{
29713 fn FailureSourceModulePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
29714}
29715impl ICoreWebView2ProcessFailedEventArgs3_Vtbl {
29716 pub const fn new<Identity: ICoreWebView2ProcessFailedEventArgs3_Impl, const OFFSET: isize>(
29717 ) -> Self {
29718 unsafe extern "system" fn FailureSourceModulePath<
29719 Identity: ICoreWebView2ProcessFailedEventArgs3_Impl,
29720 const OFFSET: isize,
29721 >(
29722 this: *mut core::ffi::c_void,
29723 value: *mut windows_core::PWSTR,
29724 ) -> windows_core::HRESULT {
29725 unsafe {
29726 let this: &Identity =
29727 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29728 ICoreWebView2ProcessFailedEventArgs3_Impl::FailureSourceModulePath(
29729 this,
29730 core::mem::transmute_copy(&value),
29731 )
29732 .into()
29733 }
29734 }
29735 Self {
29736 base__: ICoreWebView2ProcessFailedEventArgs2_Vtbl::new::<Identity, OFFSET>(),
29737 FailureSourceModulePath: FailureSourceModulePath::<Identity, OFFSET>,
29738 }
29739 }
29740 pub fn matches(iid: &windows_core::GUID) -> bool {
29741 iid == &<ICoreWebView2ProcessFailedEventArgs3 as windows_core::Interface>::IID
29742 || iid == &<ICoreWebView2ProcessFailedEventArgs as windows_core::Interface>::IID
29743 || iid == &<ICoreWebView2ProcessFailedEventArgs2 as windows_core::Interface>::IID
29744 }
29745}
29746impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventArgs3 {}
29747windows_core::imp::define_interface!(
29748 ICoreWebView2ProcessFailedEventHandler,
29749 ICoreWebView2ProcessFailedEventHandler_Vtbl,
29750 0x79e0aea4_990b_42d9_aa1d_0fcc2e5bc7f1
29751);
29752windows_core::imp::interface_hierarchy!(
29753 ICoreWebView2ProcessFailedEventHandler,
29754 windows_core::IUnknown
29755);
29756impl ICoreWebView2ProcessFailedEventHandler {
29757 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
29758 where
29759 P0: windows_core::Param<ICoreWebView2>,
29760 P1: windows_core::Param<ICoreWebView2ProcessFailedEventArgs>,
29761 {
29762 unsafe {
29763 (windows_core::Interface::vtable(self).Invoke)(
29764 windows_core::Interface::as_raw(self),
29765 sender.param().abi(),
29766 args.param().abi(),
29767 )
29768 .ok()
29769 }
29770 }
29771}
29772#[repr(C)]
29773#[doc(hidden)]
29774pub struct ICoreWebView2ProcessFailedEventHandler_Vtbl {
29775 pub base__: windows_core::IUnknown_Vtbl,
29776 pub Invoke: unsafe extern "system" fn(
29777 *mut core::ffi::c_void,
29778 *mut core::ffi::c_void,
29779 *mut core::ffi::c_void,
29780 ) -> windows_core::HRESULT,
29781}
29782pub trait ICoreWebView2ProcessFailedEventHandler_Impl: windows_core::IUnknownImpl {
29783 fn Invoke(
29784 &self,
29785 sender: windows_core::Ref<'_, ICoreWebView2>,
29786 args: windows_core::Ref<'_, ICoreWebView2ProcessFailedEventArgs>,
29787 ) -> windows_core::Result<()>;
29788}
29789impl ICoreWebView2ProcessFailedEventHandler_Vtbl {
29790 pub const fn new<Identity: ICoreWebView2ProcessFailedEventHandler_Impl, const OFFSET: isize>(
29791 ) -> Self {
29792 unsafe extern "system" fn Invoke<
29793 Identity: ICoreWebView2ProcessFailedEventHandler_Impl,
29794 const OFFSET: isize,
29795 >(
29796 this: *mut core::ffi::c_void,
29797 sender: *mut core::ffi::c_void,
29798 args: *mut core::ffi::c_void,
29799 ) -> windows_core::HRESULT {
29800 unsafe {
29801 let this: &Identity =
29802 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29803 ICoreWebView2ProcessFailedEventHandler_Impl::Invoke(
29804 this,
29805 core::mem::transmute_copy(&sender),
29806 core::mem::transmute_copy(&args),
29807 )
29808 .into()
29809 }
29810 }
29811 Self {
29812 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29813 Invoke: Invoke::<Identity, OFFSET>,
29814 }
29815 }
29816 pub fn matches(iid: &windows_core::GUID) -> bool {
29817 iid == &<ICoreWebView2ProcessFailedEventHandler as windows_core::Interface>::IID
29818 }
29819}
29820impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventHandler {}
29821windows_core::imp::define_interface!(
29822 ICoreWebView2ProcessInfo,
29823 ICoreWebView2ProcessInfo_Vtbl,
29824 0x84fa7612_3f3d_4fbf_889d_fad000492d72
29825);
29826windows_core::imp::interface_hierarchy!(ICoreWebView2ProcessInfo, windows_core::IUnknown);
29827impl ICoreWebView2ProcessInfo {
29828 pub unsafe fn ProcessId(&self, value: *mut i32) -> windows_core::Result<()> {
29829 unsafe {
29830 (windows_core::Interface::vtable(self).ProcessId)(
29831 windows_core::Interface::as_raw(self),
29832 value as _,
29833 )
29834 .ok()
29835 }
29836 }
29837 pub unsafe fn Kind(&self, kind: *mut COREWEBVIEW2_PROCESS_KIND) -> windows_core::Result<()> {
29838 unsafe {
29839 (windows_core::Interface::vtable(self).Kind)(
29840 windows_core::Interface::as_raw(self),
29841 kind as _,
29842 )
29843 .ok()
29844 }
29845 }
29846}
29847#[repr(C)]
29848#[doc(hidden)]
29849pub struct ICoreWebView2ProcessInfo_Vtbl {
29850 pub base__: windows_core::IUnknown_Vtbl,
29851 pub ProcessId:
29852 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
29853 pub Kind: unsafe extern "system" fn(
29854 *mut core::ffi::c_void,
29855 *mut COREWEBVIEW2_PROCESS_KIND,
29856 ) -> windows_core::HRESULT,
29857}
29858pub trait ICoreWebView2ProcessInfo_Impl: windows_core::IUnknownImpl {
29859 fn ProcessId(&self, value: *mut i32) -> windows_core::Result<()>;
29860 fn Kind(&self, kind: *mut COREWEBVIEW2_PROCESS_KIND) -> windows_core::Result<()>;
29861}
29862impl ICoreWebView2ProcessInfo_Vtbl {
29863 pub const fn new<Identity: ICoreWebView2ProcessInfo_Impl, const OFFSET: isize>() -> Self {
29864 unsafe extern "system" fn ProcessId<
29865 Identity: ICoreWebView2ProcessInfo_Impl,
29866 const OFFSET: isize,
29867 >(
29868 this: *mut core::ffi::c_void,
29869 value: *mut i32,
29870 ) -> windows_core::HRESULT {
29871 unsafe {
29872 let this: &Identity =
29873 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29874 ICoreWebView2ProcessInfo_Impl::ProcessId(this, core::mem::transmute_copy(&value))
29875 .into()
29876 }
29877 }
29878 unsafe extern "system" fn Kind<
29879 Identity: ICoreWebView2ProcessInfo_Impl,
29880 const OFFSET: isize,
29881 >(
29882 this: *mut core::ffi::c_void,
29883 kind: *mut COREWEBVIEW2_PROCESS_KIND,
29884 ) -> windows_core::HRESULT {
29885 unsafe {
29886 let this: &Identity =
29887 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29888 ICoreWebView2ProcessInfo_Impl::Kind(this, core::mem::transmute_copy(&kind)).into()
29889 }
29890 }
29891 Self {
29892 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29893 ProcessId: ProcessId::<Identity, OFFSET>,
29894 Kind: Kind::<Identity, OFFSET>,
29895 }
29896 }
29897 pub fn matches(iid: &windows_core::GUID) -> bool {
29898 iid == &<ICoreWebView2ProcessInfo as windows_core::Interface>::IID
29899 }
29900}
29901impl windows_core::RuntimeName for ICoreWebView2ProcessInfo {}
29902windows_core::imp::define_interface!(
29903 ICoreWebView2ProcessInfoCollection,
29904 ICoreWebView2ProcessInfoCollection_Vtbl,
29905 0x402b99cd_a0cc_4fa5_b7a5_51d86a1d2339
29906);
29907windows_core::imp::interface_hierarchy!(ICoreWebView2ProcessInfoCollection, windows_core::IUnknown);
29908impl ICoreWebView2ProcessInfoCollection {
29909 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
29910 unsafe {
29911 (windows_core::Interface::vtable(self).Count)(
29912 windows_core::Interface::as_raw(self),
29913 value as _,
29914 )
29915 .ok()
29916 }
29917 }
29918 pub unsafe fn GetValueAtIndex(
29919 &self,
29920 index: u32,
29921 ) -> windows_core::Result<ICoreWebView2ProcessInfo> {
29922 unsafe {
29923 let mut result__ = core::mem::zeroed();
29924 (windows_core::Interface::vtable(self).GetValueAtIndex)(
29925 windows_core::Interface::as_raw(self),
29926 index,
29927 &mut result__,
29928 )
29929 .and_then(|| windows_core::Type::from_abi(result__))
29930 }
29931 }
29932}
29933#[repr(C)]
29934#[doc(hidden)]
29935pub struct ICoreWebView2ProcessInfoCollection_Vtbl {
29936 pub base__: windows_core::IUnknown_Vtbl,
29937 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
29938 pub GetValueAtIndex: unsafe extern "system" fn(
29939 *mut core::ffi::c_void,
29940 u32,
29941 *mut *mut core::ffi::c_void,
29942 ) -> windows_core::HRESULT,
29943}
29944pub trait ICoreWebView2ProcessInfoCollection_Impl: windows_core::IUnknownImpl {
29945 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
29946 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2ProcessInfo>;
29947}
29948impl ICoreWebView2ProcessInfoCollection_Vtbl {
29949 pub const fn new<Identity: ICoreWebView2ProcessInfoCollection_Impl, const OFFSET: isize>(
29950 ) -> Self {
29951 unsafe extern "system" fn Count<
29952 Identity: ICoreWebView2ProcessInfoCollection_Impl,
29953 const OFFSET: isize,
29954 >(
29955 this: *mut core::ffi::c_void,
29956 value: *mut u32,
29957 ) -> windows_core::HRESULT {
29958 unsafe {
29959 let this: &Identity =
29960 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29961 ICoreWebView2ProcessInfoCollection_Impl::Count(
29962 this,
29963 core::mem::transmute_copy(&value),
29964 )
29965 .into()
29966 }
29967 }
29968 unsafe extern "system" fn GetValueAtIndex<
29969 Identity: ICoreWebView2ProcessInfoCollection_Impl,
29970 const OFFSET: isize,
29971 >(
29972 this: *mut core::ffi::c_void,
29973 index: u32,
29974 value: *mut *mut core::ffi::c_void,
29975 ) -> windows_core::HRESULT {
29976 unsafe {
29977 let this: &Identity =
29978 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29979 match ICoreWebView2ProcessInfoCollection_Impl::GetValueAtIndex(
29980 this,
29981 core::mem::transmute_copy(&index),
29982 ) {
29983 Ok(ok__) => {
29984 value.write(core::mem::transmute(ok__));
29985 windows_core::HRESULT(0)
29986 }
29987 Err(err) => err.into(),
29988 }
29989 }
29990 }
29991 Self {
29992 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29993 Count: Count::<Identity, OFFSET>,
29994 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
29995 }
29996 }
29997 pub fn matches(iid: &windows_core::GUID) -> bool {
29998 iid == &<ICoreWebView2ProcessInfoCollection as windows_core::Interface>::IID
29999 }
30000}
30001impl windows_core::RuntimeName for ICoreWebView2ProcessInfoCollection {}
30002windows_core::imp::define_interface!(
30003 ICoreWebView2ProcessInfosChangedEventHandler,
30004 ICoreWebView2ProcessInfosChangedEventHandler_Vtbl,
30005 0xf4af0c39_44b9_40e9_8b11_0484cfb9e0a1
30006);
30007windows_core::imp::interface_hierarchy!(
30008 ICoreWebView2ProcessInfosChangedEventHandler,
30009 windows_core::IUnknown
30010);
30011impl ICoreWebView2ProcessInfosChangedEventHandler {
30012 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
30013 where
30014 P0: windows_core::Param<ICoreWebView2Environment>,
30015 P1: windows_core::Param<windows_core::IUnknown>,
30016 {
30017 unsafe {
30018 (windows_core::Interface::vtable(self).Invoke)(
30019 windows_core::Interface::as_raw(self),
30020 sender.param().abi(),
30021 args.param().abi(),
30022 )
30023 .ok()
30024 }
30025 }
30026}
30027#[repr(C)]
30028#[doc(hidden)]
30029pub struct ICoreWebView2ProcessInfosChangedEventHandler_Vtbl {
30030 pub base__: windows_core::IUnknown_Vtbl,
30031 pub Invoke: unsafe extern "system" fn(
30032 *mut core::ffi::c_void,
30033 *mut core::ffi::c_void,
30034 *mut core::ffi::c_void,
30035 ) -> windows_core::HRESULT,
30036}
30037pub trait ICoreWebView2ProcessInfosChangedEventHandler_Impl: windows_core::IUnknownImpl {
30038 fn Invoke(
30039 &self,
30040 sender: windows_core::Ref<'_, ICoreWebView2Environment>,
30041 args: windows_core::Ref<'_, windows_core::IUnknown>,
30042 ) -> windows_core::Result<()>;
30043}
30044impl ICoreWebView2ProcessInfosChangedEventHandler_Vtbl {
30045 pub const fn new<
30046 Identity: ICoreWebView2ProcessInfosChangedEventHandler_Impl,
30047 const OFFSET: isize,
30048 >() -> Self {
30049 unsafe extern "system" fn Invoke<
30050 Identity: ICoreWebView2ProcessInfosChangedEventHandler_Impl,
30051 const OFFSET: isize,
30052 >(
30053 this: *mut core::ffi::c_void,
30054 sender: *mut core::ffi::c_void,
30055 args: *mut core::ffi::c_void,
30056 ) -> windows_core::HRESULT {
30057 unsafe {
30058 let this: &Identity =
30059 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30060 ICoreWebView2ProcessInfosChangedEventHandler_Impl::Invoke(
30061 this,
30062 core::mem::transmute_copy(&sender),
30063 core::mem::transmute_copy(&args),
30064 )
30065 .into()
30066 }
30067 }
30068 Self {
30069 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
30070 Invoke: Invoke::<Identity, OFFSET>,
30071 }
30072 }
30073 pub fn matches(iid: &windows_core::GUID) -> bool {
30074 iid == &<ICoreWebView2ProcessInfosChangedEventHandler as windows_core::Interface>::IID
30075 }
30076}
30077impl windows_core::RuntimeName for ICoreWebView2ProcessInfosChangedEventHandler {}
30078windows_core::imp::define_interface!(
30079 ICoreWebView2Profile,
30080 ICoreWebView2Profile_Vtbl,
30081 0x79110ad3_cd5d_4373_8bc3_c60658f17a5f
30082);
30083windows_core::imp::interface_hierarchy!(ICoreWebView2Profile, windows_core::IUnknown);
30084impl ICoreWebView2Profile {
30085 pub unsafe fn ProfileName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
30086 unsafe {
30087 (windows_core::Interface::vtable(self).ProfileName)(
30088 windows_core::Interface::as_raw(self),
30089 value as _,
30090 )
30091 .ok()
30092 }
30093 }
30094 pub unsafe fn IsInPrivateModeEnabled(
30095 &self,
30096 value: *mut windows_core::BOOL,
30097 ) -> windows_core::Result<()> {
30098 unsafe {
30099 (windows_core::Interface::vtable(self).IsInPrivateModeEnabled)(
30100 windows_core::Interface::as_raw(self),
30101 value as _,
30102 )
30103 .ok()
30104 }
30105 }
30106 pub unsafe fn ProfilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
30107 unsafe {
30108 (windows_core::Interface::vtable(self).ProfilePath)(
30109 windows_core::Interface::as_raw(self),
30110 value as _,
30111 )
30112 .ok()
30113 }
30114 }
30115 pub unsafe fn DefaultDownloadFolderPath(
30116 &self,
30117 value: *mut windows_core::PWSTR,
30118 ) -> windows_core::Result<()> {
30119 unsafe {
30120 (windows_core::Interface::vtable(self).DefaultDownloadFolderPath)(
30121 windows_core::Interface::as_raw(self),
30122 value as _,
30123 )
30124 .ok()
30125 }
30126 }
30127 pub unsafe fn SetDefaultDownloadFolderPath<P0>(&self, value: P0) -> windows_core::Result<()>
30128 where
30129 P0: windows_core::Param<windows_core::PCWSTR>,
30130 {
30131 unsafe {
30132 (windows_core::Interface::vtable(self).SetDefaultDownloadFolderPath)(
30133 windows_core::Interface::as_raw(self),
30134 value.param().abi(),
30135 )
30136 .ok()
30137 }
30138 }
30139 pub unsafe fn PreferredColorScheme(
30140 &self,
30141 value: *mut COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
30142 ) -> windows_core::Result<()> {
30143 unsafe {
30144 (windows_core::Interface::vtable(self).PreferredColorScheme)(
30145 windows_core::Interface::as_raw(self),
30146 value as _,
30147 )
30148 .ok()
30149 }
30150 }
30151 pub unsafe fn SetPreferredColorScheme(
30152 &self,
30153 value: COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
30154 ) -> windows_core::Result<()> {
30155 unsafe {
30156 (windows_core::Interface::vtable(self).SetPreferredColorScheme)(
30157 windows_core::Interface::as_raw(self),
30158 value,
30159 )
30160 .ok()
30161 }
30162 }
30163}
30164#[repr(C)]
30165#[doc(hidden)]
30166pub struct ICoreWebView2Profile_Vtbl {
30167 pub base__: windows_core::IUnknown_Vtbl,
30168 pub ProfileName: unsafe extern "system" fn(
30169 *mut core::ffi::c_void,
30170 *mut windows_core::PWSTR,
30171 ) -> windows_core::HRESULT,
30172 pub IsInPrivateModeEnabled: unsafe extern "system" fn(
30173 *mut core::ffi::c_void,
30174 *mut windows_core::BOOL,
30175 ) -> windows_core::HRESULT,
30176 pub ProfilePath: unsafe extern "system" fn(
30177 *mut core::ffi::c_void,
30178 *mut windows_core::PWSTR,
30179 ) -> windows_core::HRESULT,
30180 pub DefaultDownloadFolderPath: unsafe extern "system" fn(
30181 *mut core::ffi::c_void,
30182 *mut windows_core::PWSTR,
30183 ) -> windows_core::HRESULT,
30184 pub SetDefaultDownloadFolderPath: unsafe extern "system" fn(
30185 *mut core::ffi::c_void,
30186 windows_core::PCWSTR,
30187 ) -> windows_core::HRESULT,
30188 pub PreferredColorScheme: unsafe extern "system" fn(
30189 *mut core::ffi::c_void,
30190 *mut COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
30191 ) -> windows_core::HRESULT,
30192 pub SetPreferredColorScheme: unsafe extern "system" fn(
30193 *mut core::ffi::c_void,
30194 COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
30195 ) -> windows_core::HRESULT,
30196}
30197pub trait ICoreWebView2Profile_Impl: windows_core::IUnknownImpl {
30198 fn ProfileName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
30199 fn IsInPrivateModeEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
30200 fn ProfilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
30201 fn DefaultDownloadFolderPath(
30202 &self,
30203 value: *mut windows_core::PWSTR,
30204 ) -> windows_core::Result<()>;
30205 fn SetDefaultDownloadFolderPath(
30206 &self,
30207 value: &windows_core::PCWSTR,
30208 ) -> windows_core::Result<()>;
30209 fn PreferredColorScheme(
30210 &self,
30211 value: *mut COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
30212 ) -> windows_core::Result<()>;
30213 fn SetPreferredColorScheme(
30214 &self,
30215 value: COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
30216 ) -> windows_core::Result<()>;
30217}
30218impl ICoreWebView2Profile_Vtbl {
30219 pub const fn new<Identity: ICoreWebView2Profile_Impl, const OFFSET: isize>() -> Self {
30220 unsafe extern "system" fn ProfileName<
30221 Identity: ICoreWebView2Profile_Impl,
30222 const OFFSET: isize,
30223 >(
30224 this: *mut core::ffi::c_void,
30225 value: *mut windows_core::PWSTR,
30226 ) -> windows_core::HRESULT {
30227 unsafe {
30228 let this: &Identity =
30229 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30230 ICoreWebView2Profile_Impl::ProfileName(this, core::mem::transmute_copy(&value))
30231 .into()
30232 }
30233 }
30234 unsafe extern "system" fn IsInPrivateModeEnabled<
30235 Identity: ICoreWebView2Profile_Impl,
30236 const OFFSET: isize,
30237 >(
30238 this: *mut core::ffi::c_void,
30239 value: *mut windows_core::BOOL,
30240 ) -> windows_core::HRESULT {
30241 unsafe {
30242 let this: &Identity =
30243 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30244 ICoreWebView2Profile_Impl::IsInPrivateModeEnabled(
30245 this,
30246 core::mem::transmute_copy(&value),
30247 )
30248 .into()
30249 }
30250 }
30251 unsafe extern "system" fn ProfilePath<
30252 Identity: ICoreWebView2Profile_Impl,
30253 const OFFSET: isize,
30254 >(
30255 this: *mut core::ffi::c_void,
30256 value: *mut windows_core::PWSTR,
30257 ) -> windows_core::HRESULT {
30258 unsafe {
30259 let this: &Identity =
30260 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30261 ICoreWebView2Profile_Impl::ProfilePath(this, core::mem::transmute_copy(&value))
30262 .into()
30263 }
30264 }
30265 unsafe extern "system" fn DefaultDownloadFolderPath<
30266 Identity: ICoreWebView2Profile_Impl,
30267 const OFFSET: isize,
30268 >(
30269 this: *mut core::ffi::c_void,
30270 value: *mut windows_core::PWSTR,
30271 ) -> windows_core::HRESULT {
30272 unsafe {
30273 let this: &Identity =
30274 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30275 ICoreWebView2Profile_Impl::DefaultDownloadFolderPath(
30276 this,
30277 core::mem::transmute_copy(&value),
30278 )
30279 .into()
30280 }
30281 }
30282 unsafe extern "system" fn SetDefaultDownloadFolderPath<
30283 Identity: ICoreWebView2Profile_Impl,
30284 const OFFSET: isize,
30285 >(
30286 this: *mut core::ffi::c_void,
30287 value: windows_core::PCWSTR,
30288 ) -> windows_core::HRESULT {
30289 unsafe {
30290 let this: &Identity =
30291 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30292 ICoreWebView2Profile_Impl::SetDefaultDownloadFolderPath(
30293 this,
30294 core::mem::transmute(&value),
30295 )
30296 .into()
30297 }
30298 }
30299 unsafe extern "system" fn PreferredColorScheme<
30300 Identity: ICoreWebView2Profile_Impl,
30301 const OFFSET: isize,
30302 >(
30303 this: *mut core::ffi::c_void,
30304 value: *mut COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
30305 ) -> windows_core::HRESULT {
30306 unsafe {
30307 let this: &Identity =
30308 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30309 ICoreWebView2Profile_Impl::PreferredColorScheme(
30310 this,
30311 core::mem::transmute_copy(&value),
30312 )
30313 .into()
30314 }
30315 }
30316 unsafe extern "system" fn SetPreferredColorScheme<
30317 Identity: ICoreWebView2Profile_Impl,
30318 const OFFSET: isize,
30319 >(
30320 this: *mut core::ffi::c_void,
30321 value: COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
30322 ) -> windows_core::HRESULT {
30323 unsafe {
30324 let this: &Identity =
30325 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30326 ICoreWebView2Profile_Impl::SetPreferredColorScheme(
30327 this,
30328 core::mem::transmute_copy(&value),
30329 )
30330 .into()
30331 }
30332 }
30333 Self {
30334 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
30335 ProfileName: ProfileName::<Identity, OFFSET>,
30336 IsInPrivateModeEnabled: IsInPrivateModeEnabled::<Identity, OFFSET>,
30337 ProfilePath: ProfilePath::<Identity, OFFSET>,
30338 DefaultDownloadFolderPath: DefaultDownloadFolderPath::<Identity, OFFSET>,
30339 SetDefaultDownloadFolderPath: SetDefaultDownloadFolderPath::<Identity, OFFSET>,
30340 PreferredColorScheme: PreferredColorScheme::<Identity, OFFSET>,
30341 SetPreferredColorScheme: SetPreferredColorScheme::<Identity, OFFSET>,
30342 }
30343 }
30344 pub fn matches(iid: &windows_core::GUID) -> bool {
30345 iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
30346 }
30347}
30348impl windows_core::RuntimeName for ICoreWebView2Profile {}
30349windows_core::imp::define_interface!(
30350 ICoreWebView2Profile2,
30351 ICoreWebView2Profile2_Vtbl,
30352 0xfa740d4b_5eae_4344_a8ad_74be31925397
30353);
30354impl core::ops::Deref for ICoreWebView2Profile2 {
30355 type Target = ICoreWebView2Profile;
30356 fn deref(&self) -> &Self::Target {
30357 unsafe { core::mem::transmute(self) }
30358 }
30359}
30360windows_core::imp::interface_hierarchy!(
30361 ICoreWebView2Profile2,
30362 windows_core::IUnknown,
30363 ICoreWebView2Profile
30364);
30365impl ICoreWebView2Profile2 {
30366 pub unsafe fn ClearBrowsingData<P1>(
30367 &self,
30368 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
30369 handler: P1,
30370 ) -> windows_core::Result<()>
30371 where
30372 P1: windows_core::Param<ICoreWebView2ClearBrowsingDataCompletedHandler>,
30373 {
30374 unsafe {
30375 (windows_core::Interface::vtable(self).ClearBrowsingData)(
30376 windows_core::Interface::as_raw(self),
30377 datakinds,
30378 handler.param().abi(),
30379 )
30380 .ok()
30381 }
30382 }
30383 pub unsafe fn ClearBrowsingDataInTimeRange<P3>(
30384 &self,
30385 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
30386 starttime: f64,
30387 endtime: f64,
30388 handler: P3,
30389 ) -> windows_core::Result<()>
30390 where
30391 P3: windows_core::Param<ICoreWebView2ClearBrowsingDataCompletedHandler>,
30392 {
30393 unsafe {
30394 (windows_core::Interface::vtable(self).ClearBrowsingDataInTimeRange)(
30395 windows_core::Interface::as_raw(self),
30396 datakinds,
30397 starttime,
30398 endtime,
30399 handler.param().abi(),
30400 )
30401 .ok()
30402 }
30403 }
30404 pub unsafe fn ClearBrowsingDataAll<P0>(&self, handler: P0) -> windows_core::Result<()>
30405 where
30406 P0: windows_core::Param<ICoreWebView2ClearBrowsingDataCompletedHandler>,
30407 {
30408 unsafe {
30409 (windows_core::Interface::vtable(self).ClearBrowsingDataAll)(
30410 windows_core::Interface::as_raw(self),
30411 handler.param().abi(),
30412 )
30413 .ok()
30414 }
30415 }
30416}
30417#[repr(C)]
30418#[doc(hidden)]
30419pub struct ICoreWebView2Profile2_Vtbl {
30420 pub base__: ICoreWebView2Profile_Vtbl,
30421 pub ClearBrowsingData: unsafe extern "system" fn(
30422 *mut core::ffi::c_void,
30423 COREWEBVIEW2_BROWSING_DATA_KINDS,
30424 *mut core::ffi::c_void,
30425 ) -> windows_core::HRESULT,
30426 pub ClearBrowsingDataInTimeRange: unsafe extern "system" fn(
30427 *mut core::ffi::c_void,
30428 COREWEBVIEW2_BROWSING_DATA_KINDS,
30429 f64,
30430 f64,
30431 *mut core::ffi::c_void,
30432 ) -> windows_core::HRESULT,
30433 pub ClearBrowsingDataAll: unsafe extern "system" fn(
30434 *mut core::ffi::c_void,
30435 *mut core::ffi::c_void,
30436 ) -> windows_core::HRESULT,
30437}
30438pub trait ICoreWebView2Profile2_Impl: ICoreWebView2Profile_Impl {
30439 fn ClearBrowsingData(
30440 &self,
30441 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
30442 handler: windows_core::Ref<'_, ICoreWebView2ClearBrowsingDataCompletedHandler>,
30443 ) -> windows_core::Result<()>;
30444 fn ClearBrowsingDataInTimeRange(
30445 &self,
30446 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
30447 starttime: f64,
30448 endtime: f64,
30449 handler: windows_core::Ref<'_, ICoreWebView2ClearBrowsingDataCompletedHandler>,
30450 ) -> windows_core::Result<()>;
30451 fn ClearBrowsingDataAll(
30452 &self,
30453 handler: windows_core::Ref<'_, ICoreWebView2ClearBrowsingDataCompletedHandler>,
30454 ) -> windows_core::Result<()>;
30455}
30456impl ICoreWebView2Profile2_Vtbl {
30457 pub const fn new<Identity: ICoreWebView2Profile2_Impl, const OFFSET: isize>() -> Self {
30458 unsafe extern "system" fn ClearBrowsingData<
30459 Identity: ICoreWebView2Profile2_Impl,
30460 const OFFSET: isize,
30461 >(
30462 this: *mut core::ffi::c_void,
30463 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
30464 handler: *mut core::ffi::c_void,
30465 ) -> windows_core::HRESULT {
30466 unsafe {
30467 let this: &Identity =
30468 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30469 ICoreWebView2Profile2_Impl::ClearBrowsingData(
30470 this,
30471 core::mem::transmute_copy(&datakinds),
30472 core::mem::transmute_copy(&handler),
30473 )
30474 .into()
30475 }
30476 }
30477 unsafe extern "system" fn ClearBrowsingDataInTimeRange<
30478 Identity: ICoreWebView2Profile2_Impl,
30479 const OFFSET: isize,
30480 >(
30481 this: *mut core::ffi::c_void,
30482 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
30483 starttime: f64,
30484 endtime: f64,
30485 handler: *mut core::ffi::c_void,
30486 ) -> windows_core::HRESULT {
30487 unsafe {
30488 let this: &Identity =
30489 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30490 ICoreWebView2Profile2_Impl::ClearBrowsingDataInTimeRange(
30491 this,
30492 core::mem::transmute_copy(&datakinds),
30493 core::mem::transmute_copy(&starttime),
30494 core::mem::transmute_copy(&endtime),
30495 core::mem::transmute_copy(&handler),
30496 )
30497 .into()
30498 }
30499 }
30500 unsafe extern "system" fn ClearBrowsingDataAll<
30501 Identity: ICoreWebView2Profile2_Impl,
30502 const OFFSET: isize,
30503 >(
30504 this: *mut core::ffi::c_void,
30505 handler: *mut core::ffi::c_void,
30506 ) -> windows_core::HRESULT {
30507 unsafe {
30508 let this: &Identity =
30509 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30510 ICoreWebView2Profile2_Impl::ClearBrowsingDataAll(
30511 this,
30512 core::mem::transmute_copy(&handler),
30513 )
30514 .into()
30515 }
30516 }
30517 Self {
30518 base__: ICoreWebView2Profile_Vtbl::new::<Identity, OFFSET>(),
30519 ClearBrowsingData: ClearBrowsingData::<Identity, OFFSET>,
30520 ClearBrowsingDataInTimeRange: ClearBrowsingDataInTimeRange::<Identity, OFFSET>,
30521 ClearBrowsingDataAll: ClearBrowsingDataAll::<Identity, OFFSET>,
30522 }
30523 }
30524 pub fn matches(iid: &windows_core::GUID) -> bool {
30525 iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
30526 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
30527 }
30528}
30529impl windows_core::RuntimeName for ICoreWebView2Profile2 {}
30530windows_core::imp::define_interface!(
30531 ICoreWebView2Profile3,
30532 ICoreWebView2Profile3_Vtbl,
30533 0xb188e659_5685_4e05_bdba_fc640e0f1992
30534);
30535impl core::ops::Deref for ICoreWebView2Profile3 {
30536 type Target = ICoreWebView2Profile2;
30537 fn deref(&self) -> &Self::Target {
30538 unsafe { core::mem::transmute(self) }
30539 }
30540}
30541windows_core::imp::interface_hierarchy!(
30542 ICoreWebView2Profile3,
30543 windows_core::IUnknown,
30544 ICoreWebView2Profile,
30545 ICoreWebView2Profile2
30546);
30547impl ICoreWebView2Profile3 {
30548 pub unsafe fn PreferredTrackingPreventionLevel(
30549 &self,
30550 value: *mut COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30551 ) -> windows_core::Result<()> {
30552 unsafe {
30553 (windows_core::Interface::vtable(self).PreferredTrackingPreventionLevel)(
30554 windows_core::Interface::as_raw(self),
30555 value as _,
30556 )
30557 .ok()
30558 }
30559 }
30560 pub unsafe fn SetPreferredTrackingPreventionLevel(
30561 &self,
30562 value: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30563 ) -> windows_core::Result<()> {
30564 unsafe {
30565 (windows_core::Interface::vtable(self).SetPreferredTrackingPreventionLevel)(
30566 windows_core::Interface::as_raw(self),
30567 value,
30568 )
30569 .ok()
30570 }
30571 }
30572}
30573#[repr(C)]
30574#[doc(hidden)]
30575pub struct ICoreWebView2Profile3_Vtbl {
30576 pub base__: ICoreWebView2Profile2_Vtbl,
30577 pub PreferredTrackingPreventionLevel: unsafe extern "system" fn(
30578 *mut core::ffi::c_void,
30579 *mut COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30580 ) -> windows_core::HRESULT,
30581 pub SetPreferredTrackingPreventionLevel: unsafe extern "system" fn(
30582 *mut core::ffi::c_void,
30583 COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30584 )
30585 -> windows_core::HRESULT,
30586}
30587pub trait ICoreWebView2Profile3_Impl: ICoreWebView2Profile2_Impl {
30588 fn PreferredTrackingPreventionLevel(
30589 &self,
30590 value: *mut COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30591 ) -> windows_core::Result<()>;
30592 fn SetPreferredTrackingPreventionLevel(
30593 &self,
30594 value: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30595 ) -> windows_core::Result<()>;
30596}
30597impl ICoreWebView2Profile3_Vtbl {
30598 pub const fn new<Identity: ICoreWebView2Profile3_Impl, const OFFSET: isize>() -> Self {
30599 unsafe extern "system" fn PreferredTrackingPreventionLevel<
30600 Identity: ICoreWebView2Profile3_Impl,
30601 const OFFSET: isize,
30602 >(
30603 this: *mut core::ffi::c_void,
30604 value: *mut COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30605 ) -> windows_core::HRESULT {
30606 unsafe {
30607 let this: &Identity =
30608 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30609 ICoreWebView2Profile3_Impl::PreferredTrackingPreventionLevel(
30610 this,
30611 core::mem::transmute_copy(&value),
30612 )
30613 .into()
30614 }
30615 }
30616 unsafe extern "system" fn SetPreferredTrackingPreventionLevel<
30617 Identity: ICoreWebView2Profile3_Impl,
30618 const OFFSET: isize,
30619 >(
30620 this: *mut core::ffi::c_void,
30621 value: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30622 ) -> windows_core::HRESULT {
30623 unsafe {
30624 let this: &Identity =
30625 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30626 ICoreWebView2Profile3_Impl::SetPreferredTrackingPreventionLevel(
30627 this,
30628 core::mem::transmute_copy(&value),
30629 )
30630 .into()
30631 }
30632 }
30633 Self {
30634 base__: ICoreWebView2Profile2_Vtbl::new::<Identity, OFFSET>(),
30635 PreferredTrackingPreventionLevel: PreferredTrackingPreventionLevel::<Identity, OFFSET>,
30636 SetPreferredTrackingPreventionLevel: SetPreferredTrackingPreventionLevel::<
30637 Identity,
30638 OFFSET,
30639 >,
30640 }
30641 }
30642 pub fn matches(iid: &windows_core::GUID) -> bool {
30643 iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
30644 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
30645 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
30646 }
30647}
30648impl windows_core::RuntimeName for ICoreWebView2Profile3 {}
30649windows_core::imp::define_interface!(
30650 ICoreWebView2Profile4,
30651 ICoreWebView2Profile4_Vtbl,
30652 0x8f4ae680_192e_4ec8_833a_21cfadaef628
30653);
30654impl core::ops::Deref for ICoreWebView2Profile4 {
30655 type Target = ICoreWebView2Profile3;
30656 fn deref(&self) -> &Self::Target {
30657 unsafe { core::mem::transmute(self) }
30658 }
30659}
30660windows_core::imp::interface_hierarchy!(
30661 ICoreWebView2Profile4,
30662 windows_core::IUnknown,
30663 ICoreWebView2Profile,
30664 ICoreWebView2Profile2,
30665 ICoreWebView2Profile3
30666);
30667impl ICoreWebView2Profile4 {
30668 pub unsafe fn SetPermissionState<P1, P3>(
30669 &self,
30670 permissionkind: COREWEBVIEW2_PERMISSION_KIND,
30671 origin: P1,
30672 state: COREWEBVIEW2_PERMISSION_STATE,
30673 handler: P3,
30674 ) -> windows_core::Result<()>
30675 where
30676 P1: windows_core::Param<windows_core::PCWSTR>,
30677 P3: windows_core::Param<ICoreWebView2SetPermissionStateCompletedHandler>,
30678 {
30679 unsafe {
30680 (windows_core::Interface::vtable(self).SetPermissionState)(
30681 windows_core::Interface::as_raw(self),
30682 permissionkind,
30683 origin.param().abi(),
30684 state,
30685 handler.param().abi(),
30686 )
30687 .ok()
30688 }
30689 }
30690 pub unsafe fn GetNonDefaultPermissionSettings<P0>(
30691 &self,
30692 handler: P0,
30693 ) -> windows_core::Result<()>
30694 where
30695 P0: windows_core::Param<ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler>,
30696 {
30697 unsafe {
30698 (windows_core::Interface::vtable(self).GetNonDefaultPermissionSettings)(
30699 windows_core::Interface::as_raw(self),
30700 handler.param().abi(),
30701 )
30702 .ok()
30703 }
30704 }
30705}
30706#[repr(C)]
30707#[doc(hidden)]
30708pub struct ICoreWebView2Profile4_Vtbl {
30709 pub base__: ICoreWebView2Profile3_Vtbl,
30710 pub SetPermissionState: unsafe extern "system" fn(
30711 *mut core::ffi::c_void,
30712 COREWEBVIEW2_PERMISSION_KIND,
30713 windows_core::PCWSTR,
30714 COREWEBVIEW2_PERMISSION_STATE,
30715 *mut core::ffi::c_void,
30716 ) -> windows_core::HRESULT,
30717 pub GetNonDefaultPermissionSettings: unsafe extern "system" fn(
30718 *mut core::ffi::c_void,
30719 *mut core::ffi::c_void,
30720 ) -> windows_core::HRESULT,
30721}
30722pub trait ICoreWebView2Profile4_Impl: ICoreWebView2Profile3_Impl {
30723 fn SetPermissionState(
30724 &self,
30725 permissionkind: COREWEBVIEW2_PERMISSION_KIND,
30726 origin: &windows_core::PCWSTR,
30727 state: COREWEBVIEW2_PERMISSION_STATE,
30728 handler: windows_core::Ref<'_, ICoreWebView2SetPermissionStateCompletedHandler>,
30729 ) -> windows_core::Result<()>;
30730 fn GetNonDefaultPermissionSettings(
30731 &self,
30732 handler: windows_core::Ref<
30733 '_,
30734 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler,
30735 >,
30736 ) -> windows_core::Result<()>;
30737}
30738impl ICoreWebView2Profile4_Vtbl {
30739 pub const fn new<Identity: ICoreWebView2Profile4_Impl, const OFFSET: isize>() -> Self {
30740 unsafe extern "system" fn SetPermissionState<
30741 Identity: ICoreWebView2Profile4_Impl,
30742 const OFFSET: isize,
30743 >(
30744 this: *mut core::ffi::c_void,
30745 permissionkind: COREWEBVIEW2_PERMISSION_KIND,
30746 origin: windows_core::PCWSTR,
30747 state: COREWEBVIEW2_PERMISSION_STATE,
30748 handler: *mut core::ffi::c_void,
30749 ) -> windows_core::HRESULT {
30750 unsafe {
30751 let this: &Identity =
30752 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30753 ICoreWebView2Profile4_Impl::SetPermissionState(
30754 this,
30755 core::mem::transmute_copy(&permissionkind),
30756 core::mem::transmute(&origin),
30757 core::mem::transmute_copy(&state),
30758 core::mem::transmute_copy(&handler),
30759 )
30760 .into()
30761 }
30762 }
30763 unsafe extern "system" fn GetNonDefaultPermissionSettings<
30764 Identity: ICoreWebView2Profile4_Impl,
30765 const OFFSET: isize,
30766 >(
30767 this: *mut core::ffi::c_void,
30768 handler: *mut core::ffi::c_void,
30769 ) -> windows_core::HRESULT {
30770 unsafe {
30771 let this: &Identity =
30772 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30773 ICoreWebView2Profile4_Impl::GetNonDefaultPermissionSettings(
30774 this,
30775 core::mem::transmute_copy(&handler),
30776 )
30777 .into()
30778 }
30779 }
30780 Self {
30781 base__: ICoreWebView2Profile3_Vtbl::new::<Identity, OFFSET>(),
30782 SetPermissionState: SetPermissionState::<Identity, OFFSET>,
30783 GetNonDefaultPermissionSettings: GetNonDefaultPermissionSettings::<Identity, OFFSET>,
30784 }
30785 }
30786 pub fn matches(iid: &windows_core::GUID) -> bool {
30787 iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
30788 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
30789 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
30790 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
30791 }
30792}
30793impl windows_core::RuntimeName for ICoreWebView2Profile4 {}
30794windows_core::imp::define_interface!(
30795 ICoreWebView2Profile5,
30796 ICoreWebView2Profile5_Vtbl,
30797 0x2ee5b76e_6e80_4df2_bcd3_d4ec3340a01b
30798);
30799impl core::ops::Deref for ICoreWebView2Profile5 {
30800 type Target = ICoreWebView2Profile4;
30801 fn deref(&self) -> &Self::Target {
30802 unsafe { core::mem::transmute(self) }
30803 }
30804}
30805windows_core::imp::interface_hierarchy!(
30806 ICoreWebView2Profile5,
30807 windows_core::IUnknown,
30808 ICoreWebView2Profile,
30809 ICoreWebView2Profile2,
30810 ICoreWebView2Profile3,
30811 ICoreWebView2Profile4
30812);
30813impl ICoreWebView2Profile5 {
30814 pub unsafe fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager> {
30815 unsafe {
30816 let mut result__ = core::mem::zeroed();
30817 (windows_core::Interface::vtable(self).CookieManager)(
30818 windows_core::Interface::as_raw(self),
30819 &mut result__,
30820 )
30821 .and_then(|| windows_core::Type::from_abi(result__))
30822 }
30823 }
30824}
30825#[repr(C)]
30826#[doc(hidden)]
30827pub struct ICoreWebView2Profile5_Vtbl {
30828 pub base__: ICoreWebView2Profile4_Vtbl,
30829 pub CookieManager: unsafe extern "system" fn(
30830 *mut core::ffi::c_void,
30831 *mut *mut core::ffi::c_void,
30832 ) -> windows_core::HRESULT,
30833}
30834pub trait ICoreWebView2Profile5_Impl: ICoreWebView2Profile4_Impl {
30835 fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager>;
30836}
30837impl ICoreWebView2Profile5_Vtbl {
30838 pub const fn new<Identity: ICoreWebView2Profile5_Impl, const OFFSET: isize>() -> Self {
30839 unsafe extern "system" fn CookieManager<
30840 Identity: ICoreWebView2Profile5_Impl,
30841 const OFFSET: isize,
30842 >(
30843 this: *mut core::ffi::c_void,
30844 value: *mut *mut core::ffi::c_void,
30845 ) -> windows_core::HRESULT {
30846 unsafe {
30847 let this: &Identity =
30848 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30849 match ICoreWebView2Profile5_Impl::CookieManager(this) {
30850 Ok(ok__) => {
30851 value.write(core::mem::transmute(ok__));
30852 windows_core::HRESULT(0)
30853 }
30854 Err(err) => err.into(),
30855 }
30856 }
30857 }
30858 Self {
30859 base__: ICoreWebView2Profile4_Vtbl::new::<Identity, OFFSET>(),
30860 CookieManager: CookieManager::<Identity, OFFSET>,
30861 }
30862 }
30863 pub fn matches(iid: &windows_core::GUID) -> bool {
30864 iid == &<ICoreWebView2Profile5 as windows_core::Interface>::IID
30865 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
30866 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
30867 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
30868 || iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
30869 }
30870}
30871impl windows_core::RuntimeName for ICoreWebView2Profile5 {}
30872windows_core::imp::define_interface!(
30873 ICoreWebView2Profile6,
30874 ICoreWebView2Profile6_Vtbl,
30875 0xbd82fa6a_1d65_4c33_b2b4_0393020cc61b
30876);
30877impl core::ops::Deref for ICoreWebView2Profile6 {
30878 type Target = ICoreWebView2Profile5;
30879 fn deref(&self) -> &Self::Target {
30880 unsafe { core::mem::transmute(self) }
30881 }
30882}
30883windows_core::imp::interface_hierarchy!(
30884 ICoreWebView2Profile6,
30885 windows_core::IUnknown,
30886 ICoreWebView2Profile,
30887 ICoreWebView2Profile2,
30888 ICoreWebView2Profile3,
30889 ICoreWebView2Profile4,
30890 ICoreWebView2Profile5
30891);
30892impl ICoreWebView2Profile6 {
30893 pub unsafe fn IsPasswordAutosaveEnabled(
30894 &self,
30895 value: *mut windows_core::BOOL,
30896 ) -> windows_core::Result<()> {
30897 unsafe {
30898 (windows_core::Interface::vtable(self).IsPasswordAutosaveEnabled)(
30899 windows_core::Interface::as_raw(self),
30900 value as _,
30901 )
30902 .ok()
30903 }
30904 }
30905 pub unsafe fn SetIsPasswordAutosaveEnabled(&self, value: bool) -> windows_core::Result<()> {
30906 unsafe {
30907 (windows_core::Interface::vtable(self).SetIsPasswordAutosaveEnabled)(
30908 windows_core::Interface::as_raw(self),
30909 value.into(),
30910 )
30911 .ok()
30912 }
30913 }
30914 pub unsafe fn IsGeneralAutofillEnabled(
30915 &self,
30916 value: *mut windows_core::BOOL,
30917 ) -> windows_core::Result<()> {
30918 unsafe {
30919 (windows_core::Interface::vtable(self).IsGeneralAutofillEnabled)(
30920 windows_core::Interface::as_raw(self),
30921 value as _,
30922 )
30923 .ok()
30924 }
30925 }
30926 pub unsafe fn SetIsGeneralAutofillEnabled(&self, value: bool) -> windows_core::Result<()> {
30927 unsafe {
30928 (windows_core::Interface::vtable(self).SetIsGeneralAutofillEnabled)(
30929 windows_core::Interface::as_raw(self),
30930 value.into(),
30931 )
30932 .ok()
30933 }
30934 }
30935}
30936#[repr(C)]
30937#[doc(hidden)]
30938pub struct ICoreWebView2Profile6_Vtbl {
30939 pub base__: ICoreWebView2Profile5_Vtbl,
30940 pub IsPasswordAutosaveEnabled: unsafe extern "system" fn(
30941 *mut core::ffi::c_void,
30942 *mut windows_core::BOOL,
30943 ) -> windows_core::HRESULT,
30944 pub SetIsPasswordAutosaveEnabled: unsafe extern "system" fn(
30945 *mut core::ffi::c_void,
30946 windows_core::BOOL,
30947 ) -> windows_core::HRESULT,
30948 pub IsGeneralAutofillEnabled: unsafe extern "system" fn(
30949 *mut core::ffi::c_void,
30950 *mut windows_core::BOOL,
30951 ) -> windows_core::HRESULT,
30952 pub SetIsGeneralAutofillEnabled: unsafe extern "system" fn(
30953 *mut core::ffi::c_void,
30954 windows_core::BOOL,
30955 ) -> windows_core::HRESULT,
30956}
30957pub trait ICoreWebView2Profile6_Impl: ICoreWebView2Profile5_Impl {
30958 fn IsPasswordAutosaveEnabled(&self, value: *mut windows_core::BOOL)
30959 -> windows_core::Result<()>;
30960 fn SetIsPasswordAutosaveEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
30961 fn IsGeneralAutofillEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
30962 fn SetIsGeneralAutofillEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
30963}
30964impl ICoreWebView2Profile6_Vtbl {
30965 pub const fn new<Identity: ICoreWebView2Profile6_Impl, const OFFSET: isize>() -> Self {
30966 unsafe extern "system" fn IsPasswordAutosaveEnabled<
30967 Identity: ICoreWebView2Profile6_Impl,
30968 const OFFSET: isize,
30969 >(
30970 this: *mut core::ffi::c_void,
30971 value: *mut windows_core::BOOL,
30972 ) -> windows_core::HRESULT {
30973 unsafe {
30974 let this: &Identity =
30975 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30976 ICoreWebView2Profile6_Impl::IsPasswordAutosaveEnabled(
30977 this,
30978 core::mem::transmute_copy(&value),
30979 )
30980 .into()
30981 }
30982 }
30983 unsafe extern "system" fn SetIsPasswordAutosaveEnabled<
30984 Identity: ICoreWebView2Profile6_Impl,
30985 const OFFSET: isize,
30986 >(
30987 this: *mut core::ffi::c_void,
30988 value: windows_core::BOOL,
30989 ) -> windows_core::HRESULT {
30990 unsafe {
30991 let this: &Identity =
30992 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30993 ICoreWebView2Profile6_Impl::SetIsPasswordAutosaveEnabled(
30994 this,
30995 core::mem::transmute_copy(&value),
30996 )
30997 .into()
30998 }
30999 }
31000 unsafe extern "system" fn IsGeneralAutofillEnabled<
31001 Identity: ICoreWebView2Profile6_Impl,
31002 const OFFSET: isize,
31003 >(
31004 this: *mut core::ffi::c_void,
31005 value: *mut windows_core::BOOL,
31006 ) -> windows_core::HRESULT {
31007 unsafe {
31008 let this: &Identity =
31009 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31010 ICoreWebView2Profile6_Impl::IsGeneralAutofillEnabled(
31011 this,
31012 core::mem::transmute_copy(&value),
31013 )
31014 .into()
31015 }
31016 }
31017 unsafe extern "system" fn SetIsGeneralAutofillEnabled<
31018 Identity: ICoreWebView2Profile6_Impl,
31019 const OFFSET: isize,
31020 >(
31021 this: *mut core::ffi::c_void,
31022 value: windows_core::BOOL,
31023 ) -> windows_core::HRESULT {
31024 unsafe {
31025 let this: &Identity =
31026 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31027 ICoreWebView2Profile6_Impl::SetIsGeneralAutofillEnabled(
31028 this,
31029 core::mem::transmute_copy(&value),
31030 )
31031 .into()
31032 }
31033 }
31034 Self {
31035 base__: ICoreWebView2Profile5_Vtbl::new::<Identity, OFFSET>(),
31036 IsPasswordAutosaveEnabled: IsPasswordAutosaveEnabled::<Identity, OFFSET>,
31037 SetIsPasswordAutosaveEnabled: SetIsPasswordAutosaveEnabled::<Identity, OFFSET>,
31038 IsGeneralAutofillEnabled: IsGeneralAutofillEnabled::<Identity, OFFSET>,
31039 SetIsGeneralAutofillEnabled: SetIsGeneralAutofillEnabled::<Identity, OFFSET>,
31040 }
31041 }
31042 pub fn matches(iid: &windows_core::GUID) -> bool {
31043 iid == &<ICoreWebView2Profile6 as windows_core::Interface>::IID
31044 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
31045 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
31046 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
31047 || iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
31048 || iid == &<ICoreWebView2Profile5 as windows_core::Interface>::IID
31049 }
31050}
31051impl windows_core::RuntimeName for ICoreWebView2Profile6 {}
31052windows_core::imp::define_interface!(
31053 ICoreWebView2Profile7,
31054 ICoreWebView2Profile7_Vtbl,
31055 0x7b4c7906_a1aa_4cb4_b723_db09f813d541
31056);
31057impl core::ops::Deref for ICoreWebView2Profile7 {
31058 type Target = ICoreWebView2Profile6;
31059 fn deref(&self) -> &Self::Target {
31060 unsafe { core::mem::transmute(self) }
31061 }
31062}
31063windows_core::imp::interface_hierarchy!(
31064 ICoreWebView2Profile7,
31065 windows_core::IUnknown,
31066 ICoreWebView2Profile,
31067 ICoreWebView2Profile2,
31068 ICoreWebView2Profile3,
31069 ICoreWebView2Profile4,
31070 ICoreWebView2Profile5,
31071 ICoreWebView2Profile6
31072);
31073impl ICoreWebView2Profile7 {
31074 pub unsafe fn AddBrowserExtension<P0, P1>(
31075 &self,
31076 extensionfolderpath: P0,
31077 handler: P1,
31078 ) -> windows_core::Result<()>
31079 where
31080 P0: windows_core::Param<windows_core::PCWSTR>,
31081 P1: windows_core::Param<ICoreWebView2ProfileAddBrowserExtensionCompletedHandler>,
31082 {
31083 unsafe {
31084 (windows_core::Interface::vtable(self).AddBrowserExtension)(
31085 windows_core::Interface::as_raw(self),
31086 extensionfolderpath.param().abi(),
31087 handler.param().abi(),
31088 )
31089 .ok()
31090 }
31091 }
31092 pub unsafe fn GetBrowserExtensions<P0>(&self, handler: P0) -> windows_core::Result<()>
31093 where
31094 P0: windows_core::Param<ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler>,
31095 {
31096 unsafe {
31097 (windows_core::Interface::vtable(self).GetBrowserExtensions)(
31098 windows_core::Interface::as_raw(self),
31099 handler.param().abi(),
31100 )
31101 .ok()
31102 }
31103 }
31104}
31105#[repr(C)]
31106#[doc(hidden)]
31107pub struct ICoreWebView2Profile7_Vtbl {
31108 pub base__: ICoreWebView2Profile6_Vtbl,
31109 pub AddBrowserExtension: unsafe extern "system" fn(
31110 *mut core::ffi::c_void,
31111 windows_core::PCWSTR,
31112 *mut core::ffi::c_void,
31113 ) -> windows_core::HRESULT,
31114 pub GetBrowserExtensions: unsafe extern "system" fn(
31115 *mut core::ffi::c_void,
31116 *mut core::ffi::c_void,
31117 ) -> windows_core::HRESULT,
31118}
31119pub trait ICoreWebView2Profile7_Impl: ICoreWebView2Profile6_Impl {
31120 fn AddBrowserExtension(
31121 &self,
31122 extensionfolderpath: &windows_core::PCWSTR,
31123 handler: windows_core::Ref<'_, ICoreWebView2ProfileAddBrowserExtensionCompletedHandler>,
31124 ) -> windows_core::Result<()>;
31125 fn GetBrowserExtensions(
31126 &self,
31127 handler: windows_core::Ref<'_, ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler>,
31128 ) -> windows_core::Result<()>;
31129}
31130impl ICoreWebView2Profile7_Vtbl {
31131 pub const fn new<Identity: ICoreWebView2Profile7_Impl, const OFFSET: isize>() -> Self {
31132 unsafe extern "system" fn AddBrowserExtension<
31133 Identity: ICoreWebView2Profile7_Impl,
31134 const OFFSET: isize,
31135 >(
31136 this: *mut core::ffi::c_void,
31137 extensionfolderpath: windows_core::PCWSTR,
31138 handler: *mut core::ffi::c_void,
31139 ) -> windows_core::HRESULT {
31140 unsafe {
31141 let this: &Identity =
31142 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31143 ICoreWebView2Profile7_Impl::AddBrowserExtension(
31144 this,
31145 core::mem::transmute(&extensionfolderpath),
31146 core::mem::transmute_copy(&handler),
31147 )
31148 .into()
31149 }
31150 }
31151 unsafe extern "system" fn GetBrowserExtensions<
31152 Identity: ICoreWebView2Profile7_Impl,
31153 const OFFSET: isize,
31154 >(
31155 this: *mut core::ffi::c_void,
31156 handler: *mut core::ffi::c_void,
31157 ) -> windows_core::HRESULT {
31158 unsafe {
31159 let this: &Identity =
31160 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31161 ICoreWebView2Profile7_Impl::GetBrowserExtensions(
31162 this,
31163 core::mem::transmute_copy(&handler),
31164 )
31165 .into()
31166 }
31167 }
31168 Self {
31169 base__: ICoreWebView2Profile6_Vtbl::new::<Identity, OFFSET>(),
31170 AddBrowserExtension: AddBrowserExtension::<Identity, OFFSET>,
31171 GetBrowserExtensions: GetBrowserExtensions::<Identity, OFFSET>,
31172 }
31173 }
31174 pub fn matches(iid: &windows_core::GUID) -> bool {
31175 iid == &<ICoreWebView2Profile7 as windows_core::Interface>::IID
31176 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
31177 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
31178 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
31179 || iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
31180 || iid == &<ICoreWebView2Profile5 as windows_core::Interface>::IID
31181 || iid == &<ICoreWebView2Profile6 as windows_core::Interface>::IID
31182 }
31183}
31184impl windows_core::RuntimeName for ICoreWebView2Profile7 {}
31185windows_core::imp::define_interface!(
31186 ICoreWebView2Profile8,
31187 ICoreWebView2Profile8_Vtbl,
31188 0xfbf70c2f_eb1f_4383_85a0_163e92044011
31189);
31190impl core::ops::Deref for ICoreWebView2Profile8 {
31191 type Target = ICoreWebView2Profile7;
31192 fn deref(&self) -> &Self::Target {
31193 unsafe { core::mem::transmute(self) }
31194 }
31195}
31196windows_core::imp::interface_hierarchy!(
31197 ICoreWebView2Profile8,
31198 windows_core::IUnknown,
31199 ICoreWebView2Profile,
31200 ICoreWebView2Profile2,
31201 ICoreWebView2Profile3,
31202 ICoreWebView2Profile4,
31203 ICoreWebView2Profile5,
31204 ICoreWebView2Profile6,
31205 ICoreWebView2Profile7
31206);
31207impl ICoreWebView2Profile8 {
31208 pub unsafe fn Delete(&self) -> windows_core::Result<()> {
31209 unsafe {
31210 (windows_core::Interface::vtable(self).Delete)(windows_core::Interface::as_raw(self))
31211 .ok()
31212 }
31213 }
31214 pub unsafe fn add_Deleted<P0>(
31215 &self,
31216 eventhandler: P0,
31217 token: *mut i64,
31218 ) -> windows_core::Result<()>
31219 where
31220 P0: windows_core::Param<ICoreWebView2ProfileDeletedEventHandler>,
31221 {
31222 unsafe {
31223 (windows_core::Interface::vtable(self).add_Deleted)(
31224 windows_core::Interface::as_raw(self),
31225 eventhandler.param().abi(),
31226 token as _,
31227 )
31228 .ok()
31229 }
31230 }
31231 pub unsafe fn remove_Deleted(&self, token: i64) -> windows_core::Result<()> {
31232 unsafe {
31233 (windows_core::Interface::vtable(self).remove_Deleted)(
31234 windows_core::Interface::as_raw(self),
31235 token,
31236 )
31237 .ok()
31238 }
31239 }
31240}
31241#[repr(C)]
31242#[doc(hidden)]
31243pub struct ICoreWebView2Profile8_Vtbl {
31244 pub base__: ICoreWebView2Profile7_Vtbl,
31245 pub Delete: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
31246 pub add_Deleted: unsafe extern "system" fn(
31247 *mut core::ffi::c_void,
31248 *mut core::ffi::c_void,
31249 *mut i64,
31250 ) -> windows_core::HRESULT,
31251 pub remove_Deleted:
31252 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
31253}
31254pub trait ICoreWebView2Profile8_Impl: ICoreWebView2Profile7_Impl {
31255 fn Delete(&self) -> windows_core::Result<()>;
31256 fn add_Deleted(
31257 &self,
31258 eventhandler: windows_core::Ref<'_, ICoreWebView2ProfileDeletedEventHandler>,
31259 token: *mut i64,
31260 ) -> windows_core::Result<()>;
31261 fn remove_Deleted(&self, token: i64) -> windows_core::Result<()>;
31262}
31263impl ICoreWebView2Profile8_Vtbl {
31264 pub const fn new<Identity: ICoreWebView2Profile8_Impl, const OFFSET: isize>() -> Self {
31265 unsafe extern "system" fn Delete<
31266 Identity: ICoreWebView2Profile8_Impl,
31267 const OFFSET: isize,
31268 >(
31269 this: *mut core::ffi::c_void,
31270 ) -> windows_core::HRESULT {
31271 unsafe {
31272 let this: &Identity =
31273 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31274 ICoreWebView2Profile8_Impl::Delete(this).into()
31275 }
31276 }
31277 unsafe extern "system" fn add_Deleted<
31278 Identity: ICoreWebView2Profile8_Impl,
31279 const OFFSET: isize,
31280 >(
31281 this: *mut core::ffi::c_void,
31282 eventhandler: *mut core::ffi::c_void,
31283 token: *mut i64,
31284 ) -> windows_core::HRESULT {
31285 unsafe {
31286 let this: &Identity =
31287 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31288 ICoreWebView2Profile8_Impl::add_Deleted(
31289 this,
31290 core::mem::transmute_copy(&eventhandler),
31291 core::mem::transmute_copy(&token),
31292 )
31293 .into()
31294 }
31295 }
31296 unsafe extern "system" fn remove_Deleted<
31297 Identity: ICoreWebView2Profile8_Impl,
31298 const OFFSET: isize,
31299 >(
31300 this: *mut core::ffi::c_void,
31301 token: i64,
31302 ) -> windows_core::HRESULT {
31303 unsafe {
31304 let this: &Identity =
31305 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31306 ICoreWebView2Profile8_Impl::remove_Deleted(this, core::mem::transmute_copy(&token))
31307 .into()
31308 }
31309 }
31310 Self {
31311 base__: ICoreWebView2Profile7_Vtbl::new::<Identity, OFFSET>(),
31312 Delete: Delete::<Identity, OFFSET>,
31313 add_Deleted: add_Deleted::<Identity, OFFSET>,
31314 remove_Deleted: remove_Deleted::<Identity, OFFSET>,
31315 }
31316 }
31317 pub fn matches(iid: &windows_core::GUID) -> bool {
31318 iid == &<ICoreWebView2Profile8 as windows_core::Interface>::IID
31319 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
31320 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
31321 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
31322 || iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
31323 || iid == &<ICoreWebView2Profile5 as windows_core::Interface>::IID
31324 || iid == &<ICoreWebView2Profile6 as windows_core::Interface>::IID
31325 || iid == &<ICoreWebView2Profile7 as windows_core::Interface>::IID
31326 }
31327}
31328impl windows_core::RuntimeName for ICoreWebView2Profile8 {}
31329windows_core::imp::define_interface!(
31330 ICoreWebView2ProfileAddBrowserExtensionCompletedHandler,
31331 ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Vtbl,
31332 0xdf1aab27_82b9_4ab6_aae8_017a49398c14
31333);
31334windows_core::imp::interface_hierarchy!(
31335 ICoreWebView2ProfileAddBrowserExtensionCompletedHandler,
31336 windows_core::IUnknown
31337);
31338impl ICoreWebView2ProfileAddBrowserExtensionCompletedHandler {
31339 pub unsafe fn Invoke<P1>(
31340 &self,
31341 errorcode: windows_core::HRESULT,
31342 result: P1,
31343 ) -> windows_core::Result<()>
31344 where
31345 P1: windows_core::Param<ICoreWebView2BrowserExtension>,
31346 {
31347 unsafe {
31348 (windows_core::Interface::vtable(self).Invoke)(
31349 windows_core::Interface::as_raw(self),
31350 errorcode,
31351 result.param().abi(),
31352 )
31353 .ok()
31354 }
31355 }
31356}
31357#[repr(C)]
31358#[doc(hidden)]
31359pub struct ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Vtbl {
31360 pub base__: windows_core::IUnknown_Vtbl,
31361 pub Invoke: unsafe extern "system" fn(
31362 *mut core::ffi::c_void,
31363 windows_core::HRESULT,
31364 *mut core::ffi::c_void,
31365 ) -> windows_core::HRESULT,
31366}
31367pub trait ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Impl:
31368 windows_core::IUnknownImpl
31369{
31370 fn Invoke(
31371 &self,
31372 errorcode: windows_core::HRESULT,
31373 result: windows_core::Ref<'_, ICoreWebView2BrowserExtension>,
31374 ) -> windows_core::Result<()>;
31375}
31376impl ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Vtbl {
31377 pub const fn new<
31378 Identity: ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Impl,
31379 const OFFSET: isize,
31380 >() -> Self {
31381 unsafe extern "system" fn Invoke<
31382 Identity: ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Impl,
31383 const OFFSET: isize,
31384 >(
31385 this: *mut core::ffi::c_void,
31386 errorcode: windows_core::HRESULT,
31387 result: *mut core::ffi::c_void,
31388 ) -> windows_core::HRESULT {
31389 unsafe {
31390 let this: &Identity =
31391 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31392 ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Impl::Invoke(
31393 this,
31394 core::mem::transmute_copy(&errorcode),
31395 core::mem::transmute_copy(&result),
31396 )
31397 .into()
31398 }
31399 }
31400 Self {
31401 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31402 Invoke: Invoke::<Identity, OFFSET>,
31403 }
31404 }
31405 pub fn matches(iid: &windows_core::GUID) -> bool {
31406 iid == & < ICoreWebView2ProfileAddBrowserExtensionCompletedHandler as windows_core::Interface >::IID
31407 }
31408}
31409impl windows_core::RuntimeName for ICoreWebView2ProfileAddBrowserExtensionCompletedHandler {}
31410windows_core::imp::define_interface!(
31411 ICoreWebView2ProfileDeletedEventHandler,
31412 ICoreWebView2ProfileDeletedEventHandler_Vtbl,
31413 0xdf35055d_772e_4dbe_b743_5fbf74a2b258
31414);
31415windows_core::imp::interface_hierarchy!(
31416 ICoreWebView2ProfileDeletedEventHandler,
31417 windows_core::IUnknown
31418);
31419impl ICoreWebView2ProfileDeletedEventHandler {
31420 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
31421 where
31422 P0: windows_core::Param<ICoreWebView2Profile>,
31423 P1: windows_core::Param<windows_core::IUnknown>,
31424 {
31425 unsafe {
31426 (windows_core::Interface::vtable(self).Invoke)(
31427 windows_core::Interface::as_raw(self),
31428 sender.param().abi(),
31429 args.param().abi(),
31430 )
31431 .ok()
31432 }
31433 }
31434}
31435#[repr(C)]
31436#[doc(hidden)]
31437pub struct ICoreWebView2ProfileDeletedEventHandler_Vtbl {
31438 pub base__: windows_core::IUnknown_Vtbl,
31439 pub Invoke: unsafe extern "system" fn(
31440 *mut core::ffi::c_void,
31441 *mut core::ffi::c_void,
31442 *mut core::ffi::c_void,
31443 ) -> windows_core::HRESULT,
31444}
31445pub trait ICoreWebView2ProfileDeletedEventHandler_Impl: windows_core::IUnknownImpl {
31446 fn Invoke(
31447 &self,
31448 sender: windows_core::Ref<'_, ICoreWebView2Profile>,
31449 args: windows_core::Ref<'_, windows_core::IUnknown>,
31450 ) -> windows_core::Result<()>;
31451}
31452impl ICoreWebView2ProfileDeletedEventHandler_Vtbl {
31453 pub const fn new<
31454 Identity: ICoreWebView2ProfileDeletedEventHandler_Impl,
31455 const OFFSET: isize,
31456 >() -> Self {
31457 unsafe extern "system" fn Invoke<
31458 Identity: ICoreWebView2ProfileDeletedEventHandler_Impl,
31459 const OFFSET: isize,
31460 >(
31461 this: *mut core::ffi::c_void,
31462 sender: *mut core::ffi::c_void,
31463 args: *mut core::ffi::c_void,
31464 ) -> windows_core::HRESULT {
31465 unsafe {
31466 let this: &Identity =
31467 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31468 ICoreWebView2ProfileDeletedEventHandler_Impl::Invoke(
31469 this,
31470 core::mem::transmute_copy(&sender),
31471 core::mem::transmute_copy(&args),
31472 )
31473 .into()
31474 }
31475 }
31476 Self {
31477 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31478 Invoke: Invoke::<Identity, OFFSET>,
31479 }
31480 }
31481 pub fn matches(iid: &windows_core::GUID) -> bool {
31482 iid == &<ICoreWebView2ProfileDeletedEventHandler as windows_core::Interface>::IID
31483 }
31484}
31485impl windows_core::RuntimeName for ICoreWebView2ProfileDeletedEventHandler {}
31486windows_core::imp::define_interface!(
31487 ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler,
31488 ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Vtbl,
31489 0xfce16a1c_f107_4601_8b75_fc4940ae25d0
31490);
31491windows_core::imp::interface_hierarchy!(
31492 ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler,
31493 windows_core::IUnknown
31494);
31495impl ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler {
31496 pub unsafe fn Invoke<P1>(
31497 &self,
31498 errorcode: windows_core::HRESULT,
31499 result: P1,
31500 ) -> windows_core::Result<()>
31501 where
31502 P1: windows_core::Param<ICoreWebView2BrowserExtensionList>,
31503 {
31504 unsafe {
31505 (windows_core::Interface::vtable(self).Invoke)(
31506 windows_core::Interface::as_raw(self),
31507 errorcode,
31508 result.param().abi(),
31509 )
31510 .ok()
31511 }
31512 }
31513}
31514#[repr(C)]
31515#[doc(hidden)]
31516pub struct ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Vtbl {
31517 pub base__: windows_core::IUnknown_Vtbl,
31518 pub Invoke: unsafe extern "system" fn(
31519 *mut core::ffi::c_void,
31520 windows_core::HRESULT,
31521 *mut core::ffi::c_void,
31522 ) -> windows_core::HRESULT,
31523}
31524pub trait ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Impl:
31525 windows_core::IUnknownImpl
31526{
31527 fn Invoke(
31528 &self,
31529 errorcode: windows_core::HRESULT,
31530 result: windows_core::Ref<'_, ICoreWebView2BrowserExtensionList>,
31531 ) -> windows_core::Result<()>;
31532}
31533impl ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Vtbl {
31534 pub const fn new<
31535 Identity: ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Impl,
31536 const OFFSET: isize,
31537 >() -> Self {
31538 unsafe extern "system" fn Invoke<
31539 Identity: ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Impl,
31540 const OFFSET: isize,
31541 >(
31542 this: *mut core::ffi::c_void,
31543 errorcode: windows_core::HRESULT,
31544 result: *mut core::ffi::c_void,
31545 ) -> windows_core::HRESULT {
31546 unsafe {
31547 let this: &Identity =
31548 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31549 ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Impl::Invoke(
31550 this,
31551 core::mem::transmute_copy(&errorcode),
31552 core::mem::transmute_copy(&result),
31553 )
31554 .into()
31555 }
31556 }
31557 Self {
31558 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31559 Invoke: Invoke::<Identity, OFFSET>,
31560 }
31561 }
31562 pub fn matches(iid: &windows_core::GUID) -> bool {
31563 iid == & < ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler as windows_core::Interface >::IID
31564 }
31565}
31566impl windows_core::RuntimeName for ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler {}
31567windows_core::imp::define_interface!(
31568 ICoreWebView2RasterizationScaleChangedEventHandler,
31569 ICoreWebView2RasterizationScaleChangedEventHandler_Vtbl,
31570 0x9c98c8b1_ac53_427e_a345_3049b5524bbe
31571);
31572windows_core::imp::interface_hierarchy!(
31573 ICoreWebView2RasterizationScaleChangedEventHandler,
31574 windows_core::IUnknown
31575);
31576impl ICoreWebView2RasterizationScaleChangedEventHandler {
31577 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
31578 where
31579 P0: windows_core::Param<ICoreWebView2Controller>,
31580 P1: windows_core::Param<windows_core::IUnknown>,
31581 {
31582 unsafe {
31583 (windows_core::Interface::vtable(self).Invoke)(
31584 windows_core::Interface::as_raw(self),
31585 sender.param().abi(),
31586 args.param().abi(),
31587 )
31588 .ok()
31589 }
31590 }
31591}
31592#[repr(C)]
31593#[doc(hidden)]
31594pub struct ICoreWebView2RasterizationScaleChangedEventHandler_Vtbl {
31595 pub base__: windows_core::IUnknown_Vtbl,
31596 pub Invoke: unsafe extern "system" fn(
31597 *mut core::ffi::c_void,
31598 *mut core::ffi::c_void,
31599 *mut core::ffi::c_void,
31600 ) -> windows_core::HRESULT,
31601}
31602pub trait ICoreWebView2RasterizationScaleChangedEventHandler_Impl:
31603 windows_core::IUnknownImpl
31604{
31605 fn Invoke(
31606 &self,
31607 sender: windows_core::Ref<'_, ICoreWebView2Controller>,
31608 args: windows_core::Ref<'_, windows_core::IUnknown>,
31609 ) -> windows_core::Result<()>;
31610}
31611impl ICoreWebView2RasterizationScaleChangedEventHandler_Vtbl {
31612 pub const fn new<
31613 Identity: ICoreWebView2RasterizationScaleChangedEventHandler_Impl,
31614 const OFFSET: isize,
31615 >() -> Self {
31616 unsafe extern "system" fn Invoke<
31617 Identity: ICoreWebView2RasterizationScaleChangedEventHandler_Impl,
31618 const OFFSET: isize,
31619 >(
31620 this: *mut core::ffi::c_void,
31621 sender: *mut core::ffi::c_void,
31622 args: *mut core::ffi::c_void,
31623 ) -> windows_core::HRESULT {
31624 unsafe {
31625 let this: &Identity =
31626 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31627 ICoreWebView2RasterizationScaleChangedEventHandler_Impl::Invoke(
31628 this,
31629 core::mem::transmute_copy(&sender),
31630 core::mem::transmute_copy(&args),
31631 )
31632 .into()
31633 }
31634 }
31635 Self {
31636 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31637 Invoke: Invoke::<Identity, OFFSET>,
31638 }
31639 }
31640 pub fn matches(iid: &windows_core::GUID) -> bool {
31641 iid == &<ICoreWebView2RasterizationScaleChangedEventHandler as windows_core::Interface>::IID
31642 }
31643}
31644impl windows_core::RuntimeName for ICoreWebView2RasterizationScaleChangedEventHandler {}
31645windows_core::imp::define_interface!(
31646 ICoreWebView2RegionRectCollectionView,
31647 ICoreWebView2RegionRectCollectionView_Vtbl,
31648 0x333353b8_48bf_4449_8fcc_22697faf5753
31649);
31650windows_core::imp::interface_hierarchy!(
31651 ICoreWebView2RegionRectCollectionView,
31652 windows_core::IUnknown
31653);
31654impl ICoreWebView2RegionRectCollectionView {
31655 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
31656 unsafe {
31657 (windows_core::Interface::vtable(self).Count)(
31658 windows_core::Interface::as_raw(self),
31659 value as _,
31660 )
31661 .ok()
31662 }
31663 }
31664 pub unsafe fn GetValueAtIndex(
31665 &self,
31666 index: u32,
31667 value: *mut windows::Win32::Foundation::RECT,
31668 ) -> windows_core::Result<()> {
31669 unsafe {
31670 (windows_core::Interface::vtable(self).GetValueAtIndex)(
31671 windows_core::Interface::as_raw(self),
31672 index,
31673 value as _,
31674 )
31675 .ok()
31676 }
31677 }
31678}
31679#[repr(C)]
31680#[doc(hidden)]
31681pub struct ICoreWebView2RegionRectCollectionView_Vtbl {
31682 pub base__: windows_core::IUnknown_Vtbl,
31683 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
31684 pub GetValueAtIndex: unsafe extern "system" fn(
31685 *mut core::ffi::c_void,
31686 u32,
31687 *mut windows::Win32::Foundation::RECT,
31688 ) -> windows_core::HRESULT,
31689}
31690pub trait ICoreWebView2RegionRectCollectionView_Impl: windows_core::IUnknownImpl {
31691 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
31692 fn GetValueAtIndex(
31693 &self,
31694 index: u32,
31695 value: *mut windows::Win32::Foundation::RECT,
31696 ) -> windows_core::Result<()>;
31697}
31698impl ICoreWebView2RegionRectCollectionView_Vtbl {
31699 pub const fn new<Identity: ICoreWebView2RegionRectCollectionView_Impl, const OFFSET: isize>(
31700 ) -> Self {
31701 unsafe extern "system" fn Count<
31702 Identity: ICoreWebView2RegionRectCollectionView_Impl,
31703 const OFFSET: isize,
31704 >(
31705 this: *mut core::ffi::c_void,
31706 value: *mut u32,
31707 ) -> windows_core::HRESULT {
31708 unsafe {
31709 let this: &Identity =
31710 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31711 ICoreWebView2RegionRectCollectionView_Impl::Count(
31712 this,
31713 core::mem::transmute_copy(&value),
31714 )
31715 .into()
31716 }
31717 }
31718 unsafe extern "system" fn GetValueAtIndex<
31719 Identity: ICoreWebView2RegionRectCollectionView_Impl,
31720 const OFFSET: isize,
31721 >(
31722 this: *mut core::ffi::c_void,
31723 index: u32,
31724 value: *mut windows::Win32::Foundation::RECT,
31725 ) -> windows_core::HRESULT {
31726 unsafe {
31727 let this: &Identity =
31728 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31729 ICoreWebView2RegionRectCollectionView_Impl::GetValueAtIndex(
31730 this,
31731 core::mem::transmute_copy(&index),
31732 core::mem::transmute_copy(&value),
31733 )
31734 .into()
31735 }
31736 }
31737 Self {
31738 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31739 Count: Count::<Identity, OFFSET>,
31740 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
31741 }
31742 }
31743 pub fn matches(iid: &windows_core::GUID) -> bool {
31744 iid == &<ICoreWebView2RegionRectCollectionView as windows_core::Interface>::IID
31745 }
31746}
31747impl windows_core::RuntimeName for ICoreWebView2RegionRectCollectionView {}
31748windows_core::imp::define_interface!(
31749 ICoreWebView2SaveAsUIShowingEventArgs,
31750 ICoreWebView2SaveAsUIShowingEventArgs_Vtbl,
31751 0x55902952_0e0d_5aaa_a7d0_e833cdb34f62
31752);
31753windows_core::imp::interface_hierarchy!(
31754 ICoreWebView2SaveAsUIShowingEventArgs,
31755 windows_core::IUnknown
31756);
31757impl ICoreWebView2SaveAsUIShowingEventArgs {
31758 pub unsafe fn ContentMimeType(
31759 &self,
31760 value: *mut windows_core::PWSTR,
31761 ) -> windows_core::Result<()> {
31762 unsafe {
31763 (windows_core::Interface::vtable(self).ContentMimeType)(
31764 windows_core::Interface::as_raw(self),
31765 value as _,
31766 )
31767 .ok()
31768 }
31769 }
31770 pub unsafe fn SetCancel(&self, value: bool) -> windows_core::Result<()> {
31771 unsafe {
31772 (windows_core::Interface::vtable(self).SetCancel)(
31773 windows_core::Interface::as_raw(self),
31774 value.into(),
31775 )
31776 .ok()
31777 }
31778 }
31779 pub unsafe fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
31780 unsafe {
31781 (windows_core::Interface::vtable(self).Cancel)(
31782 windows_core::Interface::as_raw(self),
31783 value as _,
31784 )
31785 .ok()
31786 }
31787 }
31788 pub unsafe fn SetSuppressDefaultDialog(&self, value: bool) -> windows_core::Result<()> {
31789 unsafe {
31790 (windows_core::Interface::vtable(self).SetSuppressDefaultDialog)(
31791 windows_core::Interface::as_raw(self),
31792 value.into(),
31793 )
31794 .ok()
31795 }
31796 }
31797 pub unsafe fn SuppressDefaultDialog(
31798 &self,
31799 value: *mut windows_core::BOOL,
31800 ) -> windows_core::Result<()> {
31801 unsafe {
31802 (windows_core::Interface::vtable(self).SuppressDefaultDialog)(
31803 windows_core::Interface::as_raw(self),
31804 value as _,
31805 )
31806 .ok()
31807 }
31808 }
31809 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
31810 unsafe {
31811 let mut result__ = core::mem::zeroed();
31812 (windows_core::Interface::vtable(self).GetDeferral)(
31813 windows_core::Interface::as_raw(self),
31814 &mut result__,
31815 )
31816 .and_then(|| windows_core::Type::from_abi(result__))
31817 }
31818 }
31819 pub unsafe fn SetSaveAsFilePath<P0>(&self, value: P0) -> windows_core::Result<()>
31820 where
31821 P0: windows_core::Param<windows_core::PCWSTR>,
31822 {
31823 unsafe {
31824 (windows_core::Interface::vtable(self).SetSaveAsFilePath)(
31825 windows_core::Interface::as_raw(self),
31826 value.param().abi(),
31827 )
31828 .ok()
31829 }
31830 }
31831 pub unsafe fn SaveAsFilePath(
31832 &self,
31833 value: *mut windows_core::PWSTR,
31834 ) -> windows_core::Result<()> {
31835 unsafe {
31836 (windows_core::Interface::vtable(self).SaveAsFilePath)(
31837 windows_core::Interface::as_raw(self),
31838 value as _,
31839 )
31840 .ok()
31841 }
31842 }
31843 pub unsafe fn SetAllowReplace(&self, value: bool) -> windows_core::Result<()> {
31844 unsafe {
31845 (windows_core::Interface::vtable(self).SetAllowReplace)(
31846 windows_core::Interface::as_raw(self),
31847 value.into(),
31848 )
31849 .ok()
31850 }
31851 }
31852 pub unsafe fn AllowReplace(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
31853 unsafe {
31854 (windows_core::Interface::vtable(self).AllowReplace)(
31855 windows_core::Interface::as_raw(self),
31856 value as _,
31857 )
31858 .ok()
31859 }
31860 }
31861 pub unsafe fn SetKind(&self, value: COREWEBVIEW2_SAVE_AS_KIND) -> windows_core::Result<()> {
31862 unsafe {
31863 (windows_core::Interface::vtable(self).SetKind)(
31864 windows_core::Interface::as_raw(self),
31865 value,
31866 )
31867 .ok()
31868 }
31869 }
31870 pub unsafe fn Kind(&self, value: *mut COREWEBVIEW2_SAVE_AS_KIND) -> windows_core::Result<()> {
31871 unsafe {
31872 (windows_core::Interface::vtable(self).Kind)(
31873 windows_core::Interface::as_raw(self),
31874 value as _,
31875 )
31876 .ok()
31877 }
31878 }
31879}
31880#[repr(C)]
31881#[doc(hidden)]
31882pub struct ICoreWebView2SaveAsUIShowingEventArgs_Vtbl {
31883 pub base__: windows_core::IUnknown_Vtbl,
31884 pub ContentMimeType: unsafe extern "system" fn(
31885 *mut core::ffi::c_void,
31886 *mut windows_core::PWSTR,
31887 ) -> windows_core::HRESULT,
31888 pub SetCancel: unsafe extern "system" fn(
31889 *mut core::ffi::c_void,
31890 windows_core::BOOL,
31891 ) -> windows_core::HRESULT,
31892 pub Cancel: unsafe extern "system" fn(
31893 *mut core::ffi::c_void,
31894 *mut windows_core::BOOL,
31895 ) -> windows_core::HRESULT,
31896 pub SetSuppressDefaultDialog: unsafe extern "system" fn(
31897 *mut core::ffi::c_void,
31898 windows_core::BOOL,
31899 ) -> windows_core::HRESULT,
31900 pub SuppressDefaultDialog: unsafe extern "system" fn(
31901 *mut core::ffi::c_void,
31902 *mut windows_core::BOOL,
31903 ) -> windows_core::HRESULT,
31904 pub GetDeferral: unsafe extern "system" fn(
31905 *mut core::ffi::c_void,
31906 *mut *mut core::ffi::c_void,
31907 ) -> windows_core::HRESULT,
31908 pub SetSaveAsFilePath: unsafe extern "system" fn(
31909 *mut core::ffi::c_void,
31910 windows_core::PCWSTR,
31911 ) -> windows_core::HRESULT,
31912 pub SaveAsFilePath: unsafe extern "system" fn(
31913 *mut core::ffi::c_void,
31914 *mut windows_core::PWSTR,
31915 ) -> windows_core::HRESULT,
31916 pub SetAllowReplace: unsafe extern "system" fn(
31917 *mut core::ffi::c_void,
31918 windows_core::BOOL,
31919 ) -> windows_core::HRESULT,
31920 pub AllowReplace: unsafe extern "system" fn(
31921 *mut core::ffi::c_void,
31922 *mut windows_core::BOOL,
31923 ) -> windows_core::HRESULT,
31924 pub SetKind: unsafe extern "system" fn(
31925 *mut core::ffi::c_void,
31926 COREWEBVIEW2_SAVE_AS_KIND,
31927 ) -> windows_core::HRESULT,
31928 pub Kind: unsafe extern "system" fn(
31929 *mut core::ffi::c_void,
31930 *mut COREWEBVIEW2_SAVE_AS_KIND,
31931 ) -> windows_core::HRESULT,
31932}
31933pub trait ICoreWebView2SaveAsUIShowingEventArgs_Impl: windows_core::IUnknownImpl {
31934 fn ContentMimeType(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
31935 fn SetCancel(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
31936 fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
31937 fn SetSuppressDefaultDialog(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
31938 fn SuppressDefaultDialog(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
31939 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
31940 fn SetSaveAsFilePath(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
31941 fn SaveAsFilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
31942 fn SetAllowReplace(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
31943 fn AllowReplace(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
31944 fn SetKind(&self, value: COREWEBVIEW2_SAVE_AS_KIND) -> windows_core::Result<()>;
31945 fn Kind(&self, value: *mut COREWEBVIEW2_SAVE_AS_KIND) -> windows_core::Result<()>;
31946}
31947impl ICoreWebView2SaveAsUIShowingEventArgs_Vtbl {
31948 pub const fn new<Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl, const OFFSET: isize>(
31949 ) -> Self {
31950 unsafe extern "system" fn ContentMimeType<
31951 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31952 const OFFSET: isize,
31953 >(
31954 this: *mut core::ffi::c_void,
31955 value: *mut windows_core::PWSTR,
31956 ) -> windows_core::HRESULT {
31957 unsafe {
31958 let this: &Identity =
31959 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31960 ICoreWebView2SaveAsUIShowingEventArgs_Impl::ContentMimeType(
31961 this,
31962 core::mem::transmute_copy(&value),
31963 )
31964 .into()
31965 }
31966 }
31967 unsafe extern "system" fn SetCancel<
31968 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31969 const OFFSET: isize,
31970 >(
31971 this: *mut core::ffi::c_void,
31972 value: windows_core::BOOL,
31973 ) -> windows_core::HRESULT {
31974 unsafe {
31975 let this: &Identity =
31976 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31977 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetCancel(
31978 this,
31979 core::mem::transmute_copy(&value),
31980 )
31981 .into()
31982 }
31983 }
31984 unsafe extern "system" fn Cancel<
31985 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31986 const OFFSET: isize,
31987 >(
31988 this: *mut core::ffi::c_void,
31989 value: *mut windows_core::BOOL,
31990 ) -> windows_core::HRESULT {
31991 unsafe {
31992 let this: &Identity =
31993 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31994 ICoreWebView2SaveAsUIShowingEventArgs_Impl::Cancel(
31995 this,
31996 core::mem::transmute_copy(&value),
31997 )
31998 .into()
31999 }
32000 }
32001 unsafe extern "system" fn SetSuppressDefaultDialog<
32002 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
32003 const OFFSET: isize,
32004 >(
32005 this: *mut core::ffi::c_void,
32006 value: windows_core::BOOL,
32007 ) -> windows_core::HRESULT {
32008 unsafe {
32009 let this: &Identity =
32010 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32011 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetSuppressDefaultDialog(
32012 this,
32013 core::mem::transmute_copy(&value),
32014 )
32015 .into()
32016 }
32017 }
32018 unsafe extern "system" fn SuppressDefaultDialog<
32019 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
32020 const OFFSET: isize,
32021 >(
32022 this: *mut core::ffi::c_void,
32023 value: *mut windows_core::BOOL,
32024 ) -> windows_core::HRESULT {
32025 unsafe {
32026 let this: &Identity =
32027 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32028 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SuppressDefaultDialog(
32029 this,
32030 core::mem::transmute_copy(&value),
32031 )
32032 .into()
32033 }
32034 }
32035 unsafe extern "system" fn GetDeferral<
32036 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
32037 const OFFSET: isize,
32038 >(
32039 this: *mut core::ffi::c_void,
32040 value: *mut *mut core::ffi::c_void,
32041 ) -> windows_core::HRESULT {
32042 unsafe {
32043 let this: &Identity =
32044 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32045 match ICoreWebView2SaveAsUIShowingEventArgs_Impl::GetDeferral(this) {
32046 Ok(ok__) => {
32047 value.write(core::mem::transmute(ok__));
32048 windows_core::HRESULT(0)
32049 }
32050 Err(err) => err.into(),
32051 }
32052 }
32053 }
32054 unsafe extern "system" fn SetSaveAsFilePath<
32055 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
32056 const OFFSET: isize,
32057 >(
32058 this: *mut core::ffi::c_void,
32059 value: windows_core::PCWSTR,
32060 ) -> windows_core::HRESULT {
32061 unsafe {
32062 let this: &Identity =
32063 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32064 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetSaveAsFilePath(
32065 this,
32066 core::mem::transmute(&value),
32067 )
32068 .into()
32069 }
32070 }
32071 unsafe extern "system" fn SaveAsFilePath<
32072 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
32073 const OFFSET: isize,
32074 >(
32075 this: *mut core::ffi::c_void,
32076 value: *mut windows_core::PWSTR,
32077 ) -> windows_core::HRESULT {
32078 unsafe {
32079 let this: &Identity =
32080 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32081 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SaveAsFilePath(
32082 this,
32083 core::mem::transmute_copy(&value),
32084 )
32085 .into()
32086 }
32087 }
32088 unsafe extern "system" fn SetAllowReplace<
32089 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
32090 const OFFSET: isize,
32091 >(
32092 this: *mut core::ffi::c_void,
32093 value: windows_core::BOOL,
32094 ) -> windows_core::HRESULT {
32095 unsafe {
32096 let this: &Identity =
32097 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32098 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetAllowReplace(
32099 this,
32100 core::mem::transmute_copy(&value),
32101 )
32102 .into()
32103 }
32104 }
32105 unsafe extern "system" fn AllowReplace<
32106 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
32107 const OFFSET: isize,
32108 >(
32109 this: *mut core::ffi::c_void,
32110 value: *mut windows_core::BOOL,
32111 ) -> windows_core::HRESULT {
32112 unsafe {
32113 let this: &Identity =
32114 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32115 ICoreWebView2SaveAsUIShowingEventArgs_Impl::AllowReplace(
32116 this,
32117 core::mem::transmute_copy(&value),
32118 )
32119 .into()
32120 }
32121 }
32122 unsafe extern "system" fn SetKind<
32123 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
32124 const OFFSET: isize,
32125 >(
32126 this: *mut core::ffi::c_void,
32127 value: COREWEBVIEW2_SAVE_AS_KIND,
32128 ) -> windows_core::HRESULT {
32129 unsafe {
32130 let this: &Identity =
32131 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32132 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetKind(
32133 this,
32134 core::mem::transmute_copy(&value),
32135 )
32136 .into()
32137 }
32138 }
32139 unsafe extern "system" fn Kind<
32140 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
32141 const OFFSET: isize,
32142 >(
32143 this: *mut core::ffi::c_void,
32144 value: *mut COREWEBVIEW2_SAVE_AS_KIND,
32145 ) -> windows_core::HRESULT {
32146 unsafe {
32147 let this: &Identity =
32148 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32149 ICoreWebView2SaveAsUIShowingEventArgs_Impl::Kind(
32150 this,
32151 core::mem::transmute_copy(&value),
32152 )
32153 .into()
32154 }
32155 }
32156 Self {
32157 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32158 ContentMimeType: ContentMimeType::<Identity, OFFSET>,
32159 SetCancel: SetCancel::<Identity, OFFSET>,
32160 Cancel: Cancel::<Identity, OFFSET>,
32161 SetSuppressDefaultDialog: SetSuppressDefaultDialog::<Identity, OFFSET>,
32162 SuppressDefaultDialog: SuppressDefaultDialog::<Identity, OFFSET>,
32163 GetDeferral: GetDeferral::<Identity, OFFSET>,
32164 SetSaveAsFilePath: SetSaveAsFilePath::<Identity, OFFSET>,
32165 SaveAsFilePath: SaveAsFilePath::<Identity, OFFSET>,
32166 SetAllowReplace: SetAllowReplace::<Identity, OFFSET>,
32167 AllowReplace: AllowReplace::<Identity, OFFSET>,
32168 SetKind: SetKind::<Identity, OFFSET>,
32169 Kind: Kind::<Identity, OFFSET>,
32170 }
32171 }
32172 pub fn matches(iid: &windows_core::GUID) -> bool {
32173 iid == &<ICoreWebView2SaveAsUIShowingEventArgs as windows_core::Interface>::IID
32174 }
32175}
32176impl windows_core::RuntimeName for ICoreWebView2SaveAsUIShowingEventArgs {}
32177windows_core::imp::define_interface!(
32178 ICoreWebView2SaveAsUIShowingEventHandler,
32179 ICoreWebView2SaveAsUIShowingEventHandler_Vtbl,
32180 0x6baa177e_3a2e_5ccf_9a13_fad676cd0522
32181);
32182windows_core::imp::interface_hierarchy!(
32183 ICoreWebView2SaveAsUIShowingEventHandler,
32184 windows_core::IUnknown
32185);
32186impl ICoreWebView2SaveAsUIShowingEventHandler {
32187 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
32188 where
32189 P0: windows_core::Param<ICoreWebView2>,
32190 P1: windows_core::Param<ICoreWebView2SaveAsUIShowingEventArgs>,
32191 {
32192 unsafe {
32193 (windows_core::Interface::vtable(self).Invoke)(
32194 windows_core::Interface::as_raw(self),
32195 sender.param().abi(),
32196 args.param().abi(),
32197 )
32198 .ok()
32199 }
32200 }
32201}
32202#[repr(C)]
32203#[doc(hidden)]
32204pub struct ICoreWebView2SaveAsUIShowingEventHandler_Vtbl {
32205 pub base__: windows_core::IUnknown_Vtbl,
32206 pub Invoke: unsafe extern "system" fn(
32207 *mut core::ffi::c_void,
32208 *mut core::ffi::c_void,
32209 *mut core::ffi::c_void,
32210 ) -> windows_core::HRESULT,
32211}
32212pub trait ICoreWebView2SaveAsUIShowingEventHandler_Impl: windows_core::IUnknownImpl {
32213 fn Invoke(
32214 &self,
32215 sender: windows_core::Ref<'_, ICoreWebView2>,
32216 args: windows_core::Ref<'_, ICoreWebView2SaveAsUIShowingEventArgs>,
32217 ) -> windows_core::Result<()>;
32218}
32219impl ICoreWebView2SaveAsUIShowingEventHandler_Vtbl {
32220 pub const fn new<
32221 Identity: ICoreWebView2SaveAsUIShowingEventHandler_Impl,
32222 const OFFSET: isize,
32223 >() -> Self {
32224 unsafe extern "system" fn Invoke<
32225 Identity: ICoreWebView2SaveAsUIShowingEventHandler_Impl,
32226 const OFFSET: isize,
32227 >(
32228 this: *mut core::ffi::c_void,
32229 sender: *mut core::ffi::c_void,
32230 args: *mut core::ffi::c_void,
32231 ) -> windows_core::HRESULT {
32232 unsafe {
32233 let this: &Identity =
32234 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32235 ICoreWebView2SaveAsUIShowingEventHandler_Impl::Invoke(
32236 this,
32237 core::mem::transmute_copy(&sender),
32238 core::mem::transmute_copy(&args),
32239 )
32240 .into()
32241 }
32242 }
32243 Self {
32244 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32245 Invoke: Invoke::<Identity, OFFSET>,
32246 }
32247 }
32248 pub fn matches(iid: &windows_core::GUID) -> bool {
32249 iid == &<ICoreWebView2SaveAsUIShowingEventHandler as windows_core::Interface>::IID
32250 }
32251}
32252impl windows_core::RuntimeName for ICoreWebView2SaveAsUIShowingEventHandler {}
32253windows_core::imp::define_interface!(
32254 ICoreWebView2SaveFileSecurityCheckStartingEventArgs,
32255 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Vtbl,
32256 0xcf4ff1d1_5a67_5660_8d63_ef699881ea65
32257);
32258windows_core::imp::interface_hierarchy!(
32259 ICoreWebView2SaveFileSecurityCheckStartingEventArgs,
32260 windows_core::IUnknown
32261);
32262impl ICoreWebView2SaveFileSecurityCheckStartingEventArgs {
32263 pub unsafe fn CancelSave(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
32264 unsafe {
32265 (windows_core::Interface::vtable(self).CancelSave)(
32266 windows_core::Interface::as_raw(self),
32267 value as _,
32268 )
32269 .ok()
32270 }
32271 }
32272 pub unsafe fn SetCancelSave(&self, value: bool) -> windows_core::Result<()> {
32273 unsafe {
32274 (windows_core::Interface::vtable(self).SetCancelSave)(
32275 windows_core::Interface::as_raw(self),
32276 value.into(),
32277 )
32278 .ok()
32279 }
32280 }
32281 pub unsafe fn DocumentOriginUri(
32282 &self,
32283 value: *mut windows_core::PWSTR,
32284 ) -> windows_core::Result<()> {
32285 unsafe {
32286 (windows_core::Interface::vtable(self).DocumentOriginUri)(
32287 windows_core::Interface::as_raw(self),
32288 value as _,
32289 )
32290 .ok()
32291 }
32292 }
32293 pub unsafe fn FileExtension(
32294 &self,
32295 value: *mut windows_core::PWSTR,
32296 ) -> windows_core::Result<()> {
32297 unsafe {
32298 (windows_core::Interface::vtable(self).FileExtension)(
32299 windows_core::Interface::as_raw(self),
32300 value as _,
32301 )
32302 .ok()
32303 }
32304 }
32305 pub unsafe fn FilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
32306 unsafe {
32307 (windows_core::Interface::vtable(self).FilePath)(
32308 windows_core::Interface::as_raw(self),
32309 value as _,
32310 )
32311 .ok()
32312 }
32313 }
32314 pub unsafe fn SuppressDefaultPolicy(
32315 &self,
32316 value: *mut windows_core::BOOL,
32317 ) -> windows_core::Result<()> {
32318 unsafe {
32319 (windows_core::Interface::vtable(self).SuppressDefaultPolicy)(
32320 windows_core::Interface::as_raw(self),
32321 value as _,
32322 )
32323 .ok()
32324 }
32325 }
32326 pub unsafe fn SetSuppressDefaultPolicy(&self, value: bool) -> windows_core::Result<()> {
32327 unsafe {
32328 (windows_core::Interface::vtable(self).SetSuppressDefaultPolicy)(
32329 windows_core::Interface::as_raw(self),
32330 value.into(),
32331 )
32332 .ok()
32333 }
32334 }
32335 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
32336 unsafe {
32337 let mut result__ = core::mem::zeroed();
32338 (windows_core::Interface::vtable(self).GetDeferral)(
32339 windows_core::Interface::as_raw(self),
32340 &mut result__,
32341 )
32342 .and_then(|| windows_core::Type::from_abi(result__))
32343 }
32344 }
32345}
32346#[repr(C)]
32347#[doc(hidden)]
32348pub struct ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Vtbl {
32349 pub base__: windows_core::IUnknown_Vtbl,
32350 pub CancelSave: unsafe extern "system" fn(
32351 *mut core::ffi::c_void,
32352 *mut windows_core::BOOL,
32353 ) -> windows_core::HRESULT,
32354 pub SetCancelSave: unsafe extern "system" fn(
32355 *mut core::ffi::c_void,
32356 windows_core::BOOL,
32357 ) -> windows_core::HRESULT,
32358 pub DocumentOriginUri: unsafe extern "system" fn(
32359 *mut core::ffi::c_void,
32360 *mut windows_core::PWSTR,
32361 ) -> windows_core::HRESULT,
32362 pub FileExtension: unsafe extern "system" fn(
32363 *mut core::ffi::c_void,
32364 *mut windows_core::PWSTR,
32365 ) -> windows_core::HRESULT,
32366 pub FilePath: unsafe extern "system" fn(
32367 *mut core::ffi::c_void,
32368 *mut windows_core::PWSTR,
32369 ) -> windows_core::HRESULT,
32370 pub SuppressDefaultPolicy: unsafe extern "system" fn(
32371 *mut core::ffi::c_void,
32372 *mut windows_core::BOOL,
32373 ) -> windows_core::HRESULT,
32374 pub SetSuppressDefaultPolicy: unsafe extern "system" fn(
32375 *mut core::ffi::c_void,
32376 windows_core::BOOL,
32377 ) -> windows_core::HRESULT,
32378 pub GetDeferral: unsafe extern "system" fn(
32379 *mut core::ffi::c_void,
32380 *mut *mut core::ffi::c_void,
32381 ) -> windows_core::HRESULT,
32382}
32383pub trait ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl:
32384 windows_core::IUnknownImpl
32385{
32386 fn CancelSave(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
32387 fn SetCancelSave(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
32388 fn DocumentOriginUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
32389 fn FileExtension(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
32390 fn FilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
32391 fn SuppressDefaultPolicy(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
32392 fn SetSuppressDefaultPolicy(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
32393 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
32394}
32395impl ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Vtbl {
32396 pub const fn new<
32397 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32398 const OFFSET: isize,
32399 >() -> Self {
32400 unsafe extern "system" fn CancelSave<
32401 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32402 const OFFSET: isize,
32403 >(
32404 this: *mut core::ffi::c_void,
32405 value: *mut windows_core::BOOL,
32406 ) -> windows_core::HRESULT {
32407 unsafe {
32408 let this: &Identity =
32409 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32410 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::CancelSave(
32411 this,
32412 core::mem::transmute_copy(&value),
32413 )
32414 .into()
32415 }
32416 }
32417 unsafe extern "system" fn SetCancelSave<
32418 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32419 const OFFSET: isize,
32420 >(
32421 this: *mut core::ffi::c_void,
32422 value: windows_core::BOOL,
32423 ) -> windows_core::HRESULT {
32424 unsafe {
32425 let this: &Identity =
32426 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32427 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::SetCancelSave(
32428 this,
32429 core::mem::transmute_copy(&value),
32430 )
32431 .into()
32432 }
32433 }
32434 unsafe extern "system" fn DocumentOriginUri<
32435 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32436 const OFFSET: isize,
32437 >(
32438 this: *mut core::ffi::c_void,
32439 value: *mut windows_core::PWSTR,
32440 ) -> windows_core::HRESULT {
32441 unsafe {
32442 let this: &Identity =
32443 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32444 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::DocumentOriginUri(
32445 this,
32446 core::mem::transmute_copy(&value),
32447 )
32448 .into()
32449 }
32450 }
32451 unsafe extern "system" fn FileExtension<
32452 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32453 const OFFSET: isize,
32454 >(
32455 this: *mut core::ffi::c_void,
32456 value: *mut windows_core::PWSTR,
32457 ) -> windows_core::HRESULT {
32458 unsafe {
32459 let this: &Identity =
32460 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32461 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::FileExtension(
32462 this,
32463 core::mem::transmute_copy(&value),
32464 )
32465 .into()
32466 }
32467 }
32468 unsafe extern "system" fn FilePath<
32469 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32470 const OFFSET: isize,
32471 >(
32472 this: *mut core::ffi::c_void,
32473 value: *mut windows_core::PWSTR,
32474 ) -> windows_core::HRESULT {
32475 unsafe {
32476 let this: &Identity =
32477 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32478 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::FilePath(
32479 this,
32480 core::mem::transmute_copy(&value),
32481 )
32482 .into()
32483 }
32484 }
32485 unsafe extern "system" fn SuppressDefaultPolicy<
32486 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32487 const OFFSET: isize,
32488 >(
32489 this: *mut core::ffi::c_void,
32490 value: *mut windows_core::BOOL,
32491 ) -> windows_core::HRESULT {
32492 unsafe {
32493 let this: &Identity =
32494 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32495 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::SuppressDefaultPolicy(
32496 this,
32497 core::mem::transmute_copy(&value),
32498 )
32499 .into()
32500 }
32501 }
32502 unsafe extern "system" fn SetSuppressDefaultPolicy<
32503 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32504 const OFFSET: isize,
32505 >(
32506 this: *mut core::ffi::c_void,
32507 value: windows_core::BOOL,
32508 ) -> windows_core::HRESULT {
32509 unsafe {
32510 let this: &Identity =
32511 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32512 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::SetSuppressDefaultPolicy(
32513 this,
32514 core::mem::transmute_copy(&value),
32515 )
32516 .into()
32517 }
32518 }
32519 unsafe extern "system" fn GetDeferral<
32520 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32521 const OFFSET: isize,
32522 >(
32523 this: *mut core::ffi::c_void,
32524 value: *mut *mut core::ffi::c_void,
32525 ) -> windows_core::HRESULT {
32526 unsafe {
32527 let this: &Identity =
32528 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32529 match ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::GetDeferral(this) {
32530 Ok(ok__) => {
32531 value.write(core::mem::transmute(ok__));
32532 windows_core::HRESULT(0)
32533 }
32534 Err(err) => err.into(),
32535 }
32536 }
32537 }
32538 Self {
32539 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32540 CancelSave: CancelSave::<Identity, OFFSET>,
32541 SetCancelSave: SetCancelSave::<Identity, OFFSET>,
32542 DocumentOriginUri: DocumentOriginUri::<Identity, OFFSET>,
32543 FileExtension: FileExtension::<Identity, OFFSET>,
32544 FilePath: FilePath::<Identity, OFFSET>,
32545 SuppressDefaultPolicy: SuppressDefaultPolicy::<Identity, OFFSET>,
32546 SetSuppressDefaultPolicy: SetSuppressDefaultPolicy::<Identity, OFFSET>,
32547 GetDeferral: GetDeferral::<Identity, OFFSET>,
32548 }
32549 }
32550 pub fn matches(iid: &windows_core::GUID) -> bool {
32551 iid == & < ICoreWebView2SaveFileSecurityCheckStartingEventArgs as windows_core::Interface >::IID
32552 }
32553}
32554impl windows_core::RuntimeName for ICoreWebView2SaveFileSecurityCheckStartingEventArgs {}
32555windows_core::imp::define_interface!(
32556 ICoreWebView2SaveFileSecurityCheckStartingEventHandler,
32557 ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Vtbl,
32558 0x7899576c_19e3_57c8_b7d1_55808292de57
32559);
32560windows_core::imp::interface_hierarchy!(
32561 ICoreWebView2SaveFileSecurityCheckStartingEventHandler,
32562 windows_core::IUnknown
32563);
32564impl ICoreWebView2SaveFileSecurityCheckStartingEventHandler {
32565 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
32566 where
32567 P0: windows_core::Param<ICoreWebView2>,
32568 P1: windows_core::Param<ICoreWebView2SaveFileSecurityCheckStartingEventArgs>,
32569 {
32570 unsafe {
32571 (windows_core::Interface::vtable(self).Invoke)(
32572 windows_core::Interface::as_raw(self),
32573 sender.param().abi(),
32574 args.param().abi(),
32575 )
32576 .ok()
32577 }
32578 }
32579}
32580#[repr(C)]
32581#[doc(hidden)]
32582pub struct ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Vtbl {
32583 pub base__: windows_core::IUnknown_Vtbl,
32584 pub Invoke: unsafe extern "system" fn(
32585 *mut core::ffi::c_void,
32586 *mut core::ffi::c_void,
32587 *mut core::ffi::c_void,
32588 ) -> windows_core::HRESULT,
32589}
32590pub trait ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Impl:
32591 windows_core::IUnknownImpl
32592{
32593 fn Invoke(
32594 &self,
32595 sender: windows_core::Ref<'_, ICoreWebView2>,
32596 args: windows_core::Ref<'_, ICoreWebView2SaveFileSecurityCheckStartingEventArgs>,
32597 ) -> windows_core::Result<()>;
32598}
32599impl ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Vtbl {
32600 pub const fn new<
32601 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Impl,
32602 const OFFSET: isize,
32603 >() -> Self {
32604 unsafe extern "system" fn Invoke<
32605 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Impl,
32606 const OFFSET: isize,
32607 >(
32608 this: *mut core::ffi::c_void,
32609 sender: *mut core::ffi::c_void,
32610 args: *mut core::ffi::c_void,
32611 ) -> windows_core::HRESULT {
32612 unsafe {
32613 let this: &Identity =
32614 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32615 ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Impl::Invoke(
32616 this,
32617 core::mem::transmute_copy(&sender),
32618 core::mem::transmute_copy(&args),
32619 )
32620 .into()
32621 }
32622 }
32623 Self {
32624 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32625 Invoke: Invoke::<Identity, OFFSET>,
32626 }
32627 }
32628 pub fn matches(iid: &windows_core::GUID) -> bool {
32629 iid == & < ICoreWebView2SaveFileSecurityCheckStartingEventHandler as windows_core::Interface >::IID
32630 }
32631}
32632impl windows_core::RuntimeName for ICoreWebView2SaveFileSecurityCheckStartingEventHandler {}
32633windows_core::imp::define_interface!(
32634 ICoreWebView2ScreenCaptureStartingEventArgs,
32635 ICoreWebView2ScreenCaptureStartingEventArgs_Vtbl,
32636 0x892c03fd_aee3_5eba_a1fa_6fd2f6484b2b
32637);
32638windows_core::imp::interface_hierarchy!(
32639 ICoreWebView2ScreenCaptureStartingEventArgs,
32640 windows_core::IUnknown
32641);
32642impl ICoreWebView2ScreenCaptureStartingEventArgs {
32643 pub unsafe fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
32644 unsafe {
32645 (windows_core::Interface::vtable(self).Cancel)(
32646 windows_core::Interface::as_raw(self),
32647 value as _,
32648 )
32649 .ok()
32650 }
32651 }
32652 pub unsafe fn SetCancel(&self, value: bool) -> windows_core::Result<()> {
32653 unsafe {
32654 (windows_core::Interface::vtable(self).SetCancel)(
32655 windows_core::Interface::as_raw(self),
32656 value.into(),
32657 )
32658 .ok()
32659 }
32660 }
32661 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
32662 unsafe {
32663 (windows_core::Interface::vtable(self).Handled)(
32664 windows_core::Interface::as_raw(self),
32665 value as _,
32666 )
32667 .ok()
32668 }
32669 }
32670 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
32671 unsafe {
32672 (windows_core::Interface::vtable(self).SetHandled)(
32673 windows_core::Interface::as_raw(self),
32674 value.into(),
32675 )
32676 .ok()
32677 }
32678 }
32679 pub unsafe fn OriginalSourceFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo> {
32680 unsafe {
32681 let mut result__ = core::mem::zeroed();
32682 (windows_core::Interface::vtable(self).OriginalSourceFrameInfo)(
32683 windows_core::Interface::as_raw(self),
32684 &mut result__,
32685 )
32686 .and_then(|| windows_core::Type::from_abi(result__))
32687 }
32688 }
32689 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
32690 unsafe {
32691 let mut result__ = core::mem::zeroed();
32692 (windows_core::Interface::vtable(self).GetDeferral)(
32693 windows_core::Interface::as_raw(self),
32694 &mut result__,
32695 )
32696 .and_then(|| windows_core::Type::from_abi(result__))
32697 }
32698 }
32699}
32700#[repr(C)]
32701#[doc(hidden)]
32702pub struct ICoreWebView2ScreenCaptureStartingEventArgs_Vtbl {
32703 pub base__: windows_core::IUnknown_Vtbl,
32704 pub Cancel: unsafe extern "system" fn(
32705 *mut core::ffi::c_void,
32706 *mut windows_core::BOOL,
32707 ) -> windows_core::HRESULT,
32708 pub SetCancel: unsafe extern "system" fn(
32709 *mut core::ffi::c_void,
32710 windows_core::BOOL,
32711 ) -> windows_core::HRESULT,
32712 pub Handled: unsafe extern "system" fn(
32713 *mut core::ffi::c_void,
32714 *mut windows_core::BOOL,
32715 ) -> windows_core::HRESULT,
32716 pub SetHandled: unsafe extern "system" fn(
32717 *mut core::ffi::c_void,
32718 windows_core::BOOL,
32719 ) -> windows_core::HRESULT,
32720 pub OriginalSourceFrameInfo: unsafe extern "system" fn(
32721 *mut core::ffi::c_void,
32722 *mut *mut core::ffi::c_void,
32723 ) -> windows_core::HRESULT,
32724 pub GetDeferral: unsafe extern "system" fn(
32725 *mut core::ffi::c_void,
32726 *mut *mut core::ffi::c_void,
32727 ) -> windows_core::HRESULT,
32728}
32729pub trait ICoreWebView2ScreenCaptureStartingEventArgs_Impl: windows_core::IUnknownImpl {
32730 fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
32731 fn SetCancel(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
32732 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
32733 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
32734 fn OriginalSourceFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo>;
32735 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
32736}
32737impl ICoreWebView2ScreenCaptureStartingEventArgs_Vtbl {
32738 pub const fn new<
32739 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32740 const OFFSET: isize,
32741 >() -> Self {
32742 unsafe extern "system" fn Cancel<
32743 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32744 const OFFSET: isize,
32745 >(
32746 this: *mut core::ffi::c_void,
32747 value: *mut windows_core::BOOL,
32748 ) -> windows_core::HRESULT {
32749 unsafe {
32750 let this: &Identity =
32751 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32752 ICoreWebView2ScreenCaptureStartingEventArgs_Impl::Cancel(
32753 this,
32754 core::mem::transmute_copy(&value),
32755 )
32756 .into()
32757 }
32758 }
32759 unsafe extern "system" fn SetCancel<
32760 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32761 const OFFSET: isize,
32762 >(
32763 this: *mut core::ffi::c_void,
32764 value: windows_core::BOOL,
32765 ) -> windows_core::HRESULT {
32766 unsafe {
32767 let this: &Identity =
32768 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32769 ICoreWebView2ScreenCaptureStartingEventArgs_Impl::SetCancel(
32770 this,
32771 core::mem::transmute_copy(&value),
32772 )
32773 .into()
32774 }
32775 }
32776 unsafe extern "system" fn Handled<
32777 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32778 const OFFSET: isize,
32779 >(
32780 this: *mut core::ffi::c_void,
32781 value: *mut windows_core::BOOL,
32782 ) -> windows_core::HRESULT {
32783 unsafe {
32784 let this: &Identity =
32785 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32786 ICoreWebView2ScreenCaptureStartingEventArgs_Impl::Handled(
32787 this,
32788 core::mem::transmute_copy(&value),
32789 )
32790 .into()
32791 }
32792 }
32793 unsafe extern "system" fn SetHandled<
32794 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32795 const OFFSET: isize,
32796 >(
32797 this: *mut core::ffi::c_void,
32798 value: windows_core::BOOL,
32799 ) -> windows_core::HRESULT {
32800 unsafe {
32801 let this: &Identity =
32802 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32803 ICoreWebView2ScreenCaptureStartingEventArgs_Impl::SetHandled(
32804 this,
32805 core::mem::transmute_copy(&value),
32806 )
32807 .into()
32808 }
32809 }
32810 unsafe extern "system" fn OriginalSourceFrameInfo<
32811 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32812 const OFFSET: isize,
32813 >(
32814 this: *mut core::ffi::c_void,
32815 value: *mut *mut core::ffi::c_void,
32816 ) -> windows_core::HRESULT {
32817 unsafe {
32818 let this: &Identity =
32819 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32820 match ICoreWebView2ScreenCaptureStartingEventArgs_Impl::OriginalSourceFrameInfo(
32821 this,
32822 ) {
32823 Ok(ok__) => {
32824 value.write(core::mem::transmute(ok__));
32825 windows_core::HRESULT(0)
32826 }
32827 Err(err) => err.into(),
32828 }
32829 }
32830 }
32831 unsafe extern "system" fn GetDeferral<
32832 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32833 const OFFSET: isize,
32834 >(
32835 this: *mut core::ffi::c_void,
32836 value: *mut *mut core::ffi::c_void,
32837 ) -> windows_core::HRESULT {
32838 unsafe {
32839 let this: &Identity =
32840 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32841 match ICoreWebView2ScreenCaptureStartingEventArgs_Impl::GetDeferral(this) {
32842 Ok(ok__) => {
32843 value.write(core::mem::transmute(ok__));
32844 windows_core::HRESULT(0)
32845 }
32846 Err(err) => err.into(),
32847 }
32848 }
32849 }
32850 Self {
32851 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32852 Cancel: Cancel::<Identity, OFFSET>,
32853 SetCancel: SetCancel::<Identity, OFFSET>,
32854 Handled: Handled::<Identity, OFFSET>,
32855 SetHandled: SetHandled::<Identity, OFFSET>,
32856 OriginalSourceFrameInfo: OriginalSourceFrameInfo::<Identity, OFFSET>,
32857 GetDeferral: GetDeferral::<Identity, OFFSET>,
32858 }
32859 }
32860 pub fn matches(iid: &windows_core::GUID) -> bool {
32861 iid == &<ICoreWebView2ScreenCaptureStartingEventArgs as windows_core::Interface>::IID
32862 }
32863}
32864impl windows_core::RuntimeName for ICoreWebView2ScreenCaptureStartingEventArgs {}
32865windows_core::imp::define_interface!(
32866 ICoreWebView2ScreenCaptureStartingEventHandler,
32867 ICoreWebView2ScreenCaptureStartingEventHandler_Vtbl,
32868 0xe24ff05a_1db5_59d9_89f3_3c864268db4a
32869);
32870windows_core::imp::interface_hierarchy!(
32871 ICoreWebView2ScreenCaptureStartingEventHandler,
32872 windows_core::IUnknown
32873);
32874impl ICoreWebView2ScreenCaptureStartingEventHandler {
32875 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
32876 where
32877 P0: windows_core::Param<ICoreWebView2>,
32878 P1: windows_core::Param<ICoreWebView2ScreenCaptureStartingEventArgs>,
32879 {
32880 unsafe {
32881 (windows_core::Interface::vtable(self).Invoke)(
32882 windows_core::Interface::as_raw(self),
32883 sender.param().abi(),
32884 args.param().abi(),
32885 )
32886 .ok()
32887 }
32888 }
32889}
32890#[repr(C)]
32891#[doc(hidden)]
32892pub struct ICoreWebView2ScreenCaptureStartingEventHandler_Vtbl {
32893 pub base__: windows_core::IUnknown_Vtbl,
32894 pub Invoke: unsafe extern "system" fn(
32895 *mut core::ffi::c_void,
32896 *mut core::ffi::c_void,
32897 *mut core::ffi::c_void,
32898 ) -> windows_core::HRESULT,
32899}
32900pub trait ICoreWebView2ScreenCaptureStartingEventHandler_Impl: windows_core::IUnknownImpl {
32901 fn Invoke(
32902 &self,
32903 sender: windows_core::Ref<'_, ICoreWebView2>,
32904 args: windows_core::Ref<'_, ICoreWebView2ScreenCaptureStartingEventArgs>,
32905 ) -> windows_core::Result<()>;
32906}
32907impl ICoreWebView2ScreenCaptureStartingEventHandler_Vtbl {
32908 pub const fn new<
32909 Identity: ICoreWebView2ScreenCaptureStartingEventHandler_Impl,
32910 const OFFSET: isize,
32911 >() -> Self {
32912 unsafe extern "system" fn Invoke<
32913 Identity: ICoreWebView2ScreenCaptureStartingEventHandler_Impl,
32914 const OFFSET: isize,
32915 >(
32916 this: *mut core::ffi::c_void,
32917 sender: *mut core::ffi::c_void,
32918 args: *mut core::ffi::c_void,
32919 ) -> windows_core::HRESULT {
32920 unsafe {
32921 let this: &Identity =
32922 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32923 ICoreWebView2ScreenCaptureStartingEventHandler_Impl::Invoke(
32924 this,
32925 core::mem::transmute_copy(&sender),
32926 core::mem::transmute_copy(&args),
32927 )
32928 .into()
32929 }
32930 }
32931 Self {
32932 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32933 Invoke: Invoke::<Identity, OFFSET>,
32934 }
32935 }
32936 pub fn matches(iid: &windows_core::GUID) -> bool {
32937 iid == &<ICoreWebView2ScreenCaptureStartingEventHandler as windows_core::Interface>::IID
32938 }
32939}
32940impl windows_core::RuntimeName for ICoreWebView2ScreenCaptureStartingEventHandler {}
32941windows_core::imp::define_interface!(
32942 ICoreWebView2ScriptDialogOpeningEventArgs,
32943 ICoreWebView2ScriptDialogOpeningEventArgs_Vtbl,
32944 0x7390bb70_abe0_4843_9529_f143b31b03d6
32945);
32946windows_core::imp::interface_hierarchy!(
32947 ICoreWebView2ScriptDialogOpeningEventArgs,
32948 windows_core::IUnknown
32949);
32950impl ICoreWebView2ScriptDialogOpeningEventArgs {
32951 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
32952 unsafe {
32953 (windows_core::Interface::vtable(self).Uri)(
32954 windows_core::Interface::as_raw(self),
32955 uri as _,
32956 )
32957 .ok()
32958 }
32959 }
32960 pub unsafe fn Kind(
32961 &self,
32962 kind: *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND,
32963 ) -> windows_core::Result<()> {
32964 unsafe {
32965 (windows_core::Interface::vtable(self).Kind)(
32966 windows_core::Interface::as_raw(self),
32967 kind as _,
32968 )
32969 .ok()
32970 }
32971 }
32972 pub unsafe fn Message(&self, message: *mut windows_core::PWSTR) -> windows_core::Result<()> {
32973 unsafe {
32974 (windows_core::Interface::vtable(self).Message)(
32975 windows_core::Interface::as_raw(self),
32976 message as _,
32977 )
32978 .ok()
32979 }
32980 }
32981 pub unsafe fn Accept(&self) -> windows_core::Result<()> {
32982 unsafe {
32983 (windows_core::Interface::vtable(self).Accept)(windows_core::Interface::as_raw(self))
32984 .ok()
32985 }
32986 }
32987 pub unsafe fn DefaultText(
32988 &self,
32989 defaulttext: *mut windows_core::PWSTR,
32990 ) -> windows_core::Result<()> {
32991 unsafe {
32992 (windows_core::Interface::vtable(self).DefaultText)(
32993 windows_core::Interface::as_raw(self),
32994 defaulttext as _,
32995 )
32996 .ok()
32997 }
32998 }
32999 pub unsafe fn ResultText(
33000 &self,
33001 resulttext: *mut windows_core::PWSTR,
33002 ) -> windows_core::Result<()> {
33003 unsafe {
33004 (windows_core::Interface::vtable(self).ResultText)(
33005 windows_core::Interface::as_raw(self),
33006 resulttext as _,
33007 )
33008 .ok()
33009 }
33010 }
33011 pub unsafe fn SetResultText<P0>(&self, resulttext: P0) -> windows_core::Result<()>
33012 where
33013 P0: windows_core::Param<windows_core::PCWSTR>,
33014 {
33015 unsafe {
33016 (windows_core::Interface::vtable(self).SetResultText)(
33017 windows_core::Interface::as_raw(self),
33018 resulttext.param().abi(),
33019 )
33020 .ok()
33021 }
33022 }
33023 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
33024 unsafe {
33025 let mut result__ = core::mem::zeroed();
33026 (windows_core::Interface::vtable(self).GetDeferral)(
33027 windows_core::Interface::as_raw(self),
33028 &mut result__,
33029 )
33030 .and_then(|| windows_core::Type::from_abi(result__))
33031 }
33032 }
33033}
33034#[repr(C)]
33035#[doc(hidden)]
33036pub struct ICoreWebView2ScriptDialogOpeningEventArgs_Vtbl {
33037 pub base__: windows_core::IUnknown_Vtbl,
33038 pub Uri: unsafe extern "system" fn(
33039 *mut core::ffi::c_void,
33040 *mut windows_core::PWSTR,
33041 ) -> windows_core::HRESULT,
33042 pub Kind: unsafe extern "system" fn(
33043 *mut core::ffi::c_void,
33044 *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND,
33045 ) -> windows_core::HRESULT,
33046 pub Message: unsafe extern "system" fn(
33047 *mut core::ffi::c_void,
33048 *mut windows_core::PWSTR,
33049 ) -> windows_core::HRESULT,
33050 pub Accept: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
33051 pub DefaultText: unsafe extern "system" fn(
33052 *mut core::ffi::c_void,
33053 *mut windows_core::PWSTR,
33054 ) -> windows_core::HRESULT,
33055 pub ResultText: unsafe extern "system" fn(
33056 *mut core::ffi::c_void,
33057 *mut windows_core::PWSTR,
33058 ) -> windows_core::HRESULT,
33059 pub SetResultText: unsafe extern "system" fn(
33060 *mut core::ffi::c_void,
33061 windows_core::PCWSTR,
33062 ) -> windows_core::HRESULT,
33063 pub GetDeferral: unsafe extern "system" fn(
33064 *mut core::ffi::c_void,
33065 *mut *mut core::ffi::c_void,
33066 ) -> windows_core::HRESULT,
33067}
33068pub trait ICoreWebView2ScriptDialogOpeningEventArgs_Impl: windows_core::IUnknownImpl {
33069 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33070 fn Kind(&self, kind: *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND) -> windows_core::Result<()>;
33071 fn Message(&self, message: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33072 fn Accept(&self) -> windows_core::Result<()>;
33073 fn DefaultText(&self, defaulttext: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33074 fn ResultText(&self, resulttext: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33075 fn SetResultText(&self, resulttext: &windows_core::PCWSTR) -> windows_core::Result<()>;
33076 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
33077}
33078impl ICoreWebView2ScriptDialogOpeningEventArgs_Vtbl {
33079 pub const fn new<
33080 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
33081 const OFFSET: isize,
33082 >() -> Self {
33083 unsafe extern "system" fn Uri<
33084 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
33085 const OFFSET: isize,
33086 >(
33087 this: *mut core::ffi::c_void,
33088 uri: *mut windows_core::PWSTR,
33089 ) -> windows_core::HRESULT {
33090 unsafe {
33091 let this: &Identity =
33092 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33093 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Uri(
33094 this,
33095 core::mem::transmute_copy(&uri),
33096 )
33097 .into()
33098 }
33099 }
33100 unsafe extern "system" fn Kind<
33101 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
33102 const OFFSET: isize,
33103 >(
33104 this: *mut core::ffi::c_void,
33105 kind: *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND,
33106 ) -> windows_core::HRESULT {
33107 unsafe {
33108 let this: &Identity =
33109 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33110 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Kind(
33111 this,
33112 core::mem::transmute_copy(&kind),
33113 )
33114 .into()
33115 }
33116 }
33117 unsafe extern "system" fn Message<
33118 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
33119 const OFFSET: isize,
33120 >(
33121 this: *mut core::ffi::c_void,
33122 message: *mut windows_core::PWSTR,
33123 ) -> windows_core::HRESULT {
33124 unsafe {
33125 let this: &Identity =
33126 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33127 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Message(
33128 this,
33129 core::mem::transmute_copy(&message),
33130 )
33131 .into()
33132 }
33133 }
33134 unsafe extern "system" fn Accept<
33135 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
33136 const OFFSET: isize,
33137 >(
33138 this: *mut core::ffi::c_void,
33139 ) -> windows_core::HRESULT {
33140 unsafe {
33141 let this: &Identity =
33142 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33143 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Accept(this).into()
33144 }
33145 }
33146 unsafe extern "system" fn DefaultText<
33147 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
33148 const OFFSET: isize,
33149 >(
33150 this: *mut core::ffi::c_void,
33151 defaulttext: *mut windows_core::PWSTR,
33152 ) -> windows_core::HRESULT {
33153 unsafe {
33154 let this: &Identity =
33155 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33156 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::DefaultText(
33157 this,
33158 core::mem::transmute_copy(&defaulttext),
33159 )
33160 .into()
33161 }
33162 }
33163 unsafe extern "system" fn ResultText<
33164 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
33165 const OFFSET: isize,
33166 >(
33167 this: *mut core::ffi::c_void,
33168 resulttext: *mut windows_core::PWSTR,
33169 ) -> windows_core::HRESULT {
33170 unsafe {
33171 let this: &Identity =
33172 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33173 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::ResultText(
33174 this,
33175 core::mem::transmute_copy(&resulttext),
33176 )
33177 .into()
33178 }
33179 }
33180 unsafe extern "system" fn SetResultText<
33181 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
33182 const OFFSET: isize,
33183 >(
33184 this: *mut core::ffi::c_void,
33185 resulttext: windows_core::PCWSTR,
33186 ) -> windows_core::HRESULT {
33187 unsafe {
33188 let this: &Identity =
33189 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33190 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::SetResultText(
33191 this,
33192 core::mem::transmute(&resulttext),
33193 )
33194 .into()
33195 }
33196 }
33197 unsafe extern "system" fn GetDeferral<
33198 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
33199 const OFFSET: isize,
33200 >(
33201 this: *mut core::ffi::c_void,
33202 deferral: *mut *mut core::ffi::c_void,
33203 ) -> windows_core::HRESULT {
33204 unsafe {
33205 let this: &Identity =
33206 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33207 match ICoreWebView2ScriptDialogOpeningEventArgs_Impl::GetDeferral(this) {
33208 Ok(ok__) => {
33209 deferral.write(core::mem::transmute(ok__));
33210 windows_core::HRESULT(0)
33211 }
33212 Err(err) => err.into(),
33213 }
33214 }
33215 }
33216 Self {
33217 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33218 Uri: Uri::<Identity, OFFSET>,
33219 Kind: Kind::<Identity, OFFSET>,
33220 Message: Message::<Identity, OFFSET>,
33221 Accept: Accept::<Identity, OFFSET>,
33222 DefaultText: DefaultText::<Identity, OFFSET>,
33223 ResultText: ResultText::<Identity, OFFSET>,
33224 SetResultText: SetResultText::<Identity, OFFSET>,
33225 GetDeferral: GetDeferral::<Identity, OFFSET>,
33226 }
33227 }
33228 pub fn matches(iid: &windows_core::GUID) -> bool {
33229 iid == &<ICoreWebView2ScriptDialogOpeningEventArgs as windows_core::Interface>::IID
33230 }
33231}
33232impl windows_core::RuntimeName for ICoreWebView2ScriptDialogOpeningEventArgs {}
33233windows_core::imp::define_interface!(
33234 ICoreWebView2ScriptDialogOpeningEventHandler,
33235 ICoreWebView2ScriptDialogOpeningEventHandler_Vtbl,
33236 0xef381bf9_afa8_4e37_91c4_8ac48524bdfb
33237);
33238windows_core::imp::interface_hierarchy!(
33239 ICoreWebView2ScriptDialogOpeningEventHandler,
33240 windows_core::IUnknown
33241);
33242impl ICoreWebView2ScriptDialogOpeningEventHandler {
33243 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
33244 where
33245 P0: windows_core::Param<ICoreWebView2>,
33246 P1: windows_core::Param<ICoreWebView2ScriptDialogOpeningEventArgs>,
33247 {
33248 unsafe {
33249 (windows_core::Interface::vtable(self).Invoke)(
33250 windows_core::Interface::as_raw(self),
33251 sender.param().abi(),
33252 args.param().abi(),
33253 )
33254 .ok()
33255 }
33256 }
33257}
33258#[repr(C)]
33259#[doc(hidden)]
33260pub struct ICoreWebView2ScriptDialogOpeningEventHandler_Vtbl {
33261 pub base__: windows_core::IUnknown_Vtbl,
33262 pub Invoke: unsafe extern "system" fn(
33263 *mut core::ffi::c_void,
33264 *mut core::ffi::c_void,
33265 *mut core::ffi::c_void,
33266 ) -> windows_core::HRESULT,
33267}
33268pub trait ICoreWebView2ScriptDialogOpeningEventHandler_Impl: windows_core::IUnknownImpl {
33269 fn Invoke(
33270 &self,
33271 sender: windows_core::Ref<'_, ICoreWebView2>,
33272 args: windows_core::Ref<'_, ICoreWebView2ScriptDialogOpeningEventArgs>,
33273 ) -> windows_core::Result<()>;
33274}
33275impl ICoreWebView2ScriptDialogOpeningEventHandler_Vtbl {
33276 pub const fn new<
33277 Identity: ICoreWebView2ScriptDialogOpeningEventHandler_Impl,
33278 const OFFSET: isize,
33279 >() -> Self {
33280 unsafe extern "system" fn Invoke<
33281 Identity: ICoreWebView2ScriptDialogOpeningEventHandler_Impl,
33282 const OFFSET: isize,
33283 >(
33284 this: *mut core::ffi::c_void,
33285 sender: *mut core::ffi::c_void,
33286 args: *mut core::ffi::c_void,
33287 ) -> windows_core::HRESULT {
33288 unsafe {
33289 let this: &Identity =
33290 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33291 ICoreWebView2ScriptDialogOpeningEventHandler_Impl::Invoke(
33292 this,
33293 core::mem::transmute_copy(&sender),
33294 core::mem::transmute_copy(&args),
33295 )
33296 .into()
33297 }
33298 }
33299 Self {
33300 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33301 Invoke: Invoke::<Identity, OFFSET>,
33302 }
33303 }
33304 pub fn matches(iid: &windows_core::GUID) -> bool {
33305 iid == &<ICoreWebView2ScriptDialogOpeningEventHandler as windows_core::Interface>::IID
33306 }
33307}
33308impl windows_core::RuntimeName for ICoreWebView2ScriptDialogOpeningEventHandler {}
33309windows_core::imp::define_interface!(
33310 ICoreWebView2ScriptException,
33311 ICoreWebView2ScriptException_Vtbl,
33312 0x054dae00_84a3_49ff_bc17_4012a90bc9fd
33313);
33314windows_core::imp::interface_hierarchy!(ICoreWebView2ScriptException, windows_core::IUnknown);
33315impl ICoreWebView2ScriptException {
33316 pub unsafe fn LineNumber(&self, value: *mut u32) -> windows_core::Result<()> {
33317 unsafe {
33318 (windows_core::Interface::vtable(self).LineNumber)(
33319 windows_core::Interface::as_raw(self),
33320 value as _,
33321 )
33322 .ok()
33323 }
33324 }
33325 pub unsafe fn ColumnNumber(&self, value: *mut u32) -> windows_core::Result<()> {
33326 unsafe {
33327 (windows_core::Interface::vtable(self).ColumnNumber)(
33328 windows_core::Interface::as_raw(self),
33329 value as _,
33330 )
33331 .ok()
33332 }
33333 }
33334 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
33335 unsafe {
33336 (windows_core::Interface::vtable(self).Name)(
33337 windows_core::Interface::as_raw(self),
33338 value as _,
33339 )
33340 .ok()
33341 }
33342 }
33343 pub unsafe fn Message(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
33344 unsafe {
33345 (windows_core::Interface::vtable(self).Message)(
33346 windows_core::Interface::as_raw(self),
33347 value as _,
33348 )
33349 .ok()
33350 }
33351 }
33352 pub unsafe fn ToJson(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
33353 unsafe {
33354 (windows_core::Interface::vtable(self).ToJson)(
33355 windows_core::Interface::as_raw(self),
33356 value as _,
33357 )
33358 .ok()
33359 }
33360 }
33361}
33362#[repr(C)]
33363#[doc(hidden)]
33364pub struct ICoreWebView2ScriptException_Vtbl {
33365 pub base__: windows_core::IUnknown_Vtbl,
33366 pub LineNumber:
33367 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
33368 pub ColumnNumber:
33369 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
33370 pub Name: unsafe extern "system" fn(
33371 *mut core::ffi::c_void,
33372 *mut windows_core::PWSTR,
33373 ) -> windows_core::HRESULT,
33374 pub Message: unsafe extern "system" fn(
33375 *mut core::ffi::c_void,
33376 *mut windows_core::PWSTR,
33377 ) -> windows_core::HRESULT,
33378 pub ToJson: unsafe extern "system" fn(
33379 *mut core::ffi::c_void,
33380 *mut windows_core::PWSTR,
33381 ) -> windows_core::HRESULT,
33382}
33383pub trait ICoreWebView2ScriptException_Impl: windows_core::IUnknownImpl {
33384 fn LineNumber(&self, value: *mut u32) -> windows_core::Result<()>;
33385 fn ColumnNumber(&self, value: *mut u32) -> windows_core::Result<()>;
33386 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33387 fn Message(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33388 fn ToJson(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33389}
33390impl ICoreWebView2ScriptException_Vtbl {
33391 pub const fn new<Identity: ICoreWebView2ScriptException_Impl, const OFFSET: isize>() -> Self {
33392 unsafe extern "system" fn LineNumber<
33393 Identity: ICoreWebView2ScriptException_Impl,
33394 const OFFSET: isize,
33395 >(
33396 this: *mut core::ffi::c_void,
33397 value: *mut u32,
33398 ) -> windows_core::HRESULT {
33399 unsafe {
33400 let this: &Identity =
33401 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33402 ICoreWebView2ScriptException_Impl::LineNumber(
33403 this,
33404 core::mem::transmute_copy(&value),
33405 )
33406 .into()
33407 }
33408 }
33409 unsafe extern "system" fn ColumnNumber<
33410 Identity: ICoreWebView2ScriptException_Impl,
33411 const OFFSET: isize,
33412 >(
33413 this: *mut core::ffi::c_void,
33414 value: *mut u32,
33415 ) -> windows_core::HRESULT {
33416 unsafe {
33417 let this: &Identity =
33418 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33419 ICoreWebView2ScriptException_Impl::ColumnNumber(
33420 this,
33421 core::mem::transmute_copy(&value),
33422 )
33423 .into()
33424 }
33425 }
33426 unsafe extern "system" fn Name<
33427 Identity: ICoreWebView2ScriptException_Impl,
33428 const OFFSET: isize,
33429 >(
33430 this: *mut core::ffi::c_void,
33431 value: *mut windows_core::PWSTR,
33432 ) -> windows_core::HRESULT {
33433 unsafe {
33434 let this: &Identity =
33435 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33436 ICoreWebView2ScriptException_Impl::Name(this, core::mem::transmute_copy(&value))
33437 .into()
33438 }
33439 }
33440 unsafe extern "system" fn Message<
33441 Identity: ICoreWebView2ScriptException_Impl,
33442 const OFFSET: isize,
33443 >(
33444 this: *mut core::ffi::c_void,
33445 value: *mut windows_core::PWSTR,
33446 ) -> windows_core::HRESULT {
33447 unsafe {
33448 let this: &Identity =
33449 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33450 ICoreWebView2ScriptException_Impl::Message(this, core::mem::transmute_copy(&value))
33451 .into()
33452 }
33453 }
33454 unsafe extern "system" fn ToJson<
33455 Identity: ICoreWebView2ScriptException_Impl,
33456 const OFFSET: isize,
33457 >(
33458 this: *mut core::ffi::c_void,
33459 value: *mut windows_core::PWSTR,
33460 ) -> windows_core::HRESULT {
33461 unsafe {
33462 let this: &Identity =
33463 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33464 ICoreWebView2ScriptException_Impl::ToJson(this, core::mem::transmute_copy(&value))
33465 .into()
33466 }
33467 }
33468 Self {
33469 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33470 LineNumber: LineNumber::<Identity, OFFSET>,
33471 ColumnNumber: ColumnNumber::<Identity, OFFSET>,
33472 Name: Name::<Identity, OFFSET>,
33473 Message: Message::<Identity, OFFSET>,
33474 ToJson: ToJson::<Identity, OFFSET>,
33475 }
33476 }
33477 pub fn matches(iid: &windows_core::GUID) -> bool {
33478 iid == &<ICoreWebView2ScriptException as windows_core::Interface>::IID
33479 }
33480}
33481impl windows_core::RuntimeName for ICoreWebView2ScriptException {}
33482windows_core::imp::define_interface!(
33483 ICoreWebView2ServerCertificateErrorDetectedEventArgs,
33484 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Vtbl,
33485 0x012193ed_7c13_48ff_969d_a84c1f432a14
33486);
33487windows_core::imp::interface_hierarchy!(
33488 ICoreWebView2ServerCertificateErrorDetectedEventArgs,
33489 windows_core::IUnknown
33490);
33491impl ICoreWebView2ServerCertificateErrorDetectedEventArgs {
33492 pub unsafe fn ErrorStatus(
33493 &self,
33494 value: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
33495 ) -> windows_core::Result<()> {
33496 unsafe {
33497 (windows_core::Interface::vtable(self).ErrorStatus)(
33498 windows_core::Interface::as_raw(self),
33499 value as _,
33500 )
33501 .ok()
33502 }
33503 }
33504 pub unsafe fn RequestUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
33505 unsafe {
33506 (windows_core::Interface::vtable(self).RequestUri)(
33507 windows_core::Interface::as_raw(self),
33508 value as _,
33509 )
33510 .ok()
33511 }
33512 }
33513 pub unsafe fn ServerCertificate(&self) -> windows_core::Result<ICoreWebView2Certificate> {
33514 unsafe {
33515 let mut result__ = core::mem::zeroed();
33516 (windows_core::Interface::vtable(self).ServerCertificate)(
33517 windows_core::Interface::as_raw(self),
33518 &mut result__,
33519 )
33520 .and_then(|| windows_core::Type::from_abi(result__))
33521 }
33522 }
33523 pub unsafe fn Action(
33524 &self,
33525 value: *mut COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33526 ) -> windows_core::Result<()> {
33527 unsafe {
33528 (windows_core::Interface::vtable(self).Action)(
33529 windows_core::Interface::as_raw(self),
33530 value as _,
33531 )
33532 .ok()
33533 }
33534 }
33535 pub unsafe fn SetAction(
33536 &self,
33537 value: COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33538 ) -> windows_core::Result<()> {
33539 unsafe {
33540 (windows_core::Interface::vtable(self).SetAction)(
33541 windows_core::Interface::as_raw(self),
33542 value,
33543 )
33544 .ok()
33545 }
33546 }
33547 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
33548 unsafe {
33549 let mut result__ = core::mem::zeroed();
33550 (windows_core::Interface::vtable(self).GetDeferral)(
33551 windows_core::Interface::as_raw(self),
33552 &mut result__,
33553 )
33554 .and_then(|| windows_core::Type::from_abi(result__))
33555 }
33556 }
33557}
33558#[repr(C)]
33559#[doc(hidden)]
33560pub struct ICoreWebView2ServerCertificateErrorDetectedEventArgs_Vtbl {
33561 pub base__: windows_core::IUnknown_Vtbl,
33562 pub ErrorStatus: unsafe extern "system" fn(
33563 *mut core::ffi::c_void,
33564 *mut COREWEBVIEW2_WEB_ERROR_STATUS,
33565 ) -> windows_core::HRESULT,
33566 pub RequestUri: unsafe extern "system" fn(
33567 *mut core::ffi::c_void,
33568 *mut windows_core::PWSTR,
33569 ) -> windows_core::HRESULT,
33570 pub ServerCertificate: unsafe extern "system" fn(
33571 *mut core::ffi::c_void,
33572 *mut *mut core::ffi::c_void,
33573 ) -> windows_core::HRESULT,
33574 pub Action: unsafe extern "system" fn(
33575 *mut core::ffi::c_void,
33576 *mut COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33577 ) -> windows_core::HRESULT,
33578 pub SetAction: unsafe extern "system" fn(
33579 *mut core::ffi::c_void,
33580 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33581 ) -> windows_core::HRESULT,
33582 pub GetDeferral: unsafe extern "system" fn(
33583 *mut core::ffi::c_void,
33584 *mut *mut core::ffi::c_void,
33585 ) -> windows_core::HRESULT,
33586}
33587pub trait ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl:
33588 windows_core::IUnknownImpl
33589{
33590 fn ErrorStatus(&self, value: *mut COREWEBVIEW2_WEB_ERROR_STATUS) -> windows_core::Result<()>;
33591 fn RequestUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33592 fn ServerCertificate(&self) -> windows_core::Result<ICoreWebView2Certificate>;
33593 fn Action(
33594 &self,
33595 value: *mut COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33596 ) -> windows_core::Result<()>;
33597 fn SetAction(
33598 &self,
33599 value: COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33600 ) -> windows_core::Result<()>;
33601 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
33602}
33603impl ICoreWebView2ServerCertificateErrorDetectedEventArgs_Vtbl {
33604 pub const fn new<
33605 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33606 const OFFSET: isize,
33607 >() -> Self {
33608 unsafe extern "system" fn ErrorStatus<
33609 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33610 const OFFSET: isize,
33611 >(
33612 this: *mut core::ffi::c_void,
33613 value: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
33614 ) -> windows_core::HRESULT {
33615 unsafe {
33616 let this: &Identity =
33617 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33618 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::ErrorStatus(
33619 this,
33620 core::mem::transmute_copy(&value),
33621 )
33622 .into()
33623 }
33624 }
33625 unsafe extern "system" fn RequestUri<
33626 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33627 const OFFSET: isize,
33628 >(
33629 this: *mut core::ffi::c_void,
33630 value: *mut windows_core::PWSTR,
33631 ) -> windows_core::HRESULT {
33632 unsafe {
33633 let this: &Identity =
33634 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33635 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::RequestUri(
33636 this,
33637 core::mem::transmute_copy(&value),
33638 )
33639 .into()
33640 }
33641 }
33642 unsafe extern "system" fn ServerCertificate<
33643 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33644 const OFFSET: isize,
33645 >(
33646 this: *mut core::ffi::c_void,
33647 value: *mut *mut core::ffi::c_void,
33648 ) -> windows_core::HRESULT {
33649 unsafe {
33650 let this: &Identity =
33651 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33652 match ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::ServerCertificate(
33653 this,
33654 ) {
33655 Ok(ok__) => {
33656 value.write(core::mem::transmute(ok__));
33657 windows_core::HRESULT(0)
33658 }
33659 Err(err) => err.into(),
33660 }
33661 }
33662 }
33663 unsafe extern "system" fn Action<
33664 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33665 const OFFSET: isize,
33666 >(
33667 this: *mut core::ffi::c_void,
33668 value: *mut COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33669 ) -> windows_core::HRESULT {
33670 unsafe {
33671 let this: &Identity =
33672 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33673 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::Action(
33674 this,
33675 core::mem::transmute_copy(&value),
33676 )
33677 .into()
33678 }
33679 }
33680 unsafe extern "system" fn SetAction<
33681 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33682 const OFFSET: isize,
33683 >(
33684 this: *mut core::ffi::c_void,
33685 value: COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33686 ) -> windows_core::HRESULT {
33687 unsafe {
33688 let this: &Identity =
33689 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33690 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::SetAction(
33691 this,
33692 core::mem::transmute_copy(&value),
33693 )
33694 .into()
33695 }
33696 }
33697 unsafe extern "system" fn GetDeferral<
33698 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33699 const OFFSET: isize,
33700 >(
33701 this: *mut core::ffi::c_void,
33702 deferral: *mut *mut core::ffi::c_void,
33703 ) -> windows_core::HRESULT {
33704 unsafe {
33705 let this: &Identity =
33706 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33707 match ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::GetDeferral(this) {
33708 Ok(ok__) => {
33709 deferral.write(core::mem::transmute(ok__));
33710 windows_core::HRESULT(0)
33711 }
33712 Err(err) => err.into(),
33713 }
33714 }
33715 }
33716 Self {
33717 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33718 ErrorStatus: ErrorStatus::<Identity, OFFSET>,
33719 RequestUri: RequestUri::<Identity, OFFSET>,
33720 ServerCertificate: ServerCertificate::<Identity, OFFSET>,
33721 Action: Action::<Identity, OFFSET>,
33722 SetAction: SetAction::<Identity, OFFSET>,
33723 GetDeferral: GetDeferral::<Identity, OFFSET>,
33724 }
33725 }
33726 pub fn matches(iid: &windows_core::GUID) -> bool {
33727 iid == & < ICoreWebView2ServerCertificateErrorDetectedEventArgs as windows_core::Interface >::IID
33728 }
33729}
33730impl windows_core::RuntimeName for ICoreWebView2ServerCertificateErrorDetectedEventArgs {}
33731windows_core::imp::define_interface!(
33732 ICoreWebView2ServerCertificateErrorDetectedEventHandler,
33733 ICoreWebView2ServerCertificateErrorDetectedEventHandler_Vtbl,
33734 0x969b3a26_d85e_4795_8199_fef57344da22
33735);
33736windows_core::imp::interface_hierarchy!(
33737 ICoreWebView2ServerCertificateErrorDetectedEventHandler,
33738 windows_core::IUnknown
33739);
33740impl ICoreWebView2ServerCertificateErrorDetectedEventHandler {
33741 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
33742 where
33743 P0: windows_core::Param<ICoreWebView2>,
33744 P1: windows_core::Param<ICoreWebView2ServerCertificateErrorDetectedEventArgs>,
33745 {
33746 unsafe {
33747 (windows_core::Interface::vtable(self).Invoke)(
33748 windows_core::Interface::as_raw(self),
33749 sender.param().abi(),
33750 args.param().abi(),
33751 )
33752 .ok()
33753 }
33754 }
33755}
33756#[repr(C)]
33757#[doc(hidden)]
33758pub struct ICoreWebView2ServerCertificateErrorDetectedEventHandler_Vtbl {
33759 pub base__: windows_core::IUnknown_Vtbl,
33760 pub Invoke: unsafe extern "system" fn(
33761 *mut core::ffi::c_void,
33762 *mut core::ffi::c_void,
33763 *mut core::ffi::c_void,
33764 ) -> windows_core::HRESULT,
33765}
33766pub trait ICoreWebView2ServerCertificateErrorDetectedEventHandler_Impl:
33767 windows_core::IUnknownImpl
33768{
33769 fn Invoke(
33770 &self,
33771 sender: windows_core::Ref<'_, ICoreWebView2>,
33772 args: windows_core::Ref<'_, ICoreWebView2ServerCertificateErrorDetectedEventArgs>,
33773 ) -> windows_core::Result<()>;
33774}
33775impl ICoreWebView2ServerCertificateErrorDetectedEventHandler_Vtbl {
33776 pub const fn new<
33777 Identity: ICoreWebView2ServerCertificateErrorDetectedEventHandler_Impl,
33778 const OFFSET: isize,
33779 >() -> Self {
33780 unsafe extern "system" fn Invoke<
33781 Identity: ICoreWebView2ServerCertificateErrorDetectedEventHandler_Impl,
33782 const OFFSET: isize,
33783 >(
33784 this: *mut core::ffi::c_void,
33785 sender: *mut core::ffi::c_void,
33786 args: *mut core::ffi::c_void,
33787 ) -> windows_core::HRESULT {
33788 unsafe {
33789 let this: &Identity =
33790 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33791 ICoreWebView2ServerCertificateErrorDetectedEventHandler_Impl::Invoke(
33792 this,
33793 core::mem::transmute_copy(&sender),
33794 core::mem::transmute_copy(&args),
33795 )
33796 .into()
33797 }
33798 }
33799 Self {
33800 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33801 Invoke: Invoke::<Identity, OFFSET>,
33802 }
33803 }
33804 pub fn matches(iid: &windows_core::GUID) -> bool {
33805 iid == & < ICoreWebView2ServerCertificateErrorDetectedEventHandler as windows_core::Interface >::IID
33806 }
33807}
33808impl windows_core::RuntimeName for ICoreWebView2ServerCertificateErrorDetectedEventHandler {}
33809windows_core::imp::define_interface!(
33810 ICoreWebView2SetPermissionStateCompletedHandler,
33811 ICoreWebView2SetPermissionStateCompletedHandler_Vtbl,
33812 0xfc77fb30_9c9e_4076_b8c7_7644a703ca1b
33813);
33814windows_core::imp::interface_hierarchy!(
33815 ICoreWebView2SetPermissionStateCompletedHandler,
33816 windows_core::IUnknown
33817);
33818impl ICoreWebView2SetPermissionStateCompletedHandler {
33819 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
33820 unsafe {
33821 (windows_core::Interface::vtable(self).Invoke)(
33822 windows_core::Interface::as_raw(self),
33823 errorcode,
33824 )
33825 .ok()
33826 }
33827 }
33828}
33829#[repr(C)]
33830#[doc(hidden)]
33831pub struct ICoreWebView2SetPermissionStateCompletedHandler_Vtbl {
33832 pub base__: windows_core::IUnknown_Vtbl,
33833 pub Invoke: unsafe extern "system" fn(
33834 *mut core::ffi::c_void,
33835 windows_core::HRESULT,
33836 ) -> windows_core::HRESULT,
33837}
33838pub trait ICoreWebView2SetPermissionStateCompletedHandler_Impl: windows_core::IUnknownImpl {
33839 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
33840}
33841impl ICoreWebView2SetPermissionStateCompletedHandler_Vtbl {
33842 pub const fn new<
33843 Identity: ICoreWebView2SetPermissionStateCompletedHandler_Impl,
33844 const OFFSET: isize,
33845 >() -> Self {
33846 unsafe extern "system" fn Invoke<
33847 Identity: ICoreWebView2SetPermissionStateCompletedHandler_Impl,
33848 const OFFSET: isize,
33849 >(
33850 this: *mut core::ffi::c_void,
33851 errorcode: windows_core::HRESULT,
33852 ) -> windows_core::HRESULT {
33853 unsafe {
33854 let this: &Identity =
33855 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33856 ICoreWebView2SetPermissionStateCompletedHandler_Impl::Invoke(
33857 this,
33858 core::mem::transmute_copy(&errorcode),
33859 )
33860 .into()
33861 }
33862 }
33863 Self {
33864 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33865 Invoke: Invoke::<Identity, OFFSET>,
33866 }
33867 }
33868 pub fn matches(iid: &windows_core::GUID) -> bool {
33869 iid == &<ICoreWebView2SetPermissionStateCompletedHandler as windows_core::Interface>::IID
33870 }
33871}
33872impl windows_core::RuntimeName for ICoreWebView2SetPermissionStateCompletedHandler {}
33873windows_core::imp::define_interface!(
33874 ICoreWebView2Settings,
33875 ICoreWebView2Settings_Vtbl,
33876 0xe562e4f0_d7fa_43ac_8d71_c05150499f00
33877);
33878windows_core::imp::interface_hierarchy!(ICoreWebView2Settings, windows_core::IUnknown);
33879impl ICoreWebView2Settings {
33880 pub unsafe fn IsScriptEnabled(
33881 &self,
33882 isscriptenabled: *mut windows_core::BOOL,
33883 ) -> windows_core::Result<()> {
33884 unsafe {
33885 (windows_core::Interface::vtable(self).IsScriptEnabled)(
33886 windows_core::Interface::as_raw(self),
33887 isscriptenabled as _,
33888 )
33889 .ok()
33890 }
33891 }
33892 pub unsafe fn SetIsScriptEnabled(&self, isscriptenabled: bool) -> windows_core::Result<()> {
33893 unsafe {
33894 (windows_core::Interface::vtable(self).SetIsScriptEnabled)(
33895 windows_core::Interface::as_raw(self),
33896 isscriptenabled.into(),
33897 )
33898 .ok()
33899 }
33900 }
33901 pub unsafe fn IsWebMessageEnabled(
33902 &self,
33903 iswebmessageenabled: *mut windows_core::BOOL,
33904 ) -> windows_core::Result<()> {
33905 unsafe {
33906 (windows_core::Interface::vtable(self).IsWebMessageEnabled)(
33907 windows_core::Interface::as_raw(self),
33908 iswebmessageenabled as _,
33909 )
33910 .ok()
33911 }
33912 }
33913 pub unsafe fn SetIsWebMessageEnabled(
33914 &self,
33915 iswebmessageenabled: bool,
33916 ) -> windows_core::Result<()> {
33917 unsafe {
33918 (windows_core::Interface::vtable(self).SetIsWebMessageEnabled)(
33919 windows_core::Interface::as_raw(self),
33920 iswebmessageenabled.into(),
33921 )
33922 .ok()
33923 }
33924 }
33925 pub unsafe fn AreDefaultScriptDialogsEnabled(
33926 &self,
33927 aredefaultscriptdialogsenabled: *mut windows_core::BOOL,
33928 ) -> windows_core::Result<()> {
33929 unsafe {
33930 (windows_core::Interface::vtable(self).AreDefaultScriptDialogsEnabled)(
33931 windows_core::Interface::as_raw(self),
33932 aredefaultscriptdialogsenabled as _,
33933 )
33934 .ok()
33935 }
33936 }
33937 pub unsafe fn SetAreDefaultScriptDialogsEnabled(
33938 &self,
33939 aredefaultscriptdialogsenabled: bool,
33940 ) -> windows_core::Result<()> {
33941 unsafe {
33942 (windows_core::Interface::vtable(self).SetAreDefaultScriptDialogsEnabled)(
33943 windows_core::Interface::as_raw(self),
33944 aredefaultscriptdialogsenabled.into(),
33945 )
33946 .ok()
33947 }
33948 }
33949 pub unsafe fn IsStatusBarEnabled(
33950 &self,
33951 isstatusbarenabled: *mut windows_core::BOOL,
33952 ) -> windows_core::Result<()> {
33953 unsafe {
33954 (windows_core::Interface::vtable(self).IsStatusBarEnabled)(
33955 windows_core::Interface::as_raw(self),
33956 isstatusbarenabled as _,
33957 )
33958 .ok()
33959 }
33960 }
33961 pub unsafe fn SetIsStatusBarEnabled(
33962 &self,
33963 isstatusbarenabled: bool,
33964 ) -> windows_core::Result<()> {
33965 unsafe {
33966 (windows_core::Interface::vtable(self).SetIsStatusBarEnabled)(
33967 windows_core::Interface::as_raw(self),
33968 isstatusbarenabled.into(),
33969 )
33970 .ok()
33971 }
33972 }
33973 pub unsafe fn AreDevToolsEnabled(
33974 &self,
33975 aredevtoolsenabled: *mut windows_core::BOOL,
33976 ) -> windows_core::Result<()> {
33977 unsafe {
33978 (windows_core::Interface::vtable(self).AreDevToolsEnabled)(
33979 windows_core::Interface::as_raw(self),
33980 aredevtoolsenabled as _,
33981 )
33982 .ok()
33983 }
33984 }
33985 pub unsafe fn SetAreDevToolsEnabled(
33986 &self,
33987 aredevtoolsenabled: bool,
33988 ) -> windows_core::Result<()> {
33989 unsafe {
33990 (windows_core::Interface::vtable(self).SetAreDevToolsEnabled)(
33991 windows_core::Interface::as_raw(self),
33992 aredevtoolsenabled.into(),
33993 )
33994 .ok()
33995 }
33996 }
33997 pub unsafe fn AreDefaultContextMenusEnabled(
33998 &self,
33999 enabled: *mut windows_core::BOOL,
34000 ) -> windows_core::Result<()> {
34001 unsafe {
34002 (windows_core::Interface::vtable(self).AreDefaultContextMenusEnabled)(
34003 windows_core::Interface::as_raw(self),
34004 enabled as _,
34005 )
34006 .ok()
34007 }
34008 }
34009 pub unsafe fn SetAreDefaultContextMenusEnabled(
34010 &self,
34011 enabled: bool,
34012 ) -> windows_core::Result<()> {
34013 unsafe {
34014 (windows_core::Interface::vtable(self).SetAreDefaultContextMenusEnabled)(
34015 windows_core::Interface::as_raw(self),
34016 enabled.into(),
34017 )
34018 .ok()
34019 }
34020 }
34021 pub unsafe fn AreHostObjectsAllowed(
34022 &self,
34023 allowed: *mut windows_core::BOOL,
34024 ) -> windows_core::Result<()> {
34025 unsafe {
34026 (windows_core::Interface::vtable(self).AreHostObjectsAllowed)(
34027 windows_core::Interface::as_raw(self),
34028 allowed as _,
34029 )
34030 .ok()
34031 }
34032 }
34033 pub unsafe fn SetAreHostObjectsAllowed(&self, allowed: bool) -> windows_core::Result<()> {
34034 unsafe {
34035 (windows_core::Interface::vtable(self).SetAreHostObjectsAllowed)(
34036 windows_core::Interface::as_raw(self),
34037 allowed.into(),
34038 )
34039 .ok()
34040 }
34041 }
34042 pub unsafe fn IsZoomControlEnabled(
34043 &self,
34044 enabled: *mut windows_core::BOOL,
34045 ) -> windows_core::Result<()> {
34046 unsafe {
34047 (windows_core::Interface::vtable(self).IsZoomControlEnabled)(
34048 windows_core::Interface::as_raw(self),
34049 enabled as _,
34050 )
34051 .ok()
34052 }
34053 }
34054 pub unsafe fn SetIsZoomControlEnabled(&self, enabled: bool) -> windows_core::Result<()> {
34055 unsafe {
34056 (windows_core::Interface::vtable(self).SetIsZoomControlEnabled)(
34057 windows_core::Interface::as_raw(self),
34058 enabled.into(),
34059 )
34060 .ok()
34061 }
34062 }
34063 pub unsafe fn IsBuiltInErrorPageEnabled(
34064 &self,
34065 enabled: *mut windows_core::BOOL,
34066 ) -> windows_core::Result<()> {
34067 unsafe {
34068 (windows_core::Interface::vtable(self).IsBuiltInErrorPageEnabled)(
34069 windows_core::Interface::as_raw(self),
34070 enabled as _,
34071 )
34072 .ok()
34073 }
34074 }
34075 pub unsafe fn SetIsBuiltInErrorPageEnabled(&self, enabled: bool) -> windows_core::Result<()> {
34076 unsafe {
34077 (windows_core::Interface::vtable(self).SetIsBuiltInErrorPageEnabled)(
34078 windows_core::Interface::as_raw(self),
34079 enabled.into(),
34080 )
34081 .ok()
34082 }
34083 }
34084}
34085#[repr(C)]
34086#[doc(hidden)]
34087pub struct ICoreWebView2Settings_Vtbl {
34088 pub base__: windows_core::IUnknown_Vtbl,
34089 pub IsScriptEnabled: unsafe extern "system" fn(
34090 *mut core::ffi::c_void,
34091 *mut windows_core::BOOL,
34092 ) -> windows_core::HRESULT,
34093 pub SetIsScriptEnabled: unsafe extern "system" fn(
34094 *mut core::ffi::c_void,
34095 windows_core::BOOL,
34096 ) -> windows_core::HRESULT,
34097 pub IsWebMessageEnabled: unsafe extern "system" fn(
34098 *mut core::ffi::c_void,
34099 *mut windows_core::BOOL,
34100 ) -> windows_core::HRESULT,
34101 pub SetIsWebMessageEnabled: unsafe extern "system" fn(
34102 *mut core::ffi::c_void,
34103 windows_core::BOOL,
34104 ) -> windows_core::HRESULT,
34105 pub AreDefaultScriptDialogsEnabled: unsafe extern "system" fn(
34106 *mut core::ffi::c_void,
34107 *mut windows_core::BOOL,
34108 ) -> windows_core::HRESULT,
34109 pub SetAreDefaultScriptDialogsEnabled: unsafe extern "system" fn(
34110 *mut core::ffi::c_void,
34111 windows_core::BOOL,
34112 ) -> windows_core::HRESULT,
34113 pub IsStatusBarEnabled: unsafe extern "system" fn(
34114 *mut core::ffi::c_void,
34115 *mut windows_core::BOOL,
34116 ) -> windows_core::HRESULT,
34117 pub SetIsStatusBarEnabled: unsafe extern "system" fn(
34118 *mut core::ffi::c_void,
34119 windows_core::BOOL,
34120 ) -> windows_core::HRESULT,
34121 pub AreDevToolsEnabled: unsafe extern "system" fn(
34122 *mut core::ffi::c_void,
34123 *mut windows_core::BOOL,
34124 ) -> windows_core::HRESULT,
34125 pub SetAreDevToolsEnabled: unsafe extern "system" fn(
34126 *mut core::ffi::c_void,
34127 windows_core::BOOL,
34128 ) -> windows_core::HRESULT,
34129 pub AreDefaultContextMenusEnabled: unsafe extern "system" fn(
34130 *mut core::ffi::c_void,
34131 *mut windows_core::BOOL,
34132 ) -> windows_core::HRESULT,
34133 pub SetAreDefaultContextMenusEnabled: unsafe extern "system" fn(
34134 *mut core::ffi::c_void,
34135 windows_core::BOOL,
34136 ) -> windows_core::HRESULT,
34137 pub AreHostObjectsAllowed: unsafe extern "system" fn(
34138 *mut core::ffi::c_void,
34139 *mut windows_core::BOOL,
34140 ) -> windows_core::HRESULT,
34141 pub SetAreHostObjectsAllowed: unsafe extern "system" fn(
34142 *mut core::ffi::c_void,
34143 windows_core::BOOL,
34144 ) -> windows_core::HRESULT,
34145 pub IsZoomControlEnabled: unsafe extern "system" fn(
34146 *mut core::ffi::c_void,
34147 *mut windows_core::BOOL,
34148 ) -> windows_core::HRESULT,
34149 pub SetIsZoomControlEnabled: unsafe extern "system" fn(
34150 *mut core::ffi::c_void,
34151 windows_core::BOOL,
34152 ) -> windows_core::HRESULT,
34153 pub IsBuiltInErrorPageEnabled: unsafe extern "system" fn(
34154 *mut core::ffi::c_void,
34155 *mut windows_core::BOOL,
34156 ) -> windows_core::HRESULT,
34157 pub SetIsBuiltInErrorPageEnabled: unsafe extern "system" fn(
34158 *mut core::ffi::c_void,
34159 windows_core::BOOL,
34160 ) -> windows_core::HRESULT,
34161}
34162pub trait ICoreWebView2Settings_Impl: windows_core::IUnknownImpl {
34163 fn IsScriptEnabled(&self, isscriptenabled: *mut windows_core::BOOL)
34164 -> windows_core::Result<()>;
34165 fn SetIsScriptEnabled(&self, isscriptenabled: windows_core::BOOL) -> windows_core::Result<()>;
34166 fn IsWebMessageEnabled(
34167 &self,
34168 iswebmessageenabled: *mut windows_core::BOOL,
34169 ) -> windows_core::Result<()>;
34170 fn SetIsWebMessageEnabled(
34171 &self,
34172 iswebmessageenabled: windows_core::BOOL,
34173 ) -> windows_core::Result<()>;
34174 fn AreDefaultScriptDialogsEnabled(
34175 &self,
34176 aredefaultscriptdialogsenabled: *mut windows_core::BOOL,
34177 ) -> windows_core::Result<()>;
34178 fn SetAreDefaultScriptDialogsEnabled(
34179 &self,
34180 aredefaultscriptdialogsenabled: windows_core::BOOL,
34181 ) -> windows_core::Result<()>;
34182 fn IsStatusBarEnabled(
34183 &self,
34184 isstatusbarenabled: *mut windows_core::BOOL,
34185 ) -> windows_core::Result<()>;
34186 fn SetIsStatusBarEnabled(
34187 &self,
34188 isstatusbarenabled: windows_core::BOOL,
34189 ) -> windows_core::Result<()>;
34190 fn AreDevToolsEnabled(
34191 &self,
34192 aredevtoolsenabled: *mut windows_core::BOOL,
34193 ) -> windows_core::Result<()>;
34194 fn SetAreDevToolsEnabled(
34195 &self,
34196 aredevtoolsenabled: windows_core::BOOL,
34197 ) -> windows_core::Result<()>;
34198 fn AreDefaultContextMenusEnabled(
34199 &self,
34200 enabled: *mut windows_core::BOOL,
34201 ) -> windows_core::Result<()>;
34202 fn SetAreDefaultContextMenusEnabled(
34203 &self,
34204 enabled: windows_core::BOOL,
34205 ) -> windows_core::Result<()>;
34206 fn AreHostObjectsAllowed(&self, allowed: *mut windows_core::BOOL) -> windows_core::Result<()>;
34207 fn SetAreHostObjectsAllowed(&self, allowed: windows_core::BOOL) -> windows_core::Result<()>;
34208 fn IsZoomControlEnabled(&self, enabled: *mut windows_core::BOOL) -> windows_core::Result<()>;
34209 fn SetIsZoomControlEnabled(&self, enabled: windows_core::BOOL) -> windows_core::Result<()>;
34210 fn IsBuiltInErrorPageEnabled(
34211 &self,
34212 enabled: *mut windows_core::BOOL,
34213 ) -> windows_core::Result<()>;
34214 fn SetIsBuiltInErrorPageEnabled(&self, enabled: windows_core::BOOL)
34215 -> windows_core::Result<()>;
34216}
34217impl ICoreWebView2Settings_Vtbl {
34218 pub const fn new<Identity: ICoreWebView2Settings_Impl, const OFFSET: isize>() -> Self {
34219 unsafe extern "system" fn IsScriptEnabled<
34220 Identity: ICoreWebView2Settings_Impl,
34221 const OFFSET: isize,
34222 >(
34223 this: *mut core::ffi::c_void,
34224 isscriptenabled: *mut windows_core::BOOL,
34225 ) -> windows_core::HRESULT {
34226 unsafe {
34227 let this: &Identity =
34228 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34229 ICoreWebView2Settings_Impl::IsScriptEnabled(
34230 this,
34231 core::mem::transmute_copy(&isscriptenabled),
34232 )
34233 .into()
34234 }
34235 }
34236 unsafe extern "system" fn SetIsScriptEnabled<
34237 Identity: ICoreWebView2Settings_Impl,
34238 const OFFSET: isize,
34239 >(
34240 this: *mut core::ffi::c_void,
34241 isscriptenabled: windows_core::BOOL,
34242 ) -> windows_core::HRESULT {
34243 unsafe {
34244 let this: &Identity =
34245 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34246 ICoreWebView2Settings_Impl::SetIsScriptEnabled(
34247 this,
34248 core::mem::transmute_copy(&isscriptenabled),
34249 )
34250 .into()
34251 }
34252 }
34253 unsafe extern "system" fn IsWebMessageEnabled<
34254 Identity: ICoreWebView2Settings_Impl,
34255 const OFFSET: isize,
34256 >(
34257 this: *mut core::ffi::c_void,
34258 iswebmessageenabled: *mut windows_core::BOOL,
34259 ) -> windows_core::HRESULT {
34260 unsafe {
34261 let this: &Identity =
34262 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34263 ICoreWebView2Settings_Impl::IsWebMessageEnabled(
34264 this,
34265 core::mem::transmute_copy(&iswebmessageenabled),
34266 )
34267 .into()
34268 }
34269 }
34270 unsafe extern "system" fn SetIsWebMessageEnabled<
34271 Identity: ICoreWebView2Settings_Impl,
34272 const OFFSET: isize,
34273 >(
34274 this: *mut core::ffi::c_void,
34275 iswebmessageenabled: windows_core::BOOL,
34276 ) -> windows_core::HRESULT {
34277 unsafe {
34278 let this: &Identity =
34279 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34280 ICoreWebView2Settings_Impl::SetIsWebMessageEnabled(
34281 this,
34282 core::mem::transmute_copy(&iswebmessageenabled),
34283 )
34284 .into()
34285 }
34286 }
34287 unsafe extern "system" fn AreDefaultScriptDialogsEnabled<
34288 Identity: ICoreWebView2Settings_Impl,
34289 const OFFSET: isize,
34290 >(
34291 this: *mut core::ffi::c_void,
34292 aredefaultscriptdialogsenabled: *mut windows_core::BOOL,
34293 ) -> windows_core::HRESULT {
34294 unsafe {
34295 let this: &Identity =
34296 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34297 ICoreWebView2Settings_Impl::AreDefaultScriptDialogsEnabled(
34298 this,
34299 core::mem::transmute_copy(&aredefaultscriptdialogsenabled),
34300 )
34301 .into()
34302 }
34303 }
34304 unsafe extern "system" fn SetAreDefaultScriptDialogsEnabled<
34305 Identity: ICoreWebView2Settings_Impl,
34306 const OFFSET: isize,
34307 >(
34308 this: *mut core::ffi::c_void,
34309 aredefaultscriptdialogsenabled: windows_core::BOOL,
34310 ) -> windows_core::HRESULT {
34311 unsafe {
34312 let this: &Identity =
34313 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34314 ICoreWebView2Settings_Impl::SetAreDefaultScriptDialogsEnabled(
34315 this,
34316 core::mem::transmute_copy(&aredefaultscriptdialogsenabled),
34317 )
34318 .into()
34319 }
34320 }
34321 unsafe extern "system" fn IsStatusBarEnabled<
34322 Identity: ICoreWebView2Settings_Impl,
34323 const OFFSET: isize,
34324 >(
34325 this: *mut core::ffi::c_void,
34326 isstatusbarenabled: *mut windows_core::BOOL,
34327 ) -> windows_core::HRESULT {
34328 unsafe {
34329 let this: &Identity =
34330 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34331 ICoreWebView2Settings_Impl::IsStatusBarEnabled(
34332 this,
34333 core::mem::transmute_copy(&isstatusbarenabled),
34334 )
34335 .into()
34336 }
34337 }
34338 unsafe extern "system" fn SetIsStatusBarEnabled<
34339 Identity: ICoreWebView2Settings_Impl,
34340 const OFFSET: isize,
34341 >(
34342 this: *mut core::ffi::c_void,
34343 isstatusbarenabled: windows_core::BOOL,
34344 ) -> windows_core::HRESULT {
34345 unsafe {
34346 let this: &Identity =
34347 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34348 ICoreWebView2Settings_Impl::SetIsStatusBarEnabled(
34349 this,
34350 core::mem::transmute_copy(&isstatusbarenabled),
34351 )
34352 .into()
34353 }
34354 }
34355 unsafe extern "system" fn AreDevToolsEnabled<
34356 Identity: ICoreWebView2Settings_Impl,
34357 const OFFSET: isize,
34358 >(
34359 this: *mut core::ffi::c_void,
34360 aredevtoolsenabled: *mut windows_core::BOOL,
34361 ) -> windows_core::HRESULT {
34362 unsafe {
34363 let this: &Identity =
34364 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34365 ICoreWebView2Settings_Impl::AreDevToolsEnabled(
34366 this,
34367 core::mem::transmute_copy(&aredevtoolsenabled),
34368 )
34369 .into()
34370 }
34371 }
34372 unsafe extern "system" fn SetAreDevToolsEnabled<
34373 Identity: ICoreWebView2Settings_Impl,
34374 const OFFSET: isize,
34375 >(
34376 this: *mut core::ffi::c_void,
34377 aredevtoolsenabled: windows_core::BOOL,
34378 ) -> windows_core::HRESULT {
34379 unsafe {
34380 let this: &Identity =
34381 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34382 ICoreWebView2Settings_Impl::SetAreDevToolsEnabled(
34383 this,
34384 core::mem::transmute_copy(&aredevtoolsenabled),
34385 )
34386 .into()
34387 }
34388 }
34389 unsafe extern "system" fn AreDefaultContextMenusEnabled<
34390 Identity: ICoreWebView2Settings_Impl,
34391 const OFFSET: isize,
34392 >(
34393 this: *mut core::ffi::c_void,
34394 enabled: *mut windows_core::BOOL,
34395 ) -> windows_core::HRESULT {
34396 unsafe {
34397 let this: &Identity =
34398 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34399 ICoreWebView2Settings_Impl::AreDefaultContextMenusEnabled(
34400 this,
34401 core::mem::transmute_copy(&enabled),
34402 )
34403 .into()
34404 }
34405 }
34406 unsafe extern "system" fn SetAreDefaultContextMenusEnabled<
34407 Identity: ICoreWebView2Settings_Impl,
34408 const OFFSET: isize,
34409 >(
34410 this: *mut core::ffi::c_void,
34411 enabled: windows_core::BOOL,
34412 ) -> windows_core::HRESULT {
34413 unsafe {
34414 let this: &Identity =
34415 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34416 ICoreWebView2Settings_Impl::SetAreDefaultContextMenusEnabled(
34417 this,
34418 core::mem::transmute_copy(&enabled),
34419 )
34420 .into()
34421 }
34422 }
34423 unsafe extern "system" fn AreHostObjectsAllowed<
34424 Identity: ICoreWebView2Settings_Impl,
34425 const OFFSET: isize,
34426 >(
34427 this: *mut core::ffi::c_void,
34428 allowed: *mut windows_core::BOOL,
34429 ) -> windows_core::HRESULT {
34430 unsafe {
34431 let this: &Identity =
34432 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34433 ICoreWebView2Settings_Impl::AreHostObjectsAllowed(
34434 this,
34435 core::mem::transmute_copy(&allowed),
34436 )
34437 .into()
34438 }
34439 }
34440 unsafe extern "system" fn SetAreHostObjectsAllowed<
34441 Identity: ICoreWebView2Settings_Impl,
34442 const OFFSET: isize,
34443 >(
34444 this: *mut core::ffi::c_void,
34445 allowed: windows_core::BOOL,
34446 ) -> windows_core::HRESULT {
34447 unsafe {
34448 let this: &Identity =
34449 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34450 ICoreWebView2Settings_Impl::SetAreHostObjectsAllowed(
34451 this,
34452 core::mem::transmute_copy(&allowed),
34453 )
34454 .into()
34455 }
34456 }
34457 unsafe extern "system" fn IsZoomControlEnabled<
34458 Identity: ICoreWebView2Settings_Impl,
34459 const OFFSET: isize,
34460 >(
34461 this: *mut core::ffi::c_void,
34462 enabled: *mut windows_core::BOOL,
34463 ) -> windows_core::HRESULT {
34464 unsafe {
34465 let this: &Identity =
34466 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34467 ICoreWebView2Settings_Impl::IsZoomControlEnabled(
34468 this,
34469 core::mem::transmute_copy(&enabled),
34470 )
34471 .into()
34472 }
34473 }
34474 unsafe extern "system" fn SetIsZoomControlEnabled<
34475 Identity: ICoreWebView2Settings_Impl,
34476 const OFFSET: isize,
34477 >(
34478 this: *mut core::ffi::c_void,
34479 enabled: windows_core::BOOL,
34480 ) -> windows_core::HRESULT {
34481 unsafe {
34482 let this: &Identity =
34483 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34484 ICoreWebView2Settings_Impl::SetIsZoomControlEnabled(
34485 this,
34486 core::mem::transmute_copy(&enabled),
34487 )
34488 .into()
34489 }
34490 }
34491 unsafe extern "system" fn IsBuiltInErrorPageEnabled<
34492 Identity: ICoreWebView2Settings_Impl,
34493 const OFFSET: isize,
34494 >(
34495 this: *mut core::ffi::c_void,
34496 enabled: *mut windows_core::BOOL,
34497 ) -> windows_core::HRESULT {
34498 unsafe {
34499 let this: &Identity =
34500 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34501 ICoreWebView2Settings_Impl::IsBuiltInErrorPageEnabled(
34502 this,
34503 core::mem::transmute_copy(&enabled),
34504 )
34505 .into()
34506 }
34507 }
34508 unsafe extern "system" fn SetIsBuiltInErrorPageEnabled<
34509 Identity: ICoreWebView2Settings_Impl,
34510 const OFFSET: isize,
34511 >(
34512 this: *mut core::ffi::c_void,
34513 enabled: windows_core::BOOL,
34514 ) -> windows_core::HRESULT {
34515 unsafe {
34516 let this: &Identity =
34517 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34518 ICoreWebView2Settings_Impl::SetIsBuiltInErrorPageEnabled(
34519 this,
34520 core::mem::transmute_copy(&enabled),
34521 )
34522 .into()
34523 }
34524 }
34525 Self {
34526 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
34527 IsScriptEnabled: IsScriptEnabled::<Identity, OFFSET>,
34528 SetIsScriptEnabled: SetIsScriptEnabled::<Identity, OFFSET>,
34529 IsWebMessageEnabled: IsWebMessageEnabled::<Identity, OFFSET>,
34530 SetIsWebMessageEnabled: SetIsWebMessageEnabled::<Identity, OFFSET>,
34531 AreDefaultScriptDialogsEnabled: AreDefaultScriptDialogsEnabled::<Identity, OFFSET>,
34532 SetAreDefaultScriptDialogsEnabled: SetAreDefaultScriptDialogsEnabled::<Identity, OFFSET>,
34533 IsStatusBarEnabled: IsStatusBarEnabled::<Identity, OFFSET>,
34534 SetIsStatusBarEnabled: SetIsStatusBarEnabled::<Identity, OFFSET>,
34535 AreDevToolsEnabled: AreDevToolsEnabled::<Identity, OFFSET>,
34536 SetAreDevToolsEnabled: SetAreDevToolsEnabled::<Identity, OFFSET>,
34537 AreDefaultContextMenusEnabled: AreDefaultContextMenusEnabled::<Identity, OFFSET>,
34538 SetAreDefaultContextMenusEnabled: SetAreDefaultContextMenusEnabled::<Identity, OFFSET>,
34539 AreHostObjectsAllowed: AreHostObjectsAllowed::<Identity, OFFSET>,
34540 SetAreHostObjectsAllowed: SetAreHostObjectsAllowed::<Identity, OFFSET>,
34541 IsZoomControlEnabled: IsZoomControlEnabled::<Identity, OFFSET>,
34542 SetIsZoomControlEnabled: SetIsZoomControlEnabled::<Identity, OFFSET>,
34543 IsBuiltInErrorPageEnabled: IsBuiltInErrorPageEnabled::<Identity, OFFSET>,
34544 SetIsBuiltInErrorPageEnabled: SetIsBuiltInErrorPageEnabled::<Identity, OFFSET>,
34545 }
34546 }
34547 pub fn matches(iid: &windows_core::GUID) -> bool {
34548 iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
34549 }
34550}
34551impl windows_core::RuntimeName for ICoreWebView2Settings {}
34552windows_core::imp::define_interface!(
34553 ICoreWebView2Settings2,
34554 ICoreWebView2Settings2_Vtbl,
34555 0xee9a0f68_f46c_4e32_ac23_ef8cac224d2a
34556);
34557impl core::ops::Deref for ICoreWebView2Settings2 {
34558 type Target = ICoreWebView2Settings;
34559 fn deref(&self) -> &Self::Target {
34560 unsafe { core::mem::transmute(self) }
34561 }
34562}
34563windows_core::imp::interface_hierarchy!(
34564 ICoreWebView2Settings2,
34565 windows_core::IUnknown,
34566 ICoreWebView2Settings
34567);
34568impl ICoreWebView2Settings2 {
34569 pub unsafe fn UserAgent(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
34570 unsafe {
34571 (windows_core::Interface::vtable(self).UserAgent)(
34572 windows_core::Interface::as_raw(self),
34573 value as _,
34574 )
34575 .ok()
34576 }
34577 }
34578 pub unsafe fn SetUserAgent<P0>(&self, value: P0) -> windows_core::Result<()>
34579 where
34580 P0: windows_core::Param<windows_core::PCWSTR>,
34581 {
34582 unsafe {
34583 (windows_core::Interface::vtable(self).SetUserAgent)(
34584 windows_core::Interface::as_raw(self),
34585 value.param().abi(),
34586 )
34587 .ok()
34588 }
34589 }
34590}
34591#[repr(C)]
34592#[doc(hidden)]
34593pub struct ICoreWebView2Settings2_Vtbl {
34594 pub base__: ICoreWebView2Settings_Vtbl,
34595 pub UserAgent: unsafe extern "system" fn(
34596 *mut core::ffi::c_void,
34597 *mut windows_core::PWSTR,
34598 ) -> windows_core::HRESULT,
34599 pub SetUserAgent: unsafe extern "system" fn(
34600 *mut core::ffi::c_void,
34601 windows_core::PCWSTR,
34602 ) -> windows_core::HRESULT,
34603}
34604pub trait ICoreWebView2Settings2_Impl: ICoreWebView2Settings_Impl {
34605 fn UserAgent(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
34606 fn SetUserAgent(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
34607}
34608impl ICoreWebView2Settings2_Vtbl {
34609 pub const fn new<Identity: ICoreWebView2Settings2_Impl, const OFFSET: isize>() -> Self {
34610 unsafe extern "system" fn UserAgent<
34611 Identity: ICoreWebView2Settings2_Impl,
34612 const OFFSET: isize,
34613 >(
34614 this: *mut core::ffi::c_void,
34615 value: *mut windows_core::PWSTR,
34616 ) -> windows_core::HRESULT {
34617 unsafe {
34618 let this: &Identity =
34619 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34620 ICoreWebView2Settings2_Impl::UserAgent(this, core::mem::transmute_copy(&value))
34621 .into()
34622 }
34623 }
34624 unsafe extern "system" fn SetUserAgent<
34625 Identity: ICoreWebView2Settings2_Impl,
34626 const OFFSET: isize,
34627 >(
34628 this: *mut core::ffi::c_void,
34629 value: windows_core::PCWSTR,
34630 ) -> windows_core::HRESULT {
34631 unsafe {
34632 let this: &Identity =
34633 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34634 ICoreWebView2Settings2_Impl::SetUserAgent(this, core::mem::transmute(&value)).into()
34635 }
34636 }
34637 Self {
34638 base__: ICoreWebView2Settings_Vtbl::new::<Identity, OFFSET>(),
34639 UserAgent: UserAgent::<Identity, OFFSET>,
34640 SetUserAgent: SetUserAgent::<Identity, OFFSET>,
34641 }
34642 }
34643 pub fn matches(iid: &windows_core::GUID) -> bool {
34644 iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
34645 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
34646 }
34647}
34648impl windows_core::RuntimeName for ICoreWebView2Settings2 {}
34649windows_core::imp::define_interface!(
34650 ICoreWebView2Settings3,
34651 ICoreWebView2Settings3_Vtbl,
34652 0xfdb5ab74_af33_4854_84f0_0a631deb5eba
34653);
34654impl core::ops::Deref for ICoreWebView2Settings3 {
34655 type Target = ICoreWebView2Settings2;
34656 fn deref(&self) -> &Self::Target {
34657 unsafe { core::mem::transmute(self) }
34658 }
34659}
34660windows_core::imp::interface_hierarchy!(
34661 ICoreWebView2Settings3,
34662 windows_core::IUnknown,
34663 ICoreWebView2Settings,
34664 ICoreWebView2Settings2
34665);
34666impl ICoreWebView2Settings3 {
34667 pub unsafe fn AreBrowserAcceleratorKeysEnabled(
34668 &self,
34669 value: *mut windows_core::BOOL,
34670 ) -> windows_core::Result<()> {
34671 unsafe {
34672 (windows_core::Interface::vtable(self).AreBrowserAcceleratorKeysEnabled)(
34673 windows_core::Interface::as_raw(self),
34674 value as _,
34675 )
34676 .ok()
34677 }
34678 }
34679 pub unsafe fn SetAreBrowserAcceleratorKeysEnabled(
34680 &self,
34681 value: bool,
34682 ) -> windows_core::Result<()> {
34683 unsafe {
34684 (windows_core::Interface::vtable(self).SetAreBrowserAcceleratorKeysEnabled)(
34685 windows_core::Interface::as_raw(self),
34686 value.into(),
34687 )
34688 .ok()
34689 }
34690 }
34691}
34692#[repr(C)]
34693#[doc(hidden)]
34694pub struct ICoreWebView2Settings3_Vtbl {
34695 pub base__: ICoreWebView2Settings2_Vtbl,
34696 pub AreBrowserAcceleratorKeysEnabled: unsafe extern "system" fn(
34697 *mut core::ffi::c_void,
34698 *mut windows_core::BOOL,
34699 ) -> windows_core::HRESULT,
34700 pub SetAreBrowserAcceleratorKeysEnabled: unsafe extern "system" fn(
34701 *mut core::ffi::c_void,
34702 windows_core::BOOL,
34703 )
34704 -> windows_core::HRESULT,
34705}
34706pub trait ICoreWebView2Settings3_Impl: ICoreWebView2Settings2_Impl {
34707 fn AreBrowserAcceleratorKeysEnabled(
34708 &self,
34709 value: *mut windows_core::BOOL,
34710 ) -> windows_core::Result<()>;
34711 fn SetAreBrowserAcceleratorKeysEnabled(
34712 &self,
34713 value: windows_core::BOOL,
34714 ) -> windows_core::Result<()>;
34715}
34716impl ICoreWebView2Settings3_Vtbl {
34717 pub const fn new<Identity: ICoreWebView2Settings3_Impl, const OFFSET: isize>() -> Self {
34718 unsafe extern "system" fn AreBrowserAcceleratorKeysEnabled<
34719 Identity: ICoreWebView2Settings3_Impl,
34720 const OFFSET: isize,
34721 >(
34722 this: *mut core::ffi::c_void,
34723 value: *mut windows_core::BOOL,
34724 ) -> windows_core::HRESULT {
34725 unsafe {
34726 let this: &Identity =
34727 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34728 ICoreWebView2Settings3_Impl::AreBrowserAcceleratorKeysEnabled(
34729 this,
34730 core::mem::transmute_copy(&value),
34731 )
34732 .into()
34733 }
34734 }
34735 unsafe extern "system" fn SetAreBrowserAcceleratorKeysEnabled<
34736 Identity: ICoreWebView2Settings3_Impl,
34737 const OFFSET: isize,
34738 >(
34739 this: *mut core::ffi::c_void,
34740 value: windows_core::BOOL,
34741 ) -> windows_core::HRESULT {
34742 unsafe {
34743 let this: &Identity =
34744 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34745 ICoreWebView2Settings3_Impl::SetAreBrowserAcceleratorKeysEnabled(
34746 this,
34747 core::mem::transmute_copy(&value),
34748 )
34749 .into()
34750 }
34751 }
34752 Self {
34753 base__: ICoreWebView2Settings2_Vtbl::new::<Identity, OFFSET>(),
34754 AreBrowserAcceleratorKeysEnabled: AreBrowserAcceleratorKeysEnabled::<Identity, OFFSET>,
34755 SetAreBrowserAcceleratorKeysEnabled: SetAreBrowserAcceleratorKeysEnabled::<
34756 Identity,
34757 OFFSET,
34758 >,
34759 }
34760 }
34761 pub fn matches(iid: &windows_core::GUID) -> bool {
34762 iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
34763 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
34764 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
34765 }
34766}
34767impl windows_core::RuntimeName for ICoreWebView2Settings3 {}
34768windows_core::imp::define_interface!(
34769 ICoreWebView2Settings4,
34770 ICoreWebView2Settings4_Vtbl,
34771 0xcb56846c_4168_4d53_b04f_03b6d6796ff2
34772);
34773impl core::ops::Deref for ICoreWebView2Settings4 {
34774 type Target = ICoreWebView2Settings3;
34775 fn deref(&self) -> &Self::Target {
34776 unsafe { core::mem::transmute(self) }
34777 }
34778}
34779windows_core::imp::interface_hierarchy!(
34780 ICoreWebView2Settings4,
34781 windows_core::IUnknown,
34782 ICoreWebView2Settings,
34783 ICoreWebView2Settings2,
34784 ICoreWebView2Settings3
34785);
34786impl ICoreWebView2Settings4 {
34787 pub unsafe fn IsPasswordAutosaveEnabled(
34788 &self,
34789 value: *mut windows_core::BOOL,
34790 ) -> windows_core::Result<()> {
34791 unsafe {
34792 (windows_core::Interface::vtable(self).IsPasswordAutosaveEnabled)(
34793 windows_core::Interface::as_raw(self),
34794 value as _,
34795 )
34796 .ok()
34797 }
34798 }
34799 pub unsafe fn SetIsPasswordAutosaveEnabled(&self, value: bool) -> windows_core::Result<()> {
34800 unsafe {
34801 (windows_core::Interface::vtable(self).SetIsPasswordAutosaveEnabled)(
34802 windows_core::Interface::as_raw(self),
34803 value.into(),
34804 )
34805 .ok()
34806 }
34807 }
34808 pub unsafe fn IsGeneralAutofillEnabled(
34809 &self,
34810 value: *mut windows_core::BOOL,
34811 ) -> windows_core::Result<()> {
34812 unsafe {
34813 (windows_core::Interface::vtable(self).IsGeneralAutofillEnabled)(
34814 windows_core::Interface::as_raw(self),
34815 value as _,
34816 )
34817 .ok()
34818 }
34819 }
34820 pub unsafe fn SetIsGeneralAutofillEnabled(&self, value: bool) -> windows_core::Result<()> {
34821 unsafe {
34822 (windows_core::Interface::vtable(self).SetIsGeneralAutofillEnabled)(
34823 windows_core::Interface::as_raw(self),
34824 value.into(),
34825 )
34826 .ok()
34827 }
34828 }
34829}
34830#[repr(C)]
34831#[doc(hidden)]
34832pub struct ICoreWebView2Settings4_Vtbl {
34833 pub base__: ICoreWebView2Settings3_Vtbl,
34834 pub IsPasswordAutosaveEnabled: unsafe extern "system" fn(
34835 *mut core::ffi::c_void,
34836 *mut windows_core::BOOL,
34837 ) -> windows_core::HRESULT,
34838 pub SetIsPasswordAutosaveEnabled: unsafe extern "system" fn(
34839 *mut core::ffi::c_void,
34840 windows_core::BOOL,
34841 ) -> windows_core::HRESULT,
34842 pub IsGeneralAutofillEnabled: unsafe extern "system" fn(
34843 *mut core::ffi::c_void,
34844 *mut windows_core::BOOL,
34845 ) -> windows_core::HRESULT,
34846 pub SetIsGeneralAutofillEnabled: unsafe extern "system" fn(
34847 *mut core::ffi::c_void,
34848 windows_core::BOOL,
34849 ) -> windows_core::HRESULT,
34850}
34851pub trait ICoreWebView2Settings4_Impl: ICoreWebView2Settings3_Impl {
34852 fn IsPasswordAutosaveEnabled(&self, value: *mut windows_core::BOOL)
34853 -> windows_core::Result<()>;
34854 fn SetIsPasswordAutosaveEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
34855 fn IsGeneralAutofillEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
34856 fn SetIsGeneralAutofillEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
34857}
34858impl ICoreWebView2Settings4_Vtbl {
34859 pub const fn new<Identity: ICoreWebView2Settings4_Impl, const OFFSET: isize>() -> Self {
34860 unsafe extern "system" fn IsPasswordAutosaveEnabled<
34861 Identity: ICoreWebView2Settings4_Impl,
34862 const OFFSET: isize,
34863 >(
34864 this: *mut core::ffi::c_void,
34865 value: *mut windows_core::BOOL,
34866 ) -> windows_core::HRESULT {
34867 unsafe {
34868 let this: &Identity =
34869 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34870 ICoreWebView2Settings4_Impl::IsPasswordAutosaveEnabled(
34871 this,
34872 core::mem::transmute_copy(&value),
34873 )
34874 .into()
34875 }
34876 }
34877 unsafe extern "system" fn SetIsPasswordAutosaveEnabled<
34878 Identity: ICoreWebView2Settings4_Impl,
34879 const OFFSET: isize,
34880 >(
34881 this: *mut core::ffi::c_void,
34882 value: windows_core::BOOL,
34883 ) -> windows_core::HRESULT {
34884 unsafe {
34885 let this: &Identity =
34886 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34887 ICoreWebView2Settings4_Impl::SetIsPasswordAutosaveEnabled(
34888 this,
34889 core::mem::transmute_copy(&value),
34890 )
34891 .into()
34892 }
34893 }
34894 unsafe extern "system" fn IsGeneralAutofillEnabled<
34895 Identity: ICoreWebView2Settings4_Impl,
34896 const OFFSET: isize,
34897 >(
34898 this: *mut core::ffi::c_void,
34899 value: *mut windows_core::BOOL,
34900 ) -> windows_core::HRESULT {
34901 unsafe {
34902 let this: &Identity =
34903 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34904 ICoreWebView2Settings4_Impl::IsGeneralAutofillEnabled(
34905 this,
34906 core::mem::transmute_copy(&value),
34907 )
34908 .into()
34909 }
34910 }
34911 unsafe extern "system" fn SetIsGeneralAutofillEnabled<
34912 Identity: ICoreWebView2Settings4_Impl,
34913 const OFFSET: isize,
34914 >(
34915 this: *mut core::ffi::c_void,
34916 value: windows_core::BOOL,
34917 ) -> windows_core::HRESULT {
34918 unsafe {
34919 let this: &Identity =
34920 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34921 ICoreWebView2Settings4_Impl::SetIsGeneralAutofillEnabled(
34922 this,
34923 core::mem::transmute_copy(&value),
34924 )
34925 .into()
34926 }
34927 }
34928 Self {
34929 base__: ICoreWebView2Settings3_Vtbl::new::<Identity, OFFSET>(),
34930 IsPasswordAutosaveEnabled: IsPasswordAutosaveEnabled::<Identity, OFFSET>,
34931 SetIsPasswordAutosaveEnabled: SetIsPasswordAutosaveEnabled::<Identity, OFFSET>,
34932 IsGeneralAutofillEnabled: IsGeneralAutofillEnabled::<Identity, OFFSET>,
34933 SetIsGeneralAutofillEnabled: SetIsGeneralAutofillEnabled::<Identity, OFFSET>,
34934 }
34935 }
34936 pub fn matches(iid: &windows_core::GUID) -> bool {
34937 iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
34938 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
34939 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
34940 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
34941 }
34942}
34943impl windows_core::RuntimeName for ICoreWebView2Settings4 {}
34944windows_core::imp::define_interface!(
34945 ICoreWebView2Settings5,
34946 ICoreWebView2Settings5_Vtbl,
34947 0x183e7052_1d03_43a0_ab99_98e043b66b39
34948);
34949impl core::ops::Deref for ICoreWebView2Settings5 {
34950 type Target = ICoreWebView2Settings4;
34951 fn deref(&self) -> &Self::Target {
34952 unsafe { core::mem::transmute(self) }
34953 }
34954}
34955windows_core::imp::interface_hierarchy!(
34956 ICoreWebView2Settings5,
34957 windows_core::IUnknown,
34958 ICoreWebView2Settings,
34959 ICoreWebView2Settings2,
34960 ICoreWebView2Settings3,
34961 ICoreWebView2Settings4
34962);
34963impl ICoreWebView2Settings5 {
34964 pub unsafe fn IsPinchZoomEnabled(
34965 &self,
34966 value: *mut windows_core::BOOL,
34967 ) -> windows_core::Result<()> {
34968 unsafe {
34969 (windows_core::Interface::vtable(self).IsPinchZoomEnabled)(
34970 windows_core::Interface::as_raw(self),
34971 value as _,
34972 )
34973 .ok()
34974 }
34975 }
34976 pub unsafe fn SetIsPinchZoomEnabled(&self, value: bool) -> windows_core::Result<()> {
34977 unsafe {
34978 (windows_core::Interface::vtable(self).SetIsPinchZoomEnabled)(
34979 windows_core::Interface::as_raw(self),
34980 value.into(),
34981 )
34982 .ok()
34983 }
34984 }
34985}
34986#[repr(C)]
34987#[doc(hidden)]
34988pub struct ICoreWebView2Settings5_Vtbl {
34989 pub base__: ICoreWebView2Settings4_Vtbl,
34990 pub IsPinchZoomEnabled: unsafe extern "system" fn(
34991 *mut core::ffi::c_void,
34992 *mut windows_core::BOOL,
34993 ) -> windows_core::HRESULT,
34994 pub SetIsPinchZoomEnabled: unsafe extern "system" fn(
34995 *mut core::ffi::c_void,
34996 windows_core::BOOL,
34997 ) -> windows_core::HRESULT,
34998}
34999pub trait ICoreWebView2Settings5_Impl: ICoreWebView2Settings4_Impl {
35000 fn IsPinchZoomEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
35001 fn SetIsPinchZoomEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
35002}
35003impl ICoreWebView2Settings5_Vtbl {
35004 pub const fn new<Identity: ICoreWebView2Settings5_Impl, const OFFSET: isize>() -> Self {
35005 unsafe extern "system" fn IsPinchZoomEnabled<
35006 Identity: ICoreWebView2Settings5_Impl,
35007 const OFFSET: isize,
35008 >(
35009 this: *mut core::ffi::c_void,
35010 value: *mut windows_core::BOOL,
35011 ) -> windows_core::HRESULT {
35012 unsafe {
35013 let this: &Identity =
35014 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35015 ICoreWebView2Settings5_Impl::IsPinchZoomEnabled(
35016 this,
35017 core::mem::transmute_copy(&value),
35018 )
35019 .into()
35020 }
35021 }
35022 unsafe extern "system" fn SetIsPinchZoomEnabled<
35023 Identity: ICoreWebView2Settings5_Impl,
35024 const OFFSET: isize,
35025 >(
35026 this: *mut core::ffi::c_void,
35027 value: windows_core::BOOL,
35028 ) -> windows_core::HRESULT {
35029 unsafe {
35030 let this: &Identity =
35031 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35032 ICoreWebView2Settings5_Impl::SetIsPinchZoomEnabled(
35033 this,
35034 core::mem::transmute_copy(&value),
35035 )
35036 .into()
35037 }
35038 }
35039 Self {
35040 base__: ICoreWebView2Settings4_Vtbl::new::<Identity, OFFSET>(),
35041 IsPinchZoomEnabled: IsPinchZoomEnabled::<Identity, OFFSET>,
35042 SetIsPinchZoomEnabled: SetIsPinchZoomEnabled::<Identity, OFFSET>,
35043 }
35044 }
35045 pub fn matches(iid: &windows_core::GUID) -> bool {
35046 iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
35047 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
35048 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
35049 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
35050 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
35051 }
35052}
35053impl windows_core::RuntimeName for ICoreWebView2Settings5 {}
35054windows_core::imp::define_interface!(
35055 ICoreWebView2Settings6,
35056 ICoreWebView2Settings6_Vtbl,
35057 0x11cb3acd_9bc8_43b8_83bf_f40753714f87
35058);
35059impl core::ops::Deref for ICoreWebView2Settings6 {
35060 type Target = ICoreWebView2Settings5;
35061 fn deref(&self) -> &Self::Target {
35062 unsafe { core::mem::transmute(self) }
35063 }
35064}
35065windows_core::imp::interface_hierarchy!(
35066 ICoreWebView2Settings6,
35067 windows_core::IUnknown,
35068 ICoreWebView2Settings,
35069 ICoreWebView2Settings2,
35070 ICoreWebView2Settings3,
35071 ICoreWebView2Settings4,
35072 ICoreWebView2Settings5
35073);
35074impl ICoreWebView2Settings6 {
35075 pub unsafe fn IsSwipeNavigationEnabled(
35076 &self,
35077 value: *mut windows_core::BOOL,
35078 ) -> windows_core::Result<()> {
35079 unsafe {
35080 (windows_core::Interface::vtable(self).IsSwipeNavigationEnabled)(
35081 windows_core::Interface::as_raw(self),
35082 value as _,
35083 )
35084 .ok()
35085 }
35086 }
35087 pub unsafe fn SetIsSwipeNavigationEnabled(&self, value: bool) -> windows_core::Result<()> {
35088 unsafe {
35089 (windows_core::Interface::vtable(self).SetIsSwipeNavigationEnabled)(
35090 windows_core::Interface::as_raw(self),
35091 value.into(),
35092 )
35093 .ok()
35094 }
35095 }
35096}
35097#[repr(C)]
35098#[doc(hidden)]
35099pub struct ICoreWebView2Settings6_Vtbl {
35100 pub base__: ICoreWebView2Settings5_Vtbl,
35101 pub IsSwipeNavigationEnabled: unsafe extern "system" fn(
35102 *mut core::ffi::c_void,
35103 *mut windows_core::BOOL,
35104 ) -> windows_core::HRESULT,
35105 pub SetIsSwipeNavigationEnabled: unsafe extern "system" fn(
35106 *mut core::ffi::c_void,
35107 windows_core::BOOL,
35108 ) -> windows_core::HRESULT,
35109}
35110pub trait ICoreWebView2Settings6_Impl: ICoreWebView2Settings5_Impl {
35111 fn IsSwipeNavigationEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
35112 fn SetIsSwipeNavigationEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
35113}
35114impl ICoreWebView2Settings6_Vtbl {
35115 pub const fn new<Identity: ICoreWebView2Settings6_Impl, const OFFSET: isize>() -> Self {
35116 unsafe extern "system" fn IsSwipeNavigationEnabled<
35117 Identity: ICoreWebView2Settings6_Impl,
35118 const OFFSET: isize,
35119 >(
35120 this: *mut core::ffi::c_void,
35121 value: *mut windows_core::BOOL,
35122 ) -> windows_core::HRESULT {
35123 unsafe {
35124 let this: &Identity =
35125 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35126 ICoreWebView2Settings6_Impl::IsSwipeNavigationEnabled(
35127 this,
35128 core::mem::transmute_copy(&value),
35129 )
35130 .into()
35131 }
35132 }
35133 unsafe extern "system" fn SetIsSwipeNavigationEnabled<
35134 Identity: ICoreWebView2Settings6_Impl,
35135 const OFFSET: isize,
35136 >(
35137 this: *mut core::ffi::c_void,
35138 value: windows_core::BOOL,
35139 ) -> windows_core::HRESULT {
35140 unsafe {
35141 let this: &Identity =
35142 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35143 ICoreWebView2Settings6_Impl::SetIsSwipeNavigationEnabled(
35144 this,
35145 core::mem::transmute_copy(&value),
35146 )
35147 .into()
35148 }
35149 }
35150 Self {
35151 base__: ICoreWebView2Settings5_Vtbl::new::<Identity, OFFSET>(),
35152 IsSwipeNavigationEnabled: IsSwipeNavigationEnabled::<Identity, OFFSET>,
35153 SetIsSwipeNavigationEnabled: SetIsSwipeNavigationEnabled::<Identity, OFFSET>,
35154 }
35155 }
35156 pub fn matches(iid: &windows_core::GUID) -> bool {
35157 iid == &<ICoreWebView2Settings6 as windows_core::Interface>::IID
35158 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
35159 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
35160 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
35161 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
35162 || iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
35163 }
35164}
35165impl windows_core::RuntimeName for ICoreWebView2Settings6 {}
35166windows_core::imp::define_interface!(
35167 ICoreWebView2Settings7,
35168 ICoreWebView2Settings7_Vtbl,
35169 0x488dc902_35ef_42d2_bc7d_94b65c4bc49c
35170);
35171impl core::ops::Deref for ICoreWebView2Settings7 {
35172 type Target = ICoreWebView2Settings6;
35173 fn deref(&self) -> &Self::Target {
35174 unsafe { core::mem::transmute(self) }
35175 }
35176}
35177windows_core::imp::interface_hierarchy!(
35178 ICoreWebView2Settings7,
35179 windows_core::IUnknown,
35180 ICoreWebView2Settings,
35181 ICoreWebView2Settings2,
35182 ICoreWebView2Settings3,
35183 ICoreWebView2Settings4,
35184 ICoreWebView2Settings5,
35185 ICoreWebView2Settings6
35186);
35187impl ICoreWebView2Settings7 {
35188 pub unsafe fn HiddenPdfToolbarItems(
35189 &self,
35190 value: *mut COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
35191 ) -> windows_core::Result<()> {
35192 unsafe {
35193 (windows_core::Interface::vtable(self).HiddenPdfToolbarItems)(
35194 windows_core::Interface::as_raw(self),
35195 value as _,
35196 )
35197 .ok()
35198 }
35199 }
35200 pub unsafe fn SetHiddenPdfToolbarItems(
35201 &self,
35202 value: COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
35203 ) -> windows_core::Result<()> {
35204 unsafe {
35205 (windows_core::Interface::vtable(self).SetHiddenPdfToolbarItems)(
35206 windows_core::Interface::as_raw(self),
35207 value,
35208 )
35209 .ok()
35210 }
35211 }
35212}
35213#[repr(C)]
35214#[doc(hidden)]
35215pub struct ICoreWebView2Settings7_Vtbl {
35216 pub base__: ICoreWebView2Settings6_Vtbl,
35217 pub HiddenPdfToolbarItems: unsafe extern "system" fn(
35218 *mut core::ffi::c_void,
35219 *mut COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
35220 ) -> windows_core::HRESULT,
35221 pub SetHiddenPdfToolbarItems: unsafe extern "system" fn(
35222 *mut core::ffi::c_void,
35223 COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
35224 ) -> windows_core::HRESULT,
35225}
35226pub trait ICoreWebView2Settings7_Impl: ICoreWebView2Settings6_Impl {
35227 fn HiddenPdfToolbarItems(
35228 &self,
35229 value: *mut COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
35230 ) -> windows_core::Result<()>;
35231 fn SetHiddenPdfToolbarItems(
35232 &self,
35233 value: COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
35234 ) -> windows_core::Result<()>;
35235}
35236impl ICoreWebView2Settings7_Vtbl {
35237 pub const fn new<Identity: ICoreWebView2Settings7_Impl, const OFFSET: isize>() -> Self {
35238 unsafe extern "system" fn HiddenPdfToolbarItems<
35239 Identity: ICoreWebView2Settings7_Impl,
35240 const OFFSET: isize,
35241 >(
35242 this: *mut core::ffi::c_void,
35243 value: *mut COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
35244 ) -> windows_core::HRESULT {
35245 unsafe {
35246 let this: &Identity =
35247 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35248 ICoreWebView2Settings7_Impl::HiddenPdfToolbarItems(
35249 this,
35250 core::mem::transmute_copy(&value),
35251 )
35252 .into()
35253 }
35254 }
35255 unsafe extern "system" fn SetHiddenPdfToolbarItems<
35256 Identity: ICoreWebView2Settings7_Impl,
35257 const OFFSET: isize,
35258 >(
35259 this: *mut core::ffi::c_void,
35260 value: COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
35261 ) -> windows_core::HRESULT {
35262 unsafe {
35263 let this: &Identity =
35264 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35265 ICoreWebView2Settings7_Impl::SetHiddenPdfToolbarItems(
35266 this,
35267 core::mem::transmute_copy(&value),
35268 )
35269 .into()
35270 }
35271 }
35272 Self {
35273 base__: ICoreWebView2Settings6_Vtbl::new::<Identity, OFFSET>(),
35274 HiddenPdfToolbarItems: HiddenPdfToolbarItems::<Identity, OFFSET>,
35275 SetHiddenPdfToolbarItems: SetHiddenPdfToolbarItems::<Identity, OFFSET>,
35276 }
35277 }
35278 pub fn matches(iid: &windows_core::GUID) -> bool {
35279 iid == &<ICoreWebView2Settings7 as windows_core::Interface>::IID
35280 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
35281 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
35282 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
35283 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
35284 || iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
35285 || iid == &<ICoreWebView2Settings6 as windows_core::Interface>::IID
35286 }
35287}
35288impl windows_core::RuntimeName for ICoreWebView2Settings7 {}
35289windows_core::imp::define_interface!(
35290 ICoreWebView2Settings8,
35291 ICoreWebView2Settings8_Vtbl,
35292 0x9e6b0e8f_86ad_4e81_8147_a9b5edb68650
35293);
35294impl core::ops::Deref for ICoreWebView2Settings8 {
35295 type Target = ICoreWebView2Settings7;
35296 fn deref(&self) -> &Self::Target {
35297 unsafe { core::mem::transmute(self) }
35298 }
35299}
35300windows_core::imp::interface_hierarchy!(
35301 ICoreWebView2Settings8,
35302 windows_core::IUnknown,
35303 ICoreWebView2Settings,
35304 ICoreWebView2Settings2,
35305 ICoreWebView2Settings3,
35306 ICoreWebView2Settings4,
35307 ICoreWebView2Settings5,
35308 ICoreWebView2Settings6,
35309 ICoreWebView2Settings7
35310);
35311impl ICoreWebView2Settings8 {
35312 pub unsafe fn IsReputationCheckingRequired(
35313 &self,
35314 value: *mut windows_core::BOOL,
35315 ) -> windows_core::Result<()> {
35316 unsafe {
35317 (windows_core::Interface::vtable(self).IsReputationCheckingRequired)(
35318 windows_core::Interface::as_raw(self),
35319 value as _,
35320 )
35321 .ok()
35322 }
35323 }
35324 pub unsafe fn SetIsReputationCheckingRequired(&self, value: bool) -> windows_core::Result<()> {
35325 unsafe {
35326 (windows_core::Interface::vtable(self).SetIsReputationCheckingRequired)(
35327 windows_core::Interface::as_raw(self),
35328 value.into(),
35329 )
35330 .ok()
35331 }
35332 }
35333}
35334#[repr(C)]
35335#[doc(hidden)]
35336pub struct ICoreWebView2Settings8_Vtbl {
35337 pub base__: ICoreWebView2Settings7_Vtbl,
35338 pub IsReputationCheckingRequired: unsafe extern "system" fn(
35339 *mut core::ffi::c_void,
35340 *mut windows_core::BOOL,
35341 ) -> windows_core::HRESULT,
35342 pub SetIsReputationCheckingRequired: unsafe extern "system" fn(
35343 *mut core::ffi::c_void,
35344 windows_core::BOOL,
35345 ) -> windows_core::HRESULT,
35346}
35347pub trait ICoreWebView2Settings8_Impl: ICoreWebView2Settings7_Impl {
35348 fn IsReputationCheckingRequired(
35349 &self,
35350 value: *mut windows_core::BOOL,
35351 ) -> windows_core::Result<()>;
35352 fn SetIsReputationCheckingRequired(
35353 &self,
35354 value: windows_core::BOOL,
35355 ) -> windows_core::Result<()>;
35356}
35357impl ICoreWebView2Settings8_Vtbl {
35358 pub const fn new<Identity: ICoreWebView2Settings8_Impl, const OFFSET: isize>() -> Self {
35359 unsafe extern "system" fn IsReputationCheckingRequired<
35360 Identity: ICoreWebView2Settings8_Impl,
35361 const OFFSET: isize,
35362 >(
35363 this: *mut core::ffi::c_void,
35364 value: *mut windows_core::BOOL,
35365 ) -> windows_core::HRESULT {
35366 unsafe {
35367 let this: &Identity =
35368 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35369 ICoreWebView2Settings8_Impl::IsReputationCheckingRequired(
35370 this,
35371 core::mem::transmute_copy(&value),
35372 )
35373 .into()
35374 }
35375 }
35376 unsafe extern "system" fn SetIsReputationCheckingRequired<
35377 Identity: ICoreWebView2Settings8_Impl,
35378 const OFFSET: isize,
35379 >(
35380 this: *mut core::ffi::c_void,
35381 value: windows_core::BOOL,
35382 ) -> windows_core::HRESULT {
35383 unsafe {
35384 let this: &Identity =
35385 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35386 ICoreWebView2Settings8_Impl::SetIsReputationCheckingRequired(
35387 this,
35388 core::mem::transmute_copy(&value),
35389 )
35390 .into()
35391 }
35392 }
35393 Self {
35394 base__: ICoreWebView2Settings7_Vtbl::new::<Identity, OFFSET>(),
35395 IsReputationCheckingRequired: IsReputationCheckingRequired::<Identity, OFFSET>,
35396 SetIsReputationCheckingRequired: SetIsReputationCheckingRequired::<Identity, OFFSET>,
35397 }
35398 }
35399 pub fn matches(iid: &windows_core::GUID) -> bool {
35400 iid == &<ICoreWebView2Settings8 as windows_core::Interface>::IID
35401 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
35402 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
35403 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
35404 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
35405 || iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
35406 || iid == &<ICoreWebView2Settings6 as windows_core::Interface>::IID
35407 || iid == &<ICoreWebView2Settings7 as windows_core::Interface>::IID
35408 }
35409}
35410impl windows_core::RuntimeName for ICoreWebView2Settings8 {}
35411windows_core::imp::define_interface!(
35412 ICoreWebView2Settings9,
35413 ICoreWebView2Settings9_Vtbl,
35414 0x0528a73b_e92d_49f4_927a_e547dddaa37d
35415);
35416impl core::ops::Deref for ICoreWebView2Settings9 {
35417 type Target = ICoreWebView2Settings8;
35418 fn deref(&self) -> &Self::Target {
35419 unsafe { core::mem::transmute(self) }
35420 }
35421}
35422windows_core::imp::interface_hierarchy!(
35423 ICoreWebView2Settings9,
35424 windows_core::IUnknown,
35425 ICoreWebView2Settings,
35426 ICoreWebView2Settings2,
35427 ICoreWebView2Settings3,
35428 ICoreWebView2Settings4,
35429 ICoreWebView2Settings5,
35430 ICoreWebView2Settings6,
35431 ICoreWebView2Settings7,
35432 ICoreWebView2Settings8
35433);
35434impl ICoreWebView2Settings9 {
35435 pub unsafe fn IsNonClientRegionSupportEnabled(
35436 &self,
35437 value: *mut windows_core::BOOL,
35438 ) -> windows_core::Result<()> {
35439 unsafe {
35440 (windows_core::Interface::vtable(self).IsNonClientRegionSupportEnabled)(
35441 windows_core::Interface::as_raw(self),
35442 value as _,
35443 )
35444 .ok()
35445 }
35446 }
35447 pub unsafe fn SetIsNonClientRegionSupportEnabled(
35448 &self,
35449 value: bool,
35450 ) -> windows_core::Result<()> {
35451 unsafe {
35452 (windows_core::Interface::vtable(self).SetIsNonClientRegionSupportEnabled)(
35453 windows_core::Interface::as_raw(self),
35454 value.into(),
35455 )
35456 .ok()
35457 }
35458 }
35459}
35460#[repr(C)]
35461#[doc(hidden)]
35462pub struct ICoreWebView2Settings9_Vtbl {
35463 pub base__: ICoreWebView2Settings8_Vtbl,
35464 pub IsNonClientRegionSupportEnabled: unsafe extern "system" fn(
35465 *mut core::ffi::c_void,
35466 *mut windows_core::BOOL,
35467 ) -> windows_core::HRESULT,
35468 pub SetIsNonClientRegionSupportEnabled: unsafe extern "system" fn(
35469 *mut core::ffi::c_void,
35470 windows_core::BOOL,
35471 ) -> windows_core::HRESULT,
35472}
35473pub trait ICoreWebView2Settings9_Impl: ICoreWebView2Settings8_Impl {
35474 fn IsNonClientRegionSupportEnabled(
35475 &self,
35476 value: *mut windows_core::BOOL,
35477 ) -> windows_core::Result<()>;
35478 fn SetIsNonClientRegionSupportEnabled(
35479 &self,
35480 value: windows_core::BOOL,
35481 ) -> windows_core::Result<()>;
35482}
35483impl ICoreWebView2Settings9_Vtbl {
35484 pub const fn new<Identity: ICoreWebView2Settings9_Impl, const OFFSET: isize>() -> Self {
35485 unsafe extern "system" fn IsNonClientRegionSupportEnabled<
35486 Identity: ICoreWebView2Settings9_Impl,
35487 const OFFSET: isize,
35488 >(
35489 this: *mut core::ffi::c_void,
35490 value: *mut windows_core::BOOL,
35491 ) -> windows_core::HRESULT {
35492 unsafe {
35493 let this: &Identity =
35494 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35495 ICoreWebView2Settings9_Impl::IsNonClientRegionSupportEnabled(
35496 this,
35497 core::mem::transmute_copy(&value),
35498 )
35499 .into()
35500 }
35501 }
35502 unsafe extern "system" fn SetIsNonClientRegionSupportEnabled<
35503 Identity: ICoreWebView2Settings9_Impl,
35504 const OFFSET: isize,
35505 >(
35506 this: *mut core::ffi::c_void,
35507 value: windows_core::BOOL,
35508 ) -> windows_core::HRESULT {
35509 unsafe {
35510 let this: &Identity =
35511 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35512 ICoreWebView2Settings9_Impl::SetIsNonClientRegionSupportEnabled(
35513 this,
35514 core::mem::transmute_copy(&value),
35515 )
35516 .into()
35517 }
35518 }
35519 Self {
35520 base__: ICoreWebView2Settings8_Vtbl::new::<Identity, OFFSET>(),
35521 IsNonClientRegionSupportEnabled: IsNonClientRegionSupportEnabled::<Identity, OFFSET>,
35522 SetIsNonClientRegionSupportEnabled: SetIsNonClientRegionSupportEnabled::<
35523 Identity,
35524 OFFSET,
35525 >,
35526 }
35527 }
35528 pub fn matches(iid: &windows_core::GUID) -> bool {
35529 iid == &<ICoreWebView2Settings9 as windows_core::Interface>::IID
35530 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
35531 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
35532 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
35533 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
35534 || iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
35535 || iid == &<ICoreWebView2Settings6 as windows_core::Interface>::IID
35536 || iid == &<ICoreWebView2Settings7 as windows_core::Interface>::IID
35537 || iid == &<ICoreWebView2Settings8 as windows_core::Interface>::IID
35538 }
35539}
35540impl windows_core::RuntimeName for ICoreWebView2Settings9 {}
35541windows_core::imp::define_interface!(
35542 ICoreWebView2SharedBuffer,
35543 ICoreWebView2SharedBuffer_Vtbl,
35544 0xb747a495_0c6f_449e_97b8_2f81e9d6ab43
35545);
35546windows_core::imp::interface_hierarchy!(ICoreWebView2SharedBuffer, windows_core::IUnknown);
35547impl ICoreWebView2SharedBuffer {
35548 pub unsafe fn Size(&self, value: *mut u64) -> windows_core::Result<()> {
35549 unsafe {
35550 (windows_core::Interface::vtable(self).Size)(
35551 windows_core::Interface::as_raw(self),
35552 value as _,
35553 )
35554 .ok()
35555 }
35556 }
35557 pub unsafe fn Buffer(&self, value: *mut *mut u8) -> windows_core::Result<()> {
35558 unsafe {
35559 (windows_core::Interface::vtable(self).Buffer)(
35560 windows_core::Interface::as_raw(self),
35561 value as _,
35562 )
35563 .ok()
35564 }
35565 }
35566 pub unsafe fn OpenStream(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
35567 unsafe {
35568 let mut result__ = core::mem::zeroed();
35569 (windows_core::Interface::vtable(self).OpenStream)(
35570 windows_core::Interface::as_raw(self),
35571 &mut result__,
35572 )
35573 .and_then(|| windows_core::Type::from_abi(result__))
35574 }
35575 }
35576 pub unsafe fn FileMappingHandle(
35577 &self,
35578 value: *mut windows::Win32::Foundation::HANDLE,
35579 ) -> windows_core::Result<()> {
35580 unsafe {
35581 (windows_core::Interface::vtable(self).FileMappingHandle)(
35582 windows_core::Interface::as_raw(self),
35583 value as _,
35584 )
35585 .ok()
35586 }
35587 }
35588 pub unsafe fn Close(&self) -> windows_core::Result<()> {
35589 unsafe {
35590 (windows_core::Interface::vtable(self).Close)(windows_core::Interface::as_raw(self))
35591 .ok()
35592 }
35593 }
35594}
35595#[repr(C)]
35596#[doc(hidden)]
35597pub struct ICoreWebView2SharedBuffer_Vtbl {
35598 pub base__: windows_core::IUnknown_Vtbl,
35599 pub Size: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
35600 pub Buffer:
35601 unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut u8) -> windows_core::HRESULT,
35602 pub OpenStream: unsafe extern "system" fn(
35603 *mut core::ffi::c_void,
35604 *mut *mut core::ffi::c_void,
35605 ) -> windows_core::HRESULT,
35606 pub FileMappingHandle: unsafe extern "system" fn(
35607 *mut core::ffi::c_void,
35608 *mut windows::Win32::Foundation::HANDLE,
35609 ) -> windows_core::HRESULT,
35610 pub Close: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
35611}
35612pub trait ICoreWebView2SharedBuffer_Impl: windows_core::IUnknownImpl {
35613 fn Size(&self, value: *mut u64) -> windows_core::Result<()>;
35614 fn Buffer(&self, value: *mut *mut u8) -> windows_core::Result<()>;
35615 fn OpenStream(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
35616 fn FileMappingHandle(
35617 &self,
35618 value: *mut windows::Win32::Foundation::HANDLE,
35619 ) -> windows_core::Result<()>;
35620 fn Close(&self) -> windows_core::Result<()>;
35621}
35622impl ICoreWebView2SharedBuffer_Vtbl {
35623 pub const fn new<Identity: ICoreWebView2SharedBuffer_Impl, const OFFSET: isize>() -> Self {
35624 unsafe extern "system" fn Size<
35625 Identity: ICoreWebView2SharedBuffer_Impl,
35626 const OFFSET: isize,
35627 >(
35628 this: *mut core::ffi::c_void,
35629 value: *mut u64,
35630 ) -> windows_core::HRESULT {
35631 unsafe {
35632 let this: &Identity =
35633 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35634 ICoreWebView2SharedBuffer_Impl::Size(this, core::mem::transmute_copy(&value)).into()
35635 }
35636 }
35637 unsafe extern "system" fn Buffer<
35638 Identity: ICoreWebView2SharedBuffer_Impl,
35639 const OFFSET: isize,
35640 >(
35641 this: *mut core::ffi::c_void,
35642 value: *mut *mut u8,
35643 ) -> windows_core::HRESULT {
35644 unsafe {
35645 let this: &Identity =
35646 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35647 ICoreWebView2SharedBuffer_Impl::Buffer(this, core::mem::transmute_copy(&value))
35648 .into()
35649 }
35650 }
35651 unsafe extern "system" fn OpenStream<
35652 Identity: ICoreWebView2SharedBuffer_Impl,
35653 const OFFSET: isize,
35654 >(
35655 this: *mut core::ffi::c_void,
35656 value: *mut *mut core::ffi::c_void,
35657 ) -> windows_core::HRESULT {
35658 unsafe {
35659 let this: &Identity =
35660 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35661 match ICoreWebView2SharedBuffer_Impl::OpenStream(this) {
35662 Ok(ok__) => {
35663 value.write(core::mem::transmute(ok__));
35664 windows_core::HRESULT(0)
35665 }
35666 Err(err) => err.into(),
35667 }
35668 }
35669 }
35670 unsafe extern "system" fn FileMappingHandle<
35671 Identity: ICoreWebView2SharedBuffer_Impl,
35672 const OFFSET: isize,
35673 >(
35674 this: *mut core::ffi::c_void,
35675 value: *mut windows::Win32::Foundation::HANDLE,
35676 ) -> windows_core::HRESULT {
35677 unsafe {
35678 let this: &Identity =
35679 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35680 ICoreWebView2SharedBuffer_Impl::FileMappingHandle(
35681 this,
35682 core::mem::transmute_copy(&value),
35683 )
35684 .into()
35685 }
35686 }
35687 unsafe extern "system" fn Close<
35688 Identity: ICoreWebView2SharedBuffer_Impl,
35689 const OFFSET: isize,
35690 >(
35691 this: *mut core::ffi::c_void,
35692 ) -> windows_core::HRESULT {
35693 unsafe {
35694 let this: &Identity =
35695 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35696 ICoreWebView2SharedBuffer_Impl::Close(this).into()
35697 }
35698 }
35699 Self {
35700 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35701 Size: Size::<Identity, OFFSET>,
35702 Buffer: Buffer::<Identity, OFFSET>,
35703 OpenStream: OpenStream::<Identity, OFFSET>,
35704 FileMappingHandle: FileMappingHandle::<Identity, OFFSET>,
35705 Close: Close::<Identity, OFFSET>,
35706 }
35707 }
35708 pub fn matches(iid: &windows_core::GUID) -> bool {
35709 iid == &<ICoreWebView2SharedBuffer as windows_core::Interface>::IID
35710 }
35711}
35712impl windows_core::RuntimeName for ICoreWebView2SharedBuffer {}
35713windows_core::imp::define_interface!(
35714 ICoreWebView2ShowSaveAsUICompletedHandler,
35715 ICoreWebView2ShowSaveAsUICompletedHandler_Vtbl,
35716 0xe24b07e3_8169_5c34_994a_7f6478946a3c
35717);
35718windows_core::imp::interface_hierarchy!(
35719 ICoreWebView2ShowSaveAsUICompletedHandler,
35720 windows_core::IUnknown
35721);
35722impl ICoreWebView2ShowSaveAsUICompletedHandler {
35723 pub unsafe fn Invoke(
35724 &self,
35725 errorcode: windows_core::HRESULT,
35726 result: COREWEBVIEW2_SAVE_AS_UI_RESULT,
35727 ) -> windows_core::Result<()> {
35728 unsafe {
35729 (windows_core::Interface::vtable(self).Invoke)(
35730 windows_core::Interface::as_raw(self),
35731 errorcode,
35732 result,
35733 )
35734 .ok()
35735 }
35736 }
35737}
35738#[repr(C)]
35739#[doc(hidden)]
35740pub struct ICoreWebView2ShowSaveAsUICompletedHandler_Vtbl {
35741 pub base__: windows_core::IUnknown_Vtbl,
35742 pub Invoke: unsafe extern "system" fn(
35743 *mut core::ffi::c_void,
35744 windows_core::HRESULT,
35745 COREWEBVIEW2_SAVE_AS_UI_RESULT,
35746 ) -> windows_core::HRESULT,
35747}
35748pub trait ICoreWebView2ShowSaveAsUICompletedHandler_Impl: windows_core::IUnknownImpl {
35749 fn Invoke(
35750 &self,
35751 errorcode: windows_core::HRESULT,
35752 result: COREWEBVIEW2_SAVE_AS_UI_RESULT,
35753 ) -> windows_core::Result<()>;
35754}
35755impl ICoreWebView2ShowSaveAsUICompletedHandler_Vtbl {
35756 pub const fn new<
35757 Identity: ICoreWebView2ShowSaveAsUICompletedHandler_Impl,
35758 const OFFSET: isize,
35759 >() -> Self {
35760 unsafe extern "system" fn Invoke<
35761 Identity: ICoreWebView2ShowSaveAsUICompletedHandler_Impl,
35762 const OFFSET: isize,
35763 >(
35764 this: *mut core::ffi::c_void,
35765 errorcode: windows_core::HRESULT,
35766 result: COREWEBVIEW2_SAVE_AS_UI_RESULT,
35767 ) -> windows_core::HRESULT {
35768 unsafe {
35769 let this: &Identity =
35770 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35771 ICoreWebView2ShowSaveAsUICompletedHandler_Impl::Invoke(
35772 this,
35773 core::mem::transmute_copy(&errorcode),
35774 core::mem::transmute_copy(&result),
35775 )
35776 .into()
35777 }
35778 }
35779 Self {
35780 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35781 Invoke: Invoke::<Identity, OFFSET>,
35782 }
35783 }
35784 pub fn matches(iid: &windows_core::GUID) -> bool {
35785 iid == &<ICoreWebView2ShowSaveAsUICompletedHandler as windows_core::Interface>::IID
35786 }
35787}
35788impl windows_core::RuntimeName for ICoreWebView2ShowSaveAsUICompletedHandler {}
35789windows_core::imp::define_interface!(
35790 ICoreWebView2SourceChangedEventArgs,
35791 ICoreWebView2SourceChangedEventArgs_Vtbl,
35792 0x31e0e545_1dba_4266_8914_f63848a1f7d7
35793);
35794windows_core::imp::interface_hierarchy!(
35795 ICoreWebView2SourceChangedEventArgs,
35796 windows_core::IUnknown
35797);
35798impl ICoreWebView2SourceChangedEventArgs {
35799 pub unsafe fn IsNewDocument(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
35800 unsafe {
35801 (windows_core::Interface::vtable(self).IsNewDocument)(
35802 windows_core::Interface::as_raw(self),
35803 value as _,
35804 )
35805 .ok()
35806 }
35807 }
35808}
35809#[repr(C)]
35810#[doc(hidden)]
35811pub struct ICoreWebView2SourceChangedEventArgs_Vtbl {
35812 pub base__: windows_core::IUnknown_Vtbl,
35813 pub IsNewDocument: unsafe extern "system" fn(
35814 *mut core::ffi::c_void,
35815 *mut windows_core::BOOL,
35816 ) -> windows_core::HRESULT,
35817}
35818pub trait ICoreWebView2SourceChangedEventArgs_Impl: windows_core::IUnknownImpl {
35819 fn IsNewDocument(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
35820}
35821impl ICoreWebView2SourceChangedEventArgs_Vtbl {
35822 pub const fn new<Identity: ICoreWebView2SourceChangedEventArgs_Impl, const OFFSET: isize>(
35823 ) -> Self {
35824 unsafe extern "system" fn IsNewDocument<
35825 Identity: ICoreWebView2SourceChangedEventArgs_Impl,
35826 const OFFSET: isize,
35827 >(
35828 this: *mut core::ffi::c_void,
35829 value: *mut windows_core::BOOL,
35830 ) -> windows_core::HRESULT {
35831 unsafe {
35832 let this: &Identity =
35833 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35834 ICoreWebView2SourceChangedEventArgs_Impl::IsNewDocument(
35835 this,
35836 core::mem::transmute_copy(&value),
35837 )
35838 .into()
35839 }
35840 }
35841 Self {
35842 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35843 IsNewDocument: IsNewDocument::<Identity, OFFSET>,
35844 }
35845 }
35846 pub fn matches(iid: &windows_core::GUID) -> bool {
35847 iid == &<ICoreWebView2SourceChangedEventArgs as windows_core::Interface>::IID
35848 }
35849}
35850impl windows_core::RuntimeName for ICoreWebView2SourceChangedEventArgs {}
35851windows_core::imp::define_interface!(
35852 ICoreWebView2SourceChangedEventHandler,
35853 ICoreWebView2SourceChangedEventHandler_Vtbl,
35854 0x3c067f9f_5388_4772_8b48_79f7ef1ab37c
35855);
35856windows_core::imp::interface_hierarchy!(
35857 ICoreWebView2SourceChangedEventHandler,
35858 windows_core::IUnknown
35859);
35860impl ICoreWebView2SourceChangedEventHandler {
35861 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
35862 where
35863 P0: windows_core::Param<ICoreWebView2>,
35864 P1: windows_core::Param<ICoreWebView2SourceChangedEventArgs>,
35865 {
35866 unsafe {
35867 (windows_core::Interface::vtable(self).Invoke)(
35868 windows_core::Interface::as_raw(self),
35869 sender.param().abi(),
35870 args.param().abi(),
35871 )
35872 .ok()
35873 }
35874 }
35875}
35876#[repr(C)]
35877#[doc(hidden)]
35878pub struct ICoreWebView2SourceChangedEventHandler_Vtbl {
35879 pub base__: windows_core::IUnknown_Vtbl,
35880 pub Invoke: unsafe extern "system" fn(
35881 *mut core::ffi::c_void,
35882 *mut core::ffi::c_void,
35883 *mut core::ffi::c_void,
35884 ) -> windows_core::HRESULT,
35885}
35886pub trait ICoreWebView2SourceChangedEventHandler_Impl: windows_core::IUnknownImpl {
35887 fn Invoke(
35888 &self,
35889 sender: windows_core::Ref<'_, ICoreWebView2>,
35890 args: windows_core::Ref<'_, ICoreWebView2SourceChangedEventArgs>,
35891 ) -> windows_core::Result<()>;
35892}
35893impl ICoreWebView2SourceChangedEventHandler_Vtbl {
35894 pub const fn new<Identity: ICoreWebView2SourceChangedEventHandler_Impl, const OFFSET: isize>(
35895 ) -> Self {
35896 unsafe extern "system" fn Invoke<
35897 Identity: ICoreWebView2SourceChangedEventHandler_Impl,
35898 const OFFSET: isize,
35899 >(
35900 this: *mut core::ffi::c_void,
35901 sender: *mut core::ffi::c_void,
35902 args: *mut core::ffi::c_void,
35903 ) -> windows_core::HRESULT {
35904 unsafe {
35905 let this: &Identity =
35906 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35907 ICoreWebView2SourceChangedEventHandler_Impl::Invoke(
35908 this,
35909 core::mem::transmute_copy(&sender),
35910 core::mem::transmute_copy(&args),
35911 )
35912 .into()
35913 }
35914 }
35915 Self {
35916 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35917 Invoke: Invoke::<Identity, OFFSET>,
35918 }
35919 }
35920 pub fn matches(iid: &windows_core::GUID) -> bool {
35921 iid == &<ICoreWebView2SourceChangedEventHandler as windows_core::Interface>::IID
35922 }
35923}
35924impl windows_core::RuntimeName for ICoreWebView2SourceChangedEventHandler {}
35925windows_core::imp::define_interface!(
35926 ICoreWebView2StateChangedEventHandler,
35927 ICoreWebView2StateChangedEventHandler_Vtbl,
35928 0x81336594_7ede_4ba9_bf71_acf0a95b58dd
35929);
35930windows_core::imp::interface_hierarchy!(
35931 ICoreWebView2StateChangedEventHandler,
35932 windows_core::IUnknown
35933);
35934impl ICoreWebView2StateChangedEventHandler {
35935 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
35936 where
35937 P0: windows_core::Param<ICoreWebView2DownloadOperation>,
35938 P1: windows_core::Param<windows_core::IUnknown>,
35939 {
35940 unsafe {
35941 (windows_core::Interface::vtable(self).Invoke)(
35942 windows_core::Interface::as_raw(self),
35943 sender.param().abi(),
35944 args.param().abi(),
35945 )
35946 .ok()
35947 }
35948 }
35949}
35950#[repr(C)]
35951#[doc(hidden)]
35952pub struct ICoreWebView2StateChangedEventHandler_Vtbl {
35953 pub base__: windows_core::IUnknown_Vtbl,
35954 pub Invoke: unsafe extern "system" fn(
35955 *mut core::ffi::c_void,
35956 *mut core::ffi::c_void,
35957 *mut core::ffi::c_void,
35958 ) -> windows_core::HRESULT,
35959}
35960pub trait ICoreWebView2StateChangedEventHandler_Impl: windows_core::IUnknownImpl {
35961 fn Invoke(
35962 &self,
35963 sender: windows_core::Ref<'_, ICoreWebView2DownloadOperation>,
35964 args: windows_core::Ref<'_, windows_core::IUnknown>,
35965 ) -> windows_core::Result<()>;
35966}
35967impl ICoreWebView2StateChangedEventHandler_Vtbl {
35968 pub const fn new<Identity: ICoreWebView2StateChangedEventHandler_Impl, const OFFSET: isize>(
35969 ) -> Self {
35970 unsafe extern "system" fn Invoke<
35971 Identity: ICoreWebView2StateChangedEventHandler_Impl,
35972 const OFFSET: isize,
35973 >(
35974 this: *mut core::ffi::c_void,
35975 sender: *mut core::ffi::c_void,
35976 args: *mut core::ffi::c_void,
35977 ) -> windows_core::HRESULT {
35978 unsafe {
35979 let this: &Identity =
35980 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35981 ICoreWebView2StateChangedEventHandler_Impl::Invoke(
35982 this,
35983 core::mem::transmute_copy(&sender),
35984 core::mem::transmute_copy(&args),
35985 )
35986 .into()
35987 }
35988 }
35989 Self {
35990 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35991 Invoke: Invoke::<Identity, OFFSET>,
35992 }
35993 }
35994 pub fn matches(iid: &windows_core::GUID) -> bool {
35995 iid == &<ICoreWebView2StateChangedEventHandler as windows_core::Interface>::IID
35996 }
35997}
35998impl windows_core::RuntimeName for ICoreWebView2StateChangedEventHandler {}
35999windows_core::imp::define_interface!(
36000 ICoreWebView2StatusBarTextChangedEventHandler,
36001 ICoreWebView2StatusBarTextChangedEventHandler_Vtbl,
36002 0xa5e3b0d0_10df_4156_bfad_3b43867acac6
36003);
36004windows_core::imp::interface_hierarchy!(
36005 ICoreWebView2StatusBarTextChangedEventHandler,
36006 windows_core::IUnknown
36007);
36008impl ICoreWebView2StatusBarTextChangedEventHandler {
36009 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
36010 where
36011 P0: windows_core::Param<ICoreWebView2>,
36012 P1: windows_core::Param<windows_core::IUnknown>,
36013 {
36014 unsafe {
36015 (windows_core::Interface::vtable(self).Invoke)(
36016 windows_core::Interface::as_raw(self),
36017 sender.param().abi(),
36018 args.param().abi(),
36019 )
36020 .ok()
36021 }
36022 }
36023}
36024#[repr(C)]
36025#[doc(hidden)]
36026pub struct ICoreWebView2StatusBarTextChangedEventHandler_Vtbl {
36027 pub base__: windows_core::IUnknown_Vtbl,
36028 pub Invoke: unsafe extern "system" fn(
36029 *mut core::ffi::c_void,
36030 *mut core::ffi::c_void,
36031 *mut core::ffi::c_void,
36032 ) -> windows_core::HRESULT,
36033}
36034pub trait ICoreWebView2StatusBarTextChangedEventHandler_Impl: windows_core::IUnknownImpl {
36035 fn Invoke(
36036 &self,
36037 sender: windows_core::Ref<'_, ICoreWebView2>,
36038 args: windows_core::Ref<'_, windows_core::IUnknown>,
36039 ) -> windows_core::Result<()>;
36040}
36041impl ICoreWebView2StatusBarTextChangedEventHandler_Vtbl {
36042 pub const fn new<
36043 Identity: ICoreWebView2StatusBarTextChangedEventHandler_Impl,
36044 const OFFSET: isize,
36045 >() -> Self {
36046 unsafe extern "system" fn Invoke<
36047 Identity: ICoreWebView2StatusBarTextChangedEventHandler_Impl,
36048 const OFFSET: isize,
36049 >(
36050 this: *mut core::ffi::c_void,
36051 sender: *mut core::ffi::c_void,
36052 args: *mut core::ffi::c_void,
36053 ) -> windows_core::HRESULT {
36054 unsafe {
36055 let this: &Identity =
36056 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36057 ICoreWebView2StatusBarTextChangedEventHandler_Impl::Invoke(
36058 this,
36059 core::mem::transmute_copy(&sender),
36060 core::mem::transmute_copy(&args),
36061 )
36062 .into()
36063 }
36064 }
36065 Self {
36066 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
36067 Invoke: Invoke::<Identity, OFFSET>,
36068 }
36069 }
36070 pub fn matches(iid: &windows_core::GUID) -> bool {
36071 iid == &<ICoreWebView2StatusBarTextChangedEventHandler as windows_core::Interface>::IID
36072 }
36073}
36074impl windows_core::RuntimeName for ICoreWebView2StatusBarTextChangedEventHandler {}
36075windows_core::imp::define_interface!(
36076 ICoreWebView2StringCollection,
36077 ICoreWebView2StringCollection_Vtbl,
36078 0xf41f3f8a_bcc3_11eb_8529_0242ac130003
36079);
36080windows_core::imp::interface_hierarchy!(ICoreWebView2StringCollection, windows_core::IUnknown);
36081impl ICoreWebView2StringCollection {
36082 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
36083 unsafe {
36084 (windows_core::Interface::vtable(self).Count)(
36085 windows_core::Interface::as_raw(self),
36086 value as _,
36087 )
36088 .ok()
36089 }
36090 }
36091 pub unsafe fn GetValueAtIndex(
36092 &self,
36093 index: u32,
36094 value: *mut windows_core::PWSTR,
36095 ) -> windows_core::Result<()> {
36096 unsafe {
36097 (windows_core::Interface::vtable(self).GetValueAtIndex)(
36098 windows_core::Interface::as_raw(self),
36099 index,
36100 value as _,
36101 )
36102 .ok()
36103 }
36104 }
36105}
36106#[repr(C)]
36107#[doc(hidden)]
36108pub struct ICoreWebView2StringCollection_Vtbl {
36109 pub base__: windows_core::IUnknown_Vtbl,
36110 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
36111 pub GetValueAtIndex: unsafe extern "system" fn(
36112 *mut core::ffi::c_void,
36113 u32,
36114 *mut windows_core::PWSTR,
36115 ) -> windows_core::HRESULT,
36116}
36117pub trait ICoreWebView2StringCollection_Impl: windows_core::IUnknownImpl {
36118 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
36119 fn GetValueAtIndex(
36120 &self,
36121 index: u32,
36122 value: *mut windows_core::PWSTR,
36123 ) -> windows_core::Result<()>;
36124}
36125impl ICoreWebView2StringCollection_Vtbl {
36126 pub const fn new<Identity: ICoreWebView2StringCollection_Impl, const OFFSET: isize>() -> Self {
36127 unsafe extern "system" fn Count<
36128 Identity: ICoreWebView2StringCollection_Impl,
36129 const OFFSET: isize,
36130 >(
36131 this: *mut core::ffi::c_void,
36132 value: *mut u32,
36133 ) -> windows_core::HRESULT {
36134 unsafe {
36135 let this: &Identity =
36136 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36137 ICoreWebView2StringCollection_Impl::Count(this, core::mem::transmute_copy(&value))
36138 .into()
36139 }
36140 }
36141 unsafe extern "system" fn GetValueAtIndex<
36142 Identity: ICoreWebView2StringCollection_Impl,
36143 const OFFSET: isize,
36144 >(
36145 this: *mut core::ffi::c_void,
36146 index: u32,
36147 value: *mut windows_core::PWSTR,
36148 ) -> windows_core::HRESULT {
36149 unsafe {
36150 let this: &Identity =
36151 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36152 ICoreWebView2StringCollection_Impl::GetValueAtIndex(
36153 this,
36154 core::mem::transmute_copy(&index),
36155 core::mem::transmute_copy(&value),
36156 )
36157 .into()
36158 }
36159 }
36160 Self {
36161 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
36162 Count: Count::<Identity, OFFSET>,
36163 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
36164 }
36165 }
36166 pub fn matches(iid: &windows_core::GUID) -> bool {
36167 iid == &<ICoreWebView2StringCollection as windows_core::Interface>::IID
36168 }
36169}
36170impl windows_core::RuntimeName for ICoreWebView2StringCollection {}
36171windows_core::imp::define_interface!(
36172 ICoreWebView2TrySuspendCompletedHandler,
36173 ICoreWebView2TrySuspendCompletedHandler_Vtbl,
36174 0x00f206a7_9d17_4605_91f6_4e8e4de192e3
36175);
36176windows_core::imp::interface_hierarchy!(
36177 ICoreWebView2TrySuspendCompletedHandler,
36178 windows_core::IUnknown
36179);
36180impl ICoreWebView2TrySuspendCompletedHandler {
36181 pub unsafe fn Invoke(
36182 &self,
36183 errorcode: windows_core::HRESULT,
36184 result: bool,
36185 ) -> windows_core::Result<()> {
36186 unsafe {
36187 (windows_core::Interface::vtable(self).Invoke)(
36188 windows_core::Interface::as_raw(self),
36189 errorcode,
36190 result.into(),
36191 )
36192 .ok()
36193 }
36194 }
36195}
36196#[repr(C)]
36197#[doc(hidden)]
36198pub struct ICoreWebView2TrySuspendCompletedHandler_Vtbl {
36199 pub base__: windows_core::IUnknown_Vtbl,
36200 pub Invoke: unsafe extern "system" fn(
36201 *mut core::ffi::c_void,
36202 windows_core::HRESULT,
36203 windows_core::BOOL,
36204 ) -> windows_core::HRESULT,
36205}
36206pub trait ICoreWebView2TrySuspendCompletedHandler_Impl: windows_core::IUnknownImpl {
36207 fn Invoke(
36208 &self,
36209 errorcode: windows_core::HRESULT,
36210 result: windows_core::BOOL,
36211 ) -> windows_core::Result<()>;
36212}
36213impl ICoreWebView2TrySuspendCompletedHandler_Vtbl {
36214 pub const fn new<
36215 Identity: ICoreWebView2TrySuspendCompletedHandler_Impl,
36216 const OFFSET: isize,
36217 >() -> Self {
36218 unsafe extern "system" fn Invoke<
36219 Identity: ICoreWebView2TrySuspendCompletedHandler_Impl,
36220 const OFFSET: isize,
36221 >(
36222 this: *mut core::ffi::c_void,
36223 errorcode: windows_core::HRESULT,
36224 result: windows_core::BOOL,
36225 ) -> windows_core::HRESULT {
36226 unsafe {
36227 let this: &Identity =
36228 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36229 ICoreWebView2TrySuspendCompletedHandler_Impl::Invoke(
36230 this,
36231 core::mem::transmute_copy(&errorcode),
36232 core::mem::transmute_copy(&result),
36233 )
36234 .into()
36235 }
36236 }
36237 Self {
36238 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
36239 Invoke: Invoke::<Identity, OFFSET>,
36240 }
36241 }
36242 pub fn matches(iid: &windows_core::GUID) -> bool {
36243 iid == &<ICoreWebView2TrySuspendCompletedHandler as windows_core::Interface>::IID
36244 }
36245}
36246impl windows_core::RuntimeName for ICoreWebView2TrySuspendCompletedHandler {}
36247windows_core::imp::define_interface!(
36248 ICoreWebView2WebMessageReceivedEventArgs,
36249 ICoreWebView2WebMessageReceivedEventArgs_Vtbl,
36250 0x0f99a40c_e962_4207_9e92_e3d542eff849
36251);
36252windows_core::imp::interface_hierarchy!(
36253 ICoreWebView2WebMessageReceivedEventArgs,
36254 windows_core::IUnknown
36255);
36256impl ICoreWebView2WebMessageReceivedEventArgs {
36257 pub unsafe fn Source(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
36258 unsafe {
36259 (windows_core::Interface::vtable(self).Source)(
36260 windows_core::Interface::as_raw(self),
36261 value as _,
36262 )
36263 .ok()
36264 }
36265 }
36266 pub unsafe fn WebMessageAsJson(
36267 &self,
36268 value: *mut windows_core::PWSTR,
36269 ) -> windows_core::Result<()> {
36270 unsafe {
36271 (windows_core::Interface::vtable(self).WebMessageAsJson)(
36272 windows_core::Interface::as_raw(self),
36273 value as _,
36274 )
36275 .ok()
36276 }
36277 }
36278 pub unsafe fn TryGetWebMessageAsString(
36279 &self,
36280 value: *mut windows_core::PWSTR,
36281 ) -> windows_core::Result<()> {
36282 unsafe {
36283 (windows_core::Interface::vtable(self).TryGetWebMessageAsString)(
36284 windows_core::Interface::as_raw(self),
36285 value as _,
36286 )
36287 .ok()
36288 }
36289 }
36290}
36291#[repr(C)]
36292#[doc(hidden)]
36293pub struct ICoreWebView2WebMessageReceivedEventArgs_Vtbl {
36294 pub base__: windows_core::IUnknown_Vtbl,
36295 pub Source: unsafe extern "system" fn(
36296 *mut core::ffi::c_void,
36297 *mut windows_core::PWSTR,
36298 ) -> windows_core::HRESULT,
36299 pub WebMessageAsJson: unsafe extern "system" fn(
36300 *mut core::ffi::c_void,
36301 *mut windows_core::PWSTR,
36302 ) -> windows_core::HRESULT,
36303 pub TryGetWebMessageAsString: unsafe extern "system" fn(
36304 *mut core::ffi::c_void,
36305 *mut windows_core::PWSTR,
36306 ) -> windows_core::HRESULT,
36307}
36308pub trait ICoreWebView2WebMessageReceivedEventArgs_Impl: windows_core::IUnknownImpl {
36309 fn Source(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
36310 fn WebMessageAsJson(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
36311 fn TryGetWebMessageAsString(&self, value: *mut windows_core::PWSTR)
36312 -> windows_core::Result<()>;
36313}
36314impl ICoreWebView2WebMessageReceivedEventArgs_Vtbl {
36315 pub const fn new<
36316 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
36317 const OFFSET: isize,
36318 >() -> Self {
36319 unsafe extern "system" fn Source<
36320 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
36321 const OFFSET: isize,
36322 >(
36323 this: *mut core::ffi::c_void,
36324 value: *mut windows_core::PWSTR,
36325 ) -> windows_core::HRESULT {
36326 unsafe {
36327 let this: &Identity =
36328 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36329 ICoreWebView2WebMessageReceivedEventArgs_Impl::Source(
36330 this,
36331 core::mem::transmute_copy(&value),
36332 )
36333 .into()
36334 }
36335 }
36336 unsafe extern "system" fn WebMessageAsJson<
36337 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
36338 const OFFSET: isize,
36339 >(
36340 this: *mut core::ffi::c_void,
36341 value: *mut windows_core::PWSTR,
36342 ) -> windows_core::HRESULT {
36343 unsafe {
36344 let this: &Identity =
36345 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36346 ICoreWebView2WebMessageReceivedEventArgs_Impl::WebMessageAsJson(
36347 this,
36348 core::mem::transmute_copy(&value),
36349 )
36350 .into()
36351 }
36352 }
36353 unsafe extern "system" fn TryGetWebMessageAsString<
36354 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
36355 const OFFSET: isize,
36356 >(
36357 this: *mut core::ffi::c_void,
36358 value: *mut windows_core::PWSTR,
36359 ) -> windows_core::HRESULT {
36360 unsafe {
36361 let this: &Identity =
36362 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36363 ICoreWebView2WebMessageReceivedEventArgs_Impl::TryGetWebMessageAsString(
36364 this,
36365 core::mem::transmute_copy(&value),
36366 )
36367 .into()
36368 }
36369 }
36370 Self {
36371 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
36372 Source: Source::<Identity, OFFSET>,
36373 WebMessageAsJson: WebMessageAsJson::<Identity, OFFSET>,
36374 TryGetWebMessageAsString: TryGetWebMessageAsString::<Identity, OFFSET>,
36375 }
36376 }
36377 pub fn matches(iid: &windows_core::GUID) -> bool {
36378 iid == &<ICoreWebView2WebMessageReceivedEventArgs as windows_core::Interface>::IID
36379 }
36380}
36381impl windows_core::RuntimeName for ICoreWebView2WebMessageReceivedEventArgs {}
36382windows_core::imp::define_interface!(
36383 ICoreWebView2WebMessageReceivedEventArgs2,
36384 ICoreWebView2WebMessageReceivedEventArgs2_Vtbl,
36385 0x06fc7ab7_c90c_4297_9389_33ca01cf6d5e
36386);
36387impl core::ops::Deref for ICoreWebView2WebMessageReceivedEventArgs2 {
36388 type Target = ICoreWebView2WebMessageReceivedEventArgs;
36389 fn deref(&self) -> &Self::Target {
36390 unsafe { core::mem::transmute(self) }
36391 }
36392}
36393windows_core::imp::interface_hierarchy!(
36394 ICoreWebView2WebMessageReceivedEventArgs2,
36395 windows_core::IUnknown,
36396 ICoreWebView2WebMessageReceivedEventArgs
36397);
36398impl ICoreWebView2WebMessageReceivedEventArgs2 {
36399 pub unsafe fn AdditionalObjects(
36400 &self,
36401 ) -> windows_core::Result<ICoreWebView2ObjectCollectionView> {
36402 unsafe {
36403 let mut result__ = core::mem::zeroed();
36404 (windows_core::Interface::vtable(self).AdditionalObjects)(
36405 windows_core::Interface::as_raw(self),
36406 &mut result__,
36407 )
36408 .and_then(|| windows_core::Type::from_abi(result__))
36409 }
36410 }
36411}
36412#[repr(C)]
36413#[doc(hidden)]
36414pub struct ICoreWebView2WebMessageReceivedEventArgs2_Vtbl {
36415 pub base__: ICoreWebView2WebMessageReceivedEventArgs_Vtbl,
36416 pub AdditionalObjects: unsafe extern "system" fn(
36417 *mut core::ffi::c_void,
36418 *mut *mut core::ffi::c_void,
36419 ) -> windows_core::HRESULT,
36420}
36421pub trait ICoreWebView2WebMessageReceivedEventArgs2_Impl:
36422 ICoreWebView2WebMessageReceivedEventArgs_Impl
36423{
36424 fn AdditionalObjects(&self) -> windows_core::Result<ICoreWebView2ObjectCollectionView>;
36425}
36426impl ICoreWebView2WebMessageReceivedEventArgs2_Vtbl {
36427 pub const fn new<
36428 Identity: ICoreWebView2WebMessageReceivedEventArgs2_Impl,
36429 const OFFSET: isize,
36430 >() -> Self {
36431 unsafe extern "system" fn AdditionalObjects<
36432 Identity: ICoreWebView2WebMessageReceivedEventArgs2_Impl,
36433 const OFFSET: isize,
36434 >(
36435 this: *mut core::ffi::c_void,
36436 value: *mut *mut core::ffi::c_void,
36437 ) -> windows_core::HRESULT {
36438 unsafe {
36439 let this: &Identity =
36440 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36441 match ICoreWebView2WebMessageReceivedEventArgs2_Impl::AdditionalObjects(this) {
36442 Ok(ok__) => {
36443 value.write(core::mem::transmute(ok__));
36444 windows_core::HRESULT(0)
36445 }
36446 Err(err) => err.into(),
36447 }
36448 }
36449 }
36450 Self {
36451 base__: ICoreWebView2WebMessageReceivedEventArgs_Vtbl::new::<Identity, OFFSET>(),
36452 AdditionalObjects: AdditionalObjects::<Identity, OFFSET>,
36453 }
36454 }
36455 pub fn matches(iid: &windows_core::GUID) -> bool {
36456 iid == &<ICoreWebView2WebMessageReceivedEventArgs2 as windows_core::Interface>::IID
36457 || iid == &<ICoreWebView2WebMessageReceivedEventArgs as windows_core::Interface>::IID
36458 }
36459}
36460impl windows_core::RuntimeName for ICoreWebView2WebMessageReceivedEventArgs2 {}
36461windows_core::imp::define_interface!(
36462 ICoreWebView2WebMessageReceivedEventHandler,
36463 ICoreWebView2WebMessageReceivedEventHandler_Vtbl,
36464 0x57213f19_00e6_49fa_8e07_898ea01ecbd2
36465);
36466windows_core::imp::interface_hierarchy!(
36467 ICoreWebView2WebMessageReceivedEventHandler,
36468 windows_core::IUnknown
36469);
36470impl ICoreWebView2WebMessageReceivedEventHandler {
36471 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
36472 where
36473 P0: windows_core::Param<ICoreWebView2>,
36474 P1: windows_core::Param<ICoreWebView2WebMessageReceivedEventArgs>,
36475 {
36476 unsafe {
36477 (windows_core::Interface::vtable(self).Invoke)(
36478 windows_core::Interface::as_raw(self),
36479 sender.param().abi(),
36480 args.param().abi(),
36481 )
36482 .ok()
36483 }
36484 }
36485}
36486#[repr(C)]
36487#[doc(hidden)]
36488pub struct ICoreWebView2WebMessageReceivedEventHandler_Vtbl {
36489 pub base__: windows_core::IUnknown_Vtbl,
36490 pub Invoke: unsafe extern "system" fn(
36491 *mut core::ffi::c_void,
36492 *mut core::ffi::c_void,
36493 *mut core::ffi::c_void,
36494 ) -> windows_core::HRESULT,
36495}
36496pub trait ICoreWebView2WebMessageReceivedEventHandler_Impl: windows_core::IUnknownImpl {
36497 fn Invoke(
36498 &self,
36499 sender: windows_core::Ref<'_, ICoreWebView2>,
36500 args: windows_core::Ref<'_, ICoreWebView2WebMessageReceivedEventArgs>,
36501 ) -> windows_core::Result<()>;
36502}
36503impl ICoreWebView2WebMessageReceivedEventHandler_Vtbl {
36504 pub const fn new<
36505 Identity: ICoreWebView2WebMessageReceivedEventHandler_Impl,
36506 const OFFSET: isize,
36507 >() -> Self {
36508 unsafe extern "system" fn Invoke<
36509 Identity: ICoreWebView2WebMessageReceivedEventHandler_Impl,
36510 const OFFSET: isize,
36511 >(
36512 this: *mut core::ffi::c_void,
36513 sender: *mut core::ffi::c_void,
36514 args: *mut core::ffi::c_void,
36515 ) -> windows_core::HRESULT {
36516 unsafe {
36517 let this: &Identity =
36518 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36519 ICoreWebView2WebMessageReceivedEventHandler_Impl::Invoke(
36520 this,
36521 core::mem::transmute_copy(&sender),
36522 core::mem::transmute_copy(&args),
36523 )
36524 .into()
36525 }
36526 }
36527 Self {
36528 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
36529 Invoke: Invoke::<Identity, OFFSET>,
36530 }
36531 }
36532 pub fn matches(iid: &windows_core::GUID) -> bool {
36533 iid == &<ICoreWebView2WebMessageReceivedEventHandler as windows_core::Interface>::IID
36534 }
36535}
36536impl windows_core::RuntimeName for ICoreWebView2WebMessageReceivedEventHandler {}
36537windows_core::imp::define_interface!(
36538 ICoreWebView2WebResourceRequest,
36539 ICoreWebView2WebResourceRequest_Vtbl,
36540 0x97055cd4_512c_4264_8b5f_e3f446cea6a5
36541);
36542windows_core::imp::interface_hierarchy!(ICoreWebView2WebResourceRequest, windows_core::IUnknown);
36543impl ICoreWebView2WebResourceRequest {
36544 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
36545 unsafe {
36546 (windows_core::Interface::vtable(self).Uri)(
36547 windows_core::Interface::as_raw(self),
36548 uri as _,
36549 )
36550 .ok()
36551 }
36552 }
36553 pub unsafe fn SetUri<P0>(&self, uri: P0) -> windows_core::Result<()>
36554 where
36555 P0: windows_core::Param<windows_core::PCWSTR>,
36556 {
36557 unsafe {
36558 (windows_core::Interface::vtable(self).SetUri)(
36559 windows_core::Interface::as_raw(self),
36560 uri.param().abi(),
36561 )
36562 .ok()
36563 }
36564 }
36565 pub unsafe fn Method(&self, method: *mut windows_core::PWSTR) -> windows_core::Result<()> {
36566 unsafe {
36567 (windows_core::Interface::vtable(self).Method)(
36568 windows_core::Interface::as_raw(self),
36569 method as _,
36570 )
36571 .ok()
36572 }
36573 }
36574 pub unsafe fn SetMethod<P0>(&self, method: P0) -> windows_core::Result<()>
36575 where
36576 P0: windows_core::Param<windows_core::PCWSTR>,
36577 {
36578 unsafe {
36579 (windows_core::Interface::vtable(self).SetMethod)(
36580 windows_core::Interface::as_raw(self),
36581 method.param().abi(),
36582 )
36583 .ok()
36584 }
36585 }
36586 pub unsafe fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
36587 unsafe {
36588 let mut result__ = core::mem::zeroed();
36589 (windows_core::Interface::vtable(self).Content)(
36590 windows_core::Interface::as_raw(self),
36591 &mut result__,
36592 )
36593 .and_then(|| windows_core::Type::from_abi(result__))
36594 }
36595 }
36596 pub unsafe fn SetContent<P0>(&self, content: P0) -> windows_core::Result<()>
36597 where
36598 P0: windows_core::Param<windows::Win32::System::Com::IStream>,
36599 {
36600 unsafe {
36601 (windows_core::Interface::vtable(self).SetContent)(
36602 windows_core::Interface::as_raw(self),
36603 content.param().abi(),
36604 )
36605 .ok()
36606 }
36607 }
36608 pub unsafe fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders> {
36609 unsafe {
36610 let mut result__ = core::mem::zeroed();
36611 (windows_core::Interface::vtable(self).Headers)(
36612 windows_core::Interface::as_raw(self),
36613 &mut result__,
36614 )
36615 .and_then(|| windows_core::Type::from_abi(result__))
36616 }
36617 }
36618}
36619#[repr(C)]
36620#[doc(hidden)]
36621pub struct ICoreWebView2WebResourceRequest_Vtbl {
36622 pub base__: windows_core::IUnknown_Vtbl,
36623 pub Uri: unsafe extern "system" fn(
36624 *mut core::ffi::c_void,
36625 *mut windows_core::PWSTR,
36626 ) -> windows_core::HRESULT,
36627 pub SetUri: unsafe extern "system" fn(
36628 *mut core::ffi::c_void,
36629 windows_core::PCWSTR,
36630 ) -> windows_core::HRESULT,
36631 pub Method: unsafe extern "system" fn(
36632 *mut core::ffi::c_void,
36633 *mut windows_core::PWSTR,
36634 ) -> windows_core::HRESULT,
36635 pub SetMethod: unsafe extern "system" fn(
36636 *mut core::ffi::c_void,
36637 windows_core::PCWSTR,
36638 ) -> windows_core::HRESULT,
36639 pub Content: unsafe extern "system" fn(
36640 *mut core::ffi::c_void,
36641 *mut *mut core::ffi::c_void,
36642 ) -> windows_core::HRESULT,
36643 pub SetContent: unsafe extern "system" fn(
36644 *mut core::ffi::c_void,
36645 *mut core::ffi::c_void,
36646 ) -> windows_core::HRESULT,
36647 pub Headers: unsafe extern "system" fn(
36648 *mut core::ffi::c_void,
36649 *mut *mut core::ffi::c_void,
36650 ) -> windows_core::HRESULT,
36651}
36652pub trait ICoreWebView2WebResourceRequest_Impl: windows_core::IUnknownImpl {
36653 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
36654 fn SetUri(&self, uri: &windows_core::PCWSTR) -> windows_core::Result<()>;
36655 fn Method(&self, method: *mut windows_core::PWSTR) -> windows_core::Result<()>;
36656 fn SetMethod(&self, method: &windows_core::PCWSTR) -> windows_core::Result<()>;
36657 fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
36658 fn SetContent(
36659 &self,
36660 content: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
36661 ) -> windows_core::Result<()>;
36662 fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders>;
36663}
36664impl ICoreWebView2WebResourceRequest_Vtbl {
36665 pub const fn new<Identity: ICoreWebView2WebResourceRequest_Impl, const OFFSET: isize>() -> Self
36666 {
36667 unsafe extern "system" fn Uri<
36668 Identity: ICoreWebView2WebResourceRequest_Impl,
36669 const OFFSET: isize,
36670 >(
36671 this: *mut core::ffi::c_void,
36672 uri: *mut windows_core::PWSTR,
36673 ) -> windows_core::HRESULT {
36674 unsafe {
36675 let this: &Identity =
36676 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36677 ICoreWebView2WebResourceRequest_Impl::Uri(this, core::mem::transmute_copy(&uri))
36678 .into()
36679 }
36680 }
36681 unsafe extern "system" fn SetUri<
36682 Identity: ICoreWebView2WebResourceRequest_Impl,
36683 const OFFSET: isize,
36684 >(
36685 this: *mut core::ffi::c_void,
36686 uri: windows_core::PCWSTR,
36687 ) -> windows_core::HRESULT {
36688 unsafe {
36689 let this: &Identity =
36690 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36691 ICoreWebView2WebResourceRequest_Impl::SetUri(this, core::mem::transmute(&uri))
36692 .into()
36693 }
36694 }
36695 unsafe extern "system" fn Method<
36696 Identity: ICoreWebView2WebResourceRequest_Impl,
36697 const OFFSET: isize,
36698 >(
36699 this: *mut core::ffi::c_void,
36700 method: *mut windows_core::PWSTR,
36701 ) -> windows_core::HRESULT {
36702 unsafe {
36703 let this: &Identity =
36704 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36705 ICoreWebView2WebResourceRequest_Impl::Method(
36706 this,
36707 core::mem::transmute_copy(&method),
36708 )
36709 .into()
36710 }
36711 }
36712 unsafe extern "system" fn SetMethod<
36713 Identity: ICoreWebView2WebResourceRequest_Impl,
36714 const OFFSET: isize,
36715 >(
36716 this: *mut core::ffi::c_void,
36717 method: windows_core::PCWSTR,
36718 ) -> windows_core::HRESULT {
36719 unsafe {
36720 let this: &Identity =
36721 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36722 ICoreWebView2WebResourceRequest_Impl::SetMethod(this, core::mem::transmute(&method))
36723 .into()
36724 }
36725 }
36726 unsafe extern "system" fn Content<
36727 Identity: ICoreWebView2WebResourceRequest_Impl,
36728 const OFFSET: isize,
36729 >(
36730 this: *mut core::ffi::c_void,
36731 content: *mut *mut core::ffi::c_void,
36732 ) -> windows_core::HRESULT {
36733 unsafe {
36734 let this: &Identity =
36735 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36736 match ICoreWebView2WebResourceRequest_Impl::Content(this) {
36737 Ok(ok__) => {
36738 content.write(core::mem::transmute(ok__));
36739 windows_core::HRESULT(0)
36740 }
36741 Err(err) => err.into(),
36742 }
36743 }
36744 }
36745 unsafe extern "system" fn SetContent<
36746 Identity: ICoreWebView2WebResourceRequest_Impl,
36747 const OFFSET: isize,
36748 >(
36749 this: *mut core::ffi::c_void,
36750 content: *mut core::ffi::c_void,
36751 ) -> windows_core::HRESULT {
36752 unsafe {
36753 let this: &Identity =
36754 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36755 ICoreWebView2WebResourceRequest_Impl::SetContent(
36756 this,
36757 core::mem::transmute_copy(&content),
36758 )
36759 .into()
36760 }
36761 }
36762 unsafe extern "system" fn Headers<
36763 Identity: ICoreWebView2WebResourceRequest_Impl,
36764 const OFFSET: isize,
36765 >(
36766 this: *mut core::ffi::c_void,
36767 headers: *mut *mut core::ffi::c_void,
36768 ) -> windows_core::HRESULT {
36769 unsafe {
36770 let this: &Identity =
36771 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36772 match ICoreWebView2WebResourceRequest_Impl::Headers(this) {
36773 Ok(ok__) => {
36774 headers.write(core::mem::transmute(ok__));
36775 windows_core::HRESULT(0)
36776 }
36777 Err(err) => err.into(),
36778 }
36779 }
36780 }
36781 Self {
36782 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
36783 Uri: Uri::<Identity, OFFSET>,
36784 SetUri: SetUri::<Identity, OFFSET>,
36785 Method: Method::<Identity, OFFSET>,
36786 SetMethod: SetMethod::<Identity, OFFSET>,
36787 Content: Content::<Identity, OFFSET>,
36788 SetContent: SetContent::<Identity, OFFSET>,
36789 Headers: Headers::<Identity, OFFSET>,
36790 }
36791 }
36792 pub fn matches(iid: &windows_core::GUID) -> bool {
36793 iid == &<ICoreWebView2WebResourceRequest as windows_core::Interface>::IID
36794 }
36795}
36796impl windows_core::RuntimeName for ICoreWebView2WebResourceRequest {}
36797windows_core::imp::define_interface!(
36798 ICoreWebView2WebResourceRequestedEventArgs,
36799 ICoreWebView2WebResourceRequestedEventArgs_Vtbl,
36800 0x453e667f_12c7_49d4_be6d_ddbe7956f57a
36801);
36802windows_core::imp::interface_hierarchy!(
36803 ICoreWebView2WebResourceRequestedEventArgs,
36804 windows_core::IUnknown
36805);
36806impl ICoreWebView2WebResourceRequestedEventArgs {
36807 pub unsafe fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest> {
36808 unsafe {
36809 let mut result__ = core::mem::zeroed();
36810 (windows_core::Interface::vtable(self).Request)(
36811 windows_core::Interface::as_raw(self),
36812 &mut result__,
36813 )
36814 .and_then(|| windows_core::Type::from_abi(result__))
36815 }
36816 }
36817 pub unsafe fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponse> {
36818 unsafe {
36819 let mut result__ = core::mem::zeroed();
36820 (windows_core::Interface::vtable(self).Response)(
36821 windows_core::Interface::as_raw(self),
36822 &mut result__,
36823 )
36824 .and_then(|| windows_core::Type::from_abi(result__))
36825 }
36826 }
36827 pub unsafe fn SetResponse<P0>(&self, response: P0) -> windows_core::Result<()>
36828 where
36829 P0: windows_core::Param<ICoreWebView2WebResourceResponse>,
36830 {
36831 unsafe {
36832 (windows_core::Interface::vtable(self).SetResponse)(
36833 windows_core::Interface::as_raw(self),
36834 response.param().abi(),
36835 )
36836 .ok()
36837 }
36838 }
36839 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
36840 unsafe {
36841 let mut result__ = core::mem::zeroed();
36842 (windows_core::Interface::vtable(self).GetDeferral)(
36843 windows_core::Interface::as_raw(self),
36844 &mut result__,
36845 )
36846 .and_then(|| windows_core::Type::from_abi(result__))
36847 }
36848 }
36849 pub unsafe fn ResourceContext(
36850 &self,
36851 context: *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
36852 ) -> windows_core::Result<()> {
36853 unsafe {
36854 (windows_core::Interface::vtable(self).ResourceContext)(
36855 windows_core::Interface::as_raw(self),
36856 context as _,
36857 )
36858 .ok()
36859 }
36860 }
36861}
36862#[repr(C)]
36863#[doc(hidden)]
36864pub struct ICoreWebView2WebResourceRequestedEventArgs_Vtbl {
36865 pub base__: windows_core::IUnknown_Vtbl,
36866 pub Request: unsafe extern "system" fn(
36867 *mut core::ffi::c_void,
36868 *mut *mut core::ffi::c_void,
36869 ) -> windows_core::HRESULT,
36870 pub Response: unsafe extern "system" fn(
36871 *mut core::ffi::c_void,
36872 *mut *mut core::ffi::c_void,
36873 ) -> windows_core::HRESULT,
36874 pub SetResponse: unsafe extern "system" fn(
36875 *mut core::ffi::c_void,
36876 *mut core::ffi::c_void,
36877 ) -> windows_core::HRESULT,
36878 pub GetDeferral: unsafe extern "system" fn(
36879 *mut core::ffi::c_void,
36880 *mut *mut core::ffi::c_void,
36881 ) -> windows_core::HRESULT,
36882 pub ResourceContext: unsafe extern "system" fn(
36883 *mut core::ffi::c_void,
36884 *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
36885 ) -> windows_core::HRESULT,
36886}
36887pub trait ICoreWebView2WebResourceRequestedEventArgs_Impl: windows_core::IUnknownImpl {
36888 fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest>;
36889 fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponse>;
36890 fn SetResponse(
36891 &self,
36892 response: windows_core::Ref<'_, ICoreWebView2WebResourceResponse>,
36893 ) -> windows_core::Result<()>;
36894 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
36895 fn ResourceContext(
36896 &self,
36897 context: *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
36898 ) -> windows_core::Result<()>;
36899}
36900impl ICoreWebView2WebResourceRequestedEventArgs_Vtbl {
36901 pub const fn new<
36902 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
36903 const OFFSET: isize,
36904 >() -> Self {
36905 unsafe extern "system" fn Request<
36906 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
36907 const OFFSET: isize,
36908 >(
36909 this: *mut core::ffi::c_void,
36910 request: *mut *mut core::ffi::c_void,
36911 ) -> windows_core::HRESULT {
36912 unsafe {
36913 let this: &Identity =
36914 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36915 match ICoreWebView2WebResourceRequestedEventArgs_Impl::Request(this) {
36916 Ok(ok__) => {
36917 request.write(core::mem::transmute(ok__));
36918 windows_core::HRESULT(0)
36919 }
36920 Err(err) => err.into(),
36921 }
36922 }
36923 }
36924 unsafe extern "system" fn Response<
36925 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
36926 const OFFSET: isize,
36927 >(
36928 this: *mut core::ffi::c_void,
36929 response: *mut *mut core::ffi::c_void,
36930 ) -> windows_core::HRESULT {
36931 unsafe {
36932 let this: &Identity =
36933 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36934 match ICoreWebView2WebResourceRequestedEventArgs_Impl::Response(this) {
36935 Ok(ok__) => {
36936 response.write(core::mem::transmute(ok__));
36937 windows_core::HRESULT(0)
36938 }
36939 Err(err) => err.into(),
36940 }
36941 }
36942 }
36943 unsafe extern "system" fn SetResponse<
36944 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
36945 const OFFSET: isize,
36946 >(
36947 this: *mut core::ffi::c_void,
36948 response: *mut core::ffi::c_void,
36949 ) -> windows_core::HRESULT {
36950 unsafe {
36951 let this: &Identity =
36952 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36953 ICoreWebView2WebResourceRequestedEventArgs_Impl::SetResponse(
36954 this,
36955 core::mem::transmute_copy(&response),
36956 )
36957 .into()
36958 }
36959 }
36960 unsafe extern "system" fn GetDeferral<
36961 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
36962 const OFFSET: isize,
36963 >(
36964 this: *mut core::ffi::c_void,
36965 deferral: *mut *mut core::ffi::c_void,
36966 ) -> windows_core::HRESULT {
36967 unsafe {
36968 let this: &Identity =
36969 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36970 match ICoreWebView2WebResourceRequestedEventArgs_Impl::GetDeferral(this) {
36971 Ok(ok__) => {
36972 deferral.write(core::mem::transmute(ok__));
36973 windows_core::HRESULT(0)
36974 }
36975 Err(err) => err.into(),
36976 }
36977 }
36978 }
36979 unsafe extern "system" fn ResourceContext<
36980 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
36981 const OFFSET: isize,
36982 >(
36983 this: *mut core::ffi::c_void,
36984 context: *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
36985 ) -> windows_core::HRESULT {
36986 unsafe {
36987 let this: &Identity =
36988 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36989 ICoreWebView2WebResourceRequestedEventArgs_Impl::ResourceContext(
36990 this,
36991 core::mem::transmute_copy(&context),
36992 )
36993 .into()
36994 }
36995 }
36996 Self {
36997 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
36998 Request: Request::<Identity, OFFSET>,
36999 Response: Response::<Identity, OFFSET>,
37000 SetResponse: SetResponse::<Identity, OFFSET>,
37001 GetDeferral: GetDeferral::<Identity, OFFSET>,
37002 ResourceContext: ResourceContext::<Identity, OFFSET>,
37003 }
37004 }
37005 pub fn matches(iid: &windows_core::GUID) -> bool {
37006 iid == &<ICoreWebView2WebResourceRequestedEventArgs as windows_core::Interface>::IID
37007 }
37008}
37009impl windows_core::RuntimeName for ICoreWebView2WebResourceRequestedEventArgs {}
37010windows_core::imp::define_interface!(
37011 ICoreWebView2WebResourceRequestedEventArgs2,
37012 ICoreWebView2WebResourceRequestedEventArgs2_Vtbl,
37013 0x9c562c24_b219_4d7f_92f6_b187fbbadd56
37014);
37015impl core::ops::Deref for ICoreWebView2WebResourceRequestedEventArgs2 {
37016 type Target = ICoreWebView2WebResourceRequestedEventArgs;
37017 fn deref(&self) -> &Self::Target {
37018 unsafe { core::mem::transmute(self) }
37019 }
37020}
37021windows_core::imp::interface_hierarchy!(
37022 ICoreWebView2WebResourceRequestedEventArgs2,
37023 windows_core::IUnknown,
37024 ICoreWebView2WebResourceRequestedEventArgs
37025);
37026impl ICoreWebView2WebResourceRequestedEventArgs2 {
37027 pub unsafe fn RequestedSourceKind(
37028 &self,
37029 value: *mut COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
37030 ) -> windows_core::Result<()> {
37031 unsafe {
37032 (windows_core::Interface::vtable(self).RequestedSourceKind)(
37033 windows_core::Interface::as_raw(self),
37034 value as _,
37035 )
37036 .ok()
37037 }
37038 }
37039}
37040#[repr(C)]
37041#[doc(hidden)]
37042pub struct ICoreWebView2WebResourceRequestedEventArgs2_Vtbl {
37043 pub base__: ICoreWebView2WebResourceRequestedEventArgs_Vtbl,
37044 pub RequestedSourceKind: unsafe extern "system" fn(
37045 *mut core::ffi::c_void,
37046 *mut COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
37047 ) -> windows_core::HRESULT,
37048}
37049pub trait ICoreWebView2WebResourceRequestedEventArgs2_Impl:
37050 ICoreWebView2WebResourceRequestedEventArgs_Impl
37051{
37052 fn RequestedSourceKind(
37053 &self,
37054 value: *mut COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
37055 ) -> windows_core::Result<()>;
37056}
37057impl ICoreWebView2WebResourceRequestedEventArgs2_Vtbl {
37058 pub const fn new<
37059 Identity: ICoreWebView2WebResourceRequestedEventArgs2_Impl,
37060 const OFFSET: isize,
37061 >() -> Self {
37062 unsafe extern "system" fn RequestedSourceKind<
37063 Identity: ICoreWebView2WebResourceRequestedEventArgs2_Impl,
37064 const OFFSET: isize,
37065 >(
37066 this: *mut core::ffi::c_void,
37067 value: *mut COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
37068 ) -> windows_core::HRESULT {
37069 unsafe {
37070 let this: &Identity =
37071 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37072 ICoreWebView2WebResourceRequestedEventArgs2_Impl::RequestedSourceKind(
37073 this,
37074 core::mem::transmute_copy(&value),
37075 )
37076 .into()
37077 }
37078 }
37079 Self {
37080 base__: ICoreWebView2WebResourceRequestedEventArgs_Vtbl::new::<Identity, OFFSET>(),
37081 RequestedSourceKind: RequestedSourceKind::<Identity, OFFSET>,
37082 }
37083 }
37084 pub fn matches(iid: &windows_core::GUID) -> bool {
37085 iid == &<ICoreWebView2WebResourceRequestedEventArgs2 as windows_core::Interface>::IID
37086 || iid == &<ICoreWebView2WebResourceRequestedEventArgs as windows_core::Interface>::IID
37087 }
37088}
37089impl windows_core::RuntimeName for ICoreWebView2WebResourceRequestedEventArgs2 {}
37090windows_core::imp::define_interface!(
37091 ICoreWebView2WebResourceRequestedEventHandler,
37092 ICoreWebView2WebResourceRequestedEventHandler_Vtbl,
37093 0xab00b74c_15f1_4646_80e8_e76341d25d71
37094);
37095windows_core::imp::interface_hierarchy!(
37096 ICoreWebView2WebResourceRequestedEventHandler,
37097 windows_core::IUnknown
37098);
37099impl ICoreWebView2WebResourceRequestedEventHandler {
37100 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
37101 where
37102 P0: windows_core::Param<ICoreWebView2>,
37103 P1: windows_core::Param<ICoreWebView2WebResourceRequestedEventArgs>,
37104 {
37105 unsafe {
37106 (windows_core::Interface::vtable(self).Invoke)(
37107 windows_core::Interface::as_raw(self),
37108 sender.param().abi(),
37109 args.param().abi(),
37110 )
37111 .ok()
37112 }
37113 }
37114}
37115#[repr(C)]
37116#[doc(hidden)]
37117pub struct ICoreWebView2WebResourceRequestedEventHandler_Vtbl {
37118 pub base__: windows_core::IUnknown_Vtbl,
37119 pub Invoke: unsafe extern "system" fn(
37120 *mut core::ffi::c_void,
37121 *mut core::ffi::c_void,
37122 *mut core::ffi::c_void,
37123 ) -> windows_core::HRESULT,
37124}
37125pub trait ICoreWebView2WebResourceRequestedEventHandler_Impl: windows_core::IUnknownImpl {
37126 fn Invoke(
37127 &self,
37128 sender: windows_core::Ref<'_, ICoreWebView2>,
37129 args: windows_core::Ref<'_, ICoreWebView2WebResourceRequestedEventArgs>,
37130 ) -> windows_core::Result<()>;
37131}
37132impl ICoreWebView2WebResourceRequestedEventHandler_Vtbl {
37133 pub const fn new<
37134 Identity: ICoreWebView2WebResourceRequestedEventHandler_Impl,
37135 const OFFSET: isize,
37136 >() -> Self {
37137 unsafe extern "system" fn Invoke<
37138 Identity: ICoreWebView2WebResourceRequestedEventHandler_Impl,
37139 const OFFSET: isize,
37140 >(
37141 this: *mut core::ffi::c_void,
37142 sender: *mut core::ffi::c_void,
37143 args: *mut core::ffi::c_void,
37144 ) -> windows_core::HRESULT {
37145 unsafe {
37146 let this: &Identity =
37147 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37148 ICoreWebView2WebResourceRequestedEventHandler_Impl::Invoke(
37149 this,
37150 core::mem::transmute_copy(&sender),
37151 core::mem::transmute_copy(&args),
37152 )
37153 .into()
37154 }
37155 }
37156 Self {
37157 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37158 Invoke: Invoke::<Identity, OFFSET>,
37159 }
37160 }
37161 pub fn matches(iid: &windows_core::GUID) -> bool {
37162 iid == &<ICoreWebView2WebResourceRequestedEventHandler as windows_core::Interface>::IID
37163 }
37164}
37165impl windows_core::RuntimeName for ICoreWebView2WebResourceRequestedEventHandler {}
37166windows_core::imp::define_interface!(
37167 ICoreWebView2WebResourceResponse,
37168 ICoreWebView2WebResourceResponse_Vtbl,
37169 0xaafcc94f_fa27_48fd_97df_830ef75aaec9
37170);
37171windows_core::imp::interface_hierarchy!(ICoreWebView2WebResourceResponse, windows_core::IUnknown);
37172impl ICoreWebView2WebResourceResponse {
37173 pub unsafe fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
37174 unsafe {
37175 let mut result__ = core::mem::zeroed();
37176 (windows_core::Interface::vtable(self).Content)(
37177 windows_core::Interface::as_raw(self),
37178 &mut result__,
37179 )
37180 .and_then(|| windows_core::Type::from_abi(result__))
37181 }
37182 }
37183 pub unsafe fn SetContent<P0>(&self, content: P0) -> windows_core::Result<()>
37184 where
37185 P0: windows_core::Param<windows::Win32::System::Com::IStream>,
37186 {
37187 unsafe {
37188 (windows_core::Interface::vtable(self).SetContent)(
37189 windows_core::Interface::as_raw(self),
37190 content.param().abi(),
37191 )
37192 .ok()
37193 }
37194 }
37195 pub unsafe fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders> {
37196 unsafe {
37197 let mut result__ = core::mem::zeroed();
37198 (windows_core::Interface::vtable(self).Headers)(
37199 windows_core::Interface::as_raw(self),
37200 &mut result__,
37201 )
37202 .and_then(|| windows_core::Type::from_abi(result__))
37203 }
37204 }
37205 pub unsafe fn StatusCode(&self, statuscode: *mut i32) -> windows_core::Result<()> {
37206 unsafe {
37207 (windows_core::Interface::vtable(self).StatusCode)(
37208 windows_core::Interface::as_raw(self),
37209 statuscode as _,
37210 )
37211 .ok()
37212 }
37213 }
37214 pub unsafe fn SetStatusCode(&self, statuscode: i32) -> windows_core::Result<()> {
37215 unsafe {
37216 (windows_core::Interface::vtable(self).SetStatusCode)(
37217 windows_core::Interface::as_raw(self),
37218 statuscode,
37219 )
37220 .ok()
37221 }
37222 }
37223 pub unsafe fn ReasonPhrase(
37224 &self,
37225 reasonphrase: *mut windows_core::PWSTR,
37226 ) -> windows_core::Result<()> {
37227 unsafe {
37228 (windows_core::Interface::vtable(self).ReasonPhrase)(
37229 windows_core::Interface::as_raw(self),
37230 reasonphrase as _,
37231 )
37232 .ok()
37233 }
37234 }
37235 pub unsafe fn SetReasonPhrase<P0>(&self, reasonphrase: P0) -> windows_core::Result<()>
37236 where
37237 P0: windows_core::Param<windows_core::PCWSTR>,
37238 {
37239 unsafe {
37240 (windows_core::Interface::vtable(self).SetReasonPhrase)(
37241 windows_core::Interface::as_raw(self),
37242 reasonphrase.param().abi(),
37243 )
37244 .ok()
37245 }
37246 }
37247}
37248#[repr(C)]
37249#[doc(hidden)]
37250pub struct ICoreWebView2WebResourceResponse_Vtbl {
37251 pub base__: windows_core::IUnknown_Vtbl,
37252 pub Content: unsafe extern "system" fn(
37253 *mut core::ffi::c_void,
37254 *mut *mut core::ffi::c_void,
37255 ) -> windows_core::HRESULT,
37256 pub SetContent: unsafe extern "system" fn(
37257 *mut core::ffi::c_void,
37258 *mut core::ffi::c_void,
37259 ) -> windows_core::HRESULT,
37260 pub Headers: unsafe extern "system" fn(
37261 *mut core::ffi::c_void,
37262 *mut *mut core::ffi::c_void,
37263 ) -> windows_core::HRESULT,
37264 pub StatusCode:
37265 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
37266 pub SetStatusCode:
37267 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
37268 pub ReasonPhrase: unsafe extern "system" fn(
37269 *mut core::ffi::c_void,
37270 *mut windows_core::PWSTR,
37271 ) -> windows_core::HRESULT,
37272 pub SetReasonPhrase: unsafe extern "system" fn(
37273 *mut core::ffi::c_void,
37274 windows_core::PCWSTR,
37275 ) -> windows_core::HRESULT,
37276}
37277pub trait ICoreWebView2WebResourceResponse_Impl: windows_core::IUnknownImpl {
37278 fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
37279 fn SetContent(
37280 &self,
37281 content: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
37282 ) -> windows_core::Result<()>;
37283 fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders>;
37284 fn StatusCode(&self, statuscode: *mut i32) -> windows_core::Result<()>;
37285 fn SetStatusCode(&self, statuscode: i32) -> windows_core::Result<()>;
37286 fn ReasonPhrase(&self, reasonphrase: *mut windows_core::PWSTR) -> windows_core::Result<()>;
37287 fn SetReasonPhrase(&self, reasonphrase: &windows_core::PCWSTR) -> windows_core::Result<()>;
37288}
37289impl ICoreWebView2WebResourceResponse_Vtbl {
37290 pub const fn new<Identity: ICoreWebView2WebResourceResponse_Impl, const OFFSET: isize>() -> Self
37291 {
37292 unsafe extern "system" fn Content<
37293 Identity: ICoreWebView2WebResourceResponse_Impl,
37294 const OFFSET: isize,
37295 >(
37296 this: *mut core::ffi::c_void,
37297 content: *mut *mut core::ffi::c_void,
37298 ) -> windows_core::HRESULT {
37299 unsafe {
37300 let this: &Identity =
37301 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37302 match ICoreWebView2WebResourceResponse_Impl::Content(this) {
37303 Ok(ok__) => {
37304 content.write(core::mem::transmute(ok__));
37305 windows_core::HRESULT(0)
37306 }
37307 Err(err) => err.into(),
37308 }
37309 }
37310 }
37311 unsafe extern "system" fn SetContent<
37312 Identity: ICoreWebView2WebResourceResponse_Impl,
37313 const OFFSET: isize,
37314 >(
37315 this: *mut core::ffi::c_void,
37316 content: *mut core::ffi::c_void,
37317 ) -> windows_core::HRESULT {
37318 unsafe {
37319 let this: &Identity =
37320 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37321 ICoreWebView2WebResourceResponse_Impl::SetContent(
37322 this,
37323 core::mem::transmute_copy(&content),
37324 )
37325 .into()
37326 }
37327 }
37328 unsafe extern "system" fn Headers<
37329 Identity: ICoreWebView2WebResourceResponse_Impl,
37330 const OFFSET: isize,
37331 >(
37332 this: *mut core::ffi::c_void,
37333 headers: *mut *mut core::ffi::c_void,
37334 ) -> windows_core::HRESULT {
37335 unsafe {
37336 let this: &Identity =
37337 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37338 match ICoreWebView2WebResourceResponse_Impl::Headers(this) {
37339 Ok(ok__) => {
37340 headers.write(core::mem::transmute(ok__));
37341 windows_core::HRESULT(0)
37342 }
37343 Err(err) => err.into(),
37344 }
37345 }
37346 }
37347 unsafe extern "system" fn StatusCode<
37348 Identity: ICoreWebView2WebResourceResponse_Impl,
37349 const OFFSET: isize,
37350 >(
37351 this: *mut core::ffi::c_void,
37352 statuscode: *mut i32,
37353 ) -> windows_core::HRESULT {
37354 unsafe {
37355 let this: &Identity =
37356 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37357 ICoreWebView2WebResourceResponse_Impl::StatusCode(
37358 this,
37359 core::mem::transmute_copy(&statuscode),
37360 )
37361 .into()
37362 }
37363 }
37364 unsafe extern "system" fn SetStatusCode<
37365 Identity: ICoreWebView2WebResourceResponse_Impl,
37366 const OFFSET: isize,
37367 >(
37368 this: *mut core::ffi::c_void,
37369 statuscode: i32,
37370 ) -> windows_core::HRESULT {
37371 unsafe {
37372 let this: &Identity =
37373 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37374 ICoreWebView2WebResourceResponse_Impl::SetStatusCode(
37375 this,
37376 core::mem::transmute_copy(&statuscode),
37377 )
37378 .into()
37379 }
37380 }
37381 unsafe extern "system" fn ReasonPhrase<
37382 Identity: ICoreWebView2WebResourceResponse_Impl,
37383 const OFFSET: isize,
37384 >(
37385 this: *mut core::ffi::c_void,
37386 reasonphrase: *mut windows_core::PWSTR,
37387 ) -> windows_core::HRESULT {
37388 unsafe {
37389 let this: &Identity =
37390 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37391 ICoreWebView2WebResourceResponse_Impl::ReasonPhrase(
37392 this,
37393 core::mem::transmute_copy(&reasonphrase),
37394 )
37395 .into()
37396 }
37397 }
37398 unsafe extern "system" fn SetReasonPhrase<
37399 Identity: ICoreWebView2WebResourceResponse_Impl,
37400 const OFFSET: isize,
37401 >(
37402 this: *mut core::ffi::c_void,
37403 reasonphrase: windows_core::PCWSTR,
37404 ) -> windows_core::HRESULT {
37405 unsafe {
37406 let this: &Identity =
37407 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37408 ICoreWebView2WebResourceResponse_Impl::SetReasonPhrase(
37409 this,
37410 core::mem::transmute(&reasonphrase),
37411 )
37412 .into()
37413 }
37414 }
37415 Self {
37416 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37417 Content: Content::<Identity, OFFSET>,
37418 SetContent: SetContent::<Identity, OFFSET>,
37419 Headers: Headers::<Identity, OFFSET>,
37420 StatusCode: StatusCode::<Identity, OFFSET>,
37421 SetStatusCode: SetStatusCode::<Identity, OFFSET>,
37422 ReasonPhrase: ReasonPhrase::<Identity, OFFSET>,
37423 SetReasonPhrase: SetReasonPhrase::<Identity, OFFSET>,
37424 }
37425 }
37426 pub fn matches(iid: &windows_core::GUID) -> bool {
37427 iid == &<ICoreWebView2WebResourceResponse as windows_core::Interface>::IID
37428 }
37429}
37430impl windows_core::RuntimeName for ICoreWebView2WebResourceResponse {}
37431windows_core::imp::define_interface!(
37432 ICoreWebView2WebResourceResponseReceivedEventArgs,
37433 ICoreWebView2WebResourceResponseReceivedEventArgs_Vtbl,
37434 0xd1db483d_6796_4b8b_80fc_13712bb716f4
37435);
37436windows_core::imp::interface_hierarchy!(
37437 ICoreWebView2WebResourceResponseReceivedEventArgs,
37438 windows_core::IUnknown
37439);
37440impl ICoreWebView2WebResourceResponseReceivedEventArgs {
37441 pub unsafe fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest> {
37442 unsafe {
37443 let mut result__ = core::mem::zeroed();
37444 (windows_core::Interface::vtable(self).Request)(
37445 windows_core::Interface::as_raw(self),
37446 &mut result__,
37447 )
37448 .and_then(|| windows_core::Type::from_abi(result__))
37449 }
37450 }
37451 pub unsafe fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponseView> {
37452 unsafe {
37453 let mut result__ = core::mem::zeroed();
37454 (windows_core::Interface::vtable(self).Response)(
37455 windows_core::Interface::as_raw(self),
37456 &mut result__,
37457 )
37458 .and_then(|| windows_core::Type::from_abi(result__))
37459 }
37460 }
37461}
37462#[repr(C)]
37463#[doc(hidden)]
37464pub struct ICoreWebView2WebResourceResponseReceivedEventArgs_Vtbl {
37465 pub base__: windows_core::IUnknown_Vtbl,
37466 pub Request: unsafe extern "system" fn(
37467 *mut core::ffi::c_void,
37468 *mut *mut core::ffi::c_void,
37469 ) -> windows_core::HRESULT,
37470 pub Response: unsafe extern "system" fn(
37471 *mut core::ffi::c_void,
37472 *mut *mut core::ffi::c_void,
37473 ) -> windows_core::HRESULT,
37474}
37475pub trait ICoreWebView2WebResourceResponseReceivedEventArgs_Impl:
37476 windows_core::IUnknownImpl
37477{
37478 fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest>;
37479 fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponseView>;
37480}
37481impl ICoreWebView2WebResourceResponseReceivedEventArgs_Vtbl {
37482 pub const fn new<
37483 Identity: ICoreWebView2WebResourceResponseReceivedEventArgs_Impl,
37484 const OFFSET: isize,
37485 >() -> Self {
37486 unsafe extern "system" fn Request<
37487 Identity: ICoreWebView2WebResourceResponseReceivedEventArgs_Impl,
37488 const OFFSET: isize,
37489 >(
37490 this: *mut core::ffi::c_void,
37491 value: *mut *mut core::ffi::c_void,
37492 ) -> windows_core::HRESULT {
37493 unsafe {
37494 let this: &Identity =
37495 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37496 match ICoreWebView2WebResourceResponseReceivedEventArgs_Impl::Request(this) {
37497 Ok(ok__) => {
37498 value.write(core::mem::transmute(ok__));
37499 windows_core::HRESULT(0)
37500 }
37501 Err(err) => err.into(),
37502 }
37503 }
37504 }
37505 unsafe extern "system" fn Response<
37506 Identity: ICoreWebView2WebResourceResponseReceivedEventArgs_Impl,
37507 const OFFSET: isize,
37508 >(
37509 this: *mut core::ffi::c_void,
37510 value: *mut *mut core::ffi::c_void,
37511 ) -> windows_core::HRESULT {
37512 unsafe {
37513 let this: &Identity =
37514 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37515 match ICoreWebView2WebResourceResponseReceivedEventArgs_Impl::Response(this) {
37516 Ok(ok__) => {
37517 value.write(core::mem::transmute(ok__));
37518 windows_core::HRESULT(0)
37519 }
37520 Err(err) => err.into(),
37521 }
37522 }
37523 }
37524 Self {
37525 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37526 Request: Request::<Identity, OFFSET>,
37527 Response: Response::<Identity, OFFSET>,
37528 }
37529 }
37530 pub fn matches(iid: &windows_core::GUID) -> bool {
37531 iid == &<ICoreWebView2WebResourceResponseReceivedEventArgs as windows_core::Interface>::IID
37532 }
37533}
37534impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseReceivedEventArgs {}
37535windows_core::imp::define_interface!(
37536 ICoreWebView2WebResourceResponseReceivedEventHandler,
37537 ICoreWebView2WebResourceResponseReceivedEventHandler_Vtbl,
37538 0x7de9898a_24f5_40c3_a2de_d4f458e69828
37539);
37540windows_core::imp::interface_hierarchy!(
37541 ICoreWebView2WebResourceResponseReceivedEventHandler,
37542 windows_core::IUnknown
37543);
37544impl ICoreWebView2WebResourceResponseReceivedEventHandler {
37545 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
37546 where
37547 P0: windows_core::Param<ICoreWebView2>,
37548 P1: windows_core::Param<ICoreWebView2WebResourceResponseReceivedEventArgs>,
37549 {
37550 unsafe {
37551 (windows_core::Interface::vtable(self).Invoke)(
37552 windows_core::Interface::as_raw(self),
37553 sender.param().abi(),
37554 args.param().abi(),
37555 )
37556 .ok()
37557 }
37558 }
37559}
37560#[repr(C)]
37561#[doc(hidden)]
37562pub struct ICoreWebView2WebResourceResponseReceivedEventHandler_Vtbl {
37563 pub base__: windows_core::IUnknown_Vtbl,
37564 pub Invoke: unsafe extern "system" fn(
37565 *mut core::ffi::c_void,
37566 *mut core::ffi::c_void,
37567 *mut core::ffi::c_void,
37568 ) -> windows_core::HRESULT,
37569}
37570pub trait ICoreWebView2WebResourceResponseReceivedEventHandler_Impl:
37571 windows_core::IUnknownImpl
37572{
37573 fn Invoke(
37574 &self,
37575 sender: windows_core::Ref<'_, ICoreWebView2>,
37576 args: windows_core::Ref<'_, ICoreWebView2WebResourceResponseReceivedEventArgs>,
37577 ) -> windows_core::Result<()>;
37578}
37579impl ICoreWebView2WebResourceResponseReceivedEventHandler_Vtbl {
37580 pub const fn new<
37581 Identity: ICoreWebView2WebResourceResponseReceivedEventHandler_Impl,
37582 const OFFSET: isize,
37583 >() -> Self {
37584 unsafe extern "system" fn Invoke<
37585 Identity: ICoreWebView2WebResourceResponseReceivedEventHandler_Impl,
37586 const OFFSET: isize,
37587 >(
37588 this: *mut core::ffi::c_void,
37589 sender: *mut core::ffi::c_void,
37590 args: *mut core::ffi::c_void,
37591 ) -> windows_core::HRESULT {
37592 unsafe {
37593 let this: &Identity =
37594 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37595 ICoreWebView2WebResourceResponseReceivedEventHandler_Impl::Invoke(
37596 this,
37597 core::mem::transmute_copy(&sender),
37598 core::mem::transmute_copy(&args),
37599 )
37600 .into()
37601 }
37602 }
37603 Self {
37604 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37605 Invoke: Invoke::<Identity, OFFSET>,
37606 }
37607 }
37608 pub fn matches(iid: &windows_core::GUID) -> bool {
37609 iid == & < ICoreWebView2WebResourceResponseReceivedEventHandler as windows_core::Interface >::IID
37610 }
37611}
37612impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseReceivedEventHandler {}
37613windows_core::imp::define_interface!(
37614 ICoreWebView2WebResourceResponseView,
37615 ICoreWebView2WebResourceResponseView_Vtbl,
37616 0x79701053_7759_4162_8f7d_f1b3f084928d
37617);
37618windows_core::imp::interface_hierarchy!(
37619 ICoreWebView2WebResourceResponseView,
37620 windows_core::IUnknown
37621);
37622impl ICoreWebView2WebResourceResponseView {
37623 pub unsafe fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders> {
37624 unsafe {
37625 let mut result__ = core::mem::zeroed();
37626 (windows_core::Interface::vtable(self).Headers)(
37627 windows_core::Interface::as_raw(self),
37628 &mut result__,
37629 )
37630 .and_then(|| windows_core::Type::from_abi(result__))
37631 }
37632 }
37633 pub unsafe fn StatusCode(&self, statuscode: *mut i32) -> windows_core::Result<()> {
37634 unsafe {
37635 (windows_core::Interface::vtable(self).StatusCode)(
37636 windows_core::Interface::as_raw(self),
37637 statuscode as _,
37638 )
37639 .ok()
37640 }
37641 }
37642 pub unsafe fn ReasonPhrase(
37643 &self,
37644 reasonphrase: *mut windows_core::PWSTR,
37645 ) -> windows_core::Result<()> {
37646 unsafe {
37647 (windows_core::Interface::vtable(self).ReasonPhrase)(
37648 windows_core::Interface::as_raw(self),
37649 reasonphrase as _,
37650 )
37651 .ok()
37652 }
37653 }
37654 pub unsafe fn GetContent<P0>(&self, handler: P0) -> windows_core::Result<()>
37655 where
37656 P0: windows_core::Param<ICoreWebView2WebResourceResponseViewGetContentCompletedHandler>,
37657 {
37658 unsafe {
37659 (windows_core::Interface::vtable(self).GetContent)(
37660 windows_core::Interface::as_raw(self),
37661 handler.param().abi(),
37662 )
37663 .ok()
37664 }
37665 }
37666}
37667#[repr(C)]
37668#[doc(hidden)]
37669pub struct ICoreWebView2WebResourceResponseView_Vtbl {
37670 pub base__: windows_core::IUnknown_Vtbl,
37671 pub Headers: unsafe extern "system" fn(
37672 *mut core::ffi::c_void,
37673 *mut *mut core::ffi::c_void,
37674 ) -> windows_core::HRESULT,
37675 pub StatusCode:
37676 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
37677 pub ReasonPhrase: unsafe extern "system" fn(
37678 *mut core::ffi::c_void,
37679 *mut windows_core::PWSTR,
37680 ) -> windows_core::HRESULT,
37681 pub GetContent: unsafe extern "system" fn(
37682 *mut core::ffi::c_void,
37683 *mut core::ffi::c_void,
37684 ) -> windows_core::HRESULT,
37685}
37686pub trait ICoreWebView2WebResourceResponseView_Impl: windows_core::IUnknownImpl {
37687 fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders>;
37688 fn StatusCode(&self, statuscode: *mut i32) -> windows_core::Result<()>;
37689 fn ReasonPhrase(&self, reasonphrase: *mut windows_core::PWSTR) -> windows_core::Result<()>;
37690 fn GetContent(
37691 &self,
37692 handler: windows_core::Ref<
37693 '_,
37694 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler,
37695 >,
37696 ) -> windows_core::Result<()>;
37697}
37698impl ICoreWebView2WebResourceResponseView_Vtbl {
37699 pub const fn new<Identity: ICoreWebView2WebResourceResponseView_Impl, const OFFSET: isize>(
37700 ) -> Self {
37701 unsafe extern "system" fn Headers<
37702 Identity: ICoreWebView2WebResourceResponseView_Impl,
37703 const OFFSET: isize,
37704 >(
37705 this: *mut core::ffi::c_void,
37706 headers: *mut *mut core::ffi::c_void,
37707 ) -> windows_core::HRESULT {
37708 unsafe {
37709 let this: &Identity =
37710 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37711 match ICoreWebView2WebResourceResponseView_Impl::Headers(this) {
37712 Ok(ok__) => {
37713 headers.write(core::mem::transmute(ok__));
37714 windows_core::HRESULT(0)
37715 }
37716 Err(err) => err.into(),
37717 }
37718 }
37719 }
37720 unsafe extern "system" fn StatusCode<
37721 Identity: ICoreWebView2WebResourceResponseView_Impl,
37722 const OFFSET: isize,
37723 >(
37724 this: *mut core::ffi::c_void,
37725 statuscode: *mut i32,
37726 ) -> windows_core::HRESULT {
37727 unsafe {
37728 let this: &Identity =
37729 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37730 ICoreWebView2WebResourceResponseView_Impl::StatusCode(
37731 this,
37732 core::mem::transmute_copy(&statuscode),
37733 )
37734 .into()
37735 }
37736 }
37737 unsafe extern "system" fn ReasonPhrase<
37738 Identity: ICoreWebView2WebResourceResponseView_Impl,
37739 const OFFSET: isize,
37740 >(
37741 this: *mut core::ffi::c_void,
37742 reasonphrase: *mut windows_core::PWSTR,
37743 ) -> windows_core::HRESULT {
37744 unsafe {
37745 let this: &Identity =
37746 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37747 ICoreWebView2WebResourceResponseView_Impl::ReasonPhrase(
37748 this,
37749 core::mem::transmute_copy(&reasonphrase),
37750 )
37751 .into()
37752 }
37753 }
37754 unsafe extern "system" fn GetContent<
37755 Identity: ICoreWebView2WebResourceResponseView_Impl,
37756 const OFFSET: isize,
37757 >(
37758 this: *mut core::ffi::c_void,
37759 handler: *mut core::ffi::c_void,
37760 ) -> windows_core::HRESULT {
37761 unsafe {
37762 let this: &Identity =
37763 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37764 ICoreWebView2WebResourceResponseView_Impl::GetContent(
37765 this,
37766 core::mem::transmute_copy(&handler),
37767 )
37768 .into()
37769 }
37770 }
37771 Self {
37772 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37773 Headers: Headers::<Identity, OFFSET>,
37774 StatusCode: StatusCode::<Identity, OFFSET>,
37775 ReasonPhrase: ReasonPhrase::<Identity, OFFSET>,
37776 GetContent: GetContent::<Identity, OFFSET>,
37777 }
37778 }
37779 pub fn matches(iid: &windows_core::GUID) -> bool {
37780 iid == &<ICoreWebView2WebResourceResponseView as windows_core::Interface>::IID
37781 }
37782}
37783impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseView {}
37784windows_core::imp::define_interface!(
37785 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler,
37786 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Vtbl,
37787 0x875738e1_9fa2_40e3_8b74_2e8972dd6fe7
37788);
37789windows_core::imp::interface_hierarchy!(
37790 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler,
37791 windows_core::IUnknown
37792);
37793impl ICoreWebView2WebResourceResponseViewGetContentCompletedHandler {
37794 pub unsafe fn Invoke<P1>(
37795 &self,
37796 errorcode: windows_core::HRESULT,
37797 result: P1,
37798 ) -> windows_core::Result<()>
37799 where
37800 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
37801 {
37802 unsafe {
37803 (windows_core::Interface::vtable(self).Invoke)(
37804 windows_core::Interface::as_raw(self),
37805 errorcode,
37806 result.param().abi(),
37807 )
37808 .ok()
37809 }
37810 }
37811}
37812#[repr(C)]
37813#[doc(hidden)]
37814pub struct ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Vtbl {
37815 pub base__: windows_core::IUnknown_Vtbl,
37816 pub Invoke: unsafe extern "system" fn(
37817 *mut core::ffi::c_void,
37818 windows_core::HRESULT,
37819 *mut core::ffi::c_void,
37820 ) -> windows_core::HRESULT,
37821}
37822pub trait ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl:
37823 windows_core::IUnknownImpl
37824{
37825 fn Invoke(
37826 &self,
37827 errorcode: windows_core::HRESULT,
37828 result: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
37829 ) -> windows_core::Result<()>;
37830}
37831impl ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Vtbl {
37832 pub const fn new<
37833 Identity: ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl,
37834 const OFFSET: isize,
37835 >() -> Self {
37836 unsafe extern "system" fn Invoke<
37837 Identity: ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl,
37838 const OFFSET: isize,
37839 >(
37840 this: *mut core::ffi::c_void,
37841 errorcode: windows_core::HRESULT,
37842 result: *mut core::ffi::c_void,
37843 ) -> windows_core::HRESULT {
37844 unsafe {
37845 let this: &Identity =
37846 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37847 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl::Invoke(
37848 this,
37849 core::mem::transmute_copy(&errorcode),
37850 core::mem::transmute_copy(&result),
37851 )
37852 .into()
37853 }
37854 }
37855 Self {
37856 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37857 Invoke: Invoke::<Identity, OFFSET>,
37858 }
37859 }
37860 pub fn matches(iid: &windows_core::GUID) -> bool {
37861 iid == & < ICoreWebView2WebResourceResponseViewGetContentCompletedHandler as windows_core::Interface >::IID
37862 }
37863}
37864impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseViewGetContentCompletedHandler {}
37865windows_core::imp::define_interface!(
37866 ICoreWebView2WindowCloseRequestedEventHandler,
37867 ICoreWebView2WindowCloseRequestedEventHandler_Vtbl,
37868 0x5c19e9e0_092f_486b_affa_ca8231913039
37869);
37870windows_core::imp::interface_hierarchy!(
37871 ICoreWebView2WindowCloseRequestedEventHandler,
37872 windows_core::IUnknown
37873);
37874impl ICoreWebView2WindowCloseRequestedEventHandler {
37875 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
37876 where
37877 P0: windows_core::Param<ICoreWebView2>,
37878 P1: windows_core::Param<windows_core::IUnknown>,
37879 {
37880 unsafe {
37881 (windows_core::Interface::vtable(self).Invoke)(
37882 windows_core::Interface::as_raw(self),
37883 sender.param().abi(),
37884 args.param().abi(),
37885 )
37886 .ok()
37887 }
37888 }
37889}
37890#[repr(C)]
37891#[doc(hidden)]
37892pub struct ICoreWebView2WindowCloseRequestedEventHandler_Vtbl {
37893 pub base__: windows_core::IUnknown_Vtbl,
37894 pub Invoke: unsafe extern "system" fn(
37895 *mut core::ffi::c_void,
37896 *mut core::ffi::c_void,
37897 *mut core::ffi::c_void,
37898 ) -> windows_core::HRESULT,
37899}
37900pub trait ICoreWebView2WindowCloseRequestedEventHandler_Impl: windows_core::IUnknownImpl {
37901 fn Invoke(
37902 &self,
37903 sender: windows_core::Ref<'_, ICoreWebView2>,
37904 args: windows_core::Ref<'_, windows_core::IUnknown>,
37905 ) -> windows_core::Result<()>;
37906}
37907impl ICoreWebView2WindowCloseRequestedEventHandler_Vtbl {
37908 pub const fn new<
37909 Identity: ICoreWebView2WindowCloseRequestedEventHandler_Impl,
37910 const OFFSET: isize,
37911 >() -> Self {
37912 unsafe extern "system" fn Invoke<
37913 Identity: ICoreWebView2WindowCloseRequestedEventHandler_Impl,
37914 const OFFSET: isize,
37915 >(
37916 this: *mut core::ffi::c_void,
37917 sender: *mut core::ffi::c_void,
37918 args: *mut core::ffi::c_void,
37919 ) -> windows_core::HRESULT {
37920 unsafe {
37921 let this: &Identity =
37922 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37923 ICoreWebView2WindowCloseRequestedEventHandler_Impl::Invoke(
37924 this,
37925 core::mem::transmute_copy(&sender),
37926 core::mem::transmute_copy(&args),
37927 )
37928 .into()
37929 }
37930 }
37931 Self {
37932 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37933 Invoke: Invoke::<Identity, OFFSET>,
37934 }
37935 }
37936 pub fn matches(iid: &windows_core::GUID) -> bool {
37937 iid == &<ICoreWebView2WindowCloseRequestedEventHandler as windows_core::Interface>::IID
37938 }
37939}
37940impl windows_core::RuntimeName for ICoreWebView2WindowCloseRequestedEventHandler {}
37941windows_core::imp::define_interface!(
37942 ICoreWebView2WindowFeatures,
37943 ICoreWebView2WindowFeatures_Vtbl,
37944 0x5eaf559f_b46e_4397_8860_e422f287ff1e
37945);
37946windows_core::imp::interface_hierarchy!(ICoreWebView2WindowFeatures, windows_core::IUnknown);
37947impl ICoreWebView2WindowFeatures {
37948 pub unsafe fn HasPosition(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
37949 unsafe {
37950 (windows_core::Interface::vtable(self).HasPosition)(
37951 windows_core::Interface::as_raw(self),
37952 value as _,
37953 )
37954 .ok()
37955 }
37956 }
37957 pub unsafe fn HasSize(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
37958 unsafe {
37959 (windows_core::Interface::vtable(self).HasSize)(
37960 windows_core::Interface::as_raw(self),
37961 value as _,
37962 )
37963 .ok()
37964 }
37965 }
37966 pub unsafe fn Left(&self, value: *mut u32) -> windows_core::Result<()> {
37967 unsafe {
37968 (windows_core::Interface::vtable(self).Left)(
37969 windows_core::Interface::as_raw(self),
37970 value as _,
37971 )
37972 .ok()
37973 }
37974 }
37975 pub unsafe fn Top(&self, value: *mut u32) -> windows_core::Result<()> {
37976 unsafe {
37977 (windows_core::Interface::vtable(self).Top)(
37978 windows_core::Interface::as_raw(self),
37979 value as _,
37980 )
37981 .ok()
37982 }
37983 }
37984 pub unsafe fn Height(&self, value: *mut u32) -> windows_core::Result<()> {
37985 unsafe {
37986 (windows_core::Interface::vtable(self).Height)(
37987 windows_core::Interface::as_raw(self),
37988 value as _,
37989 )
37990 .ok()
37991 }
37992 }
37993 pub unsafe fn Width(&self, value: *mut u32) -> windows_core::Result<()> {
37994 unsafe {
37995 (windows_core::Interface::vtable(self).Width)(
37996 windows_core::Interface::as_raw(self),
37997 value as _,
37998 )
37999 .ok()
38000 }
38001 }
38002 pub unsafe fn ShouldDisplayMenuBar(
38003 &self,
38004 value: *mut windows_core::BOOL,
38005 ) -> windows_core::Result<()> {
38006 unsafe {
38007 (windows_core::Interface::vtable(self).ShouldDisplayMenuBar)(
38008 windows_core::Interface::as_raw(self),
38009 value as _,
38010 )
38011 .ok()
38012 }
38013 }
38014 pub unsafe fn ShouldDisplayStatus(
38015 &self,
38016 value: *mut windows_core::BOOL,
38017 ) -> windows_core::Result<()> {
38018 unsafe {
38019 (windows_core::Interface::vtable(self).ShouldDisplayStatus)(
38020 windows_core::Interface::as_raw(self),
38021 value as _,
38022 )
38023 .ok()
38024 }
38025 }
38026 pub unsafe fn ShouldDisplayToolbar(
38027 &self,
38028 value: *mut windows_core::BOOL,
38029 ) -> windows_core::Result<()> {
38030 unsafe {
38031 (windows_core::Interface::vtable(self).ShouldDisplayToolbar)(
38032 windows_core::Interface::as_raw(self),
38033 value as _,
38034 )
38035 .ok()
38036 }
38037 }
38038 pub unsafe fn ShouldDisplayScrollBars(
38039 &self,
38040 value: *mut windows_core::BOOL,
38041 ) -> windows_core::Result<()> {
38042 unsafe {
38043 (windows_core::Interface::vtable(self).ShouldDisplayScrollBars)(
38044 windows_core::Interface::as_raw(self),
38045 value as _,
38046 )
38047 .ok()
38048 }
38049 }
38050}
38051#[repr(C)]
38052#[doc(hidden)]
38053pub struct ICoreWebView2WindowFeatures_Vtbl {
38054 pub base__: windows_core::IUnknown_Vtbl,
38055 pub HasPosition: unsafe extern "system" fn(
38056 *mut core::ffi::c_void,
38057 *mut windows_core::BOOL,
38058 ) -> windows_core::HRESULT,
38059 pub HasSize: unsafe extern "system" fn(
38060 *mut core::ffi::c_void,
38061 *mut windows_core::BOOL,
38062 ) -> windows_core::HRESULT,
38063 pub Left: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
38064 pub Top: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
38065 pub Height:
38066 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
38067 pub Width: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
38068 pub ShouldDisplayMenuBar: unsafe extern "system" fn(
38069 *mut core::ffi::c_void,
38070 *mut windows_core::BOOL,
38071 ) -> windows_core::HRESULT,
38072 pub ShouldDisplayStatus: unsafe extern "system" fn(
38073 *mut core::ffi::c_void,
38074 *mut windows_core::BOOL,
38075 ) -> windows_core::HRESULT,
38076 pub ShouldDisplayToolbar: unsafe extern "system" fn(
38077 *mut core::ffi::c_void,
38078 *mut windows_core::BOOL,
38079 ) -> windows_core::HRESULT,
38080 pub ShouldDisplayScrollBars: unsafe extern "system" fn(
38081 *mut core::ffi::c_void,
38082 *mut windows_core::BOOL,
38083 ) -> windows_core::HRESULT,
38084}
38085pub trait ICoreWebView2WindowFeatures_Impl: windows_core::IUnknownImpl {
38086 fn HasPosition(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
38087 fn HasSize(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
38088 fn Left(&self, value: *mut u32) -> windows_core::Result<()>;
38089 fn Top(&self, value: *mut u32) -> windows_core::Result<()>;
38090 fn Height(&self, value: *mut u32) -> windows_core::Result<()>;
38091 fn Width(&self, value: *mut u32) -> windows_core::Result<()>;
38092 fn ShouldDisplayMenuBar(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
38093 fn ShouldDisplayStatus(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
38094 fn ShouldDisplayToolbar(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
38095 fn ShouldDisplayScrollBars(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
38096}
38097impl ICoreWebView2WindowFeatures_Vtbl {
38098 pub const fn new<Identity: ICoreWebView2WindowFeatures_Impl, const OFFSET: isize>() -> Self {
38099 unsafe extern "system" fn HasPosition<
38100 Identity: ICoreWebView2WindowFeatures_Impl,
38101 const OFFSET: isize,
38102 >(
38103 this: *mut core::ffi::c_void,
38104 value: *mut windows_core::BOOL,
38105 ) -> windows_core::HRESULT {
38106 unsafe {
38107 let this: &Identity =
38108 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38109 ICoreWebView2WindowFeatures_Impl::HasPosition(
38110 this,
38111 core::mem::transmute_copy(&value),
38112 )
38113 .into()
38114 }
38115 }
38116 unsafe extern "system" fn HasSize<
38117 Identity: ICoreWebView2WindowFeatures_Impl,
38118 const OFFSET: isize,
38119 >(
38120 this: *mut core::ffi::c_void,
38121 value: *mut windows_core::BOOL,
38122 ) -> windows_core::HRESULT {
38123 unsafe {
38124 let this: &Identity =
38125 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38126 ICoreWebView2WindowFeatures_Impl::HasSize(this, core::mem::transmute_copy(&value))
38127 .into()
38128 }
38129 }
38130 unsafe extern "system" fn Left<
38131 Identity: ICoreWebView2WindowFeatures_Impl,
38132 const OFFSET: isize,
38133 >(
38134 this: *mut core::ffi::c_void,
38135 value: *mut u32,
38136 ) -> windows_core::HRESULT {
38137 unsafe {
38138 let this: &Identity =
38139 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38140 ICoreWebView2WindowFeatures_Impl::Left(this, core::mem::transmute_copy(&value))
38141 .into()
38142 }
38143 }
38144 unsafe extern "system" fn Top<
38145 Identity: ICoreWebView2WindowFeatures_Impl,
38146 const OFFSET: isize,
38147 >(
38148 this: *mut core::ffi::c_void,
38149 value: *mut u32,
38150 ) -> windows_core::HRESULT {
38151 unsafe {
38152 let this: &Identity =
38153 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38154 ICoreWebView2WindowFeatures_Impl::Top(this, core::mem::transmute_copy(&value))
38155 .into()
38156 }
38157 }
38158 unsafe extern "system" fn Height<
38159 Identity: ICoreWebView2WindowFeatures_Impl,
38160 const OFFSET: isize,
38161 >(
38162 this: *mut core::ffi::c_void,
38163 value: *mut u32,
38164 ) -> windows_core::HRESULT {
38165 unsafe {
38166 let this: &Identity =
38167 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38168 ICoreWebView2WindowFeatures_Impl::Height(this, core::mem::transmute_copy(&value))
38169 .into()
38170 }
38171 }
38172 unsafe extern "system" fn Width<
38173 Identity: ICoreWebView2WindowFeatures_Impl,
38174 const OFFSET: isize,
38175 >(
38176 this: *mut core::ffi::c_void,
38177 value: *mut u32,
38178 ) -> windows_core::HRESULT {
38179 unsafe {
38180 let this: &Identity =
38181 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38182 ICoreWebView2WindowFeatures_Impl::Width(this, core::mem::transmute_copy(&value))
38183 .into()
38184 }
38185 }
38186 unsafe extern "system" fn ShouldDisplayMenuBar<
38187 Identity: ICoreWebView2WindowFeatures_Impl,
38188 const OFFSET: isize,
38189 >(
38190 this: *mut core::ffi::c_void,
38191 value: *mut windows_core::BOOL,
38192 ) -> windows_core::HRESULT {
38193 unsafe {
38194 let this: &Identity =
38195 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38196 ICoreWebView2WindowFeatures_Impl::ShouldDisplayMenuBar(
38197 this,
38198 core::mem::transmute_copy(&value),
38199 )
38200 .into()
38201 }
38202 }
38203 unsafe extern "system" fn ShouldDisplayStatus<
38204 Identity: ICoreWebView2WindowFeatures_Impl,
38205 const OFFSET: isize,
38206 >(
38207 this: *mut core::ffi::c_void,
38208 value: *mut windows_core::BOOL,
38209 ) -> windows_core::HRESULT {
38210 unsafe {
38211 let this: &Identity =
38212 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38213 ICoreWebView2WindowFeatures_Impl::ShouldDisplayStatus(
38214 this,
38215 core::mem::transmute_copy(&value),
38216 )
38217 .into()
38218 }
38219 }
38220 unsafe extern "system" fn ShouldDisplayToolbar<
38221 Identity: ICoreWebView2WindowFeatures_Impl,
38222 const OFFSET: isize,
38223 >(
38224 this: *mut core::ffi::c_void,
38225 value: *mut windows_core::BOOL,
38226 ) -> windows_core::HRESULT {
38227 unsafe {
38228 let this: &Identity =
38229 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38230 ICoreWebView2WindowFeatures_Impl::ShouldDisplayToolbar(
38231 this,
38232 core::mem::transmute_copy(&value),
38233 )
38234 .into()
38235 }
38236 }
38237 unsafe extern "system" fn ShouldDisplayScrollBars<
38238 Identity: ICoreWebView2WindowFeatures_Impl,
38239 const OFFSET: isize,
38240 >(
38241 this: *mut core::ffi::c_void,
38242 value: *mut windows_core::BOOL,
38243 ) -> windows_core::HRESULT {
38244 unsafe {
38245 let this: &Identity =
38246 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38247 ICoreWebView2WindowFeatures_Impl::ShouldDisplayScrollBars(
38248 this,
38249 core::mem::transmute_copy(&value),
38250 )
38251 .into()
38252 }
38253 }
38254 Self {
38255 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
38256 HasPosition: HasPosition::<Identity, OFFSET>,
38257 HasSize: HasSize::<Identity, OFFSET>,
38258 Left: Left::<Identity, OFFSET>,
38259 Top: Top::<Identity, OFFSET>,
38260 Height: Height::<Identity, OFFSET>,
38261 Width: Width::<Identity, OFFSET>,
38262 ShouldDisplayMenuBar: ShouldDisplayMenuBar::<Identity, OFFSET>,
38263 ShouldDisplayStatus: ShouldDisplayStatus::<Identity, OFFSET>,
38264 ShouldDisplayToolbar: ShouldDisplayToolbar::<Identity, OFFSET>,
38265 ShouldDisplayScrollBars: ShouldDisplayScrollBars::<Identity, OFFSET>,
38266 }
38267 }
38268 pub fn matches(iid: &windows_core::GUID) -> bool {
38269 iid == &<ICoreWebView2WindowFeatures as windows_core::Interface>::IID
38270 }
38271}
38272impl windows_core::RuntimeName for ICoreWebView2WindowFeatures {}
38273windows_core::imp::define_interface!(
38274 ICoreWebView2ZoomFactorChangedEventHandler,
38275 ICoreWebView2ZoomFactorChangedEventHandler_Vtbl,
38276 0xb52d71d6_c4df_4543_a90c_64a3e60f38cb
38277);
38278windows_core::imp::interface_hierarchy!(
38279 ICoreWebView2ZoomFactorChangedEventHandler,
38280 windows_core::IUnknown
38281);
38282impl ICoreWebView2ZoomFactorChangedEventHandler {
38283 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
38284 where
38285 P0: windows_core::Param<ICoreWebView2Controller>,
38286 P1: windows_core::Param<windows_core::IUnknown>,
38287 {
38288 unsafe {
38289 (windows_core::Interface::vtable(self).Invoke)(
38290 windows_core::Interface::as_raw(self),
38291 sender.param().abi(),
38292 args.param().abi(),
38293 )
38294 .ok()
38295 }
38296 }
38297}
38298#[repr(C)]
38299#[doc(hidden)]
38300pub struct ICoreWebView2ZoomFactorChangedEventHandler_Vtbl {
38301 pub base__: windows_core::IUnknown_Vtbl,
38302 pub Invoke: unsafe extern "system" fn(
38303 *mut core::ffi::c_void,
38304 *mut core::ffi::c_void,
38305 *mut core::ffi::c_void,
38306 ) -> windows_core::HRESULT,
38307}
38308pub trait ICoreWebView2ZoomFactorChangedEventHandler_Impl: windows_core::IUnknownImpl {
38309 fn Invoke(
38310 &self,
38311 sender: windows_core::Ref<'_, ICoreWebView2Controller>,
38312 args: windows_core::Ref<'_, windows_core::IUnknown>,
38313 ) -> windows_core::Result<()>;
38314}
38315impl ICoreWebView2ZoomFactorChangedEventHandler_Vtbl {
38316 pub const fn new<
38317 Identity: ICoreWebView2ZoomFactorChangedEventHandler_Impl,
38318 const OFFSET: isize,
38319 >() -> Self {
38320 unsafe extern "system" fn Invoke<
38321 Identity: ICoreWebView2ZoomFactorChangedEventHandler_Impl,
38322 const OFFSET: isize,
38323 >(
38324 this: *mut core::ffi::c_void,
38325 sender: *mut core::ffi::c_void,
38326 args: *mut core::ffi::c_void,
38327 ) -> windows_core::HRESULT {
38328 unsafe {
38329 let this: &Identity =
38330 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38331 ICoreWebView2ZoomFactorChangedEventHandler_Impl::Invoke(
38332 this,
38333 core::mem::transmute_copy(&sender),
38334 core::mem::transmute_copy(&args),
38335 )
38336 .into()
38337 }
38338 }
38339 Self {
38340 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
38341 Invoke: Invoke::<Identity, OFFSET>,
38342 }
38343 }
38344 pub fn matches(iid: &windows_core::GUID) -> bool {
38345 iid == &<ICoreWebView2ZoomFactorChangedEventHandler as windows_core::Interface>::IID
38346 }
38347}
38348impl windows_core::RuntimeName for ICoreWebView2ZoomFactorChangedEventHandler {}
38349windows_core::imp::define_interface!(
38350 ICoreWebView2_10,
38351 ICoreWebView2_10_Vtbl,
38352 0xb1690564_6f5a_4983_8e48_31d1143fecdb
38353);
38354impl core::ops::Deref for ICoreWebView2_10 {
38355 type Target = ICoreWebView2_9;
38356 fn deref(&self) -> &Self::Target {
38357 unsafe { core::mem::transmute(self) }
38358 }
38359}
38360windows_core::imp::interface_hierarchy!(
38361 ICoreWebView2_10,
38362 windows_core::IUnknown,
38363 ICoreWebView2,
38364 ICoreWebView2_2,
38365 ICoreWebView2_3,
38366 ICoreWebView2_4,
38367 ICoreWebView2_5,
38368 ICoreWebView2_6,
38369 ICoreWebView2_7,
38370 ICoreWebView2_8,
38371 ICoreWebView2_9
38372);
38373impl ICoreWebView2_10 {
38374 pub unsafe fn add_BasicAuthenticationRequested<P0>(
38375 &self,
38376 eventhandler: P0,
38377 token: *mut i64,
38378 ) -> windows_core::Result<()>
38379 where
38380 P0: windows_core::Param<ICoreWebView2BasicAuthenticationRequestedEventHandler>,
38381 {
38382 unsafe {
38383 (windows_core::Interface::vtable(self).add_BasicAuthenticationRequested)(
38384 windows_core::Interface::as_raw(self),
38385 eventhandler.param().abi(),
38386 token as _,
38387 )
38388 .ok()
38389 }
38390 }
38391 pub unsafe fn remove_BasicAuthenticationRequested(
38392 &self,
38393 token: i64,
38394 ) -> windows_core::Result<()> {
38395 unsafe {
38396 (windows_core::Interface::vtable(self).remove_BasicAuthenticationRequested)(
38397 windows_core::Interface::as_raw(self),
38398 token,
38399 )
38400 .ok()
38401 }
38402 }
38403}
38404#[repr(C)]
38405#[doc(hidden)]
38406pub struct ICoreWebView2_10_Vtbl {
38407 pub base__: ICoreWebView2_9_Vtbl,
38408 pub add_BasicAuthenticationRequested: unsafe extern "system" fn(
38409 *mut core::ffi::c_void,
38410 *mut core::ffi::c_void,
38411 *mut i64,
38412 ) -> windows_core::HRESULT,
38413 pub remove_BasicAuthenticationRequested:
38414 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
38415}
38416pub trait ICoreWebView2_10_Impl: ICoreWebView2_9_Impl {
38417 fn add_BasicAuthenticationRequested(
38418 &self,
38419 eventhandler: windows_core::Ref<'_, ICoreWebView2BasicAuthenticationRequestedEventHandler>,
38420 token: *mut i64,
38421 ) -> windows_core::Result<()>;
38422 fn remove_BasicAuthenticationRequested(&self, token: i64) -> windows_core::Result<()>;
38423}
38424impl ICoreWebView2_10_Vtbl {
38425 pub const fn new<Identity: ICoreWebView2_10_Impl, const OFFSET: isize>() -> Self {
38426 unsafe extern "system" fn add_BasicAuthenticationRequested<
38427 Identity: ICoreWebView2_10_Impl,
38428 const OFFSET: isize,
38429 >(
38430 this: *mut core::ffi::c_void,
38431 eventhandler: *mut core::ffi::c_void,
38432 token: *mut i64,
38433 ) -> windows_core::HRESULT {
38434 unsafe {
38435 let this: &Identity =
38436 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38437 ICoreWebView2_10_Impl::add_BasicAuthenticationRequested(
38438 this,
38439 core::mem::transmute_copy(&eventhandler),
38440 core::mem::transmute_copy(&token),
38441 )
38442 .into()
38443 }
38444 }
38445 unsafe extern "system" fn remove_BasicAuthenticationRequested<
38446 Identity: ICoreWebView2_10_Impl,
38447 const OFFSET: isize,
38448 >(
38449 this: *mut core::ffi::c_void,
38450 token: i64,
38451 ) -> windows_core::HRESULT {
38452 unsafe {
38453 let this: &Identity =
38454 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38455 ICoreWebView2_10_Impl::remove_BasicAuthenticationRequested(
38456 this,
38457 core::mem::transmute_copy(&token),
38458 )
38459 .into()
38460 }
38461 }
38462 Self {
38463 base__: ICoreWebView2_9_Vtbl::new::<Identity, OFFSET>(),
38464 add_BasicAuthenticationRequested: add_BasicAuthenticationRequested::<Identity, OFFSET>,
38465 remove_BasicAuthenticationRequested: remove_BasicAuthenticationRequested::<
38466 Identity,
38467 OFFSET,
38468 >,
38469 }
38470 }
38471 pub fn matches(iid: &windows_core::GUID) -> bool {
38472 iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
38473 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
38474 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
38475 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
38476 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
38477 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
38478 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
38479 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
38480 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
38481 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
38482 }
38483}
38484impl windows_core::RuntimeName for ICoreWebView2_10 {}
38485windows_core::imp::define_interface!(
38486 ICoreWebView2_11,
38487 ICoreWebView2_11_Vtbl,
38488 0x0be78e56_c193_4051_b943_23b460c08bdb
38489);
38490impl core::ops::Deref for ICoreWebView2_11 {
38491 type Target = ICoreWebView2_10;
38492 fn deref(&self) -> &Self::Target {
38493 unsafe { core::mem::transmute(self) }
38494 }
38495}
38496windows_core::imp::interface_hierarchy!(
38497 ICoreWebView2_11,
38498 windows_core::IUnknown,
38499 ICoreWebView2,
38500 ICoreWebView2_2,
38501 ICoreWebView2_3,
38502 ICoreWebView2_4,
38503 ICoreWebView2_5,
38504 ICoreWebView2_6,
38505 ICoreWebView2_7,
38506 ICoreWebView2_8,
38507 ICoreWebView2_9,
38508 ICoreWebView2_10
38509);
38510impl ICoreWebView2_11 {
38511 pub unsafe fn CallDevToolsProtocolMethodForSession<P0, P1, P2, P3>(
38512 &self,
38513 sessionid: P0,
38514 methodname: P1,
38515 parametersasjson: P2,
38516 handler: P3,
38517 ) -> windows_core::Result<()>
38518 where
38519 P0: windows_core::Param<windows_core::PCWSTR>,
38520 P1: windows_core::Param<windows_core::PCWSTR>,
38521 P2: windows_core::Param<windows_core::PCWSTR>,
38522 P3: windows_core::Param<ICoreWebView2CallDevToolsProtocolMethodCompletedHandler>,
38523 {
38524 unsafe {
38525 (windows_core::Interface::vtable(self).CallDevToolsProtocolMethodForSession)(
38526 windows_core::Interface::as_raw(self),
38527 sessionid.param().abi(),
38528 methodname.param().abi(),
38529 parametersasjson.param().abi(),
38530 handler.param().abi(),
38531 )
38532 .ok()
38533 }
38534 }
38535 pub unsafe fn add_ContextMenuRequested<P0>(
38536 &self,
38537 eventhandler: P0,
38538 token: *mut i64,
38539 ) -> windows_core::Result<()>
38540 where
38541 P0: windows_core::Param<ICoreWebView2ContextMenuRequestedEventHandler>,
38542 {
38543 unsafe {
38544 (windows_core::Interface::vtable(self).add_ContextMenuRequested)(
38545 windows_core::Interface::as_raw(self),
38546 eventhandler.param().abi(),
38547 token as _,
38548 )
38549 .ok()
38550 }
38551 }
38552 pub unsafe fn remove_ContextMenuRequested(&self, token: i64) -> windows_core::Result<()> {
38553 unsafe {
38554 (windows_core::Interface::vtable(self).remove_ContextMenuRequested)(
38555 windows_core::Interface::as_raw(self),
38556 token,
38557 )
38558 .ok()
38559 }
38560 }
38561}
38562#[repr(C)]
38563#[doc(hidden)]
38564pub struct ICoreWebView2_11_Vtbl {
38565 pub base__: ICoreWebView2_10_Vtbl,
38566 pub CallDevToolsProtocolMethodForSession: unsafe extern "system" fn(
38567 *mut core::ffi::c_void,
38568 windows_core::PCWSTR,
38569 windows_core::PCWSTR,
38570 windows_core::PCWSTR,
38571 *mut core::ffi::c_void,
38572 )
38573 -> windows_core::HRESULT,
38574 pub add_ContextMenuRequested: unsafe extern "system" fn(
38575 *mut core::ffi::c_void,
38576 *mut core::ffi::c_void,
38577 *mut i64,
38578 ) -> windows_core::HRESULT,
38579 pub remove_ContextMenuRequested:
38580 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
38581}
38582pub trait ICoreWebView2_11_Impl: ICoreWebView2_10_Impl {
38583 fn CallDevToolsProtocolMethodForSession(
38584 &self,
38585 sessionid: &windows_core::PCWSTR,
38586 methodname: &windows_core::PCWSTR,
38587 parametersasjson: &windows_core::PCWSTR,
38588 handler: windows_core::Ref<'_, ICoreWebView2CallDevToolsProtocolMethodCompletedHandler>,
38589 ) -> windows_core::Result<()>;
38590 fn add_ContextMenuRequested(
38591 &self,
38592 eventhandler: windows_core::Ref<'_, ICoreWebView2ContextMenuRequestedEventHandler>,
38593 token: *mut i64,
38594 ) -> windows_core::Result<()>;
38595 fn remove_ContextMenuRequested(&self, token: i64) -> windows_core::Result<()>;
38596}
38597impl ICoreWebView2_11_Vtbl {
38598 pub const fn new<Identity: ICoreWebView2_11_Impl, const OFFSET: isize>() -> Self {
38599 unsafe extern "system" fn CallDevToolsProtocolMethodForSession<
38600 Identity: ICoreWebView2_11_Impl,
38601 const OFFSET: isize,
38602 >(
38603 this: *mut core::ffi::c_void,
38604 sessionid: windows_core::PCWSTR,
38605 methodname: windows_core::PCWSTR,
38606 parametersasjson: windows_core::PCWSTR,
38607 handler: *mut core::ffi::c_void,
38608 ) -> windows_core::HRESULT {
38609 unsafe {
38610 let this: &Identity =
38611 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38612 ICoreWebView2_11_Impl::CallDevToolsProtocolMethodForSession(
38613 this,
38614 core::mem::transmute(&sessionid),
38615 core::mem::transmute(&methodname),
38616 core::mem::transmute(¶metersasjson),
38617 core::mem::transmute_copy(&handler),
38618 )
38619 .into()
38620 }
38621 }
38622 unsafe extern "system" fn add_ContextMenuRequested<
38623 Identity: ICoreWebView2_11_Impl,
38624 const OFFSET: isize,
38625 >(
38626 this: *mut core::ffi::c_void,
38627 eventhandler: *mut core::ffi::c_void,
38628 token: *mut i64,
38629 ) -> windows_core::HRESULT {
38630 unsafe {
38631 let this: &Identity =
38632 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38633 ICoreWebView2_11_Impl::add_ContextMenuRequested(
38634 this,
38635 core::mem::transmute_copy(&eventhandler),
38636 core::mem::transmute_copy(&token),
38637 )
38638 .into()
38639 }
38640 }
38641 unsafe extern "system" fn remove_ContextMenuRequested<
38642 Identity: ICoreWebView2_11_Impl,
38643 const OFFSET: isize,
38644 >(
38645 this: *mut core::ffi::c_void,
38646 token: i64,
38647 ) -> windows_core::HRESULT {
38648 unsafe {
38649 let this: &Identity =
38650 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38651 ICoreWebView2_11_Impl::remove_ContextMenuRequested(
38652 this,
38653 core::mem::transmute_copy(&token),
38654 )
38655 .into()
38656 }
38657 }
38658 Self {
38659 base__: ICoreWebView2_10_Vtbl::new::<Identity, OFFSET>(),
38660 CallDevToolsProtocolMethodForSession: CallDevToolsProtocolMethodForSession::<
38661 Identity,
38662 OFFSET,
38663 >,
38664 add_ContextMenuRequested: add_ContextMenuRequested::<Identity, OFFSET>,
38665 remove_ContextMenuRequested: remove_ContextMenuRequested::<Identity, OFFSET>,
38666 }
38667 }
38668 pub fn matches(iid: &windows_core::GUID) -> bool {
38669 iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
38670 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
38671 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
38672 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
38673 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
38674 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
38675 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
38676 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
38677 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
38678 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
38679 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
38680 }
38681}
38682impl windows_core::RuntimeName for ICoreWebView2_11 {}
38683windows_core::imp::define_interface!(
38684 ICoreWebView2_12,
38685 ICoreWebView2_12_Vtbl,
38686 0x35d69927_bcfa_4566_9349_6b3e0d154cac
38687);
38688impl core::ops::Deref for ICoreWebView2_12 {
38689 type Target = ICoreWebView2_11;
38690 fn deref(&self) -> &Self::Target {
38691 unsafe { core::mem::transmute(self) }
38692 }
38693}
38694windows_core::imp::interface_hierarchy!(
38695 ICoreWebView2_12,
38696 windows_core::IUnknown,
38697 ICoreWebView2,
38698 ICoreWebView2_2,
38699 ICoreWebView2_3,
38700 ICoreWebView2_4,
38701 ICoreWebView2_5,
38702 ICoreWebView2_6,
38703 ICoreWebView2_7,
38704 ICoreWebView2_8,
38705 ICoreWebView2_9,
38706 ICoreWebView2_10,
38707 ICoreWebView2_11
38708);
38709impl ICoreWebView2_12 {
38710 pub unsafe fn add_StatusBarTextChanged<P0>(
38711 &self,
38712 eventhandler: P0,
38713 token: *mut i64,
38714 ) -> windows_core::Result<()>
38715 where
38716 P0: windows_core::Param<ICoreWebView2StatusBarTextChangedEventHandler>,
38717 {
38718 unsafe {
38719 (windows_core::Interface::vtable(self).add_StatusBarTextChanged)(
38720 windows_core::Interface::as_raw(self),
38721 eventhandler.param().abi(),
38722 token as _,
38723 )
38724 .ok()
38725 }
38726 }
38727 pub unsafe fn remove_StatusBarTextChanged(&self, token: i64) -> windows_core::Result<()> {
38728 unsafe {
38729 (windows_core::Interface::vtable(self).remove_StatusBarTextChanged)(
38730 windows_core::Interface::as_raw(self),
38731 token,
38732 )
38733 .ok()
38734 }
38735 }
38736 pub unsafe fn StatusBarText(
38737 &self,
38738 value: *mut windows_core::PWSTR,
38739 ) -> windows_core::Result<()> {
38740 unsafe {
38741 (windows_core::Interface::vtable(self).StatusBarText)(
38742 windows_core::Interface::as_raw(self),
38743 value as _,
38744 )
38745 .ok()
38746 }
38747 }
38748}
38749#[repr(C)]
38750#[doc(hidden)]
38751pub struct ICoreWebView2_12_Vtbl {
38752 pub base__: ICoreWebView2_11_Vtbl,
38753 pub add_StatusBarTextChanged: unsafe extern "system" fn(
38754 *mut core::ffi::c_void,
38755 *mut core::ffi::c_void,
38756 *mut i64,
38757 ) -> windows_core::HRESULT,
38758 pub remove_StatusBarTextChanged:
38759 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
38760 pub StatusBarText: unsafe extern "system" fn(
38761 *mut core::ffi::c_void,
38762 *mut windows_core::PWSTR,
38763 ) -> windows_core::HRESULT,
38764}
38765pub trait ICoreWebView2_12_Impl: ICoreWebView2_11_Impl {
38766 fn add_StatusBarTextChanged(
38767 &self,
38768 eventhandler: windows_core::Ref<'_, ICoreWebView2StatusBarTextChangedEventHandler>,
38769 token: *mut i64,
38770 ) -> windows_core::Result<()>;
38771 fn remove_StatusBarTextChanged(&self, token: i64) -> windows_core::Result<()>;
38772 fn StatusBarText(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
38773}
38774impl ICoreWebView2_12_Vtbl {
38775 pub const fn new<Identity: ICoreWebView2_12_Impl, const OFFSET: isize>() -> Self {
38776 unsafe extern "system" fn add_StatusBarTextChanged<
38777 Identity: ICoreWebView2_12_Impl,
38778 const OFFSET: isize,
38779 >(
38780 this: *mut core::ffi::c_void,
38781 eventhandler: *mut core::ffi::c_void,
38782 token: *mut i64,
38783 ) -> windows_core::HRESULT {
38784 unsafe {
38785 let this: &Identity =
38786 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38787 ICoreWebView2_12_Impl::add_StatusBarTextChanged(
38788 this,
38789 core::mem::transmute_copy(&eventhandler),
38790 core::mem::transmute_copy(&token),
38791 )
38792 .into()
38793 }
38794 }
38795 unsafe extern "system" fn remove_StatusBarTextChanged<
38796 Identity: ICoreWebView2_12_Impl,
38797 const OFFSET: isize,
38798 >(
38799 this: *mut core::ffi::c_void,
38800 token: i64,
38801 ) -> windows_core::HRESULT {
38802 unsafe {
38803 let this: &Identity =
38804 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38805 ICoreWebView2_12_Impl::remove_StatusBarTextChanged(
38806 this,
38807 core::mem::transmute_copy(&token),
38808 )
38809 .into()
38810 }
38811 }
38812 unsafe extern "system" fn StatusBarText<
38813 Identity: ICoreWebView2_12_Impl,
38814 const OFFSET: isize,
38815 >(
38816 this: *mut core::ffi::c_void,
38817 value: *mut windows_core::PWSTR,
38818 ) -> windows_core::HRESULT {
38819 unsafe {
38820 let this: &Identity =
38821 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38822 ICoreWebView2_12_Impl::StatusBarText(this, core::mem::transmute_copy(&value)).into()
38823 }
38824 }
38825 Self {
38826 base__: ICoreWebView2_11_Vtbl::new::<Identity, OFFSET>(),
38827 add_StatusBarTextChanged: add_StatusBarTextChanged::<Identity, OFFSET>,
38828 remove_StatusBarTextChanged: remove_StatusBarTextChanged::<Identity, OFFSET>,
38829 StatusBarText: StatusBarText::<Identity, OFFSET>,
38830 }
38831 }
38832 pub fn matches(iid: &windows_core::GUID) -> bool {
38833 iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
38834 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
38835 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
38836 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
38837 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
38838 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
38839 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
38840 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
38841 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
38842 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
38843 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
38844 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
38845 }
38846}
38847impl windows_core::RuntimeName for ICoreWebView2_12 {}
38848windows_core::imp::define_interface!(
38849 ICoreWebView2_13,
38850 ICoreWebView2_13_Vtbl,
38851 0xf75f09a8_667e_4983_88d6_c8773f315e84
38852);
38853impl core::ops::Deref for ICoreWebView2_13 {
38854 type Target = ICoreWebView2_12;
38855 fn deref(&self) -> &Self::Target {
38856 unsafe { core::mem::transmute(self) }
38857 }
38858}
38859windows_core::imp::interface_hierarchy!(
38860 ICoreWebView2_13,
38861 windows_core::IUnknown,
38862 ICoreWebView2,
38863 ICoreWebView2_2,
38864 ICoreWebView2_3,
38865 ICoreWebView2_4,
38866 ICoreWebView2_5,
38867 ICoreWebView2_6,
38868 ICoreWebView2_7,
38869 ICoreWebView2_8,
38870 ICoreWebView2_9,
38871 ICoreWebView2_10,
38872 ICoreWebView2_11,
38873 ICoreWebView2_12
38874);
38875impl ICoreWebView2_13 {
38876 pub unsafe fn Profile(&self) -> windows_core::Result<ICoreWebView2Profile> {
38877 unsafe {
38878 let mut result__ = core::mem::zeroed();
38879 (windows_core::Interface::vtable(self).Profile)(
38880 windows_core::Interface::as_raw(self),
38881 &mut result__,
38882 )
38883 .and_then(|| windows_core::Type::from_abi(result__))
38884 }
38885 }
38886}
38887#[repr(C)]
38888#[doc(hidden)]
38889pub struct ICoreWebView2_13_Vtbl {
38890 pub base__: ICoreWebView2_12_Vtbl,
38891 pub Profile: unsafe extern "system" fn(
38892 *mut core::ffi::c_void,
38893 *mut *mut core::ffi::c_void,
38894 ) -> windows_core::HRESULT,
38895}
38896pub trait ICoreWebView2_13_Impl: ICoreWebView2_12_Impl {
38897 fn Profile(&self) -> windows_core::Result<ICoreWebView2Profile>;
38898}
38899impl ICoreWebView2_13_Vtbl {
38900 pub const fn new<Identity: ICoreWebView2_13_Impl, const OFFSET: isize>() -> Self {
38901 unsafe extern "system" fn Profile<Identity: ICoreWebView2_13_Impl, const OFFSET: isize>(
38902 this: *mut core::ffi::c_void,
38903 value: *mut *mut core::ffi::c_void,
38904 ) -> windows_core::HRESULT {
38905 unsafe {
38906 let this: &Identity =
38907 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38908 match ICoreWebView2_13_Impl::Profile(this) {
38909 Ok(ok__) => {
38910 value.write(core::mem::transmute(ok__));
38911 windows_core::HRESULT(0)
38912 }
38913 Err(err) => err.into(),
38914 }
38915 }
38916 }
38917 Self {
38918 base__: ICoreWebView2_12_Vtbl::new::<Identity, OFFSET>(),
38919 Profile: Profile::<Identity, OFFSET>,
38920 }
38921 }
38922 pub fn matches(iid: &windows_core::GUID) -> bool {
38923 iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
38924 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
38925 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
38926 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
38927 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
38928 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
38929 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
38930 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
38931 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
38932 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
38933 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
38934 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
38935 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
38936 }
38937}
38938impl windows_core::RuntimeName for ICoreWebView2_13 {}
38939windows_core::imp::define_interface!(
38940 ICoreWebView2_14,
38941 ICoreWebView2_14_Vtbl,
38942 0x6daa4f10_4a90_4753_8898_77c5df534165
38943);
38944impl core::ops::Deref for ICoreWebView2_14 {
38945 type Target = ICoreWebView2_13;
38946 fn deref(&self) -> &Self::Target {
38947 unsafe { core::mem::transmute(self) }
38948 }
38949}
38950windows_core::imp::interface_hierarchy!(
38951 ICoreWebView2_14,
38952 windows_core::IUnknown,
38953 ICoreWebView2,
38954 ICoreWebView2_2,
38955 ICoreWebView2_3,
38956 ICoreWebView2_4,
38957 ICoreWebView2_5,
38958 ICoreWebView2_6,
38959 ICoreWebView2_7,
38960 ICoreWebView2_8,
38961 ICoreWebView2_9,
38962 ICoreWebView2_10,
38963 ICoreWebView2_11,
38964 ICoreWebView2_12,
38965 ICoreWebView2_13
38966);
38967impl ICoreWebView2_14 {
38968 pub unsafe fn add_ServerCertificateErrorDetected<P0>(
38969 &self,
38970 eventhandler: P0,
38971 token: *mut i64,
38972 ) -> windows_core::Result<()>
38973 where
38974 P0: windows_core::Param<ICoreWebView2ServerCertificateErrorDetectedEventHandler>,
38975 {
38976 unsafe {
38977 (windows_core::Interface::vtable(self).add_ServerCertificateErrorDetected)(
38978 windows_core::Interface::as_raw(self),
38979 eventhandler.param().abi(),
38980 token as _,
38981 )
38982 .ok()
38983 }
38984 }
38985 pub unsafe fn remove_ServerCertificateErrorDetected(
38986 &self,
38987 token: i64,
38988 ) -> windows_core::Result<()> {
38989 unsafe {
38990 (windows_core::Interface::vtable(self).remove_ServerCertificateErrorDetected)(
38991 windows_core::Interface::as_raw(self),
38992 token,
38993 )
38994 .ok()
38995 }
38996 }
38997 pub unsafe fn ClearServerCertificateErrorActions<P0>(
38998 &self,
38999 handler: P0,
39000 ) -> windows_core::Result<()>
39001 where
39002 P0: windows_core::Param<ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler>,
39003 {
39004 unsafe {
39005 (windows_core::Interface::vtable(self).ClearServerCertificateErrorActions)(
39006 windows_core::Interface::as_raw(self),
39007 handler.param().abi(),
39008 )
39009 .ok()
39010 }
39011 }
39012}
39013#[repr(C)]
39014#[doc(hidden)]
39015pub struct ICoreWebView2_14_Vtbl {
39016 pub base__: ICoreWebView2_13_Vtbl,
39017 pub add_ServerCertificateErrorDetected: unsafe extern "system" fn(
39018 *mut core::ffi::c_void,
39019 *mut core::ffi::c_void,
39020 *mut i64,
39021 ) -> windows_core::HRESULT,
39022 pub remove_ServerCertificateErrorDetected:
39023 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
39024 pub ClearServerCertificateErrorActions: unsafe extern "system" fn(
39025 *mut core::ffi::c_void,
39026 *mut core::ffi::c_void,
39027 ) -> windows_core::HRESULT,
39028}
39029pub trait ICoreWebView2_14_Impl: ICoreWebView2_13_Impl {
39030 fn add_ServerCertificateErrorDetected(
39031 &self,
39032 eventhandler: windows_core::Ref<
39033 '_,
39034 ICoreWebView2ServerCertificateErrorDetectedEventHandler,
39035 >,
39036 token: *mut i64,
39037 ) -> windows_core::Result<()>;
39038 fn remove_ServerCertificateErrorDetected(&self, token: i64) -> windows_core::Result<()>;
39039 fn ClearServerCertificateErrorActions(
39040 &self,
39041 handler: windows_core::Ref<
39042 '_,
39043 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler,
39044 >,
39045 ) -> windows_core::Result<()>;
39046}
39047impl ICoreWebView2_14_Vtbl {
39048 pub const fn new<Identity: ICoreWebView2_14_Impl, const OFFSET: isize>() -> Self {
39049 unsafe extern "system" fn add_ServerCertificateErrorDetected<
39050 Identity: ICoreWebView2_14_Impl,
39051 const OFFSET: isize,
39052 >(
39053 this: *mut core::ffi::c_void,
39054 eventhandler: *mut core::ffi::c_void,
39055 token: *mut i64,
39056 ) -> windows_core::HRESULT {
39057 unsafe {
39058 let this: &Identity =
39059 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39060 ICoreWebView2_14_Impl::add_ServerCertificateErrorDetected(
39061 this,
39062 core::mem::transmute_copy(&eventhandler),
39063 core::mem::transmute_copy(&token),
39064 )
39065 .into()
39066 }
39067 }
39068 unsafe extern "system" fn remove_ServerCertificateErrorDetected<
39069 Identity: ICoreWebView2_14_Impl,
39070 const OFFSET: isize,
39071 >(
39072 this: *mut core::ffi::c_void,
39073 token: i64,
39074 ) -> windows_core::HRESULT {
39075 unsafe {
39076 let this: &Identity =
39077 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39078 ICoreWebView2_14_Impl::remove_ServerCertificateErrorDetected(
39079 this,
39080 core::mem::transmute_copy(&token),
39081 )
39082 .into()
39083 }
39084 }
39085 unsafe extern "system" fn ClearServerCertificateErrorActions<
39086 Identity: ICoreWebView2_14_Impl,
39087 const OFFSET: isize,
39088 >(
39089 this: *mut core::ffi::c_void,
39090 handler: *mut core::ffi::c_void,
39091 ) -> windows_core::HRESULT {
39092 unsafe {
39093 let this: &Identity =
39094 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39095 ICoreWebView2_14_Impl::ClearServerCertificateErrorActions(
39096 this,
39097 core::mem::transmute_copy(&handler),
39098 )
39099 .into()
39100 }
39101 }
39102 Self {
39103 base__: ICoreWebView2_13_Vtbl::new::<Identity, OFFSET>(),
39104 add_ServerCertificateErrorDetected: add_ServerCertificateErrorDetected::<
39105 Identity,
39106 OFFSET,
39107 >,
39108 remove_ServerCertificateErrorDetected: remove_ServerCertificateErrorDetected::<
39109 Identity,
39110 OFFSET,
39111 >,
39112 ClearServerCertificateErrorActions: ClearServerCertificateErrorActions::<
39113 Identity,
39114 OFFSET,
39115 >,
39116 }
39117 }
39118 pub fn matches(iid: &windows_core::GUID) -> bool {
39119 iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
39120 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
39121 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
39122 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
39123 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
39124 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
39125 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
39126 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
39127 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
39128 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
39129 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
39130 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
39131 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
39132 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
39133 }
39134}
39135impl windows_core::RuntimeName for ICoreWebView2_14 {}
39136windows_core::imp::define_interface!(
39137 ICoreWebView2_15,
39138 ICoreWebView2_15_Vtbl,
39139 0x517b2d1d_7dae_4a66_a4f4_10352ffb9518
39140);
39141impl core::ops::Deref for ICoreWebView2_15 {
39142 type Target = ICoreWebView2_14;
39143 fn deref(&self) -> &Self::Target {
39144 unsafe { core::mem::transmute(self) }
39145 }
39146}
39147windows_core::imp::interface_hierarchy!(
39148 ICoreWebView2_15,
39149 windows_core::IUnknown,
39150 ICoreWebView2,
39151 ICoreWebView2_2,
39152 ICoreWebView2_3,
39153 ICoreWebView2_4,
39154 ICoreWebView2_5,
39155 ICoreWebView2_6,
39156 ICoreWebView2_7,
39157 ICoreWebView2_8,
39158 ICoreWebView2_9,
39159 ICoreWebView2_10,
39160 ICoreWebView2_11,
39161 ICoreWebView2_12,
39162 ICoreWebView2_13,
39163 ICoreWebView2_14
39164);
39165impl ICoreWebView2_15 {
39166 pub unsafe fn add_FaviconChanged<P0>(
39167 &self,
39168 eventhandler: P0,
39169 token: *mut i64,
39170 ) -> windows_core::Result<()>
39171 where
39172 P0: windows_core::Param<ICoreWebView2FaviconChangedEventHandler>,
39173 {
39174 unsafe {
39175 (windows_core::Interface::vtable(self).add_FaviconChanged)(
39176 windows_core::Interface::as_raw(self),
39177 eventhandler.param().abi(),
39178 token as _,
39179 )
39180 .ok()
39181 }
39182 }
39183 pub unsafe fn remove_FaviconChanged(&self, token: i64) -> windows_core::Result<()> {
39184 unsafe {
39185 (windows_core::Interface::vtable(self).remove_FaviconChanged)(
39186 windows_core::Interface::as_raw(self),
39187 token,
39188 )
39189 .ok()
39190 }
39191 }
39192 pub unsafe fn FaviconUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
39193 unsafe {
39194 (windows_core::Interface::vtable(self).FaviconUri)(
39195 windows_core::Interface::as_raw(self),
39196 value as _,
39197 )
39198 .ok()
39199 }
39200 }
39201 pub unsafe fn GetFavicon<P1>(
39202 &self,
39203 format: COREWEBVIEW2_FAVICON_IMAGE_FORMAT,
39204 completedhandler: P1,
39205 ) -> windows_core::Result<()>
39206 where
39207 P1: windows_core::Param<ICoreWebView2GetFaviconCompletedHandler>,
39208 {
39209 unsafe {
39210 (windows_core::Interface::vtable(self).GetFavicon)(
39211 windows_core::Interface::as_raw(self),
39212 format,
39213 completedhandler.param().abi(),
39214 )
39215 .ok()
39216 }
39217 }
39218}
39219#[repr(C)]
39220#[doc(hidden)]
39221pub struct ICoreWebView2_15_Vtbl {
39222 pub base__: ICoreWebView2_14_Vtbl,
39223 pub add_FaviconChanged: unsafe extern "system" fn(
39224 *mut core::ffi::c_void,
39225 *mut core::ffi::c_void,
39226 *mut i64,
39227 ) -> windows_core::HRESULT,
39228 pub remove_FaviconChanged:
39229 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
39230 pub FaviconUri: unsafe extern "system" fn(
39231 *mut core::ffi::c_void,
39232 *mut windows_core::PWSTR,
39233 ) -> windows_core::HRESULT,
39234 pub GetFavicon: unsafe extern "system" fn(
39235 *mut core::ffi::c_void,
39236 COREWEBVIEW2_FAVICON_IMAGE_FORMAT,
39237 *mut core::ffi::c_void,
39238 ) -> windows_core::HRESULT,
39239}
39240pub trait ICoreWebView2_15_Impl: ICoreWebView2_14_Impl {
39241 fn add_FaviconChanged(
39242 &self,
39243 eventhandler: windows_core::Ref<'_, ICoreWebView2FaviconChangedEventHandler>,
39244 token: *mut i64,
39245 ) -> windows_core::Result<()>;
39246 fn remove_FaviconChanged(&self, token: i64) -> windows_core::Result<()>;
39247 fn FaviconUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
39248 fn GetFavicon(
39249 &self,
39250 format: COREWEBVIEW2_FAVICON_IMAGE_FORMAT,
39251 completedhandler: windows_core::Ref<'_, ICoreWebView2GetFaviconCompletedHandler>,
39252 ) -> windows_core::Result<()>;
39253}
39254impl ICoreWebView2_15_Vtbl {
39255 pub const fn new<Identity: ICoreWebView2_15_Impl, const OFFSET: isize>() -> Self {
39256 unsafe extern "system" fn add_FaviconChanged<
39257 Identity: ICoreWebView2_15_Impl,
39258 const OFFSET: isize,
39259 >(
39260 this: *mut core::ffi::c_void,
39261 eventhandler: *mut core::ffi::c_void,
39262 token: *mut i64,
39263 ) -> windows_core::HRESULT {
39264 unsafe {
39265 let this: &Identity =
39266 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39267 ICoreWebView2_15_Impl::add_FaviconChanged(
39268 this,
39269 core::mem::transmute_copy(&eventhandler),
39270 core::mem::transmute_copy(&token),
39271 )
39272 .into()
39273 }
39274 }
39275 unsafe extern "system" fn remove_FaviconChanged<
39276 Identity: ICoreWebView2_15_Impl,
39277 const OFFSET: isize,
39278 >(
39279 this: *mut core::ffi::c_void,
39280 token: i64,
39281 ) -> windows_core::HRESULT {
39282 unsafe {
39283 let this: &Identity =
39284 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39285 ICoreWebView2_15_Impl::remove_FaviconChanged(
39286 this,
39287 core::mem::transmute_copy(&token),
39288 )
39289 .into()
39290 }
39291 }
39292 unsafe extern "system" fn FaviconUri<
39293 Identity: ICoreWebView2_15_Impl,
39294 const OFFSET: isize,
39295 >(
39296 this: *mut core::ffi::c_void,
39297 value: *mut windows_core::PWSTR,
39298 ) -> windows_core::HRESULT {
39299 unsafe {
39300 let this: &Identity =
39301 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39302 ICoreWebView2_15_Impl::FaviconUri(this, core::mem::transmute_copy(&value)).into()
39303 }
39304 }
39305 unsafe extern "system" fn GetFavicon<
39306 Identity: ICoreWebView2_15_Impl,
39307 const OFFSET: isize,
39308 >(
39309 this: *mut core::ffi::c_void,
39310 format: COREWEBVIEW2_FAVICON_IMAGE_FORMAT,
39311 completedhandler: *mut core::ffi::c_void,
39312 ) -> windows_core::HRESULT {
39313 unsafe {
39314 let this: &Identity =
39315 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39316 ICoreWebView2_15_Impl::GetFavicon(
39317 this,
39318 core::mem::transmute_copy(&format),
39319 core::mem::transmute_copy(&completedhandler),
39320 )
39321 .into()
39322 }
39323 }
39324 Self {
39325 base__: ICoreWebView2_14_Vtbl::new::<Identity, OFFSET>(),
39326 add_FaviconChanged: add_FaviconChanged::<Identity, OFFSET>,
39327 remove_FaviconChanged: remove_FaviconChanged::<Identity, OFFSET>,
39328 FaviconUri: FaviconUri::<Identity, OFFSET>,
39329 GetFavicon: GetFavicon::<Identity, OFFSET>,
39330 }
39331 }
39332 pub fn matches(iid: &windows_core::GUID) -> bool {
39333 iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
39334 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
39335 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
39336 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
39337 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
39338 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
39339 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
39340 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
39341 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
39342 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
39343 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
39344 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
39345 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
39346 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
39347 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
39348 }
39349}
39350impl windows_core::RuntimeName for ICoreWebView2_15 {}
39351windows_core::imp::define_interface!(
39352 ICoreWebView2_16,
39353 ICoreWebView2_16_Vtbl,
39354 0x0eb34dc9_9f91_41e1_8639_95cd5943906b
39355);
39356impl core::ops::Deref for ICoreWebView2_16 {
39357 type Target = ICoreWebView2_15;
39358 fn deref(&self) -> &Self::Target {
39359 unsafe { core::mem::transmute(self) }
39360 }
39361}
39362windows_core::imp::interface_hierarchy!(
39363 ICoreWebView2_16,
39364 windows_core::IUnknown,
39365 ICoreWebView2,
39366 ICoreWebView2_2,
39367 ICoreWebView2_3,
39368 ICoreWebView2_4,
39369 ICoreWebView2_5,
39370 ICoreWebView2_6,
39371 ICoreWebView2_7,
39372 ICoreWebView2_8,
39373 ICoreWebView2_9,
39374 ICoreWebView2_10,
39375 ICoreWebView2_11,
39376 ICoreWebView2_12,
39377 ICoreWebView2_13,
39378 ICoreWebView2_14,
39379 ICoreWebView2_15
39380);
39381impl ICoreWebView2_16 {
39382 pub unsafe fn Print<P0, P1>(&self, printsettings: P0, handler: P1) -> windows_core::Result<()>
39383 where
39384 P0: windows_core::Param<ICoreWebView2PrintSettings>,
39385 P1: windows_core::Param<ICoreWebView2PrintCompletedHandler>,
39386 {
39387 unsafe {
39388 (windows_core::Interface::vtable(self).Print)(
39389 windows_core::Interface::as_raw(self),
39390 printsettings.param().abi(),
39391 handler.param().abi(),
39392 )
39393 .ok()
39394 }
39395 }
39396 pub unsafe fn ShowPrintUI(
39397 &self,
39398 printdialogkind: COREWEBVIEW2_PRINT_DIALOG_KIND,
39399 ) -> windows_core::Result<()> {
39400 unsafe {
39401 (windows_core::Interface::vtable(self).ShowPrintUI)(
39402 windows_core::Interface::as_raw(self),
39403 printdialogkind,
39404 )
39405 .ok()
39406 }
39407 }
39408 pub unsafe fn PrintToPdfStream<P0, P1>(
39409 &self,
39410 printsettings: P0,
39411 handler: P1,
39412 ) -> windows_core::Result<()>
39413 where
39414 P0: windows_core::Param<ICoreWebView2PrintSettings>,
39415 P1: windows_core::Param<ICoreWebView2PrintToPdfStreamCompletedHandler>,
39416 {
39417 unsafe {
39418 (windows_core::Interface::vtable(self).PrintToPdfStream)(
39419 windows_core::Interface::as_raw(self),
39420 printsettings.param().abi(),
39421 handler.param().abi(),
39422 )
39423 .ok()
39424 }
39425 }
39426}
39427#[repr(C)]
39428#[doc(hidden)]
39429pub struct ICoreWebView2_16_Vtbl {
39430 pub base__: ICoreWebView2_15_Vtbl,
39431 pub Print: unsafe extern "system" fn(
39432 *mut core::ffi::c_void,
39433 *mut core::ffi::c_void,
39434 *mut core::ffi::c_void,
39435 ) -> windows_core::HRESULT,
39436 pub ShowPrintUI: unsafe extern "system" fn(
39437 *mut core::ffi::c_void,
39438 COREWEBVIEW2_PRINT_DIALOG_KIND,
39439 ) -> windows_core::HRESULT,
39440 pub PrintToPdfStream: unsafe extern "system" fn(
39441 *mut core::ffi::c_void,
39442 *mut core::ffi::c_void,
39443 *mut core::ffi::c_void,
39444 ) -> windows_core::HRESULT,
39445}
39446pub trait ICoreWebView2_16_Impl: ICoreWebView2_15_Impl {
39447 fn Print(
39448 &self,
39449 printsettings: windows_core::Ref<'_, ICoreWebView2PrintSettings>,
39450 handler: windows_core::Ref<'_, ICoreWebView2PrintCompletedHandler>,
39451 ) -> windows_core::Result<()>;
39452 fn ShowPrintUI(
39453 &self,
39454 printdialogkind: COREWEBVIEW2_PRINT_DIALOG_KIND,
39455 ) -> windows_core::Result<()>;
39456 fn PrintToPdfStream(
39457 &self,
39458 printsettings: windows_core::Ref<'_, ICoreWebView2PrintSettings>,
39459 handler: windows_core::Ref<'_, ICoreWebView2PrintToPdfStreamCompletedHandler>,
39460 ) -> windows_core::Result<()>;
39461}
39462impl ICoreWebView2_16_Vtbl {
39463 pub const fn new<Identity: ICoreWebView2_16_Impl, const OFFSET: isize>() -> Self {
39464 unsafe extern "system" fn Print<Identity: ICoreWebView2_16_Impl, const OFFSET: isize>(
39465 this: *mut core::ffi::c_void,
39466 printsettings: *mut core::ffi::c_void,
39467 handler: *mut core::ffi::c_void,
39468 ) -> windows_core::HRESULT {
39469 unsafe {
39470 let this: &Identity =
39471 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39472 ICoreWebView2_16_Impl::Print(
39473 this,
39474 core::mem::transmute_copy(&printsettings),
39475 core::mem::transmute_copy(&handler),
39476 )
39477 .into()
39478 }
39479 }
39480 unsafe extern "system" fn ShowPrintUI<
39481 Identity: ICoreWebView2_16_Impl,
39482 const OFFSET: isize,
39483 >(
39484 this: *mut core::ffi::c_void,
39485 printdialogkind: COREWEBVIEW2_PRINT_DIALOG_KIND,
39486 ) -> windows_core::HRESULT {
39487 unsafe {
39488 let this: &Identity =
39489 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39490 ICoreWebView2_16_Impl::ShowPrintUI(
39491 this,
39492 core::mem::transmute_copy(&printdialogkind),
39493 )
39494 .into()
39495 }
39496 }
39497 unsafe extern "system" fn PrintToPdfStream<
39498 Identity: ICoreWebView2_16_Impl,
39499 const OFFSET: isize,
39500 >(
39501 this: *mut core::ffi::c_void,
39502 printsettings: *mut core::ffi::c_void,
39503 handler: *mut core::ffi::c_void,
39504 ) -> windows_core::HRESULT {
39505 unsafe {
39506 let this: &Identity =
39507 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39508 ICoreWebView2_16_Impl::PrintToPdfStream(
39509 this,
39510 core::mem::transmute_copy(&printsettings),
39511 core::mem::transmute_copy(&handler),
39512 )
39513 .into()
39514 }
39515 }
39516 Self {
39517 base__: ICoreWebView2_15_Vtbl::new::<Identity, OFFSET>(),
39518 Print: Print::<Identity, OFFSET>,
39519 ShowPrintUI: ShowPrintUI::<Identity, OFFSET>,
39520 PrintToPdfStream: PrintToPdfStream::<Identity, OFFSET>,
39521 }
39522 }
39523 pub fn matches(iid: &windows_core::GUID) -> bool {
39524 iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
39525 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
39526 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
39527 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
39528 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
39529 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
39530 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
39531 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
39532 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
39533 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
39534 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
39535 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
39536 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
39537 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
39538 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
39539 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
39540 }
39541}
39542impl windows_core::RuntimeName for ICoreWebView2_16 {}
39543windows_core::imp::define_interface!(
39544 ICoreWebView2_17,
39545 ICoreWebView2_17_Vtbl,
39546 0x702e75d4_fd44_434d_9d70_1a68a6b1192a
39547);
39548impl core::ops::Deref for ICoreWebView2_17 {
39549 type Target = ICoreWebView2_16;
39550 fn deref(&self) -> &Self::Target {
39551 unsafe { core::mem::transmute(self) }
39552 }
39553}
39554windows_core::imp::interface_hierarchy!(
39555 ICoreWebView2_17,
39556 windows_core::IUnknown,
39557 ICoreWebView2,
39558 ICoreWebView2_2,
39559 ICoreWebView2_3,
39560 ICoreWebView2_4,
39561 ICoreWebView2_5,
39562 ICoreWebView2_6,
39563 ICoreWebView2_7,
39564 ICoreWebView2_8,
39565 ICoreWebView2_9,
39566 ICoreWebView2_10,
39567 ICoreWebView2_11,
39568 ICoreWebView2_12,
39569 ICoreWebView2_13,
39570 ICoreWebView2_14,
39571 ICoreWebView2_15,
39572 ICoreWebView2_16
39573);
39574impl ICoreWebView2_17 {
39575 pub unsafe fn PostSharedBufferToScript<P0, P2>(
39576 &self,
39577 sharedbuffer: P0,
39578 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
39579 additionaldataasjson: P2,
39580 ) -> windows_core::Result<()>
39581 where
39582 P0: windows_core::Param<ICoreWebView2SharedBuffer>,
39583 P2: windows_core::Param<windows_core::PCWSTR>,
39584 {
39585 unsafe {
39586 (windows_core::Interface::vtable(self).PostSharedBufferToScript)(
39587 windows_core::Interface::as_raw(self),
39588 sharedbuffer.param().abi(),
39589 access,
39590 additionaldataasjson.param().abi(),
39591 )
39592 .ok()
39593 }
39594 }
39595}
39596#[repr(C)]
39597#[doc(hidden)]
39598pub struct ICoreWebView2_17_Vtbl {
39599 pub base__: ICoreWebView2_16_Vtbl,
39600 pub PostSharedBufferToScript: unsafe extern "system" fn(
39601 *mut core::ffi::c_void,
39602 *mut core::ffi::c_void,
39603 COREWEBVIEW2_SHARED_BUFFER_ACCESS,
39604 windows_core::PCWSTR,
39605 ) -> windows_core::HRESULT,
39606}
39607pub trait ICoreWebView2_17_Impl: ICoreWebView2_16_Impl {
39608 fn PostSharedBufferToScript(
39609 &self,
39610 sharedbuffer: windows_core::Ref<'_, ICoreWebView2SharedBuffer>,
39611 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
39612 additionaldataasjson: &windows_core::PCWSTR,
39613 ) -> windows_core::Result<()>;
39614}
39615impl ICoreWebView2_17_Vtbl {
39616 pub const fn new<Identity: ICoreWebView2_17_Impl, const OFFSET: isize>() -> Self {
39617 unsafe extern "system" fn PostSharedBufferToScript<
39618 Identity: ICoreWebView2_17_Impl,
39619 const OFFSET: isize,
39620 >(
39621 this: *mut core::ffi::c_void,
39622 sharedbuffer: *mut core::ffi::c_void,
39623 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
39624 additionaldataasjson: windows_core::PCWSTR,
39625 ) -> windows_core::HRESULT {
39626 unsafe {
39627 let this: &Identity =
39628 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39629 ICoreWebView2_17_Impl::PostSharedBufferToScript(
39630 this,
39631 core::mem::transmute_copy(&sharedbuffer),
39632 core::mem::transmute_copy(&access),
39633 core::mem::transmute(&additionaldataasjson),
39634 )
39635 .into()
39636 }
39637 }
39638 Self {
39639 base__: ICoreWebView2_16_Vtbl::new::<Identity, OFFSET>(),
39640 PostSharedBufferToScript: PostSharedBufferToScript::<Identity, OFFSET>,
39641 }
39642 }
39643 pub fn matches(iid: &windows_core::GUID) -> bool {
39644 iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
39645 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
39646 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
39647 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
39648 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
39649 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
39650 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
39651 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
39652 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
39653 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
39654 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
39655 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
39656 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
39657 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
39658 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
39659 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
39660 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
39661 }
39662}
39663impl windows_core::RuntimeName for ICoreWebView2_17 {}
39664windows_core::imp::define_interface!(
39665 ICoreWebView2_18,
39666 ICoreWebView2_18_Vtbl,
39667 0x7a626017_28be_49b2_b865_3ba2b3522d90
39668);
39669impl core::ops::Deref for ICoreWebView2_18 {
39670 type Target = ICoreWebView2_17;
39671 fn deref(&self) -> &Self::Target {
39672 unsafe { core::mem::transmute(self) }
39673 }
39674}
39675windows_core::imp::interface_hierarchy!(
39676 ICoreWebView2_18,
39677 windows_core::IUnknown,
39678 ICoreWebView2,
39679 ICoreWebView2_2,
39680 ICoreWebView2_3,
39681 ICoreWebView2_4,
39682 ICoreWebView2_5,
39683 ICoreWebView2_6,
39684 ICoreWebView2_7,
39685 ICoreWebView2_8,
39686 ICoreWebView2_9,
39687 ICoreWebView2_10,
39688 ICoreWebView2_11,
39689 ICoreWebView2_12,
39690 ICoreWebView2_13,
39691 ICoreWebView2_14,
39692 ICoreWebView2_15,
39693 ICoreWebView2_16,
39694 ICoreWebView2_17
39695);
39696impl ICoreWebView2_18 {
39697 pub unsafe fn add_LaunchingExternalUriScheme<P0>(
39698 &self,
39699 eventhandler: P0,
39700 token: *mut i64,
39701 ) -> windows_core::Result<()>
39702 where
39703 P0: windows_core::Param<ICoreWebView2LaunchingExternalUriSchemeEventHandler>,
39704 {
39705 unsafe {
39706 (windows_core::Interface::vtable(self).add_LaunchingExternalUriScheme)(
39707 windows_core::Interface::as_raw(self),
39708 eventhandler.param().abi(),
39709 token as _,
39710 )
39711 .ok()
39712 }
39713 }
39714 pub unsafe fn remove_LaunchingExternalUriScheme(&self, token: i64) -> windows_core::Result<()> {
39715 unsafe {
39716 (windows_core::Interface::vtable(self).remove_LaunchingExternalUriScheme)(
39717 windows_core::Interface::as_raw(self),
39718 token,
39719 )
39720 .ok()
39721 }
39722 }
39723}
39724#[repr(C)]
39725#[doc(hidden)]
39726pub struct ICoreWebView2_18_Vtbl {
39727 pub base__: ICoreWebView2_17_Vtbl,
39728 pub add_LaunchingExternalUriScheme: unsafe extern "system" fn(
39729 *mut core::ffi::c_void,
39730 *mut core::ffi::c_void,
39731 *mut i64,
39732 ) -> windows_core::HRESULT,
39733 pub remove_LaunchingExternalUriScheme:
39734 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
39735}
39736pub trait ICoreWebView2_18_Impl: ICoreWebView2_17_Impl {
39737 fn add_LaunchingExternalUriScheme(
39738 &self,
39739 eventhandler: windows_core::Ref<'_, ICoreWebView2LaunchingExternalUriSchemeEventHandler>,
39740 token: *mut i64,
39741 ) -> windows_core::Result<()>;
39742 fn remove_LaunchingExternalUriScheme(&self, token: i64) -> windows_core::Result<()>;
39743}
39744impl ICoreWebView2_18_Vtbl {
39745 pub const fn new<Identity: ICoreWebView2_18_Impl, const OFFSET: isize>() -> Self {
39746 unsafe extern "system" fn add_LaunchingExternalUriScheme<
39747 Identity: ICoreWebView2_18_Impl,
39748 const OFFSET: isize,
39749 >(
39750 this: *mut core::ffi::c_void,
39751 eventhandler: *mut core::ffi::c_void,
39752 token: *mut i64,
39753 ) -> windows_core::HRESULT {
39754 unsafe {
39755 let this: &Identity =
39756 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39757 ICoreWebView2_18_Impl::add_LaunchingExternalUriScheme(
39758 this,
39759 core::mem::transmute_copy(&eventhandler),
39760 core::mem::transmute_copy(&token),
39761 )
39762 .into()
39763 }
39764 }
39765 unsafe extern "system" fn remove_LaunchingExternalUriScheme<
39766 Identity: ICoreWebView2_18_Impl,
39767 const OFFSET: isize,
39768 >(
39769 this: *mut core::ffi::c_void,
39770 token: i64,
39771 ) -> windows_core::HRESULT {
39772 unsafe {
39773 let this: &Identity =
39774 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39775 ICoreWebView2_18_Impl::remove_LaunchingExternalUriScheme(
39776 this,
39777 core::mem::transmute_copy(&token),
39778 )
39779 .into()
39780 }
39781 }
39782 Self {
39783 base__: ICoreWebView2_17_Vtbl::new::<Identity, OFFSET>(),
39784 add_LaunchingExternalUriScheme: add_LaunchingExternalUriScheme::<Identity, OFFSET>,
39785 remove_LaunchingExternalUriScheme: remove_LaunchingExternalUriScheme::<Identity, OFFSET>,
39786 }
39787 }
39788 pub fn matches(iid: &windows_core::GUID) -> bool {
39789 iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
39790 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
39791 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
39792 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
39793 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
39794 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
39795 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
39796 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
39797 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
39798 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
39799 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
39800 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
39801 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
39802 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
39803 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
39804 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
39805 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
39806 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
39807 }
39808}
39809impl windows_core::RuntimeName for ICoreWebView2_18 {}
39810windows_core::imp::define_interface!(
39811 ICoreWebView2_19,
39812 ICoreWebView2_19_Vtbl,
39813 0x6921f954_79b0_437f_a997_c85811897c68
39814);
39815impl core::ops::Deref for ICoreWebView2_19 {
39816 type Target = ICoreWebView2_18;
39817 fn deref(&self) -> &Self::Target {
39818 unsafe { core::mem::transmute(self) }
39819 }
39820}
39821windows_core::imp::interface_hierarchy!(
39822 ICoreWebView2_19,
39823 windows_core::IUnknown,
39824 ICoreWebView2,
39825 ICoreWebView2_2,
39826 ICoreWebView2_3,
39827 ICoreWebView2_4,
39828 ICoreWebView2_5,
39829 ICoreWebView2_6,
39830 ICoreWebView2_7,
39831 ICoreWebView2_8,
39832 ICoreWebView2_9,
39833 ICoreWebView2_10,
39834 ICoreWebView2_11,
39835 ICoreWebView2_12,
39836 ICoreWebView2_13,
39837 ICoreWebView2_14,
39838 ICoreWebView2_15,
39839 ICoreWebView2_16,
39840 ICoreWebView2_17,
39841 ICoreWebView2_18
39842);
39843impl ICoreWebView2_19 {
39844 pub unsafe fn MemoryUsageTargetLevel(
39845 &self,
39846 value: *mut COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39847 ) -> windows_core::Result<()> {
39848 unsafe {
39849 (windows_core::Interface::vtable(self).MemoryUsageTargetLevel)(
39850 windows_core::Interface::as_raw(self),
39851 value as _,
39852 )
39853 .ok()
39854 }
39855 }
39856 pub unsafe fn SetMemoryUsageTargetLevel(
39857 &self,
39858 value: COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39859 ) -> windows_core::Result<()> {
39860 unsafe {
39861 (windows_core::Interface::vtable(self).SetMemoryUsageTargetLevel)(
39862 windows_core::Interface::as_raw(self),
39863 value,
39864 )
39865 .ok()
39866 }
39867 }
39868}
39869#[repr(C)]
39870#[doc(hidden)]
39871pub struct ICoreWebView2_19_Vtbl {
39872 pub base__: ICoreWebView2_18_Vtbl,
39873 pub MemoryUsageTargetLevel: unsafe extern "system" fn(
39874 *mut core::ffi::c_void,
39875 *mut COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39876 ) -> windows_core::HRESULT,
39877 pub SetMemoryUsageTargetLevel: unsafe extern "system" fn(
39878 *mut core::ffi::c_void,
39879 COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39880 ) -> windows_core::HRESULT,
39881}
39882pub trait ICoreWebView2_19_Impl: ICoreWebView2_18_Impl {
39883 fn MemoryUsageTargetLevel(
39884 &self,
39885 value: *mut COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39886 ) -> windows_core::Result<()>;
39887 fn SetMemoryUsageTargetLevel(
39888 &self,
39889 value: COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39890 ) -> windows_core::Result<()>;
39891}
39892impl ICoreWebView2_19_Vtbl {
39893 pub const fn new<Identity: ICoreWebView2_19_Impl, const OFFSET: isize>() -> Self {
39894 unsafe extern "system" fn MemoryUsageTargetLevel<
39895 Identity: ICoreWebView2_19_Impl,
39896 const OFFSET: isize,
39897 >(
39898 this: *mut core::ffi::c_void,
39899 value: *mut COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39900 ) -> windows_core::HRESULT {
39901 unsafe {
39902 let this: &Identity =
39903 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39904 ICoreWebView2_19_Impl::MemoryUsageTargetLevel(
39905 this,
39906 core::mem::transmute_copy(&value),
39907 )
39908 .into()
39909 }
39910 }
39911 unsafe extern "system" fn SetMemoryUsageTargetLevel<
39912 Identity: ICoreWebView2_19_Impl,
39913 const OFFSET: isize,
39914 >(
39915 this: *mut core::ffi::c_void,
39916 value: COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39917 ) -> windows_core::HRESULT {
39918 unsafe {
39919 let this: &Identity =
39920 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39921 ICoreWebView2_19_Impl::SetMemoryUsageTargetLevel(
39922 this,
39923 core::mem::transmute_copy(&value),
39924 )
39925 .into()
39926 }
39927 }
39928 Self {
39929 base__: ICoreWebView2_18_Vtbl::new::<Identity, OFFSET>(),
39930 MemoryUsageTargetLevel: MemoryUsageTargetLevel::<Identity, OFFSET>,
39931 SetMemoryUsageTargetLevel: SetMemoryUsageTargetLevel::<Identity, OFFSET>,
39932 }
39933 }
39934 pub fn matches(iid: &windows_core::GUID) -> bool {
39935 iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
39936 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
39937 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
39938 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
39939 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
39940 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
39941 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
39942 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
39943 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
39944 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
39945 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
39946 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
39947 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
39948 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
39949 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
39950 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
39951 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
39952 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
39953 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
39954 }
39955}
39956impl windows_core::RuntimeName for ICoreWebView2_19 {}
39957windows_core::imp::define_interface!(
39958 ICoreWebView2_2,
39959 ICoreWebView2_2_Vtbl,
39960 0x9e8f0cf8_e670_4b5e_b2bc_73e061e3184c
39961);
39962impl core::ops::Deref for ICoreWebView2_2 {
39963 type Target = ICoreWebView2;
39964 fn deref(&self) -> &Self::Target {
39965 unsafe { core::mem::transmute(self) }
39966 }
39967}
39968windows_core::imp::interface_hierarchy!(ICoreWebView2_2, windows_core::IUnknown, ICoreWebView2);
39969impl ICoreWebView2_2 {
39970 pub unsafe fn add_WebResourceResponseReceived<P0>(
39971 &self,
39972 eventhandler: P0,
39973 token: *mut i64,
39974 ) -> windows_core::Result<()>
39975 where
39976 P0: windows_core::Param<ICoreWebView2WebResourceResponseReceivedEventHandler>,
39977 {
39978 unsafe {
39979 (windows_core::Interface::vtable(self).add_WebResourceResponseReceived)(
39980 windows_core::Interface::as_raw(self),
39981 eventhandler.param().abi(),
39982 token as _,
39983 )
39984 .ok()
39985 }
39986 }
39987 pub unsafe fn remove_WebResourceResponseReceived(
39988 &self,
39989 token: i64,
39990 ) -> windows_core::Result<()> {
39991 unsafe {
39992 (windows_core::Interface::vtable(self).remove_WebResourceResponseReceived)(
39993 windows_core::Interface::as_raw(self),
39994 token,
39995 )
39996 .ok()
39997 }
39998 }
39999 pub unsafe fn NavigateWithWebResourceRequest<P0>(&self, request: P0) -> windows_core::Result<()>
40000 where
40001 P0: windows_core::Param<ICoreWebView2WebResourceRequest>,
40002 {
40003 unsafe {
40004 (windows_core::Interface::vtable(self).NavigateWithWebResourceRequest)(
40005 windows_core::Interface::as_raw(self),
40006 request.param().abi(),
40007 )
40008 .ok()
40009 }
40010 }
40011 pub unsafe fn add_DOMContentLoaded<P0>(
40012 &self,
40013 eventhandler: P0,
40014 token: *mut i64,
40015 ) -> windows_core::Result<()>
40016 where
40017 P0: windows_core::Param<ICoreWebView2DOMContentLoadedEventHandler>,
40018 {
40019 unsafe {
40020 (windows_core::Interface::vtable(self).add_DOMContentLoaded)(
40021 windows_core::Interface::as_raw(self),
40022 eventhandler.param().abi(),
40023 token as _,
40024 )
40025 .ok()
40026 }
40027 }
40028 pub unsafe fn remove_DOMContentLoaded(&self, token: i64) -> windows_core::Result<()> {
40029 unsafe {
40030 (windows_core::Interface::vtable(self).remove_DOMContentLoaded)(
40031 windows_core::Interface::as_raw(self),
40032 token,
40033 )
40034 .ok()
40035 }
40036 }
40037 pub unsafe fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager> {
40038 unsafe {
40039 let mut result__ = core::mem::zeroed();
40040 (windows_core::Interface::vtable(self).CookieManager)(
40041 windows_core::Interface::as_raw(self),
40042 &mut result__,
40043 )
40044 .and_then(|| windows_core::Type::from_abi(result__))
40045 }
40046 }
40047 pub unsafe fn Environment(&self) -> windows_core::Result<ICoreWebView2Environment> {
40048 unsafe {
40049 let mut result__ = core::mem::zeroed();
40050 (windows_core::Interface::vtable(self).Environment)(
40051 windows_core::Interface::as_raw(self),
40052 &mut result__,
40053 )
40054 .and_then(|| windows_core::Type::from_abi(result__))
40055 }
40056 }
40057}
40058#[repr(C)]
40059#[doc(hidden)]
40060pub struct ICoreWebView2_2_Vtbl {
40061 pub base__: ICoreWebView2_Vtbl,
40062 pub add_WebResourceResponseReceived: unsafe extern "system" fn(
40063 *mut core::ffi::c_void,
40064 *mut core::ffi::c_void,
40065 *mut i64,
40066 ) -> windows_core::HRESULT,
40067 pub remove_WebResourceResponseReceived:
40068 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
40069 pub NavigateWithWebResourceRequest: unsafe extern "system" fn(
40070 *mut core::ffi::c_void,
40071 *mut core::ffi::c_void,
40072 ) -> windows_core::HRESULT,
40073 pub add_DOMContentLoaded: unsafe extern "system" fn(
40074 *mut core::ffi::c_void,
40075 *mut core::ffi::c_void,
40076 *mut i64,
40077 ) -> windows_core::HRESULT,
40078 pub remove_DOMContentLoaded:
40079 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
40080 pub CookieManager: unsafe extern "system" fn(
40081 *mut core::ffi::c_void,
40082 *mut *mut core::ffi::c_void,
40083 ) -> windows_core::HRESULT,
40084 pub Environment: unsafe extern "system" fn(
40085 *mut core::ffi::c_void,
40086 *mut *mut core::ffi::c_void,
40087 ) -> windows_core::HRESULT,
40088}
40089pub trait ICoreWebView2_2_Impl: ICoreWebView2_Impl {
40090 fn add_WebResourceResponseReceived(
40091 &self,
40092 eventhandler: windows_core::Ref<'_, ICoreWebView2WebResourceResponseReceivedEventHandler>,
40093 token: *mut i64,
40094 ) -> windows_core::Result<()>;
40095 fn remove_WebResourceResponseReceived(&self, token: i64) -> windows_core::Result<()>;
40096 fn NavigateWithWebResourceRequest(
40097 &self,
40098 request: windows_core::Ref<'_, ICoreWebView2WebResourceRequest>,
40099 ) -> windows_core::Result<()>;
40100 fn add_DOMContentLoaded(
40101 &self,
40102 eventhandler: windows_core::Ref<'_, ICoreWebView2DOMContentLoadedEventHandler>,
40103 token: *mut i64,
40104 ) -> windows_core::Result<()>;
40105 fn remove_DOMContentLoaded(&self, token: i64) -> windows_core::Result<()>;
40106 fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager>;
40107 fn Environment(&self) -> windows_core::Result<ICoreWebView2Environment>;
40108}
40109impl ICoreWebView2_2_Vtbl {
40110 pub const fn new<Identity: ICoreWebView2_2_Impl, const OFFSET: isize>() -> Self {
40111 unsafe extern "system" fn add_WebResourceResponseReceived<
40112 Identity: ICoreWebView2_2_Impl,
40113 const OFFSET: isize,
40114 >(
40115 this: *mut core::ffi::c_void,
40116 eventhandler: *mut core::ffi::c_void,
40117 token: *mut i64,
40118 ) -> windows_core::HRESULT {
40119 unsafe {
40120 let this: &Identity =
40121 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40122 ICoreWebView2_2_Impl::add_WebResourceResponseReceived(
40123 this,
40124 core::mem::transmute_copy(&eventhandler),
40125 core::mem::transmute_copy(&token),
40126 )
40127 .into()
40128 }
40129 }
40130 unsafe extern "system" fn remove_WebResourceResponseReceived<
40131 Identity: ICoreWebView2_2_Impl,
40132 const OFFSET: isize,
40133 >(
40134 this: *mut core::ffi::c_void,
40135 token: i64,
40136 ) -> windows_core::HRESULT {
40137 unsafe {
40138 let this: &Identity =
40139 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40140 ICoreWebView2_2_Impl::remove_WebResourceResponseReceived(
40141 this,
40142 core::mem::transmute_copy(&token),
40143 )
40144 .into()
40145 }
40146 }
40147 unsafe extern "system" fn NavigateWithWebResourceRequest<
40148 Identity: ICoreWebView2_2_Impl,
40149 const OFFSET: isize,
40150 >(
40151 this: *mut core::ffi::c_void,
40152 request: *mut core::ffi::c_void,
40153 ) -> windows_core::HRESULT {
40154 unsafe {
40155 let this: &Identity =
40156 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40157 ICoreWebView2_2_Impl::NavigateWithWebResourceRequest(
40158 this,
40159 core::mem::transmute_copy(&request),
40160 )
40161 .into()
40162 }
40163 }
40164 unsafe extern "system" fn add_DOMContentLoaded<
40165 Identity: ICoreWebView2_2_Impl,
40166 const OFFSET: isize,
40167 >(
40168 this: *mut core::ffi::c_void,
40169 eventhandler: *mut core::ffi::c_void,
40170 token: *mut i64,
40171 ) -> windows_core::HRESULT {
40172 unsafe {
40173 let this: &Identity =
40174 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40175 ICoreWebView2_2_Impl::add_DOMContentLoaded(
40176 this,
40177 core::mem::transmute_copy(&eventhandler),
40178 core::mem::transmute_copy(&token),
40179 )
40180 .into()
40181 }
40182 }
40183 unsafe extern "system" fn remove_DOMContentLoaded<
40184 Identity: ICoreWebView2_2_Impl,
40185 const OFFSET: isize,
40186 >(
40187 this: *mut core::ffi::c_void,
40188 token: i64,
40189 ) -> windows_core::HRESULT {
40190 unsafe {
40191 let this: &Identity =
40192 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40193 ICoreWebView2_2_Impl::remove_DOMContentLoaded(
40194 this,
40195 core::mem::transmute_copy(&token),
40196 )
40197 .into()
40198 }
40199 }
40200 unsafe extern "system" fn CookieManager<
40201 Identity: ICoreWebView2_2_Impl,
40202 const OFFSET: isize,
40203 >(
40204 this: *mut core::ffi::c_void,
40205 cookiemanager: *mut *mut core::ffi::c_void,
40206 ) -> windows_core::HRESULT {
40207 unsafe {
40208 let this: &Identity =
40209 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40210 match ICoreWebView2_2_Impl::CookieManager(this) {
40211 Ok(ok__) => {
40212 cookiemanager.write(core::mem::transmute(ok__));
40213 windows_core::HRESULT(0)
40214 }
40215 Err(err) => err.into(),
40216 }
40217 }
40218 }
40219 unsafe extern "system" fn Environment<
40220 Identity: ICoreWebView2_2_Impl,
40221 const OFFSET: isize,
40222 >(
40223 this: *mut core::ffi::c_void,
40224 environment: *mut *mut core::ffi::c_void,
40225 ) -> windows_core::HRESULT {
40226 unsafe {
40227 let this: &Identity =
40228 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40229 match ICoreWebView2_2_Impl::Environment(this) {
40230 Ok(ok__) => {
40231 environment.write(core::mem::transmute(ok__));
40232 windows_core::HRESULT(0)
40233 }
40234 Err(err) => err.into(),
40235 }
40236 }
40237 }
40238 Self {
40239 base__: ICoreWebView2_Vtbl::new::<Identity, OFFSET>(),
40240 add_WebResourceResponseReceived: add_WebResourceResponseReceived::<Identity, OFFSET>,
40241 remove_WebResourceResponseReceived: remove_WebResourceResponseReceived::<
40242 Identity,
40243 OFFSET,
40244 >,
40245 NavigateWithWebResourceRequest: NavigateWithWebResourceRequest::<Identity, OFFSET>,
40246 add_DOMContentLoaded: add_DOMContentLoaded::<Identity, OFFSET>,
40247 remove_DOMContentLoaded: remove_DOMContentLoaded::<Identity, OFFSET>,
40248 CookieManager: CookieManager::<Identity, OFFSET>,
40249 Environment: Environment::<Identity, OFFSET>,
40250 }
40251 }
40252 pub fn matches(iid: &windows_core::GUID) -> bool {
40253 iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40254 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40255 }
40256}
40257impl windows_core::RuntimeName for ICoreWebView2_2 {}
40258windows_core::imp::define_interface!(
40259 ICoreWebView2_20,
40260 ICoreWebView2_20_Vtbl,
40261 0xb4bc1926_7305_11ee_b962_0242ac120002
40262);
40263impl core::ops::Deref for ICoreWebView2_20 {
40264 type Target = ICoreWebView2_19;
40265 fn deref(&self) -> &Self::Target {
40266 unsafe { core::mem::transmute(self) }
40267 }
40268}
40269windows_core::imp::interface_hierarchy!(
40270 ICoreWebView2_20,
40271 windows_core::IUnknown,
40272 ICoreWebView2,
40273 ICoreWebView2_2,
40274 ICoreWebView2_3,
40275 ICoreWebView2_4,
40276 ICoreWebView2_5,
40277 ICoreWebView2_6,
40278 ICoreWebView2_7,
40279 ICoreWebView2_8,
40280 ICoreWebView2_9,
40281 ICoreWebView2_10,
40282 ICoreWebView2_11,
40283 ICoreWebView2_12,
40284 ICoreWebView2_13,
40285 ICoreWebView2_14,
40286 ICoreWebView2_15,
40287 ICoreWebView2_16,
40288 ICoreWebView2_17,
40289 ICoreWebView2_18,
40290 ICoreWebView2_19
40291);
40292impl ICoreWebView2_20 {
40293 pub unsafe fn FrameId(&self, value: *mut u32) -> windows_core::Result<()> {
40294 unsafe {
40295 (windows_core::Interface::vtable(self).FrameId)(
40296 windows_core::Interface::as_raw(self),
40297 value as _,
40298 )
40299 .ok()
40300 }
40301 }
40302}
40303#[repr(C)]
40304#[doc(hidden)]
40305pub struct ICoreWebView2_20_Vtbl {
40306 pub base__: ICoreWebView2_19_Vtbl,
40307 pub FrameId:
40308 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
40309}
40310pub trait ICoreWebView2_20_Impl: ICoreWebView2_19_Impl {
40311 fn FrameId(&self, value: *mut u32) -> windows_core::Result<()>;
40312}
40313impl ICoreWebView2_20_Vtbl {
40314 pub const fn new<Identity: ICoreWebView2_20_Impl, const OFFSET: isize>() -> Self {
40315 unsafe extern "system" fn FrameId<Identity: ICoreWebView2_20_Impl, const OFFSET: isize>(
40316 this: *mut core::ffi::c_void,
40317 value: *mut u32,
40318 ) -> windows_core::HRESULT {
40319 unsafe {
40320 let this: &Identity =
40321 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40322 ICoreWebView2_20_Impl::FrameId(this, core::mem::transmute_copy(&value)).into()
40323 }
40324 }
40325 Self {
40326 base__: ICoreWebView2_19_Vtbl::new::<Identity, OFFSET>(),
40327 FrameId: FrameId::<Identity, OFFSET>,
40328 }
40329 }
40330 pub fn matches(iid: &windows_core::GUID) -> bool {
40331 iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
40332 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40333 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40334 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40335 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40336 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40337 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40338 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40339 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40340 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40341 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40342 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40343 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40344 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40345 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40346 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
40347 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
40348 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
40349 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
40350 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
40351 }
40352}
40353impl windows_core::RuntimeName for ICoreWebView2_20 {}
40354windows_core::imp::define_interface!(
40355 ICoreWebView2_21,
40356 ICoreWebView2_21_Vtbl,
40357 0xc4980dea_587b_43b9_8143_3ef3bf552d95
40358);
40359impl core::ops::Deref for ICoreWebView2_21 {
40360 type Target = ICoreWebView2_20;
40361 fn deref(&self) -> &Self::Target {
40362 unsafe { core::mem::transmute(self) }
40363 }
40364}
40365windows_core::imp::interface_hierarchy!(
40366 ICoreWebView2_21,
40367 windows_core::IUnknown,
40368 ICoreWebView2,
40369 ICoreWebView2_2,
40370 ICoreWebView2_3,
40371 ICoreWebView2_4,
40372 ICoreWebView2_5,
40373 ICoreWebView2_6,
40374 ICoreWebView2_7,
40375 ICoreWebView2_8,
40376 ICoreWebView2_9,
40377 ICoreWebView2_10,
40378 ICoreWebView2_11,
40379 ICoreWebView2_12,
40380 ICoreWebView2_13,
40381 ICoreWebView2_14,
40382 ICoreWebView2_15,
40383 ICoreWebView2_16,
40384 ICoreWebView2_17,
40385 ICoreWebView2_18,
40386 ICoreWebView2_19,
40387 ICoreWebView2_20
40388);
40389impl ICoreWebView2_21 {
40390 pub unsafe fn ExecuteScriptWithResult<P0, P1>(
40391 &self,
40392 javascript: P0,
40393 handler: P1,
40394 ) -> windows_core::Result<()>
40395 where
40396 P0: windows_core::Param<windows_core::PCWSTR>,
40397 P1: windows_core::Param<ICoreWebView2ExecuteScriptWithResultCompletedHandler>,
40398 {
40399 unsafe {
40400 (windows_core::Interface::vtable(self).ExecuteScriptWithResult)(
40401 windows_core::Interface::as_raw(self),
40402 javascript.param().abi(),
40403 handler.param().abi(),
40404 )
40405 .ok()
40406 }
40407 }
40408}
40409#[repr(C)]
40410#[doc(hidden)]
40411pub struct ICoreWebView2_21_Vtbl {
40412 pub base__: ICoreWebView2_20_Vtbl,
40413 pub ExecuteScriptWithResult: unsafe extern "system" fn(
40414 *mut core::ffi::c_void,
40415 windows_core::PCWSTR,
40416 *mut core::ffi::c_void,
40417 ) -> windows_core::HRESULT,
40418}
40419pub trait ICoreWebView2_21_Impl: ICoreWebView2_20_Impl {
40420 fn ExecuteScriptWithResult(
40421 &self,
40422 javascript: &windows_core::PCWSTR,
40423 handler: windows_core::Ref<'_, ICoreWebView2ExecuteScriptWithResultCompletedHandler>,
40424 ) -> windows_core::Result<()>;
40425}
40426impl ICoreWebView2_21_Vtbl {
40427 pub const fn new<Identity: ICoreWebView2_21_Impl, const OFFSET: isize>() -> Self {
40428 unsafe extern "system" fn ExecuteScriptWithResult<
40429 Identity: ICoreWebView2_21_Impl,
40430 const OFFSET: isize,
40431 >(
40432 this: *mut core::ffi::c_void,
40433 javascript: windows_core::PCWSTR,
40434 handler: *mut core::ffi::c_void,
40435 ) -> windows_core::HRESULT {
40436 unsafe {
40437 let this: &Identity =
40438 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40439 ICoreWebView2_21_Impl::ExecuteScriptWithResult(
40440 this,
40441 core::mem::transmute(&javascript),
40442 core::mem::transmute_copy(&handler),
40443 )
40444 .into()
40445 }
40446 }
40447 Self {
40448 base__: ICoreWebView2_20_Vtbl::new::<Identity, OFFSET>(),
40449 ExecuteScriptWithResult: ExecuteScriptWithResult::<Identity, OFFSET>,
40450 }
40451 }
40452 pub fn matches(iid: &windows_core::GUID) -> bool {
40453 iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
40454 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40455 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40456 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40457 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40458 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40459 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40460 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40461 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40462 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40463 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40464 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40465 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40466 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40467 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40468 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
40469 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
40470 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
40471 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
40472 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
40473 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
40474 }
40475}
40476impl windows_core::RuntimeName for ICoreWebView2_21 {}
40477windows_core::imp::define_interface!(
40478 ICoreWebView2_22,
40479 ICoreWebView2_22_Vtbl,
40480 0xdb75dfc7_a857_4632_a398_6969dde26c0a
40481);
40482impl core::ops::Deref for ICoreWebView2_22 {
40483 type Target = ICoreWebView2_21;
40484 fn deref(&self) -> &Self::Target {
40485 unsafe { core::mem::transmute(self) }
40486 }
40487}
40488windows_core::imp::interface_hierarchy!(
40489 ICoreWebView2_22,
40490 windows_core::IUnknown,
40491 ICoreWebView2,
40492 ICoreWebView2_2,
40493 ICoreWebView2_3,
40494 ICoreWebView2_4,
40495 ICoreWebView2_5,
40496 ICoreWebView2_6,
40497 ICoreWebView2_7,
40498 ICoreWebView2_8,
40499 ICoreWebView2_9,
40500 ICoreWebView2_10,
40501 ICoreWebView2_11,
40502 ICoreWebView2_12,
40503 ICoreWebView2_13,
40504 ICoreWebView2_14,
40505 ICoreWebView2_15,
40506 ICoreWebView2_16,
40507 ICoreWebView2_17,
40508 ICoreWebView2_18,
40509 ICoreWebView2_19,
40510 ICoreWebView2_20,
40511 ICoreWebView2_21
40512);
40513impl ICoreWebView2_22 {
40514 pub unsafe fn AddWebResourceRequestedFilterWithRequestSourceKinds<P0>(
40515 &self,
40516 uri: P0,
40517 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40518 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40519 ) -> windows_core::Result<()>
40520 where
40521 P0: windows_core::Param<windows_core::PCWSTR>,
40522 {
40523 unsafe {
40524 (windows_core::Interface::vtable(self)
40525 .AddWebResourceRequestedFilterWithRequestSourceKinds)(
40526 windows_core::Interface::as_raw(self),
40527 uri.param().abi(),
40528 resourcecontext,
40529 requestsourcekinds,
40530 )
40531 .ok()
40532 }
40533 }
40534 pub unsafe fn RemoveWebResourceRequestedFilterWithRequestSourceKinds<P0>(
40535 &self,
40536 uri: P0,
40537 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40538 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40539 ) -> windows_core::Result<()>
40540 where
40541 P0: windows_core::Param<windows_core::PCWSTR>,
40542 {
40543 unsafe {
40544 (windows_core::Interface::vtable(self)
40545 .RemoveWebResourceRequestedFilterWithRequestSourceKinds)(
40546 windows_core::Interface::as_raw(self),
40547 uri.param().abi(),
40548 resourcecontext,
40549 requestsourcekinds,
40550 )
40551 .ok()
40552 }
40553 }
40554}
40555#[repr(C)]
40556#[doc(hidden)]
40557pub struct ICoreWebView2_22_Vtbl {
40558 pub base__: ICoreWebView2_21_Vtbl,
40559 pub AddWebResourceRequestedFilterWithRequestSourceKinds:
40560 unsafe extern "system" fn(
40561 *mut core::ffi::c_void,
40562 windows_core::PCWSTR,
40563 COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40564 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40565 ) -> windows_core::HRESULT,
40566 pub RemoveWebResourceRequestedFilterWithRequestSourceKinds:
40567 unsafe extern "system" fn(
40568 *mut core::ffi::c_void,
40569 windows_core::PCWSTR,
40570 COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40571 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40572 ) -> windows_core::HRESULT,
40573}
40574pub trait ICoreWebView2_22_Impl: ICoreWebView2_21_Impl {
40575 fn AddWebResourceRequestedFilterWithRequestSourceKinds(
40576 &self,
40577 uri: &windows_core::PCWSTR,
40578 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40579 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40580 ) -> windows_core::Result<()>;
40581 fn RemoveWebResourceRequestedFilterWithRequestSourceKinds(
40582 &self,
40583 uri: &windows_core::PCWSTR,
40584 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40585 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40586 ) -> windows_core::Result<()>;
40587}
40588impl ICoreWebView2_22_Vtbl {
40589 pub const fn new<Identity: ICoreWebView2_22_Impl, const OFFSET: isize>() -> Self {
40590 unsafe extern "system" fn AddWebResourceRequestedFilterWithRequestSourceKinds<
40591 Identity: ICoreWebView2_22_Impl,
40592 const OFFSET: isize,
40593 >(
40594 this: *mut core::ffi::c_void,
40595 uri: windows_core::PCWSTR,
40596 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40597 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40598 ) -> windows_core::HRESULT {
40599 unsafe {
40600 let this: &Identity =
40601 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40602 ICoreWebView2_22_Impl::AddWebResourceRequestedFilterWithRequestSourceKinds(
40603 this,
40604 core::mem::transmute(&uri),
40605 core::mem::transmute_copy(&resourcecontext),
40606 core::mem::transmute_copy(&requestsourcekinds),
40607 )
40608 .into()
40609 }
40610 }
40611 unsafe extern "system" fn RemoveWebResourceRequestedFilterWithRequestSourceKinds<
40612 Identity: ICoreWebView2_22_Impl,
40613 const OFFSET: isize,
40614 >(
40615 this: *mut core::ffi::c_void,
40616 uri: windows_core::PCWSTR,
40617 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40618 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40619 ) -> windows_core::HRESULT {
40620 unsafe {
40621 let this: &Identity =
40622 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40623 ICoreWebView2_22_Impl::RemoveWebResourceRequestedFilterWithRequestSourceKinds(
40624 this,
40625 core::mem::transmute(&uri),
40626 core::mem::transmute_copy(&resourcecontext),
40627 core::mem::transmute_copy(&requestsourcekinds),
40628 )
40629 .into()
40630 }
40631 }
40632 Self {
40633 base__: ICoreWebView2_21_Vtbl::new::<Identity, OFFSET>(),
40634 AddWebResourceRequestedFilterWithRequestSourceKinds:
40635 AddWebResourceRequestedFilterWithRequestSourceKinds::<Identity, OFFSET>,
40636 RemoveWebResourceRequestedFilterWithRequestSourceKinds:
40637 RemoveWebResourceRequestedFilterWithRequestSourceKinds::<Identity, OFFSET>,
40638 }
40639 }
40640 pub fn matches(iid: &windows_core::GUID) -> bool {
40641 iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
40642 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40643 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40644 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40645 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40646 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40647 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40648 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40649 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40650 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40651 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40652 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40653 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40654 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40655 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40656 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
40657 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
40658 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
40659 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
40660 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
40661 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
40662 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
40663 }
40664}
40665impl windows_core::RuntimeName for ICoreWebView2_22 {}
40666windows_core::imp::define_interface!(
40667 ICoreWebView2_23,
40668 ICoreWebView2_23_Vtbl,
40669 0x508f0db5_90c4_5872_90a7_267a91377502
40670);
40671impl core::ops::Deref for ICoreWebView2_23 {
40672 type Target = ICoreWebView2_22;
40673 fn deref(&self) -> &Self::Target {
40674 unsafe { core::mem::transmute(self) }
40675 }
40676}
40677windows_core::imp::interface_hierarchy!(
40678 ICoreWebView2_23,
40679 windows_core::IUnknown,
40680 ICoreWebView2,
40681 ICoreWebView2_2,
40682 ICoreWebView2_3,
40683 ICoreWebView2_4,
40684 ICoreWebView2_5,
40685 ICoreWebView2_6,
40686 ICoreWebView2_7,
40687 ICoreWebView2_8,
40688 ICoreWebView2_9,
40689 ICoreWebView2_10,
40690 ICoreWebView2_11,
40691 ICoreWebView2_12,
40692 ICoreWebView2_13,
40693 ICoreWebView2_14,
40694 ICoreWebView2_15,
40695 ICoreWebView2_16,
40696 ICoreWebView2_17,
40697 ICoreWebView2_18,
40698 ICoreWebView2_19,
40699 ICoreWebView2_20,
40700 ICoreWebView2_21,
40701 ICoreWebView2_22
40702);
40703impl ICoreWebView2_23 {
40704 pub unsafe fn PostWebMessageAsJsonWithAdditionalObjects<P0, P1>(
40705 &self,
40706 webmessageasjson: P0,
40707 additionalobjects: P1,
40708 ) -> windows_core::Result<()>
40709 where
40710 P0: windows_core::Param<windows_core::PCWSTR>,
40711 P1: windows_core::Param<ICoreWebView2ObjectCollectionView>,
40712 {
40713 unsafe {
40714 (windows_core::Interface::vtable(self).PostWebMessageAsJsonWithAdditionalObjects)(
40715 windows_core::Interface::as_raw(self),
40716 webmessageasjson.param().abi(),
40717 additionalobjects.param().abi(),
40718 )
40719 .ok()
40720 }
40721 }
40722}
40723#[repr(C)]
40724#[doc(hidden)]
40725pub struct ICoreWebView2_23_Vtbl {
40726 pub base__: ICoreWebView2_22_Vtbl,
40727 pub PostWebMessageAsJsonWithAdditionalObjects:
40728 unsafe extern "system" fn(
40729 *mut core::ffi::c_void,
40730 windows_core::PCWSTR,
40731 *mut core::ffi::c_void,
40732 ) -> windows_core::HRESULT,
40733}
40734pub trait ICoreWebView2_23_Impl: ICoreWebView2_22_Impl {
40735 fn PostWebMessageAsJsonWithAdditionalObjects(
40736 &self,
40737 webmessageasjson: &windows_core::PCWSTR,
40738 additionalobjects: windows_core::Ref<'_, ICoreWebView2ObjectCollectionView>,
40739 ) -> windows_core::Result<()>;
40740}
40741impl ICoreWebView2_23_Vtbl {
40742 pub const fn new<Identity: ICoreWebView2_23_Impl, const OFFSET: isize>() -> Self {
40743 unsafe extern "system" fn PostWebMessageAsJsonWithAdditionalObjects<
40744 Identity: ICoreWebView2_23_Impl,
40745 const OFFSET: isize,
40746 >(
40747 this: *mut core::ffi::c_void,
40748 webmessageasjson: windows_core::PCWSTR,
40749 additionalobjects: *mut core::ffi::c_void,
40750 ) -> windows_core::HRESULT {
40751 unsafe {
40752 let this: &Identity =
40753 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40754 ICoreWebView2_23_Impl::PostWebMessageAsJsonWithAdditionalObjects(
40755 this,
40756 core::mem::transmute(&webmessageasjson),
40757 core::mem::transmute_copy(&additionalobjects),
40758 )
40759 .into()
40760 }
40761 }
40762 Self {
40763 base__: ICoreWebView2_22_Vtbl::new::<Identity, OFFSET>(),
40764 PostWebMessageAsJsonWithAdditionalObjects: PostWebMessageAsJsonWithAdditionalObjects::<
40765 Identity,
40766 OFFSET,
40767 >,
40768 }
40769 }
40770 pub fn matches(iid: &windows_core::GUID) -> bool {
40771 iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
40772 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40773 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40774 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40775 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40776 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40777 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40778 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40779 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40780 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40781 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40782 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40783 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40784 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40785 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40786 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
40787 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
40788 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
40789 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
40790 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
40791 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
40792 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
40793 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
40794 }
40795}
40796impl windows_core::RuntimeName for ICoreWebView2_23 {}
40797windows_core::imp::define_interface!(
40798 ICoreWebView2_24,
40799 ICoreWebView2_24_Vtbl,
40800 0x39a7ad55_4287_5cc1_88a1_c6f458593824
40801);
40802impl core::ops::Deref for ICoreWebView2_24 {
40803 type Target = ICoreWebView2_23;
40804 fn deref(&self) -> &Self::Target {
40805 unsafe { core::mem::transmute(self) }
40806 }
40807}
40808windows_core::imp::interface_hierarchy!(
40809 ICoreWebView2_24,
40810 windows_core::IUnknown,
40811 ICoreWebView2,
40812 ICoreWebView2_2,
40813 ICoreWebView2_3,
40814 ICoreWebView2_4,
40815 ICoreWebView2_5,
40816 ICoreWebView2_6,
40817 ICoreWebView2_7,
40818 ICoreWebView2_8,
40819 ICoreWebView2_9,
40820 ICoreWebView2_10,
40821 ICoreWebView2_11,
40822 ICoreWebView2_12,
40823 ICoreWebView2_13,
40824 ICoreWebView2_14,
40825 ICoreWebView2_15,
40826 ICoreWebView2_16,
40827 ICoreWebView2_17,
40828 ICoreWebView2_18,
40829 ICoreWebView2_19,
40830 ICoreWebView2_20,
40831 ICoreWebView2_21,
40832 ICoreWebView2_22,
40833 ICoreWebView2_23
40834);
40835impl ICoreWebView2_24 {
40836 pub unsafe fn add_NotificationReceived<P0>(
40837 &self,
40838 eventhandler: P0,
40839 token: *mut i64,
40840 ) -> windows_core::Result<()>
40841 where
40842 P0: windows_core::Param<ICoreWebView2NotificationReceivedEventHandler>,
40843 {
40844 unsafe {
40845 (windows_core::Interface::vtable(self).add_NotificationReceived)(
40846 windows_core::Interface::as_raw(self),
40847 eventhandler.param().abi(),
40848 token as _,
40849 )
40850 .ok()
40851 }
40852 }
40853 pub unsafe fn remove_NotificationReceived(&self, token: i64) -> windows_core::Result<()> {
40854 unsafe {
40855 (windows_core::Interface::vtable(self).remove_NotificationReceived)(
40856 windows_core::Interface::as_raw(self),
40857 token,
40858 )
40859 .ok()
40860 }
40861 }
40862}
40863#[repr(C)]
40864#[doc(hidden)]
40865pub struct ICoreWebView2_24_Vtbl {
40866 pub base__: ICoreWebView2_23_Vtbl,
40867 pub add_NotificationReceived: unsafe extern "system" fn(
40868 *mut core::ffi::c_void,
40869 *mut core::ffi::c_void,
40870 *mut i64,
40871 ) -> windows_core::HRESULT,
40872 pub remove_NotificationReceived:
40873 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
40874}
40875pub trait ICoreWebView2_24_Impl: ICoreWebView2_23_Impl {
40876 fn add_NotificationReceived(
40877 &self,
40878 eventhandler: windows_core::Ref<'_, ICoreWebView2NotificationReceivedEventHandler>,
40879 token: *mut i64,
40880 ) -> windows_core::Result<()>;
40881 fn remove_NotificationReceived(&self, token: i64) -> windows_core::Result<()>;
40882}
40883impl ICoreWebView2_24_Vtbl {
40884 pub const fn new<Identity: ICoreWebView2_24_Impl, const OFFSET: isize>() -> Self {
40885 unsafe extern "system" fn add_NotificationReceived<
40886 Identity: ICoreWebView2_24_Impl,
40887 const OFFSET: isize,
40888 >(
40889 this: *mut core::ffi::c_void,
40890 eventhandler: *mut core::ffi::c_void,
40891 token: *mut i64,
40892 ) -> windows_core::HRESULT {
40893 unsafe {
40894 let this: &Identity =
40895 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40896 ICoreWebView2_24_Impl::add_NotificationReceived(
40897 this,
40898 core::mem::transmute_copy(&eventhandler),
40899 core::mem::transmute_copy(&token),
40900 )
40901 .into()
40902 }
40903 }
40904 unsafe extern "system" fn remove_NotificationReceived<
40905 Identity: ICoreWebView2_24_Impl,
40906 const OFFSET: isize,
40907 >(
40908 this: *mut core::ffi::c_void,
40909 token: i64,
40910 ) -> windows_core::HRESULT {
40911 unsafe {
40912 let this: &Identity =
40913 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40914 ICoreWebView2_24_Impl::remove_NotificationReceived(
40915 this,
40916 core::mem::transmute_copy(&token),
40917 )
40918 .into()
40919 }
40920 }
40921 Self {
40922 base__: ICoreWebView2_23_Vtbl::new::<Identity, OFFSET>(),
40923 add_NotificationReceived: add_NotificationReceived::<Identity, OFFSET>,
40924 remove_NotificationReceived: remove_NotificationReceived::<Identity, OFFSET>,
40925 }
40926 }
40927 pub fn matches(iid: &windows_core::GUID) -> bool {
40928 iid == &<ICoreWebView2_24 as windows_core::Interface>::IID
40929 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40930 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40931 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40932 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40933 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40934 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40935 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40936 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40937 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40938 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40939 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40940 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40941 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40942 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40943 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
40944 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
40945 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
40946 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
40947 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
40948 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
40949 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
40950 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
40951 || iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
40952 }
40953}
40954impl windows_core::RuntimeName for ICoreWebView2_24 {}
40955windows_core::imp::define_interface!(
40956 ICoreWebView2_25,
40957 ICoreWebView2_25_Vtbl,
40958 0xb5a86092_df50_5b4f_a17b_6c8f8b40b771
40959);
40960impl core::ops::Deref for ICoreWebView2_25 {
40961 type Target = ICoreWebView2_24;
40962 fn deref(&self) -> &Self::Target {
40963 unsafe { core::mem::transmute(self) }
40964 }
40965}
40966windows_core::imp::interface_hierarchy!(
40967 ICoreWebView2_25,
40968 windows_core::IUnknown,
40969 ICoreWebView2,
40970 ICoreWebView2_2,
40971 ICoreWebView2_3,
40972 ICoreWebView2_4,
40973 ICoreWebView2_5,
40974 ICoreWebView2_6,
40975 ICoreWebView2_7,
40976 ICoreWebView2_8,
40977 ICoreWebView2_9,
40978 ICoreWebView2_10,
40979 ICoreWebView2_11,
40980 ICoreWebView2_12,
40981 ICoreWebView2_13,
40982 ICoreWebView2_14,
40983 ICoreWebView2_15,
40984 ICoreWebView2_16,
40985 ICoreWebView2_17,
40986 ICoreWebView2_18,
40987 ICoreWebView2_19,
40988 ICoreWebView2_20,
40989 ICoreWebView2_21,
40990 ICoreWebView2_22,
40991 ICoreWebView2_23,
40992 ICoreWebView2_24
40993);
40994impl ICoreWebView2_25 {
40995 pub unsafe fn add_SaveAsUIShowing<P0>(
40996 &self,
40997 eventhandler: P0,
40998 token: *mut i64,
40999 ) -> windows_core::Result<()>
41000 where
41001 P0: windows_core::Param<ICoreWebView2SaveAsUIShowingEventHandler>,
41002 {
41003 unsafe {
41004 (windows_core::Interface::vtable(self).add_SaveAsUIShowing)(
41005 windows_core::Interface::as_raw(self),
41006 eventhandler.param().abi(),
41007 token as _,
41008 )
41009 .ok()
41010 }
41011 }
41012 pub unsafe fn remove_SaveAsUIShowing(&self, token: i64) -> windows_core::Result<()> {
41013 unsafe {
41014 (windows_core::Interface::vtable(self).remove_SaveAsUIShowing)(
41015 windows_core::Interface::as_raw(self),
41016 token,
41017 )
41018 .ok()
41019 }
41020 }
41021 pub unsafe fn ShowSaveAsUI<P0>(&self, handler: P0) -> windows_core::Result<()>
41022 where
41023 P0: windows_core::Param<ICoreWebView2ShowSaveAsUICompletedHandler>,
41024 {
41025 unsafe {
41026 (windows_core::Interface::vtable(self).ShowSaveAsUI)(
41027 windows_core::Interface::as_raw(self),
41028 handler.param().abi(),
41029 )
41030 .ok()
41031 }
41032 }
41033}
41034#[repr(C)]
41035#[doc(hidden)]
41036pub struct ICoreWebView2_25_Vtbl {
41037 pub base__: ICoreWebView2_24_Vtbl,
41038 pub add_SaveAsUIShowing: unsafe extern "system" fn(
41039 *mut core::ffi::c_void,
41040 *mut core::ffi::c_void,
41041 *mut i64,
41042 ) -> windows_core::HRESULT,
41043 pub remove_SaveAsUIShowing:
41044 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41045 pub ShowSaveAsUI: unsafe extern "system" fn(
41046 *mut core::ffi::c_void,
41047 *mut core::ffi::c_void,
41048 ) -> windows_core::HRESULT,
41049}
41050pub trait ICoreWebView2_25_Impl: ICoreWebView2_24_Impl {
41051 fn add_SaveAsUIShowing(
41052 &self,
41053 eventhandler: windows_core::Ref<'_, ICoreWebView2SaveAsUIShowingEventHandler>,
41054 token: *mut i64,
41055 ) -> windows_core::Result<()>;
41056 fn remove_SaveAsUIShowing(&self, token: i64) -> windows_core::Result<()>;
41057 fn ShowSaveAsUI(
41058 &self,
41059 handler: windows_core::Ref<'_, ICoreWebView2ShowSaveAsUICompletedHandler>,
41060 ) -> windows_core::Result<()>;
41061}
41062impl ICoreWebView2_25_Vtbl {
41063 pub const fn new<Identity: ICoreWebView2_25_Impl, const OFFSET: isize>() -> Self {
41064 unsafe extern "system" fn add_SaveAsUIShowing<
41065 Identity: ICoreWebView2_25_Impl,
41066 const OFFSET: isize,
41067 >(
41068 this: *mut core::ffi::c_void,
41069 eventhandler: *mut core::ffi::c_void,
41070 token: *mut i64,
41071 ) -> windows_core::HRESULT {
41072 unsafe {
41073 let this: &Identity =
41074 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41075 ICoreWebView2_25_Impl::add_SaveAsUIShowing(
41076 this,
41077 core::mem::transmute_copy(&eventhandler),
41078 core::mem::transmute_copy(&token),
41079 )
41080 .into()
41081 }
41082 }
41083 unsafe extern "system" fn remove_SaveAsUIShowing<
41084 Identity: ICoreWebView2_25_Impl,
41085 const OFFSET: isize,
41086 >(
41087 this: *mut core::ffi::c_void,
41088 token: i64,
41089 ) -> windows_core::HRESULT {
41090 unsafe {
41091 let this: &Identity =
41092 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41093 ICoreWebView2_25_Impl::remove_SaveAsUIShowing(
41094 this,
41095 core::mem::transmute_copy(&token),
41096 )
41097 .into()
41098 }
41099 }
41100 unsafe extern "system" fn ShowSaveAsUI<
41101 Identity: ICoreWebView2_25_Impl,
41102 const OFFSET: isize,
41103 >(
41104 this: *mut core::ffi::c_void,
41105 handler: *mut core::ffi::c_void,
41106 ) -> windows_core::HRESULT {
41107 unsafe {
41108 let this: &Identity =
41109 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41110 ICoreWebView2_25_Impl::ShowSaveAsUI(this, core::mem::transmute_copy(&handler))
41111 .into()
41112 }
41113 }
41114 Self {
41115 base__: ICoreWebView2_24_Vtbl::new::<Identity, OFFSET>(),
41116 add_SaveAsUIShowing: add_SaveAsUIShowing::<Identity, OFFSET>,
41117 remove_SaveAsUIShowing: remove_SaveAsUIShowing::<Identity, OFFSET>,
41118 ShowSaveAsUI: ShowSaveAsUI::<Identity, OFFSET>,
41119 }
41120 }
41121 pub fn matches(iid: &windows_core::GUID) -> bool {
41122 iid == &<ICoreWebView2_25 as windows_core::Interface>::IID
41123 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41124 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41125 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41126 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41127 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
41128 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
41129 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
41130 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
41131 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
41132 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
41133 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
41134 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
41135 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
41136 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
41137 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
41138 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
41139 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
41140 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
41141 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
41142 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
41143 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
41144 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
41145 || iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
41146 || iid == &<ICoreWebView2_24 as windows_core::Interface>::IID
41147 }
41148}
41149impl windows_core::RuntimeName for ICoreWebView2_25 {}
41150windows_core::imp::define_interface!(
41151 ICoreWebView2_26,
41152 ICoreWebView2_26_Vtbl,
41153 0x806268b8_f897_5685_88e5_c45fca0b1a48
41154);
41155impl core::ops::Deref for ICoreWebView2_26 {
41156 type Target = ICoreWebView2_25;
41157 fn deref(&self) -> &Self::Target {
41158 unsafe { core::mem::transmute(self) }
41159 }
41160}
41161windows_core::imp::interface_hierarchy!(
41162 ICoreWebView2_26,
41163 windows_core::IUnknown,
41164 ICoreWebView2,
41165 ICoreWebView2_2,
41166 ICoreWebView2_3,
41167 ICoreWebView2_4,
41168 ICoreWebView2_5,
41169 ICoreWebView2_6,
41170 ICoreWebView2_7,
41171 ICoreWebView2_8,
41172 ICoreWebView2_9,
41173 ICoreWebView2_10,
41174 ICoreWebView2_11,
41175 ICoreWebView2_12,
41176 ICoreWebView2_13,
41177 ICoreWebView2_14,
41178 ICoreWebView2_15,
41179 ICoreWebView2_16,
41180 ICoreWebView2_17,
41181 ICoreWebView2_18,
41182 ICoreWebView2_19,
41183 ICoreWebView2_20,
41184 ICoreWebView2_21,
41185 ICoreWebView2_22,
41186 ICoreWebView2_23,
41187 ICoreWebView2_24,
41188 ICoreWebView2_25
41189);
41190impl ICoreWebView2_26 {
41191 pub unsafe fn add_SaveFileSecurityCheckStarting<P0>(
41192 &self,
41193 eventhandler: P0,
41194 token: *mut i64,
41195 ) -> windows_core::Result<()>
41196 where
41197 P0: windows_core::Param<ICoreWebView2SaveFileSecurityCheckStartingEventHandler>,
41198 {
41199 unsafe {
41200 (windows_core::Interface::vtable(self).add_SaveFileSecurityCheckStarting)(
41201 windows_core::Interface::as_raw(self),
41202 eventhandler.param().abi(),
41203 token as _,
41204 )
41205 .ok()
41206 }
41207 }
41208 pub unsafe fn remove_SaveFileSecurityCheckStarting(
41209 &self,
41210 token: i64,
41211 ) -> windows_core::Result<()> {
41212 unsafe {
41213 (windows_core::Interface::vtable(self).remove_SaveFileSecurityCheckStarting)(
41214 windows_core::Interface::as_raw(self),
41215 token,
41216 )
41217 .ok()
41218 }
41219 }
41220}
41221#[repr(C)]
41222#[doc(hidden)]
41223pub struct ICoreWebView2_26_Vtbl {
41224 pub base__: ICoreWebView2_25_Vtbl,
41225 pub add_SaveFileSecurityCheckStarting: unsafe extern "system" fn(
41226 *mut core::ffi::c_void,
41227 *mut core::ffi::c_void,
41228 *mut i64,
41229 ) -> windows_core::HRESULT,
41230 pub remove_SaveFileSecurityCheckStarting:
41231 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41232}
41233pub trait ICoreWebView2_26_Impl: ICoreWebView2_25_Impl {
41234 fn add_SaveFileSecurityCheckStarting(
41235 &self,
41236 eventhandler: windows_core::Ref<'_, ICoreWebView2SaveFileSecurityCheckStartingEventHandler>,
41237 token: *mut i64,
41238 ) -> windows_core::Result<()>;
41239 fn remove_SaveFileSecurityCheckStarting(&self, token: i64) -> windows_core::Result<()>;
41240}
41241impl ICoreWebView2_26_Vtbl {
41242 pub const fn new<Identity: ICoreWebView2_26_Impl, const OFFSET: isize>() -> Self {
41243 unsafe extern "system" fn add_SaveFileSecurityCheckStarting<
41244 Identity: ICoreWebView2_26_Impl,
41245 const OFFSET: isize,
41246 >(
41247 this: *mut core::ffi::c_void,
41248 eventhandler: *mut core::ffi::c_void,
41249 token: *mut i64,
41250 ) -> windows_core::HRESULT {
41251 unsafe {
41252 let this: &Identity =
41253 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41254 ICoreWebView2_26_Impl::add_SaveFileSecurityCheckStarting(
41255 this,
41256 core::mem::transmute_copy(&eventhandler),
41257 core::mem::transmute_copy(&token),
41258 )
41259 .into()
41260 }
41261 }
41262 unsafe extern "system" fn remove_SaveFileSecurityCheckStarting<
41263 Identity: ICoreWebView2_26_Impl,
41264 const OFFSET: isize,
41265 >(
41266 this: *mut core::ffi::c_void,
41267 token: i64,
41268 ) -> windows_core::HRESULT {
41269 unsafe {
41270 let this: &Identity =
41271 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41272 ICoreWebView2_26_Impl::remove_SaveFileSecurityCheckStarting(
41273 this,
41274 core::mem::transmute_copy(&token),
41275 )
41276 .into()
41277 }
41278 }
41279 Self {
41280 base__: ICoreWebView2_25_Vtbl::new::<Identity, OFFSET>(),
41281 add_SaveFileSecurityCheckStarting: add_SaveFileSecurityCheckStarting::<Identity, OFFSET>,
41282 remove_SaveFileSecurityCheckStarting: remove_SaveFileSecurityCheckStarting::<
41283 Identity,
41284 OFFSET,
41285 >,
41286 }
41287 }
41288 pub fn matches(iid: &windows_core::GUID) -> bool {
41289 iid == &<ICoreWebView2_26 as windows_core::Interface>::IID
41290 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41291 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41292 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41293 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41294 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
41295 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
41296 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
41297 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
41298 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
41299 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
41300 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
41301 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
41302 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
41303 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
41304 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
41305 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
41306 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
41307 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
41308 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
41309 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
41310 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
41311 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
41312 || iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
41313 || iid == &<ICoreWebView2_24 as windows_core::Interface>::IID
41314 || iid == &<ICoreWebView2_25 as windows_core::Interface>::IID
41315 }
41316}
41317impl windows_core::RuntimeName for ICoreWebView2_26 {}
41318windows_core::imp::define_interface!(
41319 ICoreWebView2_27,
41320 ICoreWebView2_27_Vtbl,
41321 0x00fbe33b_8c07_517c_aa23_0ddd4b5f6fa0
41322);
41323impl core::ops::Deref for ICoreWebView2_27 {
41324 type Target = ICoreWebView2_26;
41325 fn deref(&self) -> &Self::Target {
41326 unsafe { core::mem::transmute(self) }
41327 }
41328}
41329windows_core::imp::interface_hierarchy!(
41330 ICoreWebView2_27,
41331 windows_core::IUnknown,
41332 ICoreWebView2,
41333 ICoreWebView2_2,
41334 ICoreWebView2_3,
41335 ICoreWebView2_4,
41336 ICoreWebView2_5,
41337 ICoreWebView2_6,
41338 ICoreWebView2_7,
41339 ICoreWebView2_8,
41340 ICoreWebView2_9,
41341 ICoreWebView2_10,
41342 ICoreWebView2_11,
41343 ICoreWebView2_12,
41344 ICoreWebView2_13,
41345 ICoreWebView2_14,
41346 ICoreWebView2_15,
41347 ICoreWebView2_16,
41348 ICoreWebView2_17,
41349 ICoreWebView2_18,
41350 ICoreWebView2_19,
41351 ICoreWebView2_20,
41352 ICoreWebView2_21,
41353 ICoreWebView2_22,
41354 ICoreWebView2_23,
41355 ICoreWebView2_24,
41356 ICoreWebView2_25,
41357 ICoreWebView2_26
41358);
41359impl ICoreWebView2_27 {
41360 pub unsafe fn add_ScreenCaptureStarting<P0>(
41361 &self,
41362 eventhandler: P0,
41363 token: *mut i64,
41364 ) -> windows_core::Result<()>
41365 where
41366 P0: windows_core::Param<ICoreWebView2ScreenCaptureStartingEventHandler>,
41367 {
41368 unsafe {
41369 (windows_core::Interface::vtable(self).add_ScreenCaptureStarting)(
41370 windows_core::Interface::as_raw(self),
41371 eventhandler.param().abi(),
41372 token as _,
41373 )
41374 .ok()
41375 }
41376 }
41377 pub unsafe fn remove_ScreenCaptureStarting(&self, token: i64) -> windows_core::Result<()> {
41378 unsafe {
41379 (windows_core::Interface::vtable(self).remove_ScreenCaptureStarting)(
41380 windows_core::Interface::as_raw(self),
41381 token,
41382 )
41383 .ok()
41384 }
41385 }
41386}
41387#[repr(C)]
41388#[doc(hidden)]
41389pub struct ICoreWebView2_27_Vtbl {
41390 pub base__: ICoreWebView2_26_Vtbl,
41391 pub add_ScreenCaptureStarting: unsafe extern "system" fn(
41392 *mut core::ffi::c_void,
41393 *mut core::ffi::c_void,
41394 *mut i64,
41395 ) -> windows_core::HRESULT,
41396 pub remove_ScreenCaptureStarting:
41397 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41398}
41399pub trait ICoreWebView2_27_Impl: ICoreWebView2_26_Impl {
41400 fn add_ScreenCaptureStarting(
41401 &self,
41402 eventhandler: windows_core::Ref<'_, ICoreWebView2ScreenCaptureStartingEventHandler>,
41403 token: *mut i64,
41404 ) -> windows_core::Result<()>;
41405 fn remove_ScreenCaptureStarting(&self, token: i64) -> windows_core::Result<()>;
41406}
41407impl ICoreWebView2_27_Vtbl {
41408 pub const fn new<Identity: ICoreWebView2_27_Impl, const OFFSET: isize>() -> Self {
41409 unsafe extern "system" fn add_ScreenCaptureStarting<
41410 Identity: ICoreWebView2_27_Impl,
41411 const OFFSET: isize,
41412 >(
41413 this: *mut core::ffi::c_void,
41414 eventhandler: *mut core::ffi::c_void,
41415 token: *mut i64,
41416 ) -> windows_core::HRESULT {
41417 unsafe {
41418 let this: &Identity =
41419 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41420 ICoreWebView2_27_Impl::add_ScreenCaptureStarting(
41421 this,
41422 core::mem::transmute_copy(&eventhandler),
41423 core::mem::transmute_copy(&token),
41424 )
41425 .into()
41426 }
41427 }
41428 unsafe extern "system" fn remove_ScreenCaptureStarting<
41429 Identity: ICoreWebView2_27_Impl,
41430 const OFFSET: isize,
41431 >(
41432 this: *mut core::ffi::c_void,
41433 token: i64,
41434 ) -> windows_core::HRESULT {
41435 unsafe {
41436 let this: &Identity =
41437 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41438 ICoreWebView2_27_Impl::remove_ScreenCaptureStarting(
41439 this,
41440 core::mem::transmute_copy(&token),
41441 )
41442 .into()
41443 }
41444 }
41445 Self {
41446 base__: ICoreWebView2_26_Vtbl::new::<Identity, OFFSET>(),
41447 add_ScreenCaptureStarting: add_ScreenCaptureStarting::<Identity, OFFSET>,
41448 remove_ScreenCaptureStarting: remove_ScreenCaptureStarting::<Identity, OFFSET>,
41449 }
41450 }
41451 pub fn matches(iid: &windows_core::GUID) -> bool {
41452 iid == &<ICoreWebView2_27 as windows_core::Interface>::IID
41453 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41454 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41455 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41456 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41457 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
41458 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
41459 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
41460 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
41461 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
41462 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
41463 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
41464 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
41465 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
41466 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
41467 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
41468 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
41469 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
41470 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
41471 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
41472 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
41473 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
41474 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
41475 || iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
41476 || iid == &<ICoreWebView2_24 as windows_core::Interface>::IID
41477 || iid == &<ICoreWebView2_25 as windows_core::Interface>::IID
41478 || iid == &<ICoreWebView2_26 as windows_core::Interface>::IID
41479 }
41480}
41481impl windows_core::RuntimeName for ICoreWebView2_27 {}
41482windows_core::imp::define_interface!(
41483 ICoreWebView2_3,
41484 ICoreWebView2_3_Vtbl,
41485 0xa0d6df20_3b92_416d_aa0c_437a9c727857
41486);
41487impl core::ops::Deref for ICoreWebView2_3 {
41488 type Target = ICoreWebView2_2;
41489 fn deref(&self) -> &Self::Target {
41490 unsafe { core::mem::transmute(self) }
41491 }
41492}
41493windows_core::imp::interface_hierarchy!(
41494 ICoreWebView2_3,
41495 windows_core::IUnknown,
41496 ICoreWebView2,
41497 ICoreWebView2_2
41498);
41499impl ICoreWebView2_3 {
41500 pub unsafe fn TrySuspend<P0>(&self, handler: P0) -> windows_core::Result<()>
41501 where
41502 P0: windows_core::Param<ICoreWebView2TrySuspendCompletedHandler>,
41503 {
41504 unsafe {
41505 (windows_core::Interface::vtable(self).TrySuspend)(
41506 windows_core::Interface::as_raw(self),
41507 handler.param().abi(),
41508 )
41509 .ok()
41510 }
41511 }
41512 pub unsafe fn Resume(&self) -> windows_core::Result<()> {
41513 unsafe {
41514 (windows_core::Interface::vtable(self).Resume)(windows_core::Interface::as_raw(self))
41515 .ok()
41516 }
41517 }
41518 pub unsafe fn IsSuspended(
41519 &self,
41520 issuspended: *mut windows_core::BOOL,
41521 ) -> windows_core::Result<()> {
41522 unsafe {
41523 (windows_core::Interface::vtable(self).IsSuspended)(
41524 windows_core::Interface::as_raw(self),
41525 issuspended as _,
41526 )
41527 .ok()
41528 }
41529 }
41530 pub unsafe fn SetVirtualHostNameToFolderMapping<P0, P1>(
41531 &self,
41532 hostname: P0,
41533 folderpath: P1,
41534 accesskind: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
41535 ) -> windows_core::Result<()>
41536 where
41537 P0: windows_core::Param<windows_core::PCWSTR>,
41538 P1: windows_core::Param<windows_core::PCWSTR>,
41539 {
41540 unsafe {
41541 (windows_core::Interface::vtable(self).SetVirtualHostNameToFolderMapping)(
41542 windows_core::Interface::as_raw(self),
41543 hostname.param().abi(),
41544 folderpath.param().abi(),
41545 accesskind,
41546 )
41547 .ok()
41548 }
41549 }
41550 pub unsafe fn ClearVirtualHostNameToFolderMapping<P0>(
41551 &self,
41552 hostname: P0,
41553 ) -> windows_core::Result<()>
41554 where
41555 P0: windows_core::Param<windows_core::PCWSTR>,
41556 {
41557 unsafe {
41558 (windows_core::Interface::vtable(self).ClearVirtualHostNameToFolderMapping)(
41559 windows_core::Interface::as_raw(self),
41560 hostname.param().abi(),
41561 )
41562 .ok()
41563 }
41564 }
41565}
41566#[repr(C)]
41567#[doc(hidden)]
41568pub struct ICoreWebView2_3_Vtbl {
41569 pub base__: ICoreWebView2_2_Vtbl,
41570 pub TrySuspend: unsafe extern "system" fn(
41571 *mut core::ffi::c_void,
41572 *mut core::ffi::c_void,
41573 ) -> windows_core::HRESULT,
41574 pub Resume: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
41575 pub IsSuspended: unsafe extern "system" fn(
41576 *mut core::ffi::c_void,
41577 *mut windows_core::BOOL,
41578 ) -> windows_core::HRESULT,
41579 pub SetVirtualHostNameToFolderMapping: unsafe extern "system" fn(
41580 *mut core::ffi::c_void,
41581 windows_core::PCWSTR,
41582 windows_core::PCWSTR,
41583 COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
41584 ) -> windows_core::HRESULT,
41585 pub ClearVirtualHostNameToFolderMapping: unsafe extern "system" fn(
41586 *mut core::ffi::c_void,
41587 windows_core::PCWSTR,
41588 )
41589 -> windows_core::HRESULT,
41590}
41591pub trait ICoreWebView2_3_Impl: ICoreWebView2_2_Impl {
41592 fn TrySuspend(
41593 &self,
41594 handler: windows_core::Ref<'_, ICoreWebView2TrySuspendCompletedHandler>,
41595 ) -> windows_core::Result<()>;
41596 fn Resume(&self) -> windows_core::Result<()>;
41597 fn IsSuspended(&self, issuspended: *mut windows_core::BOOL) -> windows_core::Result<()>;
41598 fn SetVirtualHostNameToFolderMapping(
41599 &self,
41600 hostname: &windows_core::PCWSTR,
41601 folderpath: &windows_core::PCWSTR,
41602 accesskind: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
41603 ) -> windows_core::Result<()>;
41604 fn ClearVirtualHostNameToFolderMapping(
41605 &self,
41606 hostname: &windows_core::PCWSTR,
41607 ) -> windows_core::Result<()>;
41608}
41609impl ICoreWebView2_3_Vtbl {
41610 pub const fn new<Identity: ICoreWebView2_3_Impl, const OFFSET: isize>() -> Self {
41611 unsafe extern "system" fn TrySuspend<
41612 Identity: ICoreWebView2_3_Impl,
41613 const OFFSET: isize,
41614 >(
41615 this: *mut core::ffi::c_void,
41616 handler: *mut core::ffi::c_void,
41617 ) -> windows_core::HRESULT {
41618 unsafe {
41619 let this: &Identity =
41620 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41621 ICoreWebView2_3_Impl::TrySuspend(this, core::mem::transmute_copy(&handler)).into()
41622 }
41623 }
41624 unsafe extern "system" fn Resume<Identity: ICoreWebView2_3_Impl, const OFFSET: isize>(
41625 this: *mut core::ffi::c_void,
41626 ) -> windows_core::HRESULT {
41627 unsafe {
41628 let this: &Identity =
41629 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41630 ICoreWebView2_3_Impl::Resume(this).into()
41631 }
41632 }
41633 unsafe extern "system" fn IsSuspended<
41634 Identity: ICoreWebView2_3_Impl,
41635 const OFFSET: isize,
41636 >(
41637 this: *mut core::ffi::c_void,
41638 issuspended: *mut windows_core::BOOL,
41639 ) -> windows_core::HRESULT {
41640 unsafe {
41641 let this: &Identity =
41642 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41643 ICoreWebView2_3_Impl::IsSuspended(this, core::mem::transmute_copy(&issuspended))
41644 .into()
41645 }
41646 }
41647 unsafe extern "system" fn SetVirtualHostNameToFolderMapping<
41648 Identity: ICoreWebView2_3_Impl,
41649 const OFFSET: isize,
41650 >(
41651 this: *mut core::ffi::c_void,
41652 hostname: windows_core::PCWSTR,
41653 folderpath: windows_core::PCWSTR,
41654 accesskind: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
41655 ) -> windows_core::HRESULT {
41656 unsafe {
41657 let this: &Identity =
41658 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41659 ICoreWebView2_3_Impl::SetVirtualHostNameToFolderMapping(
41660 this,
41661 core::mem::transmute(&hostname),
41662 core::mem::transmute(&folderpath),
41663 core::mem::transmute_copy(&accesskind),
41664 )
41665 .into()
41666 }
41667 }
41668 unsafe extern "system" fn ClearVirtualHostNameToFolderMapping<
41669 Identity: ICoreWebView2_3_Impl,
41670 const OFFSET: isize,
41671 >(
41672 this: *mut core::ffi::c_void,
41673 hostname: windows_core::PCWSTR,
41674 ) -> windows_core::HRESULT {
41675 unsafe {
41676 let this: &Identity =
41677 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41678 ICoreWebView2_3_Impl::ClearVirtualHostNameToFolderMapping(
41679 this,
41680 core::mem::transmute(&hostname),
41681 )
41682 .into()
41683 }
41684 }
41685 Self {
41686 base__: ICoreWebView2_2_Vtbl::new::<Identity, OFFSET>(),
41687 TrySuspend: TrySuspend::<Identity, OFFSET>,
41688 Resume: Resume::<Identity, OFFSET>,
41689 IsSuspended: IsSuspended::<Identity, OFFSET>,
41690 SetVirtualHostNameToFolderMapping: SetVirtualHostNameToFolderMapping::<Identity, OFFSET>,
41691 ClearVirtualHostNameToFolderMapping: ClearVirtualHostNameToFolderMapping::<
41692 Identity,
41693 OFFSET,
41694 >,
41695 }
41696 }
41697 pub fn matches(iid: &windows_core::GUID) -> bool {
41698 iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41699 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41700 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41701 }
41702}
41703impl windows_core::RuntimeName for ICoreWebView2_3 {}
41704windows_core::imp::define_interface!(
41705 ICoreWebView2_4,
41706 ICoreWebView2_4_Vtbl,
41707 0x20d02d59_6df2_42dc_bd06_f98a694b1302
41708);
41709impl core::ops::Deref for ICoreWebView2_4 {
41710 type Target = ICoreWebView2_3;
41711 fn deref(&self) -> &Self::Target {
41712 unsafe { core::mem::transmute(self) }
41713 }
41714}
41715windows_core::imp::interface_hierarchy!(
41716 ICoreWebView2_4,
41717 windows_core::IUnknown,
41718 ICoreWebView2,
41719 ICoreWebView2_2,
41720 ICoreWebView2_3
41721);
41722impl ICoreWebView2_4 {
41723 pub unsafe fn add_FrameCreated<P0>(
41724 &self,
41725 eventhandler: P0,
41726 token: *mut i64,
41727 ) -> windows_core::Result<()>
41728 where
41729 P0: windows_core::Param<ICoreWebView2FrameCreatedEventHandler>,
41730 {
41731 unsafe {
41732 (windows_core::Interface::vtable(self).add_FrameCreated)(
41733 windows_core::Interface::as_raw(self),
41734 eventhandler.param().abi(),
41735 token as _,
41736 )
41737 .ok()
41738 }
41739 }
41740 pub unsafe fn remove_FrameCreated(&self, token: i64) -> windows_core::Result<()> {
41741 unsafe {
41742 (windows_core::Interface::vtable(self).remove_FrameCreated)(
41743 windows_core::Interface::as_raw(self),
41744 token,
41745 )
41746 .ok()
41747 }
41748 }
41749 pub unsafe fn add_DownloadStarting<P0>(
41750 &self,
41751 eventhandler: P0,
41752 token: *mut i64,
41753 ) -> windows_core::Result<()>
41754 where
41755 P0: windows_core::Param<ICoreWebView2DownloadStartingEventHandler>,
41756 {
41757 unsafe {
41758 (windows_core::Interface::vtable(self).add_DownloadStarting)(
41759 windows_core::Interface::as_raw(self),
41760 eventhandler.param().abi(),
41761 token as _,
41762 )
41763 .ok()
41764 }
41765 }
41766 pub unsafe fn remove_DownloadStarting(&self, token: i64) -> windows_core::Result<()> {
41767 unsafe {
41768 (windows_core::Interface::vtable(self).remove_DownloadStarting)(
41769 windows_core::Interface::as_raw(self),
41770 token,
41771 )
41772 .ok()
41773 }
41774 }
41775}
41776#[repr(C)]
41777#[doc(hidden)]
41778pub struct ICoreWebView2_4_Vtbl {
41779 pub base__: ICoreWebView2_3_Vtbl,
41780 pub add_FrameCreated: unsafe extern "system" fn(
41781 *mut core::ffi::c_void,
41782 *mut core::ffi::c_void,
41783 *mut i64,
41784 ) -> windows_core::HRESULT,
41785 pub remove_FrameCreated:
41786 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41787 pub add_DownloadStarting: unsafe extern "system" fn(
41788 *mut core::ffi::c_void,
41789 *mut core::ffi::c_void,
41790 *mut i64,
41791 ) -> windows_core::HRESULT,
41792 pub remove_DownloadStarting:
41793 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41794}
41795pub trait ICoreWebView2_4_Impl: ICoreWebView2_3_Impl {
41796 fn add_FrameCreated(
41797 &self,
41798 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameCreatedEventHandler>,
41799 token: *mut i64,
41800 ) -> windows_core::Result<()>;
41801 fn remove_FrameCreated(&self, token: i64) -> windows_core::Result<()>;
41802 fn add_DownloadStarting(
41803 &self,
41804 eventhandler: windows_core::Ref<'_, ICoreWebView2DownloadStartingEventHandler>,
41805 token: *mut i64,
41806 ) -> windows_core::Result<()>;
41807 fn remove_DownloadStarting(&self, token: i64) -> windows_core::Result<()>;
41808}
41809impl ICoreWebView2_4_Vtbl {
41810 pub const fn new<Identity: ICoreWebView2_4_Impl, const OFFSET: isize>() -> Self {
41811 unsafe extern "system" fn add_FrameCreated<
41812 Identity: ICoreWebView2_4_Impl,
41813 const OFFSET: isize,
41814 >(
41815 this: *mut core::ffi::c_void,
41816 eventhandler: *mut core::ffi::c_void,
41817 token: *mut i64,
41818 ) -> windows_core::HRESULT {
41819 unsafe {
41820 let this: &Identity =
41821 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41822 ICoreWebView2_4_Impl::add_FrameCreated(
41823 this,
41824 core::mem::transmute_copy(&eventhandler),
41825 core::mem::transmute_copy(&token),
41826 )
41827 .into()
41828 }
41829 }
41830 unsafe extern "system" fn remove_FrameCreated<
41831 Identity: ICoreWebView2_4_Impl,
41832 const OFFSET: isize,
41833 >(
41834 this: *mut core::ffi::c_void,
41835 token: i64,
41836 ) -> windows_core::HRESULT {
41837 unsafe {
41838 let this: &Identity =
41839 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41840 ICoreWebView2_4_Impl::remove_FrameCreated(this, core::mem::transmute_copy(&token))
41841 .into()
41842 }
41843 }
41844 unsafe extern "system" fn add_DownloadStarting<
41845 Identity: ICoreWebView2_4_Impl,
41846 const OFFSET: isize,
41847 >(
41848 this: *mut core::ffi::c_void,
41849 eventhandler: *mut core::ffi::c_void,
41850 token: *mut i64,
41851 ) -> windows_core::HRESULT {
41852 unsafe {
41853 let this: &Identity =
41854 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41855 ICoreWebView2_4_Impl::add_DownloadStarting(
41856 this,
41857 core::mem::transmute_copy(&eventhandler),
41858 core::mem::transmute_copy(&token),
41859 )
41860 .into()
41861 }
41862 }
41863 unsafe extern "system" fn remove_DownloadStarting<
41864 Identity: ICoreWebView2_4_Impl,
41865 const OFFSET: isize,
41866 >(
41867 this: *mut core::ffi::c_void,
41868 token: i64,
41869 ) -> windows_core::HRESULT {
41870 unsafe {
41871 let this: &Identity =
41872 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41873 ICoreWebView2_4_Impl::remove_DownloadStarting(
41874 this,
41875 core::mem::transmute_copy(&token),
41876 )
41877 .into()
41878 }
41879 }
41880 Self {
41881 base__: ICoreWebView2_3_Vtbl::new::<Identity, OFFSET>(),
41882 add_FrameCreated: add_FrameCreated::<Identity, OFFSET>,
41883 remove_FrameCreated: remove_FrameCreated::<Identity, OFFSET>,
41884 add_DownloadStarting: add_DownloadStarting::<Identity, OFFSET>,
41885 remove_DownloadStarting: remove_DownloadStarting::<Identity, OFFSET>,
41886 }
41887 }
41888 pub fn matches(iid: &windows_core::GUID) -> bool {
41889 iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41890 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41891 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41892 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41893 }
41894}
41895impl windows_core::RuntimeName for ICoreWebView2_4 {}
41896windows_core::imp::define_interface!(
41897 ICoreWebView2_5,
41898 ICoreWebView2_5_Vtbl,
41899 0xbedb11b8_d63c_11eb_b8bc_0242ac130003
41900);
41901impl core::ops::Deref for ICoreWebView2_5 {
41902 type Target = ICoreWebView2_4;
41903 fn deref(&self) -> &Self::Target {
41904 unsafe { core::mem::transmute(self) }
41905 }
41906}
41907windows_core::imp::interface_hierarchy!(
41908 ICoreWebView2_5,
41909 windows_core::IUnknown,
41910 ICoreWebView2,
41911 ICoreWebView2_2,
41912 ICoreWebView2_3,
41913 ICoreWebView2_4
41914);
41915impl ICoreWebView2_5 {
41916 pub unsafe fn add_ClientCertificateRequested<P0>(
41917 &self,
41918 eventhandler: P0,
41919 token: *mut i64,
41920 ) -> windows_core::Result<()>
41921 where
41922 P0: windows_core::Param<ICoreWebView2ClientCertificateRequestedEventHandler>,
41923 {
41924 unsafe {
41925 (windows_core::Interface::vtable(self).add_ClientCertificateRequested)(
41926 windows_core::Interface::as_raw(self),
41927 eventhandler.param().abi(),
41928 token as _,
41929 )
41930 .ok()
41931 }
41932 }
41933 pub unsafe fn remove_ClientCertificateRequested(&self, token: i64) -> windows_core::Result<()> {
41934 unsafe {
41935 (windows_core::Interface::vtable(self).remove_ClientCertificateRequested)(
41936 windows_core::Interface::as_raw(self),
41937 token,
41938 )
41939 .ok()
41940 }
41941 }
41942}
41943#[repr(C)]
41944#[doc(hidden)]
41945pub struct ICoreWebView2_5_Vtbl {
41946 pub base__: ICoreWebView2_4_Vtbl,
41947 pub add_ClientCertificateRequested: unsafe extern "system" fn(
41948 *mut core::ffi::c_void,
41949 *mut core::ffi::c_void,
41950 *mut i64,
41951 ) -> windows_core::HRESULT,
41952 pub remove_ClientCertificateRequested:
41953 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41954}
41955pub trait ICoreWebView2_5_Impl: ICoreWebView2_4_Impl {
41956 fn add_ClientCertificateRequested(
41957 &self,
41958 eventhandler: windows_core::Ref<'_, ICoreWebView2ClientCertificateRequestedEventHandler>,
41959 token: *mut i64,
41960 ) -> windows_core::Result<()>;
41961 fn remove_ClientCertificateRequested(&self, token: i64) -> windows_core::Result<()>;
41962}
41963impl ICoreWebView2_5_Vtbl {
41964 pub const fn new<Identity: ICoreWebView2_5_Impl, const OFFSET: isize>() -> Self {
41965 unsafe extern "system" fn add_ClientCertificateRequested<
41966 Identity: ICoreWebView2_5_Impl,
41967 const OFFSET: isize,
41968 >(
41969 this: *mut core::ffi::c_void,
41970 eventhandler: *mut core::ffi::c_void,
41971 token: *mut i64,
41972 ) -> windows_core::HRESULT {
41973 unsafe {
41974 let this: &Identity =
41975 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41976 ICoreWebView2_5_Impl::add_ClientCertificateRequested(
41977 this,
41978 core::mem::transmute_copy(&eventhandler),
41979 core::mem::transmute_copy(&token),
41980 )
41981 .into()
41982 }
41983 }
41984 unsafe extern "system" fn remove_ClientCertificateRequested<
41985 Identity: ICoreWebView2_5_Impl,
41986 const OFFSET: isize,
41987 >(
41988 this: *mut core::ffi::c_void,
41989 token: i64,
41990 ) -> windows_core::HRESULT {
41991 unsafe {
41992 let this: &Identity =
41993 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41994 ICoreWebView2_5_Impl::remove_ClientCertificateRequested(
41995 this,
41996 core::mem::transmute_copy(&token),
41997 )
41998 .into()
41999 }
42000 }
42001 Self {
42002 base__: ICoreWebView2_4_Vtbl::new::<Identity, OFFSET>(),
42003 add_ClientCertificateRequested: add_ClientCertificateRequested::<Identity, OFFSET>,
42004 remove_ClientCertificateRequested: remove_ClientCertificateRequested::<Identity, OFFSET>,
42005 }
42006 }
42007 pub fn matches(iid: &windows_core::GUID) -> bool {
42008 iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42009 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42010 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42011 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42012 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42013 }
42014}
42015impl windows_core::RuntimeName for ICoreWebView2_5 {}
42016windows_core::imp::define_interface!(
42017 ICoreWebView2_6,
42018 ICoreWebView2_6_Vtbl,
42019 0x499aadac_d92c_4589_8a75_111bfc167795
42020);
42021impl core::ops::Deref for ICoreWebView2_6 {
42022 type Target = ICoreWebView2_5;
42023 fn deref(&self) -> &Self::Target {
42024 unsafe { core::mem::transmute(self) }
42025 }
42026}
42027windows_core::imp::interface_hierarchy!(
42028 ICoreWebView2_6,
42029 windows_core::IUnknown,
42030 ICoreWebView2,
42031 ICoreWebView2_2,
42032 ICoreWebView2_3,
42033 ICoreWebView2_4,
42034 ICoreWebView2_5
42035);
42036impl ICoreWebView2_6 {
42037 pub unsafe fn OpenTaskManagerWindow(&self) -> windows_core::Result<()> {
42038 unsafe {
42039 (windows_core::Interface::vtable(self).OpenTaskManagerWindow)(
42040 windows_core::Interface::as_raw(self),
42041 )
42042 .ok()
42043 }
42044 }
42045}
42046#[repr(C)]
42047#[doc(hidden)]
42048pub struct ICoreWebView2_6_Vtbl {
42049 pub base__: ICoreWebView2_5_Vtbl,
42050 pub OpenTaskManagerWindow:
42051 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
42052}
42053pub trait ICoreWebView2_6_Impl: ICoreWebView2_5_Impl {
42054 fn OpenTaskManagerWindow(&self) -> windows_core::Result<()>;
42055}
42056impl ICoreWebView2_6_Vtbl {
42057 pub const fn new<Identity: ICoreWebView2_6_Impl, const OFFSET: isize>() -> Self {
42058 unsafe extern "system" fn OpenTaskManagerWindow<
42059 Identity: ICoreWebView2_6_Impl,
42060 const OFFSET: isize,
42061 >(
42062 this: *mut core::ffi::c_void,
42063 ) -> windows_core::HRESULT {
42064 unsafe {
42065 let this: &Identity =
42066 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42067 ICoreWebView2_6_Impl::OpenTaskManagerWindow(this).into()
42068 }
42069 }
42070 Self {
42071 base__: ICoreWebView2_5_Vtbl::new::<Identity, OFFSET>(),
42072 OpenTaskManagerWindow: OpenTaskManagerWindow::<Identity, OFFSET>,
42073 }
42074 }
42075 pub fn matches(iid: &windows_core::GUID) -> bool {
42076 iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
42077 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42078 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42079 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42080 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42081 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42082 }
42083}
42084impl windows_core::RuntimeName for ICoreWebView2_6 {}
42085windows_core::imp::define_interface!(
42086 ICoreWebView2_7,
42087 ICoreWebView2_7_Vtbl,
42088 0x79c24d83_09a3_45ae_9418_487f32a58740
42089);
42090impl core::ops::Deref for ICoreWebView2_7 {
42091 type Target = ICoreWebView2_6;
42092 fn deref(&self) -> &Self::Target {
42093 unsafe { core::mem::transmute(self) }
42094 }
42095}
42096windows_core::imp::interface_hierarchy!(
42097 ICoreWebView2_7,
42098 windows_core::IUnknown,
42099 ICoreWebView2,
42100 ICoreWebView2_2,
42101 ICoreWebView2_3,
42102 ICoreWebView2_4,
42103 ICoreWebView2_5,
42104 ICoreWebView2_6
42105);
42106impl ICoreWebView2_7 {
42107 pub unsafe fn PrintToPdf<P0, P1, P2>(
42108 &self,
42109 resultfilepath: P0,
42110 printsettings: P1,
42111 handler: P2,
42112 ) -> windows_core::Result<()>
42113 where
42114 P0: windows_core::Param<windows_core::PCWSTR>,
42115 P1: windows_core::Param<ICoreWebView2PrintSettings>,
42116 P2: windows_core::Param<ICoreWebView2PrintToPdfCompletedHandler>,
42117 {
42118 unsafe {
42119 (windows_core::Interface::vtable(self).PrintToPdf)(
42120 windows_core::Interface::as_raw(self),
42121 resultfilepath.param().abi(),
42122 printsettings.param().abi(),
42123 handler.param().abi(),
42124 )
42125 .ok()
42126 }
42127 }
42128}
42129#[repr(C)]
42130#[doc(hidden)]
42131pub struct ICoreWebView2_7_Vtbl {
42132 pub base__: ICoreWebView2_6_Vtbl,
42133 pub PrintToPdf: unsafe extern "system" fn(
42134 *mut core::ffi::c_void,
42135 windows_core::PCWSTR,
42136 *mut core::ffi::c_void,
42137 *mut core::ffi::c_void,
42138 ) -> windows_core::HRESULT,
42139}
42140pub trait ICoreWebView2_7_Impl: ICoreWebView2_6_Impl {
42141 fn PrintToPdf(
42142 &self,
42143 resultfilepath: &windows_core::PCWSTR,
42144 printsettings: windows_core::Ref<'_, ICoreWebView2PrintSettings>,
42145 handler: windows_core::Ref<'_, ICoreWebView2PrintToPdfCompletedHandler>,
42146 ) -> windows_core::Result<()>;
42147}
42148impl ICoreWebView2_7_Vtbl {
42149 pub const fn new<Identity: ICoreWebView2_7_Impl, const OFFSET: isize>() -> Self {
42150 unsafe extern "system" fn PrintToPdf<
42151 Identity: ICoreWebView2_7_Impl,
42152 const OFFSET: isize,
42153 >(
42154 this: *mut core::ffi::c_void,
42155 resultfilepath: windows_core::PCWSTR,
42156 printsettings: *mut core::ffi::c_void,
42157 handler: *mut core::ffi::c_void,
42158 ) -> windows_core::HRESULT {
42159 unsafe {
42160 let this: &Identity =
42161 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42162 ICoreWebView2_7_Impl::PrintToPdf(
42163 this,
42164 core::mem::transmute(&resultfilepath),
42165 core::mem::transmute_copy(&printsettings),
42166 core::mem::transmute_copy(&handler),
42167 )
42168 .into()
42169 }
42170 }
42171 Self {
42172 base__: ICoreWebView2_6_Vtbl::new::<Identity, OFFSET>(),
42173 PrintToPdf: PrintToPdf::<Identity, OFFSET>,
42174 }
42175 }
42176 pub fn matches(iid: &windows_core::GUID) -> bool {
42177 iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
42178 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42179 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42180 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42181 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42182 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42183 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
42184 }
42185}
42186impl windows_core::RuntimeName for ICoreWebView2_7 {}
42187windows_core::imp::define_interface!(
42188 ICoreWebView2_8,
42189 ICoreWebView2_8_Vtbl,
42190 0xe9632730_6e1e_43ab_b7b8_7b2c9e62e094
42191);
42192impl core::ops::Deref for ICoreWebView2_8 {
42193 type Target = ICoreWebView2_7;
42194 fn deref(&self) -> &Self::Target {
42195 unsafe { core::mem::transmute(self) }
42196 }
42197}
42198windows_core::imp::interface_hierarchy!(
42199 ICoreWebView2_8,
42200 windows_core::IUnknown,
42201 ICoreWebView2,
42202 ICoreWebView2_2,
42203 ICoreWebView2_3,
42204 ICoreWebView2_4,
42205 ICoreWebView2_5,
42206 ICoreWebView2_6,
42207 ICoreWebView2_7
42208);
42209impl ICoreWebView2_8 {
42210 pub unsafe fn add_IsMutedChanged<P0>(
42211 &self,
42212 eventhandler: P0,
42213 token: *mut i64,
42214 ) -> windows_core::Result<()>
42215 where
42216 P0: windows_core::Param<ICoreWebView2IsMutedChangedEventHandler>,
42217 {
42218 unsafe {
42219 (windows_core::Interface::vtable(self).add_IsMutedChanged)(
42220 windows_core::Interface::as_raw(self),
42221 eventhandler.param().abi(),
42222 token as _,
42223 )
42224 .ok()
42225 }
42226 }
42227 pub unsafe fn remove_IsMutedChanged(&self, token: i64) -> windows_core::Result<()> {
42228 unsafe {
42229 (windows_core::Interface::vtable(self).remove_IsMutedChanged)(
42230 windows_core::Interface::as_raw(self),
42231 token,
42232 )
42233 .ok()
42234 }
42235 }
42236 pub unsafe fn IsMuted(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
42237 unsafe {
42238 (windows_core::Interface::vtable(self).IsMuted)(
42239 windows_core::Interface::as_raw(self),
42240 value as _,
42241 )
42242 .ok()
42243 }
42244 }
42245 pub unsafe fn SetIsMuted(&self, value: bool) -> windows_core::Result<()> {
42246 unsafe {
42247 (windows_core::Interface::vtable(self).SetIsMuted)(
42248 windows_core::Interface::as_raw(self),
42249 value.into(),
42250 )
42251 .ok()
42252 }
42253 }
42254 pub unsafe fn add_IsDocumentPlayingAudioChanged<P0>(
42255 &self,
42256 eventhandler: P0,
42257 token: *mut i64,
42258 ) -> windows_core::Result<()>
42259 where
42260 P0: windows_core::Param<ICoreWebView2IsDocumentPlayingAudioChangedEventHandler>,
42261 {
42262 unsafe {
42263 (windows_core::Interface::vtable(self).add_IsDocumentPlayingAudioChanged)(
42264 windows_core::Interface::as_raw(self),
42265 eventhandler.param().abi(),
42266 token as _,
42267 )
42268 .ok()
42269 }
42270 }
42271 pub unsafe fn remove_IsDocumentPlayingAudioChanged(
42272 &self,
42273 token: i64,
42274 ) -> windows_core::Result<()> {
42275 unsafe {
42276 (windows_core::Interface::vtable(self).remove_IsDocumentPlayingAudioChanged)(
42277 windows_core::Interface::as_raw(self),
42278 token,
42279 )
42280 .ok()
42281 }
42282 }
42283 pub unsafe fn IsDocumentPlayingAudio(
42284 &self,
42285 value: *mut windows_core::BOOL,
42286 ) -> windows_core::Result<()> {
42287 unsafe {
42288 (windows_core::Interface::vtable(self).IsDocumentPlayingAudio)(
42289 windows_core::Interface::as_raw(self),
42290 value as _,
42291 )
42292 .ok()
42293 }
42294 }
42295}
42296#[repr(C)]
42297#[doc(hidden)]
42298pub struct ICoreWebView2_8_Vtbl {
42299 pub base__: ICoreWebView2_7_Vtbl,
42300 pub add_IsMutedChanged: unsafe extern "system" fn(
42301 *mut core::ffi::c_void,
42302 *mut core::ffi::c_void,
42303 *mut i64,
42304 ) -> windows_core::HRESULT,
42305 pub remove_IsMutedChanged:
42306 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
42307 pub IsMuted: unsafe extern "system" fn(
42308 *mut core::ffi::c_void,
42309 *mut windows_core::BOOL,
42310 ) -> windows_core::HRESULT,
42311 pub SetIsMuted: unsafe extern "system" fn(
42312 *mut core::ffi::c_void,
42313 windows_core::BOOL,
42314 ) -> windows_core::HRESULT,
42315 pub add_IsDocumentPlayingAudioChanged: unsafe extern "system" fn(
42316 *mut core::ffi::c_void,
42317 *mut core::ffi::c_void,
42318 *mut i64,
42319 ) -> windows_core::HRESULT,
42320 pub remove_IsDocumentPlayingAudioChanged:
42321 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
42322 pub IsDocumentPlayingAudio: unsafe extern "system" fn(
42323 *mut core::ffi::c_void,
42324 *mut windows_core::BOOL,
42325 ) -> windows_core::HRESULT,
42326}
42327pub trait ICoreWebView2_8_Impl: ICoreWebView2_7_Impl {
42328 fn add_IsMutedChanged(
42329 &self,
42330 eventhandler: windows_core::Ref<'_, ICoreWebView2IsMutedChangedEventHandler>,
42331 token: *mut i64,
42332 ) -> windows_core::Result<()>;
42333 fn remove_IsMutedChanged(&self, token: i64) -> windows_core::Result<()>;
42334 fn IsMuted(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
42335 fn SetIsMuted(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
42336 fn add_IsDocumentPlayingAudioChanged(
42337 &self,
42338 eventhandler: windows_core::Ref<'_, ICoreWebView2IsDocumentPlayingAudioChangedEventHandler>,
42339 token: *mut i64,
42340 ) -> windows_core::Result<()>;
42341 fn remove_IsDocumentPlayingAudioChanged(&self, token: i64) -> windows_core::Result<()>;
42342 fn IsDocumentPlayingAudio(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
42343}
42344impl ICoreWebView2_8_Vtbl {
42345 pub const fn new<Identity: ICoreWebView2_8_Impl, const OFFSET: isize>() -> Self {
42346 unsafe extern "system" fn add_IsMutedChanged<
42347 Identity: ICoreWebView2_8_Impl,
42348 const OFFSET: isize,
42349 >(
42350 this: *mut core::ffi::c_void,
42351 eventhandler: *mut core::ffi::c_void,
42352 token: *mut i64,
42353 ) -> windows_core::HRESULT {
42354 unsafe {
42355 let this: &Identity =
42356 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42357 ICoreWebView2_8_Impl::add_IsMutedChanged(
42358 this,
42359 core::mem::transmute_copy(&eventhandler),
42360 core::mem::transmute_copy(&token),
42361 )
42362 .into()
42363 }
42364 }
42365 unsafe extern "system" fn remove_IsMutedChanged<
42366 Identity: ICoreWebView2_8_Impl,
42367 const OFFSET: isize,
42368 >(
42369 this: *mut core::ffi::c_void,
42370 token: i64,
42371 ) -> windows_core::HRESULT {
42372 unsafe {
42373 let this: &Identity =
42374 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42375 ICoreWebView2_8_Impl::remove_IsMutedChanged(this, core::mem::transmute_copy(&token))
42376 .into()
42377 }
42378 }
42379 unsafe extern "system" fn IsMuted<Identity: ICoreWebView2_8_Impl, const OFFSET: isize>(
42380 this: *mut core::ffi::c_void,
42381 value: *mut windows_core::BOOL,
42382 ) -> windows_core::HRESULT {
42383 unsafe {
42384 let this: &Identity =
42385 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42386 ICoreWebView2_8_Impl::IsMuted(this, core::mem::transmute_copy(&value)).into()
42387 }
42388 }
42389 unsafe extern "system" fn SetIsMuted<
42390 Identity: ICoreWebView2_8_Impl,
42391 const OFFSET: isize,
42392 >(
42393 this: *mut core::ffi::c_void,
42394 value: windows_core::BOOL,
42395 ) -> windows_core::HRESULT {
42396 unsafe {
42397 let this: &Identity =
42398 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42399 ICoreWebView2_8_Impl::SetIsMuted(this, core::mem::transmute_copy(&value)).into()
42400 }
42401 }
42402 unsafe extern "system" fn add_IsDocumentPlayingAudioChanged<
42403 Identity: ICoreWebView2_8_Impl,
42404 const OFFSET: isize,
42405 >(
42406 this: *mut core::ffi::c_void,
42407 eventhandler: *mut core::ffi::c_void,
42408 token: *mut i64,
42409 ) -> windows_core::HRESULT {
42410 unsafe {
42411 let this: &Identity =
42412 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42413 ICoreWebView2_8_Impl::add_IsDocumentPlayingAudioChanged(
42414 this,
42415 core::mem::transmute_copy(&eventhandler),
42416 core::mem::transmute_copy(&token),
42417 )
42418 .into()
42419 }
42420 }
42421 unsafe extern "system" fn remove_IsDocumentPlayingAudioChanged<
42422 Identity: ICoreWebView2_8_Impl,
42423 const OFFSET: isize,
42424 >(
42425 this: *mut core::ffi::c_void,
42426 token: i64,
42427 ) -> windows_core::HRESULT {
42428 unsafe {
42429 let this: &Identity =
42430 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42431 ICoreWebView2_8_Impl::remove_IsDocumentPlayingAudioChanged(
42432 this,
42433 core::mem::transmute_copy(&token),
42434 )
42435 .into()
42436 }
42437 }
42438 unsafe extern "system" fn IsDocumentPlayingAudio<
42439 Identity: ICoreWebView2_8_Impl,
42440 const OFFSET: isize,
42441 >(
42442 this: *mut core::ffi::c_void,
42443 value: *mut windows_core::BOOL,
42444 ) -> windows_core::HRESULT {
42445 unsafe {
42446 let this: &Identity =
42447 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42448 ICoreWebView2_8_Impl::IsDocumentPlayingAudio(
42449 this,
42450 core::mem::transmute_copy(&value),
42451 )
42452 .into()
42453 }
42454 }
42455 Self {
42456 base__: ICoreWebView2_7_Vtbl::new::<Identity, OFFSET>(),
42457 add_IsMutedChanged: add_IsMutedChanged::<Identity, OFFSET>,
42458 remove_IsMutedChanged: remove_IsMutedChanged::<Identity, OFFSET>,
42459 IsMuted: IsMuted::<Identity, OFFSET>,
42460 SetIsMuted: SetIsMuted::<Identity, OFFSET>,
42461 add_IsDocumentPlayingAudioChanged: add_IsDocumentPlayingAudioChanged::<Identity, OFFSET>,
42462 remove_IsDocumentPlayingAudioChanged: remove_IsDocumentPlayingAudioChanged::<
42463 Identity,
42464 OFFSET,
42465 >,
42466 IsDocumentPlayingAudio: IsDocumentPlayingAudio::<Identity, OFFSET>,
42467 }
42468 }
42469 pub fn matches(iid: &windows_core::GUID) -> bool {
42470 iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
42471 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42472 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42473 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42474 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42475 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42476 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
42477 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
42478 }
42479}
42480impl windows_core::RuntimeName for ICoreWebView2_8 {}
42481windows_core::imp::define_interface!(
42482 ICoreWebView2_9,
42483 ICoreWebView2_9_Vtbl,
42484 0x4d7b2eab_9fdc_468d_b998_a9260b5ed651
42485);
42486impl core::ops::Deref for ICoreWebView2_9 {
42487 type Target = ICoreWebView2_8;
42488 fn deref(&self) -> &Self::Target {
42489 unsafe { core::mem::transmute(self) }
42490 }
42491}
42492windows_core::imp::interface_hierarchy!(
42493 ICoreWebView2_9,
42494 windows_core::IUnknown,
42495 ICoreWebView2,
42496 ICoreWebView2_2,
42497 ICoreWebView2_3,
42498 ICoreWebView2_4,
42499 ICoreWebView2_5,
42500 ICoreWebView2_6,
42501 ICoreWebView2_7,
42502 ICoreWebView2_8
42503);
42504impl ICoreWebView2_9 {
42505 pub unsafe fn add_IsDefaultDownloadDialogOpenChanged<P0>(
42506 &self,
42507 handler: P0,
42508 token: *mut i64,
42509 ) -> windows_core::Result<()>
42510 where
42511 P0: windows_core::Param<ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler>,
42512 {
42513 unsafe {
42514 (windows_core::Interface::vtable(self).add_IsDefaultDownloadDialogOpenChanged)(
42515 windows_core::Interface::as_raw(self),
42516 handler.param().abi(),
42517 token as _,
42518 )
42519 .ok()
42520 }
42521 }
42522 pub unsafe fn remove_IsDefaultDownloadDialogOpenChanged(
42523 &self,
42524 token: i64,
42525 ) -> windows_core::Result<()> {
42526 unsafe {
42527 (windows_core::Interface::vtable(self).remove_IsDefaultDownloadDialogOpenChanged)(
42528 windows_core::Interface::as_raw(self),
42529 token,
42530 )
42531 .ok()
42532 }
42533 }
42534 pub unsafe fn IsDefaultDownloadDialogOpen(
42535 &self,
42536 value: *mut windows_core::BOOL,
42537 ) -> windows_core::Result<()> {
42538 unsafe {
42539 (windows_core::Interface::vtable(self).IsDefaultDownloadDialogOpen)(
42540 windows_core::Interface::as_raw(self),
42541 value as _,
42542 )
42543 .ok()
42544 }
42545 }
42546 pub unsafe fn OpenDefaultDownloadDialog(&self) -> windows_core::Result<()> {
42547 unsafe {
42548 (windows_core::Interface::vtable(self).OpenDefaultDownloadDialog)(
42549 windows_core::Interface::as_raw(self),
42550 )
42551 .ok()
42552 }
42553 }
42554 pub unsafe fn CloseDefaultDownloadDialog(&self) -> windows_core::Result<()> {
42555 unsafe {
42556 (windows_core::Interface::vtable(self).CloseDefaultDownloadDialog)(
42557 windows_core::Interface::as_raw(self),
42558 )
42559 .ok()
42560 }
42561 }
42562 pub unsafe fn DefaultDownloadDialogCornerAlignment(
42563 &self,
42564 value: *mut COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42565 ) -> windows_core::Result<()> {
42566 unsafe {
42567 (windows_core::Interface::vtable(self).DefaultDownloadDialogCornerAlignment)(
42568 windows_core::Interface::as_raw(self),
42569 value as _,
42570 )
42571 .ok()
42572 }
42573 }
42574 pub unsafe fn SetDefaultDownloadDialogCornerAlignment(
42575 &self,
42576 value: COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42577 ) -> windows_core::Result<()> {
42578 unsafe {
42579 (windows_core::Interface::vtable(self).SetDefaultDownloadDialogCornerAlignment)(
42580 windows_core::Interface::as_raw(self),
42581 value,
42582 )
42583 .ok()
42584 }
42585 }
42586 pub unsafe fn DefaultDownloadDialogMargin(
42587 &self,
42588 value: *mut windows::Win32::Foundation::POINT,
42589 ) -> windows_core::Result<()> {
42590 unsafe {
42591 (windows_core::Interface::vtable(self).DefaultDownloadDialogMargin)(
42592 windows_core::Interface::as_raw(self),
42593 value as _,
42594 )
42595 .ok()
42596 }
42597 }
42598 pub unsafe fn SetDefaultDownloadDialogMargin(
42599 &self,
42600 value: windows::Win32::Foundation::POINT,
42601 ) -> windows_core::Result<()> {
42602 unsafe {
42603 (windows_core::Interface::vtable(self).SetDefaultDownloadDialogMargin)(
42604 windows_core::Interface::as_raw(self),
42605 core::mem::transmute(value),
42606 )
42607 .ok()
42608 }
42609 }
42610}
42611#[repr(C)]
42612#[doc(hidden)]
42613pub struct ICoreWebView2_9_Vtbl {
42614 pub base__: ICoreWebView2_8_Vtbl,
42615 pub add_IsDefaultDownloadDialogOpenChanged: unsafe extern "system" fn(
42616 *mut core::ffi::c_void,
42617 *mut core::ffi::c_void,
42618 *mut i64,
42619 )
42620 -> windows_core::HRESULT,
42621 pub remove_IsDefaultDownloadDialogOpenChanged:
42622 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
42623 pub IsDefaultDownloadDialogOpen: unsafe extern "system" fn(
42624 *mut core::ffi::c_void,
42625 *mut windows_core::BOOL,
42626 ) -> windows_core::HRESULT,
42627 pub OpenDefaultDownloadDialog:
42628 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
42629 pub CloseDefaultDownloadDialog:
42630 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
42631 pub DefaultDownloadDialogCornerAlignment: unsafe extern "system" fn(
42632 *mut core::ffi::c_void,
42633 *mut COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42634 )
42635 -> windows_core::HRESULT,
42636 pub SetDefaultDownloadDialogCornerAlignment: unsafe extern "system" fn(
42637 *mut core::ffi::c_void,
42638 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42639 )
42640 -> windows_core::HRESULT,
42641 pub DefaultDownloadDialogMargin: unsafe extern "system" fn(
42642 *mut core::ffi::c_void,
42643 *mut windows::Win32::Foundation::POINT,
42644 ) -> windows_core::HRESULT,
42645 pub SetDefaultDownloadDialogMargin: unsafe extern "system" fn(
42646 *mut core::ffi::c_void,
42647 windows::Win32::Foundation::POINT,
42648 ) -> windows_core::HRESULT,
42649}
42650pub trait ICoreWebView2_9_Impl: ICoreWebView2_8_Impl {
42651 fn add_IsDefaultDownloadDialogOpenChanged(
42652 &self,
42653 handler: windows_core::Ref<'_, ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler>,
42654 token: *mut i64,
42655 ) -> windows_core::Result<()>;
42656 fn remove_IsDefaultDownloadDialogOpenChanged(&self, token: i64) -> windows_core::Result<()>;
42657 fn IsDefaultDownloadDialogOpen(
42658 &self,
42659 value: *mut windows_core::BOOL,
42660 ) -> windows_core::Result<()>;
42661 fn OpenDefaultDownloadDialog(&self) -> windows_core::Result<()>;
42662 fn CloseDefaultDownloadDialog(&self) -> windows_core::Result<()>;
42663 fn DefaultDownloadDialogCornerAlignment(
42664 &self,
42665 value: *mut COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42666 ) -> windows_core::Result<()>;
42667 fn SetDefaultDownloadDialogCornerAlignment(
42668 &self,
42669 value: COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42670 ) -> windows_core::Result<()>;
42671 fn DefaultDownloadDialogMargin(
42672 &self,
42673 value: *mut windows::Win32::Foundation::POINT,
42674 ) -> windows_core::Result<()>;
42675 fn SetDefaultDownloadDialogMargin(
42676 &self,
42677 value: &windows::Win32::Foundation::POINT,
42678 ) -> windows_core::Result<()>;
42679}
42680impl ICoreWebView2_9_Vtbl {
42681 pub const fn new<Identity: ICoreWebView2_9_Impl, const OFFSET: isize>() -> Self {
42682 unsafe extern "system" fn add_IsDefaultDownloadDialogOpenChanged<
42683 Identity: ICoreWebView2_9_Impl,
42684 const OFFSET: isize,
42685 >(
42686 this: *mut core::ffi::c_void,
42687 handler: *mut core::ffi::c_void,
42688 token: *mut i64,
42689 ) -> windows_core::HRESULT {
42690 unsafe {
42691 let this: &Identity =
42692 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42693 ICoreWebView2_9_Impl::add_IsDefaultDownloadDialogOpenChanged(
42694 this,
42695 core::mem::transmute_copy(&handler),
42696 core::mem::transmute_copy(&token),
42697 )
42698 .into()
42699 }
42700 }
42701 unsafe extern "system" fn remove_IsDefaultDownloadDialogOpenChanged<
42702 Identity: ICoreWebView2_9_Impl,
42703 const OFFSET: isize,
42704 >(
42705 this: *mut core::ffi::c_void,
42706 token: i64,
42707 ) -> windows_core::HRESULT {
42708 unsafe {
42709 let this: &Identity =
42710 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42711 ICoreWebView2_9_Impl::remove_IsDefaultDownloadDialogOpenChanged(
42712 this,
42713 core::mem::transmute_copy(&token),
42714 )
42715 .into()
42716 }
42717 }
42718 unsafe extern "system" fn IsDefaultDownloadDialogOpen<
42719 Identity: ICoreWebView2_9_Impl,
42720 const OFFSET: isize,
42721 >(
42722 this: *mut core::ffi::c_void,
42723 value: *mut windows_core::BOOL,
42724 ) -> windows_core::HRESULT {
42725 unsafe {
42726 let this: &Identity =
42727 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42728 ICoreWebView2_9_Impl::IsDefaultDownloadDialogOpen(
42729 this,
42730 core::mem::transmute_copy(&value),
42731 )
42732 .into()
42733 }
42734 }
42735 unsafe extern "system" fn OpenDefaultDownloadDialog<
42736 Identity: ICoreWebView2_9_Impl,
42737 const OFFSET: isize,
42738 >(
42739 this: *mut core::ffi::c_void,
42740 ) -> windows_core::HRESULT {
42741 unsafe {
42742 let this: &Identity =
42743 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42744 ICoreWebView2_9_Impl::OpenDefaultDownloadDialog(this).into()
42745 }
42746 }
42747 unsafe extern "system" fn CloseDefaultDownloadDialog<
42748 Identity: ICoreWebView2_9_Impl,
42749 const OFFSET: isize,
42750 >(
42751 this: *mut core::ffi::c_void,
42752 ) -> windows_core::HRESULT {
42753 unsafe {
42754 let this: &Identity =
42755 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42756 ICoreWebView2_9_Impl::CloseDefaultDownloadDialog(this).into()
42757 }
42758 }
42759 unsafe extern "system" fn DefaultDownloadDialogCornerAlignment<
42760 Identity: ICoreWebView2_9_Impl,
42761 const OFFSET: isize,
42762 >(
42763 this: *mut core::ffi::c_void,
42764 value: *mut COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42765 ) -> windows_core::HRESULT {
42766 unsafe {
42767 let this: &Identity =
42768 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42769 ICoreWebView2_9_Impl::DefaultDownloadDialogCornerAlignment(
42770 this,
42771 core::mem::transmute_copy(&value),
42772 )
42773 .into()
42774 }
42775 }
42776 unsafe extern "system" fn SetDefaultDownloadDialogCornerAlignment<
42777 Identity: ICoreWebView2_9_Impl,
42778 const OFFSET: isize,
42779 >(
42780 this: *mut core::ffi::c_void,
42781 value: COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42782 ) -> windows_core::HRESULT {
42783 unsafe {
42784 let this: &Identity =
42785 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42786 ICoreWebView2_9_Impl::SetDefaultDownloadDialogCornerAlignment(
42787 this,
42788 core::mem::transmute_copy(&value),
42789 )
42790 .into()
42791 }
42792 }
42793 unsafe extern "system" fn DefaultDownloadDialogMargin<
42794 Identity: ICoreWebView2_9_Impl,
42795 const OFFSET: isize,
42796 >(
42797 this: *mut core::ffi::c_void,
42798 value: *mut windows::Win32::Foundation::POINT,
42799 ) -> windows_core::HRESULT {
42800 unsafe {
42801 let this: &Identity =
42802 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42803 ICoreWebView2_9_Impl::DefaultDownloadDialogMargin(
42804 this,
42805 core::mem::transmute_copy(&value),
42806 )
42807 .into()
42808 }
42809 }
42810 unsafe extern "system" fn SetDefaultDownloadDialogMargin<
42811 Identity: ICoreWebView2_9_Impl,
42812 const OFFSET: isize,
42813 >(
42814 this: *mut core::ffi::c_void,
42815 value: windows::Win32::Foundation::POINT,
42816 ) -> windows_core::HRESULT {
42817 unsafe {
42818 let this: &Identity =
42819 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42820 ICoreWebView2_9_Impl::SetDefaultDownloadDialogMargin(
42821 this,
42822 core::mem::transmute(&value),
42823 )
42824 .into()
42825 }
42826 }
42827 Self {
42828 base__: ICoreWebView2_8_Vtbl::new::<Identity, OFFSET>(),
42829 add_IsDefaultDownloadDialogOpenChanged: add_IsDefaultDownloadDialogOpenChanged::<
42830 Identity,
42831 OFFSET,
42832 >,
42833 remove_IsDefaultDownloadDialogOpenChanged: remove_IsDefaultDownloadDialogOpenChanged::<
42834 Identity,
42835 OFFSET,
42836 >,
42837 IsDefaultDownloadDialogOpen: IsDefaultDownloadDialogOpen::<Identity, OFFSET>,
42838 OpenDefaultDownloadDialog: OpenDefaultDownloadDialog::<Identity, OFFSET>,
42839 CloseDefaultDownloadDialog: CloseDefaultDownloadDialog::<Identity, OFFSET>,
42840 DefaultDownloadDialogCornerAlignment: DefaultDownloadDialogCornerAlignment::<
42841 Identity,
42842 OFFSET,
42843 >,
42844 SetDefaultDownloadDialogCornerAlignment: SetDefaultDownloadDialogCornerAlignment::<
42845 Identity,
42846 OFFSET,
42847 >,
42848 DefaultDownloadDialogMargin: DefaultDownloadDialogMargin::<Identity, OFFSET>,
42849 SetDefaultDownloadDialogMargin: SetDefaultDownloadDialogMargin::<Identity, OFFSET>,
42850 }
42851 }
42852 pub fn matches(iid: &windows_core::GUID) -> bool {
42853 iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
42854 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42855 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42856 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42857 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42858 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42859 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
42860 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
42861 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
42862 }
42863}
42864impl windows_core::RuntimeName for ICoreWebView2_9 {}