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_core::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_core::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_core::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_core::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_core::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!("145.0.3800.47");
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 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler,
2057 >,
2058 ) -> windows_core::Result<()>;
2059 fn RemoveScriptToExecuteOnDocumentCreated(
2060 &self,
2061 id: &windows_core::PCWSTR,
2062 ) -> windows_core::Result<()>;
2063 fn ExecuteScript(
2064 &self,
2065 javascript: &windows_core::PCWSTR,
2066 handler: windows_core::Ref<ICoreWebView2ExecuteScriptCompletedHandler>,
2067 ) -> windows_core::Result<()>;
2068 fn CapturePreview(
2069 &self,
2070 imageformat: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
2071 imagestream: windows_core::Ref<windows::Win32::System::Com::IStream>,
2072 handler: windows_core::Ref<ICoreWebView2CapturePreviewCompletedHandler>,
2073 ) -> windows_core::Result<()>;
2074 fn Reload(&self) -> windows_core::Result<()>;
2075 fn PostWebMessageAsJson(
2076 &self,
2077 webmessageasjson: &windows_core::PCWSTR,
2078 ) -> windows_core::Result<()>;
2079 fn PostWebMessageAsString(
2080 &self,
2081 webmessageasstring: &windows_core::PCWSTR,
2082 ) -> windows_core::Result<()>;
2083 fn add_WebMessageReceived(
2084 &self,
2085 handler: windows_core::Ref<ICoreWebView2WebMessageReceivedEventHandler>,
2086 token: *mut i64,
2087 ) -> windows_core::Result<()>;
2088 fn remove_WebMessageReceived(&self, token: i64) -> windows_core::Result<()>;
2089 fn CallDevToolsProtocolMethod(
2090 &self,
2091 methodname: &windows_core::PCWSTR,
2092 parametersasjson: &windows_core::PCWSTR,
2093 handler: windows_core::Ref<ICoreWebView2CallDevToolsProtocolMethodCompletedHandler>,
2094 ) -> windows_core::Result<()>;
2095 fn BrowserProcessId(&self, value: *mut u32) -> windows_core::Result<()>;
2096 fn CanGoBack(&self, cangoback: *mut windows_core::BOOL) -> windows_core::Result<()>;
2097 fn CanGoForward(&self, cangoforward: *mut windows_core::BOOL) -> windows_core::Result<()>;
2098 fn GoBack(&self) -> windows_core::Result<()>;
2099 fn GoForward(&self) -> windows_core::Result<()>;
2100 fn GetDevToolsProtocolEventReceiver(
2101 &self,
2102 eventname: &windows_core::PCWSTR,
2103 ) -> windows_core::Result<ICoreWebView2DevToolsProtocolEventReceiver>;
2104 fn Stop(&self) -> windows_core::Result<()>;
2105 fn add_NewWindowRequested(
2106 &self,
2107 eventhandler: windows_core::Ref<ICoreWebView2NewWindowRequestedEventHandler>,
2108 token: *mut i64,
2109 ) -> windows_core::Result<()>;
2110 fn remove_NewWindowRequested(&self, token: i64) -> windows_core::Result<()>;
2111 fn add_DocumentTitleChanged(
2112 &self,
2113 eventhandler: windows_core::Ref<ICoreWebView2DocumentTitleChangedEventHandler>,
2114 token: *mut i64,
2115 ) -> windows_core::Result<()>;
2116 fn remove_DocumentTitleChanged(&self, token: i64) -> windows_core::Result<()>;
2117 fn DocumentTitle(&self, title: *mut windows_core::PWSTR) -> windows_core::Result<()>;
2118 fn AddHostObjectToScript(
2119 &self,
2120 name: &windows_core::PCWSTR,
2121 object: *mut windows::Win32::System::Variant::VARIANT,
2122 ) -> windows_core::Result<()>;
2123 fn RemoveHostObjectFromScript(&self, name: &windows_core::PCWSTR) -> windows_core::Result<()>;
2124 fn OpenDevToolsWindow(&self) -> windows_core::Result<()>;
2125 fn add_ContainsFullScreenElementChanged(
2126 &self,
2127 eventhandler: windows_core::Ref<ICoreWebView2ContainsFullScreenElementChangedEventHandler>,
2128 token: *mut i64,
2129 ) -> windows_core::Result<()>;
2130 fn remove_ContainsFullScreenElementChanged(&self, token: i64) -> windows_core::Result<()>;
2131 fn ContainsFullScreenElement(
2132 &self,
2133 containsfullscreenelement: *mut windows_core::BOOL,
2134 ) -> windows_core::Result<()>;
2135 fn add_WebResourceRequested(
2136 &self,
2137 eventhandler: windows_core::Ref<ICoreWebView2WebResourceRequestedEventHandler>,
2138 token: *mut i64,
2139 ) -> windows_core::Result<()>;
2140 fn remove_WebResourceRequested(&self, token: i64) -> windows_core::Result<()>;
2141 fn AddWebResourceRequestedFilter(
2142 &self,
2143 uri: &windows_core::PCWSTR,
2144 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
2145 ) -> windows_core::Result<()>;
2146 fn RemoveWebResourceRequestedFilter(
2147 &self,
2148 uri: &windows_core::PCWSTR,
2149 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
2150 ) -> windows_core::Result<()>;
2151 fn add_WindowCloseRequested(
2152 &self,
2153 eventhandler: windows_core::Ref<ICoreWebView2WindowCloseRequestedEventHandler>,
2154 token: *mut i64,
2155 ) -> windows_core::Result<()>;
2156 fn remove_WindowCloseRequested(&self, token: i64) -> windows_core::Result<()>;
2157}
2158impl ICoreWebView2_Vtbl {
2159 pub const fn new<Identity: ICoreWebView2_Impl, const OFFSET: isize>() -> Self {
2160 unsafe extern "system" fn Settings<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2161 this: *mut core::ffi::c_void,
2162 settings: *mut *mut core::ffi::c_void,
2163 ) -> windows_core::HRESULT {
2164 unsafe {
2165 let this: &Identity =
2166 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2167 match ICoreWebView2_Impl::Settings(this) {
2168 Ok(ok__) => {
2169 settings.write(core::mem::transmute(ok__));
2170 windows_core::HRESULT(0)
2171 }
2172 Err(err) => err.into(),
2173 }
2174 }
2175 }
2176 unsafe extern "system" fn Source<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2177 this: *mut core::ffi::c_void,
2178 uri: *mut windows_core::PWSTR,
2179 ) -> windows_core::HRESULT {
2180 unsafe {
2181 let this: &Identity =
2182 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2183 ICoreWebView2_Impl::Source(this, core::mem::transmute_copy(&uri)).into()
2184 }
2185 }
2186 unsafe extern "system" fn Navigate<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2187 this: *mut core::ffi::c_void,
2188 uri: windows_core::PCWSTR,
2189 ) -> windows_core::HRESULT {
2190 unsafe {
2191 let this: &Identity =
2192 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2193 ICoreWebView2_Impl::Navigate(this, core::mem::transmute(&uri)).into()
2194 }
2195 }
2196 unsafe extern "system" fn NavigateToString<
2197 Identity: ICoreWebView2_Impl,
2198 const OFFSET: isize,
2199 >(
2200 this: *mut core::ffi::c_void,
2201 htmlcontent: windows_core::PCWSTR,
2202 ) -> windows_core::HRESULT {
2203 unsafe {
2204 let this: &Identity =
2205 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2206 ICoreWebView2_Impl::NavigateToString(this, core::mem::transmute(&htmlcontent))
2207 .into()
2208 }
2209 }
2210 unsafe extern "system" fn add_NavigationStarting<
2211 Identity: ICoreWebView2_Impl,
2212 const OFFSET: isize,
2213 >(
2214 this: *mut core::ffi::c_void,
2215 eventhandler: *mut core::ffi::c_void,
2216 token: *mut i64,
2217 ) -> windows_core::HRESULT {
2218 unsafe {
2219 let this: &Identity =
2220 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2221 ICoreWebView2_Impl::add_NavigationStarting(
2222 this,
2223 core::mem::transmute_copy(&eventhandler),
2224 core::mem::transmute_copy(&token),
2225 )
2226 .into()
2227 }
2228 }
2229 unsafe extern "system" fn remove_NavigationStarting<
2230 Identity: ICoreWebView2_Impl,
2231 const OFFSET: isize,
2232 >(
2233 this: *mut core::ffi::c_void,
2234 token: i64,
2235 ) -> windows_core::HRESULT {
2236 unsafe {
2237 let this: &Identity =
2238 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2239 ICoreWebView2_Impl::remove_NavigationStarting(
2240 this,
2241 core::mem::transmute_copy(&token),
2242 )
2243 .into()
2244 }
2245 }
2246 unsafe extern "system" fn add_ContentLoading<
2247 Identity: ICoreWebView2_Impl,
2248 const OFFSET: isize,
2249 >(
2250 this: *mut core::ffi::c_void,
2251 eventhandler: *mut core::ffi::c_void,
2252 token: *mut i64,
2253 ) -> windows_core::HRESULT {
2254 unsafe {
2255 let this: &Identity =
2256 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2257 ICoreWebView2_Impl::add_ContentLoading(
2258 this,
2259 core::mem::transmute_copy(&eventhandler),
2260 core::mem::transmute_copy(&token),
2261 )
2262 .into()
2263 }
2264 }
2265 unsafe extern "system" fn remove_ContentLoading<
2266 Identity: ICoreWebView2_Impl,
2267 const OFFSET: isize,
2268 >(
2269 this: *mut core::ffi::c_void,
2270 token: i64,
2271 ) -> windows_core::HRESULT {
2272 unsafe {
2273 let this: &Identity =
2274 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2275 ICoreWebView2_Impl::remove_ContentLoading(this, core::mem::transmute_copy(&token))
2276 .into()
2277 }
2278 }
2279 unsafe extern "system" fn add_SourceChanged<
2280 Identity: ICoreWebView2_Impl,
2281 const OFFSET: isize,
2282 >(
2283 this: *mut core::ffi::c_void,
2284 eventhandler: *mut core::ffi::c_void,
2285 token: *mut i64,
2286 ) -> windows_core::HRESULT {
2287 unsafe {
2288 let this: &Identity =
2289 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2290 ICoreWebView2_Impl::add_SourceChanged(
2291 this,
2292 core::mem::transmute_copy(&eventhandler),
2293 core::mem::transmute_copy(&token),
2294 )
2295 .into()
2296 }
2297 }
2298 unsafe extern "system" fn remove_SourceChanged<
2299 Identity: ICoreWebView2_Impl,
2300 const OFFSET: isize,
2301 >(
2302 this: *mut core::ffi::c_void,
2303 token: i64,
2304 ) -> windows_core::HRESULT {
2305 unsafe {
2306 let this: &Identity =
2307 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2308 ICoreWebView2_Impl::remove_SourceChanged(this, core::mem::transmute_copy(&token))
2309 .into()
2310 }
2311 }
2312 unsafe extern "system" fn add_HistoryChanged<
2313 Identity: ICoreWebView2_Impl,
2314 const OFFSET: isize,
2315 >(
2316 this: *mut core::ffi::c_void,
2317 eventhandler: *mut core::ffi::c_void,
2318 token: *mut i64,
2319 ) -> windows_core::HRESULT {
2320 unsafe {
2321 let this: &Identity =
2322 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2323 ICoreWebView2_Impl::add_HistoryChanged(
2324 this,
2325 core::mem::transmute_copy(&eventhandler),
2326 core::mem::transmute_copy(&token),
2327 )
2328 .into()
2329 }
2330 }
2331 unsafe extern "system" fn remove_HistoryChanged<
2332 Identity: ICoreWebView2_Impl,
2333 const OFFSET: isize,
2334 >(
2335 this: *mut core::ffi::c_void,
2336 token: i64,
2337 ) -> windows_core::HRESULT {
2338 unsafe {
2339 let this: &Identity =
2340 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2341 ICoreWebView2_Impl::remove_HistoryChanged(this, core::mem::transmute_copy(&token))
2342 .into()
2343 }
2344 }
2345 unsafe extern "system" fn add_NavigationCompleted<
2346 Identity: ICoreWebView2_Impl,
2347 const OFFSET: isize,
2348 >(
2349 this: *mut core::ffi::c_void,
2350 eventhandler: *mut core::ffi::c_void,
2351 token: *mut i64,
2352 ) -> windows_core::HRESULT {
2353 unsafe {
2354 let this: &Identity =
2355 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2356 ICoreWebView2_Impl::add_NavigationCompleted(
2357 this,
2358 core::mem::transmute_copy(&eventhandler),
2359 core::mem::transmute_copy(&token),
2360 )
2361 .into()
2362 }
2363 }
2364 unsafe extern "system" fn remove_NavigationCompleted<
2365 Identity: ICoreWebView2_Impl,
2366 const OFFSET: isize,
2367 >(
2368 this: *mut core::ffi::c_void,
2369 token: i64,
2370 ) -> windows_core::HRESULT {
2371 unsafe {
2372 let this: &Identity =
2373 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2374 ICoreWebView2_Impl::remove_NavigationCompleted(
2375 this,
2376 core::mem::transmute_copy(&token),
2377 )
2378 .into()
2379 }
2380 }
2381 unsafe extern "system" fn add_FrameNavigationStarting<
2382 Identity: ICoreWebView2_Impl,
2383 const OFFSET: isize,
2384 >(
2385 this: *mut core::ffi::c_void,
2386 eventhandler: *mut core::ffi::c_void,
2387 token: *mut i64,
2388 ) -> windows_core::HRESULT {
2389 unsafe {
2390 let this: &Identity =
2391 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2392 ICoreWebView2_Impl::add_FrameNavigationStarting(
2393 this,
2394 core::mem::transmute_copy(&eventhandler),
2395 core::mem::transmute_copy(&token),
2396 )
2397 .into()
2398 }
2399 }
2400 unsafe extern "system" fn remove_FrameNavigationStarting<
2401 Identity: ICoreWebView2_Impl,
2402 const OFFSET: isize,
2403 >(
2404 this: *mut core::ffi::c_void,
2405 token: i64,
2406 ) -> windows_core::HRESULT {
2407 unsafe {
2408 let this: &Identity =
2409 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2410 ICoreWebView2_Impl::remove_FrameNavigationStarting(
2411 this,
2412 core::mem::transmute_copy(&token),
2413 )
2414 .into()
2415 }
2416 }
2417 unsafe extern "system" fn add_FrameNavigationCompleted<
2418 Identity: ICoreWebView2_Impl,
2419 const OFFSET: isize,
2420 >(
2421 this: *mut core::ffi::c_void,
2422 eventhandler: *mut core::ffi::c_void,
2423 token: *mut i64,
2424 ) -> windows_core::HRESULT {
2425 unsafe {
2426 let this: &Identity =
2427 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2428 ICoreWebView2_Impl::add_FrameNavigationCompleted(
2429 this,
2430 core::mem::transmute_copy(&eventhandler),
2431 core::mem::transmute_copy(&token),
2432 )
2433 .into()
2434 }
2435 }
2436 unsafe extern "system" fn remove_FrameNavigationCompleted<
2437 Identity: ICoreWebView2_Impl,
2438 const OFFSET: isize,
2439 >(
2440 this: *mut core::ffi::c_void,
2441 token: i64,
2442 ) -> windows_core::HRESULT {
2443 unsafe {
2444 let this: &Identity =
2445 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2446 ICoreWebView2_Impl::remove_FrameNavigationCompleted(
2447 this,
2448 core::mem::transmute_copy(&token),
2449 )
2450 .into()
2451 }
2452 }
2453 unsafe extern "system" fn add_ScriptDialogOpening<
2454 Identity: ICoreWebView2_Impl,
2455 const OFFSET: isize,
2456 >(
2457 this: *mut core::ffi::c_void,
2458 eventhandler: *mut core::ffi::c_void,
2459 token: *mut i64,
2460 ) -> windows_core::HRESULT {
2461 unsafe {
2462 let this: &Identity =
2463 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2464 ICoreWebView2_Impl::add_ScriptDialogOpening(
2465 this,
2466 core::mem::transmute_copy(&eventhandler),
2467 core::mem::transmute_copy(&token),
2468 )
2469 .into()
2470 }
2471 }
2472 unsafe extern "system" fn remove_ScriptDialogOpening<
2473 Identity: ICoreWebView2_Impl,
2474 const OFFSET: isize,
2475 >(
2476 this: *mut core::ffi::c_void,
2477 token: i64,
2478 ) -> windows_core::HRESULT {
2479 unsafe {
2480 let this: &Identity =
2481 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2482 ICoreWebView2_Impl::remove_ScriptDialogOpening(
2483 this,
2484 core::mem::transmute_copy(&token),
2485 )
2486 .into()
2487 }
2488 }
2489 unsafe extern "system" fn add_PermissionRequested<
2490 Identity: ICoreWebView2_Impl,
2491 const OFFSET: isize,
2492 >(
2493 this: *mut core::ffi::c_void,
2494 eventhandler: *mut core::ffi::c_void,
2495 token: *mut i64,
2496 ) -> windows_core::HRESULT {
2497 unsafe {
2498 let this: &Identity =
2499 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2500 ICoreWebView2_Impl::add_PermissionRequested(
2501 this,
2502 core::mem::transmute_copy(&eventhandler),
2503 core::mem::transmute_copy(&token),
2504 )
2505 .into()
2506 }
2507 }
2508 unsafe extern "system" fn remove_PermissionRequested<
2509 Identity: ICoreWebView2_Impl,
2510 const OFFSET: isize,
2511 >(
2512 this: *mut core::ffi::c_void,
2513 token: i64,
2514 ) -> windows_core::HRESULT {
2515 unsafe {
2516 let this: &Identity =
2517 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2518 ICoreWebView2_Impl::remove_PermissionRequested(
2519 this,
2520 core::mem::transmute_copy(&token),
2521 )
2522 .into()
2523 }
2524 }
2525 unsafe extern "system" fn add_ProcessFailed<
2526 Identity: ICoreWebView2_Impl,
2527 const OFFSET: isize,
2528 >(
2529 this: *mut core::ffi::c_void,
2530 eventhandler: *mut core::ffi::c_void,
2531 token: *mut i64,
2532 ) -> windows_core::HRESULT {
2533 unsafe {
2534 let this: &Identity =
2535 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2536 ICoreWebView2_Impl::add_ProcessFailed(
2537 this,
2538 core::mem::transmute_copy(&eventhandler),
2539 core::mem::transmute_copy(&token),
2540 )
2541 .into()
2542 }
2543 }
2544 unsafe extern "system" fn remove_ProcessFailed<
2545 Identity: ICoreWebView2_Impl,
2546 const OFFSET: isize,
2547 >(
2548 this: *mut core::ffi::c_void,
2549 token: i64,
2550 ) -> windows_core::HRESULT {
2551 unsafe {
2552 let this: &Identity =
2553 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2554 ICoreWebView2_Impl::remove_ProcessFailed(this, core::mem::transmute_copy(&token))
2555 .into()
2556 }
2557 }
2558 unsafe extern "system" fn AddScriptToExecuteOnDocumentCreated<
2559 Identity: ICoreWebView2_Impl,
2560 const OFFSET: isize,
2561 >(
2562 this: *mut core::ffi::c_void,
2563 javascript: windows_core::PCWSTR,
2564 handler: *mut core::ffi::c_void,
2565 ) -> windows_core::HRESULT {
2566 unsafe {
2567 let this: &Identity =
2568 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2569 ICoreWebView2_Impl::AddScriptToExecuteOnDocumentCreated(
2570 this,
2571 core::mem::transmute(&javascript),
2572 core::mem::transmute_copy(&handler),
2573 )
2574 .into()
2575 }
2576 }
2577 unsafe extern "system" fn RemoveScriptToExecuteOnDocumentCreated<
2578 Identity: ICoreWebView2_Impl,
2579 const OFFSET: isize,
2580 >(
2581 this: *mut core::ffi::c_void,
2582 id: windows_core::PCWSTR,
2583 ) -> windows_core::HRESULT {
2584 unsafe {
2585 let this: &Identity =
2586 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2587 ICoreWebView2_Impl::RemoveScriptToExecuteOnDocumentCreated(
2588 this,
2589 core::mem::transmute(&id),
2590 )
2591 .into()
2592 }
2593 }
2594 unsafe extern "system" fn ExecuteScript<
2595 Identity: ICoreWebView2_Impl,
2596 const OFFSET: isize,
2597 >(
2598 this: *mut core::ffi::c_void,
2599 javascript: windows_core::PCWSTR,
2600 handler: *mut core::ffi::c_void,
2601 ) -> windows_core::HRESULT {
2602 unsafe {
2603 let this: &Identity =
2604 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2605 ICoreWebView2_Impl::ExecuteScript(
2606 this,
2607 core::mem::transmute(&javascript),
2608 core::mem::transmute_copy(&handler),
2609 )
2610 .into()
2611 }
2612 }
2613 unsafe extern "system" fn CapturePreview<
2614 Identity: ICoreWebView2_Impl,
2615 const OFFSET: isize,
2616 >(
2617 this: *mut core::ffi::c_void,
2618 imageformat: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
2619 imagestream: *mut core::ffi::c_void,
2620 handler: *mut core::ffi::c_void,
2621 ) -> windows_core::HRESULT {
2622 unsafe {
2623 let this: &Identity =
2624 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2625 ICoreWebView2_Impl::CapturePreview(
2626 this,
2627 core::mem::transmute_copy(&imageformat),
2628 core::mem::transmute_copy(&imagestream),
2629 core::mem::transmute_copy(&handler),
2630 )
2631 .into()
2632 }
2633 }
2634 unsafe extern "system" fn Reload<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2635 this: *mut core::ffi::c_void,
2636 ) -> windows_core::HRESULT {
2637 unsafe {
2638 let this: &Identity =
2639 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2640 ICoreWebView2_Impl::Reload(this).into()
2641 }
2642 }
2643 unsafe extern "system" fn PostWebMessageAsJson<
2644 Identity: ICoreWebView2_Impl,
2645 const OFFSET: isize,
2646 >(
2647 this: *mut core::ffi::c_void,
2648 webmessageasjson: windows_core::PCWSTR,
2649 ) -> windows_core::HRESULT {
2650 unsafe {
2651 let this: &Identity =
2652 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2653 ICoreWebView2_Impl::PostWebMessageAsJson(
2654 this,
2655 core::mem::transmute(&webmessageasjson),
2656 )
2657 .into()
2658 }
2659 }
2660 unsafe extern "system" fn PostWebMessageAsString<
2661 Identity: ICoreWebView2_Impl,
2662 const OFFSET: isize,
2663 >(
2664 this: *mut core::ffi::c_void,
2665 webmessageasstring: windows_core::PCWSTR,
2666 ) -> windows_core::HRESULT {
2667 unsafe {
2668 let this: &Identity =
2669 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2670 ICoreWebView2_Impl::PostWebMessageAsString(
2671 this,
2672 core::mem::transmute(&webmessageasstring),
2673 )
2674 .into()
2675 }
2676 }
2677 unsafe extern "system" fn add_WebMessageReceived<
2678 Identity: ICoreWebView2_Impl,
2679 const OFFSET: isize,
2680 >(
2681 this: *mut core::ffi::c_void,
2682 handler: *mut core::ffi::c_void,
2683 token: *mut i64,
2684 ) -> windows_core::HRESULT {
2685 unsafe {
2686 let this: &Identity =
2687 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2688 ICoreWebView2_Impl::add_WebMessageReceived(
2689 this,
2690 core::mem::transmute_copy(&handler),
2691 core::mem::transmute_copy(&token),
2692 )
2693 .into()
2694 }
2695 }
2696 unsafe extern "system" fn remove_WebMessageReceived<
2697 Identity: ICoreWebView2_Impl,
2698 const OFFSET: isize,
2699 >(
2700 this: *mut core::ffi::c_void,
2701 token: i64,
2702 ) -> windows_core::HRESULT {
2703 unsafe {
2704 let this: &Identity =
2705 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2706 ICoreWebView2_Impl::remove_WebMessageReceived(
2707 this,
2708 core::mem::transmute_copy(&token),
2709 )
2710 .into()
2711 }
2712 }
2713 unsafe extern "system" fn CallDevToolsProtocolMethod<
2714 Identity: ICoreWebView2_Impl,
2715 const OFFSET: isize,
2716 >(
2717 this: *mut core::ffi::c_void,
2718 methodname: windows_core::PCWSTR,
2719 parametersasjson: windows_core::PCWSTR,
2720 handler: *mut core::ffi::c_void,
2721 ) -> windows_core::HRESULT {
2722 unsafe {
2723 let this: &Identity =
2724 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2725 ICoreWebView2_Impl::CallDevToolsProtocolMethod(
2726 this,
2727 core::mem::transmute(&methodname),
2728 core::mem::transmute(¶metersasjson),
2729 core::mem::transmute_copy(&handler),
2730 )
2731 .into()
2732 }
2733 }
2734 unsafe extern "system" fn BrowserProcessId<
2735 Identity: ICoreWebView2_Impl,
2736 const OFFSET: isize,
2737 >(
2738 this: *mut core::ffi::c_void,
2739 value: *mut u32,
2740 ) -> windows_core::HRESULT {
2741 unsafe {
2742 let this: &Identity =
2743 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2744 ICoreWebView2_Impl::BrowserProcessId(this, core::mem::transmute_copy(&value)).into()
2745 }
2746 }
2747 unsafe extern "system" fn CanGoBack<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2748 this: *mut core::ffi::c_void,
2749 cangoback: *mut windows_core::BOOL,
2750 ) -> windows_core::HRESULT {
2751 unsafe {
2752 let this: &Identity =
2753 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2754 ICoreWebView2_Impl::CanGoBack(this, core::mem::transmute_copy(&cangoback)).into()
2755 }
2756 }
2757 unsafe extern "system" fn CanGoForward<
2758 Identity: ICoreWebView2_Impl,
2759 const OFFSET: isize,
2760 >(
2761 this: *mut core::ffi::c_void,
2762 cangoforward: *mut windows_core::BOOL,
2763 ) -> windows_core::HRESULT {
2764 unsafe {
2765 let this: &Identity =
2766 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2767 ICoreWebView2_Impl::CanGoForward(this, core::mem::transmute_copy(&cangoforward))
2768 .into()
2769 }
2770 }
2771 unsafe extern "system" fn GoBack<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2772 this: *mut core::ffi::c_void,
2773 ) -> windows_core::HRESULT {
2774 unsafe {
2775 let this: &Identity =
2776 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2777 ICoreWebView2_Impl::GoBack(this).into()
2778 }
2779 }
2780 unsafe extern "system" fn GoForward<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2781 this: *mut core::ffi::c_void,
2782 ) -> windows_core::HRESULT {
2783 unsafe {
2784 let this: &Identity =
2785 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2786 ICoreWebView2_Impl::GoForward(this).into()
2787 }
2788 }
2789 unsafe extern "system" fn GetDevToolsProtocolEventReceiver<
2790 Identity: ICoreWebView2_Impl,
2791 const OFFSET: isize,
2792 >(
2793 this: *mut core::ffi::c_void,
2794 eventname: windows_core::PCWSTR,
2795 receiver: *mut *mut core::ffi::c_void,
2796 ) -> windows_core::HRESULT {
2797 unsafe {
2798 let this: &Identity =
2799 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2800 match ICoreWebView2_Impl::GetDevToolsProtocolEventReceiver(
2801 this,
2802 core::mem::transmute(&eventname),
2803 ) {
2804 Ok(ok__) => {
2805 receiver.write(core::mem::transmute(ok__));
2806 windows_core::HRESULT(0)
2807 }
2808 Err(err) => err.into(),
2809 }
2810 }
2811 }
2812 unsafe extern "system" fn Stop<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2813 this: *mut core::ffi::c_void,
2814 ) -> windows_core::HRESULT {
2815 unsafe {
2816 let this: &Identity =
2817 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2818 ICoreWebView2_Impl::Stop(this).into()
2819 }
2820 }
2821 unsafe extern "system" fn add_NewWindowRequested<
2822 Identity: ICoreWebView2_Impl,
2823 const OFFSET: isize,
2824 >(
2825 this: *mut core::ffi::c_void,
2826 eventhandler: *mut core::ffi::c_void,
2827 token: *mut i64,
2828 ) -> windows_core::HRESULT {
2829 unsafe {
2830 let this: &Identity =
2831 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2832 ICoreWebView2_Impl::add_NewWindowRequested(
2833 this,
2834 core::mem::transmute_copy(&eventhandler),
2835 core::mem::transmute_copy(&token),
2836 )
2837 .into()
2838 }
2839 }
2840 unsafe extern "system" fn remove_NewWindowRequested<
2841 Identity: ICoreWebView2_Impl,
2842 const OFFSET: isize,
2843 >(
2844 this: *mut core::ffi::c_void,
2845 token: i64,
2846 ) -> windows_core::HRESULT {
2847 unsafe {
2848 let this: &Identity =
2849 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2850 ICoreWebView2_Impl::remove_NewWindowRequested(
2851 this,
2852 core::mem::transmute_copy(&token),
2853 )
2854 .into()
2855 }
2856 }
2857 unsafe extern "system" fn add_DocumentTitleChanged<
2858 Identity: ICoreWebView2_Impl,
2859 const OFFSET: isize,
2860 >(
2861 this: *mut core::ffi::c_void,
2862 eventhandler: *mut core::ffi::c_void,
2863 token: *mut i64,
2864 ) -> windows_core::HRESULT {
2865 unsafe {
2866 let this: &Identity =
2867 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2868 ICoreWebView2_Impl::add_DocumentTitleChanged(
2869 this,
2870 core::mem::transmute_copy(&eventhandler),
2871 core::mem::transmute_copy(&token),
2872 )
2873 .into()
2874 }
2875 }
2876 unsafe extern "system" fn remove_DocumentTitleChanged<
2877 Identity: ICoreWebView2_Impl,
2878 const OFFSET: isize,
2879 >(
2880 this: *mut core::ffi::c_void,
2881 token: i64,
2882 ) -> windows_core::HRESULT {
2883 unsafe {
2884 let this: &Identity =
2885 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2886 ICoreWebView2_Impl::remove_DocumentTitleChanged(
2887 this,
2888 core::mem::transmute_copy(&token),
2889 )
2890 .into()
2891 }
2892 }
2893 unsafe extern "system" fn DocumentTitle<
2894 Identity: ICoreWebView2_Impl,
2895 const OFFSET: isize,
2896 >(
2897 this: *mut core::ffi::c_void,
2898 title: *mut windows_core::PWSTR,
2899 ) -> windows_core::HRESULT {
2900 unsafe {
2901 let this: &Identity =
2902 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2903 ICoreWebView2_Impl::DocumentTitle(this, core::mem::transmute_copy(&title)).into()
2904 }
2905 }
2906 unsafe extern "system" fn AddHostObjectToScript<
2907 Identity: ICoreWebView2_Impl,
2908 const OFFSET: isize,
2909 >(
2910 this: *mut core::ffi::c_void,
2911 name: windows_core::PCWSTR,
2912 object: *mut windows::Win32::System::Variant::VARIANT,
2913 ) -> windows_core::HRESULT {
2914 unsafe {
2915 let this: &Identity =
2916 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2917 ICoreWebView2_Impl::AddHostObjectToScript(
2918 this,
2919 core::mem::transmute(&name),
2920 core::mem::transmute_copy(&object),
2921 )
2922 .into()
2923 }
2924 }
2925 unsafe extern "system" fn RemoveHostObjectFromScript<
2926 Identity: ICoreWebView2_Impl,
2927 const OFFSET: isize,
2928 >(
2929 this: *mut core::ffi::c_void,
2930 name: windows_core::PCWSTR,
2931 ) -> windows_core::HRESULT {
2932 unsafe {
2933 let this: &Identity =
2934 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2935 ICoreWebView2_Impl::RemoveHostObjectFromScript(this, core::mem::transmute(&name))
2936 .into()
2937 }
2938 }
2939 unsafe extern "system" fn OpenDevToolsWindow<
2940 Identity: ICoreWebView2_Impl,
2941 const OFFSET: isize,
2942 >(
2943 this: *mut core::ffi::c_void,
2944 ) -> windows_core::HRESULT {
2945 unsafe {
2946 let this: &Identity =
2947 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2948 ICoreWebView2_Impl::OpenDevToolsWindow(this).into()
2949 }
2950 }
2951 unsafe extern "system" fn add_ContainsFullScreenElementChanged<
2952 Identity: ICoreWebView2_Impl,
2953 const OFFSET: isize,
2954 >(
2955 this: *mut core::ffi::c_void,
2956 eventhandler: *mut core::ffi::c_void,
2957 token: *mut i64,
2958 ) -> windows_core::HRESULT {
2959 unsafe {
2960 let this: &Identity =
2961 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2962 ICoreWebView2_Impl::add_ContainsFullScreenElementChanged(
2963 this,
2964 core::mem::transmute_copy(&eventhandler),
2965 core::mem::transmute_copy(&token),
2966 )
2967 .into()
2968 }
2969 }
2970 unsafe extern "system" fn remove_ContainsFullScreenElementChanged<
2971 Identity: ICoreWebView2_Impl,
2972 const OFFSET: isize,
2973 >(
2974 this: *mut core::ffi::c_void,
2975 token: i64,
2976 ) -> windows_core::HRESULT {
2977 unsafe {
2978 let this: &Identity =
2979 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2980 ICoreWebView2_Impl::remove_ContainsFullScreenElementChanged(
2981 this,
2982 core::mem::transmute_copy(&token),
2983 )
2984 .into()
2985 }
2986 }
2987 unsafe extern "system" fn ContainsFullScreenElement<
2988 Identity: ICoreWebView2_Impl,
2989 const OFFSET: isize,
2990 >(
2991 this: *mut core::ffi::c_void,
2992 containsfullscreenelement: *mut windows_core::BOOL,
2993 ) -> windows_core::HRESULT {
2994 unsafe {
2995 let this: &Identity =
2996 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2997 ICoreWebView2_Impl::ContainsFullScreenElement(
2998 this,
2999 core::mem::transmute_copy(&containsfullscreenelement),
3000 )
3001 .into()
3002 }
3003 }
3004 unsafe extern "system" fn add_WebResourceRequested<
3005 Identity: ICoreWebView2_Impl,
3006 const OFFSET: isize,
3007 >(
3008 this: *mut core::ffi::c_void,
3009 eventhandler: *mut core::ffi::c_void,
3010 token: *mut i64,
3011 ) -> windows_core::HRESULT {
3012 unsafe {
3013 let this: &Identity =
3014 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3015 ICoreWebView2_Impl::add_WebResourceRequested(
3016 this,
3017 core::mem::transmute_copy(&eventhandler),
3018 core::mem::transmute_copy(&token),
3019 )
3020 .into()
3021 }
3022 }
3023 unsafe extern "system" fn remove_WebResourceRequested<
3024 Identity: ICoreWebView2_Impl,
3025 const OFFSET: isize,
3026 >(
3027 this: *mut core::ffi::c_void,
3028 token: i64,
3029 ) -> windows_core::HRESULT {
3030 unsafe {
3031 let this: &Identity =
3032 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3033 ICoreWebView2_Impl::remove_WebResourceRequested(
3034 this,
3035 core::mem::transmute_copy(&token),
3036 )
3037 .into()
3038 }
3039 }
3040 unsafe extern "system" fn AddWebResourceRequestedFilter<
3041 Identity: ICoreWebView2_Impl,
3042 const OFFSET: isize,
3043 >(
3044 this: *mut core::ffi::c_void,
3045 uri: windows_core::PCWSTR,
3046 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
3047 ) -> windows_core::HRESULT {
3048 unsafe {
3049 let this: &Identity =
3050 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3051 ICoreWebView2_Impl::AddWebResourceRequestedFilter(
3052 this,
3053 core::mem::transmute(&uri),
3054 core::mem::transmute_copy(&resourcecontext),
3055 )
3056 .into()
3057 }
3058 }
3059 unsafe extern "system" fn RemoveWebResourceRequestedFilter<
3060 Identity: ICoreWebView2_Impl,
3061 const OFFSET: isize,
3062 >(
3063 this: *mut core::ffi::c_void,
3064 uri: windows_core::PCWSTR,
3065 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
3066 ) -> windows_core::HRESULT {
3067 unsafe {
3068 let this: &Identity =
3069 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3070 ICoreWebView2_Impl::RemoveWebResourceRequestedFilter(
3071 this,
3072 core::mem::transmute(&uri),
3073 core::mem::transmute_copy(&resourcecontext),
3074 )
3075 .into()
3076 }
3077 }
3078 unsafe extern "system" fn add_WindowCloseRequested<
3079 Identity: ICoreWebView2_Impl,
3080 const OFFSET: isize,
3081 >(
3082 this: *mut core::ffi::c_void,
3083 eventhandler: *mut core::ffi::c_void,
3084 token: *mut i64,
3085 ) -> windows_core::HRESULT {
3086 unsafe {
3087 let this: &Identity =
3088 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3089 ICoreWebView2_Impl::add_WindowCloseRequested(
3090 this,
3091 core::mem::transmute_copy(&eventhandler),
3092 core::mem::transmute_copy(&token),
3093 )
3094 .into()
3095 }
3096 }
3097 unsafe extern "system" fn remove_WindowCloseRequested<
3098 Identity: ICoreWebView2_Impl,
3099 const OFFSET: isize,
3100 >(
3101 this: *mut core::ffi::c_void,
3102 token: i64,
3103 ) -> windows_core::HRESULT {
3104 unsafe {
3105 let this: &Identity =
3106 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3107 ICoreWebView2_Impl::remove_WindowCloseRequested(
3108 this,
3109 core::mem::transmute_copy(&token),
3110 )
3111 .into()
3112 }
3113 }
3114 Self {
3115 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3116 Settings: Settings::<Identity, OFFSET>,
3117 Source: Source::<Identity, OFFSET>,
3118 Navigate: Navigate::<Identity, OFFSET>,
3119 NavigateToString: NavigateToString::<Identity, OFFSET>,
3120 add_NavigationStarting: add_NavigationStarting::<Identity, OFFSET>,
3121 remove_NavigationStarting: remove_NavigationStarting::<Identity, OFFSET>,
3122 add_ContentLoading: add_ContentLoading::<Identity, OFFSET>,
3123 remove_ContentLoading: remove_ContentLoading::<Identity, OFFSET>,
3124 add_SourceChanged: add_SourceChanged::<Identity, OFFSET>,
3125 remove_SourceChanged: remove_SourceChanged::<Identity, OFFSET>,
3126 add_HistoryChanged: add_HistoryChanged::<Identity, OFFSET>,
3127 remove_HistoryChanged: remove_HistoryChanged::<Identity, OFFSET>,
3128 add_NavigationCompleted: add_NavigationCompleted::<Identity, OFFSET>,
3129 remove_NavigationCompleted: remove_NavigationCompleted::<Identity, OFFSET>,
3130 add_FrameNavigationStarting: add_FrameNavigationStarting::<Identity, OFFSET>,
3131 remove_FrameNavigationStarting: remove_FrameNavigationStarting::<Identity, OFFSET>,
3132 add_FrameNavigationCompleted: add_FrameNavigationCompleted::<Identity, OFFSET>,
3133 remove_FrameNavigationCompleted: remove_FrameNavigationCompleted::<Identity, OFFSET>,
3134 add_ScriptDialogOpening: add_ScriptDialogOpening::<Identity, OFFSET>,
3135 remove_ScriptDialogOpening: remove_ScriptDialogOpening::<Identity, OFFSET>,
3136 add_PermissionRequested: add_PermissionRequested::<Identity, OFFSET>,
3137 remove_PermissionRequested: remove_PermissionRequested::<Identity, OFFSET>,
3138 add_ProcessFailed: add_ProcessFailed::<Identity, OFFSET>,
3139 remove_ProcessFailed: remove_ProcessFailed::<Identity, OFFSET>,
3140 AddScriptToExecuteOnDocumentCreated: AddScriptToExecuteOnDocumentCreated::<
3141 Identity,
3142 OFFSET,
3143 >,
3144 RemoveScriptToExecuteOnDocumentCreated: RemoveScriptToExecuteOnDocumentCreated::<
3145 Identity,
3146 OFFSET,
3147 >,
3148 ExecuteScript: ExecuteScript::<Identity, OFFSET>,
3149 CapturePreview: CapturePreview::<Identity, OFFSET>,
3150 Reload: Reload::<Identity, OFFSET>,
3151 PostWebMessageAsJson: PostWebMessageAsJson::<Identity, OFFSET>,
3152 PostWebMessageAsString: PostWebMessageAsString::<Identity, OFFSET>,
3153 add_WebMessageReceived: add_WebMessageReceived::<Identity, OFFSET>,
3154 remove_WebMessageReceived: remove_WebMessageReceived::<Identity, OFFSET>,
3155 CallDevToolsProtocolMethod: CallDevToolsProtocolMethod::<Identity, OFFSET>,
3156 BrowserProcessId: BrowserProcessId::<Identity, OFFSET>,
3157 CanGoBack: CanGoBack::<Identity, OFFSET>,
3158 CanGoForward: CanGoForward::<Identity, OFFSET>,
3159 GoBack: GoBack::<Identity, OFFSET>,
3160 GoForward: GoForward::<Identity, OFFSET>,
3161 GetDevToolsProtocolEventReceiver: GetDevToolsProtocolEventReceiver::<Identity, OFFSET>,
3162 Stop: Stop::<Identity, OFFSET>,
3163 add_NewWindowRequested: add_NewWindowRequested::<Identity, OFFSET>,
3164 remove_NewWindowRequested: remove_NewWindowRequested::<Identity, OFFSET>,
3165 add_DocumentTitleChanged: add_DocumentTitleChanged::<Identity, OFFSET>,
3166 remove_DocumentTitleChanged: remove_DocumentTitleChanged::<Identity, OFFSET>,
3167 DocumentTitle: DocumentTitle::<Identity, OFFSET>,
3168 AddHostObjectToScript: AddHostObjectToScript::<Identity, OFFSET>,
3169 RemoveHostObjectFromScript: RemoveHostObjectFromScript::<Identity, OFFSET>,
3170 OpenDevToolsWindow: OpenDevToolsWindow::<Identity, OFFSET>,
3171 add_ContainsFullScreenElementChanged: add_ContainsFullScreenElementChanged::<
3172 Identity,
3173 OFFSET,
3174 >,
3175 remove_ContainsFullScreenElementChanged: remove_ContainsFullScreenElementChanged::<
3176 Identity,
3177 OFFSET,
3178 >,
3179 ContainsFullScreenElement: ContainsFullScreenElement::<Identity, OFFSET>,
3180 add_WebResourceRequested: add_WebResourceRequested::<Identity, OFFSET>,
3181 remove_WebResourceRequested: remove_WebResourceRequested::<Identity, OFFSET>,
3182 AddWebResourceRequestedFilter: AddWebResourceRequestedFilter::<Identity, OFFSET>,
3183 RemoveWebResourceRequestedFilter: RemoveWebResourceRequestedFilter::<Identity, OFFSET>,
3184 add_WindowCloseRequested: add_WindowCloseRequested::<Identity, OFFSET>,
3185 remove_WindowCloseRequested: remove_WindowCloseRequested::<Identity, OFFSET>,
3186 }
3187 }
3188 pub fn matches(iid: &windows_core::GUID) -> bool {
3189 iid == &<ICoreWebView2 as windows_core::Interface>::IID
3190 }
3191}
3192impl windows_core::RuntimeName for ICoreWebView2 {}
3193windows_core::imp::define_interface!(
3194 ICoreWebView2AcceleratorKeyPressedEventArgs,
3195 ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl,
3196 0x9f760f8a_fb79_42be_9990_7b56900fa9c7
3197);
3198windows_core::imp::interface_hierarchy!(
3199 ICoreWebView2AcceleratorKeyPressedEventArgs,
3200 windows_core::IUnknown
3201);
3202impl ICoreWebView2AcceleratorKeyPressedEventArgs {
3203 pub unsafe fn KeyEventKind(
3204 &self,
3205 keyeventkind: *mut COREWEBVIEW2_KEY_EVENT_KIND,
3206 ) -> windows_core::Result<()> {
3207 unsafe {
3208 (windows_core::Interface::vtable(self).KeyEventKind)(
3209 windows_core::Interface::as_raw(self),
3210 keyeventkind as _,
3211 )
3212 .ok()
3213 }
3214 }
3215 pub unsafe fn VirtualKey(&self, virtualkey: *mut u32) -> windows_core::Result<()> {
3216 unsafe {
3217 (windows_core::Interface::vtable(self).VirtualKey)(
3218 windows_core::Interface::as_raw(self),
3219 virtualkey as _,
3220 )
3221 .ok()
3222 }
3223 }
3224 pub unsafe fn KeyEventLParam(&self, lparam: *mut i32) -> windows_core::Result<()> {
3225 unsafe {
3226 (windows_core::Interface::vtable(self).KeyEventLParam)(
3227 windows_core::Interface::as_raw(self),
3228 lparam as _,
3229 )
3230 .ok()
3231 }
3232 }
3233 pub unsafe fn PhysicalKeyStatus(
3234 &self,
3235 physicalkeystatus: *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
3236 ) -> windows_core::Result<()> {
3237 unsafe {
3238 (windows_core::Interface::vtable(self).PhysicalKeyStatus)(
3239 windows_core::Interface::as_raw(self),
3240 physicalkeystatus as _,
3241 )
3242 .ok()
3243 }
3244 }
3245 pub unsafe fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()> {
3246 unsafe {
3247 (windows_core::Interface::vtable(self).Handled)(
3248 windows_core::Interface::as_raw(self),
3249 handled as _,
3250 )
3251 .ok()
3252 }
3253 }
3254 pub unsafe fn SetHandled(&self, handled: bool) -> windows_core::Result<()> {
3255 unsafe {
3256 (windows_core::Interface::vtable(self).SetHandled)(
3257 windows_core::Interface::as_raw(self),
3258 handled.into(),
3259 )
3260 .ok()
3261 }
3262 }
3263}
3264#[repr(C)]
3265#[doc(hidden)]
3266pub struct ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl {
3267 pub base__: windows_core::IUnknown_Vtbl,
3268 pub KeyEventKind: unsafe extern "system" fn(
3269 *mut core::ffi::c_void,
3270 *mut COREWEBVIEW2_KEY_EVENT_KIND,
3271 ) -> windows_core::HRESULT,
3272 pub VirtualKey:
3273 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
3274 pub KeyEventLParam:
3275 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
3276 pub PhysicalKeyStatus: unsafe extern "system" fn(
3277 *mut core::ffi::c_void,
3278 *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
3279 ) -> windows_core::HRESULT,
3280 pub Handled: unsafe extern "system" fn(
3281 *mut core::ffi::c_void,
3282 *mut windows_core::BOOL,
3283 ) -> windows_core::HRESULT,
3284 pub SetHandled: unsafe extern "system" fn(
3285 *mut core::ffi::c_void,
3286 windows_core::BOOL,
3287 ) -> windows_core::HRESULT,
3288}
3289pub trait ICoreWebView2AcceleratorKeyPressedEventArgs_Impl: windows_core::IUnknownImpl {
3290 fn KeyEventKind(
3291 &self,
3292 keyeventkind: *mut COREWEBVIEW2_KEY_EVENT_KIND,
3293 ) -> windows_core::Result<()>;
3294 fn VirtualKey(&self, virtualkey: *mut u32) -> windows_core::Result<()>;
3295 fn KeyEventLParam(&self, lparam: *mut i32) -> windows_core::Result<()>;
3296 fn PhysicalKeyStatus(
3297 &self,
3298 physicalkeystatus: *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
3299 ) -> windows_core::Result<()>;
3300 fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()>;
3301 fn SetHandled(&self, handled: windows_core::BOOL) -> windows_core::Result<()>;
3302}
3303impl ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl {
3304 pub const fn new<
3305 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3306 const OFFSET: isize,
3307 >() -> Self {
3308 unsafe extern "system" fn KeyEventKind<
3309 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3310 const OFFSET: isize,
3311 >(
3312 this: *mut core::ffi::c_void,
3313 keyeventkind: *mut COREWEBVIEW2_KEY_EVENT_KIND,
3314 ) -> windows_core::HRESULT {
3315 unsafe {
3316 let this: &Identity =
3317 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3318 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::KeyEventKind(
3319 this,
3320 core::mem::transmute_copy(&keyeventkind),
3321 )
3322 .into()
3323 }
3324 }
3325 unsafe extern "system" fn VirtualKey<
3326 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3327 const OFFSET: isize,
3328 >(
3329 this: *mut core::ffi::c_void,
3330 virtualkey: *mut u32,
3331 ) -> windows_core::HRESULT {
3332 unsafe {
3333 let this: &Identity =
3334 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3335 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::VirtualKey(
3336 this,
3337 core::mem::transmute_copy(&virtualkey),
3338 )
3339 .into()
3340 }
3341 }
3342 unsafe extern "system" fn KeyEventLParam<
3343 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3344 const OFFSET: isize,
3345 >(
3346 this: *mut core::ffi::c_void,
3347 lparam: *mut i32,
3348 ) -> windows_core::HRESULT {
3349 unsafe {
3350 let this: &Identity =
3351 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3352 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::KeyEventLParam(
3353 this,
3354 core::mem::transmute_copy(&lparam),
3355 )
3356 .into()
3357 }
3358 }
3359 unsafe extern "system" fn PhysicalKeyStatus<
3360 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3361 const OFFSET: isize,
3362 >(
3363 this: *mut core::ffi::c_void,
3364 physicalkeystatus: *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
3365 ) -> windows_core::HRESULT {
3366 unsafe {
3367 let this: &Identity =
3368 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3369 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::PhysicalKeyStatus(
3370 this,
3371 core::mem::transmute_copy(&physicalkeystatus),
3372 )
3373 .into()
3374 }
3375 }
3376 unsafe extern "system" fn Handled<
3377 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3378 const OFFSET: isize,
3379 >(
3380 this: *mut core::ffi::c_void,
3381 handled: *mut windows_core::BOOL,
3382 ) -> windows_core::HRESULT {
3383 unsafe {
3384 let this: &Identity =
3385 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3386 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::Handled(
3387 this,
3388 core::mem::transmute_copy(&handled),
3389 )
3390 .into()
3391 }
3392 }
3393 unsafe extern "system" fn SetHandled<
3394 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3395 const OFFSET: isize,
3396 >(
3397 this: *mut core::ffi::c_void,
3398 handled: windows_core::BOOL,
3399 ) -> windows_core::HRESULT {
3400 unsafe {
3401 let this: &Identity =
3402 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3403 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::SetHandled(
3404 this,
3405 core::mem::transmute_copy(&handled),
3406 )
3407 .into()
3408 }
3409 }
3410 Self {
3411 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3412 KeyEventKind: KeyEventKind::<Identity, OFFSET>,
3413 VirtualKey: VirtualKey::<Identity, OFFSET>,
3414 KeyEventLParam: KeyEventLParam::<Identity, OFFSET>,
3415 PhysicalKeyStatus: PhysicalKeyStatus::<Identity, OFFSET>,
3416 Handled: Handled::<Identity, OFFSET>,
3417 SetHandled: SetHandled::<Identity, OFFSET>,
3418 }
3419 }
3420 pub fn matches(iid: &windows_core::GUID) -> bool {
3421 iid == &<ICoreWebView2AcceleratorKeyPressedEventArgs as windows_core::Interface>::IID
3422 }
3423}
3424impl windows_core::RuntimeName for ICoreWebView2AcceleratorKeyPressedEventArgs {}
3425windows_core::imp::define_interface!(
3426 ICoreWebView2AcceleratorKeyPressedEventArgs2,
3427 ICoreWebView2AcceleratorKeyPressedEventArgs2_Vtbl,
3428 0x03b2c8c8_7799_4e34_bd66_ed26aa85f2bf
3429);
3430impl core::ops::Deref for ICoreWebView2AcceleratorKeyPressedEventArgs2 {
3431 type Target = ICoreWebView2AcceleratorKeyPressedEventArgs;
3432 fn deref(&self) -> &Self::Target {
3433 unsafe { core::mem::transmute(self) }
3434 }
3435}
3436windows_core::imp::interface_hierarchy!(
3437 ICoreWebView2AcceleratorKeyPressedEventArgs2,
3438 windows_core::IUnknown,
3439 ICoreWebView2AcceleratorKeyPressedEventArgs
3440);
3441impl ICoreWebView2AcceleratorKeyPressedEventArgs2 {
3442 pub unsafe fn IsBrowserAcceleratorKeyEnabled(
3443 &self,
3444 value: *mut windows_core::BOOL,
3445 ) -> windows_core::Result<()> {
3446 unsafe {
3447 (windows_core::Interface::vtable(self).IsBrowserAcceleratorKeyEnabled)(
3448 windows_core::Interface::as_raw(self),
3449 value as _,
3450 )
3451 .ok()
3452 }
3453 }
3454 pub unsafe fn SetIsBrowserAcceleratorKeyEnabled(
3455 &self,
3456 value: bool,
3457 ) -> windows_core::Result<()> {
3458 unsafe {
3459 (windows_core::Interface::vtable(self).SetIsBrowserAcceleratorKeyEnabled)(
3460 windows_core::Interface::as_raw(self),
3461 value.into(),
3462 )
3463 .ok()
3464 }
3465 }
3466}
3467#[repr(C)]
3468#[doc(hidden)]
3469pub struct ICoreWebView2AcceleratorKeyPressedEventArgs2_Vtbl {
3470 pub base__: ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl,
3471 pub IsBrowserAcceleratorKeyEnabled: unsafe extern "system" fn(
3472 *mut core::ffi::c_void,
3473 *mut windows_core::BOOL,
3474 ) -> windows_core::HRESULT,
3475 pub SetIsBrowserAcceleratorKeyEnabled: unsafe extern "system" fn(
3476 *mut core::ffi::c_void,
3477 windows_core::BOOL,
3478 ) -> windows_core::HRESULT,
3479}
3480pub trait ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl:
3481 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl
3482{
3483 fn IsBrowserAcceleratorKeyEnabled(
3484 &self,
3485 value: *mut windows_core::BOOL,
3486 ) -> windows_core::Result<()>;
3487 fn SetIsBrowserAcceleratorKeyEnabled(
3488 &self,
3489 value: windows_core::BOOL,
3490 ) -> windows_core::Result<()>;
3491}
3492impl ICoreWebView2AcceleratorKeyPressedEventArgs2_Vtbl {
3493 pub const fn new<
3494 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl,
3495 const OFFSET: isize,
3496 >() -> Self {
3497 unsafe extern "system" fn IsBrowserAcceleratorKeyEnabled<
3498 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl,
3499 const OFFSET: isize,
3500 >(
3501 this: *mut core::ffi::c_void,
3502 value: *mut windows_core::BOOL,
3503 ) -> windows_core::HRESULT {
3504 unsafe {
3505 let this: &Identity =
3506 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3507 ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl::IsBrowserAcceleratorKeyEnabled(
3508 this,
3509 core::mem::transmute_copy(&value),
3510 )
3511 .into()
3512 }
3513 }
3514 unsafe extern "system" fn SetIsBrowserAcceleratorKeyEnabled<
3515 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl,
3516 const OFFSET: isize,
3517 >(
3518 this: *mut core::ffi::c_void,
3519 value: windows_core::BOOL,
3520 ) -> windows_core::HRESULT {
3521 unsafe {
3522 let this: &Identity =
3523 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3524 ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl:: SetIsBrowserAcceleratorKeyEnabled ( this , core::mem::transmute_copy ( & value ) , ) . into ( )
3525 }
3526 }
3527 Self {
3528 base__: ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl::new::<Identity, OFFSET>(),
3529 IsBrowserAcceleratorKeyEnabled: IsBrowserAcceleratorKeyEnabled::<Identity, OFFSET>,
3530 SetIsBrowserAcceleratorKeyEnabled: SetIsBrowserAcceleratorKeyEnabled::<Identity, OFFSET>,
3531 }
3532 }
3533 pub fn matches(iid: &windows_core::GUID) -> bool {
3534 iid == &<ICoreWebView2AcceleratorKeyPressedEventArgs2 as windows_core::Interface>::IID
3535 || iid == &<ICoreWebView2AcceleratorKeyPressedEventArgs as windows_core::Interface>::IID
3536 }
3537}
3538impl windows_core::RuntimeName for ICoreWebView2AcceleratorKeyPressedEventArgs2 {}
3539windows_core::imp::define_interface!(
3540 ICoreWebView2AcceleratorKeyPressedEventHandler,
3541 ICoreWebView2AcceleratorKeyPressedEventHandler_Vtbl,
3542 0xb29c7e28_fa79_41a8_8e44_65811c76dcb2
3543);
3544windows_core::imp::interface_hierarchy!(
3545 ICoreWebView2AcceleratorKeyPressedEventHandler,
3546 windows_core::IUnknown
3547);
3548impl ICoreWebView2AcceleratorKeyPressedEventHandler {
3549 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
3550 where
3551 P0: windows_core::Param<ICoreWebView2Controller>,
3552 P1: windows_core::Param<ICoreWebView2AcceleratorKeyPressedEventArgs>,
3553 {
3554 unsafe {
3555 (windows_core::Interface::vtable(self).Invoke)(
3556 windows_core::Interface::as_raw(self),
3557 sender.param().abi(),
3558 args.param().abi(),
3559 )
3560 .ok()
3561 }
3562 }
3563}
3564#[repr(C)]
3565#[doc(hidden)]
3566pub struct ICoreWebView2AcceleratorKeyPressedEventHandler_Vtbl {
3567 pub base__: windows_core::IUnknown_Vtbl,
3568 pub Invoke: unsafe extern "system" fn(
3569 *mut core::ffi::c_void,
3570 *mut core::ffi::c_void,
3571 *mut core::ffi::c_void,
3572 ) -> windows_core::HRESULT,
3573}
3574pub trait ICoreWebView2AcceleratorKeyPressedEventHandler_Impl: windows_core::IUnknownImpl {
3575 fn Invoke(
3576 &self,
3577 sender: windows_core::Ref<ICoreWebView2Controller>,
3578 args: windows_core::Ref<ICoreWebView2AcceleratorKeyPressedEventArgs>,
3579 ) -> windows_core::Result<()>;
3580}
3581impl ICoreWebView2AcceleratorKeyPressedEventHandler_Vtbl {
3582 pub const fn new<
3583 Identity: ICoreWebView2AcceleratorKeyPressedEventHandler_Impl,
3584 const OFFSET: isize,
3585 >() -> Self {
3586 unsafe extern "system" fn Invoke<
3587 Identity: ICoreWebView2AcceleratorKeyPressedEventHandler_Impl,
3588 const OFFSET: isize,
3589 >(
3590 this: *mut core::ffi::c_void,
3591 sender: *mut core::ffi::c_void,
3592 args: *mut core::ffi::c_void,
3593 ) -> windows_core::HRESULT {
3594 unsafe {
3595 let this: &Identity =
3596 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3597 ICoreWebView2AcceleratorKeyPressedEventHandler_Impl::Invoke(
3598 this,
3599 core::mem::transmute_copy(&sender),
3600 core::mem::transmute_copy(&args),
3601 )
3602 .into()
3603 }
3604 }
3605 Self {
3606 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3607 Invoke: Invoke::<Identity, OFFSET>,
3608 }
3609 }
3610 pub fn matches(iid: &windows_core::GUID) -> bool {
3611 iid == &<ICoreWebView2AcceleratorKeyPressedEventHandler as windows_core::Interface>::IID
3612 }
3613}
3614impl windows_core::RuntimeName for ICoreWebView2AcceleratorKeyPressedEventHandler {}
3615windows_core::imp::define_interface!(
3616 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler,
3617 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Vtbl,
3618 0xb99369f3_9b11_47b5_bc6f_8e7895fcea17
3619);
3620windows_core::imp::interface_hierarchy!(
3621 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler,
3622 windows_core::IUnknown
3623);
3624impl ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler {
3625 pub unsafe fn Invoke<P1>(
3626 &self,
3627 errorcode: windows_core::HRESULT,
3628 result: P1,
3629 ) -> windows_core::Result<()>
3630 where
3631 P1: windows_core::Param<windows_core::PCWSTR>,
3632 {
3633 unsafe {
3634 (windows_core::Interface::vtable(self).Invoke)(
3635 windows_core::Interface::as_raw(self),
3636 errorcode,
3637 result.param().abi(),
3638 )
3639 .ok()
3640 }
3641 }
3642}
3643#[repr(C)]
3644#[doc(hidden)]
3645pub struct ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Vtbl {
3646 pub base__: windows_core::IUnknown_Vtbl,
3647 pub Invoke: unsafe extern "system" fn(
3648 *mut core::ffi::c_void,
3649 windows_core::HRESULT,
3650 windows_core::PCWSTR,
3651 ) -> windows_core::HRESULT,
3652}
3653pub trait ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl:
3654 windows_core::IUnknownImpl
3655{
3656 fn Invoke(
3657 &self,
3658 errorcode: windows_core::HRESULT,
3659 result: &windows_core::PCWSTR,
3660 ) -> windows_core::Result<()>;
3661}
3662impl ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Vtbl {
3663 pub const fn new<
3664 Identity: ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl,
3665 const OFFSET: isize,
3666 >() -> Self {
3667 unsafe extern "system" fn Invoke<
3668 Identity: ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl,
3669 const OFFSET: isize,
3670 >(
3671 this: *mut core::ffi::c_void,
3672 errorcode: windows_core::HRESULT,
3673 result: windows_core::PCWSTR,
3674 ) -> windows_core::HRESULT {
3675 unsafe {
3676 let this: &Identity =
3677 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3678 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl::Invoke(
3679 this,
3680 core::mem::transmute_copy(&errorcode),
3681 core::mem::transmute(&result),
3682 )
3683 .into()
3684 }
3685 }
3686 Self {
3687 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3688 Invoke: Invoke::<Identity, OFFSET>,
3689 }
3690 }
3691 pub fn matches(iid: &windows_core::GUID) -> bool {
3692 iid == & < ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler as windows_core::Interface >::IID
3693 }
3694}
3695impl windows_core::RuntimeName
3696 for ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler
3697{
3698}
3699windows_core::imp::define_interface!(
3700 ICoreWebView2BasicAuthenticationRequestedEventArgs,
3701 ICoreWebView2BasicAuthenticationRequestedEventArgs_Vtbl,
3702 0xef05516f_d897_4f9e_b672_d8e2307a3fb0
3703);
3704windows_core::imp::interface_hierarchy!(
3705 ICoreWebView2BasicAuthenticationRequestedEventArgs,
3706 windows_core::IUnknown
3707);
3708impl ICoreWebView2BasicAuthenticationRequestedEventArgs {
3709 pub unsafe fn Uri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
3710 unsafe {
3711 (windows_core::Interface::vtable(self).Uri)(
3712 windows_core::Interface::as_raw(self),
3713 value as _,
3714 )
3715 .ok()
3716 }
3717 }
3718 pub unsafe fn Challenge(
3719 &self,
3720 challenge: *mut windows_core::PWSTR,
3721 ) -> windows_core::Result<()> {
3722 unsafe {
3723 (windows_core::Interface::vtable(self).Challenge)(
3724 windows_core::Interface::as_raw(self),
3725 challenge as _,
3726 )
3727 .ok()
3728 }
3729 }
3730 pub unsafe fn Response(
3731 &self,
3732 ) -> windows_core::Result<ICoreWebView2BasicAuthenticationResponse> {
3733 unsafe {
3734 let mut result__ = core::mem::zeroed();
3735 (windows_core::Interface::vtable(self).Response)(
3736 windows_core::Interface::as_raw(self),
3737 &mut result__,
3738 )
3739 .and_then(|| windows_core::Type::from_abi(result__))
3740 }
3741 }
3742 pub unsafe fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()> {
3743 unsafe {
3744 (windows_core::Interface::vtable(self).Cancel)(
3745 windows_core::Interface::as_raw(self),
3746 cancel as _,
3747 )
3748 .ok()
3749 }
3750 }
3751 pub unsafe fn SetCancel(&self, cancel: bool) -> windows_core::Result<()> {
3752 unsafe {
3753 (windows_core::Interface::vtable(self).SetCancel)(
3754 windows_core::Interface::as_raw(self),
3755 cancel.into(),
3756 )
3757 .ok()
3758 }
3759 }
3760 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
3761 unsafe {
3762 let mut result__ = core::mem::zeroed();
3763 (windows_core::Interface::vtable(self).GetDeferral)(
3764 windows_core::Interface::as_raw(self),
3765 &mut result__,
3766 )
3767 .and_then(|| windows_core::Type::from_abi(result__))
3768 }
3769 }
3770}
3771#[repr(C)]
3772#[doc(hidden)]
3773pub struct ICoreWebView2BasicAuthenticationRequestedEventArgs_Vtbl {
3774 pub base__: windows_core::IUnknown_Vtbl,
3775 pub Uri: unsafe extern "system" fn(
3776 *mut core::ffi::c_void,
3777 *mut windows_core::PWSTR,
3778 ) -> windows_core::HRESULT,
3779 pub Challenge: unsafe extern "system" fn(
3780 *mut core::ffi::c_void,
3781 *mut windows_core::PWSTR,
3782 ) -> windows_core::HRESULT,
3783 pub Response: unsafe extern "system" fn(
3784 *mut core::ffi::c_void,
3785 *mut *mut core::ffi::c_void,
3786 ) -> windows_core::HRESULT,
3787 pub Cancel: unsafe extern "system" fn(
3788 *mut core::ffi::c_void,
3789 *mut windows_core::BOOL,
3790 ) -> windows_core::HRESULT,
3791 pub SetCancel: unsafe extern "system" fn(
3792 *mut core::ffi::c_void,
3793 windows_core::BOOL,
3794 ) -> windows_core::HRESULT,
3795 pub GetDeferral: unsafe extern "system" fn(
3796 *mut core::ffi::c_void,
3797 *mut *mut core::ffi::c_void,
3798 ) -> windows_core::HRESULT,
3799}
3800pub trait ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl:
3801 windows_core::IUnknownImpl
3802{
3803 fn Uri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
3804 fn Challenge(&self, challenge: *mut windows_core::PWSTR) -> windows_core::Result<()>;
3805 fn Response(&self) -> windows_core::Result<ICoreWebView2BasicAuthenticationResponse>;
3806 fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()>;
3807 fn SetCancel(&self, cancel: windows_core::BOOL) -> windows_core::Result<()>;
3808 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
3809}
3810impl ICoreWebView2BasicAuthenticationRequestedEventArgs_Vtbl {
3811 pub const fn new<
3812 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3813 const OFFSET: isize,
3814 >() -> Self {
3815 unsafe extern "system" fn Uri<
3816 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3817 const OFFSET: isize,
3818 >(
3819 this: *mut core::ffi::c_void,
3820 value: *mut windows_core::PWSTR,
3821 ) -> windows_core::HRESULT {
3822 unsafe {
3823 let this: &Identity =
3824 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3825 ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::Uri(
3826 this,
3827 core::mem::transmute_copy(&value),
3828 )
3829 .into()
3830 }
3831 }
3832 unsafe extern "system" fn Challenge<
3833 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3834 const OFFSET: isize,
3835 >(
3836 this: *mut core::ffi::c_void,
3837 challenge: *mut windows_core::PWSTR,
3838 ) -> windows_core::HRESULT {
3839 unsafe {
3840 let this: &Identity =
3841 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3842 ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::Challenge(
3843 this,
3844 core::mem::transmute_copy(&challenge),
3845 )
3846 .into()
3847 }
3848 }
3849 unsafe extern "system" fn Response<
3850 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3851 const OFFSET: isize,
3852 >(
3853 this: *mut core::ffi::c_void,
3854 response: *mut *mut core::ffi::c_void,
3855 ) -> windows_core::HRESULT {
3856 unsafe {
3857 let this: &Identity =
3858 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3859 match ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::Response(this) {
3860 Ok(ok__) => {
3861 response.write(core::mem::transmute(ok__));
3862 windows_core::HRESULT(0)
3863 }
3864 Err(err) => err.into(),
3865 }
3866 }
3867 }
3868 unsafe extern "system" fn Cancel<
3869 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3870 const OFFSET: isize,
3871 >(
3872 this: *mut core::ffi::c_void,
3873 cancel: *mut windows_core::BOOL,
3874 ) -> windows_core::HRESULT {
3875 unsafe {
3876 let this: &Identity =
3877 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3878 ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::Cancel(
3879 this,
3880 core::mem::transmute_copy(&cancel),
3881 )
3882 .into()
3883 }
3884 }
3885 unsafe extern "system" fn SetCancel<
3886 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3887 const OFFSET: isize,
3888 >(
3889 this: *mut core::ffi::c_void,
3890 cancel: windows_core::BOOL,
3891 ) -> windows_core::HRESULT {
3892 unsafe {
3893 let this: &Identity =
3894 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3895 ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::SetCancel(
3896 this,
3897 core::mem::transmute_copy(&cancel),
3898 )
3899 .into()
3900 }
3901 }
3902 unsafe extern "system" fn GetDeferral<
3903 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3904 const OFFSET: isize,
3905 >(
3906 this: *mut core::ffi::c_void,
3907 deferral: *mut *mut core::ffi::c_void,
3908 ) -> windows_core::HRESULT {
3909 unsafe {
3910 let this: &Identity =
3911 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3912 match ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::GetDeferral(this) {
3913 Ok(ok__) => {
3914 deferral.write(core::mem::transmute(ok__));
3915 windows_core::HRESULT(0)
3916 }
3917 Err(err) => err.into(),
3918 }
3919 }
3920 }
3921 Self {
3922 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3923 Uri: Uri::<Identity, OFFSET>,
3924 Challenge: Challenge::<Identity, OFFSET>,
3925 Response: Response::<Identity, OFFSET>,
3926 Cancel: Cancel::<Identity, OFFSET>,
3927 SetCancel: SetCancel::<Identity, OFFSET>,
3928 GetDeferral: GetDeferral::<Identity, OFFSET>,
3929 }
3930 }
3931 pub fn matches(iid: &windows_core::GUID) -> bool {
3932 iid == &<ICoreWebView2BasicAuthenticationRequestedEventArgs as windows_core::Interface>::IID
3933 }
3934}
3935impl windows_core::RuntimeName for ICoreWebView2BasicAuthenticationRequestedEventArgs {}
3936windows_core::imp::define_interface!(
3937 ICoreWebView2BasicAuthenticationRequestedEventHandler,
3938 ICoreWebView2BasicAuthenticationRequestedEventHandler_Vtbl,
3939 0x58b4d6c2_18d4_497e_b39b_9a96533fa278
3940);
3941windows_core::imp::interface_hierarchy!(
3942 ICoreWebView2BasicAuthenticationRequestedEventHandler,
3943 windows_core::IUnknown
3944);
3945impl ICoreWebView2BasicAuthenticationRequestedEventHandler {
3946 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
3947 where
3948 P0: windows_core::Param<ICoreWebView2>,
3949 P1: windows_core::Param<ICoreWebView2BasicAuthenticationRequestedEventArgs>,
3950 {
3951 unsafe {
3952 (windows_core::Interface::vtable(self).Invoke)(
3953 windows_core::Interface::as_raw(self),
3954 sender.param().abi(),
3955 args.param().abi(),
3956 )
3957 .ok()
3958 }
3959 }
3960}
3961#[repr(C)]
3962#[doc(hidden)]
3963pub struct ICoreWebView2BasicAuthenticationRequestedEventHandler_Vtbl {
3964 pub base__: windows_core::IUnknown_Vtbl,
3965 pub Invoke: unsafe extern "system" fn(
3966 *mut core::ffi::c_void,
3967 *mut core::ffi::c_void,
3968 *mut core::ffi::c_void,
3969 ) -> windows_core::HRESULT,
3970}
3971pub trait ICoreWebView2BasicAuthenticationRequestedEventHandler_Impl:
3972 windows_core::IUnknownImpl
3973{
3974 fn Invoke(
3975 &self,
3976 sender: windows_core::Ref<ICoreWebView2>,
3977 args: windows_core::Ref<ICoreWebView2BasicAuthenticationRequestedEventArgs>,
3978 ) -> windows_core::Result<()>;
3979}
3980impl ICoreWebView2BasicAuthenticationRequestedEventHandler_Vtbl {
3981 pub const fn new<
3982 Identity: ICoreWebView2BasicAuthenticationRequestedEventHandler_Impl,
3983 const OFFSET: isize,
3984 >() -> Self {
3985 unsafe extern "system" fn Invoke<
3986 Identity: ICoreWebView2BasicAuthenticationRequestedEventHandler_Impl,
3987 const OFFSET: isize,
3988 >(
3989 this: *mut core::ffi::c_void,
3990 sender: *mut core::ffi::c_void,
3991 args: *mut core::ffi::c_void,
3992 ) -> windows_core::HRESULT {
3993 unsafe {
3994 let this: &Identity =
3995 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3996 ICoreWebView2BasicAuthenticationRequestedEventHandler_Impl::Invoke(
3997 this,
3998 core::mem::transmute_copy(&sender),
3999 core::mem::transmute_copy(&args),
4000 )
4001 .into()
4002 }
4003 }
4004 Self {
4005 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4006 Invoke: Invoke::<Identity, OFFSET>,
4007 }
4008 }
4009 pub fn matches(iid: &windows_core::GUID) -> bool {
4010 iid == & < ICoreWebView2BasicAuthenticationRequestedEventHandler as windows_core::Interface >::IID
4011 }
4012}
4013impl windows_core::RuntimeName for ICoreWebView2BasicAuthenticationRequestedEventHandler {}
4014windows_core::imp::define_interface!(
4015 ICoreWebView2BasicAuthenticationResponse,
4016 ICoreWebView2BasicAuthenticationResponse_Vtbl,
4017 0x07023f7d_2d77_4d67_9040_6e7d428c6a40
4018);
4019windows_core::imp::interface_hierarchy!(
4020 ICoreWebView2BasicAuthenticationResponse,
4021 windows_core::IUnknown
4022);
4023impl ICoreWebView2BasicAuthenticationResponse {
4024 pub unsafe fn UserName(&self, username: *mut windows_core::PWSTR) -> windows_core::Result<()> {
4025 unsafe {
4026 (windows_core::Interface::vtable(self).UserName)(
4027 windows_core::Interface::as_raw(self),
4028 username as _,
4029 )
4030 .ok()
4031 }
4032 }
4033 pub unsafe fn SetUserName<P0>(&self, username: P0) -> windows_core::Result<()>
4034 where
4035 P0: windows_core::Param<windows_core::PCWSTR>,
4036 {
4037 unsafe {
4038 (windows_core::Interface::vtable(self).SetUserName)(
4039 windows_core::Interface::as_raw(self),
4040 username.param().abi(),
4041 )
4042 .ok()
4043 }
4044 }
4045 pub unsafe fn Password(&self, password: *mut windows_core::PWSTR) -> windows_core::Result<()> {
4046 unsafe {
4047 (windows_core::Interface::vtable(self).Password)(
4048 windows_core::Interface::as_raw(self),
4049 password as _,
4050 )
4051 .ok()
4052 }
4053 }
4054 pub unsafe fn SetPassword<P0>(&self, password: P0) -> windows_core::Result<()>
4055 where
4056 P0: windows_core::Param<windows_core::PCWSTR>,
4057 {
4058 unsafe {
4059 (windows_core::Interface::vtable(self).SetPassword)(
4060 windows_core::Interface::as_raw(self),
4061 password.param().abi(),
4062 )
4063 .ok()
4064 }
4065 }
4066}
4067#[repr(C)]
4068#[doc(hidden)]
4069pub struct ICoreWebView2BasicAuthenticationResponse_Vtbl {
4070 pub base__: windows_core::IUnknown_Vtbl,
4071 pub UserName: unsafe extern "system" fn(
4072 *mut core::ffi::c_void,
4073 *mut windows_core::PWSTR,
4074 ) -> windows_core::HRESULT,
4075 pub SetUserName: unsafe extern "system" fn(
4076 *mut core::ffi::c_void,
4077 windows_core::PCWSTR,
4078 ) -> windows_core::HRESULT,
4079 pub Password: unsafe extern "system" fn(
4080 *mut core::ffi::c_void,
4081 *mut windows_core::PWSTR,
4082 ) -> windows_core::HRESULT,
4083 pub SetPassword: unsafe extern "system" fn(
4084 *mut core::ffi::c_void,
4085 windows_core::PCWSTR,
4086 ) -> windows_core::HRESULT,
4087}
4088pub trait ICoreWebView2BasicAuthenticationResponse_Impl: windows_core::IUnknownImpl {
4089 fn UserName(&self, username: *mut windows_core::PWSTR) -> windows_core::Result<()>;
4090 fn SetUserName(&self, username: &windows_core::PCWSTR) -> windows_core::Result<()>;
4091 fn Password(&self, password: *mut windows_core::PWSTR) -> windows_core::Result<()>;
4092 fn SetPassword(&self, password: &windows_core::PCWSTR) -> windows_core::Result<()>;
4093}
4094impl ICoreWebView2BasicAuthenticationResponse_Vtbl {
4095 pub const fn new<
4096 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4097 const OFFSET: isize,
4098 >() -> Self {
4099 unsafe extern "system" fn UserName<
4100 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4101 const OFFSET: isize,
4102 >(
4103 this: *mut core::ffi::c_void,
4104 username: *mut windows_core::PWSTR,
4105 ) -> windows_core::HRESULT {
4106 unsafe {
4107 let this: &Identity =
4108 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4109 ICoreWebView2BasicAuthenticationResponse_Impl::UserName(
4110 this,
4111 core::mem::transmute_copy(&username),
4112 )
4113 .into()
4114 }
4115 }
4116 unsafe extern "system" fn SetUserName<
4117 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4118 const OFFSET: isize,
4119 >(
4120 this: *mut core::ffi::c_void,
4121 username: windows_core::PCWSTR,
4122 ) -> windows_core::HRESULT {
4123 unsafe {
4124 let this: &Identity =
4125 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4126 ICoreWebView2BasicAuthenticationResponse_Impl::SetUserName(
4127 this,
4128 core::mem::transmute(&username),
4129 )
4130 .into()
4131 }
4132 }
4133 unsafe extern "system" fn Password<
4134 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4135 const OFFSET: isize,
4136 >(
4137 this: *mut core::ffi::c_void,
4138 password: *mut windows_core::PWSTR,
4139 ) -> windows_core::HRESULT {
4140 unsafe {
4141 let this: &Identity =
4142 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4143 ICoreWebView2BasicAuthenticationResponse_Impl::Password(
4144 this,
4145 core::mem::transmute_copy(&password),
4146 )
4147 .into()
4148 }
4149 }
4150 unsafe extern "system" fn SetPassword<
4151 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4152 const OFFSET: isize,
4153 >(
4154 this: *mut core::ffi::c_void,
4155 password: windows_core::PCWSTR,
4156 ) -> windows_core::HRESULT {
4157 unsafe {
4158 let this: &Identity =
4159 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4160 ICoreWebView2BasicAuthenticationResponse_Impl::SetPassword(
4161 this,
4162 core::mem::transmute(&password),
4163 )
4164 .into()
4165 }
4166 }
4167 Self {
4168 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4169 UserName: UserName::<Identity, OFFSET>,
4170 SetUserName: SetUserName::<Identity, OFFSET>,
4171 Password: Password::<Identity, OFFSET>,
4172 SetPassword: SetPassword::<Identity, OFFSET>,
4173 }
4174 }
4175 pub fn matches(iid: &windows_core::GUID) -> bool {
4176 iid == &<ICoreWebView2BasicAuthenticationResponse as windows_core::Interface>::IID
4177 }
4178}
4179impl windows_core::RuntimeName for ICoreWebView2BasicAuthenticationResponse {}
4180windows_core::imp::define_interface!(
4181 ICoreWebView2BrowserExtension,
4182 ICoreWebView2BrowserExtension_Vtbl,
4183 0x7ef7ffa0_fac5_462c_b189_3d9edbe575da
4184);
4185windows_core::imp::interface_hierarchy!(ICoreWebView2BrowserExtension, windows_core::IUnknown);
4186impl ICoreWebView2BrowserExtension {
4187 pub unsafe fn Id(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
4188 unsafe {
4189 (windows_core::Interface::vtable(self).Id)(
4190 windows_core::Interface::as_raw(self),
4191 value as _,
4192 )
4193 .ok()
4194 }
4195 }
4196 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
4197 unsafe {
4198 (windows_core::Interface::vtable(self).Name)(
4199 windows_core::Interface::as_raw(self),
4200 value as _,
4201 )
4202 .ok()
4203 }
4204 }
4205 pub unsafe fn Remove<P0>(&self, handler: P0) -> windows_core::Result<()>
4206 where
4207 P0: windows_core::Param<ICoreWebView2BrowserExtensionRemoveCompletedHandler>,
4208 {
4209 unsafe {
4210 (windows_core::Interface::vtable(self).Remove)(
4211 windows_core::Interface::as_raw(self),
4212 handler.param().abi(),
4213 )
4214 .ok()
4215 }
4216 }
4217 pub unsafe fn IsEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
4218 unsafe {
4219 (windows_core::Interface::vtable(self).IsEnabled)(
4220 windows_core::Interface::as_raw(self),
4221 value as _,
4222 )
4223 .ok()
4224 }
4225 }
4226 pub unsafe fn Enable<P1>(&self, isenabled: bool, handler: P1) -> windows_core::Result<()>
4227 where
4228 P1: windows_core::Param<ICoreWebView2BrowserExtensionEnableCompletedHandler>,
4229 {
4230 unsafe {
4231 (windows_core::Interface::vtable(self).Enable)(
4232 windows_core::Interface::as_raw(self),
4233 isenabled.into(),
4234 handler.param().abi(),
4235 )
4236 .ok()
4237 }
4238 }
4239}
4240#[repr(C)]
4241#[doc(hidden)]
4242pub struct ICoreWebView2BrowserExtension_Vtbl {
4243 pub base__: windows_core::IUnknown_Vtbl,
4244 pub Id: unsafe extern "system" fn(
4245 *mut core::ffi::c_void,
4246 *mut windows_core::PWSTR,
4247 ) -> windows_core::HRESULT,
4248 pub Name: unsafe extern "system" fn(
4249 *mut core::ffi::c_void,
4250 *mut windows_core::PWSTR,
4251 ) -> windows_core::HRESULT,
4252 pub Remove: unsafe extern "system" fn(
4253 *mut core::ffi::c_void,
4254 *mut core::ffi::c_void,
4255 ) -> windows_core::HRESULT,
4256 pub IsEnabled: unsafe extern "system" fn(
4257 *mut core::ffi::c_void,
4258 *mut windows_core::BOOL,
4259 ) -> windows_core::HRESULT,
4260 pub Enable: unsafe extern "system" fn(
4261 *mut core::ffi::c_void,
4262 windows_core::BOOL,
4263 *mut core::ffi::c_void,
4264 ) -> windows_core::HRESULT,
4265}
4266pub trait ICoreWebView2BrowserExtension_Impl: windows_core::IUnknownImpl {
4267 fn Id(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
4268 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
4269 fn Remove(
4270 &self,
4271 handler: windows_core::Ref<ICoreWebView2BrowserExtensionRemoveCompletedHandler>,
4272 ) -> windows_core::Result<()>;
4273 fn IsEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
4274 fn Enable(
4275 &self,
4276 isenabled: windows_core::BOOL,
4277 handler: windows_core::Ref<ICoreWebView2BrowserExtensionEnableCompletedHandler>,
4278 ) -> windows_core::Result<()>;
4279}
4280impl ICoreWebView2BrowserExtension_Vtbl {
4281 pub const fn new<Identity: ICoreWebView2BrowserExtension_Impl, const OFFSET: isize>() -> Self {
4282 unsafe extern "system" fn Id<
4283 Identity: ICoreWebView2BrowserExtension_Impl,
4284 const OFFSET: isize,
4285 >(
4286 this: *mut core::ffi::c_void,
4287 value: *mut windows_core::PWSTR,
4288 ) -> windows_core::HRESULT {
4289 unsafe {
4290 let this: &Identity =
4291 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4292 ICoreWebView2BrowserExtension_Impl::Id(this, core::mem::transmute_copy(&value))
4293 .into()
4294 }
4295 }
4296 unsafe extern "system" fn Name<
4297 Identity: ICoreWebView2BrowserExtension_Impl,
4298 const OFFSET: isize,
4299 >(
4300 this: *mut core::ffi::c_void,
4301 value: *mut windows_core::PWSTR,
4302 ) -> windows_core::HRESULT {
4303 unsafe {
4304 let this: &Identity =
4305 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4306 ICoreWebView2BrowserExtension_Impl::Name(this, core::mem::transmute_copy(&value))
4307 .into()
4308 }
4309 }
4310 unsafe extern "system" fn Remove<
4311 Identity: ICoreWebView2BrowserExtension_Impl,
4312 const OFFSET: isize,
4313 >(
4314 this: *mut core::ffi::c_void,
4315 handler: *mut core::ffi::c_void,
4316 ) -> windows_core::HRESULT {
4317 unsafe {
4318 let this: &Identity =
4319 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4320 ICoreWebView2BrowserExtension_Impl::Remove(
4321 this,
4322 core::mem::transmute_copy(&handler),
4323 )
4324 .into()
4325 }
4326 }
4327 unsafe extern "system" fn IsEnabled<
4328 Identity: ICoreWebView2BrowserExtension_Impl,
4329 const OFFSET: isize,
4330 >(
4331 this: *mut core::ffi::c_void,
4332 value: *mut windows_core::BOOL,
4333 ) -> windows_core::HRESULT {
4334 unsafe {
4335 let this: &Identity =
4336 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4337 ICoreWebView2BrowserExtension_Impl::IsEnabled(
4338 this,
4339 core::mem::transmute_copy(&value),
4340 )
4341 .into()
4342 }
4343 }
4344 unsafe extern "system" fn Enable<
4345 Identity: ICoreWebView2BrowserExtension_Impl,
4346 const OFFSET: isize,
4347 >(
4348 this: *mut core::ffi::c_void,
4349 isenabled: windows_core::BOOL,
4350 handler: *mut core::ffi::c_void,
4351 ) -> windows_core::HRESULT {
4352 unsafe {
4353 let this: &Identity =
4354 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4355 ICoreWebView2BrowserExtension_Impl::Enable(
4356 this,
4357 core::mem::transmute_copy(&isenabled),
4358 core::mem::transmute_copy(&handler),
4359 )
4360 .into()
4361 }
4362 }
4363 Self {
4364 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4365 Id: Id::<Identity, OFFSET>,
4366 Name: Name::<Identity, OFFSET>,
4367 Remove: Remove::<Identity, OFFSET>,
4368 IsEnabled: IsEnabled::<Identity, OFFSET>,
4369 Enable: Enable::<Identity, OFFSET>,
4370 }
4371 }
4372 pub fn matches(iid: &windows_core::GUID) -> bool {
4373 iid == &<ICoreWebView2BrowserExtension as windows_core::Interface>::IID
4374 }
4375}
4376impl windows_core::RuntimeName for ICoreWebView2BrowserExtension {}
4377windows_core::imp::define_interface!(
4378 ICoreWebView2BrowserExtensionEnableCompletedHandler,
4379 ICoreWebView2BrowserExtensionEnableCompletedHandler_Vtbl,
4380 0x30c186ce_7fad_421f_a3bc_a8eaf071ddb8
4381);
4382windows_core::imp::interface_hierarchy!(
4383 ICoreWebView2BrowserExtensionEnableCompletedHandler,
4384 windows_core::IUnknown
4385);
4386impl ICoreWebView2BrowserExtensionEnableCompletedHandler {
4387 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
4388 unsafe {
4389 (windows_core::Interface::vtable(self).Invoke)(
4390 windows_core::Interface::as_raw(self),
4391 errorcode,
4392 )
4393 .ok()
4394 }
4395 }
4396}
4397#[repr(C)]
4398#[doc(hidden)]
4399pub struct ICoreWebView2BrowserExtensionEnableCompletedHandler_Vtbl {
4400 pub base__: windows_core::IUnknown_Vtbl,
4401 pub Invoke: unsafe extern "system" fn(
4402 *mut core::ffi::c_void,
4403 windows_core::HRESULT,
4404 ) -> windows_core::HRESULT,
4405}
4406pub trait ICoreWebView2BrowserExtensionEnableCompletedHandler_Impl:
4407 windows_core::IUnknownImpl
4408{
4409 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
4410}
4411impl ICoreWebView2BrowserExtensionEnableCompletedHandler_Vtbl {
4412 pub const fn new<
4413 Identity: ICoreWebView2BrowserExtensionEnableCompletedHandler_Impl,
4414 const OFFSET: isize,
4415 >() -> Self {
4416 unsafe extern "system" fn Invoke<
4417 Identity: ICoreWebView2BrowserExtensionEnableCompletedHandler_Impl,
4418 const OFFSET: isize,
4419 >(
4420 this: *mut core::ffi::c_void,
4421 errorcode: windows_core::HRESULT,
4422 ) -> windows_core::HRESULT {
4423 unsafe {
4424 let this: &Identity =
4425 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4426 ICoreWebView2BrowserExtensionEnableCompletedHandler_Impl::Invoke(
4427 this,
4428 core::mem::transmute_copy(&errorcode),
4429 )
4430 .into()
4431 }
4432 }
4433 Self {
4434 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4435 Invoke: Invoke::<Identity, OFFSET>,
4436 }
4437 }
4438 pub fn matches(iid: &windows_core::GUID) -> bool {
4439 iid == & < ICoreWebView2BrowserExtensionEnableCompletedHandler as windows_core::Interface >::IID
4440 }
4441}
4442impl windows_core::RuntimeName for ICoreWebView2BrowserExtensionEnableCompletedHandler {}
4443windows_core::imp::define_interface!(
4444 ICoreWebView2BrowserExtensionList,
4445 ICoreWebView2BrowserExtensionList_Vtbl,
4446 0x2ef3d2dc_bd5f_4f4d_90af_fd67798f0c2f
4447);
4448windows_core::imp::interface_hierarchy!(ICoreWebView2BrowserExtensionList, windows_core::IUnknown);
4449impl ICoreWebView2BrowserExtensionList {
4450 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
4451 unsafe {
4452 (windows_core::Interface::vtable(self).Count)(
4453 windows_core::Interface::as_raw(self),
4454 value as _,
4455 )
4456 .ok()
4457 }
4458 }
4459 pub unsafe fn GetValueAtIndex(
4460 &self,
4461 index: u32,
4462 ) -> windows_core::Result<ICoreWebView2BrowserExtension> {
4463 unsafe {
4464 let mut result__ = core::mem::zeroed();
4465 (windows_core::Interface::vtable(self).GetValueAtIndex)(
4466 windows_core::Interface::as_raw(self),
4467 index,
4468 &mut result__,
4469 )
4470 .and_then(|| windows_core::Type::from_abi(result__))
4471 }
4472 }
4473}
4474#[repr(C)]
4475#[doc(hidden)]
4476pub struct ICoreWebView2BrowserExtensionList_Vtbl {
4477 pub base__: windows_core::IUnknown_Vtbl,
4478 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
4479 pub GetValueAtIndex: unsafe extern "system" fn(
4480 *mut core::ffi::c_void,
4481 u32,
4482 *mut *mut core::ffi::c_void,
4483 ) -> windows_core::HRESULT,
4484}
4485pub trait ICoreWebView2BrowserExtensionList_Impl: windows_core::IUnknownImpl {
4486 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
4487 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2BrowserExtension>;
4488}
4489impl ICoreWebView2BrowserExtensionList_Vtbl {
4490 pub const fn new<Identity: ICoreWebView2BrowserExtensionList_Impl, const OFFSET: isize>() -> Self
4491 {
4492 unsafe extern "system" fn Count<
4493 Identity: ICoreWebView2BrowserExtensionList_Impl,
4494 const OFFSET: isize,
4495 >(
4496 this: *mut core::ffi::c_void,
4497 value: *mut u32,
4498 ) -> windows_core::HRESULT {
4499 unsafe {
4500 let this: &Identity =
4501 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4502 ICoreWebView2BrowserExtensionList_Impl::Count(
4503 this,
4504 core::mem::transmute_copy(&value),
4505 )
4506 .into()
4507 }
4508 }
4509 unsafe extern "system" fn GetValueAtIndex<
4510 Identity: ICoreWebView2BrowserExtensionList_Impl,
4511 const OFFSET: isize,
4512 >(
4513 this: *mut core::ffi::c_void,
4514 index: u32,
4515 value: *mut *mut core::ffi::c_void,
4516 ) -> windows_core::HRESULT {
4517 unsafe {
4518 let this: &Identity =
4519 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4520 match ICoreWebView2BrowserExtensionList_Impl::GetValueAtIndex(
4521 this,
4522 core::mem::transmute_copy(&index),
4523 ) {
4524 Ok(ok__) => {
4525 value.write(core::mem::transmute(ok__));
4526 windows_core::HRESULT(0)
4527 }
4528 Err(err) => err.into(),
4529 }
4530 }
4531 }
4532 Self {
4533 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4534 Count: Count::<Identity, OFFSET>,
4535 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
4536 }
4537 }
4538 pub fn matches(iid: &windows_core::GUID) -> bool {
4539 iid == &<ICoreWebView2BrowserExtensionList as windows_core::Interface>::IID
4540 }
4541}
4542impl windows_core::RuntimeName for ICoreWebView2BrowserExtensionList {}
4543windows_core::imp::define_interface!(
4544 ICoreWebView2BrowserExtensionRemoveCompletedHandler,
4545 ICoreWebView2BrowserExtensionRemoveCompletedHandler_Vtbl,
4546 0x8e41909a_9b18_4bb1_8cdf_930f467a50be
4547);
4548windows_core::imp::interface_hierarchy!(
4549 ICoreWebView2BrowserExtensionRemoveCompletedHandler,
4550 windows_core::IUnknown
4551);
4552impl ICoreWebView2BrowserExtensionRemoveCompletedHandler {
4553 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
4554 unsafe {
4555 (windows_core::Interface::vtable(self).Invoke)(
4556 windows_core::Interface::as_raw(self),
4557 errorcode,
4558 )
4559 .ok()
4560 }
4561 }
4562}
4563#[repr(C)]
4564#[doc(hidden)]
4565pub struct ICoreWebView2BrowserExtensionRemoveCompletedHandler_Vtbl {
4566 pub base__: windows_core::IUnknown_Vtbl,
4567 pub Invoke: unsafe extern "system" fn(
4568 *mut core::ffi::c_void,
4569 windows_core::HRESULT,
4570 ) -> windows_core::HRESULT,
4571}
4572pub trait ICoreWebView2BrowserExtensionRemoveCompletedHandler_Impl:
4573 windows_core::IUnknownImpl
4574{
4575 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
4576}
4577impl ICoreWebView2BrowserExtensionRemoveCompletedHandler_Vtbl {
4578 pub const fn new<
4579 Identity: ICoreWebView2BrowserExtensionRemoveCompletedHandler_Impl,
4580 const OFFSET: isize,
4581 >() -> Self {
4582 unsafe extern "system" fn Invoke<
4583 Identity: ICoreWebView2BrowserExtensionRemoveCompletedHandler_Impl,
4584 const OFFSET: isize,
4585 >(
4586 this: *mut core::ffi::c_void,
4587 errorcode: windows_core::HRESULT,
4588 ) -> windows_core::HRESULT {
4589 unsafe {
4590 let this: &Identity =
4591 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4592 ICoreWebView2BrowserExtensionRemoveCompletedHandler_Impl::Invoke(
4593 this,
4594 core::mem::transmute_copy(&errorcode),
4595 )
4596 .into()
4597 }
4598 }
4599 Self {
4600 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4601 Invoke: Invoke::<Identity, OFFSET>,
4602 }
4603 }
4604 pub fn matches(iid: &windows_core::GUID) -> bool {
4605 iid == & < ICoreWebView2BrowserExtensionRemoveCompletedHandler as windows_core::Interface >::IID
4606 }
4607}
4608impl windows_core::RuntimeName for ICoreWebView2BrowserExtensionRemoveCompletedHandler {}
4609windows_core::imp::define_interface!(
4610 ICoreWebView2BrowserProcessExitedEventArgs,
4611 ICoreWebView2BrowserProcessExitedEventArgs_Vtbl,
4612 0x1f00663f_af8c_4782_9cdd_dd01c52e34cb
4613);
4614windows_core::imp::interface_hierarchy!(
4615 ICoreWebView2BrowserProcessExitedEventArgs,
4616 windows_core::IUnknown
4617);
4618impl ICoreWebView2BrowserProcessExitedEventArgs {
4619 pub unsafe fn BrowserProcessExitKind(
4620 &self,
4621 value: *mut COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND,
4622 ) -> windows_core::Result<()> {
4623 unsafe {
4624 (windows_core::Interface::vtable(self).BrowserProcessExitKind)(
4625 windows_core::Interface::as_raw(self),
4626 value as _,
4627 )
4628 .ok()
4629 }
4630 }
4631 pub unsafe fn BrowserProcessId(&self, value: *mut u32) -> windows_core::Result<()> {
4632 unsafe {
4633 (windows_core::Interface::vtable(self).BrowserProcessId)(
4634 windows_core::Interface::as_raw(self),
4635 value as _,
4636 )
4637 .ok()
4638 }
4639 }
4640}
4641#[repr(C)]
4642#[doc(hidden)]
4643pub struct ICoreWebView2BrowserProcessExitedEventArgs_Vtbl {
4644 pub base__: windows_core::IUnknown_Vtbl,
4645 pub BrowserProcessExitKind: unsafe extern "system" fn(
4646 *mut core::ffi::c_void,
4647 *mut COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND,
4648 ) -> windows_core::HRESULT,
4649 pub BrowserProcessId:
4650 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
4651}
4652pub trait ICoreWebView2BrowserProcessExitedEventArgs_Impl: windows_core::IUnknownImpl {
4653 fn BrowserProcessExitKind(
4654 &self,
4655 value: *mut COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND,
4656 ) -> windows_core::Result<()>;
4657 fn BrowserProcessId(&self, value: *mut u32) -> windows_core::Result<()>;
4658}
4659impl ICoreWebView2BrowserProcessExitedEventArgs_Vtbl {
4660 pub const fn new<
4661 Identity: ICoreWebView2BrowserProcessExitedEventArgs_Impl,
4662 const OFFSET: isize,
4663 >() -> Self {
4664 unsafe extern "system" fn BrowserProcessExitKind<
4665 Identity: ICoreWebView2BrowserProcessExitedEventArgs_Impl,
4666 const OFFSET: isize,
4667 >(
4668 this: *mut core::ffi::c_void,
4669 value: *mut COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND,
4670 ) -> windows_core::HRESULT {
4671 unsafe {
4672 let this: &Identity =
4673 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4674 ICoreWebView2BrowserProcessExitedEventArgs_Impl::BrowserProcessExitKind(
4675 this,
4676 core::mem::transmute_copy(&value),
4677 )
4678 .into()
4679 }
4680 }
4681 unsafe extern "system" fn BrowserProcessId<
4682 Identity: ICoreWebView2BrowserProcessExitedEventArgs_Impl,
4683 const OFFSET: isize,
4684 >(
4685 this: *mut core::ffi::c_void,
4686 value: *mut u32,
4687 ) -> windows_core::HRESULT {
4688 unsafe {
4689 let this: &Identity =
4690 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4691 ICoreWebView2BrowserProcessExitedEventArgs_Impl::BrowserProcessId(
4692 this,
4693 core::mem::transmute_copy(&value),
4694 )
4695 .into()
4696 }
4697 }
4698 Self {
4699 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4700 BrowserProcessExitKind: BrowserProcessExitKind::<Identity, OFFSET>,
4701 BrowserProcessId: BrowserProcessId::<Identity, OFFSET>,
4702 }
4703 }
4704 pub fn matches(iid: &windows_core::GUID) -> bool {
4705 iid == &<ICoreWebView2BrowserProcessExitedEventArgs as windows_core::Interface>::IID
4706 }
4707}
4708impl windows_core::RuntimeName for ICoreWebView2BrowserProcessExitedEventArgs {}
4709windows_core::imp::define_interface!(
4710 ICoreWebView2BrowserProcessExitedEventHandler,
4711 ICoreWebView2BrowserProcessExitedEventHandler_Vtbl,
4712 0xfa504257_a216_4911_a860_fe8825712861
4713);
4714windows_core::imp::interface_hierarchy!(
4715 ICoreWebView2BrowserProcessExitedEventHandler,
4716 windows_core::IUnknown
4717);
4718impl ICoreWebView2BrowserProcessExitedEventHandler {
4719 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
4720 where
4721 P0: windows_core::Param<ICoreWebView2Environment>,
4722 P1: windows_core::Param<ICoreWebView2BrowserProcessExitedEventArgs>,
4723 {
4724 unsafe {
4725 (windows_core::Interface::vtable(self).Invoke)(
4726 windows_core::Interface::as_raw(self),
4727 sender.param().abi(),
4728 args.param().abi(),
4729 )
4730 .ok()
4731 }
4732 }
4733}
4734#[repr(C)]
4735#[doc(hidden)]
4736pub struct ICoreWebView2BrowserProcessExitedEventHandler_Vtbl {
4737 pub base__: windows_core::IUnknown_Vtbl,
4738 pub Invoke: unsafe extern "system" fn(
4739 *mut core::ffi::c_void,
4740 *mut core::ffi::c_void,
4741 *mut core::ffi::c_void,
4742 ) -> windows_core::HRESULT,
4743}
4744pub trait ICoreWebView2BrowserProcessExitedEventHandler_Impl: windows_core::IUnknownImpl {
4745 fn Invoke(
4746 &self,
4747 sender: windows_core::Ref<ICoreWebView2Environment>,
4748 args: windows_core::Ref<ICoreWebView2BrowserProcessExitedEventArgs>,
4749 ) -> windows_core::Result<()>;
4750}
4751impl ICoreWebView2BrowserProcessExitedEventHandler_Vtbl {
4752 pub const fn new<
4753 Identity: ICoreWebView2BrowserProcessExitedEventHandler_Impl,
4754 const OFFSET: isize,
4755 >() -> Self {
4756 unsafe extern "system" fn Invoke<
4757 Identity: ICoreWebView2BrowserProcessExitedEventHandler_Impl,
4758 const OFFSET: isize,
4759 >(
4760 this: *mut core::ffi::c_void,
4761 sender: *mut core::ffi::c_void,
4762 args: *mut core::ffi::c_void,
4763 ) -> windows_core::HRESULT {
4764 unsafe {
4765 let this: &Identity =
4766 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4767 ICoreWebView2BrowserProcessExitedEventHandler_Impl::Invoke(
4768 this,
4769 core::mem::transmute_copy(&sender),
4770 core::mem::transmute_copy(&args),
4771 )
4772 .into()
4773 }
4774 }
4775 Self {
4776 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4777 Invoke: Invoke::<Identity, OFFSET>,
4778 }
4779 }
4780 pub fn matches(iid: &windows_core::GUID) -> bool {
4781 iid == &<ICoreWebView2BrowserProcessExitedEventHandler as windows_core::Interface>::IID
4782 }
4783}
4784impl windows_core::RuntimeName for ICoreWebView2BrowserProcessExitedEventHandler {}
4785windows_core::imp::define_interface!(
4786 ICoreWebView2BytesReceivedChangedEventHandler,
4787 ICoreWebView2BytesReceivedChangedEventHandler_Vtbl,
4788 0x828e8ab6_d94c_4264_9cef_5217170d6251
4789);
4790windows_core::imp::interface_hierarchy!(
4791 ICoreWebView2BytesReceivedChangedEventHandler,
4792 windows_core::IUnknown
4793);
4794impl ICoreWebView2BytesReceivedChangedEventHandler {
4795 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
4796 where
4797 P0: windows_core::Param<ICoreWebView2DownloadOperation>,
4798 P1: windows_core::Param<windows_core::IUnknown>,
4799 {
4800 unsafe {
4801 (windows_core::Interface::vtable(self).Invoke)(
4802 windows_core::Interface::as_raw(self),
4803 sender.param().abi(),
4804 args.param().abi(),
4805 )
4806 .ok()
4807 }
4808 }
4809}
4810#[repr(C)]
4811#[doc(hidden)]
4812pub struct ICoreWebView2BytesReceivedChangedEventHandler_Vtbl {
4813 pub base__: windows_core::IUnknown_Vtbl,
4814 pub Invoke: unsafe extern "system" fn(
4815 *mut core::ffi::c_void,
4816 *mut core::ffi::c_void,
4817 *mut core::ffi::c_void,
4818 ) -> windows_core::HRESULT,
4819}
4820pub trait ICoreWebView2BytesReceivedChangedEventHandler_Impl: windows_core::IUnknownImpl {
4821 fn Invoke(
4822 &self,
4823 sender: windows_core::Ref<ICoreWebView2DownloadOperation>,
4824 args: windows_core::Ref<windows_core::IUnknown>,
4825 ) -> windows_core::Result<()>;
4826}
4827impl ICoreWebView2BytesReceivedChangedEventHandler_Vtbl {
4828 pub const fn new<
4829 Identity: ICoreWebView2BytesReceivedChangedEventHandler_Impl,
4830 const OFFSET: isize,
4831 >() -> Self {
4832 unsafe extern "system" fn Invoke<
4833 Identity: ICoreWebView2BytesReceivedChangedEventHandler_Impl,
4834 const OFFSET: isize,
4835 >(
4836 this: *mut core::ffi::c_void,
4837 sender: *mut core::ffi::c_void,
4838 args: *mut core::ffi::c_void,
4839 ) -> windows_core::HRESULT {
4840 unsafe {
4841 let this: &Identity =
4842 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4843 ICoreWebView2BytesReceivedChangedEventHandler_Impl::Invoke(
4844 this,
4845 core::mem::transmute_copy(&sender),
4846 core::mem::transmute_copy(&args),
4847 )
4848 .into()
4849 }
4850 }
4851 Self {
4852 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4853 Invoke: Invoke::<Identity, OFFSET>,
4854 }
4855 }
4856 pub fn matches(iid: &windows_core::GUID) -> bool {
4857 iid == &<ICoreWebView2BytesReceivedChangedEventHandler as windows_core::Interface>::IID
4858 }
4859}
4860impl windows_core::RuntimeName for ICoreWebView2BytesReceivedChangedEventHandler {}
4861windows_core::imp::define_interface!(
4862 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler,
4863 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Vtbl,
4864 0x5c4889f0_5ef6_4c5a_952c_d8f1b92d0574
4865);
4866windows_core::imp::interface_hierarchy!(
4867 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler,
4868 windows_core::IUnknown
4869);
4870impl ICoreWebView2CallDevToolsProtocolMethodCompletedHandler {
4871 pub unsafe fn Invoke<P1>(
4872 &self,
4873 errorcode: windows_core::HRESULT,
4874 result: P1,
4875 ) -> windows_core::Result<()>
4876 where
4877 P1: windows_core::Param<windows_core::PCWSTR>,
4878 {
4879 unsafe {
4880 (windows_core::Interface::vtable(self).Invoke)(
4881 windows_core::Interface::as_raw(self),
4882 errorcode,
4883 result.param().abi(),
4884 )
4885 .ok()
4886 }
4887 }
4888}
4889#[repr(C)]
4890#[doc(hidden)]
4891pub struct ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Vtbl {
4892 pub base__: windows_core::IUnknown_Vtbl,
4893 pub Invoke: unsafe extern "system" fn(
4894 *mut core::ffi::c_void,
4895 windows_core::HRESULT,
4896 windows_core::PCWSTR,
4897 ) -> windows_core::HRESULT,
4898}
4899pub trait ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl:
4900 windows_core::IUnknownImpl
4901{
4902 fn Invoke(
4903 &self,
4904 errorcode: windows_core::HRESULT,
4905 result: &windows_core::PCWSTR,
4906 ) -> windows_core::Result<()>;
4907}
4908impl ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Vtbl {
4909 pub const fn new<
4910 Identity: ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl,
4911 const OFFSET: isize,
4912 >() -> Self {
4913 unsafe extern "system" fn Invoke<
4914 Identity: ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl,
4915 const OFFSET: isize,
4916 >(
4917 this: *mut core::ffi::c_void,
4918 errorcode: windows_core::HRESULT,
4919 result: windows_core::PCWSTR,
4920 ) -> windows_core::HRESULT {
4921 unsafe {
4922 let this: &Identity =
4923 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4924 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl::Invoke(
4925 this,
4926 core::mem::transmute_copy(&errorcode),
4927 core::mem::transmute(&result),
4928 )
4929 .into()
4930 }
4931 }
4932 Self {
4933 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4934 Invoke: Invoke::<Identity, OFFSET>,
4935 }
4936 }
4937 pub fn matches(iid: &windows_core::GUID) -> bool {
4938 iid == & < ICoreWebView2CallDevToolsProtocolMethodCompletedHandler as windows_core::Interface >::IID
4939 }
4940}
4941impl windows_core::RuntimeName for ICoreWebView2CallDevToolsProtocolMethodCompletedHandler {}
4942windows_core::imp::define_interface!(
4943 ICoreWebView2CapturePreviewCompletedHandler,
4944 ICoreWebView2CapturePreviewCompletedHandler_Vtbl,
4945 0x697e05e9_3d8f_45fa_96f4_8ffe1ededaf5
4946);
4947windows_core::imp::interface_hierarchy!(
4948 ICoreWebView2CapturePreviewCompletedHandler,
4949 windows_core::IUnknown
4950);
4951impl ICoreWebView2CapturePreviewCompletedHandler {
4952 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
4953 unsafe {
4954 (windows_core::Interface::vtable(self).Invoke)(
4955 windows_core::Interface::as_raw(self),
4956 errorcode,
4957 )
4958 .ok()
4959 }
4960 }
4961}
4962#[repr(C)]
4963#[doc(hidden)]
4964pub struct ICoreWebView2CapturePreviewCompletedHandler_Vtbl {
4965 pub base__: windows_core::IUnknown_Vtbl,
4966 pub Invoke: unsafe extern "system" fn(
4967 *mut core::ffi::c_void,
4968 windows_core::HRESULT,
4969 ) -> windows_core::HRESULT,
4970}
4971pub trait ICoreWebView2CapturePreviewCompletedHandler_Impl: windows_core::IUnknownImpl {
4972 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
4973}
4974impl ICoreWebView2CapturePreviewCompletedHandler_Vtbl {
4975 pub const fn new<
4976 Identity: ICoreWebView2CapturePreviewCompletedHandler_Impl,
4977 const OFFSET: isize,
4978 >() -> Self {
4979 unsafe extern "system" fn Invoke<
4980 Identity: ICoreWebView2CapturePreviewCompletedHandler_Impl,
4981 const OFFSET: isize,
4982 >(
4983 this: *mut core::ffi::c_void,
4984 errorcode: windows_core::HRESULT,
4985 ) -> windows_core::HRESULT {
4986 unsafe {
4987 let this: &Identity =
4988 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4989 ICoreWebView2CapturePreviewCompletedHandler_Impl::Invoke(
4990 this,
4991 core::mem::transmute_copy(&errorcode),
4992 )
4993 .into()
4994 }
4995 }
4996 Self {
4997 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4998 Invoke: Invoke::<Identity, OFFSET>,
4999 }
5000 }
5001 pub fn matches(iid: &windows_core::GUID) -> bool {
5002 iid == &<ICoreWebView2CapturePreviewCompletedHandler as windows_core::Interface>::IID
5003 }
5004}
5005impl windows_core::RuntimeName for ICoreWebView2CapturePreviewCompletedHandler {}
5006windows_core::imp::define_interface!(
5007 ICoreWebView2Certificate,
5008 ICoreWebView2Certificate_Vtbl,
5009 0xc5fb2fce_1cac_4aee_9c79_5ed0362eaae0
5010);
5011windows_core::imp::interface_hierarchy!(ICoreWebView2Certificate, windows_core::IUnknown);
5012impl ICoreWebView2Certificate {
5013 pub unsafe fn Subject(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5014 unsafe {
5015 (windows_core::Interface::vtable(self).Subject)(
5016 windows_core::Interface::as_raw(self),
5017 value as _,
5018 )
5019 .ok()
5020 }
5021 }
5022 pub unsafe fn Issuer(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5023 unsafe {
5024 (windows_core::Interface::vtable(self).Issuer)(
5025 windows_core::Interface::as_raw(self),
5026 value as _,
5027 )
5028 .ok()
5029 }
5030 }
5031 pub unsafe fn ValidFrom(&self, value: *mut f64) -> windows_core::Result<()> {
5032 unsafe {
5033 (windows_core::Interface::vtable(self).ValidFrom)(
5034 windows_core::Interface::as_raw(self),
5035 value as _,
5036 )
5037 .ok()
5038 }
5039 }
5040 pub unsafe fn ValidTo(&self, value: *mut f64) -> windows_core::Result<()> {
5041 unsafe {
5042 (windows_core::Interface::vtable(self).ValidTo)(
5043 windows_core::Interface::as_raw(self),
5044 value as _,
5045 )
5046 .ok()
5047 }
5048 }
5049 pub unsafe fn DerEncodedSerialNumber(
5050 &self,
5051 value: *mut windows_core::PWSTR,
5052 ) -> windows_core::Result<()> {
5053 unsafe {
5054 (windows_core::Interface::vtable(self).DerEncodedSerialNumber)(
5055 windows_core::Interface::as_raw(self),
5056 value as _,
5057 )
5058 .ok()
5059 }
5060 }
5061 pub unsafe fn DisplayName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5062 unsafe {
5063 (windows_core::Interface::vtable(self).DisplayName)(
5064 windows_core::Interface::as_raw(self),
5065 value as _,
5066 )
5067 .ok()
5068 }
5069 }
5070 pub unsafe fn ToPemEncoding(
5071 &self,
5072 pemencodeddata: *mut windows_core::PWSTR,
5073 ) -> windows_core::Result<()> {
5074 unsafe {
5075 (windows_core::Interface::vtable(self).ToPemEncoding)(
5076 windows_core::Interface::as_raw(self),
5077 pemencodeddata as _,
5078 )
5079 .ok()
5080 }
5081 }
5082 pub unsafe fn PemEncodedIssuerCertificateChain(
5083 &self,
5084 ) -> windows_core::Result<ICoreWebView2StringCollection> {
5085 unsafe {
5086 let mut result__ = core::mem::zeroed();
5087 (windows_core::Interface::vtable(self).PemEncodedIssuerCertificateChain)(
5088 windows_core::Interface::as_raw(self),
5089 &mut result__,
5090 )
5091 .and_then(|| windows_core::Type::from_abi(result__))
5092 }
5093 }
5094}
5095#[repr(C)]
5096#[doc(hidden)]
5097pub struct ICoreWebView2Certificate_Vtbl {
5098 pub base__: windows_core::IUnknown_Vtbl,
5099 pub Subject: unsafe extern "system" fn(
5100 *mut core::ffi::c_void,
5101 *mut windows_core::PWSTR,
5102 ) -> windows_core::HRESULT,
5103 pub Issuer: unsafe extern "system" fn(
5104 *mut core::ffi::c_void,
5105 *mut windows_core::PWSTR,
5106 ) -> windows_core::HRESULT,
5107 pub ValidFrom:
5108 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
5109 pub ValidTo:
5110 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
5111 pub DerEncodedSerialNumber: unsafe extern "system" fn(
5112 *mut core::ffi::c_void,
5113 *mut windows_core::PWSTR,
5114 ) -> windows_core::HRESULT,
5115 pub DisplayName: unsafe extern "system" fn(
5116 *mut core::ffi::c_void,
5117 *mut windows_core::PWSTR,
5118 ) -> windows_core::HRESULT,
5119 pub ToPemEncoding: unsafe extern "system" fn(
5120 *mut core::ffi::c_void,
5121 *mut windows_core::PWSTR,
5122 ) -> windows_core::HRESULT,
5123 pub PemEncodedIssuerCertificateChain: unsafe extern "system" fn(
5124 *mut core::ffi::c_void,
5125 *mut *mut core::ffi::c_void,
5126 ) -> windows_core::HRESULT,
5127}
5128pub trait ICoreWebView2Certificate_Impl: windows_core::IUnknownImpl {
5129 fn Subject(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5130 fn Issuer(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5131 fn ValidFrom(&self, value: *mut f64) -> windows_core::Result<()>;
5132 fn ValidTo(&self, value: *mut f64) -> windows_core::Result<()>;
5133 fn DerEncodedSerialNumber(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5134 fn DisplayName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5135 fn ToPemEncoding(&self, pemencodeddata: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5136 fn PemEncodedIssuerCertificateChain(
5137 &self,
5138 ) -> windows_core::Result<ICoreWebView2StringCollection>;
5139}
5140impl ICoreWebView2Certificate_Vtbl {
5141 pub const fn new<Identity: ICoreWebView2Certificate_Impl, const OFFSET: isize>() -> Self {
5142 unsafe extern "system" fn Subject<
5143 Identity: ICoreWebView2Certificate_Impl,
5144 const OFFSET: isize,
5145 >(
5146 this: *mut core::ffi::c_void,
5147 value: *mut windows_core::PWSTR,
5148 ) -> windows_core::HRESULT {
5149 unsafe {
5150 let this: &Identity =
5151 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5152 ICoreWebView2Certificate_Impl::Subject(this, core::mem::transmute_copy(&value))
5153 .into()
5154 }
5155 }
5156 unsafe extern "system" fn Issuer<
5157 Identity: ICoreWebView2Certificate_Impl,
5158 const OFFSET: isize,
5159 >(
5160 this: *mut core::ffi::c_void,
5161 value: *mut windows_core::PWSTR,
5162 ) -> windows_core::HRESULT {
5163 unsafe {
5164 let this: &Identity =
5165 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5166 ICoreWebView2Certificate_Impl::Issuer(this, core::mem::transmute_copy(&value))
5167 .into()
5168 }
5169 }
5170 unsafe extern "system" fn ValidFrom<
5171 Identity: ICoreWebView2Certificate_Impl,
5172 const OFFSET: isize,
5173 >(
5174 this: *mut core::ffi::c_void,
5175 value: *mut f64,
5176 ) -> windows_core::HRESULT {
5177 unsafe {
5178 let this: &Identity =
5179 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5180 ICoreWebView2Certificate_Impl::ValidFrom(this, core::mem::transmute_copy(&value))
5181 .into()
5182 }
5183 }
5184 unsafe extern "system" fn ValidTo<
5185 Identity: ICoreWebView2Certificate_Impl,
5186 const OFFSET: isize,
5187 >(
5188 this: *mut core::ffi::c_void,
5189 value: *mut f64,
5190 ) -> windows_core::HRESULT {
5191 unsafe {
5192 let this: &Identity =
5193 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5194 ICoreWebView2Certificate_Impl::ValidTo(this, core::mem::transmute_copy(&value))
5195 .into()
5196 }
5197 }
5198 unsafe extern "system" fn DerEncodedSerialNumber<
5199 Identity: ICoreWebView2Certificate_Impl,
5200 const OFFSET: isize,
5201 >(
5202 this: *mut core::ffi::c_void,
5203 value: *mut windows_core::PWSTR,
5204 ) -> windows_core::HRESULT {
5205 unsafe {
5206 let this: &Identity =
5207 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5208 ICoreWebView2Certificate_Impl::DerEncodedSerialNumber(
5209 this,
5210 core::mem::transmute_copy(&value),
5211 )
5212 .into()
5213 }
5214 }
5215 unsafe extern "system" fn DisplayName<
5216 Identity: ICoreWebView2Certificate_Impl,
5217 const OFFSET: isize,
5218 >(
5219 this: *mut core::ffi::c_void,
5220 value: *mut windows_core::PWSTR,
5221 ) -> windows_core::HRESULT {
5222 unsafe {
5223 let this: &Identity =
5224 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5225 ICoreWebView2Certificate_Impl::DisplayName(this, core::mem::transmute_copy(&value))
5226 .into()
5227 }
5228 }
5229 unsafe extern "system" fn ToPemEncoding<
5230 Identity: ICoreWebView2Certificate_Impl,
5231 const OFFSET: isize,
5232 >(
5233 this: *mut core::ffi::c_void,
5234 pemencodeddata: *mut windows_core::PWSTR,
5235 ) -> windows_core::HRESULT {
5236 unsafe {
5237 let this: &Identity =
5238 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5239 ICoreWebView2Certificate_Impl::ToPemEncoding(
5240 this,
5241 core::mem::transmute_copy(&pemencodeddata),
5242 )
5243 .into()
5244 }
5245 }
5246 unsafe extern "system" fn PemEncodedIssuerCertificateChain<
5247 Identity: ICoreWebView2Certificate_Impl,
5248 const OFFSET: isize,
5249 >(
5250 this: *mut core::ffi::c_void,
5251 value: *mut *mut core::ffi::c_void,
5252 ) -> windows_core::HRESULT {
5253 unsafe {
5254 let this: &Identity =
5255 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5256 match ICoreWebView2Certificate_Impl::PemEncodedIssuerCertificateChain(this) {
5257 Ok(ok__) => {
5258 value.write(core::mem::transmute(ok__));
5259 windows_core::HRESULT(0)
5260 }
5261 Err(err) => err.into(),
5262 }
5263 }
5264 }
5265 Self {
5266 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5267 Subject: Subject::<Identity, OFFSET>,
5268 Issuer: Issuer::<Identity, OFFSET>,
5269 ValidFrom: ValidFrom::<Identity, OFFSET>,
5270 ValidTo: ValidTo::<Identity, OFFSET>,
5271 DerEncodedSerialNumber: DerEncodedSerialNumber::<Identity, OFFSET>,
5272 DisplayName: DisplayName::<Identity, OFFSET>,
5273 ToPemEncoding: ToPemEncoding::<Identity, OFFSET>,
5274 PemEncodedIssuerCertificateChain: PemEncodedIssuerCertificateChain::<Identity, OFFSET>,
5275 }
5276 }
5277 pub fn matches(iid: &windows_core::GUID) -> bool {
5278 iid == &<ICoreWebView2Certificate as windows_core::Interface>::IID
5279 }
5280}
5281impl windows_core::RuntimeName for ICoreWebView2Certificate {}
5282windows_core::imp::define_interface!(
5283 ICoreWebView2ClearBrowsingDataCompletedHandler,
5284 ICoreWebView2ClearBrowsingDataCompletedHandler_Vtbl,
5285 0xe9710a06_1d1d_49b2_8234_226f35846ae5
5286);
5287windows_core::imp::interface_hierarchy!(
5288 ICoreWebView2ClearBrowsingDataCompletedHandler,
5289 windows_core::IUnknown
5290);
5291impl ICoreWebView2ClearBrowsingDataCompletedHandler {
5292 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
5293 unsafe {
5294 (windows_core::Interface::vtable(self).Invoke)(
5295 windows_core::Interface::as_raw(self),
5296 errorcode,
5297 )
5298 .ok()
5299 }
5300 }
5301}
5302#[repr(C)]
5303#[doc(hidden)]
5304pub struct ICoreWebView2ClearBrowsingDataCompletedHandler_Vtbl {
5305 pub base__: windows_core::IUnknown_Vtbl,
5306 pub Invoke: unsafe extern "system" fn(
5307 *mut core::ffi::c_void,
5308 windows_core::HRESULT,
5309 ) -> windows_core::HRESULT,
5310}
5311pub trait ICoreWebView2ClearBrowsingDataCompletedHandler_Impl: windows_core::IUnknownImpl {
5312 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
5313}
5314impl ICoreWebView2ClearBrowsingDataCompletedHandler_Vtbl {
5315 pub const fn new<
5316 Identity: ICoreWebView2ClearBrowsingDataCompletedHandler_Impl,
5317 const OFFSET: isize,
5318 >() -> Self {
5319 unsafe extern "system" fn Invoke<
5320 Identity: ICoreWebView2ClearBrowsingDataCompletedHandler_Impl,
5321 const OFFSET: isize,
5322 >(
5323 this: *mut core::ffi::c_void,
5324 errorcode: windows_core::HRESULT,
5325 ) -> windows_core::HRESULT {
5326 unsafe {
5327 let this: &Identity =
5328 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5329 ICoreWebView2ClearBrowsingDataCompletedHandler_Impl::Invoke(
5330 this,
5331 core::mem::transmute_copy(&errorcode),
5332 )
5333 .into()
5334 }
5335 }
5336 Self {
5337 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5338 Invoke: Invoke::<Identity, OFFSET>,
5339 }
5340 }
5341 pub fn matches(iid: &windows_core::GUID) -> bool {
5342 iid == &<ICoreWebView2ClearBrowsingDataCompletedHandler as windows_core::Interface>::IID
5343 }
5344}
5345impl windows_core::RuntimeName for ICoreWebView2ClearBrowsingDataCompletedHandler {}
5346windows_core::imp::define_interface!(
5347 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler,
5348 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Vtbl,
5349 0x3b40aac6_acfe_4ffd_8211_f607b96e2d5b
5350);
5351windows_core::imp::interface_hierarchy!(
5352 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler,
5353 windows_core::IUnknown
5354);
5355impl ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler {
5356 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
5357 unsafe {
5358 (windows_core::Interface::vtable(self).Invoke)(
5359 windows_core::Interface::as_raw(self),
5360 errorcode,
5361 )
5362 .ok()
5363 }
5364 }
5365}
5366#[repr(C)]
5367#[doc(hidden)]
5368pub struct ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Vtbl {
5369 pub base__: windows_core::IUnknown_Vtbl,
5370 pub Invoke: unsafe extern "system" fn(
5371 *mut core::ffi::c_void,
5372 windows_core::HRESULT,
5373 ) -> windows_core::HRESULT,
5374}
5375pub trait ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Impl:
5376 windows_core::IUnknownImpl
5377{
5378 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
5379}
5380impl ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Vtbl {
5381 pub const fn new<
5382 Identity: ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Impl,
5383 const OFFSET: isize,
5384 >() -> Self {
5385 unsafe extern "system" fn Invoke<
5386 Identity: ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Impl,
5387 const OFFSET: isize,
5388 >(
5389 this: *mut core::ffi::c_void,
5390 errorcode: windows_core::HRESULT,
5391 ) -> windows_core::HRESULT {
5392 unsafe {
5393 let this: &Identity =
5394 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5395 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Impl::Invoke(
5396 this,
5397 core::mem::transmute_copy(&errorcode),
5398 )
5399 .into()
5400 }
5401 }
5402 Self {
5403 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5404 Invoke: Invoke::<Identity, OFFSET>,
5405 }
5406 }
5407 pub fn matches(iid: &windows_core::GUID) -> bool {
5408 iid == & < ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler as windows_core::Interface >::IID
5409 }
5410}
5411impl windows_core::RuntimeName for ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler {}
5412windows_core::imp::define_interface!(
5413 ICoreWebView2ClientCertificate,
5414 ICoreWebView2ClientCertificate_Vtbl,
5415 0xe7188076_bcc3_11eb_8529_0242ac130003
5416);
5417windows_core::imp::interface_hierarchy!(ICoreWebView2ClientCertificate, windows_core::IUnknown);
5418impl ICoreWebView2ClientCertificate {
5419 pub unsafe fn Subject(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5420 unsafe {
5421 (windows_core::Interface::vtable(self).Subject)(
5422 windows_core::Interface::as_raw(self),
5423 value as _,
5424 )
5425 .ok()
5426 }
5427 }
5428 pub unsafe fn Issuer(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5429 unsafe {
5430 (windows_core::Interface::vtable(self).Issuer)(
5431 windows_core::Interface::as_raw(self),
5432 value as _,
5433 )
5434 .ok()
5435 }
5436 }
5437 pub unsafe fn ValidFrom(&self, value: *mut f64) -> windows_core::Result<()> {
5438 unsafe {
5439 (windows_core::Interface::vtable(self).ValidFrom)(
5440 windows_core::Interface::as_raw(self),
5441 value as _,
5442 )
5443 .ok()
5444 }
5445 }
5446 pub unsafe fn ValidTo(&self, value: *mut f64) -> windows_core::Result<()> {
5447 unsafe {
5448 (windows_core::Interface::vtable(self).ValidTo)(
5449 windows_core::Interface::as_raw(self),
5450 value as _,
5451 )
5452 .ok()
5453 }
5454 }
5455 pub unsafe fn DerEncodedSerialNumber(
5456 &self,
5457 value: *mut windows_core::PWSTR,
5458 ) -> windows_core::Result<()> {
5459 unsafe {
5460 (windows_core::Interface::vtable(self).DerEncodedSerialNumber)(
5461 windows_core::Interface::as_raw(self),
5462 value as _,
5463 )
5464 .ok()
5465 }
5466 }
5467 pub unsafe fn DisplayName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5468 unsafe {
5469 (windows_core::Interface::vtable(self).DisplayName)(
5470 windows_core::Interface::as_raw(self),
5471 value as _,
5472 )
5473 .ok()
5474 }
5475 }
5476 pub unsafe fn ToPemEncoding(
5477 &self,
5478 pemencodeddata: *mut windows_core::PWSTR,
5479 ) -> windows_core::Result<()> {
5480 unsafe {
5481 (windows_core::Interface::vtable(self).ToPemEncoding)(
5482 windows_core::Interface::as_raw(self),
5483 pemencodeddata as _,
5484 )
5485 .ok()
5486 }
5487 }
5488 pub unsafe fn PemEncodedIssuerCertificateChain(
5489 &self,
5490 ) -> windows_core::Result<ICoreWebView2StringCollection> {
5491 unsafe {
5492 let mut result__ = core::mem::zeroed();
5493 (windows_core::Interface::vtable(self).PemEncodedIssuerCertificateChain)(
5494 windows_core::Interface::as_raw(self),
5495 &mut result__,
5496 )
5497 .and_then(|| windows_core::Type::from_abi(result__))
5498 }
5499 }
5500 pub unsafe fn Kind(
5501 &self,
5502 value: *mut COREWEBVIEW2_CLIENT_CERTIFICATE_KIND,
5503 ) -> windows_core::Result<()> {
5504 unsafe {
5505 (windows_core::Interface::vtable(self).Kind)(
5506 windows_core::Interface::as_raw(self),
5507 value as _,
5508 )
5509 .ok()
5510 }
5511 }
5512}
5513#[repr(C)]
5514#[doc(hidden)]
5515pub struct ICoreWebView2ClientCertificate_Vtbl {
5516 pub base__: windows_core::IUnknown_Vtbl,
5517 pub Subject: unsafe extern "system" fn(
5518 *mut core::ffi::c_void,
5519 *mut windows_core::PWSTR,
5520 ) -> windows_core::HRESULT,
5521 pub Issuer: unsafe extern "system" fn(
5522 *mut core::ffi::c_void,
5523 *mut windows_core::PWSTR,
5524 ) -> windows_core::HRESULT,
5525 pub ValidFrom:
5526 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
5527 pub ValidTo:
5528 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
5529 pub DerEncodedSerialNumber: unsafe extern "system" fn(
5530 *mut core::ffi::c_void,
5531 *mut windows_core::PWSTR,
5532 ) -> windows_core::HRESULT,
5533 pub DisplayName: unsafe extern "system" fn(
5534 *mut core::ffi::c_void,
5535 *mut windows_core::PWSTR,
5536 ) -> windows_core::HRESULT,
5537 pub ToPemEncoding: unsafe extern "system" fn(
5538 *mut core::ffi::c_void,
5539 *mut windows_core::PWSTR,
5540 ) -> windows_core::HRESULT,
5541 pub PemEncodedIssuerCertificateChain: unsafe extern "system" fn(
5542 *mut core::ffi::c_void,
5543 *mut *mut core::ffi::c_void,
5544 ) -> windows_core::HRESULT,
5545 pub Kind: unsafe extern "system" fn(
5546 *mut core::ffi::c_void,
5547 *mut COREWEBVIEW2_CLIENT_CERTIFICATE_KIND,
5548 ) -> windows_core::HRESULT,
5549}
5550pub trait ICoreWebView2ClientCertificate_Impl: windows_core::IUnknownImpl {
5551 fn Subject(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5552 fn Issuer(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5553 fn ValidFrom(&self, value: *mut f64) -> windows_core::Result<()>;
5554 fn ValidTo(&self, value: *mut f64) -> windows_core::Result<()>;
5555 fn DerEncodedSerialNumber(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5556 fn DisplayName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5557 fn ToPemEncoding(&self, pemencodeddata: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5558 fn PemEncodedIssuerCertificateChain(
5559 &self,
5560 ) -> windows_core::Result<ICoreWebView2StringCollection>;
5561 fn Kind(&self, value: *mut COREWEBVIEW2_CLIENT_CERTIFICATE_KIND) -> windows_core::Result<()>;
5562}
5563impl ICoreWebView2ClientCertificate_Vtbl {
5564 pub const fn new<Identity: ICoreWebView2ClientCertificate_Impl, const OFFSET: isize>() -> Self {
5565 unsafe extern "system" fn Subject<
5566 Identity: ICoreWebView2ClientCertificate_Impl,
5567 const OFFSET: isize,
5568 >(
5569 this: *mut core::ffi::c_void,
5570 value: *mut windows_core::PWSTR,
5571 ) -> windows_core::HRESULT {
5572 unsafe {
5573 let this: &Identity =
5574 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5575 ICoreWebView2ClientCertificate_Impl::Subject(
5576 this,
5577 core::mem::transmute_copy(&value),
5578 )
5579 .into()
5580 }
5581 }
5582 unsafe extern "system" fn Issuer<
5583 Identity: ICoreWebView2ClientCertificate_Impl,
5584 const OFFSET: isize,
5585 >(
5586 this: *mut core::ffi::c_void,
5587 value: *mut windows_core::PWSTR,
5588 ) -> windows_core::HRESULT {
5589 unsafe {
5590 let this: &Identity =
5591 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5592 ICoreWebView2ClientCertificate_Impl::Issuer(this, core::mem::transmute_copy(&value))
5593 .into()
5594 }
5595 }
5596 unsafe extern "system" fn ValidFrom<
5597 Identity: ICoreWebView2ClientCertificate_Impl,
5598 const OFFSET: isize,
5599 >(
5600 this: *mut core::ffi::c_void,
5601 value: *mut f64,
5602 ) -> windows_core::HRESULT {
5603 unsafe {
5604 let this: &Identity =
5605 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5606 ICoreWebView2ClientCertificate_Impl::ValidFrom(
5607 this,
5608 core::mem::transmute_copy(&value),
5609 )
5610 .into()
5611 }
5612 }
5613 unsafe extern "system" fn ValidTo<
5614 Identity: ICoreWebView2ClientCertificate_Impl,
5615 const OFFSET: isize,
5616 >(
5617 this: *mut core::ffi::c_void,
5618 value: *mut f64,
5619 ) -> windows_core::HRESULT {
5620 unsafe {
5621 let this: &Identity =
5622 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5623 ICoreWebView2ClientCertificate_Impl::ValidTo(
5624 this,
5625 core::mem::transmute_copy(&value),
5626 )
5627 .into()
5628 }
5629 }
5630 unsafe extern "system" fn DerEncodedSerialNumber<
5631 Identity: ICoreWebView2ClientCertificate_Impl,
5632 const OFFSET: isize,
5633 >(
5634 this: *mut core::ffi::c_void,
5635 value: *mut windows_core::PWSTR,
5636 ) -> windows_core::HRESULT {
5637 unsafe {
5638 let this: &Identity =
5639 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5640 ICoreWebView2ClientCertificate_Impl::DerEncodedSerialNumber(
5641 this,
5642 core::mem::transmute_copy(&value),
5643 )
5644 .into()
5645 }
5646 }
5647 unsafe extern "system" fn DisplayName<
5648 Identity: ICoreWebView2ClientCertificate_Impl,
5649 const OFFSET: isize,
5650 >(
5651 this: *mut core::ffi::c_void,
5652 value: *mut windows_core::PWSTR,
5653 ) -> windows_core::HRESULT {
5654 unsafe {
5655 let this: &Identity =
5656 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5657 ICoreWebView2ClientCertificate_Impl::DisplayName(
5658 this,
5659 core::mem::transmute_copy(&value),
5660 )
5661 .into()
5662 }
5663 }
5664 unsafe extern "system" fn ToPemEncoding<
5665 Identity: ICoreWebView2ClientCertificate_Impl,
5666 const OFFSET: isize,
5667 >(
5668 this: *mut core::ffi::c_void,
5669 pemencodeddata: *mut windows_core::PWSTR,
5670 ) -> windows_core::HRESULT {
5671 unsafe {
5672 let this: &Identity =
5673 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5674 ICoreWebView2ClientCertificate_Impl::ToPemEncoding(
5675 this,
5676 core::mem::transmute_copy(&pemencodeddata),
5677 )
5678 .into()
5679 }
5680 }
5681 unsafe extern "system" fn PemEncodedIssuerCertificateChain<
5682 Identity: ICoreWebView2ClientCertificate_Impl,
5683 const OFFSET: isize,
5684 >(
5685 this: *mut core::ffi::c_void,
5686 value: *mut *mut core::ffi::c_void,
5687 ) -> windows_core::HRESULT {
5688 unsafe {
5689 let this: &Identity =
5690 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5691 match ICoreWebView2ClientCertificate_Impl::PemEncodedIssuerCertificateChain(this) {
5692 Ok(ok__) => {
5693 value.write(core::mem::transmute(ok__));
5694 windows_core::HRESULT(0)
5695 }
5696 Err(err) => err.into(),
5697 }
5698 }
5699 }
5700 unsafe extern "system" fn Kind<
5701 Identity: ICoreWebView2ClientCertificate_Impl,
5702 const OFFSET: isize,
5703 >(
5704 this: *mut core::ffi::c_void,
5705 value: *mut COREWEBVIEW2_CLIENT_CERTIFICATE_KIND,
5706 ) -> windows_core::HRESULT {
5707 unsafe {
5708 let this: &Identity =
5709 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5710 ICoreWebView2ClientCertificate_Impl::Kind(this, core::mem::transmute_copy(&value))
5711 .into()
5712 }
5713 }
5714 Self {
5715 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5716 Subject: Subject::<Identity, OFFSET>,
5717 Issuer: Issuer::<Identity, OFFSET>,
5718 ValidFrom: ValidFrom::<Identity, OFFSET>,
5719 ValidTo: ValidTo::<Identity, OFFSET>,
5720 DerEncodedSerialNumber: DerEncodedSerialNumber::<Identity, OFFSET>,
5721 DisplayName: DisplayName::<Identity, OFFSET>,
5722 ToPemEncoding: ToPemEncoding::<Identity, OFFSET>,
5723 PemEncodedIssuerCertificateChain: PemEncodedIssuerCertificateChain::<Identity, OFFSET>,
5724 Kind: Kind::<Identity, OFFSET>,
5725 }
5726 }
5727 pub fn matches(iid: &windows_core::GUID) -> bool {
5728 iid == &<ICoreWebView2ClientCertificate as windows_core::Interface>::IID
5729 }
5730}
5731impl windows_core::RuntimeName for ICoreWebView2ClientCertificate {}
5732windows_core::imp::define_interface!(
5733 ICoreWebView2ClientCertificateCollection,
5734 ICoreWebView2ClientCertificateCollection_Vtbl,
5735 0xef5674d2_bcc3_11eb_8529_0242ac130003
5736);
5737windows_core::imp::interface_hierarchy!(
5738 ICoreWebView2ClientCertificateCollection,
5739 windows_core::IUnknown
5740);
5741impl ICoreWebView2ClientCertificateCollection {
5742 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
5743 unsafe {
5744 (windows_core::Interface::vtable(self).Count)(
5745 windows_core::Interface::as_raw(self),
5746 value as _,
5747 )
5748 .ok()
5749 }
5750 }
5751 pub unsafe fn GetValueAtIndex(
5752 &self,
5753 index: u32,
5754 ) -> windows_core::Result<ICoreWebView2ClientCertificate> {
5755 unsafe {
5756 let mut result__ = core::mem::zeroed();
5757 (windows_core::Interface::vtable(self).GetValueAtIndex)(
5758 windows_core::Interface::as_raw(self),
5759 index,
5760 &mut result__,
5761 )
5762 .and_then(|| windows_core::Type::from_abi(result__))
5763 }
5764 }
5765}
5766#[repr(C)]
5767#[doc(hidden)]
5768pub struct ICoreWebView2ClientCertificateCollection_Vtbl {
5769 pub base__: windows_core::IUnknown_Vtbl,
5770 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
5771 pub GetValueAtIndex: unsafe extern "system" fn(
5772 *mut core::ffi::c_void,
5773 u32,
5774 *mut *mut core::ffi::c_void,
5775 ) -> windows_core::HRESULT,
5776}
5777pub trait ICoreWebView2ClientCertificateCollection_Impl: windows_core::IUnknownImpl {
5778 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
5779 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2ClientCertificate>;
5780}
5781impl ICoreWebView2ClientCertificateCollection_Vtbl {
5782 pub const fn new<
5783 Identity: ICoreWebView2ClientCertificateCollection_Impl,
5784 const OFFSET: isize,
5785 >() -> Self {
5786 unsafe extern "system" fn Count<
5787 Identity: ICoreWebView2ClientCertificateCollection_Impl,
5788 const OFFSET: isize,
5789 >(
5790 this: *mut core::ffi::c_void,
5791 value: *mut u32,
5792 ) -> windows_core::HRESULT {
5793 unsafe {
5794 let this: &Identity =
5795 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5796 ICoreWebView2ClientCertificateCollection_Impl::Count(
5797 this,
5798 core::mem::transmute_copy(&value),
5799 )
5800 .into()
5801 }
5802 }
5803 unsafe extern "system" fn GetValueAtIndex<
5804 Identity: ICoreWebView2ClientCertificateCollection_Impl,
5805 const OFFSET: isize,
5806 >(
5807 this: *mut core::ffi::c_void,
5808 index: u32,
5809 value: *mut *mut core::ffi::c_void,
5810 ) -> windows_core::HRESULT {
5811 unsafe {
5812 let this: &Identity =
5813 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5814 match ICoreWebView2ClientCertificateCollection_Impl::GetValueAtIndex(
5815 this,
5816 core::mem::transmute_copy(&index),
5817 ) {
5818 Ok(ok__) => {
5819 value.write(core::mem::transmute(ok__));
5820 windows_core::HRESULT(0)
5821 }
5822 Err(err) => err.into(),
5823 }
5824 }
5825 }
5826 Self {
5827 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5828 Count: Count::<Identity, OFFSET>,
5829 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
5830 }
5831 }
5832 pub fn matches(iid: &windows_core::GUID) -> bool {
5833 iid == &<ICoreWebView2ClientCertificateCollection as windows_core::Interface>::IID
5834 }
5835}
5836impl windows_core::RuntimeName for ICoreWebView2ClientCertificateCollection {}
5837windows_core::imp::define_interface!(
5838 ICoreWebView2ClientCertificateRequestedEventArgs,
5839 ICoreWebView2ClientCertificateRequestedEventArgs_Vtbl,
5840 0xbc59db28_bcc3_11eb_8529_0242ac130003
5841);
5842windows_core::imp::interface_hierarchy!(
5843 ICoreWebView2ClientCertificateRequestedEventArgs,
5844 windows_core::IUnknown
5845);
5846impl ICoreWebView2ClientCertificateRequestedEventArgs {
5847 pub unsafe fn Host(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5848 unsafe {
5849 (windows_core::Interface::vtable(self).Host)(
5850 windows_core::Interface::as_raw(self),
5851 value as _,
5852 )
5853 .ok()
5854 }
5855 }
5856 pub unsafe fn Port(&self, value: *mut i32) -> windows_core::Result<()> {
5857 unsafe {
5858 (windows_core::Interface::vtable(self).Port)(
5859 windows_core::Interface::as_raw(self),
5860 value as _,
5861 )
5862 .ok()
5863 }
5864 }
5865 pub unsafe fn IsProxy(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
5866 unsafe {
5867 (windows_core::Interface::vtable(self).IsProxy)(
5868 windows_core::Interface::as_raw(self),
5869 value as _,
5870 )
5871 .ok()
5872 }
5873 }
5874 pub unsafe fn AllowedCertificateAuthorities(
5875 &self,
5876 ) -> windows_core::Result<ICoreWebView2StringCollection> {
5877 unsafe {
5878 let mut result__ = core::mem::zeroed();
5879 (windows_core::Interface::vtable(self).AllowedCertificateAuthorities)(
5880 windows_core::Interface::as_raw(self),
5881 &mut result__,
5882 )
5883 .and_then(|| windows_core::Type::from_abi(result__))
5884 }
5885 }
5886 pub unsafe fn MutuallyTrustedCertificates(
5887 &self,
5888 ) -> windows_core::Result<ICoreWebView2ClientCertificateCollection> {
5889 unsafe {
5890 let mut result__ = core::mem::zeroed();
5891 (windows_core::Interface::vtable(self).MutuallyTrustedCertificates)(
5892 windows_core::Interface::as_raw(self),
5893 &mut result__,
5894 )
5895 .and_then(|| windows_core::Type::from_abi(result__))
5896 }
5897 }
5898 pub unsafe fn SelectedCertificate(
5899 &self,
5900 ) -> windows_core::Result<ICoreWebView2ClientCertificate> {
5901 unsafe {
5902 let mut result__ = core::mem::zeroed();
5903 (windows_core::Interface::vtable(self).SelectedCertificate)(
5904 windows_core::Interface::as_raw(self),
5905 &mut result__,
5906 )
5907 .and_then(|| windows_core::Type::from_abi(result__))
5908 }
5909 }
5910 pub unsafe fn SetSelectedCertificate<P0>(&self, value: P0) -> windows_core::Result<()>
5911 where
5912 P0: windows_core::Param<ICoreWebView2ClientCertificate>,
5913 {
5914 unsafe {
5915 (windows_core::Interface::vtable(self).SetSelectedCertificate)(
5916 windows_core::Interface::as_raw(self),
5917 value.param().abi(),
5918 )
5919 .ok()
5920 }
5921 }
5922 pub unsafe fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
5923 unsafe {
5924 (windows_core::Interface::vtable(self).Cancel)(
5925 windows_core::Interface::as_raw(self),
5926 value as _,
5927 )
5928 .ok()
5929 }
5930 }
5931 pub unsafe fn SetCancel(&self, value: bool) -> windows_core::Result<()> {
5932 unsafe {
5933 (windows_core::Interface::vtable(self).SetCancel)(
5934 windows_core::Interface::as_raw(self),
5935 value.into(),
5936 )
5937 .ok()
5938 }
5939 }
5940 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
5941 unsafe {
5942 (windows_core::Interface::vtable(self).Handled)(
5943 windows_core::Interface::as_raw(self),
5944 value as _,
5945 )
5946 .ok()
5947 }
5948 }
5949 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
5950 unsafe {
5951 (windows_core::Interface::vtable(self).SetHandled)(
5952 windows_core::Interface::as_raw(self),
5953 value.into(),
5954 )
5955 .ok()
5956 }
5957 }
5958 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
5959 unsafe {
5960 let mut result__ = core::mem::zeroed();
5961 (windows_core::Interface::vtable(self).GetDeferral)(
5962 windows_core::Interface::as_raw(self),
5963 &mut result__,
5964 )
5965 .and_then(|| windows_core::Type::from_abi(result__))
5966 }
5967 }
5968}
5969#[repr(C)]
5970#[doc(hidden)]
5971pub struct ICoreWebView2ClientCertificateRequestedEventArgs_Vtbl {
5972 pub base__: windows_core::IUnknown_Vtbl,
5973 pub Host: unsafe extern "system" fn(
5974 *mut core::ffi::c_void,
5975 *mut windows_core::PWSTR,
5976 ) -> windows_core::HRESULT,
5977 pub Port: unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
5978 pub IsProxy: unsafe extern "system" fn(
5979 *mut core::ffi::c_void,
5980 *mut windows_core::BOOL,
5981 ) -> windows_core::HRESULT,
5982 pub AllowedCertificateAuthorities: unsafe extern "system" fn(
5983 *mut core::ffi::c_void,
5984 *mut *mut core::ffi::c_void,
5985 ) -> windows_core::HRESULT,
5986 pub MutuallyTrustedCertificates: unsafe extern "system" fn(
5987 *mut core::ffi::c_void,
5988 *mut *mut core::ffi::c_void,
5989 ) -> windows_core::HRESULT,
5990 pub SelectedCertificate: unsafe extern "system" fn(
5991 *mut core::ffi::c_void,
5992 *mut *mut core::ffi::c_void,
5993 ) -> windows_core::HRESULT,
5994 pub SetSelectedCertificate: unsafe extern "system" fn(
5995 *mut core::ffi::c_void,
5996 *mut core::ffi::c_void,
5997 ) -> windows_core::HRESULT,
5998 pub Cancel: unsafe extern "system" fn(
5999 *mut core::ffi::c_void,
6000 *mut windows_core::BOOL,
6001 ) -> windows_core::HRESULT,
6002 pub SetCancel: unsafe extern "system" fn(
6003 *mut core::ffi::c_void,
6004 windows_core::BOOL,
6005 ) -> windows_core::HRESULT,
6006 pub Handled: unsafe extern "system" fn(
6007 *mut core::ffi::c_void,
6008 *mut windows_core::BOOL,
6009 ) -> windows_core::HRESULT,
6010 pub SetHandled: unsafe extern "system" fn(
6011 *mut core::ffi::c_void,
6012 windows_core::BOOL,
6013 ) -> windows_core::HRESULT,
6014 pub GetDeferral: unsafe extern "system" fn(
6015 *mut core::ffi::c_void,
6016 *mut *mut core::ffi::c_void,
6017 ) -> windows_core::HRESULT,
6018}
6019pub trait ICoreWebView2ClientCertificateRequestedEventArgs_Impl:
6020 windows_core::IUnknownImpl
6021{
6022 fn Host(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
6023 fn Port(&self, value: *mut i32) -> windows_core::Result<()>;
6024 fn IsProxy(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
6025 fn AllowedCertificateAuthorities(&self) -> windows_core::Result<ICoreWebView2StringCollection>;
6026 fn MutuallyTrustedCertificates(
6027 &self,
6028 ) -> windows_core::Result<ICoreWebView2ClientCertificateCollection>;
6029 fn SelectedCertificate(&self) -> windows_core::Result<ICoreWebView2ClientCertificate>;
6030 fn SetSelectedCertificate(
6031 &self,
6032 value: windows_core::Ref<ICoreWebView2ClientCertificate>,
6033 ) -> windows_core::Result<()>;
6034 fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
6035 fn SetCancel(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
6036 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
6037 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
6038 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
6039}
6040impl ICoreWebView2ClientCertificateRequestedEventArgs_Vtbl {
6041 pub const fn new<
6042 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6043 const OFFSET: isize,
6044 >() -> Self {
6045 unsafe extern "system" fn Host<
6046 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6047 const OFFSET: isize,
6048 >(
6049 this: *mut core::ffi::c_void,
6050 value: *mut windows_core::PWSTR,
6051 ) -> windows_core::HRESULT {
6052 unsafe {
6053 let this: &Identity =
6054 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6055 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::Host(
6056 this,
6057 core::mem::transmute_copy(&value),
6058 )
6059 .into()
6060 }
6061 }
6062 unsafe extern "system" fn Port<
6063 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6064 const OFFSET: isize,
6065 >(
6066 this: *mut core::ffi::c_void,
6067 value: *mut i32,
6068 ) -> windows_core::HRESULT {
6069 unsafe {
6070 let this: &Identity =
6071 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6072 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::Port(
6073 this,
6074 core::mem::transmute_copy(&value),
6075 )
6076 .into()
6077 }
6078 }
6079 unsafe extern "system" fn IsProxy<
6080 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6081 const OFFSET: isize,
6082 >(
6083 this: *mut core::ffi::c_void,
6084 value: *mut windows_core::BOOL,
6085 ) -> windows_core::HRESULT {
6086 unsafe {
6087 let this: &Identity =
6088 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6089 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::IsProxy(
6090 this,
6091 core::mem::transmute_copy(&value),
6092 )
6093 .into()
6094 }
6095 }
6096 unsafe extern "system" fn AllowedCertificateAuthorities<
6097 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6098 const OFFSET: isize,
6099 >(
6100 this: *mut core::ffi::c_void,
6101 value: *mut *mut core::ffi::c_void,
6102 ) -> windows_core::HRESULT {
6103 unsafe {
6104 let this: &Identity =
6105 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6106 match ICoreWebView2ClientCertificateRequestedEventArgs_Impl:: AllowedCertificateAuthorities ( this , ) { Ok ( ok__ ) => { value . write ( core::mem::transmute ( ok__ ) ) ; windows_core::HRESULT ( 0 ) } Err ( err ) => err . into ( ) }
6107 }
6108 }
6109 unsafe extern "system" fn MutuallyTrustedCertificates<
6110 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6111 const OFFSET: isize,
6112 >(
6113 this: *mut core::ffi::c_void,
6114 value: *mut *mut core::ffi::c_void,
6115 ) -> windows_core::HRESULT {
6116 unsafe {
6117 let this: &Identity =
6118 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6119 match ICoreWebView2ClientCertificateRequestedEventArgs_Impl:: MutuallyTrustedCertificates ( this , ) { Ok ( ok__ ) => { value . write ( core::mem::transmute ( ok__ ) ) ; windows_core::HRESULT ( 0 ) } Err ( err ) => err . into ( ) }
6120 }
6121 }
6122 unsafe extern "system" fn SelectedCertificate<
6123 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6124 const OFFSET: isize,
6125 >(
6126 this: *mut core::ffi::c_void,
6127 value: *mut *mut core::ffi::c_void,
6128 ) -> windows_core::HRESULT {
6129 unsafe {
6130 let this: &Identity =
6131 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6132 match ICoreWebView2ClientCertificateRequestedEventArgs_Impl::SelectedCertificate(
6133 this,
6134 ) {
6135 Ok(ok__) => {
6136 value.write(core::mem::transmute(ok__));
6137 windows_core::HRESULT(0)
6138 }
6139 Err(err) => err.into(),
6140 }
6141 }
6142 }
6143 unsafe extern "system" fn SetSelectedCertificate<
6144 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6145 const OFFSET: isize,
6146 >(
6147 this: *mut core::ffi::c_void,
6148 value: *mut core::ffi::c_void,
6149 ) -> windows_core::HRESULT {
6150 unsafe {
6151 let this: &Identity =
6152 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6153 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::SetSelectedCertificate(
6154 this,
6155 core::mem::transmute_copy(&value),
6156 )
6157 .into()
6158 }
6159 }
6160 unsafe extern "system" fn Cancel<
6161 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6162 const OFFSET: isize,
6163 >(
6164 this: *mut core::ffi::c_void,
6165 value: *mut windows_core::BOOL,
6166 ) -> windows_core::HRESULT {
6167 unsafe {
6168 let this: &Identity =
6169 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6170 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::Cancel(
6171 this,
6172 core::mem::transmute_copy(&value),
6173 )
6174 .into()
6175 }
6176 }
6177 unsafe extern "system" fn SetCancel<
6178 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6179 const OFFSET: isize,
6180 >(
6181 this: *mut core::ffi::c_void,
6182 value: windows_core::BOOL,
6183 ) -> windows_core::HRESULT {
6184 unsafe {
6185 let this: &Identity =
6186 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6187 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::SetCancel(
6188 this,
6189 core::mem::transmute_copy(&value),
6190 )
6191 .into()
6192 }
6193 }
6194 unsafe extern "system" fn Handled<
6195 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6196 const OFFSET: isize,
6197 >(
6198 this: *mut core::ffi::c_void,
6199 value: *mut windows_core::BOOL,
6200 ) -> windows_core::HRESULT {
6201 unsafe {
6202 let this: &Identity =
6203 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6204 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::Handled(
6205 this,
6206 core::mem::transmute_copy(&value),
6207 )
6208 .into()
6209 }
6210 }
6211 unsafe extern "system" fn SetHandled<
6212 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6213 const OFFSET: isize,
6214 >(
6215 this: *mut core::ffi::c_void,
6216 value: windows_core::BOOL,
6217 ) -> windows_core::HRESULT {
6218 unsafe {
6219 let this: &Identity =
6220 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6221 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::SetHandled(
6222 this,
6223 core::mem::transmute_copy(&value),
6224 )
6225 .into()
6226 }
6227 }
6228 unsafe extern "system" fn GetDeferral<
6229 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6230 const OFFSET: isize,
6231 >(
6232 this: *mut core::ffi::c_void,
6233 deferral: *mut *mut core::ffi::c_void,
6234 ) -> windows_core::HRESULT {
6235 unsafe {
6236 let this: &Identity =
6237 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6238 match ICoreWebView2ClientCertificateRequestedEventArgs_Impl::GetDeferral(this) {
6239 Ok(ok__) => {
6240 deferral.write(core::mem::transmute(ok__));
6241 windows_core::HRESULT(0)
6242 }
6243 Err(err) => err.into(),
6244 }
6245 }
6246 }
6247 Self {
6248 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6249 Host: Host::<Identity, OFFSET>,
6250 Port: Port::<Identity, OFFSET>,
6251 IsProxy: IsProxy::<Identity, OFFSET>,
6252 AllowedCertificateAuthorities: AllowedCertificateAuthorities::<Identity, OFFSET>,
6253 MutuallyTrustedCertificates: MutuallyTrustedCertificates::<Identity, OFFSET>,
6254 SelectedCertificate: SelectedCertificate::<Identity, OFFSET>,
6255 SetSelectedCertificate: SetSelectedCertificate::<Identity, OFFSET>,
6256 Cancel: Cancel::<Identity, OFFSET>,
6257 SetCancel: SetCancel::<Identity, OFFSET>,
6258 Handled: Handled::<Identity, OFFSET>,
6259 SetHandled: SetHandled::<Identity, OFFSET>,
6260 GetDeferral: GetDeferral::<Identity, OFFSET>,
6261 }
6262 }
6263 pub fn matches(iid: &windows_core::GUID) -> bool {
6264 iid == &<ICoreWebView2ClientCertificateRequestedEventArgs as windows_core::Interface>::IID
6265 }
6266}
6267impl windows_core::RuntimeName for ICoreWebView2ClientCertificateRequestedEventArgs {}
6268windows_core::imp::define_interface!(
6269 ICoreWebView2ClientCertificateRequestedEventHandler,
6270 ICoreWebView2ClientCertificateRequestedEventHandler_Vtbl,
6271 0xd7175ba2_bcc3_11eb_8529_0242ac130003
6272);
6273windows_core::imp::interface_hierarchy!(
6274 ICoreWebView2ClientCertificateRequestedEventHandler,
6275 windows_core::IUnknown
6276);
6277impl ICoreWebView2ClientCertificateRequestedEventHandler {
6278 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
6279 where
6280 P0: windows_core::Param<ICoreWebView2>,
6281 P1: windows_core::Param<ICoreWebView2ClientCertificateRequestedEventArgs>,
6282 {
6283 unsafe {
6284 (windows_core::Interface::vtable(self).Invoke)(
6285 windows_core::Interface::as_raw(self),
6286 sender.param().abi(),
6287 args.param().abi(),
6288 )
6289 .ok()
6290 }
6291 }
6292}
6293#[repr(C)]
6294#[doc(hidden)]
6295pub struct ICoreWebView2ClientCertificateRequestedEventHandler_Vtbl {
6296 pub base__: windows_core::IUnknown_Vtbl,
6297 pub Invoke: unsafe extern "system" fn(
6298 *mut core::ffi::c_void,
6299 *mut core::ffi::c_void,
6300 *mut core::ffi::c_void,
6301 ) -> windows_core::HRESULT,
6302}
6303pub trait ICoreWebView2ClientCertificateRequestedEventHandler_Impl:
6304 windows_core::IUnknownImpl
6305{
6306 fn Invoke(
6307 &self,
6308 sender: windows_core::Ref<ICoreWebView2>,
6309 args: windows_core::Ref<ICoreWebView2ClientCertificateRequestedEventArgs>,
6310 ) -> windows_core::Result<()>;
6311}
6312impl ICoreWebView2ClientCertificateRequestedEventHandler_Vtbl {
6313 pub const fn new<
6314 Identity: ICoreWebView2ClientCertificateRequestedEventHandler_Impl,
6315 const OFFSET: isize,
6316 >() -> Self {
6317 unsafe extern "system" fn Invoke<
6318 Identity: ICoreWebView2ClientCertificateRequestedEventHandler_Impl,
6319 const OFFSET: isize,
6320 >(
6321 this: *mut core::ffi::c_void,
6322 sender: *mut core::ffi::c_void,
6323 args: *mut core::ffi::c_void,
6324 ) -> windows_core::HRESULT {
6325 unsafe {
6326 let this: &Identity =
6327 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6328 ICoreWebView2ClientCertificateRequestedEventHandler_Impl::Invoke(
6329 this,
6330 core::mem::transmute_copy(&sender),
6331 core::mem::transmute_copy(&args),
6332 )
6333 .into()
6334 }
6335 }
6336 Self {
6337 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6338 Invoke: Invoke::<Identity, OFFSET>,
6339 }
6340 }
6341 pub fn matches(iid: &windows_core::GUID) -> bool {
6342 iid == & < ICoreWebView2ClientCertificateRequestedEventHandler as windows_core::Interface >::IID
6343 }
6344}
6345impl windows_core::RuntimeName for ICoreWebView2ClientCertificateRequestedEventHandler {}
6346windows_core::imp::define_interface!(
6347 ICoreWebView2CompositionController,
6348 ICoreWebView2CompositionController_Vtbl,
6349 0x3df9b733_b9ae_4a15_86b4_eb9ee9826469
6350);
6351windows_core::imp::interface_hierarchy!(ICoreWebView2CompositionController, windows_core::IUnknown);
6352impl ICoreWebView2CompositionController {
6353 pub unsafe fn RootVisualTarget(&self) -> windows_core::Result<windows_core::IUnknown> {
6354 unsafe {
6355 let mut result__ = core::mem::zeroed();
6356 (windows_core::Interface::vtable(self).RootVisualTarget)(
6357 windows_core::Interface::as_raw(self),
6358 &mut result__,
6359 )
6360 .and_then(|| windows_core::Type::from_abi(result__))
6361 }
6362 }
6363 pub unsafe fn SetRootVisualTarget<P0>(&self, target: P0) -> windows_core::Result<()>
6364 where
6365 P0: windows_core::Param<windows_core::IUnknown>,
6366 {
6367 unsafe {
6368 (windows_core::Interface::vtable(self).SetRootVisualTarget)(
6369 windows_core::Interface::as_raw(self),
6370 target.param().abi(),
6371 )
6372 .ok()
6373 }
6374 }
6375 pub unsafe fn SendMouseInput(
6376 &self,
6377 eventkind: COREWEBVIEW2_MOUSE_EVENT_KIND,
6378 virtualkeys: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
6379 mousedata: u32,
6380 point: windows::Win32::Foundation::POINT,
6381 ) -> windows_core::Result<()> {
6382 unsafe {
6383 (windows_core::Interface::vtable(self).SendMouseInput)(
6384 windows_core::Interface::as_raw(self),
6385 eventkind,
6386 virtualkeys,
6387 mousedata,
6388 core::mem::transmute(point),
6389 )
6390 .ok()
6391 }
6392 }
6393 pub unsafe fn SendPointerInput<P1>(
6394 &self,
6395 eventkind: COREWEBVIEW2_POINTER_EVENT_KIND,
6396 pointerinfo: P1,
6397 ) -> windows_core::Result<()>
6398 where
6399 P1: windows_core::Param<ICoreWebView2PointerInfo>,
6400 {
6401 unsafe {
6402 (windows_core::Interface::vtable(self).SendPointerInput)(
6403 windows_core::Interface::as_raw(self),
6404 eventkind,
6405 pointerinfo.param().abi(),
6406 )
6407 .ok()
6408 }
6409 }
6410 pub unsafe fn Cursor(
6411 &self,
6412 cursor: *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
6413 ) -> windows_core::Result<()> {
6414 unsafe {
6415 (windows_core::Interface::vtable(self).Cursor)(
6416 windows_core::Interface::as_raw(self),
6417 cursor as _,
6418 )
6419 .ok()
6420 }
6421 }
6422 pub unsafe fn SystemCursorId(&self, systemcursorid: *mut u32) -> windows_core::Result<()> {
6423 unsafe {
6424 (windows_core::Interface::vtable(self).SystemCursorId)(
6425 windows_core::Interface::as_raw(self),
6426 systemcursorid as _,
6427 )
6428 .ok()
6429 }
6430 }
6431 pub unsafe fn add_CursorChanged<P0>(
6432 &self,
6433 eventhandler: P0,
6434 token: *mut i64,
6435 ) -> windows_core::Result<()>
6436 where
6437 P0: windows_core::Param<ICoreWebView2CursorChangedEventHandler>,
6438 {
6439 unsafe {
6440 (windows_core::Interface::vtable(self).add_CursorChanged)(
6441 windows_core::Interface::as_raw(self),
6442 eventhandler.param().abi(),
6443 token as _,
6444 )
6445 .ok()
6446 }
6447 }
6448 pub unsafe fn remove_CursorChanged(&self, token: i64) -> windows_core::Result<()> {
6449 unsafe {
6450 (windows_core::Interface::vtable(self).remove_CursorChanged)(
6451 windows_core::Interface::as_raw(self),
6452 token,
6453 )
6454 .ok()
6455 }
6456 }
6457}
6458#[repr(C)]
6459#[doc(hidden)]
6460pub struct ICoreWebView2CompositionController_Vtbl {
6461 pub base__: windows_core::IUnknown_Vtbl,
6462 pub RootVisualTarget: unsafe extern "system" fn(
6463 *mut core::ffi::c_void,
6464 *mut *mut core::ffi::c_void,
6465 ) -> windows_core::HRESULT,
6466 pub SetRootVisualTarget: unsafe extern "system" fn(
6467 *mut core::ffi::c_void,
6468 *mut core::ffi::c_void,
6469 ) -> windows_core::HRESULT,
6470 pub SendMouseInput: unsafe extern "system" fn(
6471 *mut core::ffi::c_void,
6472 COREWEBVIEW2_MOUSE_EVENT_KIND,
6473 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
6474 u32,
6475 windows::Win32::Foundation::POINT,
6476 ) -> windows_core::HRESULT,
6477 pub SendPointerInput: unsafe extern "system" fn(
6478 *mut core::ffi::c_void,
6479 COREWEBVIEW2_POINTER_EVENT_KIND,
6480 *mut core::ffi::c_void,
6481 ) -> windows_core::HRESULT,
6482 pub Cursor: unsafe extern "system" fn(
6483 *mut core::ffi::c_void,
6484 *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
6485 ) -> windows_core::HRESULT,
6486 pub SystemCursorId:
6487 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
6488 pub add_CursorChanged: unsafe extern "system" fn(
6489 *mut core::ffi::c_void,
6490 *mut core::ffi::c_void,
6491 *mut i64,
6492 ) -> windows_core::HRESULT,
6493 pub remove_CursorChanged:
6494 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
6495}
6496pub trait ICoreWebView2CompositionController_Impl: windows_core::IUnknownImpl {
6497 fn RootVisualTarget(&self) -> windows_core::Result<windows_core::IUnknown>;
6498 fn SetRootVisualTarget(
6499 &self,
6500 target: windows_core::Ref<windows_core::IUnknown>,
6501 ) -> windows_core::Result<()>;
6502 fn SendMouseInput(
6503 &self,
6504 eventkind: COREWEBVIEW2_MOUSE_EVENT_KIND,
6505 virtualkeys: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
6506 mousedata: u32,
6507 point: &windows::Win32::Foundation::POINT,
6508 ) -> windows_core::Result<()>;
6509 fn SendPointerInput(
6510 &self,
6511 eventkind: COREWEBVIEW2_POINTER_EVENT_KIND,
6512 pointerinfo: windows_core::Ref<ICoreWebView2PointerInfo>,
6513 ) -> windows_core::Result<()>;
6514 fn Cursor(
6515 &self,
6516 cursor: *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
6517 ) -> windows_core::Result<()>;
6518 fn SystemCursorId(&self, systemcursorid: *mut u32) -> windows_core::Result<()>;
6519 fn add_CursorChanged(
6520 &self,
6521 eventhandler: windows_core::Ref<ICoreWebView2CursorChangedEventHandler>,
6522 token: *mut i64,
6523 ) -> windows_core::Result<()>;
6524 fn remove_CursorChanged(&self, token: i64) -> windows_core::Result<()>;
6525}
6526impl ICoreWebView2CompositionController_Vtbl {
6527 pub const fn new<Identity: ICoreWebView2CompositionController_Impl, const OFFSET: isize>(
6528 ) -> Self {
6529 unsafe extern "system" fn RootVisualTarget<
6530 Identity: ICoreWebView2CompositionController_Impl,
6531 const OFFSET: isize,
6532 >(
6533 this: *mut core::ffi::c_void,
6534 target: *mut *mut core::ffi::c_void,
6535 ) -> windows_core::HRESULT {
6536 unsafe {
6537 let this: &Identity =
6538 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6539 match ICoreWebView2CompositionController_Impl::RootVisualTarget(this) {
6540 Ok(ok__) => {
6541 target.write(core::mem::transmute(ok__));
6542 windows_core::HRESULT(0)
6543 }
6544 Err(err) => err.into(),
6545 }
6546 }
6547 }
6548 unsafe extern "system" fn SetRootVisualTarget<
6549 Identity: ICoreWebView2CompositionController_Impl,
6550 const OFFSET: isize,
6551 >(
6552 this: *mut core::ffi::c_void,
6553 target: *mut core::ffi::c_void,
6554 ) -> windows_core::HRESULT {
6555 unsafe {
6556 let this: &Identity =
6557 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6558 ICoreWebView2CompositionController_Impl::SetRootVisualTarget(
6559 this,
6560 core::mem::transmute_copy(&target),
6561 )
6562 .into()
6563 }
6564 }
6565 unsafe extern "system" fn SendMouseInput<
6566 Identity: ICoreWebView2CompositionController_Impl,
6567 const OFFSET: isize,
6568 >(
6569 this: *mut core::ffi::c_void,
6570 eventkind: COREWEBVIEW2_MOUSE_EVENT_KIND,
6571 virtualkeys: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
6572 mousedata: u32,
6573 point: windows::Win32::Foundation::POINT,
6574 ) -> windows_core::HRESULT {
6575 unsafe {
6576 let this: &Identity =
6577 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6578 ICoreWebView2CompositionController_Impl::SendMouseInput(
6579 this,
6580 core::mem::transmute_copy(&eventkind),
6581 core::mem::transmute_copy(&virtualkeys),
6582 core::mem::transmute_copy(&mousedata),
6583 core::mem::transmute(&point),
6584 )
6585 .into()
6586 }
6587 }
6588 unsafe extern "system" fn SendPointerInput<
6589 Identity: ICoreWebView2CompositionController_Impl,
6590 const OFFSET: isize,
6591 >(
6592 this: *mut core::ffi::c_void,
6593 eventkind: COREWEBVIEW2_POINTER_EVENT_KIND,
6594 pointerinfo: *mut core::ffi::c_void,
6595 ) -> windows_core::HRESULT {
6596 unsafe {
6597 let this: &Identity =
6598 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6599 ICoreWebView2CompositionController_Impl::SendPointerInput(
6600 this,
6601 core::mem::transmute_copy(&eventkind),
6602 core::mem::transmute_copy(&pointerinfo),
6603 )
6604 .into()
6605 }
6606 }
6607 unsafe extern "system" fn Cursor<
6608 Identity: ICoreWebView2CompositionController_Impl,
6609 const OFFSET: isize,
6610 >(
6611 this: *mut core::ffi::c_void,
6612 cursor: *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
6613 ) -> windows_core::HRESULT {
6614 unsafe {
6615 let this: &Identity =
6616 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6617 ICoreWebView2CompositionController_Impl::Cursor(
6618 this,
6619 core::mem::transmute_copy(&cursor),
6620 )
6621 .into()
6622 }
6623 }
6624 unsafe extern "system" fn SystemCursorId<
6625 Identity: ICoreWebView2CompositionController_Impl,
6626 const OFFSET: isize,
6627 >(
6628 this: *mut core::ffi::c_void,
6629 systemcursorid: *mut u32,
6630 ) -> windows_core::HRESULT {
6631 unsafe {
6632 let this: &Identity =
6633 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6634 ICoreWebView2CompositionController_Impl::SystemCursorId(
6635 this,
6636 core::mem::transmute_copy(&systemcursorid),
6637 )
6638 .into()
6639 }
6640 }
6641 unsafe extern "system" fn add_CursorChanged<
6642 Identity: ICoreWebView2CompositionController_Impl,
6643 const OFFSET: isize,
6644 >(
6645 this: *mut core::ffi::c_void,
6646 eventhandler: *mut core::ffi::c_void,
6647 token: *mut i64,
6648 ) -> windows_core::HRESULT {
6649 unsafe {
6650 let this: &Identity =
6651 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6652 ICoreWebView2CompositionController_Impl::add_CursorChanged(
6653 this,
6654 core::mem::transmute_copy(&eventhandler),
6655 core::mem::transmute_copy(&token),
6656 )
6657 .into()
6658 }
6659 }
6660 unsafe extern "system" fn remove_CursorChanged<
6661 Identity: ICoreWebView2CompositionController_Impl,
6662 const OFFSET: isize,
6663 >(
6664 this: *mut core::ffi::c_void,
6665 token: i64,
6666 ) -> windows_core::HRESULT {
6667 unsafe {
6668 let this: &Identity =
6669 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6670 ICoreWebView2CompositionController_Impl::remove_CursorChanged(
6671 this,
6672 core::mem::transmute_copy(&token),
6673 )
6674 .into()
6675 }
6676 }
6677 Self {
6678 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6679 RootVisualTarget: RootVisualTarget::<Identity, OFFSET>,
6680 SetRootVisualTarget: SetRootVisualTarget::<Identity, OFFSET>,
6681 SendMouseInput: SendMouseInput::<Identity, OFFSET>,
6682 SendPointerInput: SendPointerInput::<Identity, OFFSET>,
6683 Cursor: Cursor::<Identity, OFFSET>,
6684 SystemCursorId: SystemCursorId::<Identity, OFFSET>,
6685 add_CursorChanged: add_CursorChanged::<Identity, OFFSET>,
6686 remove_CursorChanged: remove_CursorChanged::<Identity, OFFSET>,
6687 }
6688 }
6689 pub fn matches(iid: &windows_core::GUID) -> bool {
6690 iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
6691 }
6692}
6693impl windows_core::RuntimeName for ICoreWebView2CompositionController {}
6694windows_core::imp::define_interface!(
6695 ICoreWebView2CompositionController2,
6696 ICoreWebView2CompositionController2_Vtbl,
6697 0x0b6a3d24_49cb_4806_ba20_b5e0734a7b26
6698);
6699impl core::ops::Deref for ICoreWebView2CompositionController2 {
6700 type Target = ICoreWebView2CompositionController;
6701 fn deref(&self) -> &Self::Target {
6702 unsafe { core::mem::transmute(self) }
6703 }
6704}
6705windows_core::imp::interface_hierarchy!(
6706 ICoreWebView2CompositionController2,
6707 windows_core::IUnknown,
6708 ICoreWebView2CompositionController
6709);
6710impl ICoreWebView2CompositionController2 {
6711 pub unsafe fn AutomationProvider(&self) -> windows_core::Result<windows_core::IUnknown> {
6712 unsafe {
6713 let mut result__ = core::mem::zeroed();
6714 (windows_core::Interface::vtable(self).AutomationProvider)(
6715 windows_core::Interface::as_raw(self),
6716 &mut result__,
6717 )
6718 .and_then(|| windows_core::Type::from_abi(result__))
6719 }
6720 }
6721}
6722#[repr(C)]
6723#[doc(hidden)]
6724pub struct ICoreWebView2CompositionController2_Vtbl {
6725 pub base__: ICoreWebView2CompositionController_Vtbl,
6726 pub AutomationProvider: unsafe extern "system" fn(
6727 *mut core::ffi::c_void,
6728 *mut *mut core::ffi::c_void,
6729 ) -> windows_core::HRESULT,
6730}
6731pub trait ICoreWebView2CompositionController2_Impl:
6732 ICoreWebView2CompositionController_Impl
6733{
6734 fn AutomationProvider(&self) -> windows_core::Result<windows_core::IUnknown>;
6735}
6736impl ICoreWebView2CompositionController2_Vtbl {
6737 pub const fn new<Identity: ICoreWebView2CompositionController2_Impl, const OFFSET: isize>(
6738 ) -> Self {
6739 unsafe extern "system" fn AutomationProvider<
6740 Identity: ICoreWebView2CompositionController2_Impl,
6741 const OFFSET: isize,
6742 >(
6743 this: *mut core::ffi::c_void,
6744 value: *mut *mut core::ffi::c_void,
6745 ) -> windows_core::HRESULT {
6746 unsafe {
6747 let this: &Identity =
6748 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6749 match ICoreWebView2CompositionController2_Impl::AutomationProvider(this) {
6750 Ok(ok__) => {
6751 value.write(core::mem::transmute(ok__));
6752 windows_core::HRESULT(0)
6753 }
6754 Err(err) => err.into(),
6755 }
6756 }
6757 }
6758 Self {
6759 base__: ICoreWebView2CompositionController_Vtbl::new::<Identity, OFFSET>(),
6760 AutomationProvider: AutomationProvider::<Identity, OFFSET>,
6761 }
6762 }
6763 pub fn matches(iid: &windows_core::GUID) -> bool {
6764 iid == &<ICoreWebView2CompositionController2 as windows_core::Interface>::IID
6765 || iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
6766 }
6767}
6768impl windows_core::RuntimeName for ICoreWebView2CompositionController2 {}
6769windows_core::imp::define_interface!(
6770 ICoreWebView2CompositionController3,
6771 ICoreWebView2CompositionController3_Vtbl,
6772 0x9570570e_4d76_4361_9ee1_f04d0dbdfb1e
6773);
6774impl core::ops::Deref for ICoreWebView2CompositionController3 {
6775 type Target = ICoreWebView2CompositionController2;
6776 fn deref(&self) -> &Self::Target {
6777 unsafe { core::mem::transmute(self) }
6778 }
6779}
6780windows_core::imp::interface_hierarchy!(
6781 ICoreWebView2CompositionController3,
6782 windows_core::IUnknown,
6783 ICoreWebView2CompositionController,
6784 ICoreWebView2CompositionController2
6785);
6786impl ICoreWebView2CompositionController3 {
6787 pub unsafe fn DragEnter<P0>(
6788 &self,
6789 dataobject: P0,
6790 keystate: u32,
6791 point: windows::Win32::Foundation::POINT,
6792 effect: *mut u32,
6793 ) -> windows_core::Result<()>
6794 where
6795 P0: windows_core::Param<windows::Win32::System::Com::IDataObject>,
6796 {
6797 unsafe {
6798 (windows_core::Interface::vtable(self).DragEnter)(
6799 windows_core::Interface::as_raw(self),
6800 dataobject.param().abi(),
6801 keystate,
6802 core::mem::transmute(point),
6803 effect as _,
6804 )
6805 .ok()
6806 }
6807 }
6808 pub unsafe fn DragLeave(&self) -> windows_core::Result<()> {
6809 unsafe {
6810 (windows_core::Interface::vtable(self).DragLeave)(windows_core::Interface::as_raw(self))
6811 .ok()
6812 }
6813 }
6814 pub unsafe fn DragOver(
6815 &self,
6816 keystate: u32,
6817 point: windows::Win32::Foundation::POINT,
6818 effect: *mut u32,
6819 ) -> windows_core::Result<()> {
6820 unsafe {
6821 (windows_core::Interface::vtable(self).DragOver)(
6822 windows_core::Interface::as_raw(self),
6823 keystate,
6824 core::mem::transmute(point),
6825 effect as _,
6826 )
6827 .ok()
6828 }
6829 }
6830 pub unsafe fn Drop<P0>(
6831 &self,
6832 dataobject: P0,
6833 keystate: u32,
6834 point: windows::Win32::Foundation::POINT,
6835 effect: *mut u32,
6836 ) -> windows_core::Result<()>
6837 where
6838 P0: windows_core::Param<windows::Win32::System::Com::IDataObject>,
6839 {
6840 unsafe {
6841 (windows_core::Interface::vtable(self).Drop)(
6842 windows_core::Interface::as_raw(self),
6843 dataobject.param().abi(),
6844 keystate,
6845 core::mem::transmute(point),
6846 effect as _,
6847 )
6848 .ok()
6849 }
6850 }
6851}
6852#[repr(C)]
6853#[doc(hidden)]
6854pub struct ICoreWebView2CompositionController3_Vtbl {
6855 pub base__: ICoreWebView2CompositionController2_Vtbl,
6856 pub DragEnter: unsafe extern "system" fn(
6857 *mut core::ffi::c_void,
6858 *mut core::ffi::c_void,
6859 u32,
6860 windows::Win32::Foundation::POINT,
6861 *mut u32,
6862 ) -> windows_core::HRESULT,
6863 pub DragLeave: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
6864 pub DragOver: unsafe extern "system" fn(
6865 *mut core::ffi::c_void,
6866 u32,
6867 windows::Win32::Foundation::POINT,
6868 *mut u32,
6869 ) -> windows_core::HRESULT,
6870 pub Drop: unsafe extern "system" fn(
6871 *mut core::ffi::c_void,
6872 *mut core::ffi::c_void,
6873 u32,
6874 windows::Win32::Foundation::POINT,
6875 *mut u32,
6876 ) -> windows_core::HRESULT,
6877}
6878pub trait ICoreWebView2CompositionController3_Impl:
6879 ICoreWebView2CompositionController2_Impl
6880{
6881 fn DragEnter(
6882 &self,
6883 dataobject: windows_core::Ref<windows::Win32::System::Com::IDataObject>,
6884 keystate: u32,
6885 point: &windows::Win32::Foundation::POINT,
6886 effect: *mut u32,
6887 ) -> windows_core::Result<()>;
6888 fn DragLeave(&self) -> windows_core::Result<()>;
6889 fn DragOver(
6890 &self,
6891 keystate: u32,
6892 point: &windows::Win32::Foundation::POINT,
6893 effect: *mut u32,
6894 ) -> windows_core::Result<()>;
6895 fn Drop(
6896 &self,
6897 dataobject: windows_core::Ref<windows::Win32::System::Com::IDataObject>,
6898 keystate: u32,
6899 point: &windows::Win32::Foundation::POINT,
6900 effect: *mut u32,
6901 ) -> windows_core::Result<()>;
6902}
6903impl ICoreWebView2CompositionController3_Vtbl {
6904 pub const fn new<Identity: ICoreWebView2CompositionController3_Impl, const OFFSET: isize>(
6905 ) -> Self {
6906 unsafe extern "system" fn DragEnter<
6907 Identity: ICoreWebView2CompositionController3_Impl,
6908 const OFFSET: isize,
6909 >(
6910 this: *mut core::ffi::c_void,
6911 dataobject: *mut core::ffi::c_void,
6912 keystate: u32,
6913 point: windows::Win32::Foundation::POINT,
6914 effect: *mut u32,
6915 ) -> windows_core::HRESULT {
6916 unsafe {
6917 let this: &Identity =
6918 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6919 ICoreWebView2CompositionController3_Impl::DragEnter(
6920 this,
6921 core::mem::transmute_copy(&dataobject),
6922 core::mem::transmute_copy(&keystate),
6923 core::mem::transmute(&point),
6924 core::mem::transmute_copy(&effect),
6925 )
6926 .into()
6927 }
6928 }
6929 unsafe extern "system" fn DragLeave<
6930 Identity: ICoreWebView2CompositionController3_Impl,
6931 const OFFSET: isize,
6932 >(
6933 this: *mut core::ffi::c_void,
6934 ) -> windows_core::HRESULT {
6935 unsafe {
6936 let this: &Identity =
6937 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6938 ICoreWebView2CompositionController3_Impl::DragLeave(this).into()
6939 }
6940 }
6941 unsafe extern "system" fn DragOver<
6942 Identity: ICoreWebView2CompositionController3_Impl,
6943 const OFFSET: isize,
6944 >(
6945 this: *mut core::ffi::c_void,
6946 keystate: u32,
6947 point: windows::Win32::Foundation::POINT,
6948 effect: *mut u32,
6949 ) -> windows_core::HRESULT {
6950 unsafe {
6951 let this: &Identity =
6952 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6953 ICoreWebView2CompositionController3_Impl::DragOver(
6954 this,
6955 core::mem::transmute_copy(&keystate),
6956 core::mem::transmute(&point),
6957 core::mem::transmute_copy(&effect),
6958 )
6959 .into()
6960 }
6961 }
6962 unsafe extern "system" fn Drop<
6963 Identity: ICoreWebView2CompositionController3_Impl,
6964 const OFFSET: isize,
6965 >(
6966 this: *mut core::ffi::c_void,
6967 dataobject: *mut core::ffi::c_void,
6968 keystate: u32,
6969 point: windows::Win32::Foundation::POINT,
6970 effect: *mut u32,
6971 ) -> windows_core::HRESULT {
6972 unsafe {
6973 let this: &Identity =
6974 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6975 ICoreWebView2CompositionController3_Impl::Drop(
6976 this,
6977 core::mem::transmute_copy(&dataobject),
6978 core::mem::transmute_copy(&keystate),
6979 core::mem::transmute(&point),
6980 core::mem::transmute_copy(&effect),
6981 )
6982 .into()
6983 }
6984 }
6985 Self {
6986 base__: ICoreWebView2CompositionController2_Vtbl::new::<Identity, OFFSET>(),
6987 DragEnter: DragEnter::<Identity, OFFSET>,
6988 DragLeave: DragLeave::<Identity, OFFSET>,
6989 DragOver: DragOver::<Identity, OFFSET>,
6990 Drop: Drop::<Identity, OFFSET>,
6991 }
6992 }
6993 pub fn matches(iid: &windows_core::GUID) -> bool {
6994 iid == &<ICoreWebView2CompositionController3 as windows_core::Interface>::IID
6995 || iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
6996 || iid == &<ICoreWebView2CompositionController2 as windows_core::Interface>::IID
6997 }
6998}
6999impl windows_core::RuntimeName for ICoreWebView2CompositionController3 {}
7000windows_core::imp::define_interface!(
7001 ICoreWebView2CompositionController4,
7002 ICoreWebView2CompositionController4_Vtbl,
7003 0x7c367b9b_3d2b_450f_9e58_d61a20f486aa
7004);
7005impl core::ops::Deref for ICoreWebView2CompositionController4 {
7006 type Target = ICoreWebView2CompositionController3;
7007 fn deref(&self) -> &Self::Target {
7008 unsafe { core::mem::transmute(self) }
7009 }
7010}
7011windows_core::imp::interface_hierarchy!(
7012 ICoreWebView2CompositionController4,
7013 windows_core::IUnknown,
7014 ICoreWebView2CompositionController,
7015 ICoreWebView2CompositionController2,
7016 ICoreWebView2CompositionController3
7017);
7018impl ICoreWebView2CompositionController4 {
7019 pub unsafe fn GetNonClientRegionAtPoint(
7020 &self,
7021 point: windows::Win32::Foundation::POINT,
7022 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7023 ) -> windows_core::Result<()> {
7024 unsafe {
7025 (windows_core::Interface::vtable(self).GetNonClientRegionAtPoint)(
7026 windows_core::Interface::as_raw(self),
7027 core::mem::transmute(point),
7028 value as _,
7029 )
7030 .ok()
7031 }
7032 }
7033 pub unsafe fn QueryNonClientRegion(
7034 &self,
7035 kind: COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7036 ) -> windows_core::Result<ICoreWebView2RegionRectCollectionView> {
7037 unsafe {
7038 let mut result__ = core::mem::zeroed();
7039 (windows_core::Interface::vtable(self).QueryNonClientRegion)(
7040 windows_core::Interface::as_raw(self),
7041 kind,
7042 &mut result__,
7043 )
7044 .and_then(|| windows_core::Type::from_abi(result__))
7045 }
7046 }
7047 pub unsafe fn add_NonClientRegionChanged<P0>(
7048 &self,
7049 eventhandler: P0,
7050 token: *mut i64,
7051 ) -> windows_core::Result<()>
7052 where
7053 P0: windows_core::Param<ICoreWebView2NonClientRegionChangedEventHandler>,
7054 {
7055 unsafe {
7056 (windows_core::Interface::vtable(self).add_NonClientRegionChanged)(
7057 windows_core::Interface::as_raw(self),
7058 eventhandler.param().abi(),
7059 token as _,
7060 )
7061 .ok()
7062 }
7063 }
7064 pub unsafe fn remove_NonClientRegionChanged(&self, token: i64) -> windows_core::Result<()> {
7065 unsafe {
7066 (windows_core::Interface::vtable(self).remove_NonClientRegionChanged)(
7067 windows_core::Interface::as_raw(self),
7068 token,
7069 )
7070 .ok()
7071 }
7072 }
7073}
7074#[repr(C)]
7075#[doc(hidden)]
7076pub struct ICoreWebView2CompositionController4_Vtbl {
7077 pub base__: ICoreWebView2CompositionController3_Vtbl,
7078 pub GetNonClientRegionAtPoint: unsafe extern "system" fn(
7079 *mut core::ffi::c_void,
7080 windows::Win32::Foundation::POINT,
7081 *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7082 ) -> windows_core::HRESULT,
7083 pub QueryNonClientRegion: unsafe extern "system" fn(
7084 *mut core::ffi::c_void,
7085 COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7086 *mut *mut core::ffi::c_void,
7087 ) -> windows_core::HRESULT,
7088 pub add_NonClientRegionChanged: unsafe extern "system" fn(
7089 *mut core::ffi::c_void,
7090 *mut core::ffi::c_void,
7091 *mut i64,
7092 ) -> windows_core::HRESULT,
7093 pub remove_NonClientRegionChanged:
7094 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
7095}
7096pub trait ICoreWebView2CompositionController4_Impl:
7097 ICoreWebView2CompositionController3_Impl
7098{
7099 fn GetNonClientRegionAtPoint(
7100 &self,
7101 point: &windows::Win32::Foundation::POINT,
7102 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7103 ) -> windows_core::Result<()>;
7104 fn QueryNonClientRegion(
7105 &self,
7106 kind: COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7107 ) -> windows_core::Result<ICoreWebView2RegionRectCollectionView>;
7108 fn add_NonClientRegionChanged(
7109 &self,
7110 eventhandler: windows_core::Ref<ICoreWebView2NonClientRegionChangedEventHandler>,
7111 token: *mut i64,
7112 ) -> windows_core::Result<()>;
7113 fn remove_NonClientRegionChanged(&self, token: i64) -> windows_core::Result<()>;
7114}
7115impl ICoreWebView2CompositionController4_Vtbl {
7116 pub const fn new<Identity: ICoreWebView2CompositionController4_Impl, const OFFSET: isize>(
7117 ) -> Self {
7118 unsafe extern "system" fn GetNonClientRegionAtPoint<
7119 Identity: ICoreWebView2CompositionController4_Impl,
7120 const OFFSET: isize,
7121 >(
7122 this: *mut core::ffi::c_void,
7123 point: windows::Win32::Foundation::POINT,
7124 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7125 ) -> windows_core::HRESULT {
7126 unsafe {
7127 let this: &Identity =
7128 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7129 ICoreWebView2CompositionController4_Impl::GetNonClientRegionAtPoint(
7130 this,
7131 core::mem::transmute(&point),
7132 core::mem::transmute_copy(&value),
7133 )
7134 .into()
7135 }
7136 }
7137 unsafe extern "system" fn QueryNonClientRegion<
7138 Identity: ICoreWebView2CompositionController4_Impl,
7139 const OFFSET: isize,
7140 >(
7141 this: *mut core::ffi::c_void,
7142 kind: COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7143 rects: *mut *mut core::ffi::c_void,
7144 ) -> windows_core::HRESULT {
7145 unsafe {
7146 let this: &Identity =
7147 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7148 match ICoreWebView2CompositionController4_Impl::QueryNonClientRegion(
7149 this,
7150 core::mem::transmute_copy(&kind),
7151 ) {
7152 Ok(ok__) => {
7153 rects.write(core::mem::transmute(ok__));
7154 windows_core::HRESULT(0)
7155 }
7156 Err(err) => err.into(),
7157 }
7158 }
7159 }
7160 unsafe extern "system" fn add_NonClientRegionChanged<
7161 Identity: ICoreWebView2CompositionController4_Impl,
7162 const OFFSET: isize,
7163 >(
7164 this: *mut core::ffi::c_void,
7165 eventhandler: *mut core::ffi::c_void,
7166 token: *mut i64,
7167 ) -> windows_core::HRESULT {
7168 unsafe {
7169 let this: &Identity =
7170 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7171 ICoreWebView2CompositionController4_Impl::add_NonClientRegionChanged(
7172 this,
7173 core::mem::transmute_copy(&eventhandler),
7174 core::mem::transmute_copy(&token),
7175 )
7176 .into()
7177 }
7178 }
7179 unsafe extern "system" fn remove_NonClientRegionChanged<
7180 Identity: ICoreWebView2CompositionController4_Impl,
7181 const OFFSET: isize,
7182 >(
7183 this: *mut core::ffi::c_void,
7184 token: i64,
7185 ) -> windows_core::HRESULT {
7186 unsafe {
7187 let this: &Identity =
7188 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7189 ICoreWebView2CompositionController4_Impl::remove_NonClientRegionChanged(
7190 this,
7191 core::mem::transmute_copy(&token),
7192 )
7193 .into()
7194 }
7195 }
7196 Self {
7197 base__: ICoreWebView2CompositionController3_Vtbl::new::<Identity, OFFSET>(),
7198 GetNonClientRegionAtPoint: GetNonClientRegionAtPoint::<Identity, OFFSET>,
7199 QueryNonClientRegion: QueryNonClientRegion::<Identity, OFFSET>,
7200 add_NonClientRegionChanged: add_NonClientRegionChanged::<Identity, OFFSET>,
7201 remove_NonClientRegionChanged: remove_NonClientRegionChanged::<Identity, OFFSET>,
7202 }
7203 }
7204 pub fn matches(iid: &windows_core::GUID) -> bool {
7205 iid == &<ICoreWebView2CompositionController4 as windows_core::Interface>::IID
7206 || iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
7207 || iid == &<ICoreWebView2CompositionController2 as windows_core::Interface>::IID
7208 || iid == &<ICoreWebView2CompositionController3 as windows_core::Interface>::IID
7209 }
7210}
7211impl windows_core::RuntimeName for ICoreWebView2CompositionController4 {}
7212windows_core::imp::define_interface!(
7213 ICoreWebView2CompositionController5,
7214 ICoreWebView2CompositionController5_Vtbl,
7215 0x8d0f82eb_7c33_5a4c_9108_84ca28ccc3b4
7216);
7217impl core::ops::Deref for ICoreWebView2CompositionController5 {
7218 type Target = ICoreWebView2CompositionController4;
7219 fn deref(&self) -> &Self::Target {
7220 unsafe { core::mem::transmute(self) }
7221 }
7222}
7223windows_core::imp::interface_hierarchy!(
7224 ICoreWebView2CompositionController5,
7225 windows_core::IUnknown,
7226 ICoreWebView2CompositionController,
7227 ICoreWebView2CompositionController2,
7228 ICoreWebView2CompositionController3,
7229 ICoreWebView2CompositionController4
7230);
7231impl ICoreWebView2CompositionController5 {
7232 pub unsafe fn add_DragStarting<P0>(
7233 &self,
7234 eventhandler: P0,
7235 token: *mut i64,
7236 ) -> windows_core::Result<()>
7237 where
7238 P0: windows_core::Param<ICoreWebView2DragStartingEventHandler>,
7239 {
7240 unsafe {
7241 (windows_core::Interface::vtable(self).add_DragStarting)(
7242 windows_core::Interface::as_raw(self),
7243 eventhandler.param().abi(),
7244 token as _,
7245 )
7246 .ok()
7247 }
7248 }
7249 pub unsafe fn remove_DragStarting(&self, token: i64) -> windows_core::Result<()> {
7250 unsafe {
7251 (windows_core::Interface::vtable(self).remove_DragStarting)(
7252 windows_core::Interface::as_raw(self),
7253 token,
7254 )
7255 .ok()
7256 }
7257 }
7258}
7259#[repr(C)]
7260#[doc(hidden)]
7261pub struct ICoreWebView2CompositionController5_Vtbl {
7262 pub base__: ICoreWebView2CompositionController4_Vtbl,
7263 pub add_DragStarting: unsafe extern "system" fn(
7264 *mut core::ffi::c_void,
7265 *mut core::ffi::c_void,
7266 *mut i64,
7267 ) -> windows_core::HRESULT,
7268 pub remove_DragStarting:
7269 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
7270}
7271pub trait ICoreWebView2CompositionController5_Impl:
7272 ICoreWebView2CompositionController4_Impl
7273{
7274 fn add_DragStarting(
7275 &self,
7276 eventhandler: windows_core::Ref<ICoreWebView2DragStartingEventHandler>,
7277 token: *mut i64,
7278 ) -> windows_core::Result<()>;
7279 fn remove_DragStarting(&self, token: i64) -> windows_core::Result<()>;
7280}
7281impl ICoreWebView2CompositionController5_Vtbl {
7282 pub const fn new<Identity: ICoreWebView2CompositionController5_Impl, const OFFSET: isize>(
7283 ) -> Self {
7284 unsafe extern "system" fn add_DragStarting<
7285 Identity: ICoreWebView2CompositionController5_Impl,
7286 const OFFSET: isize,
7287 >(
7288 this: *mut core::ffi::c_void,
7289 eventhandler: *mut core::ffi::c_void,
7290 token: *mut i64,
7291 ) -> windows_core::HRESULT {
7292 unsafe {
7293 let this: &Identity =
7294 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7295 ICoreWebView2CompositionController5_Impl::add_DragStarting(
7296 this,
7297 core::mem::transmute_copy(&eventhandler),
7298 core::mem::transmute_copy(&token),
7299 )
7300 .into()
7301 }
7302 }
7303 unsafe extern "system" fn remove_DragStarting<
7304 Identity: ICoreWebView2CompositionController5_Impl,
7305 const OFFSET: isize,
7306 >(
7307 this: *mut core::ffi::c_void,
7308 token: i64,
7309 ) -> windows_core::HRESULT {
7310 unsafe {
7311 let this: &Identity =
7312 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7313 ICoreWebView2CompositionController5_Impl::remove_DragStarting(
7314 this,
7315 core::mem::transmute_copy(&token),
7316 )
7317 .into()
7318 }
7319 }
7320 Self {
7321 base__: ICoreWebView2CompositionController4_Vtbl::new::<Identity, OFFSET>(),
7322 add_DragStarting: add_DragStarting::<Identity, OFFSET>,
7323 remove_DragStarting: remove_DragStarting::<Identity, OFFSET>,
7324 }
7325 }
7326 pub fn matches(iid: &windows_core::GUID) -> bool {
7327 iid == &<ICoreWebView2CompositionController5 as windows_core::Interface>::IID
7328 || iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
7329 || iid == &<ICoreWebView2CompositionController2 as windows_core::Interface>::IID
7330 || iid == &<ICoreWebView2CompositionController3 as windows_core::Interface>::IID
7331 || iid == &<ICoreWebView2CompositionController4 as windows_core::Interface>::IID
7332 }
7333}
7334impl windows_core::RuntimeName for ICoreWebView2CompositionController5 {}
7335windows_core::imp::define_interface!(
7336 ICoreWebView2ContainsFullScreenElementChangedEventHandler,
7337 ICoreWebView2ContainsFullScreenElementChangedEventHandler_Vtbl,
7338 0xe45d98b1_afef_45be_8baf_6c7728867f73
7339);
7340windows_core::imp::interface_hierarchy!(
7341 ICoreWebView2ContainsFullScreenElementChangedEventHandler,
7342 windows_core::IUnknown
7343);
7344impl ICoreWebView2ContainsFullScreenElementChangedEventHandler {
7345 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
7346 where
7347 P0: windows_core::Param<ICoreWebView2>,
7348 P1: windows_core::Param<windows_core::IUnknown>,
7349 {
7350 unsafe {
7351 (windows_core::Interface::vtable(self).Invoke)(
7352 windows_core::Interface::as_raw(self),
7353 sender.param().abi(),
7354 args.param().abi(),
7355 )
7356 .ok()
7357 }
7358 }
7359}
7360#[repr(C)]
7361#[doc(hidden)]
7362pub struct ICoreWebView2ContainsFullScreenElementChangedEventHandler_Vtbl {
7363 pub base__: windows_core::IUnknown_Vtbl,
7364 pub Invoke: unsafe extern "system" fn(
7365 *mut core::ffi::c_void,
7366 *mut core::ffi::c_void,
7367 *mut core::ffi::c_void,
7368 ) -> windows_core::HRESULT,
7369}
7370pub trait ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl:
7371 windows_core::IUnknownImpl
7372{
7373 fn Invoke(
7374 &self,
7375 sender: windows_core::Ref<ICoreWebView2>,
7376 args: windows_core::Ref<windows_core::IUnknown>,
7377 ) -> windows_core::Result<()>;
7378}
7379impl ICoreWebView2ContainsFullScreenElementChangedEventHandler_Vtbl {
7380 pub const fn new<
7381 Identity: ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl,
7382 const OFFSET: isize,
7383 >() -> Self {
7384 unsafe extern "system" fn Invoke<
7385 Identity: ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl,
7386 const OFFSET: isize,
7387 >(
7388 this: *mut core::ffi::c_void,
7389 sender: *mut core::ffi::c_void,
7390 args: *mut core::ffi::c_void,
7391 ) -> windows_core::HRESULT {
7392 unsafe {
7393 let this: &Identity =
7394 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7395 ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl::Invoke(
7396 this,
7397 core::mem::transmute_copy(&sender),
7398 core::mem::transmute_copy(&args),
7399 )
7400 .into()
7401 }
7402 }
7403 Self {
7404 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7405 Invoke: Invoke::<Identity, OFFSET>,
7406 }
7407 }
7408 pub fn matches(iid: &windows_core::GUID) -> bool {
7409 iid == & < ICoreWebView2ContainsFullScreenElementChangedEventHandler as windows_core::Interface >::IID
7410 }
7411}
7412impl windows_core::RuntimeName for ICoreWebView2ContainsFullScreenElementChangedEventHandler {}
7413windows_core::imp::define_interface!(
7414 ICoreWebView2ContentLoadingEventArgs,
7415 ICoreWebView2ContentLoadingEventArgs_Vtbl,
7416 0x0c8a1275_9b6b_4901_87ad_70df25bafa6e
7417);
7418windows_core::imp::interface_hierarchy!(
7419 ICoreWebView2ContentLoadingEventArgs,
7420 windows_core::IUnknown
7421);
7422impl ICoreWebView2ContentLoadingEventArgs {
7423 pub unsafe fn IsErrorPage(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
7424 unsafe {
7425 (windows_core::Interface::vtable(self).IsErrorPage)(
7426 windows_core::Interface::as_raw(self),
7427 value as _,
7428 )
7429 .ok()
7430 }
7431 }
7432 pub unsafe fn NavigationId(&self, value: *mut u64) -> windows_core::Result<()> {
7433 unsafe {
7434 (windows_core::Interface::vtable(self).NavigationId)(
7435 windows_core::Interface::as_raw(self),
7436 value as _,
7437 )
7438 .ok()
7439 }
7440 }
7441}
7442#[repr(C)]
7443#[doc(hidden)]
7444pub struct ICoreWebView2ContentLoadingEventArgs_Vtbl {
7445 pub base__: windows_core::IUnknown_Vtbl,
7446 pub IsErrorPage: unsafe extern "system" fn(
7447 *mut core::ffi::c_void,
7448 *mut windows_core::BOOL,
7449 ) -> windows_core::HRESULT,
7450 pub NavigationId:
7451 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
7452}
7453pub trait ICoreWebView2ContentLoadingEventArgs_Impl: windows_core::IUnknownImpl {
7454 fn IsErrorPage(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
7455 fn NavigationId(&self, value: *mut u64) -> windows_core::Result<()>;
7456}
7457impl ICoreWebView2ContentLoadingEventArgs_Vtbl {
7458 pub const fn new<Identity: ICoreWebView2ContentLoadingEventArgs_Impl, const OFFSET: isize>(
7459 ) -> Self {
7460 unsafe extern "system" fn IsErrorPage<
7461 Identity: ICoreWebView2ContentLoadingEventArgs_Impl,
7462 const OFFSET: isize,
7463 >(
7464 this: *mut core::ffi::c_void,
7465 value: *mut windows_core::BOOL,
7466 ) -> windows_core::HRESULT {
7467 unsafe {
7468 let this: &Identity =
7469 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7470 ICoreWebView2ContentLoadingEventArgs_Impl::IsErrorPage(
7471 this,
7472 core::mem::transmute_copy(&value),
7473 )
7474 .into()
7475 }
7476 }
7477 unsafe extern "system" fn NavigationId<
7478 Identity: ICoreWebView2ContentLoadingEventArgs_Impl,
7479 const OFFSET: isize,
7480 >(
7481 this: *mut core::ffi::c_void,
7482 value: *mut u64,
7483 ) -> windows_core::HRESULT {
7484 unsafe {
7485 let this: &Identity =
7486 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7487 ICoreWebView2ContentLoadingEventArgs_Impl::NavigationId(
7488 this,
7489 core::mem::transmute_copy(&value),
7490 )
7491 .into()
7492 }
7493 }
7494 Self {
7495 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7496 IsErrorPage: IsErrorPage::<Identity, OFFSET>,
7497 NavigationId: NavigationId::<Identity, OFFSET>,
7498 }
7499 }
7500 pub fn matches(iid: &windows_core::GUID) -> bool {
7501 iid == &<ICoreWebView2ContentLoadingEventArgs as windows_core::Interface>::IID
7502 }
7503}
7504impl windows_core::RuntimeName for ICoreWebView2ContentLoadingEventArgs {}
7505windows_core::imp::define_interface!(
7506 ICoreWebView2ContentLoadingEventHandler,
7507 ICoreWebView2ContentLoadingEventHandler_Vtbl,
7508 0x364471e7_f2be_4910_bdba_d72077d51c4b
7509);
7510windows_core::imp::interface_hierarchy!(
7511 ICoreWebView2ContentLoadingEventHandler,
7512 windows_core::IUnknown
7513);
7514impl ICoreWebView2ContentLoadingEventHandler {
7515 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
7516 where
7517 P0: windows_core::Param<ICoreWebView2>,
7518 P1: windows_core::Param<ICoreWebView2ContentLoadingEventArgs>,
7519 {
7520 unsafe {
7521 (windows_core::Interface::vtable(self).Invoke)(
7522 windows_core::Interface::as_raw(self),
7523 sender.param().abi(),
7524 args.param().abi(),
7525 )
7526 .ok()
7527 }
7528 }
7529}
7530#[repr(C)]
7531#[doc(hidden)]
7532pub struct ICoreWebView2ContentLoadingEventHandler_Vtbl {
7533 pub base__: windows_core::IUnknown_Vtbl,
7534 pub Invoke: unsafe extern "system" fn(
7535 *mut core::ffi::c_void,
7536 *mut core::ffi::c_void,
7537 *mut core::ffi::c_void,
7538 ) -> windows_core::HRESULT,
7539}
7540pub trait ICoreWebView2ContentLoadingEventHandler_Impl: windows_core::IUnknownImpl {
7541 fn Invoke(
7542 &self,
7543 sender: windows_core::Ref<ICoreWebView2>,
7544 args: windows_core::Ref<ICoreWebView2ContentLoadingEventArgs>,
7545 ) -> windows_core::Result<()>;
7546}
7547impl ICoreWebView2ContentLoadingEventHandler_Vtbl {
7548 pub const fn new<
7549 Identity: ICoreWebView2ContentLoadingEventHandler_Impl,
7550 const OFFSET: isize,
7551 >() -> Self {
7552 unsafe extern "system" fn Invoke<
7553 Identity: ICoreWebView2ContentLoadingEventHandler_Impl,
7554 const OFFSET: isize,
7555 >(
7556 this: *mut core::ffi::c_void,
7557 sender: *mut core::ffi::c_void,
7558 args: *mut core::ffi::c_void,
7559 ) -> windows_core::HRESULT {
7560 unsafe {
7561 let this: &Identity =
7562 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7563 ICoreWebView2ContentLoadingEventHandler_Impl::Invoke(
7564 this,
7565 core::mem::transmute_copy(&sender),
7566 core::mem::transmute_copy(&args),
7567 )
7568 .into()
7569 }
7570 }
7571 Self {
7572 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7573 Invoke: Invoke::<Identity, OFFSET>,
7574 }
7575 }
7576 pub fn matches(iid: &windows_core::GUID) -> bool {
7577 iid == &<ICoreWebView2ContentLoadingEventHandler as windows_core::Interface>::IID
7578 }
7579}
7580impl windows_core::RuntimeName for ICoreWebView2ContentLoadingEventHandler {}
7581windows_core::imp::define_interface!(
7582 ICoreWebView2ContextMenuItem,
7583 ICoreWebView2ContextMenuItem_Vtbl,
7584 0x7aed49e3_a93f_497a_811c_749c6b6b6c65
7585);
7586windows_core::imp::interface_hierarchy!(ICoreWebView2ContextMenuItem, windows_core::IUnknown);
7587impl ICoreWebView2ContextMenuItem {
7588 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
7589 unsafe {
7590 (windows_core::Interface::vtable(self).Name)(
7591 windows_core::Interface::as_raw(self),
7592 value as _,
7593 )
7594 .ok()
7595 }
7596 }
7597 pub unsafe fn Label(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
7598 unsafe {
7599 (windows_core::Interface::vtable(self).Label)(
7600 windows_core::Interface::as_raw(self),
7601 value as _,
7602 )
7603 .ok()
7604 }
7605 }
7606 pub unsafe fn CommandId(&self, value: *mut i32) -> windows_core::Result<()> {
7607 unsafe {
7608 (windows_core::Interface::vtable(self).CommandId)(
7609 windows_core::Interface::as_raw(self),
7610 value as _,
7611 )
7612 .ok()
7613 }
7614 }
7615 pub unsafe fn ShortcutKeyDescription(
7616 &self,
7617 value: *mut windows_core::PWSTR,
7618 ) -> windows_core::Result<()> {
7619 unsafe {
7620 (windows_core::Interface::vtable(self).ShortcutKeyDescription)(
7621 windows_core::Interface::as_raw(self),
7622 value as _,
7623 )
7624 .ok()
7625 }
7626 }
7627 pub unsafe fn Icon(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
7628 unsafe {
7629 let mut result__ = core::mem::zeroed();
7630 (windows_core::Interface::vtable(self).Icon)(
7631 windows_core::Interface::as_raw(self),
7632 &mut result__,
7633 )
7634 .and_then(|| windows_core::Type::from_abi(result__))
7635 }
7636 }
7637 pub unsafe fn Kind(
7638 &self,
7639 value: *mut COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
7640 ) -> windows_core::Result<()> {
7641 unsafe {
7642 (windows_core::Interface::vtable(self).Kind)(
7643 windows_core::Interface::as_raw(self),
7644 value as _,
7645 )
7646 .ok()
7647 }
7648 }
7649 pub unsafe fn SetIsEnabled(&self, value: bool) -> windows_core::Result<()> {
7650 unsafe {
7651 (windows_core::Interface::vtable(self).SetIsEnabled)(
7652 windows_core::Interface::as_raw(self),
7653 value.into(),
7654 )
7655 .ok()
7656 }
7657 }
7658 pub unsafe fn IsEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
7659 unsafe {
7660 (windows_core::Interface::vtable(self).IsEnabled)(
7661 windows_core::Interface::as_raw(self),
7662 value as _,
7663 )
7664 .ok()
7665 }
7666 }
7667 pub unsafe fn SetIsChecked(&self, value: bool) -> windows_core::Result<()> {
7668 unsafe {
7669 (windows_core::Interface::vtable(self).SetIsChecked)(
7670 windows_core::Interface::as_raw(self),
7671 value.into(),
7672 )
7673 .ok()
7674 }
7675 }
7676 pub unsafe fn IsChecked(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
7677 unsafe {
7678 (windows_core::Interface::vtable(self).IsChecked)(
7679 windows_core::Interface::as_raw(self),
7680 value as _,
7681 )
7682 .ok()
7683 }
7684 }
7685 pub unsafe fn Children(&self) -> windows_core::Result<ICoreWebView2ContextMenuItemCollection> {
7686 unsafe {
7687 let mut result__ = core::mem::zeroed();
7688 (windows_core::Interface::vtable(self).Children)(
7689 windows_core::Interface::as_raw(self),
7690 &mut result__,
7691 )
7692 .and_then(|| windows_core::Type::from_abi(result__))
7693 }
7694 }
7695 pub unsafe fn add_CustomItemSelected<P0>(
7696 &self,
7697 eventhandler: P0,
7698 token: *mut i64,
7699 ) -> windows_core::Result<()>
7700 where
7701 P0: windows_core::Param<ICoreWebView2CustomItemSelectedEventHandler>,
7702 {
7703 unsafe {
7704 (windows_core::Interface::vtable(self).add_CustomItemSelected)(
7705 windows_core::Interface::as_raw(self),
7706 eventhandler.param().abi(),
7707 token as _,
7708 )
7709 .ok()
7710 }
7711 }
7712 pub unsafe fn remove_CustomItemSelected(&self, token: i64) -> windows_core::Result<()> {
7713 unsafe {
7714 (windows_core::Interface::vtable(self).remove_CustomItemSelected)(
7715 windows_core::Interface::as_raw(self),
7716 token,
7717 )
7718 .ok()
7719 }
7720 }
7721}
7722#[repr(C)]
7723#[doc(hidden)]
7724pub struct ICoreWebView2ContextMenuItem_Vtbl {
7725 pub base__: windows_core::IUnknown_Vtbl,
7726 pub Name: unsafe extern "system" fn(
7727 *mut core::ffi::c_void,
7728 *mut windows_core::PWSTR,
7729 ) -> windows_core::HRESULT,
7730 pub Label: unsafe extern "system" fn(
7731 *mut core::ffi::c_void,
7732 *mut windows_core::PWSTR,
7733 ) -> windows_core::HRESULT,
7734 pub CommandId:
7735 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
7736 pub ShortcutKeyDescription: unsafe extern "system" fn(
7737 *mut core::ffi::c_void,
7738 *mut windows_core::PWSTR,
7739 ) -> windows_core::HRESULT,
7740 pub Icon: unsafe extern "system" fn(
7741 *mut core::ffi::c_void,
7742 *mut *mut core::ffi::c_void,
7743 ) -> windows_core::HRESULT,
7744 pub Kind: unsafe extern "system" fn(
7745 *mut core::ffi::c_void,
7746 *mut COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
7747 ) -> windows_core::HRESULT,
7748 pub SetIsEnabled: unsafe extern "system" fn(
7749 *mut core::ffi::c_void,
7750 windows_core::BOOL,
7751 ) -> windows_core::HRESULT,
7752 pub IsEnabled: unsafe extern "system" fn(
7753 *mut core::ffi::c_void,
7754 *mut windows_core::BOOL,
7755 ) -> windows_core::HRESULT,
7756 pub SetIsChecked: unsafe extern "system" fn(
7757 *mut core::ffi::c_void,
7758 windows_core::BOOL,
7759 ) -> windows_core::HRESULT,
7760 pub IsChecked: unsafe extern "system" fn(
7761 *mut core::ffi::c_void,
7762 *mut windows_core::BOOL,
7763 ) -> windows_core::HRESULT,
7764 pub Children: unsafe extern "system" fn(
7765 *mut core::ffi::c_void,
7766 *mut *mut core::ffi::c_void,
7767 ) -> windows_core::HRESULT,
7768 pub add_CustomItemSelected: unsafe extern "system" fn(
7769 *mut core::ffi::c_void,
7770 *mut core::ffi::c_void,
7771 *mut i64,
7772 ) -> windows_core::HRESULT,
7773 pub remove_CustomItemSelected:
7774 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
7775}
7776pub trait ICoreWebView2ContextMenuItem_Impl: windows_core::IUnknownImpl {
7777 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
7778 fn Label(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
7779 fn CommandId(&self, value: *mut i32) -> windows_core::Result<()>;
7780 fn ShortcutKeyDescription(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
7781 fn Icon(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
7782 fn Kind(&self, value: *mut COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND) -> windows_core::Result<()>;
7783 fn SetIsEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
7784 fn IsEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
7785 fn SetIsChecked(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
7786 fn IsChecked(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
7787 fn Children(&self) -> windows_core::Result<ICoreWebView2ContextMenuItemCollection>;
7788 fn add_CustomItemSelected(
7789 &self,
7790 eventhandler: windows_core::Ref<ICoreWebView2CustomItemSelectedEventHandler>,
7791 token: *mut i64,
7792 ) -> windows_core::Result<()>;
7793 fn remove_CustomItemSelected(&self, token: i64) -> windows_core::Result<()>;
7794}
7795impl ICoreWebView2ContextMenuItem_Vtbl {
7796 pub const fn new<Identity: ICoreWebView2ContextMenuItem_Impl, const OFFSET: isize>() -> Self {
7797 unsafe extern "system" fn Name<
7798 Identity: ICoreWebView2ContextMenuItem_Impl,
7799 const OFFSET: isize,
7800 >(
7801 this: *mut core::ffi::c_void,
7802 value: *mut windows_core::PWSTR,
7803 ) -> windows_core::HRESULT {
7804 unsafe {
7805 let this: &Identity =
7806 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7807 ICoreWebView2ContextMenuItem_Impl::Name(this, core::mem::transmute_copy(&value))
7808 .into()
7809 }
7810 }
7811 unsafe extern "system" fn Label<
7812 Identity: ICoreWebView2ContextMenuItem_Impl,
7813 const OFFSET: isize,
7814 >(
7815 this: *mut core::ffi::c_void,
7816 value: *mut windows_core::PWSTR,
7817 ) -> windows_core::HRESULT {
7818 unsafe {
7819 let this: &Identity =
7820 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7821 ICoreWebView2ContextMenuItem_Impl::Label(this, core::mem::transmute_copy(&value))
7822 .into()
7823 }
7824 }
7825 unsafe extern "system" fn CommandId<
7826 Identity: ICoreWebView2ContextMenuItem_Impl,
7827 const OFFSET: isize,
7828 >(
7829 this: *mut core::ffi::c_void,
7830 value: *mut i32,
7831 ) -> windows_core::HRESULT {
7832 unsafe {
7833 let this: &Identity =
7834 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7835 ICoreWebView2ContextMenuItem_Impl::CommandId(
7836 this,
7837 core::mem::transmute_copy(&value),
7838 )
7839 .into()
7840 }
7841 }
7842 unsafe extern "system" fn ShortcutKeyDescription<
7843 Identity: ICoreWebView2ContextMenuItem_Impl,
7844 const OFFSET: isize,
7845 >(
7846 this: *mut core::ffi::c_void,
7847 value: *mut windows_core::PWSTR,
7848 ) -> windows_core::HRESULT {
7849 unsafe {
7850 let this: &Identity =
7851 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7852 ICoreWebView2ContextMenuItem_Impl::ShortcutKeyDescription(
7853 this,
7854 core::mem::transmute_copy(&value),
7855 )
7856 .into()
7857 }
7858 }
7859 unsafe extern "system" fn Icon<
7860 Identity: ICoreWebView2ContextMenuItem_Impl,
7861 const OFFSET: isize,
7862 >(
7863 this: *mut core::ffi::c_void,
7864 value: *mut *mut core::ffi::c_void,
7865 ) -> windows_core::HRESULT {
7866 unsafe {
7867 let this: &Identity =
7868 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7869 match ICoreWebView2ContextMenuItem_Impl::Icon(this) {
7870 Ok(ok__) => {
7871 value.write(core::mem::transmute(ok__));
7872 windows_core::HRESULT(0)
7873 }
7874 Err(err) => err.into(),
7875 }
7876 }
7877 }
7878 unsafe extern "system" fn Kind<
7879 Identity: ICoreWebView2ContextMenuItem_Impl,
7880 const OFFSET: isize,
7881 >(
7882 this: *mut core::ffi::c_void,
7883 value: *mut COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
7884 ) -> windows_core::HRESULT {
7885 unsafe {
7886 let this: &Identity =
7887 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7888 ICoreWebView2ContextMenuItem_Impl::Kind(this, core::mem::transmute_copy(&value))
7889 .into()
7890 }
7891 }
7892 unsafe extern "system" fn SetIsEnabled<
7893 Identity: ICoreWebView2ContextMenuItem_Impl,
7894 const OFFSET: isize,
7895 >(
7896 this: *mut core::ffi::c_void,
7897 value: windows_core::BOOL,
7898 ) -> windows_core::HRESULT {
7899 unsafe {
7900 let this: &Identity =
7901 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7902 ICoreWebView2ContextMenuItem_Impl::SetIsEnabled(
7903 this,
7904 core::mem::transmute_copy(&value),
7905 )
7906 .into()
7907 }
7908 }
7909 unsafe extern "system" fn IsEnabled<
7910 Identity: ICoreWebView2ContextMenuItem_Impl,
7911 const OFFSET: isize,
7912 >(
7913 this: *mut core::ffi::c_void,
7914 value: *mut windows_core::BOOL,
7915 ) -> windows_core::HRESULT {
7916 unsafe {
7917 let this: &Identity =
7918 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7919 ICoreWebView2ContextMenuItem_Impl::IsEnabled(
7920 this,
7921 core::mem::transmute_copy(&value),
7922 )
7923 .into()
7924 }
7925 }
7926 unsafe extern "system" fn SetIsChecked<
7927 Identity: ICoreWebView2ContextMenuItem_Impl,
7928 const OFFSET: isize,
7929 >(
7930 this: *mut core::ffi::c_void,
7931 value: windows_core::BOOL,
7932 ) -> windows_core::HRESULT {
7933 unsafe {
7934 let this: &Identity =
7935 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7936 ICoreWebView2ContextMenuItem_Impl::SetIsChecked(
7937 this,
7938 core::mem::transmute_copy(&value),
7939 )
7940 .into()
7941 }
7942 }
7943 unsafe extern "system" fn IsChecked<
7944 Identity: ICoreWebView2ContextMenuItem_Impl,
7945 const OFFSET: isize,
7946 >(
7947 this: *mut core::ffi::c_void,
7948 value: *mut windows_core::BOOL,
7949 ) -> windows_core::HRESULT {
7950 unsafe {
7951 let this: &Identity =
7952 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7953 ICoreWebView2ContextMenuItem_Impl::IsChecked(
7954 this,
7955 core::mem::transmute_copy(&value),
7956 )
7957 .into()
7958 }
7959 }
7960 unsafe extern "system" fn Children<
7961 Identity: ICoreWebView2ContextMenuItem_Impl,
7962 const OFFSET: isize,
7963 >(
7964 this: *mut core::ffi::c_void,
7965 value: *mut *mut core::ffi::c_void,
7966 ) -> windows_core::HRESULT {
7967 unsafe {
7968 let this: &Identity =
7969 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7970 match ICoreWebView2ContextMenuItem_Impl::Children(this) {
7971 Ok(ok__) => {
7972 value.write(core::mem::transmute(ok__));
7973 windows_core::HRESULT(0)
7974 }
7975 Err(err) => err.into(),
7976 }
7977 }
7978 }
7979 unsafe extern "system" fn add_CustomItemSelected<
7980 Identity: ICoreWebView2ContextMenuItem_Impl,
7981 const OFFSET: isize,
7982 >(
7983 this: *mut core::ffi::c_void,
7984 eventhandler: *mut core::ffi::c_void,
7985 token: *mut i64,
7986 ) -> windows_core::HRESULT {
7987 unsafe {
7988 let this: &Identity =
7989 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7990 ICoreWebView2ContextMenuItem_Impl::add_CustomItemSelected(
7991 this,
7992 core::mem::transmute_copy(&eventhandler),
7993 core::mem::transmute_copy(&token),
7994 )
7995 .into()
7996 }
7997 }
7998 unsafe extern "system" fn remove_CustomItemSelected<
7999 Identity: ICoreWebView2ContextMenuItem_Impl,
8000 const OFFSET: isize,
8001 >(
8002 this: *mut core::ffi::c_void,
8003 token: i64,
8004 ) -> windows_core::HRESULT {
8005 unsafe {
8006 let this: &Identity =
8007 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8008 ICoreWebView2ContextMenuItem_Impl::remove_CustomItemSelected(
8009 this,
8010 core::mem::transmute_copy(&token),
8011 )
8012 .into()
8013 }
8014 }
8015 Self {
8016 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8017 Name: Name::<Identity, OFFSET>,
8018 Label: Label::<Identity, OFFSET>,
8019 CommandId: CommandId::<Identity, OFFSET>,
8020 ShortcutKeyDescription: ShortcutKeyDescription::<Identity, OFFSET>,
8021 Icon: Icon::<Identity, OFFSET>,
8022 Kind: Kind::<Identity, OFFSET>,
8023 SetIsEnabled: SetIsEnabled::<Identity, OFFSET>,
8024 IsEnabled: IsEnabled::<Identity, OFFSET>,
8025 SetIsChecked: SetIsChecked::<Identity, OFFSET>,
8026 IsChecked: IsChecked::<Identity, OFFSET>,
8027 Children: Children::<Identity, OFFSET>,
8028 add_CustomItemSelected: add_CustomItemSelected::<Identity, OFFSET>,
8029 remove_CustomItemSelected: remove_CustomItemSelected::<Identity, OFFSET>,
8030 }
8031 }
8032 pub fn matches(iid: &windows_core::GUID) -> bool {
8033 iid == &<ICoreWebView2ContextMenuItem as windows_core::Interface>::IID
8034 }
8035}
8036impl windows_core::RuntimeName for ICoreWebView2ContextMenuItem {}
8037windows_core::imp::define_interface!(
8038 ICoreWebView2ContextMenuItemCollection,
8039 ICoreWebView2ContextMenuItemCollection_Vtbl,
8040 0xf562a2f5_c415_45cf_b909_d4b7c1e276d3
8041);
8042windows_core::imp::interface_hierarchy!(
8043 ICoreWebView2ContextMenuItemCollection,
8044 windows_core::IUnknown
8045);
8046impl ICoreWebView2ContextMenuItemCollection {
8047 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
8048 unsafe {
8049 (windows_core::Interface::vtable(self).Count)(
8050 windows_core::Interface::as_raw(self),
8051 value as _,
8052 )
8053 .ok()
8054 }
8055 }
8056 pub unsafe fn GetValueAtIndex(
8057 &self,
8058 index: u32,
8059 ) -> windows_core::Result<ICoreWebView2ContextMenuItem> {
8060 unsafe {
8061 let mut result__ = core::mem::zeroed();
8062 (windows_core::Interface::vtable(self).GetValueAtIndex)(
8063 windows_core::Interface::as_raw(self),
8064 index,
8065 &mut result__,
8066 )
8067 .and_then(|| windows_core::Type::from_abi(result__))
8068 }
8069 }
8070 pub unsafe fn RemoveValueAtIndex(&self, index: u32) -> windows_core::Result<()> {
8071 unsafe {
8072 (windows_core::Interface::vtable(self).RemoveValueAtIndex)(
8073 windows_core::Interface::as_raw(self),
8074 index,
8075 )
8076 .ok()
8077 }
8078 }
8079 pub unsafe fn InsertValueAtIndex<P1>(&self, index: u32, value: P1) -> windows_core::Result<()>
8080 where
8081 P1: windows_core::Param<ICoreWebView2ContextMenuItem>,
8082 {
8083 unsafe {
8084 (windows_core::Interface::vtable(self).InsertValueAtIndex)(
8085 windows_core::Interface::as_raw(self),
8086 index,
8087 value.param().abi(),
8088 )
8089 .ok()
8090 }
8091 }
8092}
8093#[repr(C)]
8094#[doc(hidden)]
8095pub struct ICoreWebView2ContextMenuItemCollection_Vtbl {
8096 pub base__: windows_core::IUnknown_Vtbl,
8097 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
8098 pub GetValueAtIndex: unsafe extern "system" fn(
8099 *mut core::ffi::c_void,
8100 u32,
8101 *mut *mut core::ffi::c_void,
8102 ) -> windows_core::HRESULT,
8103 pub RemoveValueAtIndex:
8104 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
8105 pub InsertValueAtIndex: unsafe extern "system" fn(
8106 *mut core::ffi::c_void,
8107 u32,
8108 *mut core::ffi::c_void,
8109 ) -> windows_core::HRESULT,
8110}
8111pub trait ICoreWebView2ContextMenuItemCollection_Impl: windows_core::IUnknownImpl {
8112 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
8113 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2ContextMenuItem>;
8114 fn RemoveValueAtIndex(&self, index: u32) -> windows_core::Result<()>;
8115 fn InsertValueAtIndex(
8116 &self,
8117 index: u32,
8118 value: windows_core::Ref<ICoreWebView2ContextMenuItem>,
8119 ) -> windows_core::Result<()>;
8120}
8121impl ICoreWebView2ContextMenuItemCollection_Vtbl {
8122 pub const fn new<Identity: ICoreWebView2ContextMenuItemCollection_Impl, const OFFSET: isize>(
8123 ) -> Self {
8124 unsafe extern "system" fn Count<
8125 Identity: ICoreWebView2ContextMenuItemCollection_Impl,
8126 const OFFSET: isize,
8127 >(
8128 this: *mut core::ffi::c_void,
8129 value: *mut u32,
8130 ) -> windows_core::HRESULT {
8131 unsafe {
8132 let this: &Identity =
8133 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8134 ICoreWebView2ContextMenuItemCollection_Impl::Count(
8135 this,
8136 core::mem::transmute_copy(&value),
8137 )
8138 .into()
8139 }
8140 }
8141 unsafe extern "system" fn GetValueAtIndex<
8142 Identity: ICoreWebView2ContextMenuItemCollection_Impl,
8143 const OFFSET: isize,
8144 >(
8145 this: *mut core::ffi::c_void,
8146 index: u32,
8147 value: *mut *mut core::ffi::c_void,
8148 ) -> windows_core::HRESULT {
8149 unsafe {
8150 let this: &Identity =
8151 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8152 match ICoreWebView2ContextMenuItemCollection_Impl::GetValueAtIndex(
8153 this,
8154 core::mem::transmute_copy(&index),
8155 ) {
8156 Ok(ok__) => {
8157 value.write(core::mem::transmute(ok__));
8158 windows_core::HRESULT(0)
8159 }
8160 Err(err) => err.into(),
8161 }
8162 }
8163 }
8164 unsafe extern "system" fn RemoveValueAtIndex<
8165 Identity: ICoreWebView2ContextMenuItemCollection_Impl,
8166 const OFFSET: isize,
8167 >(
8168 this: *mut core::ffi::c_void,
8169 index: u32,
8170 ) -> windows_core::HRESULT {
8171 unsafe {
8172 let this: &Identity =
8173 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8174 ICoreWebView2ContextMenuItemCollection_Impl::RemoveValueAtIndex(
8175 this,
8176 core::mem::transmute_copy(&index),
8177 )
8178 .into()
8179 }
8180 }
8181 unsafe extern "system" fn InsertValueAtIndex<
8182 Identity: ICoreWebView2ContextMenuItemCollection_Impl,
8183 const OFFSET: isize,
8184 >(
8185 this: *mut core::ffi::c_void,
8186 index: u32,
8187 value: *mut core::ffi::c_void,
8188 ) -> windows_core::HRESULT {
8189 unsafe {
8190 let this: &Identity =
8191 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8192 ICoreWebView2ContextMenuItemCollection_Impl::InsertValueAtIndex(
8193 this,
8194 core::mem::transmute_copy(&index),
8195 core::mem::transmute_copy(&value),
8196 )
8197 .into()
8198 }
8199 }
8200 Self {
8201 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8202 Count: Count::<Identity, OFFSET>,
8203 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
8204 RemoveValueAtIndex: RemoveValueAtIndex::<Identity, OFFSET>,
8205 InsertValueAtIndex: InsertValueAtIndex::<Identity, OFFSET>,
8206 }
8207 }
8208 pub fn matches(iid: &windows_core::GUID) -> bool {
8209 iid == &<ICoreWebView2ContextMenuItemCollection as windows_core::Interface>::IID
8210 }
8211}
8212impl windows_core::RuntimeName for ICoreWebView2ContextMenuItemCollection {}
8213windows_core::imp::define_interface!(
8214 ICoreWebView2ContextMenuRequestedEventArgs,
8215 ICoreWebView2ContextMenuRequestedEventArgs_Vtbl,
8216 0xa1d309ee_c03f_11eb_8529_0242ac130003
8217);
8218windows_core::imp::interface_hierarchy!(
8219 ICoreWebView2ContextMenuRequestedEventArgs,
8220 windows_core::IUnknown
8221);
8222impl ICoreWebView2ContextMenuRequestedEventArgs {
8223 pub unsafe fn MenuItems(&self) -> windows_core::Result<ICoreWebView2ContextMenuItemCollection> {
8224 unsafe {
8225 let mut result__ = core::mem::zeroed();
8226 (windows_core::Interface::vtable(self).MenuItems)(
8227 windows_core::Interface::as_raw(self),
8228 &mut result__,
8229 )
8230 .and_then(|| windows_core::Type::from_abi(result__))
8231 }
8232 }
8233 pub unsafe fn ContextMenuTarget(&self) -> windows_core::Result<ICoreWebView2ContextMenuTarget> {
8234 unsafe {
8235 let mut result__ = core::mem::zeroed();
8236 (windows_core::Interface::vtable(self).ContextMenuTarget)(
8237 windows_core::Interface::as_raw(self),
8238 &mut result__,
8239 )
8240 .and_then(|| windows_core::Type::from_abi(result__))
8241 }
8242 }
8243 pub unsafe fn Location(
8244 &self,
8245 value: *mut windows::Win32::Foundation::POINT,
8246 ) -> windows_core::Result<()> {
8247 unsafe {
8248 (windows_core::Interface::vtable(self).Location)(
8249 windows_core::Interface::as_raw(self),
8250 value as _,
8251 )
8252 .ok()
8253 }
8254 }
8255 pub unsafe fn SetSelectedCommandId(&self, value: i32) -> windows_core::Result<()> {
8256 unsafe {
8257 (windows_core::Interface::vtable(self).SetSelectedCommandId)(
8258 windows_core::Interface::as_raw(self),
8259 value,
8260 )
8261 .ok()
8262 }
8263 }
8264 pub unsafe fn SelectedCommandId(&self, value: *mut i32) -> windows_core::Result<()> {
8265 unsafe {
8266 (windows_core::Interface::vtable(self).SelectedCommandId)(
8267 windows_core::Interface::as_raw(self),
8268 value as _,
8269 )
8270 .ok()
8271 }
8272 }
8273 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
8274 unsafe {
8275 (windows_core::Interface::vtable(self).SetHandled)(
8276 windows_core::Interface::as_raw(self),
8277 value.into(),
8278 )
8279 .ok()
8280 }
8281 }
8282 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8283 unsafe {
8284 (windows_core::Interface::vtable(self).Handled)(
8285 windows_core::Interface::as_raw(self),
8286 value as _,
8287 )
8288 .ok()
8289 }
8290 }
8291 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
8292 unsafe {
8293 let mut result__ = core::mem::zeroed();
8294 (windows_core::Interface::vtable(self).GetDeferral)(
8295 windows_core::Interface::as_raw(self),
8296 &mut result__,
8297 )
8298 .and_then(|| windows_core::Type::from_abi(result__))
8299 }
8300 }
8301}
8302#[repr(C)]
8303#[doc(hidden)]
8304pub struct ICoreWebView2ContextMenuRequestedEventArgs_Vtbl {
8305 pub base__: windows_core::IUnknown_Vtbl,
8306 pub MenuItems: unsafe extern "system" fn(
8307 *mut core::ffi::c_void,
8308 *mut *mut core::ffi::c_void,
8309 ) -> windows_core::HRESULT,
8310 pub ContextMenuTarget: unsafe extern "system" fn(
8311 *mut core::ffi::c_void,
8312 *mut *mut core::ffi::c_void,
8313 ) -> windows_core::HRESULT,
8314 pub Location: unsafe extern "system" fn(
8315 *mut core::ffi::c_void,
8316 *mut windows::Win32::Foundation::POINT,
8317 ) -> windows_core::HRESULT,
8318 pub SetSelectedCommandId:
8319 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
8320 pub SelectedCommandId:
8321 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
8322 pub SetHandled: unsafe extern "system" fn(
8323 *mut core::ffi::c_void,
8324 windows_core::BOOL,
8325 ) -> windows_core::HRESULT,
8326 pub Handled: unsafe extern "system" fn(
8327 *mut core::ffi::c_void,
8328 *mut windows_core::BOOL,
8329 ) -> windows_core::HRESULT,
8330 pub GetDeferral: unsafe extern "system" fn(
8331 *mut core::ffi::c_void,
8332 *mut *mut core::ffi::c_void,
8333 ) -> windows_core::HRESULT,
8334}
8335pub trait ICoreWebView2ContextMenuRequestedEventArgs_Impl: windows_core::IUnknownImpl {
8336 fn MenuItems(&self) -> windows_core::Result<ICoreWebView2ContextMenuItemCollection>;
8337 fn ContextMenuTarget(&self) -> windows_core::Result<ICoreWebView2ContextMenuTarget>;
8338 fn Location(&self, value: *mut windows::Win32::Foundation::POINT) -> windows_core::Result<()>;
8339 fn SetSelectedCommandId(&self, value: i32) -> windows_core::Result<()>;
8340 fn SelectedCommandId(&self, value: *mut i32) -> windows_core::Result<()>;
8341 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
8342 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8343 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
8344}
8345impl ICoreWebView2ContextMenuRequestedEventArgs_Vtbl {
8346 pub const fn new<
8347 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8348 const OFFSET: isize,
8349 >() -> Self {
8350 unsafe extern "system" fn MenuItems<
8351 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8352 const OFFSET: isize,
8353 >(
8354 this: *mut core::ffi::c_void,
8355 value: *mut *mut core::ffi::c_void,
8356 ) -> windows_core::HRESULT {
8357 unsafe {
8358 let this: &Identity =
8359 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8360 match ICoreWebView2ContextMenuRequestedEventArgs_Impl::MenuItems(this) {
8361 Ok(ok__) => {
8362 value.write(core::mem::transmute(ok__));
8363 windows_core::HRESULT(0)
8364 }
8365 Err(err) => err.into(),
8366 }
8367 }
8368 }
8369 unsafe extern "system" fn ContextMenuTarget<
8370 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8371 const OFFSET: isize,
8372 >(
8373 this: *mut core::ffi::c_void,
8374 value: *mut *mut core::ffi::c_void,
8375 ) -> windows_core::HRESULT {
8376 unsafe {
8377 let this: &Identity =
8378 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8379 match ICoreWebView2ContextMenuRequestedEventArgs_Impl::ContextMenuTarget(this) {
8380 Ok(ok__) => {
8381 value.write(core::mem::transmute(ok__));
8382 windows_core::HRESULT(0)
8383 }
8384 Err(err) => err.into(),
8385 }
8386 }
8387 }
8388 unsafe extern "system" fn Location<
8389 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8390 const OFFSET: isize,
8391 >(
8392 this: *mut core::ffi::c_void,
8393 value: *mut windows::Win32::Foundation::POINT,
8394 ) -> windows_core::HRESULT {
8395 unsafe {
8396 let this: &Identity =
8397 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8398 ICoreWebView2ContextMenuRequestedEventArgs_Impl::Location(
8399 this,
8400 core::mem::transmute_copy(&value),
8401 )
8402 .into()
8403 }
8404 }
8405 unsafe extern "system" fn SetSelectedCommandId<
8406 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8407 const OFFSET: isize,
8408 >(
8409 this: *mut core::ffi::c_void,
8410 value: i32,
8411 ) -> windows_core::HRESULT {
8412 unsafe {
8413 let this: &Identity =
8414 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8415 ICoreWebView2ContextMenuRequestedEventArgs_Impl::SetSelectedCommandId(
8416 this,
8417 core::mem::transmute_copy(&value),
8418 )
8419 .into()
8420 }
8421 }
8422 unsafe extern "system" fn SelectedCommandId<
8423 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8424 const OFFSET: isize,
8425 >(
8426 this: *mut core::ffi::c_void,
8427 value: *mut i32,
8428 ) -> windows_core::HRESULT {
8429 unsafe {
8430 let this: &Identity =
8431 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8432 ICoreWebView2ContextMenuRequestedEventArgs_Impl::SelectedCommandId(
8433 this,
8434 core::mem::transmute_copy(&value),
8435 )
8436 .into()
8437 }
8438 }
8439 unsafe extern "system" fn SetHandled<
8440 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8441 const OFFSET: isize,
8442 >(
8443 this: *mut core::ffi::c_void,
8444 value: windows_core::BOOL,
8445 ) -> windows_core::HRESULT {
8446 unsafe {
8447 let this: &Identity =
8448 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8449 ICoreWebView2ContextMenuRequestedEventArgs_Impl::SetHandled(
8450 this,
8451 core::mem::transmute_copy(&value),
8452 )
8453 .into()
8454 }
8455 }
8456 unsafe extern "system" fn Handled<
8457 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8458 const OFFSET: isize,
8459 >(
8460 this: *mut core::ffi::c_void,
8461 value: *mut windows_core::BOOL,
8462 ) -> windows_core::HRESULT {
8463 unsafe {
8464 let this: &Identity =
8465 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8466 ICoreWebView2ContextMenuRequestedEventArgs_Impl::Handled(
8467 this,
8468 core::mem::transmute_copy(&value),
8469 )
8470 .into()
8471 }
8472 }
8473 unsafe extern "system" fn GetDeferral<
8474 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8475 const OFFSET: isize,
8476 >(
8477 this: *mut core::ffi::c_void,
8478 deferral: *mut *mut core::ffi::c_void,
8479 ) -> windows_core::HRESULT {
8480 unsafe {
8481 let this: &Identity =
8482 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8483 match ICoreWebView2ContextMenuRequestedEventArgs_Impl::GetDeferral(this) {
8484 Ok(ok__) => {
8485 deferral.write(core::mem::transmute(ok__));
8486 windows_core::HRESULT(0)
8487 }
8488 Err(err) => err.into(),
8489 }
8490 }
8491 }
8492 Self {
8493 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8494 MenuItems: MenuItems::<Identity, OFFSET>,
8495 ContextMenuTarget: ContextMenuTarget::<Identity, OFFSET>,
8496 Location: Location::<Identity, OFFSET>,
8497 SetSelectedCommandId: SetSelectedCommandId::<Identity, OFFSET>,
8498 SelectedCommandId: SelectedCommandId::<Identity, OFFSET>,
8499 SetHandled: SetHandled::<Identity, OFFSET>,
8500 Handled: Handled::<Identity, OFFSET>,
8501 GetDeferral: GetDeferral::<Identity, OFFSET>,
8502 }
8503 }
8504 pub fn matches(iid: &windows_core::GUID) -> bool {
8505 iid == &<ICoreWebView2ContextMenuRequestedEventArgs as windows_core::Interface>::IID
8506 }
8507}
8508impl windows_core::RuntimeName for ICoreWebView2ContextMenuRequestedEventArgs {}
8509windows_core::imp::define_interface!(
8510 ICoreWebView2ContextMenuRequestedEventHandler,
8511 ICoreWebView2ContextMenuRequestedEventHandler_Vtbl,
8512 0x04d3fe1d_ab87_42fb_a898_da241d35b63c
8513);
8514windows_core::imp::interface_hierarchy!(
8515 ICoreWebView2ContextMenuRequestedEventHandler,
8516 windows_core::IUnknown
8517);
8518impl ICoreWebView2ContextMenuRequestedEventHandler {
8519 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
8520 where
8521 P0: windows_core::Param<ICoreWebView2>,
8522 P1: windows_core::Param<ICoreWebView2ContextMenuRequestedEventArgs>,
8523 {
8524 unsafe {
8525 (windows_core::Interface::vtable(self).Invoke)(
8526 windows_core::Interface::as_raw(self),
8527 sender.param().abi(),
8528 args.param().abi(),
8529 )
8530 .ok()
8531 }
8532 }
8533}
8534#[repr(C)]
8535#[doc(hidden)]
8536pub struct ICoreWebView2ContextMenuRequestedEventHandler_Vtbl {
8537 pub base__: windows_core::IUnknown_Vtbl,
8538 pub Invoke: unsafe extern "system" fn(
8539 *mut core::ffi::c_void,
8540 *mut core::ffi::c_void,
8541 *mut core::ffi::c_void,
8542 ) -> windows_core::HRESULT,
8543}
8544pub trait ICoreWebView2ContextMenuRequestedEventHandler_Impl: windows_core::IUnknownImpl {
8545 fn Invoke(
8546 &self,
8547 sender: windows_core::Ref<ICoreWebView2>,
8548 args: windows_core::Ref<ICoreWebView2ContextMenuRequestedEventArgs>,
8549 ) -> windows_core::Result<()>;
8550}
8551impl ICoreWebView2ContextMenuRequestedEventHandler_Vtbl {
8552 pub const fn new<
8553 Identity: ICoreWebView2ContextMenuRequestedEventHandler_Impl,
8554 const OFFSET: isize,
8555 >() -> Self {
8556 unsafe extern "system" fn Invoke<
8557 Identity: ICoreWebView2ContextMenuRequestedEventHandler_Impl,
8558 const OFFSET: isize,
8559 >(
8560 this: *mut core::ffi::c_void,
8561 sender: *mut core::ffi::c_void,
8562 args: *mut core::ffi::c_void,
8563 ) -> windows_core::HRESULT {
8564 unsafe {
8565 let this: &Identity =
8566 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8567 ICoreWebView2ContextMenuRequestedEventHandler_Impl::Invoke(
8568 this,
8569 core::mem::transmute_copy(&sender),
8570 core::mem::transmute_copy(&args),
8571 )
8572 .into()
8573 }
8574 }
8575 Self {
8576 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8577 Invoke: Invoke::<Identity, OFFSET>,
8578 }
8579 }
8580 pub fn matches(iid: &windows_core::GUID) -> bool {
8581 iid == &<ICoreWebView2ContextMenuRequestedEventHandler as windows_core::Interface>::IID
8582 }
8583}
8584impl windows_core::RuntimeName for ICoreWebView2ContextMenuRequestedEventHandler {}
8585windows_core::imp::define_interface!(
8586 ICoreWebView2ContextMenuTarget,
8587 ICoreWebView2ContextMenuTarget_Vtbl,
8588 0xb8611d99_eed6_4f3f_902c_a198502ad472
8589);
8590windows_core::imp::interface_hierarchy!(ICoreWebView2ContextMenuTarget, windows_core::IUnknown);
8591impl ICoreWebView2ContextMenuTarget {
8592 pub unsafe fn Kind(
8593 &self,
8594 value: *mut COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND,
8595 ) -> windows_core::Result<()> {
8596 unsafe {
8597 (windows_core::Interface::vtable(self).Kind)(
8598 windows_core::Interface::as_raw(self),
8599 value as _,
8600 )
8601 .ok()
8602 }
8603 }
8604 pub unsafe fn IsEditable(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8605 unsafe {
8606 (windows_core::Interface::vtable(self).IsEditable)(
8607 windows_core::Interface::as_raw(self),
8608 value as _,
8609 )
8610 .ok()
8611 }
8612 }
8613 pub unsafe fn IsRequestedForMainFrame(
8614 &self,
8615 value: *mut windows_core::BOOL,
8616 ) -> windows_core::Result<()> {
8617 unsafe {
8618 (windows_core::Interface::vtable(self).IsRequestedForMainFrame)(
8619 windows_core::Interface::as_raw(self),
8620 value as _,
8621 )
8622 .ok()
8623 }
8624 }
8625 pub unsafe fn PageUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8626 unsafe {
8627 (windows_core::Interface::vtable(self).PageUri)(
8628 windows_core::Interface::as_raw(self),
8629 value as _,
8630 )
8631 .ok()
8632 }
8633 }
8634 pub unsafe fn FrameUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8635 unsafe {
8636 (windows_core::Interface::vtable(self).FrameUri)(
8637 windows_core::Interface::as_raw(self),
8638 value as _,
8639 )
8640 .ok()
8641 }
8642 }
8643 pub unsafe fn HasLinkUri(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8644 unsafe {
8645 (windows_core::Interface::vtable(self).HasLinkUri)(
8646 windows_core::Interface::as_raw(self),
8647 value as _,
8648 )
8649 .ok()
8650 }
8651 }
8652 pub unsafe fn LinkUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8653 unsafe {
8654 (windows_core::Interface::vtable(self).LinkUri)(
8655 windows_core::Interface::as_raw(self),
8656 value as _,
8657 )
8658 .ok()
8659 }
8660 }
8661 pub unsafe fn HasLinkText(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8662 unsafe {
8663 (windows_core::Interface::vtable(self).HasLinkText)(
8664 windows_core::Interface::as_raw(self),
8665 value as _,
8666 )
8667 .ok()
8668 }
8669 }
8670 pub unsafe fn LinkText(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8671 unsafe {
8672 (windows_core::Interface::vtable(self).LinkText)(
8673 windows_core::Interface::as_raw(self),
8674 value as _,
8675 )
8676 .ok()
8677 }
8678 }
8679 pub unsafe fn HasSourceUri(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8680 unsafe {
8681 (windows_core::Interface::vtable(self).HasSourceUri)(
8682 windows_core::Interface::as_raw(self),
8683 value as _,
8684 )
8685 .ok()
8686 }
8687 }
8688 pub unsafe fn SourceUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8689 unsafe {
8690 (windows_core::Interface::vtable(self).SourceUri)(
8691 windows_core::Interface::as_raw(self),
8692 value as _,
8693 )
8694 .ok()
8695 }
8696 }
8697 pub unsafe fn HasSelection(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8698 unsafe {
8699 (windows_core::Interface::vtable(self).HasSelection)(
8700 windows_core::Interface::as_raw(self),
8701 value as _,
8702 )
8703 .ok()
8704 }
8705 }
8706 pub unsafe fn SelectionText(
8707 &self,
8708 value: *mut windows_core::PWSTR,
8709 ) -> windows_core::Result<()> {
8710 unsafe {
8711 (windows_core::Interface::vtable(self).SelectionText)(
8712 windows_core::Interface::as_raw(self),
8713 value as _,
8714 )
8715 .ok()
8716 }
8717 }
8718}
8719#[repr(C)]
8720#[doc(hidden)]
8721pub struct ICoreWebView2ContextMenuTarget_Vtbl {
8722 pub base__: windows_core::IUnknown_Vtbl,
8723 pub Kind: unsafe extern "system" fn(
8724 *mut core::ffi::c_void,
8725 *mut COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND,
8726 ) -> windows_core::HRESULT,
8727 pub IsEditable: unsafe extern "system" fn(
8728 *mut core::ffi::c_void,
8729 *mut windows_core::BOOL,
8730 ) -> windows_core::HRESULT,
8731 pub IsRequestedForMainFrame: unsafe extern "system" fn(
8732 *mut core::ffi::c_void,
8733 *mut windows_core::BOOL,
8734 ) -> windows_core::HRESULT,
8735 pub PageUri: unsafe extern "system" fn(
8736 *mut core::ffi::c_void,
8737 *mut windows_core::PWSTR,
8738 ) -> windows_core::HRESULT,
8739 pub FrameUri: unsafe extern "system" fn(
8740 *mut core::ffi::c_void,
8741 *mut windows_core::PWSTR,
8742 ) -> windows_core::HRESULT,
8743 pub HasLinkUri: unsafe extern "system" fn(
8744 *mut core::ffi::c_void,
8745 *mut windows_core::BOOL,
8746 ) -> windows_core::HRESULT,
8747 pub LinkUri: unsafe extern "system" fn(
8748 *mut core::ffi::c_void,
8749 *mut windows_core::PWSTR,
8750 ) -> windows_core::HRESULT,
8751 pub HasLinkText: unsafe extern "system" fn(
8752 *mut core::ffi::c_void,
8753 *mut windows_core::BOOL,
8754 ) -> windows_core::HRESULT,
8755 pub LinkText: unsafe extern "system" fn(
8756 *mut core::ffi::c_void,
8757 *mut windows_core::PWSTR,
8758 ) -> windows_core::HRESULT,
8759 pub HasSourceUri: unsafe extern "system" fn(
8760 *mut core::ffi::c_void,
8761 *mut windows_core::BOOL,
8762 ) -> windows_core::HRESULT,
8763 pub SourceUri: unsafe extern "system" fn(
8764 *mut core::ffi::c_void,
8765 *mut windows_core::PWSTR,
8766 ) -> windows_core::HRESULT,
8767 pub HasSelection: unsafe extern "system" fn(
8768 *mut core::ffi::c_void,
8769 *mut windows_core::BOOL,
8770 ) -> windows_core::HRESULT,
8771 pub SelectionText: unsafe extern "system" fn(
8772 *mut core::ffi::c_void,
8773 *mut windows_core::PWSTR,
8774 ) -> windows_core::HRESULT,
8775}
8776pub trait ICoreWebView2ContextMenuTarget_Impl: windows_core::IUnknownImpl {
8777 fn Kind(&self, value: *mut COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND) -> windows_core::Result<()>;
8778 fn IsEditable(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8779 fn IsRequestedForMainFrame(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8780 fn PageUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8781 fn FrameUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8782 fn HasLinkUri(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8783 fn LinkUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8784 fn HasLinkText(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8785 fn LinkText(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8786 fn HasSourceUri(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8787 fn SourceUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8788 fn HasSelection(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8789 fn SelectionText(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8790}
8791impl ICoreWebView2ContextMenuTarget_Vtbl {
8792 pub const fn new<Identity: ICoreWebView2ContextMenuTarget_Impl, const OFFSET: isize>() -> Self {
8793 unsafe extern "system" fn Kind<
8794 Identity: ICoreWebView2ContextMenuTarget_Impl,
8795 const OFFSET: isize,
8796 >(
8797 this: *mut core::ffi::c_void,
8798 value: *mut COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND,
8799 ) -> windows_core::HRESULT {
8800 unsafe {
8801 let this: &Identity =
8802 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8803 ICoreWebView2ContextMenuTarget_Impl::Kind(this, core::mem::transmute_copy(&value))
8804 .into()
8805 }
8806 }
8807 unsafe extern "system" fn IsEditable<
8808 Identity: ICoreWebView2ContextMenuTarget_Impl,
8809 const OFFSET: isize,
8810 >(
8811 this: *mut core::ffi::c_void,
8812 value: *mut windows_core::BOOL,
8813 ) -> windows_core::HRESULT {
8814 unsafe {
8815 let this: &Identity =
8816 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8817 ICoreWebView2ContextMenuTarget_Impl::IsEditable(
8818 this,
8819 core::mem::transmute_copy(&value),
8820 )
8821 .into()
8822 }
8823 }
8824 unsafe extern "system" fn IsRequestedForMainFrame<
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::IsRequestedForMainFrame(
8835 this,
8836 core::mem::transmute_copy(&value),
8837 )
8838 .into()
8839 }
8840 }
8841 unsafe extern "system" fn PageUri<
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::PageUri(
8852 this,
8853 core::mem::transmute_copy(&value),
8854 )
8855 .into()
8856 }
8857 }
8858 unsafe extern "system" fn FrameUri<
8859 Identity: ICoreWebView2ContextMenuTarget_Impl,
8860 const OFFSET: isize,
8861 >(
8862 this: *mut core::ffi::c_void,
8863 value: *mut windows_core::PWSTR,
8864 ) -> windows_core::HRESULT {
8865 unsafe {
8866 let this: &Identity =
8867 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8868 ICoreWebView2ContextMenuTarget_Impl::FrameUri(
8869 this,
8870 core::mem::transmute_copy(&value),
8871 )
8872 .into()
8873 }
8874 }
8875 unsafe extern "system" fn HasLinkUri<
8876 Identity: ICoreWebView2ContextMenuTarget_Impl,
8877 const OFFSET: isize,
8878 >(
8879 this: *mut core::ffi::c_void,
8880 value: *mut windows_core::BOOL,
8881 ) -> windows_core::HRESULT {
8882 unsafe {
8883 let this: &Identity =
8884 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8885 ICoreWebView2ContextMenuTarget_Impl::HasLinkUri(
8886 this,
8887 core::mem::transmute_copy(&value),
8888 )
8889 .into()
8890 }
8891 }
8892 unsafe extern "system" fn LinkUri<
8893 Identity: ICoreWebView2ContextMenuTarget_Impl,
8894 const OFFSET: isize,
8895 >(
8896 this: *mut core::ffi::c_void,
8897 value: *mut windows_core::PWSTR,
8898 ) -> windows_core::HRESULT {
8899 unsafe {
8900 let this: &Identity =
8901 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8902 ICoreWebView2ContextMenuTarget_Impl::LinkUri(
8903 this,
8904 core::mem::transmute_copy(&value),
8905 )
8906 .into()
8907 }
8908 }
8909 unsafe extern "system" fn HasLinkText<
8910 Identity: ICoreWebView2ContextMenuTarget_Impl,
8911 const OFFSET: isize,
8912 >(
8913 this: *mut core::ffi::c_void,
8914 value: *mut windows_core::BOOL,
8915 ) -> windows_core::HRESULT {
8916 unsafe {
8917 let this: &Identity =
8918 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8919 ICoreWebView2ContextMenuTarget_Impl::HasLinkText(
8920 this,
8921 core::mem::transmute_copy(&value),
8922 )
8923 .into()
8924 }
8925 }
8926 unsafe extern "system" fn LinkText<
8927 Identity: ICoreWebView2ContextMenuTarget_Impl,
8928 const OFFSET: isize,
8929 >(
8930 this: *mut core::ffi::c_void,
8931 value: *mut windows_core::PWSTR,
8932 ) -> windows_core::HRESULT {
8933 unsafe {
8934 let this: &Identity =
8935 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8936 ICoreWebView2ContextMenuTarget_Impl::LinkText(
8937 this,
8938 core::mem::transmute_copy(&value),
8939 )
8940 .into()
8941 }
8942 }
8943 unsafe extern "system" fn HasSourceUri<
8944 Identity: ICoreWebView2ContextMenuTarget_Impl,
8945 const OFFSET: isize,
8946 >(
8947 this: *mut core::ffi::c_void,
8948 value: *mut windows_core::BOOL,
8949 ) -> windows_core::HRESULT {
8950 unsafe {
8951 let this: &Identity =
8952 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8953 ICoreWebView2ContextMenuTarget_Impl::HasSourceUri(
8954 this,
8955 core::mem::transmute_copy(&value),
8956 )
8957 .into()
8958 }
8959 }
8960 unsafe extern "system" fn SourceUri<
8961 Identity: ICoreWebView2ContextMenuTarget_Impl,
8962 const OFFSET: isize,
8963 >(
8964 this: *mut core::ffi::c_void,
8965 value: *mut windows_core::PWSTR,
8966 ) -> windows_core::HRESULT {
8967 unsafe {
8968 let this: &Identity =
8969 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8970 ICoreWebView2ContextMenuTarget_Impl::SourceUri(
8971 this,
8972 core::mem::transmute_copy(&value),
8973 )
8974 .into()
8975 }
8976 }
8977 unsafe extern "system" fn HasSelection<
8978 Identity: ICoreWebView2ContextMenuTarget_Impl,
8979 const OFFSET: isize,
8980 >(
8981 this: *mut core::ffi::c_void,
8982 value: *mut windows_core::BOOL,
8983 ) -> windows_core::HRESULT {
8984 unsafe {
8985 let this: &Identity =
8986 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8987 ICoreWebView2ContextMenuTarget_Impl::HasSelection(
8988 this,
8989 core::mem::transmute_copy(&value),
8990 )
8991 .into()
8992 }
8993 }
8994 unsafe extern "system" fn SelectionText<
8995 Identity: ICoreWebView2ContextMenuTarget_Impl,
8996 const OFFSET: isize,
8997 >(
8998 this: *mut core::ffi::c_void,
8999 value: *mut windows_core::PWSTR,
9000 ) -> windows_core::HRESULT {
9001 unsafe {
9002 let this: &Identity =
9003 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9004 ICoreWebView2ContextMenuTarget_Impl::SelectionText(
9005 this,
9006 core::mem::transmute_copy(&value),
9007 )
9008 .into()
9009 }
9010 }
9011 Self {
9012 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
9013 Kind: Kind::<Identity, OFFSET>,
9014 IsEditable: IsEditable::<Identity, OFFSET>,
9015 IsRequestedForMainFrame: IsRequestedForMainFrame::<Identity, OFFSET>,
9016 PageUri: PageUri::<Identity, OFFSET>,
9017 FrameUri: FrameUri::<Identity, OFFSET>,
9018 HasLinkUri: HasLinkUri::<Identity, OFFSET>,
9019 LinkUri: LinkUri::<Identity, OFFSET>,
9020 HasLinkText: HasLinkText::<Identity, OFFSET>,
9021 LinkText: LinkText::<Identity, OFFSET>,
9022 HasSourceUri: HasSourceUri::<Identity, OFFSET>,
9023 SourceUri: SourceUri::<Identity, OFFSET>,
9024 HasSelection: HasSelection::<Identity, OFFSET>,
9025 SelectionText: SelectionText::<Identity, OFFSET>,
9026 }
9027 }
9028 pub fn matches(iid: &windows_core::GUID) -> bool {
9029 iid == &<ICoreWebView2ContextMenuTarget as windows_core::Interface>::IID
9030 }
9031}
9032impl windows_core::RuntimeName for ICoreWebView2ContextMenuTarget {}
9033windows_core::imp::define_interface!(
9034 ICoreWebView2Controller,
9035 ICoreWebView2Controller_Vtbl,
9036 0x4d00c0d1_9434_4eb6_8078_8697a560334f
9037);
9038windows_core::imp::interface_hierarchy!(ICoreWebView2Controller, windows_core::IUnknown);
9039impl ICoreWebView2Controller {
9040 pub unsafe fn IsVisible(&self, isvisible: *mut windows_core::BOOL) -> windows_core::Result<()> {
9041 unsafe {
9042 (windows_core::Interface::vtable(self).IsVisible)(
9043 windows_core::Interface::as_raw(self),
9044 isvisible as _,
9045 )
9046 .ok()
9047 }
9048 }
9049 pub unsafe fn SetIsVisible(&self, isvisible: bool) -> windows_core::Result<()> {
9050 unsafe {
9051 (windows_core::Interface::vtable(self).SetIsVisible)(
9052 windows_core::Interface::as_raw(self),
9053 isvisible.into(),
9054 )
9055 .ok()
9056 }
9057 }
9058 pub unsafe fn Bounds(
9059 &self,
9060 bounds: *mut windows::Win32::Foundation::RECT,
9061 ) -> windows_core::Result<()> {
9062 unsafe {
9063 (windows_core::Interface::vtable(self).Bounds)(
9064 windows_core::Interface::as_raw(self),
9065 bounds as _,
9066 )
9067 .ok()
9068 }
9069 }
9070 pub unsafe fn SetBounds(
9071 &self,
9072 bounds: windows::Win32::Foundation::RECT,
9073 ) -> windows_core::Result<()> {
9074 unsafe {
9075 (windows_core::Interface::vtable(self).SetBounds)(
9076 windows_core::Interface::as_raw(self),
9077 core::mem::transmute(bounds),
9078 )
9079 .ok()
9080 }
9081 }
9082 pub unsafe fn ZoomFactor(&self, zoomfactor: *mut f64) -> windows_core::Result<()> {
9083 unsafe {
9084 (windows_core::Interface::vtable(self).ZoomFactor)(
9085 windows_core::Interface::as_raw(self),
9086 zoomfactor as _,
9087 )
9088 .ok()
9089 }
9090 }
9091 pub unsafe fn SetZoomFactor(&self, zoomfactor: f64) -> windows_core::Result<()> {
9092 unsafe {
9093 (windows_core::Interface::vtable(self).SetZoomFactor)(
9094 windows_core::Interface::as_raw(self),
9095 zoomfactor,
9096 )
9097 .ok()
9098 }
9099 }
9100 pub unsafe fn add_ZoomFactorChanged<P0>(
9101 &self,
9102 eventhandler: P0,
9103 token: *mut i64,
9104 ) -> windows_core::Result<()>
9105 where
9106 P0: windows_core::Param<ICoreWebView2ZoomFactorChangedEventHandler>,
9107 {
9108 unsafe {
9109 (windows_core::Interface::vtable(self).add_ZoomFactorChanged)(
9110 windows_core::Interface::as_raw(self),
9111 eventhandler.param().abi(),
9112 token as _,
9113 )
9114 .ok()
9115 }
9116 }
9117 pub unsafe fn remove_ZoomFactorChanged(&self, token: i64) -> windows_core::Result<()> {
9118 unsafe {
9119 (windows_core::Interface::vtable(self).remove_ZoomFactorChanged)(
9120 windows_core::Interface::as_raw(self),
9121 token,
9122 )
9123 .ok()
9124 }
9125 }
9126 pub unsafe fn SetBoundsAndZoomFactor(
9127 &self,
9128 bounds: windows::Win32::Foundation::RECT,
9129 zoomfactor: f64,
9130 ) -> windows_core::Result<()> {
9131 unsafe {
9132 (windows_core::Interface::vtable(self).SetBoundsAndZoomFactor)(
9133 windows_core::Interface::as_raw(self),
9134 core::mem::transmute(bounds),
9135 zoomfactor,
9136 )
9137 .ok()
9138 }
9139 }
9140 pub unsafe fn MoveFocus(
9141 &self,
9142 reason: COREWEBVIEW2_MOVE_FOCUS_REASON,
9143 ) -> windows_core::Result<()> {
9144 unsafe {
9145 (windows_core::Interface::vtable(self).MoveFocus)(
9146 windows_core::Interface::as_raw(self),
9147 reason,
9148 )
9149 .ok()
9150 }
9151 }
9152 pub unsafe fn add_MoveFocusRequested<P0>(
9153 &self,
9154 eventhandler: P0,
9155 token: *mut i64,
9156 ) -> windows_core::Result<()>
9157 where
9158 P0: windows_core::Param<ICoreWebView2MoveFocusRequestedEventHandler>,
9159 {
9160 unsafe {
9161 (windows_core::Interface::vtable(self).add_MoveFocusRequested)(
9162 windows_core::Interface::as_raw(self),
9163 eventhandler.param().abi(),
9164 token as _,
9165 )
9166 .ok()
9167 }
9168 }
9169 pub unsafe fn remove_MoveFocusRequested(&self, token: i64) -> windows_core::Result<()> {
9170 unsafe {
9171 (windows_core::Interface::vtable(self).remove_MoveFocusRequested)(
9172 windows_core::Interface::as_raw(self),
9173 token,
9174 )
9175 .ok()
9176 }
9177 }
9178 pub unsafe fn add_GotFocus<P0>(
9179 &self,
9180 eventhandler: P0,
9181 token: *mut i64,
9182 ) -> windows_core::Result<()>
9183 where
9184 P0: windows_core::Param<ICoreWebView2FocusChangedEventHandler>,
9185 {
9186 unsafe {
9187 (windows_core::Interface::vtable(self).add_GotFocus)(
9188 windows_core::Interface::as_raw(self),
9189 eventhandler.param().abi(),
9190 token as _,
9191 )
9192 .ok()
9193 }
9194 }
9195 pub unsafe fn remove_GotFocus(&self, token: i64) -> windows_core::Result<()> {
9196 unsafe {
9197 (windows_core::Interface::vtable(self).remove_GotFocus)(
9198 windows_core::Interface::as_raw(self),
9199 token,
9200 )
9201 .ok()
9202 }
9203 }
9204 pub unsafe fn add_LostFocus<P0>(
9205 &self,
9206 eventhandler: P0,
9207 token: *mut i64,
9208 ) -> windows_core::Result<()>
9209 where
9210 P0: windows_core::Param<ICoreWebView2FocusChangedEventHandler>,
9211 {
9212 unsafe {
9213 (windows_core::Interface::vtable(self).add_LostFocus)(
9214 windows_core::Interface::as_raw(self),
9215 eventhandler.param().abi(),
9216 token as _,
9217 )
9218 .ok()
9219 }
9220 }
9221 pub unsafe fn remove_LostFocus(&self, token: i64) -> windows_core::Result<()> {
9222 unsafe {
9223 (windows_core::Interface::vtable(self).remove_LostFocus)(
9224 windows_core::Interface::as_raw(self),
9225 token,
9226 )
9227 .ok()
9228 }
9229 }
9230 pub unsafe fn add_AcceleratorKeyPressed<P0>(
9231 &self,
9232 eventhandler: P0,
9233 token: *mut i64,
9234 ) -> windows_core::Result<()>
9235 where
9236 P0: windows_core::Param<ICoreWebView2AcceleratorKeyPressedEventHandler>,
9237 {
9238 unsafe {
9239 (windows_core::Interface::vtable(self).add_AcceleratorKeyPressed)(
9240 windows_core::Interface::as_raw(self),
9241 eventhandler.param().abi(),
9242 token as _,
9243 )
9244 .ok()
9245 }
9246 }
9247 pub unsafe fn remove_AcceleratorKeyPressed(&self, token: i64) -> windows_core::Result<()> {
9248 unsafe {
9249 (windows_core::Interface::vtable(self).remove_AcceleratorKeyPressed)(
9250 windows_core::Interface::as_raw(self),
9251 token,
9252 )
9253 .ok()
9254 }
9255 }
9256 pub unsafe fn ParentWindow(
9257 &self,
9258 parentwindow: *mut windows::Win32::Foundation::HWND,
9259 ) -> windows_core::Result<()> {
9260 unsafe {
9261 (windows_core::Interface::vtable(self).ParentWindow)(
9262 windows_core::Interface::as_raw(self),
9263 parentwindow as _,
9264 )
9265 .ok()
9266 }
9267 }
9268 pub unsafe fn SetParentWindow(
9269 &self,
9270 parentwindow: windows::Win32::Foundation::HWND,
9271 ) -> windows_core::Result<()> {
9272 unsafe {
9273 (windows_core::Interface::vtable(self).SetParentWindow)(
9274 windows_core::Interface::as_raw(self),
9275 parentwindow,
9276 )
9277 .ok()
9278 }
9279 }
9280 pub unsafe fn NotifyParentWindowPositionChanged(&self) -> windows_core::Result<()> {
9281 unsafe {
9282 (windows_core::Interface::vtable(self).NotifyParentWindowPositionChanged)(
9283 windows_core::Interface::as_raw(self),
9284 )
9285 .ok()
9286 }
9287 }
9288 pub unsafe fn Close(&self) -> windows_core::Result<()> {
9289 unsafe {
9290 (windows_core::Interface::vtable(self).Close)(windows_core::Interface::as_raw(self))
9291 .ok()
9292 }
9293 }
9294 pub unsafe fn CoreWebView2(&self) -> windows_core::Result<ICoreWebView2> {
9295 unsafe {
9296 let mut result__ = core::mem::zeroed();
9297 (windows_core::Interface::vtable(self).CoreWebView2)(
9298 windows_core::Interface::as_raw(self),
9299 &mut result__,
9300 )
9301 .and_then(|| windows_core::Type::from_abi(result__))
9302 }
9303 }
9304}
9305#[repr(C)]
9306#[doc(hidden)]
9307pub struct ICoreWebView2Controller_Vtbl {
9308 pub base__: windows_core::IUnknown_Vtbl,
9309 pub IsVisible: unsafe extern "system" fn(
9310 *mut core::ffi::c_void,
9311 *mut windows_core::BOOL,
9312 ) -> windows_core::HRESULT,
9313 pub SetIsVisible: unsafe extern "system" fn(
9314 *mut core::ffi::c_void,
9315 windows_core::BOOL,
9316 ) -> windows_core::HRESULT,
9317 pub Bounds: unsafe extern "system" fn(
9318 *mut core::ffi::c_void,
9319 *mut windows::Win32::Foundation::RECT,
9320 ) -> windows_core::HRESULT,
9321 pub SetBounds: unsafe extern "system" fn(
9322 *mut core::ffi::c_void,
9323 windows::Win32::Foundation::RECT,
9324 ) -> windows_core::HRESULT,
9325 pub ZoomFactor:
9326 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
9327 pub SetZoomFactor:
9328 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
9329 pub add_ZoomFactorChanged: unsafe extern "system" fn(
9330 *mut core::ffi::c_void,
9331 *mut core::ffi::c_void,
9332 *mut i64,
9333 ) -> windows_core::HRESULT,
9334 pub remove_ZoomFactorChanged:
9335 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9336 pub SetBoundsAndZoomFactor: unsafe extern "system" fn(
9337 *mut core::ffi::c_void,
9338 windows::Win32::Foundation::RECT,
9339 f64,
9340 ) -> windows_core::HRESULT,
9341 pub MoveFocus: unsafe extern "system" fn(
9342 *mut core::ffi::c_void,
9343 COREWEBVIEW2_MOVE_FOCUS_REASON,
9344 ) -> windows_core::HRESULT,
9345 pub add_MoveFocusRequested: unsafe extern "system" fn(
9346 *mut core::ffi::c_void,
9347 *mut core::ffi::c_void,
9348 *mut i64,
9349 ) -> windows_core::HRESULT,
9350 pub remove_MoveFocusRequested:
9351 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9352 pub add_GotFocus: unsafe extern "system" fn(
9353 *mut core::ffi::c_void,
9354 *mut core::ffi::c_void,
9355 *mut i64,
9356 ) -> windows_core::HRESULT,
9357 pub remove_GotFocus:
9358 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9359 pub add_LostFocus: unsafe extern "system" fn(
9360 *mut core::ffi::c_void,
9361 *mut core::ffi::c_void,
9362 *mut i64,
9363 ) -> windows_core::HRESULT,
9364 pub remove_LostFocus:
9365 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9366 pub add_AcceleratorKeyPressed: unsafe extern "system" fn(
9367 *mut core::ffi::c_void,
9368 *mut core::ffi::c_void,
9369 *mut i64,
9370 ) -> windows_core::HRESULT,
9371 pub remove_AcceleratorKeyPressed:
9372 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9373 pub ParentWindow: unsafe extern "system" fn(
9374 *mut core::ffi::c_void,
9375 *mut windows::Win32::Foundation::HWND,
9376 ) -> windows_core::HRESULT,
9377 pub SetParentWindow: unsafe extern "system" fn(
9378 *mut core::ffi::c_void,
9379 windows::Win32::Foundation::HWND,
9380 ) -> windows_core::HRESULT,
9381 pub NotifyParentWindowPositionChanged:
9382 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
9383 pub Close: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
9384 pub CoreWebView2: unsafe extern "system" fn(
9385 *mut core::ffi::c_void,
9386 *mut *mut core::ffi::c_void,
9387 ) -> windows_core::HRESULT,
9388}
9389pub trait ICoreWebView2Controller_Impl: windows_core::IUnknownImpl {
9390 fn IsVisible(&self, isvisible: *mut windows_core::BOOL) -> windows_core::Result<()>;
9391 fn SetIsVisible(&self, isvisible: windows_core::BOOL) -> windows_core::Result<()>;
9392 fn Bounds(&self, bounds: *mut windows::Win32::Foundation::RECT) -> windows_core::Result<()>;
9393 fn SetBounds(&self, bounds: &windows::Win32::Foundation::RECT) -> windows_core::Result<()>;
9394 fn ZoomFactor(&self, zoomfactor: *mut f64) -> windows_core::Result<()>;
9395 fn SetZoomFactor(&self, zoomfactor: f64) -> windows_core::Result<()>;
9396 fn add_ZoomFactorChanged(
9397 &self,
9398 eventhandler: windows_core::Ref<ICoreWebView2ZoomFactorChangedEventHandler>,
9399 token: *mut i64,
9400 ) -> windows_core::Result<()>;
9401 fn remove_ZoomFactorChanged(&self, token: i64) -> windows_core::Result<()>;
9402 fn SetBoundsAndZoomFactor(
9403 &self,
9404 bounds: &windows::Win32::Foundation::RECT,
9405 zoomfactor: f64,
9406 ) -> windows_core::Result<()>;
9407 fn MoveFocus(&self, reason: COREWEBVIEW2_MOVE_FOCUS_REASON) -> windows_core::Result<()>;
9408 fn add_MoveFocusRequested(
9409 &self,
9410 eventhandler: windows_core::Ref<ICoreWebView2MoveFocusRequestedEventHandler>,
9411 token: *mut i64,
9412 ) -> windows_core::Result<()>;
9413 fn remove_MoveFocusRequested(&self, token: i64) -> windows_core::Result<()>;
9414 fn add_GotFocus(
9415 &self,
9416 eventhandler: windows_core::Ref<ICoreWebView2FocusChangedEventHandler>,
9417 token: *mut i64,
9418 ) -> windows_core::Result<()>;
9419 fn remove_GotFocus(&self, token: i64) -> windows_core::Result<()>;
9420 fn add_LostFocus(
9421 &self,
9422 eventhandler: windows_core::Ref<ICoreWebView2FocusChangedEventHandler>,
9423 token: *mut i64,
9424 ) -> windows_core::Result<()>;
9425 fn remove_LostFocus(&self, token: i64) -> windows_core::Result<()>;
9426 fn add_AcceleratorKeyPressed(
9427 &self,
9428 eventhandler: windows_core::Ref<ICoreWebView2AcceleratorKeyPressedEventHandler>,
9429 token: *mut i64,
9430 ) -> windows_core::Result<()>;
9431 fn remove_AcceleratorKeyPressed(&self, token: i64) -> windows_core::Result<()>;
9432 fn ParentWindow(
9433 &self,
9434 parentwindow: *mut windows::Win32::Foundation::HWND,
9435 ) -> windows_core::Result<()>;
9436 fn SetParentWindow(
9437 &self,
9438 parentwindow: windows::Win32::Foundation::HWND,
9439 ) -> windows_core::Result<()>;
9440 fn NotifyParentWindowPositionChanged(&self) -> windows_core::Result<()>;
9441 fn Close(&self) -> windows_core::Result<()>;
9442 fn CoreWebView2(&self) -> windows_core::Result<ICoreWebView2>;
9443}
9444impl ICoreWebView2Controller_Vtbl {
9445 pub const fn new<Identity: ICoreWebView2Controller_Impl, const OFFSET: isize>() -> Self {
9446 unsafe extern "system" fn IsVisible<
9447 Identity: ICoreWebView2Controller_Impl,
9448 const OFFSET: isize,
9449 >(
9450 this: *mut core::ffi::c_void,
9451 isvisible: *mut windows_core::BOOL,
9452 ) -> windows_core::HRESULT {
9453 unsafe {
9454 let this: &Identity =
9455 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9456 ICoreWebView2Controller_Impl::IsVisible(this, core::mem::transmute_copy(&isvisible))
9457 .into()
9458 }
9459 }
9460 unsafe extern "system" fn SetIsVisible<
9461 Identity: ICoreWebView2Controller_Impl,
9462 const OFFSET: isize,
9463 >(
9464 this: *mut core::ffi::c_void,
9465 isvisible: windows_core::BOOL,
9466 ) -> windows_core::HRESULT {
9467 unsafe {
9468 let this: &Identity =
9469 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9470 ICoreWebView2Controller_Impl::SetIsVisible(
9471 this,
9472 core::mem::transmute_copy(&isvisible),
9473 )
9474 .into()
9475 }
9476 }
9477 unsafe extern "system" fn Bounds<
9478 Identity: ICoreWebView2Controller_Impl,
9479 const OFFSET: isize,
9480 >(
9481 this: *mut core::ffi::c_void,
9482 bounds: *mut windows::Win32::Foundation::RECT,
9483 ) -> windows_core::HRESULT {
9484 unsafe {
9485 let this: &Identity =
9486 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9487 ICoreWebView2Controller_Impl::Bounds(this, core::mem::transmute_copy(&bounds))
9488 .into()
9489 }
9490 }
9491 unsafe extern "system" fn SetBounds<
9492 Identity: ICoreWebView2Controller_Impl,
9493 const OFFSET: isize,
9494 >(
9495 this: *mut core::ffi::c_void,
9496 bounds: windows::Win32::Foundation::RECT,
9497 ) -> windows_core::HRESULT {
9498 unsafe {
9499 let this: &Identity =
9500 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9501 ICoreWebView2Controller_Impl::SetBounds(this, core::mem::transmute(&bounds)).into()
9502 }
9503 }
9504 unsafe extern "system" fn ZoomFactor<
9505 Identity: ICoreWebView2Controller_Impl,
9506 const OFFSET: isize,
9507 >(
9508 this: *mut core::ffi::c_void,
9509 zoomfactor: *mut f64,
9510 ) -> windows_core::HRESULT {
9511 unsafe {
9512 let this: &Identity =
9513 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9514 ICoreWebView2Controller_Impl::ZoomFactor(
9515 this,
9516 core::mem::transmute_copy(&zoomfactor),
9517 )
9518 .into()
9519 }
9520 }
9521 unsafe extern "system" fn SetZoomFactor<
9522 Identity: ICoreWebView2Controller_Impl,
9523 const OFFSET: isize,
9524 >(
9525 this: *mut core::ffi::c_void,
9526 zoomfactor: f64,
9527 ) -> windows_core::HRESULT {
9528 unsafe {
9529 let this: &Identity =
9530 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9531 ICoreWebView2Controller_Impl::SetZoomFactor(
9532 this,
9533 core::mem::transmute_copy(&zoomfactor),
9534 )
9535 .into()
9536 }
9537 }
9538 unsafe extern "system" fn add_ZoomFactorChanged<
9539 Identity: ICoreWebView2Controller_Impl,
9540 const OFFSET: isize,
9541 >(
9542 this: *mut core::ffi::c_void,
9543 eventhandler: *mut core::ffi::c_void,
9544 token: *mut i64,
9545 ) -> windows_core::HRESULT {
9546 unsafe {
9547 let this: &Identity =
9548 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9549 ICoreWebView2Controller_Impl::add_ZoomFactorChanged(
9550 this,
9551 core::mem::transmute_copy(&eventhandler),
9552 core::mem::transmute_copy(&token),
9553 )
9554 .into()
9555 }
9556 }
9557 unsafe extern "system" fn remove_ZoomFactorChanged<
9558 Identity: ICoreWebView2Controller_Impl,
9559 const OFFSET: isize,
9560 >(
9561 this: *mut core::ffi::c_void,
9562 token: i64,
9563 ) -> windows_core::HRESULT {
9564 unsafe {
9565 let this: &Identity =
9566 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9567 ICoreWebView2Controller_Impl::remove_ZoomFactorChanged(
9568 this,
9569 core::mem::transmute_copy(&token),
9570 )
9571 .into()
9572 }
9573 }
9574 unsafe extern "system" fn SetBoundsAndZoomFactor<
9575 Identity: ICoreWebView2Controller_Impl,
9576 const OFFSET: isize,
9577 >(
9578 this: *mut core::ffi::c_void,
9579 bounds: windows::Win32::Foundation::RECT,
9580 zoomfactor: f64,
9581 ) -> windows_core::HRESULT {
9582 unsafe {
9583 let this: &Identity =
9584 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9585 ICoreWebView2Controller_Impl::SetBoundsAndZoomFactor(
9586 this,
9587 core::mem::transmute(&bounds),
9588 core::mem::transmute_copy(&zoomfactor),
9589 )
9590 .into()
9591 }
9592 }
9593 unsafe extern "system" fn MoveFocus<
9594 Identity: ICoreWebView2Controller_Impl,
9595 const OFFSET: isize,
9596 >(
9597 this: *mut core::ffi::c_void,
9598 reason: COREWEBVIEW2_MOVE_FOCUS_REASON,
9599 ) -> windows_core::HRESULT {
9600 unsafe {
9601 let this: &Identity =
9602 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9603 ICoreWebView2Controller_Impl::MoveFocus(this, core::mem::transmute_copy(&reason))
9604 .into()
9605 }
9606 }
9607 unsafe extern "system" fn add_MoveFocusRequested<
9608 Identity: ICoreWebView2Controller_Impl,
9609 const OFFSET: isize,
9610 >(
9611 this: *mut core::ffi::c_void,
9612 eventhandler: *mut core::ffi::c_void,
9613 token: *mut i64,
9614 ) -> windows_core::HRESULT {
9615 unsafe {
9616 let this: &Identity =
9617 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9618 ICoreWebView2Controller_Impl::add_MoveFocusRequested(
9619 this,
9620 core::mem::transmute_copy(&eventhandler),
9621 core::mem::transmute_copy(&token),
9622 )
9623 .into()
9624 }
9625 }
9626 unsafe extern "system" fn remove_MoveFocusRequested<
9627 Identity: ICoreWebView2Controller_Impl,
9628 const OFFSET: isize,
9629 >(
9630 this: *mut core::ffi::c_void,
9631 token: i64,
9632 ) -> windows_core::HRESULT {
9633 unsafe {
9634 let this: &Identity =
9635 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9636 ICoreWebView2Controller_Impl::remove_MoveFocusRequested(
9637 this,
9638 core::mem::transmute_copy(&token),
9639 )
9640 .into()
9641 }
9642 }
9643 unsafe extern "system" fn add_GotFocus<
9644 Identity: ICoreWebView2Controller_Impl,
9645 const OFFSET: isize,
9646 >(
9647 this: *mut core::ffi::c_void,
9648 eventhandler: *mut core::ffi::c_void,
9649 token: *mut i64,
9650 ) -> windows_core::HRESULT {
9651 unsafe {
9652 let this: &Identity =
9653 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9654 ICoreWebView2Controller_Impl::add_GotFocus(
9655 this,
9656 core::mem::transmute_copy(&eventhandler),
9657 core::mem::transmute_copy(&token),
9658 )
9659 .into()
9660 }
9661 }
9662 unsafe extern "system" fn remove_GotFocus<
9663 Identity: ICoreWebView2Controller_Impl,
9664 const OFFSET: isize,
9665 >(
9666 this: *mut core::ffi::c_void,
9667 token: i64,
9668 ) -> windows_core::HRESULT {
9669 unsafe {
9670 let this: &Identity =
9671 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9672 ICoreWebView2Controller_Impl::remove_GotFocus(
9673 this,
9674 core::mem::transmute_copy(&token),
9675 )
9676 .into()
9677 }
9678 }
9679 unsafe extern "system" fn add_LostFocus<
9680 Identity: ICoreWebView2Controller_Impl,
9681 const OFFSET: isize,
9682 >(
9683 this: *mut core::ffi::c_void,
9684 eventhandler: *mut core::ffi::c_void,
9685 token: *mut i64,
9686 ) -> windows_core::HRESULT {
9687 unsafe {
9688 let this: &Identity =
9689 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9690 ICoreWebView2Controller_Impl::add_LostFocus(
9691 this,
9692 core::mem::transmute_copy(&eventhandler),
9693 core::mem::transmute_copy(&token),
9694 )
9695 .into()
9696 }
9697 }
9698 unsafe extern "system" fn remove_LostFocus<
9699 Identity: ICoreWebView2Controller_Impl,
9700 const OFFSET: isize,
9701 >(
9702 this: *mut core::ffi::c_void,
9703 token: i64,
9704 ) -> windows_core::HRESULT {
9705 unsafe {
9706 let this: &Identity =
9707 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9708 ICoreWebView2Controller_Impl::remove_LostFocus(
9709 this,
9710 core::mem::transmute_copy(&token),
9711 )
9712 .into()
9713 }
9714 }
9715 unsafe extern "system" fn add_AcceleratorKeyPressed<
9716 Identity: ICoreWebView2Controller_Impl,
9717 const OFFSET: isize,
9718 >(
9719 this: *mut core::ffi::c_void,
9720 eventhandler: *mut core::ffi::c_void,
9721 token: *mut i64,
9722 ) -> windows_core::HRESULT {
9723 unsafe {
9724 let this: &Identity =
9725 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9726 ICoreWebView2Controller_Impl::add_AcceleratorKeyPressed(
9727 this,
9728 core::mem::transmute_copy(&eventhandler),
9729 core::mem::transmute_copy(&token),
9730 )
9731 .into()
9732 }
9733 }
9734 unsafe extern "system" fn remove_AcceleratorKeyPressed<
9735 Identity: ICoreWebView2Controller_Impl,
9736 const OFFSET: isize,
9737 >(
9738 this: *mut core::ffi::c_void,
9739 token: i64,
9740 ) -> windows_core::HRESULT {
9741 unsafe {
9742 let this: &Identity =
9743 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9744 ICoreWebView2Controller_Impl::remove_AcceleratorKeyPressed(
9745 this,
9746 core::mem::transmute_copy(&token),
9747 )
9748 .into()
9749 }
9750 }
9751 unsafe extern "system" fn ParentWindow<
9752 Identity: ICoreWebView2Controller_Impl,
9753 const OFFSET: isize,
9754 >(
9755 this: *mut core::ffi::c_void,
9756 parentwindow: *mut windows::Win32::Foundation::HWND,
9757 ) -> windows_core::HRESULT {
9758 unsafe {
9759 let this: &Identity =
9760 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9761 ICoreWebView2Controller_Impl::ParentWindow(
9762 this,
9763 core::mem::transmute_copy(&parentwindow),
9764 )
9765 .into()
9766 }
9767 }
9768 unsafe extern "system" fn SetParentWindow<
9769 Identity: ICoreWebView2Controller_Impl,
9770 const OFFSET: isize,
9771 >(
9772 this: *mut core::ffi::c_void,
9773 parentwindow: windows::Win32::Foundation::HWND,
9774 ) -> windows_core::HRESULT {
9775 unsafe {
9776 let this: &Identity =
9777 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9778 ICoreWebView2Controller_Impl::SetParentWindow(
9779 this,
9780 core::mem::transmute_copy(&parentwindow),
9781 )
9782 .into()
9783 }
9784 }
9785 unsafe extern "system" fn NotifyParentWindowPositionChanged<
9786 Identity: ICoreWebView2Controller_Impl,
9787 const OFFSET: isize,
9788 >(
9789 this: *mut core::ffi::c_void,
9790 ) -> windows_core::HRESULT {
9791 unsafe {
9792 let this: &Identity =
9793 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9794 ICoreWebView2Controller_Impl::NotifyParentWindowPositionChanged(this).into()
9795 }
9796 }
9797 unsafe extern "system" fn Close<
9798 Identity: ICoreWebView2Controller_Impl,
9799 const OFFSET: isize,
9800 >(
9801 this: *mut core::ffi::c_void,
9802 ) -> windows_core::HRESULT {
9803 unsafe {
9804 let this: &Identity =
9805 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9806 ICoreWebView2Controller_Impl::Close(this).into()
9807 }
9808 }
9809 unsafe extern "system" fn CoreWebView2<
9810 Identity: ICoreWebView2Controller_Impl,
9811 const OFFSET: isize,
9812 >(
9813 this: *mut core::ffi::c_void,
9814 corewebview2: *mut *mut core::ffi::c_void,
9815 ) -> windows_core::HRESULT {
9816 unsafe {
9817 let this: &Identity =
9818 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9819 match ICoreWebView2Controller_Impl::CoreWebView2(this) {
9820 Ok(ok__) => {
9821 corewebview2.write(core::mem::transmute(ok__));
9822 windows_core::HRESULT(0)
9823 }
9824 Err(err) => err.into(),
9825 }
9826 }
9827 }
9828 Self {
9829 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
9830 IsVisible: IsVisible::<Identity, OFFSET>,
9831 SetIsVisible: SetIsVisible::<Identity, OFFSET>,
9832 Bounds: Bounds::<Identity, OFFSET>,
9833 SetBounds: SetBounds::<Identity, OFFSET>,
9834 ZoomFactor: ZoomFactor::<Identity, OFFSET>,
9835 SetZoomFactor: SetZoomFactor::<Identity, OFFSET>,
9836 add_ZoomFactorChanged: add_ZoomFactorChanged::<Identity, OFFSET>,
9837 remove_ZoomFactorChanged: remove_ZoomFactorChanged::<Identity, OFFSET>,
9838 SetBoundsAndZoomFactor: SetBoundsAndZoomFactor::<Identity, OFFSET>,
9839 MoveFocus: MoveFocus::<Identity, OFFSET>,
9840 add_MoveFocusRequested: add_MoveFocusRequested::<Identity, OFFSET>,
9841 remove_MoveFocusRequested: remove_MoveFocusRequested::<Identity, OFFSET>,
9842 add_GotFocus: add_GotFocus::<Identity, OFFSET>,
9843 remove_GotFocus: remove_GotFocus::<Identity, OFFSET>,
9844 add_LostFocus: add_LostFocus::<Identity, OFFSET>,
9845 remove_LostFocus: remove_LostFocus::<Identity, OFFSET>,
9846 add_AcceleratorKeyPressed: add_AcceleratorKeyPressed::<Identity, OFFSET>,
9847 remove_AcceleratorKeyPressed: remove_AcceleratorKeyPressed::<Identity, OFFSET>,
9848 ParentWindow: ParentWindow::<Identity, OFFSET>,
9849 SetParentWindow: SetParentWindow::<Identity, OFFSET>,
9850 NotifyParentWindowPositionChanged: NotifyParentWindowPositionChanged::<Identity, OFFSET>,
9851 Close: Close::<Identity, OFFSET>,
9852 CoreWebView2: CoreWebView2::<Identity, OFFSET>,
9853 }
9854 }
9855 pub fn matches(iid: &windows_core::GUID) -> bool {
9856 iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
9857 }
9858}
9859impl windows_core::RuntimeName for ICoreWebView2Controller {}
9860windows_core::imp::define_interface!(
9861 ICoreWebView2Controller2,
9862 ICoreWebView2Controller2_Vtbl,
9863 0xc979903e_d4ca_4228_92eb_47ee3fa96eab
9864);
9865impl core::ops::Deref for ICoreWebView2Controller2 {
9866 type Target = ICoreWebView2Controller;
9867 fn deref(&self) -> &Self::Target {
9868 unsafe { core::mem::transmute(self) }
9869 }
9870}
9871windows_core::imp::interface_hierarchy!(
9872 ICoreWebView2Controller2,
9873 windows_core::IUnknown,
9874 ICoreWebView2Controller
9875);
9876impl ICoreWebView2Controller2 {
9877 pub unsafe fn DefaultBackgroundColor(
9878 &self,
9879 value: *mut COREWEBVIEW2_COLOR,
9880 ) -> windows_core::Result<()> {
9881 unsafe {
9882 (windows_core::Interface::vtable(self).DefaultBackgroundColor)(
9883 windows_core::Interface::as_raw(self),
9884 value as _,
9885 )
9886 .ok()
9887 }
9888 }
9889 pub unsafe fn SetDefaultBackgroundColor(
9890 &self,
9891 value: COREWEBVIEW2_COLOR,
9892 ) -> windows_core::Result<()> {
9893 unsafe {
9894 (windows_core::Interface::vtable(self).SetDefaultBackgroundColor)(
9895 windows_core::Interface::as_raw(self),
9896 core::mem::transmute(value),
9897 )
9898 .ok()
9899 }
9900 }
9901}
9902#[repr(C)]
9903#[doc(hidden)]
9904pub struct ICoreWebView2Controller2_Vtbl {
9905 pub base__: ICoreWebView2Controller_Vtbl,
9906 pub DefaultBackgroundColor: unsafe extern "system" fn(
9907 *mut core::ffi::c_void,
9908 *mut COREWEBVIEW2_COLOR,
9909 ) -> windows_core::HRESULT,
9910 pub SetDefaultBackgroundColor: unsafe extern "system" fn(
9911 *mut core::ffi::c_void,
9912 COREWEBVIEW2_COLOR,
9913 ) -> windows_core::HRESULT,
9914}
9915pub trait ICoreWebView2Controller2_Impl: ICoreWebView2Controller_Impl {
9916 fn DefaultBackgroundColor(&self, value: *mut COREWEBVIEW2_COLOR) -> windows_core::Result<()>;
9917 fn SetDefaultBackgroundColor(&self, value: &COREWEBVIEW2_COLOR) -> windows_core::Result<()>;
9918}
9919impl ICoreWebView2Controller2_Vtbl {
9920 pub const fn new<Identity: ICoreWebView2Controller2_Impl, const OFFSET: isize>() -> Self {
9921 unsafe extern "system" fn DefaultBackgroundColor<
9922 Identity: ICoreWebView2Controller2_Impl,
9923 const OFFSET: isize,
9924 >(
9925 this: *mut core::ffi::c_void,
9926 value: *mut COREWEBVIEW2_COLOR,
9927 ) -> windows_core::HRESULT {
9928 unsafe {
9929 let this: &Identity =
9930 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9931 ICoreWebView2Controller2_Impl::DefaultBackgroundColor(
9932 this,
9933 core::mem::transmute_copy(&value),
9934 )
9935 .into()
9936 }
9937 }
9938 unsafe extern "system" fn SetDefaultBackgroundColor<
9939 Identity: ICoreWebView2Controller2_Impl,
9940 const OFFSET: isize,
9941 >(
9942 this: *mut core::ffi::c_void,
9943 value: COREWEBVIEW2_COLOR,
9944 ) -> windows_core::HRESULT {
9945 unsafe {
9946 let this: &Identity =
9947 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9948 ICoreWebView2Controller2_Impl::SetDefaultBackgroundColor(
9949 this,
9950 core::mem::transmute(&value),
9951 )
9952 .into()
9953 }
9954 }
9955 Self {
9956 base__: ICoreWebView2Controller_Vtbl::new::<Identity, OFFSET>(),
9957 DefaultBackgroundColor: DefaultBackgroundColor::<Identity, OFFSET>,
9958 SetDefaultBackgroundColor: SetDefaultBackgroundColor::<Identity, OFFSET>,
9959 }
9960 }
9961 pub fn matches(iid: &windows_core::GUID) -> bool {
9962 iid == &<ICoreWebView2Controller2 as windows_core::Interface>::IID
9963 || iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
9964 }
9965}
9966impl windows_core::RuntimeName for ICoreWebView2Controller2 {}
9967windows_core::imp::define_interface!(
9968 ICoreWebView2Controller3,
9969 ICoreWebView2Controller3_Vtbl,
9970 0xf9614724_5d2b_41dc_aef7_73d62b51543b
9971);
9972impl core::ops::Deref for ICoreWebView2Controller3 {
9973 type Target = ICoreWebView2Controller2;
9974 fn deref(&self) -> &Self::Target {
9975 unsafe { core::mem::transmute(self) }
9976 }
9977}
9978windows_core::imp::interface_hierarchy!(
9979 ICoreWebView2Controller3,
9980 windows_core::IUnknown,
9981 ICoreWebView2Controller,
9982 ICoreWebView2Controller2
9983);
9984impl ICoreWebView2Controller3 {
9985 pub unsafe fn RasterizationScale(&self, scale: *mut f64) -> windows_core::Result<()> {
9986 unsafe {
9987 (windows_core::Interface::vtable(self).RasterizationScale)(
9988 windows_core::Interface::as_raw(self),
9989 scale as _,
9990 )
9991 .ok()
9992 }
9993 }
9994 pub unsafe fn SetRasterizationScale(&self, scale: f64) -> windows_core::Result<()> {
9995 unsafe {
9996 (windows_core::Interface::vtable(self).SetRasterizationScale)(
9997 windows_core::Interface::as_raw(self),
9998 scale,
9999 )
10000 .ok()
10001 }
10002 }
10003 pub unsafe fn ShouldDetectMonitorScaleChanges(
10004 &self,
10005 value: *mut windows_core::BOOL,
10006 ) -> windows_core::Result<()> {
10007 unsafe {
10008 (windows_core::Interface::vtable(self).ShouldDetectMonitorScaleChanges)(
10009 windows_core::Interface::as_raw(self),
10010 value as _,
10011 )
10012 .ok()
10013 }
10014 }
10015 pub unsafe fn SetShouldDetectMonitorScaleChanges(
10016 &self,
10017 value: bool,
10018 ) -> windows_core::Result<()> {
10019 unsafe {
10020 (windows_core::Interface::vtable(self).SetShouldDetectMonitorScaleChanges)(
10021 windows_core::Interface::as_raw(self),
10022 value.into(),
10023 )
10024 .ok()
10025 }
10026 }
10027 pub unsafe fn add_RasterizationScaleChanged<P0>(
10028 &self,
10029 eventhandler: P0,
10030 token: *mut i64,
10031 ) -> windows_core::Result<()>
10032 where
10033 P0: windows_core::Param<ICoreWebView2RasterizationScaleChangedEventHandler>,
10034 {
10035 unsafe {
10036 (windows_core::Interface::vtable(self).add_RasterizationScaleChanged)(
10037 windows_core::Interface::as_raw(self),
10038 eventhandler.param().abi(),
10039 token as _,
10040 )
10041 .ok()
10042 }
10043 }
10044 pub unsafe fn remove_RasterizationScaleChanged(&self, token: i64) -> windows_core::Result<()> {
10045 unsafe {
10046 (windows_core::Interface::vtable(self).remove_RasterizationScaleChanged)(
10047 windows_core::Interface::as_raw(self),
10048 token,
10049 )
10050 .ok()
10051 }
10052 }
10053 pub unsafe fn BoundsMode(
10054 &self,
10055 boundsmode: *mut COREWEBVIEW2_BOUNDS_MODE,
10056 ) -> windows_core::Result<()> {
10057 unsafe {
10058 (windows_core::Interface::vtable(self).BoundsMode)(
10059 windows_core::Interface::as_raw(self),
10060 boundsmode as _,
10061 )
10062 .ok()
10063 }
10064 }
10065 pub unsafe fn SetBoundsMode(
10066 &self,
10067 boundsmode: COREWEBVIEW2_BOUNDS_MODE,
10068 ) -> windows_core::Result<()> {
10069 unsafe {
10070 (windows_core::Interface::vtable(self).SetBoundsMode)(
10071 windows_core::Interface::as_raw(self),
10072 boundsmode,
10073 )
10074 .ok()
10075 }
10076 }
10077}
10078#[repr(C)]
10079#[doc(hidden)]
10080pub struct ICoreWebView2Controller3_Vtbl {
10081 pub base__: ICoreWebView2Controller2_Vtbl,
10082 pub RasterizationScale:
10083 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
10084 pub SetRasterizationScale:
10085 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
10086 pub ShouldDetectMonitorScaleChanges: unsafe extern "system" fn(
10087 *mut core::ffi::c_void,
10088 *mut windows_core::BOOL,
10089 ) -> windows_core::HRESULT,
10090 pub SetShouldDetectMonitorScaleChanges: unsafe extern "system" fn(
10091 *mut core::ffi::c_void,
10092 windows_core::BOOL,
10093 ) -> windows_core::HRESULT,
10094 pub add_RasterizationScaleChanged: unsafe extern "system" fn(
10095 *mut core::ffi::c_void,
10096 *mut core::ffi::c_void,
10097 *mut i64,
10098 ) -> windows_core::HRESULT,
10099 pub remove_RasterizationScaleChanged:
10100 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
10101 pub BoundsMode: unsafe extern "system" fn(
10102 *mut core::ffi::c_void,
10103 *mut COREWEBVIEW2_BOUNDS_MODE,
10104 ) -> windows_core::HRESULT,
10105 pub SetBoundsMode: unsafe extern "system" fn(
10106 *mut core::ffi::c_void,
10107 COREWEBVIEW2_BOUNDS_MODE,
10108 ) -> windows_core::HRESULT,
10109}
10110pub trait ICoreWebView2Controller3_Impl: ICoreWebView2Controller2_Impl {
10111 fn RasterizationScale(&self, scale: *mut f64) -> windows_core::Result<()>;
10112 fn SetRasterizationScale(&self, scale: f64) -> windows_core::Result<()>;
10113 fn ShouldDetectMonitorScaleChanges(
10114 &self,
10115 value: *mut windows_core::BOOL,
10116 ) -> windows_core::Result<()>;
10117 fn SetShouldDetectMonitorScaleChanges(
10118 &self,
10119 value: windows_core::BOOL,
10120 ) -> windows_core::Result<()>;
10121 fn add_RasterizationScaleChanged(
10122 &self,
10123 eventhandler: windows_core::Ref<ICoreWebView2RasterizationScaleChangedEventHandler>,
10124 token: *mut i64,
10125 ) -> windows_core::Result<()>;
10126 fn remove_RasterizationScaleChanged(&self, token: i64) -> windows_core::Result<()>;
10127 fn BoundsMode(&self, boundsmode: *mut COREWEBVIEW2_BOUNDS_MODE) -> windows_core::Result<()>;
10128 fn SetBoundsMode(&self, boundsmode: COREWEBVIEW2_BOUNDS_MODE) -> windows_core::Result<()>;
10129}
10130impl ICoreWebView2Controller3_Vtbl {
10131 pub const fn new<Identity: ICoreWebView2Controller3_Impl, const OFFSET: isize>() -> Self {
10132 unsafe extern "system" fn RasterizationScale<
10133 Identity: ICoreWebView2Controller3_Impl,
10134 const OFFSET: isize,
10135 >(
10136 this: *mut core::ffi::c_void,
10137 scale: *mut f64,
10138 ) -> windows_core::HRESULT {
10139 unsafe {
10140 let this: &Identity =
10141 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10142 ICoreWebView2Controller3_Impl::RasterizationScale(
10143 this,
10144 core::mem::transmute_copy(&scale),
10145 )
10146 .into()
10147 }
10148 }
10149 unsafe extern "system" fn SetRasterizationScale<
10150 Identity: ICoreWebView2Controller3_Impl,
10151 const OFFSET: isize,
10152 >(
10153 this: *mut core::ffi::c_void,
10154 scale: f64,
10155 ) -> windows_core::HRESULT {
10156 unsafe {
10157 let this: &Identity =
10158 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10159 ICoreWebView2Controller3_Impl::SetRasterizationScale(
10160 this,
10161 core::mem::transmute_copy(&scale),
10162 )
10163 .into()
10164 }
10165 }
10166 unsafe extern "system" fn ShouldDetectMonitorScaleChanges<
10167 Identity: ICoreWebView2Controller3_Impl,
10168 const OFFSET: isize,
10169 >(
10170 this: *mut core::ffi::c_void,
10171 value: *mut windows_core::BOOL,
10172 ) -> windows_core::HRESULT {
10173 unsafe {
10174 let this: &Identity =
10175 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10176 ICoreWebView2Controller3_Impl::ShouldDetectMonitorScaleChanges(
10177 this,
10178 core::mem::transmute_copy(&value),
10179 )
10180 .into()
10181 }
10182 }
10183 unsafe extern "system" fn SetShouldDetectMonitorScaleChanges<
10184 Identity: ICoreWebView2Controller3_Impl,
10185 const OFFSET: isize,
10186 >(
10187 this: *mut core::ffi::c_void,
10188 value: windows_core::BOOL,
10189 ) -> windows_core::HRESULT {
10190 unsafe {
10191 let this: &Identity =
10192 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10193 ICoreWebView2Controller3_Impl::SetShouldDetectMonitorScaleChanges(
10194 this,
10195 core::mem::transmute_copy(&value),
10196 )
10197 .into()
10198 }
10199 }
10200 unsafe extern "system" fn add_RasterizationScaleChanged<
10201 Identity: ICoreWebView2Controller3_Impl,
10202 const OFFSET: isize,
10203 >(
10204 this: *mut core::ffi::c_void,
10205 eventhandler: *mut core::ffi::c_void,
10206 token: *mut i64,
10207 ) -> windows_core::HRESULT {
10208 unsafe {
10209 let this: &Identity =
10210 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10211 ICoreWebView2Controller3_Impl::add_RasterizationScaleChanged(
10212 this,
10213 core::mem::transmute_copy(&eventhandler),
10214 core::mem::transmute_copy(&token),
10215 )
10216 .into()
10217 }
10218 }
10219 unsafe extern "system" fn remove_RasterizationScaleChanged<
10220 Identity: ICoreWebView2Controller3_Impl,
10221 const OFFSET: isize,
10222 >(
10223 this: *mut core::ffi::c_void,
10224 token: i64,
10225 ) -> windows_core::HRESULT {
10226 unsafe {
10227 let this: &Identity =
10228 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10229 ICoreWebView2Controller3_Impl::remove_RasterizationScaleChanged(
10230 this,
10231 core::mem::transmute_copy(&token),
10232 )
10233 .into()
10234 }
10235 }
10236 unsafe extern "system" fn BoundsMode<
10237 Identity: ICoreWebView2Controller3_Impl,
10238 const OFFSET: isize,
10239 >(
10240 this: *mut core::ffi::c_void,
10241 boundsmode: *mut COREWEBVIEW2_BOUNDS_MODE,
10242 ) -> windows_core::HRESULT {
10243 unsafe {
10244 let this: &Identity =
10245 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10246 ICoreWebView2Controller3_Impl::BoundsMode(
10247 this,
10248 core::mem::transmute_copy(&boundsmode),
10249 )
10250 .into()
10251 }
10252 }
10253 unsafe extern "system" fn SetBoundsMode<
10254 Identity: ICoreWebView2Controller3_Impl,
10255 const OFFSET: isize,
10256 >(
10257 this: *mut core::ffi::c_void,
10258 boundsmode: COREWEBVIEW2_BOUNDS_MODE,
10259 ) -> windows_core::HRESULT {
10260 unsafe {
10261 let this: &Identity =
10262 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10263 ICoreWebView2Controller3_Impl::SetBoundsMode(
10264 this,
10265 core::mem::transmute_copy(&boundsmode),
10266 )
10267 .into()
10268 }
10269 }
10270 Self {
10271 base__: ICoreWebView2Controller2_Vtbl::new::<Identity, OFFSET>(),
10272 RasterizationScale: RasterizationScale::<Identity, OFFSET>,
10273 SetRasterizationScale: SetRasterizationScale::<Identity, OFFSET>,
10274 ShouldDetectMonitorScaleChanges: ShouldDetectMonitorScaleChanges::<Identity, OFFSET>,
10275 SetShouldDetectMonitorScaleChanges: SetShouldDetectMonitorScaleChanges::<
10276 Identity,
10277 OFFSET,
10278 >,
10279 add_RasterizationScaleChanged: add_RasterizationScaleChanged::<Identity, OFFSET>,
10280 remove_RasterizationScaleChanged: remove_RasterizationScaleChanged::<Identity, OFFSET>,
10281 BoundsMode: BoundsMode::<Identity, OFFSET>,
10282 SetBoundsMode: SetBoundsMode::<Identity, OFFSET>,
10283 }
10284 }
10285 pub fn matches(iid: &windows_core::GUID) -> bool {
10286 iid == &<ICoreWebView2Controller3 as windows_core::Interface>::IID
10287 || iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
10288 || iid == &<ICoreWebView2Controller2 as windows_core::Interface>::IID
10289 }
10290}
10291impl windows_core::RuntimeName for ICoreWebView2Controller3 {}
10292windows_core::imp::define_interface!(
10293 ICoreWebView2Controller4,
10294 ICoreWebView2Controller4_Vtbl,
10295 0x97d418d5_a426_4e49_a151_e1a10f327d9e
10296);
10297impl core::ops::Deref for ICoreWebView2Controller4 {
10298 type Target = ICoreWebView2Controller3;
10299 fn deref(&self) -> &Self::Target {
10300 unsafe { core::mem::transmute(self) }
10301 }
10302}
10303windows_core::imp::interface_hierarchy!(
10304 ICoreWebView2Controller4,
10305 windows_core::IUnknown,
10306 ICoreWebView2Controller,
10307 ICoreWebView2Controller2,
10308 ICoreWebView2Controller3
10309);
10310impl ICoreWebView2Controller4 {
10311 pub unsafe fn AllowExternalDrop(
10312 &self,
10313 value: *mut windows_core::BOOL,
10314 ) -> windows_core::Result<()> {
10315 unsafe {
10316 (windows_core::Interface::vtable(self).AllowExternalDrop)(
10317 windows_core::Interface::as_raw(self),
10318 value as _,
10319 )
10320 .ok()
10321 }
10322 }
10323 pub unsafe fn SetAllowExternalDrop(&self, value: bool) -> windows_core::Result<()> {
10324 unsafe {
10325 (windows_core::Interface::vtable(self).SetAllowExternalDrop)(
10326 windows_core::Interface::as_raw(self),
10327 value.into(),
10328 )
10329 .ok()
10330 }
10331 }
10332}
10333#[repr(C)]
10334#[doc(hidden)]
10335pub struct ICoreWebView2Controller4_Vtbl {
10336 pub base__: ICoreWebView2Controller3_Vtbl,
10337 pub AllowExternalDrop: unsafe extern "system" fn(
10338 *mut core::ffi::c_void,
10339 *mut windows_core::BOOL,
10340 ) -> windows_core::HRESULT,
10341 pub SetAllowExternalDrop: unsafe extern "system" fn(
10342 *mut core::ffi::c_void,
10343 windows_core::BOOL,
10344 ) -> windows_core::HRESULT,
10345}
10346pub trait ICoreWebView2Controller4_Impl: ICoreWebView2Controller3_Impl {
10347 fn AllowExternalDrop(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
10348 fn SetAllowExternalDrop(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
10349}
10350impl ICoreWebView2Controller4_Vtbl {
10351 pub const fn new<Identity: ICoreWebView2Controller4_Impl, const OFFSET: isize>() -> Self {
10352 unsafe extern "system" fn AllowExternalDrop<
10353 Identity: ICoreWebView2Controller4_Impl,
10354 const OFFSET: isize,
10355 >(
10356 this: *mut core::ffi::c_void,
10357 value: *mut windows_core::BOOL,
10358 ) -> windows_core::HRESULT {
10359 unsafe {
10360 let this: &Identity =
10361 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10362 ICoreWebView2Controller4_Impl::AllowExternalDrop(
10363 this,
10364 core::mem::transmute_copy(&value),
10365 )
10366 .into()
10367 }
10368 }
10369 unsafe extern "system" fn SetAllowExternalDrop<
10370 Identity: ICoreWebView2Controller4_Impl,
10371 const OFFSET: isize,
10372 >(
10373 this: *mut core::ffi::c_void,
10374 value: windows_core::BOOL,
10375 ) -> windows_core::HRESULT {
10376 unsafe {
10377 let this: &Identity =
10378 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10379 ICoreWebView2Controller4_Impl::SetAllowExternalDrop(
10380 this,
10381 core::mem::transmute_copy(&value),
10382 )
10383 .into()
10384 }
10385 }
10386 Self {
10387 base__: ICoreWebView2Controller3_Vtbl::new::<Identity, OFFSET>(),
10388 AllowExternalDrop: AllowExternalDrop::<Identity, OFFSET>,
10389 SetAllowExternalDrop: SetAllowExternalDrop::<Identity, OFFSET>,
10390 }
10391 }
10392 pub fn matches(iid: &windows_core::GUID) -> bool {
10393 iid == &<ICoreWebView2Controller4 as windows_core::Interface>::IID
10394 || iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
10395 || iid == &<ICoreWebView2Controller2 as windows_core::Interface>::IID
10396 || iid == &<ICoreWebView2Controller3 as windows_core::Interface>::IID
10397 }
10398}
10399impl windows_core::RuntimeName for ICoreWebView2Controller4 {}
10400windows_core::imp::define_interface!(
10401 ICoreWebView2ControllerOptions,
10402 ICoreWebView2ControllerOptions_Vtbl,
10403 0x12aae616_8ccb_44ec_bcb3_eb1831881635
10404);
10405windows_core::imp::interface_hierarchy!(ICoreWebView2ControllerOptions, windows_core::IUnknown);
10406impl ICoreWebView2ControllerOptions {
10407 pub unsafe fn ProfileName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10408 unsafe {
10409 (windows_core::Interface::vtable(self).ProfileName)(
10410 windows_core::Interface::as_raw(self),
10411 value as _,
10412 )
10413 .ok()
10414 }
10415 }
10416 pub unsafe fn SetProfileName<P0>(&self, value: P0) -> windows_core::Result<()>
10417 where
10418 P0: windows_core::Param<windows_core::PCWSTR>,
10419 {
10420 unsafe {
10421 (windows_core::Interface::vtable(self).SetProfileName)(
10422 windows_core::Interface::as_raw(self),
10423 value.param().abi(),
10424 )
10425 .ok()
10426 }
10427 }
10428 pub unsafe fn IsInPrivateModeEnabled(
10429 &self,
10430 value: *mut windows_core::BOOL,
10431 ) -> windows_core::Result<()> {
10432 unsafe {
10433 (windows_core::Interface::vtable(self).IsInPrivateModeEnabled)(
10434 windows_core::Interface::as_raw(self),
10435 value as _,
10436 )
10437 .ok()
10438 }
10439 }
10440 pub unsafe fn SetIsInPrivateModeEnabled(&self, value: bool) -> windows_core::Result<()> {
10441 unsafe {
10442 (windows_core::Interface::vtable(self).SetIsInPrivateModeEnabled)(
10443 windows_core::Interface::as_raw(self),
10444 value.into(),
10445 )
10446 .ok()
10447 }
10448 }
10449}
10450#[repr(C)]
10451#[doc(hidden)]
10452pub struct ICoreWebView2ControllerOptions_Vtbl {
10453 pub base__: windows_core::IUnknown_Vtbl,
10454 pub ProfileName: unsafe extern "system" fn(
10455 *mut core::ffi::c_void,
10456 *mut windows_core::PWSTR,
10457 ) -> windows_core::HRESULT,
10458 pub SetProfileName: unsafe extern "system" fn(
10459 *mut core::ffi::c_void,
10460 windows_core::PCWSTR,
10461 ) -> windows_core::HRESULT,
10462 pub IsInPrivateModeEnabled: unsafe extern "system" fn(
10463 *mut core::ffi::c_void,
10464 *mut windows_core::BOOL,
10465 ) -> windows_core::HRESULT,
10466 pub SetIsInPrivateModeEnabled: unsafe extern "system" fn(
10467 *mut core::ffi::c_void,
10468 windows_core::BOOL,
10469 ) -> windows_core::HRESULT,
10470}
10471pub trait ICoreWebView2ControllerOptions_Impl: windows_core::IUnknownImpl {
10472 fn ProfileName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10473 fn SetProfileName(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
10474 fn IsInPrivateModeEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
10475 fn SetIsInPrivateModeEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
10476}
10477impl ICoreWebView2ControllerOptions_Vtbl {
10478 pub const fn new<Identity: ICoreWebView2ControllerOptions_Impl, const OFFSET: isize>() -> Self {
10479 unsafe extern "system" fn ProfileName<
10480 Identity: ICoreWebView2ControllerOptions_Impl,
10481 const OFFSET: isize,
10482 >(
10483 this: *mut core::ffi::c_void,
10484 value: *mut windows_core::PWSTR,
10485 ) -> windows_core::HRESULT {
10486 unsafe {
10487 let this: &Identity =
10488 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10489 ICoreWebView2ControllerOptions_Impl::ProfileName(
10490 this,
10491 core::mem::transmute_copy(&value),
10492 )
10493 .into()
10494 }
10495 }
10496 unsafe extern "system" fn SetProfileName<
10497 Identity: ICoreWebView2ControllerOptions_Impl,
10498 const OFFSET: isize,
10499 >(
10500 this: *mut core::ffi::c_void,
10501 value: windows_core::PCWSTR,
10502 ) -> windows_core::HRESULT {
10503 unsafe {
10504 let this: &Identity =
10505 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10506 ICoreWebView2ControllerOptions_Impl::SetProfileName(
10507 this,
10508 core::mem::transmute(&value),
10509 )
10510 .into()
10511 }
10512 }
10513 unsafe extern "system" fn IsInPrivateModeEnabled<
10514 Identity: ICoreWebView2ControllerOptions_Impl,
10515 const OFFSET: isize,
10516 >(
10517 this: *mut core::ffi::c_void,
10518 value: *mut windows_core::BOOL,
10519 ) -> windows_core::HRESULT {
10520 unsafe {
10521 let this: &Identity =
10522 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10523 ICoreWebView2ControllerOptions_Impl::IsInPrivateModeEnabled(
10524 this,
10525 core::mem::transmute_copy(&value),
10526 )
10527 .into()
10528 }
10529 }
10530 unsafe extern "system" fn SetIsInPrivateModeEnabled<
10531 Identity: ICoreWebView2ControllerOptions_Impl,
10532 const OFFSET: isize,
10533 >(
10534 this: *mut core::ffi::c_void,
10535 value: windows_core::BOOL,
10536 ) -> windows_core::HRESULT {
10537 unsafe {
10538 let this: &Identity =
10539 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10540 ICoreWebView2ControllerOptions_Impl::SetIsInPrivateModeEnabled(
10541 this,
10542 core::mem::transmute_copy(&value),
10543 )
10544 .into()
10545 }
10546 }
10547 Self {
10548 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
10549 ProfileName: ProfileName::<Identity, OFFSET>,
10550 SetProfileName: SetProfileName::<Identity, OFFSET>,
10551 IsInPrivateModeEnabled: IsInPrivateModeEnabled::<Identity, OFFSET>,
10552 SetIsInPrivateModeEnabled: SetIsInPrivateModeEnabled::<Identity, OFFSET>,
10553 }
10554 }
10555 pub fn matches(iid: &windows_core::GUID) -> bool {
10556 iid == &<ICoreWebView2ControllerOptions as windows_core::Interface>::IID
10557 }
10558}
10559impl windows_core::RuntimeName for ICoreWebView2ControllerOptions {}
10560windows_core::imp::define_interface!(
10561 ICoreWebView2ControllerOptions2,
10562 ICoreWebView2ControllerOptions2_Vtbl,
10563 0x06c991d8_9e7e_11ed_a8fc_0242ac120002
10564);
10565impl core::ops::Deref for ICoreWebView2ControllerOptions2 {
10566 type Target = ICoreWebView2ControllerOptions;
10567 fn deref(&self) -> &Self::Target {
10568 unsafe { core::mem::transmute(self) }
10569 }
10570}
10571windows_core::imp::interface_hierarchy!(
10572 ICoreWebView2ControllerOptions2,
10573 windows_core::IUnknown,
10574 ICoreWebView2ControllerOptions
10575);
10576impl ICoreWebView2ControllerOptions2 {
10577 pub unsafe fn ScriptLocale(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10578 unsafe {
10579 (windows_core::Interface::vtable(self).ScriptLocale)(
10580 windows_core::Interface::as_raw(self),
10581 value as _,
10582 )
10583 .ok()
10584 }
10585 }
10586 pub unsafe fn SetScriptLocale<P0>(&self, value: P0) -> windows_core::Result<()>
10587 where
10588 P0: windows_core::Param<windows_core::PCWSTR>,
10589 {
10590 unsafe {
10591 (windows_core::Interface::vtable(self).SetScriptLocale)(
10592 windows_core::Interface::as_raw(self),
10593 value.param().abi(),
10594 )
10595 .ok()
10596 }
10597 }
10598}
10599#[repr(C)]
10600#[doc(hidden)]
10601pub struct ICoreWebView2ControllerOptions2_Vtbl {
10602 pub base__: ICoreWebView2ControllerOptions_Vtbl,
10603 pub ScriptLocale: unsafe extern "system" fn(
10604 *mut core::ffi::c_void,
10605 *mut windows_core::PWSTR,
10606 ) -> windows_core::HRESULT,
10607 pub SetScriptLocale: unsafe extern "system" fn(
10608 *mut core::ffi::c_void,
10609 windows_core::PCWSTR,
10610 ) -> windows_core::HRESULT,
10611}
10612pub trait ICoreWebView2ControllerOptions2_Impl: ICoreWebView2ControllerOptions_Impl {
10613 fn ScriptLocale(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10614 fn SetScriptLocale(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
10615}
10616impl ICoreWebView2ControllerOptions2_Vtbl {
10617 pub const fn new<Identity: ICoreWebView2ControllerOptions2_Impl, const OFFSET: isize>() -> Self
10618 {
10619 unsafe extern "system" fn ScriptLocale<
10620 Identity: ICoreWebView2ControllerOptions2_Impl,
10621 const OFFSET: isize,
10622 >(
10623 this: *mut core::ffi::c_void,
10624 value: *mut windows_core::PWSTR,
10625 ) -> windows_core::HRESULT {
10626 unsafe {
10627 let this: &Identity =
10628 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10629 ICoreWebView2ControllerOptions2_Impl::ScriptLocale(
10630 this,
10631 core::mem::transmute_copy(&value),
10632 )
10633 .into()
10634 }
10635 }
10636 unsafe extern "system" fn SetScriptLocale<
10637 Identity: ICoreWebView2ControllerOptions2_Impl,
10638 const OFFSET: isize,
10639 >(
10640 this: *mut core::ffi::c_void,
10641 value: windows_core::PCWSTR,
10642 ) -> windows_core::HRESULT {
10643 unsafe {
10644 let this: &Identity =
10645 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10646 ICoreWebView2ControllerOptions2_Impl::SetScriptLocale(
10647 this,
10648 core::mem::transmute(&value),
10649 )
10650 .into()
10651 }
10652 }
10653 Self {
10654 base__: ICoreWebView2ControllerOptions_Vtbl::new::<Identity, OFFSET>(),
10655 ScriptLocale: ScriptLocale::<Identity, OFFSET>,
10656 SetScriptLocale: SetScriptLocale::<Identity, OFFSET>,
10657 }
10658 }
10659 pub fn matches(iid: &windows_core::GUID) -> bool {
10660 iid == &<ICoreWebView2ControllerOptions2 as windows_core::Interface>::IID
10661 || iid == &<ICoreWebView2ControllerOptions as windows_core::Interface>::IID
10662 }
10663}
10664impl windows_core::RuntimeName for ICoreWebView2ControllerOptions2 {}
10665windows_core::imp::define_interface!(
10666 ICoreWebView2ControllerOptions3,
10667 ICoreWebView2ControllerOptions3_Vtbl,
10668 0xb32b191a_8998_57ca_b7cb_e04617e4ce4a
10669);
10670impl core::ops::Deref for ICoreWebView2ControllerOptions3 {
10671 type Target = ICoreWebView2ControllerOptions2;
10672 fn deref(&self) -> &Self::Target {
10673 unsafe { core::mem::transmute(self) }
10674 }
10675}
10676windows_core::imp::interface_hierarchy!(
10677 ICoreWebView2ControllerOptions3,
10678 windows_core::IUnknown,
10679 ICoreWebView2ControllerOptions,
10680 ICoreWebView2ControllerOptions2
10681);
10682impl ICoreWebView2ControllerOptions3 {
10683 pub unsafe fn DefaultBackgroundColor(
10684 &self,
10685 value: *mut COREWEBVIEW2_COLOR,
10686 ) -> windows_core::Result<()> {
10687 unsafe {
10688 (windows_core::Interface::vtable(self).DefaultBackgroundColor)(
10689 windows_core::Interface::as_raw(self),
10690 value as _,
10691 )
10692 .ok()
10693 }
10694 }
10695 pub unsafe fn SetDefaultBackgroundColor(
10696 &self,
10697 value: COREWEBVIEW2_COLOR,
10698 ) -> windows_core::Result<()> {
10699 unsafe {
10700 (windows_core::Interface::vtable(self).SetDefaultBackgroundColor)(
10701 windows_core::Interface::as_raw(self),
10702 core::mem::transmute(value),
10703 )
10704 .ok()
10705 }
10706 }
10707}
10708#[repr(C)]
10709#[doc(hidden)]
10710pub struct ICoreWebView2ControllerOptions3_Vtbl {
10711 pub base__: ICoreWebView2ControllerOptions2_Vtbl,
10712 pub DefaultBackgroundColor: unsafe extern "system" fn(
10713 *mut core::ffi::c_void,
10714 *mut COREWEBVIEW2_COLOR,
10715 ) -> windows_core::HRESULT,
10716 pub SetDefaultBackgroundColor: unsafe extern "system" fn(
10717 *mut core::ffi::c_void,
10718 COREWEBVIEW2_COLOR,
10719 ) -> windows_core::HRESULT,
10720}
10721pub trait ICoreWebView2ControllerOptions3_Impl: ICoreWebView2ControllerOptions2_Impl {
10722 fn DefaultBackgroundColor(&self, value: *mut COREWEBVIEW2_COLOR) -> windows_core::Result<()>;
10723 fn SetDefaultBackgroundColor(&self, value: &COREWEBVIEW2_COLOR) -> windows_core::Result<()>;
10724}
10725impl ICoreWebView2ControllerOptions3_Vtbl {
10726 pub const fn new<Identity: ICoreWebView2ControllerOptions3_Impl, const OFFSET: isize>() -> Self
10727 {
10728 unsafe extern "system" fn DefaultBackgroundColor<
10729 Identity: ICoreWebView2ControllerOptions3_Impl,
10730 const OFFSET: isize,
10731 >(
10732 this: *mut core::ffi::c_void,
10733 value: *mut COREWEBVIEW2_COLOR,
10734 ) -> windows_core::HRESULT {
10735 unsafe {
10736 let this: &Identity =
10737 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10738 ICoreWebView2ControllerOptions3_Impl::DefaultBackgroundColor(
10739 this,
10740 core::mem::transmute_copy(&value),
10741 )
10742 .into()
10743 }
10744 }
10745 unsafe extern "system" fn SetDefaultBackgroundColor<
10746 Identity: ICoreWebView2ControllerOptions3_Impl,
10747 const OFFSET: isize,
10748 >(
10749 this: *mut core::ffi::c_void,
10750 value: COREWEBVIEW2_COLOR,
10751 ) -> windows_core::HRESULT {
10752 unsafe {
10753 let this: &Identity =
10754 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10755 ICoreWebView2ControllerOptions3_Impl::SetDefaultBackgroundColor(
10756 this,
10757 core::mem::transmute(&value),
10758 )
10759 .into()
10760 }
10761 }
10762 Self {
10763 base__: ICoreWebView2ControllerOptions2_Vtbl::new::<Identity, OFFSET>(),
10764 DefaultBackgroundColor: DefaultBackgroundColor::<Identity, OFFSET>,
10765 SetDefaultBackgroundColor: SetDefaultBackgroundColor::<Identity, OFFSET>,
10766 }
10767 }
10768 pub fn matches(iid: &windows_core::GUID) -> bool {
10769 iid == &<ICoreWebView2ControllerOptions3 as windows_core::Interface>::IID
10770 || iid == &<ICoreWebView2ControllerOptions as windows_core::Interface>::IID
10771 || iid == &<ICoreWebView2ControllerOptions2 as windows_core::Interface>::IID
10772 }
10773}
10774impl windows_core::RuntimeName for ICoreWebView2ControllerOptions3 {}
10775windows_core::imp::define_interface!(
10776 ICoreWebView2ControllerOptions4,
10777 ICoreWebView2ControllerOptions4_Vtbl,
10778 0x21eb052f_ad39_555e_824a_c87b091d4d36
10779);
10780impl core::ops::Deref for ICoreWebView2ControllerOptions4 {
10781 type Target = ICoreWebView2ControllerOptions3;
10782 fn deref(&self) -> &Self::Target {
10783 unsafe { core::mem::transmute(self) }
10784 }
10785}
10786windows_core::imp::interface_hierarchy!(
10787 ICoreWebView2ControllerOptions4,
10788 windows_core::IUnknown,
10789 ICoreWebView2ControllerOptions,
10790 ICoreWebView2ControllerOptions2,
10791 ICoreWebView2ControllerOptions3
10792);
10793impl ICoreWebView2ControllerOptions4 {
10794 pub unsafe fn AllowHostInputProcessing(
10795 &self,
10796 value: *mut windows_core::BOOL,
10797 ) -> windows_core::Result<()> {
10798 unsafe {
10799 (windows_core::Interface::vtable(self).AllowHostInputProcessing)(
10800 windows_core::Interface::as_raw(self),
10801 value as _,
10802 )
10803 .ok()
10804 }
10805 }
10806 pub unsafe fn SetAllowHostInputProcessing(&self, value: bool) -> windows_core::Result<()> {
10807 unsafe {
10808 (windows_core::Interface::vtable(self).SetAllowHostInputProcessing)(
10809 windows_core::Interface::as_raw(self),
10810 value.into(),
10811 )
10812 .ok()
10813 }
10814 }
10815}
10816#[repr(C)]
10817#[doc(hidden)]
10818pub struct ICoreWebView2ControllerOptions4_Vtbl {
10819 pub base__: ICoreWebView2ControllerOptions3_Vtbl,
10820 pub AllowHostInputProcessing: unsafe extern "system" fn(
10821 *mut core::ffi::c_void,
10822 *mut windows_core::BOOL,
10823 ) -> windows_core::HRESULT,
10824 pub SetAllowHostInputProcessing: unsafe extern "system" fn(
10825 *mut core::ffi::c_void,
10826 windows_core::BOOL,
10827 ) -> windows_core::HRESULT,
10828}
10829pub trait ICoreWebView2ControllerOptions4_Impl: ICoreWebView2ControllerOptions3_Impl {
10830 fn AllowHostInputProcessing(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
10831 fn SetAllowHostInputProcessing(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
10832}
10833impl ICoreWebView2ControllerOptions4_Vtbl {
10834 pub const fn new<Identity: ICoreWebView2ControllerOptions4_Impl, const OFFSET: isize>() -> Self
10835 {
10836 unsafe extern "system" fn AllowHostInputProcessing<
10837 Identity: ICoreWebView2ControllerOptions4_Impl,
10838 const OFFSET: isize,
10839 >(
10840 this: *mut core::ffi::c_void,
10841 value: *mut windows_core::BOOL,
10842 ) -> windows_core::HRESULT {
10843 unsafe {
10844 let this: &Identity =
10845 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10846 ICoreWebView2ControllerOptions4_Impl::AllowHostInputProcessing(
10847 this,
10848 core::mem::transmute_copy(&value),
10849 )
10850 .into()
10851 }
10852 }
10853 unsafe extern "system" fn SetAllowHostInputProcessing<
10854 Identity: ICoreWebView2ControllerOptions4_Impl,
10855 const OFFSET: isize,
10856 >(
10857 this: *mut core::ffi::c_void,
10858 value: windows_core::BOOL,
10859 ) -> windows_core::HRESULT {
10860 unsafe {
10861 let this: &Identity =
10862 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10863 ICoreWebView2ControllerOptions4_Impl::SetAllowHostInputProcessing(
10864 this,
10865 core::mem::transmute_copy(&value),
10866 )
10867 .into()
10868 }
10869 }
10870 Self {
10871 base__: ICoreWebView2ControllerOptions3_Vtbl::new::<Identity, OFFSET>(),
10872 AllowHostInputProcessing: AllowHostInputProcessing::<Identity, OFFSET>,
10873 SetAllowHostInputProcessing: SetAllowHostInputProcessing::<Identity, OFFSET>,
10874 }
10875 }
10876 pub fn matches(iid: &windows_core::GUID) -> bool {
10877 iid == &<ICoreWebView2ControllerOptions4 as windows_core::Interface>::IID
10878 || iid == &<ICoreWebView2ControllerOptions as windows_core::Interface>::IID
10879 || iid == &<ICoreWebView2ControllerOptions2 as windows_core::Interface>::IID
10880 || iid == &<ICoreWebView2ControllerOptions3 as windows_core::Interface>::IID
10881 }
10882}
10883impl windows_core::RuntimeName for ICoreWebView2ControllerOptions4 {}
10884windows_core::imp::define_interface!(
10885 ICoreWebView2Cookie,
10886 ICoreWebView2Cookie_Vtbl,
10887 0xad26d6be_1486_43e6_bf87_a2034006ca21
10888);
10889windows_core::imp::interface_hierarchy!(ICoreWebView2Cookie, windows_core::IUnknown);
10890impl ICoreWebView2Cookie {
10891 pub unsafe fn Name(&self, name: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10892 unsafe {
10893 (windows_core::Interface::vtable(self).Name)(
10894 windows_core::Interface::as_raw(self),
10895 name as _,
10896 )
10897 .ok()
10898 }
10899 }
10900 pub unsafe fn Value(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10901 unsafe {
10902 (windows_core::Interface::vtable(self).Value)(
10903 windows_core::Interface::as_raw(self),
10904 value as _,
10905 )
10906 .ok()
10907 }
10908 }
10909 pub unsafe fn SetValue<P0>(&self, value: P0) -> windows_core::Result<()>
10910 where
10911 P0: windows_core::Param<windows_core::PCWSTR>,
10912 {
10913 unsafe {
10914 (windows_core::Interface::vtable(self).SetValue)(
10915 windows_core::Interface::as_raw(self),
10916 value.param().abi(),
10917 )
10918 .ok()
10919 }
10920 }
10921 pub unsafe fn Domain(&self, domain: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10922 unsafe {
10923 (windows_core::Interface::vtable(self).Domain)(
10924 windows_core::Interface::as_raw(self),
10925 domain as _,
10926 )
10927 .ok()
10928 }
10929 }
10930 pub unsafe fn Path(&self, path: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10931 unsafe {
10932 (windows_core::Interface::vtable(self).Path)(
10933 windows_core::Interface::as_raw(self),
10934 path as _,
10935 )
10936 .ok()
10937 }
10938 }
10939 pub unsafe fn Expires(&self, expires: *mut f64) -> windows_core::Result<()> {
10940 unsafe {
10941 (windows_core::Interface::vtable(self).Expires)(
10942 windows_core::Interface::as_raw(self),
10943 expires as _,
10944 )
10945 .ok()
10946 }
10947 }
10948 pub unsafe fn SetExpires(&self, expires: f64) -> windows_core::Result<()> {
10949 unsafe {
10950 (windows_core::Interface::vtable(self).SetExpires)(
10951 windows_core::Interface::as_raw(self),
10952 expires,
10953 )
10954 .ok()
10955 }
10956 }
10957 pub unsafe fn IsHttpOnly(
10958 &self,
10959 ishttponly: *mut windows_core::BOOL,
10960 ) -> windows_core::Result<()> {
10961 unsafe {
10962 (windows_core::Interface::vtable(self).IsHttpOnly)(
10963 windows_core::Interface::as_raw(self),
10964 ishttponly as _,
10965 )
10966 .ok()
10967 }
10968 }
10969 pub unsafe fn SetIsHttpOnly(&self, ishttponly: bool) -> windows_core::Result<()> {
10970 unsafe {
10971 (windows_core::Interface::vtable(self).SetIsHttpOnly)(
10972 windows_core::Interface::as_raw(self),
10973 ishttponly.into(),
10974 )
10975 .ok()
10976 }
10977 }
10978 pub unsafe fn SameSite(
10979 &self,
10980 samesite: *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10981 ) -> windows_core::Result<()> {
10982 unsafe {
10983 (windows_core::Interface::vtable(self).SameSite)(
10984 windows_core::Interface::as_raw(self),
10985 samesite as _,
10986 )
10987 .ok()
10988 }
10989 }
10990 pub unsafe fn SetSameSite(
10991 &self,
10992 samesite: COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10993 ) -> windows_core::Result<()> {
10994 unsafe {
10995 (windows_core::Interface::vtable(self).SetSameSite)(
10996 windows_core::Interface::as_raw(self),
10997 samesite,
10998 )
10999 .ok()
11000 }
11001 }
11002 pub unsafe fn IsSecure(&self, issecure: *mut windows_core::BOOL) -> windows_core::Result<()> {
11003 unsafe {
11004 (windows_core::Interface::vtable(self).IsSecure)(
11005 windows_core::Interface::as_raw(self),
11006 issecure as _,
11007 )
11008 .ok()
11009 }
11010 }
11011 pub unsafe fn SetIsSecure(&self, issecure: bool) -> windows_core::Result<()> {
11012 unsafe {
11013 (windows_core::Interface::vtable(self).SetIsSecure)(
11014 windows_core::Interface::as_raw(self),
11015 issecure.into(),
11016 )
11017 .ok()
11018 }
11019 }
11020 pub unsafe fn IsSession(&self, issession: *mut windows_core::BOOL) -> windows_core::Result<()> {
11021 unsafe {
11022 (windows_core::Interface::vtable(self).IsSession)(
11023 windows_core::Interface::as_raw(self),
11024 issession as _,
11025 )
11026 .ok()
11027 }
11028 }
11029}
11030#[repr(C)]
11031#[doc(hidden)]
11032pub struct ICoreWebView2Cookie_Vtbl {
11033 pub base__: windows_core::IUnknown_Vtbl,
11034 pub Name: unsafe extern "system" fn(
11035 *mut core::ffi::c_void,
11036 *mut windows_core::PWSTR,
11037 ) -> windows_core::HRESULT,
11038 pub Value: unsafe extern "system" fn(
11039 *mut core::ffi::c_void,
11040 *mut windows_core::PWSTR,
11041 ) -> windows_core::HRESULT,
11042 pub SetValue: unsafe extern "system" fn(
11043 *mut core::ffi::c_void,
11044 windows_core::PCWSTR,
11045 ) -> windows_core::HRESULT,
11046 pub Domain: unsafe extern "system" fn(
11047 *mut core::ffi::c_void,
11048 *mut windows_core::PWSTR,
11049 ) -> windows_core::HRESULT,
11050 pub Path: unsafe extern "system" fn(
11051 *mut core::ffi::c_void,
11052 *mut windows_core::PWSTR,
11053 ) -> windows_core::HRESULT,
11054 pub Expires:
11055 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
11056 pub SetExpires: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
11057 pub IsHttpOnly: unsafe extern "system" fn(
11058 *mut core::ffi::c_void,
11059 *mut windows_core::BOOL,
11060 ) -> windows_core::HRESULT,
11061 pub SetIsHttpOnly: unsafe extern "system" fn(
11062 *mut core::ffi::c_void,
11063 windows_core::BOOL,
11064 ) -> windows_core::HRESULT,
11065 pub SameSite: unsafe extern "system" fn(
11066 *mut core::ffi::c_void,
11067 *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
11068 ) -> windows_core::HRESULT,
11069 pub SetSameSite: unsafe extern "system" fn(
11070 *mut core::ffi::c_void,
11071 COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
11072 ) -> windows_core::HRESULT,
11073 pub IsSecure: unsafe extern "system" fn(
11074 *mut core::ffi::c_void,
11075 *mut windows_core::BOOL,
11076 ) -> windows_core::HRESULT,
11077 pub SetIsSecure: unsafe extern "system" fn(
11078 *mut core::ffi::c_void,
11079 windows_core::BOOL,
11080 ) -> windows_core::HRESULT,
11081 pub IsSession: unsafe extern "system" fn(
11082 *mut core::ffi::c_void,
11083 *mut windows_core::BOOL,
11084 ) -> windows_core::HRESULT,
11085}
11086pub trait ICoreWebView2Cookie_Impl: windows_core::IUnknownImpl {
11087 fn Name(&self, name: *mut windows_core::PWSTR) -> windows_core::Result<()>;
11088 fn Value(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
11089 fn SetValue(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
11090 fn Domain(&self, domain: *mut windows_core::PWSTR) -> windows_core::Result<()>;
11091 fn Path(&self, path: *mut windows_core::PWSTR) -> windows_core::Result<()>;
11092 fn Expires(&self, expires: *mut f64) -> windows_core::Result<()>;
11093 fn SetExpires(&self, expires: f64) -> windows_core::Result<()>;
11094 fn IsHttpOnly(&self, ishttponly: *mut windows_core::BOOL) -> windows_core::Result<()>;
11095 fn SetIsHttpOnly(&self, ishttponly: windows_core::BOOL) -> windows_core::Result<()>;
11096 fn SameSite(
11097 &self,
11098 samesite: *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
11099 ) -> windows_core::Result<()>;
11100 fn SetSameSite(&self, samesite: COREWEBVIEW2_COOKIE_SAME_SITE_KIND)
11101 -> windows_core::Result<()>;
11102 fn IsSecure(&self, issecure: *mut windows_core::BOOL) -> windows_core::Result<()>;
11103 fn SetIsSecure(&self, issecure: windows_core::BOOL) -> windows_core::Result<()>;
11104 fn IsSession(&self, issession: *mut windows_core::BOOL) -> windows_core::Result<()>;
11105}
11106impl ICoreWebView2Cookie_Vtbl {
11107 pub const fn new<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>() -> Self {
11108 unsafe extern "system" fn Name<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>(
11109 this: *mut core::ffi::c_void,
11110 name: *mut windows_core::PWSTR,
11111 ) -> windows_core::HRESULT {
11112 unsafe {
11113 let this: &Identity =
11114 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11115 ICoreWebView2Cookie_Impl::Name(this, core::mem::transmute_copy(&name)).into()
11116 }
11117 }
11118 unsafe extern "system" fn Value<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>(
11119 this: *mut core::ffi::c_void,
11120 value: *mut windows_core::PWSTR,
11121 ) -> windows_core::HRESULT {
11122 unsafe {
11123 let this: &Identity =
11124 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11125 ICoreWebView2Cookie_Impl::Value(this, core::mem::transmute_copy(&value)).into()
11126 }
11127 }
11128 unsafe extern "system" fn SetValue<
11129 Identity: ICoreWebView2Cookie_Impl,
11130 const OFFSET: isize,
11131 >(
11132 this: *mut core::ffi::c_void,
11133 value: windows_core::PCWSTR,
11134 ) -> windows_core::HRESULT {
11135 unsafe {
11136 let this: &Identity =
11137 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11138 ICoreWebView2Cookie_Impl::SetValue(this, core::mem::transmute(&value)).into()
11139 }
11140 }
11141 unsafe extern "system" fn Domain<
11142 Identity: ICoreWebView2Cookie_Impl,
11143 const OFFSET: isize,
11144 >(
11145 this: *mut core::ffi::c_void,
11146 domain: *mut windows_core::PWSTR,
11147 ) -> windows_core::HRESULT {
11148 unsafe {
11149 let this: &Identity =
11150 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11151 ICoreWebView2Cookie_Impl::Domain(this, core::mem::transmute_copy(&domain)).into()
11152 }
11153 }
11154 unsafe extern "system" fn Path<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>(
11155 this: *mut core::ffi::c_void,
11156 path: *mut windows_core::PWSTR,
11157 ) -> windows_core::HRESULT {
11158 unsafe {
11159 let this: &Identity =
11160 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11161 ICoreWebView2Cookie_Impl::Path(this, core::mem::transmute_copy(&path)).into()
11162 }
11163 }
11164 unsafe extern "system" fn Expires<
11165 Identity: ICoreWebView2Cookie_Impl,
11166 const OFFSET: isize,
11167 >(
11168 this: *mut core::ffi::c_void,
11169 expires: *mut f64,
11170 ) -> windows_core::HRESULT {
11171 unsafe {
11172 let this: &Identity =
11173 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11174 ICoreWebView2Cookie_Impl::Expires(this, core::mem::transmute_copy(&expires)).into()
11175 }
11176 }
11177 unsafe extern "system" fn SetExpires<
11178 Identity: ICoreWebView2Cookie_Impl,
11179 const OFFSET: isize,
11180 >(
11181 this: *mut core::ffi::c_void,
11182 expires: f64,
11183 ) -> windows_core::HRESULT {
11184 unsafe {
11185 let this: &Identity =
11186 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11187 ICoreWebView2Cookie_Impl::SetExpires(this, core::mem::transmute_copy(&expires))
11188 .into()
11189 }
11190 }
11191 unsafe extern "system" fn IsHttpOnly<
11192 Identity: ICoreWebView2Cookie_Impl,
11193 const OFFSET: isize,
11194 >(
11195 this: *mut core::ffi::c_void,
11196 ishttponly: *mut windows_core::BOOL,
11197 ) -> windows_core::HRESULT {
11198 unsafe {
11199 let this: &Identity =
11200 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11201 ICoreWebView2Cookie_Impl::IsHttpOnly(this, core::mem::transmute_copy(&ishttponly))
11202 .into()
11203 }
11204 }
11205 unsafe extern "system" fn SetIsHttpOnly<
11206 Identity: ICoreWebView2Cookie_Impl,
11207 const OFFSET: isize,
11208 >(
11209 this: *mut core::ffi::c_void,
11210 ishttponly: windows_core::BOOL,
11211 ) -> windows_core::HRESULT {
11212 unsafe {
11213 let this: &Identity =
11214 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11215 ICoreWebView2Cookie_Impl::SetIsHttpOnly(
11216 this,
11217 core::mem::transmute_copy(&ishttponly),
11218 )
11219 .into()
11220 }
11221 }
11222 unsafe extern "system" fn SameSite<
11223 Identity: ICoreWebView2Cookie_Impl,
11224 const OFFSET: isize,
11225 >(
11226 this: *mut core::ffi::c_void,
11227 samesite: *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
11228 ) -> windows_core::HRESULT {
11229 unsafe {
11230 let this: &Identity =
11231 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11232 ICoreWebView2Cookie_Impl::SameSite(this, core::mem::transmute_copy(&samesite))
11233 .into()
11234 }
11235 }
11236 unsafe extern "system" fn SetSameSite<
11237 Identity: ICoreWebView2Cookie_Impl,
11238 const OFFSET: isize,
11239 >(
11240 this: *mut core::ffi::c_void,
11241 samesite: COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
11242 ) -> windows_core::HRESULT {
11243 unsafe {
11244 let this: &Identity =
11245 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11246 ICoreWebView2Cookie_Impl::SetSameSite(this, core::mem::transmute_copy(&samesite))
11247 .into()
11248 }
11249 }
11250 unsafe extern "system" fn IsSecure<
11251 Identity: ICoreWebView2Cookie_Impl,
11252 const OFFSET: isize,
11253 >(
11254 this: *mut core::ffi::c_void,
11255 issecure: *mut windows_core::BOOL,
11256 ) -> windows_core::HRESULT {
11257 unsafe {
11258 let this: &Identity =
11259 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11260 ICoreWebView2Cookie_Impl::IsSecure(this, core::mem::transmute_copy(&issecure))
11261 .into()
11262 }
11263 }
11264 unsafe extern "system" fn SetIsSecure<
11265 Identity: ICoreWebView2Cookie_Impl,
11266 const OFFSET: isize,
11267 >(
11268 this: *mut core::ffi::c_void,
11269 issecure: windows_core::BOOL,
11270 ) -> windows_core::HRESULT {
11271 unsafe {
11272 let this: &Identity =
11273 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11274 ICoreWebView2Cookie_Impl::SetIsSecure(this, core::mem::transmute_copy(&issecure))
11275 .into()
11276 }
11277 }
11278 unsafe extern "system" fn IsSession<
11279 Identity: ICoreWebView2Cookie_Impl,
11280 const OFFSET: isize,
11281 >(
11282 this: *mut core::ffi::c_void,
11283 issession: *mut windows_core::BOOL,
11284 ) -> windows_core::HRESULT {
11285 unsafe {
11286 let this: &Identity =
11287 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11288 ICoreWebView2Cookie_Impl::IsSession(this, core::mem::transmute_copy(&issession))
11289 .into()
11290 }
11291 }
11292 Self {
11293 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11294 Name: Name::<Identity, OFFSET>,
11295 Value: Value::<Identity, OFFSET>,
11296 SetValue: SetValue::<Identity, OFFSET>,
11297 Domain: Domain::<Identity, OFFSET>,
11298 Path: Path::<Identity, OFFSET>,
11299 Expires: Expires::<Identity, OFFSET>,
11300 SetExpires: SetExpires::<Identity, OFFSET>,
11301 IsHttpOnly: IsHttpOnly::<Identity, OFFSET>,
11302 SetIsHttpOnly: SetIsHttpOnly::<Identity, OFFSET>,
11303 SameSite: SameSite::<Identity, OFFSET>,
11304 SetSameSite: SetSameSite::<Identity, OFFSET>,
11305 IsSecure: IsSecure::<Identity, OFFSET>,
11306 SetIsSecure: SetIsSecure::<Identity, OFFSET>,
11307 IsSession: IsSession::<Identity, OFFSET>,
11308 }
11309 }
11310 pub fn matches(iid: &windows_core::GUID) -> bool {
11311 iid == &<ICoreWebView2Cookie as windows_core::Interface>::IID
11312 }
11313}
11314impl windows_core::RuntimeName for ICoreWebView2Cookie {}
11315windows_core::imp::define_interface!(
11316 ICoreWebView2CookieList,
11317 ICoreWebView2CookieList_Vtbl,
11318 0xf7f6f714_5d2a_43c6_9503_346ece02d186
11319);
11320windows_core::imp::interface_hierarchy!(ICoreWebView2CookieList, windows_core::IUnknown);
11321impl ICoreWebView2CookieList {
11322 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
11323 unsafe {
11324 (windows_core::Interface::vtable(self).Count)(
11325 windows_core::Interface::as_raw(self),
11326 value as _,
11327 )
11328 .ok()
11329 }
11330 }
11331 pub unsafe fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2Cookie> {
11332 unsafe {
11333 let mut result__ = core::mem::zeroed();
11334 (windows_core::Interface::vtable(self).GetValueAtIndex)(
11335 windows_core::Interface::as_raw(self),
11336 index,
11337 &mut result__,
11338 )
11339 .and_then(|| windows_core::Type::from_abi(result__))
11340 }
11341 }
11342}
11343#[repr(C)]
11344#[doc(hidden)]
11345pub struct ICoreWebView2CookieList_Vtbl {
11346 pub base__: windows_core::IUnknown_Vtbl,
11347 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11348 pub GetValueAtIndex: unsafe extern "system" fn(
11349 *mut core::ffi::c_void,
11350 u32,
11351 *mut *mut core::ffi::c_void,
11352 ) -> windows_core::HRESULT,
11353}
11354pub trait ICoreWebView2CookieList_Impl: windows_core::IUnknownImpl {
11355 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
11356 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2Cookie>;
11357}
11358impl ICoreWebView2CookieList_Vtbl {
11359 pub const fn new<Identity: ICoreWebView2CookieList_Impl, const OFFSET: isize>() -> Self {
11360 unsafe extern "system" fn Count<
11361 Identity: ICoreWebView2CookieList_Impl,
11362 const OFFSET: isize,
11363 >(
11364 this: *mut core::ffi::c_void,
11365 value: *mut u32,
11366 ) -> windows_core::HRESULT {
11367 unsafe {
11368 let this: &Identity =
11369 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11370 ICoreWebView2CookieList_Impl::Count(this, core::mem::transmute_copy(&value)).into()
11371 }
11372 }
11373 unsafe extern "system" fn GetValueAtIndex<
11374 Identity: ICoreWebView2CookieList_Impl,
11375 const OFFSET: isize,
11376 >(
11377 this: *mut core::ffi::c_void,
11378 index: u32,
11379 value: *mut *mut core::ffi::c_void,
11380 ) -> windows_core::HRESULT {
11381 unsafe {
11382 let this: &Identity =
11383 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11384 match ICoreWebView2CookieList_Impl::GetValueAtIndex(
11385 this,
11386 core::mem::transmute_copy(&index),
11387 ) {
11388 Ok(ok__) => {
11389 value.write(core::mem::transmute(ok__));
11390 windows_core::HRESULT(0)
11391 }
11392 Err(err) => err.into(),
11393 }
11394 }
11395 }
11396 Self {
11397 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11398 Count: Count::<Identity, OFFSET>,
11399 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
11400 }
11401 }
11402 pub fn matches(iid: &windows_core::GUID) -> bool {
11403 iid == &<ICoreWebView2CookieList as windows_core::Interface>::IID
11404 }
11405}
11406impl windows_core::RuntimeName for ICoreWebView2CookieList {}
11407windows_core::imp::define_interface!(
11408 ICoreWebView2CookieManager,
11409 ICoreWebView2CookieManager_Vtbl,
11410 0x177cd9e7_b6f5_451a_94a0_5d7a3a4c4141
11411);
11412windows_core::imp::interface_hierarchy!(ICoreWebView2CookieManager, windows_core::IUnknown);
11413impl ICoreWebView2CookieManager {
11414 pub unsafe fn CreateCookie<P0, P1, P2, P3>(
11415 &self,
11416 name: P0,
11417 value: P1,
11418 domain: P2,
11419 path: P3,
11420 ) -> windows_core::Result<ICoreWebView2Cookie>
11421 where
11422 P0: windows_core::Param<windows_core::PCWSTR>,
11423 P1: windows_core::Param<windows_core::PCWSTR>,
11424 P2: windows_core::Param<windows_core::PCWSTR>,
11425 P3: windows_core::Param<windows_core::PCWSTR>,
11426 {
11427 unsafe {
11428 let mut result__ = core::mem::zeroed();
11429 (windows_core::Interface::vtable(self).CreateCookie)(
11430 windows_core::Interface::as_raw(self),
11431 name.param().abi(),
11432 value.param().abi(),
11433 domain.param().abi(),
11434 path.param().abi(),
11435 &mut result__,
11436 )
11437 .and_then(|| windows_core::Type::from_abi(result__))
11438 }
11439 }
11440 pub unsafe fn CopyCookie<P0>(
11441 &self,
11442 cookieparam: P0,
11443 ) -> windows_core::Result<ICoreWebView2Cookie>
11444 where
11445 P0: windows_core::Param<ICoreWebView2Cookie>,
11446 {
11447 unsafe {
11448 let mut result__ = core::mem::zeroed();
11449 (windows_core::Interface::vtable(self).CopyCookie)(
11450 windows_core::Interface::as_raw(self),
11451 cookieparam.param().abi(),
11452 &mut result__,
11453 )
11454 .and_then(|| windows_core::Type::from_abi(result__))
11455 }
11456 }
11457 pub unsafe fn GetCookies<P0, P1>(&self, uri: P0, handler: P1) -> windows_core::Result<()>
11458 where
11459 P0: windows_core::Param<windows_core::PCWSTR>,
11460 P1: windows_core::Param<ICoreWebView2GetCookiesCompletedHandler>,
11461 {
11462 unsafe {
11463 (windows_core::Interface::vtable(self).GetCookies)(
11464 windows_core::Interface::as_raw(self),
11465 uri.param().abi(),
11466 handler.param().abi(),
11467 )
11468 .ok()
11469 }
11470 }
11471 pub unsafe fn AddOrUpdateCookie<P0>(&self, cookie: P0) -> windows_core::Result<()>
11472 where
11473 P0: windows_core::Param<ICoreWebView2Cookie>,
11474 {
11475 unsafe {
11476 (windows_core::Interface::vtable(self).AddOrUpdateCookie)(
11477 windows_core::Interface::as_raw(self),
11478 cookie.param().abi(),
11479 )
11480 .ok()
11481 }
11482 }
11483 pub unsafe fn DeleteCookie<P0>(&self, cookie: P0) -> windows_core::Result<()>
11484 where
11485 P0: windows_core::Param<ICoreWebView2Cookie>,
11486 {
11487 unsafe {
11488 (windows_core::Interface::vtable(self).DeleteCookie)(
11489 windows_core::Interface::as_raw(self),
11490 cookie.param().abi(),
11491 )
11492 .ok()
11493 }
11494 }
11495 pub unsafe fn DeleteCookies<P0, P1>(&self, name: P0, uri: P1) -> windows_core::Result<()>
11496 where
11497 P0: windows_core::Param<windows_core::PCWSTR>,
11498 P1: windows_core::Param<windows_core::PCWSTR>,
11499 {
11500 unsafe {
11501 (windows_core::Interface::vtable(self).DeleteCookies)(
11502 windows_core::Interface::as_raw(self),
11503 name.param().abi(),
11504 uri.param().abi(),
11505 )
11506 .ok()
11507 }
11508 }
11509 pub unsafe fn DeleteCookiesWithDomainAndPath<P0, P1, P2>(
11510 &self,
11511 name: P0,
11512 domain: P1,
11513 path: P2,
11514 ) -> windows_core::Result<()>
11515 where
11516 P0: windows_core::Param<windows_core::PCWSTR>,
11517 P1: windows_core::Param<windows_core::PCWSTR>,
11518 P2: windows_core::Param<windows_core::PCWSTR>,
11519 {
11520 unsafe {
11521 (windows_core::Interface::vtable(self).DeleteCookiesWithDomainAndPath)(
11522 windows_core::Interface::as_raw(self),
11523 name.param().abi(),
11524 domain.param().abi(),
11525 path.param().abi(),
11526 )
11527 .ok()
11528 }
11529 }
11530 pub unsafe fn DeleteAllCookies(&self) -> windows_core::Result<()> {
11531 unsafe {
11532 (windows_core::Interface::vtable(self).DeleteAllCookies)(
11533 windows_core::Interface::as_raw(self),
11534 )
11535 .ok()
11536 }
11537 }
11538}
11539#[repr(C)]
11540#[doc(hidden)]
11541pub struct ICoreWebView2CookieManager_Vtbl {
11542 pub base__: windows_core::IUnknown_Vtbl,
11543 pub CreateCookie: unsafe extern "system" fn(
11544 *mut core::ffi::c_void,
11545 windows_core::PCWSTR,
11546 windows_core::PCWSTR,
11547 windows_core::PCWSTR,
11548 windows_core::PCWSTR,
11549 *mut *mut core::ffi::c_void,
11550 ) -> windows_core::HRESULT,
11551 pub CopyCookie: unsafe extern "system" fn(
11552 *mut core::ffi::c_void,
11553 *mut core::ffi::c_void,
11554 *mut *mut core::ffi::c_void,
11555 ) -> windows_core::HRESULT,
11556 pub GetCookies: unsafe extern "system" fn(
11557 *mut core::ffi::c_void,
11558 windows_core::PCWSTR,
11559 *mut core::ffi::c_void,
11560 ) -> windows_core::HRESULT,
11561 pub AddOrUpdateCookie: unsafe extern "system" fn(
11562 *mut core::ffi::c_void,
11563 *mut core::ffi::c_void,
11564 ) -> windows_core::HRESULT,
11565 pub DeleteCookie: unsafe extern "system" fn(
11566 *mut core::ffi::c_void,
11567 *mut core::ffi::c_void,
11568 ) -> windows_core::HRESULT,
11569 pub DeleteCookies: unsafe extern "system" fn(
11570 *mut core::ffi::c_void,
11571 windows_core::PCWSTR,
11572 windows_core::PCWSTR,
11573 ) -> windows_core::HRESULT,
11574 pub DeleteCookiesWithDomainAndPath: unsafe extern "system" fn(
11575 *mut core::ffi::c_void,
11576 windows_core::PCWSTR,
11577 windows_core::PCWSTR,
11578 windows_core::PCWSTR,
11579 ) -> windows_core::HRESULT,
11580 pub DeleteAllCookies:
11581 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
11582}
11583pub trait ICoreWebView2CookieManager_Impl: windows_core::IUnknownImpl {
11584 fn CreateCookie(
11585 &self,
11586 name: &windows_core::PCWSTR,
11587 value: &windows_core::PCWSTR,
11588 domain: &windows_core::PCWSTR,
11589 path: &windows_core::PCWSTR,
11590 ) -> windows_core::Result<ICoreWebView2Cookie>;
11591 fn CopyCookie(
11592 &self,
11593 cookieparam: windows_core::Ref<ICoreWebView2Cookie>,
11594 ) -> windows_core::Result<ICoreWebView2Cookie>;
11595 fn GetCookies(
11596 &self,
11597 uri: &windows_core::PCWSTR,
11598 handler: windows_core::Ref<ICoreWebView2GetCookiesCompletedHandler>,
11599 ) -> windows_core::Result<()>;
11600 fn AddOrUpdateCookie(
11601 &self,
11602 cookie: windows_core::Ref<ICoreWebView2Cookie>,
11603 ) -> windows_core::Result<()>;
11604 fn DeleteCookie(
11605 &self,
11606 cookie: windows_core::Ref<ICoreWebView2Cookie>,
11607 ) -> windows_core::Result<()>;
11608 fn DeleteCookies(
11609 &self,
11610 name: &windows_core::PCWSTR,
11611 uri: &windows_core::PCWSTR,
11612 ) -> windows_core::Result<()>;
11613 fn DeleteCookiesWithDomainAndPath(
11614 &self,
11615 name: &windows_core::PCWSTR,
11616 domain: &windows_core::PCWSTR,
11617 path: &windows_core::PCWSTR,
11618 ) -> windows_core::Result<()>;
11619 fn DeleteAllCookies(&self) -> windows_core::Result<()>;
11620}
11621impl ICoreWebView2CookieManager_Vtbl {
11622 pub const fn new<Identity: ICoreWebView2CookieManager_Impl, const OFFSET: isize>() -> Self {
11623 unsafe extern "system" fn CreateCookie<
11624 Identity: ICoreWebView2CookieManager_Impl,
11625 const OFFSET: isize,
11626 >(
11627 this: *mut core::ffi::c_void,
11628 name: windows_core::PCWSTR,
11629 value: windows_core::PCWSTR,
11630 domain: windows_core::PCWSTR,
11631 path: windows_core::PCWSTR,
11632 cookie: *mut *mut core::ffi::c_void,
11633 ) -> windows_core::HRESULT {
11634 unsafe {
11635 let this: &Identity =
11636 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11637 match ICoreWebView2CookieManager_Impl::CreateCookie(
11638 this,
11639 core::mem::transmute(&name),
11640 core::mem::transmute(&value),
11641 core::mem::transmute(&domain),
11642 core::mem::transmute(&path),
11643 ) {
11644 Ok(ok__) => {
11645 cookie.write(core::mem::transmute(ok__));
11646 windows_core::HRESULT(0)
11647 }
11648 Err(err) => err.into(),
11649 }
11650 }
11651 }
11652 unsafe extern "system" fn CopyCookie<
11653 Identity: ICoreWebView2CookieManager_Impl,
11654 const OFFSET: isize,
11655 >(
11656 this: *mut core::ffi::c_void,
11657 cookieparam: *mut core::ffi::c_void,
11658 cookie: *mut *mut core::ffi::c_void,
11659 ) -> windows_core::HRESULT {
11660 unsafe {
11661 let this: &Identity =
11662 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11663 match ICoreWebView2CookieManager_Impl::CopyCookie(
11664 this,
11665 core::mem::transmute_copy(&cookieparam),
11666 ) {
11667 Ok(ok__) => {
11668 cookie.write(core::mem::transmute(ok__));
11669 windows_core::HRESULT(0)
11670 }
11671 Err(err) => err.into(),
11672 }
11673 }
11674 }
11675 unsafe extern "system" fn GetCookies<
11676 Identity: ICoreWebView2CookieManager_Impl,
11677 const OFFSET: isize,
11678 >(
11679 this: *mut core::ffi::c_void,
11680 uri: windows_core::PCWSTR,
11681 handler: *mut core::ffi::c_void,
11682 ) -> windows_core::HRESULT {
11683 unsafe {
11684 let this: &Identity =
11685 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11686 ICoreWebView2CookieManager_Impl::GetCookies(
11687 this,
11688 core::mem::transmute(&uri),
11689 core::mem::transmute_copy(&handler),
11690 )
11691 .into()
11692 }
11693 }
11694 unsafe extern "system" fn AddOrUpdateCookie<
11695 Identity: ICoreWebView2CookieManager_Impl,
11696 const OFFSET: isize,
11697 >(
11698 this: *mut core::ffi::c_void,
11699 cookie: *mut core::ffi::c_void,
11700 ) -> windows_core::HRESULT {
11701 unsafe {
11702 let this: &Identity =
11703 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11704 ICoreWebView2CookieManager_Impl::AddOrUpdateCookie(
11705 this,
11706 core::mem::transmute_copy(&cookie),
11707 )
11708 .into()
11709 }
11710 }
11711 unsafe extern "system" fn DeleteCookie<
11712 Identity: ICoreWebView2CookieManager_Impl,
11713 const OFFSET: isize,
11714 >(
11715 this: *mut core::ffi::c_void,
11716 cookie: *mut core::ffi::c_void,
11717 ) -> windows_core::HRESULT {
11718 unsafe {
11719 let this: &Identity =
11720 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11721 ICoreWebView2CookieManager_Impl::DeleteCookie(
11722 this,
11723 core::mem::transmute_copy(&cookie),
11724 )
11725 .into()
11726 }
11727 }
11728 unsafe extern "system" fn DeleteCookies<
11729 Identity: ICoreWebView2CookieManager_Impl,
11730 const OFFSET: isize,
11731 >(
11732 this: *mut core::ffi::c_void,
11733 name: windows_core::PCWSTR,
11734 uri: windows_core::PCWSTR,
11735 ) -> windows_core::HRESULT {
11736 unsafe {
11737 let this: &Identity =
11738 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11739 ICoreWebView2CookieManager_Impl::DeleteCookies(
11740 this,
11741 core::mem::transmute(&name),
11742 core::mem::transmute(&uri),
11743 )
11744 .into()
11745 }
11746 }
11747 unsafe extern "system" fn DeleteCookiesWithDomainAndPath<
11748 Identity: ICoreWebView2CookieManager_Impl,
11749 const OFFSET: isize,
11750 >(
11751 this: *mut core::ffi::c_void,
11752 name: windows_core::PCWSTR,
11753 domain: windows_core::PCWSTR,
11754 path: windows_core::PCWSTR,
11755 ) -> windows_core::HRESULT {
11756 unsafe {
11757 let this: &Identity =
11758 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11759 ICoreWebView2CookieManager_Impl::DeleteCookiesWithDomainAndPath(
11760 this,
11761 core::mem::transmute(&name),
11762 core::mem::transmute(&domain),
11763 core::mem::transmute(&path),
11764 )
11765 .into()
11766 }
11767 }
11768 unsafe extern "system" fn DeleteAllCookies<
11769 Identity: ICoreWebView2CookieManager_Impl,
11770 const OFFSET: isize,
11771 >(
11772 this: *mut core::ffi::c_void,
11773 ) -> windows_core::HRESULT {
11774 unsafe {
11775 let this: &Identity =
11776 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11777 ICoreWebView2CookieManager_Impl::DeleteAllCookies(this).into()
11778 }
11779 }
11780 Self {
11781 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11782 CreateCookie: CreateCookie::<Identity, OFFSET>,
11783 CopyCookie: CopyCookie::<Identity, OFFSET>,
11784 GetCookies: GetCookies::<Identity, OFFSET>,
11785 AddOrUpdateCookie: AddOrUpdateCookie::<Identity, OFFSET>,
11786 DeleteCookie: DeleteCookie::<Identity, OFFSET>,
11787 DeleteCookies: DeleteCookies::<Identity, OFFSET>,
11788 DeleteCookiesWithDomainAndPath: DeleteCookiesWithDomainAndPath::<Identity, OFFSET>,
11789 DeleteAllCookies: DeleteAllCookies::<Identity, OFFSET>,
11790 }
11791 }
11792 pub fn matches(iid: &windows_core::GUID) -> bool {
11793 iid == &<ICoreWebView2CookieManager as windows_core::Interface>::IID
11794 }
11795}
11796impl windows_core::RuntimeName for ICoreWebView2CookieManager {}
11797windows_core::imp::define_interface!(
11798 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
11799 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Vtbl,
11800 0x02fab84b_1428_4fb7_ad45_1b2e64736184
11801);
11802windows_core::imp::interface_hierarchy!(
11803 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
11804 windows_core::IUnknown
11805);
11806impl ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler {
11807 pub unsafe fn Invoke<P1>(
11808 &self,
11809 errorcode: windows_core::HRESULT,
11810 result: P1,
11811 ) -> windows_core::Result<()>
11812 where
11813 P1: windows_core::Param<ICoreWebView2CompositionController>,
11814 {
11815 unsafe {
11816 (windows_core::Interface::vtable(self).Invoke)(
11817 windows_core::Interface::as_raw(self),
11818 errorcode,
11819 result.param().abi(),
11820 )
11821 .ok()
11822 }
11823 }
11824}
11825#[repr(C)]
11826#[doc(hidden)]
11827pub struct ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Vtbl {
11828 pub base__: windows_core::IUnknown_Vtbl,
11829 pub Invoke: unsafe extern "system" fn(
11830 *mut core::ffi::c_void,
11831 windows_core::HRESULT,
11832 *mut core::ffi::c_void,
11833 ) -> windows_core::HRESULT,
11834}
11835pub trait ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl:
11836 windows_core::IUnknownImpl
11837{
11838 fn Invoke(
11839 &self,
11840 errorcode: windows_core::HRESULT,
11841 result: windows_core::Ref<ICoreWebView2CompositionController>,
11842 ) -> windows_core::Result<()>;
11843}
11844impl ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Vtbl {
11845 pub const fn new<
11846 Identity: ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl,
11847 const OFFSET: isize,
11848 >() -> Self {
11849 unsafe extern "system" fn Invoke<
11850 Identity: ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl,
11851 const OFFSET: isize,
11852 >(
11853 this: *mut core::ffi::c_void,
11854 errorcode: windows_core::HRESULT,
11855 result: *mut core::ffi::c_void,
11856 ) -> windows_core::HRESULT {
11857 unsafe {
11858 let this: &Identity =
11859 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11860 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl::Invoke(
11861 this,
11862 core::mem::transmute_copy(&errorcode),
11863 core::mem::transmute_copy(&result),
11864 )
11865 .into()
11866 }
11867 }
11868 Self {
11869 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11870 Invoke: Invoke::<Identity, OFFSET>,
11871 }
11872 }
11873 pub fn matches(iid: &windows_core::GUID) -> bool {
11874 iid == & < ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler as windows_core::Interface >::IID
11875 }
11876}
11877impl windows_core::RuntimeName
11878 for ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler
11879{
11880}
11881windows_core::imp::define_interface!(
11882 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler,
11883 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Vtbl,
11884 0x6c4819f3_c9b7_4260_8127_c9f5bde7f68c
11885);
11886windows_core::imp::interface_hierarchy!(
11887 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler,
11888 windows_core::IUnknown
11889);
11890impl ICoreWebView2CreateCoreWebView2ControllerCompletedHandler {
11891 pub unsafe fn Invoke<P1>(
11892 &self,
11893 errorcode: windows_core::HRESULT,
11894 result: P1,
11895 ) -> windows_core::Result<()>
11896 where
11897 P1: windows_core::Param<ICoreWebView2Controller>,
11898 {
11899 unsafe {
11900 (windows_core::Interface::vtable(self).Invoke)(
11901 windows_core::Interface::as_raw(self),
11902 errorcode,
11903 result.param().abi(),
11904 )
11905 .ok()
11906 }
11907 }
11908}
11909#[repr(C)]
11910#[doc(hidden)]
11911pub struct ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Vtbl {
11912 pub base__: windows_core::IUnknown_Vtbl,
11913 pub Invoke: unsafe extern "system" fn(
11914 *mut core::ffi::c_void,
11915 windows_core::HRESULT,
11916 *mut core::ffi::c_void,
11917 ) -> windows_core::HRESULT,
11918}
11919pub trait ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl:
11920 windows_core::IUnknownImpl
11921{
11922 fn Invoke(
11923 &self,
11924 errorcode: windows_core::HRESULT,
11925 result: windows_core::Ref<ICoreWebView2Controller>,
11926 ) -> windows_core::Result<()>;
11927}
11928impl ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Vtbl {
11929 pub const fn new<
11930 Identity: ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl,
11931 const OFFSET: isize,
11932 >() -> Self {
11933 unsafe extern "system" fn Invoke<
11934 Identity: ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl,
11935 const OFFSET: isize,
11936 >(
11937 this: *mut core::ffi::c_void,
11938 errorcode: windows_core::HRESULT,
11939 result: *mut core::ffi::c_void,
11940 ) -> windows_core::HRESULT {
11941 unsafe {
11942 let this: &Identity =
11943 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11944 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl::Invoke(
11945 this,
11946 core::mem::transmute_copy(&errorcode),
11947 core::mem::transmute_copy(&result),
11948 )
11949 .into()
11950 }
11951 }
11952 Self {
11953 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11954 Invoke: Invoke::<Identity, OFFSET>,
11955 }
11956 }
11957 pub fn matches(iid: &windows_core::GUID) -> bool {
11958 iid == & < ICoreWebView2CreateCoreWebView2ControllerCompletedHandler as windows_core::Interface >::IID
11959 }
11960}
11961impl windows_core::RuntimeName for ICoreWebView2CreateCoreWebView2ControllerCompletedHandler {}
11962windows_core::imp::define_interface!(
11963 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler,
11964 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Vtbl,
11965 0x4e8a3389_c9d8_4bd2_b6b5_124fee6cc14d
11966);
11967windows_core::imp::interface_hierarchy!(
11968 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler,
11969 windows_core::IUnknown
11970);
11971impl ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler {
11972 pub unsafe fn Invoke<P1>(
11973 &self,
11974 errorcode: windows_core::HRESULT,
11975 result: P1,
11976 ) -> windows_core::Result<()>
11977 where
11978 P1: windows_core::Param<ICoreWebView2Environment>,
11979 {
11980 unsafe {
11981 (windows_core::Interface::vtable(self).Invoke)(
11982 windows_core::Interface::as_raw(self),
11983 errorcode,
11984 result.param().abi(),
11985 )
11986 .ok()
11987 }
11988 }
11989}
11990#[repr(C)]
11991#[doc(hidden)]
11992pub struct ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Vtbl {
11993 pub base__: windows_core::IUnknown_Vtbl,
11994 pub Invoke: unsafe extern "system" fn(
11995 *mut core::ffi::c_void,
11996 windows_core::HRESULT,
11997 *mut core::ffi::c_void,
11998 ) -> windows_core::HRESULT,
11999}
12000pub trait ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl:
12001 windows_core::IUnknownImpl
12002{
12003 fn Invoke(
12004 &self,
12005 errorcode: windows_core::HRESULT,
12006 result: windows_core::Ref<ICoreWebView2Environment>,
12007 ) -> windows_core::Result<()>;
12008}
12009impl ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Vtbl {
12010 pub const fn new<
12011 Identity: ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl,
12012 const OFFSET: isize,
12013 >() -> Self {
12014 unsafe extern "system" fn Invoke<
12015 Identity: ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl,
12016 const OFFSET: isize,
12017 >(
12018 this: *mut core::ffi::c_void,
12019 errorcode: windows_core::HRESULT,
12020 result: *mut core::ffi::c_void,
12021 ) -> windows_core::HRESULT {
12022 unsafe {
12023 let this: &Identity =
12024 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12025 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl::Invoke(
12026 this,
12027 core::mem::transmute_copy(&errorcode),
12028 core::mem::transmute_copy(&result),
12029 )
12030 .into()
12031 }
12032 }
12033 Self {
12034 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12035 Invoke: Invoke::<Identity, OFFSET>,
12036 }
12037 }
12038 pub fn matches(iid: &windows_core::GUID) -> bool {
12039 iid == & < ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler as windows_core::Interface >::IID
12040 }
12041}
12042impl windows_core::RuntimeName for ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler {}
12043windows_core::imp::define_interface!(
12044 ICoreWebView2CursorChangedEventHandler,
12045 ICoreWebView2CursorChangedEventHandler_Vtbl,
12046 0x9da43ccc_26e1_4dad_b56c_d8961c94c571
12047);
12048windows_core::imp::interface_hierarchy!(
12049 ICoreWebView2CursorChangedEventHandler,
12050 windows_core::IUnknown
12051);
12052impl ICoreWebView2CursorChangedEventHandler {
12053 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
12054 where
12055 P0: windows_core::Param<ICoreWebView2CompositionController>,
12056 P1: windows_core::Param<windows_core::IUnknown>,
12057 {
12058 unsafe {
12059 (windows_core::Interface::vtable(self).Invoke)(
12060 windows_core::Interface::as_raw(self),
12061 sender.param().abi(),
12062 args.param().abi(),
12063 )
12064 .ok()
12065 }
12066 }
12067}
12068#[repr(C)]
12069#[doc(hidden)]
12070pub struct ICoreWebView2CursorChangedEventHandler_Vtbl {
12071 pub base__: windows_core::IUnknown_Vtbl,
12072 pub Invoke: unsafe extern "system" fn(
12073 *mut core::ffi::c_void,
12074 *mut core::ffi::c_void,
12075 *mut core::ffi::c_void,
12076 ) -> windows_core::HRESULT,
12077}
12078pub trait ICoreWebView2CursorChangedEventHandler_Impl: windows_core::IUnknownImpl {
12079 fn Invoke(
12080 &self,
12081 sender: windows_core::Ref<ICoreWebView2CompositionController>,
12082 args: windows_core::Ref<windows_core::IUnknown>,
12083 ) -> windows_core::Result<()>;
12084}
12085impl ICoreWebView2CursorChangedEventHandler_Vtbl {
12086 pub const fn new<Identity: ICoreWebView2CursorChangedEventHandler_Impl, const OFFSET: isize>(
12087 ) -> Self {
12088 unsafe extern "system" fn Invoke<
12089 Identity: ICoreWebView2CursorChangedEventHandler_Impl,
12090 const OFFSET: isize,
12091 >(
12092 this: *mut core::ffi::c_void,
12093 sender: *mut core::ffi::c_void,
12094 args: *mut core::ffi::c_void,
12095 ) -> windows_core::HRESULT {
12096 unsafe {
12097 let this: &Identity =
12098 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12099 ICoreWebView2CursorChangedEventHandler_Impl::Invoke(
12100 this,
12101 core::mem::transmute_copy(&sender),
12102 core::mem::transmute_copy(&args),
12103 )
12104 .into()
12105 }
12106 }
12107 Self {
12108 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12109 Invoke: Invoke::<Identity, OFFSET>,
12110 }
12111 }
12112 pub fn matches(iid: &windows_core::GUID) -> bool {
12113 iid == &<ICoreWebView2CursorChangedEventHandler as windows_core::Interface>::IID
12114 }
12115}
12116impl windows_core::RuntimeName for ICoreWebView2CursorChangedEventHandler {}
12117windows_core::imp::define_interface!(
12118 ICoreWebView2CustomItemSelectedEventHandler,
12119 ICoreWebView2CustomItemSelectedEventHandler_Vtbl,
12120 0x49e1d0bc_fe9e_4481_b7c2_32324aa21998
12121);
12122windows_core::imp::interface_hierarchy!(
12123 ICoreWebView2CustomItemSelectedEventHandler,
12124 windows_core::IUnknown
12125);
12126impl ICoreWebView2CustomItemSelectedEventHandler {
12127 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
12128 where
12129 P0: windows_core::Param<ICoreWebView2ContextMenuItem>,
12130 P1: windows_core::Param<windows_core::IUnknown>,
12131 {
12132 unsafe {
12133 (windows_core::Interface::vtable(self).Invoke)(
12134 windows_core::Interface::as_raw(self),
12135 sender.param().abi(),
12136 args.param().abi(),
12137 )
12138 .ok()
12139 }
12140 }
12141}
12142#[repr(C)]
12143#[doc(hidden)]
12144pub struct ICoreWebView2CustomItemSelectedEventHandler_Vtbl {
12145 pub base__: windows_core::IUnknown_Vtbl,
12146 pub Invoke: unsafe extern "system" fn(
12147 *mut core::ffi::c_void,
12148 *mut core::ffi::c_void,
12149 *mut core::ffi::c_void,
12150 ) -> windows_core::HRESULT,
12151}
12152pub trait ICoreWebView2CustomItemSelectedEventHandler_Impl: windows_core::IUnknownImpl {
12153 fn Invoke(
12154 &self,
12155 sender: windows_core::Ref<ICoreWebView2ContextMenuItem>,
12156 args: windows_core::Ref<windows_core::IUnknown>,
12157 ) -> windows_core::Result<()>;
12158}
12159impl ICoreWebView2CustomItemSelectedEventHandler_Vtbl {
12160 pub const fn new<
12161 Identity: ICoreWebView2CustomItemSelectedEventHandler_Impl,
12162 const OFFSET: isize,
12163 >() -> Self {
12164 unsafe extern "system" fn Invoke<
12165 Identity: ICoreWebView2CustomItemSelectedEventHandler_Impl,
12166 const OFFSET: isize,
12167 >(
12168 this: *mut core::ffi::c_void,
12169 sender: *mut core::ffi::c_void,
12170 args: *mut core::ffi::c_void,
12171 ) -> windows_core::HRESULT {
12172 unsafe {
12173 let this: &Identity =
12174 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12175 ICoreWebView2CustomItemSelectedEventHandler_Impl::Invoke(
12176 this,
12177 core::mem::transmute_copy(&sender),
12178 core::mem::transmute_copy(&args),
12179 )
12180 .into()
12181 }
12182 }
12183 Self {
12184 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12185 Invoke: Invoke::<Identity, OFFSET>,
12186 }
12187 }
12188 pub fn matches(iid: &windows_core::GUID) -> bool {
12189 iid == &<ICoreWebView2CustomItemSelectedEventHandler as windows_core::Interface>::IID
12190 }
12191}
12192impl windows_core::RuntimeName for ICoreWebView2CustomItemSelectedEventHandler {}
12193windows_core::imp::define_interface!(
12194 ICoreWebView2CustomSchemeRegistration,
12195 ICoreWebView2CustomSchemeRegistration_Vtbl,
12196 0xd60ac92c_37a6_4b26_a39e_95cfe59047bb
12197);
12198windows_core::imp::interface_hierarchy!(
12199 ICoreWebView2CustomSchemeRegistration,
12200 windows_core::IUnknown
12201);
12202impl ICoreWebView2CustomSchemeRegistration {
12203 pub unsafe fn SchemeName(
12204 &self,
12205 schemename: *mut windows_core::PWSTR,
12206 ) -> windows_core::Result<()> {
12207 unsafe {
12208 (windows_core::Interface::vtable(self).SchemeName)(
12209 windows_core::Interface::as_raw(self),
12210 schemename as _,
12211 )
12212 .ok()
12213 }
12214 }
12215 pub unsafe fn TreatAsSecure(
12216 &self,
12217 treatassecure: *mut windows_core::BOOL,
12218 ) -> windows_core::Result<()> {
12219 unsafe {
12220 (windows_core::Interface::vtable(self).TreatAsSecure)(
12221 windows_core::Interface::as_raw(self),
12222 treatassecure as _,
12223 )
12224 .ok()
12225 }
12226 }
12227 pub unsafe fn SetTreatAsSecure(&self, value: bool) -> windows_core::Result<()> {
12228 unsafe {
12229 (windows_core::Interface::vtable(self).SetTreatAsSecure)(
12230 windows_core::Interface::as_raw(self),
12231 value.into(),
12232 )
12233 .ok()
12234 }
12235 }
12236 pub unsafe fn GetAllowedOrigins(
12237 &self,
12238 allowedoriginscount: *mut u32,
12239 allowedorigins: *mut *mut windows_core::PWSTR,
12240 ) -> windows_core::Result<()> {
12241 unsafe {
12242 (windows_core::Interface::vtable(self).GetAllowedOrigins)(
12243 windows_core::Interface::as_raw(self),
12244 allowedoriginscount as _,
12245 allowedorigins as _,
12246 )
12247 .ok()
12248 }
12249 }
12250 pub unsafe fn SetAllowedOrigins(
12251 &self,
12252 allowedoriginscount: u32,
12253 allowedorigins: *const windows_core::PCWSTR,
12254 ) -> windows_core::Result<()> {
12255 unsafe {
12256 (windows_core::Interface::vtable(self).SetAllowedOrigins)(
12257 windows_core::Interface::as_raw(self),
12258 allowedoriginscount,
12259 allowedorigins,
12260 )
12261 .ok()
12262 }
12263 }
12264 pub unsafe fn HasAuthorityComponent(
12265 &self,
12266 hasauthoritycomponent: *mut windows_core::BOOL,
12267 ) -> windows_core::Result<()> {
12268 unsafe {
12269 (windows_core::Interface::vtable(self).HasAuthorityComponent)(
12270 windows_core::Interface::as_raw(self),
12271 hasauthoritycomponent as _,
12272 )
12273 .ok()
12274 }
12275 }
12276 pub unsafe fn SetHasAuthorityComponent(
12277 &self,
12278 hasauthoritycomponent: bool,
12279 ) -> windows_core::Result<()> {
12280 unsafe {
12281 (windows_core::Interface::vtable(self).SetHasAuthorityComponent)(
12282 windows_core::Interface::as_raw(self),
12283 hasauthoritycomponent.into(),
12284 )
12285 .ok()
12286 }
12287 }
12288}
12289#[repr(C)]
12290#[doc(hidden)]
12291pub struct ICoreWebView2CustomSchemeRegistration_Vtbl {
12292 pub base__: windows_core::IUnknown_Vtbl,
12293 pub SchemeName: unsafe extern "system" fn(
12294 *mut core::ffi::c_void,
12295 *mut windows_core::PWSTR,
12296 ) -> windows_core::HRESULT,
12297 pub TreatAsSecure: unsafe extern "system" fn(
12298 *mut core::ffi::c_void,
12299 *mut windows_core::BOOL,
12300 ) -> windows_core::HRESULT,
12301 pub SetTreatAsSecure: unsafe extern "system" fn(
12302 *mut core::ffi::c_void,
12303 windows_core::BOOL,
12304 ) -> windows_core::HRESULT,
12305 pub GetAllowedOrigins: unsafe extern "system" fn(
12306 *mut core::ffi::c_void,
12307 *mut u32,
12308 *mut *mut windows_core::PWSTR,
12309 ) -> windows_core::HRESULT,
12310 pub SetAllowedOrigins: unsafe extern "system" fn(
12311 *mut core::ffi::c_void,
12312 u32,
12313 *const windows_core::PCWSTR,
12314 ) -> windows_core::HRESULT,
12315 pub HasAuthorityComponent: unsafe extern "system" fn(
12316 *mut core::ffi::c_void,
12317 *mut windows_core::BOOL,
12318 ) -> windows_core::HRESULT,
12319 pub SetHasAuthorityComponent: unsafe extern "system" fn(
12320 *mut core::ffi::c_void,
12321 windows_core::BOOL,
12322 ) -> windows_core::HRESULT,
12323}
12324pub trait ICoreWebView2CustomSchemeRegistration_Impl: windows_core::IUnknownImpl {
12325 fn SchemeName(&self, schemename: *mut windows_core::PWSTR) -> windows_core::Result<()>;
12326 fn TreatAsSecure(&self, treatassecure: *mut windows_core::BOOL) -> windows_core::Result<()>;
12327 fn SetTreatAsSecure(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
12328 fn GetAllowedOrigins(
12329 &self,
12330 allowedoriginscount: *mut u32,
12331 allowedorigins: *mut *mut windows_core::PWSTR,
12332 ) -> windows_core::Result<()>;
12333 fn SetAllowedOrigins(
12334 &self,
12335 allowedoriginscount: u32,
12336 allowedorigins: *const windows_core::PCWSTR,
12337 ) -> windows_core::Result<()>;
12338 fn HasAuthorityComponent(
12339 &self,
12340 hasauthoritycomponent: *mut windows_core::BOOL,
12341 ) -> windows_core::Result<()>;
12342 fn SetHasAuthorityComponent(
12343 &self,
12344 hasauthoritycomponent: windows_core::BOOL,
12345 ) -> windows_core::Result<()>;
12346}
12347impl ICoreWebView2CustomSchemeRegistration_Vtbl {
12348 pub const fn new<Identity: ICoreWebView2CustomSchemeRegistration_Impl, const OFFSET: isize>(
12349 ) -> Self {
12350 unsafe extern "system" fn SchemeName<
12351 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12352 const OFFSET: isize,
12353 >(
12354 this: *mut core::ffi::c_void,
12355 schemename: *mut windows_core::PWSTR,
12356 ) -> windows_core::HRESULT {
12357 unsafe {
12358 let this: &Identity =
12359 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12360 ICoreWebView2CustomSchemeRegistration_Impl::SchemeName(
12361 this,
12362 core::mem::transmute_copy(&schemename),
12363 )
12364 .into()
12365 }
12366 }
12367 unsafe extern "system" fn TreatAsSecure<
12368 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12369 const OFFSET: isize,
12370 >(
12371 this: *mut core::ffi::c_void,
12372 treatassecure: *mut windows_core::BOOL,
12373 ) -> windows_core::HRESULT {
12374 unsafe {
12375 let this: &Identity =
12376 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12377 ICoreWebView2CustomSchemeRegistration_Impl::TreatAsSecure(
12378 this,
12379 core::mem::transmute_copy(&treatassecure),
12380 )
12381 .into()
12382 }
12383 }
12384 unsafe extern "system" fn SetTreatAsSecure<
12385 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12386 const OFFSET: isize,
12387 >(
12388 this: *mut core::ffi::c_void,
12389 value: windows_core::BOOL,
12390 ) -> windows_core::HRESULT {
12391 unsafe {
12392 let this: &Identity =
12393 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12394 ICoreWebView2CustomSchemeRegistration_Impl::SetTreatAsSecure(
12395 this,
12396 core::mem::transmute_copy(&value),
12397 )
12398 .into()
12399 }
12400 }
12401 unsafe extern "system" fn GetAllowedOrigins<
12402 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12403 const OFFSET: isize,
12404 >(
12405 this: *mut core::ffi::c_void,
12406 allowedoriginscount: *mut u32,
12407 allowedorigins: *mut *mut windows_core::PWSTR,
12408 ) -> windows_core::HRESULT {
12409 unsafe {
12410 let this: &Identity =
12411 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12412 ICoreWebView2CustomSchemeRegistration_Impl::GetAllowedOrigins(
12413 this,
12414 core::mem::transmute_copy(&allowedoriginscount),
12415 core::mem::transmute_copy(&allowedorigins),
12416 )
12417 .into()
12418 }
12419 }
12420 unsafe extern "system" fn SetAllowedOrigins<
12421 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12422 const OFFSET: isize,
12423 >(
12424 this: *mut core::ffi::c_void,
12425 allowedoriginscount: u32,
12426 allowedorigins: *const windows_core::PCWSTR,
12427 ) -> windows_core::HRESULT {
12428 unsafe {
12429 let this: &Identity =
12430 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12431 ICoreWebView2CustomSchemeRegistration_Impl::SetAllowedOrigins(
12432 this,
12433 core::mem::transmute_copy(&allowedoriginscount),
12434 core::mem::transmute_copy(&allowedorigins),
12435 )
12436 .into()
12437 }
12438 }
12439 unsafe extern "system" fn HasAuthorityComponent<
12440 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12441 const OFFSET: isize,
12442 >(
12443 this: *mut core::ffi::c_void,
12444 hasauthoritycomponent: *mut windows_core::BOOL,
12445 ) -> windows_core::HRESULT {
12446 unsafe {
12447 let this: &Identity =
12448 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12449 ICoreWebView2CustomSchemeRegistration_Impl::HasAuthorityComponent(
12450 this,
12451 core::mem::transmute_copy(&hasauthoritycomponent),
12452 )
12453 .into()
12454 }
12455 }
12456 unsafe extern "system" fn SetHasAuthorityComponent<
12457 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12458 const OFFSET: isize,
12459 >(
12460 this: *mut core::ffi::c_void,
12461 hasauthoritycomponent: windows_core::BOOL,
12462 ) -> windows_core::HRESULT {
12463 unsafe {
12464 let this: &Identity =
12465 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12466 ICoreWebView2CustomSchemeRegistration_Impl::SetHasAuthorityComponent(
12467 this,
12468 core::mem::transmute_copy(&hasauthoritycomponent),
12469 )
12470 .into()
12471 }
12472 }
12473 Self {
12474 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12475 SchemeName: SchemeName::<Identity, OFFSET>,
12476 TreatAsSecure: TreatAsSecure::<Identity, OFFSET>,
12477 SetTreatAsSecure: SetTreatAsSecure::<Identity, OFFSET>,
12478 GetAllowedOrigins: GetAllowedOrigins::<Identity, OFFSET>,
12479 SetAllowedOrigins: SetAllowedOrigins::<Identity, OFFSET>,
12480 HasAuthorityComponent: HasAuthorityComponent::<Identity, OFFSET>,
12481 SetHasAuthorityComponent: SetHasAuthorityComponent::<Identity, OFFSET>,
12482 }
12483 }
12484 pub fn matches(iid: &windows_core::GUID) -> bool {
12485 iid == &<ICoreWebView2CustomSchemeRegistration as windows_core::Interface>::IID
12486 }
12487}
12488impl windows_core::RuntimeName for ICoreWebView2CustomSchemeRegistration {}
12489windows_core::imp::define_interface!(
12490 ICoreWebView2DOMContentLoadedEventArgs,
12491 ICoreWebView2DOMContentLoadedEventArgs_Vtbl,
12492 0x16b1e21a_c503_44f2_84c9_70aba5031283
12493);
12494windows_core::imp::interface_hierarchy!(
12495 ICoreWebView2DOMContentLoadedEventArgs,
12496 windows_core::IUnknown
12497);
12498impl ICoreWebView2DOMContentLoadedEventArgs {
12499 pub unsafe fn NavigationId(&self, value: *mut u64) -> windows_core::Result<()> {
12500 unsafe {
12501 (windows_core::Interface::vtable(self).NavigationId)(
12502 windows_core::Interface::as_raw(self),
12503 value as _,
12504 )
12505 .ok()
12506 }
12507 }
12508}
12509#[repr(C)]
12510#[doc(hidden)]
12511pub struct ICoreWebView2DOMContentLoadedEventArgs_Vtbl {
12512 pub base__: windows_core::IUnknown_Vtbl,
12513 pub NavigationId:
12514 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
12515}
12516pub trait ICoreWebView2DOMContentLoadedEventArgs_Impl: windows_core::IUnknownImpl {
12517 fn NavigationId(&self, value: *mut u64) -> windows_core::Result<()>;
12518}
12519impl ICoreWebView2DOMContentLoadedEventArgs_Vtbl {
12520 pub const fn new<Identity: ICoreWebView2DOMContentLoadedEventArgs_Impl, const OFFSET: isize>(
12521 ) -> Self {
12522 unsafe extern "system" fn NavigationId<
12523 Identity: ICoreWebView2DOMContentLoadedEventArgs_Impl,
12524 const OFFSET: isize,
12525 >(
12526 this: *mut core::ffi::c_void,
12527 value: *mut u64,
12528 ) -> windows_core::HRESULT {
12529 unsafe {
12530 let this: &Identity =
12531 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12532 ICoreWebView2DOMContentLoadedEventArgs_Impl::NavigationId(
12533 this,
12534 core::mem::transmute_copy(&value),
12535 )
12536 .into()
12537 }
12538 }
12539 Self {
12540 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12541 NavigationId: NavigationId::<Identity, OFFSET>,
12542 }
12543 }
12544 pub fn matches(iid: &windows_core::GUID) -> bool {
12545 iid == &<ICoreWebView2DOMContentLoadedEventArgs as windows_core::Interface>::IID
12546 }
12547}
12548impl windows_core::RuntimeName for ICoreWebView2DOMContentLoadedEventArgs {}
12549windows_core::imp::define_interface!(
12550 ICoreWebView2DOMContentLoadedEventHandler,
12551 ICoreWebView2DOMContentLoadedEventHandler_Vtbl,
12552 0x4bac7e9c_199e_49ed_87ed_249303acf019
12553);
12554windows_core::imp::interface_hierarchy!(
12555 ICoreWebView2DOMContentLoadedEventHandler,
12556 windows_core::IUnknown
12557);
12558impl ICoreWebView2DOMContentLoadedEventHandler {
12559 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
12560 where
12561 P0: windows_core::Param<ICoreWebView2>,
12562 P1: windows_core::Param<ICoreWebView2DOMContentLoadedEventArgs>,
12563 {
12564 unsafe {
12565 (windows_core::Interface::vtable(self).Invoke)(
12566 windows_core::Interface::as_raw(self),
12567 sender.param().abi(),
12568 args.param().abi(),
12569 )
12570 .ok()
12571 }
12572 }
12573}
12574#[repr(C)]
12575#[doc(hidden)]
12576pub struct ICoreWebView2DOMContentLoadedEventHandler_Vtbl {
12577 pub base__: windows_core::IUnknown_Vtbl,
12578 pub Invoke: unsafe extern "system" fn(
12579 *mut core::ffi::c_void,
12580 *mut core::ffi::c_void,
12581 *mut core::ffi::c_void,
12582 ) -> windows_core::HRESULT,
12583}
12584pub trait ICoreWebView2DOMContentLoadedEventHandler_Impl: windows_core::IUnknownImpl {
12585 fn Invoke(
12586 &self,
12587 sender: windows_core::Ref<ICoreWebView2>,
12588 args: windows_core::Ref<ICoreWebView2DOMContentLoadedEventArgs>,
12589 ) -> windows_core::Result<()>;
12590}
12591impl ICoreWebView2DOMContentLoadedEventHandler_Vtbl {
12592 pub const fn new<
12593 Identity: ICoreWebView2DOMContentLoadedEventHandler_Impl,
12594 const OFFSET: isize,
12595 >() -> Self {
12596 unsafe extern "system" fn Invoke<
12597 Identity: ICoreWebView2DOMContentLoadedEventHandler_Impl,
12598 const OFFSET: isize,
12599 >(
12600 this: *mut core::ffi::c_void,
12601 sender: *mut core::ffi::c_void,
12602 args: *mut core::ffi::c_void,
12603 ) -> windows_core::HRESULT {
12604 unsafe {
12605 let this: &Identity =
12606 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12607 ICoreWebView2DOMContentLoadedEventHandler_Impl::Invoke(
12608 this,
12609 core::mem::transmute_copy(&sender),
12610 core::mem::transmute_copy(&args),
12611 )
12612 .into()
12613 }
12614 }
12615 Self {
12616 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12617 Invoke: Invoke::<Identity, OFFSET>,
12618 }
12619 }
12620 pub fn matches(iid: &windows_core::GUID) -> bool {
12621 iid == &<ICoreWebView2DOMContentLoadedEventHandler as windows_core::Interface>::IID
12622 }
12623}
12624impl windows_core::RuntimeName for ICoreWebView2DOMContentLoadedEventHandler {}
12625windows_core::imp::define_interface!(
12626 ICoreWebView2Deferral,
12627 ICoreWebView2Deferral_Vtbl,
12628 0xc10e7f7b_b585_46f0_a623_8befbf3e4ee0
12629);
12630windows_core::imp::interface_hierarchy!(ICoreWebView2Deferral, windows_core::IUnknown);
12631impl ICoreWebView2Deferral {
12632 pub unsafe fn Complete(&self) -> windows_core::Result<()> {
12633 unsafe {
12634 (windows_core::Interface::vtable(self).Complete)(windows_core::Interface::as_raw(self))
12635 .ok()
12636 }
12637 }
12638}
12639#[repr(C)]
12640#[doc(hidden)]
12641pub struct ICoreWebView2Deferral_Vtbl {
12642 pub base__: windows_core::IUnknown_Vtbl,
12643 pub Complete: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
12644}
12645pub trait ICoreWebView2Deferral_Impl: windows_core::IUnknownImpl {
12646 fn Complete(&self) -> windows_core::Result<()>;
12647}
12648impl ICoreWebView2Deferral_Vtbl {
12649 pub const fn new<Identity: ICoreWebView2Deferral_Impl, const OFFSET: isize>() -> Self {
12650 unsafe extern "system" fn Complete<
12651 Identity: ICoreWebView2Deferral_Impl,
12652 const OFFSET: isize,
12653 >(
12654 this: *mut core::ffi::c_void,
12655 ) -> windows_core::HRESULT {
12656 unsafe {
12657 let this: &Identity =
12658 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12659 ICoreWebView2Deferral_Impl::Complete(this).into()
12660 }
12661 }
12662 Self {
12663 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12664 Complete: Complete::<Identity, OFFSET>,
12665 }
12666 }
12667 pub fn matches(iid: &windows_core::GUID) -> bool {
12668 iid == &<ICoreWebView2Deferral as windows_core::Interface>::IID
12669 }
12670}
12671impl windows_core::RuntimeName for ICoreWebView2Deferral {}
12672windows_core::imp::define_interface!(
12673 ICoreWebView2DevToolsProtocolEventReceivedEventArgs,
12674 ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl,
12675 0x653c2959_bb3a_4377_8632_b58ada4e66c4
12676);
12677windows_core::imp::interface_hierarchy!(
12678 ICoreWebView2DevToolsProtocolEventReceivedEventArgs,
12679 windows_core::IUnknown
12680);
12681impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs {
12682 pub unsafe fn ParameterObjectAsJson(
12683 &self,
12684 value: *mut windows_core::PWSTR,
12685 ) -> windows_core::Result<()> {
12686 unsafe {
12687 (windows_core::Interface::vtable(self).ParameterObjectAsJson)(
12688 windows_core::Interface::as_raw(self),
12689 value as _,
12690 )
12691 .ok()
12692 }
12693 }
12694}
12695#[repr(C)]
12696#[doc(hidden)]
12697pub struct ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl {
12698 pub base__: windows_core::IUnknown_Vtbl,
12699 pub ParameterObjectAsJson: unsafe extern "system" fn(
12700 *mut core::ffi::c_void,
12701 *mut windows_core::PWSTR,
12702 ) -> windows_core::HRESULT,
12703}
12704pub trait ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl:
12705 windows_core::IUnknownImpl
12706{
12707 fn ParameterObjectAsJson(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
12708}
12709impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl {
12710 pub const fn new<
12711 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl,
12712 const OFFSET: isize,
12713 >() -> Self {
12714 unsafe extern "system" fn ParameterObjectAsJson<
12715 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl,
12716 const OFFSET: isize,
12717 >(
12718 this: *mut core::ffi::c_void,
12719 value: *mut windows_core::PWSTR,
12720 ) -> windows_core::HRESULT {
12721 unsafe {
12722 let this: &Identity =
12723 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12724 ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl::ParameterObjectAsJson(
12725 this,
12726 core::mem::transmute_copy(&value),
12727 )
12728 .into()
12729 }
12730 }
12731 Self {
12732 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12733 ParameterObjectAsJson: ParameterObjectAsJson::<Identity, OFFSET>,
12734 }
12735 }
12736 pub fn matches(iid: &windows_core::GUID) -> bool {
12737 iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventArgs as windows_core::Interface >::IID
12738 }
12739}
12740impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceivedEventArgs {}
12741windows_core::imp::define_interface!(
12742 ICoreWebView2DevToolsProtocolEventReceivedEventArgs2,
12743 ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Vtbl,
12744 0x2dc4959d_1494_4393_95ba_bea4cb9ebd1b
12745);
12746impl core::ops::Deref for ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 {
12747 type Target = ICoreWebView2DevToolsProtocolEventReceivedEventArgs;
12748 fn deref(&self) -> &Self::Target {
12749 unsafe { core::mem::transmute(self) }
12750 }
12751}
12752windows_core::imp::interface_hierarchy!(
12753 ICoreWebView2DevToolsProtocolEventReceivedEventArgs2,
12754 windows_core::IUnknown,
12755 ICoreWebView2DevToolsProtocolEventReceivedEventArgs
12756);
12757impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 {
12758 pub unsafe fn SessionId(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
12759 unsafe {
12760 (windows_core::Interface::vtable(self).SessionId)(
12761 windows_core::Interface::as_raw(self),
12762 value as _,
12763 )
12764 .ok()
12765 }
12766 }
12767}
12768#[repr(C)]
12769#[doc(hidden)]
12770pub struct ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Vtbl {
12771 pub base__: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl,
12772 pub SessionId: unsafe extern "system" fn(
12773 *mut core::ffi::c_void,
12774 *mut windows_core::PWSTR,
12775 ) -> windows_core::HRESULT,
12776}
12777pub trait ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Impl:
12778 ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl
12779{
12780 fn SessionId(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
12781}
12782impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Vtbl {
12783 pub const fn new<
12784 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Impl,
12785 const OFFSET: isize,
12786 >() -> Self {
12787 unsafe extern "system" fn SessionId<
12788 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Impl,
12789 const OFFSET: isize,
12790 >(
12791 this: *mut core::ffi::c_void,
12792 value: *mut windows_core::PWSTR,
12793 ) -> windows_core::HRESULT {
12794 unsafe {
12795 let this: &Identity =
12796 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12797 ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Impl::SessionId(
12798 this,
12799 core::mem::transmute_copy(&value),
12800 )
12801 .into()
12802 }
12803 }
12804 Self {
12805 base__: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl::new::<Identity, OFFSET>(
12806 ),
12807 SessionId: SessionId::<Identity, OFFSET>,
12808 }
12809 }
12810 pub fn matches(iid: &windows_core::GUID) -> bool {
12811 iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 as windows_core::Interface >::IID || iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventArgs as windows_core::Interface >::IID
12812 }
12813}
12814impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 {}
12815windows_core::imp::define_interface!(
12816 ICoreWebView2DevToolsProtocolEventReceivedEventHandler,
12817 ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Vtbl,
12818 0xe2fda4be_5456_406c_a261_3d452138362c
12819);
12820windows_core::imp::interface_hierarchy!(
12821 ICoreWebView2DevToolsProtocolEventReceivedEventHandler,
12822 windows_core::IUnknown
12823);
12824impl ICoreWebView2DevToolsProtocolEventReceivedEventHandler {
12825 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
12826 where
12827 P0: windows_core::Param<ICoreWebView2>,
12828 P1: windows_core::Param<ICoreWebView2DevToolsProtocolEventReceivedEventArgs>,
12829 {
12830 unsafe {
12831 (windows_core::Interface::vtable(self).Invoke)(
12832 windows_core::Interface::as_raw(self),
12833 sender.param().abi(),
12834 args.param().abi(),
12835 )
12836 .ok()
12837 }
12838 }
12839}
12840#[repr(C)]
12841#[doc(hidden)]
12842pub struct ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Vtbl {
12843 pub base__: windows_core::IUnknown_Vtbl,
12844 pub Invoke: unsafe extern "system" fn(
12845 *mut core::ffi::c_void,
12846 *mut core::ffi::c_void,
12847 *mut core::ffi::c_void,
12848 ) -> windows_core::HRESULT,
12849}
12850pub trait ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl:
12851 windows_core::IUnknownImpl
12852{
12853 fn Invoke(
12854 &self,
12855 sender: windows_core::Ref<ICoreWebView2>,
12856 args: windows_core::Ref<ICoreWebView2DevToolsProtocolEventReceivedEventArgs>,
12857 ) -> windows_core::Result<()>;
12858}
12859impl ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Vtbl {
12860 pub const fn new<
12861 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl,
12862 const OFFSET: isize,
12863 >() -> Self {
12864 unsafe extern "system" fn Invoke<
12865 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl,
12866 const OFFSET: isize,
12867 >(
12868 this: *mut core::ffi::c_void,
12869 sender: *mut core::ffi::c_void,
12870 args: *mut core::ffi::c_void,
12871 ) -> windows_core::HRESULT {
12872 unsafe {
12873 let this: &Identity =
12874 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12875 ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl::Invoke(
12876 this,
12877 core::mem::transmute_copy(&sender),
12878 core::mem::transmute_copy(&args),
12879 )
12880 .into()
12881 }
12882 }
12883 Self {
12884 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12885 Invoke: Invoke::<Identity, OFFSET>,
12886 }
12887 }
12888 pub fn matches(iid: &windows_core::GUID) -> bool {
12889 iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventHandler as windows_core::Interface >::IID
12890 }
12891}
12892impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceivedEventHandler {}
12893windows_core::imp::define_interface!(
12894 ICoreWebView2DevToolsProtocolEventReceiver,
12895 ICoreWebView2DevToolsProtocolEventReceiver_Vtbl,
12896 0xb32ca51a_8371_45e9_9317_af021d080367
12897);
12898windows_core::imp::interface_hierarchy!(
12899 ICoreWebView2DevToolsProtocolEventReceiver,
12900 windows_core::IUnknown
12901);
12902impl ICoreWebView2DevToolsProtocolEventReceiver {
12903 pub unsafe fn add_DevToolsProtocolEventReceived<P0>(
12904 &self,
12905 eventhandler: P0,
12906 token: *mut i64,
12907 ) -> windows_core::Result<()>
12908 where
12909 P0: windows_core::Param<ICoreWebView2DevToolsProtocolEventReceivedEventHandler>,
12910 {
12911 unsafe {
12912 (windows_core::Interface::vtable(self).add_DevToolsProtocolEventReceived)(
12913 windows_core::Interface::as_raw(self),
12914 eventhandler.param().abi(),
12915 token as _,
12916 )
12917 .ok()
12918 }
12919 }
12920 pub unsafe fn remove_DevToolsProtocolEventReceived(
12921 &self,
12922 token: i64,
12923 ) -> windows_core::Result<()> {
12924 unsafe {
12925 (windows_core::Interface::vtable(self).remove_DevToolsProtocolEventReceived)(
12926 windows_core::Interface::as_raw(self),
12927 token,
12928 )
12929 .ok()
12930 }
12931 }
12932}
12933#[repr(C)]
12934#[doc(hidden)]
12935pub struct ICoreWebView2DevToolsProtocolEventReceiver_Vtbl {
12936 pub base__: windows_core::IUnknown_Vtbl,
12937 pub add_DevToolsProtocolEventReceived: unsafe extern "system" fn(
12938 *mut core::ffi::c_void,
12939 *mut core::ffi::c_void,
12940 *mut i64,
12941 ) -> windows_core::HRESULT,
12942 pub remove_DevToolsProtocolEventReceived:
12943 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
12944}
12945pub trait ICoreWebView2DevToolsProtocolEventReceiver_Impl: windows_core::IUnknownImpl {
12946 fn add_DevToolsProtocolEventReceived(
12947 &self,
12948 eventhandler: windows_core::Ref<ICoreWebView2DevToolsProtocolEventReceivedEventHandler>,
12949 token: *mut i64,
12950 ) -> windows_core::Result<()>;
12951 fn remove_DevToolsProtocolEventReceived(&self, token: i64) -> windows_core::Result<()>;
12952}
12953impl ICoreWebView2DevToolsProtocolEventReceiver_Vtbl {
12954 pub const fn new<
12955 Identity: ICoreWebView2DevToolsProtocolEventReceiver_Impl,
12956 const OFFSET: isize,
12957 >() -> Self {
12958 unsafe extern "system" fn add_DevToolsProtocolEventReceived<
12959 Identity: ICoreWebView2DevToolsProtocolEventReceiver_Impl,
12960 const OFFSET: isize,
12961 >(
12962 this: *mut core::ffi::c_void,
12963 eventhandler: *mut core::ffi::c_void,
12964 token: *mut i64,
12965 ) -> windows_core::HRESULT {
12966 unsafe {
12967 let this: &Identity =
12968 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12969 ICoreWebView2DevToolsProtocolEventReceiver_Impl::add_DevToolsProtocolEventReceived(
12970 this,
12971 core::mem::transmute_copy(&eventhandler),
12972 core::mem::transmute_copy(&token),
12973 )
12974 .into()
12975 }
12976 }
12977 unsafe extern "system" fn remove_DevToolsProtocolEventReceived<
12978 Identity: ICoreWebView2DevToolsProtocolEventReceiver_Impl,
12979 const OFFSET: isize,
12980 >(
12981 this: *mut core::ffi::c_void,
12982 token: i64,
12983 ) -> windows_core::HRESULT {
12984 unsafe {
12985 let this: &Identity =
12986 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12987 ICoreWebView2DevToolsProtocolEventReceiver_Impl:: remove_DevToolsProtocolEventReceived ( this , core::mem::transmute_copy ( & token ) , ) . into ( )
12988 }
12989 }
12990 Self {
12991 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12992 add_DevToolsProtocolEventReceived: add_DevToolsProtocolEventReceived::<Identity, OFFSET>,
12993 remove_DevToolsProtocolEventReceived: remove_DevToolsProtocolEventReceived::<
12994 Identity,
12995 OFFSET,
12996 >,
12997 }
12998 }
12999 pub fn matches(iid: &windows_core::GUID) -> bool {
13000 iid == &<ICoreWebView2DevToolsProtocolEventReceiver as windows_core::Interface>::IID
13001 }
13002}
13003impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceiver {}
13004windows_core::imp::define_interface!(
13005 ICoreWebView2DocumentTitleChangedEventHandler,
13006 ICoreWebView2DocumentTitleChangedEventHandler_Vtbl,
13007 0xf5f2b923_953e_4042_9f95_f3a118e1afd4
13008);
13009windows_core::imp::interface_hierarchy!(
13010 ICoreWebView2DocumentTitleChangedEventHandler,
13011 windows_core::IUnknown
13012);
13013impl ICoreWebView2DocumentTitleChangedEventHandler {
13014 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
13015 where
13016 P0: windows_core::Param<ICoreWebView2>,
13017 P1: windows_core::Param<windows_core::IUnknown>,
13018 {
13019 unsafe {
13020 (windows_core::Interface::vtable(self).Invoke)(
13021 windows_core::Interface::as_raw(self),
13022 sender.param().abi(),
13023 args.param().abi(),
13024 )
13025 .ok()
13026 }
13027 }
13028}
13029#[repr(C)]
13030#[doc(hidden)]
13031pub struct ICoreWebView2DocumentTitleChangedEventHandler_Vtbl {
13032 pub base__: windows_core::IUnknown_Vtbl,
13033 pub Invoke: unsafe extern "system" fn(
13034 *mut core::ffi::c_void,
13035 *mut core::ffi::c_void,
13036 *mut core::ffi::c_void,
13037 ) -> windows_core::HRESULT,
13038}
13039pub trait ICoreWebView2DocumentTitleChangedEventHandler_Impl: windows_core::IUnknownImpl {
13040 fn Invoke(
13041 &self,
13042 sender: windows_core::Ref<ICoreWebView2>,
13043 args: windows_core::Ref<windows_core::IUnknown>,
13044 ) -> windows_core::Result<()>;
13045}
13046impl ICoreWebView2DocumentTitleChangedEventHandler_Vtbl {
13047 pub const fn new<
13048 Identity: ICoreWebView2DocumentTitleChangedEventHandler_Impl,
13049 const OFFSET: isize,
13050 >() -> Self {
13051 unsafe extern "system" fn Invoke<
13052 Identity: ICoreWebView2DocumentTitleChangedEventHandler_Impl,
13053 const OFFSET: isize,
13054 >(
13055 this: *mut core::ffi::c_void,
13056 sender: *mut core::ffi::c_void,
13057 args: *mut core::ffi::c_void,
13058 ) -> windows_core::HRESULT {
13059 unsafe {
13060 let this: &Identity =
13061 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13062 ICoreWebView2DocumentTitleChangedEventHandler_Impl::Invoke(
13063 this,
13064 core::mem::transmute_copy(&sender),
13065 core::mem::transmute_copy(&args),
13066 )
13067 .into()
13068 }
13069 }
13070 Self {
13071 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
13072 Invoke: Invoke::<Identity, OFFSET>,
13073 }
13074 }
13075 pub fn matches(iid: &windows_core::GUID) -> bool {
13076 iid == &<ICoreWebView2DocumentTitleChangedEventHandler as windows_core::Interface>::IID
13077 }
13078}
13079impl windows_core::RuntimeName for ICoreWebView2DocumentTitleChangedEventHandler {}
13080windows_core::imp::define_interface!(
13081 ICoreWebView2DownloadOperation,
13082 ICoreWebView2DownloadOperation_Vtbl,
13083 0x3d6b6cf2_afe1_44c7_a995_c65117714336
13084);
13085windows_core::imp::interface_hierarchy!(ICoreWebView2DownloadOperation, windows_core::IUnknown);
13086impl ICoreWebView2DownloadOperation {
13087 pub unsafe fn add_BytesReceivedChanged<P0>(
13088 &self,
13089 eventhandler: P0,
13090 token: *mut i64,
13091 ) -> windows_core::Result<()>
13092 where
13093 P0: windows_core::Param<ICoreWebView2BytesReceivedChangedEventHandler>,
13094 {
13095 unsafe {
13096 (windows_core::Interface::vtable(self).add_BytesReceivedChanged)(
13097 windows_core::Interface::as_raw(self),
13098 eventhandler.param().abi(),
13099 token as _,
13100 )
13101 .ok()
13102 }
13103 }
13104 pub unsafe fn remove_BytesReceivedChanged(&self, token: i64) -> windows_core::Result<()> {
13105 unsafe {
13106 (windows_core::Interface::vtable(self).remove_BytesReceivedChanged)(
13107 windows_core::Interface::as_raw(self),
13108 token,
13109 )
13110 .ok()
13111 }
13112 }
13113 pub unsafe fn add_EstimatedEndTimeChanged<P0>(
13114 &self,
13115 eventhandler: P0,
13116 token: *mut i64,
13117 ) -> windows_core::Result<()>
13118 where
13119 P0: windows_core::Param<ICoreWebView2EstimatedEndTimeChangedEventHandler>,
13120 {
13121 unsafe {
13122 (windows_core::Interface::vtable(self).add_EstimatedEndTimeChanged)(
13123 windows_core::Interface::as_raw(self),
13124 eventhandler.param().abi(),
13125 token as _,
13126 )
13127 .ok()
13128 }
13129 }
13130 pub unsafe fn remove_EstimatedEndTimeChanged(&self, token: i64) -> windows_core::Result<()> {
13131 unsafe {
13132 (windows_core::Interface::vtable(self).remove_EstimatedEndTimeChanged)(
13133 windows_core::Interface::as_raw(self),
13134 token,
13135 )
13136 .ok()
13137 }
13138 }
13139 pub unsafe fn add_StateChanged<P0>(
13140 &self,
13141 eventhandler: P0,
13142 token: *mut i64,
13143 ) -> windows_core::Result<()>
13144 where
13145 P0: windows_core::Param<ICoreWebView2StateChangedEventHandler>,
13146 {
13147 unsafe {
13148 (windows_core::Interface::vtable(self).add_StateChanged)(
13149 windows_core::Interface::as_raw(self),
13150 eventhandler.param().abi(),
13151 token as _,
13152 )
13153 .ok()
13154 }
13155 }
13156 pub unsafe fn remove_StateChanged(&self, token: i64) -> windows_core::Result<()> {
13157 unsafe {
13158 (windows_core::Interface::vtable(self).remove_StateChanged)(
13159 windows_core::Interface::as_raw(self),
13160 token,
13161 )
13162 .ok()
13163 }
13164 }
13165 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
13166 unsafe {
13167 (windows_core::Interface::vtable(self).Uri)(
13168 windows_core::Interface::as_raw(self),
13169 uri as _,
13170 )
13171 .ok()
13172 }
13173 }
13174 pub unsafe fn ContentDisposition(
13175 &self,
13176 contentdisposition: *mut windows_core::PWSTR,
13177 ) -> windows_core::Result<()> {
13178 unsafe {
13179 (windows_core::Interface::vtable(self).ContentDisposition)(
13180 windows_core::Interface::as_raw(self),
13181 contentdisposition as _,
13182 )
13183 .ok()
13184 }
13185 }
13186 pub unsafe fn MimeType(&self, mimetype: *mut windows_core::PWSTR) -> windows_core::Result<()> {
13187 unsafe {
13188 (windows_core::Interface::vtable(self).MimeType)(
13189 windows_core::Interface::as_raw(self),
13190 mimetype as _,
13191 )
13192 .ok()
13193 }
13194 }
13195 pub unsafe fn TotalBytesToReceive(
13196 &self,
13197 totalbytestoreceive: *mut i64,
13198 ) -> windows_core::Result<()> {
13199 unsafe {
13200 (windows_core::Interface::vtable(self).TotalBytesToReceive)(
13201 windows_core::Interface::as_raw(self),
13202 totalbytestoreceive as _,
13203 )
13204 .ok()
13205 }
13206 }
13207 pub unsafe fn BytesReceived(&self, bytesreceived: *mut i64) -> windows_core::Result<()> {
13208 unsafe {
13209 (windows_core::Interface::vtable(self).BytesReceived)(
13210 windows_core::Interface::as_raw(self),
13211 bytesreceived as _,
13212 )
13213 .ok()
13214 }
13215 }
13216 pub unsafe fn EstimatedEndTime(
13217 &self,
13218 estimatedendtime: *mut windows_core::PWSTR,
13219 ) -> windows_core::Result<()> {
13220 unsafe {
13221 (windows_core::Interface::vtable(self).EstimatedEndTime)(
13222 windows_core::Interface::as_raw(self),
13223 estimatedendtime as _,
13224 )
13225 .ok()
13226 }
13227 }
13228 pub unsafe fn ResultFilePath(
13229 &self,
13230 resultfilepath: *mut windows_core::PWSTR,
13231 ) -> windows_core::Result<()> {
13232 unsafe {
13233 (windows_core::Interface::vtable(self).ResultFilePath)(
13234 windows_core::Interface::as_raw(self),
13235 resultfilepath as _,
13236 )
13237 .ok()
13238 }
13239 }
13240 pub unsafe fn State(
13241 &self,
13242 downloadstate: *mut COREWEBVIEW2_DOWNLOAD_STATE,
13243 ) -> windows_core::Result<()> {
13244 unsafe {
13245 (windows_core::Interface::vtable(self).State)(
13246 windows_core::Interface::as_raw(self),
13247 downloadstate as _,
13248 )
13249 .ok()
13250 }
13251 }
13252 pub unsafe fn InterruptReason(
13253 &self,
13254 interruptreason: *mut COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON,
13255 ) -> windows_core::Result<()> {
13256 unsafe {
13257 (windows_core::Interface::vtable(self).InterruptReason)(
13258 windows_core::Interface::as_raw(self),
13259 interruptreason as _,
13260 )
13261 .ok()
13262 }
13263 }
13264 pub unsafe fn Cancel(&self) -> windows_core::Result<()> {
13265 unsafe {
13266 (windows_core::Interface::vtable(self).Cancel)(windows_core::Interface::as_raw(self))
13267 .ok()
13268 }
13269 }
13270 pub unsafe fn Pause(&self) -> windows_core::Result<()> {
13271 unsafe {
13272 (windows_core::Interface::vtable(self).Pause)(windows_core::Interface::as_raw(self))
13273 .ok()
13274 }
13275 }
13276 pub unsafe fn Resume(&self) -> windows_core::Result<()> {
13277 unsafe {
13278 (windows_core::Interface::vtable(self).Resume)(windows_core::Interface::as_raw(self))
13279 .ok()
13280 }
13281 }
13282 pub unsafe fn CanResume(&self, canresume: *mut windows_core::BOOL) -> windows_core::Result<()> {
13283 unsafe {
13284 (windows_core::Interface::vtable(self).CanResume)(
13285 windows_core::Interface::as_raw(self),
13286 canresume as _,
13287 )
13288 .ok()
13289 }
13290 }
13291}
13292#[repr(C)]
13293#[doc(hidden)]
13294pub struct ICoreWebView2DownloadOperation_Vtbl {
13295 pub base__: windows_core::IUnknown_Vtbl,
13296 pub add_BytesReceivedChanged: unsafe extern "system" fn(
13297 *mut core::ffi::c_void,
13298 *mut core::ffi::c_void,
13299 *mut i64,
13300 ) -> windows_core::HRESULT,
13301 pub remove_BytesReceivedChanged:
13302 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
13303 pub add_EstimatedEndTimeChanged: unsafe extern "system" fn(
13304 *mut core::ffi::c_void,
13305 *mut core::ffi::c_void,
13306 *mut i64,
13307 ) -> windows_core::HRESULT,
13308 pub remove_EstimatedEndTimeChanged:
13309 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
13310 pub add_StateChanged: unsafe extern "system" fn(
13311 *mut core::ffi::c_void,
13312 *mut core::ffi::c_void,
13313 *mut i64,
13314 ) -> windows_core::HRESULT,
13315 pub remove_StateChanged:
13316 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
13317 pub Uri: unsafe extern "system" fn(
13318 *mut core::ffi::c_void,
13319 *mut windows_core::PWSTR,
13320 ) -> windows_core::HRESULT,
13321 pub ContentDisposition: unsafe extern "system" fn(
13322 *mut core::ffi::c_void,
13323 *mut windows_core::PWSTR,
13324 ) -> windows_core::HRESULT,
13325 pub MimeType: unsafe extern "system" fn(
13326 *mut core::ffi::c_void,
13327 *mut windows_core::PWSTR,
13328 ) -> windows_core::HRESULT,
13329 pub TotalBytesToReceive:
13330 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i64) -> windows_core::HRESULT,
13331 pub BytesReceived:
13332 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i64) -> windows_core::HRESULT,
13333 pub EstimatedEndTime: unsafe extern "system" fn(
13334 *mut core::ffi::c_void,
13335 *mut windows_core::PWSTR,
13336 ) -> windows_core::HRESULT,
13337 pub ResultFilePath: unsafe extern "system" fn(
13338 *mut core::ffi::c_void,
13339 *mut windows_core::PWSTR,
13340 ) -> windows_core::HRESULT,
13341 pub State: unsafe extern "system" fn(
13342 *mut core::ffi::c_void,
13343 *mut COREWEBVIEW2_DOWNLOAD_STATE,
13344 ) -> windows_core::HRESULT,
13345 pub InterruptReason: unsafe extern "system" fn(
13346 *mut core::ffi::c_void,
13347 *mut COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON,
13348 ) -> windows_core::HRESULT,
13349 pub Cancel: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
13350 pub Pause: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
13351 pub Resume: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
13352 pub CanResume: unsafe extern "system" fn(
13353 *mut core::ffi::c_void,
13354 *mut windows_core::BOOL,
13355 ) -> windows_core::HRESULT,
13356}
13357pub trait ICoreWebView2DownloadOperation_Impl: windows_core::IUnknownImpl {
13358 fn add_BytesReceivedChanged(
13359 &self,
13360 eventhandler: windows_core::Ref<ICoreWebView2BytesReceivedChangedEventHandler>,
13361 token: *mut i64,
13362 ) -> windows_core::Result<()>;
13363 fn remove_BytesReceivedChanged(&self, token: i64) -> windows_core::Result<()>;
13364 fn add_EstimatedEndTimeChanged(
13365 &self,
13366 eventhandler: windows_core::Ref<ICoreWebView2EstimatedEndTimeChangedEventHandler>,
13367 token: *mut i64,
13368 ) -> windows_core::Result<()>;
13369 fn remove_EstimatedEndTimeChanged(&self, token: i64) -> windows_core::Result<()>;
13370 fn add_StateChanged(
13371 &self,
13372 eventhandler: windows_core::Ref<ICoreWebView2StateChangedEventHandler>,
13373 token: *mut i64,
13374 ) -> windows_core::Result<()>;
13375 fn remove_StateChanged(&self, token: i64) -> windows_core::Result<()>;
13376 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
13377 fn ContentDisposition(
13378 &self,
13379 contentdisposition: *mut windows_core::PWSTR,
13380 ) -> windows_core::Result<()>;
13381 fn MimeType(&self, mimetype: *mut windows_core::PWSTR) -> windows_core::Result<()>;
13382 fn TotalBytesToReceive(&self, totalbytestoreceive: *mut i64) -> windows_core::Result<()>;
13383 fn BytesReceived(&self, bytesreceived: *mut i64) -> windows_core::Result<()>;
13384 fn EstimatedEndTime(
13385 &self,
13386 estimatedendtime: *mut windows_core::PWSTR,
13387 ) -> windows_core::Result<()>;
13388 fn ResultFilePath(&self, resultfilepath: *mut windows_core::PWSTR) -> windows_core::Result<()>;
13389 fn State(&self, downloadstate: *mut COREWEBVIEW2_DOWNLOAD_STATE) -> windows_core::Result<()>;
13390 fn InterruptReason(
13391 &self,
13392 interruptreason: *mut COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON,
13393 ) -> windows_core::Result<()>;
13394 fn Cancel(&self) -> windows_core::Result<()>;
13395 fn Pause(&self) -> windows_core::Result<()>;
13396 fn Resume(&self) -> windows_core::Result<()>;
13397 fn CanResume(&self, canresume: *mut windows_core::BOOL) -> windows_core::Result<()>;
13398}
13399impl ICoreWebView2DownloadOperation_Vtbl {
13400 pub const fn new<Identity: ICoreWebView2DownloadOperation_Impl, const OFFSET: isize>() -> Self {
13401 unsafe extern "system" fn add_BytesReceivedChanged<
13402 Identity: ICoreWebView2DownloadOperation_Impl,
13403 const OFFSET: isize,
13404 >(
13405 this: *mut core::ffi::c_void,
13406 eventhandler: *mut core::ffi::c_void,
13407 token: *mut i64,
13408 ) -> windows_core::HRESULT {
13409 unsafe {
13410 let this: &Identity =
13411 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13412 ICoreWebView2DownloadOperation_Impl::add_BytesReceivedChanged(
13413 this,
13414 core::mem::transmute_copy(&eventhandler),
13415 core::mem::transmute_copy(&token),
13416 )
13417 .into()
13418 }
13419 }
13420 unsafe extern "system" fn remove_BytesReceivedChanged<
13421 Identity: ICoreWebView2DownloadOperation_Impl,
13422 const OFFSET: isize,
13423 >(
13424 this: *mut core::ffi::c_void,
13425 token: i64,
13426 ) -> windows_core::HRESULT {
13427 unsafe {
13428 let this: &Identity =
13429 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13430 ICoreWebView2DownloadOperation_Impl::remove_BytesReceivedChanged(
13431 this,
13432 core::mem::transmute_copy(&token),
13433 )
13434 .into()
13435 }
13436 }
13437 unsafe extern "system" fn add_EstimatedEndTimeChanged<
13438 Identity: ICoreWebView2DownloadOperation_Impl,
13439 const OFFSET: isize,
13440 >(
13441 this: *mut core::ffi::c_void,
13442 eventhandler: *mut core::ffi::c_void,
13443 token: *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::add_EstimatedEndTimeChanged(
13449 this,
13450 core::mem::transmute_copy(&eventhandler),
13451 core::mem::transmute_copy(&token),
13452 )
13453 .into()
13454 }
13455 }
13456 unsafe extern "system" fn remove_EstimatedEndTimeChanged<
13457 Identity: ICoreWebView2DownloadOperation_Impl,
13458 const OFFSET: isize,
13459 >(
13460 this: *mut core::ffi::c_void,
13461 token: i64,
13462 ) -> windows_core::HRESULT {
13463 unsafe {
13464 let this: &Identity =
13465 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13466 ICoreWebView2DownloadOperation_Impl::remove_EstimatedEndTimeChanged(
13467 this,
13468 core::mem::transmute_copy(&token),
13469 )
13470 .into()
13471 }
13472 }
13473 unsafe extern "system" fn add_StateChanged<
13474 Identity: ICoreWebView2DownloadOperation_Impl,
13475 const OFFSET: isize,
13476 >(
13477 this: *mut core::ffi::c_void,
13478 eventhandler: *mut core::ffi::c_void,
13479 token: *mut i64,
13480 ) -> windows_core::HRESULT {
13481 unsafe {
13482 let this: &Identity =
13483 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13484 ICoreWebView2DownloadOperation_Impl::add_StateChanged(
13485 this,
13486 core::mem::transmute_copy(&eventhandler),
13487 core::mem::transmute_copy(&token),
13488 )
13489 .into()
13490 }
13491 }
13492 unsafe extern "system" fn remove_StateChanged<
13493 Identity: ICoreWebView2DownloadOperation_Impl,
13494 const OFFSET: isize,
13495 >(
13496 this: *mut core::ffi::c_void,
13497 token: i64,
13498 ) -> windows_core::HRESULT {
13499 unsafe {
13500 let this: &Identity =
13501 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13502 ICoreWebView2DownloadOperation_Impl::remove_StateChanged(
13503 this,
13504 core::mem::transmute_copy(&token),
13505 )
13506 .into()
13507 }
13508 }
13509 unsafe extern "system" fn Uri<
13510 Identity: ICoreWebView2DownloadOperation_Impl,
13511 const OFFSET: isize,
13512 >(
13513 this: *mut core::ffi::c_void,
13514 uri: *mut windows_core::PWSTR,
13515 ) -> windows_core::HRESULT {
13516 unsafe {
13517 let this: &Identity =
13518 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13519 ICoreWebView2DownloadOperation_Impl::Uri(this, core::mem::transmute_copy(&uri))
13520 .into()
13521 }
13522 }
13523 unsafe extern "system" fn ContentDisposition<
13524 Identity: ICoreWebView2DownloadOperation_Impl,
13525 const OFFSET: isize,
13526 >(
13527 this: *mut core::ffi::c_void,
13528 contentdisposition: *mut windows_core::PWSTR,
13529 ) -> windows_core::HRESULT {
13530 unsafe {
13531 let this: &Identity =
13532 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13533 ICoreWebView2DownloadOperation_Impl::ContentDisposition(
13534 this,
13535 core::mem::transmute_copy(&contentdisposition),
13536 )
13537 .into()
13538 }
13539 }
13540 unsafe extern "system" fn MimeType<
13541 Identity: ICoreWebView2DownloadOperation_Impl,
13542 const OFFSET: isize,
13543 >(
13544 this: *mut core::ffi::c_void,
13545 mimetype: *mut windows_core::PWSTR,
13546 ) -> windows_core::HRESULT {
13547 unsafe {
13548 let this: &Identity =
13549 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13550 ICoreWebView2DownloadOperation_Impl::MimeType(
13551 this,
13552 core::mem::transmute_copy(&mimetype),
13553 )
13554 .into()
13555 }
13556 }
13557 unsafe extern "system" fn TotalBytesToReceive<
13558 Identity: ICoreWebView2DownloadOperation_Impl,
13559 const OFFSET: isize,
13560 >(
13561 this: *mut core::ffi::c_void,
13562 totalbytestoreceive: *mut i64,
13563 ) -> windows_core::HRESULT {
13564 unsafe {
13565 let this: &Identity =
13566 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13567 ICoreWebView2DownloadOperation_Impl::TotalBytesToReceive(
13568 this,
13569 core::mem::transmute_copy(&totalbytestoreceive),
13570 )
13571 .into()
13572 }
13573 }
13574 unsafe extern "system" fn BytesReceived<
13575 Identity: ICoreWebView2DownloadOperation_Impl,
13576 const OFFSET: isize,
13577 >(
13578 this: *mut core::ffi::c_void,
13579 bytesreceived: *mut i64,
13580 ) -> windows_core::HRESULT {
13581 unsafe {
13582 let this: &Identity =
13583 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13584 ICoreWebView2DownloadOperation_Impl::BytesReceived(
13585 this,
13586 core::mem::transmute_copy(&bytesreceived),
13587 )
13588 .into()
13589 }
13590 }
13591 unsafe extern "system" fn EstimatedEndTime<
13592 Identity: ICoreWebView2DownloadOperation_Impl,
13593 const OFFSET: isize,
13594 >(
13595 this: *mut core::ffi::c_void,
13596 estimatedendtime: *mut windows_core::PWSTR,
13597 ) -> windows_core::HRESULT {
13598 unsafe {
13599 let this: &Identity =
13600 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13601 ICoreWebView2DownloadOperation_Impl::EstimatedEndTime(
13602 this,
13603 core::mem::transmute_copy(&estimatedendtime),
13604 )
13605 .into()
13606 }
13607 }
13608 unsafe extern "system" fn ResultFilePath<
13609 Identity: ICoreWebView2DownloadOperation_Impl,
13610 const OFFSET: isize,
13611 >(
13612 this: *mut core::ffi::c_void,
13613 resultfilepath: *mut windows_core::PWSTR,
13614 ) -> windows_core::HRESULT {
13615 unsafe {
13616 let this: &Identity =
13617 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13618 ICoreWebView2DownloadOperation_Impl::ResultFilePath(
13619 this,
13620 core::mem::transmute_copy(&resultfilepath),
13621 )
13622 .into()
13623 }
13624 }
13625 unsafe extern "system" fn State<
13626 Identity: ICoreWebView2DownloadOperation_Impl,
13627 const OFFSET: isize,
13628 >(
13629 this: *mut core::ffi::c_void,
13630 downloadstate: *mut COREWEBVIEW2_DOWNLOAD_STATE,
13631 ) -> windows_core::HRESULT {
13632 unsafe {
13633 let this: &Identity =
13634 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13635 ICoreWebView2DownloadOperation_Impl::State(
13636 this,
13637 core::mem::transmute_copy(&downloadstate),
13638 )
13639 .into()
13640 }
13641 }
13642 unsafe extern "system" fn InterruptReason<
13643 Identity: ICoreWebView2DownloadOperation_Impl,
13644 const OFFSET: isize,
13645 >(
13646 this: *mut core::ffi::c_void,
13647 interruptreason: *mut COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON,
13648 ) -> windows_core::HRESULT {
13649 unsafe {
13650 let this: &Identity =
13651 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13652 ICoreWebView2DownloadOperation_Impl::InterruptReason(
13653 this,
13654 core::mem::transmute_copy(&interruptreason),
13655 )
13656 .into()
13657 }
13658 }
13659 unsafe extern "system" fn Cancel<
13660 Identity: ICoreWebView2DownloadOperation_Impl,
13661 const OFFSET: isize,
13662 >(
13663 this: *mut core::ffi::c_void,
13664 ) -> windows_core::HRESULT {
13665 unsafe {
13666 let this: &Identity =
13667 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13668 ICoreWebView2DownloadOperation_Impl::Cancel(this).into()
13669 }
13670 }
13671 unsafe extern "system" fn Pause<
13672 Identity: ICoreWebView2DownloadOperation_Impl,
13673 const OFFSET: isize,
13674 >(
13675 this: *mut core::ffi::c_void,
13676 ) -> windows_core::HRESULT {
13677 unsafe {
13678 let this: &Identity =
13679 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13680 ICoreWebView2DownloadOperation_Impl::Pause(this).into()
13681 }
13682 }
13683 unsafe extern "system" fn Resume<
13684 Identity: ICoreWebView2DownloadOperation_Impl,
13685 const OFFSET: isize,
13686 >(
13687 this: *mut core::ffi::c_void,
13688 ) -> windows_core::HRESULT {
13689 unsafe {
13690 let this: &Identity =
13691 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13692 ICoreWebView2DownloadOperation_Impl::Resume(this).into()
13693 }
13694 }
13695 unsafe extern "system" fn CanResume<
13696 Identity: ICoreWebView2DownloadOperation_Impl,
13697 const OFFSET: isize,
13698 >(
13699 this: *mut core::ffi::c_void,
13700 canresume: *mut windows_core::BOOL,
13701 ) -> windows_core::HRESULT {
13702 unsafe {
13703 let this: &Identity =
13704 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13705 ICoreWebView2DownloadOperation_Impl::CanResume(
13706 this,
13707 core::mem::transmute_copy(&canresume),
13708 )
13709 .into()
13710 }
13711 }
13712 Self {
13713 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
13714 add_BytesReceivedChanged: add_BytesReceivedChanged::<Identity, OFFSET>,
13715 remove_BytesReceivedChanged: remove_BytesReceivedChanged::<Identity, OFFSET>,
13716 add_EstimatedEndTimeChanged: add_EstimatedEndTimeChanged::<Identity, OFFSET>,
13717 remove_EstimatedEndTimeChanged: remove_EstimatedEndTimeChanged::<Identity, OFFSET>,
13718 add_StateChanged: add_StateChanged::<Identity, OFFSET>,
13719 remove_StateChanged: remove_StateChanged::<Identity, OFFSET>,
13720 Uri: Uri::<Identity, OFFSET>,
13721 ContentDisposition: ContentDisposition::<Identity, OFFSET>,
13722 MimeType: MimeType::<Identity, OFFSET>,
13723 TotalBytesToReceive: TotalBytesToReceive::<Identity, OFFSET>,
13724 BytesReceived: BytesReceived::<Identity, OFFSET>,
13725 EstimatedEndTime: EstimatedEndTime::<Identity, OFFSET>,
13726 ResultFilePath: ResultFilePath::<Identity, OFFSET>,
13727 State: State::<Identity, OFFSET>,
13728 InterruptReason: InterruptReason::<Identity, OFFSET>,
13729 Cancel: Cancel::<Identity, OFFSET>,
13730 Pause: Pause::<Identity, OFFSET>,
13731 Resume: Resume::<Identity, OFFSET>,
13732 CanResume: CanResume::<Identity, OFFSET>,
13733 }
13734 }
13735 pub fn matches(iid: &windows_core::GUID) -> bool {
13736 iid == &<ICoreWebView2DownloadOperation as windows_core::Interface>::IID
13737 }
13738}
13739impl windows_core::RuntimeName for ICoreWebView2DownloadOperation {}
13740windows_core::imp::define_interface!(
13741 ICoreWebView2DownloadStartingEventArgs,
13742 ICoreWebView2DownloadStartingEventArgs_Vtbl,
13743 0xe99bbe21_43e9_4544_a732_282764eafa60
13744);
13745windows_core::imp::interface_hierarchy!(
13746 ICoreWebView2DownloadStartingEventArgs,
13747 windows_core::IUnknown
13748);
13749impl ICoreWebView2DownloadStartingEventArgs {
13750 pub unsafe fn DownloadOperation(&self) -> windows_core::Result<ICoreWebView2DownloadOperation> {
13751 unsafe {
13752 let mut result__ = core::mem::zeroed();
13753 (windows_core::Interface::vtable(self).DownloadOperation)(
13754 windows_core::Interface::as_raw(self),
13755 &mut result__,
13756 )
13757 .and_then(|| windows_core::Type::from_abi(result__))
13758 }
13759 }
13760 pub unsafe fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()> {
13761 unsafe {
13762 (windows_core::Interface::vtable(self).Cancel)(
13763 windows_core::Interface::as_raw(self),
13764 cancel as _,
13765 )
13766 .ok()
13767 }
13768 }
13769 pub unsafe fn SetCancel(&self, cancel: bool) -> windows_core::Result<()> {
13770 unsafe {
13771 (windows_core::Interface::vtable(self).SetCancel)(
13772 windows_core::Interface::as_raw(self),
13773 cancel.into(),
13774 )
13775 .ok()
13776 }
13777 }
13778 pub unsafe fn ResultFilePath(
13779 &self,
13780 resultfilepath: *mut windows_core::PWSTR,
13781 ) -> windows_core::Result<()> {
13782 unsafe {
13783 (windows_core::Interface::vtable(self).ResultFilePath)(
13784 windows_core::Interface::as_raw(self),
13785 resultfilepath as _,
13786 )
13787 .ok()
13788 }
13789 }
13790 pub unsafe fn SetResultFilePath<P0>(&self, resultfilepath: P0) -> windows_core::Result<()>
13791 where
13792 P0: windows_core::Param<windows_core::PCWSTR>,
13793 {
13794 unsafe {
13795 (windows_core::Interface::vtable(self).SetResultFilePath)(
13796 windows_core::Interface::as_raw(self),
13797 resultfilepath.param().abi(),
13798 )
13799 .ok()
13800 }
13801 }
13802 pub unsafe fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()> {
13803 unsafe {
13804 (windows_core::Interface::vtable(self).Handled)(
13805 windows_core::Interface::as_raw(self),
13806 handled as _,
13807 )
13808 .ok()
13809 }
13810 }
13811 pub unsafe fn SetHandled(&self, handled: bool) -> windows_core::Result<()> {
13812 unsafe {
13813 (windows_core::Interface::vtable(self).SetHandled)(
13814 windows_core::Interface::as_raw(self),
13815 handled.into(),
13816 )
13817 .ok()
13818 }
13819 }
13820 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
13821 unsafe {
13822 let mut result__ = core::mem::zeroed();
13823 (windows_core::Interface::vtable(self).GetDeferral)(
13824 windows_core::Interface::as_raw(self),
13825 &mut result__,
13826 )
13827 .and_then(|| windows_core::Type::from_abi(result__))
13828 }
13829 }
13830}
13831#[repr(C)]
13832#[doc(hidden)]
13833pub struct ICoreWebView2DownloadStartingEventArgs_Vtbl {
13834 pub base__: windows_core::IUnknown_Vtbl,
13835 pub DownloadOperation: unsafe extern "system" fn(
13836 *mut core::ffi::c_void,
13837 *mut *mut core::ffi::c_void,
13838 ) -> windows_core::HRESULT,
13839 pub Cancel: unsafe extern "system" fn(
13840 *mut core::ffi::c_void,
13841 *mut windows_core::BOOL,
13842 ) -> windows_core::HRESULT,
13843 pub SetCancel: unsafe extern "system" fn(
13844 *mut core::ffi::c_void,
13845 windows_core::BOOL,
13846 ) -> windows_core::HRESULT,
13847 pub ResultFilePath: unsafe extern "system" fn(
13848 *mut core::ffi::c_void,
13849 *mut windows_core::PWSTR,
13850 ) -> windows_core::HRESULT,
13851 pub SetResultFilePath: unsafe extern "system" fn(
13852 *mut core::ffi::c_void,
13853 windows_core::PCWSTR,
13854 ) -> windows_core::HRESULT,
13855 pub Handled: unsafe extern "system" fn(
13856 *mut core::ffi::c_void,
13857 *mut windows_core::BOOL,
13858 ) -> windows_core::HRESULT,
13859 pub SetHandled: unsafe extern "system" fn(
13860 *mut core::ffi::c_void,
13861 windows_core::BOOL,
13862 ) -> windows_core::HRESULT,
13863 pub GetDeferral: unsafe extern "system" fn(
13864 *mut core::ffi::c_void,
13865 *mut *mut core::ffi::c_void,
13866 ) -> windows_core::HRESULT,
13867}
13868pub trait ICoreWebView2DownloadStartingEventArgs_Impl: windows_core::IUnknownImpl {
13869 fn DownloadOperation(&self) -> windows_core::Result<ICoreWebView2DownloadOperation>;
13870 fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()>;
13871 fn SetCancel(&self, cancel: windows_core::BOOL) -> windows_core::Result<()>;
13872 fn ResultFilePath(&self, resultfilepath: *mut windows_core::PWSTR) -> windows_core::Result<()>;
13873 fn SetResultFilePath(&self, resultfilepath: &windows_core::PCWSTR) -> windows_core::Result<()>;
13874 fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()>;
13875 fn SetHandled(&self, handled: windows_core::BOOL) -> windows_core::Result<()>;
13876 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
13877}
13878impl ICoreWebView2DownloadStartingEventArgs_Vtbl {
13879 pub const fn new<Identity: ICoreWebView2DownloadStartingEventArgs_Impl, const OFFSET: isize>(
13880 ) -> Self {
13881 unsafe extern "system" fn DownloadOperation<
13882 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13883 const OFFSET: isize,
13884 >(
13885 this: *mut core::ffi::c_void,
13886 downloadoperation: *mut *mut core::ffi::c_void,
13887 ) -> windows_core::HRESULT {
13888 unsafe {
13889 let this: &Identity =
13890 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13891 match ICoreWebView2DownloadStartingEventArgs_Impl::DownloadOperation(this) {
13892 Ok(ok__) => {
13893 downloadoperation.write(core::mem::transmute(ok__));
13894 windows_core::HRESULT(0)
13895 }
13896 Err(err) => err.into(),
13897 }
13898 }
13899 }
13900 unsafe extern "system" fn Cancel<
13901 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13902 const OFFSET: isize,
13903 >(
13904 this: *mut core::ffi::c_void,
13905 cancel: *mut windows_core::BOOL,
13906 ) -> windows_core::HRESULT {
13907 unsafe {
13908 let this: &Identity =
13909 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13910 ICoreWebView2DownloadStartingEventArgs_Impl::Cancel(
13911 this,
13912 core::mem::transmute_copy(&cancel),
13913 )
13914 .into()
13915 }
13916 }
13917 unsafe extern "system" fn SetCancel<
13918 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13919 const OFFSET: isize,
13920 >(
13921 this: *mut core::ffi::c_void,
13922 cancel: windows_core::BOOL,
13923 ) -> windows_core::HRESULT {
13924 unsafe {
13925 let this: &Identity =
13926 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13927 ICoreWebView2DownloadStartingEventArgs_Impl::SetCancel(
13928 this,
13929 core::mem::transmute_copy(&cancel),
13930 )
13931 .into()
13932 }
13933 }
13934 unsafe extern "system" fn ResultFilePath<
13935 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13936 const OFFSET: isize,
13937 >(
13938 this: *mut core::ffi::c_void,
13939 resultfilepath: *mut windows_core::PWSTR,
13940 ) -> windows_core::HRESULT {
13941 unsafe {
13942 let this: &Identity =
13943 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13944 ICoreWebView2DownloadStartingEventArgs_Impl::ResultFilePath(
13945 this,
13946 core::mem::transmute_copy(&resultfilepath),
13947 )
13948 .into()
13949 }
13950 }
13951 unsafe extern "system" fn SetResultFilePath<
13952 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13953 const OFFSET: isize,
13954 >(
13955 this: *mut core::ffi::c_void,
13956 resultfilepath: windows_core::PCWSTR,
13957 ) -> windows_core::HRESULT {
13958 unsafe {
13959 let this: &Identity =
13960 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13961 ICoreWebView2DownloadStartingEventArgs_Impl::SetResultFilePath(
13962 this,
13963 core::mem::transmute(&resultfilepath),
13964 )
13965 .into()
13966 }
13967 }
13968 unsafe extern "system" fn Handled<
13969 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13970 const OFFSET: isize,
13971 >(
13972 this: *mut core::ffi::c_void,
13973 handled: *mut windows_core::BOOL,
13974 ) -> windows_core::HRESULT {
13975 unsafe {
13976 let this: &Identity =
13977 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13978 ICoreWebView2DownloadStartingEventArgs_Impl::Handled(
13979 this,
13980 core::mem::transmute_copy(&handled),
13981 )
13982 .into()
13983 }
13984 }
13985 unsafe extern "system" fn SetHandled<
13986 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13987 const OFFSET: isize,
13988 >(
13989 this: *mut core::ffi::c_void,
13990 handled: windows_core::BOOL,
13991 ) -> windows_core::HRESULT {
13992 unsafe {
13993 let this: &Identity =
13994 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13995 ICoreWebView2DownloadStartingEventArgs_Impl::SetHandled(
13996 this,
13997 core::mem::transmute_copy(&handled),
13998 )
13999 .into()
14000 }
14001 }
14002 unsafe extern "system" fn GetDeferral<
14003 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
14004 const OFFSET: isize,
14005 >(
14006 this: *mut core::ffi::c_void,
14007 deferral: *mut *mut core::ffi::c_void,
14008 ) -> windows_core::HRESULT {
14009 unsafe {
14010 let this: &Identity =
14011 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14012 match ICoreWebView2DownloadStartingEventArgs_Impl::GetDeferral(this) {
14013 Ok(ok__) => {
14014 deferral.write(core::mem::transmute(ok__));
14015 windows_core::HRESULT(0)
14016 }
14017 Err(err) => err.into(),
14018 }
14019 }
14020 }
14021 Self {
14022 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
14023 DownloadOperation: DownloadOperation::<Identity, OFFSET>,
14024 Cancel: Cancel::<Identity, OFFSET>,
14025 SetCancel: SetCancel::<Identity, OFFSET>,
14026 ResultFilePath: ResultFilePath::<Identity, OFFSET>,
14027 SetResultFilePath: SetResultFilePath::<Identity, OFFSET>,
14028 Handled: Handled::<Identity, OFFSET>,
14029 SetHandled: SetHandled::<Identity, OFFSET>,
14030 GetDeferral: GetDeferral::<Identity, OFFSET>,
14031 }
14032 }
14033 pub fn matches(iid: &windows_core::GUID) -> bool {
14034 iid == &<ICoreWebView2DownloadStartingEventArgs as windows_core::Interface>::IID
14035 }
14036}
14037impl windows_core::RuntimeName for ICoreWebView2DownloadStartingEventArgs {}
14038windows_core::imp::define_interface!(
14039 ICoreWebView2DownloadStartingEventHandler,
14040 ICoreWebView2DownloadStartingEventHandler_Vtbl,
14041 0xefedc989_c396_41ca_83f7_07f845a55724
14042);
14043windows_core::imp::interface_hierarchy!(
14044 ICoreWebView2DownloadStartingEventHandler,
14045 windows_core::IUnknown
14046);
14047impl ICoreWebView2DownloadStartingEventHandler {
14048 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
14049 where
14050 P0: windows_core::Param<ICoreWebView2>,
14051 P1: windows_core::Param<ICoreWebView2DownloadStartingEventArgs>,
14052 {
14053 unsafe {
14054 (windows_core::Interface::vtable(self).Invoke)(
14055 windows_core::Interface::as_raw(self),
14056 sender.param().abi(),
14057 args.param().abi(),
14058 )
14059 .ok()
14060 }
14061 }
14062}
14063#[repr(C)]
14064#[doc(hidden)]
14065pub struct ICoreWebView2DownloadStartingEventHandler_Vtbl {
14066 pub base__: windows_core::IUnknown_Vtbl,
14067 pub Invoke: unsafe extern "system" fn(
14068 *mut core::ffi::c_void,
14069 *mut core::ffi::c_void,
14070 *mut core::ffi::c_void,
14071 ) -> windows_core::HRESULT,
14072}
14073pub trait ICoreWebView2DownloadStartingEventHandler_Impl: windows_core::IUnknownImpl {
14074 fn Invoke(
14075 &self,
14076 sender: windows_core::Ref<ICoreWebView2>,
14077 args: windows_core::Ref<ICoreWebView2DownloadStartingEventArgs>,
14078 ) -> windows_core::Result<()>;
14079}
14080impl ICoreWebView2DownloadStartingEventHandler_Vtbl {
14081 pub const fn new<
14082 Identity: ICoreWebView2DownloadStartingEventHandler_Impl,
14083 const OFFSET: isize,
14084 >() -> Self {
14085 unsafe extern "system" fn Invoke<
14086 Identity: ICoreWebView2DownloadStartingEventHandler_Impl,
14087 const OFFSET: isize,
14088 >(
14089 this: *mut core::ffi::c_void,
14090 sender: *mut core::ffi::c_void,
14091 args: *mut core::ffi::c_void,
14092 ) -> windows_core::HRESULT {
14093 unsafe {
14094 let this: &Identity =
14095 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14096 ICoreWebView2DownloadStartingEventHandler_Impl::Invoke(
14097 this,
14098 core::mem::transmute_copy(&sender),
14099 core::mem::transmute_copy(&args),
14100 )
14101 .into()
14102 }
14103 }
14104 Self {
14105 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
14106 Invoke: Invoke::<Identity, OFFSET>,
14107 }
14108 }
14109 pub fn matches(iid: &windows_core::GUID) -> bool {
14110 iid == &<ICoreWebView2DownloadStartingEventHandler as windows_core::Interface>::IID
14111 }
14112}
14113impl windows_core::RuntimeName for ICoreWebView2DownloadStartingEventHandler {}
14114windows_core::imp::define_interface!(
14115 ICoreWebView2DragStartingEventArgs,
14116 ICoreWebView2DragStartingEventArgs_Vtbl,
14117 0x8b8d9c7e_2f1a_4e6b_9d5a_3c8f7b9e1a2d
14118);
14119windows_core::imp::interface_hierarchy!(ICoreWebView2DragStartingEventArgs, windows_core::IUnknown);
14120impl ICoreWebView2DragStartingEventArgs {
14121 pub unsafe fn AllowedDropEffects(&self, value: *mut u32) -> windows_core::Result<()> {
14122 unsafe {
14123 (windows_core::Interface::vtable(self).AllowedDropEffects)(
14124 windows_core::Interface::as_raw(self),
14125 value as _,
14126 )
14127 .ok()
14128 }
14129 }
14130 pub unsafe fn Data(&self) -> windows_core::Result<windows::Win32::System::Com::IDataObject> {
14131 unsafe {
14132 let mut result__ = core::mem::zeroed();
14133 (windows_core::Interface::vtable(self).Data)(
14134 windows_core::Interface::as_raw(self),
14135 &mut result__,
14136 )
14137 .and_then(|| windows_core::Type::from_abi(result__))
14138 }
14139 }
14140 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
14141 unsafe {
14142 (windows_core::Interface::vtable(self).Handled)(
14143 windows_core::Interface::as_raw(self),
14144 value as _,
14145 )
14146 .ok()
14147 }
14148 }
14149 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
14150 unsafe {
14151 (windows_core::Interface::vtable(self).SetHandled)(
14152 windows_core::Interface::as_raw(self),
14153 value.into(),
14154 )
14155 .ok()
14156 }
14157 }
14158 pub unsafe fn Position(
14159 &self,
14160 value: *mut windows::Win32::Foundation::POINT,
14161 ) -> windows_core::Result<()> {
14162 unsafe {
14163 (windows_core::Interface::vtable(self).Position)(
14164 windows_core::Interface::as_raw(self),
14165 value as _,
14166 )
14167 .ok()
14168 }
14169 }
14170 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
14171 unsafe {
14172 let mut result__ = core::mem::zeroed();
14173 (windows_core::Interface::vtable(self).GetDeferral)(
14174 windows_core::Interface::as_raw(self),
14175 &mut result__,
14176 )
14177 .and_then(|| windows_core::Type::from_abi(result__))
14178 }
14179 }
14180}
14181#[repr(C)]
14182#[doc(hidden)]
14183pub struct ICoreWebView2DragStartingEventArgs_Vtbl {
14184 pub base__: windows_core::IUnknown_Vtbl,
14185 pub AllowedDropEffects:
14186 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
14187 pub Data: unsafe extern "system" fn(
14188 *mut core::ffi::c_void,
14189 *mut *mut core::ffi::c_void,
14190 ) -> windows_core::HRESULT,
14191 pub Handled: unsafe extern "system" fn(
14192 *mut core::ffi::c_void,
14193 *mut windows_core::BOOL,
14194 ) -> windows_core::HRESULT,
14195 pub SetHandled: unsafe extern "system" fn(
14196 *mut core::ffi::c_void,
14197 windows_core::BOOL,
14198 ) -> windows_core::HRESULT,
14199 pub Position: unsafe extern "system" fn(
14200 *mut core::ffi::c_void,
14201 *mut windows::Win32::Foundation::POINT,
14202 ) -> windows_core::HRESULT,
14203 pub GetDeferral: unsafe extern "system" fn(
14204 *mut core::ffi::c_void,
14205 *mut *mut core::ffi::c_void,
14206 ) -> windows_core::HRESULT,
14207}
14208pub trait ICoreWebView2DragStartingEventArgs_Impl: windows_core::IUnknownImpl {
14209 fn AllowedDropEffects(&self, value: *mut u32) -> windows_core::Result<()>;
14210 fn Data(&self) -> windows_core::Result<windows::Win32::System::Com::IDataObject>;
14211 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
14212 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
14213 fn Position(&self, value: *mut windows::Win32::Foundation::POINT) -> windows_core::Result<()>;
14214 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
14215}
14216impl ICoreWebView2DragStartingEventArgs_Vtbl {
14217 pub const fn new<Identity: ICoreWebView2DragStartingEventArgs_Impl, const OFFSET: isize>(
14218 ) -> Self {
14219 unsafe extern "system" fn AllowedDropEffects<
14220 Identity: ICoreWebView2DragStartingEventArgs_Impl,
14221 const OFFSET: isize,
14222 >(
14223 this: *mut core::ffi::c_void,
14224 value: *mut u32,
14225 ) -> windows_core::HRESULT {
14226 unsafe {
14227 let this: &Identity =
14228 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14229 ICoreWebView2DragStartingEventArgs_Impl::AllowedDropEffects(
14230 this,
14231 core::mem::transmute_copy(&value),
14232 )
14233 .into()
14234 }
14235 }
14236 unsafe extern "system" fn Data<
14237 Identity: ICoreWebView2DragStartingEventArgs_Impl,
14238 const OFFSET: isize,
14239 >(
14240 this: *mut core::ffi::c_void,
14241 value: *mut *mut core::ffi::c_void,
14242 ) -> windows_core::HRESULT {
14243 unsafe {
14244 let this: &Identity =
14245 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14246 match ICoreWebView2DragStartingEventArgs_Impl::Data(this) {
14247 Ok(ok__) => {
14248 value.write(core::mem::transmute(ok__));
14249 windows_core::HRESULT(0)
14250 }
14251 Err(err) => err.into(),
14252 }
14253 }
14254 }
14255 unsafe extern "system" fn Handled<
14256 Identity: ICoreWebView2DragStartingEventArgs_Impl,
14257 const OFFSET: isize,
14258 >(
14259 this: *mut core::ffi::c_void,
14260 value: *mut windows_core::BOOL,
14261 ) -> windows_core::HRESULT {
14262 unsafe {
14263 let this: &Identity =
14264 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14265 ICoreWebView2DragStartingEventArgs_Impl::Handled(
14266 this,
14267 core::mem::transmute_copy(&value),
14268 )
14269 .into()
14270 }
14271 }
14272 unsafe extern "system" fn SetHandled<
14273 Identity: ICoreWebView2DragStartingEventArgs_Impl,
14274 const OFFSET: isize,
14275 >(
14276 this: *mut core::ffi::c_void,
14277 value: windows_core::BOOL,
14278 ) -> windows_core::HRESULT {
14279 unsafe {
14280 let this: &Identity =
14281 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14282 ICoreWebView2DragStartingEventArgs_Impl::SetHandled(
14283 this,
14284 core::mem::transmute_copy(&value),
14285 )
14286 .into()
14287 }
14288 }
14289 unsafe extern "system" fn Position<
14290 Identity: ICoreWebView2DragStartingEventArgs_Impl,
14291 const OFFSET: isize,
14292 >(
14293 this: *mut core::ffi::c_void,
14294 value: *mut windows::Win32::Foundation::POINT,
14295 ) -> windows_core::HRESULT {
14296 unsafe {
14297 let this: &Identity =
14298 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14299 ICoreWebView2DragStartingEventArgs_Impl::Position(
14300 this,
14301 core::mem::transmute_copy(&value),
14302 )
14303 .into()
14304 }
14305 }
14306 unsafe extern "system" fn GetDeferral<
14307 Identity: ICoreWebView2DragStartingEventArgs_Impl,
14308 const OFFSET: isize,
14309 >(
14310 this: *mut core::ffi::c_void,
14311 value: *mut *mut core::ffi::c_void,
14312 ) -> windows_core::HRESULT {
14313 unsafe {
14314 let this: &Identity =
14315 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14316 match ICoreWebView2DragStartingEventArgs_Impl::GetDeferral(this) {
14317 Ok(ok__) => {
14318 value.write(core::mem::transmute(ok__));
14319 windows_core::HRESULT(0)
14320 }
14321 Err(err) => err.into(),
14322 }
14323 }
14324 }
14325 Self {
14326 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
14327 AllowedDropEffects: AllowedDropEffects::<Identity, OFFSET>,
14328 Data: Data::<Identity, OFFSET>,
14329 Handled: Handled::<Identity, OFFSET>,
14330 SetHandled: SetHandled::<Identity, OFFSET>,
14331 Position: Position::<Identity, OFFSET>,
14332 GetDeferral: GetDeferral::<Identity, OFFSET>,
14333 }
14334 }
14335 pub fn matches(iid: &windows_core::GUID) -> bool {
14336 iid == &<ICoreWebView2DragStartingEventArgs as windows_core::Interface>::IID
14337 }
14338}
14339impl windows_core::RuntimeName for ICoreWebView2DragStartingEventArgs {}
14340windows_core::imp::define_interface!(
14341 ICoreWebView2DragStartingEventHandler,
14342 ICoreWebView2DragStartingEventHandler_Vtbl,
14343 0x3b149321_83c3_5d1f_b03f_a42899bc1c15
14344);
14345windows_core::imp::interface_hierarchy!(
14346 ICoreWebView2DragStartingEventHandler,
14347 windows_core::IUnknown
14348);
14349impl ICoreWebView2DragStartingEventHandler {
14350 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
14351 where
14352 P0: windows_core::Param<ICoreWebView2CompositionController>,
14353 P1: windows_core::Param<ICoreWebView2DragStartingEventArgs>,
14354 {
14355 unsafe {
14356 (windows_core::Interface::vtable(self).Invoke)(
14357 windows_core::Interface::as_raw(self),
14358 sender.param().abi(),
14359 args.param().abi(),
14360 )
14361 .ok()
14362 }
14363 }
14364}
14365#[repr(C)]
14366#[doc(hidden)]
14367pub struct ICoreWebView2DragStartingEventHandler_Vtbl {
14368 pub base__: windows_core::IUnknown_Vtbl,
14369 pub Invoke: unsafe extern "system" fn(
14370 *mut core::ffi::c_void,
14371 *mut core::ffi::c_void,
14372 *mut core::ffi::c_void,
14373 ) -> windows_core::HRESULT,
14374}
14375pub trait ICoreWebView2DragStartingEventHandler_Impl: windows_core::IUnknownImpl {
14376 fn Invoke(
14377 &self,
14378 sender: windows_core::Ref<ICoreWebView2CompositionController>,
14379 args: windows_core::Ref<ICoreWebView2DragStartingEventArgs>,
14380 ) -> windows_core::Result<()>;
14381}
14382impl ICoreWebView2DragStartingEventHandler_Vtbl {
14383 pub const fn new<Identity: ICoreWebView2DragStartingEventHandler_Impl, const OFFSET: isize>(
14384 ) -> Self {
14385 unsafe extern "system" fn Invoke<
14386 Identity: ICoreWebView2DragStartingEventHandler_Impl,
14387 const OFFSET: isize,
14388 >(
14389 this: *mut core::ffi::c_void,
14390 sender: *mut core::ffi::c_void,
14391 args: *mut core::ffi::c_void,
14392 ) -> windows_core::HRESULT {
14393 unsafe {
14394 let this: &Identity =
14395 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14396 ICoreWebView2DragStartingEventHandler_Impl::Invoke(
14397 this,
14398 core::mem::transmute_copy(&sender),
14399 core::mem::transmute_copy(&args),
14400 )
14401 .into()
14402 }
14403 }
14404 Self {
14405 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
14406 Invoke: Invoke::<Identity, OFFSET>,
14407 }
14408 }
14409 pub fn matches(iid: &windows_core::GUID) -> bool {
14410 iid == &<ICoreWebView2DragStartingEventHandler as windows_core::Interface>::IID
14411 }
14412}
14413impl windows_core::RuntimeName for ICoreWebView2DragStartingEventHandler {}
14414windows_core::imp::define_interface!(
14415 ICoreWebView2Environment,
14416 ICoreWebView2Environment_Vtbl,
14417 0xb96d755e_0319_4e92_a296_23436f46a1fc
14418);
14419windows_core::imp::interface_hierarchy!(ICoreWebView2Environment, windows_core::IUnknown);
14420impl ICoreWebView2Environment {
14421 pub unsafe fn CreateCoreWebView2Controller<P1>(
14422 &self,
14423 parentwindow: windows::Win32::Foundation::HWND,
14424 handler: P1,
14425 ) -> windows_core::Result<()>
14426 where
14427 P1: windows_core::Param<ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
14428 {
14429 unsafe {
14430 (windows_core::Interface::vtable(self).CreateCoreWebView2Controller)(
14431 windows_core::Interface::as_raw(self),
14432 parentwindow,
14433 handler.param().abi(),
14434 )
14435 .ok()
14436 }
14437 }
14438 pub unsafe fn CreateWebResourceResponse<P0, P2, P3>(
14439 &self,
14440 content: P0,
14441 statuscode: i32,
14442 reasonphrase: P2,
14443 headers: P3,
14444 ) -> windows_core::Result<ICoreWebView2WebResourceResponse>
14445 where
14446 P0: windows_core::Param<windows::Win32::System::Com::IStream>,
14447 P2: windows_core::Param<windows_core::PCWSTR>,
14448 P3: windows_core::Param<windows_core::PCWSTR>,
14449 {
14450 unsafe {
14451 let mut result__ = core::mem::zeroed();
14452 (windows_core::Interface::vtable(self).CreateWebResourceResponse)(
14453 windows_core::Interface::as_raw(self),
14454 content.param().abi(),
14455 statuscode,
14456 reasonphrase.param().abi(),
14457 headers.param().abi(),
14458 &mut result__,
14459 )
14460 .and_then(|| windows_core::Type::from_abi(result__))
14461 }
14462 }
14463 pub unsafe fn BrowserVersionString(
14464 &self,
14465 versioninfo: *mut windows_core::PWSTR,
14466 ) -> windows_core::Result<()> {
14467 unsafe {
14468 (windows_core::Interface::vtable(self).BrowserVersionString)(
14469 windows_core::Interface::as_raw(self),
14470 versioninfo as _,
14471 )
14472 .ok()
14473 }
14474 }
14475 pub unsafe fn add_NewBrowserVersionAvailable<P0>(
14476 &self,
14477 eventhandler: P0,
14478 token: *mut i64,
14479 ) -> windows_core::Result<()>
14480 where
14481 P0: windows_core::Param<ICoreWebView2NewBrowserVersionAvailableEventHandler>,
14482 {
14483 unsafe {
14484 (windows_core::Interface::vtable(self).add_NewBrowserVersionAvailable)(
14485 windows_core::Interface::as_raw(self),
14486 eventhandler.param().abi(),
14487 token as _,
14488 )
14489 .ok()
14490 }
14491 }
14492 pub unsafe fn remove_NewBrowserVersionAvailable(&self, token: i64) -> windows_core::Result<()> {
14493 unsafe {
14494 (windows_core::Interface::vtable(self).remove_NewBrowserVersionAvailable)(
14495 windows_core::Interface::as_raw(self),
14496 token,
14497 )
14498 .ok()
14499 }
14500 }
14501}
14502#[repr(C)]
14503#[doc(hidden)]
14504pub struct ICoreWebView2Environment_Vtbl {
14505 pub base__: windows_core::IUnknown_Vtbl,
14506 pub CreateCoreWebView2Controller: unsafe extern "system" fn(
14507 *mut core::ffi::c_void,
14508 windows::Win32::Foundation::HWND,
14509 *mut core::ffi::c_void,
14510 ) -> windows_core::HRESULT,
14511 pub CreateWebResourceResponse: unsafe extern "system" fn(
14512 *mut core::ffi::c_void,
14513 *mut core::ffi::c_void,
14514 i32,
14515 windows_core::PCWSTR,
14516 windows_core::PCWSTR,
14517 *mut *mut core::ffi::c_void,
14518 ) -> windows_core::HRESULT,
14519 pub BrowserVersionString: unsafe extern "system" fn(
14520 *mut core::ffi::c_void,
14521 *mut windows_core::PWSTR,
14522 ) -> windows_core::HRESULT,
14523 pub add_NewBrowserVersionAvailable: unsafe extern "system" fn(
14524 *mut core::ffi::c_void,
14525 *mut core::ffi::c_void,
14526 *mut i64,
14527 ) -> windows_core::HRESULT,
14528 pub remove_NewBrowserVersionAvailable:
14529 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
14530}
14531pub trait ICoreWebView2Environment_Impl: windows_core::IUnknownImpl {
14532 fn CreateCoreWebView2Controller(
14533 &self,
14534 parentwindow: windows::Win32::Foundation::HWND,
14535 handler: windows_core::Ref<ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
14536 ) -> windows_core::Result<()>;
14537 fn CreateWebResourceResponse(
14538 &self,
14539 content: windows_core::Ref<windows::Win32::System::Com::IStream>,
14540 statuscode: i32,
14541 reasonphrase: &windows_core::PCWSTR,
14542 headers: &windows_core::PCWSTR,
14543 ) -> windows_core::Result<ICoreWebView2WebResourceResponse>;
14544 fn BrowserVersionString(
14545 &self,
14546 versioninfo: *mut windows_core::PWSTR,
14547 ) -> windows_core::Result<()>;
14548 fn add_NewBrowserVersionAvailable(
14549 &self,
14550 eventhandler: windows_core::Ref<ICoreWebView2NewBrowserVersionAvailableEventHandler>,
14551 token: *mut i64,
14552 ) -> windows_core::Result<()>;
14553 fn remove_NewBrowserVersionAvailable(&self, token: i64) -> windows_core::Result<()>;
14554}
14555impl ICoreWebView2Environment_Vtbl {
14556 pub const fn new<Identity: ICoreWebView2Environment_Impl, const OFFSET: isize>() -> Self {
14557 unsafe extern "system" fn CreateCoreWebView2Controller<
14558 Identity: ICoreWebView2Environment_Impl,
14559 const OFFSET: isize,
14560 >(
14561 this: *mut core::ffi::c_void,
14562 parentwindow: windows::Win32::Foundation::HWND,
14563 handler: *mut core::ffi::c_void,
14564 ) -> windows_core::HRESULT {
14565 unsafe {
14566 let this: &Identity =
14567 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14568 ICoreWebView2Environment_Impl::CreateCoreWebView2Controller(
14569 this,
14570 core::mem::transmute_copy(&parentwindow),
14571 core::mem::transmute_copy(&handler),
14572 )
14573 .into()
14574 }
14575 }
14576 unsafe extern "system" fn CreateWebResourceResponse<
14577 Identity: ICoreWebView2Environment_Impl,
14578 const OFFSET: isize,
14579 >(
14580 this: *mut core::ffi::c_void,
14581 content: *mut core::ffi::c_void,
14582 statuscode: i32,
14583 reasonphrase: windows_core::PCWSTR,
14584 headers: windows_core::PCWSTR,
14585 response: *mut *mut core::ffi::c_void,
14586 ) -> windows_core::HRESULT {
14587 unsafe {
14588 let this: &Identity =
14589 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14590 match ICoreWebView2Environment_Impl::CreateWebResourceResponse(
14591 this,
14592 core::mem::transmute_copy(&content),
14593 core::mem::transmute_copy(&statuscode),
14594 core::mem::transmute(&reasonphrase),
14595 core::mem::transmute(&headers),
14596 ) {
14597 Ok(ok__) => {
14598 response.write(core::mem::transmute(ok__));
14599 windows_core::HRESULT(0)
14600 }
14601 Err(err) => err.into(),
14602 }
14603 }
14604 }
14605 unsafe extern "system" fn BrowserVersionString<
14606 Identity: ICoreWebView2Environment_Impl,
14607 const OFFSET: isize,
14608 >(
14609 this: *mut core::ffi::c_void,
14610 versioninfo: *mut windows_core::PWSTR,
14611 ) -> windows_core::HRESULT {
14612 unsafe {
14613 let this: &Identity =
14614 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14615 ICoreWebView2Environment_Impl::BrowserVersionString(
14616 this,
14617 core::mem::transmute_copy(&versioninfo),
14618 )
14619 .into()
14620 }
14621 }
14622 unsafe extern "system" fn add_NewBrowserVersionAvailable<
14623 Identity: ICoreWebView2Environment_Impl,
14624 const OFFSET: isize,
14625 >(
14626 this: *mut core::ffi::c_void,
14627 eventhandler: *mut core::ffi::c_void,
14628 token: *mut i64,
14629 ) -> windows_core::HRESULT {
14630 unsafe {
14631 let this: &Identity =
14632 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14633 ICoreWebView2Environment_Impl::add_NewBrowserVersionAvailable(
14634 this,
14635 core::mem::transmute_copy(&eventhandler),
14636 core::mem::transmute_copy(&token),
14637 )
14638 .into()
14639 }
14640 }
14641 unsafe extern "system" fn remove_NewBrowserVersionAvailable<
14642 Identity: ICoreWebView2Environment_Impl,
14643 const OFFSET: isize,
14644 >(
14645 this: *mut core::ffi::c_void,
14646 token: i64,
14647 ) -> windows_core::HRESULT {
14648 unsafe {
14649 let this: &Identity =
14650 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14651 ICoreWebView2Environment_Impl::remove_NewBrowserVersionAvailable(
14652 this,
14653 core::mem::transmute_copy(&token),
14654 )
14655 .into()
14656 }
14657 }
14658 Self {
14659 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
14660 CreateCoreWebView2Controller: CreateCoreWebView2Controller::<Identity, OFFSET>,
14661 CreateWebResourceResponse: CreateWebResourceResponse::<Identity, OFFSET>,
14662 BrowserVersionString: BrowserVersionString::<Identity, OFFSET>,
14663 add_NewBrowserVersionAvailable: add_NewBrowserVersionAvailable::<Identity, OFFSET>,
14664 remove_NewBrowserVersionAvailable: remove_NewBrowserVersionAvailable::<Identity, OFFSET>,
14665 }
14666 }
14667 pub fn matches(iid: &windows_core::GUID) -> bool {
14668 iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14669 }
14670}
14671impl windows_core::RuntimeName for ICoreWebView2Environment {}
14672windows_core::imp::define_interface!(
14673 ICoreWebView2Environment10,
14674 ICoreWebView2Environment10_Vtbl,
14675 0xee0eb9df_6f12_46ce_b53f_3f47b9c928e0
14676);
14677impl core::ops::Deref for ICoreWebView2Environment10 {
14678 type Target = ICoreWebView2Environment9;
14679 fn deref(&self) -> &Self::Target {
14680 unsafe { core::mem::transmute(self) }
14681 }
14682}
14683windows_core::imp::interface_hierarchy!(
14684 ICoreWebView2Environment10,
14685 windows_core::IUnknown,
14686 ICoreWebView2Environment,
14687 ICoreWebView2Environment2,
14688 ICoreWebView2Environment3,
14689 ICoreWebView2Environment4,
14690 ICoreWebView2Environment5,
14691 ICoreWebView2Environment6,
14692 ICoreWebView2Environment7,
14693 ICoreWebView2Environment8,
14694 ICoreWebView2Environment9
14695);
14696impl ICoreWebView2Environment10 {
14697 pub unsafe fn CreateCoreWebView2ControllerOptions(
14698 &self,
14699 ) -> windows_core::Result<ICoreWebView2ControllerOptions> {
14700 unsafe {
14701 let mut result__ = core::mem::zeroed();
14702 (windows_core::Interface::vtable(self).CreateCoreWebView2ControllerOptions)(
14703 windows_core::Interface::as_raw(self),
14704 &mut result__,
14705 )
14706 .and_then(|| windows_core::Type::from_abi(result__))
14707 }
14708 }
14709 pub unsafe fn CreateCoreWebView2ControllerWithOptions<P1, P2>(
14710 &self,
14711 parentwindow: windows::Win32::Foundation::HWND,
14712 options: P1,
14713 handler: P2,
14714 ) -> windows_core::Result<()>
14715 where
14716 P1: windows_core::Param<ICoreWebView2ControllerOptions>,
14717 P2: windows_core::Param<ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
14718 {
14719 unsafe {
14720 (windows_core::Interface::vtable(self).CreateCoreWebView2ControllerWithOptions)(
14721 windows_core::Interface::as_raw(self),
14722 parentwindow,
14723 options.param().abi(),
14724 handler.param().abi(),
14725 )
14726 .ok()
14727 }
14728 }
14729 pub unsafe fn CreateCoreWebView2CompositionControllerWithOptions<P1, P2>(
14730 &self,
14731 parentwindow: windows::Win32::Foundation::HWND,
14732 options: P1,
14733 handler: P2,
14734 ) -> windows_core::Result<()>
14735 where
14736 P1: windows_core::Param<ICoreWebView2ControllerOptions>,
14737 P2: windows_core::Param<
14738 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
14739 >,
14740 {
14741 unsafe {
14742 (windows_core::Interface::vtable(self)
14743 .CreateCoreWebView2CompositionControllerWithOptions)(
14744 windows_core::Interface::as_raw(self),
14745 parentwindow,
14746 options.param().abi(),
14747 handler.param().abi(),
14748 )
14749 .ok()
14750 }
14751 }
14752}
14753#[repr(C)]
14754#[doc(hidden)]
14755pub struct ICoreWebView2Environment10_Vtbl {
14756 pub base__: ICoreWebView2Environment9_Vtbl,
14757 pub CreateCoreWebView2ControllerOptions: unsafe extern "system" fn(
14758 *mut core::ffi::c_void,
14759 *mut *mut core::ffi::c_void,
14760 )
14761 -> windows_core::HRESULT,
14762 pub CreateCoreWebView2ControllerWithOptions: unsafe extern "system" fn(
14763 *mut core::ffi::c_void,
14764 windows::Win32::Foundation::HWND,
14765 *mut core::ffi::c_void,
14766 *mut core::ffi::c_void,
14767 )
14768 -> windows_core::HRESULT,
14769 pub CreateCoreWebView2CompositionControllerWithOptions:
14770 unsafe extern "system" fn(
14771 *mut core::ffi::c_void,
14772 windows::Win32::Foundation::HWND,
14773 *mut core::ffi::c_void,
14774 *mut core::ffi::c_void,
14775 ) -> windows_core::HRESULT,
14776}
14777pub trait ICoreWebView2Environment10_Impl: ICoreWebView2Environment9_Impl {
14778 fn CreateCoreWebView2ControllerOptions(
14779 &self,
14780 ) -> windows_core::Result<ICoreWebView2ControllerOptions>;
14781 fn CreateCoreWebView2ControllerWithOptions(
14782 &self,
14783 parentwindow: windows::Win32::Foundation::HWND,
14784 options: windows_core::Ref<ICoreWebView2ControllerOptions>,
14785 handler: windows_core::Ref<ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
14786 ) -> windows_core::Result<()>;
14787 fn CreateCoreWebView2CompositionControllerWithOptions(
14788 &self,
14789 parentwindow: windows::Win32::Foundation::HWND,
14790 options: windows_core::Ref<ICoreWebView2ControllerOptions>,
14791 handler: windows_core::Ref<
14792 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
14793 >,
14794 ) -> windows_core::Result<()>;
14795}
14796impl ICoreWebView2Environment10_Vtbl {
14797 pub const fn new<Identity: ICoreWebView2Environment10_Impl, const OFFSET: isize>() -> Self {
14798 unsafe extern "system" fn CreateCoreWebView2ControllerOptions<
14799 Identity: ICoreWebView2Environment10_Impl,
14800 const OFFSET: isize,
14801 >(
14802 this: *mut core::ffi::c_void,
14803 value: *mut *mut core::ffi::c_void,
14804 ) -> windows_core::HRESULT {
14805 unsafe {
14806 let this: &Identity =
14807 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14808 match ICoreWebView2Environment10_Impl::CreateCoreWebView2ControllerOptions(this) {
14809 Ok(ok__) => {
14810 value.write(core::mem::transmute(ok__));
14811 windows_core::HRESULT(0)
14812 }
14813 Err(err) => err.into(),
14814 }
14815 }
14816 }
14817 unsafe extern "system" fn CreateCoreWebView2ControllerWithOptions<
14818 Identity: ICoreWebView2Environment10_Impl,
14819 const OFFSET: isize,
14820 >(
14821 this: *mut core::ffi::c_void,
14822 parentwindow: windows::Win32::Foundation::HWND,
14823 options: *mut core::ffi::c_void,
14824 handler: *mut core::ffi::c_void,
14825 ) -> windows_core::HRESULT {
14826 unsafe {
14827 let this: &Identity =
14828 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14829 ICoreWebView2Environment10_Impl::CreateCoreWebView2ControllerWithOptions(
14830 this,
14831 core::mem::transmute_copy(&parentwindow),
14832 core::mem::transmute_copy(&options),
14833 core::mem::transmute_copy(&handler),
14834 )
14835 .into()
14836 }
14837 }
14838 unsafe extern "system" fn CreateCoreWebView2CompositionControllerWithOptions<
14839 Identity: ICoreWebView2Environment10_Impl,
14840 const OFFSET: isize,
14841 >(
14842 this: *mut core::ffi::c_void,
14843 parentwindow: windows::Win32::Foundation::HWND,
14844 options: *mut core::ffi::c_void,
14845 handler: *mut core::ffi::c_void,
14846 ) -> windows_core::HRESULT {
14847 unsafe {
14848 let this: &Identity =
14849 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14850 ICoreWebView2Environment10_Impl::CreateCoreWebView2CompositionControllerWithOptions(
14851 this,
14852 core::mem::transmute_copy(&parentwindow),
14853 core::mem::transmute_copy(&options),
14854 core::mem::transmute_copy(&handler),
14855 )
14856 .into()
14857 }
14858 }
14859 Self {
14860 base__: ICoreWebView2Environment9_Vtbl::new::<Identity, OFFSET>(),
14861 CreateCoreWebView2ControllerOptions: CreateCoreWebView2ControllerOptions::<
14862 Identity,
14863 OFFSET,
14864 >,
14865 CreateCoreWebView2ControllerWithOptions: CreateCoreWebView2ControllerWithOptions::<
14866 Identity,
14867 OFFSET,
14868 >,
14869 CreateCoreWebView2CompositionControllerWithOptions:
14870 CreateCoreWebView2CompositionControllerWithOptions::<Identity, OFFSET>,
14871 }
14872 }
14873 pub fn matches(iid: &windows_core::GUID) -> bool {
14874 iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
14875 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14876 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
14877 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
14878 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
14879 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
14880 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
14881 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
14882 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
14883 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
14884 }
14885}
14886impl windows_core::RuntimeName for ICoreWebView2Environment10 {}
14887windows_core::imp::define_interface!(
14888 ICoreWebView2Environment11,
14889 ICoreWebView2Environment11_Vtbl,
14890 0xf0913dc6_a0ec_42ef_9805_91dff3a2966a
14891);
14892impl core::ops::Deref for ICoreWebView2Environment11 {
14893 type Target = ICoreWebView2Environment10;
14894 fn deref(&self) -> &Self::Target {
14895 unsafe { core::mem::transmute(self) }
14896 }
14897}
14898windows_core::imp::interface_hierarchy!(
14899 ICoreWebView2Environment11,
14900 windows_core::IUnknown,
14901 ICoreWebView2Environment,
14902 ICoreWebView2Environment2,
14903 ICoreWebView2Environment3,
14904 ICoreWebView2Environment4,
14905 ICoreWebView2Environment5,
14906 ICoreWebView2Environment6,
14907 ICoreWebView2Environment7,
14908 ICoreWebView2Environment8,
14909 ICoreWebView2Environment9,
14910 ICoreWebView2Environment10
14911);
14912impl ICoreWebView2Environment11 {
14913 pub unsafe fn FailureReportFolderPath(
14914 &self,
14915 value: *mut windows_core::PWSTR,
14916 ) -> windows_core::Result<()> {
14917 unsafe {
14918 (windows_core::Interface::vtable(self).FailureReportFolderPath)(
14919 windows_core::Interface::as_raw(self),
14920 value as _,
14921 )
14922 .ok()
14923 }
14924 }
14925}
14926#[repr(C)]
14927#[doc(hidden)]
14928pub struct ICoreWebView2Environment11_Vtbl {
14929 pub base__: ICoreWebView2Environment10_Vtbl,
14930 pub FailureReportFolderPath: unsafe extern "system" fn(
14931 *mut core::ffi::c_void,
14932 *mut windows_core::PWSTR,
14933 ) -> windows_core::HRESULT,
14934}
14935pub trait ICoreWebView2Environment11_Impl: ICoreWebView2Environment10_Impl {
14936 fn FailureReportFolderPath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
14937}
14938impl ICoreWebView2Environment11_Vtbl {
14939 pub const fn new<Identity: ICoreWebView2Environment11_Impl, const OFFSET: isize>() -> Self {
14940 unsafe extern "system" fn FailureReportFolderPath<
14941 Identity: ICoreWebView2Environment11_Impl,
14942 const OFFSET: isize,
14943 >(
14944 this: *mut core::ffi::c_void,
14945 value: *mut windows_core::PWSTR,
14946 ) -> windows_core::HRESULT {
14947 unsafe {
14948 let this: &Identity =
14949 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14950 ICoreWebView2Environment11_Impl::FailureReportFolderPath(
14951 this,
14952 core::mem::transmute_copy(&value),
14953 )
14954 .into()
14955 }
14956 }
14957 Self {
14958 base__: ICoreWebView2Environment10_Vtbl::new::<Identity, OFFSET>(),
14959 FailureReportFolderPath: FailureReportFolderPath::<Identity, OFFSET>,
14960 }
14961 }
14962 pub fn matches(iid: &windows_core::GUID) -> bool {
14963 iid == &<ICoreWebView2Environment11 as windows_core::Interface>::IID
14964 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14965 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
14966 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
14967 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
14968 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
14969 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
14970 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
14971 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
14972 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
14973 || iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
14974 }
14975}
14976impl windows_core::RuntimeName for ICoreWebView2Environment11 {}
14977windows_core::imp::define_interface!(
14978 ICoreWebView2Environment12,
14979 ICoreWebView2Environment12_Vtbl,
14980 0xf503db9b_739f_48dd_b151_fdfcf253f54e
14981);
14982impl core::ops::Deref for ICoreWebView2Environment12 {
14983 type Target = ICoreWebView2Environment11;
14984 fn deref(&self) -> &Self::Target {
14985 unsafe { core::mem::transmute(self) }
14986 }
14987}
14988windows_core::imp::interface_hierarchy!(
14989 ICoreWebView2Environment12,
14990 windows_core::IUnknown,
14991 ICoreWebView2Environment,
14992 ICoreWebView2Environment2,
14993 ICoreWebView2Environment3,
14994 ICoreWebView2Environment4,
14995 ICoreWebView2Environment5,
14996 ICoreWebView2Environment6,
14997 ICoreWebView2Environment7,
14998 ICoreWebView2Environment8,
14999 ICoreWebView2Environment9,
15000 ICoreWebView2Environment10,
15001 ICoreWebView2Environment11
15002);
15003impl ICoreWebView2Environment12 {
15004 pub unsafe fn CreateSharedBuffer(
15005 &self,
15006 size: u64,
15007 ) -> windows_core::Result<ICoreWebView2SharedBuffer> {
15008 unsafe {
15009 let mut result__ = core::mem::zeroed();
15010 (windows_core::Interface::vtable(self).CreateSharedBuffer)(
15011 windows_core::Interface::as_raw(self),
15012 size,
15013 &mut result__,
15014 )
15015 .and_then(|| windows_core::Type::from_abi(result__))
15016 }
15017 }
15018}
15019#[repr(C)]
15020#[doc(hidden)]
15021pub struct ICoreWebView2Environment12_Vtbl {
15022 pub base__: ICoreWebView2Environment11_Vtbl,
15023 pub CreateSharedBuffer: unsafe extern "system" fn(
15024 *mut core::ffi::c_void,
15025 u64,
15026 *mut *mut core::ffi::c_void,
15027 ) -> windows_core::HRESULT,
15028}
15029pub trait ICoreWebView2Environment12_Impl: ICoreWebView2Environment11_Impl {
15030 fn CreateSharedBuffer(&self, size: u64) -> windows_core::Result<ICoreWebView2SharedBuffer>;
15031}
15032impl ICoreWebView2Environment12_Vtbl {
15033 pub const fn new<Identity: ICoreWebView2Environment12_Impl, const OFFSET: isize>() -> Self {
15034 unsafe extern "system" fn CreateSharedBuffer<
15035 Identity: ICoreWebView2Environment12_Impl,
15036 const OFFSET: isize,
15037 >(
15038 this: *mut core::ffi::c_void,
15039 size: u64,
15040 value: *mut *mut core::ffi::c_void,
15041 ) -> windows_core::HRESULT {
15042 unsafe {
15043 let this: &Identity =
15044 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15045 match ICoreWebView2Environment12_Impl::CreateSharedBuffer(
15046 this,
15047 core::mem::transmute_copy(&size),
15048 ) {
15049 Ok(ok__) => {
15050 value.write(core::mem::transmute(ok__));
15051 windows_core::HRESULT(0)
15052 }
15053 Err(err) => err.into(),
15054 }
15055 }
15056 }
15057 Self {
15058 base__: ICoreWebView2Environment11_Vtbl::new::<Identity, OFFSET>(),
15059 CreateSharedBuffer: CreateSharedBuffer::<Identity, OFFSET>,
15060 }
15061 }
15062 pub fn matches(iid: &windows_core::GUID) -> bool {
15063 iid == &<ICoreWebView2Environment12 as windows_core::Interface>::IID
15064 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15065 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15066 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15067 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15068 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15069 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
15070 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
15071 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
15072 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
15073 || iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
15074 || iid == &<ICoreWebView2Environment11 as windows_core::Interface>::IID
15075 }
15076}
15077impl windows_core::RuntimeName for ICoreWebView2Environment12 {}
15078windows_core::imp::define_interface!(
15079 ICoreWebView2Environment13,
15080 ICoreWebView2Environment13_Vtbl,
15081 0xaf641f58_72b2_11ee_b962_0242ac120002
15082);
15083impl core::ops::Deref for ICoreWebView2Environment13 {
15084 type Target = ICoreWebView2Environment12;
15085 fn deref(&self) -> &Self::Target {
15086 unsafe { core::mem::transmute(self) }
15087 }
15088}
15089windows_core::imp::interface_hierarchy!(
15090 ICoreWebView2Environment13,
15091 windows_core::IUnknown,
15092 ICoreWebView2Environment,
15093 ICoreWebView2Environment2,
15094 ICoreWebView2Environment3,
15095 ICoreWebView2Environment4,
15096 ICoreWebView2Environment5,
15097 ICoreWebView2Environment6,
15098 ICoreWebView2Environment7,
15099 ICoreWebView2Environment8,
15100 ICoreWebView2Environment9,
15101 ICoreWebView2Environment10,
15102 ICoreWebView2Environment11,
15103 ICoreWebView2Environment12
15104);
15105impl ICoreWebView2Environment13 {
15106 pub unsafe fn GetProcessExtendedInfos<P0>(&self, handler: P0) -> windows_core::Result<()>
15107 where
15108 P0: windows_core::Param<ICoreWebView2GetProcessExtendedInfosCompletedHandler>,
15109 {
15110 unsafe {
15111 (windows_core::Interface::vtable(self).GetProcessExtendedInfos)(
15112 windows_core::Interface::as_raw(self),
15113 handler.param().abi(),
15114 )
15115 .ok()
15116 }
15117 }
15118}
15119#[repr(C)]
15120#[doc(hidden)]
15121pub struct ICoreWebView2Environment13_Vtbl {
15122 pub base__: ICoreWebView2Environment12_Vtbl,
15123 pub GetProcessExtendedInfos: unsafe extern "system" fn(
15124 *mut core::ffi::c_void,
15125 *mut core::ffi::c_void,
15126 ) -> windows_core::HRESULT,
15127}
15128pub trait ICoreWebView2Environment13_Impl: ICoreWebView2Environment12_Impl {
15129 fn GetProcessExtendedInfos(
15130 &self,
15131 handler: windows_core::Ref<ICoreWebView2GetProcessExtendedInfosCompletedHandler>,
15132 ) -> windows_core::Result<()>;
15133}
15134impl ICoreWebView2Environment13_Vtbl {
15135 pub const fn new<Identity: ICoreWebView2Environment13_Impl, const OFFSET: isize>() -> Self {
15136 unsafe extern "system" fn GetProcessExtendedInfos<
15137 Identity: ICoreWebView2Environment13_Impl,
15138 const OFFSET: isize,
15139 >(
15140 this: *mut core::ffi::c_void,
15141 handler: *mut core::ffi::c_void,
15142 ) -> windows_core::HRESULT {
15143 unsafe {
15144 let this: &Identity =
15145 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15146 ICoreWebView2Environment13_Impl::GetProcessExtendedInfos(
15147 this,
15148 core::mem::transmute_copy(&handler),
15149 )
15150 .into()
15151 }
15152 }
15153 Self {
15154 base__: ICoreWebView2Environment12_Vtbl::new::<Identity, OFFSET>(),
15155 GetProcessExtendedInfos: GetProcessExtendedInfos::<Identity, OFFSET>,
15156 }
15157 }
15158 pub fn matches(iid: &windows_core::GUID) -> bool {
15159 iid == &<ICoreWebView2Environment13 as windows_core::Interface>::IID
15160 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15161 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15162 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15163 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15164 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15165 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
15166 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
15167 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
15168 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
15169 || iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
15170 || iid == &<ICoreWebView2Environment11 as windows_core::Interface>::IID
15171 || iid == &<ICoreWebView2Environment12 as windows_core::Interface>::IID
15172 }
15173}
15174impl windows_core::RuntimeName for ICoreWebView2Environment13 {}
15175windows_core::imp::define_interface!(
15176 ICoreWebView2Environment14,
15177 ICoreWebView2Environment14_Vtbl,
15178 0xa5e9fad9_c875_59da_9bd7_473aa5ca1cef
15179);
15180impl core::ops::Deref for ICoreWebView2Environment14 {
15181 type Target = ICoreWebView2Environment13;
15182 fn deref(&self) -> &Self::Target {
15183 unsafe { core::mem::transmute(self) }
15184 }
15185}
15186windows_core::imp::interface_hierarchy!(
15187 ICoreWebView2Environment14,
15188 windows_core::IUnknown,
15189 ICoreWebView2Environment,
15190 ICoreWebView2Environment2,
15191 ICoreWebView2Environment3,
15192 ICoreWebView2Environment4,
15193 ICoreWebView2Environment5,
15194 ICoreWebView2Environment6,
15195 ICoreWebView2Environment7,
15196 ICoreWebView2Environment8,
15197 ICoreWebView2Environment9,
15198 ICoreWebView2Environment10,
15199 ICoreWebView2Environment11,
15200 ICoreWebView2Environment12,
15201 ICoreWebView2Environment13
15202);
15203impl ICoreWebView2Environment14 {
15204 pub unsafe fn CreateWebFileSystemFileHandle<P0>(
15205 &self,
15206 path: P0,
15207 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
15208 ) -> windows_core::Result<ICoreWebView2FileSystemHandle>
15209 where
15210 P0: windows_core::Param<windows_core::PCWSTR>,
15211 {
15212 unsafe {
15213 let mut result__ = core::mem::zeroed();
15214 (windows_core::Interface::vtable(self).CreateWebFileSystemFileHandle)(
15215 windows_core::Interface::as_raw(self),
15216 path.param().abi(),
15217 permission,
15218 &mut result__,
15219 )
15220 .and_then(|| windows_core::Type::from_abi(result__))
15221 }
15222 }
15223 pub unsafe fn CreateWebFileSystemDirectoryHandle<P0>(
15224 &self,
15225 path: P0,
15226 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
15227 ) -> windows_core::Result<ICoreWebView2FileSystemHandle>
15228 where
15229 P0: windows_core::Param<windows_core::PCWSTR>,
15230 {
15231 unsafe {
15232 let mut result__ = core::mem::zeroed();
15233 (windows_core::Interface::vtable(self).CreateWebFileSystemDirectoryHandle)(
15234 windows_core::Interface::as_raw(self),
15235 path.param().abi(),
15236 permission,
15237 &mut result__,
15238 )
15239 .and_then(|| windows_core::Type::from_abi(result__))
15240 }
15241 }
15242 pub unsafe fn CreateObjectCollection(
15243 &self,
15244 length: u32,
15245 items: *mut Option<windows_core::IUnknown>,
15246 objectcollection: *mut Option<ICoreWebView2ObjectCollection>,
15247 ) -> windows_core::Result<()> {
15248 unsafe {
15249 (windows_core::Interface::vtable(self).CreateObjectCollection)(
15250 windows_core::Interface::as_raw(self),
15251 length,
15252 core::mem::transmute(items),
15253 core::mem::transmute(objectcollection),
15254 )
15255 .ok()
15256 }
15257 }
15258}
15259#[repr(C)]
15260#[doc(hidden)]
15261pub struct ICoreWebView2Environment14_Vtbl {
15262 pub base__: ICoreWebView2Environment13_Vtbl,
15263 pub CreateWebFileSystemFileHandle: unsafe extern "system" fn(
15264 *mut core::ffi::c_void,
15265 windows_core::PCWSTR,
15266 COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
15267 *mut *mut core::ffi::c_void,
15268 ) -> windows_core::HRESULT,
15269 pub CreateWebFileSystemDirectoryHandle: unsafe extern "system" fn(
15270 *mut core::ffi::c_void,
15271 windows_core::PCWSTR,
15272 COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
15273 *mut *mut core::ffi::c_void,
15274 ) -> windows_core::HRESULT,
15275 pub CreateObjectCollection: unsafe extern "system" fn(
15276 *mut core::ffi::c_void,
15277 u32,
15278 *mut *mut core::ffi::c_void,
15279 *mut *mut core::ffi::c_void,
15280 ) -> windows_core::HRESULT,
15281}
15282pub trait ICoreWebView2Environment14_Impl: ICoreWebView2Environment13_Impl {
15283 fn CreateWebFileSystemFileHandle(
15284 &self,
15285 path: &windows_core::PCWSTR,
15286 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
15287 ) -> windows_core::Result<ICoreWebView2FileSystemHandle>;
15288 fn CreateWebFileSystemDirectoryHandle(
15289 &self,
15290 path: &windows_core::PCWSTR,
15291 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
15292 ) -> windows_core::Result<ICoreWebView2FileSystemHandle>;
15293 fn CreateObjectCollection(
15294 &self,
15295 length: u32,
15296 items: windows_core::OutRef<windows_core::IUnknown>,
15297 objectcollection: windows_core::OutRef<ICoreWebView2ObjectCollection>,
15298 ) -> windows_core::Result<()>;
15299}
15300impl ICoreWebView2Environment14_Vtbl {
15301 pub const fn new<Identity: ICoreWebView2Environment14_Impl, const OFFSET: isize>() -> Self {
15302 unsafe extern "system" fn CreateWebFileSystemFileHandle<
15303 Identity: ICoreWebView2Environment14_Impl,
15304 const OFFSET: isize,
15305 >(
15306 this: *mut core::ffi::c_void,
15307 path: windows_core::PCWSTR,
15308 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
15309 value: *mut *mut core::ffi::c_void,
15310 ) -> windows_core::HRESULT {
15311 unsafe {
15312 let this: &Identity =
15313 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15314 match ICoreWebView2Environment14_Impl::CreateWebFileSystemFileHandle(
15315 this,
15316 core::mem::transmute(&path),
15317 core::mem::transmute_copy(&permission),
15318 ) {
15319 Ok(ok__) => {
15320 value.write(core::mem::transmute(ok__));
15321 windows_core::HRESULT(0)
15322 }
15323 Err(err) => err.into(),
15324 }
15325 }
15326 }
15327 unsafe extern "system" fn CreateWebFileSystemDirectoryHandle<
15328 Identity: ICoreWebView2Environment14_Impl,
15329 const OFFSET: isize,
15330 >(
15331 this: *mut core::ffi::c_void,
15332 path: windows_core::PCWSTR,
15333 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
15334 value: *mut *mut core::ffi::c_void,
15335 ) -> windows_core::HRESULT {
15336 unsafe {
15337 let this: &Identity =
15338 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15339 match ICoreWebView2Environment14_Impl::CreateWebFileSystemDirectoryHandle(
15340 this,
15341 core::mem::transmute(&path),
15342 core::mem::transmute_copy(&permission),
15343 ) {
15344 Ok(ok__) => {
15345 value.write(core::mem::transmute(ok__));
15346 windows_core::HRESULT(0)
15347 }
15348 Err(err) => err.into(),
15349 }
15350 }
15351 }
15352 unsafe extern "system" fn CreateObjectCollection<
15353 Identity: ICoreWebView2Environment14_Impl,
15354 const OFFSET: isize,
15355 >(
15356 this: *mut core::ffi::c_void,
15357 length: u32,
15358 items: *mut *mut core::ffi::c_void,
15359 objectcollection: *mut *mut core::ffi::c_void,
15360 ) -> windows_core::HRESULT {
15361 unsafe {
15362 let this: &Identity =
15363 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15364 ICoreWebView2Environment14_Impl::CreateObjectCollection(
15365 this,
15366 core::mem::transmute_copy(&length),
15367 core::mem::transmute_copy(&items),
15368 core::mem::transmute_copy(&objectcollection),
15369 )
15370 .into()
15371 }
15372 }
15373 Self {
15374 base__: ICoreWebView2Environment13_Vtbl::new::<Identity, OFFSET>(),
15375 CreateWebFileSystemFileHandle: CreateWebFileSystemFileHandle::<Identity, OFFSET>,
15376 CreateWebFileSystemDirectoryHandle: CreateWebFileSystemDirectoryHandle::<
15377 Identity,
15378 OFFSET,
15379 >,
15380 CreateObjectCollection: CreateObjectCollection::<Identity, OFFSET>,
15381 }
15382 }
15383 pub fn matches(iid: &windows_core::GUID) -> bool {
15384 iid == &<ICoreWebView2Environment14 as windows_core::Interface>::IID
15385 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15386 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15387 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15388 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15389 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15390 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
15391 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
15392 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
15393 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
15394 || iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
15395 || iid == &<ICoreWebView2Environment11 as windows_core::Interface>::IID
15396 || iid == &<ICoreWebView2Environment12 as windows_core::Interface>::IID
15397 || iid == &<ICoreWebView2Environment13 as windows_core::Interface>::IID
15398 }
15399}
15400impl windows_core::RuntimeName for ICoreWebView2Environment14 {}
15401windows_core::imp::define_interface!(
15402 ICoreWebView2Environment15,
15403 ICoreWebView2Environment15_Vtbl,
15404 0x2ac5ebfb_e654_5961_a667_7971885c7b27
15405);
15406impl core::ops::Deref for ICoreWebView2Environment15 {
15407 type Target = ICoreWebView2Environment14;
15408 fn deref(&self) -> &Self::Target {
15409 unsafe { core::mem::transmute(self) }
15410 }
15411}
15412windows_core::imp::interface_hierarchy!(
15413 ICoreWebView2Environment15,
15414 windows_core::IUnknown,
15415 ICoreWebView2Environment,
15416 ICoreWebView2Environment2,
15417 ICoreWebView2Environment3,
15418 ICoreWebView2Environment4,
15419 ICoreWebView2Environment5,
15420 ICoreWebView2Environment6,
15421 ICoreWebView2Environment7,
15422 ICoreWebView2Environment8,
15423 ICoreWebView2Environment9,
15424 ICoreWebView2Environment10,
15425 ICoreWebView2Environment11,
15426 ICoreWebView2Environment12,
15427 ICoreWebView2Environment13,
15428 ICoreWebView2Environment14
15429);
15430impl ICoreWebView2Environment15 {
15431 pub unsafe fn CreateFindOptions(&self) -> windows_core::Result<ICoreWebView2FindOptions> {
15432 unsafe {
15433 let mut result__ = core::mem::zeroed();
15434 (windows_core::Interface::vtable(self).CreateFindOptions)(
15435 windows_core::Interface::as_raw(self),
15436 &mut result__,
15437 )
15438 .and_then(|| windows_core::Type::from_abi(result__))
15439 }
15440 }
15441}
15442#[repr(C)]
15443#[doc(hidden)]
15444pub struct ICoreWebView2Environment15_Vtbl {
15445 pub base__: ICoreWebView2Environment14_Vtbl,
15446 pub CreateFindOptions: unsafe extern "system" fn(
15447 *mut core::ffi::c_void,
15448 *mut *mut core::ffi::c_void,
15449 ) -> windows_core::HRESULT,
15450}
15451pub trait ICoreWebView2Environment15_Impl: ICoreWebView2Environment14_Impl {
15452 fn CreateFindOptions(&self) -> windows_core::Result<ICoreWebView2FindOptions>;
15453}
15454impl ICoreWebView2Environment15_Vtbl {
15455 pub const fn new<Identity: ICoreWebView2Environment15_Impl, const OFFSET: isize>() -> Self {
15456 unsafe extern "system" fn CreateFindOptions<
15457 Identity: ICoreWebView2Environment15_Impl,
15458 const OFFSET: isize,
15459 >(
15460 this: *mut core::ffi::c_void,
15461 value: *mut *mut core::ffi::c_void,
15462 ) -> windows_core::HRESULT {
15463 unsafe {
15464 let this: &Identity =
15465 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15466 match ICoreWebView2Environment15_Impl::CreateFindOptions(this) {
15467 Ok(ok__) => {
15468 value.write(core::mem::transmute(ok__));
15469 windows_core::HRESULT(0)
15470 }
15471 Err(err) => err.into(),
15472 }
15473 }
15474 }
15475 Self {
15476 base__: ICoreWebView2Environment14_Vtbl::new::<Identity, OFFSET>(),
15477 CreateFindOptions: CreateFindOptions::<Identity, OFFSET>,
15478 }
15479 }
15480 pub fn matches(iid: &windows_core::GUID) -> bool {
15481 iid == &<ICoreWebView2Environment15 as windows_core::Interface>::IID
15482 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15483 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15484 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15485 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15486 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15487 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
15488 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
15489 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
15490 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
15491 || iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
15492 || iid == &<ICoreWebView2Environment11 as windows_core::Interface>::IID
15493 || iid == &<ICoreWebView2Environment12 as windows_core::Interface>::IID
15494 || iid == &<ICoreWebView2Environment13 as windows_core::Interface>::IID
15495 || iid == &<ICoreWebView2Environment14 as windows_core::Interface>::IID
15496 }
15497}
15498impl windows_core::RuntimeName for ICoreWebView2Environment15 {}
15499windows_core::imp::define_interface!(
15500 ICoreWebView2Environment2,
15501 ICoreWebView2Environment2_Vtbl,
15502 0x41f3632b_5ef4_404f_ad82_2d606c5a9a21
15503);
15504impl core::ops::Deref for ICoreWebView2Environment2 {
15505 type Target = ICoreWebView2Environment;
15506 fn deref(&self) -> &Self::Target {
15507 unsafe { core::mem::transmute(self) }
15508 }
15509}
15510windows_core::imp::interface_hierarchy!(
15511 ICoreWebView2Environment2,
15512 windows_core::IUnknown,
15513 ICoreWebView2Environment
15514);
15515impl ICoreWebView2Environment2 {
15516 pub unsafe fn CreateWebResourceRequest<P0, P1, P2, P3>(
15517 &self,
15518 uri: P0,
15519 method: P1,
15520 postdata: P2,
15521 headers: P3,
15522 ) -> windows_core::Result<ICoreWebView2WebResourceRequest>
15523 where
15524 P0: windows_core::Param<windows_core::PCWSTR>,
15525 P1: windows_core::Param<windows_core::PCWSTR>,
15526 P2: windows_core::Param<windows::Win32::System::Com::IStream>,
15527 P3: windows_core::Param<windows_core::PCWSTR>,
15528 {
15529 unsafe {
15530 let mut result__ = core::mem::zeroed();
15531 (windows_core::Interface::vtable(self).CreateWebResourceRequest)(
15532 windows_core::Interface::as_raw(self),
15533 uri.param().abi(),
15534 method.param().abi(),
15535 postdata.param().abi(),
15536 headers.param().abi(),
15537 &mut result__,
15538 )
15539 .and_then(|| windows_core::Type::from_abi(result__))
15540 }
15541 }
15542}
15543#[repr(C)]
15544#[doc(hidden)]
15545pub struct ICoreWebView2Environment2_Vtbl {
15546 pub base__: ICoreWebView2Environment_Vtbl,
15547 pub CreateWebResourceRequest: unsafe extern "system" fn(
15548 *mut core::ffi::c_void,
15549 windows_core::PCWSTR,
15550 windows_core::PCWSTR,
15551 *mut core::ffi::c_void,
15552 windows_core::PCWSTR,
15553 *mut *mut core::ffi::c_void,
15554 ) -> windows_core::HRESULT,
15555}
15556pub trait ICoreWebView2Environment2_Impl: ICoreWebView2Environment_Impl {
15557 fn CreateWebResourceRequest(
15558 &self,
15559 uri: &windows_core::PCWSTR,
15560 method: &windows_core::PCWSTR,
15561 postdata: windows_core::Ref<windows::Win32::System::Com::IStream>,
15562 headers: &windows_core::PCWSTR,
15563 ) -> windows_core::Result<ICoreWebView2WebResourceRequest>;
15564}
15565impl ICoreWebView2Environment2_Vtbl {
15566 pub const fn new<Identity: ICoreWebView2Environment2_Impl, const OFFSET: isize>() -> Self {
15567 unsafe extern "system" fn CreateWebResourceRequest<
15568 Identity: ICoreWebView2Environment2_Impl,
15569 const OFFSET: isize,
15570 >(
15571 this: *mut core::ffi::c_void,
15572 uri: windows_core::PCWSTR,
15573 method: windows_core::PCWSTR,
15574 postdata: *mut core::ffi::c_void,
15575 headers: windows_core::PCWSTR,
15576 value: *mut *mut core::ffi::c_void,
15577 ) -> windows_core::HRESULT {
15578 unsafe {
15579 let this: &Identity =
15580 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15581 match ICoreWebView2Environment2_Impl::CreateWebResourceRequest(
15582 this,
15583 core::mem::transmute(&uri),
15584 core::mem::transmute(&method),
15585 core::mem::transmute_copy(&postdata),
15586 core::mem::transmute(&headers),
15587 ) {
15588 Ok(ok__) => {
15589 value.write(core::mem::transmute(ok__));
15590 windows_core::HRESULT(0)
15591 }
15592 Err(err) => err.into(),
15593 }
15594 }
15595 }
15596 Self {
15597 base__: ICoreWebView2Environment_Vtbl::new::<Identity, OFFSET>(),
15598 CreateWebResourceRequest: CreateWebResourceRequest::<Identity, OFFSET>,
15599 }
15600 }
15601 pub fn matches(iid: &windows_core::GUID) -> bool {
15602 iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15603 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15604 }
15605}
15606impl windows_core::RuntimeName for ICoreWebView2Environment2 {}
15607windows_core::imp::define_interface!(
15608 ICoreWebView2Environment3,
15609 ICoreWebView2Environment3_Vtbl,
15610 0x80a22ae3_be7c_4ce2_afe1_5a50056cdeeb
15611);
15612impl core::ops::Deref for ICoreWebView2Environment3 {
15613 type Target = ICoreWebView2Environment2;
15614 fn deref(&self) -> &Self::Target {
15615 unsafe { core::mem::transmute(self) }
15616 }
15617}
15618windows_core::imp::interface_hierarchy!(
15619 ICoreWebView2Environment3,
15620 windows_core::IUnknown,
15621 ICoreWebView2Environment,
15622 ICoreWebView2Environment2
15623);
15624impl ICoreWebView2Environment3 {
15625 pub unsafe fn CreateCoreWebView2CompositionController<P1>(
15626 &self,
15627 parentwindow: windows::Win32::Foundation::HWND,
15628 handler: P1,
15629 ) -> windows_core::Result<()>
15630 where
15631 P1: windows_core::Param<
15632 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
15633 >,
15634 {
15635 unsafe {
15636 (windows_core::Interface::vtable(self).CreateCoreWebView2CompositionController)(
15637 windows_core::Interface::as_raw(self),
15638 parentwindow,
15639 handler.param().abi(),
15640 )
15641 .ok()
15642 }
15643 }
15644 pub unsafe fn CreateCoreWebView2PointerInfo(
15645 &self,
15646 ) -> windows_core::Result<ICoreWebView2PointerInfo> {
15647 unsafe {
15648 let mut result__ = core::mem::zeroed();
15649 (windows_core::Interface::vtable(self).CreateCoreWebView2PointerInfo)(
15650 windows_core::Interface::as_raw(self),
15651 &mut result__,
15652 )
15653 .and_then(|| windows_core::Type::from_abi(result__))
15654 }
15655 }
15656}
15657#[repr(C)]
15658#[doc(hidden)]
15659pub struct ICoreWebView2Environment3_Vtbl {
15660 pub base__: ICoreWebView2Environment2_Vtbl,
15661 pub CreateCoreWebView2CompositionController: unsafe extern "system" fn(
15662 *mut core::ffi::c_void,
15663 windows::Win32::Foundation::HWND,
15664 *mut core::ffi::c_void,
15665 )
15666 -> windows_core::HRESULT,
15667 pub CreateCoreWebView2PointerInfo: unsafe extern "system" fn(
15668 *mut core::ffi::c_void,
15669 *mut *mut core::ffi::c_void,
15670 ) -> windows_core::HRESULT,
15671}
15672pub trait ICoreWebView2Environment3_Impl: ICoreWebView2Environment2_Impl {
15673 fn CreateCoreWebView2CompositionController(
15674 &self,
15675 parentwindow: windows::Win32::Foundation::HWND,
15676 handler: windows_core::Ref<
15677 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
15678 >,
15679 ) -> windows_core::Result<()>;
15680 fn CreateCoreWebView2PointerInfo(&self) -> windows_core::Result<ICoreWebView2PointerInfo>;
15681}
15682impl ICoreWebView2Environment3_Vtbl {
15683 pub const fn new<Identity: ICoreWebView2Environment3_Impl, const OFFSET: isize>() -> Self {
15684 unsafe extern "system" fn CreateCoreWebView2CompositionController<
15685 Identity: ICoreWebView2Environment3_Impl,
15686 const OFFSET: isize,
15687 >(
15688 this: *mut core::ffi::c_void,
15689 parentwindow: windows::Win32::Foundation::HWND,
15690 handler: *mut core::ffi::c_void,
15691 ) -> windows_core::HRESULT {
15692 unsafe {
15693 let this: &Identity =
15694 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15695 ICoreWebView2Environment3_Impl::CreateCoreWebView2CompositionController(
15696 this,
15697 core::mem::transmute_copy(&parentwindow),
15698 core::mem::transmute_copy(&handler),
15699 )
15700 .into()
15701 }
15702 }
15703 unsafe extern "system" fn CreateCoreWebView2PointerInfo<
15704 Identity: ICoreWebView2Environment3_Impl,
15705 const OFFSET: isize,
15706 >(
15707 this: *mut core::ffi::c_void,
15708 value: *mut *mut core::ffi::c_void,
15709 ) -> windows_core::HRESULT {
15710 unsafe {
15711 let this: &Identity =
15712 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15713 match ICoreWebView2Environment3_Impl::CreateCoreWebView2PointerInfo(this) {
15714 Ok(ok__) => {
15715 value.write(core::mem::transmute(ok__));
15716 windows_core::HRESULT(0)
15717 }
15718 Err(err) => err.into(),
15719 }
15720 }
15721 }
15722 Self {
15723 base__: ICoreWebView2Environment2_Vtbl::new::<Identity, OFFSET>(),
15724 CreateCoreWebView2CompositionController: CreateCoreWebView2CompositionController::<
15725 Identity,
15726 OFFSET,
15727 >,
15728 CreateCoreWebView2PointerInfo: CreateCoreWebView2PointerInfo::<Identity, OFFSET>,
15729 }
15730 }
15731 pub fn matches(iid: &windows_core::GUID) -> bool {
15732 iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15733 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15734 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15735 }
15736}
15737impl windows_core::RuntimeName for ICoreWebView2Environment3 {}
15738windows_core::imp::define_interface!(
15739 ICoreWebView2Environment4,
15740 ICoreWebView2Environment4_Vtbl,
15741 0x20944379_6dcf_41d6_a0a0_abc0fc50de0d
15742);
15743impl core::ops::Deref for ICoreWebView2Environment4 {
15744 type Target = ICoreWebView2Environment3;
15745 fn deref(&self) -> &Self::Target {
15746 unsafe { core::mem::transmute(self) }
15747 }
15748}
15749windows_core::imp::interface_hierarchy!(
15750 ICoreWebView2Environment4,
15751 windows_core::IUnknown,
15752 ICoreWebView2Environment,
15753 ICoreWebView2Environment2,
15754 ICoreWebView2Environment3
15755);
15756impl ICoreWebView2Environment4 {
15757 pub unsafe fn GetAutomationProviderForWindow(
15758 &self,
15759 hwnd: windows::Win32::Foundation::HWND,
15760 ) -> windows_core::Result<windows_core::IUnknown> {
15761 unsafe {
15762 let mut result__ = core::mem::zeroed();
15763 (windows_core::Interface::vtable(self).GetAutomationProviderForWindow)(
15764 windows_core::Interface::as_raw(self),
15765 hwnd,
15766 &mut result__,
15767 )
15768 .and_then(|| windows_core::Type::from_abi(result__))
15769 }
15770 }
15771}
15772#[repr(C)]
15773#[doc(hidden)]
15774pub struct ICoreWebView2Environment4_Vtbl {
15775 pub base__: ICoreWebView2Environment3_Vtbl,
15776 pub GetAutomationProviderForWindow: unsafe extern "system" fn(
15777 *mut core::ffi::c_void,
15778 windows::Win32::Foundation::HWND,
15779 *mut *mut core::ffi::c_void,
15780 ) -> windows_core::HRESULT,
15781}
15782pub trait ICoreWebView2Environment4_Impl: ICoreWebView2Environment3_Impl {
15783 fn GetAutomationProviderForWindow(
15784 &self,
15785 hwnd: windows::Win32::Foundation::HWND,
15786 ) -> windows_core::Result<windows_core::IUnknown>;
15787}
15788impl ICoreWebView2Environment4_Vtbl {
15789 pub const fn new<Identity: ICoreWebView2Environment4_Impl, const OFFSET: isize>() -> Self {
15790 unsafe extern "system" fn GetAutomationProviderForWindow<
15791 Identity: ICoreWebView2Environment4_Impl,
15792 const OFFSET: isize,
15793 >(
15794 this: *mut core::ffi::c_void,
15795 hwnd: windows::Win32::Foundation::HWND,
15796 value: *mut *mut core::ffi::c_void,
15797 ) -> windows_core::HRESULT {
15798 unsafe {
15799 let this: &Identity =
15800 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15801 match ICoreWebView2Environment4_Impl::GetAutomationProviderForWindow(
15802 this,
15803 core::mem::transmute_copy(&hwnd),
15804 ) {
15805 Ok(ok__) => {
15806 value.write(core::mem::transmute(ok__));
15807 windows_core::HRESULT(0)
15808 }
15809 Err(err) => err.into(),
15810 }
15811 }
15812 }
15813 Self {
15814 base__: ICoreWebView2Environment3_Vtbl::new::<Identity, OFFSET>(),
15815 GetAutomationProviderForWindow: GetAutomationProviderForWindow::<Identity, OFFSET>,
15816 }
15817 }
15818 pub fn matches(iid: &windows_core::GUID) -> bool {
15819 iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15820 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15821 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15822 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15823 }
15824}
15825impl windows_core::RuntimeName for ICoreWebView2Environment4 {}
15826windows_core::imp::define_interface!(
15827 ICoreWebView2Environment5,
15828 ICoreWebView2Environment5_Vtbl,
15829 0x319e423d_e0d7_4b8d_9254_ae9475de9b17
15830);
15831impl core::ops::Deref for ICoreWebView2Environment5 {
15832 type Target = ICoreWebView2Environment4;
15833 fn deref(&self) -> &Self::Target {
15834 unsafe { core::mem::transmute(self) }
15835 }
15836}
15837windows_core::imp::interface_hierarchy!(
15838 ICoreWebView2Environment5,
15839 windows_core::IUnknown,
15840 ICoreWebView2Environment,
15841 ICoreWebView2Environment2,
15842 ICoreWebView2Environment3,
15843 ICoreWebView2Environment4
15844);
15845impl ICoreWebView2Environment5 {
15846 pub unsafe fn add_BrowserProcessExited<P0>(
15847 &self,
15848 eventhandler: P0,
15849 token: *mut i64,
15850 ) -> windows_core::Result<()>
15851 where
15852 P0: windows_core::Param<ICoreWebView2BrowserProcessExitedEventHandler>,
15853 {
15854 unsafe {
15855 (windows_core::Interface::vtable(self).add_BrowserProcessExited)(
15856 windows_core::Interface::as_raw(self),
15857 eventhandler.param().abi(),
15858 token as _,
15859 )
15860 .ok()
15861 }
15862 }
15863 pub unsafe fn remove_BrowserProcessExited(&self, token: i64) -> windows_core::Result<()> {
15864 unsafe {
15865 (windows_core::Interface::vtable(self).remove_BrowserProcessExited)(
15866 windows_core::Interface::as_raw(self),
15867 token,
15868 )
15869 .ok()
15870 }
15871 }
15872}
15873#[repr(C)]
15874#[doc(hidden)]
15875pub struct ICoreWebView2Environment5_Vtbl {
15876 pub base__: ICoreWebView2Environment4_Vtbl,
15877 pub add_BrowserProcessExited: unsafe extern "system" fn(
15878 *mut core::ffi::c_void,
15879 *mut core::ffi::c_void,
15880 *mut i64,
15881 ) -> windows_core::HRESULT,
15882 pub remove_BrowserProcessExited:
15883 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
15884}
15885pub trait ICoreWebView2Environment5_Impl: ICoreWebView2Environment4_Impl {
15886 fn add_BrowserProcessExited(
15887 &self,
15888 eventhandler: windows_core::Ref<ICoreWebView2BrowserProcessExitedEventHandler>,
15889 token: *mut i64,
15890 ) -> windows_core::Result<()>;
15891 fn remove_BrowserProcessExited(&self, token: i64) -> windows_core::Result<()>;
15892}
15893impl ICoreWebView2Environment5_Vtbl {
15894 pub const fn new<Identity: ICoreWebView2Environment5_Impl, const OFFSET: isize>() -> Self {
15895 unsafe extern "system" fn add_BrowserProcessExited<
15896 Identity: ICoreWebView2Environment5_Impl,
15897 const OFFSET: isize,
15898 >(
15899 this: *mut core::ffi::c_void,
15900 eventhandler: *mut core::ffi::c_void,
15901 token: *mut i64,
15902 ) -> windows_core::HRESULT {
15903 unsafe {
15904 let this: &Identity =
15905 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15906 ICoreWebView2Environment5_Impl::add_BrowserProcessExited(
15907 this,
15908 core::mem::transmute_copy(&eventhandler),
15909 core::mem::transmute_copy(&token),
15910 )
15911 .into()
15912 }
15913 }
15914 unsafe extern "system" fn remove_BrowserProcessExited<
15915 Identity: ICoreWebView2Environment5_Impl,
15916 const OFFSET: isize,
15917 >(
15918 this: *mut core::ffi::c_void,
15919 token: i64,
15920 ) -> windows_core::HRESULT {
15921 unsafe {
15922 let this: &Identity =
15923 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15924 ICoreWebView2Environment5_Impl::remove_BrowserProcessExited(
15925 this,
15926 core::mem::transmute_copy(&token),
15927 )
15928 .into()
15929 }
15930 }
15931 Self {
15932 base__: ICoreWebView2Environment4_Vtbl::new::<Identity, OFFSET>(),
15933 add_BrowserProcessExited: add_BrowserProcessExited::<Identity, OFFSET>,
15934 remove_BrowserProcessExited: remove_BrowserProcessExited::<Identity, OFFSET>,
15935 }
15936 }
15937 pub fn matches(iid: &windows_core::GUID) -> bool {
15938 iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15939 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15940 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15941 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15942 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15943 }
15944}
15945impl windows_core::RuntimeName for ICoreWebView2Environment5 {}
15946windows_core::imp::define_interface!(
15947 ICoreWebView2Environment6,
15948 ICoreWebView2Environment6_Vtbl,
15949 0xe59ee362_acbd_4857_9a8e_d3644d9459a9
15950);
15951impl core::ops::Deref for ICoreWebView2Environment6 {
15952 type Target = ICoreWebView2Environment5;
15953 fn deref(&self) -> &Self::Target {
15954 unsafe { core::mem::transmute(self) }
15955 }
15956}
15957windows_core::imp::interface_hierarchy!(
15958 ICoreWebView2Environment6,
15959 windows_core::IUnknown,
15960 ICoreWebView2Environment,
15961 ICoreWebView2Environment2,
15962 ICoreWebView2Environment3,
15963 ICoreWebView2Environment4,
15964 ICoreWebView2Environment5
15965);
15966impl ICoreWebView2Environment6 {
15967 pub unsafe fn CreatePrintSettings(&self) -> windows_core::Result<ICoreWebView2PrintSettings> {
15968 unsafe {
15969 let mut result__ = core::mem::zeroed();
15970 (windows_core::Interface::vtable(self).CreatePrintSettings)(
15971 windows_core::Interface::as_raw(self),
15972 &mut result__,
15973 )
15974 .and_then(|| windows_core::Type::from_abi(result__))
15975 }
15976 }
15977}
15978#[repr(C)]
15979#[doc(hidden)]
15980pub struct ICoreWebView2Environment6_Vtbl {
15981 pub base__: ICoreWebView2Environment5_Vtbl,
15982 pub CreatePrintSettings: unsafe extern "system" fn(
15983 *mut core::ffi::c_void,
15984 *mut *mut core::ffi::c_void,
15985 ) -> windows_core::HRESULT,
15986}
15987pub trait ICoreWebView2Environment6_Impl: ICoreWebView2Environment5_Impl {
15988 fn CreatePrintSettings(&self) -> windows_core::Result<ICoreWebView2PrintSettings>;
15989}
15990impl ICoreWebView2Environment6_Vtbl {
15991 pub const fn new<Identity: ICoreWebView2Environment6_Impl, const OFFSET: isize>() -> Self {
15992 unsafe extern "system" fn CreatePrintSettings<
15993 Identity: ICoreWebView2Environment6_Impl,
15994 const OFFSET: isize,
15995 >(
15996 this: *mut core::ffi::c_void,
15997 value: *mut *mut core::ffi::c_void,
15998 ) -> windows_core::HRESULT {
15999 unsafe {
16000 let this: &Identity =
16001 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16002 match ICoreWebView2Environment6_Impl::CreatePrintSettings(this) {
16003 Ok(ok__) => {
16004 value.write(core::mem::transmute(ok__));
16005 windows_core::HRESULT(0)
16006 }
16007 Err(err) => err.into(),
16008 }
16009 }
16010 }
16011 Self {
16012 base__: ICoreWebView2Environment5_Vtbl::new::<Identity, OFFSET>(),
16013 CreatePrintSettings: CreatePrintSettings::<Identity, OFFSET>,
16014 }
16015 }
16016 pub fn matches(iid: &windows_core::GUID) -> bool {
16017 iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
16018 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
16019 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
16020 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
16021 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
16022 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
16023 }
16024}
16025impl windows_core::RuntimeName for ICoreWebView2Environment6 {}
16026windows_core::imp::define_interface!(
16027 ICoreWebView2Environment7,
16028 ICoreWebView2Environment7_Vtbl,
16029 0x43c22296_3bbd_43a4_9c00_5c0df6dd29a2
16030);
16031impl core::ops::Deref for ICoreWebView2Environment7 {
16032 type Target = ICoreWebView2Environment6;
16033 fn deref(&self) -> &Self::Target {
16034 unsafe { core::mem::transmute(self) }
16035 }
16036}
16037windows_core::imp::interface_hierarchy!(
16038 ICoreWebView2Environment7,
16039 windows_core::IUnknown,
16040 ICoreWebView2Environment,
16041 ICoreWebView2Environment2,
16042 ICoreWebView2Environment3,
16043 ICoreWebView2Environment4,
16044 ICoreWebView2Environment5,
16045 ICoreWebView2Environment6
16046);
16047impl ICoreWebView2Environment7 {
16048 pub unsafe fn UserDataFolder(
16049 &self,
16050 value: *mut windows_core::PWSTR,
16051 ) -> windows_core::Result<()> {
16052 unsafe {
16053 (windows_core::Interface::vtable(self).UserDataFolder)(
16054 windows_core::Interface::as_raw(self),
16055 value as _,
16056 )
16057 .ok()
16058 }
16059 }
16060}
16061#[repr(C)]
16062#[doc(hidden)]
16063pub struct ICoreWebView2Environment7_Vtbl {
16064 pub base__: ICoreWebView2Environment6_Vtbl,
16065 pub UserDataFolder: unsafe extern "system" fn(
16066 *mut core::ffi::c_void,
16067 *mut windows_core::PWSTR,
16068 ) -> windows_core::HRESULT,
16069}
16070pub trait ICoreWebView2Environment7_Impl: ICoreWebView2Environment6_Impl {
16071 fn UserDataFolder(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
16072}
16073impl ICoreWebView2Environment7_Vtbl {
16074 pub const fn new<Identity: ICoreWebView2Environment7_Impl, const OFFSET: isize>() -> Self {
16075 unsafe extern "system" fn UserDataFolder<
16076 Identity: ICoreWebView2Environment7_Impl,
16077 const OFFSET: isize,
16078 >(
16079 this: *mut core::ffi::c_void,
16080 value: *mut windows_core::PWSTR,
16081 ) -> windows_core::HRESULT {
16082 unsafe {
16083 let this: &Identity =
16084 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16085 ICoreWebView2Environment7_Impl::UserDataFolder(
16086 this,
16087 core::mem::transmute_copy(&value),
16088 )
16089 .into()
16090 }
16091 }
16092 Self {
16093 base__: ICoreWebView2Environment6_Vtbl::new::<Identity, OFFSET>(),
16094 UserDataFolder: UserDataFolder::<Identity, OFFSET>,
16095 }
16096 }
16097 pub fn matches(iid: &windows_core::GUID) -> bool {
16098 iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
16099 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
16100 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
16101 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
16102 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
16103 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
16104 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
16105 }
16106}
16107impl windows_core::RuntimeName for ICoreWebView2Environment7 {}
16108windows_core::imp::define_interface!(
16109 ICoreWebView2Environment8,
16110 ICoreWebView2Environment8_Vtbl,
16111 0xd6eb91dd_c3d2_45e5_bd29_6dc2bc4de9cf
16112);
16113impl core::ops::Deref for ICoreWebView2Environment8 {
16114 type Target = ICoreWebView2Environment7;
16115 fn deref(&self) -> &Self::Target {
16116 unsafe { core::mem::transmute(self) }
16117 }
16118}
16119windows_core::imp::interface_hierarchy!(
16120 ICoreWebView2Environment8,
16121 windows_core::IUnknown,
16122 ICoreWebView2Environment,
16123 ICoreWebView2Environment2,
16124 ICoreWebView2Environment3,
16125 ICoreWebView2Environment4,
16126 ICoreWebView2Environment5,
16127 ICoreWebView2Environment6,
16128 ICoreWebView2Environment7
16129);
16130impl ICoreWebView2Environment8 {
16131 pub unsafe fn add_ProcessInfosChanged<P0>(
16132 &self,
16133 eventhandler: P0,
16134 token: *mut i64,
16135 ) -> windows_core::Result<()>
16136 where
16137 P0: windows_core::Param<ICoreWebView2ProcessInfosChangedEventHandler>,
16138 {
16139 unsafe {
16140 (windows_core::Interface::vtable(self).add_ProcessInfosChanged)(
16141 windows_core::Interface::as_raw(self),
16142 eventhandler.param().abi(),
16143 token as _,
16144 )
16145 .ok()
16146 }
16147 }
16148 pub unsafe fn remove_ProcessInfosChanged(&self, token: i64) -> windows_core::Result<()> {
16149 unsafe {
16150 (windows_core::Interface::vtable(self).remove_ProcessInfosChanged)(
16151 windows_core::Interface::as_raw(self),
16152 token,
16153 )
16154 .ok()
16155 }
16156 }
16157 pub unsafe fn GetProcessInfos(
16158 &self,
16159 ) -> windows_core::Result<ICoreWebView2ProcessInfoCollection> {
16160 unsafe {
16161 let mut result__ = core::mem::zeroed();
16162 (windows_core::Interface::vtable(self).GetProcessInfos)(
16163 windows_core::Interface::as_raw(self),
16164 &mut result__,
16165 )
16166 .and_then(|| windows_core::Type::from_abi(result__))
16167 }
16168 }
16169}
16170#[repr(C)]
16171#[doc(hidden)]
16172pub struct ICoreWebView2Environment8_Vtbl {
16173 pub base__: ICoreWebView2Environment7_Vtbl,
16174 pub add_ProcessInfosChanged: unsafe extern "system" fn(
16175 *mut core::ffi::c_void,
16176 *mut core::ffi::c_void,
16177 *mut i64,
16178 ) -> windows_core::HRESULT,
16179 pub remove_ProcessInfosChanged:
16180 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
16181 pub GetProcessInfos: unsafe extern "system" fn(
16182 *mut core::ffi::c_void,
16183 *mut *mut core::ffi::c_void,
16184 ) -> windows_core::HRESULT,
16185}
16186pub trait ICoreWebView2Environment8_Impl: ICoreWebView2Environment7_Impl {
16187 fn add_ProcessInfosChanged(
16188 &self,
16189 eventhandler: windows_core::Ref<ICoreWebView2ProcessInfosChangedEventHandler>,
16190 token: *mut i64,
16191 ) -> windows_core::Result<()>;
16192 fn remove_ProcessInfosChanged(&self, token: i64) -> windows_core::Result<()>;
16193 fn GetProcessInfos(&self) -> windows_core::Result<ICoreWebView2ProcessInfoCollection>;
16194}
16195impl ICoreWebView2Environment8_Vtbl {
16196 pub const fn new<Identity: ICoreWebView2Environment8_Impl, const OFFSET: isize>() -> Self {
16197 unsafe extern "system" fn add_ProcessInfosChanged<
16198 Identity: ICoreWebView2Environment8_Impl,
16199 const OFFSET: isize,
16200 >(
16201 this: *mut core::ffi::c_void,
16202 eventhandler: *mut core::ffi::c_void,
16203 token: *mut i64,
16204 ) -> windows_core::HRESULT {
16205 unsafe {
16206 let this: &Identity =
16207 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16208 ICoreWebView2Environment8_Impl::add_ProcessInfosChanged(
16209 this,
16210 core::mem::transmute_copy(&eventhandler),
16211 core::mem::transmute_copy(&token),
16212 )
16213 .into()
16214 }
16215 }
16216 unsafe extern "system" fn remove_ProcessInfosChanged<
16217 Identity: ICoreWebView2Environment8_Impl,
16218 const OFFSET: isize,
16219 >(
16220 this: *mut core::ffi::c_void,
16221 token: i64,
16222 ) -> windows_core::HRESULT {
16223 unsafe {
16224 let this: &Identity =
16225 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16226 ICoreWebView2Environment8_Impl::remove_ProcessInfosChanged(
16227 this,
16228 core::mem::transmute_copy(&token),
16229 )
16230 .into()
16231 }
16232 }
16233 unsafe extern "system" fn GetProcessInfos<
16234 Identity: ICoreWebView2Environment8_Impl,
16235 const OFFSET: isize,
16236 >(
16237 this: *mut core::ffi::c_void,
16238 value: *mut *mut core::ffi::c_void,
16239 ) -> windows_core::HRESULT {
16240 unsafe {
16241 let this: &Identity =
16242 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16243 match ICoreWebView2Environment8_Impl::GetProcessInfos(this) {
16244 Ok(ok__) => {
16245 value.write(core::mem::transmute(ok__));
16246 windows_core::HRESULT(0)
16247 }
16248 Err(err) => err.into(),
16249 }
16250 }
16251 }
16252 Self {
16253 base__: ICoreWebView2Environment7_Vtbl::new::<Identity, OFFSET>(),
16254 add_ProcessInfosChanged: add_ProcessInfosChanged::<Identity, OFFSET>,
16255 remove_ProcessInfosChanged: remove_ProcessInfosChanged::<Identity, OFFSET>,
16256 GetProcessInfos: GetProcessInfos::<Identity, OFFSET>,
16257 }
16258 }
16259 pub fn matches(iid: &windows_core::GUID) -> bool {
16260 iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
16261 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
16262 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
16263 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
16264 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
16265 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
16266 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
16267 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
16268 }
16269}
16270impl windows_core::RuntimeName for ICoreWebView2Environment8 {}
16271windows_core::imp::define_interface!(
16272 ICoreWebView2Environment9,
16273 ICoreWebView2Environment9_Vtbl,
16274 0xf06f41bf_4b5a_49d8_b9f6_fa16cd29f274
16275);
16276impl core::ops::Deref for ICoreWebView2Environment9 {
16277 type Target = ICoreWebView2Environment8;
16278 fn deref(&self) -> &Self::Target {
16279 unsafe { core::mem::transmute(self) }
16280 }
16281}
16282windows_core::imp::interface_hierarchy!(
16283 ICoreWebView2Environment9,
16284 windows_core::IUnknown,
16285 ICoreWebView2Environment,
16286 ICoreWebView2Environment2,
16287 ICoreWebView2Environment3,
16288 ICoreWebView2Environment4,
16289 ICoreWebView2Environment5,
16290 ICoreWebView2Environment6,
16291 ICoreWebView2Environment7,
16292 ICoreWebView2Environment8
16293);
16294impl ICoreWebView2Environment9 {
16295 pub unsafe fn CreateContextMenuItem<P0, P1>(
16296 &self,
16297 label: P0,
16298 iconstream: P1,
16299 kind: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
16300 ) -> windows_core::Result<ICoreWebView2ContextMenuItem>
16301 where
16302 P0: windows_core::Param<windows_core::PCWSTR>,
16303 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
16304 {
16305 unsafe {
16306 let mut result__ = core::mem::zeroed();
16307 (windows_core::Interface::vtable(self).CreateContextMenuItem)(
16308 windows_core::Interface::as_raw(self),
16309 label.param().abi(),
16310 iconstream.param().abi(),
16311 kind,
16312 &mut result__,
16313 )
16314 .and_then(|| windows_core::Type::from_abi(result__))
16315 }
16316 }
16317}
16318#[repr(C)]
16319#[doc(hidden)]
16320pub struct ICoreWebView2Environment9_Vtbl {
16321 pub base__: ICoreWebView2Environment8_Vtbl,
16322 pub CreateContextMenuItem: unsafe extern "system" fn(
16323 *mut core::ffi::c_void,
16324 windows_core::PCWSTR,
16325 *mut core::ffi::c_void,
16326 COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
16327 *mut *mut core::ffi::c_void,
16328 ) -> windows_core::HRESULT,
16329}
16330pub trait ICoreWebView2Environment9_Impl: ICoreWebView2Environment8_Impl {
16331 fn CreateContextMenuItem(
16332 &self,
16333 label: &windows_core::PCWSTR,
16334 iconstream: windows_core::Ref<windows::Win32::System::Com::IStream>,
16335 kind: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
16336 ) -> windows_core::Result<ICoreWebView2ContextMenuItem>;
16337}
16338impl ICoreWebView2Environment9_Vtbl {
16339 pub const fn new<Identity: ICoreWebView2Environment9_Impl, const OFFSET: isize>() -> Self {
16340 unsafe extern "system" fn CreateContextMenuItem<
16341 Identity: ICoreWebView2Environment9_Impl,
16342 const OFFSET: isize,
16343 >(
16344 this: *mut core::ffi::c_void,
16345 label: windows_core::PCWSTR,
16346 iconstream: *mut core::ffi::c_void,
16347 kind: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
16348 value: *mut *mut core::ffi::c_void,
16349 ) -> windows_core::HRESULT {
16350 unsafe {
16351 let this: &Identity =
16352 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16353 match ICoreWebView2Environment9_Impl::CreateContextMenuItem(
16354 this,
16355 core::mem::transmute(&label),
16356 core::mem::transmute_copy(&iconstream),
16357 core::mem::transmute_copy(&kind),
16358 ) {
16359 Ok(ok__) => {
16360 value.write(core::mem::transmute(ok__));
16361 windows_core::HRESULT(0)
16362 }
16363 Err(err) => err.into(),
16364 }
16365 }
16366 }
16367 Self {
16368 base__: ICoreWebView2Environment8_Vtbl::new::<Identity, OFFSET>(),
16369 CreateContextMenuItem: CreateContextMenuItem::<Identity, OFFSET>,
16370 }
16371 }
16372 pub fn matches(iid: &windows_core::GUID) -> bool {
16373 iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
16374 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
16375 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
16376 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
16377 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
16378 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
16379 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
16380 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
16381 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
16382 }
16383}
16384impl windows_core::RuntimeName for ICoreWebView2Environment9 {}
16385windows_core::imp::define_interface!(
16386 ICoreWebView2EnvironmentOptions,
16387 ICoreWebView2EnvironmentOptions_Vtbl,
16388 0x2fde08a8_1e9a_4766_8c05_95a9ceb9d1c5
16389);
16390windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions, windows_core::IUnknown);
16391impl ICoreWebView2EnvironmentOptions {
16392 pub unsafe fn AdditionalBrowserArguments(
16393 &self,
16394 value: *mut windows_core::PWSTR,
16395 ) -> windows_core::Result<()> {
16396 unsafe {
16397 (windows_core::Interface::vtable(self).AdditionalBrowserArguments)(
16398 windows_core::Interface::as_raw(self),
16399 value as _,
16400 )
16401 .ok()
16402 }
16403 }
16404 pub unsafe fn SetAdditionalBrowserArguments<P0>(&self, value: P0) -> windows_core::Result<()>
16405 where
16406 P0: windows_core::Param<windows_core::PCWSTR>,
16407 {
16408 unsafe {
16409 (windows_core::Interface::vtable(self).SetAdditionalBrowserArguments)(
16410 windows_core::Interface::as_raw(self),
16411 value.param().abi(),
16412 )
16413 .ok()
16414 }
16415 }
16416 pub unsafe fn Language(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
16417 unsafe {
16418 (windows_core::Interface::vtable(self).Language)(
16419 windows_core::Interface::as_raw(self),
16420 value as _,
16421 )
16422 .ok()
16423 }
16424 }
16425 pub unsafe fn SetLanguage<P0>(&self, value: P0) -> windows_core::Result<()>
16426 where
16427 P0: windows_core::Param<windows_core::PCWSTR>,
16428 {
16429 unsafe {
16430 (windows_core::Interface::vtable(self).SetLanguage)(
16431 windows_core::Interface::as_raw(self),
16432 value.param().abi(),
16433 )
16434 .ok()
16435 }
16436 }
16437 pub unsafe fn TargetCompatibleBrowserVersion(
16438 &self,
16439 value: *mut windows_core::PWSTR,
16440 ) -> windows_core::Result<()> {
16441 unsafe {
16442 (windows_core::Interface::vtable(self).TargetCompatibleBrowserVersion)(
16443 windows_core::Interface::as_raw(self),
16444 value as _,
16445 )
16446 .ok()
16447 }
16448 }
16449 pub unsafe fn SetTargetCompatibleBrowserVersion<P0>(
16450 &self,
16451 value: P0,
16452 ) -> windows_core::Result<()>
16453 where
16454 P0: windows_core::Param<windows_core::PCWSTR>,
16455 {
16456 unsafe {
16457 (windows_core::Interface::vtable(self).SetTargetCompatibleBrowserVersion)(
16458 windows_core::Interface::as_raw(self),
16459 value.param().abi(),
16460 )
16461 .ok()
16462 }
16463 }
16464 pub unsafe fn AllowSingleSignOnUsingOSPrimaryAccount(
16465 &self,
16466 allow: *mut windows_core::BOOL,
16467 ) -> windows_core::Result<()> {
16468 unsafe {
16469 (windows_core::Interface::vtable(self).AllowSingleSignOnUsingOSPrimaryAccount)(
16470 windows_core::Interface::as_raw(self),
16471 allow as _,
16472 )
16473 .ok()
16474 }
16475 }
16476 pub unsafe fn SetAllowSingleSignOnUsingOSPrimaryAccount(
16477 &self,
16478 allow: bool,
16479 ) -> windows_core::Result<()> {
16480 unsafe {
16481 (windows_core::Interface::vtable(self).SetAllowSingleSignOnUsingOSPrimaryAccount)(
16482 windows_core::Interface::as_raw(self),
16483 allow.into(),
16484 )
16485 .ok()
16486 }
16487 }
16488}
16489#[repr(C)]
16490#[doc(hidden)]
16491pub struct ICoreWebView2EnvironmentOptions_Vtbl {
16492 pub base__: windows_core::IUnknown_Vtbl,
16493 pub AdditionalBrowserArguments: unsafe extern "system" fn(
16494 *mut core::ffi::c_void,
16495 *mut windows_core::PWSTR,
16496 ) -> windows_core::HRESULT,
16497 pub SetAdditionalBrowserArguments: unsafe extern "system" fn(
16498 *mut core::ffi::c_void,
16499 windows_core::PCWSTR,
16500 ) -> windows_core::HRESULT,
16501 pub Language: unsafe extern "system" fn(
16502 *mut core::ffi::c_void,
16503 *mut windows_core::PWSTR,
16504 ) -> windows_core::HRESULT,
16505 pub SetLanguage: unsafe extern "system" fn(
16506 *mut core::ffi::c_void,
16507 windows_core::PCWSTR,
16508 ) -> windows_core::HRESULT,
16509 pub TargetCompatibleBrowserVersion: unsafe extern "system" fn(
16510 *mut core::ffi::c_void,
16511 *mut windows_core::PWSTR,
16512 ) -> windows_core::HRESULT,
16513 pub SetTargetCompatibleBrowserVersion: unsafe extern "system" fn(
16514 *mut core::ffi::c_void,
16515 windows_core::PCWSTR,
16516 ) -> windows_core::HRESULT,
16517 pub AllowSingleSignOnUsingOSPrimaryAccount: unsafe extern "system" fn(
16518 *mut core::ffi::c_void,
16519 *mut windows_core::BOOL,
16520 )
16521 -> windows_core::HRESULT,
16522 pub SetAllowSingleSignOnUsingOSPrimaryAccount:
16523 unsafe extern "system" fn(
16524 *mut core::ffi::c_void,
16525 windows_core::BOOL,
16526 ) -> windows_core::HRESULT,
16527}
16528pub trait ICoreWebView2EnvironmentOptions_Impl: windows_core::IUnknownImpl {
16529 fn AdditionalBrowserArguments(
16530 &self,
16531 value: *mut windows_core::PWSTR,
16532 ) -> windows_core::Result<()>;
16533 fn SetAdditionalBrowserArguments(
16534 &self,
16535 value: &windows_core::PCWSTR,
16536 ) -> windows_core::Result<()>;
16537 fn Language(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
16538 fn SetLanguage(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
16539 fn TargetCompatibleBrowserVersion(
16540 &self,
16541 value: *mut windows_core::PWSTR,
16542 ) -> windows_core::Result<()>;
16543 fn SetTargetCompatibleBrowserVersion(
16544 &self,
16545 value: &windows_core::PCWSTR,
16546 ) -> windows_core::Result<()>;
16547 fn AllowSingleSignOnUsingOSPrimaryAccount(
16548 &self,
16549 allow: *mut windows_core::BOOL,
16550 ) -> windows_core::Result<()>;
16551 fn SetAllowSingleSignOnUsingOSPrimaryAccount(
16552 &self,
16553 allow: windows_core::BOOL,
16554 ) -> windows_core::Result<()>;
16555}
16556impl ICoreWebView2EnvironmentOptions_Vtbl {
16557 pub const fn new<Identity: ICoreWebView2EnvironmentOptions_Impl, const OFFSET: isize>() -> Self
16558 {
16559 unsafe extern "system" fn AdditionalBrowserArguments<
16560 Identity: ICoreWebView2EnvironmentOptions_Impl,
16561 const OFFSET: isize,
16562 >(
16563 this: *mut core::ffi::c_void,
16564 value: *mut windows_core::PWSTR,
16565 ) -> windows_core::HRESULT {
16566 unsafe {
16567 let this: &Identity =
16568 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16569 ICoreWebView2EnvironmentOptions_Impl::AdditionalBrowserArguments(
16570 this,
16571 core::mem::transmute_copy(&value),
16572 )
16573 .into()
16574 }
16575 }
16576 unsafe extern "system" fn SetAdditionalBrowserArguments<
16577 Identity: ICoreWebView2EnvironmentOptions_Impl,
16578 const OFFSET: isize,
16579 >(
16580 this: *mut core::ffi::c_void,
16581 value: windows_core::PCWSTR,
16582 ) -> windows_core::HRESULT {
16583 unsafe {
16584 let this: &Identity =
16585 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16586 ICoreWebView2EnvironmentOptions_Impl::SetAdditionalBrowserArguments(
16587 this,
16588 core::mem::transmute(&value),
16589 )
16590 .into()
16591 }
16592 }
16593 unsafe extern "system" fn Language<
16594 Identity: ICoreWebView2EnvironmentOptions_Impl,
16595 const OFFSET: isize,
16596 >(
16597 this: *mut core::ffi::c_void,
16598 value: *mut windows_core::PWSTR,
16599 ) -> windows_core::HRESULT {
16600 unsafe {
16601 let this: &Identity =
16602 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16603 ICoreWebView2EnvironmentOptions_Impl::Language(
16604 this,
16605 core::mem::transmute_copy(&value),
16606 )
16607 .into()
16608 }
16609 }
16610 unsafe extern "system" fn SetLanguage<
16611 Identity: ICoreWebView2EnvironmentOptions_Impl,
16612 const OFFSET: isize,
16613 >(
16614 this: *mut core::ffi::c_void,
16615 value: windows_core::PCWSTR,
16616 ) -> windows_core::HRESULT {
16617 unsafe {
16618 let this: &Identity =
16619 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16620 ICoreWebView2EnvironmentOptions_Impl::SetLanguage(
16621 this,
16622 core::mem::transmute(&value),
16623 )
16624 .into()
16625 }
16626 }
16627 unsafe extern "system" fn TargetCompatibleBrowserVersion<
16628 Identity: ICoreWebView2EnvironmentOptions_Impl,
16629 const OFFSET: isize,
16630 >(
16631 this: *mut core::ffi::c_void,
16632 value: *mut windows_core::PWSTR,
16633 ) -> windows_core::HRESULT {
16634 unsafe {
16635 let this: &Identity =
16636 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16637 ICoreWebView2EnvironmentOptions_Impl::TargetCompatibleBrowserVersion(
16638 this,
16639 core::mem::transmute_copy(&value),
16640 )
16641 .into()
16642 }
16643 }
16644 unsafe extern "system" fn SetTargetCompatibleBrowserVersion<
16645 Identity: ICoreWebView2EnvironmentOptions_Impl,
16646 const OFFSET: isize,
16647 >(
16648 this: *mut core::ffi::c_void,
16649 value: windows_core::PCWSTR,
16650 ) -> windows_core::HRESULT {
16651 unsafe {
16652 let this: &Identity =
16653 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16654 ICoreWebView2EnvironmentOptions_Impl::SetTargetCompatibleBrowserVersion(
16655 this,
16656 core::mem::transmute(&value),
16657 )
16658 .into()
16659 }
16660 }
16661 unsafe extern "system" fn AllowSingleSignOnUsingOSPrimaryAccount<
16662 Identity: ICoreWebView2EnvironmentOptions_Impl,
16663 const OFFSET: isize,
16664 >(
16665 this: *mut core::ffi::c_void,
16666 allow: *mut windows_core::BOOL,
16667 ) -> windows_core::HRESULT {
16668 unsafe {
16669 let this: &Identity =
16670 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16671 ICoreWebView2EnvironmentOptions_Impl::AllowSingleSignOnUsingOSPrimaryAccount(
16672 this,
16673 core::mem::transmute_copy(&allow),
16674 )
16675 .into()
16676 }
16677 }
16678 unsafe extern "system" fn SetAllowSingleSignOnUsingOSPrimaryAccount<
16679 Identity: ICoreWebView2EnvironmentOptions_Impl,
16680 const OFFSET: isize,
16681 >(
16682 this: *mut core::ffi::c_void,
16683 allow: windows_core::BOOL,
16684 ) -> windows_core::HRESULT {
16685 unsafe {
16686 let this: &Identity =
16687 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16688 ICoreWebView2EnvironmentOptions_Impl::SetAllowSingleSignOnUsingOSPrimaryAccount(
16689 this,
16690 core::mem::transmute_copy(&allow),
16691 )
16692 .into()
16693 }
16694 }
16695 Self {
16696 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16697 AdditionalBrowserArguments: AdditionalBrowserArguments::<Identity, OFFSET>,
16698 SetAdditionalBrowserArguments: SetAdditionalBrowserArguments::<Identity, OFFSET>,
16699 Language: Language::<Identity, OFFSET>,
16700 SetLanguage: SetLanguage::<Identity, OFFSET>,
16701 TargetCompatibleBrowserVersion: TargetCompatibleBrowserVersion::<Identity, OFFSET>,
16702 SetTargetCompatibleBrowserVersion: SetTargetCompatibleBrowserVersion::<Identity, OFFSET>,
16703 AllowSingleSignOnUsingOSPrimaryAccount: AllowSingleSignOnUsingOSPrimaryAccount::<
16704 Identity,
16705 OFFSET,
16706 >,
16707 SetAllowSingleSignOnUsingOSPrimaryAccount: SetAllowSingleSignOnUsingOSPrimaryAccount::<
16708 Identity,
16709 OFFSET,
16710 >,
16711 }
16712 }
16713 pub fn matches(iid: &windows_core::GUID) -> bool {
16714 iid == &<ICoreWebView2EnvironmentOptions as windows_core::Interface>::IID
16715 }
16716}
16717impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions {}
16718windows_core::imp::define_interface!(
16719 ICoreWebView2EnvironmentOptions2,
16720 ICoreWebView2EnvironmentOptions2_Vtbl,
16721 0xff85c98a_1ba7_4a6b_90c8_2b752c89e9e2
16722);
16723windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions2, windows_core::IUnknown);
16724impl ICoreWebView2EnvironmentOptions2 {
16725 pub unsafe fn ExclusiveUserDataFolderAccess(
16726 &self,
16727 value: *mut windows_core::BOOL,
16728 ) -> windows_core::Result<()> {
16729 unsafe {
16730 (windows_core::Interface::vtable(self).ExclusiveUserDataFolderAccess)(
16731 windows_core::Interface::as_raw(self),
16732 value as _,
16733 )
16734 .ok()
16735 }
16736 }
16737 pub unsafe fn SetExclusiveUserDataFolderAccess(&self, value: bool) -> windows_core::Result<()> {
16738 unsafe {
16739 (windows_core::Interface::vtable(self).SetExclusiveUserDataFolderAccess)(
16740 windows_core::Interface::as_raw(self),
16741 value.into(),
16742 )
16743 .ok()
16744 }
16745 }
16746}
16747#[repr(C)]
16748#[doc(hidden)]
16749pub struct ICoreWebView2EnvironmentOptions2_Vtbl {
16750 pub base__: windows_core::IUnknown_Vtbl,
16751 pub ExclusiveUserDataFolderAccess: unsafe extern "system" fn(
16752 *mut core::ffi::c_void,
16753 *mut windows_core::BOOL,
16754 ) -> windows_core::HRESULT,
16755 pub SetExclusiveUserDataFolderAccess: unsafe extern "system" fn(
16756 *mut core::ffi::c_void,
16757 windows_core::BOOL,
16758 ) -> windows_core::HRESULT,
16759}
16760pub trait ICoreWebView2EnvironmentOptions2_Impl: windows_core::IUnknownImpl {
16761 fn ExclusiveUserDataFolderAccess(
16762 &self,
16763 value: *mut windows_core::BOOL,
16764 ) -> windows_core::Result<()>;
16765 fn SetExclusiveUserDataFolderAccess(
16766 &self,
16767 value: windows_core::BOOL,
16768 ) -> windows_core::Result<()>;
16769}
16770impl ICoreWebView2EnvironmentOptions2_Vtbl {
16771 pub const fn new<Identity: ICoreWebView2EnvironmentOptions2_Impl, const OFFSET: isize>() -> Self
16772 {
16773 unsafe extern "system" fn ExclusiveUserDataFolderAccess<
16774 Identity: ICoreWebView2EnvironmentOptions2_Impl,
16775 const OFFSET: isize,
16776 >(
16777 this: *mut core::ffi::c_void,
16778 value: *mut windows_core::BOOL,
16779 ) -> windows_core::HRESULT {
16780 unsafe {
16781 let this: &Identity =
16782 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16783 ICoreWebView2EnvironmentOptions2_Impl::ExclusiveUserDataFolderAccess(
16784 this,
16785 core::mem::transmute_copy(&value),
16786 )
16787 .into()
16788 }
16789 }
16790 unsafe extern "system" fn SetExclusiveUserDataFolderAccess<
16791 Identity: ICoreWebView2EnvironmentOptions2_Impl,
16792 const OFFSET: isize,
16793 >(
16794 this: *mut core::ffi::c_void,
16795 value: windows_core::BOOL,
16796 ) -> windows_core::HRESULT {
16797 unsafe {
16798 let this: &Identity =
16799 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16800 ICoreWebView2EnvironmentOptions2_Impl::SetExclusiveUserDataFolderAccess(
16801 this,
16802 core::mem::transmute_copy(&value),
16803 )
16804 .into()
16805 }
16806 }
16807 Self {
16808 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16809 ExclusiveUserDataFolderAccess: ExclusiveUserDataFolderAccess::<Identity, OFFSET>,
16810 SetExclusiveUserDataFolderAccess: SetExclusiveUserDataFolderAccess::<Identity, OFFSET>,
16811 }
16812 }
16813 pub fn matches(iid: &windows_core::GUID) -> bool {
16814 iid == &<ICoreWebView2EnvironmentOptions2 as windows_core::Interface>::IID
16815 }
16816}
16817impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions2 {}
16818windows_core::imp::define_interface!(
16819 ICoreWebView2EnvironmentOptions3,
16820 ICoreWebView2EnvironmentOptions3_Vtbl,
16821 0x4a5c436e_a9e3_4a2e_89c3_910d3513f5cc
16822);
16823windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions3, windows_core::IUnknown);
16824impl ICoreWebView2EnvironmentOptions3 {
16825 pub unsafe fn IsCustomCrashReportingEnabled(
16826 &self,
16827 value: *mut windows_core::BOOL,
16828 ) -> windows_core::Result<()> {
16829 unsafe {
16830 (windows_core::Interface::vtable(self).IsCustomCrashReportingEnabled)(
16831 windows_core::Interface::as_raw(self),
16832 value as _,
16833 )
16834 .ok()
16835 }
16836 }
16837 pub unsafe fn SetIsCustomCrashReportingEnabled(&self, value: bool) -> windows_core::Result<()> {
16838 unsafe {
16839 (windows_core::Interface::vtable(self).SetIsCustomCrashReportingEnabled)(
16840 windows_core::Interface::as_raw(self),
16841 value.into(),
16842 )
16843 .ok()
16844 }
16845 }
16846}
16847#[repr(C)]
16848#[doc(hidden)]
16849pub struct ICoreWebView2EnvironmentOptions3_Vtbl {
16850 pub base__: windows_core::IUnknown_Vtbl,
16851 pub IsCustomCrashReportingEnabled: unsafe extern "system" fn(
16852 *mut core::ffi::c_void,
16853 *mut windows_core::BOOL,
16854 ) -> windows_core::HRESULT,
16855 pub SetIsCustomCrashReportingEnabled: unsafe extern "system" fn(
16856 *mut core::ffi::c_void,
16857 windows_core::BOOL,
16858 ) -> windows_core::HRESULT,
16859}
16860pub trait ICoreWebView2EnvironmentOptions3_Impl: windows_core::IUnknownImpl {
16861 fn IsCustomCrashReportingEnabled(
16862 &self,
16863 value: *mut windows_core::BOOL,
16864 ) -> windows_core::Result<()>;
16865 fn SetIsCustomCrashReportingEnabled(
16866 &self,
16867 value: windows_core::BOOL,
16868 ) -> windows_core::Result<()>;
16869}
16870impl ICoreWebView2EnvironmentOptions3_Vtbl {
16871 pub const fn new<Identity: ICoreWebView2EnvironmentOptions3_Impl, const OFFSET: isize>() -> Self
16872 {
16873 unsafe extern "system" fn IsCustomCrashReportingEnabled<
16874 Identity: ICoreWebView2EnvironmentOptions3_Impl,
16875 const OFFSET: isize,
16876 >(
16877 this: *mut core::ffi::c_void,
16878 value: *mut windows_core::BOOL,
16879 ) -> windows_core::HRESULT {
16880 unsafe {
16881 let this: &Identity =
16882 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16883 ICoreWebView2EnvironmentOptions3_Impl::IsCustomCrashReportingEnabled(
16884 this,
16885 core::mem::transmute_copy(&value),
16886 )
16887 .into()
16888 }
16889 }
16890 unsafe extern "system" fn SetIsCustomCrashReportingEnabled<
16891 Identity: ICoreWebView2EnvironmentOptions3_Impl,
16892 const OFFSET: isize,
16893 >(
16894 this: *mut core::ffi::c_void,
16895 value: windows_core::BOOL,
16896 ) -> windows_core::HRESULT {
16897 unsafe {
16898 let this: &Identity =
16899 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16900 ICoreWebView2EnvironmentOptions3_Impl::SetIsCustomCrashReportingEnabled(
16901 this,
16902 core::mem::transmute_copy(&value),
16903 )
16904 .into()
16905 }
16906 }
16907 Self {
16908 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16909 IsCustomCrashReportingEnabled: IsCustomCrashReportingEnabled::<Identity, OFFSET>,
16910 SetIsCustomCrashReportingEnabled: SetIsCustomCrashReportingEnabled::<Identity, OFFSET>,
16911 }
16912 }
16913 pub fn matches(iid: &windows_core::GUID) -> bool {
16914 iid == &<ICoreWebView2EnvironmentOptions3 as windows_core::Interface>::IID
16915 }
16916}
16917impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions3 {}
16918windows_core::imp::define_interface!(
16919 ICoreWebView2EnvironmentOptions4,
16920 ICoreWebView2EnvironmentOptions4_Vtbl,
16921 0xac52d13f_0d38_475a_9dca_876580d6793e
16922);
16923windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions4, windows_core::IUnknown);
16924impl ICoreWebView2EnvironmentOptions4 {
16925 pub unsafe fn GetCustomSchemeRegistrations(
16926 &self,
16927 count: *mut u32,
16928 schemeregistrations: *mut *mut Option<ICoreWebView2CustomSchemeRegistration>,
16929 ) -> windows_core::Result<()> {
16930 unsafe {
16931 (windows_core::Interface::vtable(self).GetCustomSchemeRegistrations)(
16932 windows_core::Interface::as_raw(self),
16933 count as _,
16934 schemeregistrations as _,
16935 )
16936 .ok()
16937 }
16938 }
16939 pub unsafe fn SetCustomSchemeRegistrations(
16940 &self,
16941 count: u32,
16942 ) -> windows_core::Result<ICoreWebView2CustomSchemeRegistration> {
16943 unsafe {
16944 let mut result__ = core::mem::zeroed();
16945 (windows_core::Interface::vtable(self).SetCustomSchemeRegistrations)(
16946 windows_core::Interface::as_raw(self),
16947 count,
16948 &mut result__,
16949 )
16950 .and_then(|| windows_core::Type::from_abi(result__))
16951 }
16952 }
16953}
16954#[repr(C)]
16955#[doc(hidden)]
16956pub struct ICoreWebView2EnvironmentOptions4_Vtbl {
16957 pub base__: windows_core::IUnknown_Vtbl,
16958 pub GetCustomSchemeRegistrations: unsafe extern "system" fn(
16959 *mut core::ffi::c_void,
16960 *mut u32,
16961 *mut *mut *mut core::ffi::c_void,
16962 ) -> windows_core::HRESULT,
16963 pub SetCustomSchemeRegistrations: unsafe extern "system" fn(
16964 *mut core::ffi::c_void,
16965 u32,
16966 *mut *mut core::ffi::c_void,
16967 ) -> windows_core::HRESULT,
16968}
16969pub trait ICoreWebView2EnvironmentOptions4_Impl: windows_core::IUnknownImpl {
16970 fn GetCustomSchemeRegistrations(
16971 &self,
16972 count: *mut u32,
16973 schemeregistrations: *mut *mut Option<ICoreWebView2CustomSchemeRegistration>,
16974 ) -> windows_core::Result<()>;
16975 fn SetCustomSchemeRegistrations(
16976 &self,
16977 count: u32,
16978 ) -> windows_core::Result<ICoreWebView2CustomSchemeRegistration>;
16979}
16980impl ICoreWebView2EnvironmentOptions4_Vtbl {
16981 pub const fn new<Identity: ICoreWebView2EnvironmentOptions4_Impl, const OFFSET: isize>() -> Self
16982 {
16983 unsafe extern "system" fn GetCustomSchemeRegistrations<
16984 Identity: ICoreWebView2EnvironmentOptions4_Impl,
16985 const OFFSET: isize,
16986 >(
16987 this: *mut core::ffi::c_void,
16988 count: *mut u32,
16989 schemeregistrations: *mut *mut *mut core::ffi::c_void,
16990 ) -> windows_core::HRESULT {
16991 unsafe {
16992 let this: &Identity =
16993 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16994 ICoreWebView2EnvironmentOptions4_Impl::GetCustomSchemeRegistrations(
16995 this,
16996 core::mem::transmute_copy(&count),
16997 core::mem::transmute_copy(&schemeregistrations),
16998 )
16999 .into()
17000 }
17001 }
17002 unsafe extern "system" fn SetCustomSchemeRegistrations<
17003 Identity: ICoreWebView2EnvironmentOptions4_Impl,
17004 const OFFSET: isize,
17005 >(
17006 this: *mut core::ffi::c_void,
17007 count: u32,
17008 schemeregistrations: *mut *mut core::ffi::c_void,
17009 ) -> windows_core::HRESULT {
17010 unsafe {
17011 let this: &Identity =
17012 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17013 match ICoreWebView2EnvironmentOptions4_Impl::SetCustomSchemeRegistrations(
17014 this,
17015 core::mem::transmute_copy(&count),
17016 ) {
17017 Ok(ok__) => {
17018 schemeregistrations.write(core::mem::transmute(ok__));
17019 windows_core::HRESULT(0)
17020 }
17021 Err(err) => err.into(),
17022 }
17023 }
17024 }
17025 Self {
17026 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17027 GetCustomSchemeRegistrations: GetCustomSchemeRegistrations::<Identity, OFFSET>,
17028 SetCustomSchemeRegistrations: SetCustomSchemeRegistrations::<Identity, OFFSET>,
17029 }
17030 }
17031 pub fn matches(iid: &windows_core::GUID) -> bool {
17032 iid == &<ICoreWebView2EnvironmentOptions4 as windows_core::Interface>::IID
17033 }
17034}
17035impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions4 {}
17036windows_core::imp::define_interface!(
17037 ICoreWebView2EnvironmentOptions5,
17038 ICoreWebView2EnvironmentOptions5_Vtbl,
17039 0x0ae35d64_c47f_4464_814e_259c345d1501
17040);
17041windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions5, windows_core::IUnknown);
17042impl ICoreWebView2EnvironmentOptions5 {
17043 pub unsafe fn EnableTrackingPrevention(
17044 &self,
17045 value: *mut windows_core::BOOL,
17046 ) -> windows_core::Result<()> {
17047 unsafe {
17048 (windows_core::Interface::vtable(self).EnableTrackingPrevention)(
17049 windows_core::Interface::as_raw(self),
17050 value as _,
17051 )
17052 .ok()
17053 }
17054 }
17055 pub unsafe fn SetEnableTrackingPrevention(&self, value: bool) -> windows_core::Result<()> {
17056 unsafe {
17057 (windows_core::Interface::vtable(self).SetEnableTrackingPrevention)(
17058 windows_core::Interface::as_raw(self),
17059 value.into(),
17060 )
17061 .ok()
17062 }
17063 }
17064}
17065#[repr(C)]
17066#[doc(hidden)]
17067pub struct ICoreWebView2EnvironmentOptions5_Vtbl {
17068 pub base__: windows_core::IUnknown_Vtbl,
17069 pub EnableTrackingPrevention: unsafe extern "system" fn(
17070 *mut core::ffi::c_void,
17071 *mut windows_core::BOOL,
17072 ) -> windows_core::HRESULT,
17073 pub SetEnableTrackingPrevention: unsafe extern "system" fn(
17074 *mut core::ffi::c_void,
17075 windows_core::BOOL,
17076 ) -> windows_core::HRESULT,
17077}
17078pub trait ICoreWebView2EnvironmentOptions5_Impl: windows_core::IUnknownImpl {
17079 fn EnableTrackingPrevention(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
17080 fn SetEnableTrackingPrevention(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
17081}
17082impl ICoreWebView2EnvironmentOptions5_Vtbl {
17083 pub const fn new<Identity: ICoreWebView2EnvironmentOptions5_Impl, const OFFSET: isize>() -> Self
17084 {
17085 unsafe extern "system" fn EnableTrackingPrevention<
17086 Identity: ICoreWebView2EnvironmentOptions5_Impl,
17087 const OFFSET: isize,
17088 >(
17089 this: *mut core::ffi::c_void,
17090 value: *mut windows_core::BOOL,
17091 ) -> windows_core::HRESULT {
17092 unsafe {
17093 let this: &Identity =
17094 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17095 ICoreWebView2EnvironmentOptions5_Impl::EnableTrackingPrevention(
17096 this,
17097 core::mem::transmute_copy(&value),
17098 )
17099 .into()
17100 }
17101 }
17102 unsafe extern "system" fn SetEnableTrackingPrevention<
17103 Identity: ICoreWebView2EnvironmentOptions5_Impl,
17104 const OFFSET: isize,
17105 >(
17106 this: *mut core::ffi::c_void,
17107 value: windows_core::BOOL,
17108 ) -> windows_core::HRESULT {
17109 unsafe {
17110 let this: &Identity =
17111 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17112 ICoreWebView2EnvironmentOptions5_Impl::SetEnableTrackingPrevention(
17113 this,
17114 core::mem::transmute_copy(&value),
17115 )
17116 .into()
17117 }
17118 }
17119 Self {
17120 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17121 EnableTrackingPrevention: EnableTrackingPrevention::<Identity, OFFSET>,
17122 SetEnableTrackingPrevention: SetEnableTrackingPrevention::<Identity, OFFSET>,
17123 }
17124 }
17125 pub fn matches(iid: &windows_core::GUID) -> bool {
17126 iid == &<ICoreWebView2EnvironmentOptions5 as windows_core::Interface>::IID
17127 }
17128}
17129impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions5 {}
17130windows_core::imp::define_interface!(
17131 ICoreWebView2EnvironmentOptions6,
17132 ICoreWebView2EnvironmentOptions6_Vtbl,
17133 0x57d29cc3_c84f_42a0_b0e2_effbd5e179de
17134);
17135windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions6, windows_core::IUnknown);
17136impl ICoreWebView2EnvironmentOptions6 {
17137 pub unsafe fn AreBrowserExtensionsEnabled(
17138 &self,
17139 value: *mut windows_core::BOOL,
17140 ) -> windows_core::Result<()> {
17141 unsafe {
17142 (windows_core::Interface::vtable(self).AreBrowserExtensionsEnabled)(
17143 windows_core::Interface::as_raw(self),
17144 value as _,
17145 )
17146 .ok()
17147 }
17148 }
17149 pub unsafe fn SetAreBrowserExtensionsEnabled(&self, value: bool) -> windows_core::Result<()> {
17150 unsafe {
17151 (windows_core::Interface::vtable(self).SetAreBrowserExtensionsEnabled)(
17152 windows_core::Interface::as_raw(self),
17153 value.into(),
17154 )
17155 .ok()
17156 }
17157 }
17158}
17159#[repr(C)]
17160#[doc(hidden)]
17161pub struct ICoreWebView2EnvironmentOptions6_Vtbl {
17162 pub base__: windows_core::IUnknown_Vtbl,
17163 pub AreBrowserExtensionsEnabled: unsafe extern "system" fn(
17164 *mut core::ffi::c_void,
17165 *mut windows_core::BOOL,
17166 ) -> windows_core::HRESULT,
17167 pub SetAreBrowserExtensionsEnabled: unsafe extern "system" fn(
17168 *mut core::ffi::c_void,
17169 windows_core::BOOL,
17170 ) -> windows_core::HRESULT,
17171}
17172pub trait ICoreWebView2EnvironmentOptions6_Impl: windows_core::IUnknownImpl {
17173 fn AreBrowserExtensionsEnabled(
17174 &self,
17175 value: *mut windows_core::BOOL,
17176 ) -> windows_core::Result<()>;
17177 fn SetAreBrowserExtensionsEnabled(&self, value: windows_core::BOOL)
17178 -> windows_core::Result<()>;
17179}
17180impl ICoreWebView2EnvironmentOptions6_Vtbl {
17181 pub const fn new<Identity: ICoreWebView2EnvironmentOptions6_Impl, const OFFSET: isize>() -> Self
17182 {
17183 unsafe extern "system" fn AreBrowserExtensionsEnabled<
17184 Identity: ICoreWebView2EnvironmentOptions6_Impl,
17185 const OFFSET: isize,
17186 >(
17187 this: *mut core::ffi::c_void,
17188 value: *mut windows_core::BOOL,
17189 ) -> windows_core::HRESULT {
17190 unsafe {
17191 let this: &Identity =
17192 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17193 ICoreWebView2EnvironmentOptions6_Impl::AreBrowserExtensionsEnabled(
17194 this,
17195 core::mem::transmute_copy(&value),
17196 )
17197 .into()
17198 }
17199 }
17200 unsafe extern "system" fn SetAreBrowserExtensionsEnabled<
17201 Identity: ICoreWebView2EnvironmentOptions6_Impl,
17202 const OFFSET: isize,
17203 >(
17204 this: *mut core::ffi::c_void,
17205 value: windows_core::BOOL,
17206 ) -> windows_core::HRESULT {
17207 unsafe {
17208 let this: &Identity =
17209 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17210 ICoreWebView2EnvironmentOptions6_Impl::SetAreBrowserExtensionsEnabled(
17211 this,
17212 core::mem::transmute_copy(&value),
17213 )
17214 .into()
17215 }
17216 }
17217 Self {
17218 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17219 AreBrowserExtensionsEnabled: AreBrowserExtensionsEnabled::<Identity, OFFSET>,
17220 SetAreBrowserExtensionsEnabled: SetAreBrowserExtensionsEnabled::<Identity, OFFSET>,
17221 }
17222 }
17223 pub fn matches(iid: &windows_core::GUID) -> bool {
17224 iid == &<ICoreWebView2EnvironmentOptions6 as windows_core::Interface>::IID
17225 }
17226}
17227impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions6 {}
17228windows_core::imp::define_interface!(
17229 ICoreWebView2EnvironmentOptions7,
17230 ICoreWebView2EnvironmentOptions7_Vtbl,
17231 0xc48d539f_e39f_441c_ae68_1f66e570bdc5
17232);
17233windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions7, windows_core::IUnknown);
17234impl ICoreWebView2EnvironmentOptions7 {
17235 pub unsafe fn ChannelSearchKind(
17236 &self,
17237 value: *mut COREWEBVIEW2_CHANNEL_SEARCH_KIND,
17238 ) -> windows_core::Result<()> {
17239 unsafe {
17240 (windows_core::Interface::vtable(self).ChannelSearchKind)(
17241 windows_core::Interface::as_raw(self),
17242 value as _,
17243 )
17244 .ok()
17245 }
17246 }
17247 pub unsafe fn SetChannelSearchKind(
17248 &self,
17249 value: COREWEBVIEW2_CHANNEL_SEARCH_KIND,
17250 ) -> windows_core::Result<()> {
17251 unsafe {
17252 (windows_core::Interface::vtable(self).SetChannelSearchKind)(
17253 windows_core::Interface::as_raw(self),
17254 value,
17255 )
17256 .ok()
17257 }
17258 }
17259 pub unsafe fn ReleaseChannels(
17260 &self,
17261 value: *mut COREWEBVIEW2_RELEASE_CHANNELS,
17262 ) -> windows_core::Result<()> {
17263 unsafe {
17264 (windows_core::Interface::vtable(self).ReleaseChannels)(
17265 windows_core::Interface::as_raw(self),
17266 value as _,
17267 )
17268 .ok()
17269 }
17270 }
17271 pub unsafe fn SetReleaseChannels(
17272 &self,
17273 value: COREWEBVIEW2_RELEASE_CHANNELS,
17274 ) -> windows_core::Result<()> {
17275 unsafe {
17276 (windows_core::Interface::vtable(self).SetReleaseChannels)(
17277 windows_core::Interface::as_raw(self),
17278 value,
17279 )
17280 .ok()
17281 }
17282 }
17283}
17284#[repr(C)]
17285#[doc(hidden)]
17286pub struct ICoreWebView2EnvironmentOptions7_Vtbl {
17287 pub base__: windows_core::IUnknown_Vtbl,
17288 pub ChannelSearchKind: unsafe extern "system" fn(
17289 *mut core::ffi::c_void,
17290 *mut COREWEBVIEW2_CHANNEL_SEARCH_KIND,
17291 ) -> windows_core::HRESULT,
17292 pub SetChannelSearchKind: unsafe extern "system" fn(
17293 *mut core::ffi::c_void,
17294 COREWEBVIEW2_CHANNEL_SEARCH_KIND,
17295 ) -> windows_core::HRESULT,
17296 pub ReleaseChannels: unsafe extern "system" fn(
17297 *mut core::ffi::c_void,
17298 *mut COREWEBVIEW2_RELEASE_CHANNELS,
17299 ) -> windows_core::HRESULT,
17300 pub SetReleaseChannels: unsafe extern "system" fn(
17301 *mut core::ffi::c_void,
17302 COREWEBVIEW2_RELEASE_CHANNELS,
17303 ) -> windows_core::HRESULT,
17304}
17305pub trait ICoreWebView2EnvironmentOptions7_Impl: windows_core::IUnknownImpl {
17306 fn ChannelSearchKind(
17307 &self,
17308 value: *mut COREWEBVIEW2_CHANNEL_SEARCH_KIND,
17309 ) -> windows_core::Result<()>;
17310 fn SetChannelSearchKind(
17311 &self,
17312 value: COREWEBVIEW2_CHANNEL_SEARCH_KIND,
17313 ) -> windows_core::Result<()>;
17314 fn ReleaseChannels(
17315 &self,
17316 value: *mut COREWEBVIEW2_RELEASE_CHANNELS,
17317 ) -> windows_core::Result<()>;
17318 fn SetReleaseChannels(&self, value: COREWEBVIEW2_RELEASE_CHANNELS) -> windows_core::Result<()>;
17319}
17320impl ICoreWebView2EnvironmentOptions7_Vtbl {
17321 pub const fn new<Identity: ICoreWebView2EnvironmentOptions7_Impl, const OFFSET: isize>() -> Self
17322 {
17323 unsafe extern "system" fn ChannelSearchKind<
17324 Identity: ICoreWebView2EnvironmentOptions7_Impl,
17325 const OFFSET: isize,
17326 >(
17327 this: *mut core::ffi::c_void,
17328 value: *mut COREWEBVIEW2_CHANNEL_SEARCH_KIND,
17329 ) -> windows_core::HRESULT {
17330 unsafe {
17331 let this: &Identity =
17332 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17333 ICoreWebView2EnvironmentOptions7_Impl::ChannelSearchKind(
17334 this,
17335 core::mem::transmute_copy(&value),
17336 )
17337 .into()
17338 }
17339 }
17340 unsafe extern "system" fn SetChannelSearchKind<
17341 Identity: ICoreWebView2EnvironmentOptions7_Impl,
17342 const OFFSET: isize,
17343 >(
17344 this: *mut core::ffi::c_void,
17345 value: COREWEBVIEW2_CHANNEL_SEARCH_KIND,
17346 ) -> windows_core::HRESULT {
17347 unsafe {
17348 let this: &Identity =
17349 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17350 ICoreWebView2EnvironmentOptions7_Impl::SetChannelSearchKind(
17351 this,
17352 core::mem::transmute_copy(&value),
17353 )
17354 .into()
17355 }
17356 }
17357 unsafe extern "system" fn ReleaseChannels<
17358 Identity: ICoreWebView2EnvironmentOptions7_Impl,
17359 const OFFSET: isize,
17360 >(
17361 this: *mut core::ffi::c_void,
17362 value: *mut COREWEBVIEW2_RELEASE_CHANNELS,
17363 ) -> windows_core::HRESULT {
17364 unsafe {
17365 let this: &Identity =
17366 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17367 ICoreWebView2EnvironmentOptions7_Impl::ReleaseChannels(
17368 this,
17369 core::mem::transmute_copy(&value),
17370 )
17371 .into()
17372 }
17373 }
17374 unsafe extern "system" fn SetReleaseChannels<
17375 Identity: ICoreWebView2EnvironmentOptions7_Impl,
17376 const OFFSET: isize,
17377 >(
17378 this: *mut core::ffi::c_void,
17379 value: COREWEBVIEW2_RELEASE_CHANNELS,
17380 ) -> windows_core::HRESULT {
17381 unsafe {
17382 let this: &Identity =
17383 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17384 ICoreWebView2EnvironmentOptions7_Impl::SetReleaseChannels(
17385 this,
17386 core::mem::transmute_copy(&value),
17387 )
17388 .into()
17389 }
17390 }
17391 Self {
17392 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17393 ChannelSearchKind: ChannelSearchKind::<Identity, OFFSET>,
17394 SetChannelSearchKind: SetChannelSearchKind::<Identity, OFFSET>,
17395 ReleaseChannels: ReleaseChannels::<Identity, OFFSET>,
17396 SetReleaseChannels: SetReleaseChannels::<Identity, OFFSET>,
17397 }
17398 }
17399 pub fn matches(iid: &windows_core::GUID) -> bool {
17400 iid == &<ICoreWebView2EnvironmentOptions7 as windows_core::Interface>::IID
17401 }
17402}
17403impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions7 {}
17404windows_core::imp::define_interface!(
17405 ICoreWebView2EnvironmentOptions8,
17406 ICoreWebView2EnvironmentOptions8_Vtbl,
17407 0x7c7ecf51_e918_5caf_853c_e9a2bcc27775
17408);
17409windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions8, windows_core::IUnknown);
17410impl ICoreWebView2EnvironmentOptions8 {
17411 pub unsafe fn ScrollBarStyle(
17412 &self,
17413 value: *mut COREWEBVIEW2_SCROLLBAR_STYLE,
17414 ) -> windows_core::Result<()> {
17415 unsafe {
17416 (windows_core::Interface::vtable(self).ScrollBarStyle)(
17417 windows_core::Interface::as_raw(self),
17418 value as _,
17419 )
17420 .ok()
17421 }
17422 }
17423 pub unsafe fn SetScrollBarStyle(
17424 &self,
17425 value: COREWEBVIEW2_SCROLLBAR_STYLE,
17426 ) -> windows_core::Result<()> {
17427 unsafe {
17428 (windows_core::Interface::vtable(self).SetScrollBarStyle)(
17429 windows_core::Interface::as_raw(self),
17430 value,
17431 )
17432 .ok()
17433 }
17434 }
17435}
17436#[repr(C)]
17437#[doc(hidden)]
17438pub struct ICoreWebView2EnvironmentOptions8_Vtbl {
17439 pub base__: windows_core::IUnknown_Vtbl,
17440 pub ScrollBarStyle: unsafe extern "system" fn(
17441 *mut core::ffi::c_void,
17442 *mut COREWEBVIEW2_SCROLLBAR_STYLE,
17443 ) -> windows_core::HRESULT,
17444 pub SetScrollBarStyle: unsafe extern "system" fn(
17445 *mut core::ffi::c_void,
17446 COREWEBVIEW2_SCROLLBAR_STYLE,
17447 ) -> windows_core::HRESULT,
17448}
17449pub trait ICoreWebView2EnvironmentOptions8_Impl: windows_core::IUnknownImpl {
17450 fn ScrollBarStyle(&self, value: *mut COREWEBVIEW2_SCROLLBAR_STYLE) -> windows_core::Result<()>;
17451 fn SetScrollBarStyle(&self, value: COREWEBVIEW2_SCROLLBAR_STYLE) -> windows_core::Result<()>;
17452}
17453impl ICoreWebView2EnvironmentOptions8_Vtbl {
17454 pub const fn new<Identity: ICoreWebView2EnvironmentOptions8_Impl, const OFFSET: isize>() -> Self
17455 {
17456 unsafe extern "system" fn ScrollBarStyle<
17457 Identity: ICoreWebView2EnvironmentOptions8_Impl,
17458 const OFFSET: isize,
17459 >(
17460 this: *mut core::ffi::c_void,
17461 value: *mut COREWEBVIEW2_SCROLLBAR_STYLE,
17462 ) -> windows_core::HRESULT {
17463 unsafe {
17464 let this: &Identity =
17465 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17466 ICoreWebView2EnvironmentOptions8_Impl::ScrollBarStyle(
17467 this,
17468 core::mem::transmute_copy(&value),
17469 )
17470 .into()
17471 }
17472 }
17473 unsafe extern "system" fn SetScrollBarStyle<
17474 Identity: ICoreWebView2EnvironmentOptions8_Impl,
17475 const OFFSET: isize,
17476 >(
17477 this: *mut core::ffi::c_void,
17478 value: COREWEBVIEW2_SCROLLBAR_STYLE,
17479 ) -> windows_core::HRESULT {
17480 unsafe {
17481 let this: &Identity =
17482 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17483 ICoreWebView2EnvironmentOptions8_Impl::SetScrollBarStyle(
17484 this,
17485 core::mem::transmute_copy(&value),
17486 )
17487 .into()
17488 }
17489 }
17490 Self {
17491 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17492 ScrollBarStyle: ScrollBarStyle::<Identity, OFFSET>,
17493 SetScrollBarStyle: SetScrollBarStyle::<Identity, OFFSET>,
17494 }
17495 }
17496 pub fn matches(iid: &windows_core::GUID) -> bool {
17497 iid == &<ICoreWebView2EnvironmentOptions8 as windows_core::Interface>::IID
17498 }
17499}
17500impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions8 {}
17501windows_core::imp::define_interface!(
17502 ICoreWebView2EstimatedEndTimeChangedEventHandler,
17503 ICoreWebView2EstimatedEndTimeChangedEventHandler_Vtbl,
17504 0x28f0d425_93fe_4e63_9f8d_2aeec6d3ba1e
17505);
17506windows_core::imp::interface_hierarchy!(
17507 ICoreWebView2EstimatedEndTimeChangedEventHandler,
17508 windows_core::IUnknown
17509);
17510impl ICoreWebView2EstimatedEndTimeChangedEventHandler {
17511 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
17512 where
17513 P0: windows_core::Param<ICoreWebView2DownloadOperation>,
17514 P1: windows_core::Param<windows_core::IUnknown>,
17515 {
17516 unsafe {
17517 (windows_core::Interface::vtable(self).Invoke)(
17518 windows_core::Interface::as_raw(self),
17519 sender.param().abi(),
17520 args.param().abi(),
17521 )
17522 .ok()
17523 }
17524 }
17525}
17526#[repr(C)]
17527#[doc(hidden)]
17528pub struct ICoreWebView2EstimatedEndTimeChangedEventHandler_Vtbl {
17529 pub base__: windows_core::IUnknown_Vtbl,
17530 pub Invoke: unsafe extern "system" fn(
17531 *mut core::ffi::c_void,
17532 *mut core::ffi::c_void,
17533 *mut core::ffi::c_void,
17534 ) -> windows_core::HRESULT,
17535}
17536pub trait ICoreWebView2EstimatedEndTimeChangedEventHandler_Impl:
17537 windows_core::IUnknownImpl
17538{
17539 fn Invoke(
17540 &self,
17541 sender: windows_core::Ref<ICoreWebView2DownloadOperation>,
17542 args: windows_core::Ref<windows_core::IUnknown>,
17543 ) -> windows_core::Result<()>;
17544}
17545impl ICoreWebView2EstimatedEndTimeChangedEventHandler_Vtbl {
17546 pub const fn new<
17547 Identity: ICoreWebView2EstimatedEndTimeChangedEventHandler_Impl,
17548 const OFFSET: isize,
17549 >() -> Self {
17550 unsafe extern "system" fn Invoke<
17551 Identity: ICoreWebView2EstimatedEndTimeChangedEventHandler_Impl,
17552 const OFFSET: isize,
17553 >(
17554 this: *mut core::ffi::c_void,
17555 sender: *mut core::ffi::c_void,
17556 args: *mut core::ffi::c_void,
17557 ) -> windows_core::HRESULT {
17558 unsafe {
17559 let this: &Identity =
17560 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17561 ICoreWebView2EstimatedEndTimeChangedEventHandler_Impl::Invoke(
17562 this,
17563 core::mem::transmute_copy(&sender),
17564 core::mem::transmute_copy(&args),
17565 )
17566 .into()
17567 }
17568 }
17569 Self {
17570 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17571 Invoke: Invoke::<Identity, OFFSET>,
17572 }
17573 }
17574 pub fn matches(iid: &windows_core::GUID) -> bool {
17575 iid == &<ICoreWebView2EstimatedEndTimeChangedEventHandler as windows_core::Interface>::IID
17576 }
17577}
17578impl windows_core::RuntimeName for ICoreWebView2EstimatedEndTimeChangedEventHandler {}
17579windows_core::imp::define_interface!(
17580 ICoreWebView2ExecuteScriptCompletedHandler,
17581 ICoreWebView2ExecuteScriptCompletedHandler_Vtbl,
17582 0x49511172_cc67_4bca_9923_137112f4c4cc
17583);
17584windows_core::imp::interface_hierarchy!(
17585 ICoreWebView2ExecuteScriptCompletedHandler,
17586 windows_core::IUnknown
17587);
17588impl ICoreWebView2ExecuteScriptCompletedHandler {
17589 pub unsafe fn Invoke<P1>(
17590 &self,
17591 errorcode: windows_core::HRESULT,
17592 result: P1,
17593 ) -> windows_core::Result<()>
17594 where
17595 P1: windows_core::Param<windows_core::PCWSTR>,
17596 {
17597 unsafe {
17598 (windows_core::Interface::vtable(self).Invoke)(
17599 windows_core::Interface::as_raw(self),
17600 errorcode,
17601 result.param().abi(),
17602 )
17603 .ok()
17604 }
17605 }
17606}
17607#[repr(C)]
17608#[doc(hidden)]
17609pub struct ICoreWebView2ExecuteScriptCompletedHandler_Vtbl {
17610 pub base__: windows_core::IUnknown_Vtbl,
17611 pub Invoke: unsafe extern "system" fn(
17612 *mut core::ffi::c_void,
17613 windows_core::HRESULT,
17614 windows_core::PCWSTR,
17615 ) -> windows_core::HRESULT,
17616}
17617pub trait ICoreWebView2ExecuteScriptCompletedHandler_Impl: windows_core::IUnknownImpl {
17618 fn Invoke(
17619 &self,
17620 errorcode: windows_core::HRESULT,
17621 result: &windows_core::PCWSTR,
17622 ) -> windows_core::Result<()>;
17623}
17624impl ICoreWebView2ExecuteScriptCompletedHandler_Vtbl {
17625 pub const fn new<
17626 Identity: ICoreWebView2ExecuteScriptCompletedHandler_Impl,
17627 const OFFSET: isize,
17628 >() -> Self {
17629 unsafe extern "system" fn Invoke<
17630 Identity: ICoreWebView2ExecuteScriptCompletedHandler_Impl,
17631 const OFFSET: isize,
17632 >(
17633 this: *mut core::ffi::c_void,
17634 errorcode: windows_core::HRESULT,
17635 result: windows_core::PCWSTR,
17636 ) -> windows_core::HRESULT {
17637 unsafe {
17638 let this: &Identity =
17639 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17640 ICoreWebView2ExecuteScriptCompletedHandler_Impl::Invoke(
17641 this,
17642 core::mem::transmute_copy(&errorcode),
17643 core::mem::transmute(&result),
17644 )
17645 .into()
17646 }
17647 }
17648 Self {
17649 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17650 Invoke: Invoke::<Identity, OFFSET>,
17651 }
17652 }
17653 pub fn matches(iid: &windows_core::GUID) -> bool {
17654 iid == &<ICoreWebView2ExecuteScriptCompletedHandler as windows_core::Interface>::IID
17655 }
17656}
17657impl windows_core::RuntimeName for ICoreWebView2ExecuteScriptCompletedHandler {}
17658windows_core::imp::define_interface!(
17659 ICoreWebView2ExecuteScriptResult,
17660 ICoreWebView2ExecuteScriptResult_Vtbl,
17661 0x0ce15963_3698_4df7_9399_71ed6cdd8c9f
17662);
17663windows_core::imp::interface_hierarchy!(ICoreWebView2ExecuteScriptResult, windows_core::IUnknown);
17664impl ICoreWebView2ExecuteScriptResult {
17665 pub unsafe fn Succeeded(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
17666 unsafe {
17667 (windows_core::Interface::vtable(self).Succeeded)(
17668 windows_core::Interface::as_raw(self),
17669 value as _,
17670 )
17671 .ok()
17672 }
17673 }
17674 pub unsafe fn ResultAsJson(
17675 &self,
17676 jsonresult: *mut windows_core::PWSTR,
17677 ) -> windows_core::Result<()> {
17678 unsafe {
17679 (windows_core::Interface::vtable(self).ResultAsJson)(
17680 windows_core::Interface::as_raw(self),
17681 jsonresult as _,
17682 )
17683 .ok()
17684 }
17685 }
17686 pub unsafe fn TryGetResultAsString(
17687 &self,
17688 stringresult: *mut windows_core::PWSTR,
17689 value: *mut windows_core::BOOL,
17690 ) -> windows_core::Result<()> {
17691 unsafe {
17692 (windows_core::Interface::vtable(self).TryGetResultAsString)(
17693 windows_core::Interface::as_raw(self),
17694 stringresult as _,
17695 value as _,
17696 )
17697 .ok()
17698 }
17699 }
17700 pub unsafe fn Exception(&self) -> windows_core::Result<ICoreWebView2ScriptException> {
17701 unsafe {
17702 let mut result__ = core::mem::zeroed();
17703 (windows_core::Interface::vtable(self).Exception)(
17704 windows_core::Interface::as_raw(self),
17705 &mut result__,
17706 )
17707 .and_then(|| windows_core::Type::from_abi(result__))
17708 }
17709 }
17710}
17711#[repr(C)]
17712#[doc(hidden)]
17713pub struct ICoreWebView2ExecuteScriptResult_Vtbl {
17714 pub base__: windows_core::IUnknown_Vtbl,
17715 pub Succeeded: unsafe extern "system" fn(
17716 *mut core::ffi::c_void,
17717 *mut windows_core::BOOL,
17718 ) -> windows_core::HRESULT,
17719 pub ResultAsJson: unsafe extern "system" fn(
17720 *mut core::ffi::c_void,
17721 *mut windows_core::PWSTR,
17722 ) -> windows_core::HRESULT,
17723 pub TryGetResultAsString: unsafe extern "system" fn(
17724 *mut core::ffi::c_void,
17725 *mut windows_core::PWSTR,
17726 *mut windows_core::BOOL,
17727 ) -> windows_core::HRESULT,
17728 pub Exception: unsafe extern "system" fn(
17729 *mut core::ffi::c_void,
17730 *mut *mut core::ffi::c_void,
17731 ) -> windows_core::HRESULT,
17732}
17733pub trait ICoreWebView2ExecuteScriptResult_Impl: windows_core::IUnknownImpl {
17734 fn Succeeded(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
17735 fn ResultAsJson(&self, jsonresult: *mut windows_core::PWSTR) -> windows_core::Result<()>;
17736 fn TryGetResultAsString(
17737 &self,
17738 stringresult: *mut windows_core::PWSTR,
17739 value: *mut windows_core::BOOL,
17740 ) -> windows_core::Result<()>;
17741 fn Exception(&self) -> windows_core::Result<ICoreWebView2ScriptException>;
17742}
17743impl ICoreWebView2ExecuteScriptResult_Vtbl {
17744 pub const fn new<Identity: ICoreWebView2ExecuteScriptResult_Impl, const OFFSET: isize>() -> Self
17745 {
17746 unsafe extern "system" fn Succeeded<
17747 Identity: ICoreWebView2ExecuteScriptResult_Impl,
17748 const OFFSET: isize,
17749 >(
17750 this: *mut core::ffi::c_void,
17751 value: *mut windows_core::BOOL,
17752 ) -> windows_core::HRESULT {
17753 unsafe {
17754 let this: &Identity =
17755 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17756 ICoreWebView2ExecuteScriptResult_Impl::Succeeded(
17757 this,
17758 core::mem::transmute_copy(&value),
17759 )
17760 .into()
17761 }
17762 }
17763 unsafe extern "system" fn ResultAsJson<
17764 Identity: ICoreWebView2ExecuteScriptResult_Impl,
17765 const OFFSET: isize,
17766 >(
17767 this: *mut core::ffi::c_void,
17768 jsonresult: *mut windows_core::PWSTR,
17769 ) -> windows_core::HRESULT {
17770 unsafe {
17771 let this: &Identity =
17772 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17773 ICoreWebView2ExecuteScriptResult_Impl::ResultAsJson(
17774 this,
17775 core::mem::transmute_copy(&jsonresult),
17776 )
17777 .into()
17778 }
17779 }
17780 unsafe extern "system" fn TryGetResultAsString<
17781 Identity: ICoreWebView2ExecuteScriptResult_Impl,
17782 const OFFSET: isize,
17783 >(
17784 this: *mut core::ffi::c_void,
17785 stringresult: *mut windows_core::PWSTR,
17786 value: *mut windows_core::BOOL,
17787 ) -> windows_core::HRESULT {
17788 unsafe {
17789 let this: &Identity =
17790 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17791 ICoreWebView2ExecuteScriptResult_Impl::TryGetResultAsString(
17792 this,
17793 core::mem::transmute_copy(&stringresult),
17794 core::mem::transmute_copy(&value),
17795 )
17796 .into()
17797 }
17798 }
17799 unsafe extern "system" fn Exception<
17800 Identity: ICoreWebView2ExecuteScriptResult_Impl,
17801 const OFFSET: isize,
17802 >(
17803 this: *mut core::ffi::c_void,
17804 exception: *mut *mut core::ffi::c_void,
17805 ) -> windows_core::HRESULT {
17806 unsafe {
17807 let this: &Identity =
17808 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17809 match ICoreWebView2ExecuteScriptResult_Impl::Exception(this) {
17810 Ok(ok__) => {
17811 exception.write(core::mem::transmute(ok__));
17812 windows_core::HRESULT(0)
17813 }
17814 Err(err) => err.into(),
17815 }
17816 }
17817 }
17818 Self {
17819 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17820 Succeeded: Succeeded::<Identity, OFFSET>,
17821 ResultAsJson: ResultAsJson::<Identity, OFFSET>,
17822 TryGetResultAsString: TryGetResultAsString::<Identity, OFFSET>,
17823 Exception: Exception::<Identity, OFFSET>,
17824 }
17825 }
17826 pub fn matches(iid: &windows_core::GUID) -> bool {
17827 iid == &<ICoreWebView2ExecuteScriptResult as windows_core::Interface>::IID
17828 }
17829}
17830impl windows_core::RuntimeName for ICoreWebView2ExecuteScriptResult {}
17831windows_core::imp::define_interface!(
17832 ICoreWebView2ExecuteScriptWithResultCompletedHandler,
17833 ICoreWebView2ExecuteScriptWithResultCompletedHandler_Vtbl,
17834 0x1bb5317b_8238_4c67_a7ff_baf6558f289d
17835);
17836windows_core::imp::interface_hierarchy!(
17837 ICoreWebView2ExecuteScriptWithResultCompletedHandler,
17838 windows_core::IUnknown
17839);
17840impl ICoreWebView2ExecuteScriptWithResultCompletedHandler {
17841 pub unsafe fn Invoke<P1>(
17842 &self,
17843 errorcode: windows_core::HRESULT,
17844 result: P1,
17845 ) -> windows_core::Result<()>
17846 where
17847 P1: windows_core::Param<ICoreWebView2ExecuteScriptResult>,
17848 {
17849 unsafe {
17850 (windows_core::Interface::vtable(self).Invoke)(
17851 windows_core::Interface::as_raw(self),
17852 errorcode,
17853 result.param().abi(),
17854 )
17855 .ok()
17856 }
17857 }
17858}
17859#[repr(C)]
17860#[doc(hidden)]
17861pub struct ICoreWebView2ExecuteScriptWithResultCompletedHandler_Vtbl {
17862 pub base__: windows_core::IUnknown_Vtbl,
17863 pub Invoke: unsafe extern "system" fn(
17864 *mut core::ffi::c_void,
17865 windows_core::HRESULT,
17866 *mut core::ffi::c_void,
17867 ) -> windows_core::HRESULT,
17868}
17869pub trait ICoreWebView2ExecuteScriptWithResultCompletedHandler_Impl:
17870 windows_core::IUnknownImpl
17871{
17872 fn Invoke(
17873 &self,
17874 errorcode: windows_core::HRESULT,
17875 result: windows_core::Ref<ICoreWebView2ExecuteScriptResult>,
17876 ) -> windows_core::Result<()>;
17877}
17878impl ICoreWebView2ExecuteScriptWithResultCompletedHandler_Vtbl {
17879 pub const fn new<
17880 Identity: ICoreWebView2ExecuteScriptWithResultCompletedHandler_Impl,
17881 const OFFSET: isize,
17882 >() -> Self {
17883 unsafe extern "system" fn Invoke<
17884 Identity: ICoreWebView2ExecuteScriptWithResultCompletedHandler_Impl,
17885 const OFFSET: isize,
17886 >(
17887 this: *mut core::ffi::c_void,
17888 errorcode: windows_core::HRESULT,
17889 result: *mut core::ffi::c_void,
17890 ) -> windows_core::HRESULT {
17891 unsafe {
17892 let this: &Identity =
17893 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17894 ICoreWebView2ExecuteScriptWithResultCompletedHandler_Impl::Invoke(
17895 this,
17896 core::mem::transmute_copy(&errorcode),
17897 core::mem::transmute_copy(&result),
17898 )
17899 .into()
17900 }
17901 }
17902 Self {
17903 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17904 Invoke: Invoke::<Identity, OFFSET>,
17905 }
17906 }
17907 pub fn matches(iid: &windows_core::GUID) -> bool {
17908 iid == & < ICoreWebView2ExecuteScriptWithResultCompletedHandler as windows_core::Interface >::IID
17909 }
17910}
17911impl windows_core::RuntimeName for ICoreWebView2ExecuteScriptWithResultCompletedHandler {}
17912windows_core::imp::define_interface!(
17913 ICoreWebView2FaviconChangedEventHandler,
17914 ICoreWebView2FaviconChangedEventHandler_Vtbl,
17915 0x2913da94_833d_4de0_8dca_900fc524a1a4
17916);
17917windows_core::imp::interface_hierarchy!(
17918 ICoreWebView2FaviconChangedEventHandler,
17919 windows_core::IUnknown
17920);
17921impl ICoreWebView2FaviconChangedEventHandler {
17922 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
17923 where
17924 P0: windows_core::Param<ICoreWebView2>,
17925 P1: windows_core::Param<windows_core::IUnknown>,
17926 {
17927 unsafe {
17928 (windows_core::Interface::vtable(self).Invoke)(
17929 windows_core::Interface::as_raw(self),
17930 sender.param().abi(),
17931 args.param().abi(),
17932 )
17933 .ok()
17934 }
17935 }
17936}
17937#[repr(C)]
17938#[doc(hidden)]
17939pub struct ICoreWebView2FaviconChangedEventHandler_Vtbl {
17940 pub base__: windows_core::IUnknown_Vtbl,
17941 pub Invoke: unsafe extern "system" fn(
17942 *mut core::ffi::c_void,
17943 *mut core::ffi::c_void,
17944 *mut core::ffi::c_void,
17945 ) -> windows_core::HRESULT,
17946}
17947pub trait ICoreWebView2FaviconChangedEventHandler_Impl: windows_core::IUnknownImpl {
17948 fn Invoke(
17949 &self,
17950 sender: windows_core::Ref<ICoreWebView2>,
17951 args: windows_core::Ref<windows_core::IUnknown>,
17952 ) -> windows_core::Result<()>;
17953}
17954impl ICoreWebView2FaviconChangedEventHandler_Vtbl {
17955 pub const fn new<
17956 Identity: ICoreWebView2FaviconChangedEventHandler_Impl,
17957 const OFFSET: isize,
17958 >() -> Self {
17959 unsafe extern "system" fn Invoke<
17960 Identity: ICoreWebView2FaviconChangedEventHandler_Impl,
17961 const OFFSET: isize,
17962 >(
17963 this: *mut core::ffi::c_void,
17964 sender: *mut core::ffi::c_void,
17965 args: *mut core::ffi::c_void,
17966 ) -> windows_core::HRESULT {
17967 unsafe {
17968 let this: &Identity =
17969 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17970 ICoreWebView2FaviconChangedEventHandler_Impl::Invoke(
17971 this,
17972 core::mem::transmute_copy(&sender),
17973 core::mem::transmute_copy(&args),
17974 )
17975 .into()
17976 }
17977 }
17978 Self {
17979 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17980 Invoke: Invoke::<Identity, OFFSET>,
17981 }
17982 }
17983 pub fn matches(iid: &windows_core::GUID) -> bool {
17984 iid == &<ICoreWebView2FaviconChangedEventHandler as windows_core::Interface>::IID
17985 }
17986}
17987impl windows_core::RuntimeName for ICoreWebView2FaviconChangedEventHandler {}
17988windows_core::imp::define_interface!(
17989 ICoreWebView2File,
17990 ICoreWebView2File_Vtbl,
17991 0xf2c19559_6bc1_4583_a757_90021be9afec
17992);
17993windows_core::imp::interface_hierarchy!(ICoreWebView2File, windows_core::IUnknown);
17994impl ICoreWebView2File {
17995 pub unsafe fn Path(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
17996 unsafe {
17997 (windows_core::Interface::vtable(self).Path)(
17998 windows_core::Interface::as_raw(self),
17999 value as _,
18000 )
18001 .ok()
18002 }
18003 }
18004}
18005#[repr(C)]
18006#[doc(hidden)]
18007pub struct ICoreWebView2File_Vtbl {
18008 pub base__: windows_core::IUnknown_Vtbl,
18009 pub Path: unsafe extern "system" fn(
18010 *mut core::ffi::c_void,
18011 *mut windows_core::PWSTR,
18012 ) -> windows_core::HRESULT,
18013}
18014pub trait ICoreWebView2File_Impl: windows_core::IUnknownImpl {
18015 fn Path(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
18016}
18017impl ICoreWebView2File_Vtbl {
18018 pub const fn new<Identity: ICoreWebView2File_Impl, const OFFSET: isize>() -> Self {
18019 unsafe extern "system" fn Path<Identity: ICoreWebView2File_Impl, const OFFSET: isize>(
18020 this: *mut core::ffi::c_void,
18021 value: *mut windows_core::PWSTR,
18022 ) -> windows_core::HRESULT {
18023 unsafe {
18024 let this: &Identity =
18025 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18026 ICoreWebView2File_Impl::Path(this, core::mem::transmute_copy(&value)).into()
18027 }
18028 }
18029 Self {
18030 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
18031 Path: Path::<Identity, OFFSET>,
18032 }
18033 }
18034 pub fn matches(iid: &windows_core::GUID) -> bool {
18035 iid == &<ICoreWebView2File as windows_core::Interface>::IID
18036 }
18037}
18038impl windows_core::RuntimeName for ICoreWebView2File {}
18039windows_core::imp::define_interface!(
18040 ICoreWebView2FileSystemHandle,
18041 ICoreWebView2FileSystemHandle_Vtbl,
18042 0xc65100ac_0de2_5551_a362_23d9bd1d0e1f
18043);
18044windows_core::imp::interface_hierarchy!(ICoreWebView2FileSystemHandle, windows_core::IUnknown);
18045impl ICoreWebView2FileSystemHandle {
18046 pub unsafe fn Kind(
18047 &self,
18048 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND,
18049 ) -> windows_core::Result<()> {
18050 unsafe {
18051 (windows_core::Interface::vtable(self).Kind)(
18052 windows_core::Interface::as_raw(self),
18053 value as _,
18054 )
18055 .ok()
18056 }
18057 }
18058 pub unsafe fn Path(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
18059 unsafe {
18060 (windows_core::Interface::vtable(self).Path)(
18061 windows_core::Interface::as_raw(self),
18062 value as _,
18063 )
18064 .ok()
18065 }
18066 }
18067 pub unsafe fn Permission(
18068 &self,
18069 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
18070 ) -> windows_core::Result<()> {
18071 unsafe {
18072 (windows_core::Interface::vtable(self).Permission)(
18073 windows_core::Interface::as_raw(self),
18074 value as _,
18075 )
18076 .ok()
18077 }
18078 }
18079}
18080#[repr(C)]
18081#[doc(hidden)]
18082pub struct ICoreWebView2FileSystemHandle_Vtbl {
18083 pub base__: windows_core::IUnknown_Vtbl,
18084 pub Kind: unsafe extern "system" fn(
18085 *mut core::ffi::c_void,
18086 *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND,
18087 ) -> windows_core::HRESULT,
18088 pub Path: unsafe extern "system" fn(
18089 *mut core::ffi::c_void,
18090 *mut windows_core::PWSTR,
18091 ) -> windows_core::HRESULT,
18092 pub Permission: unsafe extern "system" fn(
18093 *mut core::ffi::c_void,
18094 *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
18095 ) -> windows_core::HRESULT,
18096}
18097pub trait ICoreWebView2FileSystemHandle_Impl: windows_core::IUnknownImpl {
18098 fn Kind(&self, value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND) -> windows_core::Result<()>;
18099 fn Path(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
18100 fn Permission(
18101 &self,
18102 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
18103 ) -> windows_core::Result<()>;
18104}
18105impl ICoreWebView2FileSystemHandle_Vtbl {
18106 pub const fn new<Identity: ICoreWebView2FileSystemHandle_Impl, const OFFSET: isize>() -> Self {
18107 unsafe extern "system" fn Kind<
18108 Identity: ICoreWebView2FileSystemHandle_Impl,
18109 const OFFSET: isize,
18110 >(
18111 this: *mut core::ffi::c_void,
18112 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND,
18113 ) -> windows_core::HRESULT {
18114 unsafe {
18115 let this: &Identity =
18116 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18117 ICoreWebView2FileSystemHandle_Impl::Kind(this, core::mem::transmute_copy(&value))
18118 .into()
18119 }
18120 }
18121 unsafe extern "system" fn Path<
18122 Identity: ICoreWebView2FileSystemHandle_Impl,
18123 const OFFSET: isize,
18124 >(
18125 this: *mut core::ffi::c_void,
18126 value: *mut windows_core::PWSTR,
18127 ) -> windows_core::HRESULT {
18128 unsafe {
18129 let this: &Identity =
18130 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18131 ICoreWebView2FileSystemHandle_Impl::Path(this, core::mem::transmute_copy(&value))
18132 .into()
18133 }
18134 }
18135 unsafe extern "system" fn Permission<
18136 Identity: ICoreWebView2FileSystemHandle_Impl,
18137 const OFFSET: isize,
18138 >(
18139 this: *mut core::ffi::c_void,
18140 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
18141 ) -> windows_core::HRESULT {
18142 unsafe {
18143 let this: &Identity =
18144 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18145 ICoreWebView2FileSystemHandle_Impl::Permission(
18146 this,
18147 core::mem::transmute_copy(&value),
18148 )
18149 .into()
18150 }
18151 }
18152 Self {
18153 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
18154 Kind: Kind::<Identity, OFFSET>,
18155 Path: Path::<Identity, OFFSET>,
18156 Permission: Permission::<Identity, OFFSET>,
18157 }
18158 }
18159 pub fn matches(iid: &windows_core::GUID) -> bool {
18160 iid == &<ICoreWebView2FileSystemHandle as windows_core::Interface>::IID
18161 }
18162}
18163impl windows_core::RuntimeName for ICoreWebView2FileSystemHandle {}
18164windows_core::imp::define_interface!(
18165 ICoreWebView2Find,
18166 ICoreWebView2Find_Vtbl,
18167 0xa3ec0f5f_ddbc_54ed_8546_af75a785b9a6
18168);
18169windows_core::imp::interface_hierarchy!(ICoreWebView2Find, windows_core::IUnknown);
18170impl ICoreWebView2Find {
18171 pub unsafe fn ActiveMatchIndex(&self, value: *mut i32) -> windows_core::Result<()> {
18172 unsafe {
18173 (windows_core::Interface::vtable(self).ActiveMatchIndex)(
18174 windows_core::Interface::as_raw(self),
18175 value as _,
18176 )
18177 .ok()
18178 }
18179 }
18180 pub unsafe fn MatchCount(&self, value: *mut i32) -> windows_core::Result<()> {
18181 unsafe {
18182 (windows_core::Interface::vtable(self).MatchCount)(
18183 windows_core::Interface::as_raw(self),
18184 value as _,
18185 )
18186 .ok()
18187 }
18188 }
18189 pub unsafe fn add_ActiveMatchIndexChanged<P0>(
18190 &self,
18191 eventhandler: P0,
18192 token: *mut i64,
18193 ) -> windows_core::Result<()>
18194 where
18195 P0: windows_core::Param<ICoreWebView2FindActiveMatchIndexChangedEventHandler>,
18196 {
18197 unsafe {
18198 (windows_core::Interface::vtable(self).add_ActiveMatchIndexChanged)(
18199 windows_core::Interface::as_raw(self),
18200 eventhandler.param().abi(),
18201 token as _,
18202 )
18203 .ok()
18204 }
18205 }
18206 pub unsafe fn remove_ActiveMatchIndexChanged(&self, token: i64) -> windows_core::Result<()> {
18207 unsafe {
18208 (windows_core::Interface::vtable(self).remove_ActiveMatchIndexChanged)(
18209 windows_core::Interface::as_raw(self),
18210 token,
18211 )
18212 .ok()
18213 }
18214 }
18215 pub unsafe fn add_MatchCountChanged<P0>(
18216 &self,
18217 eventhandler: P0,
18218 token: *mut i64,
18219 ) -> windows_core::Result<()>
18220 where
18221 P0: windows_core::Param<ICoreWebView2FindMatchCountChangedEventHandler>,
18222 {
18223 unsafe {
18224 (windows_core::Interface::vtable(self).add_MatchCountChanged)(
18225 windows_core::Interface::as_raw(self),
18226 eventhandler.param().abi(),
18227 token as _,
18228 )
18229 .ok()
18230 }
18231 }
18232 pub unsafe fn remove_MatchCountChanged(&self, token: i64) -> windows_core::Result<()> {
18233 unsafe {
18234 (windows_core::Interface::vtable(self).remove_MatchCountChanged)(
18235 windows_core::Interface::as_raw(self),
18236 token,
18237 )
18238 .ok()
18239 }
18240 }
18241 pub unsafe fn Start<P0, P1>(&self, options: P0, handler: P1) -> windows_core::Result<()>
18242 where
18243 P0: windows_core::Param<ICoreWebView2FindOptions>,
18244 P1: windows_core::Param<ICoreWebView2FindStartCompletedHandler>,
18245 {
18246 unsafe {
18247 (windows_core::Interface::vtable(self).Start)(
18248 windows_core::Interface::as_raw(self),
18249 options.param().abi(),
18250 handler.param().abi(),
18251 )
18252 .ok()
18253 }
18254 }
18255 pub unsafe fn FindNext(&self) -> windows_core::Result<()> {
18256 unsafe {
18257 (windows_core::Interface::vtable(self).FindNext)(windows_core::Interface::as_raw(self))
18258 .ok()
18259 }
18260 }
18261 pub unsafe fn FindPrevious(&self) -> windows_core::Result<()> {
18262 unsafe {
18263 (windows_core::Interface::vtable(self).FindPrevious)(windows_core::Interface::as_raw(
18264 self,
18265 ))
18266 .ok()
18267 }
18268 }
18269 pub unsafe fn Stop(&self) -> windows_core::Result<()> {
18270 unsafe {
18271 (windows_core::Interface::vtable(self).Stop)(windows_core::Interface::as_raw(self)).ok()
18272 }
18273 }
18274}
18275#[repr(C)]
18276#[doc(hidden)]
18277pub struct ICoreWebView2Find_Vtbl {
18278 pub base__: windows_core::IUnknown_Vtbl,
18279 pub ActiveMatchIndex:
18280 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
18281 pub MatchCount:
18282 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
18283 pub add_ActiveMatchIndexChanged: unsafe extern "system" fn(
18284 *mut core::ffi::c_void,
18285 *mut core::ffi::c_void,
18286 *mut i64,
18287 ) -> windows_core::HRESULT,
18288 pub remove_ActiveMatchIndexChanged:
18289 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18290 pub add_MatchCountChanged: unsafe extern "system" fn(
18291 *mut core::ffi::c_void,
18292 *mut core::ffi::c_void,
18293 *mut i64,
18294 ) -> windows_core::HRESULT,
18295 pub remove_MatchCountChanged:
18296 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18297 pub Start: unsafe extern "system" fn(
18298 *mut core::ffi::c_void,
18299 *mut core::ffi::c_void,
18300 *mut core::ffi::c_void,
18301 ) -> windows_core::HRESULT,
18302 pub FindNext: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
18303 pub FindPrevious: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
18304 pub Stop: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
18305}
18306pub trait ICoreWebView2Find_Impl: windows_core::IUnknownImpl {
18307 fn ActiveMatchIndex(&self, value: *mut i32) -> windows_core::Result<()>;
18308 fn MatchCount(&self, value: *mut i32) -> windows_core::Result<()>;
18309 fn add_ActiveMatchIndexChanged(
18310 &self,
18311 eventhandler: windows_core::Ref<ICoreWebView2FindActiveMatchIndexChangedEventHandler>,
18312 token: *mut i64,
18313 ) -> windows_core::Result<()>;
18314 fn remove_ActiveMatchIndexChanged(&self, token: i64) -> windows_core::Result<()>;
18315 fn add_MatchCountChanged(
18316 &self,
18317 eventhandler: windows_core::Ref<ICoreWebView2FindMatchCountChangedEventHandler>,
18318 token: *mut i64,
18319 ) -> windows_core::Result<()>;
18320 fn remove_MatchCountChanged(&self, token: i64) -> windows_core::Result<()>;
18321 fn Start(
18322 &self,
18323 options: windows_core::Ref<ICoreWebView2FindOptions>,
18324 handler: windows_core::Ref<ICoreWebView2FindStartCompletedHandler>,
18325 ) -> windows_core::Result<()>;
18326 fn FindNext(&self) -> windows_core::Result<()>;
18327 fn FindPrevious(&self) -> windows_core::Result<()>;
18328 fn Stop(&self) -> windows_core::Result<()>;
18329}
18330impl ICoreWebView2Find_Vtbl {
18331 pub const fn new<Identity: ICoreWebView2Find_Impl, const OFFSET: isize>() -> Self {
18332 unsafe extern "system" fn ActiveMatchIndex<
18333 Identity: ICoreWebView2Find_Impl,
18334 const OFFSET: isize,
18335 >(
18336 this: *mut core::ffi::c_void,
18337 value: *mut i32,
18338 ) -> windows_core::HRESULT {
18339 unsafe {
18340 let this: &Identity =
18341 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18342 ICoreWebView2Find_Impl::ActiveMatchIndex(this, core::mem::transmute_copy(&value))
18343 .into()
18344 }
18345 }
18346 unsafe extern "system" fn MatchCount<
18347 Identity: ICoreWebView2Find_Impl,
18348 const OFFSET: isize,
18349 >(
18350 this: *mut core::ffi::c_void,
18351 value: *mut i32,
18352 ) -> windows_core::HRESULT {
18353 unsafe {
18354 let this: &Identity =
18355 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18356 ICoreWebView2Find_Impl::MatchCount(this, core::mem::transmute_copy(&value)).into()
18357 }
18358 }
18359 unsafe extern "system" fn add_ActiveMatchIndexChanged<
18360 Identity: ICoreWebView2Find_Impl,
18361 const OFFSET: isize,
18362 >(
18363 this: *mut core::ffi::c_void,
18364 eventhandler: *mut core::ffi::c_void,
18365 token: *mut i64,
18366 ) -> windows_core::HRESULT {
18367 unsafe {
18368 let this: &Identity =
18369 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18370 ICoreWebView2Find_Impl::add_ActiveMatchIndexChanged(
18371 this,
18372 core::mem::transmute_copy(&eventhandler),
18373 core::mem::transmute_copy(&token),
18374 )
18375 .into()
18376 }
18377 }
18378 unsafe extern "system" fn remove_ActiveMatchIndexChanged<
18379 Identity: ICoreWebView2Find_Impl,
18380 const OFFSET: isize,
18381 >(
18382 this: *mut core::ffi::c_void,
18383 token: i64,
18384 ) -> windows_core::HRESULT {
18385 unsafe {
18386 let this: &Identity =
18387 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18388 ICoreWebView2Find_Impl::remove_ActiveMatchIndexChanged(
18389 this,
18390 core::mem::transmute_copy(&token),
18391 )
18392 .into()
18393 }
18394 }
18395 unsafe extern "system" fn add_MatchCountChanged<
18396 Identity: ICoreWebView2Find_Impl,
18397 const OFFSET: isize,
18398 >(
18399 this: *mut core::ffi::c_void,
18400 eventhandler: *mut core::ffi::c_void,
18401 token: *mut i64,
18402 ) -> windows_core::HRESULT {
18403 unsafe {
18404 let this: &Identity =
18405 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18406 ICoreWebView2Find_Impl::add_MatchCountChanged(
18407 this,
18408 core::mem::transmute_copy(&eventhandler),
18409 core::mem::transmute_copy(&token),
18410 )
18411 .into()
18412 }
18413 }
18414 unsafe extern "system" fn remove_MatchCountChanged<
18415 Identity: ICoreWebView2Find_Impl,
18416 const OFFSET: isize,
18417 >(
18418 this: *mut core::ffi::c_void,
18419 token: i64,
18420 ) -> windows_core::HRESULT {
18421 unsafe {
18422 let this: &Identity =
18423 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18424 ICoreWebView2Find_Impl::remove_MatchCountChanged(
18425 this,
18426 core::mem::transmute_copy(&token),
18427 )
18428 .into()
18429 }
18430 }
18431 unsafe extern "system" fn Start<Identity: ICoreWebView2Find_Impl, const OFFSET: isize>(
18432 this: *mut core::ffi::c_void,
18433 options: *mut core::ffi::c_void,
18434 handler: *mut core::ffi::c_void,
18435 ) -> windows_core::HRESULT {
18436 unsafe {
18437 let this: &Identity =
18438 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18439 ICoreWebView2Find_Impl::Start(
18440 this,
18441 core::mem::transmute_copy(&options),
18442 core::mem::transmute_copy(&handler),
18443 )
18444 .into()
18445 }
18446 }
18447 unsafe extern "system" fn FindNext<
18448 Identity: ICoreWebView2Find_Impl,
18449 const OFFSET: isize,
18450 >(
18451 this: *mut core::ffi::c_void,
18452 ) -> windows_core::HRESULT {
18453 unsafe {
18454 let this: &Identity =
18455 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18456 ICoreWebView2Find_Impl::FindNext(this).into()
18457 }
18458 }
18459 unsafe extern "system" fn FindPrevious<
18460 Identity: ICoreWebView2Find_Impl,
18461 const OFFSET: isize,
18462 >(
18463 this: *mut core::ffi::c_void,
18464 ) -> windows_core::HRESULT {
18465 unsafe {
18466 let this: &Identity =
18467 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18468 ICoreWebView2Find_Impl::FindPrevious(this).into()
18469 }
18470 }
18471 unsafe extern "system" fn Stop<Identity: ICoreWebView2Find_Impl, const OFFSET: isize>(
18472 this: *mut core::ffi::c_void,
18473 ) -> windows_core::HRESULT {
18474 unsafe {
18475 let this: &Identity =
18476 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18477 ICoreWebView2Find_Impl::Stop(this).into()
18478 }
18479 }
18480 Self {
18481 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
18482 ActiveMatchIndex: ActiveMatchIndex::<Identity, OFFSET>,
18483 MatchCount: MatchCount::<Identity, OFFSET>,
18484 add_ActiveMatchIndexChanged: add_ActiveMatchIndexChanged::<Identity, OFFSET>,
18485 remove_ActiveMatchIndexChanged: remove_ActiveMatchIndexChanged::<Identity, OFFSET>,
18486 add_MatchCountChanged: add_MatchCountChanged::<Identity, OFFSET>,
18487 remove_MatchCountChanged: remove_MatchCountChanged::<Identity, OFFSET>,
18488 Start: Start::<Identity, OFFSET>,
18489 FindNext: FindNext::<Identity, OFFSET>,
18490 FindPrevious: FindPrevious::<Identity, OFFSET>,
18491 Stop: Stop::<Identity, OFFSET>,
18492 }
18493 }
18494 pub fn matches(iid: &windows_core::GUID) -> bool {
18495 iid == &<ICoreWebView2Find as windows_core::Interface>::IID
18496 }
18497}
18498impl windows_core::RuntimeName for ICoreWebView2Find {}
18499windows_core::imp::define_interface!(
18500 ICoreWebView2FindActiveMatchIndexChangedEventHandler,
18501 ICoreWebView2FindActiveMatchIndexChangedEventHandler_Vtbl,
18502 0x0054f514_9a8e_5876_aed5_30b37f8c86a5
18503);
18504windows_core::imp::interface_hierarchy!(
18505 ICoreWebView2FindActiveMatchIndexChangedEventHandler,
18506 windows_core::IUnknown
18507);
18508impl ICoreWebView2FindActiveMatchIndexChangedEventHandler {
18509 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
18510 where
18511 P0: windows_core::Param<ICoreWebView2Find>,
18512 P1: windows_core::Param<windows_core::IUnknown>,
18513 {
18514 unsafe {
18515 (windows_core::Interface::vtable(self).Invoke)(
18516 windows_core::Interface::as_raw(self),
18517 sender.param().abi(),
18518 args.param().abi(),
18519 )
18520 .ok()
18521 }
18522 }
18523}
18524#[repr(C)]
18525#[doc(hidden)]
18526pub struct ICoreWebView2FindActiveMatchIndexChangedEventHandler_Vtbl {
18527 pub base__: windows_core::IUnknown_Vtbl,
18528 pub Invoke: unsafe extern "system" fn(
18529 *mut core::ffi::c_void,
18530 *mut core::ffi::c_void,
18531 *mut core::ffi::c_void,
18532 ) -> windows_core::HRESULT,
18533}
18534pub trait ICoreWebView2FindActiveMatchIndexChangedEventHandler_Impl:
18535 windows_core::IUnknownImpl
18536{
18537 fn Invoke(
18538 &self,
18539 sender: windows_core::Ref<ICoreWebView2Find>,
18540 args: windows_core::Ref<windows_core::IUnknown>,
18541 ) -> windows_core::Result<()>;
18542}
18543impl ICoreWebView2FindActiveMatchIndexChangedEventHandler_Vtbl {
18544 pub const fn new<
18545 Identity: ICoreWebView2FindActiveMatchIndexChangedEventHandler_Impl,
18546 const OFFSET: isize,
18547 >() -> Self {
18548 unsafe extern "system" fn Invoke<
18549 Identity: ICoreWebView2FindActiveMatchIndexChangedEventHandler_Impl,
18550 const OFFSET: isize,
18551 >(
18552 this: *mut core::ffi::c_void,
18553 sender: *mut core::ffi::c_void,
18554 args: *mut core::ffi::c_void,
18555 ) -> windows_core::HRESULT {
18556 unsafe {
18557 let this: &Identity =
18558 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18559 ICoreWebView2FindActiveMatchIndexChangedEventHandler_Impl::Invoke(
18560 this,
18561 core::mem::transmute_copy(&sender),
18562 core::mem::transmute_copy(&args),
18563 )
18564 .into()
18565 }
18566 }
18567 Self {
18568 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
18569 Invoke: Invoke::<Identity, OFFSET>,
18570 }
18571 }
18572 pub fn matches(iid: &windows_core::GUID) -> bool {
18573 iid == & < ICoreWebView2FindActiveMatchIndexChangedEventHandler as windows_core::Interface >::IID
18574 }
18575}
18576impl windows_core::RuntimeName for ICoreWebView2FindActiveMatchIndexChangedEventHandler {}
18577windows_core::imp::define_interface!(
18578 ICoreWebView2FindMatchCountChangedEventHandler,
18579 ICoreWebView2FindMatchCountChangedEventHandler_Vtbl,
18580 0xda0d6827_4254_5b10_a6d9_412076afc9f3
18581);
18582windows_core::imp::interface_hierarchy!(
18583 ICoreWebView2FindMatchCountChangedEventHandler,
18584 windows_core::IUnknown
18585);
18586impl ICoreWebView2FindMatchCountChangedEventHandler {
18587 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
18588 where
18589 P0: windows_core::Param<ICoreWebView2Find>,
18590 P1: windows_core::Param<windows_core::IUnknown>,
18591 {
18592 unsafe {
18593 (windows_core::Interface::vtable(self).Invoke)(
18594 windows_core::Interface::as_raw(self),
18595 sender.param().abi(),
18596 args.param().abi(),
18597 )
18598 .ok()
18599 }
18600 }
18601}
18602#[repr(C)]
18603#[doc(hidden)]
18604pub struct ICoreWebView2FindMatchCountChangedEventHandler_Vtbl {
18605 pub base__: windows_core::IUnknown_Vtbl,
18606 pub Invoke: unsafe extern "system" fn(
18607 *mut core::ffi::c_void,
18608 *mut core::ffi::c_void,
18609 *mut core::ffi::c_void,
18610 ) -> windows_core::HRESULT,
18611}
18612pub trait ICoreWebView2FindMatchCountChangedEventHandler_Impl: windows_core::IUnknownImpl {
18613 fn Invoke(
18614 &self,
18615 sender: windows_core::Ref<ICoreWebView2Find>,
18616 args: windows_core::Ref<windows_core::IUnknown>,
18617 ) -> windows_core::Result<()>;
18618}
18619impl ICoreWebView2FindMatchCountChangedEventHandler_Vtbl {
18620 pub const fn new<
18621 Identity: ICoreWebView2FindMatchCountChangedEventHandler_Impl,
18622 const OFFSET: isize,
18623 >() -> Self {
18624 unsafe extern "system" fn Invoke<
18625 Identity: ICoreWebView2FindMatchCountChangedEventHandler_Impl,
18626 const OFFSET: isize,
18627 >(
18628 this: *mut core::ffi::c_void,
18629 sender: *mut core::ffi::c_void,
18630 args: *mut core::ffi::c_void,
18631 ) -> windows_core::HRESULT {
18632 unsafe {
18633 let this: &Identity =
18634 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18635 ICoreWebView2FindMatchCountChangedEventHandler_Impl::Invoke(
18636 this,
18637 core::mem::transmute_copy(&sender),
18638 core::mem::transmute_copy(&args),
18639 )
18640 .into()
18641 }
18642 }
18643 Self {
18644 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
18645 Invoke: Invoke::<Identity, OFFSET>,
18646 }
18647 }
18648 pub fn matches(iid: &windows_core::GUID) -> bool {
18649 iid == &<ICoreWebView2FindMatchCountChangedEventHandler as windows_core::Interface>::IID
18650 }
18651}
18652impl windows_core::RuntimeName for ICoreWebView2FindMatchCountChangedEventHandler {}
18653windows_core::imp::define_interface!(
18654 ICoreWebView2FindOptions,
18655 ICoreWebView2FindOptions_Vtbl,
18656 0xe82e3b2b_a4af_5bc6_94c6_18b44157a16c
18657);
18658windows_core::imp::interface_hierarchy!(ICoreWebView2FindOptions, windows_core::IUnknown);
18659impl ICoreWebView2FindOptions {
18660 pub unsafe fn FindTerm(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
18661 unsafe {
18662 (windows_core::Interface::vtable(self).FindTerm)(
18663 windows_core::Interface::as_raw(self),
18664 value as _,
18665 )
18666 .ok()
18667 }
18668 }
18669 pub unsafe fn SetFindTerm<P0>(&self, value: P0) -> windows_core::Result<()>
18670 where
18671 P0: windows_core::Param<windows_core::PCWSTR>,
18672 {
18673 unsafe {
18674 (windows_core::Interface::vtable(self).SetFindTerm)(
18675 windows_core::Interface::as_raw(self),
18676 value.param().abi(),
18677 )
18678 .ok()
18679 }
18680 }
18681 pub unsafe fn IsCaseSensitive(
18682 &self,
18683 value: *mut windows_core::BOOL,
18684 ) -> windows_core::Result<()> {
18685 unsafe {
18686 (windows_core::Interface::vtable(self).IsCaseSensitive)(
18687 windows_core::Interface::as_raw(self),
18688 value as _,
18689 )
18690 .ok()
18691 }
18692 }
18693 pub unsafe fn SetIsCaseSensitive(&self, value: bool) -> windows_core::Result<()> {
18694 unsafe {
18695 (windows_core::Interface::vtable(self).SetIsCaseSensitive)(
18696 windows_core::Interface::as_raw(self),
18697 value.into(),
18698 )
18699 .ok()
18700 }
18701 }
18702 pub unsafe fn ShouldHighlightAllMatches(
18703 &self,
18704 value: *mut windows_core::BOOL,
18705 ) -> windows_core::Result<()> {
18706 unsafe {
18707 (windows_core::Interface::vtable(self).ShouldHighlightAllMatches)(
18708 windows_core::Interface::as_raw(self),
18709 value as _,
18710 )
18711 .ok()
18712 }
18713 }
18714 pub unsafe fn SetShouldHighlightAllMatches(&self, value: bool) -> windows_core::Result<()> {
18715 unsafe {
18716 (windows_core::Interface::vtable(self).SetShouldHighlightAllMatches)(
18717 windows_core::Interface::as_raw(self),
18718 value.into(),
18719 )
18720 .ok()
18721 }
18722 }
18723 pub unsafe fn ShouldMatchWord(
18724 &self,
18725 value: *mut windows_core::BOOL,
18726 ) -> windows_core::Result<()> {
18727 unsafe {
18728 (windows_core::Interface::vtable(self).ShouldMatchWord)(
18729 windows_core::Interface::as_raw(self),
18730 value as _,
18731 )
18732 .ok()
18733 }
18734 }
18735 pub unsafe fn SetShouldMatchWord(&self, value: bool) -> windows_core::Result<()> {
18736 unsafe {
18737 (windows_core::Interface::vtable(self).SetShouldMatchWord)(
18738 windows_core::Interface::as_raw(self),
18739 value.into(),
18740 )
18741 .ok()
18742 }
18743 }
18744 pub unsafe fn SuppressDefaultFindDialog(
18745 &self,
18746 value: *mut windows_core::BOOL,
18747 ) -> windows_core::Result<()> {
18748 unsafe {
18749 (windows_core::Interface::vtable(self).SuppressDefaultFindDialog)(
18750 windows_core::Interface::as_raw(self),
18751 value as _,
18752 )
18753 .ok()
18754 }
18755 }
18756 pub unsafe fn SetSuppressDefaultFindDialog(&self, value: bool) -> windows_core::Result<()> {
18757 unsafe {
18758 (windows_core::Interface::vtable(self).SetSuppressDefaultFindDialog)(
18759 windows_core::Interface::as_raw(self),
18760 value.into(),
18761 )
18762 .ok()
18763 }
18764 }
18765}
18766#[repr(C)]
18767#[doc(hidden)]
18768pub struct ICoreWebView2FindOptions_Vtbl {
18769 pub base__: windows_core::IUnknown_Vtbl,
18770 pub FindTerm: unsafe extern "system" fn(
18771 *mut core::ffi::c_void,
18772 *mut windows_core::PWSTR,
18773 ) -> windows_core::HRESULT,
18774 pub SetFindTerm: unsafe extern "system" fn(
18775 *mut core::ffi::c_void,
18776 windows_core::PCWSTR,
18777 ) -> windows_core::HRESULT,
18778 pub IsCaseSensitive: unsafe extern "system" fn(
18779 *mut core::ffi::c_void,
18780 *mut windows_core::BOOL,
18781 ) -> windows_core::HRESULT,
18782 pub SetIsCaseSensitive: unsafe extern "system" fn(
18783 *mut core::ffi::c_void,
18784 windows_core::BOOL,
18785 ) -> windows_core::HRESULT,
18786 pub ShouldHighlightAllMatches: unsafe extern "system" fn(
18787 *mut core::ffi::c_void,
18788 *mut windows_core::BOOL,
18789 ) -> windows_core::HRESULT,
18790 pub SetShouldHighlightAllMatches: unsafe extern "system" fn(
18791 *mut core::ffi::c_void,
18792 windows_core::BOOL,
18793 ) -> windows_core::HRESULT,
18794 pub ShouldMatchWord: unsafe extern "system" fn(
18795 *mut core::ffi::c_void,
18796 *mut windows_core::BOOL,
18797 ) -> windows_core::HRESULT,
18798 pub SetShouldMatchWord: unsafe extern "system" fn(
18799 *mut core::ffi::c_void,
18800 windows_core::BOOL,
18801 ) -> windows_core::HRESULT,
18802 pub SuppressDefaultFindDialog: unsafe extern "system" fn(
18803 *mut core::ffi::c_void,
18804 *mut windows_core::BOOL,
18805 ) -> windows_core::HRESULT,
18806 pub SetSuppressDefaultFindDialog: unsafe extern "system" fn(
18807 *mut core::ffi::c_void,
18808 windows_core::BOOL,
18809 ) -> windows_core::HRESULT,
18810}
18811pub trait ICoreWebView2FindOptions_Impl: windows_core::IUnknownImpl {
18812 fn FindTerm(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
18813 fn SetFindTerm(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
18814 fn IsCaseSensitive(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
18815 fn SetIsCaseSensitive(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
18816 fn ShouldHighlightAllMatches(&self, value: *mut windows_core::BOOL)
18817 -> windows_core::Result<()>;
18818 fn SetShouldHighlightAllMatches(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
18819 fn ShouldMatchWord(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
18820 fn SetShouldMatchWord(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
18821 fn SuppressDefaultFindDialog(&self, value: *mut windows_core::BOOL)
18822 -> windows_core::Result<()>;
18823 fn SetSuppressDefaultFindDialog(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
18824}
18825impl ICoreWebView2FindOptions_Vtbl {
18826 pub const fn new<Identity: ICoreWebView2FindOptions_Impl, const OFFSET: isize>() -> Self {
18827 unsafe extern "system" fn FindTerm<
18828 Identity: ICoreWebView2FindOptions_Impl,
18829 const OFFSET: isize,
18830 >(
18831 this: *mut core::ffi::c_void,
18832 value: *mut windows_core::PWSTR,
18833 ) -> windows_core::HRESULT {
18834 unsafe {
18835 let this: &Identity =
18836 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18837 ICoreWebView2FindOptions_Impl::FindTerm(this, core::mem::transmute_copy(&value))
18838 .into()
18839 }
18840 }
18841 unsafe extern "system" fn SetFindTerm<
18842 Identity: ICoreWebView2FindOptions_Impl,
18843 const OFFSET: isize,
18844 >(
18845 this: *mut core::ffi::c_void,
18846 value: windows_core::PCWSTR,
18847 ) -> windows_core::HRESULT {
18848 unsafe {
18849 let this: &Identity =
18850 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18851 ICoreWebView2FindOptions_Impl::SetFindTerm(this, core::mem::transmute(&value))
18852 .into()
18853 }
18854 }
18855 unsafe extern "system" fn IsCaseSensitive<
18856 Identity: ICoreWebView2FindOptions_Impl,
18857 const OFFSET: isize,
18858 >(
18859 this: *mut core::ffi::c_void,
18860 value: *mut windows_core::BOOL,
18861 ) -> windows_core::HRESULT {
18862 unsafe {
18863 let this: &Identity =
18864 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18865 ICoreWebView2FindOptions_Impl::IsCaseSensitive(
18866 this,
18867 core::mem::transmute_copy(&value),
18868 )
18869 .into()
18870 }
18871 }
18872 unsafe extern "system" fn SetIsCaseSensitive<
18873 Identity: ICoreWebView2FindOptions_Impl,
18874 const OFFSET: isize,
18875 >(
18876 this: *mut core::ffi::c_void,
18877 value: windows_core::BOOL,
18878 ) -> windows_core::HRESULT {
18879 unsafe {
18880 let this: &Identity =
18881 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18882 ICoreWebView2FindOptions_Impl::SetIsCaseSensitive(
18883 this,
18884 core::mem::transmute_copy(&value),
18885 )
18886 .into()
18887 }
18888 }
18889 unsafe extern "system" fn ShouldHighlightAllMatches<
18890 Identity: ICoreWebView2FindOptions_Impl,
18891 const OFFSET: isize,
18892 >(
18893 this: *mut core::ffi::c_void,
18894 value: *mut windows_core::BOOL,
18895 ) -> windows_core::HRESULT {
18896 unsafe {
18897 let this: &Identity =
18898 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18899 ICoreWebView2FindOptions_Impl::ShouldHighlightAllMatches(
18900 this,
18901 core::mem::transmute_copy(&value),
18902 )
18903 .into()
18904 }
18905 }
18906 unsafe extern "system" fn SetShouldHighlightAllMatches<
18907 Identity: ICoreWebView2FindOptions_Impl,
18908 const OFFSET: isize,
18909 >(
18910 this: *mut core::ffi::c_void,
18911 value: windows_core::BOOL,
18912 ) -> windows_core::HRESULT {
18913 unsafe {
18914 let this: &Identity =
18915 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18916 ICoreWebView2FindOptions_Impl::SetShouldHighlightAllMatches(
18917 this,
18918 core::mem::transmute_copy(&value),
18919 )
18920 .into()
18921 }
18922 }
18923 unsafe extern "system" fn ShouldMatchWord<
18924 Identity: ICoreWebView2FindOptions_Impl,
18925 const OFFSET: isize,
18926 >(
18927 this: *mut core::ffi::c_void,
18928 value: *mut windows_core::BOOL,
18929 ) -> windows_core::HRESULT {
18930 unsafe {
18931 let this: &Identity =
18932 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18933 ICoreWebView2FindOptions_Impl::ShouldMatchWord(
18934 this,
18935 core::mem::transmute_copy(&value),
18936 )
18937 .into()
18938 }
18939 }
18940 unsafe extern "system" fn SetShouldMatchWord<
18941 Identity: ICoreWebView2FindOptions_Impl,
18942 const OFFSET: isize,
18943 >(
18944 this: *mut core::ffi::c_void,
18945 value: windows_core::BOOL,
18946 ) -> windows_core::HRESULT {
18947 unsafe {
18948 let this: &Identity =
18949 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18950 ICoreWebView2FindOptions_Impl::SetShouldMatchWord(
18951 this,
18952 core::mem::transmute_copy(&value),
18953 )
18954 .into()
18955 }
18956 }
18957 unsafe extern "system" fn SuppressDefaultFindDialog<
18958 Identity: ICoreWebView2FindOptions_Impl,
18959 const OFFSET: isize,
18960 >(
18961 this: *mut core::ffi::c_void,
18962 value: *mut windows_core::BOOL,
18963 ) -> windows_core::HRESULT {
18964 unsafe {
18965 let this: &Identity =
18966 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18967 ICoreWebView2FindOptions_Impl::SuppressDefaultFindDialog(
18968 this,
18969 core::mem::transmute_copy(&value),
18970 )
18971 .into()
18972 }
18973 }
18974 unsafe extern "system" fn SetSuppressDefaultFindDialog<
18975 Identity: ICoreWebView2FindOptions_Impl,
18976 const OFFSET: isize,
18977 >(
18978 this: *mut core::ffi::c_void,
18979 value: windows_core::BOOL,
18980 ) -> windows_core::HRESULT {
18981 unsafe {
18982 let this: &Identity =
18983 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18984 ICoreWebView2FindOptions_Impl::SetSuppressDefaultFindDialog(
18985 this,
18986 core::mem::transmute_copy(&value),
18987 )
18988 .into()
18989 }
18990 }
18991 Self {
18992 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
18993 FindTerm: FindTerm::<Identity, OFFSET>,
18994 SetFindTerm: SetFindTerm::<Identity, OFFSET>,
18995 IsCaseSensitive: IsCaseSensitive::<Identity, OFFSET>,
18996 SetIsCaseSensitive: SetIsCaseSensitive::<Identity, OFFSET>,
18997 ShouldHighlightAllMatches: ShouldHighlightAllMatches::<Identity, OFFSET>,
18998 SetShouldHighlightAllMatches: SetShouldHighlightAllMatches::<Identity, OFFSET>,
18999 ShouldMatchWord: ShouldMatchWord::<Identity, OFFSET>,
19000 SetShouldMatchWord: SetShouldMatchWord::<Identity, OFFSET>,
19001 SuppressDefaultFindDialog: SuppressDefaultFindDialog::<Identity, OFFSET>,
19002 SetSuppressDefaultFindDialog: SetSuppressDefaultFindDialog::<Identity, OFFSET>,
19003 }
19004 }
19005 pub fn matches(iid: &windows_core::GUID) -> bool {
19006 iid == &<ICoreWebView2FindOptions as windows_core::Interface>::IID
19007 }
19008}
19009impl windows_core::RuntimeName for ICoreWebView2FindOptions {}
19010windows_core::imp::define_interface!(
19011 ICoreWebView2FindStartCompletedHandler,
19012 ICoreWebView2FindStartCompletedHandler_Vtbl,
19013 0x6a90ecaf_44b0_5bd9_8f07_1967e17be9fb
19014);
19015windows_core::imp::interface_hierarchy!(
19016 ICoreWebView2FindStartCompletedHandler,
19017 windows_core::IUnknown
19018);
19019impl ICoreWebView2FindStartCompletedHandler {
19020 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
19021 unsafe {
19022 (windows_core::Interface::vtable(self).Invoke)(
19023 windows_core::Interface::as_raw(self),
19024 errorcode,
19025 )
19026 .ok()
19027 }
19028 }
19029}
19030#[repr(C)]
19031#[doc(hidden)]
19032pub struct ICoreWebView2FindStartCompletedHandler_Vtbl {
19033 pub base__: windows_core::IUnknown_Vtbl,
19034 pub Invoke: unsafe extern "system" fn(
19035 *mut core::ffi::c_void,
19036 windows_core::HRESULT,
19037 ) -> windows_core::HRESULT,
19038}
19039pub trait ICoreWebView2FindStartCompletedHandler_Impl: windows_core::IUnknownImpl {
19040 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
19041}
19042impl ICoreWebView2FindStartCompletedHandler_Vtbl {
19043 pub const fn new<Identity: ICoreWebView2FindStartCompletedHandler_Impl, const OFFSET: isize>(
19044 ) -> Self {
19045 unsafe extern "system" fn Invoke<
19046 Identity: ICoreWebView2FindStartCompletedHandler_Impl,
19047 const OFFSET: isize,
19048 >(
19049 this: *mut core::ffi::c_void,
19050 errorcode: windows_core::HRESULT,
19051 ) -> windows_core::HRESULT {
19052 unsafe {
19053 let this: &Identity =
19054 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19055 ICoreWebView2FindStartCompletedHandler_Impl::Invoke(
19056 this,
19057 core::mem::transmute_copy(&errorcode),
19058 )
19059 .into()
19060 }
19061 }
19062 Self {
19063 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19064 Invoke: Invoke::<Identity, OFFSET>,
19065 }
19066 }
19067 pub fn matches(iid: &windows_core::GUID) -> bool {
19068 iid == &<ICoreWebView2FindStartCompletedHandler as windows_core::Interface>::IID
19069 }
19070}
19071impl windows_core::RuntimeName for ICoreWebView2FindStartCompletedHandler {}
19072windows_core::imp::define_interface!(
19073 ICoreWebView2FocusChangedEventHandler,
19074 ICoreWebView2FocusChangedEventHandler_Vtbl,
19075 0x05ea24bd_6452_4926_9014_4b82b498135d
19076);
19077windows_core::imp::interface_hierarchy!(
19078 ICoreWebView2FocusChangedEventHandler,
19079 windows_core::IUnknown
19080);
19081impl ICoreWebView2FocusChangedEventHandler {
19082 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19083 where
19084 P0: windows_core::Param<ICoreWebView2Controller>,
19085 P1: windows_core::Param<windows_core::IUnknown>,
19086 {
19087 unsafe {
19088 (windows_core::Interface::vtable(self).Invoke)(
19089 windows_core::Interface::as_raw(self),
19090 sender.param().abi(),
19091 args.param().abi(),
19092 )
19093 .ok()
19094 }
19095 }
19096}
19097#[repr(C)]
19098#[doc(hidden)]
19099pub struct ICoreWebView2FocusChangedEventHandler_Vtbl {
19100 pub base__: windows_core::IUnknown_Vtbl,
19101 pub Invoke: unsafe extern "system" fn(
19102 *mut core::ffi::c_void,
19103 *mut core::ffi::c_void,
19104 *mut core::ffi::c_void,
19105 ) -> windows_core::HRESULT,
19106}
19107pub trait ICoreWebView2FocusChangedEventHandler_Impl: windows_core::IUnknownImpl {
19108 fn Invoke(
19109 &self,
19110 sender: windows_core::Ref<ICoreWebView2Controller>,
19111 args: windows_core::Ref<windows_core::IUnknown>,
19112 ) -> windows_core::Result<()>;
19113}
19114impl ICoreWebView2FocusChangedEventHandler_Vtbl {
19115 pub const fn new<Identity: ICoreWebView2FocusChangedEventHandler_Impl, const OFFSET: isize>(
19116 ) -> Self {
19117 unsafe extern "system" fn Invoke<
19118 Identity: ICoreWebView2FocusChangedEventHandler_Impl,
19119 const OFFSET: isize,
19120 >(
19121 this: *mut core::ffi::c_void,
19122 sender: *mut core::ffi::c_void,
19123 args: *mut core::ffi::c_void,
19124 ) -> windows_core::HRESULT {
19125 unsafe {
19126 let this: &Identity =
19127 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19128 ICoreWebView2FocusChangedEventHandler_Impl::Invoke(
19129 this,
19130 core::mem::transmute_copy(&sender),
19131 core::mem::transmute_copy(&args),
19132 )
19133 .into()
19134 }
19135 }
19136 Self {
19137 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19138 Invoke: Invoke::<Identity, OFFSET>,
19139 }
19140 }
19141 pub fn matches(iid: &windows_core::GUID) -> bool {
19142 iid == &<ICoreWebView2FocusChangedEventHandler as windows_core::Interface>::IID
19143 }
19144}
19145impl windows_core::RuntimeName for ICoreWebView2FocusChangedEventHandler {}
19146windows_core::imp::define_interface!(
19147 ICoreWebView2Frame,
19148 ICoreWebView2Frame_Vtbl,
19149 0xf1131a5e_9ba9_11eb_a8b3_0242ac130003
19150);
19151windows_core::imp::interface_hierarchy!(ICoreWebView2Frame, windows_core::IUnknown);
19152impl ICoreWebView2Frame {
19153 pub unsafe fn Name(&self, name: *mut windows_core::PWSTR) -> windows_core::Result<()> {
19154 unsafe {
19155 (windows_core::Interface::vtable(self).Name)(
19156 windows_core::Interface::as_raw(self),
19157 name as _,
19158 )
19159 .ok()
19160 }
19161 }
19162 pub unsafe fn add_NameChanged<P0>(
19163 &self,
19164 eventhandler: P0,
19165 token: *mut i64,
19166 ) -> windows_core::Result<()>
19167 where
19168 P0: windows_core::Param<ICoreWebView2FrameNameChangedEventHandler>,
19169 {
19170 unsafe {
19171 (windows_core::Interface::vtable(self).add_NameChanged)(
19172 windows_core::Interface::as_raw(self),
19173 eventhandler.param().abi(),
19174 token as _,
19175 )
19176 .ok()
19177 }
19178 }
19179 pub unsafe fn remove_NameChanged(&self, token: i64) -> windows_core::Result<()> {
19180 unsafe {
19181 (windows_core::Interface::vtable(self).remove_NameChanged)(
19182 windows_core::Interface::as_raw(self),
19183 token,
19184 )
19185 .ok()
19186 }
19187 }
19188 pub unsafe fn AddHostObjectToScriptWithOrigins<P0>(
19189 &self,
19190 name: P0,
19191 object: *mut windows::Win32::System::Variant::VARIANT,
19192 originscount: u32,
19193 origins: *const windows_core::PCWSTR,
19194 ) -> windows_core::Result<()>
19195 where
19196 P0: windows_core::Param<windows_core::PCWSTR>,
19197 {
19198 unsafe {
19199 (windows_core::Interface::vtable(self).AddHostObjectToScriptWithOrigins)(
19200 windows_core::Interface::as_raw(self),
19201 name.param().abi(),
19202 core::mem::transmute(object),
19203 originscount,
19204 origins,
19205 )
19206 .ok()
19207 }
19208 }
19209 pub unsafe fn RemoveHostObjectFromScript<P0>(&self, name: P0) -> windows_core::Result<()>
19210 where
19211 P0: windows_core::Param<windows_core::PCWSTR>,
19212 {
19213 unsafe {
19214 (windows_core::Interface::vtable(self).RemoveHostObjectFromScript)(
19215 windows_core::Interface::as_raw(self),
19216 name.param().abi(),
19217 )
19218 .ok()
19219 }
19220 }
19221 pub unsafe fn add_Destroyed<P0>(
19222 &self,
19223 eventhandler: P0,
19224 token: *mut i64,
19225 ) -> windows_core::Result<()>
19226 where
19227 P0: windows_core::Param<ICoreWebView2FrameDestroyedEventHandler>,
19228 {
19229 unsafe {
19230 (windows_core::Interface::vtable(self).add_Destroyed)(
19231 windows_core::Interface::as_raw(self),
19232 eventhandler.param().abi(),
19233 token as _,
19234 )
19235 .ok()
19236 }
19237 }
19238 pub unsafe fn remove_Destroyed(&self, token: i64) -> windows_core::Result<()> {
19239 unsafe {
19240 (windows_core::Interface::vtable(self).remove_Destroyed)(
19241 windows_core::Interface::as_raw(self),
19242 token,
19243 )
19244 .ok()
19245 }
19246 }
19247 pub unsafe fn IsDestroyed(
19248 &self,
19249 destroyed: *mut windows_core::BOOL,
19250 ) -> windows_core::Result<()> {
19251 unsafe {
19252 (windows_core::Interface::vtable(self).IsDestroyed)(
19253 windows_core::Interface::as_raw(self),
19254 destroyed as _,
19255 )
19256 .ok()
19257 }
19258 }
19259}
19260#[repr(C)]
19261#[doc(hidden)]
19262pub struct ICoreWebView2Frame_Vtbl {
19263 pub base__: windows_core::IUnknown_Vtbl,
19264 pub Name: unsafe extern "system" fn(
19265 *mut core::ffi::c_void,
19266 *mut windows_core::PWSTR,
19267 ) -> windows_core::HRESULT,
19268 pub add_NameChanged: unsafe extern "system" fn(
19269 *mut core::ffi::c_void,
19270 *mut core::ffi::c_void,
19271 *mut i64,
19272 ) -> windows_core::HRESULT,
19273 pub remove_NameChanged:
19274 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
19275 pub AddHostObjectToScriptWithOrigins: unsafe extern "system" fn(
19276 *mut core::ffi::c_void,
19277 windows_core::PCWSTR,
19278 *mut windows::Win32::System::Variant::VARIANT,
19279 u32,
19280 *const windows_core::PCWSTR,
19281 ) -> windows_core::HRESULT,
19282 pub RemoveHostObjectFromScript: unsafe extern "system" fn(
19283 *mut core::ffi::c_void,
19284 windows_core::PCWSTR,
19285 ) -> windows_core::HRESULT,
19286 pub add_Destroyed: unsafe extern "system" fn(
19287 *mut core::ffi::c_void,
19288 *mut core::ffi::c_void,
19289 *mut i64,
19290 ) -> windows_core::HRESULT,
19291 pub remove_Destroyed:
19292 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
19293 pub IsDestroyed: unsafe extern "system" fn(
19294 *mut core::ffi::c_void,
19295 *mut windows_core::BOOL,
19296 ) -> windows_core::HRESULT,
19297}
19298pub trait ICoreWebView2Frame_Impl: windows_core::IUnknownImpl {
19299 fn Name(&self, name: *mut windows_core::PWSTR) -> windows_core::Result<()>;
19300 fn add_NameChanged(
19301 &self,
19302 eventhandler: windows_core::Ref<ICoreWebView2FrameNameChangedEventHandler>,
19303 token: *mut i64,
19304 ) -> windows_core::Result<()>;
19305 fn remove_NameChanged(&self, token: i64) -> windows_core::Result<()>;
19306 fn AddHostObjectToScriptWithOrigins(
19307 &self,
19308 name: &windows_core::PCWSTR,
19309 object: *mut windows::Win32::System::Variant::VARIANT,
19310 originscount: u32,
19311 origins: *const windows_core::PCWSTR,
19312 ) -> windows_core::Result<()>;
19313 fn RemoveHostObjectFromScript(&self, name: &windows_core::PCWSTR) -> windows_core::Result<()>;
19314 fn add_Destroyed(
19315 &self,
19316 eventhandler: windows_core::Ref<ICoreWebView2FrameDestroyedEventHandler>,
19317 token: *mut i64,
19318 ) -> windows_core::Result<()>;
19319 fn remove_Destroyed(&self, token: i64) -> windows_core::Result<()>;
19320 fn IsDestroyed(&self, destroyed: *mut windows_core::BOOL) -> windows_core::Result<()>;
19321}
19322impl ICoreWebView2Frame_Vtbl {
19323 pub const fn new<Identity: ICoreWebView2Frame_Impl, const OFFSET: isize>() -> Self {
19324 unsafe extern "system" fn Name<Identity: ICoreWebView2Frame_Impl, const OFFSET: isize>(
19325 this: *mut core::ffi::c_void,
19326 name: *mut windows_core::PWSTR,
19327 ) -> windows_core::HRESULT {
19328 unsafe {
19329 let this: &Identity =
19330 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19331 ICoreWebView2Frame_Impl::Name(this, core::mem::transmute_copy(&name)).into()
19332 }
19333 }
19334 unsafe extern "system" fn add_NameChanged<
19335 Identity: ICoreWebView2Frame_Impl,
19336 const OFFSET: isize,
19337 >(
19338 this: *mut core::ffi::c_void,
19339 eventhandler: *mut core::ffi::c_void,
19340 token: *mut i64,
19341 ) -> windows_core::HRESULT {
19342 unsafe {
19343 let this: &Identity =
19344 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19345 ICoreWebView2Frame_Impl::add_NameChanged(
19346 this,
19347 core::mem::transmute_copy(&eventhandler),
19348 core::mem::transmute_copy(&token),
19349 )
19350 .into()
19351 }
19352 }
19353 unsafe extern "system" fn remove_NameChanged<
19354 Identity: ICoreWebView2Frame_Impl,
19355 const OFFSET: isize,
19356 >(
19357 this: *mut core::ffi::c_void,
19358 token: i64,
19359 ) -> windows_core::HRESULT {
19360 unsafe {
19361 let this: &Identity =
19362 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19363 ICoreWebView2Frame_Impl::remove_NameChanged(this, core::mem::transmute_copy(&token))
19364 .into()
19365 }
19366 }
19367 unsafe extern "system" fn AddHostObjectToScriptWithOrigins<
19368 Identity: ICoreWebView2Frame_Impl,
19369 const OFFSET: isize,
19370 >(
19371 this: *mut core::ffi::c_void,
19372 name: windows_core::PCWSTR,
19373 object: *mut windows::Win32::System::Variant::VARIANT,
19374 originscount: u32,
19375 origins: *const windows_core::PCWSTR,
19376 ) -> windows_core::HRESULT {
19377 unsafe {
19378 let this: &Identity =
19379 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19380 ICoreWebView2Frame_Impl::AddHostObjectToScriptWithOrigins(
19381 this,
19382 core::mem::transmute(&name),
19383 core::mem::transmute_copy(&object),
19384 core::mem::transmute_copy(&originscount),
19385 core::mem::transmute_copy(&origins),
19386 )
19387 .into()
19388 }
19389 }
19390 unsafe extern "system" fn RemoveHostObjectFromScript<
19391 Identity: ICoreWebView2Frame_Impl,
19392 const OFFSET: isize,
19393 >(
19394 this: *mut core::ffi::c_void,
19395 name: windows_core::PCWSTR,
19396 ) -> windows_core::HRESULT {
19397 unsafe {
19398 let this: &Identity =
19399 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19400 ICoreWebView2Frame_Impl::RemoveHostObjectFromScript(
19401 this,
19402 core::mem::transmute(&name),
19403 )
19404 .into()
19405 }
19406 }
19407 unsafe extern "system" fn add_Destroyed<
19408 Identity: ICoreWebView2Frame_Impl,
19409 const OFFSET: isize,
19410 >(
19411 this: *mut core::ffi::c_void,
19412 eventhandler: *mut core::ffi::c_void,
19413 token: *mut i64,
19414 ) -> windows_core::HRESULT {
19415 unsafe {
19416 let this: &Identity =
19417 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19418 ICoreWebView2Frame_Impl::add_Destroyed(
19419 this,
19420 core::mem::transmute_copy(&eventhandler),
19421 core::mem::transmute_copy(&token),
19422 )
19423 .into()
19424 }
19425 }
19426 unsafe extern "system" fn remove_Destroyed<
19427 Identity: ICoreWebView2Frame_Impl,
19428 const OFFSET: isize,
19429 >(
19430 this: *mut core::ffi::c_void,
19431 token: i64,
19432 ) -> windows_core::HRESULT {
19433 unsafe {
19434 let this: &Identity =
19435 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19436 ICoreWebView2Frame_Impl::remove_Destroyed(this, core::mem::transmute_copy(&token))
19437 .into()
19438 }
19439 }
19440 unsafe extern "system" fn IsDestroyed<
19441 Identity: ICoreWebView2Frame_Impl,
19442 const OFFSET: isize,
19443 >(
19444 this: *mut core::ffi::c_void,
19445 destroyed: *mut windows_core::BOOL,
19446 ) -> windows_core::HRESULT {
19447 unsafe {
19448 let this: &Identity =
19449 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19450 ICoreWebView2Frame_Impl::IsDestroyed(this, core::mem::transmute_copy(&destroyed))
19451 .into()
19452 }
19453 }
19454 Self {
19455 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19456 Name: Name::<Identity, OFFSET>,
19457 add_NameChanged: add_NameChanged::<Identity, OFFSET>,
19458 remove_NameChanged: remove_NameChanged::<Identity, OFFSET>,
19459 AddHostObjectToScriptWithOrigins: AddHostObjectToScriptWithOrigins::<Identity, OFFSET>,
19460 RemoveHostObjectFromScript: RemoveHostObjectFromScript::<Identity, OFFSET>,
19461 add_Destroyed: add_Destroyed::<Identity, OFFSET>,
19462 remove_Destroyed: remove_Destroyed::<Identity, OFFSET>,
19463 IsDestroyed: IsDestroyed::<Identity, OFFSET>,
19464 }
19465 }
19466 pub fn matches(iid: &windows_core::GUID) -> bool {
19467 iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
19468 }
19469}
19470impl windows_core::RuntimeName for ICoreWebView2Frame {}
19471windows_core::imp::define_interface!(
19472 ICoreWebView2Frame2,
19473 ICoreWebView2Frame2_Vtbl,
19474 0x7a6a5834_d185_4dbf_b63f_4a9bc43107d4
19475);
19476impl core::ops::Deref for ICoreWebView2Frame2 {
19477 type Target = ICoreWebView2Frame;
19478 fn deref(&self) -> &Self::Target {
19479 unsafe { core::mem::transmute(self) }
19480 }
19481}
19482windows_core::imp::interface_hierarchy!(
19483 ICoreWebView2Frame2,
19484 windows_core::IUnknown,
19485 ICoreWebView2Frame
19486);
19487impl ICoreWebView2Frame2 {
19488 pub unsafe fn add_NavigationStarting<P0>(
19489 &self,
19490 eventhandler: P0,
19491 token: *mut i64,
19492 ) -> windows_core::Result<()>
19493 where
19494 P0: windows_core::Param<ICoreWebView2FrameNavigationStartingEventHandler>,
19495 {
19496 unsafe {
19497 (windows_core::Interface::vtable(self).add_NavigationStarting)(
19498 windows_core::Interface::as_raw(self),
19499 eventhandler.param().abi(),
19500 token as _,
19501 )
19502 .ok()
19503 }
19504 }
19505 pub unsafe fn remove_NavigationStarting(&self, token: i64) -> windows_core::Result<()> {
19506 unsafe {
19507 (windows_core::Interface::vtable(self).remove_NavigationStarting)(
19508 windows_core::Interface::as_raw(self),
19509 token,
19510 )
19511 .ok()
19512 }
19513 }
19514 pub unsafe fn add_ContentLoading<P0>(
19515 &self,
19516 eventhandler: P0,
19517 token: *mut i64,
19518 ) -> windows_core::Result<()>
19519 where
19520 P0: windows_core::Param<ICoreWebView2FrameContentLoadingEventHandler>,
19521 {
19522 unsafe {
19523 (windows_core::Interface::vtable(self).add_ContentLoading)(
19524 windows_core::Interface::as_raw(self),
19525 eventhandler.param().abi(),
19526 token as _,
19527 )
19528 .ok()
19529 }
19530 }
19531 pub unsafe fn remove_ContentLoading(&self, token: i64) -> windows_core::Result<()> {
19532 unsafe {
19533 (windows_core::Interface::vtable(self).remove_ContentLoading)(
19534 windows_core::Interface::as_raw(self),
19535 token,
19536 )
19537 .ok()
19538 }
19539 }
19540 pub unsafe fn add_NavigationCompleted<P0>(
19541 &self,
19542 eventhandler: P0,
19543 token: *mut i64,
19544 ) -> windows_core::Result<()>
19545 where
19546 P0: windows_core::Param<ICoreWebView2FrameNavigationCompletedEventHandler>,
19547 {
19548 unsafe {
19549 (windows_core::Interface::vtable(self).add_NavigationCompleted)(
19550 windows_core::Interface::as_raw(self),
19551 eventhandler.param().abi(),
19552 token as _,
19553 )
19554 .ok()
19555 }
19556 }
19557 pub unsafe fn remove_NavigationCompleted(&self, token: i64) -> windows_core::Result<()> {
19558 unsafe {
19559 (windows_core::Interface::vtable(self).remove_NavigationCompleted)(
19560 windows_core::Interface::as_raw(self),
19561 token,
19562 )
19563 .ok()
19564 }
19565 }
19566 pub unsafe fn add_DOMContentLoaded<P0>(
19567 &self,
19568 eventhandler: P0,
19569 token: *mut i64,
19570 ) -> windows_core::Result<()>
19571 where
19572 P0: windows_core::Param<ICoreWebView2FrameDOMContentLoadedEventHandler>,
19573 {
19574 unsafe {
19575 (windows_core::Interface::vtable(self).add_DOMContentLoaded)(
19576 windows_core::Interface::as_raw(self),
19577 eventhandler.param().abi(),
19578 token as _,
19579 )
19580 .ok()
19581 }
19582 }
19583 pub unsafe fn remove_DOMContentLoaded(&self, token: i64) -> windows_core::Result<()> {
19584 unsafe {
19585 (windows_core::Interface::vtable(self).remove_DOMContentLoaded)(
19586 windows_core::Interface::as_raw(self),
19587 token,
19588 )
19589 .ok()
19590 }
19591 }
19592 pub unsafe fn ExecuteScript<P0, P1>(
19593 &self,
19594 javascript: P0,
19595 handler: P1,
19596 ) -> windows_core::Result<()>
19597 where
19598 P0: windows_core::Param<windows_core::PCWSTR>,
19599 P1: windows_core::Param<ICoreWebView2ExecuteScriptCompletedHandler>,
19600 {
19601 unsafe {
19602 (windows_core::Interface::vtable(self).ExecuteScript)(
19603 windows_core::Interface::as_raw(self),
19604 javascript.param().abi(),
19605 handler.param().abi(),
19606 )
19607 .ok()
19608 }
19609 }
19610 pub unsafe fn PostWebMessageAsJson<P0>(&self, webmessageasjson: P0) -> windows_core::Result<()>
19611 where
19612 P0: windows_core::Param<windows_core::PCWSTR>,
19613 {
19614 unsafe {
19615 (windows_core::Interface::vtable(self).PostWebMessageAsJson)(
19616 windows_core::Interface::as_raw(self),
19617 webmessageasjson.param().abi(),
19618 )
19619 .ok()
19620 }
19621 }
19622 pub unsafe fn PostWebMessageAsString<P0>(
19623 &self,
19624 webmessageasstring: P0,
19625 ) -> windows_core::Result<()>
19626 where
19627 P0: windows_core::Param<windows_core::PCWSTR>,
19628 {
19629 unsafe {
19630 (windows_core::Interface::vtable(self).PostWebMessageAsString)(
19631 windows_core::Interface::as_raw(self),
19632 webmessageasstring.param().abi(),
19633 )
19634 .ok()
19635 }
19636 }
19637 pub unsafe fn add_WebMessageReceived<P0>(
19638 &self,
19639 handler: P0,
19640 token: *mut i64,
19641 ) -> windows_core::Result<()>
19642 where
19643 P0: windows_core::Param<ICoreWebView2FrameWebMessageReceivedEventHandler>,
19644 {
19645 unsafe {
19646 (windows_core::Interface::vtable(self).add_WebMessageReceived)(
19647 windows_core::Interface::as_raw(self),
19648 handler.param().abi(),
19649 token as _,
19650 )
19651 .ok()
19652 }
19653 }
19654 pub unsafe fn remove_WebMessageReceived(&self, token: i64) -> windows_core::Result<()> {
19655 unsafe {
19656 (windows_core::Interface::vtable(self).remove_WebMessageReceived)(
19657 windows_core::Interface::as_raw(self),
19658 token,
19659 )
19660 .ok()
19661 }
19662 }
19663}
19664#[repr(C)]
19665#[doc(hidden)]
19666pub struct ICoreWebView2Frame2_Vtbl {
19667 pub base__: ICoreWebView2Frame_Vtbl,
19668 pub add_NavigationStarting: unsafe extern "system" fn(
19669 *mut core::ffi::c_void,
19670 *mut core::ffi::c_void,
19671 *mut i64,
19672 ) -> windows_core::HRESULT,
19673 pub remove_NavigationStarting:
19674 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
19675 pub add_ContentLoading: unsafe extern "system" fn(
19676 *mut core::ffi::c_void,
19677 *mut core::ffi::c_void,
19678 *mut i64,
19679 ) -> windows_core::HRESULT,
19680 pub remove_ContentLoading:
19681 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
19682 pub add_NavigationCompleted: unsafe extern "system" fn(
19683 *mut core::ffi::c_void,
19684 *mut core::ffi::c_void,
19685 *mut i64,
19686 ) -> windows_core::HRESULT,
19687 pub remove_NavigationCompleted:
19688 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
19689 pub add_DOMContentLoaded: unsafe extern "system" fn(
19690 *mut core::ffi::c_void,
19691 *mut core::ffi::c_void,
19692 *mut i64,
19693 ) -> windows_core::HRESULT,
19694 pub remove_DOMContentLoaded:
19695 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
19696 pub ExecuteScript: unsafe extern "system" fn(
19697 *mut core::ffi::c_void,
19698 windows_core::PCWSTR,
19699 *mut core::ffi::c_void,
19700 ) -> windows_core::HRESULT,
19701 pub PostWebMessageAsJson: unsafe extern "system" fn(
19702 *mut core::ffi::c_void,
19703 windows_core::PCWSTR,
19704 ) -> windows_core::HRESULT,
19705 pub PostWebMessageAsString: unsafe extern "system" fn(
19706 *mut core::ffi::c_void,
19707 windows_core::PCWSTR,
19708 ) -> windows_core::HRESULT,
19709 pub add_WebMessageReceived: unsafe extern "system" fn(
19710 *mut core::ffi::c_void,
19711 *mut core::ffi::c_void,
19712 *mut i64,
19713 ) -> windows_core::HRESULT,
19714 pub remove_WebMessageReceived:
19715 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
19716}
19717pub trait ICoreWebView2Frame2_Impl: ICoreWebView2Frame_Impl {
19718 fn add_NavigationStarting(
19719 &self,
19720 eventhandler: windows_core::Ref<ICoreWebView2FrameNavigationStartingEventHandler>,
19721 token: *mut i64,
19722 ) -> windows_core::Result<()>;
19723 fn remove_NavigationStarting(&self, token: i64) -> windows_core::Result<()>;
19724 fn add_ContentLoading(
19725 &self,
19726 eventhandler: windows_core::Ref<ICoreWebView2FrameContentLoadingEventHandler>,
19727 token: *mut i64,
19728 ) -> windows_core::Result<()>;
19729 fn remove_ContentLoading(&self, token: i64) -> windows_core::Result<()>;
19730 fn add_NavigationCompleted(
19731 &self,
19732 eventhandler: windows_core::Ref<ICoreWebView2FrameNavigationCompletedEventHandler>,
19733 token: *mut i64,
19734 ) -> windows_core::Result<()>;
19735 fn remove_NavigationCompleted(&self, token: i64) -> windows_core::Result<()>;
19736 fn add_DOMContentLoaded(
19737 &self,
19738 eventhandler: windows_core::Ref<ICoreWebView2FrameDOMContentLoadedEventHandler>,
19739 token: *mut i64,
19740 ) -> windows_core::Result<()>;
19741 fn remove_DOMContentLoaded(&self, token: i64) -> windows_core::Result<()>;
19742 fn ExecuteScript(
19743 &self,
19744 javascript: &windows_core::PCWSTR,
19745 handler: windows_core::Ref<ICoreWebView2ExecuteScriptCompletedHandler>,
19746 ) -> windows_core::Result<()>;
19747 fn PostWebMessageAsJson(
19748 &self,
19749 webmessageasjson: &windows_core::PCWSTR,
19750 ) -> windows_core::Result<()>;
19751 fn PostWebMessageAsString(
19752 &self,
19753 webmessageasstring: &windows_core::PCWSTR,
19754 ) -> windows_core::Result<()>;
19755 fn add_WebMessageReceived(
19756 &self,
19757 handler: windows_core::Ref<ICoreWebView2FrameWebMessageReceivedEventHandler>,
19758 token: *mut i64,
19759 ) -> windows_core::Result<()>;
19760 fn remove_WebMessageReceived(&self, token: i64) -> windows_core::Result<()>;
19761}
19762impl ICoreWebView2Frame2_Vtbl {
19763 pub const fn new<Identity: ICoreWebView2Frame2_Impl, const OFFSET: isize>() -> Self {
19764 unsafe extern "system" fn add_NavigationStarting<
19765 Identity: ICoreWebView2Frame2_Impl,
19766 const OFFSET: isize,
19767 >(
19768 this: *mut core::ffi::c_void,
19769 eventhandler: *mut core::ffi::c_void,
19770 token: *mut i64,
19771 ) -> windows_core::HRESULT {
19772 unsafe {
19773 let this: &Identity =
19774 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19775 ICoreWebView2Frame2_Impl::add_NavigationStarting(
19776 this,
19777 core::mem::transmute_copy(&eventhandler),
19778 core::mem::transmute_copy(&token),
19779 )
19780 .into()
19781 }
19782 }
19783 unsafe extern "system" fn remove_NavigationStarting<
19784 Identity: ICoreWebView2Frame2_Impl,
19785 const OFFSET: isize,
19786 >(
19787 this: *mut core::ffi::c_void,
19788 token: i64,
19789 ) -> windows_core::HRESULT {
19790 unsafe {
19791 let this: &Identity =
19792 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19793 ICoreWebView2Frame2_Impl::remove_NavigationStarting(
19794 this,
19795 core::mem::transmute_copy(&token),
19796 )
19797 .into()
19798 }
19799 }
19800 unsafe extern "system" fn add_ContentLoading<
19801 Identity: ICoreWebView2Frame2_Impl,
19802 const OFFSET: isize,
19803 >(
19804 this: *mut core::ffi::c_void,
19805 eventhandler: *mut core::ffi::c_void,
19806 token: *mut i64,
19807 ) -> windows_core::HRESULT {
19808 unsafe {
19809 let this: &Identity =
19810 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19811 ICoreWebView2Frame2_Impl::add_ContentLoading(
19812 this,
19813 core::mem::transmute_copy(&eventhandler),
19814 core::mem::transmute_copy(&token),
19815 )
19816 .into()
19817 }
19818 }
19819 unsafe extern "system" fn remove_ContentLoading<
19820 Identity: ICoreWebView2Frame2_Impl,
19821 const OFFSET: isize,
19822 >(
19823 this: *mut core::ffi::c_void,
19824 token: i64,
19825 ) -> windows_core::HRESULT {
19826 unsafe {
19827 let this: &Identity =
19828 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19829 ICoreWebView2Frame2_Impl::remove_ContentLoading(
19830 this,
19831 core::mem::transmute_copy(&token),
19832 )
19833 .into()
19834 }
19835 }
19836 unsafe extern "system" fn add_NavigationCompleted<
19837 Identity: ICoreWebView2Frame2_Impl,
19838 const OFFSET: isize,
19839 >(
19840 this: *mut core::ffi::c_void,
19841 eventhandler: *mut core::ffi::c_void,
19842 token: *mut i64,
19843 ) -> windows_core::HRESULT {
19844 unsafe {
19845 let this: &Identity =
19846 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19847 ICoreWebView2Frame2_Impl::add_NavigationCompleted(
19848 this,
19849 core::mem::transmute_copy(&eventhandler),
19850 core::mem::transmute_copy(&token),
19851 )
19852 .into()
19853 }
19854 }
19855 unsafe extern "system" fn remove_NavigationCompleted<
19856 Identity: ICoreWebView2Frame2_Impl,
19857 const OFFSET: isize,
19858 >(
19859 this: *mut core::ffi::c_void,
19860 token: i64,
19861 ) -> windows_core::HRESULT {
19862 unsafe {
19863 let this: &Identity =
19864 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19865 ICoreWebView2Frame2_Impl::remove_NavigationCompleted(
19866 this,
19867 core::mem::transmute_copy(&token),
19868 )
19869 .into()
19870 }
19871 }
19872 unsafe extern "system" fn add_DOMContentLoaded<
19873 Identity: ICoreWebView2Frame2_Impl,
19874 const OFFSET: isize,
19875 >(
19876 this: *mut core::ffi::c_void,
19877 eventhandler: *mut core::ffi::c_void,
19878 token: *mut i64,
19879 ) -> windows_core::HRESULT {
19880 unsafe {
19881 let this: &Identity =
19882 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19883 ICoreWebView2Frame2_Impl::add_DOMContentLoaded(
19884 this,
19885 core::mem::transmute_copy(&eventhandler),
19886 core::mem::transmute_copy(&token),
19887 )
19888 .into()
19889 }
19890 }
19891 unsafe extern "system" fn remove_DOMContentLoaded<
19892 Identity: ICoreWebView2Frame2_Impl,
19893 const OFFSET: isize,
19894 >(
19895 this: *mut core::ffi::c_void,
19896 token: i64,
19897 ) -> windows_core::HRESULT {
19898 unsafe {
19899 let this: &Identity =
19900 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19901 ICoreWebView2Frame2_Impl::remove_DOMContentLoaded(
19902 this,
19903 core::mem::transmute_copy(&token),
19904 )
19905 .into()
19906 }
19907 }
19908 unsafe extern "system" fn ExecuteScript<
19909 Identity: ICoreWebView2Frame2_Impl,
19910 const OFFSET: isize,
19911 >(
19912 this: *mut core::ffi::c_void,
19913 javascript: windows_core::PCWSTR,
19914 handler: *mut core::ffi::c_void,
19915 ) -> windows_core::HRESULT {
19916 unsafe {
19917 let this: &Identity =
19918 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19919 ICoreWebView2Frame2_Impl::ExecuteScript(
19920 this,
19921 core::mem::transmute(&javascript),
19922 core::mem::transmute_copy(&handler),
19923 )
19924 .into()
19925 }
19926 }
19927 unsafe extern "system" fn PostWebMessageAsJson<
19928 Identity: ICoreWebView2Frame2_Impl,
19929 const OFFSET: isize,
19930 >(
19931 this: *mut core::ffi::c_void,
19932 webmessageasjson: windows_core::PCWSTR,
19933 ) -> windows_core::HRESULT {
19934 unsafe {
19935 let this: &Identity =
19936 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19937 ICoreWebView2Frame2_Impl::PostWebMessageAsJson(
19938 this,
19939 core::mem::transmute(&webmessageasjson),
19940 )
19941 .into()
19942 }
19943 }
19944 unsafe extern "system" fn PostWebMessageAsString<
19945 Identity: ICoreWebView2Frame2_Impl,
19946 const OFFSET: isize,
19947 >(
19948 this: *mut core::ffi::c_void,
19949 webmessageasstring: windows_core::PCWSTR,
19950 ) -> windows_core::HRESULT {
19951 unsafe {
19952 let this: &Identity =
19953 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19954 ICoreWebView2Frame2_Impl::PostWebMessageAsString(
19955 this,
19956 core::mem::transmute(&webmessageasstring),
19957 )
19958 .into()
19959 }
19960 }
19961 unsafe extern "system" fn add_WebMessageReceived<
19962 Identity: ICoreWebView2Frame2_Impl,
19963 const OFFSET: isize,
19964 >(
19965 this: *mut core::ffi::c_void,
19966 handler: *mut core::ffi::c_void,
19967 token: *mut i64,
19968 ) -> windows_core::HRESULT {
19969 unsafe {
19970 let this: &Identity =
19971 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19972 ICoreWebView2Frame2_Impl::add_WebMessageReceived(
19973 this,
19974 core::mem::transmute_copy(&handler),
19975 core::mem::transmute_copy(&token),
19976 )
19977 .into()
19978 }
19979 }
19980 unsafe extern "system" fn remove_WebMessageReceived<
19981 Identity: ICoreWebView2Frame2_Impl,
19982 const OFFSET: isize,
19983 >(
19984 this: *mut core::ffi::c_void,
19985 token: i64,
19986 ) -> windows_core::HRESULT {
19987 unsafe {
19988 let this: &Identity =
19989 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19990 ICoreWebView2Frame2_Impl::remove_WebMessageReceived(
19991 this,
19992 core::mem::transmute_copy(&token),
19993 )
19994 .into()
19995 }
19996 }
19997 Self {
19998 base__: ICoreWebView2Frame_Vtbl::new::<Identity, OFFSET>(),
19999 add_NavigationStarting: add_NavigationStarting::<Identity, OFFSET>,
20000 remove_NavigationStarting: remove_NavigationStarting::<Identity, OFFSET>,
20001 add_ContentLoading: add_ContentLoading::<Identity, OFFSET>,
20002 remove_ContentLoading: remove_ContentLoading::<Identity, OFFSET>,
20003 add_NavigationCompleted: add_NavigationCompleted::<Identity, OFFSET>,
20004 remove_NavigationCompleted: remove_NavigationCompleted::<Identity, OFFSET>,
20005 add_DOMContentLoaded: add_DOMContentLoaded::<Identity, OFFSET>,
20006 remove_DOMContentLoaded: remove_DOMContentLoaded::<Identity, OFFSET>,
20007 ExecuteScript: ExecuteScript::<Identity, OFFSET>,
20008 PostWebMessageAsJson: PostWebMessageAsJson::<Identity, OFFSET>,
20009 PostWebMessageAsString: PostWebMessageAsString::<Identity, OFFSET>,
20010 add_WebMessageReceived: add_WebMessageReceived::<Identity, OFFSET>,
20011 remove_WebMessageReceived: remove_WebMessageReceived::<Identity, OFFSET>,
20012 }
20013 }
20014 pub fn matches(iid: &windows_core::GUID) -> bool {
20015 iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
20016 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
20017 }
20018}
20019impl windows_core::RuntimeName for ICoreWebView2Frame2 {}
20020windows_core::imp::define_interface!(
20021 ICoreWebView2Frame3,
20022 ICoreWebView2Frame3_Vtbl,
20023 0xb50d82cc_cc28_481d_9614_cb048895e6a0
20024);
20025impl core::ops::Deref for ICoreWebView2Frame3 {
20026 type Target = ICoreWebView2Frame2;
20027 fn deref(&self) -> &Self::Target {
20028 unsafe { core::mem::transmute(self) }
20029 }
20030}
20031windows_core::imp::interface_hierarchy!(
20032 ICoreWebView2Frame3,
20033 windows_core::IUnknown,
20034 ICoreWebView2Frame,
20035 ICoreWebView2Frame2
20036);
20037impl ICoreWebView2Frame3 {
20038 pub unsafe fn add_PermissionRequested<P0>(
20039 &self,
20040 eventhandler: P0,
20041 token: *mut i64,
20042 ) -> windows_core::Result<()>
20043 where
20044 P0: windows_core::Param<ICoreWebView2FramePermissionRequestedEventHandler>,
20045 {
20046 unsafe {
20047 (windows_core::Interface::vtable(self).add_PermissionRequested)(
20048 windows_core::Interface::as_raw(self),
20049 eventhandler.param().abi(),
20050 token as _,
20051 )
20052 .ok()
20053 }
20054 }
20055 pub unsafe fn remove_PermissionRequested(&self, token: i64) -> windows_core::Result<()> {
20056 unsafe {
20057 (windows_core::Interface::vtable(self).remove_PermissionRequested)(
20058 windows_core::Interface::as_raw(self),
20059 token,
20060 )
20061 .ok()
20062 }
20063 }
20064}
20065#[repr(C)]
20066#[doc(hidden)]
20067pub struct ICoreWebView2Frame3_Vtbl {
20068 pub base__: ICoreWebView2Frame2_Vtbl,
20069 pub add_PermissionRequested: unsafe extern "system" fn(
20070 *mut core::ffi::c_void,
20071 *mut core::ffi::c_void,
20072 *mut i64,
20073 ) -> windows_core::HRESULT,
20074 pub remove_PermissionRequested:
20075 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
20076}
20077pub trait ICoreWebView2Frame3_Impl: ICoreWebView2Frame2_Impl {
20078 fn add_PermissionRequested(
20079 &self,
20080 eventhandler: windows_core::Ref<ICoreWebView2FramePermissionRequestedEventHandler>,
20081 token: *mut i64,
20082 ) -> windows_core::Result<()>;
20083 fn remove_PermissionRequested(&self, token: i64) -> windows_core::Result<()>;
20084}
20085impl ICoreWebView2Frame3_Vtbl {
20086 pub const fn new<Identity: ICoreWebView2Frame3_Impl, const OFFSET: isize>() -> Self {
20087 unsafe extern "system" fn add_PermissionRequested<
20088 Identity: ICoreWebView2Frame3_Impl,
20089 const OFFSET: isize,
20090 >(
20091 this: *mut core::ffi::c_void,
20092 eventhandler: *mut core::ffi::c_void,
20093 token: *mut i64,
20094 ) -> windows_core::HRESULT {
20095 unsafe {
20096 let this: &Identity =
20097 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20098 ICoreWebView2Frame3_Impl::add_PermissionRequested(
20099 this,
20100 core::mem::transmute_copy(&eventhandler),
20101 core::mem::transmute_copy(&token),
20102 )
20103 .into()
20104 }
20105 }
20106 unsafe extern "system" fn remove_PermissionRequested<
20107 Identity: ICoreWebView2Frame3_Impl,
20108 const OFFSET: isize,
20109 >(
20110 this: *mut core::ffi::c_void,
20111 token: i64,
20112 ) -> windows_core::HRESULT {
20113 unsafe {
20114 let this: &Identity =
20115 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20116 ICoreWebView2Frame3_Impl::remove_PermissionRequested(
20117 this,
20118 core::mem::transmute_copy(&token),
20119 )
20120 .into()
20121 }
20122 }
20123 Self {
20124 base__: ICoreWebView2Frame2_Vtbl::new::<Identity, OFFSET>(),
20125 add_PermissionRequested: add_PermissionRequested::<Identity, OFFSET>,
20126 remove_PermissionRequested: remove_PermissionRequested::<Identity, OFFSET>,
20127 }
20128 }
20129 pub fn matches(iid: &windows_core::GUID) -> bool {
20130 iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
20131 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
20132 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
20133 }
20134}
20135impl windows_core::RuntimeName for ICoreWebView2Frame3 {}
20136windows_core::imp::define_interface!(
20137 ICoreWebView2Frame4,
20138 ICoreWebView2Frame4_Vtbl,
20139 0x188782dc_92aa_4732_ab3c_fcc59f6f68b9
20140);
20141impl core::ops::Deref for ICoreWebView2Frame4 {
20142 type Target = ICoreWebView2Frame3;
20143 fn deref(&self) -> &Self::Target {
20144 unsafe { core::mem::transmute(self) }
20145 }
20146}
20147windows_core::imp::interface_hierarchy!(
20148 ICoreWebView2Frame4,
20149 windows_core::IUnknown,
20150 ICoreWebView2Frame,
20151 ICoreWebView2Frame2,
20152 ICoreWebView2Frame3
20153);
20154impl ICoreWebView2Frame4 {
20155 pub unsafe fn PostSharedBufferToScript<P0, P2>(
20156 &self,
20157 sharedbuffer: P0,
20158 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
20159 additionaldataasjson: P2,
20160 ) -> windows_core::Result<()>
20161 where
20162 P0: windows_core::Param<ICoreWebView2SharedBuffer>,
20163 P2: windows_core::Param<windows_core::PCWSTR>,
20164 {
20165 unsafe {
20166 (windows_core::Interface::vtable(self).PostSharedBufferToScript)(
20167 windows_core::Interface::as_raw(self),
20168 sharedbuffer.param().abi(),
20169 access,
20170 additionaldataasjson.param().abi(),
20171 )
20172 .ok()
20173 }
20174 }
20175}
20176#[repr(C)]
20177#[doc(hidden)]
20178pub struct ICoreWebView2Frame4_Vtbl {
20179 pub base__: ICoreWebView2Frame3_Vtbl,
20180 pub PostSharedBufferToScript: unsafe extern "system" fn(
20181 *mut core::ffi::c_void,
20182 *mut core::ffi::c_void,
20183 COREWEBVIEW2_SHARED_BUFFER_ACCESS,
20184 windows_core::PCWSTR,
20185 ) -> windows_core::HRESULT,
20186}
20187pub trait ICoreWebView2Frame4_Impl: ICoreWebView2Frame3_Impl {
20188 fn PostSharedBufferToScript(
20189 &self,
20190 sharedbuffer: windows_core::Ref<ICoreWebView2SharedBuffer>,
20191 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
20192 additionaldataasjson: &windows_core::PCWSTR,
20193 ) -> windows_core::Result<()>;
20194}
20195impl ICoreWebView2Frame4_Vtbl {
20196 pub const fn new<Identity: ICoreWebView2Frame4_Impl, const OFFSET: isize>() -> Self {
20197 unsafe extern "system" fn PostSharedBufferToScript<
20198 Identity: ICoreWebView2Frame4_Impl,
20199 const OFFSET: isize,
20200 >(
20201 this: *mut core::ffi::c_void,
20202 sharedbuffer: *mut core::ffi::c_void,
20203 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
20204 additionaldataasjson: windows_core::PCWSTR,
20205 ) -> windows_core::HRESULT {
20206 unsafe {
20207 let this: &Identity =
20208 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20209 ICoreWebView2Frame4_Impl::PostSharedBufferToScript(
20210 this,
20211 core::mem::transmute_copy(&sharedbuffer),
20212 core::mem::transmute_copy(&access),
20213 core::mem::transmute(&additionaldataasjson),
20214 )
20215 .into()
20216 }
20217 }
20218 Self {
20219 base__: ICoreWebView2Frame3_Vtbl::new::<Identity, OFFSET>(),
20220 PostSharedBufferToScript: PostSharedBufferToScript::<Identity, OFFSET>,
20221 }
20222 }
20223 pub fn matches(iid: &windows_core::GUID) -> bool {
20224 iid == &<ICoreWebView2Frame4 as windows_core::Interface>::IID
20225 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
20226 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
20227 || iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
20228 }
20229}
20230impl windows_core::RuntimeName for ICoreWebView2Frame4 {}
20231windows_core::imp::define_interface!(
20232 ICoreWebView2Frame5,
20233 ICoreWebView2Frame5_Vtbl,
20234 0x99d199c4_7305_11ee_b962_0242ac120002
20235);
20236impl core::ops::Deref for ICoreWebView2Frame5 {
20237 type Target = ICoreWebView2Frame4;
20238 fn deref(&self) -> &Self::Target {
20239 unsafe { core::mem::transmute(self) }
20240 }
20241}
20242windows_core::imp::interface_hierarchy!(
20243 ICoreWebView2Frame5,
20244 windows_core::IUnknown,
20245 ICoreWebView2Frame,
20246 ICoreWebView2Frame2,
20247 ICoreWebView2Frame3,
20248 ICoreWebView2Frame4
20249);
20250impl ICoreWebView2Frame5 {
20251 pub unsafe fn FrameId(&self, value: *mut u32) -> windows_core::Result<()> {
20252 unsafe {
20253 (windows_core::Interface::vtable(self).FrameId)(
20254 windows_core::Interface::as_raw(self),
20255 value as _,
20256 )
20257 .ok()
20258 }
20259 }
20260}
20261#[repr(C)]
20262#[doc(hidden)]
20263pub struct ICoreWebView2Frame5_Vtbl {
20264 pub base__: ICoreWebView2Frame4_Vtbl,
20265 pub FrameId:
20266 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
20267}
20268pub trait ICoreWebView2Frame5_Impl: ICoreWebView2Frame4_Impl {
20269 fn FrameId(&self, value: *mut u32) -> windows_core::Result<()>;
20270}
20271impl ICoreWebView2Frame5_Vtbl {
20272 pub const fn new<Identity: ICoreWebView2Frame5_Impl, const OFFSET: isize>() -> Self {
20273 unsafe extern "system" fn FrameId<
20274 Identity: ICoreWebView2Frame5_Impl,
20275 const OFFSET: isize,
20276 >(
20277 this: *mut core::ffi::c_void,
20278 value: *mut u32,
20279 ) -> windows_core::HRESULT {
20280 unsafe {
20281 let this: &Identity =
20282 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20283 ICoreWebView2Frame5_Impl::FrameId(this, core::mem::transmute_copy(&value)).into()
20284 }
20285 }
20286 Self {
20287 base__: ICoreWebView2Frame4_Vtbl::new::<Identity, OFFSET>(),
20288 FrameId: FrameId::<Identity, OFFSET>,
20289 }
20290 }
20291 pub fn matches(iid: &windows_core::GUID) -> bool {
20292 iid == &<ICoreWebView2Frame5 as windows_core::Interface>::IID
20293 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
20294 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
20295 || iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
20296 || iid == &<ICoreWebView2Frame4 as windows_core::Interface>::IID
20297 }
20298}
20299impl windows_core::RuntimeName for ICoreWebView2Frame5 {}
20300windows_core::imp::define_interface!(
20301 ICoreWebView2Frame6,
20302 ICoreWebView2Frame6_Vtbl,
20303 0x0de611fd_31e9_5ddc_9d71_95eda26eff32
20304);
20305impl core::ops::Deref for ICoreWebView2Frame6 {
20306 type Target = ICoreWebView2Frame5;
20307 fn deref(&self) -> &Self::Target {
20308 unsafe { core::mem::transmute(self) }
20309 }
20310}
20311windows_core::imp::interface_hierarchy!(
20312 ICoreWebView2Frame6,
20313 windows_core::IUnknown,
20314 ICoreWebView2Frame,
20315 ICoreWebView2Frame2,
20316 ICoreWebView2Frame3,
20317 ICoreWebView2Frame4,
20318 ICoreWebView2Frame5
20319);
20320impl ICoreWebView2Frame6 {
20321 pub unsafe fn add_ScreenCaptureStarting<P0>(
20322 &self,
20323 eventhandler: P0,
20324 token: *mut i64,
20325 ) -> windows_core::Result<()>
20326 where
20327 P0: windows_core::Param<ICoreWebView2FrameScreenCaptureStartingEventHandler>,
20328 {
20329 unsafe {
20330 (windows_core::Interface::vtable(self).add_ScreenCaptureStarting)(
20331 windows_core::Interface::as_raw(self),
20332 eventhandler.param().abi(),
20333 token as _,
20334 )
20335 .ok()
20336 }
20337 }
20338 pub unsafe fn remove_ScreenCaptureStarting(&self, token: i64) -> windows_core::Result<()> {
20339 unsafe {
20340 (windows_core::Interface::vtable(self).remove_ScreenCaptureStarting)(
20341 windows_core::Interface::as_raw(self),
20342 token,
20343 )
20344 .ok()
20345 }
20346 }
20347}
20348#[repr(C)]
20349#[doc(hidden)]
20350pub struct ICoreWebView2Frame6_Vtbl {
20351 pub base__: ICoreWebView2Frame5_Vtbl,
20352 pub add_ScreenCaptureStarting: unsafe extern "system" fn(
20353 *mut core::ffi::c_void,
20354 *mut core::ffi::c_void,
20355 *mut i64,
20356 ) -> windows_core::HRESULT,
20357 pub remove_ScreenCaptureStarting:
20358 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
20359}
20360pub trait ICoreWebView2Frame6_Impl: ICoreWebView2Frame5_Impl {
20361 fn add_ScreenCaptureStarting(
20362 &self,
20363 eventhandler: windows_core::Ref<ICoreWebView2FrameScreenCaptureStartingEventHandler>,
20364 token: *mut i64,
20365 ) -> windows_core::Result<()>;
20366 fn remove_ScreenCaptureStarting(&self, token: i64) -> windows_core::Result<()>;
20367}
20368impl ICoreWebView2Frame6_Vtbl {
20369 pub const fn new<Identity: ICoreWebView2Frame6_Impl, const OFFSET: isize>() -> Self {
20370 unsafe extern "system" fn add_ScreenCaptureStarting<
20371 Identity: ICoreWebView2Frame6_Impl,
20372 const OFFSET: isize,
20373 >(
20374 this: *mut core::ffi::c_void,
20375 eventhandler: *mut core::ffi::c_void,
20376 token: *mut i64,
20377 ) -> windows_core::HRESULT {
20378 unsafe {
20379 let this: &Identity =
20380 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20381 ICoreWebView2Frame6_Impl::add_ScreenCaptureStarting(
20382 this,
20383 core::mem::transmute_copy(&eventhandler),
20384 core::mem::transmute_copy(&token),
20385 )
20386 .into()
20387 }
20388 }
20389 unsafe extern "system" fn remove_ScreenCaptureStarting<
20390 Identity: ICoreWebView2Frame6_Impl,
20391 const OFFSET: isize,
20392 >(
20393 this: *mut core::ffi::c_void,
20394 token: i64,
20395 ) -> windows_core::HRESULT {
20396 unsafe {
20397 let this: &Identity =
20398 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20399 ICoreWebView2Frame6_Impl::remove_ScreenCaptureStarting(
20400 this,
20401 core::mem::transmute_copy(&token),
20402 )
20403 .into()
20404 }
20405 }
20406 Self {
20407 base__: ICoreWebView2Frame5_Vtbl::new::<Identity, OFFSET>(),
20408 add_ScreenCaptureStarting: add_ScreenCaptureStarting::<Identity, OFFSET>,
20409 remove_ScreenCaptureStarting: remove_ScreenCaptureStarting::<Identity, OFFSET>,
20410 }
20411 }
20412 pub fn matches(iid: &windows_core::GUID) -> bool {
20413 iid == &<ICoreWebView2Frame6 as windows_core::Interface>::IID
20414 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
20415 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
20416 || iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
20417 || iid == &<ICoreWebView2Frame4 as windows_core::Interface>::IID
20418 || iid == &<ICoreWebView2Frame5 as windows_core::Interface>::IID
20419 }
20420}
20421impl windows_core::RuntimeName for ICoreWebView2Frame6 {}
20422windows_core::imp::define_interface!(
20423 ICoreWebView2Frame7,
20424 ICoreWebView2Frame7_Vtbl,
20425 0x3598cfa2_d85d_5a9f_9228_4dde1f59ec64
20426);
20427impl core::ops::Deref for ICoreWebView2Frame7 {
20428 type Target = ICoreWebView2Frame6;
20429 fn deref(&self) -> &Self::Target {
20430 unsafe { core::mem::transmute(self) }
20431 }
20432}
20433windows_core::imp::interface_hierarchy!(
20434 ICoreWebView2Frame7,
20435 windows_core::IUnknown,
20436 ICoreWebView2Frame,
20437 ICoreWebView2Frame2,
20438 ICoreWebView2Frame3,
20439 ICoreWebView2Frame4,
20440 ICoreWebView2Frame5,
20441 ICoreWebView2Frame6
20442);
20443impl ICoreWebView2Frame7 {
20444 pub unsafe fn add_FrameCreated<P0>(
20445 &self,
20446 eventhandler: P0,
20447 token: *mut i64,
20448 ) -> windows_core::Result<()>
20449 where
20450 P0: windows_core::Param<ICoreWebView2FrameChildFrameCreatedEventHandler>,
20451 {
20452 unsafe {
20453 (windows_core::Interface::vtable(self).add_FrameCreated)(
20454 windows_core::Interface::as_raw(self),
20455 eventhandler.param().abi(),
20456 token as _,
20457 )
20458 .ok()
20459 }
20460 }
20461 pub unsafe fn remove_FrameCreated(&self, token: i64) -> windows_core::Result<()> {
20462 unsafe {
20463 (windows_core::Interface::vtable(self).remove_FrameCreated)(
20464 windows_core::Interface::as_raw(self),
20465 token,
20466 )
20467 .ok()
20468 }
20469 }
20470}
20471#[repr(C)]
20472#[doc(hidden)]
20473pub struct ICoreWebView2Frame7_Vtbl {
20474 pub base__: ICoreWebView2Frame6_Vtbl,
20475 pub add_FrameCreated: unsafe extern "system" fn(
20476 *mut core::ffi::c_void,
20477 *mut core::ffi::c_void,
20478 *mut i64,
20479 ) -> windows_core::HRESULT,
20480 pub remove_FrameCreated:
20481 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
20482}
20483pub trait ICoreWebView2Frame7_Impl: ICoreWebView2Frame6_Impl {
20484 fn add_FrameCreated(
20485 &self,
20486 eventhandler: windows_core::Ref<ICoreWebView2FrameChildFrameCreatedEventHandler>,
20487 token: *mut i64,
20488 ) -> windows_core::Result<()>;
20489 fn remove_FrameCreated(&self, token: i64) -> windows_core::Result<()>;
20490}
20491impl ICoreWebView2Frame7_Vtbl {
20492 pub const fn new<Identity: ICoreWebView2Frame7_Impl, const OFFSET: isize>() -> Self {
20493 unsafe extern "system" fn add_FrameCreated<
20494 Identity: ICoreWebView2Frame7_Impl,
20495 const OFFSET: isize,
20496 >(
20497 this: *mut core::ffi::c_void,
20498 eventhandler: *mut core::ffi::c_void,
20499 token: *mut i64,
20500 ) -> windows_core::HRESULT {
20501 unsafe {
20502 let this: &Identity =
20503 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20504 ICoreWebView2Frame7_Impl::add_FrameCreated(
20505 this,
20506 core::mem::transmute_copy(&eventhandler),
20507 core::mem::transmute_copy(&token),
20508 )
20509 .into()
20510 }
20511 }
20512 unsafe extern "system" fn remove_FrameCreated<
20513 Identity: ICoreWebView2Frame7_Impl,
20514 const OFFSET: isize,
20515 >(
20516 this: *mut core::ffi::c_void,
20517 token: i64,
20518 ) -> windows_core::HRESULT {
20519 unsafe {
20520 let this: &Identity =
20521 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20522 ICoreWebView2Frame7_Impl::remove_FrameCreated(
20523 this,
20524 core::mem::transmute_copy(&token),
20525 )
20526 .into()
20527 }
20528 }
20529 Self {
20530 base__: ICoreWebView2Frame6_Vtbl::new::<Identity, OFFSET>(),
20531 add_FrameCreated: add_FrameCreated::<Identity, OFFSET>,
20532 remove_FrameCreated: remove_FrameCreated::<Identity, OFFSET>,
20533 }
20534 }
20535 pub fn matches(iid: &windows_core::GUID) -> bool {
20536 iid == &<ICoreWebView2Frame7 as windows_core::Interface>::IID
20537 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
20538 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
20539 || iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
20540 || iid == &<ICoreWebView2Frame4 as windows_core::Interface>::IID
20541 || iid == &<ICoreWebView2Frame5 as windows_core::Interface>::IID
20542 || iid == &<ICoreWebView2Frame6 as windows_core::Interface>::IID
20543 }
20544}
20545impl windows_core::RuntimeName for ICoreWebView2Frame7 {}
20546windows_core::imp::define_interface!(
20547 ICoreWebView2FrameChildFrameCreatedEventHandler,
20548 ICoreWebView2FrameChildFrameCreatedEventHandler_Vtbl,
20549 0x569e40e7_46b7_563d_83ae_1073155664d7
20550);
20551windows_core::imp::interface_hierarchy!(
20552 ICoreWebView2FrameChildFrameCreatedEventHandler,
20553 windows_core::IUnknown
20554);
20555impl ICoreWebView2FrameChildFrameCreatedEventHandler {
20556 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
20557 where
20558 P0: windows_core::Param<ICoreWebView2Frame>,
20559 P1: windows_core::Param<ICoreWebView2FrameCreatedEventArgs>,
20560 {
20561 unsafe {
20562 (windows_core::Interface::vtable(self).Invoke)(
20563 windows_core::Interface::as_raw(self),
20564 sender.param().abi(),
20565 args.param().abi(),
20566 )
20567 .ok()
20568 }
20569 }
20570}
20571#[repr(C)]
20572#[doc(hidden)]
20573pub struct ICoreWebView2FrameChildFrameCreatedEventHandler_Vtbl {
20574 pub base__: windows_core::IUnknown_Vtbl,
20575 pub Invoke: unsafe extern "system" fn(
20576 *mut core::ffi::c_void,
20577 *mut core::ffi::c_void,
20578 *mut core::ffi::c_void,
20579 ) -> windows_core::HRESULT,
20580}
20581pub trait ICoreWebView2FrameChildFrameCreatedEventHandler_Impl: windows_core::IUnknownImpl {
20582 fn Invoke(
20583 &self,
20584 sender: windows_core::Ref<ICoreWebView2Frame>,
20585 args: windows_core::Ref<ICoreWebView2FrameCreatedEventArgs>,
20586 ) -> windows_core::Result<()>;
20587}
20588impl ICoreWebView2FrameChildFrameCreatedEventHandler_Vtbl {
20589 pub const fn new<
20590 Identity: ICoreWebView2FrameChildFrameCreatedEventHandler_Impl,
20591 const OFFSET: isize,
20592 >() -> Self {
20593 unsafe extern "system" fn Invoke<
20594 Identity: ICoreWebView2FrameChildFrameCreatedEventHandler_Impl,
20595 const OFFSET: isize,
20596 >(
20597 this: *mut core::ffi::c_void,
20598 sender: *mut core::ffi::c_void,
20599 args: *mut core::ffi::c_void,
20600 ) -> windows_core::HRESULT {
20601 unsafe {
20602 let this: &Identity =
20603 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20604 ICoreWebView2FrameChildFrameCreatedEventHandler_Impl::Invoke(
20605 this,
20606 core::mem::transmute_copy(&sender),
20607 core::mem::transmute_copy(&args),
20608 )
20609 .into()
20610 }
20611 }
20612 Self {
20613 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20614 Invoke: Invoke::<Identity, OFFSET>,
20615 }
20616 }
20617 pub fn matches(iid: &windows_core::GUID) -> bool {
20618 iid == &<ICoreWebView2FrameChildFrameCreatedEventHandler as windows_core::Interface>::IID
20619 }
20620}
20621impl windows_core::RuntimeName for ICoreWebView2FrameChildFrameCreatedEventHandler {}
20622windows_core::imp::define_interface!(
20623 ICoreWebView2FrameContentLoadingEventHandler,
20624 ICoreWebView2FrameContentLoadingEventHandler_Vtbl,
20625 0x0d6156f2_d332_49a7_9e03_7d8f2feeee54
20626);
20627windows_core::imp::interface_hierarchy!(
20628 ICoreWebView2FrameContentLoadingEventHandler,
20629 windows_core::IUnknown
20630);
20631impl ICoreWebView2FrameContentLoadingEventHandler {
20632 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
20633 where
20634 P0: windows_core::Param<ICoreWebView2Frame>,
20635 P1: windows_core::Param<ICoreWebView2ContentLoadingEventArgs>,
20636 {
20637 unsafe {
20638 (windows_core::Interface::vtable(self).Invoke)(
20639 windows_core::Interface::as_raw(self),
20640 sender.param().abi(),
20641 args.param().abi(),
20642 )
20643 .ok()
20644 }
20645 }
20646}
20647#[repr(C)]
20648#[doc(hidden)]
20649pub struct ICoreWebView2FrameContentLoadingEventHandler_Vtbl {
20650 pub base__: windows_core::IUnknown_Vtbl,
20651 pub Invoke: unsafe extern "system" fn(
20652 *mut core::ffi::c_void,
20653 *mut core::ffi::c_void,
20654 *mut core::ffi::c_void,
20655 ) -> windows_core::HRESULT,
20656}
20657pub trait ICoreWebView2FrameContentLoadingEventHandler_Impl: windows_core::IUnknownImpl {
20658 fn Invoke(
20659 &self,
20660 sender: windows_core::Ref<ICoreWebView2Frame>,
20661 args: windows_core::Ref<ICoreWebView2ContentLoadingEventArgs>,
20662 ) -> windows_core::Result<()>;
20663}
20664impl ICoreWebView2FrameContentLoadingEventHandler_Vtbl {
20665 pub const fn new<
20666 Identity: ICoreWebView2FrameContentLoadingEventHandler_Impl,
20667 const OFFSET: isize,
20668 >() -> Self {
20669 unsafe extern "system" fn Invoke<
20670 Identity: ICoreWebView2FrameContentLoadingEventHandler_Impl,
20671 const OFFSET: isize,
20672 >(
20673 this: *mut core::ffi::c_void,
20674 sender: *mut core::ffi::c_void,
20675 args: *mut core::ffi::c_void,
20676 ) -> windows_core::HRESULT {
20677 unsafe {
20678 let this: &Identity =
20679 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20680 ICoreWebView2FrameContentLoadingEventHandler_Impl::Invoke(
20681 this,
20682 core::mem::transmute_copy(&sender),
20683 core::mem::transmute_copy(&args),
20684 )
20685 .into()
20686 }
20687 }
20688 Self {
20689 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20690 Invoke: Invoke::<Identity, OFFSET>,
20691 }
20692 }
20693 pub fn matches(iid: &windows_core::GUID) -> bool {
20694 iid == &<ICoreWebView2FrameContentLoadingEventHandler as windows_core::Interface>::IID
20695 }
20696}
20697impl windows_core::RuntimeName for ICoreWebView2FrameContentLoadingEventHandler {}
20698windows_core::imp::define_interface!(
20699 ICoreWebView2FrameCreatedEventArgs,
20700 ICoreWebView2FrameCreatedEventArgs_Vtbl,
20701 0x4d6e7b5e_9baa_11eb_a8b3_0242ac130003
20702);
20703windows_core::imp::interface_hierarchy!(ICoreWebView2FrameCreatedEventArgs, windows_core::IUnknown);
20704impl ICoreWebView2FrameCreatedEventArgs {
20705 pub unsafe fn Frame(&self) -> windows_core::Result<ICoreWebView2Frame> {
20706 unsafe {
20707 let mut result__ = core::mem::zeroed();
20708 (windows_core::Interface::vtable(self).Frame)(
20709 windows_core::Interface::as_raw(self),
20710 &mut result__,
20711 )
20712 .and_then(|| windows_core::Type::from_abi(result__))
20713 }
20714 }
20715}
20716#[repr(C)]
20717#[doc(hidden)]
20718pub struct ICoreWebView2FrameCreatedEventArgs_Vtbl {
20719 pub base__: windows_core::IUnknown_Vtbl,
20720 pub Frame: unsafe extern "system" fn(
20721 *mut core::ffi::c_void,
20722 *mut *mut core::ffi::c_void,
20723 ) -> windows_core::HRESULT,
20724}
20725pub trait ICoreWebView2FrameCreatedEventArgs_Impl: windows_core::IUnknownImpl {
20726 fn Frame(&self) -> windows_core::Result<ICoreWebView2Frame>;
20727}
20728impl ICoreWebView2FrameCreatedEventArgs_Vtbl {
20729 pub const fn new<Identity: ICoreWebView2FrameCreatedEventArgs_Impl, const OFFSET: isize>(
20730 ) -> Self {
20731 unsafe extern "system" fn Frame<
20732 Identity: ICoreWebView2FrameCreatedEventArgs_Impl,
20733 const OFFSET: isize,
20734 >(
20735 this: *mut core::ffi::c_void,
20736 value: *mut *mut core::ffi::c_void,
20737 ) -> windows_core::HRESULT {
20738 unsafe {
20739 let this: &Identity =
20740 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20741 match ICoreWebView2FrameCreatedEventArgs_Impl::Frame(this) {
20742 Ok(ok__) => {
20743 value.write(core::mem::transmute(ok__));
20744 windows_core::HRESULT(0)
20745 }
20746 Err(err) => err.into(),
20747 }
20748 }
20749 }
20750 Self {
20751 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20752 Frame: Frame::<Identity, OFFSET>,
20753 }
20754 }
20755 pub fn matches(iid: &windows_core::GUID) -> bool {
20756 iid == &<ICoreWebView2FrameCreatedEventArgs as windows_core::Interface>::IID
20757 }
20758}
20759impl windows_core::RuntimeName for ICoreWebView2FrameCreatedEventArgs {}
20760windows_core::imp::define_interface!(
20761 ICoreWebView2FrameCreatedEventHandler,
20762 ICoreWebView2FrameCreatedEventHandler_Vtbl,
20763 0x38059770_9baa_11eb_a8b3_0242ac130003
20764);
20765windows_core::imp::interface_hierarchy!(
20766 ICoreWebView2FrameCreatedEventHandler,
20767 windows_core::IUnknown
20768);
20769impl ICoreWebView2FrameCreatedEventHandler {
20770 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
20771 where
20772 P0: windows_core::Param<ICoreWebView2>,
20773 P1: windows_core::Param<ICoreWebView2FrameCreatedEventArgs>,
20774 {
20775 unsafe {
20776 (windows_core::Interface::vtable(self).Invoke)(
20777 windows_core::Interface::as_raw(self),
20778 sender.param().abi(),
20779 args.param().abi(),
20780 )
20781 .ok()
20782 }
20783 }
20784}
20785#[repr(C)]
20786#[doc(hidden)]
20787pub struct ICoreWebView2FrameCreatedEventHandler_Vtbl {
20788 pub base__: windows_core::IUnknown_Vtbl,
20789 pub Invoke: unsafe extern "system" fn(
20790 *mut core::ffi::c_void,
20791 *mut core::ffi::c_void,
20792 *mut core::ffi::c_void,
20793 ) -> windows_core::HRESULT,
20794}
20795pub trait ICoreWebView2FrameCreatedEventHandler_Impl: windows_core::IUnknownImpl {
20796 fn Invoke(
20797 &self,
20798 sender: windows_core::Ref<ICoreWebView2>,
20799 args: windows_core::Ref<ICoreWebView2FrameCreatedEventArgs>,
20800 ) -> windows_core::Result<()>;
20801}
20802impl ICoreWebView2FrameCreatedEventHandler_Vtbl {
20803 pub const fn new<Identity: ICoreWebView2FrameCreatedEventHandler_Impl, const OFFSET: isize>(
20804 ) -> Self {
20805 unsafe extern "system" fn Invoke<
20806 Identity: ICoreWebView2FrameCreatedEventHandler_Impl,
20807 const OFFSET: isize,
20808 >(
20809 this: *mut core::ffi::c_void,
20810 sender: *mut core::ffi::c_void,
20811 args: *mut core::ffi::c_void,
20812 ) -> windows_core::HRESULT {
20813 unsafe {
20814 let this: &Identity =
20815 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20816 ICoreWebView2FrameCreatedEventHandler_Impl::Invoke(
20817 this,
20818 core::mem::transmute_copy(&sender),
20819 core::mem::transmute_copy(&args),
20820 )
20821 .into()
20822 }
20823 }
20824 Self {
20825 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20826 Invoke: Invoke::<Identity, OFFSET>,
20827 }
20828 }
20829 pub fn matches(iid: &windows_core::GUID) -> bool {
20830 iid == &<ICoreWebView2FrameCreatedEventHandler as windows_core::Interface>::IID
20831 }
20832}
20833impl windows_core::RuntimeName for ICoreWebView2FrameCreatedEventHandler {}
20834windows_core::imp::define_interface!(
20835 ICoreWebView2FrameDOMContentLoadedEventHandler,
20836 ICoreWebView2FrameDOMContentLoadedEventHandler_Vtbl,
20837 0x38d9520d_340f_4d1e_a775_43fce9753683
20838);
20839windows_core::imp::interface_hierarchy!(
20840 ICoreWebView2FrameDOMContentLoadedEventHandler,
20841 windows_core::IUnknown
20842);
20843impl ICoreWebView2FrameDOMContentLoadedEventHandler {
20844 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
20845 where
20846 P0: windows_core::Param<ICoreWebView2Frame>,
20847 P1: windows_core::Param<ICoreWebView2DOMContentLoadedEventArgs>,
20848 {
20849 unsafe {
20850 (windows_core::Interface::vtable(self).Invoke)(
20851 windows_core::Interface::as_raw(self),
20852 sender.param().abi(),
20853 args.param().abi(),
20854 )
20855 .ok()
20856 }
20857 }
20858}
20859#[repr(C)]
20860#[doc(hidden)]
20861pub struct ICoreWebView2FrameDOMContentLoadedEventHandler_Vtbl {
20862 pub base__: windows_core::IUnknown_Vtbl,
20863 pub Invoke: unsafe extern "system" fn(
20864 *mut core::ffi::c_void,
20865 *mut core::ffi::c_void,
20866 *mut core::ffi::c_void,
20867 ) -> windows_core::HRESULT,
20868}
20869pub trait ICoreWebView2FrameDOMContentLoadedEventHandler_Impl: windows_core::IUnknownImpl {
20870 fn Invoke(
20871 &self,
20872 sender: windows_core::Ref<ICoreWebView2Frame>,
20873 args: windows_core::Ref<ICoreWebView2DOMContentLoadedEventArgs>,
20874 ) -> windows_core::Result<()>;
20875}
20876impl ICoreWebView2FrameDOMContentLoadedEventHandler_Vtbl {
20877 pub const fn new<
20878 Identity: ICoreWebView2FrameDOMContentLoadedEventHandler_Impl,
20879 const OFFSET: isize,
20880 >() -> Self {
20881 unsafe extern "system" fn Invoke<
20882 Identity: ICoreWebView2FrameDOMContentLoadedEventHandler_Impl,
20883 const OFFSET: isize,
20884 >(
20885 this: *mut core::ffi::c_void,
20886 sender: *mut core::ffi::c_void,
20887 args: *mut core::ffi::c_void,
20888 ) -> windows_core::HRESULT {
20889 unsafe {
20890 let this: &Identity =
20891 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20892 ICoreWebView2FrameDOMContentLoadedEventHandler_Impl::Invoke(
20893 this,
20894 core::mem::transmute_copy(&sender),
20895 core::mem::transmute_copy(&args),
20896 )
20897 .into()
20898 }
20899 }
20900 Self {
20901 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20902 Invoke: Invoke::<Identity, OFFSET>,
20903 }
20904 }
20905 pub fn matches(iid: &windows_core::GUID) -> bool {
20906 iid == &<ICoreWebView2FrameDOMContentLoadedEventHandler as windows_core::Interface>::IID
20907 }
20908}
20909impl windows_core::RuntimeName for ICoreWebView2FrameDOMContentLoadedEventHandler {}
20910windows_core::imp::define_interface!(
20911 ICoreWebView2FrameDestroyedEventHandler,
20912 ICoreWebView2FrameDestroyedEventHandler_Vtbl,
20913 0x59dd7b4c_9baa_11eb_a8b3_0242ac130003
20914);
20915windows_core::imp::interface_hierarchy!(
20916 ICoreWebView2FrameDestroyedEventHandler,
20917 windows_core::IUnknown
20918);
20919impl ICoreWebView2FrameDestroyedEventHandler {
20920 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
20921 where
20922 P0: windows_core::Param<ICoreWebView2Frame>,
20923 P1: windows_core::Param<windows_core::IUnknown>,
20924 {
20925 unsafe {
20926 (windows_core::Interface::vtable(self).Invoke)(
20927 windows_core::Interface::as_raw(self),
20928 sender.param().abi(),
20929 args.param().abi(),
20930 )
20931 .ok()
20932 }
20933 }
20934}
20935#[repr(C)]
20936#[doc(hidden)]
20937pub struct ICoreWebView2FrameDestroyedEventHandler_Vtbl {
20938 pub base__: windows_core::IUnknown_Vtbl,
20939 pub Invoke: unsafe extern "system" fn(
20940 *mut core::ffi::c_void,
20941 *mut core::ffi::c_void,
20942 *mut core::ffi::c_void,
20943 ) -> windows_core::HRESULT,
20944}
20945pub trait ICoreWebView2FrameDestroyedEventHandler_Impl: windows_core::IUnknownImpl {
20946 fn Invoke(
20947 &self,
20948 sender: windows_core::Ref<ICoreWebView2Frame>,
20949 args: windows_core::Ref<windows_core::IUnknown>,
20950 ) -> windows_core::Result<()>;
20951}
20952impl ICoreWebView2FrameDestroyedEventHandler_Vtbl {
20953 pub const fn new<
20954 Identity: ICoreWebView2FrameDestroyedEventHandler_Impl,
20955 const OFFSET: isize,
20956 >() -> Self {
20957 unsafe extern "system" fn Invoke<
20958 Identity: ICoreWebView2FrameDestroyedEventHandler_Impl,
20959 const OFFSET: isize,
20960 >(
20961 this: *mut core::ffi::c_void,
20962 sender: *mut core::ffi::c_void,
20963 args: *mut core::ffi::c_void,
20964 ) -> windows_core::HRESULT {
20965 unsafe {
20966 let this: &Identity =
20967 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20968 ICoreWebView2FrameDestroyedEventHandler_Impl::Invoke(
20969 this,
20970 core::mem::transmute_copy(&sender),
20971 core::mem::transmute_copy(&args),
20972 )
20973 .into()
20974 }
20975 }
20976 Self {
20977 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20978 Invoke: Invoke::<Identity, OFFSET>,
20979 }
20980 }
20981 pub fn matches(iid: &windows_core::GUID) -> bool {
20982 iid == &<ICoreWebView2FrameDestroyedEventHandler as windows_core::Interface>::IID
20983 }
20984}
20985impl windows_core::RuntimeName for ICoreWebView2FrameDestroyedEventHandler {}
20986windows_core::imp::define_interface!(
20987 ICoreWebView2FrameInfo,
20988 ICoreWebView2FrameInfo_Vtbl,
20989 0xda86b8a1_bdf3_4f11_9955_528cefa59727
20990);
20991windows_core::imp::interface_hierarchy!(ICoreWebView2FrameInfo, windows_core::IUnknown);
20992impl ICoreWebView2FrameInfo {
20993 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
20994 unsafe {
20995 (windows_core::Interface::vtable(self).Name)(
20996 windows_core::Interface::as_raw(self),
20997 value as _,
20998 )
20999 .ok()
21000 }
21001 }
21002 pub unsafe fn Source(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
21003 unsafe {
21004 (windows_core::Interface::vtable(self).Source)(
21005 windows_core::Interface::as_raw(self),
21006 value as _,
21007 )
21008 .ok()
21009 }
21010 }
21011}
21012#[repr(C)]
21013#[doc(hidden)]
21014pub struct ICoreWebView2FrameInfo_Vtbl {
21015 pub base__: windows_core::IUnknown_Vtbl,
21016 pub Name: unsafe extern "system" fn(
21017 *mut core::ffi::c_void,
21018 *mut windows_core::PWSTR,
21019 ) -> windows_core::HRESULT,
21020 pub Source: unsafe extern "system" fn(
21021 *mut core::ffi::c_void,
21022 *mut windows_core::PWSTR,
21023 ) -> windows_core::HRESULT,
21024}
21025pub trait ICoreWebView2FrameInfo_Impl: windows_core::IUnknownImpl {
21026 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
21027 fn Source(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
21028}
21029impl ICoreWebView2FrameInfo_Vtbl {
21030 pub const fn new<Identity: ICoreWebView2FrameInfo_Impl, const OFFSET: isize>() -> Self {
21031 unsafe extern "system" fn Name<
21032 Identity: ICoreWebView2FrameInfo_Impl,
21033 const OFFSET: isize,
21034 >(
21035 this: *mut core::ffi::c_void,
21036 value: *mut windows_core::PWSTR,
21037 ) -> windows_core::HRESULT {
21038 unsafe {
21039 let this: &Identity =
21040 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21041 ICoreWebView2FrameInfo_Impl::Name(this, core::mem::transmute_copy(&value)).into()
21042 }
21043 }
21044 unsafe extern "system" fn Source<
21045 Identity: ICoreWebView2FrameInfo_Impl,
21046 const OFFSET: isize,
21047 >(
21048 this: *mut core::ffi::c_void,
21049 value: *mut windows_core::PWSTR,
21050 ) -> windows_core::HRESULT {
21051 unsafe {
21052 let this: &Identity =
21053 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21054 ICoreWebView2FrameInfo_Impl::Source(this, core::mem::transmute_copy(&value)).into()
21055 }
21056 }
21057 Self {
21058 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21059 Name: Name::<Identity, OFFSET>,
21060 Source: Source::<Identity, OFFSET>,
21061 }
21062 }
21063 pub fn matches(iid: &windows_core::GUID) -> bool {
21064 iid == &<ICoreWebView2FrameInfo as windows_core::Interface>::IID
21065 }
21066}
21067impl windows_core::RuntimeName for ICoreWebView2FrameInfo {}
21068windows_core::imp::define_interface!(
21069 ICoreWebView2FrameInfo2,
21070 ICoreWebView2FrameInfo2_Vtbl,
21071 0x56f85cfa_72c4_11ee_b962_0242ac120002
21072);
21073impl core::ops::Deref for ICoreWebView2FrameInfo2 {
21074 type Target = ICoreWebView2FrameInfo;
21075 fn deref(&self) -> &Self::Target {
21076 unsafe { core::mem::transmute(self) }
21077 }
21078}
21079windows_core::imp::interface_hierarchy!(
21080 ICoreWebView2FrameInfo2,
21081 windows_core::IUnknown,
21082 ICoreWebView2FrameInfo
21083);
21084impl ICoreWebView2FrameInfo2 {
21085 pub unsafe fn ParentFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo> {
21086 unsafe {
21087 let mut result__ = core::mem::zeroed();
21088 (windows_core::Interface::vtable(self).ParentFrameInfo)(
21089 windows_core::Interface::as_raw(self),
21090 &mut result__,
21091 )
21092 .and_then(|| windows_core::Type::from_abi(result__))
21093 }
21094 }
21095 pub unsafe fn FrameId(&self, id: *mut u32) -> windows_core::Result<()> {
21096 unsafe {
21097 (windows_core::Interface::vtable(self).FrameId)(
21098 windows_core::Interface::as_raw(self),
21099 id as _,
21100 )
21101 .ok()
21102 }
21103 }
21104 pub unsafe fn FrameKind(&self, kind: *mut COREWEBVIEW2_FRAME_KIND) -> windows_core::Result<()> {
21105 unsafe {
21106 (windows_core::Interface::vtable(self).FrameKind)(
21107 windows_core::Interface::as_raw(self),
21108 kind as _,
21109 )
21110 .ok()
21111 }
21112 }
21113}
21114#[repr(C)]
21115#[doc(hidden)]
21116pub struct ICoreWebView2FrameInfo2_Vtbl {
21117 pub base__: ICoreWebView2FrameInfo_Vtbl,
21118 pub ParentFrameInfo: unsafe extern "system" fn(
21119 *mut core::ffi::c_void,
21120 *mut *mut core::ffi::c_void,
21121 ) -> windows_core::HRESULT,
21122 pub FrameId:
21123 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
21124 pub FrameKind: unsafe extern "system" fn(
21125 *mut core::ffi::c_void,
21126 *mut COREWEBVIEW2_FRAME_KIND,
21127 ) -> windows_core::HRESULT,
21128}
21129pub trait ICoreWebView2FrameInfo2_Impl: ICoreWebView2FrameInfo_Impl {
21130 fn ParentFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo>;
21131 fn FrameId(&self, id: *mut u32) -> windows_core::Result<()>;
21132 fn FrameKind(&self, kind: *mut COREWEBVIEW2_FRAME_KIND) -> windows_core::Result<()>;
21133}
21134impl ICoreWebView2FrameInfo2_Vtbl {
21135 pub const fn new<Identity: ICoreWebView2FrameInfo2_Impl, const OFFSET: isize>() -> Self {
21136 unsafe extern "system" fn ParentFrameInfo<
21137 Identity: ICoreWebView2FrameInfo2_Impl,
21138 const OFFSET: isize,
21139 >(
21140 this: *mut core::ffi::c_void,
21141 frameinfo: *mut *mut core::ffi::c_void,
21142 ) -> windows_core::HRESULT {
21143 unsafe {
21144 let this: &Identity =
21145 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21146 match ICoreWebView2FrameInfo2_Impl::ParentFrameInfo(this) {
21147 Ok(ok__) => {
21148 frameinfo.write(core::mem::transmute(ok__));
21149 windows_core::HRESULT(0)
21150 }
21151 Err(err) => err.into(),
21152 }
21153 }
21154 }
21155 unsafe extern "system" fn FrameId<
21156 Identity: ICoreWebView2FrameInfo2_Impl,
21157 const OFFSET: isize,
21158 >(
21159 this: *mut core::ffi::c_void,
21160 id: *mut u32,
21161 ) -> windows_core::HRESULT {
21162 unsafe {
21163 let this: &Identity =
21164 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21165 ICoreWebView2FrameInfo2_Impl::FrameId(this, core::mem::transmute_copy(&id)).into()
21166 }
21167 }
21168 unsafe extern "system" fn FrameKind<
21169 Identity: ICoreWebView2FrameInfo2_Impl,
21170 const OFFSET: isize,
21171 >(
21172 this: *mut core::ffi::c_void,
21173 kind: *mut COREWEBVIEW2_FRAME_KIND,
21174 ) -> windows_core::HRESULT {
21175 unsafe {
21176 let this: &Identity =
21177 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21178 ICoreWebView2FrameInfo2_Impl::FrameKind(this, core::mem::transmute_copy(&kind))
21179 .into()
21180 }
21181 }
21182 Self {
21183 base__: ICoreWebView2FrameInfo_Vtbl::new::<Identity, OFFSET>(),
21184 ParentFrameInfo: ParentFrameInfo::<Identity, OFFSET>,
21185 FrameId: FrameId::<Identity, OFFSET>,
21186 FrameKind: FrameKind::<Identity, OFFSET>,
21187 }
21188 }
21189 pub fn matches(iid: &windows_core::GUID) -> bool {
21190 iid == &<ICoreWebView2FrameInfo2 as windows_core::Interface>::IID
21191 || iid == &<ICoreWebView2FrameInfo as windows_core::Interface>::IID
21192 }
21193}
21194impl windows_core::RuntimeName for ICoreWebView2FrameInfo2 {}
21195windows_core::imp::define_interface!(
21196 ICoreWebView2FrameInfoCollection,
21197 ICoreWebView2FrameInfoCollection_Vtbl,
21198 0x8f834154_d38e_4d90_affb_6800a7272839
21199);
21200windows_core::imp::interface_hierarchy!(ICoreWebView2FrameInfoCollection, windows_core::IUnknown);
21201impl ICoreWebView2FrameInfoCollection {
21202 pub unsafe fn GetIterator(
21203 &self,
21204 ) -> windows_core::Result<ICoreWebView2FrameInfoCollectionIterator> {
21205 unsafe {
21206 let mut result__ = core::mem::zeroed();
21207 (windows_core::Interface::vtable(self).GetIterator)(
21208 windows_core::Interface::as_raw(self),
21209 &mut result__,
21210 )
21211 .and_then(|| windows_core::Type::from_abi(result__))
21212 }
21213 }
21214}
21215#[repr(C)]
21216#[doc(hidden)]
21217pub struct ICoreWebView2FrameInfoCollection_Vtbl {
21218 pub base__: windows_core::IUnknown_Vtbl,
21219 pub GetIterator: unsafe extern "system" fn(
21220 *mut core::ffi::c_void,
21221 *mut *mut core::ffi::c_void,
21222 ) -> windows_core::HRESULT,
21223}
21224pub trait ICoreWebView2FrameInfoCollection_Impl: windows_core::IUnknownImpl {
21225 fn GetIterator(&self) -> windows_core::Result<ICoreWebView2FrameInfoCollectionIterator>;
21226}
21227impl ICoreWebView2FrameInfoCollection_Vtbl {
21228 pub const fn new<Identity: ICoreWebView2FrameInfoCollection_Impl, const OFFSET: isize>() -> Self
21229 {
21230 unsafe extern "system" fn GetIterator<
21231 Identity: ICoreWebView2FrameInfoCollection_Impl,
21232 const OFFSET: isize,
21233 >(
21234 this: *mut core::ffi::c_void,
21235 value: *mut *mut core::ffi::c_void,
21236 ) -> windows_core::HRESULT {
21237 unsafe {
21238 let this: &Identity =
21239 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21240 match ICoreWebView2FrameInfoCollection_Impl::GetIterator(this) {
21241 Ok(ok__) => {
21242 value.write(core::mem::transmute(ok__));
21243 windows_core::HRESULT(0)
21244 }
21245 Err(err) => err.into(),
21246 }
21247 }
21248 }
21249 Self {
21250 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21251 GetIterator: GetIterator::<Identity, OFFSET>,
21252 }
21253 }
21254 pub fn matches(iid: &windows_core::GUID) -> bool {
21255 iid == &<ICoreWebView2FrameInfoCollection as windows_core::Interface>::IID
21256 }
21257}
21258impl windows_core::RuntimeName for ICoreWebView2FrameInfoCollection {}
21259windows_core::imp::define_interface!(
21260 ICoreWebView2FrameInfoCollectionIterator,
21261 ICoreWebView2FrameInfoCollectionIterator_Vtbl,
21262 0x1bf89e2d_1b2b_4629_b28f_05099b41bb03
21263);
21264windows_core::imp::interface_hierarchy!(
21265 ICoreWebView2FrameInfoCollectionIterator,
21266 windows_core::IUnknown
21267);
21268impl ICoreWebView2FrameInfoCollectionIterator {
21269 pub unsafe fn HasCurrent(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
21270 unsafe {
21271 (windows_core::Interface::vtable(self).HasCurrent)(
21272 windows_core::Interface::as_raw(self),
21273 value as _,
21274 )
21275 .ok()
21276 }
21277 }
21278 pub unsafe fn GetCurrent(&self) -> windows_core::Result<ICoreWebView2FrameInfo> {
21279 unsafe {
21280 let mut result__ = core::mem::zeroed();
21281 (windows_core::Interface::vtable(self).GetCurrent)(
21282 windows_core::Interface::as_raw(self),
21283 &mut result__,
21284 )
21285 .and_then(|| windows_core::Type::from_abi(result__))
21286 }
21287 }
21288 pub unsafe fn MoveNext(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
21289 unsafe {
21290 (windows_core::Interface::vtable(self).MoveNext)(
21291 windows_core::Interface::as_raw(self),
21292 value as _,
21293 )
21294 .ok()
21295 }
21296 }
21297}
21298#[repr(C)]
21299#[doc(hidden)]
21300pub struct ICoreWebView2FrameInfoCollectionIterator_Vtbl {
21301 pub base__: windows_core::IUnknown_Vtbl,
21302 pub HasCurrent: unsafe extern "system" fn(
21303 *mut core::ffi::c_void,
21304 *mut windows_core::BOOL,
21305 ) -> windows_core::HRESULT,
21306 pub GetCurrent: unsafe extern "system" fn(
21307 *mut core::ffi::c_void,
21308 *mut *mut core::ffi::c_void,
21309 ) -> windows_core::HRESULT,
21310 pub MoveNext: unsafe extern "system" fn(
21311 *mut core::ffi::c_void,
21312 *mut windows_core::BOOL,
21313 ) -> windows_core::HRESULT,
21314}
21315pub trait ICoreWebView2FrameInfoCollectionIterator_Impl: windows_core::IUnknownImpl {
21316 fn HasCurrent(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
21317 fn GetCurrent(&self) -> windows_core::Result<ICoreWebView2FrameInfo>;
21318 fn MoveNext(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
21319}
21320impl ICoreWebView2FrameInfoCollectionIterator_Vtbl {
21321 pub const fn new<
21322 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
21323 const OFFSET: isize,
21324 >() -> Self {
21325 unsafe extern "system" fn HasCurrent<
21326 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
21327 const OFFSET: isize,
21328 >(
21329 this: *mut core::ffi::c_void,
21330 value: *mut windows_core::BOOL,
21331 ) -> windows_core::HRESULT {
21332 unsafe {
21333 let this: &Identity =
21334 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21335 ICoreWebView2FrameInfoCollectionIterator_Impl::HasCurrent(
21336 this,
21337 core::mem::transmute_copy(&value),
21338 )
21339 .into()
21340 }
21341 }
21342 unsafe extern "system" fn GetCurrent<
21343 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
21344 const OFFSET: isize,
21345 >(
21346 this: *mut core::ffi::c_void,
21347 value: *mut *mut core::ffi::c_void,
21348 ) -> windows_core::HRESULT {
21349 unsafe {
21350 let this: &Identity =
21351 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21352 match ICoreWebView2FrameInfoCollectionIterator_Impl::GetCurrent(this) {
21353 Ok(ok__) => {
21354 value.write(core::mem::transmute(ok__));
21355 windows_core::HRESULT(0)
21356 }
21357 Err(err) => err.into(),
21358 }
21359 }
21360 }
21361 unsafe extern "system" fn MoveNext<
21362 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
21363 const OFFSET: isize,
21364 >(
21365 this: *mut core::ffi::c_void,
21366 value: *mut windows_core::BOOL,
21367 ) -> windows_core::HRESULT {
21368 unsafe {
21369 let this: &Identity =
21370 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21371 ICoreWebView2FrameInfoCollectionIterator_Impl::MoveNext(
21372 this,
21373 core::mem::transmute_copy(&value),
21374 )
21375 .into()
21376 }
21377 }
21378 Self {
21379 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21380 HasCurrent: HasCurrent::<Identity, OFFSET>,
21381 GetCurrent: GetCurrent::<Identity, OFFSET>,
21382 MoveNext: MoveNext::<Identity, OFFSET>,
21383 }
21384 }
21385 pub fn matches(iid: &windows_core::GUID) -> bool {
21386 iid == &<ICoreWebView2FrameInfoCollectionIterator as windows_core::Interface>::IID
21387 }
21388}
21389impl windows_core::RuntimeName for ICoreWebView2FrameInfoCollectionIterator {}
21390windows_core::imp::define_interface!(
21391 ICoreWebView2FrameNameChangedEventHandler,
21392 ICoreWebView2FrameNameChangedEventHandler_Vtbl,
21393 0x435c7dc8_9baa_11eb_a8b3_0242ac130003
21394);
21395windows_core::imp::interface_hierarchy!(
21396 ICoreWebView2FrameNameChangedEventHandler,
21397 windows_core::IUnknown
21398);
21399impl ICoreWebView2FrameNameChangedEventHandler {
21400 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21401 where
21402 P0: windows_core::Param<ICoreWebView2Frame>,
21403 P1: windows_core::Param<windows_core::IUnknown>,
21404 {
21405 unsafe {
21406 (windows_core::Interface::vtable(self).Invoke)(
21407 windows_core::Interface::as_raw(self),
21408 sender.param().abi(),
21409 args.param().abi(),
21410 )
21411 .ok()
21412 }
21413 }
21414}
21415#[repr(C)]
21416#[doc(hidden)]
21417pub struct ICoreWebView2FrameNameChangedEventHandler_Vtbl {
21418 pub base__: windows_core::IUnknown_Vtbl,
21419 pub Invoke: unsafe extern "system" fn(
21420 *mut core::ffi::c_void,
21421 *mut core::ffi::c_void,
21422 *mut core::ffi::c_void,
21423 ) -> windows_core::HRESULT,
21424}
21425pub trait ICoreWebView2FrameNameChangedEventHandler_Impl: windows_core::IUnknownImpl {
21426 fn Invoke(
21427 &self,
21428 sender: windows_core::Ref<ICoreWebView2Frame>,
21429 args: windows_core::Ref<windows_core::IUnknown>,
21430 ) -> windows_core::Result<()>;
21431}
21432impl ICoreWebView2FrameNameChangedEventHandler_Vtbl {
21433 pub const fn new<
21434 Identity: ICoreWebView2FrameNameChangedEventHandler_Impl,
21435 const OFFSET: isize,
21436 >() -> Self {
21437 unsafe extern "system" fn Invoke<
21438 Identity: ICoreWebView2FrameNameChangedEventHandler_Impl,
21439 const OFFSET: isize,
21440 >(
21441 this: *mut core::ffi::c_void,
21442 sender: *mut core::ffi::c_void,
21443 args: *mut core::ffi::c_void,
21444 ) -> windows_core::HRESULT {
21445 unsafe {
21446 let this: &Identity =
21447 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21448 ICoreWebView2FrameNameChangedEventHandler_Impl::Invoke(
21449 this,
21450 core::mem::transmute_copy(&sender),
21451 core::mem::transmute_copy(&args),
21452 )
21453 .into()
21454 }
21455 }
21456 Self {
21457 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21458 Invoke: Invoke::<Identity, OFFSET>,
21459 }
21460 }
21461 pub fn matches(iid: &windows_core::GUID) -> bool {
21462 iid == &<ICoreWebView2FrameNameChangedEventHandler as windows_core::Interface>::IID
21463 }
21464}
21465impl windows_core::RuntimeName for ICoreWebView2FrameNameChangedEventHandler {}
21466windows_core::imp::define_interface!(
21467 ICoreWebView2FrameNavigationCompletedEventHandler,
21468 ICoreWebView2FrameNavigationCompletedEventHandler_Vtbl,
21469 0x609302ad_0e36_4f9a_a210_6a45272842a9
21470);
21471windows_core::imp::interface_hierarchy!(
21472 ICoreWebView2FrameNavigationCompletedEventHandler,
21473 windows_core::IUnknown
21474);
21475impl ICoreWebView2FrameNavigationCompletedEventHandler {
21476 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21477 where
21478 P0: windows_core::Param<ICoreWebView2Frame>,
21479 P1: windows_core::Param<ICoreWebView2NavigationCompletedEventArgs>,
21480 {
21481 unsafe {
21482 (windows_core::Interface::vtable(self).Invoke)(
21483 windows_core::Interface::as_raw(self),
21484 sender.param().abi(),
21485 args.param().abi(),
21486 )
21487 .ok()
21488 }
21489 }
21490}
21491#[repr(C)]
21492#[doc(hidden)]
21493pub struct ICoreWebView2FrameNavigationCompletedEventHandler_Vtbl {
21494 pub base__: windows_core::IUnknown_Vtbl,
21495 pub Invoke: unsafe extern "system" fn(
21496 *mut core::ffi::c_void,
21497 *mut core::ffi::c_void,
21498 *mut core::ffi::c_void,
21499 ) -> windows_core::HRESULT,
21500}
21501pub trait ICoreWebView2FrameNavigationCompletedEventHandler_Impl:
21502 windows_core::IUnknownImpl
21503{
21504 fn Invoke(
21505 &self,
21506 sender: windows_core::Ref<ICoreWebView2Frame>,
21507 args: windows_core::Ref<ICoreWebView2NavigationCompletedEventArgs>,
21508 ) -> windows_core::Result<()>;
21509}
21510impl ICoreWebView2FrameNavigationCompletedEventHandler_Vtbl {
21511 pub const fn new<
21512 Identity: ICoreWebView2FrameNavigationCompletedEventHandler_Impl,
21513 const OFFSET: isize,
21514 >() -> Self {
21515 unsafe extern "system" fn Invoke<
21516 Identity: ICoreWebView2FrameNavigationCompletedEventHandler_Impl,
21517 const OFFSET: isize,
21518 >(
21519 this: *mut core::ffi::c_void,
21520 sender: *mut core::ffi::c_void,
21521 args: *mut core::ffi::c_void,
21522 ) -> windows_core::HRESULT {
21523 unsafe {
21524 let this: &Identity =
21525 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21526 ICoreWebView2FrameNavigationCompletedEventHandler_Impl::Invoke(
21527 this,
21528 core::mem::transmute_copy(&sender),
21529 core::mem::transmute_copy(&args),
21530 )
21531 .into()
21532 }
21533 }
21534 Self {
21535 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21536 Invoke: Invoke::<Identity, OFFSET>,
21537 }
21538 }
21539 pub fn matches(iid: &windows_core::GUID) -> bool {
21540 iid == &<ICoreWebView2FrameNavigationCompletedEventHandler as windows_core::Interface>::IID
21541 }
21542}
21543impl windows_core::RuntimeName for ICoreWebView2FrameNavigationCompletedEventHandler {}
21544windows_core::imp::define_interface!(
21545 ICoreWebView2FrameNavigationStartingEventHandler,
21546 ICoreWebView2FrameNavigationStartingEventHandler_Vtbl,
21547 0xe79908bf_2d5d_4968_83db_263fea2c1da3
21548);
21549windows_core::imp::interface_hierarchy!(
21550 ICoreWebView2FrameNavigationStartingEventHandler,
21551 windows_core::IUnknown
21552);
21553impl ICoreWebView2FrameNavigationStartingEventHandler {
21554 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21555 where
21556 P0: windows_core::Param<ICoreWebView2Frame>,
21557 P1: windows_core::Param<ICoreWebView2NavigationStartingEventArgs>,
21558 {
21559 unsafe {
21560 (windows_core::Interface::vtable(self).Invoke)(
21561 windows_core::Interface::as_raw(self),
21562 sender.param().abi(),
21563 args.param().abi(),
21564 )
21565 .ok()
21566 }
21567 }
21568}
21569#[repr(C)]
21570#[doc(hidden)]
21571pub struct ICoreWebView2FrameNavigationStartingEventHandler_Vtbl {
21572 pub base__: windows_core::IUnknown_Vtbl,
21573 pub Invoke: unsafe extern "system" fn(
21574 *mut core::ffi::c_void,
21575 *mut core::ffi::c_void,
21576 *mut core::ffi::c_void,
21577 ) -> windows_core::HRESULT,
21578}
21579pub trait ICoreWebView2FrameNavigationStartingEventHandler_Impl:
21580 windows_core::IUnknownImpl
21581{
21582 fn Invoke(
21583 &self,
21584 sender: windows_core::Ref<ICoreWebView2Frame>,
21585 args: windows_core::Ref<ICoreWebView2NavigationStartingEventArgs>,
21586 ) -> windows_core::Result<()>;
21587}
21588impl ICoreWebView2FrameNavigationStartingEventHandler_Vtbl {
21589 pub const fn new<
21590 Identity: ICoreWebView2FrameNavigationStartingEventHandler_Impl,
21591 const OFFSET: isize,
21592 >() -> Self {
21593 unsafe extern "system" fn Invoke<
21594 Identity: ICoreWebView2FrameNavigationStartingEventHandler_Impl,
21595 const OFFSET: isize,
21596 >(
21597 this: *mut core::ffi::c_void,
21598 sender: *mut core::ffi::c_void,
21599 args: *mut core::ffi::c_void,
21600 ) -> windows_core::HRESULT {
21601 unsafe {
21602 let this: &Identity =
21603 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21604 ICoreWebView2FrameNavigationStartingEventHandler_Impl::Invoke(
21605 this,
21606 core::mem::transmute_copy(&sender),
21607 core::mem::transmute_copy(&args),
21608 )
21609 .into()
21610 }
21611 }
21612 Self {
21613 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21614 Invoke: Invoke::<Identity, OFFSET>,
21615 }
21616 }
21617 pub fn matches(iid: &windows_core::GUID) -> bool {
21618 iid == &<ICoreWebView2FrameNavigationStartingEventHandler as windows_core::Interface>::IID
21619 }
21620}
21621impl windows_core::RuntimeName for ICoreWebView2FrameNavigationStartingEventHandler {}
21622windows_core::imp::define_interface!(
21623 ICoreWebView2FramePermissionRequestedEventHandler,
21624 ICoreWebView2FramePermissionRequestedEventHandler_Vtbl,
21625 0x845d0edd_8bd8_429b_9915_4821789f23e9
21626);
21627windows_core::imp::interface_hierarchy!(
21628 ICoreWebView2FramePermissionRequestedEventHandler,
21629 windows_core::IUnknown
21630);
21631impl ICoreWebView2FramePermissionRequestedEventHandler {
21632 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21633 where
21634 P0: windows_core::Param<ICoreWebView2Frame>,
21635 P1: windows_core::Param<ICoreWebView2PermissionRequestedEventArgs2>,
21636 {
21637 unsafe {
21638 (windows_core::Interface::vtable(self).Invoke)(
21639 windows_core::Interface::as_raw(self),
21640 sender.param().abi(),
21641 args.param().abi(),
21642 )
21643 .ok()
21644 }
21645 }
21646}
21647#[repr(C)]
21648#[doc(hidden)]
21649pub struct ICoreWebView2FramePermissionRequestedEventHandler_Vtbl {
21650 pub base__: windows_core::IUnknown_Vtbl,
21651 pub Invoke: unsafe extern "system" fn(
21652 *mut core::ffi::c_void,
21653 *mut core::ffi::c_void,
21654 *mut core::ffi::c_void,
21655 ) -> windows_core::HRESULT,
21656}
21657pub trait ICoreWebView2FramePermissionRequestedEventHandler_Impl:
21658 windows_core::IUnknownImpl
21659{
21660 fn Invoke(
21661 &self,
21662 sender: windows_core::Ref<ICoreWebView2Frame>,
21663 args: windows_core::Ref<ICoreWebView2PermissionRequestedEventArgs2>,
21664 ) -> windows_core::Result<()>;
21665}
21666impl ICoreWebView2FramePermissionRequestedEventHandler_Vtbl {
21667 pub const fn new<
21668 Identity: ICoreWebView2FramePermissionRequestedEventHandler_Impl,
21669 const OFFSET: isize,
21670 >() -> Self {
21671 unsafe extern "system" fn Invoke<
21672 Identity: ICoreWebView2FramePermissionRequestedEventHandler_Impl,
21673 const OFFSET: isize,
21674 >(
21675 this: *mut core::ffi::c_void,
21676 sender: *mut core::ffi::c_void,
21677 args: *mut core::ffi::c_void,
21678 ) -> windows_core::HRESULT {
21679 unsafe {
21680 let this: &Identity =
21681 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21682 ICoreWebView2FramePermissionRequestedEventHandler_Impl::Invoke(
21683 this,
21684 core::mem::transmute_copy(&sender),
21685 core::mem::transmute_copy(&args),
21686 )
21687 .into()
21688 }
21689 }
21690 Self {
21691 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21692 Invoke: Invoke::<Identity, OFFSET>,
21693 }
21694 }
21695 pub fn matches(iid: &windows_core::GUID) -> bool {
21696 iid == &<ICoreWebView2FramePermissionRequestedEventHandler as windows_core::Interface>::IID
21697 }
21698}
21699impl windows_core::RuntimeName for ICoreWebView2FramePermissionRequestedEventHandler {}
21700windows_core::imp::define_interface!(
21701 ICoreWebView2FrameScreenCaptureStartingEventHandler,
21702 ICoreWebView2FrameScreenCaptureStartingEventHandler_Vtbl,
21703 0xa6c1d8ad_bb80_59c5_895b_fba1698b9309
21704);
21705windows_core::imp::interface_hierarchy!(
21706 ICoreWebView2FrameScreenCaptureStartingEventHandler,
21707 windows_core::IUnknown
21708);
21709impl ICoreWebView2FrameScreenCaptureStartingEventHandler {
21710 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21711 where
21712 P0: windows_core::Param<ICoreWebView2Frame>,
21713 P1: windows_core::Param<ICoreWebView2ScreenCaptureStartingEventArgs>,
21714 {
21715 unsafe {
21716 (windows_core::Interface::vtable(self).Invoke)(
21717 windows_core::Interface::as_raw(self),
21718 sender.param().abi(),
21719 args.param().abi(),
21720 )
21721 .ok()
21722 }
21723 }
21724}
21725#[repr(C)]
21726#[doc(hidden)]
21727pub struct ICoreWebView2FrameScreenCaptureStartingEventHandler_Vtbl {
21728 pub base__: windows_core::IUnknown_Vtbl,
21729 pub Invoke: unsafe extern "system" fn(
21730 *mut core::ffi::c_void,
21731 *mut core::ffi::c_void,
21732 *mut core::ffi::c_void,
21733 ) -> windows_core::HRESULT,
21734}
21735pub trait ICoreWebView2FrameScreenCaptureStartingEventHandler_Impl:
21736 windows_core::IUnknownImpl
21737{
21738 fn Invoke(
21739 &self,
21740 sender: windows_core::Ref<ICoreWebView2Frame>,
21741 args: windows_core::Ref<ICoreWebView2ScreenCaptureStartingEventArgs>,
21742 ) -> windows_core::Result<()>;
21743}
21744impl ICoreWebView2FrameScreenCaptureStartingEventHandler_Vtbl {
21745 pub const fn new<
21746 Identity: ICoreWebView2FrameScreenCaptureStartingEventHandler_Impl,
21747 const OFFSET: isize,
21748 >() -> Self {
21749 unsafe extern "system" fn Invoke<
21750 Identity: ICoreWebView2FrameScreenCaptureStartingEventHandler_Impl,
21751 const OFFSET: isize,
21752 >(
21753 this: *mut core::ffi::c_void,
21754 sender: *mut core::ffi::c_void,
21755 args: *mut core::ffi::c_void,
21756 ) -> windows_core::HRESULT {
21757 unsafe {
21758 let this: &Identity =
21759 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21760 ICoreWebView2FrameScreenCaptureStartingEventHandler_Impl::Invoke(
21761 this,
21762 core::mem::transmute_copy(&sender),
21763 core::mem::transmute_copy(&args),
21764 )
21765 .into()
21766 }
21767 }
21768 Self {
21769 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21770 Invoke: Invoke::<Identity, OFFSET>,
21771 }
21772 }
21773 pub fn matches(iid: &windows_core::GUID) -> bool {
21774 iid == & < ICoreWebView2FrameScreenCaptureStartingEventHandler as windows_core::Interface >::IID
21775 }
21776}
21777impl windows_core::RuntimeName for ICoreWebView2FrameScreenCaptureStartingEventHandler {}
21778windows_core::imp::define_interface!(
21779 ICoreWebView2FrameWebMessageReceivedEventHandler,
21780 ICoreWebView2FrameWebMessageReceivedEventHandler_Vtbl,
21781 0xe371e005_6d1d_4517_934b_a8f1629c62a5
21782);
21783windows_core::imp::interface_hierarchy!(
21784 ICoreWebView2FrameWebMessageReceivedEventHandler,
21785 windows_core::IUnknown
21786);
21787impl ICoreWebView2FrameWebMessageReceivedEventHandler {
21788 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21789 where
21790 P0: windows_core::Param<ICoreWebView2Frame>,
21791 P1: windows_core::Param<ICoreWebView2WebMessageReceivedEventArgs>,
21792 {
21793 unsafe {
21794 (windows_core::Interface::vtable(self).Invoke)(
21795 windows_core::Interface::as_raw(self),
21796 sender.param().abi(),
21797 args.param().abi(),
21798 )
21799 .ok()
21800 }
21801 }
21802}
21803#[repr(C)]
21804#[doc(hidden)]
21805pub struct ICoreWebView2FrameWebMessageReceivedEventHandler_Vtbl {
21806 pub base__: windows_core::IUnknown_Vtbl,
21807 pub Invoke: unsafe extern "system" fn(
21808 *mut core::ffi::c_void,
21809 *mut core::ffi::c_void,
21810 *mut core::ffi::c_void,
21811 ) -> windows_core::HRESULT,
21812}
21813pub trait ICoreWebView2FrameWebMessageReceivedEventHandler_Impl:
21814 windows_core::IUnknownImpl
21815{
21816 fn Invoke(
21817 &self,
21818 sender: windows_core::Ref<ICoreWebView2Frame>,
21819 args: windows_core::Ref<ICoreWebView2WebMessageReceivedEventArgs>,
21820 ) -> windows_core::Result<()>;
21821}
21822impl ICoreWebView2FrameWebMessageReceivedEventHandler_Vtbl {
21823 pub const fn new<
21824 Identity: ICoreWebView2FrameWebMessageReceivedEventHandler_Impl,
21825 const OFFSET: isize,
21826 >() -> Self {
21827 unsafe extern "system" fn Invoke<
21828 Identity: ICoreWebView2FrameWebMessageReceivedEventHandler_Impl,
21829 const OFFSET: isize,
21830 >(
21831 this: *mut core::ffi::c_void,
21832 sender: *mut core::ffi::c_void,
21833 args: *mut core::ffi::c_void,
21834 ) -> windows_core::HRESULT {
21835 unsafe {
21836 let this: &Identity =
21837 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21838 ICoreWebView2FrameWebMessageReceivedEventHandler_Impl::Invoke(
21839 this,
21840 core::mem::transmute_copy(&sender),
21841 core::mem::transmute_copy(&args),
21842 )
21843 .into()
21844 }
21845 }
21846 Self {
21847 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21848 Invoke: Invoke::<Identity, OFFSET>,
21849 }
21850 }
21851 pub fn matches(iid: &windows_core::GUID) -> bool {
21852 iid == &<ICoreWebView2FrameWebMessageReceivedEventHandler as windows_core::Interface>::IID
21853 }
21854}
21855impl windows_core::RuntimeName for ICoreWebView2FrameWebMessageReceivedEventHandler {}
21856windows_core::imp::define_interface!(
21857 ICoreWebView2GetCookiesCompletedHandler,
21858 ICoreWebView2GetCookiesCompletedHandler_Vtbl,
21859 0x5a4f5069_5c15_47c3_8646_f4de1c116670
21860);
21861windows_core::imp::interface_hierarchy!(
21862 ICoreWebView2GetCookiesCompletedHandler,
21863 windows_core::IUnknown
21864);
21865impl ICoreWebView2GetCookiesCompletedHandler {
21866 pub unsafe fn Invoke<P1>(
21867 &self,
21868 errorcode: windows_core::HRESULT,
21869 result: P1,
21870 ) -> windows_core::Result<()>
21871 where
21872 P1: windows_core::Param<ICoreWebView2CookieList>,
21873 {
21874 unsafe {
21875 (windows_core::Interface::vtable(self).Invoke)(
21876 windows_core::Interface::as_raw(self),
21877 errorcode,
21878 result.param().abi(),
21879 )
21880 .ok()
21881 }
21882 }
21883}
21884#[repr(C)]
21885#[doc(hidden)]
21886pub struct ICoreWebView2GetCookiesCompletedHandler_Vtbl {
21887 pub base__: windows_core::IUnknown_Vtbl,
21888 pub Invoke: unsafe extern "system" fn(
21889 *mut core::ffi::c_void,
21890 windows_core::HRESULT,
21891 *mut core::ffi::c_void,
21892 ) -> windows_core::HRESULT,
21893}
21894pub trait ICoreWebView2GetCookiesCompletedHandler_Impl: windows_core::IUnknownImpl {
21895 fn Invoke(
21896 &self,
21897 errorcode: windows_core::HRESULT,
21898 result: windows_core::Ref<ICoreWebView2CookieList>,
21899 ) -> windows_core::Result<()>;
21900}
21901impl ICoreWebView2GetCookiesCompletedHandler_Vtbl {
21902 pub const fn new<
21903 Identity: ICoreWebView2GetCookiesCompletedHandler_Impl,
21904 const OFFSET: isize,
21905 >() -> Self {
21906 unsafe extern "system" fn Invoke<
21907 Identity: ICoreWebView2GetCookiesCompletedHandler_Impl,
21908 const OFFSET: isize,
21909 >(
21910 this: *mut core::ffi::c_void,
21911 errorcode: windows_core::HRESULT,
21912 result: *mut core::ffi::c_void,
21913 ) -> windows_core::HRESULT {
21914 unsafe {
21915 let this: &Identity =
21916 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21917 ICoreWebView2GetCookiesCompletedHandler_Impl::Invoke(
21918 this,
21919 core::mem::transmute_copy(&errorcode),
21920 core::mem::transmute_copy(&result),
21921 )
21922 .into()
21923 }
21924 }
21925 Self {
21926 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21927 Invoke: Invoke::<Identity, OFFSET>,
21928 }
21929 }
21930 pub fn matches(iid: &windows_core::GUID) -> bool {
21931 iid == &<ICoreWebView2GetCookiesCompletedHandler as windows_core::Interface>::IID
21932 }
21933}
21934impl windows_core::RuntimeName for ICoreWebView2GetCookiesCompletedHandler {}
21935windows_core::imp::define_interface!(
21936 ICoreWebView2GetFaviconCompletedHandler,
21937 ICoreWebView2GetFaviconCompletedHandler_Vtbl,
21938 0xa2508329_7da8_49d7_8c05_fa125e4aee8d
21939);
21940windows_core::imp::interface_hierarchy!(
21941 ICoreWebView2GetFaviconCompletedHandler,
21942 windows_core::IUnknown
21943);
21944impl ICoreWebView2GetFaviconCompletedHandler {
21945 pub unsafe fn Invoke<P1>(
21946 &self,
21947 errorcode: windows_core::HRESULT,
21948 result: P1,
21949 ) -> windows_core::Result<()>
21950 where
21951 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
21952 {
21953 unsafe {
21954 (windows_core::Interface::vtable(self).Invoke)(
21955 windows_core::Interface::as_raw(self),
21956 errorcode,
21957 result.param().abi(),
21958 )
21959 .ok()
21960 }
21961 }
21962}
21963#[repr(C)]
21964#[doc(hidden)]
21965pub struct ICoreWebView2GetFaviconCompletedHandler_Vtbl {
21966 pub base__: windows_core::IUnknown_Vtbl,
21967 pub Invoke: unsafe extern "system" fn(
21968 *mut core::ffi::c_void,
21969 windows_core::HRESULT,
21970 *mut core::ffi::c_void,
21971 ) -> windows_core::HRESULT,
21972}
21973pub trait ICoreWebView2GetFaviconCompletedHandler_Impl: windows_core::IUnknownImpl {
21974 fn Invoke(
21975 &self,
21976 errorcode: windows_core::HRESULT,
21977 result: windows_core::Ref<windows::Win32::System::Com::IStream>,
21978 ) -> windows_core::Result<()>;
21979}
21980impl ICoreWebView2GetFaviconCompletedHandler_Vtbl {
21981 pub const fn new<
21982 Identity: ICoreWebView2GetFaviconCompletedHandler_Impl,
21983 const OFFSET: isize,
21984 >() -> Self {
21985 unsafe extern "system" fn Invoke<
21986 Identity: ICoreWebView2GetFaviconCompletedHandler_Impl,
21987 const OFFSET: isize,
21988 >(
21989 this: *mut core::ffi::c_void,
21990 errorcode: windows_core::HRESULT,
21991 result: *mut core::ffi::c_void,
21992 ) -> windows_core::HRESULT {
21993 unsafe {
21994 let this: &Identity =
21995 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21996 ICoreWebView2GetFaviconCompletedHandler_Impl::Invoke(
21997 this,
21998 core::mem::transmute_copy(&errorcode),
21999 core::mem::transmute_copy(&result),
22000 )
22001 .into()
22002 }
22003 }
22004 Self {
22005 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22006 Invoke: Invoke::<Identity, OFFSET>,
22007 }
22008 }
22009 pub fn matches(iid: &windows_core::GUID) -> bool {
22010 iid == &<ICoreWebView2GetFaviconCompletedHandler as windows_core::Interface>::IID
22011 }
22012}
22013impl windows_core::RuntimeName for ICoreWebView2GetFaviconCompletedHandler {}
22014windows_core::imp::define_interface!(
22015 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler,
22016 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Vtbl,
22017 0x38274481_a15c_4563_94cf_990edc9aeb95
22018);
22019windows_core::imp::interface_hierarchy!(
22020 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler,
22021 windows_core::IUnknown
22022);
22023impl ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler {
22024 pub unsafe fn Invoke<P1>(
22025 &self,
22026 errorcode: windows_core::HRESULT,
22027 result: P1,
22028 ) -> windows_core::Result<()>
22029 where
22030 P1: windows_core::Param<ICoreWebView2PermissionSettingCollectionView>,
22031 {
22032 unsafe {
22033 (windows_core::Interface::vtable(self).Invoke)(
22034 windows_core::Interface::as_raw(self),
22035 errorcode,
22036 result.param().abi(),
22037 )
22038 .ok()
22039 }
22040 }
22041}
22042#[repr(C)]
22043#[doc(hidden)]
22044pub struct ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Vtbl {
22045 pub base__: windows_core::IUnknown_Vtbl,
22046 pub Invoke: unsafe extern "system" fn(
22047 *mut core::ffi::c_void,
22048 windows_core::HRESULT,
22049 *mut core::ffi::c_void,
22050 ) -> windows_core::HRESULT,
22051}
22052pub trait ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Impl:
22053 windows_core::IUnknownImpl
22054{
22055 fn Invoke(
22056 &self,
22057 errorcode: windows_core::HRESULT,
22058 result: windows_core::Ref<ICoreWebView2PermissionSettingCollectionView>,
22059 ) -> windows_core::Result<()>;
22060}
22061impl ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Vtbl {
22062 pub const fn new<
22063 Identity: ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Impl,
22064 const OFFSET: isize,
22065 >() -> Self {
22066 unsafe extern "system" fn Invoke<
22067 Identity: ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Impl,
22068 const OFFSET: isize,
22069 >(
22070 this: *mut core::ffi::c_void,
22071 errorcode: windows_core::HRESULT,
22072 result: *mut core::ffi::c_void,
22073 ) -> windows_core::HRESULT {
22074 unsafe {
22075 let this: &Identity =
22076 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22077 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Impl::Invoke(
22078 this,
22079 core::mem::transmute_copy(&errorcode),
22080 core::mem::transmute_copy(&result),
22081 )
22082 .into()
22083 }
22084 }
22085 Self {
22086 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22087 Invoke: Invoke::<Identity, OFFSET>,
22088 }
22089 }
22090 pub fn matches(iid: &windows_core::GUID) -> bool {
22091 iid == & < ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler as windows_core::Interface >::IID
22092 }
22093}
22094impl windows_core::RuntimeName for ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler {}
22095windows_core::imp::define_interface!(
22096 ICoreWebView2GetProcessExtendedInfosCompletedHandler,
22097 ICoreWebView2GetProcessExtendedInfosCompletedHandler_Vtbl,
22098 0xf45e55aa_3bc2_11ee_be56_0242ac120002
22099);
22100windows_core::imp::interface_hierarchy!(
22101 ICoreWebView2GetProcessExtendedInfosCompletedHandler,
22102 windows_core::IUnknown
22103);
22104impl ICoreWebView2GetProcessExtendedInfosCompletedHandler {
22105 pub unsafe fn Invoke<P1>(
22106 &self,
22107 errorcode: windows_core::HRESULT,
22108 result: P1,
22109 ) -> windows_core::Result<()>
22110 where
22111 P1: windows_core::Param<ICoreWebView2ProcessExtendedInfoCollection>,
22112 {
22113 unsafe {
22114 (windows_core::Interface::vtable(self).Invoke)(
22115 windows_core::Interface::as_raw(self),
22116 errorcode,
22117 result.param().abi(),
22118 )
22119 .ok()
22120 }
22121 }
22122}
22123#[repr(C)]
22124#[doc(hidden)]
22125pub struct ICoreWebView2GetProcessExtendedInfosCompletedHandler_Vtbl {
22126 pub base__: windows_core::IUnknown_Vtbl,
22127 pub Invoke: unsafe extern "system" fn(
22128 *mut core::ffi::c_void,
22129 windows_core::HRESULT,
22130 *mut core::ffi::c_void,
22131 ) -> windows_core::HRESULT,
22132}
22133pub trait ICoreWebView2GetProcessExtendedInfosCompletedHandler_Impl:
22134 windows_core::IUnknownImpl
22135{
22136 fn Invoke(
22137 &self,
22138 errorcode: windows_core::HRESULT,
22139 result: windows_core::Ref<ICoreWebView2ProcessExtendedInfoCollection>,
22140 ) -> windows_core::Result<()>;
22141}
22142impl ICoreWebView2GetProcessExtendedInfosCompletedHandler_Vtbl {
22143 pub const fn new<
22144 Identity: ICoreWebView2GetProcessExtendedInfosCompletedHandler_Impl,
22145 const OFFSET: isize,
22146 >() -> Self {
22147 unsafe extern "system" fn Invoke<
22148 Identity: ICoreWebView2GetProcessExtendedInfosCompletedHandler_Impl,
22149 const OFFSET: isize,
22150 >(
22151 this: *mut core::ffi::c_void,
22152 errorcode: windows_core::HRESULT,
22153 result: *mut core::ffi::c_void,
22154 ) -> windows_core::HRESULT {
22155 unsafe {
22156 let this: &Identity =
22157 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22158 ICoreWebView2GetProcessExtendedInfosCompletedHandler_Impl::Invoke(
22159 this,
22160 core::mem::transmute_copy(&errorcode),
22161 core::mem::transmute_copy(&result),
22162 )
22163 .into()
22164 }
22165 }
22166 Self {
22167 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22168 Invoke: Invoke::<Identity, OFFSET>,
22169 }
22170 }
22171 pub fn matches(iid: &windows_core::GUID) -> bool {
22172 iid == & < ICoreWebView2GetProcessExtendedInfosCompletedHandler as windows_core::Interface >::IID
22173 }
22174}
22175impl windows_core::RuntimeName for ICoreWebView2GetProcessExtendedInfosCompletedHandler {}
22176windows_core::imp::define_interface!(
22177 ICoreWebView2HistoryChangedEventHandler,
22178 ICoreWebView2HistoryChangedEventHandler_Vtbl,
22179 0xc79a420c_efd9_4058_9295_3e8b4bcab645
22180);
22181windows_core::imp::interface_hierarchy!(
22182 ICoreWebView2HistoryChangedEventHandler,
22183 windows_core::IUnknown
22184);
22185impl ICoreWebView2HistoryChangedEventHandler {
22186 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
22187 where
22188 P0: windows_core::Param<ICoreWebView2>,
22189 P1: windows_core::Param<windows_core::IUnknown>,
22190 {
22191 unsafe {
22192 (windows_core::Interface::vtable(self).Invoke)(
22193 windows_core::Interface::as_raw(self),
22194 sender.param().abi(),
22195 args.param().abi(),
22196 )
22197 .ok()
22198 }
22199 }
22200}
22201#[repr(C)]
22202#[doc(hidden)]
22203pub struct ICoreWebView2HistoryChangedEventHandler_Vtbl {
22204 pub base__: windows_core::IUnknown_Vtbl,
22205 pub Invoke: unsafe extern "system" fn(
22206 *mut core::ffi::c_void,
22207 *mut core::ffi::c_void,
22208 *mut core::ffi::c_void,
22209 ) -> windows_core::HRESULT,
22210}
22211pub trait ICoreWebView2HistoryChangedEventHandler_Impl: windows_core::IUnknownImpl {
22212 fn Invoke(
22213 &self,
22214 sender: windows_core::Ref<ICoreWebView2>,
22215 args: windows_core::Ref<windows_core::IUnknown>,
22216 ) -> windows_core::Result<()>;
22217}
22218impl ICoreWebView2HistoryChangedEventHandler_Vtbl {
22219 pub const fn new<
22220 Identity: ICoreWebView2HistoryChangedEventHandler_Impl,
22221 const OFFSET: isize,
22222 >() -> Self {
22223 unsafe extern "system" fn Invoke<
22224 Identity: ICoreWebView2HistoryChangedEventHandler_Impl,
22225 const OFFSET: isize,
22226 >(
22227 this: *mut core::ffi::c_void,
22228 sender: *mut core::ffi::c_void,
22229 args: *mut core::ffi::c_void,
22230 ) -> windows_core::HRESULT {
22231 unsafe {
22232 let this: &Identity =
22233 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22234 ICoreWebView2HistoryChangedEventHandler_Impl::Invoke(
22235 this,
22236 core::mem::transmute_copy(&sender),
22237 core::mem::transmute_copy(&args),
22238 )
22239 .into()
22240 }
22241 }
22242 Self {
22243 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22244 Invoke: Invoke::<Identity, OFFSET>,
22245 }
22246 }
22247 pub fn matches(iid: &windows_core::GUID) -> bool {
22248 iid == &<ICoreWebView2HistoryChangedEventHandler as windows_core::Interface>::IID
22249 }
22250}
22251impl windows_core::RuntimeName for ICoreWebView2HistoryChangedEventHandler {}
22252windows_core::imp::define_interface!(
22253 ICoreWebView2HttpHeadersCollectionIterator,
22254 ICoreWebView2HttpHeadersCollectionIterator_Vtbl,
22255 0x0702fc30_f43b_47bb_ab52_a42cb552ad9f
22256);
22257windows_core::imp::interface_hierarchy!(
22258 ICoreWebView2HttpHeadersCollectionIterator,
22259 windows_core::IUnknown
22260);
22261impl ICoreWebView2HttpHeadersCollectionIterator {
22262 pub unsafe fn GetCurrentHeader(
22263 &self,
22264 name: *mut windows_core::PWSTR,
22265 value: *mut windows_core::PWSTR,
22266 ) -> windows_core::Result<()> {
22267 unsafe {
22268 (windows_core::Interface::vtable(self).GetCurrentHeader)(
22269 windows_core::Interface::as_raw(self),
22270 name as _,
22271 value as _,
22272 )
22273 .ok()
22274 }
22275 }
22276 pub unsafe fn HasCurrentHeader(
22277 &self,
22278 hascurrent: *mut windows_core::BOOL,
22279 ) -> windows_core::Result<()> {
22280 unsafe {
22281 (windows_core::Interface::vtable(self).HasCurrentHeader)(
22282 windows_core::Interface::as_raw(self),
22283 hascurrent as _,
22284 )
22285 .ok()
22286 }
22287 }
22288 pub unsafe fn MoveNext(&self, hasnext: *mut windows_core::BOOL) -> windows_core::Result<()> {
22289 unsafe {
22290 (windows_core::Interface::vtable(self).MoveNext)(
22291 windows_core::Interface::as_raw(self),
22292 hasnext as _,
22293 )
22294 .ok()
22295 }
22296 }
22297}
22298#[repr(C)]
22299#[doc(hidden)]
22300pub struct ICoreWebView2HttpHeadersCollectionIterator_Vtbl {
22301 pub base__: windows_core::IUnknown_Vtbl,
22302 pub GetCurrentHeader: unsafe extern "system" fn(
22303 *mut core::ffi::c_void,
22304 *mut windows_core::PWSTR,
22305 *mut windows_core::PWSTR,
22306 ) -> windows_core::HRESULT,
22307 pub HasCurrentHeader: unsafe extern "system" fn(
22308 *mut core::ffi::c_void,
22309 *mut windows_core::BOOL,
22310 ) -> windows_core::HRESULT,
22311 pub MoveNext: unsafe extern "system" fn(
22312 *mut core::ffi::c_void,
22313 *mut windows_core::BOOL,
22314 ) -> windows_core::HRESULT,
22315}
22316pub trait ICoreWebView2HttpHeadersCollectionIterator_Impl: windows_core::IUnknownImpl {
22317 fn GetCurrentHeader(
22318 &self,
22319 name: *mut windows_core::PWSTR,
22320 value: *mut windows_core::PWSTR,
22321 ) -> windows_core::Result<()>;
22322 fn HasCurrentHeader(&self, hascurrent: *mut windows_core::BOOL) -> windows_core::Result<()>;
22323 fn MoveNext(&self, hasnext: *mut windows_core::BOOL) -> windows_core::Result<()>;
22324}
22325impl ICoreWebView2HttpHeadersCollectionIterator_Vtbl {
22326 pub const fn new<
22327 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
22328 const OFFSET: isize,
22329 >() -> Self {
22330 unsafe extern "system" fn GetCurrentHeader<
22331 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
22332 const OFFSET: isize,
22333 >(
22334 this: *mut core::ffi::c_void,
22335 name: *mut windows_core::PWSTR,
22336 value: *mut windows_core::PWSTR,
22337 ) -> windows_core::HRESULT {
22338 unsafe {
22339 let this: &Identity =
22340 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22341 ICoreWebView2HttpHeadersCollectionIterator_Impl::GetCurrentHeader(
22342 this,
22343 core::mem::transmute_copy(&name),
22344 core::mem::transmute_copy(&value),
22345 )
22346 .into()
22347 }
22348 }
22349 unsafe extern "system" fn HasCurrentHeader<
22350 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
22351 const OFFSET: isize,
22352 >(
22353 this: *mut core::ffi::c_void,
22354 hascurrent: *mut windows_core::BOOL,
22355 ) -> windows_core::HRESULT {
22356 unsafe {
22357 let this: &Identity =
22358 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22359 ICoreWebView2HttpHeadersCollectionIterator_Impl::HasCurrentHeader(
22360 this,
22361 core::mem::transmute_copy(&hascurrent),
22362 )
22363 .into()
22364 }
22365 }
22366 unsafe extern "system" fn MoveNext<
22367 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
22368 const OFFSET: isize,
22369 >(
22370 this: *mut core::ffi::c_void,
22371 hasnext: *mut windows_core::BOOL,
22372 ) -> windows_core::HRESULT {
22373 unsafe {
22374 let this: &Identity =
22375 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22376 ICoreWebView2HttpHeadersCollectionIterator_Impl::MoveNext(
22377 this,
22378 core::mem::transmute_copy(&hasnext),
22379 )
22380 .into()
22381 }
22382 }
22383 Self {
22384 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22385 GetCurrentHeader: GetCurrentHeader::<Identity, OFFSET>,
22386 HasCurrentHeader: HasCurrentHeader::<Identity, OFFSET>,
22387 MoveNext: MoveNext::<Identity, OFFSET>,
22388 }
22389 }
22390 pub fn matches(iid: &windows_core::GUID) -> bool {
22391 iid == &<ICoreWebView2HttpHeadersCollectionIterator as windows_core::Interface>::IID
22392 }
22393}
22394impl windows_core::RuntimeName for ICoreWebView2HttpHeadersCollectionIterator {}
22395windows_core::imp::define_interface!(
22396 ICoreWebView2HttpRequestHeaders,
22397 ICoreWebView2HttpRequestHeaders_Vtbl,
22398 0xe86cac0e_5523_465c_b536_8fb9fc8c8c60
22399);
22400windows_core::imp::interface_hierarchy!(ICoreWebView2HttpRequestHeaders, windows_core::IUnknown);
22401impl ICoreWebView2HttpRequestHeaders {
22402 pub unsafe fn GetHeader<P0>(
22403 &self,
22404 name: P0,
22405 value: *mut windows_core::PWSTR,
22406 ) -> windows_core::Result<()>
22407 where
22408 P0: windows_core::Param<windows_core::PCWSTR>,
22409 {
22410 unsafe {
22411 (windows_core::Interface::vtable(self).GetHeader)(
22412 windows_core::Interface::as_raw(self),
22413 name.param().abi(),
22414 value as _,
22415 )
22416 .ok()
22417 }
22418 }
22419 pub unsafe fn GetHeaders<P0>(
22420 &self,
22421 name: P0,
22422 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>
22423 where
22424 P0: windows_core::Param<windows_core::PCWSTR>,
22425 {
22426 unsafe {
22427 let mut result__ = core::mem::zeroed();
22428 (windows_core::Interface::vtable(self).GetHeaders)(
22429 windows_core::Interface::as_raw(self),
22430 name.param().abi(),
22431 &mut result__,
22432 )
22433 .and_then(|| windows_core::Type::from_abi(result__))
22434 }
22435 }
22436 pub unsafe fn Contains<P0>(
22437 &self,
22438 name: P0,
22439 value: *mut windows_core::BOOL,
22440 ) -> windows_core::Result<()>
22441 where
22442 P0: windows_core::Param<windows_core::PCWSTR>,
22443 {
22444 unsafe {
22445 (windows_core::Interface::vtable(self).Contains)(
22446 windows_core::Interface::as_raw(self),
22447 name.param().abi(),
22448 value as _,
22449 )
22450 .ok()
22451 }
22452 }
22453 pub unsafe fn SetHeader<P0, P1>(&self, name: P0, value: P1) -> windows_core::Result<()>
22454 where
22455 P0: windows_core::Param<windows_core::PCWSTR>,
22456 P1: windows_core::Param<windows_core::PCWSTR>,
22457 {
22458 unsafe {
22459 (windows_core::Interface::vtable(self).SetHeader)(
22460 windows_core::Interface::as_raw(self),
22461 name.param().abi(),
22462 value.param().abi(),
22463 )
22464 .ok()
22465 }
22466 }
22467 pub unsafe fn RemoveHeader<P0>(&self, name: P0) -> windows_core::Result<()>
22468 where
22469 P0: windows_core::Param<windows_core::PCWSTR>,
22470 {
22471 unsafe {
22472 (windows_core::Interface::vtable(self).RemoveHeader)(
22473 windows_core::Interface::as_raw(self),
22474 name.param().abi(),
22475 )
22476 .ok()
22477 }
22478 }
22479 pub unsafe fn GetIterator(
22480 &self,
22481 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator> {
22482 unsafe {
22483 let mut result__ = core::mem::zeroed();
22484 (windows_core::Interface::vtable(self).GetIterator)(
22485 windows_core::Interface::as_raw(self),
22486 &mut result__,
22487 )
22488 .and_then(|| windows_core::Type::from_abi(result__))
22489 }
22490 }
22491}
22492#[repr(C)]
22493#[doc(hidden)]
22494pub struct ICoreWebView2HttpRequestHeaders_Vtbl {
22495 pub base__: windows_core::IUnknown_Vtbl,
22496 pub GetHeader: unsafe extern "system" fn(
22497 *mut core::ffi::c_void,
22498 windows_core::PCWSTR,
22499 *mut windows_core::PWSTR,
22500 ) -> windows_core::HRESULT,
22501 pub GetHeaders: unsafe extern "system" fn(
22502 *mut core::ffi::c_void,
22503 windows_core::PCWSTR,
22504 *mut *mut core::ffi::c_void,
22505 ) -> windows_core::HRESULT,
22506 pub Contains: unsafe extern "system" fn(
22507 *mut core::ffi::c_void,
22508 windows_core::PCWSTR,
22509 *mut windows_core::BOOL,
22510 ) -> windows_core::HRESULT,
22511 pub SetHeader: unsafe extern "system" fn(
22512 *mut core::ffi::c_void,
22513 windows_core::PCWSTR,
22514 windows_core::PCWSTR,
22515 ) -> windows_core::HRESULT,
22516 pub RemoveHeader: unsafe extern "system" fn(
22517 *mut core::ffi::c_void,
22518 windows_core::PCWSTR,
22519 ) -> windows_core::HRESULT,
22520 pub GetIterator: unsafe extern "system" fn(
22521 *mut core::ffi::c_void,
22522 *mut *mut core::ffi::c_void,
22523 ) -> windows_core::HRESULT,
22524}
22525pub trait ICoreWebView2HttpRequestHeaders_Impl: windows_core::IUnknownImpl {
22526 fn GetHeader(
22527 &self,
22528 name: &windows_core::PCWSTR,
22529 value: *mut windows_core::PWSTR,
22530 ) -> windows_core::Result<()>;
22531 fn GetHeaders(
22532 &self,
22533 name: &windows_core::PCWSTR,
22534 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
22535 fn Contains(
22536 &self,
22537 name: &windows_core::PCWSTR,
22538 value: *mut windows_core::BOOL,
22539 ) -> windows_core::Result<()>;
22540 fn SetHeader(
22541 &self,
22542 name: &windows_core::PCWSTR,
22543 value: &windows_core::PCWSTR,
22544 ) -> windows_core::Result<()>;
22545 fn RemoveHeader(&self, name: &windows_core::PCWSTR) -> windows_core::Result<()>;
22546 fn GetIterator(&self) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
22547}
22548impl ICoreWebView2HttpRequestHeaders_Vtbl {
22549 pub const fn new<Identity: ICoreWebView2HttpRequestHeaders_Impl, const OFFSET: isize>() -> Self
22550 {
22551 unsafe extern "system" fn GetHeader<
22552 Identity: ICoreWebView2HttpRequestHeaders_Impl,
22553 const OFFSET: isize,
22554 >(
22555 this: *mut core::ffi::c_void,
22556 name: windows_core::PCWSTR,
22557 value: *mut windows_core::PWSTR,
22558 ) -> windows_core::HRESULT {
22559 unsafe {
22560 let this: &Identity =
22561 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22562 ICoreWebView2HttpRequestHeaders_Impl::GetHeader(
22563 this,
22564 core::mem::transmute(&name),
22565 core::mem::transmute_copy(&value),
22566 )
22567 .into()
22568 }
22569 }
22570 unsafe extern "system" fn GetHeaders<
22571 Identity: ICoreWebView2HttpRequestHeaders_Impl,
22572 const OFFSET: isize,
22573 >(
22574 this: *mut core::ffi::c_void,
22575 name: windows_core::PCWSTR,
22576 value: *mut *mut core::ffi::c_void,
22577 ) -> windows_core::HRESULT {
22578 unsafe {
22579 let this: &Identity =
22580 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22581 match ICoreWebView2HttpRequestHeaders_Impl::GetHeaders(
22582 this,
22583 core::mem::transmute(&name),
22584 ) {
22585 Ok(ok__) => {
22586 value.write(core::mem::transmute(ok__));
22587 windows_core::HRESULT(0)
22588 }
22589 Err(err) => err.into(),
22590 }
22591 }
22592 }
22593 unsafe extern "system" fn Contains<
22594 Identity: ICoreWebView2HttpRequestHeaders_Impl,
22595 const OFFSET: isize,
22596 >(
22597 this: *mut core::ffi::c_void,
22598 name: windows_core::PCWSTR,
22599 value: *mut windows_core::BOOL,
22600 ) -> windows_core::HRESULT {
22601 unsafe {
22602 let this: &Identity =
22603 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22604 ICoreWebView2HttpRequestHeaders_Impl::Contains(
22605 this,
22606 core::mem::transmute(&name),
22607 core::mem::transmute_copy(&value),
22608 )
22609 .into()
22610 }
22611 }
22612 unsafe extern "system" fn SetHeader<
22613 Identity: ICoreWebView2HttpRequestHeaders_Impl,
22614 const OFFSET: isize,
22615 >(
22616 this: *mut core::ffi::c_void,
22617 name: windows_core::PCWSTR,
22618 value: windows_core::PCWSTR,
22619 ) -> windows_core::HRESULT {
22620 unsafe {
22621 let this: &Identity =
22622 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22623 ICoreWebView2HttpRequestHeaders_Impl::SetHeader(
22624 this,
22625 core::mem::transmute(&name),
22626 core::mem::transmute(&value),
22627 )
22628 .into()
22629 }
22630 }
22631 unsafe extern "system" fn RemoveHeader<
22632 Identity: ICoreWebView2HttpRequestHeaders_Impl,
22633 const OFFSET: isize,
22634 >(
22635 this: *mut core::ffi::c_void,
22636 name: windows_core::PCWSTR,
22637 ) -> windows_core::HRESULT {
22638 unsafe {
22639 let this: &Identity =
22640 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22641 ICoreWebView2HttpRequestHeaders_Impl::RemoveHeader(
22642 this,
22643 core::mem::transmute(&name),
22644 )
22645 .into()
22646 }
22647 }
22648 unsafe extern "system" fn GetIterator<
22649 Identity: ICoreWebView2HttpRequestHeaders_Impl,
22650 const OFFSET: isize,
22651 >(
22652 this: *mut core::ffi::c_void,
22653 value: *mut *mut core::ffi::c_void,
22654 ) -> windows_core::HRESULT {
22655 unsafe {
22656 let this: &Identity =
22657 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22658 match ICoreWebView2HttpRequestHeaders_Impl::GetIterator(this) {
22659 Ok(ok__) => {
22660 value.write(core::mem::transmute(ok__));
22661 windows_core::HRESULT(0)
22662 }
22663 Err(err) => err.into(),
22664 }
22665 }
22666 }
22667 Self {
22668 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22669 GetHeader: GetHeader::<Identity, OFFSET>,
22670 GetHeaders: GetHeaders::<Identity, OFFSET>,
22671 Contains: Contains::<Identity, OFFSET>,
22672 SetHeader: SetHeader::<Identity, OFFSET>,
22673 RemoveHeader: RemoveHeader::<Identity, OFFSET>,
22674 GetIterator: GetIterator::<Identity, OFFSET>,
22675 }
22676 }
22677 pub fn matches(iid: &windows_core::GUID) -> bool {
22678 iid == &<ICoreWebView2HttpRequestHeaders as windows_core::Interface>::IID
22679 }
22680}
22681impl windows_core::RuntimeName for ICoreWebView2HttpRequestHeaders {}
22682windows_core::imp::define_interface!(
22683 ICoreWebView2HttpResponseHeaders,
22684 ICoreWebView2HttpResponseHeaders_Vtbl,
22685 0x03c5ff5a_9b45_4a88_881c_89a9f328619c
22686);
22687windows_core::imp::interface_hierarchy!(ICoreWebView2HttpResponseHeaders, windows_core::IUnknown);
22688impl ICoreWebView2HttpResponseHeaders {
22689 pub unsafe fn AppendHeader<P0, P1>(&self, name: P0, value: P1) -> windows_core::Result<()>
22690 where
22691 P0: windows_core::Param<windows_core::PCWSTR>,
22692 P1: windows_core::Param<windows_core::PCWSTR>,
22693 {
22694 unsafe {
22695 (windows_core::Interface::vtable(self).AppendHeader)(
22696 windows_core::Interface::as_raw(self),
22697 name.param().abi(),
22698 value.param().abi(),
22699 )
22700 .ok()
22701 }
22702 }
22703 pub unsafe fn Contains<P0>(
22704 &self,
22705 name: P0,
22706 value: *mut windows_core::BOOL,
22707 ) -> windows_core::Result<()>
22708 where
22709 P0: windows_core::Param<windows_core::PCWSTR>,
22710 {
22711 unsafe {
22712 (windows_core::Interface::vtable(self).Contains)(
22713 windows_core::Interface::as_raw(self),
22714 name.param().abi(),
22715 value as _,
22716 )
22717 .ok()
22718 }
22719 }
22720 pub unsafe fn GetHeader<P0>(
22721 &self,
22722 name: P0,
22723 value: *mut windows_core::PWSTR,
22724 ) -> windows_core::Result<()>
22725 where
22726 P0: windows_core::Param<windows_core::PCWSTR>,
22727 {
22728 unsafe {
22729 (windows_core::Interface::vtable(self).GetHeader)(
22730 windows_core::Interface::as_raw(self),
22731 name.param().abi(),
22732 value as _,
22733 )
22734 .ok()
22735 }
22736 }
22737 pub unsafe fn GetHeaders<P0>(
22738 &self,
22739 name: P0,
22740 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>
22741 where
22742 P0: windows_core::Param<windows_core::PCWSTR>,
22743 {
22744 unsafe {
22745 let mut result__ = core::mem::zeroed();
22746 (windows_core::Interface::vtable(self).GetHeaders)(
22747 windows_core::Interface::as_raw(self),
22748 name.param().abi(),
22749 &mut result__,
22750 )
22751 .and_then(|| windows_core::Type::from_abi(result__))
22752 }
22753 }
22754 pub unsafe fn GetIterator(
22755 &self,
22756 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator> {
22757 unsafe {
22758 let mut result__ = core::mem::zeroed();
22759 (windows_core::Interface::vtable(self).GetIterator)(
22760 windows_core::Interface::as_raw(self),
22761 &mut result__,
22762 )
22763 .and_then(|| windows_core::Type::from_abi(result__))
22764 }
22765 }
22766}
22767#[repr(C)]
22768#[doc(hidden)]
22769pub struct ICoreWebView2HttpResponseHeaders_Vtbl {
22770 pub base__: windows_core::IUnknown_Vtbl,
22771 pub AppendHeader: unsafe extern "system" fn(
22772 *mut core::ffi::c_void,
22773 windows_core::PCWSTR,
22774 windows_core::PCWSTR,
22775 ) -> windows_core::HRESULT,
22776 pub Contains: unsafe extern "system" fn(
22777 *mut core::ffi::c_void,
22778 windows_core::PCWSTR,
22779 *mut windows_core::BOOL,
22780 ) -> windows_core::HRESULT,
22781 pub GetHeader: unsafe extern "system" fn(
22782 *mut core::ffi::c_void,
22783 windows_core::PCWSTR,
22784 *mut windows_core::PWSTR,
22785 ) -> windows_core::HRESULT,
22786 pub GetHeaders: unsafe extern "system" fn(
22787 *mut core::ffi::c_void,
22788 windows_core::PCWSTR,
22789 *mut *mut core::ffi::c_void,
22790 ) -> windows_core::HRESULT,
22791 pub GetIterator: unsafe extern "system" fn(
22792 *mut core::ffi::c_void,
22793 *mut *mut core::ffi::c_void,
22794 ) -> windows_core::HRESULT,
22795}
22796pub trait ICoreWebView2HttpResponseHeaders_Impl: windows_core::IUnknownImpl {
22797 fn AppendHeader(
22798 &self,
22799 name: &windows_core::PCWSTR,
22800 value: &windows_core::PCWSTR,
22801 ) -> windows_core::Result<()>;
22802 fn Contains(
22803 &self,
22804 name: &windows_core::PCWSTR,
22805 value: *mut windows_core::BOOL,
22806 ) -> windows_core::Result<()>;
22807 fn GetHeader(
22808 &self,
22809 name: &windows_core::PCWSTR,
22810 value: *mut windows_core::PWSTR,
22811 ) -> windows_core::Result<()>;
22812 fn GetHeaders(
22813 &self,
22814 name: &windows_core::PCWSTR,
22815 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
22816 fn GetIterator(&self) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
22817}
22818impl ICoreWebView2HttpResponseHeaders_Vtbl {
22819 pub const fn new<Identity: ICoreWebView2HttpResponseHeaders_Impl, const OFFSET: isize>() -> Self
22820 {
22821 unsafe extern "system" fn AppendHeader<
22822 Identity: ICoreWebView2HttpResponseHeaders_Impl,
22823 const OFFSET: isize,
22824 >(
22825 this: *mut core::ffi::c_void,
22826 name: windows_core::PCWSTR,
22827 value: windows_core::PCWSTR,
22828 ) -> windows_core::HRESULT {
22829 unsafe {
22830 let this: &Identity =
22831 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22832 ICoreWebView2HttpResponseHeaders_Impl::AppendHeader(
22833 this,
22834 core::mem::transmute(&name),
22835 core::mem::transmute(&value),
22836 )
22837 .into()
22838 }
22839 }
22840 unsafe extern "system" fn Contains<
22841 Identity: ICoreWebView2HttpResponseHeaders_Impl,
22842 const OFFSET: isize,
22843 >(
22844 this: *mut core::ffi::c_void,
22845 name: windows_core::PCWSTR,
22846 value: *mut windows_core::BOOL,
22847 ) -> windows_core::HRESULT {
22848 unsafe {
22849 let this: &Identity =
22850 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22851 ICoreWebView2HttpResponseHeaders_Impl::Contains(
22852 this,
22853 core::mem::transmute(&name),
22854 core::mem::transmute_copy(&value),
22855 )
22856 .into()
22857 }
22858 }
22859 unsafe extern "system" fn GetHeader<
22860 Identity: ICoreWebView2HttpResponseHeaders_Impl,
22861 const OFFSET: isize,
22862 >(
22863 this: *mut core::ffi::c_void,
22864 name: windows_core::PCWSTR,
22865 value: *mut windows_core::PWSTR,
22866 ) -> windows_core::HRESULT {
22867 unsafe {
22868 let this: &Identity =
22869 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22870 ICoreWebView2HttpResponseHeaders_Impl::GetHeader(
22871 this,
22872 core::mem::transmute(&name),
22873 core::mem::transmute_copy(&value),
22874 )
22875 .into()
22876 }
22877 }
22878 unsafe extern "system" fn GetHeaders<
22879 Identity: ICoreWebView2HttpResponseHeaders_Impl,
22880 const OFFSET: isize,
22881 >(
22882 this: *mut core::ffi::c_void,
22883 name: windows_core::PCWSTR,
22884 value: *mut *mut core::ffi::c_void,
22885 ) -> windows_core::HRESULT {
22886 unsafe {
22887 let this: &Identity =
22888 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22889 match ICoreWebView2HttpResponseHeaders_Impl::GetHeaders(
22890 this,
22891 core::mem::transmute(&name),
22892 ) {
22893 Ok(ok__) => {
22894 value.write(core::mem::transmute(ok__));
22895 windows_core::HRESULT(0)
22896 }
22897 Err(err) => err.into(),
22898 }
22899 }
22900 }
22901 unsafe extern "system" fn GetIterator<
22902 Identity: ICoreWebView2HttpResponseHeaders_Impl,
22903 const OFFSET: isize,
22904 >(
22905 this: *mut core::ffi::c_void,
22906 value: *mut *mut core::ffi::c_void,
22907 ) -> windows_core::HRESULT {
22908 unsafe {
22909 let this: &Identity =
22910 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22911 match ICoreWebView2HttpResponseHeaders_Impl::GetIterator(this) {
22912 Ok(ok__) => {
22913 value.write(core::mem::transmute(ok__));
22914 windows_core::HRESULT(0)
22915 }
22916 Err(err) => err.into(),
22917 }
22918 }
22919 }
22920 Self {
22921 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22922 AppendHeader: AppendHeader::<Identity, OFFSET>,
22923 Contains: Contains::<Identity, OFFSET>,
22924 GetHeader: GetHeader::<Identity, OFFSET>,
22925 GetHeaders: GetHeaders::<Identity, OFFSET>,
22926 GetIterator: GetIterator::<Identity, OFFSET>,
22927 }
22928 }
22929 pub fn matches(iid: &windows_core::GUID) -> bool {
22930 iid == &<ICoreWebView2HttpResponseHeaders as windows_core::Interface>::IID
22931 }
22932}
22933impl windows_core::RuntimeName for ICoreWebView2HttpResponseHeaders {}
22934windows_core::imp::define_interface!(
22935 ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler,
22936 ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Vtbl,
22937 0x3117da26_ae13_438d_bd46_edbeb2c4ce81
22938);
22939windows_core::imp::interface_hierarchy!(
22940 ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler,
22941 windows_core::IUnknown
22942);
22943impl ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler {
22944 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
22945 where
22946 P0: windows_core::Param<ICoreWebView2>,
22947 P1: windows_core::Param<windows_core::IUnknown>,
22948 {
22949 unsafe {
22950 (windows_core::Interface::vtable(self).Invoke)(
22951 windows_core::Interface::as_raw(self),
22952 sender.param().abi(),
22953 args.param().abi(),
22954 )
22955 .ok()
22956 }
22957 }
22958}
22959#[repr(C)]
22960#[doc(hidden)]
22961pub struct ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Vtbl {
22962 pub base__: windows_core::IUnknown_Vtbl,
22963 pub Invoke: unsafe extern "system" fn(
22964 *mut core::ffi::c_void,
22965 *mut core::ffi::c_void,
22966 *mut core::ffi::c_void,
22967 ) -> windows_core::HRESULT,
22968}
22969pub trait ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Impl:
22970 windows_core::IUnknownImpl
22971{
22972 fn Invoke(
22973 &self,
22974 sender: windows_core::Ref<ICoreWebView2>,
22975 args: windows_core::Ref<windows_core::IUnknown>,
22976 ) -> windows_core::Result<()>;
22977}
22978impl ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Vtbl {
22979 pub const fn new<
22980 Identity: ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Impl,
22981 const OFFSET: isize,
22982 >() -> Self {
22983 unsafe extern "system" fn Invoke<
22984 Identity: ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Impl,
22985 const OFFSET: isize,
22986 >(
22987 this: *mut core::ffi::c_void,
22988 sender: *mut core::ffi::c_void,
22989 args: *mut core::ffi::c_void,
22990 ) -> windows_core::HRESULT {
22991 unsafe {
22992 let this: &Identity =
22993 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22994 ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Impl::Invoke(
22995 this,
22996 core::mem::transmute_copy(&sender),
22997 core::mem::transmute_copy(&args),
22998 )
22999 .into()
23000 }
23001 }
23002 Self {
23003 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23004 Invoke: Invoke::<Identity, OFFSET>,
23005 }
23006 }
23007 pub fn matches(iid: &windows_core::GUID) -> bool {
23008 iid == & < ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler as windows_core::Interface >::IID
23009 }
23010}
23011impl windows_core::RuntimeName for ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler {}
23012windows_core::imp::define_interface!(
23013 ICoreWebView2IsDocumentPlayingAudioChangedEventHandler,
23014 ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Vtbl,
23015 0x5def109a_2f4b_49fa_b7f6_11c39e513328
23016);
23017windows_core::imp::interface_hierarchy!(
23018 ICoreWebView2IsDocumentPlayingAudioChangedEventHandler,
23019 windows_core::IUnknown
23020);
23021impl ICoreWebView2IsDocumentPlayingAudioChangedEventHandler {
23022 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
23023 where
23024 P0: windows_core::Param<ICoreWebView2>,
23025 P1: windows_core::Param<windows_core::IUnknown>,
23026 {
23027 unsafe {
23028 (windows_core::Interface::vtable(self).Invoke)(
23029 windows_core::Interface::as_raw(self),
23030 sender.param().abi(),
23031 args.param().abi(),
23032 )
23033 .ok()
23034 }
23035 }
23036}
23037#[repr(C)]
23038#[doc(hidden)]
23039pub struct ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Vtbl {
23040 pub base__: windows_core::IUnknown_Vtbl,
23041 pub Invoke: unsafe extern "system" fn(
23042 *mut core::ffi::c_void,
23043 *mut core::ffi::c_void,
23044 *mut core::ffi::c_void,
23045 ) -> windows_core::HRESULT,
23046}
23047pub trait ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Impl:
23048 windows_core::IUnknownImpl
23049{
23050 fn Invoke(
23051 &self,
23052 sender: windows_core::Ref<ICoreWebView2>,
23053 args: windows_core::Ref<windows_core::IUnknown>,
23054 ) -> windows_core::Result<()>;
23055}
23056impl ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Vtbl {
23057 pub const fn new<
23058 Identity: ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Impl,
23059 const OFFSET: isize,
23060 >() -> Self {
23061 unsafe extern "system" fn Invoke<
23062 Identity: ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Impl,
23063 const OFFSET: isize,
23064 >(
23065 this: *mut core::ffi::c_void,
23066 sender: *mut core::ffi::c_void,
23067 args: *mut core::ffi::c_void,
23068 ) -> windows_core::HRESULT {
23069 unsafe {
23070 let this: &Identity =
23071 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23072 ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Impl::Invoke(
23073 this,
23074 core::mem::transmute_copy(&sender),
23075 core::mem::transmute_copy(&args),
23076 )
23077 .into()
23078 }
23079 }
23080 Self {
23081 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23082 Invoke: Invoke::<Identity, OFFSET>,
23083 }
23084 }
23085 pub fn matches(iid: &windows_core::GUID) -> bool {
23086 iid == & < ICoreWebView2IsDocumentPlayingAudioChangedEventHandler as windows_core::Interface >::IID
23087 }
23088}
23089impl windows_core::RuntimeName for ICoreWebView2IsDocumentPlayingAudioChangedEventHandler {}
23090windows_core::imp::define_interface!(
23091 ICoreWebView2IsMutedChangedEventHandler,
23092 ICoreWebView2IsMutedChangedEventHandler_Vtbl,
23093 0x57d90347_cd0e_4952_a4a2_7483a2756f08
23094);
23095windows_core::imp::interface_hierarchy!(
23096 ICoreWebView2IsMutedChangedEventHandler,
23097 windows_core::IUnknown
23098);
23099impl ICoreWebView2IsMutedChangedEventHandler {
23100 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
23101 where
23102 P0: windows_core::Param<ICoreWebView2>,
23103 P1: windows_core::Param<windows_core::IUnknown>,
23104 {
23105 unsafe {
23106 (windows_core::Interface::vtable(self).Invoke)(
23107 windows_core::Interface::as_raw(self),
23108 sender.param().abi(),
23109 args.param().abi(),
23110 )
23111 .ok()
23112 }
23113 }
23114}
23115#[repr(C)]
23116#[doc(hidden)]
23117pub struct ICoreWebView2IsMutedChangedEventHandler_Vtbl {
23118 pub base__: windows_core::IUnknown_Vtbl,
23119 pub Invoke: unsafe extern "system" fn(
23120 *mut core::ffi::c_void,
23121 *mut core::ffi::c_void,
23122 *mut core::ffi::c_void,
23123 ) -> windows_core::HRESULT,
23124}
23125pub trait ICoreWebView2IsMutedChangedEventHandler_Impl: windows_core::IUnknownImpl {
23126 fn Invoke(
23127 &self,
23128 sender: windows_core::Ref<ICoreWebView2>,
23129 args: windows_core::Ref<windows_core::IUnknown>,
23130 ) -> windows_core::Result<()>;
23131}
23132impl ICoreWebView2IsMutedChangedEventHandler_Vtbl {
23133 pub const fn new<
23134 Identity: ICoreWebView2IsMutedChangedEventHandler_Impl,
23135 const OFFSET: isize,
23136 >() -> Self {
23137 unsafe extern "system" fn Invoke<
23138 Identity: ICoreWebView2IsMutedChangedEventHandler_Impl,
23139 const OFFSET: isize,
23140 >(
23141 this: *mut core::ffi::c_void,
23142 sender: *mut core::ffi::c_void,
23143 args: *mut core::ffi::c_void,
23144 ) -> windows_core::HRESULT {
23145 unsafe {
23146 let this: &Identity =
23147 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23148 ICoreWebView2IsMutedChangedEventHandler_Impl::Invoke(
23149 this,
23150 core::mem::transmute_copy(&sender),
23151 core::mem::transmute_copy(&args),
23152 )
23153 .into()
23154 }
23155 }
23156 Self {
23157 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23158 Invoke: Invoke::<Identity, OFFSET>,
23159 }
23160 }
23161 pub fn matches(iid: &windows_core::GUID) -> bool {
23162 iid == &<ICoreWebView2IsMutedChangedEventHandler as windows_core::Interface>::IID
23163 }
23164}
23165impl windows_core::RuntimeName for ICoreWebView2IsMutedChangedEventHandler {}
23166windows_core::imp::define_interface!(
23167 ICoreWebView2LaunchingExternalUriSchemeEventArgs,
23168 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Vtbl,
23169 0x07d1a6c3_7175_4ba1_9306_e593ca07e46c
23170);
23171windows_core::imp::interface_hierarchy!(
23172 ICoreWebView2LaunchingExternalUriSchemeEventArgs,
23173 windows_core::IUnknown
23174);
23175impl ICoreWebView2LaunchingExternalUriSchemeEventArgs {
23176 pub unsafe fn Uri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23177 unsafe {
23178 (windows_core::Interface::vtable(self).Uri)(
23179 windows_core::Interface::as_raw(self),
23180 value as _,
23181 )
23182 .ok()
23183 }
23184 }
23185 pub unsafe fn InitiatingOrigin(
23186 &self,
23187 value: *mut windows_core::PWSTR,
23188 ) -> windows_core::Result<()> {
23189 unsafe {
23190 (windows_core::Interface::vtable(self).InitiatingOrigin)(
23191 windows_core::Interface::as_raw(self),
23192 value as _,
23193 )
23194 .ok()
23195 }
23196 }
23197 pub unsafe fn IsUserInitiated(
23198 &self,
23199 value: *mut windows_core::BOOL,
23200 ) -> windows_core::Result<()> {
23201 unsafe {
23202 (windows_core::Interface::vtable(self).IsUserInitiated)(
23203 windows_core::Interface::as_raw(self),
23204 value as _,
23205 )
23206 .ok()
23207 }
23208 }
23209 pub unsafe fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
23210 unsafe {
23211 (windows_core::Interface::vtable(self).Cancel)(
23212 windows_core::Interface::as_raw(self),
23213 value as _,
23214 )
23215 .ok()
23216 }
23217 }
23218 pub unsafe fn SetCancel(&self, value: bool) -> windows_core::Result<()> {
23219 unsafe {
23220 (windows_core::Interface::vtable(self).SetCancel)(
23221 windows_core::Interface::as_raw(self),
23222 value.into(),
23223 )
23224 .ok()
23225 }
23226 }
23227 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
23228 unsafe {
23229 let mut result__ = core::mem::zeroed();
23230 (windows_core::Interface::vtable(self).GetDeferral)(
23231 windows_core::Interface::as_raw(self),
23232 &mut result__,
23233 )
23234 .and_then(|| windows_core::Type::from_abi(result__))
23235 }
23236 }
23237}
23238#[repr(C)]
23239#[doc(hidden)]
23240pub struct ICoreWebView2LaunchingExternalUriSchemeEventArgs_Vtbl {
23241 pub base__: windows_core::IUnknown_Vtbl,
23242 pub Uri: unsafe extern "system" fn(
23243 *mut core::ffi::c_void,
23244 *mut windows_core::PWSTR,
23245 ) -> windows_core::HRESULT,
23246 pub InitiatingOrigin: unsafe extern "system" fn(
23247 *mut core::ffi::c_void,
23248 *mut windows_core::PWSTR,
23249 ) -> windows_core::HRESULT,
23250 pub IsUserInitiated: unsafe extern "system" fn(
23251 *mut core::ffi::c_void,
23252 *mut windows_core::BOOL,
23253 ) -> windows_core::HRESULT,
23254 pub Cancel: unsafe extern "system" fn(
23255 *mut core::ffi::c_void,
23256 *mut windows_core::BOOL,
23257 ) -> windows_core::HRESULT,
23258 pub SetCancel: unsafe extern "system" fn(
23259 *mut core::ffi::c_void,
23260 windows_core::BOOL,
23261 ) -> windows_core::HRESULT,
23262 pub GetDeferral: unsafe extern "system" fn(
23263 *mut core::ffi::c_void,
23264 *mut *mut core::ffi::c_void,
23265 ) -> windows_core::HRESULT,
23266}
23267pub trait ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl:
23268 windows_core::IUnknownImpl
23269{
23270 fn Uri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
23271 fn InitiatingOrigin(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
23272 fn IsUserInitiated(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
23273 fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
23274 fn SetCancel(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
23275 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
23276}
23277impl ICoreWebView2LaunchingExternalUriSchemeEventArgs_Vtbl {
23278 pub const fn new<
23279 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
23280 const OFFSET: isize,
23281 >() -> Self {
23282 unsafe extern "system" fn Uri<
23283 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
23284 const OFFSET: isize,
23285 >(
23286 this: *mut core::ffi::c_void,
23287 value: *mut windows_core::PWSTR,
23288 ) -> windows_core::HRESULT {
23289 unsafe {
23290 let this: &Identity =
23291 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23292 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::Uri(
23293 this,
23294 core::mem::transmute_copy(&value),
23295 )
23296 .into()
23297 }
23298 }
23299 unsafe extern "system" fn InitiatingOrigin<
23300 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
23301 const OFFSET: isize,
23302 >(
23303 this: *mut core::ffi::c_void,
23304 value: *mut windows_core::PWSTR,
23305 ) -> windows_core::HRESULT {
23306 unsafe {
23307 let this: &Identity =
23308 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23309 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::InitiatingOrigin(
23310 this,
23311 core::mem::transmute_copy(&value),
23312 )
23313 .into()
23314 }
23315 }
23316 unsafe extern "system" fn IsUserInitiated<
23317 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
23318 const OFFSET: isize,
23319 >(
23320 this: *mut core::ffi::c_void,
23321 value: *mut windows_core::BOOL,
23322 ) -> windows_core::HRESULT {
23323 unsafe {
23324 let this: &Identity =
23325 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23326 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::IsUserInitiated(
23327 this,
23328 core::mem::transmute_copy(&value),
23329 )
23330 .into()
23331 }
23332 }
23333 unsafe extern "system" fn Cancel<
23334 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
23335 const OFFSET: isize,
23336 >(
23337 this: *mut core::ffi::c_void,
23338 value: *mut windows_core::BOOL,
23339 ) -> windows_core::HRESULT {
23340 unsafe {
23341 let this: &Identity =
23342 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23343 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::Cancel(
23344 this,
23345 core::mem::transmute_copy(&value),
23346 )
23347 .into()
23348 }
23349 }
23350 unsafe extern "system" fn SetCancel<
23351 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
23352 const OFFSET: isize,
23353 >(
23354 this: *mut core::ffi::c_void,
23355 value: windows_core::BOOL,
23356 ) -> windows_core::HRESULT {
23357 unsafe {
23358 let this: &Identity =
23359 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23360 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::SetCancel(
23361 this,
23362 core::mem::transmute_copy(&value),
23363 )
23364 .into()
23365 }
23366 }
23367 unsafe extern "system" fn GetDeferral<
23368 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
23369 const OFFSET: isize,
23370 >(
23371 this: *mut core::ffi::c_void,
23372 value: *mut *mut core::ffi::c_void,
23373 ) -> windows_core::HRESULT {
23374 unsafe {
23375 let this: &Identity =
23376 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23377 match ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::GetDeferral(this) {
23378 Ok(ok__) => {
23379 value.write(core::mem::transmute(ok__));
23380 windows_core::HRESULT(0)
23381 }
23382 Err(err) => err.into(),
23383 }
23384 }
23385 }
23386 Self {
23387 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23388 Uri: Uri::<Identity, OFFSET>,
23389 InitiatingOrigin: InitiatingOrigin::<Identity, OFFSET>,
23390 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
23391 Cancel: Cancel::<Identity, OFFSET>,
23392 SetCancel: SetCancel::<Identity, OFFSET>,
23393 GetDeferral: GetDeferral::<Identity, OFFSET>,
23394 }
23395 }
23396 pub fn matches(iid: &windows_core::GUID) -> bool {
23397 iid == &<ICoreWebView2LaunchingExternalUriSchemeEventArgs as windows_core::Interface>::IID
23398 }
23399}
23400impl windows_core::RuntimeName for ICoreWebView2LaunchingExternalUriSchemeEventArgs {}
23401windows_core::imp::define_interface!(
23402 ICoreWebView2LaunchingExternalUriSchemeEventHandler,
23403 ICoreWebView2LaunchingExternalUriSchemeEventHandler_Vtbl,
23404 0x74f712e0_8165_43a9_a13f_0cce597e75df
23405);
23406windows_core::imp::interface_hierarchy!(
23407 ICoreWebView2LaunchingExternalUriSchemeEventHandler,
23408 windows_core::IUnknown
23409);
23410impl ICoreWebView2LaunchingExternalUriSchemeEventHandler {
23411 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
23412 where
23413 P0: windows_core::Param<ICoreWebView2>,
23414 P1: windows_core::Param<ICoreWebView2LaunchingExternalUriSchemeEventArgs>,
23415 {
23416 unsafe {
23417 (windows_core::Interface::vtable(self).Invoke)(
23418 windows_core::Interface::as_raw(self),
23419 sender.param().abi(),
23420 args.param().abi(),
23421 )
23422 .ok()
23423 }
23424 }
23425}
23426#[repr(C)]
23427#[doc(hidden)]
23428pub struct ICoreWebView2LaunchingExternalUriSchemeEventHandler_Vtbl {
23429 pub base__: windows_core::IUnknown_Vtbl,
23430 pub Invoke: unsafe extern "system" fn(
23431 *mut core::ffi::c_void,
23432 *mut core::ffi::c_void,
23433 *mut core::ffi::c_void,
23434 ) -> windows_core::HRESULT,
23435}
23436pub trait ICoreWebView2LaunchingExternalUriSchemeEventHandler_Impl:
23437 windows_core::IUnknownImpl
23438{
23439 fn Invoke(
23440 &self,
23441 sender: windows_core::Ref<ICoreWebView2>,
23442 args: windows_core::Ref<ICoreWebView2LaunchingExternalUriSchemeEventArgs>,
23443 ) -> windows_core::Result<()>;
23444}
23445impl ICoreWebView2LaunchingExternalUriSchemeEventHandler_Vtbl {
23446 pub const fn new<
23447 Identity: ICoreWebView2LaunchingExternalUriSchemeEventHandler_Impl,
23448 const OFFSET: isize,
23449 >() -> Self {
23450 unsafe extern "system" fn Invoke<
23451 Identity: ICoreWebView2LaunchingExternalUriSchemeEventHandler_Impl,
23452 const OFFSET: isize,
23453 >(
23454 this: *mut core::ffi::c_void,
23455 sender: *mut core::ffi::c_void,
23456 args: *mut core::ffi::c_void,
23457 ) -> windows_core::HRESULT {
23458 unsafe {
23459 let this: &Identity =
23460 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23461 ICoreWebView2LaunchingExternalUriSchemeEventHandler_Impl::Invoke(
23462 this,
23463 core::mem::transmute_copy(&sender),
23464 core::mem::transmute_copy(&args),
23465 )
23466 .into()
23467 }
23468 }
23469 Self {
23470 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23471 Invoke: Invoke::<Identity, OFFSET>,
23472 }
23473 }
23474 pub fn matches(iid: &windows_core::GUID) -> bool {
23475 iid == & < ICoreWebView2LaunchingExternalUriSchemeEventHandler as windows_core::Interface >::IID
23476 }
23477}
23478impl windows_core::RuntimeName for ICoreWebView2LaunchingExternalUriSchemeEventHandler {}
23479windows_core::imp::define_interface!(
23480 ICoreWebView2MoveFocusRequestedEventArgs,
23481 ICoreWebView2MoveFocusRequestedEventArgs_Vtbl,
23482 0x2d6aa13b_3839_4a15_92fc_d88b3c0d9c9d
23483);
23484windows_core::imp::interface_hierarchy!(
23485 ICoreWebView2MoveFocusRequestedEventArgs,
23486 windows_core::IUnknown
23487);
23488impl ICoreWebView2MoveFocusRequestedEventArgs {
23489 pub unsafe fn Reason(
23490 &self,
23491 reason: *mut COREWEBVIEW2_MOVE_FOCUS_REASON,
23492 ) -> windows_core::Result<()> {
23493 unsafe {
23494 (windows_core::Interface::vtable(self).Reason)(
23495 windows_core::Interface::as_raw(self),
23496 reason as _,
23497 )
23498 .ok()
23499 }
23500 }
23501 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
23502 unsafe {
23503 (windows_core::Interface::vtable(self).Handled)(
23504 windows_core::Interface::as_raw(self),
23505 value as _,
23506 )
23507 .ok()
23508 }
23509 }
23510 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
23511 unsafe {
23512 (windows_core::Interface::vtable(self).SetHandled)(
23513 windows_core::Interface::as_raw(self),
23514 value.into(),
23515 )
23516 .ok()
23517 }
23518 }
23519}
23520#[repr(C)]
23521#[doc(hidden)]
23522pub struct ICoreWebView2MoveFocusRequestedEventArgs_Vtbl {
23523 pub base__: windows_core::IUnknown_Vtbl,
23524 pub Reason: unsafe extern "system" fn(
23525 *mut core::ffi::c_void,
23526 *mut COREWEBVIEW2_MOVE_FOCUS_REASON,
23527 ) -> windows_core::HRESULT,
23528 pub Handled: unsafe extern "system" fn(
23529 *mut core::ffi::c_void,
23530 *mut windows_core::BOOL,
23531 ) -> windows_core::HRESULT,
23532 pub SetHandled: unsafe extern "system" fn(
23533 *mut core::ffi::c_void,
23534 windows_core::BOOL,
23535 ) -> windows_core::HRESULT,
23536}
23537pub trait ICoreWebView2MoveFocusRequestedEventArgs_Impl: windows_core::IUnknownImpl {
23538 fn Reason(&self, reason: *mut COREWEBVIEW2_MOVE_FOCUS_REASON) -> windows_core::Result<()>;
23539 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
23540 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
23541}
23542impl ICoreWebView2MoveFocusRequestedEventArgs_Vtbl {
23543 pub const fn new<
23544 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
23545 const OFFSET: isize,
23546 >() -> Self {
23547 unsafe extern "system" fn Reason<
23548 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
23549 const OFFSET: isize,
23550 >(
23551 this: *mut core::ffi::c_void,
23552 reason: *mut COREWEBVIEW2_MOVE_FOCUS_REASON,
23553 ) -> windows_core::HRESULT {
23554 unsafe {
23555 let this: &Identity =
23556 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23557 ICoreWebView2MoveFocusRequestedEventArgs_Impl::Reason(
23558 this,
23559 core::mem::transmute_copy(&reason),
23560 )
23561 .into()
23562 }
23563 }
23564 unsafe extern "system" fn Handled<
23565 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
23566 const OFFSET: isize,
23567 >(
23568 this: *mut core::ffi::c_void,
23569 value: *mut windows_core::BOOL,
23570 ) -> windows_core::HRESULT {
23571 unsafe {
23572 let this: &Identity =
23573 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23574 ICoreWebView2MoveFocusRequestedEventArgs_Impl::Handled(
23575 this,
23576 core::mem::transmute_copy(&value),
23577 )
23578 .into()
23579 }
23580 }
23581 unsafe extern "system" fn SetHandled<
23582 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
23583 const OFFSET: isize,
23584 >(
23585 this: *mut core::ffi::c_void,
23586 value: windows_core::BOOL,
23587 ) -> windows_core::HRESULT {
23588 unsafe {
23589 let this: &Identity =
23590 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23591 ICoreWebView2MoveFocusRequestedEventArgs_Impl::SetHandled(
23592 this,
23593 core::mem::transmute_copy(&value),
23594 )
23595 .into()
23596 }
23597 }
23598 Self {
23599 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23600 Reason: Reason::<Identity, OFFSET>,
23601 Handled: Handled::<Identity, OFFSET>,
23602 SetHandled: SetHandled::<Identity, OFFSET>,
23603 }
23604 }
23605 pub fn matches(iid: &windows_core::GUID) -> bool {
23606 iid == &<ICoreWebView2MoveFocusRequestedEventArgs as windows_core::Interface>::IID
23607 }
23608}
23609impl windows_core::RuntimeName for ICoreWebView2MoveFocusRequestedEventArgs {}
23610windows_core::imp::define_interface!(
23611 ICoreWebView2MoveFocusRequestedEventHandler,
23612 ICoreWebView2MoveFocusRequestedEventHandler_Vtbl,
23613 0x69035451_6dc7_4cb8_9bce_b2bd70ad289f
23614);
23615windows_core::imp::interface_hierarchy!(
23616 ICoreWebView2MoveFocusRequestedEventHandler,
23617 windows_core::IUnknown
23618);
23619impl ICoreWebView2MoveFocusRequestedEventHandler {
23620 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
23621 where
23622 P0: windows_core::Param<ICoreWebView2Controller>,
23623 P1: windows_core::Param<ICoreWebView2MoveFocusRequestedEventArgs>,
23624 {
23625 unsafe {
23626 (windows_core::Interface::vtable(self).Invoke)(
23627 windows_core::Interface::as_raw(self),
23628 sender.param().abi(),
23629 args.param().abi(),
23630 )
23631 .ok()
23632 }
23633 }
23634}
23635#[repr(C)]
23636#[doc(hidden)]
23637pub struct ICoreWebView2MoveFocusRequestedEventHandler_Vtbl {
23638 pub base__: windows_core::IUnknown_Vtbl,
23639 pub Invoke: unsafe extern "system" fn(
23640 *mut core::ffi::c_void,
23641 *mut core::ffi::c_void,
23642 *mut core::ffi::c_void,
23643 ) -> windows_core::HRESULT,
23644}
23645pub trait ICoreWebView2MoveFocusRequestedEventHandler_Impl: windows_core::IUnknownImpl {
23646 fn Invoke(
23647 &self,
23648 sender: windows_core::Ref<ICoreWebView2Controller>,
23649 args: windows_core::Ref<ICoreWebView2MoveFocusRequestedEventArgs>,
23650 ) -> windows_core::Result<()>;
23651}
23652impl ICoreWebView2MoveFocusRequestedEventHandler_Vtbl {
23653 pub const fn new<
23654 Identity: ICoreWebView2MoveFocusRequestedEventHandler_Impl,
23655 const OFFSET: isize,
23656 >() -> Self {
23657 unsafe extern "system" fn Invoke<
23658 Identity: ICoreWebView2MoveFocusRequestedEventHandler_Impl,
23659 const OFFSET: isize,
23660 >(
23661 this: *mut core::ffi::c_void,
23662 sender: *mut core::ffi::c_void,
23663 args: *mut core::ffi::c_void,
23664 ) -> windows_core::HRESULT {
23665 unsafe {
23666 let this: &Identity =
23667 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23668 ICoreWebView2MoveFocusRequestedEventHandler_Impl::Invoke(
23669 this,
23670 core::mem::transmute_copy(&sender),
23671 core::mem::transmute_copy(&args),
23672 )
23673 .into()
23674 }
23675 }
23676 Self {
23677 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23678 Invoke: Invoke::<Identity, OFFSET>,
23679 }
23680 }
23681 pub fn matches(iid: &windows_core::GUID) -> bool {
23682 iid == &<ICoreWebView2MoveFocusRequestedEventHandler as windows_core::Interface>::IID
23683 }
23684}
23685impl windows_core::RuntimeName for ICoreWebView2MoveFocusRequestedEventHandler {}
23686windows_core::imp::define_interface!(
23687 ICoreWebView2NavigationCompletedEventArgs,
23688 ICoreWebView2NavigationCompletedEventArgs_Vtbl,
23689 0x30d68b7d_20d9_4752_a9ca_ec8448fbb5c1
23690);
23691windows_core::imp::interface_hierarchy!(
23692 ICoreWebView2NavigationCompletedEventArgs,
23693 windows_core::IUnknown
23694);
23695impl ICoreWebView2NavigationCompletedEventArgs {
23696 pub unsafe fn IsSuccess(&self, issuccess: *mut windows_core::BOOL) -> windows_core::Result<()> {
23697 unsafe {
23698 (windows_core::Interface::vtable(self).IsSuccess)(
23699 windows_core::Interface::as_raw(self),
23700 issuccess as _,
23701 )
23702 .ok()
23703 }
23704 }
23705 pub unsafe fn WebErrorStatus(
23706 &self,
23707 weberrorstatus: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
23708 ) -> windows_core::Result<()> {
23709 unsafe {
23710 (windows_core::Interface::vtable(self).WebErrorStatus)(
23711 windows_core::Interface::as_raw(self),
23712 weberrorstatus as _,
23713 )
23714 .ok()
23715 }
23716 }
23717 pub unsafe fn NavigationId(&self, navigationid: *mut u64) -> windows_core::Result<()> {
23718 unsafe {
23719 (windows_core::Interface::vtable(self).NavigationId)(
23720 windows_core::Interface::as_raw(self),
23721 navigationid as _,
23722 )
23723 .ok()
23724 }
23725 }
23726}
23727#[repr(C)]
23728#[doc(hidden)]
23729pub struct ICoreWebView2NavigationCompletedEventArgs_Vtbl {
23730 pub base__: windows_core::IUnknown_Vtbl,
23731 pub IsSuccess: unsafe extern "system" fn(
23732 *mut core::ffi::c_void,
23733 *mut windows_core::BOOL,
23734 ) -> windows_core::HRESULT,
23735 pub WebErrorStatus: unsafe extern "system" fn(
23736 *mut core::ffi::c_void,
23737 *mut COREWEBVIEW2_WEB_ERROR_STATUS,
23738 ) -> windows_core::HRESULT,
23739 pub NavigationId:
23740 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
23741}
23742pub trait ICoreWebView2NavigationCompletedEventArgs_Impl: windows_core::IUnknownImpl {
23743 fn IsSuccess(&self, issuccess: *mut windows_core::BOOL) -> windows_core::Result<()>;
23744 fn WebErrorStatus(
23745 &self,
23746 weberrorstatus: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
23747 ) -> windows_core::Result<()>;
23748 fn NavigationId(&self, navigationid: *mut u64) -> windows_core::Result<()>;
23749}
23750impl ICoreWebView2NavigationCompletedEventArgs_Vtbl {
23751 pub const fn new<
23752 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
23753 const OFFSET: isize,
23754 >() -> Self {
23755 unsafe extern "system" fn IsSuccess<
23756 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
23757 const OFFSET: isize,
23758 >(
23759 this: *mut core::ffi::c_void,
23760 issuccess: *mut windows_core::BOOL,
23761 ) -> windows_core::HRESULT {
23762 unsafe {
23763 let this: &Identity =
23764 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23765 ICoreWebView2NavigationCompletedEventArgs_Impl::IsSuccess(
23766 this,
23767 core::mem::transmute_copy(&issuccess),
23768 )
23769 .into()
23770 }
23771 }
23772 unsafe extern "system" fn WebErrorStatus<
23773 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
23774 const OFFSET: isize,
23775 >(
23776 this: *mut core::ffi::c_void,
23777 weberrorstatus: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
23778 ) -> windows_core::HRESULT {
23779 unsafe {
23780 let this: &Identity =
23781 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23782 ICoreWebView2NavigationCompletedEventArgs_Impl::WebErrorStatus(
23783 this,
23784 core::mem::transmute_copy(&weberrorstatus),
23785 )
23786 .into()
23787 }
23788 }
23789 unsafe extern "system" fn NavigationId<
23790 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
23791 const OFFSET: isize,
23792 >(
23793 this: *mut core::ffi::c_void,
23794 navigationid: *mut u64,
23795 ) -> windows_core::HRESULT {
23796 unsafe {
23797 let this: &Identity =
23798 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23799 ICoreWebView2NavigationCompletedEventArgs_Impl::NavigationId(
23800 this,
23801 core::mem::transmute_copy(&navigationid),
23802 )
23803 .into()
23804 }
23805 }
23806 Self {
23807 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23808 IsSuccess: IsSuccess::<Identity, OFFSET>,
23809 WebErrorStatus: WebErrorStatus::<Identity, OFFSET>,
23810 NavigationId: NavigationId::<Identity, OFFSET>,
23811 }
23812 }
23813 pub fn matches(iid: &windows_core::GUID) -> bool {
23814 iid == &<ICoreWebView2NavigationCompletedEventArgs as windows_core::Interface>::IID
23815 }
23816}
23817impl windows_core::RuntimeName for ICoreWebView2NavigationCompletedEventArgs {}
23818windows_core::imp::define_interface!(
23819 ICoreWebView2NavigationCompletedEventArgs2,
23820 ICoreWebView2NavigationCompletedEventArgs2_Vtbl,
23821 0xfdf8b738_ee1e_4db2_a329_8d7d7b74d792
23822);
23823impl core::ops::Deref for ICoreWebView2NavigationCompletedEventArgs2 {
23824 type Target = ICoreWebView2NavigationCompletedEventArgs;
23825 fn deref(&self) -> &Self::Target {
23826 unsafe { core::mem::transmute(self) }
23827 }
23828}
23829windows_core::imp::interface_hierarchy!(
23830 ICoreWebView2NavigationCompletedEventArgs2,
23831 windows_core::IUnknown,
23832 ICoreWebView2NavigationCompletedEventArgs
23833);
23834impl ICoreWebView2NavigationCompletedEventArgs2 {
23835 pub unsafe fn HttpStatusCode(&self, value: *mut i32) -> windows_core::Result<()> {
23836 unsafe {
23837 (windows_core::Interface::vtable(self).HttpStatusCode)(
23838 windows_core::Interface::as_raw(self),
23839 value as _,
23840 )
23841 .ok()
23842 }
23843 }
23844}
23845#[repr(C)]
23846#[doc(hidden)]
23847pub struct ICoreWebView2NavigationCompletedEventArgs2_Vtbl {
23848 pub base__: ICoreWebView2NavigationCompletedEventArgs_Vtbl,
23849 pub HttpStatusCode:
23850 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
23851}
23852pub trait ICoreWebView2NavigationCompletedEventArgs2_Impl:
23853 ICoreWebView2NavigationCompletedEventArgs_Impl
23854{
23855 fn HttpStatusCode(&self, value: *mut i32) -> windows_core::Result<()>;
23856}
23857impl ICoreWebView2NavigationCompletedEventArgs2_Vtbl {
23858 pub const fn new<
23859 Identity: ICoreWebView2NavigationCompletedEventArgs2_Impl,
23860 const OFFSET: isize,
23861 >() -> Self {
23862 unsafe extern "system" fn HttpStatusCode<
23863 Identity: ICoreWebView2NavigationCompletedEventArgs2_Impl,
23864 const OFFSET: isize,
23865 >(
23866 this: *mut core::ffi::c_void,
23867 value: *mut i32,
23868 ) -> windows_core::HRESULT {
23869 unsafe {
23870 let this: &Identity =
23871 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23872 ICoreWebView2NavigationCompletedEventArgs2_Impl::HttpStatusCode(
23873 this,
23874 core::mem::transmute_copy(&value),
23875 )
23876 .into()
23877 }
23878 }
23879 Self {
23880 base__: ICoreWebView2NavigationCompletedEventArgs_Vtbl::new::<Identity, OFFSET>(),
23881 HttpStatusCode: HttpStatusCode::<Identity, OFFSET>,
23882 }
23883 }
23884 pub fn matches(iid: &windows_core::GUID) -> bool {
23885 iid == &<ICoreWebView2NavigationCompletedEventArgs2 as windows_core::Interface>::IID
23886 || iid == &<ICoreWebView2NavigationCompletedEventArgs as windows_core::Interface>::IID
23887 }
23888}
23889impl windows_core::RuntimeName for ICoreWebView2NavigationCompletedEventArgs2 {}
23890windows_core::imp::define_interface!(
23891 ICoreWebView2NavigationCompletedEventHandler,
23892 ICoreWebView2NavigationCompletedEventHandler_Vtbl,
23893 0xd33a35bf_1c49_4f98_93ab_006e0533fe1c
23894);
23895windows_core::imp::interface_hierarchy!(
23896 ICoreWebView2NavigationCompletedEventHandler,
23897 windows_core::IUnknown
23898);
23899impl ICoreWebView2NavigationCompletedEventHandler {
23900 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
23901 where
23902 P0: windows_core::Param<ICoreWebView2>,
23903 P1: windows_core::Param<ICoreWebView2NavigationCompletedEventArgs>,
23904 {
23905 unsafe {
23906 (windows_core::Interface::vtable(self).Invoke)(
23907 windows_core::Interface::as_raw(self),
23908 sender.param().abi(),
23909 args.param().abi(),
23910 )
23911 .ok()
23912 }
23913 }
23914}
23915#[repr(C)]
23916#[doc(hidden)]
23917pub struct ICoreWebView2NavigationCompletedEventHandler_Vtbl {
23918 pub base__: windows_core::IUnknown_Vtbl,
23919 pub Invoke: unsafe extern "system" fn(
23920 *mut core::ffi::c_void,
23921 *mut core::ffi::c_void,
23922 *mut core::ffi::c_void,
23923 ) -> windows_core::HRESULT,
23924}
23925pub trait ICoreWebView2NavigationCompletedEventHandler_Impl: windows_core::IUnknownImpl {
23926 fn Invoke(
23927 &self,
23928 sender: windows_core::Ref<ICoreWebView2>,
23929 args: windows_core::Ref<ICoreWebView2NavigationCompletedEventArgs>,
23930 ) -> windows_core::Result<()>;
23931}
23932impl ICoreWebView2NavigationCompletedEventHandler_Vtbl {
23933 pub const fn new<
23934 Identity: ICoreWebView2NavigationCompletedEventHandler_Impl,
23935 const OFFSET: isize,
23936 >() -> Self {
23937 unsafe extern "system" fn Invoke<
23938 Identity: ICoreWebView2NavigationCompletedEventHandler_Impl,
23939 const OFFSET: isize,
23940 >(
23941 this: *mut core::ffi::c_void,
23942 sender: *mut core::ffi::c_void,
23943 args: *mut core::ffi::c_void,
23944 ) -> windows_core::HRESULT {
23945 unsafe {
23946 let this: &Identity =
23947 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23948 ICoreWebView2NavigationCompletedEventHandler_Impl::Invoke(
23949 this,
23950 core::mem::transmute_copy(&sender),
23951 core::mem::transmute_copy(&args),
23952 )
23953 .into()
23954 }
23955 }
23956 Self {
23957 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23958 Invoke: Invoke::<Identity, OFFSET>,
23959 }
23960 }
23961 pub fn matches(iid: &windows_core::GUID) -> bool {
23962 iid == &<ICoreWebView2NavigationCompletedEventHandler as windows_core::Interface>::IID
23963 }
23964}
23965impl windows_core::RuntimeName for ICoreWebView2NavigationCompletedEventHandler {}
23966windows_core::imp::define_interface!(
23967 ICoreWebView2NavigationStartingEventArgs,
23968 ICoreWebView2NavigationStartingEventArgs_Vtbl,
23969 0x5b495469_e119_438a_9b18_7604f25f2e49
23970);
23971windows_core::imp::interface_hierarchy!(
23972 ICoreWebView2NavigationStartingEventArgs,
23973 windows_core::IUnknown
23974);
23975impl ICoreWebView2NavigationStartingEventArgs {
23976 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23977 unsafe {
23978 (windows_core::Interface::vtable(self).Uri)(
23979 windows_core::Interface::as_raw(self),
23980 uri as _,
23981 )
23982 .ok()
23983 }
23984 }
23985 pub unsafe fn IsUserInitiated(
23986 &self,
23987 isuserinitiated: *mut windows_core::BOOL,
23988 ) -> windows_core::Result<()> {
23989 unsafe {
23990 (windows_core::Interface::vtable(self).IsUserInitiated)(
23991 windows_core::Interface::as_raw(self),
23992 isuserinitiated as _,
23993 )
23994 .ok()
23995 }
23996 }
23997 pub unsafe fn IsRedirected(
23998 &self,
23999 isredirected: *mut windows_core::BOOL,
24000 ) -> windows_core::Result<()> {
24001 unsafe {
24002 (windows_core::Interface::vtable(self).IsRedirected)(
24003 windows_core::Interface::as_raw(self),
24004 isredirected as _,
24005 )
24006 .ok()
24007 }
24008 }
24009 pub unsafe fn RequestHeaders(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders> {
24010 unsafe {
24011 let mut result__ = core::mem::zeroed();
24012 (windows_core::Interface::vtable(self).RequestHeaders)(
24013 windows_core::Interface::as_raw(self),
24014 &mut result__,
24015 )
24016 .and_then(|| windows_core::Type::from_abi(result__))
24017 }
24018 }
24019 pub unsafe fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()> {
24020 unsafe {
24021 (windows_core::Interface::vtable(self).Cancel)(
24022 windows_core::Interface::as_raw(self),
24023 cancel as _,
24024 )
24025 .ok()
24026 }
24027 }
24028 pub unsafe fn SetCancel(&self, cancel: bool) -> windows_core::Result<()> {
24029 unsafe {
24030 (windows_core::Interface::vtable(self).SetCancel)(
24031 windows_core::Interface::as_raw(self),
24032 cancel.into(),
24033 )
24034 .ok()
24035 }
24036 }
24037 pub unsafe fn NavigationId(&self, navigationid: *mut u64) -> windows_core::Result<()> {
24038 unsafe {
24039 (windows_core::Interface::vtable(self).NavigationId)(
24040 windows_core::Interface::as_raw(self),
24041 navigationid as _,
24042 )
24043 .ok()
24044 }
24045 }
24046}
24047#[repr(C)]
24048#[doc(hidden)]
24049pub struct ICoreWebView2NavigationStartingEventArgs_Vtbl {
24050 pub base__: windows_core::IUnknown_Vtbl,
24051 pub Uri: unsafe extern "system" fn(
24052 *mut core::ffi::c_void,
24053 *mut windows_core::PWSTR,
24054 ) -> windows_core::HRESULT,
24055 pub IsUserInitiated: unsafe extern "system" fn(
24056 *mut core::ffi::c_void,
24057 *mut windows_core::BOOL,
24058 ) -> windows_core::HRESULT,
24059 pub IsRedirected: unsafe extern "system" fn(
24060 *mut core::ffi::c_void,
24061 *mut windows_core::BOOL,
24062 ) -> windows_core::HRESULT,
24063 pub RequestHeaders: unsafe extern "system" fn(
24064 *mut core::ffi::c_void,
24065 *mut *mut core::ffi::c_void,
24066 ) -> windows_core::HRESULT,
24067 pub Cancel: unsafe extern "system" fn(
24068 *mut core::ffi::c_void,
24069 *mut windows_core::BOOL,
24070 ) -> windows_core::HRESULT,
24071 pub SetCancel: unsafe extern "system" fn(
24072 *mut core::ffi::c_void,
24073 windows_core::BOOL,
24074 ) -> windows_core::HRESULT,
24075 pub NavigationId:
24076 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
24077}
24078pub trait ICoreWebView2NavigationStartingEventArgs_Impl: windows_core::IUnknownImpl {
24079 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
24080 fn IsUserInitiated(&self, isuserinitiated: *mut windows_core::BOOL)
24081 -> windows_core::Result<()>;
24082 fn IsRedirected(&self, isredirected: *mut windows_core::BOOL) -> windows_core::Result<()>;
24083 fn RequestHeaders(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders>;
24084 fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()>;
24085 fn SetCancel(&self, cancel: windows_core::BOOL) -> windows_core::Result<()>;
24086 fn NavigationId(&self, navigationid: *mut u64) -> windows_core::Result<()>;
24087}
24088impl ICoreWebView2NavigationStartingEventArgs_Vtbl {
24089 pub const fn new<
24090 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
24091 const OFFSET: isize,
24092 >() -> Self {
24093 unsafe extern "system" fn Uri<
24094 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
24095 const OFFSET: isize,
24096 >(
24097 this: *mut core::ffi::c_void,
24098 uri: *mut windows_core::PWSTR,
24099 ) -> windows_core::HRESULT {
24100 unsafe {
24101 let this: &Identity =
24102 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24103 ICoreWebView2NavigationStartingEventArgs_Impl::Uri(
24104 this,
24105 core::mem::transmute_copy(&uri),
24106 )
24107 .into()
24108 }
24109 }
24110 unsafe extern "system" fn IsUserInitiated<
24111 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
24112 const OFFSET: isize,
24113 >(
24114 this: *mut core::ffi::c_void,
24115 isuserinitiated: *mut windows_core::BOOL,
24116 ) -> windows_core::HRESULT {
24117 unsafe {
24118 let this: &Identity =
24119 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24120 ICoreWebView2NavigationStartingEventArgs_Impl::IsUserInitiated(
24121 this,
24122 core::mem::transmute_copy(&isuserinitiated),
24123 )
24124 .into()
24125 }
24126 }
24127 unsafe extern "system" fn IsRedirected<
24128 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
24129 const OFFSET: isize,
24130 >(
24131 this: *mut core::ffi::c_void,
24132 isredirected: *mut windows_core::BOOL,
24133 ) -> windows_core::HRESULT {
24134 unsafe {
24135 let this: &Identity =
24136 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24137 ICoreWebView2NavigationStartingEventArgs_Impl::IsRedirected(
24138 this,
24139 core::mem::transmute_copy(&isredirected),
24140 )
24141 .into()
24142 }
24143 }
24144 unsafe extern "system" fn RequestHeaders<
24145 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
24146 const OFFSET: isize,
24147 >(
24148 this: *mut core::ffi::c_void,
24149 requestheaders: *mut *mut core::ffi::c_void,
24150 ) -> windows_core::HRESULT {
24151 unsafe {
24152 let this: &Identity =
24153 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24154 match ICoreWebView2NavigationStartingEventArgs_Impl::RequestHeaders(this) {
24155 Ok(ok__) => {
24156 requestheaders.write(core::mem::transmute(ok__));
24157 windows_core::HRESULT(0)
24158 }
24159 Err(err) => err.into(),
24160 }
24161 }
24162 }
24163 unsafe extern "system" fn Cancel<
24164 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
24165 const OFFSET: isize,
24166 >(
24167 this: *mut core::ffi::c_void,
24168 cancel: *mut windows_core::BOOL,
24169 ) -> windows_core::HRESULT {
24170 unsafe {
24171 let this: &Identity =
24172 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24173 ICoreWebView2NavigationStartingEventArgs_Impl::Cancel(
24174 this,
24175 core::mem::transmute_copy(&cancel),
24176 )
24177 .into()
24178 }
24179 }
24180 unsafe extern "system" fn SetCancel<
24181 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
24182 const OFFSET: isize,
24183 >(
24184 this: *mut core::ffi::c_void,
24185 cancel: windows_core::BOOL,
24186 ) -> windows_core::HRESULT {
24187 unsafe {
24188 let this: &Identity =
24189 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24190 ICoreWebView2NavigationStartingEventArgs_Impl::SetCancel(
24191 this,
24192 core::mem::transmute_copy(&cancel),
24193 )
24194 .into()
24195 }
24196 }
24197 unsafe extern "system" fn NavigationId<
24198 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
24199 const OFFSET: isize,
24200 >(
24201 this: *mut core::ffi::c_void,
24202 navigationid: *mut u64,
24203 ) -> windows_core::HRESULT {
24204 unsafe {
24205 let this: &Identity =
24206 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24207 ICoreWebView2NavigationStartingEventArgs_Impl::NavigationId(
24208 this,
24209 core::mem::transmute_copy(&navigationid),
24210 )
24211 .into()
24212 }
24213 }
24214 Self {
24215 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24216 Uri: Uri::<Identity, OFFSET>,
24217 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
24218 IsRedirected: IsRedirected::<Identity, OFFSET>,
24219 RequestHeaders: RequestHeaders::<Identity, OFFSET>,
24220 Cancel: Cancel::<Identity, OFFSET>,
24221 SetCancel: SetCancel::<Identity, OFFSET>,
24222 NavigationId: NavigationId::<Identity, OFFSET>,
24223 }
24224 }
24225 pub fn matches(iid: &windows_core::GUID) -> bool {
24226 iid == &<ICoreWebView2NavigationStartingEventArgs as windows_core::Interface>::IID
24227 }
24228}
24229impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventArgs {}
24230windows_core::imp::define_interface!(
24231 ICoreWebView2NavigationStartingEventArgs2,
24232 ICoreWebView2NavigationStartingEventArgs2_Vtbl,
24233 0x9086be93_91aa_472d_a7e0_579f2ba006ad
24234);
24235impl core::ops::Deref for ICoreWebView2NavigationStartingEventArgs2 {
24236 type Target = ICoreWebView2NavigationStartingEventArgs;
24237 fn deref(&self) -> &Self::Target {
24238 unsafe { core::mem::transmute(self) }
24239 }
24240}
24241windows_core::imp::interface_hierarchy!(
24242 ICoreWebView2NavigationStartingEventArgs2,
24243 windows_core::IUnknown,
24244 ICoreWebView2NavigationStartingEventArgs
24245);
24246impl ICoreWebView2NavigationStartingEventArgs2 {
24247 pub unsafe fn AdditionalAllowedFrameAncestors(
24248 &self,
24249 value: *mut windows_core::PWSTR,
24250 ) -> windows_core::Result<()> {
24251 unsafe {
24252 (windows_core::Interface::vtable(self).AdditionalAllowedFrameAncestors)(
24253 windows_core::Interface::as_raw(self),
24254 value as _,
24255 )
24256 .ok()
24257 }
24258 }
24259 pub unsafe fn SetAdditionalAllowedFrameAncestors<P0>(
24260 &self,
24261 value: P0,
24262 ) -> windows_core::Result<()>
24263 where
24264 P0: windows_core::Param<windows_core::PCWSTR>,
24265 {
24266 unsafe {
24267 (windows_core::Interface::vtable(self).SetAdditionalAllowedFrameAncestors)(
24268 windows_core::Interface::as_raw(self),
24269 value.param().abi(),
24270 )
24271 .ok()
24272 }
24273 }
24274}
24275#[repr(C)]
24276#[doc(hidden)]
24277pub struct ICoreWebView2NavigationStartingEventArgs2_Vtbl {
24278 pub base__: ICoreWebView2NavigationStartingEventArgs_Vtbl,
24279 pub AdditionalAllowedFrameAncestors: unsafe extern "system" fn(
24280 *mut core::ffi::c_void,
24281 *mut windows_core::PWSTR,
24282 ) -> windows_core::HRESULT,
24283 pub SetAdditionalAllowedFrameAncestors: unsafe extern "system" fn(
24284 *mut core::ffi::c_void,
24285 windows_core::PCWSTR,
24286 ) -> windows_core::HRESULT,
24287}
24288pub trait ICoreWebView2NavigationStartingEventArgs2_Impl:
24289 ICoreWebView2NavigationStartingEventArgs_Impl
24290{
24291 fn AdditionalAllowedFrameAncestors(
24292 &self,
24293 value: *mut windows_core::PWSTR,
24294 ) -> windows_core::Result<()>;
24295 fn SetAdditionalAllowedFrameAncestors(
24296 &self,
24297 value: &windows_core::PCWSTR,
24298 ) -> windows_core::Result<()>;
24299}
24300impl ICoreWebView2NavigationStartingEventArgs2_Vtbl {
24301 pub const fn new<
24302 Identity: ICoreWebView2NavigationStartingEventArgs2_Impl,
24303 const OFFSET: isize,
24304 >() -> Self {
24305 unsafe extern "system" fn AdditionalAllowedFrameAncestors<
24306 Identity: ICoreWebView2NavigationStartingEventArgs2_Impl,
24307 const OFFSET: isize,
24308 >(
24309 this: *mut core::ffi::c_void,
24310 value: *mut windows_core::PWSTR,
24311 ) -> windows_core::HRESULT {
24312 unsafe {
24313 let this: &Identity =
24314 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24315 ICoreWebView2NavigationStartingEventArgs2_Impl::AdditionalAllowedFrameAncestors(
24316 this,
24317 core::mem::transmute_copy(&value),
24318 )
24319 .into()
24320 }
24321 }
24322 unsafe extern "system" fn SetAdditionalAllowedFrameAncestors<
24323 Identity: ICoreWebView2NavigationStartingEventArgs2_Impl,
24324 const OFFSET: isize,
24325 >(
24326 this: *mut core::ffi::c_void,
24327 value: windows_core::PCWSTR,
24328 ) -> windows_core::HRESULT {
24329 unsafe {
24330 let this: &Identity =
24331 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24332 ICoreWebView2NavigationStartingEventArgs2_Impl::SetAdditionalAllowedFrameAncestors(
24333 this,
24334 core::mem::transmute(&value),
24335 )
24336 .into()
24337 }
24338 }
24339 Self {
24340 base__: ICoreWebView2NavigationStartingEventArgs_Vtbl::new::<Identity, OFFSET>(),
24341 AdditionalAllowedFrameAncestors: AdditionalAllowedFrameAncestors::<Identity, OFFSET>,
24342 SetAdditionalAllowedFrameAncestors: SetAdditionalAllowedFrameAncestors::<
24343 Identity,
24344 OFFSET,
24345 >,
24346 }
24347 }
24348 pub fn matches(iid: &windows_core::GUID) -> bool {
24349 iid == &<ICoreWebView2NavigationStartingEventArgs2 as windows_core::Interface>::IID
24350 || iid == &<ICoreWebView2NavigationStartingEventArgs as windows_core::Interface>::IID
24351 }
24352}
24353impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventArgs2 {}
24354windows_core::imp::define_interface!(
24355 ICoreWebView2NavigationStartingEventArgs3,
24356 ICoreWebView2NavigationStartingEventArgs3_Vtbl,
24357 0xddffe494_4942_4bd2_ab73_35b8ff40e19f
24358);
24359impl core::ops::Deref for ICoreWebView2NavigationStartingEventArgs3 {
24360 type Target = ICoreWebView2NavigationStartingEventArgs2;
24361 fn deref(&self) -> &Self::Target {
24362 unsafe { core::mem::transmute(self) }
24363 }
24364}
24365windows_core::imp::interface_hierarchy!(
24366 ICoreWebView2NavigationStartingEventArgs3,
24367 windows_core::IUnknown,
24368 ICoreWebView2NavigationStartingEventArgs,
24369 ICoreWebView2NavigationStartingEventArgs2
24370);
24371impl ICoreWebView2NavigationStartingEventArgs3 {
24372 pub unsafe fn NavigationKind(
24373 &self,
24374 value: *mut COREWEBVIEW2_NAVIGATION_KIND,
24375 ) -> windows_core::Result<()> {
24376 unsafe {
24377 (windows_core::Interface::vtable(self).NavigationKind)(
24378 windows_core::Interface::as_raw(self),
24379 value as _,
24380 )
24381 .ok()
24382 }
24383 }
24384}
24385#[repr(C)]
24386#[doc(hidden)]
24387pub struct ICoreWebView2NavigationStartingEventArgs3_Vtbl {
24388 pub base__: ICoreWebView2NavigationStartingEventArgs2_Vtbl,
24389 pub NavigationKind: unsafe extern "system" fn(
24390 *mut core::ffi::c_void,
24391 *mut COREWEBVIEW2_NAVIGATION_KIND,
24392 ) -> windows_core::HRESULT,
24393}
24394pub trait ICoreWebView2NavigationStartingEventArgs3_Impl:
24395 ICoreWebView2NavigationStartingEventArgs2_Impl
24396{
24397 fn NavigationKind(&self, value: *mut COREWEBVIEW2_NAVIGATION_KIND) -> windows_core::Result<()>;
24398}
24399impl ICoreWebView2NavigationStartingEventArgs3_Vtbl {
24400 pub const fn new<
24401 Identity: ICoreWebView2NavigationStartingEventArgs3_Impl,
24402 const OFFSET: isize,
24403 >() -> Self {
24404 unsafe extern "system" fn NavigationKind<
24405 Identity: ICoreWebView2NavigationStartingEventArgs3_Impl,
24406 const OFFSET: isize,
24407 >(
24408 this: *mut core::ffi::c_void,
24409 value: *mut COREWEBVIEW2_NAVIGATION_KIND,
24410 ) -> windows_core::HRESULT {
24411 unsafe {
24412 let this: &Identity =
24413 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24414 ICoreWebView2NavigationStartingEventArgs3_Impl::NavigationKind(
24415 this,
24416 core::mem::transmute_copy(&value),
24417 )
24418 .into()
24419 }
24420 }
24421 Self {
24422 base__: ICoreWebView2NavigationStartingEventArgs2_Vtbl::new::<Identity, OFFSET>(),
24423 NavigationKind: NavigationKind::<Identity, OFFSET>,
24424 }
24425 }
24426 pub fn matches(iid: &windows_core::GUID) -> bool {
24427 iid == &<ICoreWebView2NavigationStartingEventArgs3 as windows_core::Interface>::IID
24428 || iid == &<ICoreWebView2NavigationStartingEventArgs as windows_core::Interface>::IID
24429 || iid == &<ICoreWebView2NavigationStartingEventArgs2 as windows_core::Interface>::IID
24430 }
24431}
24432impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventArgs3 {}
24433windows_core::imp::define_interface!(
24434 ICoreWebView2NavigationStartingEventHandler,
24435 ICoreWebView2NavigationStartingEventHandler_Vtbl,
24436 0x9adbe429_f36d_432b_9ddc_f8881fbd76e3
24437);
24438windows_core::imp::interface_hierarchy!(
24439 ICoreWebView2NavigationStartingEventHandler,
24440 windows_core::IUnknown
24441);
24442impl ICoreWebView2NavigationStartingEventHandler {
24443 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
24444 where
24445 P0: windows_core::Param<ICoreWebView2>,
24446 P1: windows_core::Param<ICoreWebView2NavigationStartingEventArgs>,
24447 {
24448 unsafe {
24449 (windows_core::Interface::vtable(self).Invoke)(
24450 windows_core::Interface::as_raw(self),
24451 sender.param().abi(),
24452 args.param().abi(),
24453 )
24454 .ok()
24455 }
24456 }
24457}
24458#[repr(C)]
24459#[doc(hidden)]
24460pub struct ICoreWebView2NavigationStartingEventHandler_Vtbl {
24461 pub base__: windows_core::IUnknown_Vtbl,
24462 pub Invoke: unsafe extern "system" fn(
24463 *mut core::ffi::c_void,
24464 *mut core::ffi::c_void,
24465 *mut core::ffi::c_void,
24466 ) -> windows_core::HRESULT,
24467}
24468pub trait ICoreWebView2NavigationStartingEventHandler_Impl: windows_core::IUnknownImpl {
24469 fn Invoke(
24470 &self,
24471 sender: windows_core::Ref<ICoreWebView2>,
24472 args: windows_core::Ref<ICoreWebView2NavigationStartingEventArgs>,
24473 ) -> windows_core::Result<()>;
24474}
24475impl ICoreWebView2NavigationStartingEventHandler_Vtbl {
24476 pub const fn new<
24477 Identity: ICoreWebView2NavigationStartingEventHandler_Impl,
24478 const OFFSET: isize,
24479 >() -> Self {
24480 unsafe extern "system" fn Invoke<
24481 Identity: ICoreWebView2NavigationStartingEventHandler_Impl,
24482 const OFFSET: isize,
24483 >(
24484 this: *mut core::ffi::c_void,
24485 sender: *mut core::ffi::c_void,
24486 args: *mut core::ffi::c_void,
24487 ) -> windows_core::HRESULT {
24488 unsafe {
24489 let this: &Identity =
24490 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24491 ICoreWebView2NavigationStartingEventHandler_Impl::Invoke(
24492 this,
24493 core::mem::transmute_copy(&sender),
24494 core::mem::transmute_copy(&args),
24495 )
24496 .into()
24497 }
24498 }
24499 Self {
24500 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24501 Invoke: Invoke::<Identity, OFFSET>,
24502 }
24503 }
24504 pub fn matches(iid: &windows_core::GUID) -> bool {
24505 iid == &<ICoreWebView2NavigationStartingEventHandler as windows_core::Interface>::IID
24506 }
24507}
24508impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventHandler {}
24509windows_core::imp::define_interface!(
24510 ICoreWebView2NewBrowserVersionAvailableEventHandler,
24511 ICoreWebView2NewBrowserVersionAvailableEventHandler_Vtbl,
24512 0xf9a2976e_d34e_44fc_adee_81b6b57ca914
24513);
24514windows_core::imp::interface_hierarchy!(
24515 ICoreWebView2NewBrowserVersionAvailableEventHandler,
24516 windows_core::IUnknown
24517);
24518impl ICoreWebView2NewBrowserVersionAvailableEventHandler {
24519 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
24520 where
24521 P0: windows_core::Param<ICoreWebView2Environment>,
24522 P1: windows_core::Param<windows_core::IUnknown>,
24523 {
24524 unsafe {
24525 (windows_core::Interface::vtable(self).Invoke)(
24526 windows_core::Interface::as_raw(self),
24527 sender.param().abi(),
24528 args.param().abi(),
24529 )
24530 .ok()
24531 }
24532 }
24533}
24534#[repr(C)]
24535#[doc(hidden)]
24536pub struct ICoreWebView2NewBrowserVersionAvailableEventHandler_Vtbl {
24537 pub base__: windows_core::IUnknown_Vtbl,
24538 pub Invoke: unsafe extern "system" fn(
24539 *mut core::ffi::c_void,
24540 *mut core::ffi::c_void,
24541 *mut core::ffi::c_void,
24542 ) -> windows_core::HRESULT,
24543}
24544pub trait ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl:
24545 windows_core::IUnknownImpl
24546{
24547 fn Invoke(
24548 &self,
24549 sender: windows_core::Ref<ICoreWebView2Environment>,
24550 args: windows_core::Ref<windows_core::IUnknown>,
24551 ) -> windows_core::Result<()>;
24552}
24553impl ICoreWebView2NewBrowserVersionAvailableEventHandler_Vtbl {
24554 pub const fn new<
24555 Identity: ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl,
24556 const OFFSET: isize,
24557 >() -> Self {
24558 unsafe extern "system" fn Invoke<
24559 Identity: ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl,
24560 const OFFSET: isize,
24561 >(
24562 this: *mut core::ffi::c_void,
24563 sender: *mut core::ffi::c_void,
24564 args: *mut core::ffi::c_void,
24565 ) -> windows_core::HRESULT {
24566 unsafe {
24567 let this: &Identity =
24568 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24569 ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl::Invoke(
24570 this,
24571 core::mem::transmute_copy(&sender),
24572 core::mem::transmute_copy(&args),
24573 )
24574 .into()
24575 }
24576 }
24577 Self {
24578 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24579 Invoke: Invoke::<Identity, OFFSET>,
24580 }
24581 }
24582 pub fn matches(iid: &windows_core::GUID) -> bool {
24583 iid == & < ICoreWebView2NewBrowserVersionAvailableEventHandler as windows_core::Interface >::IID
24584 }
24585}
24586impl windows_core::RuntimeName for ICoreWebView2NewBrowserVersionAvailableEventHandler {}
24587windows_core::imp::define_interface!(
24588 ICoreWebView2NewWindowRequestedEventArgs,
24589 ICoreWebView2NewWindowRequestedEventArgs_Vtbl,
24590 0x34acb11c_fc37_4418_9132_f9c21d1eafb9
24591);
24592windows_core::imp::interface_hierarchy!(
24593 ICoreWebView2NewWindowRequestedEventArgs,
24594 windows_core::IUnknown
24595);
24596impl ICoreWebView2NewWindowRequestedEventArgs {
24597 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
24598 unsafe {
24599 (windows_core::Interface::vtable(self).Uri)(
24600 windows_core::Interface::as_raw(self),
24601 uri as _,
24602 )
24603 .ok()
24604 }
24605 }
24606 pub unsafe fn SetNewWindow<P0>(&self, newwindow: P0) -> windows_core::Result<()>
24607 where
24608 P0: windows_core::Param<ICoreWebView2>,
24609 {
24610 unsafe {
24611 (windows_core::Interface::vtable(self).SetNewWindow)(
24612 windows_core::Interface::as_raw(self),
24613 newwindow.param().abi(),
24614 )
24615 .ok()
24616 }
24617 }
24618 pub unsafe fn NewWindow(&self) -> windows_core::Result<ICoreWebView2> {
24619 unsafe {
24620 let mut result__ = core::mem::zeroed();
24621 (windows_core::Interface::vtable(self).NewWindow)(
24622 windows_core::Interface::as_raw(self),
24623 &mut result__,
24624 )
24625 .and_then(|| windows_core::Type::from_abi(result__))
24626 }
24627 }
24628 pub unsafe fn SetHandled(&self, handled: bool) -> windows_core::Result<()> {
24629 unsafe {
24630 (windows_core::Interface::vtable(self).SetHandled)(
24631 windows_core::Interface::as_raw(self),
24632 handled.into(),
24633 )
24634 .ok()
24635 }
24636 }
24637 pub unsafe fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()> {
24638 unsafe {
24639 (windows_core::Interface::vtable(self).Handled)(
24640 windows_core::Interface::as_raw(self),
24641 handled as _,
24642 )
24643 .ok()
24644 }
24645 }
24646 pub unsafe fn IsUserInitiated(
24647 &self,
24648 isuserinitiated: *mut windows_core::BOOL,
24649 ) -> windows_core::Result<()> {
24650 unsafe {
24651 (windows_core::Interface::vtable(self).IsUserInitiated)(
24652 windows_core::Interface::as_raw(self),
24653 isuserinitiated as _,
24654 )
24655 .ok()
24656 }
24657 }
24658 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
24659 unsafe {
24660 let mut result__ = core::mem::zeroed();
24661 (windows_core::Interface::vtable(self).GetDeferral)(
24662 windows_core::Interface::as_raw(self),
24663 &mut result__,
24664 )
24665 .and_then(|| windows_core::Type::from_abi(result__))
24666 }
24667 }
24668 pub unsafe fn WindowFeatures(&self) -> windows_core::Result<ICoreWebView2WindowFeatures> {
24669 unsafe {
24670 let mut result__ = core::mem::zeroed();
24671 (windows_core::Interface::vtable(self).WindowFeatures)(
24672 windows_core::Interface::as_raw(self),
24673 &mut result__,
24674 )
24675 .and_then(|| windows_core::Type::from_abi(result__))
24676 }
24677 }
24678}
24679#[repr(C)]
24680#[doc(hidden)]
24681pub struct ICoreWebView2NewWindowRequestedEventArgs_Vtbl {
24682 pub base__: windows_core::IUnknown_Vtbl,
24683 pub Uri: unsafe extern "system" fn(
24684 *mut core::ffi::c_void,
24685 *mut windows_core::PWSTR,
24686 ) -> windows_core::HRESULT,
24687 pub SetNewWindow: unsafe extern "system" fn(
24688 *mut core::ffi::c_void,
24689 *mut core::ffi::c_void,
24690 ) -> windows_core::HRESULT,
24691 pub NewWindow: unsafe extern "system" fn(
24692 *mut core::ffi::c_void,
24693 *mut *mut core::ffi::c_void,
24694 ) -> windows_core::HRESULT,
24695 pub SetHandled: unsafe extern "system" fn(
24696 *mut core::ffi::c_void,
24697 windows_core::BOOL,
24698 ) -> windows_core::HRESULT,
24699 pub Handled: unsafe extern "system" fn(
24700 *mut core::ffi::c_void,
24701 *mut windows_core::BOOL,
24702 ) -> windows_core::HRESULT,
24703 pub IsUserInitiated: unsafe extern "system" fn(
24704 *mut core::ffi::c_void,
24705 *mut windows_core::BOOL,
24706 ) -> windows_core::HRESULT,
24707 pub GetDeferral: unsafe extern "system" fn(
24708 *mut core::ffi::c_void,
24709 *mut *mut core::ffi::c_void,
24710 ) -> windows_core::HRESULT,
24711 pub WindowFeatures: unsafe extern "system" fn(
24712 *mut core::ffi::c_void,
24713 *mut *mut core::ffi::c_void,
24714 ) -> windows_core::HRESULT,
24715}
24716pub trait ICoreWebView2NewWindowRequestedEventArgs_Impl: windows_core::IUnknownImpl {
24717 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
24718 fn SetNewWindow(&self, newwindow: windows_core::Ref<ICoreWebView2>)
24719 -> windows_core::Result<()>;
24720 fn NewWindow(&self) -> windows_core::Result<ICoreWebView2>;
24721 fn SetHandled(&self, handled: windows_core::BOOL) -> windows_core::Result<()>;
24722 fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()>;
24723 fn IsUserInitiated(&self, isuserinitiated: *mut windows_core::BOOL)
24724 -> windows_core::Result<()>;
24725 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
24726 fn WindowFeatures(&self) -> windows_core::Result<ICoreWebView2WindowFeatures>;
24727}
24728impl ICoreWebView2NewWindowRequestedEventArgs_Vtbl {
24729 pub const fn new<
24730 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
24731 const OFFSET: isize,
24732 >() -> Self {
24733 unsafe extern "system" fn Uri<
24734 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
24735 const OFFSET: isize,
24736 >(
24737 this: *mut core::ffi::c_void,
24738 uri: *mut windows_core::PWSTR,
24739 ) -> windows_core::HRESULT {
24740 unsafe {
24741 let this: &Identity =
24742 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24743 ICoreWebView2NewWindowRequestedEventArgs_Impl::Uri(
24744 this,
24745 core::mem::transmute_copy(&uri),
24746 )
24747 .into()
24748 }
24749 }
24750 unsafe extern "system" fn SetNewWindow<
24751 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
24752 const OFFSET: isize,
24753 >(
24754 this: *mut core::ffi::c_void,
24755 newwindow: *mut core::ffi::c_void,
24756 ) -> windows_core::HRESULT {
24757 unsafe {
24758 let this: &Identity =
24759 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24760 ICoreWebView2NewWindowRequestedEventArgs_Impl::SetNewWindow(
24761 this,
24762 core::mem::transmute_copy(&newwindow),
24763 )
24764 .into()
24765 }
24766 }
24767 unsafe extern "system" fn NewWindow<
24768 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
24769 const OFFSET: isize,
24770 >(
24771 this: *mut core::ffi::c_void,
24772 newwindow: *mut *mut core::ffi::c_void,
24773 ) -> windows_core::HRESULT {
24774 unsafe {
24775 let this: &Identity =
24776 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24777 match ICoreWebView2NewWindowRequestedEventArgs_Impl::NewWindow(this) {
24778 Ok(ok__) => {
24779 newwindow.write(core::mem::transmute(ok__));
24780 windows_core::HRESULT(0)
24781 }
24782 Err(err) => err.into(),
24783 }
24784 }
24785 }
24786 unsafe extern "system" fn SetHandled<
24787 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
24788 const OFFSET: isize,
24789 >(
24790 this: *mut core::ffi::c_void,
24791 handled: windows_core::BOOL,
24792 ) -> windows_core::HRESULT {
24793 unsafe {
24794 let this: &Identity =
24795 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24796 ICoreWebView2NewWindowRequestedEventArgs_Impl::SetHandled(
24797 this,
24798 core::mem::transmute_copy(&handled),
24799 )
24800 .into()
24801 }
24802 }
24803 unsafe extern "system" fn Handled<
24804 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
24805 const OFFSET: isize,
24806 >(
24807 this: *mut core::ffi::c_void,
24808 handled: *mut windows_core::BOOL,
24809 ) -> windows_core::HRESULT {
24810 unsafe {
24811 let this: &Identity =
24812 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24813 ICoreWebView2NewWindowRequestedEventArgs_Impl::Handled(
24814 this,
24815 core::mem::transmute_copy(&handled),
24816 )
24817 .into()
24818 }
24819 }
24820 unsafe extern "system" fn IsUserInitiated<
24821 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
24822 const OFFSET: isize,
24823 >(
24824 this: *mut core::ffi::c_void,
24825 isuserinitiated: *mut windows_core::BOOL,
24826 ) -> windows_core::HRESULT {
24827 unsafe {
24828 let this: &Identity =
24829 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24830 ICoreWebView2NewWindowRequestedEventArgs_Impl::IsUserInitiated(
24831 this,
24832 core::mem::transmute_copy(&isuserinitiated),
24833 )
24834 .into()
24835 }
24836 }
24837 unsafe extern "system" fn GetDeferral<
24838 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
24839 const OFFSET: isize,
24840 >(
24841 this: *mut core::ffi::c_void,
24842 deferral: *mut *mut core::ffi::c_void,
24843 ) -> windows_core::HRESULT {
24844 unsafe {
24845 let this: &Identity =
24846 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24847 match ICoreWebView2NewWindowRequestedEventArgs_Impl::GetDeferral(this) {
24848 Ok(ok__) => {
24849 deferral.write(core::mem::transmute(ok__));
24850 windows_core::HRESULT(0)
24851 }
24852 Err(err) => err.into(),
24853 }
24854 }
24855 }
24856 unsafe extern "system" fn WindowFeatures<
24857 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
24858 const OFFSET: isize,
24859 >(
24860 this: *mut core::ffi::c_void,
24861 value: *mut *mut core::ffi::c_void,
24862 ) -> windows_core::HRESULT {
24863 unsafe {
24864 let this: &Identity =
24865 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24866 match ICoreWebView2NewWindowRequestedEventArgs_Impl::WindowFeatures(this) {
24867 Ok(ok__) => {
24868 value.write(core::mem::transmute(ok__));
24869 windows_core::HRESULT(0)
24870 }
24871 Err(err) => err.into(),
24872 }
24873 }
24874 }
24875 Self {
24876 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24877 Uri: Uri::<Identity, OFFSET>,
24878 SetNewWindow: SetNewWindow::<Identity, OFFSET>,
24879 NewWindow: NewWindow::<Identity, OFFSET>,
24880 SetHandled: SetHandled::<Identity, OFFSET>,
24881 Handled: Handled::<Identity, OFFSET>,
24882 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
24883 GetDeferral: GetDeferral::<Identity, OFFSET>,
24884 WindowFeatures: WindowFeatures::<Identity, OFFSET>,
24885 }
24886 }
24887 pub fn matches(iid: &windows_core::GUID) -> bool {
24888 iid == &<ICoreWebView2NewWindowRequestedEventArgs as windows_core::Interface>::IID
24889 }
24890}
24891impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventArgs {}
24892windows_core::imp::define_interface!(
24893 ICoreWebView2NewWindowRequestedEventArgs2,
24894 ICoreWebView2NewWindowRequestedEventArgs2_Vtbl,
24895 0xbbc7baed_74c6_4c92_b63a_7f5aeae03de3
24896);
24897impl core::ops::Deref for ICoreWebView2NewWindowRequestedEventArgs2 {
24898 type Target = ICoreWebView2NewWindowRequestedEventArgs;
24899 fn deref(&self) -> &Self::Target {
24900 unsafe { core::mem::transmute(self) }
24901 }
24902}
24903windows_core::imp::interface_hierarchy!(
24904 ICoreWebView2NewWindowRequestedEventArgs2,
24905 windows_core::IUnknown,
24906 ICoreWebView2NewWindowRequestedEventArgs
24907);
24908impl ICoreWebView2NewWindowRequestedEventArgs2 {
24909 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
24910 unsafe {
24911 (windows_core::Interface::vtable(self).Name)(
24912 windows_core::Interface::as_raw(self),
24913 value as _,
24914 )
24915 .ok()
24916 }
24917 }
24918}
24919#[repr(C)]
24920#[doc(hidden)]
24921pub struct ICoreWebView2NewWindowRequestedEventArgs2_Vtbl {
24922 pub base__: ICoreWebView2NewWindowRequestedEventArgs_Vtbl,
24923 pub Name: unsafe extern "system" fn(
24924 *mut core::ffi::c_void,
24925 *mut windows_core::PWSTR,
24926 ) -> windows_core::HRESULT,
24927}
24928pub trait ICoreWebView2NewWindowRequestedEventArgs2_Impl:
24929 ICoreWebView2NewWindowRequestedEventArgs_Impl
24930{
24931 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
24932}
24933impl ICoreWebView2NewWindowRequestedEventArgs2_Vtbl {
24934 pub const fn new<
24935 Identity: ICoreWebView2NewWindowRequestedEventArgs2_Impl,
24936 const OFFSET: isize,
24937 >() -> Self {
24938 unsafe extern "system" fn Name<
24939 Identity: ICoreWebView2NewWindowRequestedEventArgs2_Impl,
24940 const OFFSET: isize,
24941 >(
24942 this: *mut core::ffi::c_void,
24943 value: *mut windows_core::PWSTR,
24944 ) -> windows_core::HRESULT {
24945 unsafe {
24946 let this: &Identity =
24947 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24948 ICoreWebView2NewWindowRequestedEventArgs2_Impl::Name(
24949 this,
24950 core::mem::transmute_copy(&value),
24951 )
24952 .into()
24953 }
24954 }
24955 Self {
24956 base__: ICoreWebView2NewWindowRequestedEventArgs_Vtbl::new::<Identity, OFFSET>(),
24957 Name: Name::<Identity, OFFSET>,
24958 }
24959 }
24960 pub fn matches(iid: &windows_core::GUID) -> bool {
24961 iid == &<ICoreWebView2NewWindowRequestedEventArgs2 as windows_core::Interface>::IID
24962 || iid == &<ICoreWebView2NewWindowRequestedEventArgs as windows_core::Interface>::IID
24963 }
24964}
24965impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventArgs2 {}
24966windows_core::imp::define_interface!(
24967 ICoreWebView2NewWindowRequestedEventArgs3,
24968 ICoreWebView2NewWindowRequestedEventArgs3_Vtbl,
24969 0x842bed3c_6ad6_4dd9_b938_28c96667ad66
24970);
24971impl core::ops::Deref for ICoreWebView2NewWindowRequestedEventArgs3 {
24972 type Target = ICoreWebView2NewWindowRequestedEventArgs2;
24973 fn deref(&self) -> &Self::Target {
24974 unsafe { core::mem::transmute(self) }
24975 }
24976}
24977windows_core::imp::interface_hierarchy!(
24978 ICoreWebView2NewWindowRequestedEventArgs3,
24979 windows_core::IUnknown,
24980 ICoreWebView2NewWindowRequestedEventArgs,
24981 ICoreWebView2NewWindowRequestedEventArgs2
24982);
24983impl ICoreWebView2NewWindowRequestedEventArgs3 {
24984 pub unsafe fn OriginalSourceFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo> {
24985 unsafe {
24986 let mut result__ = core::mem::zeroed();
24987 (windows_core::Interface::vtable(self).OriginalSourceFrameInfo)(
24988 windows_core::Interface::as_raw(self),
24989 &mut result__,
24990 )
24991 .and_then(|| windows_core::Type::from_abi(result__))
24992 }
24993 }
24994}
24995#[repr(C)]
24996#[doc(hidden)]
24997pub struct ICoreWebView2NewWindowRequestedEventArgs3_Vtbl {
24998 pub base__: ICoreWebView2NewWindowRequestedEventArgs2_Vtbl,
24999 pub OriginalSourceFrameInfo: unsafe extern "system" fn(
25000 *mut core::ffi::c_void,
25001 *mut *mut core::ffi::c_void,
25002 ) -> windows_core::HRESULT,
25003}
25004pub trait ICoreWebView2NewWindowRequestedEventArgs3_Impl:
25005 ICoreWebView2NewWindowRequestedEventArgs2_Impl
25006{
25007 fn OriginalSourceFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo>;
25008}
25009impl ICoreWebView2NewWindowRequestedEventArgs3_Vtbl {
25010 pub const fn new<
25011 Identity: ICoreWebView2NewWindowRequestedEventArgs3_Impl,
25012 const OFFSET: isize,
25013 >() -> Self {
25014 unsafe extern "system" fn OriginalSourceFrameInfo<
25015 Identity: ICoreWebView2NewWindowRequestedEventArgs3_Impl,
25016 const OFFSET: isize,
25017 >(
25018 this: *mut core::ffi::c_void,
25019 value: *mut *mut core::ffi::c_void,
25020 ) -> windows_core::HRESULT {
25021 unsafe {
25022 let this: &Identity =
25023 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25024 match ICoreWebView2NewWindowRequestedEventArgs3_Impl::OriginalSourceFrameInfo(this)
25025 {
25026 Ok(ok__) => {
25027 value.write(core::mem::transmute(ok__));
25028 windows_core::HRESULT(0)
25029 }
25030 Err(err) => err.into(),
25031 }
25032 }
25033 }
25034 Self {
25035 base__: ICoreWebView2NewWindowRequestedEventArgs2_Vtbl::new::<Identity, OFFSET>(),
25036 OriginalSourceFrameInfo: OriginalSourceFrameInfo::<Identity, OFFSET>,
25037 }
25038 }
25039 pub fn matches(iid: &windows_core::GUID) -> bool {
25040 iid == &<ICoreWebView2NewWindowRequestedEventArgs3 as windows_core::Interface>::IID
25041 || iid == &<ICoreWebView2NewWindowRequestedEventArgs as windows_core::Interface>::IID
25042 || iid == &<ICoreWebView2NewWindowRequestedEventArgs2 as windows_core::Interface>::IID
25043 }
25044}
25045impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventArgs3 {}
25046windows_core::imp::define_interface!(
25047 ICoreWebView2NewWindowRequestedEventHandler,
25048 ICoreWebView2NewWindowRequestedEventHandler_Vtbl,
25049 0xd4c185fe_c81c_4989_97af_2d3fa7ab5651
25050);
25051windows_core::imp::interface_hierarchy!(
25052 ICoreWebView2NewWindowRequestedEventHandler,
25053 windows_core::IUnknown
25054);
25055impl ICoreWebView2NewWindowRequestedEventHandler {
25056 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
25057 where
25058 P0: windows_core::Param<ICoreWebView2>,
25059 P1: windows_core::Param<ICoreWebView2NewWindowRequestedEventArgs>,
25060 {
25061 unsafe {
25062 (windows_core::Interface::vtable(self).Invoke)(
25063 windows_core::Interface::as_raw(self),
25064 sender.param().abi(),
25065 args.param().abi(),
25066 )
25067 .ok()
25068 }
25069 }
25070}
25071#[repr(C)]
25072#[doc(hidden)]
25073pub struct ICoreWebView2NewWindowRequestedEventHandler_Vtbl {
25074 pub base__: windows_core::IUnknown_Vtbl,
25075 pub Invoke: unsafe extern "system" fn(
25076 *mut core::ffi::c_void,
25077 *mut core::ffi::c_void,
25078 *mut core::ffi::c_void,
25079 ) -> windows_core::HRESULT,
25080}
25081pub trait ICoreWebView2NewWindowRequestedEventHandler_Impl: windows_core::IUnknownImpl {
25082 fn Invoke(
25083 &self,
25084 sender: windows_core::Ref<ICoreWebView2>,
25085 args: windows_core::Ref<ICoreWebView2NewWindowRequestedEventArgs>,
25086 ) -> windows_core::Result<()>;
25087}
25088impl ICoreWebView2NewWindowRequestedEventHandler_Vtbl {
25089 pub const fn new<
25090 Identity: ICoreWebView2NewWindowRequestedEventHandler_Impl,
25091 const OFFSET: isize,
25092 >() -> Self {
25093 unsafe extern "system" fn Invoke<
25094 Identity: ICoreWebView2NewWindowRequestedEventHandler_Impl,
25095 const OFFSET: isize,
25096 >(
25097 this: *mut core::ffi::c_void,
25098 sender: *mut core::ffi::c_void,
25099 args: *mut core::ffi::c_void,
25100 ) -> windows_core::HRESULT {
25101 unsafe {
25102 let this: &Identity =
25103 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25104 ICoreWebView2NewWindowRequestedEventHandler_Impl::Invoke(
25105 this,
25106 core::mem::transmute_copy(&sender),
25107 core::mem::transmute_copy(&args),
25108 )
25109 .into()
25110 }
25111 }
25112 Self {
25113 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
25114 Invoke: Invoke::<Identity, OFFSET>,
25115 }
25116 }
25117 pub fn matches(iid: &windows_core::GUID) -> bool {
25118 iid == &<ICoreWebView2NewWindowRequestedEventHandler as windows_core::Interface>::IID
25119 }
25120}
25121impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventHandler {}
25122windows_core::imp::define_interface!(
25123 ICoreWebView2NonClientRegionChangedEventArgs,
25124 ICoreWebView2NonClientRegionChangedEventArgs_Vtbl,
25125 0xab71d500_0820_4a52_809c_48db04ff93bf
25126);
25127windows_core::imp::interface_hierarchy!(
25128 ICoreWebView2NonClientRegionChangedEventArgs,
25129 windows_core::IUnknown
25130);
25131impl ICoreWebView2NonClientRegionChangedEventArgs {
25132 pub unsafe fn RegionKind(
25133 &self,
25134 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
25135 ) -> windows_core::Result<()> {
25136 unsafe {
25137 (windows_core::Interface::vtable(self).RegionKind)(
25138 windows_core::Interface::as_raw(self),
25139 value as _,
25140 )
25141 .ok()
25142 }
25143 }
25144}
25145#[repr(C)]
25146#[doc(hidden)]
25147pub struct ICoreWebView2NonClientRegionChangedEventArgs_Vtbl {
25148 pub base__: windows_core::IUnknown_Vtbl,
25149 pub RegionKind: unsafe extern "system" fn(
25150 *mut core::ffi::c_void,
25151 *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
25152 ) -> windows_core::HRESULT,
25153}
25154pub trait ICoreWebView2NonClientRegionChangedEventArgs_Impl: windows_core::IUnknownImpl {
25155 fn RegionKind(
25156 &self,
25157 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
25158 ) -> windows_core::Result<()>;
25159}
25160impl ICoreWebView2NonClientRegionChangedEventArgs_Vtbl {
25161 pub const fn new<
25162 Identity: ICoreWebView2NonClientRegionChangedEventArgs_Impl,
25163 const OFFSET: isize,
25164 >() -> Self {
25165 unsafe extern "system" fn RegionKind<
25166 Identity: ICoreWebView2NonClientRegionChangedEventArgs_Impl,
25167 const OFFSET: isize,
25168 >(
25169 this: *mut core::ffi::c_void,
25170 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
25171 ) -> windows_core::HRESULT {
25172 unsafe {
25173 let this: &Identity =
25174 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25175 ICoreWebView2NonClientRegionChangedEventArgs_Impl::RegionKind(
25176 this,
25177 core::mem::transmute_copy(&value),
25178 )
25179 .into()
25180 }
25181 }
25182 Self {
25183 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
25184 RegionKind: RegionKind::<Identity, OFFSET>,
25185 }
25186 }
25187 pub fn matches(iid: &windows_core::GUID) -> bool {
25188 iid == &<ICoreWebView2NonClientRegionChangedEventArgs as windows_core::Interface>::IID
25189 }
25190}
25191impl windows_core::RuntimeName for ICoreWebView2NonClientRegionChangedEventArgs {}
25192windows_core::imp::define_interface!(
25193 ICoreWebView2NonClientRegionChangedEventHandler,
25194 ICoreWebView2NonClientRegionChangedEventHandler_Vtbl,
25195 0x4a794e66_aa6c_46bd_93a3_382196837680
25196);
25197windows_core::imp::interface_hierarchy!(
25198 ICoreWebView2NonClientRegionChangedEventHandler,
25199 windows_core::IUnknown
25200);
25201impl ICoreWebView2NonClientRegionChangedEventHandler {
25202 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
25203 where
25204 P0: windows_core::Param<ICoreWebView2CompositionController>,
25205 P1: windows_core::Param<ICoreWebView2NonClientRegionChangedEventArgs>,
25206 {
25207 unsafe {
25208 (windows_core::Interface::vtable(self).Invoke)(
25209 windows_core::Interface::as_raw(self),
25210 sender.param().abi(),
25211 args.param().abi(),
25212 )
25213 .ok()
25214 }
25215 }
25216}
25217#[repr(C)]
25218#[doc(hidden)]
25219pub struct ICoreWebView2NonClientRegionChangedEventHandler_Vtbl {
25220 pub base__: windows_core::IUnknown_Vtbl,
25221 pub Invoke: unsafe extern "system" fn(
25222 *mut core::ffi::c_void,
25223 *mut core::ffi::c_void,
25224 *mut core::ffi::c_void,
25225 ) -> windows_core::HRESULT,
25226}
25227pub trait ICoreWebView2NonClientRegionChangedEventHandler_Impl: windows_core::IUnknownImpl {
25228 fn Invoke(
25229 &self,
25230 sender: windows_core::Ref<ICoreWebView2CompositionController>,
25231 args: windows_core::Ref<ICoreWebView2NonClientRegionChangedEventArgs>,
25232 ) -> windows_core::Result<()>;
25233}
25234impl ICoreWebView2NonClientRegionChangedEventHandler_Vtbl {
25235 pub const fn new<
25236 Identity: ICoreWebView2NonClientRegionChangedEventHandler_Impl,
25237 const OFFSET: isize,
25238 >() -> Self {
25239 unsafe extern "system" fn Invoke<
25240 Identity: ICoreWebView2NonClientRegionChangedEventHandler_Impl,
25241 const OFFSET: isize,
25242 >(
25243 this: *mut core::ffi::c_void,
25244 sender: *mut core::ffi::c_void,
25245 args: *mut core::ffi::c_void,
25246 ) -> windows_core::HRESULT {
25247 unsafe {
25248 let this: &Identity =
25249 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25250 ICoreWebView2NonClientRegionChangedEventHandler_Impl::Invoke(
25251 this,
25252 core::mem::transmute_copy(&sender),
25253 core::mem::transmute_copy(&args),
25254 )
25255 .into()
25256 }
25257 }
25258 Self {
25259 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
25260 Invoke: Invoke::<Identity, OFFSET>,
25261 }
25262 }
25263 pub fn matches(iid: &windows_core::GUID) -> bool {
25264 iid == &<ICoreWebView2NonClientRegionChangedEventHandler as windows_core::Interface>::IID
25265 }
25266}
25267impl windows_core::RuntimeName for ICoreWebView2NonClientRegionChangedEventHandler {}
25268windows_core::imp::define_interface!(
25269 ICoreWebView2Notification,
25270 ICoreWebView2Notification_Vtbl,
25271 0xb7434d98_6bc8_419d_9da5_fb5a96d4dacd
25272);
25273windows_core::imp::interface_hierarchy!(ICoreWebView2Notification, windows_core::IUnknown);
25274impl ICoreWebView2Notification {
25275 pub unsafe fn add_CloseRequested<P0>(
25276 &self,
25277 eventhandler: P0,
25278 token: *mut i64,
25279 ) -> windows_core::Result<()>
25280 where
25281 P0: windows_core::Param<ICoreWebView2NotificationCloseRequestedEventHandler>,
25282 {
25283 unsafe {
25284 (windows_core::Interface::vtable(self).add_CloseRequested)(
25285 windows_core::Interface::as_raw(self),
25286 eventhandler.param().abi(),
25287 token as _,
25288 )
25289 .ok()
25290 }
25291 }
25292 pub unsafe fn remove_CloseRequested(&self, token: i64) -> windows_core::Result<()> {
25293 unsafe {
25294 (windows_core::Interface::vtable(self).remove_CloseRequested)(
25295 windows_core::Interface::as_raw(self),
25296 token,
25297 )
25298 .ok()
25299 }
25300 }
25301 pub unsafe fn ReportShown(&self) -> windows_core::Result<()> {
25302 unsafe {
25303 (windows_core::Interface::vtable(self).ReportShown)(windows_core::Interface::as_raw(
25304 self,
25305 ))
25306 .ok()
25307 }
25308 }
25309 pub unsafe fn ReportClicked(&self) -> windows_core::Result<()> {
25310 unsafe {
25311 (windows_core::Interface::vtable(self).ReportClicked)(windows_core::Interface::as_raw(
25312 self,
25313 ))
25314 .ok()
25315 }
25316 }
25317 pub unsafe fn ReportClosed(&self) -> windows_core::Result<()> {
25318 unsafe {
25319 (windows_core::Interface::vtable(self).ReportClosed)(windows_core::Interface::as_raw(
25320 self,
25321 ))
25322 .ok()
25323 }
25324 }
25325 pub unsafe fn Body(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
25326 unsafe {
25327 (windows_core::Interface::vtable(self).Body)(
25328 windows_core::Interface::as_raw(self),
25329 value as _,
25330 )
25331 .ok()
25332 }
25333 }
25334 pub unsafe fn Direction(
25335 &self,
25336 value: *mut COREWEBVIEW2_TEXT_DIRECTION_KIND,
25337 ) -> windows_core::Result<()> {
25338 unsafe {
25339 (windows_core::Interface::vtable(self).Direction)(
25340 windows_core::Interface::as_raw(self),
25341 value as _,
25342 )
25343 .ok()
25344 }
25345 }
25346 pub unsafe fn Language(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
25347 unsafe {
25348 (windows_core::Interface::vtable(self).Language)(
25349 windows_core::Interface::as_raw(self),
25350 value as _,
25351 )
25352 .ok()
25353 }
25354 }
25355 pub unsafe fn Tag(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
25356 unsafe {
25357 (windows_core::Interface::vtable(self).Tag)(
25358 windows_core::Interface::as_raw(self),
25359 value as _,
25360 )
25361 .ok()
25362 }
25363 }
25364 pub unsafe fn IconUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
25365 unsafe {
25366 (windows_core::Interface::vtable(self).IconUri)(
25367 windows_core::Interface::as_raw(self),
25368 value as _,
25369 )
25370 .ok()
25371 }
25372 }
25373 pub unsafe fn Title(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
25374 unsafe {
25375 (windows_core::Interface::vtable(self).Title)(
25376 windows_core::Interface::as_raw(self),
25377 value as _,
25378 )
25379 .ok()
25380 }
25381 }
25382 pub unsafe fn BadgeUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
25383 unsafe {
25384 (windows_core::Interface::vtable(self).BadgeUri)(
25385 windows_core::Interface::as_raw(self),
25386 value as _,
25387 )
25388 .ok()
25389 }
25390 }
25391 pub unsafe fn BodyImageUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
25392 unsafe {
25393 (windows_core::Interface::vtable(self).BodyImageUri)(
25394 windows_core::Interface::as_raw(self),
25395 value as _,
25396 )
25397 .ok()
25398 }
25399 }
25400 pub unsafe fn ShouldRenotify(
25401 &self,
25402 value: *mut windows_core::BOOL,
25403 ) -> windows_core::Result<()> {
25404 unsafe {
25405 (windows_core::Interface::vtable(self).ShouldRenotify)(
25406 windows_core::Interface::as_raw(self),
25407 value as _,
25408 )
25409 .ok()
25410 }
25411 }
25412 pub unsafe fn RequiresInteraction(
25413 &self,
25414 value: *mut windows_core::BOOL,
25415 ) -> windows_core::Result<()> {
25416 unsafe {
25417 (windows_core::Interface::vtable(self).RequiresInteraction)(
25418 windows_core::Interface::as_raw(self),
25419 value as _,
25420 )
25421 .ok()
25422 }
25423 }
25424 pub unsafe fn IsSilent(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
25425 unsafe {
25426 (windows_core::Interface::vtable(self).IsSilent)(
25427 windows_core::Interface::as_raw(self),
25428 value as _,
25429 )
25430 .ok()
25431 }
25432 }
25433 pub unsafe fn Timestamp(&self, value: *mut f64) -> windows_core::Result<()> {
25434 unsafe {
25435 (windows_core::Interface::vtable(self).Timestamp)(
25436 windows_core::Interface::as_raw(self),
25437 value as _,
25438 )
25439 .ok()
25440 }
25441 }
25442 pub unsafe fn GetVibrationPattern(
25443 &self,
25444 count: *mut u32,
25445 vibrationpattern: *mut *mut u64,
25446 ) -> windows_core::Result<()> {
25447 unsafe {
25448 (windows_core::Interface::vtable(self).GetVibrationPattern)(
25449 windows_core::Interface::as_raw(self),
25450 count as _,
25451 vibrationpattern as _,
25452 )
25453 .ok()
25454 }
25455 }
25456}
25457#[repr(C)]
25458#[doc(hidden)]
25459pub struct ICoreWebView2Notification_Vtbl {
25460 pub base__: windows_core::IUnknown_Vtbl,
25461 pub add_CloseRequested: unsafe extern "system" fn(
25462 *mut core::ffi::c_void,
25463 *mut core::ffi::c_void,
25464 *mut i64,
25465 ) -> windows_core::HRESULT,
25466 pub remove_CloseRequested:
25467 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
25468 pub ReportShown: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
25469 pub ReportClicked: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
25470 pub ReportClosed: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
25471 pub Body: unsafe extern "system" fn(
25472 *mut core::ffi::c_void,
25473 *mut windows_core::PWSTR,
25474 ) -> windows_core::HRESULT,
25475 pub Direction: unsafe extern "system" fn(
25476 *mut core::ffi::c_void,
25477 *mut COREWEBVIEW2_TEXT_DIRECTION_KIND,
25478 ) -> windows_core::HRESULT,
25479 pub Language: unsafe extern "system" fn(
25480 *mut core::ffi::c_void,
25481 *mut windows_core::PWSTR,
25482 ) -> windows_core::HRESULT,
25483 pub Tag: unsafe extern "system" fn(
25484 *mut core::ffi::c_void,
25485 *mut windows_core::PWSTR,
25486 ) -> windows_core::HRESULT,
25487 pub IconUri: unsafe extern "system" fn(
25488 *mut core::ffi::c_void,
25489 *mut windows_core::PWSTR,
25490 ) -> windows_core::HRESULT,
25491 pub Title: unsafe extern "system" fn(
25492 *mut core::ffi::c_void,
25493 *mut windows_core::PWSTR,
25494 ) -> windows_core::HRESULT,
25495 pub BadgeUri: unsafe extern "system" fn(
25496 *mut core::ffi::c_void,
25497 *mut windows_core::PWSTR,
25498 ) -> windows_core::HRESULT,
25499 pub BodyImageUri: unsafe extern "system" fn(
25500 *mut core::ffi::c_void,
25501 *mut windows_core::PWSTR,
25502 ) -> windows_core::HRESULT,
25503 pub ShouldRenotify: unsafe extern "system" fn(
25504 *mut core::ffi::c_void,
25505 *mut windows_core::BOOL,
25506 ) -> windows_core::HRESULT,
25507 pub RequiresInteraction: unsafe extern "system" fn(
25508 *mut core::ffi::c_void,
25509 *mut windows_core::BOOL,
25510 ) -> windows_core::HRESULT,
25511 pub IsSilent: unsafe extern "system" fn(
25512 *mut core::ffi::c_void,
25513 *mut windows_core::BOOL,
25514 ) -> windows_core::HRESULT,
25515 pub Timestamp:
25516 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
25517 pub GetVibrationPattern: unsafe extern "system" fn(
25518 *mut core::ffi::c_void,
25519 *mut u32,
25520 *mut *mut u64,
25521 ) -> windows_core::HRESULT,
25522}
25523pub trait ICoreWebView2Notification_Impl: windows_core::IUnknownImpl {
25524 fn add_CloseRequested(
25525 &self,
25526 eventhandler: windows_core::Ref<ICoreWebView2NotificationCloseRequestedEventHandler>,
25527 token: *mut i64,
25528 ) -> windows_core::Result<()>;
25529 fn remove_CloseRequested(&self, token: i64) -> windows_core::Result<()>;
25530 fn ReportShown(&self) -> windows_core::Result<()>;
25531 fn ReportClicked(&self) -> windows_core::Result<()>;
25532 fn ReportClosed(&self) -> windows_core::Result<()>;
25533 fn Body(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
25534 fn Direction(&self, value: *mut COREWEBVIEW2_TEXT_DIRECTION_KIND) -> windows_core::Result<()>;
25535 fn Language(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
25536 fn Tag(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
25537 fn IconUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
25538 fn Title(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
25539 fn BadgeUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
25540 fn BodyImageUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
25541 fn ShouldRenotify(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
25542 fn RequiresInteraction(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
25543 fn IsSilent(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
25544 fn Timestamp(&self, value: *mut f64) -> windows_core::Result<()>;
25545 fn GetVibrationPattern(
25546 &self,
25547 count: *mut u32,
25548 vibrationpattern: *mut *mut u64,
25549 ) -> windows_core::Result<()>;
25550}
25551impl ICoreWebView2Notification_Vtbl {
25552 pub const fn new<Identity: ICoreWebView2Notification_Impl, const OFFSET: isize>() -> Self {
25553 unsafe extern "system" fn add_CloseRequested<
25554 Identity: ICoreWebView2Notification_Impl,
25555 const OFFSET: isize,
25556 >(
25557 this: *mut core::ffi::c_void,
25558 eventhandler: *mut core::ffi::c_void,
25559 token: *mut i64,
25560 ) -> windows_core::HRESULT {
25561 unsafe {
25562 let this: &Identity =
25563 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25564 ICoreWebView2Notification_Impl::add_CloseRequested(
25565 this,
25566 core::mem::transmute_copy(&eventhandler),
25567 core::mem::transmute_copy(&token),
25568 )
25569 .into()
25570 }
25571 }
25572 unsafe extern "system" fn remove_CloseRequested<
25573 Identity: ICoreWebView2Notification_Impl,
25574 const OFFSET: isize,
25575 >(
25576 this: *mut core::ffi::c_void,
25577 token: i64,
25578 ) -> windows_core::HRESULT {
25579 unsafe {
25580 let this: &Identity =
25581 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25582 ICoreWebView2Notification_Impl::remove_CloseRequested(
25583 this,
25584 core::mem::transmute_copy(&token),
25585 )
25586 .into()
25587 }
25588 }
25589 unsafe extern "system" fn ReportShown<
25590 Identity: ICoreWebView2Notification_Impl,
25591 const OFFSET: isize,
25592 >(
25593 this: *mut core::ffi::c_void,
25594 ) -> windows_core::HRESULT {
25595 unsafe {
25596 let this: &Identity =
25597 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25598 ICoreWebView2Notification_Impl::ReportShown(this).into()
25599 }
25600 }
25601 unsafe extern "system" fn ReportClicked<
25602 Identity: ICoreWebView2Notification_Impl,
25603 const OFFSET: isize,
25604 >(
25605 this: *mut core::ffi::c_void,
25606 ) -> windows_core::HRESULT {
25607 unsafe {
25608 let this: &Identity =
25609 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25610 ICoreWebView2Notification_Impl::ReportClicked(this).into()
25611 }
25612 }
25613 unsafe extern "system" fn ReportClosed<
25614 Identity: ICoreWebView2Notification_Impl,
25615 const OFFSET: isize,
25616 >(
25617 this: *mut core::ffi::c_void,
25618 ) -> windows_core::HRESULT {
25619 unsafe {
25620 let this: &Identity =
25621 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25622 ICoreWebView2Notification_Impl::ReportClosed(this).into()
25623 }
25624 }
25625 unsafe extern "system" fn Body<
25626 Identity: ICoreWebView2Notification_Impl,
25627 const OFFSET: isize,
25628 >(
25629 this: *mut core::ffi::c_void,
25630 value: *mut windows_core::PWSTR,
25631 ) -> windows_core::HRESULT {
25632 unsafe {
25633 let this: &Identity =
25634 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25635 ICoreWebView2Notification_Impl::Body(this, core::mem::transmute_copy(&value)).into()
25636 }
25637 }
25638 unsafe extern "system" fn Direction<
25639 Identity: ICoreWebView2Notification_Impl,
25640 const OFFSET: isize,
25641 >(
25642 this: *mut core::ffi::c_void,
25643 value: *mut COREWEBVIEW2_TEXT_DIRECTION_KIND,
25644 ) -> windows_core::HRESULT {
25645 unsafe {
25646 let this: &Identity =
25647 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25648 ICoreWebView2Notification_Impl::Direction(this, core::mem::transmute_copy(&value))
25649 .into()
25650 }
25651 }
25652 unsafe extern "system" fn Language<
25653 Identity: ICoreWebView2Notification_Impl,
25654 const OFFSET: isize,
25655 >(
25656 this: *mut core::ffi::c_void,
25657 value: *mut windows_core::PWSTR,
25658 ) -> windows_core::HRESULT {
25659 unsafe {
25660 let this: &Identity =
25661 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25662 ICoreWebView2Notification_Impl::Language(this, core::mem::transmute_copy(&value))
25663 .into()
25664 }
25665 }
25666 unsafe extern "system" fn Tag<
25667 Identity: ICoreWebView2Notification_Impl,
25668 const OFFSET: isize,
25669 >(
25670 this: *mut core::ffi::c_void,
25671 value: *mut windows_core::PWSTR,
25672 ) -> windows_core::HRESULT {
25673 unsafe {
25674 let this: &Identity =
25675 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25676 ICoreWebView2Notification_Impl::Tag(this, core::mem::transmute_copy(&value)).into()
25677 }
25678 }
25679 unsafe extern "system" fn IconUri<
25680 Identity: ICoreWebView2Notification_Impl,
25681 const OFFSET: isize,
25682 >(
25683 this: *mut core::ffi::c_void,
25684 value: *mut windows_core::PWSTR,
25685 ) -> windows_core::HRESULT {
25686 unsafe {
25687 let this: &Identity =
25688 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25689 ICoreWebView2Notification_Impl::IconUri(this, core::mem::transmute_copy(&value))
25690 .into()
25691 }
25692 }
25693 unsafe extern "system" fn Title<
25694 Identity: ICoreWebView2Notification_Impl,
25695 const OFFSET: isize,
25696 >(
25697 this: *mut core::ffi::c_void,
25698 value: *mut windows_core::PWSTR,
25699 ) -> windows_core::HRESULT {
25700 unsafe {
25701 let this: &Identity =
25702 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25703 ICoreWebView2Notification_Impl::Title(this, core::mem::transmute_copy(&value))
25704 .into()
25705 }
25706 }
25707 unsafe extern "system" fn BadgeUri<
25708 Identity: ICoreWebView2Notification_Impl,
25709 const OFFSET: isize,
25710 >(
25711 this: *mut core::ffi::c_void,
25712 value: *mut windows_core::PWSTR,
25713 ) -> windows_core::HRESULT {
25714 unsafe {
25715 let this: &Identity =
25716 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25717 ICoreWebView2Notification_Impl::BadgeUri(this, core::mem::transmute_copy(&value))
25718 .into()
25719 }
25720 }
25721 unsafe extern "system" fn BodyImageUri<
25722 Identity: ICoreWebView2Notification_Impl,
25723 const OFFSET: isize,
25724 >(
25725 this: *mut core::ffi::c_void,
25726 value: *mut windows_core::PWSTR,
25727 ) -> windows_core::HRESULT {
25728 unsafe {
25729 let this: &Identity =
25730 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25731 ICoreWebView2Notification_Impl::BodyImageUri(
25732 this,
25733 core::mem::transmute_copy(&value),
25734 )
25735 .into()
25736 }
25737 }
25738 unsafe extern "system" fn ShouldRenotify<
25739 Identity: ICoreWebView2Notification_Impl,
25740 const OFFSET: isize,
25741 >(
25742 this: *mut core::ffi::c_void,
25743 value: *mut windows_core::BOOL,
25744 ) -> windows_core::HRESULT {
25745 unsafe {
25746 let this: &Identity =
25747 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25748 ICoreWebView2Notification_Impl::ShouldRenotify(
25749 this,
25750 core::mem::transmute_copy(&value),
25751 )
25752 .into()
25753 }
25754 }
25755 unsafe extern "system" fn RequiresInteraction<
25756 Identity: ICoreWebView2Notification_Impl,
25757 const OFFSET: isize,
25758 >(
25759 this: *mut core::ffi::c_void,
25760 value: *mut windows_core::BOOL,
25761 ) -> windows_core::HRESULT {
25762 unsafe {
25763 let this: &Identity =
25764 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25765 ICoreWebView2Notification_Impl::RequiresInteraction(
25766 this,
25767 core::mem::transmute_copy(&value),
25768 )
25769 .into()
25770 }
25771 }
25772 unsafe extern "system" fn IsSilent<
25773 Identity: ICoreWebView2Notification_Impl,
25774 const OFFSET: isize,
25775 >(
25776 this: *mut core::ffi::c_void,
25777 value: *mut windows_core::BOOL,
25778 ) -> windows_core::HRESULT {
25779 unsafe {
25780 let this: &Identity =
25781 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25782 ICoreWebView2Notification_Impl::IsSilent(this, core::mem::transmute_copy(&value))
25783 .into()
25784 }
25785 }
25786 unsafe extern "system" fn Timestamp<
25787 Identity: ICoreWebView2Notification_Impl,
25788 const OFFSET: isize,
25789 >(
25790 this: *mut core::ffi::c_void,
25791 value: *mut f64,
25792 ) -> windows_core::HRESULT {
25793 unsafe {
25794 let this: &Identity =
25795 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25796 ICoreWebView2Notification_Impl::Timestamp(this, core::mem::transmute_copy(&value))
25797 .into()
25798 }
25799 }
25800 unsafe extern "system" fn GetVibrationPattern<
25801 Identity: ICoreWebView2Notification_Impl,
25802 const OFFSET: isize,
25803 >(
25804 this: *mut core::ffi::c_void,
25805 count: *mut u32,
25806 vibrationpattern: *mut *mut u64,
25807 ) -> windows_core::HRESULT {
25808 unsafe {
25809 let this: &Identity =
25810 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25811 ICoreWebView2Notification_Impl::GetVibrationPattern(
25812 this,
25813 core::mem::transmute_copy(&count),
25814 core::mem::transmute_copy(&vibrationpattern),
25815 )
25816 .into()
25817 }
25818 }
25819 Self {
25820 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
25821 add_CloseRequested: add_CloseRequested::<Identity, OFFSET>,
25822 remove_CloseRequested: remove_CloseRequested::<Identity, OFFSET>,
25823 ReportShown: ReportShown::<Identity, OFFSET>,
25824 ReportClicked: ReportClicked::<Identity, OFFSET>,
25825 ReportClosed: ReportClosed::<Identity, OFFSET>,
25826 Body: Body::<Identity, OFFSET>,
25827 Direction: Direction::<Identity, OFFSET>,
25828 Language: Language::<Identity, OFFSET>,
25829 Tag: Tag::<Identity, OFFSET>,
25830 IconUri: IconUri::<Identity, OFFSET>,
25831 Title: Title::<Identity, OFFSET>,
25832 BadgeUri: BadgeUri::<Identity, OFFSET>,
25833 BodyImageUri: BodyImageUri::<Identity, OFFSET>,
25834 ShouldRenotify: ShouldRenotify::<Identity, OFFSET>,
25835 RequiresInteraction: RequiresInteraction::<Identity, OFFSET>,
25836 IsSilent: IsSilent::<Identity, OFFSET>,
25837 Timestamp: Timestamp::<Identity, OFFSET>,
25838 GetVibrationPattern: GetVibrationPattern::<Identity, OFFSET>,
25839 }
25840 }
25841 pub fn matches(iid: &windows_core::GUID) -> bool {
25842 iid == &<ICoreWebView2Notification as windows_core::Interface>::IID
25843 }
25844}
25845impl windows_core::RuntimeName for ICoreWebView2Notification {}
25846windows_core::imp::define_interface!(
25847 ICoreWebView2NotificationCloseRequestedEventHandler,
25848 ICoreWebView2NotificationCloseRequestedEventHandler_Vtbl,
25849 0x47c32d23_1e94_4733_85f1_d9bf4acd0974
25850);
25851windows_core::imp::interface_hierarchy!(
25852 ICoreWebView2NotificationCloseRequestedEventHandler,
25853 windows_core::IUnknown
25854);
25855impl ICoreWebView2NotificationCloseRequestedEventHandler {
25856 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
25857 where
25858 P0: windows_core::Param<ICoreWebView2Notification>,
25859 P1: windows_core::Param<windows_core::IUnknown>,
25860 {
25861 unsafe {
25862 (windows_core::Interface::vtable(self).Invoke)(
25863 windows_core::Interface::as_raw(self),
25864 sender.param().abi(),
25865 args.param().abi(),
25866 )
25867 .ok()
25868 }
25869 }
25870}
25871#[repr(C)]
25872#[doc(hidden)]
25873pub struct ICoreWebView2NotificationCloseRequestedEventHandler_Vtbl {
25874 pub base__: windows_core::IUnknown_Vtbl,
25875 pub Invoke: unsafe extern "system" fn(
25876 *mut core::ffi::c_void,
25877 *mut core::ffi::c_void,
25878 *mut core::ffi::c_void,
25879 ) -> windows_core::HRESULT,
25880}
25881pub trait ICoreWebView2NotificationCloseRequestedEventHandler_Impl:
25882 windows_core::IUnknownImpl
25883{
25884 fn Invoke(
25885 &self,
25886 sender: windows_core::Ref<ICoreWebView2Notification>,
25887 args: windows_core::Ref<windows_core::IUnknown>,
25888 ) -> windows_core::Result<()>;
25889}
25890impl ICoreWebView2NotificationCloseRequestedEventHandler_Vtbl {
25891 pub const fn new<
25892 Identity: ICoreWebView2NotificationCloseRequestedEventHandler_Impl,
25893 const OFFSET: isize,
25894 >() -> Self {
25895 unsafe extern "system" fn Invoke<
25896 Identity: ICoreWebView2NotificationCloseRequestedEventHandler_Impl,
25897 const OFFSET: isize,
25898 >(
25899 this: *mut core::ffi::c_void,
25900 sender: *mut core::ffi::c_void,
25901 args: *mut core::ffi::c_void,
25902 ) -> windows_core::HRESULT {
25903 unsafe {
25904 let this: &Identity =
25905 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25906 ICoreWebView2NotificationCloseRequestedEventHandler_Impl::Invoke(
25907 this,
25908 core::mem::transmute_copy(&sender),
25909 core::mem::transmute_copy(&args),
25910 )
25911 .into()
25912 }
25913 }
25914 Self {
25915 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
25916 Invoke: Invoke::<Identity, OFFSET>,
25917 }
25918 }
25919 pub fn matches(iid: &windows_core::GUID) -> bool {
25920 iid == & < ICoreWebView2NotificationCloseRequestedEventHandler as windows_core::Interface >::IID
25921 }
25922}
25923impl windows_core::RuntimeName for ICoreWebView2NotificationCloseRequestedEventHandler {}
25924windows_core::imp::define_interface!(
25925 ICoreWebView2NotificationReceivedEventArgs,
25926 ICoreWebView2NotificationReceivedEventArgs_Vtbl,
25927 0x1512dd5b_5514_4f85_886e_21c3a4c9cfe6
25928);
25929windows_core::imp::interface_hierarchy!(
25930 ICoreWebView2NotificationReceivedEventArgs,
25931 windows_core::IUnknown
25932);
25933impl ICoreWebView2NotificationReceivedEventArgs {
25934 pub unsafe fn SenderOrigin(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
25935 unsafe {
25936 (windows_core::Interface::vtable(self).SenderOrigin)(
25937 windows_core::Interface::as_raw(self),
25938 value as _,
25939 )
25940 .ok()
25941 }
25942 }
25943 pub unsafe fn Notification(&self) -> windows_core::Result<ICoreWebView2Notification> {
25944 unsafe {
25945 let mut result__ = core::mem::zeroed();
25946 (windows_core::Interface::vtable(self).Notification)(
25947 windows_core::Interface::as_raw(self),
25948 &mut result__,
25949 )
25950 .and_then(|| windows_core::Type::from_abi(result__))
25951 }
25952 }
25953 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
25954 unsafe {
25955 (windows_core::Interface::vtable(self).SetHandled)(
25956 windows_core::Interface::as_raw(self),
25957 value.into(),
25958 )
25959 .ok()
25960 }
25961 }
25962 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
25963 unsafe {
25964 (windows_core::Interface::vtable(self).Handled)(
25965 windows_core::Interface::as_raw(self),
25966 value as _,
25967 )
25968 .ok()
25969 }
25970 }
25971 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
25972 unsafe {
25973 let mut result__ = core::mem::zeroed();
25974 (windows_core::Interface::vtable(self).GetDeferral)(
25975 windows_core::Interface::as_raw(self),
25976 &mut result__,
25977 )
25978 .and_then(|| windows_core::Type::from_abi(result__))
25979 }
25980 }
25981}
25982#[repr(C)]
25983#[doc(hidden)]
25984pub struct ICoreWebView2NotificationReceivedEventArgs_Vtbl {
25985 pub base__: windows_core::IUnknown_Vtbl,
25986 pub SenderOrigin: unsafe extern "system" fn(
25987 *mut core::ffi::c_void,
25988 *mut windows_core::PWSTR,
25989 ) -> windows_core::HRESULT,
25990 pub Notification: unsafe extern "system" fn(
25991 *mut core::ffi::c_void,
25992 *mut *mut core::ffi::c_void,
25993 ) -> windows_core::HRESULT,
25994 pub SetHandled: unsafe extern "system" fn(
25995 *mut core::ffi::c_void,
25996 windows_core::BOOL,
25997 ) -> windows_core::HRESULT,
25998 pub Handled: unsafe extern "system" fn(
25999 *mut core::ffi::c_void,
26000 *mut windows_core::BOOL,
26001 ) -> windows_core::HRESULT,
26002 pub GetDeferral: unsafe extern "system" fn(
26003 *mut core::ffi::c_void,
26004 *mut *mut core::ffi::c_void,
26005 ) -> windows_core::HRESULT,
26006}
26007pub trait ICoreWebView2NotificationReceivedEventArgs_Impl: windows_core::IUnknownImpl {
26008 fn SenderOrigin(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
26009 fn Notification(&self) -> windows_core::Result<ICoreWebView2Notification>;
26010 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
26011 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
26012 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
26013}
26014impl ICoreWebView2NotificationReceivedEventArgs_Vtbl {
26015 pub const fn new<
26016 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
26017 const OFFSET: isize,
26018 >() -> Self {
26019 unsafe extern "system" fn SenderOrigin<
26020 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
26021 const OFFSET: isize,
26022 >(
26023 this: *mut core::ffi::c_void,
26024 value: *mut windows_core::PWSTR,
26025 ) -> windows_core::HRESULT {
26026 unsafe {
26027 let this: &Identity =
26028 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26029 ICoreWebView2NotificationReceivedEventArgs_Impl::SenderOrigin(
26030 this,
26031 core::mem::transmute_copy(&value),
26032 )
26033 .into()
26034 }
26035 }
26036 unsafe extern "system" fn Notification<
26037 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
26038 const OFFSET: isize,
26039 >(
26040 this: *mut core::ffi::c_void,
26041 value: *mut *mut core::ffi::c_void,
26042 ) -> windows_core::HRESULT {
26043 unsafe {
26044 let this: &Identity =
26045 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26046 match ICoreWebView2NotificationReceivedEventArgs_Impl::Notification(this) {
26047 Ok(ok__) => {
26048 value.write(core::mem::transmute(ok__));
26049 windows_core::HRESULT(0)
26050 }
26051 Err(err) => err.into(),
26052 }
26053 }
26054 }
26055 unsafe extern "system" fn SetHandled<
26056 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
26057 const OFFSET: isize,
26058 >(
26059 this: *mut core::ffi::c_void,
26060 value: windows_core::BOOL,
26061 ) -> windows_core::HRESULT {
26062 unsafe {
26063 let this: &Identity =
26064 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26065 ICoreWebView2NotificationReceivedEventArgs_Impl::SetHandled(
26066 this,
26067 core::mem::transmute_copy(&value),
26068 )
26069 .into()
26070 }
26071 }
26072 unsafe extern "system" fn Handled<
26073 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
26074 const OFFSET: isize,
26075 >(
26076 this: *mut core::ffi::c_void,
26077 value: *mut windows_core::BOOL,
26078 ) -> windows_core::HRESULT {
26079 unsafe {
26080 let this: &Identity =
26081 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26082 ICoreWebView2NotificationReceivedEventArgs_Impl::Handled(
26083 this,
26084 core::mem::transmute_copy(&value),
26085 )
26086 .into()
26087 }
26088 }
26089 unsafe extern "system" fn GetDeferral<
26090 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
26091 const OFFSET: isize,
26092 >(
26093 this: *mut core::ffi::c_void,
26094 deferral: *mut *mut core::ffi::c_void,
26095 ) -> windows_core::HRESULT {
26096 unsafe {
26097 let this: &Identity =
26098 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26099 match ICoreWebView2NotificationReceivedEventArgs_Impl::GetDeferral(this) {
26100 Ok(ok__) => {
26101 deferral.write(core::mem::transmute(ok__));
26102 windows_core::HRESULT(0)
26103 }
26104 Err(err) => err.into(),
26105 }
26106 }
26107 }
26108 Self {
26109 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
26110 SenderOrigin: SenderOrigin::<Identity, OFFSET>,
26111 Notification: Notification::<Identity, OFFSET>,
26112 SetHandled: SetHandled::<Identity, OFFSET>,
26113 Handled: Handled::<Identity, OFFSET>,
26114 GetDeferral: GetDeferral::<Identity, OFFSET>,
26115 }
26116 }
26117 pub fn matches(iid: &windows_core::GUID) -> bool {
26118 iid == &<ICoreWebView2NotificationReceivedEventArgs as windows_core::Interface>::IID
26119 }
26120}
26121impl windows_core::RuntimeName for ICoreWebView2NotificationReceivedEventArgs {}
26122windows_core::imp::define_interface!(
26123 ICoreWebView2NotificationReceivedEventHandler,
26124 ICoreWebView2NotificationReceivedEventHandler_Vtbl,
26125 0x89c5d598_8788_423b_be97_e6e01c0f9ee3
26126);
26127windows_core::imp::interface_hierarchy!(
26128 ICoreWebView2NotificationReceivedEventHandler,
26129 windows_core::IUnknown
26130);
26131impl ICoreWebView2NotificationReceivedEventHandler {
26132 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
26133 where
26134 P0: windows_core::Param<ICoreWebView2>,
26135 P1: windows_core::Param<ICoreWebView2NotificationReceivedEventArgs>,
26136 {
26137 unsafe {
26138 (windows_core::Interface::vtable(self).Invoke)(
26139 windows_core::Interface::as_raw(self),
26140 sender.param().abi(),
26141 args.param().abi(),
26142 )
26143 .ok()
26144 }
26145 }
26146}
26147#[repr(C)]
26148#[doc(hidden)]
26149pub struct ICoreWebView2NotificationReceivedEventHandler_Vtbl {
26150 pub base__: windows_core::IUnknown_Vtbl,
26151 pub Invoke: unsafe extern "system" fn(
26152 *mut core::ffi::c_void,
26153 *mut core::ffi::c_void,
26154 *mut core::ffi::c_void,
26155 ) -> windows_core::HRESULT,
26156}
26157pub trait ICoreWebView2NotificationReceivedEventHandler_Impl: windows_core::IUnknownImpl {
26158 fn Invoke(
26159 &self,
26160 sender: windows_core::Ref<ICoreWebView2>,
26161 args: windows_core::Ref<ICoreWebView2NotificationReceivedEventArgs>,
26162 ) -> windows_core::Result<()>;
26163}
26164impl ICoreWebView2NotificationReceivedEventHandler_Vtbl {
26165 pub const fn new<
26166 Identity: ICoreWebView2NotificationReceivedEventHandler_Impl,
26167 const OFFSET: isize,
26168 >() -> Self {
26169 unsafe extern "system" fn Invoke<
26170 Identity: ICoreWebView2NotificationReceivedEventHandler_Impl,
26171 const OFFSET: isize,
26172 >(
26173 this: *mut core::ffi::c_void,
26174 sender: *mut core::ffi::c_void,
26175 args: *mut core::ffi::c_void,
26176 ) -> windows_core::HRESULT {
26177 unsafe {
26178 let this: &Identity =
26179 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26180 ICoreWebView2NotificationReceivedEventHandler_Impl::Invoke(
26181 this,
26182 core::mem::transmute_copy(&sender),
26183 core::mem::transmute_copy(&args),
26184 )
26185 .into()
26186 }
26187 }
26188 Self {
26189 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
26190 Invoke: Invoke::<Identity, OFFSET>,
26191 }
26192 }
26193 pub fn matches(iid: &windows_core::GUID) -> bool {
26194 iid == &<ICoreWebView2NotificationReceivedEventHandler as windows_core::Interface>::IID
26195 }
26196}
26197impl windows_core::RuntimeName for ICoreWebView2NotificationReceivedEventHandler {}
26198windows_core::imp::define_interface!(
26199 ICoreWebView2ObjectCollection,
26200 ICoreWebView2ObjectCollection_Vtbl,
26201 0x5cfec11c_25bd_4e8d_9e1a_7acdaeeec047
26202);
26203impl core::ops::Deref for ICoreWebView2ObjectCollection {
26204 type Target = ICoreWebView2ObjectCollectionView;
26205 fn deref(&self) -> &Self::Target {
26206 unsafe { core::mem::transmute(self) }
26207 }
26208}
26209windows_core::imp::interface_hierarchy!(
26210 ICoreWebView2ObjectCollection,
26211 windows_core::IUnknown,
26212 ICoreWebView2ObjectCollectionView
26213);
26214impl ICoreWebView2ObjectCollection {
26215 pub unsafe fn RemoveValueAtIndex(&self, index: u32) -> windows_core::Result<()> {
26216 unsafe {
26217 (windows_core::Interface::vtable(self).RemoveValueAtIndex)(
26218 windows_core::Interface::as_raw(self),
26219 index,
26220 )
26221 .ok()
26222 }
26223 }
26224 pub unsafe fn InsertValueAtIndex<P1>(&self, index: u32, value: P1) -> windows_core::Result<()>
26225 where
26226 P1: windows_core::Param<windows_core::IUnknown>,
26227 {
26228 unsafe {
26229 (windows_core::Interface::vtable(self).InsertValueAtIndex)(
26230 windows_core::Interface::as_raw(self),
26231 index,
26232 value.param().abi(),
26233 )
26234 .ok()
26235 }
26236 }
26237}
26238#[repr(C)]
26239#[doc(hidden)]
26240pub struct ICoreWebView2ObjectCollection_Vtbl {
26241 pub base__: ICoreWebView2ObjectCollectionView_Vtbl,
26242 pub RemoveValueAtIndex:
26243 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26244 pub InsertValueAtIndex: unsafe extern "system" fn(
26245 *mut core::ffi::c_void,
26246 u32,
26247 *mut core::ffi::c_void,
26248 ) -> windows_core::HRESULT,
26249}
26250pub trait ICoreWebView2ObjectCollection_Impl: ICoreWebView2ObjectCollectionView_Impl {
26251 fn RemoveValueAtIndex(&self, index: u32) -> windows_core::Result<()>;
26252 fn InsertValueAtIndex(
26253 &self,
26254 index: u32,
26255 value: windows_core::Ref<windows_core::IUnknown>,
26256 ) -> windows_core::Result<()>;
26257}
26258impl ICoreWebView2ObjectCollection_Vtbl {
26259 pub const fn new<Identity: ICoreWebView2ObjectCollection_Impl, const OFFSET: isize>() -> Self {
26260 unsafe extern "system" fn RemoveValueAtIndex<
26261 Identity: ICoreWebView2ObjectCollection_Impl,
26262 const OFFSET: isize,
26263 >(
26264 this: *mut core::ffi::c_void,
26265 index: u32,
26266 ) -> windows_core::HRESULT {
26267 unsafe {
26268 let this: &Identity =
26269 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26270 ICoreWebView2ObjectCollection_Impl::RemoveValueAtIndex(
26271 this,
26272 core::mem::transmute_copy(&index),
26273 )
26274 .into()
26275 }
26276 }
26277 unsafe extern "system" fn InsertValueAtIndex<
26278 Identity: ICoreWebView2ObjectCollection_Impl,
26279 const OFFSET: isize,
26280 >(
26281 this: *mut core::ffi::c_void,
26282 index: u32,
26283 value: *mut core::ffi::c_void,
26284 ) -> windows_core::HRESULT {
26285 unsafe {
26286 let this: &Identity =
26287 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26288 ICoreWebView2ObjectCollection_Impl::InsertValueAtIndex(
26289 this,
26290 core::mem::transmute_copy(&index),
26291 core::mem::transmute_copy(&value),
26292 )
26293 .into()
26294 }
26295 }
26296 Self {
26297 base__: ICoreWebView2ObjectCollectionView_Vtbl::new::<Identity, OFFSET>(),
26298 RemoveValueAtIndex: RemoveValueAtIndex::<Identity, OFFSET>,
26299 InsertValueAtIndex: InsertValueAtIndex::<Identity, OFFSET>,
26300 }
26301 }
26302 pub fn matches(iid: &windows_core::GUID) -> bool {
26303 iid == &<ICoreWebView2ObjectCollection as windows_core::Interface>::IID
26304 || iid == &<ICoreWebView2ObjectCollectionView as windows_core::Interface>::IID
26305 }
26306}
26307impl windows_core::RuntimeName for ICoreWebView2ObjectCollection {}
26308windows_core::imp::define_interface!(
26309 ICoreWebView2ObjectCollectionView,
26310 ICoreWebView2ObjectCollectionView_Vtbl,
26311 0x0f36fd87_4f69_4415_98da_888f89fb9a33
26312);
26313windows_core::imp::interface_hierarchy!(ICoreWebView2ObjectCollectionView, windows_core::IUnknown);
26314impl ICoreWebView2ObjectCollectionView {
26315 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
26316 unsafe {
26317 (windows_core::Interface::vtable(self).Count)(
26318 windows_core::Interface::as_raw(self),
26319 value as _,
26320 )
26321 .ok()
26322 }
26323 }
26324 pub unsafe fn GetValueAtIndex(
26325 &self,
26326 index: u32,
26327 ) -> windows_core::Result<windows_core::IUnknown> {
26328 unsafe {
26329 let mut result__ = core::mem::zeroed();
26330 (windows_core::Interface::vtable(self).GetValueAtIndex)(
26331 windows_core::Interface::as_raw(self),
26332 index,
26333 &mut result__,
26334 )
26335 .and_then(|| windows_core::Type::from_abi(result__))
26336 }
26337 }
26338}
26339#[repr(C)]
26340#[doc(hidden)]
26341pub struct ICoreWebView2ObjectCollectionView_Vtbl {
26342 pub base__: windows_core::IUnknown_Vtbl,
26343 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26344 pub GetValueAtIndex: unsafe extern "system" fn(
26345 *mut core::ffi::c_void,
26346 u32,
26347 *mut *mut core::ffi::c_void,
26348 ) -> windows_core::HRESULT,
26349}
26350pub trait ICoreWebView2ObjectCollectionView_Impl: windows_core::IUnknownImpl {
26351 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
26352 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<windows_core::IUnknown>;
26353}
26354impl ICoreWebView2ObjectCollectionView_Vtbl {
26355 pub const fn new<Identity: ICoreWebView2ObjectCollectionView_Impl, const OFFSET: isize>() -> Self
26356 {
26357 unsafe extern "system" fn Count<
26358 Identity: ICoreWebView2ObjectCollectionView_Impl,
26359 const OFFSET: isize,
26360 >(
26361 this: *mut core::ffi::c_void,
26362 value: *mut u32,
26363 ) -> windows_core::HRESULT {
26364 unsafe {
26365 let this: &Identity =
26366 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26367 ICoreWebView2ObjectCollectionView_Impl::Count(
26368 this,
26369 core::mem::transmute_copy(&value),
26370 )
26371 .into()
26372 }
26373 }
26374 unsafe extern "system" fn GetValueAtIndex<
26375 Identity: ICoreWebView2ObjectCollectionView_Impl,
26376 const OFFSET: isize,
26377 >(
26378 this: *mut core::ffi::c_void,
26379 index: u32,
26380 value: *mut *mut core::ffi::c_void,
26381 ) -> windows_core::HRESULT {
26382 unsafe {
26383 let this: &Identity =
26384 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26385 match ICoreWebView2ObjectCollectionView_Impl::GetValueAtIndex(
26386 this,
26387 core::mem::transmute_copy(&index),
26388 ) {
26389 Ok(ok__) => {
26390 value.write(core::mem::transmute(ok__));
26391 windows_core::HRESULT(0)
26392 }
26393 Err(err) => err.into(),
26394 }
26395 }
26396 }
26397 Self {
26398 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
26399 Count: Count::<Identity, OFFSET>,
26400 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
26401 }
26402 }
26403 pub fn matches(iid: &windows_core::GUID) -> bool {
26404 iid == &<ICoreWebView2ObjectCollectionView as windows_core::Interface>::IID
26405 }
26406}
26407impl windows_core::RuntimeName for ICoreWebView2ObjectCollectionView {}
26408windows_core::imp::define_interface!(
26409 ICoreWebView2PermissionRequestedEventArgs,
26410 ICoreWebView2PermissionRequestedEventArgs_Vtbl,
26411 0x973ae2ef_ff18_4894_8fb2_3c758f046810
26412);
26413windows_core::imp::interface_hierarchy!(
26414 ICoreWebView2PermissionRequestedEventArgs,
26415 windows_core::IUnknown
26416);
26417impl ICoreWebView2PermissionRequestedEventArgs {
26418 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
26419 unsafe {
26420 (windows_core::Interface::vtable(self).Uri)(
26421 windows_core::Interface::as_raw(self),
26422 uri as _,
26423 )
26424 .ok()
26425 }
26426 }
26427 pub unsafe fn PermissionKind(
26428 &self,
26429 permissionkind: *mut COREWEBVIEW2_PERMISSION_KIND,
26430 ) -> windows_core::Result<()> {
26431 unsafe {
26432 (windows_core::Interface::vtable(self).PermissionKind)(
26433 windows_core::Interface::as_raw(self),
26434 permissionkind as _,
26435 )
26436 .ok()
26437 }
26438 }
26439 pub unsafe fn IsUserInitiated(
26440 &self,
26441 isuserinitiated: *mut windows_core::BOOL,
26442 ) -> windows_core::Result<()> {
26443 unsafe {
26444 (windows_core::Interface::vtable(self).IsUserInitiated)(
26445 windows_core::Interface::as_raw(self),
26446 isuserinitiated as _,
26447 )
26448 .ok()
26449 }
26450 }
26451 pub unsafe fn State(
26452 &self,
26453 state: *mut COREWEBVIEW2_PERMISSION_STATE,
26454 ) -> windows_core::Result<()> {
26455 unsafe {
26456 (windows_core::Interface::vtable(self).State)(
26457 windows_core::Interface::as_raw(self),
26458 state as _,
26459 )
26460 .ok()
26461 }
26462 }
26463 pub unsafe fn SetState(
26464 &self,
26465 state: COREWEBVIEW2_PERMISSION_STATE,
26466 ) -> windows_core::Result<()> {
26467 unsafe {
26468 (windows_core::Interface::vtable(self).SetState)(
26469 windows_core::Interface::as_raw(self),
26470 state,
26471 )
26472 .ok()
26473 }
26474 }
26475 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
26476 unsafe {
26477 let mut result__ = core::mem::zeroed();
26478 (windows_core::Interface::vtable(self).GetDeferral)(
26479 windows_core::Interface::as_raw(self),
26480 &mut result__,
26481 )
26482 .and_then(|| windows_core::Type::from_abi(result__))
26483 }
26484 }
26485}
26486#[repr(C)]
26487#[doc(hidden)]
26488pub struct ICoreWebView2PermissionRequestedEventArgs_Vtbl {
26489 pub base__: windows_core::IUnknown_Vtbl,
26490 pub Uri: unsafe extern "system" fn(
26491 *mut core::ffi::c_void,
26492 *mut windows_core::PWSTR,
26493 ) -> windows_core::HRESULT,
26494 pub PermissionKind: unsafe extern "system" fn(
26495 *mut core::ffi::c_void,
26496 *mut COREWEBVIEW2_PERMISSION_KIND,
26497 ) -> windows_core::HRESULT,
26498 pub IsUserInitiated: unsafe extern "system" fn(
26499 *mut core::ffi::c_void,
26500 *mut windows_core::BOOL,
26501 ) -> windows_core::HRESULT,
26502 pub State: unsafe extern "system" fn(
26503 *mut core::ffi::c_void,
26504 *mut COREWEBVIEW2_PERMISSION_STATE,
26505 ) -> windows_core::HRESULT,
26506 pub SetState: unsafe extern "system" fn(
26507 *mut core::ffi::c_void,
26508 COREWEBVIEW2_PERMISSION_STATE,
26509 ) -> windows_core::HRESULT,
26510 pub GetDeferral: unsafe extern "system" fn(
26511 *mut core::ffi::c_void,
26512 *mut *mut core::ffi::c_void,
26513 ) -> windows_core::HRESULT,
26514}
26515pub trait ICoreWebView2PermissionRequestedEventArgs_Impl: windows_core::IUnknownImpl {
26516 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
26517 fn PermissionKind(
26518 &self,
26519 permissionkind: *mut COREWEBVIEW2_PERMISSION_KIND,
26520 ) -> windows_core::Result<()>;
26521 fn IsUserInitiated(&self, isuserinitiated: *mut windows_core::BOOL)
26522 -> windows_core::Result<()>;
26523 fn State(&self, state: *mut COREWEBVIEW2_PERMISSION_STATE) -> windows_core::Result<()>;
26524 fn SetState(&self, state: COREWEBVIEW2_PERMISSION_STATE) -> windows_core::Result<()>;
26525 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
26526}
26527impl ICoreWebView2PermissionRequestedEventArgs_Vtbl {
26528 pub const fn new<
26529 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
26530 const OFFSET: isize,
26531 >() -> Self {
26532 unsafe extern "system" fn Uri<
26533 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
26534 const OFFSET: isize,
26535 >(
26536 this: *mut core::ffi::c_void,
26537 uri: *mut windows_core::PWSTR,
26538 ) -> windows_core::HRESULT {
26539 unsafe {
26540 let this: &Identity =
26541 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26542 ICoreWebView2PermissionRequestedEventArgs_Impl::Uri(
26543 this,
26544 core::mem::transmute_copy(&uri),
26545 )
26546 .into()
26547 }
26548 }
26549 unsafe extern "system" fn PermissionKind<
26550 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
26551 const OFFSET: isize,
26552 >(
26553 this: *mut core::ffi::c_void,
26554 permissionkind: *mut COREWEBVIEW2_PERMISSION_KIND,
26555 ) -> windows_core::HRESULT {
26556 unsafe {
26557 let this: &Identity =
26558 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26559 ICoreWebView2PermissionRequestedEventArgs_Impl::PermissionKind(
26560 this,
26561 core::mem::transmute_copy(&permissionkind),
26562 )
26563 .into()
26564 }
26565 }
26566 unsafe extern "system" fn IsUserInitiated<
26567 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
26568 const OFFSET: isize,
26569 >(
26570 this: *mut core::ffi::c_void,
26571 isuserinitiated: *mut windows_core::BOOL,
26572 ) -> windows_core::HRESULT {
26573 unsafe {
26574 let this: &Identity =
26575 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26576 ICoreWebView2PermissionRequestedEventArgs_Impl::IsUserInitiated(
26577 this,
26578 core::mem::transmute_copy(&isuserinitiated),
26579 )
26580 .into()
26581 }
26582 }
26583 unsafe extern "system" fn State<
26584 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
26585 const OFFSET: isize,
26586 >(
26587 this: *mut core::ffi::c_void,
26588 state: *mut COREWEBVIEW2_PERMISSION_STATE,
26589 ) -> windows_core::HRESULT {
26590 unsafe {
26591 let this: &Identity =
26592 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26593 ICoreWebView2PermissionRequestedEventArgs_Impl::State(
26594 this,
26595 core::mem::transmute_copy(&state),
26596 )
26597 .into()
26598 }
26599 }
26600 unsafe extern "system" fn SetState<
26601 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
26602 const OFFSET: isize,
26603 >(
26604 this: *mut core::ffi::c_void,
26605 state: COREWEBVIEW2_PERMISSION_STATE,
26606 ) -> windows_core::HRESULT {
26607 unsafe {
26608 let this: &Identity =
26609 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26610 ICoreWebView2PermissionRequestedEventArgs_Impl::SetState(
26611 this,
26612 core::mem::transmute_copy(&state),
26613 )
26614 .into()
26615 }
26616 }
26617 unsafe extern "system" fn GetDeferral<
26618 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
26619 const OFFSET: isize,
26620 >(
26621 this: *mut core::ffi::c_void,
26622 deferral: *mut *mut core::ffi::c_void,
26623 ) -> windows_core::HRESULT {
26624 unsafe {
26625 let this: &Identity =
26626 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26627 match ICoreWebView2PermissionRequestedEventArgs_Impl::GetDeferral(this) {
26628 Ok(ok__) => {
26629 deferral.write(core::mem::transmute(ok__));
26630 windows_core::HRESULT(0)
26631 }
26632 Err(err) => err.into(),
26633 }
26634 }
26635 }
26636 Self {
26637 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
26638 Uri: Uri::<Identity, OFFSET>,
26639 PermissionKind: PermissionKind::<Identity, OFFSET>,
26640 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
26641 State: State::<Identity, OFFSET>,
26642 SetState: SetState::<Identity, OFFSET>,
26643 GetDeferral: GetDeferral::<Identity, OFFSET>,
26644 }
26645 }
26646 pub fn matches(iid: &windows_core::GUID) -> bool {
26647 iid == &<ICoreWebView2PermissionRequestedEventArgs as windows_core::Interface>::IID
26648 }
26649}
26650impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventArgs {}
26651windows_core::imp::define_interface!(
26652 ICoreWebView2PermissionRequestedEventArgs2,
26653 ICoreWebView2PermissionRequestedEventArgs2_Vtbl,
26654 0x74d7127f_9de6_4200_8734_42d6fb4ff741
26655);
26656impl core::ops::Deref for ICoreWebView2PermissionRequestedEventArgs2 {
26657 type Target = ICoreWebView2PermissionRequestedEventArgs;
26658 fn deref(&self) -> &Self::Target {
26659 unsafe { core::mem::transmute(self) }
26660 }
26661}
26662windows_core::imp::interface_hierarchy!(
26663 ICoreWebView2PermissionRequestedEventArgs2,
26664 windows_core::IUnknown,
26665 ICoreWebView2PermissionRequestedEventArgs
26666);
26667impl ICoreWebView2PermissionRequestedEventArgs2 {
26668 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
26669 unsafe {
26670 (windows_core::Interface::vtable(self).Handled)(
26671 windows_core::Interface::as_raw(self),
26672 value as _,
26673 )
26674 .ok()
26675 }
26676 }
26677 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
26678 unsafe {
26679 (windows_core::Interface::vtable(self).SetHandled)(
26680 windows_core::Interface::as_raw(self),
26681 value.into(),
26682 )
26683 .ok()
26684 }
26685 }
26686}
26687#[repr(C)]
26688#[doc(hidden)]
26689pub struct ICoreWebView2PermissionRequestedEventArgs2_Vtbl {
26690 pub base__: ICoreWebView2PermissionRequestedEventArgs_Vtbl,
26691 pub Handled: unsafe extern "system" fn(
26692 *mut core::ffi::c_void,
26693 *mut windows_core::BOOL,
26694 ) -> windows_core::HRESULT,
26695 pub SetHandled: unsafe extern "system" fn(
26696 *mut core::ffi::c_void,
26697 windows_core::BOOL,
26698 ) -> windows_core::HRESULT,
26699}
26700pub trait ICoreWebView2PermissionRequestedEventArgs2_Impl:
26701 ICoreWebView2PermissionRequestedEventArgs_Impl
26702{
26703 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
26704 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
26705}
26706impl ICoreWebView2PermissionRequestedEventArgs2_Vtbl {
26707 pub const fn new<
26708 Identity: ICoreWebView2PermissionRequestedEventArgs2_Impl,
26709 const OFFSET: isize,
26710 >() -> Self {
26711 unsafe extern "system" fn Handled<
26712 Identity: ICoreWebView2PermissionRequestedEventArgs2_Impl,
26713 const OFFSET: isize,
26714 >(
26715 this: *mut core::ffi::c_void,
26716 value: *mut windows_core::BOOL,
26717 ) -> windows_core::HRESULT {
26718 unsafe {
26719 let this: &Identity =
26720 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26721 ICoreWebView2PermissionRequestedEventArgs2_Impl::Handled(
26722 this,
26723 core::mem::transmute_copy(&value),
26724 )
26725 .into()
26726 }
26727 }
26728 unsafe extern "system" fn SetHandled<
26729 Identity: ICoreWebView2PermissionRequestedEventArgs2_Impl,
26730 const OFFSET: isize,
26731 >(
26732 this: *mut core::ffi::c_void,
26733 value: windows_core::BOOL,
26734 ) -> windows_core::HRESULT {
26735 unsafe {
26736 let this: &Identity =
26737 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26738 ICoreWebView2PermissionRequestedEventArgs2_Impl::SetHandled(
26739 this,
26740 core::mem::transmute_copy(&value),
26741 )
26742 .into()
26743 }
26744 }
26745 Self {
26746 base__: ICoreWebView2PermissionRequestedEventArgs_Vtbl::new::<Identity, OFFSET>(),
26747 Handled: Handled::<Identity, OFFSET>,
26748 SetHandled: SetHandled::<Identity, OFFSET>,
26749 }
26750 }
26751 pub fn matches(iid: &windows_core::GUID) -> bool {
26752 iid == &<ICoreWebView2PermissionRequestedEventArgs2 as windows_core::Interface>::IID
26753 || iid == &<ICoreWebView2PermissionRequestedEventArgs as windows_core::Interface>::IID
26754 }
26755}
26756impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventArgs2 {}
26757windows_core::imp::define_interface!(
26758 ICoreWebView2PermissionRequestedEventArgs3,
26759 ICoreWebView2PermissionRequestedEventArgs3_Vtbl,
26760 0xe61670bc_3dce_4177_86d2_c629ae3cb6ac
26761);
26762impl core::ops::Deref for ICoreWebView2PermissionRequestedEventArgs3 {
26763 type Target = ICoreWebView2PermissionRequestedEventArgs2;
26764 fn deref(&self) -> &Self::Target {
26765 unsafe { core::mem::transmute(self) }
26766 }
26767}
26768windows_core::imp::interface_hierarchy!(
26769 ICoreWebView2PermissionRequestedEventArgs3,
26770 windows_core::IUnknown,
26771 ICoreWebView2PermissionRequestedEventArgs,
26772 ICoreWebView2PermissionRequestedEventArgs2
26773);
26774impl ICoreWebView2PermissionRequestedEventArgs3 {
26775 pub unsafe fn SavesInProfile(
26776 &self,
26777 value: *mut windows_core::BOOL,
26778 ) -> windows_core::Result<()> {
26779 unsafe {
26780 (windows_core::Interface::vtable(self).SavesInProfile)(
26781 windows_core::Interface::as_raw(self),
26782 value as _,
26783 )
26784 .ok()
26785 }
26786 }
26787 pub unsafe fn SetSavesInProfile(&self, value: bool) -> windows_core::Result<()> {
26788 unsafe {
26789 (windows_core::Interface::vtable(self).SetSavesInProfile)(
26790 windows_core::Interface::as_raw(self),
26791 value.into(),
26792 )
26793 .ok()
26794 }
26795 }
26796}
26797#[repr(C)]
26798#[doc(hidden)]
26799pub struct ICoreWebView2PermissionRequestedEventArgs3_Vtbl {
26800 pub base__: ICoreWebView2PermissionRequestedEventArgs2_Vtbl,
26801 pub SavesInProfile: unsafe extern "system" fn(
26802 *mut core::ffi::c_void,
26803 *mut windows_core::BOOL,
26804 ) -> windows_core::HRESULT,
26805 pub SetSavesInProfile: unsafe extern "system" fn(
26806 *mut core::ffi::c_void,
26807 windows_core::BOOL,
26808 ) -> windows_core::HRESULT,
26809}
26810pub trait ICoreWebView2PermissionRequestedEventArgs3_Impl:
26811 ICoreWebView2PermissionRequestedEventArgs2_Impl
26812{
26813 fn SavesInProfile(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
26814 fn SetSavesInProfile(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
26815}
26816impl ICoreWebView2PermissionRequestedEventArgs3_Vtbl {
26817 pub const fn new<
26818 Identity: ICoreWebView2PermissionRequestedEventArgs3_Impl,
26819 const OFFSET: isize,
26820 >() -> Self {
26821 unsafe extern "system" fn SavesInProfile<
26822 Identity: ICoreWebView2PermissionRequestedEventArgs3_Impl,
26823 const OFFSET: isize,
26824 >(
26825 this: *mut core::ffi::c_void,
26826 value: *mut windows_core::BOOL,
26827 ) -> windows_core::HRESULT {
26828 unsafe {
26829 let this: &Identity =
26830 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26831 ICoreWebView2PermissionRequestedEventArgs3_Impl::SavesInProfile(
26832 this,
26833 core::mem::transmute_copy(&value),
26834 )
26835 .into()
26836 }
26837 }
26838 unsafe extern "system" fn SetSavesInProfile<
26839 Identity: ICoreWebView2PermissionRequestedEventArgs3_Impl,
26840 const OFFSET: isize,
26841 >(
26842 this: *mut core::ffi::c_void,
26843 value: windows_core::BOOL,
26844 ) -> windows_core::HRESULT {
26845 unsafe {
26846 let this: &Identity =
26847 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26848 ICoreWebView2PermissionRequestedEventArgs3_Impl::SetSavesInProfile(
26849 this,
26850 core::mem::transmute_copy(&value),
26851 )
26852 .into()
26853 }
26854 }
26855 Self {
26856 base__: ICoreWebView2PermissionRequestedEventArgs2_Vtbl::new::<Identity, OFFSET>(),
26857 SavesInProfile: SavesInProfile::<Identity, OFFSET>,
26858 SetSavesInProfile: SetSavesInProfile::<Identity, OFFSET>,
26859 }
26860 }
26861 pub fn matches(iid: &windows_core::GUID) -> bool {
26862 iid == &<ICoreWebView2PermissionRequestedEventArgs3 as windows_core::Interface>::IID
26863 || iid == &<ICoreWebView2PermissionRequestedEventArgs as windows_core::Interface>::IID
26864 || iid == &<ICoreWebView2PermissionRequestedEventArgs2 as windows_core::Interface>::IID
26865 }
26866}
26867impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventArgs3 {}
26868windows_core::imp::define_interface!(
26869 ICoreWebView2PermissionRequestedEventHandler,
26870 ICoreWebView2PermissionRequestedEventHandler_Vtbl,
26871 0x15e1c6a3_c72a_4df3_91d7_d097fbec6bfd
26872);
26873windows_core::imp::interface_hierarchy!(
26874 ICoreWebView2PermissionRequestedEventHandler,
26875 windows_core::IUnknown
26876);
26877impl ICoreWebView2PermissionRequestedEventHandler {
26878 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
26879 where
26880 P0: windows_core::Param<ICoreWebView2>,
26881 P1: windows_core::Param<ICoreWebView2PermissionRequestedEventArgs>,
26882 {
26883 unsafe {
26884 (windows_core::Interface::vtable(self).Invoke)(
26885 windows_core::Interface::as_raw(self),
26886 sender.param().abi(),
26887 args.param().abi(),
26888 )
26889 .ok()
26890 }
26891 }
26892}
26893#[repr(C)]
26894#[doc(hidden)]
26895pub struct ICoreWebView2PermissionRequestedEventHandler_Vtbl {
26896 pub base__: windows_core::IUnknown_Vtbl,
26897 pub Invoke: unsafe extern "system" fn(
26898 *mut core::ffi::c_void,
26899 *mut core::ffi::c_void,
26900 *mut core::ffi::c_void,
26901 ) -> windows_core::HRESULT,
26902}
26903pub trait ICoreWebView2PermissionRequestedEventHandler_Impl: windows_core::IUnknownImpl {
26904 fn Invoke(
26905 &self,
26906 sender: windows_core::Ref<ICoreWebView2>,
26907 args: windows_core::Ref<ICoreWebView2PermissionRequestedEventArgs>,
26908 ) -> windows_core::Result<()>;
26909}
26910impl ICoreWebView2PermissionRequestedEventHandler_Vtbl {
26911 pub const fn new<
26912 Identity: ICoreWebView2PermissionRequestedEventHandler_Impl,
26913 const OFFSET: isize,
26914 >() -> Self {
26915 unsafe extern "system" fn Invoke<
26916 Identity: ICoreWebView2PermissionRequestedEventHandler_Impl,
26917 const OFFSET: isize,
26918 >(
26919 this: *mut core::ffi::c_void,
26920 sender: *mut core::ffi::c_void,
26921 args: *mut core::ffi::c_void,
26922 ) -> windows_core::HRESULT {
26923 unsafe {
26924 let this: &Identity =
26925 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26926 ICoreWebView2PermissionRequestedEventHandler_Impl::Invoke(
26927 this,
26928 core::mem::transmute_copy(&sender),
26929 core::mem::transmute_copy(&args),
26930 )
26931 .into()
26932 }
26933 }
26934 Self {
26935 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
26936 Invoke: Invoke::<Identity, OFFSET>,
26937 }
26938 }
26939 pub fn matches(iid: &windows_core::GUID) -> bool {
26940 iid == &<ICoreWebView2PermissionRequestedEventHandler as windows_core::Interface>::IID
26941 }
26942}
26943impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventHandler {}
26944windows_core::imp::define_interface!(
26945 ICoreWebView2PermissionSetting,
26946 ICoreWebView2PermissionSetting_Vtbl,
26947 0x792b6eca_5576_421c_9119_74ebb3a4ffb3
26948);
26949windows_core::imp::interface_hierarchy!(ICoreWebView2PermissionSetting, windows_core::IUnknown);
26950impl ICoreWebView2PermissionSetting {
26951 pub unsafe fn PermissionKind(
26952 &self,
26953 value: *mut COREWEBVIEW2_PERMISSION_KIND,
26954 ) -> windows_core::Result<()> {
26955 unsafe {
26956 (windows_core::Interface::vtable(self).PermissionKind)(
26957 windows_core::Interface::as_raw(self),
26958 value as _,
26959 )
26960 .ok()
26961 }
26962 }
26963 pub unsafe fn PermissionOrigin(
26964 &self,
26965 value: *mut windows_core::PWSTR,
26966 ) -> windows_core::Result<()> {
26967 unsafe {
26968 (windows_core::Interface::vtable(self).PermissionOrigin)(
26969 windows_core::Interface::as_raw(self),
26970 value as _,
26971 )
26972 .ok()
26973 }
26974 }
26975 pub unsafe fn PermissionState(
26976 &self,
26977 value: *mut COREWEBVIEW2_PERMISSION_STATE,
26978 ) -> windows_core::Result<()> {
26979 unsafe {
26980 (windows_core::Interface::vtable(self).PermissionState)(
26981 windows_core::Interface::as_raw(self),
26982 value as _,
26983 )
26984 .ok()
26985 }
26986 }
26987}
26988#[repr(C)]
26989#[doc(hidden)]
26990pub struct ICoreWebView2PermissionSetting_Vtbl {
26991 pub base__: windows_core::IUnknown_Vtbl,
26992 pub PermissionKind: unsafe extern "system" fn(
26993 *mut core::ffi::c_void,
26994 *mut COREWEBVIEW2_PERMISSION_KIND,
26995 ) -> windows_core::HRESULT,
26996 pub PermissionOrigin: unsafe extern "system" fn(
26997 *mut core::ffi::c_void,
26998 *mut windows_core::PWSTR,
26999 ) -> windows_core::HRESULT,
27000 pub PermissionState: unsafe extern "system" fn(
27001 *mut core::ffi::c_void,
27002 *mut COREWEBVIEW2_PERMISSION_STATE,
27003 ) -> windows_core::HRESULT,
27004}
27005pub trait ICoreWebView2PermissionSetting_Impl: windows_core::IUnknownImpl {
27006 fn PermissionKind(&self, value: *mut COREWEBVIEW2_PERMISSION_KIND) -> windows_core::Result<()>;
27007 fn PermissionOrigin(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
27008 fn PermissionState(
27009 &self,
27010 value: *mut COREWEBVIEW2_PERMISSION_STATE,
27011 ) -> windows_core::Result<()>;
27012}
27013impl ICoreWebView2PermissionSetting_Vtbl {
27014 pub const fn new<Identity: ICoreWebView2PermissionSetting_Impl, const OFFSET: isize>() -> Self {
27015 unsafe extern "system" fn PermissionKind<
27016 Identity: ICoreWebView2PermissionSetting_Impl,
27017 const OFFSET: isize,
27018 >(
27019 this: *mut core::ffi::c_void,
27020 value: *mut COREWEBVIEW2_PERMISSION_KIND,
27021 ) -> windows_core::HRESULT {
27022 unsafe {
27023 let this: &Identity =
27024 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27025 ICoreWebView2PermissionSetting_Impl::PermissionKind(
27026 this,
27027 core::mem::transmute_copy(&value),
27028 )
27029 .into()
27030 }
27031 }
27032 unsafe extern "system" fn PermissionOrigin<
27033 Identity: ICoreWebView2PermissionSetting_Impl,
27034 const OFFSET: isize,
27035 >(
27036 this: *mut core::ffi::c_void,
27037 value: *mut windows_core::PWSTR,
27038 ) -> windows_core::HRESULT {
27039 unsafe {
27040 let this: &Identity =
27041 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27042 ICoreWebView2PermissionSetting_Impl::PermissionOrigin(
27043 this,
27044 core::mem::transmute_copy(&value),
27045 )
27046 .into()
27047 }
27048 }
27049 unsafe extern "system" fn PermissionState<
27050 Identity: ICoreWebView2PermissionSetting_Impl,
27051 const OFFSET: isize,
27052 >(
27053 this: *mut core::ffi::c_void,
27054 value: *mut COREWEBVIEW2_PERMISSION_STATE,
27055 ) -> windows_core::HRESULT {
27056 unsafe {
27057 let this: &Identity =
27058 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27059 ICoreWebView2PermissionSetting_Impl::PermissionState(
27060 this,
27061 core::mem::transmute_copy(&value),
27062 )
27063 .into()
27064 }
27065 }
27066 Self {
27067 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
27068 PermissionKind: PermissionKind::<Identity, OFFSET>,
27069 PermissionOrigin: PermissionOrigin::<Identity, OFFSET>,
27070 PermissionState: PermissionState::<Identity, OFFSET>,
27071 }
27072 }
27073 pub fn matches(iid: &windows_core::GUID) -> bool {
27074 iid == &<ICoreWebView2PermissionSetting as windows_core::Interface>::IID
27075 }
27076}
27077impl windows_core::RuntimeName for ICoreWebView2PermissionSetting {}
27078windows_core::imp::define_interface!(
27079 ICoreWebView2PermissionSettingCollectionView,
27080 ICoreWebView2PermissionSettingCollectionView_Vtbl,
27081 0xf5596f62_3de5_47b1_91e8_a4104b596b96
27082);
27083windows_core::imp::interface_hierarchy!(
27084 ICoreWebView2PermissionSettingCollectionView,
27085 windows_core::IUnknown
27086);
27087impl ICoreWebView2PermissionSettingCollectionView {
27088 pub unsafe fn GetValueAtIndex(
27089 &self,
27090 index: u32,
27091 ) -> windows_core::Result<ICoreWebView2PermissionSetting> {
27092 unsafe {
27093 let mut result__ = core::mem::zeroed();
27094 (windows_core::Interface::vtable(self).GetValueAtIndex)(
27095 windows_core::Interface::as_raw(self),
27096 index,
27097 &mut result__,
27098 )
27099 .and_then(|| windows_core::Type::from_abi(result__))
27100 }
27101 }
27102 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
27103 unsafe {
27104 (windows_core::Interface::vtable(self).Count)(
27105 windows_core::Interface::as_raw(self),
27106 value as _,
27107 )
27108 .ok()
27109 }
27110 }
27111}
27112#[repr(C)]
27113#[doc(hidden)]
27114pub struct ICoreWebView2PermissionSettingCollectionView_Vtbl {
27115 pub base__: windows_core::IUnknown_Vtbl,
27116 pub GetValueAtIndex: unsafe extern "system" fn(
27117 *mut core::ffi::c_void,
27118 u32,
27119 *mut *mut core::ffi::c_void,
27120 ) -> windows_core::HRESULT,
27121 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27122}
27123pub trait ICoreWebView2PermissionSettingCollectionView_Impl: windows_core::IUnknownImpl {
27124 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2PermissionSetting>;
27125 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
27126}
27127impl ICoreWebView2PermissionSettingCollectionView_Vtbl {
27128 pub const fn new<
27129 Identity: ICoreWebView2PermissionSettingCollectionView_Impl,
27130 const OFFSET: isize,
27131 >() -> Self {
27132 unsafe extern "system" fn GetValueAtIndex<
27133 Identity: ICoreWebView2PermissionSettingCollectionView_Impl,
27134 const OFFSET: isize,
27135 >(
27136 this: *mut core::ffi::c_void,
27137 index: u32,
27138 permissionsetting: *mut *mut core::ffi::c_void,
27139 ) -> windows_core::HRESULT {
27140 unsafe {
27141 let this: &Identity =
27142 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27143 match ICoreWebView2PermissionSettingCollectionView_Impl::GetValueAtIndex(
27144 this,
27145 core::mem::transmute_copy(&index),
27146 ) {
27147 Ok(ok__) => {
27148 permissionsetting.write(core::mem::transmute(ok__));
27149 windows_core::HRESULT(0)
27150 }
27151 Err(err) => err.into(),
27152 }
27153 }
27154 }
27155 unsafe extern "system" fn Count<
27156 Identity: ICoreWebView2PermissionSettingCollectionView_Impl,
27157 const OFFSET: isize,
27158 >(
27159 this: *mut core::ffi::c_void,
27160 value: *mut u32,
27161 ) -> windows_core::HRESULT {
27162 unsafe {
27163 let this: &Identity =
27164 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27165 ICoreWebView2PermissionSettingCollectionView_Impl::Count(
27166 this,
27167 core::mem::transmute_copy(&value),
27168 )
27169 .into()
27170 }
27171 }
27172 Self {
27173 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
27174 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
27175 Count: Count::<Identity, OFFSET>,
27176 }
27177 }
27178 pub fn matches(iid: &windows_core::GUID) -> bool {
27179 iid == &<ICoreWebView2PermissionSettingCollectionView as windows_core::Interface>::IID
27180 }
27181}
27182impl windows_core::RuntimeName for ICoreWebView2PermissionSettingCollectionView {}
27183windows_core::imp::define_interface!(
27184 ICoreWebView2PointerInfo,
27185 ICoreWebView2PointerInfo_Vtbl,
27186 0xe6995887_d10d_4f5d_9359_4ce46e4f96b9
27187);
27188windows_core::imp::interface_hierarchy!(ICoreWebView2PointerInfo, windows_core::IUnknown);
27189impl ICoreWebView2PointerInfo {
27190 pub unsafe fn PointerKind(&self, pointerkind: *mut u32) -> windows_core::Result<()> {
27191 unsafe {
27192 (windows_core::Interface::vtable(self).PointerKind)(
27193 windows_core::Interface::as_raw(self),
27194 pointerkind as _,
27195 )
27196 .ok()
27197 }
27198 }
27199 pub unsafe fn SetPointerKind(&self, pointerkind: u32) -> windows_core::Result<()> {
27200 unsafe {
27201 (windows_core::Interface::vtable(self).SetPointerKind)(
27202 windows_core::Interface::as_raw(self),
27203 pointerkind,
27204 )
27205 .ok()
27206 }
27207 }
27208 pub unsafe fn PointerId(&self, pointerid: *mut u32) -> windows_core::Result<()> {
27209 unsafe {
27210 (windows_core::Interface::vtable(self).PointerId)(
27211 windows_core::Interface::as_raw(self),
27212 pointerid as _,
27213 )
27214 .ok()
27215 }
27216 }
27217 pub unsafe fn SetPointerId(&self, pointerid: u32) -> windows_core::Result<()> {
27218 unsafe {
27219 (windows_core::Interface::vtable(self).SetPointerId)(
27220 windows_core::Interface::as_raw(self),
27221 pointerid,
27222 )
27223 .ok()
27224 }
27225 }
27226 pub unsafe fn FrameId(&self, frameid: *mut u32) -> windows_core::Result<()> {
27227 unsafe {
27228 (windows_core::Interface::vtable(self).FrameId)(
27229 windows_core::Interface::as_raw(self),
27230 frameid as _,
27231 )
27232 .ok()
27233 }
27234 }
27235 pub unsafe fn SetFrameId(&self, frameid: u32) -> windows_core::Result<()> {
27236 unsafe {
27237 (windows_core::Interface::vtable(self).SetFrameId)(
27238 windows_core::Interface::as_raw(self),
27239 frameid,
27240 )
27241 .ok()
27242 }
27243 }
27244 pub unsafe fn PointerFlags(&self, pointerflags: *mut u32) -> windows_core::Result<()> {
27245 unsafe {
27246 (windows_core::Interface::vtable(self).PointerFlags)(
27247 windows_core::Interface::as_raw(self),
27248 pointerflags as _,
27249 )
27250 .ok()
27251 }
27252 }
27253 pub unsafe fn SetPointerFlags(&self, pointerflags: u32) -> windows_core::Result<()> {
27254 unsafe {
27255 (windows_core::Interface::vtable(self).SetPointerFlags)(
27256 windows_core::Interface::as_raw(self),
27257 pointerflags,
27258 )
27259 .ok()
27260 }
27261 }
27262 pub unsafe fn PointerDeviceRect(
27263 &self,
27264 pointerdevicerect: *mut windows::Win32::Foundation::RECT,
27265 ) -> windows_core::Result<()> {
27266 unsafe {
27267 (windows_core::Interface::vtable(self).PointerDeviceRect)(
27268 windows_core::Interface::as_raw(self),
27269 pointerdevicerect as _,
27270 )
27271 .ok()
27272 }
27273 }
27274 pub unsafe fn SetPointerDeviceRect(
27275 &self,
27276 pointerdevicerect: windows::Win32::Foundation::RECT,
27277 ) -> windows_core::Result<()> {
27278 unsafe {
27279 (windows_core::Interface::vtable(self).SetPointerDeviceRect)(
27280 windows_core::Interface::as_raw(self),
27281 core::mem::transmute(pointerdevicerect),
27282 )
27283 .ok()
27284 }
27285 }
27286 pub unsafe fn DisplayRect(
27287 &self,
27288 displayrect: *mut windows::Win32::Foundation::RECT,
27289 ) -> windows_core::Result<()> {
27290 unsafe {
27291 (windows_core::Interface::vtable(self).DisplayRect)(
27292 windows_core::Interface::as_raw(self),
27293 displayrect as _,
27294 )
27295 .ok()
27296 }
27297 }
27298 pub unsafe fn SetDisplayRect(
27299 &self,
27300 displayrect: windows::Win32::Foundation::RECT,
27301 ) -> windows_core::Result<()> {
27302 unsafe {
27303 (windows_core::Interface::vtable(self).SetDisplayRect)(
27304 windows_core::Interface::as_raw(self),
27305 core::mem::transmute(displayrect),
27306 )
27307 .ok()
27308 }
27309 }
27310 pub unsafe fn PixelLocation(
27311 &self,
27312 pixellocation: *mut windows::Win32::Foundation::POINT,
27313 ) -> windows_core::Result<()> {
27314 unsafe {
27315 (windows_core::Interface::vtable(self).PixelLocation)(
27316 windows_core::Interface::as_raw(self),
27317 pixellocation as _,
27318 )
27319 .ok()
27320 }
27321 }
27322 pub unsafe fn SetPixelLocation(
27323 &self,
27324 pixellocation: windows::Win32::Foundation::POINT,
27325 ) -> windows_core::Result<()> {
27326 unsafe {
27327 (windows_core::Interface::vtable(self).SetPixelLocation)(
27328 windows_core::Interface::as_raw(self),
27329 core::mem::transmute(pixellocation),
27330 )
27331 .ok()
27332 }
27333 }
27334 pub unsafe fn HimetricLocation(
27335 &self,
27336 himetriclocation: *mut windows::Win32::Foundation::POINT,
27337 ) -> windows_core::Result<()> {
27338 unsafe {
27339 (windows_core::Interface::vtable(self).HimetricLocation)(
27340 windows_core::Interface::as_raw(self),
27341 himetriclocation as _,
27342 )
27343 .ok()
27344 }
27345 }
27346 pub unsafe fn SetHimetricLocation(
27347 &self,
27348 himetriclocation: windows::Win32::Foundation::POINT,
27349 ) -> windows_core::Result<()> {
27350 unsafe {
27351 (windows_core::Interface::vtable(self).SetHimetricLocation)(
27352 windows_core::Interface::as_raw(self),
27353 core::mem::transmute(himetriclocation),
27354 )
27355 .ok()
27356 }
27357 }
27358 pub unsafe fn PixelLocationRaw(
27359 &self,
27360 pixellocationraw: *mut windows::Win32::Foundation::POINT,
27361 ) -> windows_core::Result<()> {
27362 unsafe {
27363 (windows_core::Interface::vtable(self).PixelLocationRaw)(
27364 windows_core::Interface::as_raw(self),
27365 pixellocationraw as _,
27366 )
27367 .ok()
27368 }
27369 }
27370 pub unsafe fn SetPixelLocationRaw(
27371 &self,
27372 pixellocationraw: windows::Win32::Foundation::POINT,
27373 ) -> windows_core::Result<()> {
27374 unsafe {
27375 (windows_core::Interface::vtable(self).SetPixelLocationRaw)(
27376 windows_core::Interface::as_raw(self),
27377 core::mem::transmute(pixellocationraw),
27378 )
27379 .ok()
27380 }
27381 }
27382 pub unsafe fn HimetricLocationRaw(
27383 &self,
27384 himetriclocationraw: *mut windows::Win32::Foundation::POINT,
27385 ) -> windows_core::Result<()> {
27386 unsafe {
27387 (windows_core::Interface::vtable(self).HimetricLocationRaw)(
27388 windows_core::Interface::as_raw(self),
27389 himetriclocationraw as _,
27390 )
27391 .ok()
27392 }
27393 }
27394 pub unsafe fn SetHimetricLocationRaw(
27395 &self,
27396 himetriclocationraw: windows::Win32::Foundation::POINT,
27397 ) -> windows_core::Result<()> {
27398 unsafe {
27399 (windows_core::Interface::vtable(self).SetHimetricLocationRaw)(
27400 windows_core::Interface::as_raw(self),
27401 core::mem::transmute(himetriclocationraw),
27402 )
27403 .ok()
27404 }
27405 }
27406 pub unsafe fn Time(&self, time: *mut u32) -> windows_core::Result<()> {
27407 unsafe {
27408 (windows_core::Interface::vtable(self).Time)(
27409 windows_core::Interface::as_raw(self),
27410 time as _,
27411 )
27412 .ok()
27413 }
27414 }
27415 pub unsafe fn SetTime(&self, time: u32) -> windows_core::Result<()> {
27416 unsafe {
27417 (windows_core::Interface::vtable(self).SetTime)(
27418 windows_core::Interface::as_raw(self),
27419 time,
27420 )
27421 .ok()
27422 }
27423 }
27424 pub unsafe fn HistoryCount(&self, historycount: *mut u32) -> windows_core::Result<()> {
27425 unsafe {
27426 (windows_core::Interface::vtable(self).HistoryCount)(
27427 windows_core::Interface::as_raw(self),
27428 historycount as _,
27429 )
27430 .ok()
27431 }
27432 }
27433 pub unsafe fn SetHistoryCount(&self, historycount: u32) -> windows_core::Result<()> {
27434 unsafe {
27435 (windows_core::Interface::vtable(self).SetHistoryCount)(
27436 windows_core::Interface::as_raw(self),
27437 historycount,
27438 )
27439 .ok()
27440 }
27441 }
27442 pub unsafe fn InputData(&self, inputdata: *mut i32) -> windows_core::Result<()> {
27443 unsafe {
27444 (windows_core::Interface::vtable(self).InputData)(
27445 windows_core::Interface::as_raw(self),
27446 inputdata as _,
27447 )
27448 .ok()
27449 }
27450 }
27451 pub unsafe fn SetInputData(&self, inputdata: i32) -> windows_core::Result<()> {
27452 unsafe {
27453 (windows_core::Interface::vtable(self).SetInputData)(
27454 windows_core::Interface::as_raw(self),
27455 inputdata,
27456 )
27457 .ok()
27458 }
27459 }
27460 pub unsafe fn KeyStates(&self, keystates: *mut u32) -> windows_core::Result<()> {
27461 unsafe {
27462 (windows_core::Interface::vtable(self).KeyStates)(
27463 windows_core::Interface::as_raw(self),
27464 keystates as _,
27465 )
27466 .ok()
27467 }
27468 }
27469 pub unsafe fn SetKeyStates(&self, keystates: u32) -> windows_core::Result<()> {
27470 unsafe {
27471 (windows_core::Interface::vtable(self).SetKeyStates)(
27472 windows_core::Interface::as_raw(self),
27473 keystates,
27474 )
27475 .ok()
27476 }
27477 }
27478 pub unsafe fn PerformanceCount(&self, performancecount: *mut u64) -> windows_core::Result<()> {
27479 unsafe {
27480 (windows_core::Interface::vtable(self).PerformanceCount)(
27481 windows_core::Interface::as_raw(self),
27482 performancecount as _,
27483 )
27484 .ok()
27485 }
27486 }
27487 pub unsafe fn SetPerformanceCount(&self, performancecount: u64) -> windows_core::Result<()> {
27488 unsafe {
27489 (windows_core::Interface::vtable(self).SetPerformanceCount)(
27490 windows_core::Interface::as_raw(self),
27491 performancecount,
27492 )
27493 .ok()
27494 }
27495 }
27496 pub unsafe fn ButtonChangeKind(&self, buttonchangekind: *mut i32) -> windows_core::Result<()> {
27497 unsafe {
27498 (windows_core::Interface::vtable(self).ButtonChangeKind)(
27499 windows_core::Interface::as_raw(self),
27500 buttonchangekind as _,
27501 )
27502 .ok()
27503 }
27504 }
27505 pub unsafe fn SetButtonChangeKind(&self, buttonchangekind: i32) -> windows_core::Result<()> {
27506 unsafe {
27507 (windows_core::Interface::vtable(self).SetButtonChangeKind)(
27508 windows_core::Interface::as_raw(self),
27509 buttonchangekind,
27510 )
27511 .ok()
27512 }
27513 }
27514 pub unsafe fn PenFlags(&self, penflags: *mut u32) -> windows_core::Result<()> {
27515 unsafe {
27516 (windows_core::Interface::vtable(self).PenFlags)(
27517 windows_core::Interface::as_raw(self),
27518 penflags as _,
27519 )
27520 .ok()
27521 }
27522 }
27523 pub unsafe fn SetPenFlags(&self, penflags: u32) -> windows_core::Result<()> {
27524 unsafe {
27525 (windows_core::Interface::vtable(self).SetPenFlags)(
27526 windows_core::Interface::as_raw(self),
27527 penflags,
27528 )
27529 .ok()
27530 }
27531 }
27532 pub unsafe fn PenMask(&self, penmask: *mut u32) -> windows_core::Result<()> {
27533 unsafe {
27534 (windows_core::Interface::vtable(self).PenMask)(
27535 windows_core::Interface::as_raw(self),
27536 penmask as _,
27537 )
27538 .ok()
27539 }
27540 }
27541 pub unsafe fn SetPenMask(&self, penmask: u32) -> windows_core::Result<()> {
27542 unsafe {
27543 (windows_core::Interface::vtable(self).SetPenMask)(
27544 windows_core::Interface::as_raw(self),
27545 penmask,
27546 )
27547 .ok()
27548 }
27549 }
27550 pub unsafe fn PenPressure(&self, penpressure: *mut u32) -> windows_core::Result<()> {
27551 unsafe {
27552 (windows_core::Interface::vtable(self).PenPressure)(
27553 windows_core::Interface::as_raw(self),
27554 penpressure as _,
27555 )
27556 .ok()
27557 }
27558 }
27559 pub unsafe fn SetPenPressure(&self, penpressure: u32) -> windows_core::Result<()> {
27560 unsafe {
27561 (windows_core::Interface::vtable(self).SetPenPressure)(
27562 windows_core::Interface::as_raw(self),
27563 penpressure,
27564 )
27565 .ok()
27566 }
27567 }
27568 pub unsafe fn PenRotation(&self, penrotation: *mut u32) -> windows_core::Result<()> {
27569 unsafe {
27570 (windows_core::Interface::vtable(self).PenRotation)(
27571 windows_core::Interface::as_raw(self),
27572 penrotation as _,
27573 )
27574 .ok()
27575 }
27576 }
27577 pub unsafe fn SetPenRotation(&self, penrotation: u32) -> windows_core::Result<()> {
27578 unsafe {
27579 (windows_core::Interface::vtable(self).SetPenRotation)(
27580 windows_core::Interface::as_raw(self),
27581 penrotation,
27582 )
27583 .ok()
27584 }
27585 }
27586 pub unsafe fn PenTiltX(&self, pentiltx: *mut i32) -> windows_core::Result<()> {
27587 unsafe {
27588 (windows_core::Interface::vtable(self).PenTiltX)(
27589 windows_core::Interface::as_raw(self),
27590 pentiltx as _,
27591 )
27592 .ok()
27593 }
27594 }
27595 pub unsafe fn SetPenTiltX(&self, pentiltx: i32) -> windows_core::Result<()> {
27596 unsafe {
27597 (windows_core::Interface::vtable(self).SetPenTiltX)(
27598 windows_core::Interface::as_raw(self),
27599 pentiltx,
27600 )
27601 .ok()
27602 }
27603 }
27604 pub unsafe fn PenTiltY(&self, pentilty: *mut i32) -> windows_core::Result<()> {
27605 unsafe {
27606 (windows_core::Interface::vtable(self).PenTiltY)(
27607 windows_core::Interface::as_raw(self),
27608 pentilty as _,
27609 )
27610 .ok()
27611 }
27612 }
27613 pub unsafe fn SetPenTiltY(&self, pentilty: i32) -> windows_core::Result<()> {
27614 unsafe {
27615 (windows_core::Interface::vtable(self).SetPenTiltY)(
27616 windows_core::Interface::as_raw(self),
27617 pentilty,
27618 )
27619 .ok()
27620 }
27621 }
27622 pub unsafe fn TouchFlags(&self, touchflags: *mut u32) -> windows_core::Result<()> {
27623 unsafe {
27624 (windows_core::Interface::vtable(self).TouchFlags)(
27625 windows_core::Interface::as_raw(self),
27626 touchflags as _,
27627 )
27628 .ok()
27629 }
27630 }
27631 pub unsafe fn SetTouchFlags(&self, touchflags: u32) -> windows_core::Result<()> {
27632 unsafe {
27633 (windows_core::Interface::vtable(self).SetTouchFlags)(
27634 windows_core::Interface::as_raw(self),
27635 touchflags,
27636 )
27637 .ok()
27638 }
27639 }
27640 pub unsafe fn TouchMask(&self, touchmask: *mut u32) -> windows_core::Result<()> {
27641 unsafe {
27642 (windows_core::Interface::vtable(self).TouchMask)(
27643 windows_core::Interface::as_raw(self),
27644 touchmask as _,
27645 )
27646 .ok()
27647 }
27648 }
27649 pub unsafe fn SetTouchMask(&self, touchmask: u32) -> windows_core::Result<()> {
27650 unsafe {
27651 (windows_core::Interface::vtable(self).SetTouchMask)(
27652 windows_core::Interface::as_raw(self),
27653 touchmask,
27654 )
27655 .ok()
27656 }
27657 }
27658 pub unsafe fn TouchContact(
27659 &self,
27660 touchcontact: *mut windows::Win32::Foundation::RECT,
27661 ) -> windows_core::Result<()> {
27662 unsafe {
27663 (windows_core::Interface::vtable(self).TouchContact)(
27664 windows_core::Interface::as_raw(self),
27665 touchcontact as _,
27666 )
27667 .ok()
27668 }
27669 }
27670 pub unsafe fn SetTouchContact(
27671 &self,
27672 touchcontact: windows::Win32::Foundation::RECT,
27673 ) -> windows_core::Result<()> {
27674 unsafe {
27675 (windows_core::Interface::vtable(self).SetTouchContact)(
27676 windows_core::Interface::as_raw(self),
27677 core::mem::transmute(touchcontact),
27678 )
27679 .ok()
27680 }
27681 }
27682 pub unsafe fn TouchContactRaw(
27683 &self,
27684 touchcontactraw: *mut windows::Win32::Foundation::RECT,
27685 ) -> windows_core::Result<()> {
27686 unsafe {
27687 (windows_core::Interface::vtable(self).TouchContactRaw)(
27688 windows_core::Interface::as_raw(self),
27689 touchcontactraw as _,
27690 )
27691 .ok()
27692 }
27693 }
27694 pub unsafe fn SetTouchContactRaw(
27695 &self,
27696 touchcontactraw: windows::Win32::Foundation::RECT,
27697 ) -> windows_core::Result<()> {
27698 unsafe {
27699 (windows_core::Interface::vtable(self).SetTouchContactRaw)(
27700 windows_core::Interface::as_raw(self),
27701 core::mem::transmute(touchcontactraw),
27702 )
27703 .ok()
27704 }
27705 }
27706 pub unsafe fn TouchOrientation(&self, touchorientation: *mut u32) -> windows_core::Result<()> {
27707 unsafe {
27708 (windows_core::Interface::vtable(self).TouchOrientation)(
27709 windows_core::Interface::as_raw(self),
27710 touchorientation as _,
27711 )
27712 .ok()
27713 }
27714 }
27715 pub unsafe fn SetTouchOrientation(&self, touchorientation: u32) -> windows_core::Result<()> {
27716 unsafe {
27717 (windows_core::Interface::vtable(self).SetTouchOrientation)(
27718 windows_core::Interface::as_raw(self),
27719 touchorientation,
27720 )
27721 .ok()
27722 }
27723 }
27724 pub unsafe fn TouchPressure(&self, touchpressure: *mut u32) -> windows_core::Result<()> {
27725 unsafe {
27726 (windows_core::Interface::vtable(self).TouchPressure)(
27727 windows_core::Interface::as_raw(self),
27728 touchpressure as _,
27729 )
27730 .ok()
27731 }
27732 }
27733 pub unsafe fn SetTouchPressure(&self, touchpressure: u32) -> windows_core::Result<()> {
27734 unsafe {
27735 (windows_core::Interface::vtable(self).SetTouchPressure)(
27736 windows_core::Interface::as_raw(self),
27737 touchpressure,
27738 )
27739 .ok()
27740 }
27741 }
27742}
27743#[repr(C)]
27744#[doc(hidden)]
27745pub struct ICoreWebView2PointerInfo_Vtbl {
27746 pub base__: windows_core::IUnknown_Vtbl,
27747 pub PointerKind:
27748 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27749 pub SetPointerKind:
27750 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27751 pub PointerId:
27752 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27753 pub SetPointerId:
27754 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27755 pub FrameId:
27756 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27757 pub SetFrameId: unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27758 pub PointerFlags:
27759 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27760 pub SetPointerFlags:
27761 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27762 pub PointerDeviceRect: unsafe extern "system" fn(
27763 *mut core::ffi::c_void,
27764 *mut windows::Win32::Foundation::RECT,
27765 ) -> windows_core::HRESULT,
27766 pub SetPointerDeviceRect: unsafe extern "system" fn(
27767 *mut core::ffi::c_void,
27768 windows::Win32::Foundation::RECT,
27769 ) -> windows_core::HRESULT,
27770 pub DisplayRect: unsafe extern "system" fn(
27771 *mut core::ffi::c_void,
27772 *mut windows::Win32::Foundation::RECT,
27773 ) -> windows_core::HRESULT,
27774 pub SetDisplayRect: unsafe extern "system" fn(
27775 *mut core::ffi::c_void,
27776 windows::Win32::Foundation::RECT,
27777 ) -> windows_core::HRESULT,
27778 pub PixelLocation: unsafe extern "system" fn(
27779 *mut core::ffi::c_void,
27780 *mut windows::Win32::Foundation::POINT,
27781 ) -> windows_core::HRESULT,
27782 pub SetPixelLocation: unsafe extern "system" fn(
27783 *mut core::ffi::c_void,
27784 windows::Win32::Foundation::POINT,
27785 ) -> windows_core::HRESULT,
27786 pub HimetricLocation: unsafe extern "system" fn(
27787 *mut core::ffi::c_void,
27788 *mut windows::Win32::Foundation::POINT,
27789 ) -> windows_core::HRESULT,
27790 pub SetHimetricLocation: unsafe extern "system" fn(
27791 *mut core::ffi::c_void,
27792 windows::Win32::Foundation::POINT,
27793 ) -> windows_core::HRESULT,
27794 pub PixelLocationRaw: unsafe extern "system" fn(
27795 *mut core::ffi::c_void,
27796 *mut windows::Win32::Foundation::POINT,
27797 ) -> windows_core::HRESULT,
27798 pub SetPixelLocationRaw: unsafe extern "system" fn(
27799 *mut core::ffi::c_void,
27800 windows::Win32::Foundation::POINT,
27801 ) -> windows_core::HRESULT,
27802 pub HimetricLocationRaw: unsafe extern "system" fn(
27803 *mut core::ffi::c_void,
27804 *mut windows::Win32::Foundation::POINT,
27805 ) -> windows_core::HRESULT,
27806 pub SetHimetricLocationRaw: unsafe extern "system" fn(
27807 *mut core::ffi::c_void,
27808 windows::Win32::Foundation::POINT,
27809 ) -> windows_core::HRESULT,
27810 pub Time: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27811 pub SetTime: unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27812 pub HistoryCount:
27813 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27814 pub SetHistoryCount:
27815 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27816 pub InputData:
27817 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
27818 pub SetInputData:
27819 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
27820 pub KeyStates:
27821 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27822 pub SetKeyStates:
27823 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27824 pub PerformanceCount:
27825 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
27826 pub SetPerformanceCount:
27827 unsafe extern "system" fn(*mut core::ffi::c_void, u64) -> windows_core::HRESULT,
27828 pub ButtonChangeKind:
27829 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
27830 pub SetButtonChangeKind:
27831 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
27832 pub PenFlags:
27833 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27834 pub SetPenFlags:
27835 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27836 pub PenMask:
27837 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27838 pub SetPenMask: unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27839 pub PenPressure:
27840 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27841 pub SetPenPressure:
27842 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27843 pub PenRotation:
27844 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27845 pub SetPenRotation:
27846 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27847 pub PenTiltX:
27848 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
27849 pub SetPenTiltX:
27850 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
27851 pub PenTiltY:
27852 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
27853 pub SetPenTiltY:
27854 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
27855 pub TouchFlags:
27856 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27857 pub SetTouchFlags:
27858 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27859 pub TouchMask:
27860 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27861 pub SetTouchMask:
27862 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27863 pub TouchContact: unsafe extern "system" fn(
27864 *mut core::ffi::c_void,
27865 *mut windows::Win32::Foundation::RECT,
27866 ) -> windows_core::HRESULT,
27867 pub SetTouchContact: unsafe extern "system" fn(
27868 *mut core::ffi::c_void,
27869 windows::Win32::Foundation::RECT,
27870 ) -> windows_core::HRESULT,
27871 pub TouchContactRaw: unsafe extern "system" fn(
27872 *mut core::ffi::c_void,
27873 *mut windows::Win32::Foundation::RECT,
27874 ) -> windows_core::HRESULT,
27875 pub SetTouchContactRaw: unsafe extern "system" fn(
27876 *mut core::ffi::c_void,
27877 windows::Win32::Foundation::RECT,
27878 ) -> windows_core::HRESULT,
27879 pub TouchOrientation:
27880 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27881 pub SetTouchOrientation:
27882 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27883 pub TouchPressure:
27884 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
27885 pub SetTouchPressure:
27886 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
27887}
27888pub trait ICoreWebView2PointerInfo_Impl: windows_core::IUnknownImpl {
27889 fn PointerKind(&self, pointerkind: *mut u32) -> windows_core::Result<()>;
27890 fn SetPointerKind(&self, pointerkind: u32) -> windows_core::Result<()>;
27891 fn PointerId(&self, pointerid: *mut u32) -> windows_core::Result<()>;
27892 fn SetPointerId(&self, pointerid: u32) -> windows_core::Result<()>;
27893 fn FrameId(&self, frameid: *mut u32) -> windows_core::Result<()>;
27894 fn SetFrameId(&self, frameid: u32) -> windows_core::Result<()>;
27895 fn PointerFlags(&self, pointerflags: *mut u32) -> windows_core::Result<()>;
27896 fn SetPointerFlags(&self, pointerflags: u32) -> windows_core::Result<()>;
27897 fn PointerDeviceRect(
27898 &self,
27899 pointerdevicerect: *mut windows::Win32::Foundation::RECT,
27900 ) -> windows_core::Result<()>;
27901 fn SetPointerDeviceRect(
27902 &self,
27903 pointerdevicerect: &windows::Win32::Foundation::RECT,
27904 ) -> windows_core::Result<()>;
27905 fn DisplayRect(
27906 &self,
27907 displayrect: *mut windows::Win32::Foundation::RECT,
27908 ) -> windows_core::Result<()>;
27909 fn SetDisplayRect(
27910 &self,
27911 displayrect: &windows::Win32::Foundation::RECT,
27912 ) -> windows_core::Result<()>;
27913 fn PixelLocation(
27914 &self,
27915 pixellocation: *mut windows::Win32::Foundation::POINT,
27916 ) -> windows_core::Result<()>;
27917 fn SetPixelLocation(
27918 &self,
27919 pixellocation: &windows::Win32::Foundation::POINT,
27920 ) -> windows_core::Result<()>;
27921 fn HimetricLocation(
27922 &self,
27923 himetriclocation: *mut windows::Win32::Foundation::POINT,
27924 ) -> windows_core::Result<()>;
27925 fn SetHimetricLocation(
27926 &self,
27927 himetriclocation: &windows::Win32::Foundation::POINT,
27928 ) -> windows_core::Result<()>;
27929 fn PixelLocationRaw(
27930 &self,
27931 pixellocationraw: *mut windows::Win32::Foundation::POINT,
27932 ) -> windows_core::Result<()>;
27933 fn SetPixelLocationRaw(
27934 &self,
27935 pixellocationraw: &windows::Win32::Foundation::POINT,
27936 ) -> windows_core::Result<()>;
27937 fn HimetricLocationRaw(
27938 &self,
27939 himetriclocationraw: *mut windows::Win32::Foundation::POINT,
27940 ) -> windows_core::Result<()>;
27941 fn SetHimetricLocationRaw(
27942 &self,
27943 himetriclocationraw: &windows::Win32::Foundation::POINT,
27944 ) -> windows_core::Result<()>;
27945 fn Time(&self, time: *mut u32) -> windows_core::Result<()>;
27946 fn SetTime(&self, time: u32) -> windows_core::Result<()>;
27947 fn HistoryCount(&self, historycount: *mut u32) -> windows_core::Result<()>;
27948 fn SetHistoryCount(&self, historycount: u32) -> windows_core::Result<()>;
27949 fn InputData(&self, inputdata: *mut i32) -> windows_core::Result<()>;
27950 fn SetInputData(&self, inputdata: i32) -> windows_core::Result<()>;
27951 fn KeyStates(&self, keystates: *mut u32) -> windows_core::Result<()>;
27952 fn SetKeyStates(&self, keystates: u32) -> windows_core::Result<()>;
27953 fn PerformanceCount(&self, performancecount: *mut u64) -> windows_core::Result<()>;
27954 fn SetPerformanceCount(&self, performancecount: u64) -> windows_core::Result<()>;
27955 fn ButtonChangeKind(&self, buttonchangekind: *mut i32) -> windows_core::Result<()>;
27956 fn SetButtonChangeKind(&self, buttonchangekind: i32) -> windows_core::Result<()>;
27957 fn PenFlags(&self, penflags: *mut u32) -> windows_core::Result<()>;
27958 fn SetPenFlags(&self, penflags: u32) -> windows_core::Result<()>;
27959 fn PenMask(&self, penmask: *mut u32) -> windows_core::Result<()>;
27960 fn SetPenMask(&self, penmask: u32) -> windows_core::Result<()>;
27961 fn PenPressure(&self, penpressure: *mut u32) -> windows_core::Result<()>;
27962 fn SetPenPressure(&self, penpressure: u32) -> windows_core::Result<()>;
27963 fn PenRotation(&self, penrotation: *mut u32) -> windows_core::Result<()>;
27964 fn SetPenRotation(&self, penrotation: u32) -> windows_core::Result<()>;
27965 fn PenTiltX(&self, pentiltx: *mut i32) -> windows_core::Result<()>;
27966 fn SetPenTiltX(&self, pentiltx: i32) -> windows_core::Result<()>;
27967 fn PenTiltY(&self, pentilty: *mut i32) -> windows_core::Result<()>;
27968 fn SetPenTiltY(&self, pentilty: i32) -> windows_core::Result<()>;
27969 fn TouchFlags(&self, touchflags: *mut u32) -> windows_core::Result<()>;
27970 fn SetTouchFlags(&self, touchflags: u32) -> windows_core::Result<()>;
27971 fn TouchMask(&self, touchmask: *mut u32) -> windows_core::Result<()>;
27972 fn SetTouchMask(&self, touchmask: u32) -> windows_core::Result<()>;
27973 fn TouchContact(
27974 &self,
27975 touchcontact: *mut windows::Win32::Foundation::RECT,
27976 ) -> windows_core::Result<()>;
27977 fn SetTouchContact(
27978 &self,
27979 touchcontact: &windows::Win32::Foundation::RECT,
27980 ) -> windows_core::Result<()>;
27981 fn TouchContactRaw(
27982 &self,
27983 touchcontactraw: *mut windows::Win32::Foundation::RECT,
27984 ) -> windows_core::Result<()>;
27985 fn SetTouchContactRaw(
27986 &self,
27987 touchcontactraw: &windows::Win32::Foundation::RECT,
27988 ) -> windows_core::Result<()>;
27989 fn TouchOrientation(&self, touchorientation: *mut u32) -> windows_core::Result<()>;
27990 fn SetTouchOrientation(&self, touchorientation: u32) -> windows_core::Result<()>;
27991 fn TouchPressure(&self, touchpressure: *mut u32) -> windows_core::Result<()>;
27992 fn SetTouchPressure(&self, touchpressure: u32) -> windows_core::Result<()>;
27993}
27994impl ICoreWebView2PointerInfo_Vtbl {
27995 pub const fn new<Identity: ICoreWebView2PointerInfo_Impl, const OFFSET: isize>() -> Self {
27996 unsafe extern "system" fn PointerKind<
27997 Identity: ICoreWebView2PointerInfo_Impl,
27998 const OFFSET: isize,
27999 >(
28000 this: *mut core::ffi::c_void,
28001 pointerkind: *mut u32,
28002 ) -> windows_core::HRESULT {
28003 unsafe {
28004 let this: &Identity =
28005 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28006 ICoreWebView2PointerInfo_Impl::PointerKind(
28007 this,
28008 core::mem::transmute_copy(&pointerkind),
28009 )
28010 .into()
28011 }
28012 }
28013 unsafe extern "system" fn SetPointerKind<
28014 Identity: ICoreWebView2PointerInfo_Impl,
28015 const OFFSET: isize,
28016 >(
28017 this: *mut core::ffi::c_void,
28018 pointerkind: u32,
28019 ) -> windows_core::HRESULT {
28020 unsafe {
28021 let this: &Identity =
28022 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28023 ICoreWebView2PointerInfo_Impl::SetPointerKind(
28024 this,
28025 core::mem::transmute_copy(&pointerkind),
28026 )
28027 .into()
28028 }
28029 }
28030 unsafe extern "system" fn PointerId<
28031 Identity: ICoreWebView2PointerInfo_Impl,
28032 const OFFSET: isize,
28033 >(
28034 this: *mut core::ffi::c_void,
28035 pointerid: *mut u32,
28036 ) -> windows_core::HRESULT {
28037 unsafe {
28038 let this: &Identity =
28039 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28040 ICoreWebView2PointerInfo_Impl::PointerId(
28041 this,
28042 core::mem::transmute_copy(&pointerid),
28043 )
28044 .into()
28045 }
28046 }
28047 unsafe extern "system" fn SetPointerId<
28048 Identity: ICoreWebView2PointerInfo_Impl,
28049 const OFFSET: isize,
28050 >(
28051 this: *mut core::ffi::c_void,
28052 pointerid: u32,
28053 ) -> windows_core::HRESULT {
28054 unsafe {
28055 let this: &Identity =
28056 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28057 ICoreWebView2PointerInfo_Impl::SetPointerId(
28058 this,
28059 core::mem::transmute_copy(&pointerid),
28060 )
28061 .into()
28062 }
28063 }
28064 unsafe extern "system" fn FrameId<
28065 Identity: ICoreWebView2PointerInfo_Impl,
28066 const OFFSET: isize,
28067 >(
28068 this: *mut core::ffi::c_void,
28069 frameid: *mut u32,
28070 ) -> windows_core::HRESULT {
28071 unsafe {
28072 let this: &Identity =
28073 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28074 ICoreWebView2PointerInfo_Impl::FrameId(this, core::mem::transmute_copy(&frameid))
28075 .into()
28076 }
28077 }
28078 unsafe extern "system" fn SetFrameId<
28079 Identity: ICoreWebView2PointerInfo_Impl,
28080 const OFFSET: isize,
28081 >(
28082 this: *mut core::ffi::c_void,
28083 frameid: u32,
28084 ) -> windows_core::HRESULT {
28085 unsafe {
28086 let this: &Identity =
28087 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28088 ICoreWebView2PointerInfo_Impl::SetFrameId(this, core::mem::transmute_copy(&frameid))
28089 .into()
28090 }
28091 }
28092 unsafe extern "system" fn PointerFlags<
28093 Identity: ICoreWebView2PointerInfo_Impl,
28094 const OFFSET: isize,
28095 >(
28096 this: *mut core::ffi::c_void,
28097 pointerflags: *mut u32,
28098 ) -> windows_core::HRESULT {
28099 unsafe {
28100 let this: &Identity =
28101 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28102 ICoreWebView2PointerInfo_Impl::PointerFlags(
28103 this,
28104 core::mem::transmute_copy(&pointerflags),
28105 )
28106 .into()
28107 }
28108 }
28109 unsafe extern "system" fn SetPointerFlags<
28110 Identity: ICoreWebView2PointerInfo_Impl,
28111 const OFFSET: isize,
28112 >(
28113 this: *mut core::ffi::c_void,
28114 pointerflags: u32,
28115 ) -> windows_core::HRESULT {
28116 unsafe {
28117 let this: &Identity =
28118 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28119 ICoreWebView2PointerInfo_Impl::SetPointerFlags(
28120 this,
28121 core::mem::transmute_copy(&pointerflags),
28122 )
28123 .into()
28124 }
28125 }
28126 unsafe extern "system" fn PointerDeviceRect<
28127 Identity: ICoreWebView2PointerInfo_Impl,
28128 const OFFSET: isize,
28129 >(
28130 this: *mut core::ffi::c_void,
28131 pointerdevicerect: *mut windows::Win32::Foundation::RECT,
28132 ) -> windows_core::HRESULT {
28133 unsafe {
28134 let this: &Identity =
28135 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28136 ICoreWebView2PointerInfo_Impl::PointerDeviceRect(
28137 this,
28138 core::mem::transmute_copy(&pointerdevicerect),
28139 )
28140 .into()
28141 }
28142 }
28143 unsafe extern "system" fn SetPointerDeviceRect<
28144 Identity: ICoreWebView2PointerInfo_Impl,
28145 const OFFSET: isize,
28146 >(
28147 this: *mut core::ffi::c_void,
28148 pointerdevicerect: windows::Win32::Foundation::RECT,
28149 ) -> windows_core::HRESULT {
28150 unsafe {
28151 let this: &Identity =
28152 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28153 ICoreWebView2PointerInfo_Impl::SetPointerDeviceRect(
28154 this,
28155 core::mem::transmute(&pointerdevicerect),
28156 )
28157 .into()
28158 }
28159 }
28160 unsafe extern "system" fn DisplayRect<
28161 Identity: ICoreWebView2PointerInfo_Impl,
28162 const OFFSET: isize,
28163 >(
28164 this: *mut core::ffi::c_void,
28165 displayrect: *mut windows::Win32::Foundation::RECT,
28166 ) -> windows_core::HRESULT {
28167 unsafe {
28168 let this: &Identity =
28169 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28170 ICoreWebView2PointerInfo_Impl::DisplayRect(
28171 this,
28172 core::mem::transmute_copy(&displayrect),
28173 )
28174 .into()
28175 }
28176 }
28177 unsafe extern "system" fn SetDisplayRect<
28178 Identity: ICoreWebView2PointerInfo_Impl,
28179 const OFFSET: isize,
28180 >(
28181 this: *mut core::ffi::c_void,
28182 displayrect: windows::Win32::Foundation::RECT,
28183 ) -> windows_core::HRESULT {
28184 unsafe {
28185 let this: &Identity =
28186 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28187 ICoreWebView2PointerInfo_Impl::SetDisplayRect(
28188 this,
28189 core::mem::transmute(&displayrect),
28190 )
28191 .into()
28192 }
28193 }
28194 unsafe extern "system" fn PixelLocation<
28195 Identity: ICoreWebView2PointerInfo_Impl,
28196 const OFFSET: isize,
28197 >(
28198 this: *mut core::ffi::c_void,
28199 pixellocation: *mut windows::Win32::Foundation::POINT,
28200 ) -> windows_core::HRESULT {
28201 unsafe {
28202 let this: &Identity =
28203 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28204 ICoreWebView2PointerInfo_Impl::PixelLocation(
28205 this,
28206 core::mem::transmute_copy(&pixellocation),
28207 )
28208 .into()
28209 }
28210 }
28211 unsafe extern "system" fn SetPixelLocation<
28212 Identity: ICoreWebView2PointerInfo_Impl,
28213 const OFFSET: isize,
28214 >(
28215 this: *mut core::ffi::c_void,
28216 pixellocation: windows::Win32::Foundation::POINT,
28217 ) -> windows_core::HRESULT {
28218 unsafe {
28219 let this: &Identity =
28220 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28221 ICoreWebView2PointerInfo_Impl::SetPixelLocation(
28222 this,
28223 core::mem::transmute(&pixellocation),
28224 )
28225 .into()
28226 }
28227 }
28228 unsafe extern "system" fn HimetricLocation<
28229 Identity: ICoreWebView2PointerInfo_Impl,
28230 const OFFSET: isize,
28231 >(
28232 this: *mut core::ffi::c_void,
28233 himetriclocation: *mut windows::Win32::Foundation::POINT,
28234 ) -> windows_core::HRESULT {
28235 unsafe {
28236 let this: &Identity =
28237 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28238 ICoreWebView2PointerInfo_Impl::HimetricLocation(
28239 this,
28240 core::mem::transmute_copy(&himetriclocation),
28241 )
28242 .into()
28243 }
28244 }
28245 unsafe extern "system" fn SetHimetricLocation<
28246 Identity: ICoreWebView2PointerInfo_Impl,
28247 const OFFSET: isize,
28248 >(
28249 this: *mut core::ffi::c_void,
28250 himetriclocation: windows::Win32::Foundation::POINT,
28251 ) -> windows_core::HRESULT {
28252 unsafe {
28253 let this: &Identity =
28254 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28255 ICoreWebView2PointerInfo_Impl::SetHimetricLocation(
28256 this,
28257 core::mem::transmute(&himetriclocation),
28258 )
28259 .into()
28260 }
28261 }
28262 unsafe extern "system" fn PixelLocationRaw<
28263 Identity: ICoreWebView2PointerInfo_Impl,
28264 const OFFSET: isize,
28265 >(
28266 this: *mut core::ffi::c_void,
28267 pixellocationraw: *mut windows::Win32::Foundation::POINT,
28268 ) -> windows_core::HRESULT {
28269 unsafe {
28270 let this: &Identity =
28271 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28272 ICoreWebView2PointerInfo_Impl::PixelLocationRaw(
28273 this,
28274 core::mem::transmute_copy(&pixellocationraw),
28275 )
28276 .into()
28277 }
28278 }
28279 unsafe extern "system" fn SetPixelLocationRaw<
28280 Identity: ICoreWebView2PointerInfo_Impl,
28281 const OFFSET: isize,
28282 >(
28283 this: *mut core::ffi::c_void,
28284 pixellocationraw: windows::Win32::Foundation::POINT,
28285 ) -> windows_core::HRESULT {
28286 unsafe {
28287 let this: &Identity =
28288 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28289 ICoreWebView2PointerInfo_Impl::SetPixelLocationRaw(
28290 this,
28291 core::mem::transmute(&pixellocationraw),
28292 )
28293 .into()
28294 }
28295 }
28296 unsafe extern "system" fn HimetricLocationRaw<
28297 Identity: ICoreWebView2PointerInfo_Impl,
28298 const OFFSET: isize,
28299 >(
28300 this: *mut core::ffi::c_void,
28301 himetriclocationraw: *mut windows::Win32::Foundation::POINT,
28302 ) -> windows_core::HRESULT {
28303 unsafe {
28304 let this: &Identity =
28305 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28306 ICoreWebView2PointerInfo_Impl::HimetricLocationRaw(
28307 this,
28308 core::mem::transmute_copy(&himetriclocationraw),
28309 )
28310 .into()
28311 }
28312 }
28313 unsafe extern "system" fn SetHimetricLocationRaw<
28314 Identity: ICoreWebView2PointerInfo_Impl,
28315 const OFFSET: isize,
28316 >(
28317 this: *mut core::ffi::c_void,
28318 himetriclocationraw: windows::Win32::Foundation::POINT,
28319 ) -> windows_core::HRESULT {
28320 unsafe {
28321 let this: &Identity =
28322 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28323 ICoreWebView2PointerInfo_Impl::SetHimetricLocationRaw(
28324 this,
28325 core::mem::transmute(&himetriclocationraw),
28326 )
28327 .into()
28328 }
28329 }
28330 unsafe extern "system" fn Time<
28331 Identity: ICoreWebView2PointerInfo_Impl,
28332 const OFFSET: isize,
28333 >(
28334 this: *mut core::ffi::c_void,
28335 time: *mut u32,
28336 ) -> windows_core::HRESULT {
28337 unsafe {
28338 let this: &Identity =
28339 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28340 ICoreWebView2PointerInfo_Impl::Time(this, core::mem::transmute_copy(&time)).into()
28341 }
28342 }
28343 unsafe extern "system" fn SetTime<
28344 Identity: ICoreWebView2PointerInfo_Impl,
28345 const OFFSET: isize,
28346 >(
28347 this: *mut core::ffi::c_void,
28348 time: u32,
28349 ) -> windows_core::HRESULT {
28350 unsafe {
28351 let this: &Identity =
28352 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28353 ICoreWebView2PointerInfo_Impl::SetTime(this, core::mem::transmute_copy(&time))
28354 .into()
28355 }
28356 }
28357 unsafe extern "system" fn HistoryCount<
28358 Identity: ICoreWebView2PointerInfo_Impl,
28359 const OFFSET: isize,
28360 >(
28361 this: *mut core::ffi::c_void,
28362 historycount: *mut u32,
28363 ) -> windows_core::HRESULT {
28364 unsafe {
28365 let this: &Identity =
28366 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28367 ICoreWebView2PointerInfo_Impl::HistoryCount(
28368 this,
28369 core::mem::transmute_copy(&historycount),
28370 )
28371 .into()
28372 }
28373 }
28374 unsafe extern "system" fn SetHistoryCount<
28375 Identity: ICoreWebView2PointerInfo_Impl,
28376 const OFFSET: isize,
28377 >(
28378 this: *mut core::ffi::c_void,
28379 historycount: u32,
28380 ) -> windows_core::HRESULT {
28381 unsafe {
28382 let this: &Identity =
28383 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28384 ICoreWebView2PointerInfo_Impl::SetHistoryCount(
28385 this,
28386 core::mem::transmute_copy(&historycount),
28387 )
28388 .into()
28389 }
28390 }
28391 unsafe extern "system" fn InputData<
28392 Identity: ICoreWebView2PointerInfo_Impl,
28393 const OFFSET: isize,
28394 >(
28395 this: *mut core::ffi::c_void,
28396 inputdata: *mut i32,
28397 ) -> windows_core::HRESULT {
28398 unsafe {
28399 let this: &Identity =
28400 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28401 ICoreWebView2PointerInfo_Impl::InputData(
28402 this,
28403 core::mem::transmute_copy(&inputdata),
28404 )
28405 .into()
28406 }
28407 }
28408 unsafe extern "system" fn SetInputData<
28409 Identity: ICoreWebView2PointerInfo_Impl,
28410 const OFFSET: isize,
28411 >(
28412 this: *mut core::ffi::c_void,
28413 inputdata: i32,
28414 ) -> windows_core::HRESULT {
28415 unsafe {
28416 let this: &Identity =
28417 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28418 ICoreWebView2PointerInfo_Impl::SetInputData(
28419 this,
28420 core::mem::transmute_copy(&inputdata),
28421 )
28422 .into()
28423 }
28424 }
28425 unsafe extern "system" fn KeyStates<
28426 Identity: ICoreWebView2PointerInfo_Impl,
28427 const OFFSET: isize,
28428 >(
28429 this: *mut core::ffi::c_void,
28430 keystates: *mut u32,
28431 ) -> windows_core::HRESULT {
28432 unsafe {
28433 let this: &Identity =
28434 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28435 ICoreWebView2PointerInfo_Impl::KeyStates(
28436 this,
28437 core::mem::transmute_copy(&keystates),
28438 )
28439 .into()
28440 }
28441 }
28442 unsafe extern "system" fn SetKeyStates<
28443 Identity: ICoreWebView2PointerInfo_Impl,
28444 const OFFSET: isize,
28445 >(
28446 this: *mut core::ffi::c_void,
28447 keystates: u32,
28448 ) -> windows_core::HRESULT {
28449 unsafe {
28450 let this: &Identity =
28451 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28452 ICoreWebView2PointerInfo_Impl::SetKeyStates(
28453 this,
28454 core::mem::transmute_copy(&keystates),
28455 )
28456 .into()
28457 }
28458 }
28459 unsafe extern "system" fn PerformanceCount<
28460 Identity: ICoreWebView2PointerInfo_Impl,
28461 const OFFSET: isize,
28462 >(
28463 this: *mut core::ffi::c_void,
28464 performancecount: *mut u64,
28465 ) -> windows_core::HRESULT {
28466 unsafe {
28467 let this: &Identity =
28468 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28469 ICoreWebView2PointerInfo_Impl::PerformanceCount(
28470 this,
28471 core::mem::transmute_copy(&performancecount),
28472 )
28473 .into()
28474 }
28475 }
28476 unsafe extern "system" fn SetPerformanceCount<
28477 Identity: ICoreWebView2PointerInfo_Impl,
28478 const OFFSET: isize,
28479 >(
28480 this: *mut core::ffi::c_void,
28481 performancecount: u64,
28482 ) -> windows_core::HRESULT {
28483 unsafe {
28484 let this: &Identity =
28485 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28486 ICoreWebView2PointerInfo_Impl::SetPerformanceCount(
28487 this,
28488 core::mem::transmute_copy(&performancecount),
28489 )
28490 .into()
28491 }
28492 }
28493 unsafe extern "system" fn ButtonChangeKind<
28494 Identity: ICoreWebView2PointerInfo_Impl,
28495 const OFFSET: isize,
28496 >(
28497 this: *mut core::ffi::c_void,
28498 buttonchangekind: *mut i32,
28499 ) -> windows_core::HRESULT {
28500 unsafe {
28501 let this: &Identity =
28502 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28503 ICoreWebView2PointerInfo_Impl::ButtonChangeKind(
28504 this,
28505 core::mem::transmute_copy(&buttonchangekind),
28506 )
28507 .into()
28508 }
28509 }
28510 unsafe extern "system" fn SetButtonChangeKind<
28511 Identity: ICoreWebView2PointerInfo_Impl,
28512 const OFFSET: isize,
28513 >(
28514 this: *mut core::ffi::c_void,
28515 buttonchangekind: i32,
28516 ) -> windows_core::HRESULT {
28517 unsafe {
28518 let this: &Identity =
28519 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28520 ICoreWebView2PointerInfo_Impl::SetButtonChangeKind(
28521 this,
28522 core::mem::transmute_copy(&buttonchangekind),
28523 )
28524 .into()
28525 }
28526 }
28527 unsafe extern "system" fn PenFlags<
28528 Identity: ICoreWebView2PointerInfo_Impl,
28529 const OFFSET: isize,
28530 >(
28531 this: *mut core::ffi::c_void,
28532 penflags: *mut u32,
28533 ) -> windows_core::HRESULT {
28534 unsafe {
28535 let this: &Identity =
28536 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28537 ICoreWebView2PointerInfo_Impl::PenFlags(this, core::mem::transmute_copy(&penflags))
28538 .into()
28539 }
28540 }
28541 unsafe extern "system" fn SetPenFlags<
28542 Identity: ICoreWebView2PointerInfo_Impl,
28543 const OFFSET: isize,
28544 >(
28545 this: *mut core::ffi::c_void,
28546 penflags: u32,
28547 ) -> windows_core::HRESULT {
28548 unsafe {
28549 let this: &Identity =
28550 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28551 ICoreWebView2PointerInfo_Impl::SetPenFlags(
28552 this,
28553 core::mem::transmute_copy(&penflags),
28554 )
28555 .into()
28556 }
28557 }
28558 unsafe extern "system" fn PenMask<
28559 Identity: ICoreWebView2PointerInfo_Impl,
28560 const OFFSET: isize,
28561 >(
28562 this: *mut core::ffi::c_void,
28563 penmask: *mut u32,
28564 ) -> windows_core::HRESULT {
28565 unsafe {
28566 let this: &Identity =
28567 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28568 ICoreWebView2PointerInfo_Impl::PenMask(this, core::mem::transmute_copy(&penmask))
28569 .into()
28570 }
28571 }
28572 unsafe extern "system" fn SetPenMask<
28573 Identity: ICoreWebView2PointerInfo_Impl,
28574 const OFFSET: isize,
28575 >(
28576 this: *mut core::ffi::c_void,
28577 penmask: u32,
28578 ) -> windows_core::HRESULT {
28579 unsafe {
28580 let this: &Identity =
28581 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28582 ICoreWebView2PointerInfo_Impl::SetPenMask(this, core::mem::transmute_copy(&penmask))
28583 .into()
28584 }
28585 }
28586 unsafe extern "system" fn PenPressure<
28587 Identity: ICoreWebView2PointerInfo_Impl,
28588 const OFFSET: isize,
28589 >(
28590 this: *mut core::ffi::c_void,
28591 penpressure: *mut u32,
28592 ) -> windows_core::HRESULT {
28593 unsafe {
28594 let this: &Identity =
28595 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28596 ICoreWebView2PointerInfo_Impl::PenPressure(
28597 this,
28598 core::mem::transmute_copy(&penpressure),
28599 )
28600 .into()
28601 }
28602 }
28603 unsafe extern "system" fn SetPenPressure<
28604 Identity: ICoreWebView2PointerInfo_Impl,
28605 const OFFSET: isize,
28606 >(
28607 this: *mut core::ffi::c_void,
28608 penpressure: u32,
28609 ) -> windows_core::HRESULT {
28610 unsafe {
28611 let this: &Identity =
28612 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28613 ICoreWebView2PointerInfo_Impl::SetPenPressure(
28614 this,
28615 core::mem::transmute_copy(&penpressure),
28616 )
28617 .into()
28618 }
28619 }
28620 unsafe extern "system" fn PenRotation<
28621 Identity: ICoreWebView2PointerInfo_Impl,
28622 const OFFSET: isize,
28623 >(
28624 this: *mut core::ffi::c_void,
28625 penrotation: *mut u32,
28626 ) -> windows_core::HRESULT {
28627 unsafe {
28628 let this: &Identity =
28629 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28630 ICoreWebView2PointerInfo_Impl::PenRotation(
28631 this,
28632 core::mem::transmute_copy(&penrotation),
28633 )
28634 .into()
28635 }
28636 }
28637 unsafe extern "system" fn SetPenRotation<
28638 Identity: ICoreWebView2PointerInfo_Impl,
28639 const OFFSET: isize,
28640 >(
28641 this: *mut core::ffi::c_void,
28642 penrotation: u32,
28643 ) -> windows_core::HRESULT {
28644 unsafe {
28645 let this: &Identity =
28646 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28647 ICoreWebView2PointerInfo_Impl::SetPenRotation(
28648 this,
28649 core::mem::transmute_copy(&penrotation),
28650 )
28651 .into()
28652 }
28653 }
28654 unsafe extern "system" fn PenTiltX<
28655 Identity: ICoreWebView2PointerInfo_Impl,
28656 const OFFSET: isize,
28657 >(
28658 this: *mut core::ffi::c_void,
28659 pentiltx: *mut i32,
28660 ) -> windows_core::HRESULT {
28661 unsafe {
28662 let this: &Identity =
28663 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28664 ICoreWebView2PointerInfo_Impl::PenTiltX(this, core::mem::transmute_copy(&pentiltx))
28665 .into()
28666 }
28667 }
28668 unsafe extern "system" fn SetPenTiltX<
28669 Identity: ICoreWebView2PointerInfo_Impl,
28670 const OFFSET: isize,
28671 >(
28672 this: *mut core::ffi::c_void,
28673 pentiltx: i32,
28674 ) -> windows_core::HRESULT {
28675 unsafe {
28676 let this: &Identity =
28677 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28678 ICoreWebView2PointerInfo_Impl::SetPenTiltX(
28679 this,
28680 core::mem::transmute_copy(&pentiltx),
28681 )
28682 .into()
28683 }
28684 }
28685 unsafe extern "system" fn PenTiltY<
28686 Identity: ICoreWebView2PointerInfo_Impl,
28687 const OFFSET: isize,
28688 >(
28689 this: *mut core::ffi::c_void,
28690 pentilty: *mut i32,
28691 ) -> windows_core::HRESULT {
28692 unsafe {
28693 let this: &Identity =
28694 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28695 ICoreWebView2PointerInfo_Impl::PenTiltY(this, core::mem::transmute_copy(&pentilty))
28696 .into()
28697 }
28698 }
28699 unsafe extern "system" fn SetPenTiltY<
28700 Identity: ICoreWebView2PointerInfo_Impl,
28701 const OFFSET: isize,
28702 >(
28703 this: *mut core::ffi::c_void,
28704 pentilty: i32,
28705 ) -> windows_core::HRESULT {
28706 unsafe {
28707 let this: &Identity =
28708 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28709 ICoreWebView2PointerInfo_Impl::SetPenTiltY(
28710 this,
28711 core::mem::transmute_copy(&pentilty),
28712 )
28713 .into()
28714 }
28715 }
28716 unsafe extern "system" fn TouchFlags<
28717 Identity: ICoreWebView2PointerInfo_Impl,
28718 const OFFSET: isize,
28719 >(
28720 this: *mut core::ffi::c_void,
28721 touchflags: *mut u32,
28722 ) -> windows_core::HRESULT {
28723 unsafe {
28724 let this: &Identity =
28725 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28726 ICoreWebView2PointerInfo_Impl::TouchFlags(
28727 this,
28728 core::mem::transmute_copy(&touchflags),
28729 )
28730 .into()
28731 }
28732 }
28733 unsafe extern "system" fn SetTouchFlags<
28734 Identity: ICoreWebView2PointerInfo_Impl,
28735 const OFFSET: isize,
28736 >(
28737 this: *mut core::ffi::c_void,
28738 touchflags: u32,
28739 ) -> windows_core::HRESULT {
28740 unsafe {
28741 let this: &Identity =
28742 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28743 ICoreWebView2PointerInfo_Impl::SetTouchFlags(
28744 this,
28745 core::mem::transmute_copy(&touchflags),
28746 )
28747 .into()
28748 }
28749 }
28750 unsafe extern "system" fn TouchMask<
28751 Identity: ICoreWebView2PointerInfo_Impl,
28752 const OFFSET: isize,
28753 >(
28754 this: *mut core::ffi::c_void,
28755 touchmask: *mut u32,
28756 ) -> windows_core::HRESULT {
28757 unsafe {
28758 let this: &Identity =
28759 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28760 ICoreWebView2PointerInfo_Impl::TouchMask(
28761 this,
28762 core::mem::transmute_copy(&touchmask),
28763 )
28764 .into()
28765 }
28766 }
28767 unsafe extern "system" fn SetTouchMask<
28768 Identity: ICoreWebView2PointerInfo_Impl,
28769 const OFFSET: isize,
28770 >(
28771 this: *mut core::ffi::c_void,
28772 touchmask: u32,
28773 ) -> windows_core::HRESULT {
28774 unsafe {
28775 let this: &Identity =
28776 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28777 ICoreWebView2PointerInfo_Impl::SetTouchMask(
28778 this,
28779 core::mem::transmute_copy(&touchmask),
28780 )
28781 .into()
28782 }
28783 }
28784 unsafe extern "system" fn TouchContact<
28785 Identity: ICoreWebView2PointerInfo_Impl,
28786 const OFFSET: isize,
28787 >(
28788 this: *mut core::ffi::c_void,
28789 touchcontact: *mut windows::Win32::Foundation::RECT,
28790 ) -> windows_core::HRESULT {
28791 unsafe {
28792 let this: &Identity =
28793 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28794 ICoreWebView2PointerInfo_Impl::TouchContact(
28795 this,
28796 core::mem::transmute_copy(&touchcontact),
28797 )
28798 .into()
28799 }
28800 }
28801 unsafe extern "system" fn SetTouchContact<
28802 Identity: ICoreWebView2PointerInfo_Impl,
28803 const OFFSET: isize,
28804 >(
28805 this: *mut core::ffi::c_void,
28806 touchcontact: windows::Win32::Foundation::RECT,
28807 ) -> windows_core::HRESULT {
28808 unsafe {
28809 let this: &Identity =
28810 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28811 ICoreWebView2PointerInfo_Impl::SetTouchContact(
28812 this,
28813 core::mem::transmute(&touchcontact),
28814 )
28815 .into()
28816 }
28817 }
28818 unsafe extern "system" fn TouchContactRaw<
28819 Identity: ICoreWebView2PointerInfo_Impl,
28820 const OFFSET: isize,
28821 >(
28822 this: *mut core::ffi::c_void,
28823 touchcontactraw: *mut windows::Win32::Foundation::RECT,
28824 ) -> windows_core::HRESULT {
28825 unsafe {
28826 let this: &Identity =
28827 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28828 ICoreWebView2PointerInfo_Impl::TouchContactRaw(
28829 this,
28830 core::mem::transmute_copy(&touchcontactraw),
28831 )
28832 .into()
28833 }
28834 }
28835 unsafe extern "system" fn SetTouchContactRaw<
28836 Identity: ICoreWebView2PointerInfo_Impl,
28837 const OFFSET: isize,
28838 >(
28839 this: *mut core::ffi::c_void,
28840 touchcontactraw: windows::Win32::Foundation::RECT,
28841 ) -> windows_core::HRESULT {
28842 unsafe {
28843 let this: &Identity =
28844 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28845 ICoreWebView2PointerInfo_Impl::SetTouchContactRaw(
28846 this,
28847 core::mem::transmute(&touchcontactraw),
28848 )
28849 .into()
28850 }
28851 }
28852 unsafe extern "system" fn TouchOrientation<
28853 Identity: ICoreWebView2PointerInfo_Impl,
28854 const OFFSET: isize,
28855 >(
28856 this: *mut core::ffi::c_void,
28857 touchorientation: *mut u32,
28858 ) -> windows_core::HRESULT {
28859 unsafe {
28860 let this: &Identity =
28861 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28862 ICoreWebView2PointerInfo_Impl::TouchOrientation(
28863 this,
28864 core::mem::transmute_copy(&touchorientation),
28865 )
28866 .into()
28867 }
28868 }
28869 unsafe extern "system" fn SetTouchOrientation<
28870 Identity: ICoreWebView2PointerInfo_Impl,
28871 const OFFSET: isize,
28872 >(
28873 this: *mut core::ffi::c_void,
28874 touchorientation: u32,
28875 ) -> windows_core::HRESULT {
28876 unsafe {
28877 let this: &Identity =
28878 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28879 ICoreWebView2PointerInfo_Impl::SetTouchOrientation(
28880 this,
28881 core::mem::transmute_copy(&touchorientation),
28882 )
28883 .into()
28884 }
28885 }
28886 unsafe extern "system" fn TouchPressure<
28887 Identity: ICoreWebView2PointerInfo_Impl,
28888 const OFFSET: isize,
28889 >(
28890 this: *mut core::ffi::c_void,
28891 touchpressure: *mut u32,
28892 ) -> windows_core::HRESULT {
28893 unsafe {
28894 let this: &Identity =
28895 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28896 ICoreWebView2PointerInfo_Impl::TouchPressure(
28897 this,
28898 core::mem::transmute_copy(&touchpressure),
28899 )
28900 .into()
28901 }
28902 }
28903 unsafe extern "system" fn SetTouchPressure<
28904 Identity: ICoreWebView2PointerInfo_Impl,
28905 const OFFSET: isize,
28906 >(
28907 this: *mut core::ffi::c_void,
28908 touchpressure: u32,
28909 ) -> windows_core::HRESULT {
28910 unsafe {
28911 let this: &Identity =
28912 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28913 ICoreWebView2PointerInfo_Impl::SetTouchPressure(
28914 this,
28915 core::mem::transmute_copy(&touchpressure),
28916 )
28917 .into()
28918 }
28919 }
28920 Self {
28921 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
28922 PointerKind: PointerKind::<Identity, OFFSET>,
28923 SetPointerKind: SetPointerKind::<Identity, OFFSET>,
28924 PointerId: PointerId::<Identity, OFFSET>,
28925 SetPointerId: SetPointerId::<Identity, OFFSET>,
28926 FrameId: FrameId::<Identity, OFFSET>,
28927 SetFrameId: SetFrameId::<Identity, OFFSET>,
28928 PointerFlags: PointerFlags::<Identity, OFFSET>,
28929 SetPointerFlags: SetPointerFlags::<Identity, OFFSET>,
28930 PointerDeviceRect: PointerDeviceRect::<Identity, OFFSET>,
28931 SetPointerDeviceRect: SetPointerDeviceRect::<Identity, OFFSET>,
28932 DisplayRect: DisplayRect::<Identity, OFFSET>,
28933 SetDisplayRect: SetDisplayRect::<Identity, OFFSET>,
28934 PixelLocation: PixelLocation::<Identity, OFFSET>,
28935 SetPixelLocation: SetPixelLocation::<Identity, OFFSET>,
28936 HimetricLocation: HimetricLocation::<Identity, OFFSET>,
28937 SetHimetricLocation: SetHimetricLocation::<Identity, OFFSET>,
28938 PixelLocationRaw: PixelLocationRaw::<Identity, OFFSET>,
28939 SetPixelLocationRaw: SetPixelLocationRaw::<Identity, OFFSET>,
28940 HimetricLocationRaw: HimetricLocationRaw::<Identity, OFFSET>,
28941 SetHimetricLocationRaw: SetHimetricLocationRaw::<Identity, OFFSET>,
28942 Time: Time::<Identity, OFFSET>,
28943 SetTime: SetTime::<Identity, OFFSET>,
28944 HistoryCount: HistoryCount::<Identity, OFFSET>,
28945 SetHistoryCount: SetHistoryCount::<Identity, OFFSET>,
28946 InputData: InputData::<Identity, OFFSET>,
28947 SetInputData: SetInputData::<Identity, OFFSET>,
28948 KeyStates: KeyStates::<Identity, OFFSET>,
28949 SetKeyStates: SetKeyStates::<Identity, OFFSET>,
28950 PerformanceCount: PerformanceCount::<Identity, OFFSET>,
28951 SetPerformanceCount: SetPerformanceCount::<Identity, OFFSET>,
28952 ButtonChangeKind: ButtonChangeKind::<Identity, OFFSET>,
28953 SetButtonChangeKind: SetButtonChangeKind::<Identity, OFFSET>,
28954 PenFlags: PenFlags::<Identity, OFFSET>,
28955 SetPenFlags: SetPenFlags::<Identity, OFFSET>,
28956 PenMask: PenMask::<Identity, OFFSET>,
28957 SetPenMask: SetPenMask::<Identity, OFFSET>,
28958 PenPressure: PenPressure::<Identity, OFFSET>,
28959 SetPenPressure: SetPenPressure::<Identity, OFFSET>,
28960 PenRotation: PenRotation::<Identity, OFFSET>,
28961 SetPenRotation: SetPenRotation::<Identity, OFFSET>,
28962 PenTiltX: PenTiltX::<Identity, OFFSET>,
28963 SetPenTiltX: SetPenTiltX::<Identity, OFFSET>,
28964 PenTiltY: PenTiltY::<Identity, OFFSET>,
28965 SetPenTiltY: SetPenTiltY::<Identity, OFFSET>,
28966 TouchFlags: TouchFlags::<Identity, OFFSET>,
28967 SetTouchFlags: SetTouchFlags::<Identity, OFFSET>,
28968 TouchMask: TouchMask::<Identity, OFFSET>,
28969 SetTouchMask: SetTouchMask::<Identity, OFFSET>,
28970 TouchContact: TouchContact::<Identity, OFFSET>,
28971 SetTouchContact: SetTouchContact::<Identity, OFFSET>,
28972 TouchContactRaw: TouchContactRaw::<Identity, OFFSET>,
28973 SetTouchContactRaw: SetTouchContactRaw::<Identity, OFFSET>,
28974 TouchOrientation: TouchOrientation::<Identity, OFFSET>,
28975 SetTouchOrientation: SetTouchOrientation::<Identity, OFFSET>,
28976 TouchPressure: TouchPressure::<Identity, OFFSET>,
28977 SetTouchPressure: SetTouchPressure::<Identity, OFFSET>,
28978 }
28979 }
28980 pub fn matches(iid: &windows_core::GUID) -> bool {
28981 iid == &<ICoreWebView2PointerInfo as windows_core::Interface>::IID
28982 }
28983}
28984impl windows_core::RuntimeName for ICoreWebView2PointerInfo {}
28985windows_core::imp::define_interface!(
28986 ICoreWebView2PrintCompletedHandler,
28987 ICoreWebView2PrintCompletedHandler_Vtbl,
28988 0x8fd80075_ed08_42db_8570_f5d14977461e
28989);
28990windows_core::imp::interface_hierarchy!(ICoreWebView2PrintCompletedHandler, windows_core::IUnknown);
28991impl ICoreWebView2PrintCompletedHandler {
28992 pub unsafe fn Invoke(
28993 &self,
28994 errorcode: windows_core::HRESULT,
28995 result: COREWEBVIEW2_PRINT_STATUS,
28996 ) -> windows_core::Result<()> {
28997 unsafe {
28998 (windows_core::Interface::vtable(self).Invoke)(
28999 windows_core::Interface::as_raw(self),
29000 errorcode,
29001 result,
29002 )
29003 .ok()
29004 }
29005 }
29006}
29007#[repr(C)]
29008#[doc(hidden)]
29009pub struct ICoreWebView2PrintCompletedHandler_Vtbl {
29010 pub base__: windows_core::IUnknown_Vtbl,
29011 pub Invoke: unsafe extern "system" fn(
29012 *mut core::ffi::c_void,
29013 windows_core::HRESULT,
29014 COREWEBVIEW2_PRINT_STATUS,
29015 ) -> windows_core::HRESULT,
29016}
29017pub trait ICoreWebView2PrintCompletedHandler_Impl: windows_core::IUnknownImpl {
29018 fn Invoke(
29019 &self,
29020 errorcode: windows_core::HRESULT,
29021 result: COREWEBVIEW2_PRINT_STATUS,
29022 ) -> windows_core::Result<()>;
29023}
29024impl ICoreWebView2PrintCompletedHandler_Vtbl {
29025 pub const fn new<Identity: ICoreWebView2PrintCompletedHandler_Impl, const OFFSET: isize>(
29026 ) -> Self {
29027 unsafe extern "system" fn Invoke<
29028 Identity: ICoreWebView2PrintCompletedHandler_Impl,
29029 const OFFSET: isize,
29030 >(
29031 this: *mut core::ffi::c_void,
29032 errorcode: windows_core::HRESULT,
29033 result: COREWEBVIEW2_PRINT_STATUS,
29034 ) -> windows_core::HRESULT {
29035 unsafe {
29036 let this: &Identity =
29037 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29038 ICoreWebView2PrintCompletedHandler_Impl::Invoke(
29039 this,
29040 core::mem::transmute_copy(&errorcode),
29041 core::mem::transmute_copy(&result),
29042 )
29043 .into()
29044 }
29045 }
29046 Self {
29047 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29048 Invoke: Invoke::<Identity, OFFSET>,
29049 }
29050 }
29051 pub fn matches(iid: &windows_core::GUID) -> bool {
29052 iid == &<ICoreWebView2PrintCompletedHandler as windows_core::Interface>::IID
29053 }
29054}
29055impl windows_core::RuntimeName for ICoreWebView2PrintCompletedHandler {}
29056windows_core::imp::define_interface!(
29057 ICoreWebView2PrintSettings,
29058 ICoreWebView2PrintSettings_Vtbl,
29059 0x377f3721_c74e_48ca_8db1_df68e51d60e2
29060);
29061windows_core::imp::interface_hierarchy!(ICoreWebView2PrintSettings, windows_core::IUnknown);
29062impl ICoreWebView2PrintSettings {
29063 pub unsafe fn Orientation(
29064 &self,
29065 orientation: *mut COREWEBVIEW2_PRINT_ORIENTATION,
29066 ) -> windows_core::Result<()> {
29067 unsafe {
29068 (windows_core::Interface::vtable(self).Orientation)(
29069 windows_core::Interface::as_raw(self),
29070 orientation as _,
29071 )
29072 .ok()
29073 }
29074 }
29075 pub unsafe fn SetOrientation(
29076 &self,
29077 orientation: COREWEBVIEW2_PRINT_ORIENTATION,
29078 ) -> windows_core::Result<()> {
29079 unsafe {
29080 (windows_core::Interface::vtable(self).SetOrientation)(
29081 windows_core::Interface::as_raw(self),
29082 orientation,
29083 )
29084 .ok()
29085 }
29086 }
29087 pub unsafe fn ScaleFactor(&self, scalefactor: *mut f64) -> windows_core::Result<()> {
29088 unsafe {
29089 (windows_core::Interface::vtable(self).ScaleFactor)(
29090 windows_core::Interface::as_raw(self),
29091 scalefactor as _,
29092 )
29093 .ok()
29094 }
29095 }
29096 pub unsafe fn SetScaleFactor(&self, scalefactor: f64) -> windows_core::Result<()> {
29097 unsafe {
29098 (windows_core::Interface::vtable(self).SetScaleFactor)(
29099 windows_core::Interface::as_raw(self),
29100 scalefactor,
29101 )
29102 .ok()
29103 }
29104 }
29105 pub unsafe fn PageWidth(&self, pagewidth: *mut f64) -> windows_core::Result<()> {
29106 unsafe {
29107 (windows_core::Interface::vtable(self).PageWidth)(
29108 windows_core::Interface::as_raw(self),
29109 pagewidth as _,
29110 )
29111 .ok()
29112 }
29113 }
29114 pub unsafe fn SetPageWidth(&self, pagewidth: f64) -> windows_core::Result<()> {
29115 unsafe {
29116 (windows_core::Interface::vtable(self).SetPageWidth)(
29117 windows_core::Interface::as_raw(self),
29118 pagewidth,
29119 )
29120 .ok()
29121 }
29122 }
29123 pub unsafe fn PageHeight(&self, pageheight: *mut f64) -> windows_core::Result<()> {
29124 unsafe {
29125 (windows_core::Interface::vtable(self).PageHeight)(
29126 windows_core::Interface::as_raw(self),
29127 pageheight as _,
29128 )
29129 .ok()
29130 }
29131 }
29132 pub unsafe fn SetPageHeight(&self, pageheight: f64) -> windows_core::Result<()> {
29133 unsafe {
29134 (windows_core::Interface::vtable(self).SetPageHeight)(
29135 windows_core::Interface::as_raw(self),
29136 pageheight,
29137 )
29138 .ok()
29139 }
29140 }
29141 pub unsafe fn MarginTop(&self, margintop: *mut f64) -> windows_core::Result<()> {
29142 unsafe {
29143 (windows_core::Interface::vtable(self).MarginTop)(
29144 windows_core::Interface::as_raw(self),
29145 margintop as _,
29146 )
29147 .ok()
29148 }
29149 }
29150 pub unsafe fn SetMarginTop(&self, margintop: f64) -> windows_core::Result<()> {
29151 unsafe {
29152 (windows_core::Interface::vtable(self).SetMarginTop)(
29153 windows_core::Interface::as_raw(self),
29154 margintop,
29155 )
29156 .ok()
29157 }
29158 }
29159 pub unsafe fn MarginBottom(&self, marginbottom: *mut f64) -> windows_core::Result<()> {
29160 unsafe {
29161 (windows_core::Interface::vtable(self).MarginBottom)(
29162 windows_core::Interface::as_raw(self),
29163 marginbottom as _,
29164 )
29165 .ok()
29166 }
29167 }
29168 pub unsafe fn SetMarginBottom(&self, marginbottom: f64) -> windows_core::Result<()> {
29169 unsafe {
29170 (windows_core::Interface::vtable(self).SetMarginBottom)(
29171 windows_core::Interface::as_raw(self),
29172 marginbottom,
29173 )
29174 .ok()
29175 }
29176 }
29177 pub unsafe fn MarginLeft(&self, marginleft: *mut f64) -> windows_core::Result<()> {
29178 unsafe {
29179 (windows_core::Interface::vtable(self).MarginLeft)(
29180 windows_core::Interface::as_raw(self),
29181 marginleft as _,
29182 )
29183 .ok()
29184 }
29185 }
29186 pub unsafe fn SetMarginLeft(&self, marginleft: f64) -> windows_core::Result<()> {
29187 unsafe {
29188 (windows_core::Interface::vtable(self).SetMarginLeft)(
29189 windows_core::Interface::as_raw(self),
29190 marginleft,
29191 )
29192 .ok()
29193 }
29194 }
29195 pub unsafe fn MarginRight(&self, marginright: *mut f64) -> windows_core::Result<()> {
29196 unsafe {
29197 (windows_core::Interface::vtable(self).MarginRight)(
29198 windows_core::Interface::as_raw(self),
29199 marginright as _,
29200 )
29201 .ok()
29202 }
29203 }
29204 pub unsafe fn SetMarginRight(&self, marginright: f64) -> windows_core::Result<()> {
29205 unsafe {
29206 (windows_core::Interface::vtable(self).SetMarginRight)(
29207 windows_core::Interface::as_raw(self),
29208 marginright,
29209 )
29210 .ok()
29211 }
29212 }
29213 pub unsafe fn ShouldPrintBackgrounds(
29214 &self,
29215 shouldprintbackgrounds: *mut windows_core::BOOL,
29216 ) -> windows_core::Result<()> {
29217 unsafe {
29218 (windows_core::Interface::vtable(self).ShouldPrintBackgrounds)(
29219 windows_core::Interface::as_raw(self),
29220 shouldprintbackgrounds as _,
29221 )
29222 .ok()
29223 }
29224 }
29225 pub unsafe fn SetShouldPrintBackgrounds(
29226 &self,
29227 shouldprintbackgrounds: bool,
29228 ) -> windows_core::Result<()> {
29229 unsafe {
29230 (windows_core::Interface::vtable(self).SetShouldPrintBackgrounds)(
29231 windows_core::Interface::as_raw(self),
29232 shouldprintbackgrounds.into(),
29233 )
29234 .ok()
29235 }
29236 }
29237 pub unsafe fn ShouldPrintSelectionOnly(
29238 &self,
29239 shouldprintselectiononly: *mut windows_core::BOOL,
29240 ) -> windows_core::Result<()> {
29241 unsafe {
29242 (windows_core::Interface::vtable(self).ShouldPrintSelectionOnly)(
29243 windows_core::Interface::as_raw(self),
29244 shouldprintselectiononly as _,
29245 )
29246 .ok()
29247 }
29248 }
29249 pub unsafe fn SetShouldPrintSelectionOnly(
29250 &self,
29251 shouldprintselectiononly: bool,
29252 ) -> windows_core::Result<()> {
29253 unsafe {
29254 (windows_core::Interface::vtable(self).SetShouldPrintSelectionOnly)(
29255 windows_core::Interface::as_raw(self),
29256 shouldprintselectiononly.into(),
29257 )
29258 .ok()
29259 }
29260 }
29261 pub unsafe fn ShouldPrintHeaderAndFooter(
29262 &self,
29263 shouldprintheaderandfooter: *mut windows_core::BOOL,
29264 ) -> windows_core::Result<()> {
29265 unsafe {
29266 (windows_core::Interface::vtable(self).ShouldPrintHeaderAndFooter)(
29267 windows_core::Interface::as_raw(self),
29268 shouldprintheaderandfooter as _,
29269 )
29270 .ok()
29271 }
29272 }
29273 pub unsafe fn SetShouldPrintHeaderAndFooter(
29274 &self,
29275 shouldprintheaderandfooter: bool,
29276 ) -> windows_core::Result<()> {
29277 unsafe {
29278 (windows_core::Interface::vtable(self).SetShouldPrintHeaderAndFooter)(
29279 windows_core::Interface::as_raw(self),
29280 shouldprintheaderandfooter.into(),
29281 )
29282 .ok()
29283 }
29284 }
29285 pub unsafe fn HeaderTitle(
29286 &self,
29287 headertitle: *mut windows_core::PWSTR,
29288 ) -> windows_core::Result<()> {
29289 unsafe {
29290 (windows_core::Interface::vtable(self).HeaderTitle)(
29291 windows_core::Interface::as_raw(self),
29292 headertitle as _,
29293 )
29294 .ok()
29295 }
29296 }
29297 pub unsafe fn SetHeaderTitle<P0>(&self, headertitle: P0) -> windows_core::Result<()>
29298 where
29299 P0: windows_core::Param<windows_core::PCWSTR>,
29300 {
29301 unsafe {
29302 (windows_core::Interface::vtable(self).SetHeaderTitle)(
29303 windows_core::Interface::as_raw(self),
29304 headertitle.param().abi(),
29305 )
29306 .ok()
29307 }
29308 }
29309 pub unsafe fn FooterUri(
29310 &self,
29311 footeruri: *mut windows_core::PWSTR,
29312 ) -> windows_core::Result<()> {
29313 unsafe {
29314 (windows_core::Interface::vtable(self).FooterUri)(
29315 windows_core::Interface::as_raw(self),
29316 footeruri as _,
29317 )
29318 .ok()
29319 }
29320 }
29321 pub unsafe fn SetFooterUri<P0>(&self, footeruri: P0) -> windows_core::Result<()>
29322 where
29323 P0: windows_core::Param<windows_core::PCWSTR>,
29324 {
29325 unsafe {
29326 (windows_core::Interface::vtable(self).SetFooterUri)(
29327 windows_core::Interface::as_raw(self),
29328 footeruri.param().abi(),
29329 )
29330 .ok()
29331 }
29332 }
29333}
29334#[repr(C)]
29335#[doc(hidden)]
29336pub struct ICoreWebView2PrintSettings_Vtbl {
29337 pub base__: windows_core::IUnknown_Vtbl,
29338 pub Orientation: unsafe extern "system" fn(
29339 *mut core::ffi::c_void,
29340 *mut COREWEBVIEW2_PRINT_ORIENTATION,
29341 ) -> windows_core::HRESULT,
29342 pub SetOrientation: unsafe extern "system" fn(
29343 *mut core::ffi::c_void,
29344 COREWEBVIEW2_PRINT_ORIENTATION,
29345 ) -> windows_core::HRESULT,
29346 pub ScaleFactor:
29347 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
29348 pub SetScaleFactor:
29349 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
29350 pub PageWidth:
29351 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
29352 pub SetPageWidth:
29353 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
29354 pub PageHeight:
29355 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
29356 pub SetPageHeight:
29357 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
29358 pub MarginTop:
29359 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
29360 pub SetMarginTop:
29361 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
29362 pub MarginBottom:
29363 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
29364 pub SetMarginBottom:
29365 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
29366 pub MarginLeft:
29367 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
29368 pub SetMarginLeft:
29369 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
29370 pub MarginRight:
29371 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
29372 pub SetMarginRight:
29373 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
29374 pub ShouldPrintBackgrounds: unsafe extern "system" fn(
29375 *mut core::ffi::c_void,
29376 *mut windows_core::BOOL,
29377 ) -> windows_core::HRESULT,
29378 pub SetShouldPrintBackgrounds: unsafe extern "system" fn(
29379 *mut core::ffi::c_void,
29380 windows_core::BOOL,
29381 ) -> windows_core::HRESULT,
29382 pub ShouldPrintSelectionOnly: unsafe extern "system" fn(
29383 *mut core::ffi::c_void,
29384 *mut windows_core::BOOL,
29385 ) -> windows_core::HRESULT,
29386 pub SetShouldPrintSelectionOnly: unsafe extern "system" fn(
29387 *mut core::ffi::c_void,
29388 windows_core::BOOL,
29389 ) -> windows_core::HRESULT,
29390 pub ShouldPrintHeaderAndFooter: unsafe extern "system" fn(
29391 *mut core::ffi::c_void,
29392 *mut windows_core::BOOL,
29393 ) -> windows_core::HRESULT,
29394 pub SetShouldPrintHeaderAndFooter: unsafe extern "system" fn(
29395 *mut core::ffi::c_void,
29396 windows_core::BOOL,
29397 ) -> windows_core::HRESULT,
29398 pub HeaderTitle: unsafe extern "system" fn(
29399 *mut core::ffi::c_void,
29400 *mut windows_core::PWSTR,
29401 ) -> windows_core::HRESULT,
29402 pub SetHeaderTitle: unsafe extern "system" fn(
29403 *mut core::ffi::c_void,
29404 windows_core::PCWSTR,
29405 ) -> windows_core::HRESULT,
29406 pub FooterUri: unsafe extern "system" fn(
29407 *mut core::ffi::c_void,
29408 *mut windows_core::PWSTR,
29409 ) -> windows_core::HRESULT,
29410 pub SetFooterUri: unsafe extern "system" fn(
29411 *mut core::ffi::c_void,
29412 windows_core::PCWSTR,
29413 ) -> windows_core::HRESULT,
29414}
29415pub trait ICoreWebView2PrintSettings_Impl: windows_core::IUnknownImpl {
29416 fn Orientation(
29417 &self,
29418 orientation: *mut COREWEBVIEW2_PRINT_ORIENTATION,
29419 ) -> windows_core::Result<()>;
29420 fn SetOrientation(
29421 &self,
29422 orientation: COREWEBVIEW2_PRINT_ORIENTATION,
29423 ) -> windows_core::Result<()>;
29424 fn ScaleFactor(&self, scalefactor: *mut f64) -> windows_core::Result<()>;
29425 fn SetScaleFactor(&self, scalefactor: f64) -> windows_core::Result<()>;
29426 fn PageWidth(&self, pagewidth: *mut f64) -> windows_core::Result<()>;
29427 fn SetPageWidth(&self, pagewidth: f64) -> windows_core::Result<()>;
29428 fn PageHeight(&self, pageheight: *mut f64) -> windows_core::Result<()>;
29429 fn SetPageHeight(&self, pageheight: f64) -> windows_core::Result<()>;
29430 fn MarginTop(&self, margintop: *mut f64) -> windows_core::Result<()>;
29431 fn SetMarginTop(&self, margintop: f64) -> windows_core::Result<()>;
29432 fn MarginBottom(&self, marginbottom: *mut f64) -> windows_core::Result<()>;
29433 fn SetMarginBottom(&self, marginbottom: f64) -> windows_core::Result<()>;
29434 fn MarginLeft(&self, marginleft: *mut f64) -> windows_core::Result<()>;
29435 fn SetMarginLeft(&self, marginleft: f64) -> windows_core::Result<()>;
29436 fn MarginRight(&self, marginright: *mut f64) -> windows_core::Result<()>;
29437 fn SetMarginRight(&self, marginright: f64) -> windows_core::Result<()>;
29438 fn ShouldPrintBackgrounds(
29439 &self,
29440 shouldprintbackgrounds: *mut windows_core::BOOL,
29441 ) -> windows_core::Result<()>;
29442 fn SetShouldPrintBackgrounds(
29443 &self,
29444 shouldprintbackgrounds: windows_core::BOOL,
29445 ) -> windows_core::Result<()>;
29446 fn ShouldPrintSelectionOnly(
29447 &self,
29448 shouldprintselectiononly: *mut windows_core::BOOL,
29449 ) -> windows_core::Result<()>;
29450 fn SetShouldPrintSelectionOnly(
29451 &self,
29452 shouldprintselectiononly: windows_core::BOOL,
29453 ) -> windows_core::Result<()>;
29454 fn ShouldPrintHeaderAndFooter(
29455 &self,
29456 shouldprintheaderandfooter: *mut windows_core::BOOL,
29457 ) -> windows_core::Result<()>;
29458 fn SetShouldPrintHeaderAndFooter(
29459 &self,
29460 shouldprintheaderandfooter: windows_core::BOOL,
29461 ) -> windows_core::Result<()>;
29462 fn HeaderTitle(&self, headertitle: *mut windows_core::PWSTR) -> windows_core::Result<()>;
29463 fn SetHeaderTitle(&self, headertitle: &windows_core::PCWSTR) -> windows_core::Result<()>;
29464 fn FooterUri(&self, footeruri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
29465 fn SetFooterUri(&self, footeruri: &windows_core::PCWSTR) -> windows_core::Result<()>;
29466}
29467impl ICoreWebView2PrintSettings_Vtbl {
29468 pub const fn new<Identity: ICoreWebView2PrintSettings_Impl, const OFFSET: isize>() -> Self {
29469 unsafe extern "system" fn Orientation<
29470 Identity: ICoreWebView2PrintSettings_Impl,
29471 const OFFSET: isize,
29472 >(
29473 this: *mut core::ffi::c_void,
29474 orientation: *mut COREWEBVIEW2_PRINT_ORIENTATION,
29475 ) -> windows_core::HRESULT {
29476 unsafe {
29477 let this: &Identity =
29478 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29479 ICoreWebView2PrintSettings_Impl::Orientation(
29480 this,
29481 core::mem::transmute_copy(&orientation),
29482 )
29483 .into()
29484 }
29485 }
29486 unsafe extern "system" fn SetOrientation<
29487 Identity: ICoreWebView2PrintSettings_Impl,
29488 const OFFSET: isize,
29489 >(
29490 this: *mut core::ffi::c_void,
29491 orientation: COREWEBVIEW2_PRINT_ORIENTATION,
29492 ) -> windows_core::HRESULT {
29493 unsafe {
29494 let this: &Identity =
29495 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29496 ICoreWebView2PrintSettings_Impl::SetOrientation(
29497 this,
29498 core::mem::transmute_copy(&orientation),
29499 )
29500 .into()
29501 }
29502 }
29503 unsafe extern "system" fn ScaleFactor<
29504 Identity: ICoreWebView2PrintSettings_Impl,
29505 const OFFSET: isize,
29506 >(
29507 this: *mut core::ffi::c_void,
29508 scalefactor: *mut f64,
29509 ) -> windows_core::HRESULT {
29510 unsafe {
29511 let this: &Identity =
29512 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29513 ICoreWebView2PrintSettings_Impl::ScaleFactor(
29514 this,
29515 core::mem::transmute_copy(&scalefactor),
29516 )
29517 .into()
29518 }
29519 }
29520 unsafe extern "system" fn SetScaleFactor<
29521 Identity: ICoreWebView2PrintSettings_Impl,
29522 const OFFSET: isize,
29523 >(
29524 this: *mut core::ffi::c_void,
29525 scalefactor: f64,
29526 ) -> windows_core::HRESULT {
29527 unsafe {
29528 let this: &Identity =
29529 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29530 ICoreWebView2PrintSettings_Impl::SetScaleFactor(
29531 this,
29532 core::mem::transmute_copy(&scalefactor),
29533 )
29534 .into()
29535 }
29536 }
29537 unsafe extern "system" fn PageWidth<
29538 Identity: ICoreWebView2PrintSettings_Impl,
29539 const OFFSET: isize,
29540 >(
29541 this: *mut core::ffi::c_void,
29542 pagewidth: *mut f64,
29543 ) -> windows_core::HRESULT {
29544 unsafe {
29545 let this: &Identity =
29546 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29547 ICoreWebView2PrintSettings_Impl::PageWidth(
29548 this,
29549 core::mem::transmute_copy(&pagewidth),
29550 )
29551 .into()
29552 }
29553 }
29554 unsafe extern "system" fn SetPageWidth<
29555 Identity: ICoreWebView2PrintSettings_Impl,
29556 const OFFSET: isize,
29557 >(
29558 this: *mut core::ffi::c_void,
29559 pagewidth: f64,
29560 ) -> windows_core::HRESULT {
29561 unsafe {
29562 let this: &Identity =
29563 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29564 ICoreWebView2PrintSettings_Impl::SetPageWidth(
29565 this,
29566 core::mem::transmute_copy(&pagewidth),
29567 )
29568 .into()
29569 }
29570 }
29571 unsafe extern "system" fn PageHeight<
29572 Identity: ICoreWebView2PrintSettings_Impl,
29573 const OFFSET: isize,
29574 >(
29575 this: *mut core::ffi::c_void,
29576 pageheight: *mut f64,
29577 ) -> windows_core::HRESULT {
29578 unsafe {
29579 let this: &Identity =
29580 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29581 ICoreWebView2PrintSettings_Impl::PageHeight(
29582 this,
29583 core::mem::transmute_copy(&pageheight),
29584 )
29585 .into()
29586 }
29587 }
29588 unsafe extern "system" fn SetPageHeight<
29589 Identity: ICoreWebView2PrintSettings_Impl,
29590 const OFFSET: isize,
29591 >(
29592 this: *mut core::ffi::c_void,
29593 pageheight: f64,
29594 ) -> windows_core::HRESULT {
29595 unsafe {
29596 let this: &Identity =
29597 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29598 ICoreWebView2PrintSettings_Impl::SetPageHeight(
29599 this,
29600 core::mem::transmute_copy(&pageheight),
29601 )
29602 .into()
29603 }
29604 }
29605 unsafe extern "system" fn MarginTop<
29606 Identity: ICoreWebView2PrintSettings_Impl,
29607 const OFFSET: isize,
29608 >(
29609 this: *mut core::ffi::c_void,
29610 margintop: *mut f64,
29611 ) -> windows_core::HRESULT {
29612 unsafe {
29613 let this: &Identity =
29614 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29615 ICoreWebView2PrintSettings_Impl::MarginTop(
29616 this,
29617 core::mem::transmute_copy(&margintop),
29618 )
29619 .into()
29620 }
29621 }
29622 unsafe extern "system" fn SetMarginTop<
29623 Identity: ICoreWebView2PrintSettings_Impl,
29624 const OFFSET: isize,
29625 >(
29626 this: *mut core::ffi::c_void,
29627 margintop: f64,
29628 ) -> windows_core::HRESULT {
29629 unsafe {
29630 let this: &Identity =
29631 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29632 ICoreWebView2PrintSettings_Impl::SetMarginTop(
29633 this,
29634 core::mem::transmute_copy(&margintop),
29635 )
29636 .into()
29637 }
29638 }
29639 unsafe extern "system" fn MarginBottom<
29640 Identity: ICoreWebView2PrintSettings_Impl,
29641 const OFFSET: isize,
29642 >(
29643 this: *mut core::ffi::c_void,
29644 marginbottom: *mut f64,
29645 ) -> windows_core::HRESULT {
29646 unsafe {
29647 let this: &Identity =
29648 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29649 ICoreWebView2PrintSettings_Impl::MarginBottom(
29650 this,
29651 core::mem::transmute_copy(&marginbottom),
29652 )
29653 .into()
29654 }
29655 }
29656 unsafe extern "system" fn SetMarginBottom<
29657 Identity: ICoreWebView2PrintSettings_Impl,
29658 const OFFSET: isize,
29659 >(
29660 this: *mut core::ffi::c_void,
29661 marginbottom: f64,
29662 ) -> windows_core::HRESULT {
29663 unsafe {
29664 let this: &Identity =
29665 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29666 ICoreWebView2PrintSettings_Impl::SetMarginBottom(
29667 this,
29668 core::mem::transmute_copy(&marginbottom),
29669 )
29670 .into()
29671 }
29672 }
29673 unsafe extern "system" fn MarginLeft<
29674 Identity: ICoreWebView2PrintSettings_Impl,
29675 const OFFSET: isize,
29676 >(
29677 this: *mut core::ffi::c_void,
29678 marginleft: *mut f64,
29679 ) -> windows_core::HRESULT {
29680 unsafe {
29681 let this: &Identity =
29682 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29683 ICoreWebView2PrintSettings_Impl::MarginLeft(
29684 this,
29685 core::mem::transmute_copy(&marginleft),
29686 )
29687 .into()
29688 }
29689 }
29690 unsafe extern "system" fn SetMarginLeft<
29691 Identity: ICoreWebView2PrintSettings_Impl,
29692 const OFFSET: isize,
29693 >(
29694 this: *mut core::ffi::c_void,
29695 marginleft: f64,
29696 ) -> windows_core::HRESULT {
29697 unsafe {
29698 let this: &Identity =
29699 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29700 ICoreWebView2PrintSettings_Impl::SetMarginLeft(
29701 this,
29702 core::mem::transmute_copy(&marginleft),
29703 )
29704 .into()
29705 }
29706 }
29707 unsafe extern "system" fn MarginRight<
29708 Identity: ICoreWebView2PrintSettings_Impl,
29709 const OFFSET: isize,
29710 >(
29711 this: *mut core::ffi::c_void,
29712 marginright: *mut f64,
29713 ) -> windows_core::HRESULT {
29714 unsafe {
29715 let this: &Identity =
29716 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29717 ICoreWebView2PrintSettings_Impl::MarginRight(
29718 this,
29719 core::mem::transmute_copy(&marginright),
29720 )
29721 .into()
29722 }
29723 }
29724 unsafe extern "system" fn SetMarginRight<
29725 Identity: ICoreWebView2PrintSettings_Impl,
29726 const OFFSET: isize,
29727 >(
29728 this: *mut core::ffi::c_void,
29729 marginright: f64,
29730 ) -> windows_core::HRESULT {
29731 unsafe {
29732 let this: &Identity =
29733 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29734 ICoreWebView2PrintSettings_Impl::SetMarginRight(
29735 this,
29736 core::mem::transmute_copy(&marginright),
29737 )
29738 .into()
29739 }
29740 }
29741 unsafe extern "system" fn ShouldPrintBackgrounds<
29742 Identity: ICoreWebView2PrintSettings_Impl,
29743 const OFFSET: isize,
29744 >(
29745 this: *mut core::ffi::c_void,
29746 shouldprintbackgrounds: *mut windows_core::BOOL,
29747 ) -> windows_core::HRESULT {
29748 unsafe {
29749 let this: &Identity =
29750 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29751 ICoreWebView2PrintSettings_Impl::ShouldPrintBackgrounds(
29752 this,
29753 core::mem::transmute_copy(&shouldprintbackgrounds),
29754 )
29755 .into()
29756 }
29757 }
29758 unsafe extern "system" fn SetShouldPrintBackgrounds<
29759 Identity: ICoreWebView2PrintSettings_Impl,
29760 const OFFSET: isize,
29761 >(
29762 this: *mut core::ffi::c_void,
29763 shouldprintbackgrounds: windows_core::BOOL,
29764 ) -> windows_core::HRESULT {
29765 unsafe {
29766 let this: &Identity =
29767 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29768 ICoreWebView2PrintSettings_Impl::SetShouldPrintBackgrounds(
29769 this,
29770 core::mem::transmute_copy(&shouldprintbackgrounds),
29771 )
29772 .into()
29773 }
29774 }
29775 unsafe extern "system" fn ShouldPrintSelectionOnly<
29776 Identity: ICoreWebView2PrintSettings_Impl,
29777 const OFFSET: isize,
29778 >(
29779 this: *mut core::ffi::c_void,
29780 shouldprintselectiononly: *mut windows_core::BOOL,
29781 ) -> windows_core::HRESULT {
29782 unsafe {
29783 let this: &Identity =
29784 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29785 ICoreWebView2PrintSettings_Impl::ShouldPrintSelectionOnly(
29786 this,
29787 core::mem::transmute_copy(&shouldprintselectiononly),
29788 )
29789 .into()
29790 }
29791 }
29792 unsafe extern "system" fn SetShouldPrintSelectionOnly<
29793 Identity: ICoreWebView2PrintSettings_Impl,
29794 const OFFSET: isize,
29795 >(
29796 this: *mut core::ffi::c_void,
29797 shouldprintselectiononly: windows_core::BOOL,
29798 ) -> windows_core::HRESULT {
29799 unsafe {
29800 let this: &Identity =
29801 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29802 ICoreWebView2PrintSettings_Impl::SetShouldPrintSelectionOnly(
29803 this,
29804 core::mem::transmute_copy(&shouldprintselectiononly),
29805 )
29806 .into()
29807 }
29808 }
29809 unsafe extern "system" fn ShouldPrintHeaderAndFooter<
29810 Identity: ICoreWebView2PrintSettings_Impl,
29811 const OFFSET: isize,
29812 >(
29813 this: *mut core::ffi::c_void,
29814 shouldprintheaderandfooter: *mut windows_core::BOOL,
29815 ) -> windows_core::HRESULT {
29816 unsafe {
29817 let this: &Identity =
29818 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29819 ICoreWebView2PrintSettings_Impl::ShouldPrintHeaderAndFooter(
29820 this,
29821 core::mem::transmute_copy(&shouldprintheaderandfooter),
29822 )
29823 .into()
29824 }
29825 }
29826 unsafe extern "system" fn SetShouldPrintHeaderAndFooter<
29827 Identity: ICoreWebView2PrintSettings_Impl,
29828 const OFFSET: isize,
29829 >(
29830 this: *mut core::ffi::c_void,
29831 shouldprintheaderandfooter: windows_core::BOOL,
29832 ) -> windows_core::HRESULT {
29833 unsafe {
29834 let this: &Identity =
29835 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29836 ICoreWebView2PrintSettings_Impl::SetShouldPrintHeaderAndFooter(
29837 this,
29838 core::mem::transmute_copy(&shouldprintheaderandfooter),
29839 )
29840 .into()
29841 }
29842 }
29843 unsafe extern "system" fn HeaderTitle<
29844 Identity: ICoreWebView2PrintSettings_Impl,
29845 const OFFSET: isize,
29846 >(
29847 this: *mut core::ffi::c_void,
29848 headertitle: *mut windows_core::PWSTR,
29849 ) -> windows_core::HRESULT {
29850 unsafe {
29851 let this: &Identity =
29852 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29853 ICoreWebView2PrintSettings_Impl::HeaderTitle(
29854 this,
29855 core::mem::transmute_copy(&headertitle),
29856 )
29857 .into()
29858 }
29859 }
29860 unsafe extern "system" fn SetHeaderTitle<
29861 Identity: ICoreWebView2PrintSettings_Impl,
29862 const OFFSET: isize,
29863 >(
29864 this: *mut core::ffi::c_void,
29865 headertitle: windows_core::PCWSTR,
29866 ) -> windows_core::HRESULT {
29867 unsafe {
29868 let this: &Identity =
29869 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29870 ICoreWebView2PrintSettings_Impl::SetHeaderTitle(
29871 this,
29872 core::mem::transmute(&headertitle),
29873 )
29874 .into()
29875 }
29876 }
29877 unsafe extern "system" fn FooterUri<
29878 Identity: ICoreWebView2PrintSettings_Impl,
29879 const OFFSET: isize,
29880 >(
29881 this: *mut core::ffi::c_void,
29882 footeruri: *mut windows_core::PWSTR,
29883 ) -> windows_core::HRESULT {
29884 unsafe {
29885 let this: &Identity =
29886 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29887 ICoreWebView2PrintSettings_Impl::FooterUri(
29888 this,
29889 core::mem::transmute_copy(&footeruri),
29890 )
29891 .into()
29892 }
29893 }
29894 unsafe extern "system" fn SetFooterUri<
29895 Identity: ICoreWebView2PrintSettings_Impl,
29896 const OFFSET: isize,
29897 >(
29898 this: *mut core::ffi::c_void,
29899 footeruri: windows_core::PCWSTR,
29900 ) -> windows_core::HRESULT {
29901 unsafe {
29902 let this: &Identity =
29903 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29904 ICoreWebView2PrintSettings_Impl::SetFooterUri(
29905 this,
29906 core::mem::transmute(&footeruri),
29907 )
29908 .into()
29909 }
29910 }
29911 Self {
29912 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29913 Orientation: Orientation::<Identity, OFFSET>,
29914 SetOrientation: SetOrientation::<Identity, OFFSET>,
29915 ScaleFactor: ScaleFactor::<Identity, OFFSET>,
29916 SetScaleFactor: SetScaleFactor::<Identity, OFFSET>,
29917 PageWidth: PageWidth::<Identity, OFFSET>,
29918 SetPageWidth: SetPageWidth::<Identity, OFFSET>,
29919 PageHeight: PageHeight::<Identity, OFFSET>,
29920 SetPageHeight: SetPageHeight::<Identity, OFFSET>,
29921 MarginTop: MarginTop::<Identity, OFFSET>,
29922 SetMarginTop: SetMarginTop::<Identity, OFFSET>,
29923 MarginBottom: MarginBottom::<Identity, OFFSET>,
29924 SetMarginBottom: SetMarginBottom::<Identity, OFFSET>,
29925 MarginLeft: MarginLeft::<Identity, OFFSET>,
29926 SetMarginLeft: SetMarginLeft::<Identity, OFFSET>,
29927 MarginRight: MarginRight::<Identity, OFFSET>,
29928 SetMarginRight: SetMarginRight::<Identity, OFFSET>,
29929 ShouldPrintBackgrounds: ShouldPrintBackgrounds::<Identity, OFFSET>,
29930 SetShouldPrintBackgrounds: SetShouldPrintBackgrounds::<Identity, OFFSET>,
29931 ShouldPrintSelectionOnly: ShouldPrintSelectionOnly::<Identity, OFFSET>,
29932 SetShouldPrintSelectionOnly: SetShouldPrintSelectionOnly::<Identity, OFFSET>,
29933 ShouldPrintHeaderAndFooter: ShouldPrintHeaderAndFooter::<Identity, OFFSET>,
29934 SetShouldPrintHeaderAndFooter: SetShouldPrintHeaderAndFooter::<Identity, OFFSET>,
29935 HeaderTitle: HeaderTitle::<Identity, OFFSET>,
29936 SetHeaderTitle: SetHeaderTitle::<Identity, OFFSET>,
29937 FooterUri: FooterUri::<Identity, OFFSET>,
29938 SetFooterUri: SetFooterUri::<Identity, OFFSET>,
29939 }
29940 }
29941 pub fn matches(iid: &windows_core::GUID) -> bool {
29942 iid == &<ICoreWebView2PrintSettings as windows_core::Interface>::IID
29943 }
29944}
29945impl windows_core::RuntimeName for ICoreWebView2PrintSettings {}
29946windows_core::imp::define_interface!(
29947 ICoreWebView2PrintSettings2,
29948 ICoreWebView2PrintSettings2_Vtbl,
29949 0xca7f0e1f_3484_41d1_8c1a_65cd44a63f8d
29950);
29951impl core::ops::Deref for ICoreWebView2PrintSettings2 {
29952 type Target = ICoreWebView2PrintSettings;
29953 fn deref(&self) -> &Self::Target {
29954 unsafe { core::mem::transmute(self) }
29955 }
29956}
29957windows_core::imp::interface_hierarchy!(
29958 ICoreWebView2PrintSettings2,
29959 windows_core::IUnknown,
29960 ICoreWebView2PrintSettings
29961);
29962impl ICoreWebView2PrintSettings2 {
29963 pub unsafe fn PageRanges(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
29964 unsafe {
29965 (windows_core::Interface::vtable(self).PageRanges)(
29966 windows_core::Interface::as_raw(self),
29967 value as _,
29968 )
29969 .ok()
29970 }
29971 }
29972 pub unsafe fn SetPageRanges<P0>(&self, value: P0) -> windows_core::Result<()>
29973 where
29974 P0: windows_core::Param<windows_core::PCWSTR>,
29975 {
29976 unsafe {
29977 (windows_core::Interface::vtable(self).SetPageRanges)(
29978 windows_core::Interface::as_raw(self),
29979 value.param().abi(),
29980 )
29981 .ok()
29982 }
29983 }
29984 pub unsafe fn PagesPerSide(&self, value: *mut i32) -> windows_core::Result<()> {
29985 unsafe {
29986 (windows_core::Interface::vtable(self).PagesPerSide)(
29987 windows_core::Interface::as_raw(self),
29988 value as _,
29989 )
29990 .ok()
29991 }
29992 }
29993 pub unsafe fn SetPagesPerSide(&self, value: i32) -> windows_core::Result<()> {
29994 unsafe {
29995 (windows_core::Interface::vtable(self).SetPagesPerSide)(
29996 windows_core::Interface::as_raw(self),
29997 value,
29998 )
29999 .ok()
30000 }
30001 }
30002 pub unsafe fn Copies(&self, value: *mut i32) -> windows_core::Result<()> {
30003 unsafe {
30004 (windows_core::Interface::vtable(self).Copies)(
30005 windows_core::Interface::as_raw(self),
30006 value as _,
30007 )
30008 .ok()
30009 }
30010 }
30011 pub unsafe fn SetCopies(&self, value: i32) -> windows_core::Result<()> {
30012 unsafe {
30013 (windows_core::Interface::vtable(self).SetCopies)(
30014 windows_core::Interface::as_raw(self),
30015 value,
30016 )
30017 .ok()
30018 }
30019 }
30020 pub unsafe fn Collation(
30021 &self,
30022 value: *mut COREWEBVIEW2_PRINT_COLLATION,
30023 ) -> windows_core::Result<()> {
30024 unsafe {
30025 (windows_core::Interface::vtable(self).Collation)(
30026 windows_core::Interface::as_raw(self),
30027 value as _,
30028 )
30029 .ok()
30030 }
30031 }
30032 pub unsafe fn SetCollation(
30033 &self,
30034 value: COREWEBVIEW2_PRINT_COLLATION,
30035 ) -> windows_core::Result<()> {
30036 unsafe {
30037 (windows_core::Interface::vtable(self).SetCollation)(
30038 windows_core::Interface::as_raw(self),
30039 value,
30040 )
30041 .ok()
30042 }
30043 }
30044 pub unsafe fn ColorMode(
30045 &self,
30046 value: *mut COREWEBVIEW2_PRINT_COLOR_MODE,
30047 ) -> windows_core::Result<()> {
30048 unsafe {
30049 (windows_core::Interface::vtable(self).ColorMode)(
30050 windows_core::Interface::as_raw(self),
30051 value as _,
30052 )
30053 .ok()
30054 }
30055 }
30056 pub unsafe fn SetColorMode(
30057 &self,
30058 value: COREWEBVIEW2_PRINT_COLOR_MODE,
30059 ) -> windows_core::Result<()> {
30060 unsafe {
30061 (windows_core::Interface::vtable(self).SetColorMode)(
30062 windows_core::Interface::as_raw(self),
30063 value,
30064 )
30065 .ok()
30066 }
30067 }
30068 pub unsafe fn Duplex(&self, value: *mut COREWEBVIEW2_PRINT_DUPLEX) -> windows_core::Result<()> {
30069 unsafe {
30070 (windows_core::Interface::vtable(self).Duplex)(
30071 windows_core::Interface::as_raw(self),
30072 value as _,
30073 )
30074 .ok()
30075 }
30076 }
30077 pub unsafe fn SetDuplex(&self, value: COREWEBVIEW2_PRINT_DUPLEX) -> windows_core::Result<()> {
30078 unsafe {
30079 (windows_core::Interface::vtable(self).SetDuplex)(
30080 windows_core::Interface::as_raw(self),
30081 value,
30082 )
30083 .ok()
30084 }
30085 }
30086 pub unsafe fn MediaSize(
30087 &self,
30088 value: *mut COREWEBVIEW2_PRINT_MEDIA_SIZE,
30089 ) -> windows_core::Result<()> {
30090 unsafe {
30091 (windows_core::Interface::vtable(self).MediaSize)(
30092 windows_core::Interface::as_raw(self),
30093 value as _,
30094 )
30095 .ok()
30096 }
30097 }
30098 pub unsafe fn SetMediaSize(
30099 &self,
30100 value: COREWEBVIEW2_PRINT_MEDIA_SIZE,
30101 ) -> windows_core::Result<()> {
30102 unsafe {
30103 (windows_core::Interface::vtable(self).SetMediaSize)(
30104 windows_core::Interface::as_raw(self),
30105 value,
30106 )
30107 .ok()
30108 }
30109 }
30110 pub unsafe fn PrinterName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
30111 unsafe {
30112 (windows_core::Interface::vtable(self).PrinterName)(
30113 windows_core::Interface::as_raw(self),
30114 value as _,
30115 )
30116 .ok()
30117 }
30118 }
30119 pub unsafe fn SetPrinterName<P0>(&self, value: P0) -> windows_core::Result<()>
30120 where
30121 P0: windows_core::Param<windows_core::PCWSTR>,
30122 {
30123 unsafe {
30124 (windows_core::Interface::vtable(self).SetPrinterName)(
30125 windows_core::Interface::as_raw(self),
30126 value.param().abi(),
30127 )
30128 .ok()
30129 }
30130 }
30131}
30132#[repr(C)]
30133#[doc(hidden)]
30134pub struct ICoreWebView2PrintSettings2_Vtbl {
30135 pub base__: ICoreWebView2PrintSettings_Vtbl,
30136 pub PageRanges: unsafe extern "system" fn(
30137 *mut core::ffi::c_void,
30138 *mut windows_core::PWSTR,
30139 ) -> windows_core::HRESULT,
30140 pub SetPageRanges: unsafe extern "system" fn(
30141 *mut core::ffi::c_void,
30142 windows_core::PCWSTR,
30143 ) -> windows_core::HRESULT,
30144 pub PagesPerSide:
30145 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
30146 pub SetPagesPerSide:
30147 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
30148 pub Copies:
30149 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
30150 pub SetCopies: unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
30151 pub Collation: unsafe extern "system" fn(
30152 *mut core::ffi::c_void,
30153 *mut COREWEBVIEW2_PRINT_COLLATION,
30154 ) -> windows_core::HRESULT,
30155 pub SetCollation: unsafe extern "system" fn(
30156 *mut core::ffi::c_void,
30157 COREWEBVIEW2_PRINT_COLLATION,
30158 ) -> windows_core::HRESULT,
30159 pub ColorMode: unsafe extern "system" fn(
30160 *mut core::ffi::c_void,
30161 *mut COREWEBVIEW2_PRINT_COLOR_MODE,
30162 ) -> windows_core::HRESULT,
30163 pub SetColorMode: unsafe extern "system" fn(
30164 *mut core::ffi::c_void,
30165 COREWEBVIEW2_PRINT_COLOR_MODE,
30166 ) -> windows_core::HRESULT,
30167 pub Duplex: unsafe extern "system" fn(
30168 *mut core::ffi::c_void,
30169 *mut COREWEBVIEW2_PRINT_DUPLEX,
30170 ) -> windows_core::HRESULT,
30171 pub SetDuplex: unsafe extern "system" fn(
30172 *mut core::ffi::c_void,
30173 COREWEBVIEW2_PRINT_DUPLEX,
30174 ) -> windows_core::HRESULT,
30175 pub MediaSize: unsafe extern "system" fn(
30176 *mut core::ffi::c_void,
30177 *mut COREWEBVIEW2_PRINT_MEDIA_SIZE,
30178 ) -> windows_core::HRESULT,
30179 pub SetMediaSize: unsafe extern "system" fn(
30180 *mut core::ffi::c_void,
30181 COREWEBVIEW2_PRINT_MEDIA_SIZE,
30182 ) -> windows_core::HRESULT,
30183 pub PrinterName: unsafe extern "system" fn(
30184 *mut core::ffi::c_void,
30185 *mut windows_core::PWSTR,
30186 ) -> windows_core::HRESULT,
30187 pub SetPrinterName: unsafe extern "system" fn(
30188 *mut core::ffi::c_void,
30189 windows_core::PCWSTR,
30190 ) -> windows_core::HRESULT,
30191}
30192pub trait ICoreWebView2PrintSettings2_Impl: ICoreWebView2PrintSettings_Impl {
30193 fn PageRanges(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
30194 fn SetPageRanges(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
30195 fn PagesPerSide(&self, value: *mut i32) -> windows_core::Result<()>;
30196 fn SetPagesPerSide(&self, value: i32) -> windows_core::Result<()>;
30197 fn Copies(&self, value: *mut i32) -> windows_core::Result<()>;
30198 fn SetCopies(&self, value: i32) -> windows_core::Result<()>;
30199 fn Collation(&self, value: *mut COREWEBVIEW2_PRINT_COLLATION) -> windows_core::Result<()>;
30200 fn SetCollation(&self, value: COREWEBVIEW2_PRINT_COLLATION) -> windows_core::Result<()>;
30201 fn ColorMode(&self, value: *mut COREWEBVIEW2_PRINT_COLOR_MODE) -> windows_core::Result<()>;
30202 fn SetColorMode(&self, value: COREWEBVIEW2_PRINT_COLOR_MODE) -> windows_core::Result<()>;
30203 fn Duplex(&self, value: *mut COREWEBVIEW2_PRINT_DUPLEX) -> windows_core::Result<()>;
30204 fn SetDuplex(&self, value: COREWEBVIEW2_PRINT_DUPLEX) -> windows_core::Result<()>;
30205 fn MediaSize(&self, value: *mut COREWEBVIEW2_PRINT_MEDIA_SIZE) -> windows_core::Result<()>;
30206 fn SetMediaSize(&self, value: COREWEBVIEW2_PRINT_MEDIA_SIZE) -> windows_core::Result<()>;
30207 fn PrinterName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
30208 fn SetPrinterName(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
30209}
30210impl ICoreWebView2PrintSettings2_Vtbl {
30211 pub const fn new<Identity: ICoreWebView2PrintSettings2_Impl, const OFFSET: isize>() -> Self {
30212 unsafe extern "system" fn PageRanges<
30213 Identity: ICoreWebView2PrintSettings2_Impl,
30214 const OFFSET: isize,
30215 >(
30216 this: *mut core::ffi::c_void,
30217 value: *mut windows_core::PWSTR,
30218 ) -> windows_core::HRESULT {
30219 unsafe {
30220 let this: &Identity =
30221 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30222 ICoreWebView2PrintSettings2_Impl::PageRanges(
30223 this,
30224 core::mem::transmute_copy(&value),
30225 )
30226 .into()
30227 }
30228 }
30229 unsafe extern "system" fn SetPageRanges<
30230 Identity: ICoreWebView2PrintSettings2_Impl,
30231 const OFFSET: isize,
30232 >(
30233 this: *mut core::ffi::c_void,
30234 value: windows_core::PCWSTR,
30235 ) -> windows_core::HRESULT {
30236 unsafe {
30237 let this: &Identity =
30238 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30239 ICoreWebView2PrintSettings2_Impl::SetPageRanges(this, core::mem::transmute(&value))
30240 .into()
30241 }
30242 }
30243 unsafe extern "system" fn PagesPerSide<
30244 Identity: ICoreWebView2PrintSettings2_Impl,
30245 const OFFSET: isize,
30246 >(
30247 this: *mut core::ffi::c_void,
30248 value: *mut i32,
30249 ) -> windows_core::HRESULT {
30250 unsafe {
30251 let this: &Identity =
30252 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30253 ICoreWebView2PrintSettings2_Impl::PagesPerSide(
30254 this,
30255 core::mem::transmute_copy(&value),
30256 )
30257 .into()
30258 }
30259 }
30260 unsafe extern "system" fn SetPagesPerSide<
30261 Identity: ICoreWebView2PrintSettings2_Impl,
30262 const OFFSET: isize,
30263 >(
30264 this: *mut core::ffi::c_void,
30265 value: i32,
30266 ) -> windows_core::HRESULT {
30267 unsafe {
30268 let this: &Identity =
30269 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30270 ICoreWebView2PrintSettings2_Impl::SetPagesPerSide(
30271 this,
30272 core::mem::transmute_copy(&value),
30273 )
30274 .into()
30275 }
30276 }
30277 unsafe extern "system" fn Copies<
30278 Identity: ICoreWebView2PrintSettings2_Impl,
30279 const OFFSET: isize,
30280 >(
30281 this: *mut core::ffi::c_void,
30282 value: *mut i32,
30283 ) -> windows_core::HRESULT {
30284 unsafe {
30285 let this: &Identity =
30286 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30287 ICoreWebView2PrintSettings2_Impl::Copies(this, core::mem::transmute_copy(&value))
30288 .into()
30289 }
30290 }
30291 unsafe extern "system" fn SetCopies<
30292 Identity: ICoreWebView2PrintSettings2_Impl,
30293 const OFFSET: isize,
30294 >(
30295 this: *mut core::ffi::c_void,
30296 value: i32,
30297 ) -> windows_core::HRESULT {
30298 unsafe {
30299 let this: &Identity =
30300 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30301 ICoreWebView2PrintSettings2_Impl::SetCopies(this, core::mem::transmute_copy(&value))
30302 .into()
30303 }
30304 }
30305 unsafe extern "system" fn Collation<
30306 Identity: ICoreWebView2PrintSettings2_Impl,
30307 const OFFSET: isize,
30308 >(
30309 this: *mut core::ffi::c_void,
30310 value: *mut COREWEBVIEW2_PRINT_COLLATION,
30311 ) -> windows_core::HRESULT {
30312 unsafe {
30313 let this: &Identity =
30314 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30315 ICoreWebView2PrintSettings2_Impl::Collation(this, core::mem::transmute_copy(&value))
30316 .into()
30317 }
30318 }
30319 unsafe extern "system" fn SetCollation<
30320 Identity: ICoreWebView2PrintSettings2_Impl,
30321 const OFFSET: isize,
30322 >(
30323 this: *mut core::ffi::c_void,
30324 value: COREWEBVIEW2_PRINT_COLLATION,
30325 ) -> windows_core::HRESULT {
30326 unsafe {
30327 let this: &Identity =
30328 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30329 ICoreWebView2PrintSettings2_Impl::SetCollation(
30330 this,
30331 core::mem::transmute_copy(&value),
30332 )
30333 .into()
30334 }
30335 }
30336 unsafe extern "system" fn ColorMode<
30337 Identity: ICoreWebView2PrintSettings2_Impl,
30338 const OFFSET: isize,
30339 >(
30340 this: *mut core::ffi::c_void,
30341 value: *mut COREWEBVIEW2_PRINT_COLOR_MODE,
30342 ) -> windows_core::HRESULT {
30343 unsafe {
30344 let this: &Identity =
30345 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30346 ICoreWebView2PrintSettings2_Impl::ColorMode(this, core::mem::transmute_copy(&value))
30347 .into()
30348 }
30349 }
30350 unsafe extern "system" fn SetColorMode<
30351 Identity: ICoreWebView2PrintSettings2_Impl,
30352 const OFFSET: isize,
30353 >(
30354 this: *mut core::ffi::c_void,
30355 value: COREWEBVIEW2_PRINT_COLOR_MODE,
30356 ) -> windows_core::HRESULT {
30357 unsafe {
30358 let this: &Identity =
30359 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30360 ICoreWebView2PrintSettings2_Impl::SetColorMode(
30361 this,
30362 core::mem::transmute_copy(&value),
30363 )
30364 .into()
30365 }
30366 }
30367 unsafe extern "system" fn Duplex<
30368 Identity: ICoreWebView2PrintSettings2_Impl,
30369 const OFFSET: isize,
30370 >(
30371 this: *mut core::ffi::c_void,
30372 value: *mut COREWEBVIEW2_PRINT_DUPLEX,
30373 ) -> windows_core::HRESULT {
30374 unsafe {
30375 let this: &Identity =
30376 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30377 ICoreWebView2PrintSettings2_Impl::Duplex(this, core::mem::transmute_copy(&value))
30378 .into()
30379 }
30380 }
30381 unsafe extern "system" fn SetDuplex<
30382 Identity: ICoreWebView2PrintSettings2_Impl,
30383 const OFFSET: isize,
30384 >(
30385 this: *mut core::ffi::c_void,
30386 value: COREWEBVIEW2_PRINT_DUPLEX,
30387 ) -> windows_core::HRESULT {
30388 unsafe {
30389 let this: &Identity =
30390 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30391 ICoreWebView2PrintSettings2_Impl::SetDuplex(this, core::mem::transmute_copy(&value))
30392 .into()
30393 }
30394 }
30395 unsafe extern "system" fn MediaSize<
30396 Identity: ICoreWebView2PrintSettings2_Impl,
30397 const OFFSET: isize,
30398 >(
30399 this: *mut core::ffi::c_void,
30400 value: *mut COREWEBVIEW2_PRINT_MEDIA_SIZE,
30401 ) -> windows_core::HRESULT {
30402 unsafe {
30403 let this: &Identity =
30404 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30405 ICoreWebView2PrintSettings2_Impl::MediaSize(this, core::mem::transmute_copy(&value))
30406 .into()
30407 }
30408 }
30409 unsafe extern "system" fn SetMediaSize<
30410 Identity: ICoreWebView2PrintSettings2_Impl,
30411 const OFFSET: isize,
30412 >(
30413 this: *mut core::ffi::c_void,
30414 value: COREWEBVIEW2_PRINT_MEDIA_SIZE,
30415 ) -> windows_core::HRESULT {
30416 unsafe {
30417 let this: &Identity =
30418 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30419 ICoreWebView2PrintSettings2_Impl::SetMediaSize(
30420 this,
30421 core::mem::transmute_copy(&value),
30422 )
30423 .into()
30424 }
30425 }
30426 unsafe extern "system" fn PrinterName<
30427 Identity: ICoreWebView2PrintSettings2_Impl,
30428 const OFFSET: isize,
30429 >(
30430 this: *mut core::ffi::c_void,
30431 value: *mut windows_core::PWSTR,
30432 ) -> windows_core::HRESULT {
30433 unsafe {
30434 let this: &Identity =
30435 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30436 ICoreWebView2PrintSettings2_Impl::PrinterName(
30437 this,
30438 core::mem::transmute_copy(&value),
30439 )
30440 .into()
30441 }
30442 }
30443 unsafe extern "system" fn SetPrinterName<
30444 Identity: ICoreWebView2PrintSettings2_Impl,
30445 const OFFSET: isize,
30446 >(
30447 this: *mut core::ffi::c_void,
30448 value: windows_core::PCWSTR,
30449 ) -> windows_core::HRESULT {
30450 unsafe {
30451 let this: &Identity =
30452 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30453 ICoreWebView2PrintSettings2_Impl::SetPrinterName(this, core::mem::transmute(&value))
30454 .into()
30455 }
30456 }
30457 Self {
30458 base__: ICoreWebView2PrintSettings_Vtbl::new::<Identity, OFFSET>(),
30459 PageRanges: PageRanges::<Identity, OFFSET>,
30460 SetPageRanges: SetPageRanges::<Identity, OFFSET>,
30461 PagesPerSide: PagesPerSide::<Identity, OFFSET>,
30462 SetPagesPerSide: SetPagesPerSide::<Identity, OFFSET>,
30463 Copies: Copies::<Identity, OFFSET>,
30464 SetCopies: SetCopies::<Identity, OFFSET>,
30465 Collation: Collation::<Identity, OFFSET>,
30466 SetCollation: SetCollation::<Identity, OFFSET>,
30467 ColorMode: ColorMode::<Identity, OFFSET>,
30468 SetColorMode: SetColorMode::<Identity, OFFSET>,
30469 Duplex: Duplex::<Identity, OFFSET>,
30470 SetDuplex: SetDuplex::<Identity, OFFSET>,
30471 MediaSize: MediaSize::<Identity, OFFSET>,
30472 SetMediaSize: SetMediaSize::<Identity, OFFSET>,
30473 PrinterName: PrinterName::<Identity, OFFSET>,
30474 SetPrinterName: SetPrinterName::<Identity, OFFSET>,
30475 }
30476 }
30477 pub fn matches(iid: &windows_core::GUID) -> bool {
30478 iid == &<ICoreWebView2PrintSettings2 as windows_core::Interface>::IID
30479 || iid == &<ICoreWebView2PrintSettings as windows_core::Interface>::IID
30480 }
30481}
30482impl windows_core::RuntimeName for ICoreWebView2PrintSettings2 {}
30483windows_core::imp::define_interface!(
30484 ICoreWebView2PrintToPdfCompletedHandler,
30485 ICoreWebView2PrintToPdfCompletedHandler_Vtbl,
30486 0xccf1ef04_fd8e_4d5f_b2de_0983e41b8c36
30487);
30488windows_core::imp::interface_hierarchy!(
30489 ICoreWebView2PrintToPdfCompletedHandler,
30490 windows_core::IUnknown
30491);
30492impl ICoreWebView2PrintToPdfCompletedHandler {
30493 pub unsafe fn Invoke(
30494 &self,
30495 errorcode: windows_core::HRESULT,
30496 result: bool,
30497 ) -> windows_core::Result<()> {
30498 unsafe {
30499 (windows_core::Interface::vtable(self).Invoke)(
30500 windows_core::Interface::as_raw(self),
30501 errorcode,
30502 result.into(),
30503 )
30504 .ok()
30505 }
30506 }
30507}
30508#[repr(C)]
30509#[doc(hidden)]
30510pub struct ICoreWebView2PrintToPdfCompletedHandler_Vtbl {
30511 pub base__: windows_core::IUnknown_Vtbl,
30512 pub Invoke: unsafe extern "system" fn(
30513 *mut core::ffi::c_void,
30514 windows_core::HRESULT,
30515 windows_core::BOOL,
30516 ) -> windows_core::HRESULT,
30517}
30518pub trait ICoreWebView2PrintToPdfCompletedHandler_Impl: windows_core::IUnknownImpl {
30519 fn Invoke(
30520 &self,
30521 errorcode: windows_core::HRESULT,
30522 result: windows_core::BOOL,
30523 ) -> windows_core::Result<()>;
30524}
30525impl ICoreWebView2PrintToPdfCompletedHandler_Vtbl {
30526 pub const fn new<
30527 Identity: ICoreWebView2PrintToPdfCompletedHandler_Impl,
30528 const OFFSET: isize,
30529 >() -> Self {
30530 unsafe extern "system" fn Invoke<
30531 Identity: ICoreWebView2PrintToPdfCompletedHandler_Impl,
30532 const OFFSET: isize,
30533 >(
30534 this: *mut core::ffi::c_void,
30535 errorcode: windows_core::HRESULT,
30536 result: windows_core::BOOL,
30537 ) -> windows_core::HRESULT {
30538 unsafe {
30539 let this: &Identity =
30540 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30541 ICoreWebView2PrintToPdfCompletedHandler_Impl::Invoke(
30542 this,
30543 core::mem::transmute_copy(&errorcode),
30544 core::mem::transmute_copy(&result),
30545 )
30546 .into()
30547 }
30548 }
30549 Self {
30550 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
30551 Invoke: Invoke::<Identity, OFFSET>,
30552 }
30553 }
30554 pub fn matches(iid: &windows_core::GUID) -> bool {
30555 iid == &<ICoreWebView2PrintToPdfCompletedHandler as windows_core::Interface>::IID
30556 }
30557}
30558impl windows_core::RuntimeName for ICoreWebView2PrintToPdfCompletedHandler {}
30559windows_core::imp::define_interface!(
30560 ICoreWebView2PrintToPdfStreamCompletedHandler,
30561 ICoreWebView2PrintToPdfStreamCompletedHandler_Vtbl,
30562 0x4c9f8229_8f93_444f_a711_2c0dfd6359d5
30563);
30564windows_core::imp::interface_hierarchy!(
30565 ICoreWebView2PrintToPdfStreamCompletedHandler,
30566 windows_core::IUnknown
30567);
30568impl ICoreWebView2PrintToPdfStreamCompletedHandler {
30569 pub unsafe fn Invoke<P1>(
30570 &self,
30571 errorcode: windows_core::HRESULT,
30572 result: P1,
30573 ) -> windows_core::Result<()>
30574 where
30575 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
30576 {
30577 unsafe {
30578 (windows_core::Interface::vtable(self).Invoke)(
30579 windows_core::Interface::as_raw(self),
30580 errorcode,
30581 result.param().abi(),
30582 )
30583 .ok()
30584 }
30585 }
30586}
30587#[repr(C)]
30588#[doc(hidden)]
30589pub struct ICoreWebView2PrintToPdfStreamCompletedHandler_Vtbl {
30590 pub base__: windows_core::IUnknown_Vtbl,
30591 pub Invoke: unsafe extern "system" fn(
30592 *mut core::ffi::c_void,
30593 windows_core::HRESULT,
30594 *mut core::ffi::c_void,
30595 ) -> windows_core::HRESULT,
30596}
30597pub trait ICoreWebView2PrintToPdfStreamCompletedHandler_Impl: windows_core::IUnknownImpl {
30598 fn Invoke(
30599 &self,
30600 errorcode: windows_core::HRESULT,
30601 result: windows_core::Ref<windows::Win32::System::Com::IStream>,
30602 ) -> windows_core::Result<()>;
30603}
30604impl ICoreWebView2PrintToPdfStreamCompletedHandler_Vtbl {
30605 pub const fn new<
30606 Identity: ICoreWebView2PrintToPdfStreamCompletedHandler_Impl,
30607 const OFFSET: isize,
30608 >() -> Self {
30609 unsafe extern "system" fn Invoke<
30610 Identity: ICoreWebView2PrintToPdfStreamCompletedHandler_Impl,
30611 const OFFSET: isize,
30612 >(
30613 this: *mut core::ffi::c_void,
30614 errorcode: windows_core::HRESULT,
30615 result: *mut core::ffi::c_void,
30616 ) -> windows_core::HRESULT {
30617 unsafe {
30618 let this: &Identity =
30619 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30620 ICoreWebView2PrintToPdfStreamCompletedHandler_Impl::Invoke(
30621 this,
30622 core::mem::transmute_copy(&errorcode),
30623 core::mem::transmute_copy(&result),
30624 )
30625 .into()
30626 }
30627 }
30628 Self {
30629 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
30630 Invoke: Invoke::<Identity, OFFSET>,
30631 }
30632 }
30633 pub fn matches(iid: &windows_core::GUID) -> bool {
30634 iid == &<ICoreWebView2PrintToPdfStreamCompletedHandler as windows_core::Interface>::IID
30635 }
30636}
30637impl windows_core::RuntimeName for ICoreWebView2PrintToPdfStreamCompletedHandler {}
30638windows_core::imp::define_interface!(
30639 ICoreWebView2ProcessExtendedInfo,
30640 ICoreWebView2ProcessExtendedInfo_Vtbl,
30641 0xaf4c4c2e_45db_11ee_be56_0242ac120002
30642);
30643windows_core::imp::interface_hierarchy!(ICoreWebView2ProcessExtendedInfo, windows_core::IUnknown);
30644impl ICoreWebView2ProcessExtendedInfo {
30645 pub unsafe fn ProcessInfo(&self) -> windows_core::Result<ICoreWebView2ProcessInfo> {
30646 unsafe {
30647 let mut result__ = core::mem::zeroed();
30648 (windows_core::Interface::vtable(self).ProcessInfo)(
30649 windows_core::Interface::as_raw(self),
30650 &mut result__,
30651 )
30652 .and_then(|| windows_core::Type::from_abi(result__))
30653 }
30654 }
30655 pub unsafe fn AssociatedFrameInfos(
30656 &self,
30657 ) -> windows_core::Result<ICoreWebView2FrameInfoCollection> {
30658 unsafe {
30659 let mut result__ = core::mem::zeroed();
30660 (windows_core::Interface::vtable(self).AssociatedFrameInfos)(
30661 windows_core::Interface::as_raw(self),
30662 &mut result__,
30663 )
30664 .and_then(|| windows_core::Type::from_abi(result__))
30665 }
30666 }
30667}
30668#[repr(C)]
30669#[doc(hidden)]
30670pub struct ICoreWebView2ProcessExtendedInfo_Vtbl {
30671 pub base__: windows_core::IUnknown_Vtbl,
30672 pub ProcessInfo: unsafe extern "system" fn(
30673 *mut core::ffi::c_void,
30674 *mut *mut core::ffi::c_void,
30675 ) -> windows_core::HRESULT,
30676 pub AssociatedFrameInfos: unsafe extern "system" fn(
30677 *mut core::ffi::c_void,
30678 *mut *mut core::ffi::c_void,
30679 ) -> windows_core::HRESULT,
30680}
30681pub trait ICoreWebView2ProcessExtendedInfo_Impl: windows_core::IUnknownImpl {
30682 fn ProcessInfo(&self) -> windows_core::Result<ICoreWebView2ProcessInfo>;
30683 fn AssociatedFrameInfos(&self) -> windows_core::Result<ICoreWebView2FrameInfoCollection>;
30684}
30685impl ICoreWebView2ProcessExtendedInfo_Vtbl {
30686 pub const fn new<Identity: ICoreWebView2ProcessExtendedInfo_Impl, const OFFSET: isize>() -> Self
30687 {
30688 unsafe extern "system" fn ProcessInfo<
30689 Identity: ICoreWebView2ProcessExtendedInfo_Impl,
30690 const OFFSET: isize,
30691 >(
30692 this: *mut core::ffi::c_void,
30693 processinfo: *mut *mut core::ffi::c_void,
30694 ) -> windows_core::HRESULT {
30695 unsafe {
30696 let this: &Identity =
30697 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30698 match ICoreWebView2ProcessExtendedInfo_Impl::ProcessInfo(this) {
30699 Ok(ok__) => {
30700 processinfo.write(core::mem::transmute(ok__));
30701 windows_core::HRESULT(0)
30702 }
30703 Err(err) => err.into(),
30704 }
30705 }
30706 }
30707 unsafe extern "system" fn AssociatedFrameInfos<
30708 Identity: ICoreWebView2ProcessExtendedInfo_Impl,
30709 const OFFSET: isize,
30710 >(
30711 this: *mut core::ffi::c_void,
30712 frames: *mut *mut core::ffi::c_void,
30713 ) -> windows_core::HRESULT {
30714 unsafe {
30715 let this: &Identity =
30716 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30717 match ICoreWebView2ProcessExtendedInfo_Impl::AssociatedFrameInfos(this) {
30718 Ok(ok__) => {
30719 frames.write(core::mem::transmute(ok__));
30720 windows_core::HRESULT(0)
30721 }
30722 Err(err) => err.into(),
30723 }
30724 }
30725 }
30726 Self {
30727 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
30728 ProcessInfo: ProcessInfo::<Identity, OFFSET>,
30729 AssociatedFrameInfos: AssociatedFrameInfos::<Identity, OFFSET>,
30730 }
30731 }
30732 pub fn matches(iid: &windows_core::GUID) -> bool {
30733 iid == &<ICoreWebView2ProcessExtendedInfo as windows_core::Interface>::IID
30734 }
30735}
30736impl windows_core::RuntimeName for ICoreWebView2ProcessExtendedInfo {}
30737windows_core::imp::define_interface!(
30738 ICoreWebView2ProcessExtendedInfoCollection,
30739 ICoreWebView2ProcessExtendedInfoCollection_Vtbl,
30740 0x32efa696_407a_11ee_be56_0242ac120002
30741);
30742windows_core::imp::interface_hierarchy!(
30743 ICoreWebView2ProcessExtendedInfoCollection,
30744 windows_core::IUnknown
30745);
30746impl ICoreWebView2ProcessExtendedInfoCollection {
30747 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
30748 unsafe {
30749 (windows_core::Interface::vtable(self).Count)(
30750 windows_core::Interface::as_raw(self),
30751 value as _,
30752 )
30753 .ok()
30754 }
30755 }
30756 pub unsafe fn GetValueAtIndex(
30757 &self,
30758 index: u32,
30759 ) -> windows_core::Result<ICoreWebView2ProcessExtendedInfo> {
30760 unsafe {
30761 let mut result__ = core::mem::zeroed();
30762 (windows_core::Interface::vtable(self).GetValueAtIndex)(
30763 windows_core::Interface::as_raw(self),
30764 index,
30765 &mut result__,
30766 )
30767 .and_then(|| windows_core::Type::from_abi(result__))
30768 }
30769 }
30770}
30771#[repr(C)]
30772#[doc(hidden)]
30773pub struct ICoreWebView2ProcessExtendedInfoCollection_Vtbl {
30774 pub base__: windows_core::IUnknown_Vtbl,
30775 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
30776 pub GetValueAtIndex: unsafe extern "system" fn(
30777 *mut core::ffi::c_void,
30778 u32,
30779 *mut *mut core::ffi::c_void,
30780 ) -> windows_core::HRESULT,
30781}
30782pub trait ICoreWebView2ProcessExtendedInfoCollection_Impl: windows_core::IUnknownImpl {
30783 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
30784 fn GetValueAtIndex(&self, index: u32)
30785 -> windows_core::Result<ICoreWebView2ProcessExtendedInfo>;
30786}
30787impl ICoreWebView2ProcessExtendedInfoCollection_Vtbl {
30788 pub const fn new<
30789 Identity: ICoreWebView2ProcessExtendedInfoCollection_Impl,
30790 const OFFSET: isize,
30791 >() -> Self {
30792 unsafe extern "system" fn Count<
30793 Identity: ICoreWebView2ProcessExtendedInfoCollection_Impl,
30794 const OFFSET: isize,
30795 >(
30796 this: *mut core::ffi::c_void,
30797 value: *mut u32,
30798 ) -> windows_core::HRESULT {
30799 unsafe {
30800 let this: &Identity =
30801 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30802 ICoreWebView2ProcessExtendedInfoCollection_Impl::Count(
30803 this,
30804 core::mem::transmute_copy(&value),
30805 )
30806 .into()
30807 }
30808 }
30809 unsafe extern "system" fn GetValueAtIndex<
30810 Identity: ICoreWebView2ProcessExtendedInfoCollection_Impl,
30811 const OFFSET: isize,
30812 >(
30813 this: *mut core::ffi::c_void,
30814 index: u32,
30815 value: *mut *mut core::ffi::c_void,
30816 ) -> windows_core::HRESULT {
30817 unsafe {
30818 let this: &Identity =
30819 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30820 match ICoreWebView2ProcessExtendedInfoCollection_Impl::GetValueAtIndex(
30821 this,
30822 core::mem::transmute_copy(&index),
30823 ) {
30824 Ok(ok__) => {
30825 value.write(core::mem::transmute(ok__));
30826 windows_core::HRESULT(0)
30827 }
30828 Err(err) => err.into(),
30829 }
30830 }
30831 }
30832 Self {
30833 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
30834 Count: Count::<Identity, OFFSET>,
30835 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
30836 }
30837 }
30838 pub fn matches(iid: &windows_core::GUID) -> bool {
30839 iid == &<ICoreWebView2ProcessExtendedInfoCollection as windows_core::Interface>::IID
30840 }
30841}
30842impl windows_core::RuntimeName for ICoreWebView2ProcessExtendedInfoCollection {}
30843windows_core::imp::define_interface!(
30844 ICoreWebView2ProcessFailedEventArgs,
30845 ICoreWebView2ProcessFailedEventArgs_Vtbl,
30846 0x8155a9a4_1474_4a86_8cae_151b0fa6b8ca
30847);
30848windows_core::imp::interface_hierarchy!(
30849 ICoreWebView2ProcessFailedEventArgs,
30850 windows_core::IUnknown
30851);
30852impl ICoreWebView2ProcessFailedEventArgs {
30853 pub unsafe fn ProcessFailedKind(
30854 &self,
30855 value: *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
30856 ) -> windows_core::Result<()> {
30857 unsafe {
30858 (windows_core::Interface::vtable(self).ProcessFailedKind)(
30859 windows_core::Interface::as_raw(self),
30860 value as _,
30861 )
30862 .ok()
30863 }
30864 }
30865}
30866#[repr(C)]
30867#[doc(hidden)]
30868pub struct ICoreWebView2ProcessFailedEventArgs_Vtbl {
30869 pub base__: windows_core::IUnknown_Vtbl,
30870 pub ProcessFailedKind: unsafe extern "system" fn(
30871 *mut core::ffi::c_void,
30872 *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
30873 ) -> windows_core::HRESULT,
30874}
30875pub trait ICoreWebView2ProcessFailedEventArgs_Impl: windows_core::IUnknownImpl {
30876 fn ProcessFailedKind(
30877 &self,
30878 value: *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
30879 ) -> windows_core::Result<()>;
30880}
30881impl ICoreWebView2ProcessFailedEventArgs_Vtbl {
30882 pub const fn new<Identity: ICoreWebView2ProcessFailedEventArgs_Impl, const OFFSET: isize>(
30883 ) -> Self {
30884 unsafe extern "system" fn ProcessFailedKind<
30885 Identity: ICoreWebView2ProcessFailedEventArgs_Impl,
30886 const OFFSET: isize,
30887 >(
30888 this: *mut core::ffi::c_void,
30889 value: *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
30890 ) -> windows_core::HRESULT {
30891 unsafe {
30892 let this: &Identity =
30893 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30894 ICoreWebView2ProcessFailedEventArgs_Impl::ProcessFailedKind(
30895 this,
30896 core::mem::transmute_copy(&value),
30897 )
30898 .into()
30899 }
30900 }
30901 Self {
30902 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
30903 ProcessFailedKind: ProcessFailedKind::<Identity, OFFSET>,
30904 }
30905 }
30906 pub fn matches(iid: &windows_core::GUID) -> bool {
30907 iid == &<ICoreWebView2ProcessFailedEventArgs as windows_core::Interface>::IID
30908 }
30909}
30910impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventArgs {}
30911windows_core::imp::define_interface!(
30912 ICoreWebView2ProcessFailedEventArgs2,
30913 ICoreWebView2ProcessFailedEventArgs2_Vtbl,
30914 0x4dab9422_46fa_4c3e_a5d2_41d2071d3680
30915);
30916impl core::ops::Deref for ICoreWebView2ProcessFailedEventArgs2 {
30917 type Target = ICoreWebView2ProcessFailedEventArgs;
30918 fn deref(&self) -> &Self::Target {
30919 unsafe { core::mem::transmute(self) }
30920 }
30921}
30922windows_core::imp::interface_hierarchy!(
30923 ICoreWebView2ProcessFailedEventArgs2,
30924 windows_core::IUnknown,
30925 ICoreWebView2ProcessFailedEventArgs
30926);
30927impl ICoreWebView2ProcessFailedEventArgs2 {
30928 pub unsafe fn Reason(
30929 &self,
30930 reason: *mut COREWEBVIEW2_PROCESS_FAILED_REASON,
30931 ) -> windows_core::Result<()> {
30932 unsafe {
30933 (windows_core::Interface::vtable(self).Reason)(
30934 windows_core::Interface::as_raw(self),
30935 reason as _,
30936 )
30937 .ok()
30938 }
30939 }
30940 pub unsafe fn ExitCode(&self, exitcode: *mut i32) -> windows_core::Result<()> {
30941 unsafe {
30942 (windows_core::Interface::vtable(self).ExitCode)(
30943 windows_core::Interface::as_raw(self),
30944 exitcode as _,
30945 )
30946 .ok()
30947 }
30948 }
30949 pub unsafe fn ProcessDescription(
30950 &self,
30951 processdescription: *mut windows_core::PWSTR,
30952 ) -> windows_core::Result<()> {
30953 unsafe {
30954 (windows_core::Interface::vtable(self).ProcessDescription)(
30955 windows_core::Interface::as_raw(self),
30956 processdescription as _,
30957 )
30958 .ok()
30959 }
30960 }
30961 pub unsafe fn FrameInfosForFailedProcess(
30962 &self,
30963 ) -> windows_core::Result<ICoreWebView2FrameInfoCollection> {
30964 unsafe {
30965 let mut result__ = core::mem::zeroed();
30966 (windows_core::Interface::vtable(self).FrameInfosForFailedProcess)(
30967 windows_core::Interface::as_raw(self),
30968 &mut result__,
30969 )
30970 .and_then(|| windows_core::Type::from_abi(result__))
30971 }
30972 }
30973}
30974#[repr(C)]
30975#[doc(hidden)]
30976pub struct ICoreWebView2ProcessFailedEventArgs2_Vtbl {
30977 pub base__: ICoreWebView2ProcessFailedEventArgs_Vtbl,
30978 pub Reason: unsafe extern "system" fn(
30979 *mut core::ffi::c_void,
30980 *mut COREWEBVIEW2_PROCESS_FAILED_REASON,
30981 ) -> windows_core::HRESULT,
30982 pub ExitCode:
30983 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
30984 pub ProcessDescription: unsafe extern "system" fn(
30985 *mut core::ffi::c_void,
30986 *mut windows_core::PWSTR,
30987 ) -> windows_core::HRESULT,
30988 pub FrameInfosForFailedProcess: unsafe extern "system" fn(
30989 *mut core::ffi::c_void,
30990 *mut *mut core::ffi::c_void,
30991 ) -> windows_core::HRESULT,
30992}
30993pub trait ICoreWebView2ProcessFailedEventArgs2_Impl:
30994 ICoreWebView2ProcessFailedEventArgs_Impl
30995{
30996 fn Reason(&self, reason: *mut COREWEBVIEW2_PROCESS_FAILED_REASON) -> windows_core::Result<()>;
30997 fn ExitCode(&self, exitcode: *mut i32) -> windows_core::Result<()>;
30998 fn ProcessDescription(
30999 &self,
31000 processdescription: *mut windows_core::PWSTR,
31001 ) -> windows_core::Result<()>;
31002 fn FrameInfosForFailedProcess(&self) -> windows_core::Result<ICoreWebView2FrameInfoCollection>;
31003}
31004impl ICoreWebView2ProcessFailedEventArgs2_Vtbl {
31005 pub const fn new<Identity: ICoreWebView2ProcessFailedEventArgs2_Impl, const OFFSET: isize>(
31006 ) -> Self {
31007 unsafe extern "system" fn Reason<
31008 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
31009 const OFFSET: isize,
31010 >(
31011 this: *mut core::ffi::c_void,
31012 reason: *mut COREWEBVIEW2_PROCESS_FAILED_REASON,
31013 ) -> windows_core::HRESULT {
31014 unsafe {
31015 let this: &Identity =
31016 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31017 ICoreWebView2ProcessFailedEventArgs2_Impl::Reason(
31018 this,
31019 core::mem::transmute_copy(&reason),
31020 )
31021 .into()
31022 }
31023 }
31024 unsafe extern "system" fn ExitCode<
31025 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
31026 const OFFSET: isize,
31027 >(
31028 this: *mut core::ffi::c_void,
31029 exitcode: *mut i32,
31030 ) -> windows_core::HRESULT {
31031 unsafe {
31032 let this: &Identity =
31033 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31034 ICoreWebView2ProcessFailedEventArgs2_Impl::ExitCode(
31035 this,
31036 core::mem::transmute_copy(&exitcode),
31037 )
31038 .into()
31039 }
31040 }
31041 unsafe extern "system" fn ProcessDescription<
31042 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
31043 const OFFSET: isize,
31044 >(
31045 this: *mut core::ffi::c_void,
31046 processdescription: *mut windows_core::PWSTR,
31047 ) -> windows_core::HRESULT {
31048 unsafe {
31049 let this: &Identity =
31050 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31051 ICoreWebView2ProcessFailedEventArgs2_Impl::ProcessDescription(
31052 this,
31053 core::mem::transmute_copy(&processdescription),
31054 )
31055 .into()
31056 }
31057 }
31058 unsafe extern "system" fn FrameInfosForFailedProcess<
31059 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
31060 const OFFSET: isize,
31061 >(
31062 this: *mut core::ffi::c_void,
31063 frames: *mut *mut core::ffi::c_void,
31064 ) -> windows_core::HRESULT {
31065 unsafe {
31066 let this: &Identity =
31067 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31068 match ICoreWebView2ProcessFailedEventArgs2_Impl::FrameInfosForFailedProcess(this) {
31069 Ok(ok__) => {
31070 frames.write(core::mem::transmute(ok__));
31071 windows_core::HRESULT(0)
31072 }
31073 Err(err) => err.into(),
31074 }
31075 }
31076 }
31077 Self {
31078 base__: ICoreWebView2ProcessFailedEventArgs_Vtbl::new::<Identity, OFFSET>(),
31079 Reason: Reason::<Identity, OFFSET>,
31080 ExitCode: ExitCode::<Identity, OFFSET>,
31081 ProcessDescription: ProcessDescription::<Identity, OFFSET>,
31082 FrameInfosForFailedProcess: FrameInfosForFailedProcess::<Identity, OFFSET>,
31083 }
31084 }
31085 pub fn matches(iid: &windows_core::GUID) -> bool {
31086 iid == &<ICoreWebView2ProcessFailedEventArgs2 as windows_core::Interface>::IID
31087 || iid == &<ICoreWebView2ProcessFailedEventArgs as windows_core::Interface>::IID
31088 }
31089}
31090impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventArgs2 {}
31091windows_core::imp::define_interface!(
31092 ICoreWebView2ProcessFailedEventArgs3,
31093 ICoreWebView2ProcessFailedEventArgs3_Vtbl,
31094 0xab667428_094d_5fd1_b480_8b4c0fdbdf2f
31095);
31096impl core::ops::Deref for ICoreWebView2ProcessFailedEventArgs3 {
31097 type Target = ICoreWebView2ProcessFailedEventArgs2;
31098 fn deref(&self) -> &Self::Target {
31099 unsafe { core::mem::transmute(self) }
31100 }
31101}
31102windows_core::imp::interface_hierarchy!(
31103 ICoreWebView2ProcessFailedEventArgs3,
31104 windows_core::IUnknown,
31105 ICoreWebView2ProcessFailedEventArgs,
31106 ICoreWebView2ProcessFailedEventArgs2
31107);
31108impl ICoreWebView2ProcessFailedEventArgs3 {
31109 pub unsafe fn FailureSourceModulePath(
31110 &self,
31111 value: *mut windows_core::PWSTR,
31112 ) -> windows_core::Result<()> {
31113 unsafe {
31114 (windows_core::Interface::vtable(self).FailureSourceModulePath)(
31115 windows_core::Interface::as_raw(self),
31116 value as _,
31117 )
31118 .ok()
31119 }
31120 }
31121}
31122#[repr(C)]
31123#[doc(hidden)]
31124pub struct ICoreWebView2ProcessFailedEventArgs3_Vtbl {
31125 pub base__: ICoreWebView2ProcessFailedEventArgs2_Vtbl,
31126 pub FailureSourceModulePath: unsafe extern "system" fn(
31127 *mut core::ffi::c_void,
31128 *mut windows_core::PWSTR,
31129 ) -> windows_core::HRESULT,
31130}
31131pub trait ICoreWebView2ProcessFailedEventArgs3_Impl:
31132 ICoreWebView2ProcessFailedEventArgs2_Impl
31133{
31134 fn FailureSourceModulePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
31135}
31136impl ICoreWebView2ProcessFailedEventArgs3_Vtbl {
31137 pub const fn new<Identity: ICoreWebView2ProcessFailedEventArgs3_Impl, const OFFSET: isize>(
31138 ) -> Self {
31139 unsafe extern "system" fn FailureSourceModulePath<
31140 Identity: ICoreWebView2ProcessFailedEventArgs3_Impl,
31141 const OFFSET: isize,
31142 >(
31143 this: *mut core::ffi::c_void,
31144 value: *mut windows_core::PWSTR,
31145 ) -> windows_core::HRESULT {
31146 unsafe {
31147 let this: &Identity =
31148 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31149 ICoreWebView2ProcessFailedEventArgs3_Impl::FailureSourceModulePath(
31150 this,
31151 core::mem::transmute_copy(&value),
31152 )
31153 .into()
31154 }
31155 }
31156 Self {
31157 base__: ICoreWebView2ProcessFailedEventArgs2_Vtbl::new::<Identity, OFFSET>(),
31158 FailureSourceModulePath: FailureSourceModulePath::<Identity, OFFSET>,
31159 }
31160 }
31161 pub fn matches(iid: &windows_core::GUID) -> bool {
31162 iid == &<ICoreWebView2ProcessFailedEventArgs3 as windows_core::Interface>::IID
31163 || iid == &<ICoreWebView2ProcessFailedEventArgs as windows_core::Interface>::IID
31164 || iid == &<ICoreWebView2ProcessFailedEventArgs2 as windows_core::Interface>::IID
31165 }
31166}
31167impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventArgs3 {}
31168windows_core::imp::define_interface!(
31169 ICoreWebView2ProcessFailedEventHandler,
31170 ICoreWebView2ProcessFailedEventHandler_Vtbl,
31171 0x79e0aea4_990b_42d9_aa1d_0fcc2e5bc7f1
31172);
31173windows_core::imp::interface_hierarchy!(
31174 ICoreWebView2ProcessFailedEventHandler,
31175 windows_core::IUnknown
31176);
31177impl ICoreWebView2ProcessFailedEventHandler {
31178 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
31179 where
31180 P0: windows_core::Param<ICoreWebView2>,
31181 P1: windows_core::Param<ICoreWebView2ProcessFailedEventArgs>,
31182 {
31183 unsafe {
31184 (windows_core::Interface::vtable(self).Invoke)(
31185 windows_core::Interface::as_raw(self),
31186 sender.param().abi(),
31187 args.param().abi(),
31188 )
31189 .ok()
31190 }
31191 }
31192}
31193#[repr(C)]
31194#[doc(hidden)]
31195pub struct ICoreWebView2ProcessFailedEventHandler_Vtbl {
31196 pub base__: windows_core::IUnknown_Vtbl,
31197 pub Invoke: unsafe extern "system" fn(
31198 *mut core::ffi::c_void,
31199 *mut core::ffi::c_void,
31200 *mut core::ffi::c_void,
31201 ) -> windows_core::HRESULT,
31202}
31203pub trait ICoreWebView2ProcessFailedEventHandler_Impl: windows_core::IUnknownImpl {
31204 fn Invoke(
31205 &self,
31206 sender: windows_core::Ref<ICoreWebView2>,
31207 args: windows_core::Ref<ICoreWebView2ProcessFailedEventArgs>,
31208 ) -> windows_core::Result<()>;
31209}
31210impl ICoreWebView2ProcessFailedEventHandler_Vtbl {
31211 pub const fn new<Identity: ICoreWebView2ProcessFailedEventHandler_Impl, const OFFSET: isize>(
31212 ) -> Self {
31213 unsafe extern "system" fn Invoke<
31214 Identity: ICoreWebView2ProcessFailedEventHandler_Impl,
31215 const OFFSET: isize,
31216 >(
31217 this: *mut core::ffi::c_void,
31218 sender: *mut core::ffi::c_void,
31219 args: *mut core::ffi::c_void,
31220 ) -> windows_core::HRESULT {
31221 unsafe {
31222 let this: &Identity =
31223 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31224 ICoreWebView2ProcessFailedEventHandler_Impl::Invoke(
31225 this,
31226 core::mem::transmute_copy(&sender),
31227 core::mem::transmute_copy(&args),
31228 )
31229 .into()
31230 }
31231 }
31232 Self {
31233 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31234 Invoke: Invoke::<Identity, OFFSET>,
31235 }
31236 }
31237 pub fn matches(iid: &windows_core::GUID) -> bool {
31238 iid == &<ICoreWebView2ProcessFailedEventHandler as windows_core::Interface>::IID
31239 }
31240}
31241impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventHandler {}
31242windows_core::imp::define_interface!(
31243 ICoreWebView2ProcessInfo,
31244 ICoreWebView2ProcessInfo_Vtbl,
31245 0x84fa7612_3f3d_4fbf_889d_fad000492d72
31246);
31247windows_core::imp::interface_hierarchy!(ICoreWebView2ProcessInfo, windows_core::IUnknown);
31248impl ICoreWebView2ProcessInfo {
31249 pub unsafe fn ProcessId(&self, value: *mut i32) -> windows_core::Result<()> {
31250 unsafe {
31251 (windows_core::Interface::vtable(self).ProcessId)(
31252 windows_core::Interface::as_raw(self),
31253 value as _,
31254 )
31255 .ok()
31256 }
31257 }
31258 pub unsafe fn Kind(&self, kind: *mut COREWEBVIEW2_PROCESS_KIND) -> windows_core::Result<()> {
31259 unsafe {
31260 (windows_core::Interface::vtable(self).Kind)(
31261 windows_core::Interface::as_raw(self),
31262 kind as _,
31263 )
31264 .ok()
31265 }
31266 }
31267}
31268#[repr(C)]
31269#[doc(hidden)]
31270pub struct ICoreWebView2ProcessInfo_Vtbl {
31271 pub base__: windows_core::IUnknown_Vtbl,
31272 pub ProcessId:
31273 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
31274 pub Kind: unsafe extern "system" fn(
31275 *mut core::ffi::c_void,
31276 *mut COREWEBVIEW2_PROCESS_KIND,
31277 ) -> windows_core::HRESULT,
31278}
31279pub trait ICoreWebView2ProcessInfo_Impl: windows_core::IUnknownImpl {
31280 fn ProcessId(&self, value: *mut i32) -> windows_core::Result<()>;
31281 fn Kind(&self, kind: *mut COREWEBVIEW2_PROCESS_KIND) -> windows_core::Result<()>;
31282}
31283impl ICoreWebView2ProcessInfo_Vtbl {
31284 pub const fn new<Identity: ICoreWebView2ProcessInfo_Impl, const OFFSET: isize>() -> Self {
31285 unsafe extern "system" fn ProcessId<
31286 Identity: ICoreWebView2ProcessInfo_Impl,
31287 const OFFSET: isize,
31288 >(
31289 this: *mut core::ffi::c_void,
31290 value: *mut i32,
31291 ) -> windows_core::HRESULT {
31292 unsafe {
31293 let this: &Identity =
31294 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31295 ICoreWebView2ProcessInfo_Impl::ProcessId(this, core::mem::transmute_copy(&value))
31296 .into()
31297 }
31298 }
31299 unsafe extern "system" fn Kind<
31300 Identity: ICoreWebView2ProcessInfo_Impl,
31301 const OFFSET: isize,
31302 >(
31303 this: *mut core::ffi::c_void,
31304 kind: *mut COREWEBVIEW2_PROCESS_KIND,
31305 ) -> windows_core::HRESULT {
31306 unsafe {
31307 let this: &Identity =
31308 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31309 ICoreWebView2ProcessInfo_Impl::Kind(this, core::mem::transmute_copy(&kind)).into()
31310 }
31311 }
31312 Self {
31313 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31314 ProcessId: ProcessId::<Identity, OFFSET>,
31315 Kind: Kind::<Identity, OFFSET>,
31316 }
31317 }
31318 pub fn matches(iid: &windows_core::GUID) -> bool {
31319 iid == &<ICoreWebView2ProcessInfo as windows_core::Interface>::IID
31320 }
31321}
31322impl windows_core::RuntimeName for ICoreWebView2ProcessInfo {}
31323windows_core::imp::define_interface!(
31324 ICoreWebView2ProcessInfoCollection,
31325 ICoreWebView2ProcessInfoCollection_Vtbl,
31326 0x402b99cd_a0cc_4fa5_b7a5_51d86a1d2339
31327);
31328windows_core::imp::interface_hierarchy!(ICoreWebView2ProcessInfoCollection, windows_core::IUnknown);
31329impl ICoreWebView2ProcessInfoCollection {
31330 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
31331 unsafe {
31332 (windows_core::Interface::vtable(self).Count)(
31333 windows_core::Interface::as_raw(self),
31334 value as _,
31335 )
31336 .ok()
31337 }
31338 }
31339 pub unsafe fn GetValueAtIndex(
31340 &self,
31341 index: u32,
31342 ) -> windows_core::Result<ICoreWebView2ProcessInfo> {
31343 unsafe {
31344 let mut result__ = core::mem::zeroed();
31345 (windows_core::Interface::vtable(self).GetValueAtIndex)(
31346 windows_core::Interface::as_raw(self),
31347 index,
31348 &mut result__,
31349 )
31350 .and_then(|| windows_core::Type::from_abi(result__))
31351 }
31352 }
31353}
31354#[repr(C)]
31355#[doc(hidden)]
31356pub struct ICoreWebView2ProcessInfoCollection_Vtbl {
31357 pub base__: windows_core::IUnknown_Vtbl,
31358 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
31359 pub GetValueAtIndex: unsafe extern "system" fn(
31360 *mut core::ffi::c_void,
31361 u32,
31362 *mut *mut core::ffi::c_void,
31363 ) -> windows_core::HRESULT,
31364}
31365pub trait ICoreWebView2ProcessInfoCollection_Impl: windows_core::IUnknownImpl {
31366 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
31367 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2ProcessInfo>;
31368}
31369impl ICoreWebView2ProcessInfoCollection_Vtbl {
31370 pub const fn new<Identity: ICoreWebView2ProcessInfoCollection_Impl, const OFFSET: isize>(
31371 ) -> Self {
31372 unsafe extern "system" fn Count<
31373 Identity: ICoreWebView2ProcessInfoCollection_Impl,
31374 const OFFSET: isize,
31375 >(
31376 this: *mut core::ffi::c_void,
31377 value: *mut u32,
31378 ) -> windows_core::HRESULT {
31379 unsafe {
31380 let this: &Identity =
31381 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31382 ICoreWebView2ProcessInfoCollection_Impl::Count(
31383 this,
31384 core::mem::transmute_copy(&value),
31385 )
31386 .into()
31387 }
31388 }
31389 unsafe extern "system" fn GetValueAtIndex<
31390 Identity: ICoreWebView2ProcessInfoCollection_Impl,
31391 const OFFSET: isize,
31392 >(
31393 this: *mut core::ffi::c_void,
31394 index: u32,
31395 value: *mut *mut core::ffi::c_void,
31396 ) -> windows_core::HRESULT {
31397 unsafe {
31398 let this: &Identity =
31399 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31400 match ICoreWebView2ProcessInfoCollection_Impl::GetValueAtIndex(
31401 this,
31402 core::mem::transmute_copy(&index),
31403 ) {
31404 Ok(ok__) => {
31405 value.write(core::mem::transmute(ok__));
31406 windows_core::HRESULT(0)
31407 }
31408 Err(err) => err.into(),
31409 }
31410 }
31411 }
31412 Self {
31413 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31414 Count: Count::<Identity, OFFSET>,
31415 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
31416 }
31417 }
31418 pub fn matches(iid: &windows_core::GUID) -> bool {
31419 iid == &<ICoreWebView2ProcessInfoCollection as windows_core::Interface>::IID
31420 }
31421}
31422impl windows_core::RuntimeName for ICoreWebView2ProcessInfoCollection {}
31423windows_core::imp::define_interface!(
31424 ICoreWebView2ProcessInfosChangedEventHandler,
31425 ICoreWebView2ProcessInfosChangedEventHandler_Vtbl,
31426 0xf4af0c39_44b9_40e9_8b11_0484cfb9e0a1
31427);
31428windows_core::imp::interface_hierarchy!(
31429 ICoreWebView2ProcessInfosChangedEventHandler,
31430 windows_core::IUnknown
31431);
31432impl ICoreWebView2ProcessInfosChangedEventHandler {
31433 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
31434 where
31435 P0: windows_core::Param<ICoreWebView2Environment>,
31436 P1: windows_core::Param<windows_core::IUnknown>,
31437 {
31438 unsafe {
31439 (windows_core::Interface::vtable(self).Invoke)(
31440 windows_core::Interface::as_raw(self),
31441 sender.param().abi(),
31442 args.param().abi(),
31443 )
31444 .ok()
31445 }
31446 }
31447}
31448#[repr(C)]
31449#[doc(hidden)]
31450pub struct ICoreWebView2ProcessInfosChangedEventHandler_Vtbl {
31451 pub base__: windows_core::IUnknown_Vtbl,
31452 pub Invoke: unsafe extern "system" fn(
31453 *mut core::ffi::c_void,
31454 *mut core::ffi::c_void,
31455 *mut core::ffi::c_void,
31456 ) -> windows_core::HRESULT,
31457}
31458pub trait ICoreWebView2ProcessInfosChangedEventHandler_Impl: windows_core::IUnknownImpl {
31459 fn Invoke(
31460 &self,
31461 sender: windows_core::Ref<ICoreWebView2Environment>,
31462 args: windows_core::Ref<windows_core::IUnknown>,
31463 ) -> windows_core::Result<()>;
31464}
31465impl ICoreWebView2ProcessInfosChangedEventHandler_Vtbl {
31466 pub const fn new<
31467 Identity: ICoreWebView2ProcessInfosChangedEventHandler_Impl,
31468 const OFFSET: isize,
31469 >() -> Self {
31470 unsafe extern "system" fn Invoke<
31471 Identity: ICoreWebView2ProcessInfosChangedEventHandler_Impl,
31472 const OFFSET: isize,
31473 >(
31474 this: *mut core::ffi::c_void,
31475 sender: *mut core::ffi::c_void,
31476 args: *mut core::ffi::c_void,
31477 ) -> windows_core::HRESULT {
31478 unsafe {
31479 let this: &Identity =
31480 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31481 ICoreWebView2ProcessInfosChangedEventHandler_Impl::Invoke(
31482 this,
31483 core::mem::transmute_copy(&sender),
31484 core::mem::transmute_copy(&args),
31485 )
31486 .into()
31487 }
31488 }
31489 Self {
31490 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31491 Invoke: Invoke::<Identity, OFFSET>,
31492 }
31493 }
31494 pub fn matches(iid: &windows_core::GUID) -> bool {
31495 iid == &<ICoreWebView2ProcessInfosChangedEventHandler as windows_core::Interface>::IID
31496 }
31497}
31498impl windows_core::RuntimeName for ICoreWebView2ProcessInfosChangedEventHandler {}
31499windows_core::imp::define_interface!(
31500 ICoreWebView2Profile,
31501 ICoreWebView2Profile_Vtbl,
31502 0x79110ad3_cd5d_4373_8bc3_c60658f17a5f
31503);
31504windows_core::imp::interface_hierarchy!(ICoreWebView2Profile, windows_core::IUnknown);
31505impl ICoreWebView2Profile {
31506 pub unsafe fn ProfileName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
31507 unsafe {
31508 (windows_core::Interface::vtable(self).ProfileName)(
31509 windows_core::Interface::as_raw(self),
31510 value as _,
31511 )
31512 .ok()
31513 }
31514 }
31515 pub unsafe fn IsInPrivateModeEnabled(
31516 &self,
31517 value: *mut windows_core::BOOL,
31518 ) -> windows_core::Result<()> {
31519 unsafe {
31520 (windows_core::Interface::vtable(self).IsInPrivateModeEnabled)(
31521 windows_core::Interface::as_raw(self),
31522 value as _,
31523 )
31524 .ok()
31525 }
31526 }
31527 pub unsafe fn ProfilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
31528 unsafe {
31529 (windows_core::Interface::vtable(self).ProfilePath)(
31530 windows_core::Interface::as_raw(self),
31531 value as _,
31532 )
31533 .ok()
31534 }
31535 }
31536 pub unsafe fn DefaultDownloadFolderPath(
31537 &self,
31538 value: *mut windows_core::PWSTR,
31539 ) -> windows_core::Result<()> {
31540 unsafe {
31541 (windows_core::Interface::vtable(self).DefaultDownloadFolderPath)(
31542 windows_core::Interface::as_raw(self),
31543 value as _,
31544 )
31545 .ok()
31546 }
31547 }
31548 pub unsafe fn SetDefaultDownloadFolderPath<P0>(&self, value: P0) -> windows_core::Result<()>
31549 where
31550 P0: windows_core::Param<windows_core::PCWSTR>,
31551 {
31552 unsafe {
31553 (windows_core::Interface::vtable(self).SetDefaultDownloadFolderPath)(
31554 windows_core::Interface::as_raw(self),
31555 value.param().abi(),
31556 )
31557 .ok()
31558 }
31559 }
31560 pub unsafe fn PreferredColorScheme(
31561 &self,
31562 value: *mut COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
31563 ) -> windows_core::Result<()> {
31564 unsafe {
31565 (windows_core::Interface::vtable(self).PreferredColorScheme)(
31566 windows_core::Interface::as_raw(self),
31567 value as _,
31568 )
31569 .ok()
31570 }
31571 }
31572 pub unsafe fn SetPreferredColorScheme(
31573 &self,
31574 value: COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
31575 ) -> windows_core::Result<()> {
31576 unsafe {
31577 (windows_core::Interface::vtable(self).SetPreferredColorScheme)(
31578 windows_core::Interface::as_raw(self),
31579 value,
31580 )
31581 .ok()
31582 }
31583 }
31584}
31585#[repr(C)]
31586#[doc(hidden)]
31587pub struct ICoreWebView2Profile_Vtbl {
31588 pub base__: windows_core::IUnknown_Vtbl,
31589 pub ProfileName: unsafe extern "system" fn(
31590 *mut core::ffi::c_void,
31591 *mut windows_core::PWSTR,
31592 ) -> windows_core::HRESULT,
31593 pub IsInPrivateModeEnabled: unsafe extern "system" fn(
31594 *mut core::ffi::c_void,
31595 *mut windows_core::BOOL,
31596 ) -> windows_core::HRESULT,
31597 pub ProfilePath: unsafe extern "system" fn(
31598 *mut core::ffi::c_void,
31599 *mut windows_core::PWSTR,
31600 ) -> windows_core::HRESULT,
31601 pub DefaultDownloadFolderPath: unsafe extern "system" fn(
31602 *mut core::ffi::c_void,
31603 *mut windows_core::PWSTR,
31604 ) -> windows_core::HRESULT,
31605 pub SetDefaultDownloadFolderPath: unsafe extern "system" fn(
31606 *mut core::ffi::c_void,
31607 windows_core::PCWSTR,
31608 ) -> windows_core::HRESULT,
31609 pub PreferredColorScheme: unsafe extern "system" fn(
31610 *mut core::ffi::c_void,
31611 *mut COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
31612 ) -> windows_core::HRESULT,
31613 pub SetPreferredColorScheme: unsafe extern "system" fn(
31614 *mut core::ffi::c_void,
31615 COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
31616 ) -> windows_core::HRESULT,
31617}
31618pub trait ICoreWebView2Profile_Impl: windows_core::IUnknownImpl {
31619 fn ProfileName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
31620 fn IsInPrivateModeEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
31621 fn ProfilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
31622 fn DefaultDownloadFolderPath(
31623 &self,
31624 value: *mut windows_core::PWSTR,
31625 ) -> windows_core::Result<()>;
31626 fn SetDefaultDownloadFolderPath(
31627 &self,
31628 value: &windows_core::PCWSTR,
31629 ) -> windows_core::Result<()>;
31630 fn PreferredColorScheme(
31631 &self,
31632 value: *mut COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
31633 ) -> windows_core::Result<()>;
31634 fn SetPreferredColorScheme(
31635 &self,
31636 value: COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
31637 ) -> windows_core::Result<()>;
31638}
31639impl ICoreWebView2Profile_Vtbl {
31640 pub const fn new<Identity: ICoreWebView2Profile_Impl, const OFFSET: isize>() -> Self {
31641 unsafe extern "system" fn ProfileName<
31642 Identity: ICoreWebView2Profile_Impl,
31643 const OFFSET: isize,
31644 >(
31645 this: *mut core::ffi::c_void,
31646 value: *mut windows_core::PWSTR,
31647 ) -> windows_core::HRESULT {
31648 unsafe {
31649 let this: &Identity =
31650 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31651 ICoreWebView2Profile_Impl::ProfileName(this, core::mem::transmute_copy(&value))
31652 .into()
31653 }
31654 }
31655 unsafe extern "system" fn IsInPrivateModeEnabled<
31656 Identity: ICoreWebView2Profile_Impl,
31657 const OFFSET: isize,
31658 >(
31659 this: *mut core::ffi::c_void,
31660 value: *mut windows_core::BOOL,
31661 ) -> windows_core::HRESULT {
31662 unsafe {
31663 let this: &Identity =
31664 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31665 ICoreWebView2Profile_Impl::IsInPrivateModeEnabled(
31666 this,
31667 core::mem::transmute_copy(&value),
31668 )
31669 .into()
31670 }
31671 }
31672 unsafe extern "system" fn ProfilePath<
31673 Identity: ICoreWebView2Profile_Impl,
31674 const OFFSET: isize,
31675 >(
31676 this: *mut core::ffi::c_void,
31677 value: *mut windows_core::PWSTR,
31678 ) -> windows_core::HRESULT {
31679 unsafe {
31680 let this: &Identity =
31681 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31682 ICoreWebView2Profile_Impl::ProfilePath(this, core::mem::transmute_copy(&value))
31683 .into()
31684 }
31685 }
31686 unsafe extern "system" fn DefaultDownloadFolderPath<
31687 Identity: ICoreWebView2Profile_Impl,
31688 const OFFSET: isize,
31689 >(
31690 this: *mut core::ffi::c_void,
31691 value: *mut windows_core::PWSTR,
31692 ) -> windows_core::HRESULT {
31693 unsafe {
31694 let this: &Identity =
31695 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31696 ICoreWebView2Profile_Impl::DefaultDownloadFolderPath(
31697 this,
31698 core::mem::transmute_copy(&value),
31699 )
31700 .into()
31701 }
31702 }
31703 unsafe extern "system" fn SetDefaultDownloadFolderPath<
31704 Identity: ICoreWebView2Profile_Impl,
31705 const OFFSET: isize,
31706 >(
31707 this: *mut core::ffi::c_void,
31708 value: windows_core::PCWSTR,
31709 ) -> windows_core::HRESULT {
31710 unsafe {
31711 let this: &Identity =
31712 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31713 ICoreWebView2Profile_Impl::SetDefaultDownloadFolderPath(
31714 this,
31715 core::mem::transmute(&value),
31716 )
31717 .into()
31718 }
31719 }
31720 unsafe extern "system" fn PreferredColorScheme<
31721 Identity: ICoreWebView2Profile_Impl,
31722 const OFFSET: isize,
31723 >(
31724 this: *mut core::ffi::c_void,
31725 value: *mut COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
31726 ) -> windows_core::HRESULT {
31727 unsafe {
31728 let this: &Identity =
31729 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31730 ICoreWebView2Profile_Impl::PreferredColorScheme(
31731 this,
31732 core::mem::transmute_copy(&value),
31733 )
31734 .into()
31735 }
31736 }
31737 unsafe extern "system" fn SetPreferredColorScheme<
31738 Identity: ICoreWebView2Profile_Impl,
31739 const OFFSET: isize,
31740 >(
31741 this: *mut core::ffi::c_void,
31742 value: COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
31743 ) -> windows_core::HRESULT {
31744 unsafe {
31745 let this: &Identity =
31746 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31747 ICoreWebView2Profile_Impl::SetPreferredColorScheme(
31748 this,
31749 core::mem::transmute_copy(&value),
31750 )
31751 .into()
31752 }
31753 }
31754 Self {
31755 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31756 ProfileName: ProfileName::<Identity, OFFSET>,
31757 IsInPrivateModeEnabled: IsInPrivateModeEnabled::<Identity, OFFSET>,
31758 ProfilePath: ProfilePath::<Identity, OFFSET>,
31759 DefaultDownloadFolderPath: DefaultDownloadFolderPath::<Identity, OFFSET>,
31760 SetDefaultDownloadFolderPath: SetDefaultDownloadFolderPath::<Identity, OFFSET>,
31761 PreferredColorScheme: PreferredColorScheme::<Identity, OFFSET>,
31762 SetPreferredColorScheme: SetPreferredColorScheme::<Identity, OFFSET>,
31763 }
31764 }
31765 pub fn matches(iid: &windows_core::GUID) -> bool {
31766 iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
31767 }
31768}
31769impl windows_core::RuntimeName for ICoreWebView2Profile {}
31770windows_core::imp::define_interface!(
31771 ICoreWebView2Profile2,
31772 ICoreWebView2Profile2_Vtbl,
31773 0xfa740d4b_5eae_4344_a8ad_74be31925397
31774);
31775impl core::ops::Deref for ICoreWebView2Profile2 {
31776 type Target = ICoreWebView2Profile;
31777 fn deref(&self) -> &Self::Target {
31778 unsafe { core::mem::transmute(self) }
31779 }
31780}
31781windows_core::imp::interface_hierarchy!(
31782 ICoreWebView2Profile2,
31783 windows_core::IUnknown,
31784 ICoreWebView2Profile
31785);
31786impl ICoreWebView2Profile2 {
31787 pub unsafe fn ClearBrowsingData<P1>(
31788 &self,
31789 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
31790 handler: P1,
31791 ) -> windows_core::Result<()>
31792 where
31793 P1: windows_core::Param<ICoreWebView2ClearBrowsingDataCompletedHandler>,
31794 {
31795 unsafe {
31796 (windows_core::Interface::vtable(self).ClearBrowsingData)(
31797 windows_core::Interface::as_raw(self),
31798 datakinds,
31799 handler.param().abi(),
31800 )
31801 .ok()
31802 }
31803 }
31804 pub unsafe fn ClearBrowsingDataInTimeRange<P3>(
31805 &self,
31806 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
31807 starttime: f64,
31808 endtime: f64,
31809 handler: P3,
31810 ) -> windows_core::Result<()>
31811 where
31812 P3: windows_core::Param<ICoreWebView2ClearBrowsingDataCompletedHandler>,
31813 {
31814 unsafe {
31815 (windows_core::Interface::vtable(self).ClearBrowsingDataInTimeRange)(
31816 windows_core::Interface::as_raw(self),
31817 datakinds,
31818 starttime,
31819 endtime,
31820 handler.param().abi(),
31821 )
31822 .ok()
31823 }
31824 }
31825 pub unsafe fn ClearBrowsingDataAll<P0>(&self, handler: P0) -> windows_core::Result<()>
31826 where
31827 P0: windows_core::Param<ICoreWebView2ClearBrowsingDataCompletedHandler>,
31828 {
31829 unsafe {
31830 (windows_core::Interface::vtable(self).ClearBrowsingDataAll)(
31831 windows_core::Interface::as_raw(self),
31832 handler.param().abi(),
31833 )
31834 .ok()
31835 }
31836 }
31837}
31838#[repr(C)]
31839#[doc(hidden)]
31840pub struct ICoreWebView2Profile2_Vtbl {
31841 pub base__: ICoreWebView2Profile_Vtbl,
31842 pub ClearBrowsingData: unsafe extern "system" fn(
31843 *mut core::ffi::c_void,
31844 COREWEBVIEW2_BROWSING_DATA_KINDS,
31845 *mut core::ffi::c_void,
31846 ) -> windows_core::HRESULT,
31847 pub ClearBrowsingDataInTimeRange: unsafe extern "system" fn(
31848 *mut core::ffi::c_void,
31849 COREWEBVIEW2_BROWSING_DATA_KINDS,
31850 f64,
31851 f64,
31852 *mut core::ffi::c_void,
31853 ) -> windows_core::HRESULT,
31854 pub ClearBrowsingDataAll: unsafe extern "system" fn(
31855 *mut core::ffi::c_void,
31856 *mut core::ffi::c_void,
31857 ) -> windows_core::HRESULT,
31858}
31859pub trait ICoreWebView2Profile2_Impl: ICoreWebView2Profile_Impl {
31860 fn ClearBrowsingData(
31861 &self,
31862 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
31863 handler: windows_core::Ref<ICoreWebView2ClearBrowsingDataCompletedHandler>,
31864 ) -> windows_core::Result<()>;
31865 fn ClearBrowsingDataInTimeRange(
31866 &self,
31867 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
31868 starttime: f64,
31869 endtime: f64,
31870 handler: windows_core::Ref<ICoreWebView2ClearBrowsingDataCompletedHandler>,
31871 ) -> windows_core::Result<()>;
31872 fn ClearBrowsingDataAll(
31873 &self,
31874 handler: windows_core::Ref<ICoreWebView2ClearBrowsingDataCompletedHandler>,
31875 ) -> windows_core::Result<()>;
31876}
31877impl ICoreWebView2Profile2_Vtbl {
31878 pub const fn new<Identity: ICoreWebView2Profile2_Impl, const OFFSET: isize>() -> Self {
31879 unsafe extern "system" fn ClearBrowsingData<
31880 Identity: ICoreWebView2Profile2_Impl,
31881 const OFFSET: isize,
31882 >(
31883 this: *mut core::ffi::c_void,
31884 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
31885 handler: *mut core::ffi::c_void,
31886 ) -> windows_core::HRESULT {
31887 unsafe {
31888 let this: &Identity =
31889 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31890 ICoreWebView2Profile2_Impl::ClearBrowsingData(
31891 this,
31892 core::mem::transmute_copy(&datakinds),
31893 core::mem::transmute_copy(&handler),
31894 )
31895 .into()
31896 }
31897 }
31898 unsafe extern "system" fn ClearBrowsingDataInTimeRange<
31899 Identity: ICoreWebView2Profile2_Impl,
31900 const OFFSET: isize,
31901 >(
31902 this: *mut core::ffi::c_void,
31903 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
31904 starttime: f64,
31905 endtime: f64,
31906 handler: *mut core::ffi::c_void,
31907 ) -> windows_core::HRESULT {
31908 unsafe {
31909 let this: &Identity =
31910 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31911 ICoreWebView2Profile2_Impl::ClearBrowsingDataInTimeRange(
31912 this,
31913 core::mem::transmute_copy(&datakinds),
31914 core::mem::transmute_copy(&starttime),
31915 core::mem::transmute_copy(&endtime),
31916 core::mem::transmute_copy(&handler),
31917 )
31918 .into()
31919 }
31920 }
31921 unsafe extern "system" fn ClearBrowsingDataAll<
31922 Identity: ICoreWebView2Profile2_Impl,
31923 const OFFSET: isize,
31924 >(
31925 this: *mut core::ffi::c_void,
31926 handler: *mut core::ffi::c_void,
31927 ) -> windows_core::HRESULT {
31928 unsafe {
31929 let this: &Identity =
31930 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31931 ICoreWebView2Profile2_Impl::ClearBrowsingDataAll(
31932 this,
31933 core::mem::transmute_copy(&handler),
31934 )
31935 .into()
31936 }
31937 }
31938 Self {
31939 base__: ICoreWebView2Profile_Vtbl::new::<Identity, OFFSET>(),
31940 ClearBrowsingData: ClearBrowsingData::<Identity, OFFSET>,
31941 ClearBrowsingDataInTimeRange: ClearBrowsingDataInTimeRange::<Identity, OFFSET>,
31942 ClearBrowsingDataAll: ClearBrowsingDataAll::<Identity, OFFSET>,
31943 }
31944 }
31945 pub fn matches(iid: &windows_core::GUID) -> bool {
31946 iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
31947 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
31948 }
31949}
31950impl windows_core::RuntimeName for ICoreWebView2Profile2 {}
31951windows_core::imp::define_interface!(
31952 ICoreWebView2Profile3,
31953 ICoreWebView2Profile3_Vtbl,
31954 0xb188e659_5685_4e05_bdba_fc640e0f1992
31955);
31956impl core::ops::Deref for ICoreWebView2Profile3 {
31957 type Target = ICoreWebView2Profile2;
31958 fn deref(&self) -> &Self::Target {
31959 unsafe { core::mem::transmute(self) }
31960 }
31961}
31962windows_core::imp::interface_hierarchy!(
31963 ICoreWebView2Profile3,
31964 windows_core::IUnknown,
31965 ICoreWebView2Profile,
31966 ICoreWebView2Profile2
31967);
31968impl ICoreWebView2Profile3 {
31969 pub unsafe fn PreferredTrackingPreventionLevel(
31970 &self,
31971 value: *mut COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
31972 ) -> windows_core::Result<()> {
31973 unsafe {
31974 (windows_core::Interface::vtable(self).PreferredTrackingPreventionLevel)(
31975 windows_core::Interface::as_raw(self),
31976 value as _,
31977 )
31978 .ok()
31979 }
31980 }
31981 pub unsafe fn SetPreferredTrackingPreventionLevel(
31982 &self,
31983 value: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
31984 ) -> windows_core::Result<()> {
31985 unsafe {
31986 (windows_core::Interface::vtable(self).SetPreferredTrackingPreventionLevel)(
31987 windows_core::Interface::as_raw(self),
31988 value,
31989 )
31990 .ok()
31991 }
31992 }
31993}
31994#[repr(C)]
31995#[doc(hidden)]
31996pub struct ICoreWebView2Profile3_Vtbl {
31997 pub base__: ICoreWebView2Profile2_Vtbl,
31998 pub PreferredTrackingPreventionLevel: unsafe extern "system" fn(
31999 *mut core::ffi::c_void,
32000 *mut COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
32001 ) -> windows_core::HRESULT,
32002 pub SetPreferredTrackingPreventionLevel: unsafe extern "system" fn(
32003 *mut core::ffi::c_void,
32004 COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
32005 )
32006 -> windows_core::HRESULT,
32007}
32008pub trait ICoreWebView2Profile3_Impl: ICoreWebView2Profile2_Impl {
32009 fn PreferredTrackingPreventionLevel(
32010 &self,
32011 value: *mut COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
32012 ) -> windows_core::Result<()>;
32013 fn SetPreferredTrackingPreventionLevel(
32014 &self,
32015 value: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
32016 ) -> windows_core::Result<()>;
32017}
32018impl ICoreWebView2Profile3_Vtbl {
32019 pub const fn new<Identity: ICoreWebView2Profile3_Impl, const OFFSET: isize>() -> Self {
32020 unsafe extern "system" fn PreferredTrackingPreventionLevel<
32021 Identity: ICoreWebView2Profile3_Impl,
32022 const OFFSET: isize,
32023 >(
32024 this: *mut core::ffi::c_void,
32025 value: *mut COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
32026 ) -> windows_core::HRESULT {
32027 unsafe {
32028 let this: &Identity =
32029 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32030 ICoreWebView2Profile3_Impl::PreferredTrackingPreventionLevel(
32031 this,
32032 core::mem::transmute_copy(&value),
32033 )
32034 .into()
32035 }
32036 }
32037 unsafe extern "system" fn SetPreferredTrackingPreventionLevel<
32038 Identity: ICoreWebView2Profile3_Impl,
32039 const OFFSET: isize,
32040 >(
32041 this: *mut core::ffi::c_void,
32042 value: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
32043 ) -> windows_core::HRESULT {
32044 unsafe {
32045 let this: &Identity =
32046 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32047 ICoreWebView2Profile3_Impl::SetPreferredTrackingPreventionLevel(
32048 this,
32049 core::mem::transmute_copy(&value),
32050 )
32051 .into()
32052 }
32053 }
32054 Self {
32055 base__: ICoreWebView2Profile2_Vtbl::new::<Identity, OFFSET>(),
32056 PreferredTrackingPreventionLevel: PreferredTrackingPreventionLevel::<Identity, OFFSET>,
32057 SetPreferredTrackingPreventionLevel: SetPreferredTrackingPreventionLevel::<
32058 Identity,
32059 OFFSET,
32060 >,
32061 }
32062 }
32063 pub fn matches(iid: &windows_core::GUID) -> bool {
32064 iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
32065 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
32066 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
32067 }
32068}
32069impl windows_core::RuntimeName for ICoreWebView2Profile3 {}
32070windows_core::imp::define_interface!(
32071 ICoreWebView2Profile4,
32072 ICoreWebView2Profile4_Vtbl,
32073 0x8f4ae680_192e_4ec8_833a_21cfadaef628
32074);
32075impl core::ops::Deref for ICoreWebView2Profile4 {
32076 type Target = ICoreWebView2Profile3;
32077 fn deref(&self) -> &Self::Target {
32078 unsafe { core::mem::transmute(self) }
32079 }
32080}
32081windows_core::imp::interface_hierarchy!(
32082 ICoreWebView2Profile4,
32083 windows_core::IUnknown,
32084 ICoreWebView2Profile,
32085 ICoreWebView2Profile2,
32086 ICoreWebView2Profile3
32087);
32088impl ICoreWebView2Profile4 {
32089 pub unsafe fn SetPermissionState<P1, P3>(
32090 &self,
32091 permissionkind: COREWEBVIEW2_PERMISSION_KIND,
32092 origin: P1,
32093 state: COREWEBVIEW2_PERMISSION_STATE,
32094 handler: P3,
32095 ) -> windows_core::Result<()>
32096 where
32097 P1: windows_core::Param<windows_core::PCWSTR>,
32098 P3: windows_core::Param<ICoreWebView2SetPermissionStateCompletedHandler>,
32099 {
32100 unsafe {
32101 (windows_core::Interface::vtable(self).SetPermissionState)(
32102 windows_core::Interface::as_raw(self),
32103 permissionkind,
32104 origin.param().abi(),
32105 state,
32106 handler.param().abi(),
32107 )
32108 .ok()
32109 }
32110 }
32111 pub unsafe fn GetNonDefaultPermissionSettings<P0>(
32112 &self,
32113 handler: P0,
32114 ) -> windows_core::Result<()>
32115 where
32116 P0: windows_core::Param<ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler>,
32117 {
32118 unsafe {
32119 (windows_core::Interface::vtable(self).GetNonDefaultPermissionSettings)(
32120 windows_core::Interface::as_raw(self),
32121 handler.param().abi(),
32122 )
32123 .ok()
32124 }
32125 }
32126}
32127#[repr(C)]
32128#[doc(hidden)]
32129pub struct ICoreWebView2Profile4_Vtbl {
32130 pub base__: ICoreWebView2Profile3_Vtbl,
32131 pub SetPermissionState: unsafe extern "system" fn(
32132 *mut core::ffi::c_void,
32133 COREWEBVIEW2_PERMISSION_KIND,
32134 windows_core::PCWSTR,
32135 COREWEBVIEW2_PERMISSION_STATE,
32136 *mut core::ffi::c_void,
32137 ) -> windows_core::HRESULT,
32138 pub GetNonDefaultPermissionSettings: unsafe extern "system" fn(
32139 *mut core::ffi::c_void,
32140 *mut core::ffi::c_void,
32141 ) -> windows_core::HRESULT,
32142}
32143pub trait ICoreWebView2Profile4_Impl: ICoreWebView2Profile3_Impl {
32144 fn SetPermissionState(
32145 &self,
32146 permissionkind: COREWEBVIEW2_PERMISSION_KIND,
32147 origin: &windows_core::PCWSTR,
32148 state: COREWEBVIEW2_PERMISSION_STATE,
32149 handler: windows_core::Ref<ICoreWebView2SetPermissionStateCompletedHandler>,
32150 ) -> windows_core::Result<()>;
32151 fn GetNonDefaultPermissionSettings(
32152 &self,
32153 handler: windows_core::Ref<ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler>,
32154 ) -> windows_core::Result<()>;
32155}
32156impl ICoreWebView2Profile4_Vtbl {
32157 pub const fn new<Identity: ICoreWebView2Profile4_Impl, const OFFSET: isize>() -> Self {
32158 unsafe extern "system" fn SetPermissionState<
32159 Identity: ICoreWebView2Profile4_Impl,
32160 const OFFSET: isize,
32161 >(
32162 this: *mut core::ffi::c_void,
32163 permissionkind: COREWEBVIEW2_PERMISSION_KIND,
32164 origin: windows_core::PCWSTR,
32165 state: COREWEBVIEW2_PERMISSION_STATE,
32166 handler: *mut core::ffi::c_void,
32167 ) -> windows_core::HRESULT {
32168 unsafe {
32169 let this: &Identity =
32170 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32171 ICoreWebView2Profile4_Impl::SetPermissionState(
32172 this,
32173 core::mem::transmute_copy(&permissionkind),
32174 core::mem::transmute(&origin),
32175 core::mem::transmute_copy(&state),
32176 core::mem::transmute_copy(&handler),
32177 )
32178 .into()
32179 }
32180 }
32181 unsafe extern "system" fn GetNonDefaultPermissionSettings<
32182 Identity: ICoreWebView2Profile4_Impl,
32183 const OFFSET: isize,
32184 >(
32185 this: *mut core::ffi::c_void,
32186 handler: *mut core::ffi::c_void,
32187 ) -> windows_core::HRESULT {
32188 unsafe {
32189 let this: &Identity =
32190 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32191 ICoreWebView2Profile4_Impl::GetNonDefaultPermissionSettings(
32192 this,
32193 core::mem::transmute_copy(&handler),
32194 )
32195 .into()
32196 }
32197 }
32198 Self {
32199 base__: ICoreWebView2Profile3_Vtbl::new::<Identity, OFFSET>(),
32200 SetPermissionState: SetPermissionState::<Identity, OFFSET>,
32201 GetNonDefaultPermissionSettings: GetNonDefaultPermissionSettings::<Identity, OFFSET>,
32202 }
32203 }
32204 pub fn matches(iid: &windows_core::GUID) -> bool {
32205 iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
32206 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
32207 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
32208 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
32209 }
32210}
32211impl windows_core::RuntimeName for ICoreWebView2Profile4 {}
32212windows_core::imp::define_interface!(
32213 ICoreWebView2Profile5,
32214 ICoreWebView2Profile5_Vtbl,
32215 0x2ee5b76e_6e80_4df2_bcd3_d4ec3340a01b
32216);
32217impl core::ops::Deref for ICoreWebView2Profile5 {
32218 type Target = ICoreWebView2Profile4;
32219 fn deref(&self) -> &Self::Target {
32220 unsafe { core::mem::transmute(self) }
32221 }
32222}
32223windows_core::imp::interface_hierarchy!(
32224 ICoreWebView2Profile5,
32225 windows_core::IUnknown,
32226 ICoreWebView2Profile,
32227 ICoreWebView2Profile2,
32228 ICoreWebView2Profile3,
32229 ICoreWebView2Profile4
32230);
32231impl ICoreWebView2Profile5 {
32232 pub unsafe fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager> {
32233 unsafe {
32234 let mut result__ = core::mem::zeroed();
32235 (windows_core::Interface::vtable(self).CookieManager)(
32236 windows_core::Interface::as_raw(self),
32237 &mut result__,
32238 )
32239 .and_then(|| windows_core::Type::from_abi(result__))
32240 }
32241 }
32242}
32243#[repr(C)]
32244#[doc(hidden)]
32245pub struct ICoreWebView2Profile5_Vtbl {
32246 pub base__: ICoreWebView2Profile4_Vtbl,
32247 pub CookieManager: unsafe extern "system" fn(
32248 *mut core::ffi::c_void,
32249 *mut *mut core::ffi::c_void,
32250 ) -> windows_core::HRESULT,
32251}
32252pub trait ICoreWebView2Profile5_Impl: ICoreWebView2Profile4_Impl {
32253 fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager>;
32254}
32255impl ICoreWebView2Profile5_Vtbl {
32256 pub const fn new<Identity: ICoreWebView2Profile5_Impl, const OFFSET: isize>() -> Self {
32257 unsafe extern "system" fn CookieManager<
32258 Identity: ICoreWebView2Profile5_Impl,
32259 const OFFSET: isize,
32260 >(
32261 this: *mut core::ffi::c_void,
32262 value: *mut *mut core::ffi::c_void,
32263 ) -> windows_core::HRESULT {
32264 unsafe {
32265 let this: &Identity =
32266 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32267 match ICoreWebView2Profile5_Impl::CookieManager(this) {
32268 Ok(ok__) => {
32269 value.write(core::mem::transmute(ok__));
32270 windows_core::HRESULT(0)
32271 }
32272 Err(err) => err.into(),
32273 }
32274 }
32275 }
32276 Self {
32277 base__: ICoreWebView2Profile4_Vtbl::new::<Identity, OFFSET>(),
32278 CookieManager: CookieManager::<Identity, OFFSET>,
32279 }
32280 }
32281 pub fn matches(iid: &windows_core::GUID) -> bool {
32282 iid == &<ICoreWebView2Profile5 as windows_core::Interface>::IID
32283 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
32284 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
32285 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
32286 || iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
32287 }
32288}
32289impl windows_core::RuntimeName for ICoreWebView2Profile5 {}
32290windows_core::imp::define_interface!(
32291 ICoreWebView2Profile6,
32292 ICoreWebView2Profile6_Vtbl,
32293 0xbd82fa6a_1d65_4c33_b2b4_0393020cc61b
32294);
32295impl core::ops::Deref for ICoreWebView2Profile6 {
32296 type Target = ICoreWebView2Profile5;
32297 fn deref(&self) -> &Self::Target {
32298 unsafe { core::mem::transmute(self) }
32299 }
32300}
32301windows_core::imp::interface_hierarchy!(
32302 ICoreWebView2Profile6,
32303 windows_core::IUnknown,
32304 ICoreWebView2Profile,
32305 ICoreWebView2Profile2,
32306 ICoreWebView2Profile3,
32307 ICoreWebView2Profile4,
32308 ICoreWebView2Profile5
32309);
32310impl ICoreWebView2Profile6 {
32311 pub unsafe fn IsPasswordAutosaveEnabled(
32312 &self,
32313 value: *mut windows_core::BOOL,
32314 ) -> windows_core::Result<()> {
32315 unsafe {
32316 (windows_core::Interface::vtable(self).IsPasswordAutosaveEnabled)(
32317 windows_core::Interface::as_raw(self),
32318 value as _,
32319 )
32320 .ok()
32321 }
32322 }
32323 pub unsafe fn SetIsPasswordAutosaveEnabled(&self, value: bool) -> windows_core::Result<()> {
32324 unsafe {
32325 (windows_core::Interface::vtable(self).SetIsPasswordAutosaveEnabled)(
32326 windows_core::Interface::as_raw(self),
32327 value.into(),
32328 )
32329 .ok()
32330 }
32331 }
32332 pub unsafe fn IsGeneralAutofillEnabled(
32333 &self,
32334 value: *mut windows_core::BOOL,
32335 ) -> windows_core::Result<()> {
32336 unsafe {
32337 (windows_core::Interface::vtable(self).IsGeneralAutofillEnabled)(
32338 windows_core::Interface::as_raw(self),
32339 value as _,
32340 )
32341 .ok()
32342 }
32343 }
32344 pub unsafe fn SetIsGeneralAutofillEnabled(&self, value: bool) -> windows_core::Result<()> {
32345 unsafe {
32346 (windows_core::Interface::vtable(self).SetIsGeneralAutofillEnabled)(
32347 windows_core::Interface::as_raw(self),
32348 value.into(),
32349 )
32350 .ok()
32351 }
32352 }
32353}
32354#[repr(C)]
32355#[doc(hidden)]
32356pub struct ICoreWebView2Profile6_Vtbl {
32357 pub base__: ICoreWebView2Profile5_Vtbl,
32358 pub IsPasswordAutosaveEnabled: unsafe extern "system" fn(
32359 *mut core::ffi::c_void,
32360 *mut windows_core::BOOL,
32361 ) -> windows_core::HRESULT,
32362 pub SetIsPasswordAutosaveEnabled: unsafe extern "system" fn(
32363 *mut core::ffi::c_void,
32364 windows_core::BOOL,
32365 ) -> windows_core::HRESULT,
32366 pub IsGeneralAutofillEnabled: unsafe extern "system" fn(
32367 *mut core::ffi::c_void,
32368 *mut windows_core::BOOL,
32369 ) -> windows_core::HRESULT,
32370 pub SetIsGeneralAutofillEnabled: unsafe extern "system" fn(
32371 *mut core::ffi::c_void,
32372 windows_core::BOOL,
32373 ) -> windows_core::HRESULT,
32374}
32375pub trait ICoreWebView2Profile6_Impl: ICoreWebView2Profile5_Impl {
32376 fn IsPasswordAutosaveEnabled(&self, value: *mut windows_core::BOOL)
32377 -> windows_core::Result<()>;
32378 fn SetIsPasswordAutosaveEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
32379 fn IsGeneralAutofillEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
32380 fn SetIsGeneralAutofillEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
32381}
32382impl ICoreWebView2Profile6_Vtbl {
32383 pub const fn new<Identity: ICoreWebView2Profile6_Impl, const OFFSET: isize>() -> Self {
32384 unsafe extern "system" fn IsPasswordAutosaveEnabled<
32385 Identity: ICoreWebView2Profile6_Impl,
32386 const OFFSET: isize,
32387 >(
32388 this: *mut core::ffi::c_void,
32389 value: *mut windows_core::BOOL,
32390 ) -> windows_core::HRESULT {
32391 unsafe {
32392 let this: &Identity =
32393 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32394 ICoreWebView2Profile6_Impl::IsPasswordAutosaveEnabled(
32395 this,
32396 core::mem::transmute_copy(&value),
32397 )
32398 .into()
32399 }
32400 }
32401 unsafe extern "system" fn SetIsPasswordAutosaveEnabled<
32402 Identity: ICoreWebView2Profile6_Impl,
32403 const OFFSET: isize,
32404 >(
32405 this: *mut core::ffi::c_void,
32406 value: windows_core::BOOL,
32407 ) -> windows_core::HRESULT {
32408 unsafe {
32409 let this: &Identity =
32410 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32411 ICoreWebView2Profile6_Impl::SetIsPasswordAutosaveEnabled(
32412 this,
32413 core::mem::transmute_copy(&value),
32414 )
32415 .into()
32416 }
32417 }
32418 unsafe extern "system" fn IsGeneralAutofillEnabled<
32419 Identity: ICoreWebView2Profile6_Impl,
32420 const OFFSET: isize,
32421 >(
32422 this: *mut core::ffi::c_void,
32423 value: *mut windows_core::BOOL,
32424 ) -> windows_core::HRESULT {
32425 unsafe {
32426 let this: &Identity =
32427 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32428 ICoreWebView2Profile6_Impl::IsGeneralAutofillEnabled(
32429 this,
32430 core::mem::transmute_copy(&value),
32431 )
32432 .into()
32433 }
32434 }
32435 unsafe extern "system" fn SetIsGeneralAutofillEnabled<
32436 Identity: ICoreWebView2Profile6_Impl,
32437 const OFFSET: isize,
32438 >(
32439 this: *mut core::ffi::c_void,
32440 value: windows_core::BOOL,
32441 ) -> windows_core::HRESULT {
32442 unsafe {
32443 let this: &Identity =
32444 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32445 ICoreWebView2Profile6_Impl::SetIsGeneralAutofillEnabled(
32446 this,
32447 core::mem::transmute_copy(&value),
32448 )
32449 .into()
32450 }
32451 }
32452 Self {
32453 base__: ICoreWebView2Profile5_Vtbl::new::<Identity, OFFSET>(),
32454 IsPasswordAutosaveEnabled: IsPasswordAutosaveEnabled::<Identity, OFFSET>,
32455 SetIsPasswordAutosaveEnabled: SetIsPasswordAutosaveEnabled::<Identity, OFFSET>,
32456 IsGeneralAutofillEnabled: IsGeneralAutofillEnabled::<Identity, OFFSET>,
32457 SetIsGeneralAutofillEnabled: SetIsGeneralAutofillEnabled::<Identity, OFFSET>,
32458 }
32459 }
32460 pub fn matches(iid: &windows_core::GUID) -> bool {
32461 iid == &<ICoreWebView2Profile6 as windows_core::Interface>::IID
32462 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
32463 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
32464 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
32465 || iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
32466 || iid == &<ICoreWebView2Profile5 as windows_core::Interface>::IID
32467 }
32468}
32469impl windows_core::RuntimeName for ICoreWebView2Profile6 {}
32470windows_core::imp::define_interface!(
32471 ICoreWebView2Profile7,
32472 ICoreWebView2Profile7_Vtbl,
32473 0x7b4c7906_a1aa_4cb4_b723_db09f813d541
32474);
32475impl core::ops::Deref for ICoreWebView2Profile7 {
32476 type Target = ICoreWebView2Profile6;
32477 fn deref(&self) -> &Self::Target {
32478 unsafe { core::mem::transmute(self) }
32479 }
32480}
32481windows_core::imp::interface_hierarchy!(
32482 ICoreWebView2Profile7,
32483 windows_core::IUnknown,
32484 ICoreWebView2Profile,
32485 ICoreWebView2Profile2,
32486 ICoreWebView2Profile3,
32487 ICoreWebView2Profile4,
32488 ICoreWebView2Profile5,
32489 ICoreWebView2Profile6
32490);
32491impl ICoreWebView2Profile7 {
32492 pub unsafe fn AddBrowserExtension<P0, P1>(
32493 &self,
32494 extensionfolderpath: P0,
32495 handler: P1,
32496 ) -> windows_core::Result<()>
32497 where
32498 P0: windows_core::Param<windows_core::PCWSTR>,
32499 P1: windows_core::Param<ICoreWebView2ProfileAddBrowserExtensionCompletedHandler>,
32500 {
32501 unsafe {
32502 (windows_core::Interface::vtable(self).AddBrowserExtension)(
32503 windows_core::Interface::as_raw(self),
32504 extensionfolderpath.param().abi(),
32505 handler.param().abi(),
32506 )
32507 .ok()
32508 }
32509 }
32510 pub unsafe fn GetBrowserExtensions<P0>(&self, handler: P0) -> windows_core::Result<()>
32511 where
32512 P0: windows_core::Param<ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler>,
32513 {
32514 unsafe {
32515 (windows_core::Interface::vtable(self).GetBrowserExtensions)(
32516 windows_core::Interface::as_raw(self),
32517 handler.param().abi(),
32518 )
32519 .ok()
32520 }
32521 }
32522}
32523#[repr(C)]
32524#[doc(hidden)]
32525pub struct ICoreWebView2Profile7_Vtbl {
32526 pub base__: ICoreWebView2Profile6_Vtbl,
32527 pub AddBrowserExtension: unsafe extern "system" fn(
32528 *mut core::ffi::c_void,
32529 windows_core::PCWSTR,
32530 *mut core::ffi::c_void,
32531 ) -> windows_core::HRESULT,
32532 pub GetBrowserExtensions: unsafe extern "system" fn(
32533 *mut core::ffi::c_void,
32534 *mut core::ffi::c_void,
32535 ) -> windows_core::HRESULT,
32536}
32537pub trait ICoreWebView2Profile7_Impl: ICoreWebView2Profile6_Impl {
32538 fn AddBrowserExtension(
32539 &self,
32540 extensionfolderpath: &windows_core::PCWSTR,
32541 handler: windows_core::Ref<ICoreWebView2ProfileAddBrowserExtensionCompletedHandler>,
32542 ) -> windows_core::Result<()>;
32543 fn GetBrowserExtensions(
32544 &self,
32545 handler: windows_core::Ref<ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler>,
32546 ) -> windows_core::Result<()>;
32547}
32548impl ICoreWebView2Profile7_Vtbl {
32549 pub const fn new<Identity: ICoreWebView2Profile7_Impl, const OFFSET: isize>() -> Self {
32550 unsafe extern "system" fn AddBrowserExtension<
32551 Identity: ICoreWebView2Profile7_Impl,
32552 const OFFSET: isize,
32553 >(
32554 this: *mut core::ffi::c_void,
32555 extensionfolderpath: windows_core::PCWSTR,
32556 handler: *mut core::ffi::c_void,
32557 ) -> windows_core::HRESULT {
32558 unsafe {
32559 let this: &Identity =
32560 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32561 ICoreWebView2Profile7_Impl::AddBrowserExtension(
32562 this,
32563 core::mem::transmute(&extensionfolderpath),
32564 core::mem::transmute_copy(&handler),
32565 )
32566 .into()
32567 }
32568 }
32569 unsafe extern "system" fn GetBrowserExtensions<
32570 Identity: ICoreWebView2Profile7_Impl,
32571 const OFFSET: isize,
32572 >(
32573 this: *mut core::ffi::c_void,
32574 handler: *mut core::ffi::c_void,
32575 ) -> windows_core::HRESULT {
32576 unsafe {
32577 let this: &Identity =
32578 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32579 ICoreWebView2Profile7_Impl::GetBrowserExtensions(
32580 this,
32581 core::mem::transmute_copy(&handler),
32582 )
32583 .into()
32584 }
32585 }
32586 Self {
32587 base__: ICoreWebView2Profile6_Vtbl::new::<Identity, OFFSET>(),
32588 AddBrowserExtension: AddBrowserExtension::<Identity, OFFSET>,
32589 GetBrowserExtensions: GetBrowserExtensions::<Identity, OFFSET>,
32590 }
32591 }
32592 pub fn matches(iid: &windows_core::GUID) -> bool {
32593 iid == &<ICoreWebView2Profile7 as windows_core::Interface>::IID
32594 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
32595 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
32596 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
32597 || iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
32598 || iid == &<ICoreWebView2Profile5 as windows_core::Interface>::IID
32599 || iid == &<ICoreWebView2Profile6 as windows_core::Interface>::IID
32600 }
32601}
32602impl windows_core::RuntimeName for ICoreWebView2Profile7 {}
32603windows_core::imp::define_interface!(
32604 ICoreWebView2Profile8,
32605 ICoreWebView2Profile8_Vtbl,
32606 0xfbf70c2f_eb1f_4383_85a0_163e92044011
32607);
32608impl core::ops::Deref for ICoreWebView2Profile8 {
32609 type Target = ICoreWebView2Profile7;
32610 fn deref(&self) -> &Self::Target {
32611 unsafe { core::mem::transmute(self) }
32612 }
32613}
32614windows_core::imp::interface_hierarchy!(
32615 ICoreWebView2Profile8,
32616 windows_core::IUnknown,
32617 ICoreWebView2Profile,
32618 ICoreWebView2Profile2,
32619 ICoreWebView2Profile3,
32620 ICoreWebView2Profile4,
32621 ICoreWebView2Profile5,
32622 ICoreWebView2Profile6,
32623 ICoreWebView2Profile7
32624);
32625impl ICoreWebView2Profile8 {
32626 pub unsafe fn Delete(&self) -> windows_core::Result<()> {
32627 unsafe {
32628 (windows_core::Interface::vtable(self).Delete)(windows_core::Interface::as_raw(self))
32629 .ok()
32630 }
32631 }
32632 pub unsafe fn add_Deleted<P0>(
32633 &self,
32634 eventhandler: P0,
32635 token: *mut i64,
32636 ) -> windows_core::Result<()>
32637 where
32638 P0: windows_core::Param<ICoreWebView2ProfileDeletedEventHandler>,
32639 {
32640 unsafe {
32641 (windows_core::Interface::vtable(self).add_Deleted)(
32642 windows_core::Interface::as_raw(self),
32643 eventhandler.param().abi(),
32644 token as _,
32645 )
32646 .ok()
32647 }
32648 }
32649 pub unsafe fn remove_Deleted(&self, token: i64) -> windows_core::Result<()> {
32650 unsafe {
32651 (windows_core::Interface::vtable(self).remove_Deleted)(
32652 windows_core::Interface::as_raw(self),
32653 token,
32654 )
32655 .ok()
32656 }
32657 }
32658}
32659#[repr(C)]
32660#[doc(hidden)]
32661pub struct ICoreWebView2Profile8_Vtbl {
32662 pub base__: ICoreWebView2Profile7_Vtbl,
32663 pub Delete: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
32664 pub add_Deleted: unsafe extern "system" fn(
32665 *mut core::ffi::c_void,
32666 *mut core::ffi::c_void,
32667 *mut i64,
32668 ) -> windows_core::HRESULT,
32669 pub remove_Deleted:
32670 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
32671}
32672pub trait ICoreWebView2Profile8_Impl: ICoreWebView2Profile7_Impl {
32673 fn Delete(&self) -> windows_core::Result<()>;
32674 fn add_Deleted(
32675 &self,
32676 eventhandler: windows_core::Ref<ICoreWebView2ProfileDeletedEventHandler>,
32677 token: *mut i64,
32678 ) -> windows_core::Result<()>;
32679 fn remove_Deleted(&self, token: i64) -> windows_core::Result<()>;
32680}
32681impl ICoreWebView2Profile8_Vtbl {
32682 pub const fn new<Identity: ICoreWebView2Profile8_Impl, const OFFSET: isize>() -> Self {
32683 unsafe extern "system" fn Delete<
32684 Identity: ICoreWebView2Profile8_Impl,
32685 const OFFSET: isize,
32686 >(
32687 this: *mut core::ffi::c_void,
32688 ) -> windows_core::HRESULT {
32689 unsafe {
32690 let this: &Identity =
32691 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32692 ICoreWebView2Profile8_Impl::Delete(this).into()
32693 }
32694 }
32695 unsafe extern "system" fn add_Deleted<
32696 Identity: ICoreWebView2Profile8_Impl,
32697 const OFFSET: isize,
32698 >(
32699 this: *mut core::ffi::c_void,
32700 eventhandler: *mut core::ffi::c_void,
32701 token: *mut i64,
32702 ) -> windows_core::HRESULT {
32703 unsafe {
32704 let this: &Identity =
32705 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32706 ICoreWebView2Profile8_Impl::add_Deleted(
32707 this,
32708 core::mem::transmute_copy(&eventhandler),
32709 core::mem::transmute_copy(&token),
32710 )
32711 .into()
32712 }
32713 }
32714 unsafe extern "system" fn remove_Deleted<
32715 Identity: ICoreWebView2Profile8_Impl,
32716 const OFFSET: isize,
32717 >(
32718 this: *mut core::ffi::c_void,
32719 token: i64,
32720 ) -> windows_core::HRESULT {
32721 unsafe {
32722 let this: &Identity =
32723 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32724 ICoreWebView2Profile8_Impl::remove_Deleted(this, core::mem::transmute_copy(&token))
32725 .into()
32726 }
32727 }
32728 Self {
32729 base__: ICoreWebView2Profile7_Vtbl::new::<Identity, OFFSET>(),
32730 Delete: Delete::<Identity, OFFSET>,
32731 add_Deleted: add_Deleted::<Identity, OFFSET>,
32732 remove_Deleted: remove_Deleted::<Identity, OFFSET>,
32733 }
32734 }
32735 pub fn matches(iid: &windows_core::GUID) -> bool {
32736 iid == &<ICoreWebView2Profile8 as windows_core::Interface>::IID
32737 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
32738 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
32739 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
32740 || iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
32741 || iid == &<ICoreWebView2Profile5 as windows_core::Interface>::IID
32742 || iid == &<ICoreWebView2Profile6 as windows_core::Interface>::IID
32743 || iid == &<ICoreWebView2Profile7 as windows_core::Interface>::IID
32744 }
32745}
32746impl windows_core::RuntimeName for ICoreWebView2Profile8 {}
32747windows_core::imp::define_interface!(
32748 ICoreWebView2ProfileAddBrowserExtensionCompletedHandler,
32749 ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Vtbl,
32750 0xdf1aab27_82b9_4ab6_aae8_017a49398c14
32751);
32752windows_core::imp::interface_hierarchy!(
32753 ICoreWebView2ProfileAddBrowserExtensionCompletedHandler,
32754 windows_core::IUnknown
32755);
32756impl ICoreWebView2ProfileAddBrowserExtensionCompletedHandler {
32757 pub unsafe fn Invoke<P1>(
32758 &self,
32759 errorcode: windows_core::HRESULT,
32760 result: P1,
32761 ) -> windows_core::Result<()>
32762 where
32763 P1: windows_core::Param<ICoreWebView2BrowserExtension>,
32764 {
32765 unsafe {
32766 (windows_core::Interface::vtable(self).Invoke)(
32767 windows_core::Interface::as_raw(self),
32768 errorcode,
32769 result.param().abi(),
32770 )
32771 .ok()
32772 }
32773 }
32774}
32775#[repr(C)]
32776#[doc(hidden)]
32777pub struct ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Vtbl {
32778 pub base__: windows_core::IUnknown_Vtbl,
32779 pub Invoke: unsafe extern "system" fn(
32780 *mut core::ffi::c_void,
32781 windows_core::HRESULT,
32782 *mut core::ffi::c_void,
32783 ) -> windows_core::HRESULT,
32784}
32785pub trait ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Impl:
32786 windows_core::IUnknownImpl
32787{
32788 fn Invoke(
32789 &self,
32790 errorcode: windows_core::HRESULT,
32791 result: windows_core::Ref<ICoreWebView2BrowserExtension>,
32792 ) -> windows_core::Result<()>;
32793}
32794impl ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Vtbl {
32795 pub const fn new<
32796 Identity: ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Impl,
32797 const OFFSET: isize,
32798 >() -> Self {
32799 unsafe extern "system" fn Invoke<
32800 Identity: ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Impl,
32801 const OFFSET: isize,
32802 >(
32803 this: *mut core::ffi::c_void,
32804 errorcode: windows_core::HRESULT,
32805 result: *mut core::ffi::c_void,
32806 ) -> windows_core::HRESULT {
32807 unsafe {
32808 let this: &Identity =
32809 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32810 ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Impl::Invoke(
32811 this,
32812 core::mem::transmute_copy(&errorcode),
32813 core::mem::transmute_copy(&result),
32814 )
32815 .into()
32816 }
32817 }
32818 Self {
32819 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32820 Invoke: Invoke::<Identity, OFFSET>,
32821 }
32822 }
32823 pub fn matches(iid: &windows_core::GUID) -> bool {
32824 iid == & < ICoreWebView2ProfileAddBrowserExtensionCompletedHandler as windows_core::Interface >::IID
32825 }
32826}
32827impl windows_core::RuntimeName for ICoreWebView2ProfileAddBrowserExtensionCompletedHandler {}
32828windows_core::imp::define_interface!(
32829 ICoreWebView2ProfileDeletedEventHandler,
32830 ICoreWebView2ProfileDeletedEventHandler_Vtbl,
32831 0xdf35055d_772e_4dbe_b743_5fbf74a2b258
32832);
32833windows_core::imp::interface_hierarchy!(
32834 ICoreWebView2ProfileDeletedEventHandler,
32835 windows_core::IUnknown
32836);
32837impl ICoreWebView2ProfileDeletedEventHandler {
32838 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
32839 where
32840 P0: windows_core::Param<ICoreWebView2Profile>,
32841 P1: windows_core::Param<windows_core::IUnknown>,
32842 {
32843 unsafe {
32844 (windows_core::Interface::vtable(self).Invoke)(
32845 windows_core::Interface::as_raw(self),
32846 sender.param().abi(),
32847 args.param().abi(),
32848 )
32849 .ok()
32850 }
32851 }
32852}
32853#[repr(C)]
32854#[doc(hidden)]
32855pub struct ICoreWebView2ProfileDeletedEventHandler_Vtbl {
32856 pub base__: windows_core::IUnknown_Vtbl,
32857 pub Invoke: unsafe extern "system" fn(
32858 *mut core::ffi::c_void,
32859 *mut core::ffi::c_void,
32860 *mut core::ffi::c_void,
32861 ) -> windows_core::HRESULT,
32862}
32863pub trait ICoreWebView2ProfileDeletedEventHandler_Impl: windows_core::IUnknownImpl {
32864 fn Invoke(
32865 &self,
32866 sender: windows_core::Ref<ICoreWebView2Profile>,
32867 args: windows_core::Ref<windows_core::IUnknown>,
32868 ) -> windows_core::Result<()>;
32869}
32870impl ICoreWebView2ProfileDeletedEventHandler_Vtbl {
32871 pub const fn new<
32872 Identity: ICoreWebView2ProfileDeletedEventHandler_Impl,
32873 const OFFSET: isize,
32874 >() -> Self {
32875 unsafe extern "system" fn Invoke<
32876 Identity: ICoreWebView2ProfileDeletedEventHandler_Impl,
32877 const OFFSET: isize,
32878 >(
32879 this: *mut core::ffi::c_void,
32880 sender: *mut core::ffi::c_void,
32881 args: *mut core::ffi::c_void,
32882 ) -> windows_core::HRESULT {
32883 unsafe {
32884 let this: &Identity =
32885 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32886 ICoreWebView2ProfileDeletedEventHandler_Impl::Invoke(
32887 this,
32888 core::mem::transmute_copy(&sender),
32889 core::mem::transmute_copy(&args),
32890 )
32891 .into()
32892 }
32893 }
32894 Self {
32895 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32896 Invoke: Invoke::<Identity, OFFSET>,
32897 }
32898 }
32899 pub fn matches(iid: &windows_core::GUID) -> bool {
32900 iid == &<ICoreWebView2ProfileDeletedEventHandler as windows_core::Interface>::IID
32901 }
32902}
32903impl windows_core::RuntimeName for ICoreWebView2ProfileDeletedEventHandler {}
32904windows_core::imp::define_interface!(
32905 ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler,
32906 ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Vtbl,
32907 0xfce16a1c_f107_4601_8b75_fc4940ae25d0
32908);
32909windows_core::imp::interface_hierarchy!(
32910 ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler,
32911 windows_core::IUnknown
32912);
32913impl ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler {
32914 pub unsafe fn Invoke<P1>(
32915 &self,
32916 errorcode: windows_core::HRESULT,
32917 result: P1,
32918 ) -> windows_core::Result<()>
32919 where
32920 P1: windows_core::Param<ICoreWebView2BrowserExtensionList>,
32921 {
32922 unsafe {
32923 (windows_core::Interface::vtable(self).Invoke)(
32924 windows_core::Interface::as_raw(self),
32925 errorcode,
32926 result.param().abi(),
32927 )
32928 .ok()
32929 }
32930 }
32931}
32932#[repr(C)]
32933#[doc(hidden)]
32934pub struct ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Vtbl {
32935 pub base__: windows_core::IUnknown_Vtbl,
32936 pub Invoke: unsafe extern "system" fn(
32937 *mut core::ffi::c_void,
32938 windows_core::HRESULT,
32939 *mut core::ffi::c_void,
32940 ) -> windows_core::HRESULT,
32941}
32942pub trait ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Impl:
32943 windows_core::IUnknownImpl
32944{
32945 fn Invoke(
32946 &self,
32947 errorcode: windows_core::HRESULT,
32948 result: windows_core::Ref<ICoreWebView2BrowserExtensionList>,
32949 ) -> windows_core::Result<()>;
32950}
32951impl ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Vtbl {
32952 pub const fn new<
32953 Identity: ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Impl,
32954 const OFFSET: isize,
32955 >() -> Self {
32956 unsafe extern "system" fn Invoke<
32957 Identity: ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Impl,
32958 const OFFSET: isize,
32959 >(
32960 this: *mut core::ffi::c_void,
32961 errorcode: windows_core::HRESULT,
32962 result: *mut core::ffi::c_void,
32963 ) -> windows_core::HRESULT {
32964 unsafe {
32965 let this: &Identity =
32966 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32967 ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Impl::Invoke(
32968 this,
32969 core::mem::transmute_copy(&errorcode),
32970 core::mem::transmute_copy(&result),
32971 )
32972 .into()
32973 }
32974 }
32975 Self {
32976 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32977 Invoke: Invoke::<Identity, OFFSET>,
32978 }
32979 }
32980 pub fn matches(iid: &windows_core::GUID) -> bool {
32981 iid == & < ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler as windows_core::Interface >::IID
32982 }
32983}
32984impl windows_core::RuntimeName for ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler {}
32985windows_core::imp::define_interface!(
32986 ICoreWebView2RasterizationScaleChangedEventHandler,
32987 ICoreWebView2RasterizationScaleChangedEventHandler_Vtbl,
32988 0x9c98c8b1_ac53_427e_a345_3049b5524bbe
32989);
32990windows_core::imp::interface_hierarchy!(
32991 ICoreWebView2RasterizationScaleChangedEventHandler,
32992 windows_core::IUnknown
32993);
32994impl ICoreWebView2RasterizationScaleChangedEventHandler {
32995 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
32996 where
32997 P0: windows_core::Param<ICoreWebView2Controller>,
32998 P1: windows_core::Param<windows_core::IUnknown>,
32999 {
33000 unsafe {
33001 (windows_core::Interface::vtable(self).Invoke)(
33002 windows_core::Interface::as_raw(self),
33003 sender.param().abi(),
33004 args.param().abi(),
33005 )
33006 .ok()
33007 }
33008 }
33009}
33010#[repr(C)]
33011#[doc(hidden)]
33012pub struct ICoreWebView2RasterizationScaleChangedEventHandler_Vtbl {
33013 pub base__: windows_core::IUnknown_Vtbl,
33014 pub Invoke: unsafe extern "system" fn(
33015 *mut core::ffi::c_void,
33016 *mut core::ffi::c_void,
33017 *mut core::ffi::c_void,
33018 ) -> windows_core::HRESULT,
33019}
33020pub trait ICoreWebView2RasterizationScaleChangedEventHandler_Impl:
33021 windows_core::IUnknownImpl
33022{
33023 fn Invoke(
33024 &self,
33025 sender: windows_core::Ref<ICoreWebView2Controller>,
33026 args: windows_core::Ref<windows_core::IUnknown>,
33027 ) -> windows_core::Result<()>;
33028}
33029impl ICoreWebView2RasterizationScaleChangedEventHandler_Vtbl {
33030 pub const fn new<
33031 Identity: ICoreWebView2RasterizationScaleChangedEventHandler_Impl,
33032 const OFFSET: isize,
33033 >() -> Self {
33034 unsafe extern "system" fn Invoke<
33035 Identity: ICoreWebView2RasterizationScaleChangedEventHandler_Impl,
33036 const OFFSET: isize,
33037 >(
33038 this: *mut core::ffi::c_void,
33039 sender: *mut core::ffi::c_void,
33040 args: *mut core::ffi::c_void,
33041 ) -> windows_core::HRESULT {
33042 unsafe {
33043 let this: &Identity =
33044 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33045 ICoreWebView2RasterizationScaleChangedEventHandler_Impl::Invoke(
33046 this,
33047 core::mem::transmute_copy(&sender),
33048 core::mem::transmute_copy(&args),
33049 )
33050 .into()
33051 }
33052 }
33053 Self {
33054 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33055 Invoke: Invoke::<Identity, OFFSET>,
33056 }
33057 }
33058 pub fn matches(iid: &windows_core::GUID) -> bool {
33059 iid == &<ICoreWebView2RasterizationScaleChangedEventHandler as windows_core::Interface>::IID
33060 }
33061}
33062impl windows_core::RuntimeName for ICoreWebView2RasterizationScaleChangedEventHandler {}
33063windows_core::imp::define_interface!(
33064 ICoreWebView2RegionRectCollectionView,
33065 ICoreWebView2RegionRectCollectionView_Vtbl,
33066 0x333353b8_48bf_4449_8fcc_22697faf5753
33067);
33068windows_core::imp::interface_hierarchy!(
33069 ICoreWebView2RegionRectCollectionView,
33070 windows_core::IUnknown
33071);
33072impl ICoreWebView2RegionRectCollectionView {
33073 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
33074 unsafe {
33075 (windows_core::Interface::vtable(self).Count)(
33076 windows_core::Interface::as_raw(self),
33077 value as _,
33078 )
33079 .ok()
33080 }
33081 }
33082 pub unsafe fn GetValueAtIndex(
33083 &self,
33084 index: u32,
33085 value: *mut windows::Win32::Foundation::RECT,
33086 ) -> windows_core::Result<()> {
33087 unsafe {
33088 (windows_core::Interface::vtable(self).GetValueAtIndex)(
33089 windows_core::Interface::as_raw(self),
33090 index,
33091 value as _,
33092 )
33093 .ok()
33094 }
33095 }
33096}
33097#[repr(C)]
33098#[doc(hidden)]
33099pub struct ICoreWebView2RegionRectCollectionView_Vtbl {
33100 pub base__: windows_core::IUnknown_Vtbl,
33101 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
33102 pub GetValueAtIndex: unsafe extern "system" fn(
33103 *mut core::ffi::c_void,
33104 u32,
33105 *mut windows::Win32::Foundation::RECT,
33106 ) -> windows_core::HRESULT,
33107}
33108pub trait ICoreWebView2RegionRectCollectionView_Impl: windows_core::IUnknownImpl {
33109 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
33110 fn GetValueAtIndex(
33111 &self,
33112 index: u32,
33113 value: *mut windows::Win32::Foundation::RECT,
33114 ) -> windows_core::Result<()>;
33115}
33116impl ICoreWebView2RegionRectCollectionView_Vtbl {
33117 pub const fn new<Identity: ICoreWebView2RegionRectCollectionView_Impl, const OFFSET: isize>(
33118 ) -> Self {
33119 unsafe extern "system" fn Count<
33120 Identity: ICoreWebView2RegionRectCollectionView_Impl,
33121 const OFFSET: isize,
33122 >(
33123 this: *mut core::ffi::c_void,
33124 value: *mut u32,
33125 ) -> windows_core::HRESULT {
33126 unsafe {
33127 let this: &Identity =
33128 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33129 ICoreWebView2RegionRectCollectionView_Impl::Count(
33130 this,
33131 core::mem::transmute_copy(&value),
33132 )
33133 .into()
33134 }
33135 }
33136 unsafe extern "system" fn GetValueAtIndex<
33137 Identity: ICoreWebView2RegionRectCollectionView_Impl,
33138 const OFFSET: isize,
33139 >(
33140 this: *mut core::ffi::c_void,
33141 index: u32,
33142 value: *mut windows::Win32::Foundation::RECT,
33143 ) -> windows_core::HRESULT {
33144 unsafe {
33145 let this: &Identity =
33146 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33147 ICoreWebView2RegionRectCollectionView_Impl::GetValueAtIndex(
33148 this,
33149 core::mem::transmute_copy(&index),
33150 core::mem::transmute_copy(&value),
33151 )
33152 .into()
33153 }
33154 }
33155 Self {
33156 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33157 Count: Count::<Identity, OFFSET>,
33158 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
33159 }
33160 }
33161 pub fn matches(iid: &windows_core::GUID) -> bool {
33162 iid == &<ICoreWebView2RegionRectCollectionView as windows_core::Interface>::IID
33163 }
33164}
33165impl windows_core::RuntimeName for ICoreWebView2RegionRectCollectionView {}
33166windows_core::imp::define_interface!(
33167 ICoreWebView2SaveAsUIShowingEventArgs,
33168 ICoreWebView2SaveAsUIShowingEventArgs_Vtbl,
33169 0x55902952_0e0d_5aaa_a7d0_e833cdb34f62
33170);
33171windows_core::imp::interface_hierarchy!(
33172 ICoreWebView2SaveAsUIShowingEventArgs,
33173 windows_core::IUnknown
33174);
33175impl ICoreWebView2SaveAsUIShowingEventArgs {
33176 pub unsafe fn ContentMimeType(
33177 &self,
33178 value: *mut windows_core::PWSTR,
33179 ) -> windows_core::Result<()> {
33180 unsafe {
33181 (windows_core::Interface::vtable(self).ContentMimeType)(
33182 windows_core::Interface::as_raw(self),
33183 value as _,
33184 )
33185 .ok()
33186 }
33187 }
33188 pub unsafe fn SetCancel(&self, value: bool) -> windows_core::Result<()> {
33189 unsafe {
33190 (windows_core::Interface::vtable(self).SetCancel)(
33191 windows_core::Interface::as_raw(self),
33192 value.into(),
33193 )
33194 .ok()
33195 }
33196 }
33197 pub unsafe fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
33198 unsafe {
33199 (windows_core::Interface::vtable(self).Cancel)(
33200 windows_core::Interface::as_raw(self),
33201 value as _,
33202 )
33203 .ok()
33204 }
33205 }
33206 pub unsafe fn SetSuppressDefaultDialog(&self, value: bool) -> windows_core::Result<()> {
33207 unsafe {
33208 (windows_core::Interface::vtable(self).SetSuppressDefaultDialog)(
33209 windows_core::Interface::as_raw(self),
33210 value.into(),
33211 )
33212 .ok()
33213 }
33214 }
33215 pub unsafe fn SuppressDefaultDialog(
33216 &self,
33217 value: *mut windows_core::BOOL,
33218 ) -> windows_core::Result<()> {
33219 unsafe {
33220 (windows_core::Interface::vtable(self).SuppressDefaultDialog)(
33221 windows_core::Interface::as_raw(self),
33222 value as _,
33223 )
33224 .ok()
33225 }
33226 }
33227 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
33228 unsafe {
33229 let mut result__ = core::mem::zeroed();
33230 (windows_core::Interface::vtable(self).GetDeferral)(
33231 windows_core::Interface::as_raw(self),
33232 &mut result__,
33233 )
33234 .and_then(|| windows_core::Type::from_abi(result__))
33235 }
33236 }
33237 pub unsafe fn SetSaveAsFilePath<P0>(&self, value: P0) -> windows_core::Result<()>
33238 where
33239 P0: windows_core::Param<windows_core::PCWSTR>,
33240 {
33241 unsafe {
33242 (windows_core::Interface::vtable(self).SetSaveAsFilePath)(
33243 windows_core::Interface::as_raw(self),
33244 value.param().abi(),
33245 )
33246 .ok()
33247 }
33248 }
33249 pub unsafe fn SaveAsFilePath(
33250 &self,
33251 value: *mut windows_core::PWSTR,
33252 ) -> windows_core::Result<()> {
33253 unsafe {
33254 (windows_core::Interface::vtable(self).SaveAsFilePath)(
33255 windows_core::Interface::as_raw(self),
33256 value as _,
33257 )
33258 .ok()
33259 }
33260 }
33261 pub unsafe fn SetAllowReplace(&self, value: bool) -> windows_core::Result<()> {
33262 unsafe {
33263 (windows_core::Interface::vtable(self).SetAllowReplace)(
33264 windows_core::Interface::as_raw(self),
33265 value.into(),
33266 )
33267 .ok()
33268 }
33269 }
33270 pub unsafe fn AllowReplace(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
33271 unsafe {
33272 (windows_core::Interface::vtable(self).AllowReplace)(
33273 windows_core::Interface::as_raw(self),
33274 value as _,
33275 )
33276 .ok()
33277 }
33278 }
33279 pub unsafe fn SetKind(&self, value: COREWEBVIEW2_SAVE_AS_KIND) -> windows_core::Result<()> {
33280 unsafe {
33281 (windows_core::Interface::vtable(self).SetKind)(
33282 windows_core::Interface::as_raw(self),
33283 value,
33284 )
33285 .ok()
33286 }
33287 }
33288 pub unsafe fn Kind(&self, value: *mut COREWEBVIEW2_SAVE_AS_KIND) -> windows_core::Result<()> {
33289 unsafe {
33290 (windows_core::Interface::vtable(self).Kind)(
33291 windows_core::Interface::as_raw(self),
33292 value as _,
33293 )
33294 .ok()
33295 }
33296 }
33297}
33298#[repr(C)]
33299#[doc(hidden)]
33300pub struct ICoreWebView2SaveAsUIShowingEventArgs_Vtbl {
33301 pub base__: windows_core::IUnknown_Vtbl,
33302 pub ContentMimeType: unsafe extern "system" fn(
33303 *mut core::ffi::c_void,
33304 *mut windows_core::PWSTR,
33305 ) -> windows_core::HRESULT,
33306 pub SetCancel: unsafe extern "system" fn(
33307 *mut core::ffi::c_void,
33308 windows_core::BOOL,
33309 ) -> windows_core::HRESULT,
33310 pub Cancel: unsafe extern "system" fn(
33311 *mut core::ffi::c_void,
33312 *mut windows_core::BOOL,
33313 ) -> windows_core::HRESULT,
33314 pub SetSuppressDefaultDialog: unsafe extern "system" fn(
33315 *mut core::ffi::c_void,
33316 windows_core::BOOL,
33317 ) -> windows_core::HRESULT,
33318 pub SuppressDefaultDialog: unsafe extern "system" fn(
33319 *mut core::ffi::c_void,
33320 *mut windows_core::BOOL,
33321 ) -> windows_core::HRESULT,
33322 pub GetDeferral: unsafe extern "system" fn(
33323 *mut core::ffi::c_void,
33324 *mut *mut core::ffi::c_void,
33325 ) -> windows_core::HRESULT,
33326 pub SetSaveAsFilePath: unsafe extern "system" fn(
33327 *mut core::ffi::c_void,
33328 windows_core::PCWSTR,
33329 ) -> windows_core::HRESULT,
33330 pub SaveAsFilePath: unsafe extern "system" fn(
33331 *mut core::ffi::c_void,
33332 *mut windows_core::PWSTR,
33333 ) -> windows_core::HRESULT,
33334 pub SetAllowReplace: unsafe extern "system" fn(
33335 *mut core::ffi::c_void,
33336 windows_core::BOOL,
33337 ) -> windows_core::HRESULT,
33338 pub AllowReplace: unsafe extern "system" fn(
33339 *mut core::ffi::c_void,
33340 *mut windows_core::BOOL,
33341 ) -> windows_core::HRESULT,
33342 pub SetKind: unsafe extern "system" fn(
33343 *mut core::ffi::c_void,
33344 COREWEBVIEW2_SAVE_AS_KIND,
33345 ) -> windows_core::HRESULT,
33346 pub Kind: unsafe extern "system" fn(
33347 *mut core::ffi::c_void,
33348 *mut COREWEBVIEW2_SAVE_AS_KIND,
33349 ) -> windows_core::HRESULT,
33350}
33351pub trait ICoreWebView2SaveAsUIShowingEventArgs_Impl: windows_core::IUnknownImpl {
33352 fn ContentMimeType(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33353 fn SetCancel(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
33354 fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
33355 fn SetSuppressDefaultDialog(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
33356 fn SuppressDefaultDialog(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
33357 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
33358 fn SetSaveAsFilePath(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
33359 fn SaveAsFilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33360 fn SetAllowReplace(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
33361 fn AllowReplace(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
33362 fn SetKind(&self, value: COREWEBVIEW2_SAVE_AS_KIND) -> windows_core::Result<()>;
33363 fn Kind(&self, value: *mut COREWEBVIEW2_SAVE_AS_KIND) -> windows_core::Result<()>;
33364}
33365impl ICoreWebView2SaveAsUIShowingEventArgs_Vtbl {
33366 pub const fn new<Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl, const OFFSET: isize>(
33367 ) -> Self {
33368 unsafe extern "system" fn ContentMimeType<
33369 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
33370 const OFFSET: isize,
33371 >(
33372 this: *mut core::ffi::c_void,
33373 value: *mut windows_core::PWSTR,
33374 ) -> windows_core::HRESULT {
33375 unsafe {
33376 let this: &Identity =
33377 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33378 ICoreWebView2SaveAsUIShowingEventArgs_Impl::ContentMimeType(
33379 this,
33380 core::mem::transmute_copy(&value),
33381 )
33382 .into()
33383 }
33384 }
33385 unsafe extern "system" fn SetCancel<
33386 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
33387 const OFFSET: isize,
33388 >(
33389 this: *mut core::ffi::c_void,
33390 value: windows_core::BOOL,
33391 ) -> windows_core::HRESULT {
33392 unsafe {
33393 let this: &Identity =
33394 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33395 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetCancel(
33396 this,
33397 core::mem::transmute_copy(&value),
33398 )
33399 .into()
33400 }
33401 }
33402 unsafe extern "system" fn Cancel<
33403 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
33404 const OFFSET: isize,
33405 >(
33406 this: *mut core::ffi::c_void,
33407 value: *mut windows_core::BOOL,
33408 ) -> windows_core::HRESULT {
33409 unsafe {
33410 let this: &Identity =
33411 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33412 ICoreWebView2SaveAsUIShowingEventArgs_Impl::Cancel(
33413 this,
33414 core::mem::transmute_copy(&value),
33415 )
33416 .into()
33417 }
33418 }
33419 unsafe extern "system" fn SetSuppressDefaultDialog<
33420 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
33421 const OFFSET: isize,
33422 >(
33423 this: *mut core::ffi::c_void,
33424 value: windows_core::BOOL,
33425 ) -> windows_core::HRESULT {
33426 unsafe {
33427 let this: &Identity =
33428 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33429 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetSuppressDefaultDialog(
33430 this,
33431 core::mem::transmute_copy(&value),
33432 )
33433 .into()
33434 }
33435 }
33436 unsafe extern "system" fn SuppressDefaultDialog<
33437 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
33438 const OFFSET: isize,
33439 >(
33440 this: *mut core::ffi::c_void,
33441 value: *mut windows_core::BOOL,
33442 ) -> windows_core::HRESULT {
33443 unsafe {
33444 let this: &Identity =
33445 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33446 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SuppressDefaultDialog(
33447 this,
33448 core::mem::transmute_copy(&value),
33449 )
33450 .into()
33451 }
33452 }
33453 unsafe extern "system" fn GetDeferral<
33454 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
33455 const OFFSET: isize,
33456 >(
33457 this: *mut core::ffi::c_void,
33458 value: *mut *mut core::ffi::c_void,
33459 ) -> windows_core::HRESULT {
33460 unsafe {
33461 let this: &Identity =
33462 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33463 match ICoreWebView2SaveAsUIShowingEventArgs_Impl::GetDeferral(this) {
33464 Ok(ok__) => {
33465 value.write(core::mem::transmute(ok__));
33466 windows_core::HRESULT(0)
33467 }
33468 Err(err) => err.into(),
33469 }
33470 }
33471 }
33472 unsafe extern "system" fn SetSaveAsFilePath<
33473 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
33474 const OFFSET: isize,
33475 >(
33476 this: *mut core::ffi::c_void,
33477 value: windows_core::PCWSTR,
33478 ) -> windows_core::HRESULT {
33479 unsafe {
33480 let this: &Identity =
33481 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33482 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetSaveAsFilePath(
33483 this,
33484 core::mem::transmute(&value),
33485 )
33486 .into()
33487 }
33488 }
33489 unsafe extern "system" fn SaveAsFilePath<
33490 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
33491 const OFFSET: isize,
33492 >(
33493 this: *mut core::ffi::c_void,
33494 value: *mut windows_core::PWSTR,
33495 ) -> windows_core::HRESULT {
33496 unsafe {
33497 let this: &Identity =
33498 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33499 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SaveAsFilePath(
33500 this,
33501 core::mem::transmute_copy(&value),
33502 )
33503 .into()
33504 }
33505 }
33506 unsafe extern "system" fn SetAllowReplace<
33507 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
33508 const OFFSET: isize,
33509 >(
33510 this: *mut core::ffi::c_void,
33511 value: windows_core::BOOL,
33512 ) -> windows_core::HRESULT {
33513 unsafe {
33514 let this: &Identity =
33515 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33516 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetAllowReplace(
33517 this,
33518 core::mem::transmute_copy(&value),
33519 )
33520 .into()
33521 }
33522 }
33523 unsafe extern "system" fn AllowReplace<
33524 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
33525 const OFFSET: isize,
33526 >(
33527 this: *mut core::ffi::c_void,
33528 value: *mut windows_core::BOOL,
33529 ) -> windows_core::HRESULT {
33530 unsafe {
33531 let this: &Identity =
33532 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33533 ICoreWebView2SaveAsUIShowingEventArgs_Impl::AllowReplace(
33534 this,
33535 core::mem::transmute_copy(&value),
33536 )
33537 .into()
33538 }
33539 }
33540 unsafe extern "system" fn SetKind<
33541 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
33542 const OFFSET: isize,
33543 >(
33544 this: *mut core::ffi::c_void,
33545 value: COREWEBVIEW2_SAVE_AS_KIND,
33546 ) -> windows_core::HRESULT {
33547 unsafe {
33548 let this: &Identity =
33549 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33550 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetKind(
33551 this,
33552 core::mem::transmute_copy(&value),
33553 )
33554 .into()
33555 }
33556 }
33557 unsafe extern "system" fn Kind<
33558 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
33559 const OFFSET: isize,
33560 >(
33561 this: *mut core::ffi::c_void,
33562 value: *mut COREWEBVIEW2_SAVE_AS_KIND,
33563 ) -> windows_core::HRESULT {
33564 unsafe {
33565 let this: &Identity =
33566 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33567 ICoreWebView2SaveAsUIShowingEventArgs_Impl::Kind(
33568 this,
33569 core::mem::transmute_copy(&value),
33570 )
33571 .into()
33572 }
33573 }
33574 Self {
33575 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33576 ContentMimeType: ContentMimeType::<Identity, OFFSET>,
33577 SetCancel: SetCancel::<Identity, OFFSET>,
33578 Cancel: Cancel::<Identity, OFFSET>,
33579 SetSuppressDefaultDialog: SetSuppressDefaultDialog::<Identity, OFFSET>,
33580 SuppressDefaultDialog: SuppressDefaultDialog::<Identity, OFFSET>,
33581 GetDeferral: GetDeferral::<Identity, OFFSET>,
33582 SetSaveAsFilePath: SetSaveAsFilePath::<Identity, OFFSET>,
33583 SaveAsFilePath: SaveAsFilePath::<Identity, OFFSET>,
33584 SetAllowReplace: SetAllowReplace::<Identity, OFFSET>,
33585 AllowReplace: AllowReplace::<Identity, OFFSET>,
33586 SetKind: SetKind::<Identity, OFFSET>,
33587 Kind: Kind::<Identity, OFFSET>,
33588 }
33589 }
33590 pub fn matches(iid: &windows_core::GUID) -> bool {
33591 iid == &<ICoreWebView2SaveAsUIShowingEventArgs as windows_core::Interface>::IID
33592 }
33593}
33594impl windows_core::RuntimeName for ICoreWebView2SaveAsUIShowingEventArgs {}
33595windows_core::imp::define_interface!(
33596 ICoreWebView2SaveAsUIShowingEventHandler,
33597 ICoreWebView2SaveAsUIShowingEventHandler_Vtbl,
33598 0x6baa177e_3a2e_5ccf_9a13_fad676cd0522
33599);
33600windows_core::imp::interface_hierarchy!(
33601 ICoreWebView2SaveAsUIShowingEventHandler,
33602 windows_core::IUnknown
33603);
33604impl ICoreWebView2SaveAsUIShowingEventHandler {
33605 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
33606 where
33607 P0: windows_core::Param<ICoreWebView2>,
33608 P1: windows_core::Param<ICoreWebView2SaveAsUIShowingEventArgs>,
33609 {
33610 unsafe {
33611 (windows_core::Interface::vtable(self).Invoke)(
33612 windows_core::Interface::as_raw(self),
33613 sender.param().abi(),
33614 args.param().abi(),
33615 )
33616 .ok()
33617 }
33618 }
33619}
33620#[repr(C)]
33621#[doc(hidden)]
33622pub struct ICoreWebView2SaveAsUIShowingEventHandler_Vtbl {
33623 pub base__: windows_core::IUnknown_Vtbl,
33624 pub Invoke: unsafe extern "system" fn(
33625 *mut core::ffi::c_void,
33626 *mut core::ffi::c_void,
33627 *mut core::ffi::c_void,
33628 ) -> windows_core::HRESULT,
33629}
33630pub trait ICoreWebView2SaveAsUIShowingEventHandler_Impl: windows_core::IUnknownImpl {
33631 fn Invoke(
33632 &self,
33633 sender: windows_core::Ref<ICoreWebView2>,
33634 args: windows_core::Ref<ICoreWebView2SaveAsUIShowingEventArgs>,
33635 ) -> windows_core::Result<()>;
33636}
33637impl ICoreWebView2SaveAsUIShowingEventHandler_Vtbl {
33638 pub const fn new<
33639 Identity: ICoreWebView2SaveAsUIShowingEventHandler_Impl,
33640 const OFFSET: isize,
33641 >() -> Self {
33642 unsafe extern "system" fn Invoke<
33643 Identity: ICoreWebView2SaveAsUIShowingEventHandler_Impl,
33644 const OFFSET: isize,
33645 >(
33646 this: *mut core::ffi::c_void,
33647 sender: *mut core::ffi::c_void,
33648 args: *mut core::ffi::c_void,
33649 ) -> windows_core::HRESULT {
33650 unsafe {
33651 let this: &Identity =
33652 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33653 ICoreWebView2SaveAsUIShowingEventHandler_Impl::Invoke(
33654 this,
33655 core::mem::transmute_copy(&sender),
33656 core::mem::transmute_copy(&args),
33657 )
33658 .into()
33659 }
33660 }
33661 Self {
33662 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33663 Invoke: Invoke::<Identity, OFFSET>,
33664 }
33665 }
33666 pub fn matches(iid: &windows_core::GUID) -> bool {
33667 iid == &<ICoreWebView2SaveAsUIShowingEventHandler as windows_core::Interface>::IID
33668 }
33669}
33670impl windows_core::RuntimeName for ICoreWebView2SaveAsUIShowingEventHandler {}
33671windows_core::imp::define_interface!(
33672 ICoreWebView2SaveFileSecurityCheckStartingEventArgs,
33673 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Vtbl,
33674 0xcf4ff1d1_5a67_5660_8d63_ef699881ea65
33675);
33676windows_core::imp::interface_hierarchy!(
33677 ICoreWebView2SaveFileSecurityCheckStartingEventArgs,
33678 windows_core::IUnknown
33679);
33680impl ICoreWebView2SaveFileSecurityCheckStartingEventArgs {
33681 pub unsafe fn CancelSave(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
33682 unsafe {
33683 (windows_core::Interface::vtable(self).CancelSave)(
33684 windows_core::Interface::as_raw(self),
33685 value as _,
33686 )
33687 .ok()
33688 }
33689 }
33690 pub unsafe fn SetCancelSave(&self, value: bool) -> windows_core::Result<()> {
33691 unsafe {
33692 (windows_core::Interface::vtable(self).SetCancelSave)(
33693 windows_core::Interface::as_raw(self),
33694 value.into(),
33695 )
33696 .ok()
33697 }
33698 }
33699 pub unsafe fn DocumentOriginUri(
33700 &self,
33701 value: *mut windows_core::PWSTR,
33702 ) -> windows_core::Result<()> {
33703 unsafe {
33704 (windows_core::Interface::vtable(self).DocumentOriginUri)(
33705 windows_core::Interface::as_raw(self),
33706 value as _,
33707 )
33708 .ok()
33709 }
33710 }
33711 pub unsafe fn FileExtension(
33712 &self,
33713 value: *mut windows_core::PWSTR,
33714 ) -> windows_core::Result<()> {
33715 unsafe {
33716 (windows_core::Interface::vtable(self).FileExtension)(
33717 windows_core::Interface::as_raw(self),
33718 value as _,
33719 )
33720 .ok()
33721 }
33722 }
33723 pub unsafe fn FilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
33724 unsafe {
33725 (windows_core::Interface::vtable(self).FilePath)(
33726 windows_core::Interface::as_raw(self),
33727 value as _,
33728 )
33729 .ok()
33730 }
33731 }
33732 pub unsafe fn SuppressDefaultPolicy(
33733 &self,
33734 value: *mut windows_core::BOOL,
33735 ) -> windows_core::Result<()> {
33736 unsafe {
33737 (windows_core::Interface::vtable(self).SuppressDefaultPolicy)(
33738 windows_core::Interface::as_raw(self),
33739 value as _,
33740 )
33741 .ok()
33742 }
33743 }
33744 pub unsafe fn SetSuppressDefaultPolicy(&self, value: bool) -> windows_core::Result<()> {
33745 unsafe {
33746 (windows_core::Interface::vtable(self).SetSuppressDefaultPolicy)(
33747 windows_core::Interface::as_raw(self),
33748 value.into(),
33749 )
33750 .ok()
33751 }
33752 }
33753 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
33754 unsafe {
33755 let mut result__ = core::mem::zeroed();
33756 (windows_core::Interface::vtable(self).GetDeferral)(
33757 windows_core::Interface::as_raw(self),
33758 &mut result__,
33759 )
33760 .and_then(|| windows_core::Type::from_abi(result__))
33761 }
33762 }
33763}
33764#[repr(C)]
33765#[doc(hidden)]
33766pub struct ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Vtbl {
33767 pub base__: windows_core::IUnknown_Vtbl,
33768 pub CancelSave: unsafe extern "system" fn(
33769 *mut core::ffi::c_void,
33770 *mut windows_core::BOOL,
33771 ) -> windows_core::HRESULT,
33772 pub SetCancelSave: unsafe extern "system" fn(
33773 *mut core::ffi::c_void,
33774 windows_core::BOOL,
33775 ) -> windows_core::HRESULT,
33776 pub DocumentOriginUri: unsafe extern "system" fn(
33777 *mut core::ffi::c_void,
33778 *mut windows_core::PWSTR,
33779 ) -> windows_core::HRESULT,
33780 pub FileExtension: unsafe extern "system" fn(
33781 *mut core::ffi::c_void,
33782 *mut windows_core::PWSTR,
33783 ) -> windows_core::HRESULT,
33784 pub FilePath: unsafe extern "system" fn(
33785 *mut core::ffi::c_void,
33786 *mut windows_core::PWSTR,
33787 ) -> windows_core::HRESULT,
33788 pub SuppressDefaultPolicy: unsafe extern "system" fn(
33789 *mut core::ffi::c_void,
33790 *mut windows_core::BOOL,
33791 ) -> windows_core::HRESULT,
33792 pub SetSuppressDefaultPolicy: unsafe extern "system" fn(
33793 *mut core::ffi::c_void,
33794 windows_core::BOOL,
33795 ) -> windows_core::HRESULT,
33796 pub GetDeferral: unsafe extern "system" fn(
33797 *mut core::ffi::c_void,
33798 *mut *mut core::ffi::c_void,
33799 ) -> windows_core::HRESULT,
33800}
33801pub trait ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl:
33802 windows_core::IUnknownImpl
33803{
33804 fn CancelSave(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
33805 fn SetCancelSave(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
33806 fn DocumentOriginUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33807 fn FileExtension(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33808 fn FilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33809 fn SuppressDefaultPolicy(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
33810 fn SetSuppressDefaultPolicy(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
33811 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
33812}
33813impl ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Vtbl {
33814 pub const fn new<
33815 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
33816 const OFFSET: isize,
33817 >() -> Self {
33818 unsafe extern "system" fn CancelSave<
33819 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
33820 const OFFSET: isize,
33821 >(
33822 this: *mut core::ffi::c_void,
33823 value: *mut windows_core::BOOL,
33824 ) -> windows_core::HRESULT {
33825 unsafe {
33826 let this: &Identity =
33827 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33828 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::CancelSave(
33829 this,
33830 core::mem::transmute_copy(&value),
33831 )
33832 .into()
33833 }
33834 }
33835 unsafe extern "system" fn SetCancelSave<
33836 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
33837 const OFFSET: isize,
33838 >(
33839 this: *mut core::ffi::c_void,
33840 value: windows_core::BOOL,
33841 ) -> windows_core::HRESULT {
33842 unsafe {
33843 let this: &Identity =
33844 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33845 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::SetCancelSave(
33846 this,
33847 core::mem::transmute_copy(&value),
33848 )
33849 .into()
33850 }
33851 }
33852 unsafe extern "system" fn DocumentOriginUri<
33853 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
33854 const OFFSET: isize,
33855 >(
33856 this: *mut core::ffi::c_void,
33857 value: *mut windows_core::PWSTR,
33858 ) -> windows_core::HRESULT {
33859 unsafe {
33860 let this: &Identity =
33861 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33862 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::DocumentOriginUri(
33863 this,
33864 core::mem::transmute_copy(&value),
33865 )
33866 .into()
33867 }
33868 }
33869 unsafe extern "system" fn FileExtension<
33870 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
33871 const OFFSET: isize,
33872 >(
33873 this: *mut core::ffi::c_void,
33874 value: *mut windows_core::PWSTR,
33875 ) -> windows_core::HRESULT {
33876 unsafe {
33877 let this: &Identity =
33878 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33879 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::FileExtension(
33880 this,
33881 core::mem::transmute_copy(&value),
33882 )
33883 .into()
33884 }
33885 }
33886 unsafe extern "system" fn FilePath<
33887 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
33888 const OFFSET: isize,
33889 >(
33890 this: *mut core::ffi::c_void,
33891 value: *mut windows_core::PWSTR,
33892 ) -> windows_core::HRESULT {
33893 unsafe {
33894 let this: &Identity =
33895 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33896 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::FilePath(
33897 this,
33898 core::mem::transmute_copy(&value),
33899 )
33900 .into()
33901 }
33902 }
33903 unsafe extern "system" fn SuppressDefaultPolicy<
33904 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
33905 const OFFSET: isize,
33906 >(
33907 this: *mut core::ffi::c_void,
33908 value: *mut windows_core::BOOL,
33909 ) -> windows_core::HRESULT {
33910 unsafe {
33911 let this: &Identity =
33912 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33913 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::SuppressDefaultPolicy(
33914 this,
33915 core::mem::transmute_copy(&value),
33916 )
33917 .into()
33918 }
33919 }
33920 unsafe extern "system" fn SetSuppressDefaultPolicy<
33921 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
33922 const OFFSET: isize,
33923 >(
33924 this: *mut core::ffi::c_void,
33925 value: windows_core::BOOL,
33926 ) -> windows_core::HRESULT {
33927 unsafe {
33928 let this: &Identity =
33929 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33930 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::SetSuppressDefaultPolicy(
33931 this,
33932 core::mem::transmute_copy(&value),
33933 )
33934 .into()
33935 }
33936 }
33937 unsafe extern "system" fn GetDeferral<
33938 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
33939 const OFFSET: isize,
33940 >(
33941 this: *mut core::ffi::c_void,
33942 value: *mut *mut core::ffi::c_void,
33943 ) -> windows_core::HRESULT {
33944 unsafe {
33945 let this: &Identity =
33946 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33947 match ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::GetDeferral(this) {
33948 Ok(ok__) => {
33949 value.write(core::mem::transmute(ok__));
33950 windows_core::HRESULT(0)
33951 }
33952 Err(err) => err.into(),
33953 }
33954 }
33955 }
33956 Self {
33957 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33958 CancelSave: CancelSave::<Identity, OFFSET>,
33959 SetCancelSave: SetCancelSave::<Identity, OFFSET>,
33960 DocumentOriginUri: DocumentOriginUri::<Identity, OFFSET>,
33961 FileExtension: FileExtension::<Identity, OFFSET>,
33962 FilePath: FilePath::<Identity, OFFSET>,
33963 SuppressDefaultPolicy: SuppressDefaultPolicy::<Identity, OFFSET>,
33964 SetSuppressDefaultPolicy: SetSuppressDefaultPolicy::<Identity, OFFSET>,
33965 GetDeferral: GetDeferral::<Identity, OFFSET>,
33966 }
33967 }
33968 pub fn matches(iid: &windows_core::GUID) -> bool {
33969 iid == & < ICoreWebView2SaveFileSecurityCheckStartingEventArgs as windows_core::Interface >::IID
33970 }
33971}
33972impl windows_core::RuntimeName for ICoreWebView2SaveFileSecurityCheckStartingEventArgs {}
33973windows_core::imp::define_interface!(
33974 ICoreWebView2SaveFileSecurityCheckStartingEventHandler,
33975 ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Vtbl,
33976 0x7899576c_19e3_57c8_b7d1_55808292de57
33977);
33978windows_core::imp::interface_hierarchy!(
33979 ICoreWebView2SaveFileSecurityCheckStartingEventHandler,
33980 windows_core::IUnknown
33981);
33982impl ICoreWebView2SaveFileSecurityCheckStartingEventHandler {
33983 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
33984 where
33985 P0: windows_core::Param<ICoreWebView2>,
33986 P1: windows_core::Param<ICoreWebView2SaveFileSecurityCheckStartingEventArgs>,
33987 {
33988 unsafe {
33989 (windows_core::Interface::vtable(self).Invoke)(
33990 windows_core::Interface::as_raw(self),
33991 sender.param().abi(),
33992 args.param().abi(),
33993 )
33994 .ok()
33995 }
33996 }
33997}
33998#[repr(C)]
33999#[doc(hidden)]
34000pub struct ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Vtbl {
34001 pub base__: windows_core::IUnknown_Vtbl,
34002 pub Invoke: unsafe extern "system" fn(
34003 *mut core::ffi::c_void,
34004 *mut core::ffi::c_void,
34005 *mut core::ffi::c_void,
34006 ) -> windows_core::HRESULT,
34007}
34008pub trait ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Impl:
34009 windows_core::IUnknownImpl
34010{
34011 fn Invoke(
34012 &self,
34013 sender: windows_core::Ref<ICoreWebView2>,
34014 args: windows_core::Ref<ICoreWebView2SaveFileSecurityCheckStartingEventArgs>,
34015 ) -> windows_core::Result<()>;
34016}
34017impl ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Vtbl {
34018 pub const fn new<
34019 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Impl,
34020 const OFFSET: isize,
34021 >() -> Self {
34022 unsafe extern "system" fn Invoke<
34023 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Impl,
34024 const OFFSET: isize,
34025 >(
34026 this: *mut core::ffi::c_void,
34027 sender: *mut core::ffi::c_void,
34028 args: *mut core::ffi::c_void,
34029 ) -> windows_core::HRESULT {
34030 unsafe {
34031 let this: &Identity =
34032 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34033 ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Impl::Invoke(
34034 this,
34035 core::mem::transmute_copy(&sender),
34036 core::mem::transmute_copy(&args),
34037 )
34038 .into()
34039 }
34040 }
34041 Self {
34042 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
34043 Invoke: Invoke::<Identity, OFFSET>,
34044 }
34045 }
34046 pub fn matches(iid: &windows_core::GUID) -> bool {
34047 iid == & < ICoreWebView2SaveFileSecurityCheckStartingEventHandler as windows_core::Interface >::IID
34048 }
34049}
34050impl windows_core::RuntimeName for ICoreWebView2SaveFileSecurityCheckStartingEventHandler {}
34051windows_core::imp::define_interface!(
34052 ICoreWebView2ScreenCaptureStartingEventArgs,
34053 ICoreWebView2ScreenCaptureStartingEventArgs_Vtbl,
34054 0x892c03fd_aee3_5eba_a1fa_6fd2f6484b2b
34055);
34056windows_core::imp::interface_hierarchy!(
34057 ICoreWebView2ScreenCaptureStartingEventArgs,
34058 windows_core::IUnknown
34059);
34060impl ICoreWebView2ScreenCaptureStartingEventArgs {
34061 pub unsafe fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
34062 unsafe {
34063 (windows_core::Interface::vtable(self).Cancel)(
34064 windows_core::Interface::as_raw(self),
34065 value as _,
34066 )
34067 .ok()
34068 }
34069 }
34070 pub unsafe fn SetCancel(&self, value: bool) -> windows_core::Result<()> {
34071 unsafe {
34072 (windows_core::Interface::vtable(self).SetCancel)(
34073 windows_core::Interface::as_raw(self),
34074 value.into(),
34075 )
34076 .ok()
34077 }
34078 }
34079 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
34080 unsafe {
34081 (windows_core::Interface::vtable(self).Handled)(
34082 windows_core::Interface::as_raw(self),
34083 value as _,
34084 )
34085 .ok()
34086 }
34087 }
34088 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
34089 unsafe {
34090 (windows_core::Interface::vtable(self).SetHandled)(
34091 windows_core::Interface::as_raw(self),
34092 value.into(),
34093 )
34094 .ok()
34095 }
34096 }
34097 pub unsafe fn OriginalSourceFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo> {
34098 unsafe {
34099 let mut result__ = core::mem::zeroed();
34100 (windows_core::Interface::vtable(self).OriginalSourceFrameInfo)(
34101 windows_core::Interface::as_raw(self),
34102 &mut result__,
34103 )
34104 .and_then(|| windows_core::Type::from_abi(result__))
34105 }
34106 }
34107 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
34108 unsafe {
34109 let mut result__ = core::mem::zeroed();
34110 (windows_core::Interface::vtable(self).GetDeferral)(
34111 windows_core::Interface::as_raw(self),
34112 &mut result__,
34113 )
34114 .and_then(|| windows_core::Type::from_abi(result__))
34115 }
34116 }
34117}
34118#[repr(C)]
34119#[doc(hidden)]
34120pub struct ICoreWebView2ScreenCaptureStartingEventArgs_Vtbl {
34121 pub base__: windows_core::IUnknown_Vtbl,
34122 pub Cancel: unsafe extern "system" fn(
34123 *mut core::ffi::c_void,
34124 *mut windows_core::BOOL,
34125 ) -> windows_core::HRESULT,
34126 pub SetCancel: unsafe extern "system" fn(
34127 *mut core::ffi::c_void,
34128 windows_core::BOOL,
34129 ) -> windows_core::HRESULT,
34130 pub Handled: unsafe extern "system" fn(
34131 *mut core::ffi::c_void,
34132 *mut windows_core::BOOL,
34133 ) -> windows_core::HRESULT,
34134 pub SetHandled: unsafe extern "system" fn(
34135 *mut core::ffi::c_void,
34136 windows_core::BOOL,
34137 ) -> windows_core::HRESULT,
34138 pub OriginalSourceFrameInfo: unsafe extern "system" fn(
34139 *mut core::ffi::c_void,
34140 *mut *mut core::ffi::c_void,
34141 ) -> windows_core::HRESULT,
34142 pub GetDeferral: unsafe extern "system" fn(
34143 *mut core::ffi::c_void,
34144 *mut *mut core::ffi::c_void,
34145 ) -> windows_core::HRESULT,
34146}
34147pub trait ICoreWebView2ScreenCaptureStartingEventArgs_Impl: windows_core::IUnknownImpl {
34148 fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
34149 fn SetCancel(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
34150 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
34151 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
34152 fn OriginalSourceFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo>;
34153 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
34154}
34155impl ICoreWebView2ScreenCaptureStartingEventArgs_Vtbl {
34156 pub const fn new<
34157 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
34158 const OFFSET: isize,
34159 >() -> Self {
34160 unsafe extern "system" fn Cancel<
34161 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
34162 const OFFSET: isize,
34163 >(
34164 this: *mut core::ffi::c_void,
34165 value: *mut windows_core::BOOL,
34166 ) -> windows_core::HRESULT {
34167 unsafe {
34168 let this: &Identity =
34169 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34170 ICoreWebView2ScreenCaptureStartingEventArgs_Impl::Cancel(
34171 this,
34172 core::mem::transmute_copy(&value),
34173 )
34174 .into()
34175 }
34176 }
34177 unsafe extern "system" fn SetCancel<
34178 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
34179 const OFFSET: isize,
34180 >(
34181 this: *mut core::ffi::c_void,
34182 value: windows_core::BOOL,
34183 ) -> windows_core::HRESULT {
34184 unsafe {
34185 let this: &Identity =
34186 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34187 ICoreWebView2ScreenCaptureStartingEventArgs_Impl::SetCancel(
34188 this,
34189 core::mem::transmute_copy(&value),
34190 )
34191 .into()
34192 }
34193 }
34194 unsafe extern "system" fn Handled<
34195 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
34196 const OFFSET: isize,
34197 >(
34198 this: *mut core::ffi::c_void,
34199 value: *mut windows_core::BOOL,
34200 ) -> windows_core::HRESULT {
34201 unsafe {
34202 let this: &Identity =
34203 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34204 ICoreWebView2ScreenCaptureStartingEventArgs_Impl::Handled(
34205 this,
34206 core::mem::transmute_copy(&value),
34207 )
34208 .into()
34209 }
34210 }
34211 unsafe extern "system" fn SetHandled<
34212 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
34213 const OFFSET: isize,
34214 >(
34215 this: *mut core::ffi::c_void,
34216 value: windows_core::BOOL,
34217 ) -> windows_core::HRESULT {
34218 unsafe {
34219 let this: &Identity =
34220 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34221 ICoreWebView2ScreenCaptureStartingEventArgs_Impl::SetHandled(
34222 this,
34223 core::mem::transmute_copy(&value),
34224 )
34225 .into()
34226 }
34227 }
34228 unsafe extern "system" fn OriginalSourceFrameInfo<
34229 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
34230 const OFFSET: isize,
34231 >(
34232 this: *mut core::ffi::c_void,
34233 value: *mut *mut core::ffi::c_void,
34234 ) -> windows_core::HRESULT {
34235 unsafe {
34236 let this: &Identity =
34237 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34238 match ICoreWebView2ScreenCaptureStartingEventArgs_Impl::OriginalSourceFrameInfo(
34239 this,
34240 ) {
34241 Ok(ok__) => {
34242 value.write(core::mem::transmute(ok__));
34243 windows_core::HRESULT(0)
34244 }
34245 Err(err) => err.into(),
34246 }
34247 }
34248 }
34249 unsafe extern "system" fn GetDeferral<
34250 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
34251 const OFFSET: isize,
34252 >(
34253 this: *mut core::ffi::c_void,
34254 value: *mut *mut core::ffi::c_void,
34255 ) -> windows_core::HRESULT {
34256 unsafe {
34257 let this: &Identity =
34258 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34259 match ICoreWebView2ScreenCaptureStartingEventArgs_Impl::GetDeferral(this) {
34260 Ok(ok__) => {
34261 value.write(core::mem::transmute(ok__));
34262 windows_core::HRESULT(0)
34263 }
34264 Err(err) => err.into(),
34265 }
34266 }
34267 }
34268 Self {
34269 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
34270 Cancel: Cancel::<Identity, OFFSET>,
34271 SetCancel: SetCancel::<Identity, OFFSET>,
34272 Handled: Handled::<Identity, OFFSET>,
34273 SetHandled: SetHandled::<Identity, OFFSET>,
34274 OriginalSourceFrameInfo: OriginalSourceFrameInfo::<Identity, OFFSET>,
34275 GetDeferral: GetDeferral::<Identity, OFFSET>,
34276 }
34277 }
34278 pub fn matches(iid: &windows_core::GUID) -> bool {
34279 iid == &<ICoreWebView2ScreenCaptureStartingEventArgs as windows_core::Interface>::IID
34280 }
34281}
34282impl windows_core::RuntimeName for ICoreWebView2ScreenCaptureStartingEventArgs {}
34283windows_core::imp::define_interface!(
34284 ICoreWebView2ScreenCaptureStartingEventHandler,
34285 ICoreWebView2ScreenCaptureStartingEventHandler_Vtbl,
34286 0xe24ff05a_1db5_59d9_89f3_3c864268db4a
34287);
34288windows_core::imp::interface_hierarchy!(
34289 ICoreWebView2ScreenCaptureStartingEventHandler,
34290 windows_core::IUnknown
34291);
34292impl ICoreWebView2ScreenCaptureStartingEventHandler {
34293 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
34294 where
34295 P0: windows_core::Param<ICoreWebView2>,
34296 P1: windows_core::Param<ICoreWebView2ScreenCaptureStartingEventArgs>,
34297 {
34298 unsafe {
34299 (windows_core::Interface::vtable(self).Invoke)(
34300 windows_core::Interface::as_raw(self),
34301 sender.param().abi(),
34302 args.param().abi(),
34303 )
34304 .ok()
34305 }
34306 }
34307}
34308#[repr(C)]
34309#[doc(hidden)]
34310pub struct ICoreWebView2ScreenCaptureStartingEventHandler_Vtbl {
34311 pub base__: windows_core::IUnknown_Vtbl,
34312 pub Invoke: unsafe extern "system" fn(
34313 *mut core::ffi::c_void,
34314 *mut core::ffi::c_void,
34315 *mut core::ffi::c_void,
34316 ) -> windows_core::HRESULT,
34317}
34318pub trait ICoreWebView2ScreenCaptureStartingEventHandler_Impl: windows_core::IUnknownImpl {
34319 fn Invoke(
34320 &self,
34321 sender: windows_core::Ref<ICoreWebView2>,
34322 args: windows_core::Ref<ICoreWebView2ScreenCaptureStartingEventArgs>,
34323 ) -> windows_core::Result<()>;
34324}
34325impl ICoreWebView2ScreenCaptureStartingEventHandler_Vtbl {
34326 pub const fn new<
34327 Identity: ICoreWebView2ScreenCaptureStartingEventHandler_Impl,
34328 const OFFSET: isize,
34329 >() -> Self {
34330 unsafe extern "system" fn Invoke<
34331 Identity: ICoreWebView2ScreenCaptureStartingEventHandler_Impl,
34332 const OFFSET: isize,
34333 >(
34334 this: *mut core::ffi::c_void,
34335 sender: *mut core::ffi::c_void,
34336 args: *mut core::ffi::c_void,
34337 ) -> windows_core::HRESULT {
34338 unsafe {
34339 let this: &Identity =
34340 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34341 ICoreWebView2ScreenCaptureStartingEventHandler_Impl::Invoke(
34342 this,
34343 core::mem::transmute_copy(&sender),
34344 core::mem::transmute_copy(&args),
34345 )
34346 .into()
34347 }
34348 }
34349 Self {
34350 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
34351 Invoke: Invoke::<Identity, OFFSET>,
34352 }
34353 }
34354 pub fn matches(iid: &windows_core::GUID) -> bool {
34355 iid == &<ICoreWebView2ScreenCaptureStartingEventHandler as windows_core::Interface>::IID
34356 }
34357}
34358impl windows_core::RuntimeName for ICoreWebView2ScreenCaptureStartingEventHandler {}
34359windows_core::imp::define_interface!(
34360 ICoreWebView2ScriptDialogOpeningEventArgs,
34361 ICoreWebView2ScriptDialogOpeningEventArgs_Vtbl,
34362 0x7390bb70_abe0_4843_9529_f143b31b03d6
34363);
34364windows_core::imp::interface_hierarchy!(
34365 ICoreWebView2ScriptDialogOpeningEventArgs,
34366 windows_core::IUnknown
34367);
34368impl ICoreWebView2ScriptDialogOpeningEventArgs {
34369 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
34370 unsafe {
34371 (windows_core::Interface::vtable(self).Uri)(
34372 windows_core::Interface::as_raw(self),
34373 uri as _,
34374 )
34375 .ok()
34376 }
34377 }
34378 pub unsafe fn Kind(
34379 &self,
34380 kind: *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND,
34381 ) -> windows_core::Result<()> {
34382 unsafe {
34383 (windows_core::Interface::vtable(self).Kind)(
34384 windows_core::Interface::as_raw(self),
34385 kind as _,
34386 )
34387 .ok()
34388 }
34389 }
34390 pub unsafe fn Message(&self, message: *mut windows_core::PWSTR) -> windows_core::Result<()> {
34391 unsafe {
34392 (windows_core::Interface::vtable(self).Message)(
34393 windows_core::Interface::as_raw(self),
34394 message as _,
34395 )
34396 .ok()
34397 }
34398 }
34399 pub unsafe fn Accept(&self) -> windows_core::Result<()> {
34400 unsafe {
34401 (windows_core::Interface::vtable(self).Accept)(windows_core::Interface::as_raw(self))
34402 .ok()
34403 }
34404 }
34405 pub unsafe fn DefaultText(
34406 &self,
34407 defaulttext: *mut windows_core::PWSTR,
34408 ) -> windows_core::Result<()> {
34409 unsafe {
34410 (windows_core::Interface::vtable(self).DefaultText)(
34411 windows_core::Interface::as_raw(self),
34412 defaulttext as _,
34413 )
34414 .ok()
34415 }
34416 }
34417 pub unsafe fn ResultText(
34418 &self,
34419 resulttext: *mut windows_core::PWSTR,
34420 ) -> windows_core::Result<()> {
34421 unsafe {
34422 (windows_core::Interface::vtable(self).ResultText)(
34423 windows_core::Interface::as_raw(self),
34424 resulttext as _,
34425 )
34426 .ok()
34427 }
34428 }
34429 pub unsafe fn SetResultText<P0>(&self, resulttext: P0) -> windows_core::Result<()>
34430 where
34431 P0: windows_core::Param<windows_core::PCWSTR>,
34432 {
34433 unsafe {
34434 (windows_core::Interface::vtable(self).SetResultText)(
34435 windows_core::Interface::as_raw(self),
34436 resulttext.param().abi(),
34437 )
34438 .ok()
34439 }
34440 }
34441 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
34442 unsafe {
34443 let mut result__ = core::mem::zeroed();
34444 (windows_core::Interface::vtable(self).GetDeferral)(
34445 windows_core::Interface::as_raw(self),
34446 &mut result__,
34447 )
34448 .and_then(|| windows_core::Type::from_abi(result__))
34449 }
34450 }
34451}
34452#[repr(C)]
34453#[doc(hidden)]
34454pub struct ICoreWebView2ScriptDialogOpeningEventArgs_Vtbl {
34455 pub base__: windows_core::IUnknown_Vtbl,
34456 pub Uri: unsafe extern "system" fn(
34457 *mut core::ffi::c_void,
34458 *mut windows_core::PWSTR,
34459 ) -> windows_core::HRESULT,
34460 pub Kind: unsafe extern "system" fn(
34461 *mut core::ffi::c_void,
34462 *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND,
34463 ) -> windows_core::HRESULT,
34464 pub Message: unsafe extern "system" fn(
34465 *mut core::ffi::c_void,
34466 *mut windows_core::PWSTR,
34467 ) -> windows_core::HRESULT,
34468 pub Accept: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
34469 pub DefaultText: unsafe extern "system" fn(
34470 *mut core::ffi::c_void,
34471 *mut windows_core::PWSTR,
34472 ) -> windows_core::HRESULT,
34473 pub ResultText: unsafe extern "system" fn(
34474 *mut core::ffi::c_void,
34475 *mut windows_core::PWSTR,
34476 ) -> windows_core::HRESULT,
34477 pub SetResultText: unsafe extern "system" fn(
34478 *mut core::ffi::c_void,
34479 windows_core::PCWSTR,
34480 ) -> windows_core::HRESULT,
34481 pub GetDeferral: unsafe extern "system" fn(
34482 *mut core::ffi::c_void,
34483 *mut *mut core::ffi::c_void,
34484 ) -> windows_core::HRESULT,
34485}
34486pub trait ICoreWebView2ScriptDialogOpeningEventArgs_Impl: windows_core::IUnknownImpl {
34487 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
34488 fn Kind(&self, kind: *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND) -> windows_core::Result<()>;
34489 fn Message(&self, message: *mut windows_core::PWSTR) -> windows_core::Result<()>;
34490 fn Accept(&self) -> windows_core::Result<()>;
34491 fn DefaultText(&self, defaulttext: *mut windows_core::PWSTR) -> windows_core::Result<()>;
34492 fn ResultText(&self, resulttext: *mut windows_core::PWSTR) -> windows_core::Result<()>;
34493 fn SetResultText(&self, resulttext: &windows_core::PCWSTR) -> windows_core::Result<()>;
34494 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
34495}
34496impl ICoreWebView2ScriptDialogOpeningEventArgs_Vtbl {
34497 pub const fn new<
34498 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
34499 const OFFSET: isize,
34500 >() -> Self {
34501 unsafe extern "system" fn Uri<
34502 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
34503 const OFFSET: isize,
34504 >(
34505 this: *mut core::ffi::c_void,
34506 uri: *mut windows_core::PWSTR,
34507 ) -> windows_core::HRESULT {
34508 unsafe {
34509 let this: &Identity =
34510 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34511 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Uri(
34512 this,
34513 core::mem::transmute_copy(&uri),
34514 )
34515 .into()
34516 }
34517 }
34518 unsafe extern "system" fn Kind<
34519 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
34520 const OFFSET: isize,
34521 >(
34522 this: *mut core::ffi::c_void,
34523 kind: *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND,
34524 ) -> windows_core::HRESULT {
34525 unsafe {
34526 let this: &Identity =
34527 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34528 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Kind(
34529 this,
34530 core::mem::transmute_copy(&kind),
34531 )
34532 .into()
34533 }
34534 }
34535 unsafe extern "system" fn Message<
34536 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
34537 const OFFSET: isize,
34538 >(
34539 this: *mut core::ffi::c_void,
34540 message: *mut windows_core::PWSTR,
34541 ) -> windows_core::HRESULT {
34542 unsafe {
34543 let this: &Identity =
34544 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34545 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Message(
34546 this,
34547 core::mem::transmute_copy(&message),
34548 )
34549 .into()
34550 }
34551 }
34552 unsafe extern "system" fn Accept<
34553 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
34554 const OFFSET: isize,
34555 >(
34556 this: *mut core::ffi::c_void,
34557 ) -> windows_core::HRESULT {
34558 unsafe {
34559 let this: &Identity =
34560 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34561 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Accept(this).into()
34562 }
34563 }
34564 unsafe extern "system" fn DefaultText<
34565 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
34566 const OFFSET: isize,
34567 >(
34568 this: *mut core::ffi::c_void,
34569 defaulttext: *mut windows_core::PWSTR,
34570 ) -> windows_core::HRESULT {
34571 unsafe {
34572 let this: &Identity =
34573 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34574 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::DefaultText(
34575 this,
34576 core::mem::transmute_copy(&defaulttext),
34577 )
34578 .into()
34579 }
34580 }
34581 unsafe extern "system" fn ResultText<
34582 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
34583 const OFFSET: isize,
34584 >(
34585 this: *mut core::ffi::c_void,
34586 resulttext: *mut windows_core::PWSTR,
34587 ) -> windows_core::HRESULT {
34588 unsafe {
34589 let this: &Identity =
34590 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34591 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::ResultText(
34592 this,
34593 core::mem::transmute_copy(&resulttext),
34594 )
34595 .into()
34596 }
34597 }
34598 unsafe extern "system" fn SetResultText<
34599 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
34600 const OFFSET: isize,
34601 >(
34602 this: *mut core::ffi::c_void,
34603 resulttext: windows_core::PCWSTR,
34604 ) -> windows_core::HRESULT {
34605 unsafe {
34606 let this: &Identity =
34607 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34608 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::SetResultText(
34609 this,
34610 core::mem::transmute(&resulttext),
34611 )
34612 .into()
34613 }
34614 }
34615 unsafe extern "system" fn GetDeferral<
34616 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
34617 const OFFSET: isize,
34618 >(
34619 this: *mut core::ffi::c_void,
34620 deferral: *mut *mut core::ffi::c_void,
34621 ) -> windows_core::HRESULT {
34622 unsafe {
34623 let this: &Identity =
34624 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34625 match ICoreWebView2ScriptDialogOpeningEventArgs_Impl::GetDeferral(this) {
34626 Ok(ok__) => {
34627 deferral.write(core::mem::transmute(ok__));
34628 windows_core::HRESULT(0)
34629 }
34630 Err(err) => err.into(),
34631 }
34632 }
34633 }
34634 Self {
34635 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
34636 Uri: Uri::<Identity, OFFSET>,
34637 Kind: Kind::<Identity, OFFSET>,
34638 Message: Message::<Identity, OFFSET>,
34639 Accept: Accept::<Identity, OFFSET>,
34640 DefaultText: DefaultText::<Identity, OFFSET>,
34641 ResultText: ResultText::<Identity, OFFSET>,
34642 SetResultText: SetResultText::<Identity, OFFSET>,
34643 GetDeferral: GetDeferral::<Identity, OFFSET>,
34644 }
34645 }
34646 pub fn matches(iid: &windows_core::GUID) -> bool {
34647 iid == &<ICoreWebView2ScriptDialogOpeningEventArgs as windows_core::Interface>::IID
34648 }
34649}
34650impl windows_core::RuntimeName for ICoreWebView2ScriptDialogOpeningEventArgs {}
34651windows_core::imp::define_interface!(
34652 ICoreWebView2ScriptDialogOpeningEventHandler,
34653 ICoreWebView2ScriptDialogOpeningEventHandler_Vtbl,
34654 0xef381bf9_afa8_4e37_91c4_8ac48524bdfb
34655);
34656windows_core::imp::interface_hierarchy!(
34657 ICoreWebView2ScriptDialogOpeningEventHandler,
34658 windows_core::IUnknown
34659);
34660impl ICoreWebView2ScriptDialogOpeningEventHandler {
34661 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
34662 where
34663 P0: windows_core::Param<ICoreWebView2>,
34664 P1: windows_core::Param<ICoreWebView2ScriptDialogOpeningEventArgs>,
34665 {
34666 unsafe {
34667 (windows_core::Interface::vtable(self).Invoke)(
34668 windows_core::Interface::as_raw(self),
34669 sender.param().abi(),
34670 args.param().abi(),
34671 )
34672 .ok()
34673 }
34674 }
34675}
34676#[repr(C)]
34677#[doc(hidden)]
34678pub struct ICoreWebView2ScriptDialogOpeningEventHandler_Vtbl {
34679 pub base__: windows_core::IUnknown_Vtbl,
34680 pub Invoke: unsafe extern "system" fn(
34681 *mut core::ffi::c_void,
34682 *mut core::ffi::c_void,
34683 *mut core::ffi::c_void,
34684 ) -> windows_core::HRESULT,
34685}
34686pub trait ICoreWebView2ScriptDialogOpeningEventHandler_Impl: windows_core::IUnknownImpl {
34687 fn Invoke(
34688 &self,
34689 sender: windows_core::Ref<ICoreWebView2>,
34690 args: windows_core::Ref<ICoreWebView2ScriptDialogOpeningEventArgs>,
34691 ) -> windows_core::Result<()>;
34692}
34693impl ICoreWebView2ScriptDialogOpeningEventHandler_Vtbl {
34694 pub const fn new<
34695 Identity: ICoreWebView2ScriptDialogOpeningEventHandler_Impl,
34696 const OFFSET: isize,
34697 >() -> Self {
34698 unsafe extern "system" fn Invoke<
34699 Identity: ICoreWebView2ScriptDialogOpeningEventHandler_Impl,
34700 const OFFSET: isize,
34701 >(
34702 this: *mut core::ffi::c_void,
34703 sender: *mut core::ffi::c_void,
34704 args: *mut core::ffi::c_void,
34705 ) -> windows_core::HRESULT {
34706 unsafe {
34707 let this: &Identity =
34708 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34709 ICoreWebView2ScriptDialogOpeningEventHandler_Impl::Invoke(
34710 this,
34711 core::mem::transmute_copy(&sender),
34712 core::mem::transmute_copy(&args),
34713 )
34714 .into()
34715 }
34716 }
34717 Self {
34718 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
34719 Invoke: Invoke::<Identity, OFFSET>,
34720 }
34721 }
34722 pub fn matches(iid: &windows_core::GUID) -> bool {
34723 iid == &<ICoreWebView2ScriptDialogOpeningEventHandler as windows_core::Interface>::IID
34724 }
34725}
34726impl windows_core::RuntimeName for ICoreWebView2ScriptDialogOpeningEventHandler {}
34727windows_core::imp::define_interface!(
34728 ICoreWebView2ScriptException,
34729 ICoreWebView2ScriptException_Vtbl,
34730 0x054dae00_84a3_49ff_bc17_4012a90bc9fd
34731);
34732windows_core::imp::interface_hierarchy!(ICoreWebView2ScriptException, windows_core::IUnknown);
34733impl ICoreWebView2ScriptException {
34734 pub unsafe fn LineNumber(&self, value: *mut u32) -> windows_core::Result<()> {
34735 unsafe {
34736 (windows_core::Interface::vtable(self).LineNumber)(
34737 windows_core::Interface::as_raw(self),
34738 value as _,
34739 )
34740 .ok()
34741 }
34742 }
34743 pub unsafe fn ColumnNumber(&self, value: *mut u32) -> windows_core::Result<()> {
34744 unsafe {
34745 (windows_core::Interface::vtable(self).ColumnNumber)(
34746 windows_core::Interface::as_raw(self),
34747 value as _,
34748 )
34749 .ok()
34750 }
34751 }
34752 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
34753 unsafe {
34754 (windows_core::Interface::vtable(self).Name)(
34755 windows_core::Interface::as_raw(self),
34756 value as _,
34757 )
34758 .ok()
34759 }
34760 }
34761 pub unsafe fn Message(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
34762 unsafe {
34763 (windows_core::Interface::vtable(self).Message)(
34764 windows_core::Interface::as_raw(self),
34765 value as _,
34766 )
34767 .ok()
34768 }
34769 }
34770 pub unsafe fn ToJson(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
34771 unsafe {
34772 (windows_core::Interface::vtable(self).ToJson)(
34773 windows_core::Interface::as_raw(self),
34774 value as _,
34775 )
34776 .ok()
34777 }
34778 }
34779}
34780#[repr(C)]
34781#[doc(hidden)]
34782pub struct ICoreWebView2ScriptException_Vtbl {
34783 pub base__: windows_core::IUnknown_Vtbl,
34784 pub LineNumber:
34785 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
34786 pub ColumnNumber:
34787 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
34788 pub Name: unsafe extern "system" fn(
34789 *mut core::ffi::c_void,
34790 *mut windows_core::PWSTR,
34791 ) -> windows_core::HRESULT,
34792 pub Message: unsafe extern "system" fn(
34793 *mut core::ffi::c_void,
34794 *mut windows_core::PWSTR,
34795 ) -> windows_core::HRESULT,
34796 pub ToJson: unsafe extern "system" fn(
34797 *mut core::ffi::c_void,
34798 *mut windows_core::PWSTR,
34799 ) -> windows_core::HRESULT,
34800}
34801pub trait ICoreWebView2ScriptException_Impl: windows_core::IUnknownImpl {
34802 fn LineNumber(&self, value: *mut u32) -> windows_core::Result<()>;
34803 fn ColumnNumber(&self, value: *mut u32) -> windows_core::Result<()>;
34804 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
34805 fn Message(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
34806 fn ToJson(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
34807}
34808impl ICoreWebView2ScriptException_Vtbl {
34809 pub const fn new<Identity: ICoreWebView2ScriptException_Impl, const OFFSET: isize>() -> Self {
34810 unsafe extern "system" fn LineNumber<
34811 Identity: ICoreWebView2ScriptException_Impl,
34812 const OFFSET: isize,
34813 >(
34814 this: *mut core::ffi::c_void,
34815 value: *mut u32,
34816 ) -> windows_core::HRESULT {
34817 unsafe {
34818 let this: &Identity =
34819 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34820 ICoreWebView2ScriptException_Impl::LineNumber(
34821 this,
34822 core::mem::transmute_copy(&value),
34823 )
34824 .into()
34825 }
34826 }
34827 unsafe extern "system" fn ColumnNumber<
34828 Identity: ICoreWebView2ScriptException_Impl,
34829 const OFFSET: isize,
34830 >(
34831 this: *mut core::ffi::c_void,
34832 value: *mut u32,
34833 ) -> windows_core::HRESULT {
34834 unsafe {
34835 let this: &Identity =
34836 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34837 ICoreWebView2ScriptException_Impl::ColumnNumber(
34838 this,
34839 core::mem::transmute_copy(&value),
34840 )
34841 .into()
34842 }
34843 }
34844 unsafe extern "system" fn Name<
34845 Identity: ICoreWebView2ScriptException_Impl,
34846 const OFFSET: isize,
34847 >(
34848 this: *mut core::ffi::c_void,
34849 value: *mut windows_core::PWSTR,
34850 ) -> windows_core::HRESULT {
34851 unsafe {
34852 let this: &Identity =
34853 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34854 ICoreWebView2ScriptException_Impl::Name(this, core::mem::transmute_copy(&value))
34855 .into()
34856 }
34857 }
34858 unsafe extern "system" fn Message<
34859 Identity: ICoreWebView2ScriptException_Impl,
34860 const OFFSET: isize,
34861 >(
34862 this: *mut core::ffi::c_void,
34863 value: *mut windows_core::PWSTR,
34864 ) -> windows_core::HRESULT {
34865 unsafe {
34866 let this: &Identity =
34867 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34868 ICoreWebView2ScriptException_Impl::Message(this, core::mem::transmute_copy(&value))
34869 .into()
34870 }
34871 }
34872 unsafe extern "system" fn ToJson<
34873 Identity: ICoreWebView2ScriptException_Impl,
34874 const OFFSET: isize,
34875 >(
34876 this: *mut core::ffi::c_void,
34877 value: *mut windows_core::PWSTR,
34878 ) -> windows_core::HRESULT {
34879 unsafe {
34880 let this: &Identity =
34881 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34882 ICoreWebView2ScriptException_Impl::ToJson(this, core::mem::transmute_copy(&value))
34883 .into()
34884 }
34885 }
34886 Self {
34887 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
34888 LineNumber: LineNumber::<Identity, OFFSET>,
34889 ColumnNumber: ColumnNumber::<Identity, OFFSET>,
34890 Name: Name::<Identity, OFFSET>,
34891 Message: Message::<Identity, OFFSET>,
34892 ToJson: ToJson::<Identity, OFFSET>,
34893 }
34894 }
34895 pub fn matches(iid: &windows_core::GUID) -> bool {
34896 iid == &<ICoreWebView2ScriptException as windows_core::Interface>::IID
34897 }
34898}
34899impl windows_core::RuntimeName for ICoreWebView2ScriptException {}
34900windows_core::imp::define_interface!(
34901 ICoreWebView2ServerCertificateErrorDetectedEventArgs,
34902 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Vtbl,
34903 0x012193ed_7c13_48ff_969d_a84c1f432a14
34904);
34905windows_core::imp::interface_hierarchy!(
34906 ICoreWebView2ServerCertificateErrorDetectedEventArgs,
34907 windows_core::IUnknown
34908);
34909impl ICoreWebView2ServerCertificateErrorDetectedEventArgs {
34910 pub unsafe fn ErrorStatus(
34911 &self,
34912 value: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
34913 ) -> windows_core::Result<()> {
34914 unsafe {
34915 (windows_core::Interface::vtable(self).ErrorStatus)(
34916 windows_core::Interface::as_raw(self),
34917 value as _,
34918 )
34919 .ok()
34920 }
34921 }
34922 pub unsafe fn RequestUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
34923 unsafe {
34924 (windows_core::Interface::vtable(self).RequestUri)(
34925 windows_core::Interface::as_raw(self),
34926 value as _,
34927 )
34928 .ok()
34929 }
34930 }
34931 pub unsafe fn ServerCertificate(&self) -> windows_core::Result<ICoreWebView2Certificate> {
34932 unsafe {
34933 let mut result__ = core::mem::zeroed();
34934 (windows_core::Interface::vtable(self).ServerCertificate)(
34935 windows_core::Interface::as_raw(self),
34936 &mut result__,
34937 )
34938 .and_then(|| windows_core::Type::from_abi(result__))
34939 }
34940 }
34941 pub unsafe fn Action(
34942 &self,
34943 value: *mut COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
34944 ) -> windows_core::Result<()> {
34945 unsafe {
34946 (windows_core::Interface::vtable(self).Action)(
34947 windows_core::Interface::as_raw(self),
34948 value as _,
34949 )
34950 .ok()
34951 }
34952 }
34953 pub unsafe fn SetAction(
34954 &self,
34955 value: COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
34956 ) -> windows_core::Result<()> {
34957 unsafe {
34958 (windows_core::Interface::vtable(self).SetAction)(
34959 windows_core::Interface::as_raw(self),
34960 value,
34961 )
34962 .ok()
34963 }
34964 }
34965 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
34966 unsafe {
34967 let mut result__ = core::mem::zeroed();
34968 (windows_core::Interface::vtable(self).GetDeferral)(
34969 windows_core::Interface::as_raw(self),
34970 &mut result__,
34971 )
34972 .and_then(|| windows_core::Type::from_abi(result__))
34973 }
34974 }
34975}
34976#[repr(C)]
34977#[doc(hidden)]
34978pub struct ICoreWebView2ServerCertificateErrorDetectedEventArgs_Vtbl {
34979 pub base__: windows_core::IUnknown_Vtbl,
34980 pub ErrorStatus: unsafe extern "system" fn(
34981 *mut core::ffi::c_void,
34982 *mut COREWEBVIEW2_WEB_ERROR_STATUS,
34983 ) -> windows_core::HRESULT,
34984 pub RequestUri: unsafe extern "system" fn(
34985 *mut core::ffi::c_void,
34986 *mut windows_core::PWSTR,
34987 ) -> windows_core::HRESULT,
34988 pub ServerCertificate: unsafe extern "system" fn(
34989 *mut core::ffi::c_void,
34990 *mut *mut core::ffi::c_void,
34991 ) -> windows_core::HRESULT,
34992 pub Action: unsafe extern "system" fn(
34993 *mut core::ffi::c_void,
34994 *mut COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
34995 ) -> windows_core::HRESULT,
34996 pub SetAction: unsafe extern "system" fn(
34997 *mut core::ffi::c_void,
34998 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
34999 ) -> windows_core::HRESULT,
35000 pub GetDeferral: unsafe extern "system" fn(
35001 *mut core::ffi::c_void,
35002 *mut *mut core::ffi::c_void,
35003 ) -> windows_core::HRESULT,
35004}
35005pub trait ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl:
35006 windows_core::IUnknownImpl
35007{
35008 fn ErrorStatus(&self, value: *mut COREWEBVIEW2_WEB_ERROR_STATUS) -> windows_core::Result<()>;
35009 fn RequestUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
35010 fn ServerCertificate(&self) -> windows_core::Result<ICoreWebView2Certificate>;
35011 fn Action(
35012 &self,
35013 value: *mut COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
35014 ) -> windows_core::Result<()>;
35015 fn SetAction(
35016 &self,
35017 value: COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
35018 ) -> windows_core::Result<()>;
35019 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
35020}
35021impl ICoreWebView2ServerCertificateErrorDetectedEventArgs_Vtbl {
35022 pub const fn new<
35023 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
35024 const OFFSET: isize,
35025 >() -> Self {
35026 unsafe extern "system" fn ErrorStatus<
35027 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
35028 const OFFSET: isize,
35029 >(
35030 this: *mut core::ffi::c_void,
35031 value: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
35032 ) -> windows_core::HRESULT {
35033 unsafe {
35034 let this: &Identity =
35035 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35036 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::ErrorStatus(
35037 this,
35038 core::mem::transmute_copy(&value),
35039 )
35040 .into()
35041 }
35042 }
35043 unsafe extern "system" fn RequestUri<
35044 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
35045 const OFFSET: isize,
35046 >(
35047 this: *mut core::ffi::c_void,
35048 value: *mut windows_core::PWSTR,
35049 ) -> windows_core::HRESULT {
35050 unsafe {
35051 let this: &Identity =
35052 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35053 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::RequestUri(
35054 this,
35055 core::mem::transmute_copy(&value),
35056 )
35057 .into()
35058 }
35059 }
35060 unsafe extern "system" fn ServerCertificate<
35061 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
35062 const OFFSET: isize,
35063 >(
35064 this: *mut core::ffi::c_void,
35065 value: *mut *mut core::ffi::c_void,
35066 ) -> windows_core::HRESULT {
35067 unsafe {
35068 let this: &Identity =
35069 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35070 match ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::ServerCertificate(
35071 this,
35072 ) {
35073 Ok(ok__) => {
35074 value.write(core::mem::transmute(ok__));
35075 windows_core::HRESULT(0)
35076 }
35077 Err(err) => err.into(),
35078 }
35079 }
35080 }
35081 unsafe extern "system" fn Action<
35082 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
35083 const OFFSET: isize,
35084 >(
35085 this: *mut core::ffi::c_void,
35086 value: *mut COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
35087 ) -> windows_core::HRESULT {
35088 unsafe {
35089 let this: &Identity =
35090 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35091 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::Action(
35092 this,
35093 core::mem::transmute_copy(&value),
35094 )
35095 .into()
35096 }
35097 }
35098 unsafe extern "system" fn SetAction<
35099 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
35100 const OFFSET: isize,
35101 >(
35102 this: *mut core::ffi::c_void,
35103 value: COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
35104 ) -> windows_core::HRESULT {
35105 unsafe {
35106 let this: &Identity =
35107 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35108 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::SetAction(
35109 this,
35110 core::mem::transmute_copy(&value),
35111 )
35112 .into()
35113 }
35114 }
35115 unsafe extern "system" fn GetDeferral<
35116 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
35117 const OFFSET: isize,
35118 >(
35119 this: *mut core::ffi::c_void,
35120 deferral: *mut *mut core::ffi::c_void,
35121 ) -> windows_core::HRESULT {
35122 unsafe {
35123 let this: &Identity =
35124 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35125 match ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::GetDeferral(this) {
35126 Ok(ok__) => {
35127 deferral.write(core::mem::transmute(ok__));
35128 windows_core::HRESULT(0)
35129 }
35130 Err(err) => err.into(),
35131 }
35132 }
35133 }
35134 Self {
35135 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35136 ErrorStatus: ErrorStatus::<Identity, OFFSET>,
35137 RequestUri: RequestUri::<Identity, OFFSET>,
35138 ServerCertificate: ServerCertificate::<Identity, OFFSET>,
35139 Action: Action::<Identity, OFFSET>,
35140 SetAction: SetAction::<Identity, OFFSET>,
35141 GetDeferral: GetDeferral::<Identity, OFFSET>,
35142 }
35143 }
35144 pub fn matches(iid: &windows_core::GUID) -> bool {
35145 iid == & < ICoreWebView2ServerCertificateErrorDetectedEventArgs as windows_core::Interface >::IID
35146 }
35147}
35148impl windows_core::RuntimeName for ICoreWebView2ServerCertificateErrorDetectedEventArgs {}
35149windows_core::imp::define_interface!(
35150 ICoreWebView2ServerCertificateErrorDetectedEventHandler,
35151 ICoreWebView2ServerCertificateErrorDetectedEventHandler_Vtbl,
35152 0x969b3a26_d85e_4795_8199_fef57344da22
35153);
35154windows_core::imp::interface_hierarchy!(
35155 ICoreWebView2ServerCertificateErrorDetectedEventHandler,
35156 windows_core::IUnknown
35157);
35158impl ICoreWebView2ServerCertificateErrorDetectedEventHandler {
35159 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
35160 where
35161 P0: windows_core::Param<ICoreWebView2>,
35162 P1: windows_core::Param<ICoreWebView2ServerCertificateErrorDetectedEventArgs>,
35163 {
35164 unsafe {
35165 (windows_core::Interface::vtable(self).Invoke)(
35166 windows_core::Interface::as_raw(self),
35167 sender.param().abi(),
35168 args.param().abi(),
35169 )
35170 .ok()
35171 }
35172 }
35173}
35174#[repr(C)]
35175#[doc(hidden)]
35176pub struct ICoreWebView2ServerCertificateErrorDetectedEventHandler_Vtbl {
35177 pub base__: windows_core::IUnknown_Vtbl,
35178 pub Invoke: unsafe extern "system" fn(
35179 *mut core::ffi::c_void,
35180 *mut core::ffi::c_void,
35181 *mut core::ffi::c_void,
35182 ) -> windows_core::HRESULT,
35183}
35184pub trait ICoreWebView2ServerCertificateErrorDetectedEventHandler_Impl:
35185 windows_core::IUnknownImpl
35186{
35187 fn Invoke(
35188 &self,
35189 sender: windows_core::Ref<ICoreWebView2>,
35190 args: windows_core::Ref<ICoreWebView2ServerCertificateErrorDetectedEventArgs>,
35191 ) -> windows_core::Result<()>;
35192}
35193impl ICoreWebView2ServerCertificateErrorDetectedEventHandler_Vtbl {
35194 pub const fn new<
35195 Identity: ICoreWebView2ServerCertificateErrorDetectedEventHandler_Impl,
35196 const OFFSET: isize,
35197 >() -> Self {
35198 unsafe extern "system" fn Invoke<
35199 Identity: ICoreWebView2ServerCertificateErrorDetectedEventHandler_Impl,
35200 const OFFSET: isize,
35201 >(
35202 this: *mut core::ffi::c_void,
35203 sender: *mut core::ffi::c_void,
35204 args: *mut core::ffi::c_void,
35205 ) -> windows_core::HRESULT {
35206 unsafe {
35207 let this: &Identity =
35208 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35209 ICoreWebView2ServerCertificateErrorDetectedEventHandler_Impl::Invoke(
35210 this,
35211 core::mem::transmute_copy(&sender),
35212 core::mem::transmute_copy(&args),
35213 )
35214 .into()
35215 }
35216 }
35217 Self {
35218 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35219 Invoke: Invoke::<Identity, OFFSET>,
35220 }
35221 }
35222 pub fn matches(iid: &windows_core::GUID) -> bool {
35223 iid == & < ICoreWebView2ServerCertificateErrorDetectedEventHandler as windows_core::Interface >::IID
35224 }
35225}
35226impl windows_core::RuntimeName for ICoreWebView2ServerCertificateErrorDetectedEventHandler {}
35227windows_core::imp::define_interface!(
35228 ICoreWebView2SetPermissionStateCompletedHandler,
35229 ICoreWebView2SetPermissionStateCompletedHandler_Vtbl,
35230 0xfc77fb30_9c9e_4076_b8c7_7644a703ca1b
35231);
35232windows_core::imp::interface_hierarchy!(
35233 ICoreWebView2SetPermissionStateCompletedHandler,
35234 windows_core::IUnknown
35235);
35236impl ICoreWebView2SetPermissionStateCompletedHandler {
35237 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
35238 unsafe {
35239 (windows_core::Interface::vtable(self).Invoke)(
35240 windows_core::Interface::as_raw(self),
35241 errorcode,
35242 )
35243 .ok()
35244 }
35245 }
35246}
35247#[repr(C)]
35248#[doc(hidden)]
35249pub struct ICoreWebView2SetPermissionStateCompletedHandler_Vtbl {
35250 pub base__: windows_core::IUnknown_Vtbl,
35251 pub Invoke: unsafe extern "system" fn(
35252 *mut core::ffi::c_void,
35253 windows_core::HRESULT,
35254 ) -> windows_core::HRESULT,
35255}
35256pub trait ICoreWebView2SetPermissionStateCompletedHandler_Impl: windows_core::IUnknownImpl {
35257 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
35258}
35259impl ICoreWebView2SetPermissionStateCompletedHandler_Vtbl {
35260 pub const fn new<
35261 Identity: ICoreWebView2SetPermissionStateCompletedHandler_Impl,
35262 const OFFSET: isize,
35263 >() -> Self {
35264 unsafe extern "system" fn Invoke<
35265 Identity: ICoreWebView2SetPermissionStateCompletedHandler_Impl,
35266 const OFFSET: isize,
35267 >(
35268 this: *mut core::ffi::c_void,
35269 errorcode: windows_core::HRESULT,
35270 ) -> windows_core::HRESULT {
35271 unsafe {
35272 let this: &Identity =
35273 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35274 ICoreWebView2SetPermissionStateCompletedHandler_Impl::Invoke(
35275 this,
35276 core::mem::transmute_copy(&errorcode),
35277 )
35278 .into()
35279 }
35280 }
35281 Self {
35282 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35283 Invoke: Invoke::<Identity, OFFSET>,
35284 }
35285 }
35286 pub fn matches(iid: &windows_core::GUID) -> bool {
35287 iid == &<ICoreWebView2SetPermissionStateCompletedHandler as windows_core::Interface>::IID
35288 }
35289}
35290impl windows_core::RuntimeName for ICoreWebView2SetPermissionStateCompletedHandler {}
35291windows_core::imp::define_interface!(
35292 ICoreWebView2Settings,
35293 ICoreWebView2Settings_Vtbl,
35294 0xe562e4f0_d7fa_43ac_8d71_c05150499f00
35295);
35296windows_core::imp::interface_hierarchy!(ICoreWebView2Settings, windows_core::IUnknown);
35297impl ICoreWebView2Settings {
35298 pub unsafe fn IsScriptEnabled(
35299 &self,
35300 isscriptenabled: *mut windows_core::BOOL,
35301 ) -> windows_core::Result<()> {
35302 unsafe {
35303 (windows_core::Interface::vtable(self).IsScriptEnabled)(
35304 windows_core::Interface::as_raw(self),
35305 isscriptenabled as _,
35306 )
35307 .ok()
35308 }
35309 }
35310 pub unsafe fn SetIsScriptEnabled(&self, isscriptenabled: bool) -> windows_core::Result<()> {
35311 unsafe {
35312 (windows_core::Interface::vtable(self).SetIsScriptEnabled)(
35313 windows_core::Interface::as_raw(self),
35314 isscriptenabled.into(),
35315 )
35316 .ok()
35317 }
35318 }
35319 pub unsafe fn IsWebMessageEnabled(
35320 &self,
35321 iswebmessageenabled: *mut windows_core::BOOL,
35322 ) -> windows_core::Result<()> {
35323 unsafe {
35324 (windows_core::Interface::vtable(self).IsWebMessageEnabled)(
35325 windows_core::Interface::as_raw(self),
35326 iswebmessageenabled as _,
35327 )
35328 .ok()
35329 }
35330 }
35331 pub unsafe fn SetIsWebMessageEnabled(
35332 &self,
35333 iswebmessageenabled: bool,
35334 ) -> windows_core::Result<()> {
35335 unsafe {
35336 (windows_core::Interface::vtable(self).SetIsWebMessageEnabled)(
35337 windows_core::Interface::as_raw(self),
35338 iswebmessageenabled.into(),
35339 )
35340 .ok()
35341 }
35342 }
35343 pub unsafe fn AreDefaultScriptDialogsEnabled(
35344 &self,
35345 aredefaultscriptdialogsenabled: *mut windows_core::BOOL,
35346 ) -> windows_core::Result<()> {
35347 unsafe {
35348 (windows_core::Interface::vtable(self).AreDefaultScriptDialogsEnabled)(
35349 windows_core::Interface::as_raw(self),
35350 aredefaultscriptdialogsenabled as _,
35351 )
35352 .ok()
35353 }
35354 }
35355 pub unsafe fn SetAreDefaultScriptDialogsEnabled(
35356 &self,
35357 aredefaultscriptdialogsenabled: bool,
35358 ) -> windows_core::Result<()> {
35359 unsafe {
35360 (windows_core::Interface::vtable(self).SetAreDefaultScriptDialogsEnabled)(
35361 windows_core::Interface::as_raw(self),
35362 aredefaultscriptdialogsenabled.into(),
35363 )
35364 .ok()
35365 }
35366 }
35367 pub unsafe fn IsStatusBarEnabled(
35368 &self,
35369 isstatusbarenabled: *mut windows_core::BOOL,
35370 ) -> windows_core::Result<()> {
35371 unsafe {
35372 (windows_core::Interface::vtable(self).IsStatusBarEnabled)(
35373 windows_core::Interface::as_raw(self),
35374 isstatusbarenabled as _,
35375 )
35376 .ok()
35377 }
35378 }
35379 pub unsafe fn SetIsStatusBarEnabled(
35380 &self,
35381 isstatusbarenabled: bool,
35382 ) -> windows_core::Result<()> {
35383 unsafe {
35384 (windows_core::Interface::vtable(self).SetIsStatusBarEnabled)(
35385 windows_core::Interface::as_raw(self),
35386 isstatusbarenabled.into(),
35387 )
35388 .ok()
35389 }
35390 }
35391 pub unsafe fn AreDevToolsEnabled(
35392 &self,
35393 aredevtoolsenabled: *mut windows_core::BOOL,
35394 ) -> windows_core::Result<()> {
35395 unsafe {
35396 (windows_core::Interface::vtable(self).AreDevToolsEnabled)(
35397 windows_core::Interface::as_raw(self),
35398 aredevtoolsenabled as _,
35399 )
35400 .ok()
35401 }
35402 }
35403 pub unsafe fn SetAreDevToolsEnabled(
35404 &self,
35405 aredevtoolsenabled: bool,
35406 ) -> windows_core::Result<()> {
35407 unsafe {
35408 (windows_core::Interface::vtable(self).SetAreDevToolsEnabled)(
35409 windows_core::Interface::as_raw(self),
35410 aredevtoolsenabled.into(),
35411 )
35412 .ok()
35413 }
35414 }
35415 pub unsafe fn AreDefaultContextMenusEnabled(
35416 &self,
35417 enabled: *mut windows_core::BOOL,
35418 ) -> windows_core::Result<()> {
35419 unsafe {
35420 (windows_core::Interface::vtable(self).AreDefaultContextMenusEnabled)(
35421 windows_core::Interface::as_raw(self),
35422 enabled as _,
35423 )
35424 .ok()
35425 }
35426 }
35427 pub unsafe fn SetAreDefaultContextMenusEnabled(
35428 &self,
35429 enabled: bool,
35430 ) -> windows_core::Result<()> {
35431 unsafe {
35432 (windows_core::Interface::vtable(self).SetAreDefaultContextMenusEnabled)(
35433 windows_core::Interface::as_raw(self),
35434 enabled.into(),
35435 )
35436 .ok()
35437 }
35438 }
35439 pub unsafe fn AreHostObjectsAllowed(
35440 &self,
35441 allowed: *mut windows_core::BOOL,
35442 ) -> windows_core::Result<()> {
35443 unsafe {
35444 (windows_core::Interface::vtable(self).AreHostObjectsAllowed)(
35445 windows_core::Interface::as_raw(self),
35446 allowed as _,
35447 )
35448 .ok()
35449 }
35450 }
35451 pub unsafe fn SetAreHostObjectsAllowed(&self, allowed: bool) -> windows_core::Result<()> {
35452 unsafe {
35453 (windows_core::Interface::vtable(self).SetAreHostObjectsAllowed)(
35454 windows_core::Interface::as_raw(self),
35455 allowed.into(),
35456 )
35457 .ok()
35458 }
35459 }
35460 pub unsafe fn IsZoomControlEnabled(
35461 &self,
35462 enabled: *mut windows_core::BOOL,
35463 ) -> windows_core::Result<()> {
35464 unsafe {
35465 (windows_core::Interface::vtable(self).IsZoomControlEnabled)(
35466 windows_core::Interface::as_raw(self),
35467 enabled as _,
35468 )
35469 .ok()
35470 }
35471 }
35472 pub unsafe fn SetIsZoomControlEnabled(&self, enabled: bool) -> windows_core::Result<()> {
35473 unsafe {
35474 (windows_core::Interface::vtable(self).SetIsZoomControlEnabled)(
35475 windows_core::Interface::as_raw(self),
35476 enabled.into(),
35477 )
35478 .ok()
35479 }
35480 }
35481 pub unsafe fn IsBuiltInErrorPageEnabled(
35482 &self,
35483 enabled: *mut windows_core::BOOL,
35484 ) -> windows_core::Result<()> {
35485 unsafe {
35486 (windows_core::Interface::vtable(self).IsBuiltInErrorPageEnabled)(
35487 windows_core::Interface::as_raw(self),
35488 enabled as _,
35489 )
35490 .ok()
35491 }
35492 }
35493 pub unsafe fn SetIsBuiltInErrorPageEnabled(&self, enabled: bool) -> windows_core::Result<()> {
35494 unsafe {
35495 (windows_core::Interface::vtable(self).SetIsBuiltInErrorPageEnabled)(
35496 windows_core::Interface::as_raw(self),
35497 enabled.into(),
35498 )
35499 .ok()
35500 }
35501 }
35502}
35503#[repr(C)]
35504#[doc(hidden)]
35505pub struct ICoreWebView2Settings_Vtbl {
35506 pub base__: windows_core::IUnknown_Vtbl,
35507 pub IsScriptEnabled: unsafe extern "system" fn(
35508 *mut core::ffi::c_void,
35509 *mut windows_core::BOOL,
35510 ) -> windows_core::HRESULT,
35511 pub SetIsScriptEnabled: unsafe extern "system" fn(
35512 *mut core::ffi::c_void,
35513 windows_core::BOOL,
35514 ) -> windows_core::HRESULT,
35515 pub IsWebMessageEnabled: unsafe extern "system" fn(
35516 *mut core::ffi::c_void,
35517 *mut windows_core::BOOL,
35518 ) -> windows_core::HRESULT,
35519 pub SetIsWebMessageEnabled: unsafe extern "system" fn(
35520 *mut core::ffi::c_void,
35521 windows_core::BOOL,
35522 ) -> windows_core::HRESULT,
35523 pub AreDefaultScriptDialogsEnabled: unsafe extern "system" fn(
35524 *mut core::ffi::c_void,
35525 *mut windows_core::BOOL,
35526 ) -> windows_core::HRESULT,
35527 pub SetAreDefaultScriptDialogsEnabled: unsafe extern "system" fn(
35528 *mut core::ffi::c_void,
35529 windows_core::BOOL,
35530 ) -> windows_core::HRESULT,
35531 pub IsStatusBarEnabled: unsafe extern "system" fn(
35532 *mut core::ffi::c_void,
35533 *mut windows_core::BOOL,
35534 ) -> windows_core::HRESULT,
35535 pub SetIsStatusBarEnabled: unsafe extern "system" fn(
35536 *mut core::ffi::c_void,
35537 windows_core::BOOL,
35538 ) -> windows_core::HRESULT,
35539 pub AreDevToolsEnabled: unsafe extern "system" fn(
35540 *mut core::ffi::c_void,
35541 *mut windows_core::BOOL,
35542 ) -> windows_core::HRESULT,
35543 pub SetAreDevToolsEnabled: unsafe extern "system" fn(
35544 *mut core::ffi::c_void,
35545 windows_core::BOOL,
35546 ) -> windows_core::HRESULT,
35547 pub AreDefaultContextMenusEnabled: unsafe extern "system" fn(
35548 *mut core::ffi::c_void,
35549 *mut windows_core::BOOL,
35550 ) -> windows_core::HRESULT,
35551 pub SetAreDefaultContextMenusEnabled: unsafe extern "system" fn(
35552 *mut core::ffi::c_void,
35553 windows_core::BOOL,
35554 ) -> windows_core::HRESULT,
35555 pub AreHostObjectsAllowed: unsafe extern "system" fn(
35556 *mut core::ffi::c_void,
35557 *mut windows_core::BOOL,
35558 ) -> windows_core::HRESULT,
35559 pub SetAreHostObjectsAllowed: unsafe extern "system" fn(
35560 *mut core::ffi::c_void,
35561 windows_core::BOOL,
35562 ) -> windows_core::HRESULT,
35563 pub IsZoomControlEnabled: unsafe extern "system" fn(
35564 *mut core::ffi::c_void,
35565 *mut windows_core::BOOL,
35566 ) -> windows_core::HRESULT,
35567 pub SetIsZoomControlEnabled: unsafe extern "system" fn(
35568 *mut core::ffi::c_void,
35569 windows_core::BOOL,
35570 ) -> windows_core::HRESULT,
35571 pub IsBuiltInErrorPageEnabled: unsafe extern "system" fn(
35572 *mut core::ffi::c_void,
35573 *mut windows_core::BOOL,
35574 ) -> windows_core::HRESULT,
35575 pub SetIsBuiltInErrorPageEnabled: unsafe extern "system" fn(
35576 *mut core::ffi::c_void,
35577 windows_core::BOOL,
35578 ) -> windows_core::HRESULT,
35579}
35580pub trait ICoreWebView2Settings_Impl: windows_core::IUnknownImpl {
35581 fn IsScriptEnabled(&self, isscriptenabled: *mut windows_core::BOOL)
35582 -> windows_core::Result<()>;
35583 fn SetIsScriptEnabled(&self, isscriptenabled: windows_core::BOOL) -> windows_core::Result<()>;
35584 fn IsWebMessageEnabled(
35585 &self,
35586 iswebmessageenabled: *mut windows_core::BOOL,
35587 ) -> windows_core::Result<()>;
35588 fn SetIsWebMessageEnabled(
35589 &self,
35590 iswebmessageenabled: windows_core::BOOL,
35591 ) -> windows_core::Result<()>;
35592 fn AreDefaultScriptDialogsEnabled(
35593 &self,
35594 aredefaultscriptdialogsenabled: *mut windows_core::BOOL,
35595 ) -> windows_core::Result<()>;
35596 fn SetAreDefaultScriptDialogsEnabled(
35597 &self,
35598 aredefaultscriptdialogsenabled: windows_core::BOOL,
35599 ) -> windows_core::Result<()>;
35600 fn IsStatusBarEnabled(
35601 &self,
35602 isstatusbarenabled: *mut windows_core::BOOL,
35603 ) -> windows_core::Result<()>;
35604 fn SetIsStatusBarEnabled(
35605 &self,
35606 isstatusbarenabled: windows_core::BOOL,
35607 ) -> windows_core::Result<()>;
35608 fn AreDevToolsEnabled(
35609 &self,
35610 aredevtoolsenabled: *mut windows_core::BOOL,
35611 ) -> windows_core::Result<()>;
35612 fn SetAreDevToolsEnabled(
35613 &self,
35614 aredevtoolsenabled: windows_core::BOOL,
35615 ) -> windows_core::Result<()>;
35616 fn AreDefaultContextMenusEnabled(
35617 &self,
35618 enabled: *mut windows_core::BOOL,
35619 ) -> windows_core::Result<()>;
35620 fn SetAreDefaultContextMenusEnabled(
35621 &self,
35622 enabled: windows_core::BOOL,
35623 ) -> windows_core::Result<()>;
35624 fn AreHostObjectsAllowed(&self, allowed: *mut windows_core::BOOL) -> windows_core::Result<()>;
35625 fn SetAreHostObjectsAllowed(&self, allowed: windows_core::BOOL) -> windows_core::Result<()>;
35626 fn IsZoomControlEnabled(&self, enabled: *mut windows_core::BOOL) -> windows_core::Result<()>;
35627 fn SetIsZoomControlEnabled(&self, enabled: windows_core::BOOL) -> windows_core::Result<()>;
35628 fn IsBuiltInErrorPageEnabled(
35629 &self,
35630 enabled: *mut windows_core::BOOL,
35631 ) -> windows_core::Result<()>;
35632 fn SetIsBuiltInErrorPageEnabled(&self, enabled: windows_core::BOOL)
35633 -> windows_core::Result<()>;
35634}
35635impl ICoreWebView2Settings_Vtbl {
35636 pub const fn new<Identity: ICoreWebView2Settings_Impl, const OFFSET: isize>() -> Self {
35637 unsafe extern "system" fn IsScriptEnabled<
35638 Identity: ICoreWebView2Settings_Impl,
35639 const OFFSET: isize,
35640 >(
35641 this: *mut core::ffi::c_void,
35642 isscriptenabled: *mut windows_core::BOOL,
35643 ) -> windows_core::HRESULT {
35644 unsafe {
35645 let this: &Identity =
35646 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35647 ICoreWebView2Settings_Impl::IsScriptEnabled(
35648 this,
35649 core::mem::transmute_copy(&isscriptenabled),
35650 )
35651 .into()
35652 }
35653 }
35654 unsafe extern "system" fn SetIsScriptEnabled<
35655 Identity: ICoreWebView2Settings_Impl,
35656 const OFFSET: isize,
35657 >(
35658 this: *mut core::ffi::c_void,
35659 isscriptenabled: windows_core::BOOL,
35660 ) -> windows_core::HRESULT {
35661 unsafe {
35662 let this: &Identity =
35663 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35664 ICoreWebView2Settings_Impl::SetIsScriptEnabled(
35665 this,
35666 core::mem::transmute_copy(&isscriptenabled),
35667 )
35668 .into()
35669 }
35670 }
35671 unsafe extern "system" fn IsWebMessageEnabled<
35672 Identity: ICoreWebView2Settings_Impl,
35673 const OFFSET: isize,
35674 >(
35675 this: *mut core::ffi::c_void,
35676 iswebmessageenabled: *mut windows_core::BOOL,
35677 ) -> windows_core::HRESULT {
35678 unsafe {
35679 let this: &Identity =
35680 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35681 ICoreWebView2Settings_Impl::IsWebMessageEnabled(
35682 this,
35683 core::mem::transmute_copy(&iswebmessageenabled),
35684 )
35685 .into()
35686 }
35687 }
35688 unsafe extern "system" fn SetIsWebMessageEnabled<
35689 Identity: ICoreWebView2Settings_Impl,
35690 const OFFSET: isize,
35691 >(
35692 this: *mut core::ffi::c_void,
35693 iswebmessageenabled: windows_core::BOOL,
35694 ) -> windows_core::HRESULT {
35695 unsafe {
35696 let this: &Identity =
35697 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35698 ICoreWebView2Settings_Impl::SetIsWebMessageEnabled(
35699 this,
35700 core::mem::transmute_copy(&iswebmessageenabled),
35701 )
35702 .into()
35703 }
35704 }
35705 unsafe extern "system" fn AreDefaultScriptDialogsEnabled<
35706 Identity: ICoreWebView2Settings_Impl,
35707 const OFFSET: isize,
35708 >(
35709 this: *mut core::ffi::c_void,
35710 aredefaultscriptdialogsenabled: *mut windows_core::BOOL,
35711 ) -> windows_core::HRESULT {
35712 unsafe {
35713 let this: &Identity =
35714 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35715 ICoreWebView2Settings_Impl::AreDefaultScriptDialogsEnabled(
35716 this,
35717 core::mem::transmute_copy(&aredefaultscriptdialogsenabled),
35718 )
35719 .into()
35720 }
35721 }
35722 unsafe extern "system" fn SetAreDefaultScriptDialogsEnabled<
35723 Identity: ICoreWebView2Settings_Impl,
35724 const OFFSET: isize,
35725 >(
35726 this: *mut core::ffi::c_void,
35727 aredefaultscriptdialogsenabled: windows_core::BOOL,
35728 ) -> windows_core::HRESULT {
35729 unsafe {
35730 let this: &Identity =
35731 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35732 ICoreWebView2Settings_Impl::SetAreDefaultScriptDialogsEnabled(
35733 this,
35734 core::mem::transmute_copy(&aredefaultscriptdialogsenabled),
35735 )
35736 .into()
35737 }
35738 }
35739 unsafe extern "system" fn IsStatusBarEnabled<
35740 Identity: ICoreWebView2Settings_Impl,
35741 const OFFSET: isize,
35742 >(
35743 this: *mut core::ffi::c_void,
35744 isstatusbarenabled: *mut windows_core::BOOL,
35745 ) -> windows_core::HRESULT {
35746 unsafe {
35747 let this: &Identity =
35748 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35749 ICoreWebView2Settings_Impl::IsStatusBarEnabled(
35750 this,
35751 core::mem::transmute_copy(&isstatusbarenabled),
35752 )
35753 .into()
35754 }
35755 }
35756 unsafe extern "system" fn SetIsStatusBarEnabled<
35757 Identity: ICoreWebView2Settings_Impl,
35758 const OFFSET: isize,
35759 >(
35760 this: *mut core::ffi::c_void,
35761 isstatusbarenabled: windows_core::BOOL,
35762 ) -> windows_core::HRESULT {
35763 unsafe {
35764 let this: &Identity =
35765 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35766 ICoreWebView2Settings_Impl::SetIsStatusBarEnabled(
35767 this,
35768 core::mem::transmute_copy(&isstatusbarenabled),
35769 )
35770 .into()
35771 }
35772 }
35773 unsafe extern "system" fn AreDevToolsEnabled<
35774 Identity: ICoreWebView2Settings_Impl,
35775 const OFFSET: isize,
35776 >(
35777 this: *mut core::ffi::c_void,
35778 aredevtoolsenabled: *mut windows_core::BOOL,
35779 ) -> windows_core::HRESULT {
35780 unsafe {
35781 let this: &Identity =
35782 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35783 ICoreWebView2Settings_Impl::AreDevToolsEnabled(
35784 this,
35785 core::mem::transmute_copy(&aredevtoolsenabled),
35786 )
35787 .into()
35788 }
35789 }
35790 unsafe extern "system" fn SetAreDevToolsEnabled<
35791 Identity: ICoreWebView2Settings_Impl,
35792 const OFFSET: isize,
35793 >(
35794 this: *mut core::ffi::c_void,
35795 aredevtoolsenabled: windows_core::BOOL,
35796 ) -> windows_core::HRESULT {
35797 unsafe {
35798 let this: &Identity =
35799 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35800 ICoreWebView2Settings_Impl::SetAreDevToolsEnabled(
35801 this,
35802 core::mem::transmute_copy(&aredevtoolsenabled),
35803 )
35804 .into()
35805 }
35806 }
35807 unsafe extern "system" fn AreDefaultContextMenusEnabled<
35808 Identity: ICoreWebView2Settings_Impl,
35809 const OFFSET: isize,
35810 >(
35811 this: *mut core::ffi::c_void,
35812 enabled: *mut windows_core::BOOL,
35813 ) -> windows_core::HRESULT {
35814 unsafe {
35815 let this: &Identity =
35816 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35817 ICoreWebView2Settings_Impl::AreDefaultContextMenusEnabled(
35818 this,
35819 core::mem::transmute_copy(&enabled),
35820 )
35821 .into()
35822 }
35823 }
35824 unsafe extern "system" fn SetAreDefaultContextMenusEnabled<
35825 Identity: ICoreWebView2Settings_Impl,
35826 const OFFSET: isize,
35827 >(
35828 this: *mut core::ffi::c_void,
35829 enabled: windows_core::BOOL,
35830 ) -> windows_core::HRESULT {
35831 unsafe {
35832 let this: &Identity =
35833 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35834 ICoreWebView2Settings_Impl::SetAreDefaultContextMenusEnabled(
35835 this,
35836 core::mem::transmute_copy(&enabled),
35837 )
35838 .into()
35839 }
35840 }
35841 unsafe extern "system" fn AreHostObjectsAllowed<
35842 Identity: ICoreWebView2Settings_Impl,
35843 const OFFSET: isize,
35844 >(
35845 this: *mut core::ffi::c_void,
35846 allowed: *mut windows_core::BOOL,
35847 ) -> windows_core::HRESULT {
35848 unsafe {
35849 let this: &Identity =
35850 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35851 ICoreWebView2Settings_Impl::AreHostObjectsAllowed(
35852 this,
35853 core::mem::transmute_copy(&allowed),
35854 )
35855 .into()
35856 }
35857 }
35858 unsafe extern "system" fn SetAreHostObjectsAllowed<
35859 Identity: ICoreWebView2Settings_Impl,
35860 const OFFSET: isize,
35861 >(
35862 this: *mut core::ffi::c_void,
35863 allowed: windows_core::BOOL,
35864 ) -> windows_core::HRESULT {
35865 unsafe {
35866 let this: &Identity =
35867 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35868 ICoreWebView2Settings_Impl::SetAreHostObjectsAllowed(
35869 this,
35870 core::mem::transmute_copy(&allowed),
35871 )
35872 .into()
35873 }
35874 }
35875 unsafe extern "system" fn IsZoomControlEnabled<
35876 Identity: ICoreWebView2Settings_Impl,
35877 const OFFSET: isize,
35878 >(
35879 this: *mut core::ffi::c_void,
35880 enabled: *mut windows_core::BOOL,
35881 ) -> windows_core::HRESULT {
35882 unsafe {
35883 let this: &Identity =
35884 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35885 ICoreWebView2Settings_Impl::IsZoomControlEnabled(
35886 this,
35887 core::mem::transmute_copy(&enabled),
35888 )
35889 .into()
35890 }
35891 }
35892 unsafe extern "system" fn SetIsZoomControlEnabled<
35893 Identity: ICoreWebView2Settings_Impl,
35894 const OFFSET: isize,
35895 >(
35896 this: *mut core::ffi::c_void,
35897 enabled: windows_core::BOOL,
35898 ) -> windows_core::HRESULT {
35899 unsafe {
35900 let this: &Identity =
35901 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35902 ICoreWebView2Settings_Impl::SetIsZoomControlEnabled(
35903 this,
35904 core::mem::transmute_copy(&enabled),
35905 )
35906 .into()
35907 }
35908 }
35909 unsafe extern "system" fn IsBuiltInErrorPageEnabled<
35910 Identity: ICoreWebView2Settings_Impl,
35911 const OFFSET: isize,
35912 >(
35913 this: *mut core::ffi::c_void,
35914 enabled: *mut windows_core::BOOL,
35915 ) -> windows_core::HRESULT {
35916 unsafe {
35917 let this: &Identity =
35918 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35919 ICoreWebView2Settings_Impl::IsBuiltInErrorPageEnabled(
35920 this,
35921 core::mem::transmute_copy(&enabled),
35922 )
35923 .into()
35924 }
35925 }
35926 unsafe extern "system" fn SetIsBuiltInErrorPageEnabled<
35927 Identity: ICoreWebView2Settings_Impl,
35928 const OFFSET: isize,
35929 >(
35930 this: *mut core::ffi::c_void,
35931 enabled: windows_core::BOOL,
35932 ) -> windows_core::HRESULT {
35933 unsafe {
35934 let this: &Identity =
35935 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35936 ICoreWebView2Settings_Impl::SetIsBuiltInErrorPageEnabled(
35937 this,
35938 core::mem::transmute_copy(&enabled),
35939 )
35940 .into()
35941 }
35942 }
35943 Self {
35944 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35945 IsScriptEnabled: IsScriptEnabled::<Identity, OFFSET>,
35946 SetIsScriptEnabled: SetIsScriptEnabled::<Identity, OFFSET>,
35947 IsWebMessageEnabled: IsWebMessageEnabled::<Identity, OFFSET>,
35948 SetIsWebMessageEnabled: SetIsWebMessageEnabled::<Identity, OFFSET>,
35949 AreDefaultScriptDialogsEnabled: AreDefaultScriptDialogsEnabled::<Identity, OFFSET>,
35950 SetAreDefaultScriptDialogsEnabled: SetAreDefaultScriptDialogsEnabled::<Identity, OFFSET>,
35951 IsStatusBarEnabled: IsStatusBarEnabled::<Identity, OFFSET>,
35952 SetIsStatusBarEnabled: SetIsStatusBarEnabled::<Identity, OFFSET>,
35953 AreDevToolsEnabled: AreDevToolsEnabled::<Identity, OFFSET>,
35954 SetAreDevToolsEnabled: SetAreDevToolsEnabled::<Identity, OFFSET>,
35955 AreDefaultContextMenusEnabled: AreDefaultContextMenusEnabled::<Identity, OFFSET>,
35956 SetAreDefaultContextMenusEnabled: SetAreDefaultContextMenusEnabled::<Identity, OFFSET>,
35957 AreHostObjectsAllowed: AreHostObjectsAllowed::<Identity, OFFSET>,
35958 SetAreHostObjectsAllowed: SetAreHostObjectsAllowed::<Identity, OFFSET>,
35959 IsZoomControlEnabled: IsZoomControlEnabled::<Identity, OFFSET>,
35960 SetIsZoomControlEnabled: SetIsZoomControlEnabled::<Identity, OFFSET>,
35961 IsBuiltInErrorPageEnabled: IsBuiltInErrorPageEnabled::<Identity, OFFSET>,
35962 SetIsBuiltInErrorPageEnabled: SetIsBuiltInErrorPageEnabled::<Identity, OFFSET>,
35963 }
35964 }
35965 pub fn matches(iid: &windows_core::GUID) -> bool {
35966 iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
35967 }
35968}
35969impl windows_core::RuntimeName for ICoreWebView2Settings {}
35970windows_core::imp::define_interface!(
35971 ICoreWebView2Settings2,
35972 ICoreWebView2Settings2_Vtbl,
35973 0xee9a0f68_f46c_4e32_ac23_ef8cac224d2a
35974);
35975impl core::ops::Deref for ICoreWebView2Settings2 {
35976 type Target = ICoreWebView2Settings;
35977 fn deref(&self) -> &Self::Target {
35978 unsafe { core::mem::transmute(self) }
35979 }
35980}
35981windows_core::imp::interface_hierarchy!(
35982 ICoreWebView2Settings2,
35983 windows_core::IUnknown,
35984 ICoreWebView2Settings
35985);
35986impl ICoreWebView2Settings2 {
35987 pub unsafe fn UserAgent(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
35988 unsafe {
35989 (windows_core::Interface::vtable(self).UserAgent)(
35990 windows_core::Interface::as_raw(self),
35991 value as _,
35992 )
35993 .ok()
35994 }
35995 }
35996 pub unsafe fn SetUserAgent<P0>(&self, value: P0) -> windows_core::Result<()>
35997 where
35998 P0: windows_core::Param<windows_core::PCWSTR>,
35999 {
36000 unsafe {
36001 (windows_core::Interface::vtable(self).SetUserAgent)(
36002 windows_core::Interface::as_raw(self),
36003 value.param().abi(),
36004 )
36005 .ok()
36006 }
36007 }
36008}
36009#[repr(C)]
36010#[doc(hidden)]
36011pub struct ICoreWebView2Settings2_Vtbl {
36012 pub base__: ICoreWebView2Settings_Vtbl,
36013 pub UserAgent: unsafe extern "system" fn(
36014 *mut core::ffi::c_void,
36015 *mut windows_core::PWSTR,
36016 ) -> windows_core::HRESULT,
36017 pub SetUserAgent: unsafe extern "system" fn(
36018 *mut core::ffi::c_void,
36019 windows_core::PCWSTR,
36020 ) -> windows_core::HRESULT,
36021}
36022pub trait ICoreWebView2Settings2_Impl: ICoreWebView2Settings_Impl {
36023 fn UserAgent(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
36024 fn SetUserAgent(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
36025}
36026impl ICoreWebView2Settings2_Vtbl {
36027 pub const fn new<Identity: ICoreWebView2Settings2_Impl, const OFFSET: isize>() -> Self {
36028 unsafe extern "system" fn UserAgent<
36029 Identity: ICoreWebView2Settings2_Impl,
36030 const OFFSET: isize,
36031 >(
36032 this: *mut core::ffi::c_void,
36033 value: *mut windows_core::PWSTR,
36034 ) -> windows_core::HRESULT {
36035 unsafe {
36036 let this: &Identity =
36037 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36038 ICoreWebView2Settings2_Impl::UserAgent(this, core::mem::transmute_copy(&value))
36039 .into()
36040 }
36041 }
36042 unsafe extern "system" fn SetUserAgent<
36043 Identity: ICoreWebView2Settings2_Impl,
36044 const OFFSET: isize,
36045 >(
36046 this: *mut core::ffi::c_void,
36047 value: windows_core::PCWSTR,
36048 ) -> windows_core::HRESULT {
36049 unsafe {
36050 let this: &Identity =
36051 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36052 ICoreWebView2Settings2_Impl::SetUserAgent(this, core::mem::transmute(&value)).into()
36053 }
36054 }
36055 Self {
36056 base__: ICoreWebView2Settings_Vtbl::new::<Identity, OFFSET>(),
36057 UserAgent: UserAgent::<Identity, OFFSET>,
36058 SetUserAgent: SetUserAgent::<Identity, OFFSET>,
36059 }
36060 }
36061 pub fn matches(iid: &windows_core::GUID) -> bool {
36062 iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
36063 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
36064 }
36065}
36066impl windows_core::RuntimeName for ICoreWebView2Settings2 {}
36067windows_core::imp::define_interface!(
36068 ICoreWebView2Settings3,
36069 ICoreWebView2Settings3_Vtbl,
36070 0xfdb5ab74_af33_4854_84f0_0a631deb5eba
36071);
36072impl core::ops::Deref for ICoreWebView2Settings3 {
36073 type Target = ICoreWebView2Settings2;
36074 fn deref(&self) -> &Self::Target {
36075 unsafe { core::mem::transmute(self) }
36076 }
36077}
36078windows_core::imp::interface_hierarchy!(
36079 ICoreWebView2Settings3,
36080 windows_core::IUnknown,
36081 ICoreWebView2Settings,
36082 ICoreWebView2Settings2
36083);
36084impl ICoreWebView2Settings3 {
36085 pub unsafe fn AreBrowserAcceleratorKeysEnabled(
36086 &self,
36087 value: *mut windows_core::BOOL,
36088 ) -> windows_core::Result<()> {
36089 unsafe {
36090 (windows_core::Interface::vtable(self).AreBrowserAcceleratorKeysEnabled)(
36091 windows_core::Interface::as_raw(self),
36092 value as _,
36093 )
36094 .ok()
36095 }
36096 }
36097 pub unsafe fn SetAreBrowserAcceleratorKeysEnabled(
36098 &self,
36099 value: bool,
36100 ) -> windows_core::Result<()> {
36101 unsafe {
36102 (windows_core::Interface::vtable(self).SetAreBrowserAcceleratorKeysEnabled)(
36103 windows_core::Interface::as_raw(self),
36104 value.into(),
36105 )
36106 .ok()
36107 }
36108 }
36109}
36110#[repr(C)]
36111#[doc(hidden)]
36112pub struct ICoreWebView2Settings3_Vtbl {
36113 pub base__: ICoreWebView2Settings2_Vtbl,
36114 pub AreBrowserAcceleratorKeysEnabled: unsafe extern "system" fn(
36115 *mut core::ffi::c_void,
36116 *mut windows_core::BOOL,
36117 ) -> windows_core::HRESULT,
36118 pub SetAreBrowserAcceleratorKeysEnabled: unsafe extern "system" fn(
36119 *mut core::ffi::c_void,
36120 windows_core::BOOL,
36121 )
36122 -> windows_core::HRESULT,
36123}
36124pub trait ICoreWebView2Settings3_Impl: ICoreWebView2Settings2_Impl {
36125 fn AreBrowserAcceleratorKeysEnabled(
36126 &self,
36127 value: *mut windows_core::BOOL,
36128 ) -> windows_core::Result<()>;
36129 fn SetAreBrowserAcceleratorKeysEnabled(
36130 &self,
36131 value: windows_core::BOOL,
36132 ) -> windows_core::Result<()>;
36133}
36134impl ICoreWebView2Settings3_Vtbl {
36135 pub const fn new<Identity: ICoreWebView2Settings3_Impl, const OFFSET: isize>() -> Self {
36136 unsafe extern "system" fn AreBrowserAcceleratorKeysEnabled<
36137 Identity: ICoreWebView2Settings3_Impl,
36138 const OFFSET: isize,
36139 >(
36140 this: *mut core::ffi::c_void,
36141 value: *mut windows_core::BOOL,
36142 ) -> windows_core::HRESULT {
36143 unsafe {
36144 let this: &Identity =
36145 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36146 ICoreWebView2Settings3_Impl::AreBrowserAcceleratorKeysEnabled(
36147 this,
36148 core::mem::transmute_copy(&value),
36149 )
36150 .into()
36151 }
36152 }
36153 unsafe extern "system" fn SetAreBrowserAcceleratorKeysEnabled<
36154 Identity: ICoreWebView2Settings3_Impl,
36155 const OFFSET: isize,
36156 >(
36157 this: *mut core::ffi::c_void,
36158 value: windows_core::BOOL,
36159 ) -> windows_core::HRESULT {
36160 unsafe {
36161 let this: &Identity =
36162 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36163 ICoreWebView2Settings3_Impl::SetAreBrowserAcceleratorKeysEnabled(
36164 this,
36165 core::mem::transmute_copy(&value),
36166 )
36167 .into()
36168 }
36169 }
36170 Self {
36171 base__: ICoreWebView2Settings2_Vtbl::new::<Identity, OFFSET>(),
36172 AreBrowserAcceleratorKeysEnabled: AreBrowserAcceleratorKeysEnabled::<Identity, OFFSET>,
36173 SetAreBrowserAcceleratorKeysEnabled: SetAreBrowserAcceleratorKeysEnabled::<
36174 Identity,
36175 OFFSET,
36176 >,
36177 }
36178 }
36179 pub fn matches(iid: &windows_core::GUID) -> bool {
36180 iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
36181 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
36182 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
36183 }
36184}
36185impl windows_core::RuntimeName for ICoreWebView2Settings3 {}
36186windows_core::imp::define_interface!(
36187 ICoreWebView2Settings4,
36188 ICoreWebView2Settings4_Vtbl,
36189 0xcb56846c_4168_4d53_b04f_03b6d6796ff2
36190);
36191impl core::ops::Deref for ICoreWebView2Settings4 {
36192 type Target = ICoreWebView2Settings3;
36193 fn deref(&self) -> &Self::Target {
36194 unsafe { core::mem::transmute(self) }
36195 }
36196}
36197windows_core::imp::interface_hierarchy!(
36198 ICoreWebView2Settings4,
36199 windows_core::IUnknown,
36200 ICoreWebView2Settings,
36201 ICoreWebView2Settings2,
36202 ICoreWebView2Settings3
36203);
36204impl ICoreWebView2Settings4 {
36205 pub unsafe fn IsPasswordAutosaveEnabled(
36206 &self,
36207 value: *mut windows_core::BOOL,
36208 ) -> windows_core::Result<()> {
36209 unsafe {
36210 (windows_core::Interface::vtable(self).IsPasswordAutosaveEnabled)(
36211 windows_core::Interface::as_raw(self),
36212 value as _,
36213 )
36214 .ok()
36215 }
36216 }
36217 pub unsafe fn SetIsPasswordAutosaveEnabled(&self, value: bool) -> windows_core::Result<()> {
36218 unsafe {
36219 (windows_core::Interface::vtable(self).SetIsPasswordAutosaveEnabled)(
36220 windows_core::Interface::as_raw(self),
36221 value.into(),
36222 )
36223 .ok()
36224 }
36225 }
36226 pub unsafe fn IsGeneralAutofillEnabled(
36227 &self,
36228 value: *mut windows_core::BOOL,
36229 ) -> windows_core::Result<()> {
36230 unsafe {
36231 (windows_core::Interface::vtable(self).IsGeneralAutofillEnabled)(
36232 windows_core::Interface::as_raw(self),
36233 value as _,
36234 )
36235 .ok()
36236 }
36237 }
36238 pub unsafe fn SetIsGeneralAutofillEnabled(&self, value: bool) -> windows_core::Result<()> {
36239 unsafe {
36240 (windows_core::Interface::vtable(self).SetIsGeneralAutofillEnabled)(
36241 windows_core::Interface::as_raw(self),
36242 value.into(),
36243 )
36244 .ok()
36245 }
36246 }
36247}
36248#[repr(C)]
36249#[doc(hidden)]
36250pub struct ICoreWebView2Settings4_Vtbl {
36251 pub base__: ICoreWebView2Settings3_Vtbl,
36252 pub IsPasswordAutosaveEnabled: unsafe extern "system" fn(
36253 *mut core::ffi::c_void,
36254 *mut windows_core::BOOL,
36255 ) -> windows_core::HRESULT,
36256 pub SetIsPasswordAutosaveEnabled: unsafe extern "system" fn(
36257 *mut core::ffi::c_void,
36258 windows_core::BOOL,
36259 ) -> windows_core::HRESULT,
36260 pub IsGeneralAutofillEnabled: unsafe extern "system" fn(
36261 *mut core::ffi::c_void,
36262 *mut windows_core::BOOL,
36263 ) -> windows_core::HRESULT,
36264 pub SetIsGeneralAutofillEnabled: unsafe extern "system" fn(
36265 *mut core::ffi::c_void,
36266 windows_core::BOOL,
36267 ) -> windows_core::HRESULT,
36268}
36269pub trait ICoreWebView2Settings4_Impl: ICoreWebView2Settings3_Impl {
36270 fn IsPasswordAutosaveEnabled(&self, value: *mut windows_core::BOOL)
36271 -> windows_core::Result<()>;
36272 fn SetIsPasswordAutosaveEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
36273 fn IsGeneralAutofillEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
36274 fn SetIsGeneralAutofillEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
36275}
36276impl ICoreWebView2Settings4_Vtbl {
36277 pub const fn new<Identity: ICoreWebView2Settings4_Impl, const OFFSET: isize>() -> Self {
36278 unsafe extern "system" fn IsPasswordAutosaveEnabled<
36279 Identity: ICoreWebView2Settings4_Impl,
36280 const OFFSET: isize,
36281 >(
36282 this: *mut core::ffi::c_void,
36283 value: *mut windows_core::BOOL,
36284 ) -> windows_core::HRESULT {
36285 unsafe {
36286 let this: &Identity =
36287 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36288 ICoreWebView2Settings4_Impl::IsPasswordAutosaveEnabled(
36289 this,
36290 core::mem::transmute_copy(&value),
36291 )
36292 .into()
36293 }
36294 }
36295 unsafe extern "system" fn SetIsPasswordAutosaveEnabled<
36296 Identity: ICoreWebView2Settings4_Impl,
36297 const OFFSET: isize,
36298 >(
36299 this: *mut core::ffi::c_void,
36300 value: windows_core::BOOL,
36301 ) -> windows_core::HRESULT {
36302 unsafe {
36303 let this: &Identity =
36304 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36305 ICoreWebView2Settings4_Impl::SetIsPasswordAutosaveEnabled(
36306 this,
36307 core::mem::transmute_copy(&value),
36308 )
36309 .into()
36310 }
36311 }
36312 unsafe extern "system" fn IsGeneralAutofillEnabled<
36313 Identity: ICoreWebView2Settings4_Impl,
36314 const OFFSET: isize,
36315 >(
36316 this: *mut core::ffi::c_void,
36317 value: *mut windows_core::BOOL,
36318 ) -> windows_core::HRESULT {
36319 unsafe {
36320 let this: &Identity =
36321 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36322 ICoreWebView2Settings4_Impl::IsGeneralAutofillEnabled(
36323 this,
36324 core::mem::transmute_copy(&value),
36325 )
36326 .into()
36327 }
36328 }
36329 unsafe extern "system" fn SetIsGeneralAutofillEnabled<
36330 Identity: ICoreWebView2Settings4_Impl,
36331 const OFFSET: isize,
36332 >(
36333 this: *mut core::ffi::c_void,
36334 value: windows_core::BOOL,
36335 ) -> windows_core::HRESULT {
36336 unsafe {
36337 let this: &Identity =
36338 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36339 ICoreWebView2Settings4_Impl::SetIsGeneralAutofillEnabled(
36340 this,
36341 core::mem::transmute_copy(&value),
36342 )
36343 .into()
36344 }
36345 }
36346 Self {
36347 base__: ICoreWebView2Settings3_Vtbl::new::<Identity, OFFSET>(),
36348 IsPasswordAutosaveEnabled: IsPasswordAutosaveEnabled::<Identity, OFFSET>,
36349 SetIsPasswordAutosaveEnabled: SetIsPasswordAutosaveEnabled::<Identity, OFFSET>,
36350 IsGeneralAutofillEnabled: IsGeneralAutofillEnabled::<Identity, OFFSET>,
36351 SetIsGeneralAutofillEnabled: SetIsGeneralAutofillEnabled::<Identity, OFFSET>,
36352 }
36353 }
36354 pub fn matches(iid: &windows_core::GUID) -> bool {
36355 iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
36356 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
36357 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
36358 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
36359 }
36360}
36361impl windows_core::RuntimeName for ICoreWebView2Settings4 {}
36362windows_core::imp::define_interface!(
36363 ICoreWebView2Settings5,
36364 ICoreWebView2Settings5_Vtbl,
36365 0x183e7052_1d03_43a0_ab99_98e043b66b39
36366);
36367impl core::ops::Deref for ICoreWebView2Settings5 {
36368 type Target = ICoreWebView2Settings4;
36369 fn deref(&self) -> &Self::Target {
36370 unsafe { core::mem::transmute(self) }
36371 }
36372}
36373windows_core::imp::interface_hierarchy!(
36374 ICoreWebView2Settings5,
36375 windows_core::IUnknown,
36376 ICoreWebView2Settings,
36377 ICoreWebView2Settings2,
36378 ICoreWebView2Settings3,
36379 ICoreWebView2Settings4
36380);
36381impl ICoreWebView2Settings5 {
36382 pub unsafe fn IsPinchZoomEnabled(
36383 &self,
36384 value: *mut windows_core::BOOL,
36385 ) -> windows_core::Result<()> {
36386 unsafe {
36387 (windows_core::Interface::vtable(self).IsPinchZoomEnabled)(
36388 windows_core::Interface::as_raw(self),
36389 value as _,
36390 )
36391 .ok()
36392 }
36393 }
36394 pub unsafe fn SetIsPinchZoomEnabled(&self, value: bool) -> windows_core::Result<()> {
36395 unsafe {
36396 (windows_core::Interface::vtable(self).SetIsPinchZoomEnabled)(
36397 windows_core::Interface::as_raw(self),
36398 value.into(),
36399 )
36400 .ok()
36401 }
36402 }
36403}
36404#[repr(C)]
36405#[doc(hidden)]
36406pub struct ICoreWebView2Settings5_Vtbl {
36407 pub base__: ICoreWebView2Settings4_Vtbl,
36408 pub IsPinchZoomEnabled: unsafe extern "system" fn(
36409 *mut core::ffi::c_void,
36410 *mut windows_core::BOOL,
36411 ) -> windows_core::HRESULT,
36412 pub SetIsPinchZoomEnabled: unsafe extern "system" fn(
36413 *mut core::ffi::c_void,
36414 windows_core::BOOL,
36415 ) -> windows_core::HRESULT,
36416}
36417pub trait ICoreWebView2Settings5_Impl: ICoreWebView2Settings4_Impl {
36418 fn IsPinchZoomEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
36419 fn SetIsPinchZoomEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
36420}
36421impl ICoreWebView2Settings5_Vtbl {
36422 pub const fn new<Identity: ICoreWebView2Settings5_Impl, const OFFSET: isize>() -> Self {
36423 unsafe extern "system" fn IsPinchZoomEnabled<
36424 Identity: ICoreWebView2Settings5_Impl,
36425 const OFFSET: isize,
36426 >(
36427 this: *mut core::ffi::c_void,
36428 value: *mut windows_core::BOOL,
36429 ) -> windows_core::HRESULT {
36430 unsafe {
36431 let this: &Identity =
36432 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36433 ICoreWebView2Settings5_Impl::IsPinchZoomEnabled(
36434 this,
36435 core::mem::transmute_copy(&value),
36436 )
36437 .into()
36438 }
36439 }
36440 unsafe extern "system" fn SetIsPinchZoomEnabled<
36441 Identity: ICoreWebView2Settings5_Impl,
36442 const OFFSET: isize,
36443 >(
36444 this: *mut core::ffi::c_void,
36445 value: windows_core::BOOL,
36446 ) -> windows_core::HRESULT {
36447 unsafe {
36448 let this: &Identity =
36449 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36450 ICoreWebView2Settings5_Impl::SetIsPinchZoomEnabled(
36451 this,
36452 core::mem::transmute_copy(&value),
36453 )
36454 .into()
36455 }
36456 }
36457 Self {
36458 base__: ICoreWebView2Settings4_Vtbl::new::<Identity, OFFSET>(),
36459 IsPinchZoomEnabled: IsPinchZoomEnabled::<Identity, OFFSET>,
36460 SetIsPinchZoomEnabled: SetIsPinchZoomEnabled::<Identity, OFFSET>,
36461 }
36462 }
36463 pub fn matches(iid: &windows_core::GUID) -> bool {
36464 iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
36465 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
36466 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
36467 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
36468 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
36469 }
36470}
36471impl windows_core::RuntimeName for ICoreWebView2Settings5 {}
36472windows_core::imp::define_interface!(
36473 ICoreWebView2Settings6,
36474 ICoreWebView2Settings6_Vtbl,
36475 0x11cb3acd_9bc8_43b8_83bf_f40753714f87
36476);
36477impl core::ops::Deref for ICoreWebView2Settings6 {
36478 type Target = ICoreWebView2Settings5;
36479 fn deref(&self) -> &Self::Target {
36480 unsafe { core::mem::transmute(self) }
36481 }
36482}
36483windows_core::imp::interface_hierarchy!(
36484 ICoreWebView2Settings6,
36485 windows_core::IUnknown,
36486 ICoreWebView2Settings,
36487 ICoreWebView2Settings2,
36488 ICoreWebView2Settings3,
36489 ICoreWebView2Settings4,
36490 ICoreWebView2Settings5
36491);
36492impl ICoreWebView2Settings6 {
36493 pub unsafe fn IsSwipeNavigationEnabled(
36494 &self,
36495 value: *mut windows_core::BOOL,
36496 ) -> windows_core::Result<()> {
36497 unsafe {
36498 (windows_core::Interface::vtable(self).IsSwipeNavigationEnabled)(
36499 windows_core::Interface::as_raw(self),
36500 value as _,
36501 )
36502 .ok()
36503 }
36504 }
36505 pub unsafe fn SetIsSwipeNavigationEnabled(&self, value: bool) -> windows_core::Result<()> {
36506 unsafe {
36507 (windows_core::Interface::vtable(self).SetIsSwipeNavigationEnabled)(
36508 windows_core::Interface::as_raw(self),
36509 value.into(),
36510 )
36511 .ok()
36512 }
36513 }
36514}
36515#[repr(C)]
36516#[doc(hidden)]
36517pub struct ICoreWebView2Settings6_Vtbl {
36518 pub base__: ICoreWebView2Settings5_Vtbl,
36519 pub IsSwipeNavigationEnabled: unsafe extern "system" fn(
36520 *mut core::ffi::c_void,
36521 *mut windows_core::BOOL,
36522 ) -> windows_core::HRESULT,
36523 pub SetIsSwipeNavigationEnabled: unsafe extern "system" fn(
36524 *mut core::ffi::c_void,
36525 windows_core::BOOL,
36526 ) -> windows_core::HRESULT,
36527}
36528pub trait ICoreWebView2Settings6_Impl: ICoreWebView2Settings5_Impl {
36529 fn IsSwipeNavigationEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
36530 fn SetIsSwipeNavigationEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
36531}
36532impl ICoreWebView2Settings6_Vtbl {
36533 pub const fn new<Identity: ICoreWebView2Settings6_Impl, const OFFSET: isize>() -> Self {
36534 unsafe extern "system" fn IsSwipeNavigationEnabled<
36535 Identity: ICoreWebView2Settings6_Impl,
36536 const OFFSET: isize,
36537 >(
36538 this: *mut core::ffi::c_void,
36539 value: *mut windows_core::BOOL,
36540 ) -> windows_core::HRESULT {
36541 unsafe {
36542 let this: &Identity =
36543 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36544 ICoreWebView2Settings6_Impl::IsSwipeNavigationEnabled(
36545 this,
36546 core::mem::transmute_copy(&value),
36547 )
36548 .into()
36549 }
36550 }
36551 unsafe extern "system" fn SetIsSwipeNavigationEnabled<
36552 Identity: ICoreWebView2Settings6_Impl,
36553 const OFFSET: isize,
36554 >(
36555 this: *mut core::ffi::c_void,
36556 value: windows_core::BOOL,
36557 ) -> windows_core::HRESULT {
36558 unsafe {
36559 let this: &Identity =
36560 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36561 ICoreWebView2Settings6_Impl::SetIsSwipeNavigationEnabled(
36562 this,
36563 core::mem::transmute_copy(&value),
36564 )
36565 .into()
36566 }
36567 }
36568 Self {
36569 base__: ICoreWebView2Settings5_Vtbl::new::<Identity, OFFSET>(),
36570 IsSwipeNavigationEnabled: IsSwipeNavigationEnabled::<Identity, OFFSET>,
36571 SetIsSwipeNavigationEnabled: SetIsSwipeNavigationEnabled::<Identity, OFFSET>,
36572 }
36573 }
36574 pub fn matches(iid: &windows_core::GUID) -> bool {
36575 iid == &<ICoreWebView2Settings6 as windows_core::Interface>::IID
36576 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
36577 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
36578 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
36579 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
36580 || iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
36581 }
36582}
36583impl windows_core::RuntimeName for ICoreWebView2Settings6 {}
36584windows_core::imp::define_interface!(
36585 ICoreWebView2Settings7,
36586 ICoreWebView2Settings7_Vtbl,
36587 0x488dc902_35ef_42d2_bc7d_94b65c4bc49c
36588);
36589impl core::ops::Deref for ICoreWebView2Settings7 {
36590 type Target = ICoreWebView2Settings6;
36591 fn deref(&self) -> &Self::Target {
36592 unsafe { core::mem::transmute(self) }
36593 }
36594}
36595windows_core::imp::interface_hierarchy!(
36596 ICoreWebView2Settings7,
36597 windows_core::IUnknown,
36598 ICoreWebView2Settings,
36599 ICoreWebView2Settings2,
36600 ICoreWebView2Settings3,
36601 ICoreWebView2Settings4,
36602 ICoreWebView2Settings5,
36603 ICoreWebView2Settings6
36604);
36605impl ICoreWebView2Settings7 {
36606 pub unsafe fn HiddenPdfToolbarItems(
36607 &self,
36608 value: *mut COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
36609 ) -> windows_core::Result<()> {
36610 unsafe {
36611 (windows_core::Interface::vtable(self).HiddenPdfToolbarItems)(
36612 windows_core::Interface::as_raw(self),
36613 value as _,
36614 )
36615 .ok()
36616 }
36617 }
36618 pub unsafe fn SetHiddenPdfToolbarItems(
36619 &self,
36620 value: COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
36621 ) -> windows_core::Result<()> {
36622 unsafe {
36623 (windows_core::Interface::vtable(self).SetHiddenPdfToolbarItems)(
36624 windows_core::Interface::as_raw(self),
36625 value,
36626 )
36627 .ok()
36628 }
36629 }
36630}
36631#[repr(C)]
36632#[doc(hidden)]
36633pub struct ICoreWebView2Settings7_Vtbl {
36634 pub base__: ICoreWebView2Settings6_Vtbl,
36635 pub HiddenPdfToolbarItems: unsafe extern "system" fn(
36636 *mut core::ffi::c_void,
36637 *mut COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
36638 ) -> windows_core::HRESULT,
36639 pub SetHiddenPdfToolbarItems: unsafe extern "system" fn(
36640 *mut core::ffi::c_void,
36641 COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
36642 ) -> windows_core::HRESULT,
36643}
36644pub trait ICoreWebView2Settings7_Impl: ICoreWebView2Settings6_Impl {
36645 fn HiddenPdfToolbarItems(
36646 &self,
36647 value: *mut COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
36648 ) -> windows_core::Result<()>;
36649 fn SetHiddenPdfToolbarItems(
36650 &self,
36651 value: COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
36652 ) -> windows_core::Result<()>;
36653}
36654impl ICoreWebView2Settings7_Vtbl {
36655 pub const fn new<Identity: ICoreWebView2Settings7_Impl, const OFFSET: isize>() -> Self {
36656 unsafe extern "system" fn HiddenPdfToolbarItems<
36657 Identity: ICoreWebView2Settings7_Impl,
36658 const OFFSET: isize,
36659 >(
36660 this: *mut core::ffi::c_void,
36661 value: *mut COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
36662 ) -> windows_core::HRESULT {
36663 unsafe {
36664 let this: &Identity =
36665 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36666 ICoreWebView2Settings7_Impl::HiddenPdfToolbarItems(
36667 this,
36668 core::mem::transmute_copy(&value),
36669 )
36670 .into()
36671 }
36672 }
36673 unsafe extern "system" fn SetHiddenPdfToolbarItems<
36674 Identity: ICoreWebView2Settings7_Impl,
36675 const OFFSET: isize,
36676 >(
36677 this: *mut core::ffi::c_void,
36678 value: COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
36679 ) -> windows_core::HRESULT {
36680 unsafe {
36681 let this: &Identity =
36682 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36683 ICoreWebView2Settings7_Impl::SetHiddenPdfToolbarItems(
36684 this,
36685 core::mem::transmute_copy(&value),
36686 )
36687 .into()
36688 }
36689 }
36690 Self {
36691 base__: ICoreWebView2Settings6_Vtbl::new::<Identity, OFFSET>(),
36692 HiddenPdfToolbarItems: HiddenPdfToolbarItems::<Identity, OFFSET>,
36693 SetHiddenPdfToolbarItems: SetHiddenPdfToolbarItems::<Identity, OFFSET>,
36694 }
36695 }
36696 pub fn matches(iid: &windows_core::GUID) -> bool {
36697 iid == &<ICoreWebView2Settings7 as windows_core::Interface>::IID
36698 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
36699 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
36700 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
36701 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
36702 || iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
36703 || iid == &<ICoreWebView2Settings6 as windows_core::Interface>::IID
36704 }
36705}
36706impl windows_core::RuntimeName for ICoreWebView2Settings7 {}
36707windows_core::imp::define_interface!(
36708 ICoreWebView2Settings8,
36709 ICoreWebView2Settings8_Vtbl,
36710 0x9e6b0e8f_86ad_4e81_8147_a9b5edb68650
36711);
36712impl core::ops::Deref for ICoreWebView2Settings8 {
36713 type Target = ICoreWebView2Settings7;
36714 fn deref(&self) -> &Self::Target {
36715 unsafe { core::mem::transmute(self) }
36716 }
36717}
36718windows_core::imp::interface_hierarchy!(
36719 ICoreWebView2Settings8,
36720 windows_core::IUnknown,
36721 ICoreWebView2Settings,
36722 ICoreWebView2Settings2,
36723 ICoreWebView2Settings3,
36724 ICoreWebView2Settings4,
36725 ICoreWebView2Settings5,
36726 ICoreWebView2Settings6,
36727 ICoreWebView2Settings7
36728);
36729impl ICoreWebView2Settings8 {
36730 pub unsafe fn IsReputationCheckingRequired(
36731 &self,
36732 value: *mut windows_core::BOOL,
36733 ) -> windows_core::Result<()> {
36734 unsafe {
36735 (windows_core::Interface::vtable(self).IsReputationCheckingRequired)(
36736 windows_core::Interface::as_raw(self),
36737 value as _,
36738 )
36739 .ok()
36740 }
36741 }
36742 pub unsafe fn SetIsReputationCheckingRequired(&self, value: bool) -> windows_core::Result<()> {
36743 unsafe {
36744 (windows_core::Interface::vtable(self).SetIsReputationCheckingRequired)(
36745 windows_core::Interface::as_raw(self),
36746 value.into(),
36747 )
36748 .ok()
36749 }
36750 }
36751}
36752#[repr(C)]
36753#[doc(hidden)]
36754pub struct ICoreWebView2Settings8_Vtbl {
36755 pub base__: ICoreWebView2Settings7_Vtbl,
36756 pub IsReputationCheckingRequired: unsafe extern "system" fn(
36757 *mut core::ffi::c_void,
36758 *mut windows_core::BOOL,
36759 ) -> windows_core::HRESULT,
36760 pub SetIsReputationCheckingRequired: unsafe extern "system" fn(
36761 *mut core::ffi::c_void,
36762 windows_core::BOOL,
36763 ) -> windows_core::HRESULT,
36764}
36765pub trait ICoreWebView2Settings8_Impl: ICoreWebView2Settings7_Impl {
36766 fn IsReputationCheckingRequired(
36767 &self,
36768 value: *mut windows_core::BOOL,
36769 ) -> windows_core::Result<()>;
36770 fn SetIsReputationCheckingRequired(
36771 &self,
36772 value: windows_core::BOOL,
36773 ) -> windows_core::Result<()>;
36774}
36775impl ICoreWebView2Settings8_Vtbl {
36776 pub const fn new<Identity: ICoreWebView2Settings8_Impl, const OFFSET: isize>() -> Self {
36777 unsafe extern "system" fn IsReputationCheckingRequired<
36778 Identity: ICoreWebView2Settings8_Impl,
36779 const OFFSET: isize,
36780 >(
36781 this: *mut core::ffi::c_void,
36782 value: *mut windows_core::BOOL,
36783 ) -> windows_core::HRESULT {
36784 unsafe {
36785 let this: &Identity =
36786 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36787 ICoreWebView2Settings8_Impl::IsReputationCheckingRequired(
36788 this,
36789 core::mem::transmute_copy(&value),
36790 )
36791 .into()
36792 }
36793 }
36794 unsafe extern "system" fn SetIsReputationCheckingRequired<
36795 Identity: ICoreWebView2Settings8_Impl,
36796 const OFFSET: isize,
36797 >(
36798 this: *mut core::ffi::c_void,
36799 value: windows_core::BOOL,
36800 ) -> windows_core::HRESULT {
36801 unsafe {
36802 let this: &Identity =
36803 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36804 ICoreWebView2Settings8_Impl::SetIsReputationCheckingRequired(
36805 this,
36806 core::mem::transmute_copy(&value),
36807 )
36808 .into()
36809 }
36810 }
36811 Self {
36812 base__: ICoreWebView2Settings7_Vtbl::new::<Identity, OFFSET>(),
36813 IsReputationCheckingRequired: IsReputationCheckingRequired::<Identity, OFFSET>,
36814 SetIsReputationCheckingRequired: SetIsReputationCheckingRequired::<Identity, OFFSET>,
36815 }
36816 }
36817 pub fn matches(iid: &windows_core::GUID) -> bool {
36818 iid == &<ICoreWebView2Settings8 as windows_core::Interface>::IID
36819 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
36820 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
36821 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
36822 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
36823 || iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
36824 || iid == &<ICoreWebView2Settings6 as windows_core::Interface>::IID
36825 || iid == &<ICoreWebView2Settings7 as windows_core::Interface>::IID
36826 }
36827}
36828impl windows_core::RuntimeName for ICoreWebView2Settings8 {}
36829windows_core::imp::define_interface!(
36830 ICoreWebView2Settings9,
36831 ICoreWebView2Settings9_Vtbl,
36832 0x0528a73b_e92d_49f4_927a_e547dddaa37d
36833);
36834impl core::ops::Deref for ICoreWebView2Settings9 {
36835 type Target = ICoreWebView2Settings8;
36836 fn deref(&self) -> &Self::Target {
36837 unsafe { core::mem::transmute(self) }
36838 }
36839}
36840windows_core::imp::interface_hierarchy!(
36841 ICoreWebView2Settings9,
36842 windows_core::IUnknown,
36843 ICoreWebView2Settings,
36844 ICoreWebView2Settings2,
36845 ICoreWebView2Settings3,
36846 ICoreWebView2Settings4,
36847 ICoreWebView2Settings5,
36848 ICoreWebView2Settings6,
36849 ICoreWebView2Settings7,
36850 ICoreWebView2Settings8
36851);
36852impl ICoreWebView2Settings9 {
36853 pub unsafe fn IsNonClientRegionSupportEnabled(
36854 &self,
36855 value: *mut windows_core::BOOL,
36856 ) -> windows_core::Result<()> {
36857 unsafe {
36858 (windows_core::Interface::vtable(self).IsNonClientRegionSupportEnabled)(
36859 windows_core::Interface::as_raw(self),
36860 value as _,
36861 )
36862 .ok()
36863 }
36864 }
36865 pub unsafe fn SetIsNonClientRegionSupportEnabled(
36866 &self,
36867 value: bool,
36868 ) -> windows_core::Result<()> {
36869 unsafe {
36870 (windows_core::Interface::vtable(self).SetIsNonClientRegionSupportEnabled)(
36871 windows_core::Interface::as_raw(self),
36872 value.into(),
36873 )
36874 .ok()
36875 }
36876 }
36877}
36878#[repr(C)]
36879#[doc(hidden)]
36880pub struct ICoreWebView2Settings9_Vtbl {
36881 pub base__: ICoreWebView2Settings8_Vtbl,
36882 pub IsNonClientRegionSupportEnabled: unsafe extern "system" fn(
36883 *mut core::ffi::c_void,
36884 *mut windows_core::BOOL,
36885 ) -> windows_core::HRESULT,
36886 pub SetIsNonClientRegionSupportEnabled: unsafe extern "system" fn(
36887 *mut core::ffi::c_void,
36888 windows_core::BOOL,
36889 ) -> windows_core::HRESULT,
36890}
36891pub trait ICoreWebView2Settings9_Impl: ICoreWebView2Settings8_Impl {
36892 fn IsNonClientRegionSupportEnabled(
36893 &self,
36894 value: *mut windows_core::BOOL,
36895 ) -> windows_core::Result<()>;
36896 fn SetIsNonClientRegionSupportEnabled(
36897 &self,
36898 value: windows_core::BOOL,
36899 ) -> windows_core::Result<()>;
36900}
36901impl ICoreWebView2Settings9_Vtbl {
36902 pub const fn new<Identity: ICoreWebView2Settings9_Impl, const OFFSET: isize>() -> Self {
36903 unsafe extern "system" fn IsNonClientRegionSupportEnabled<
36904 Identity: ICoreWebView2Settings9_Impl,
36905 const OFFSET: isize,
36906 >(
36907 this: *mut core::ffi::c_void,
36908 value: *mut windows_core::BOOL,
36909 ) -> windows_core::HRESULT {
36910 unsafe {
36911 let this: &Identity =
36912 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36913 ICoreWebView2Settings9_Impl::IsNonClientRegionSupportEnabled(
36914 this,
36915 core::mem::transmute_copy(&value),
36916 )
36917 .into()
36918 }
36919 }
36920 unsafe extern "system" fn SetIsNonClientRegionSupportEnabled<
36921 Identity: ICoreWebView2Settings9_Impl,
36922 const OFFSET: isize,
36923 >(
36924 this: *mut core::ffi::c_void,
36925 value: windows_core::BOOL,
36926 ) -> windows_core::HRESULT {
36927 unsafe {
36928 let this: &Identity =
36929 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36930 ICoreWebView2Settings9_Impl::SetIsNonClientRegionSupportEnabled(
36931 this,
36932 core::mem::transmute_copy(&value),
36933 )
36934 .into()
36935 }
36936 }
36937 Self {
36938 base__: ICoreWebView2Settings8_Vtbl::new::<Identity, OFFSET>(),
36939 IsNonClientRegionSupportEnabled: IsNonClientRegionSupportEnabled::<Identity, OFFSET>,
36940 SetIsNonClientRegionSupportEnabled: SetIsNonClientRegionSupportEnabled::<
36941 Identity,
36942 OFFSET,
36943 >,
36944 }
36945 }
36946 pub fn matches(iid: &windows_core::GUID) -> bool {
36947 iid == &<ICoreWebView2Settings9 as windows_core::Interface>::IID
36948 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
36949 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
36950 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
36951 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
36952 || iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
36953 || iid == &<ICoreWebView2Settings6 as windows_core::Interface>::IID
36954 || iid == &<ICoreWebView2Settings7 as windows_core::Interface>::IID
36955 || iid == &<ICoreWebView2Settings8 as windows_core::Interface>::IID
36956 }
36957}
36958impl windows_core::RuntimeName for ICoreWebView2Settings9 {}
36959windows_core::imp::define_interface!(
36960 ICoreWebView2SharedBuffer,
36961 ICoreWebView2SharedBuffer_Vtbl,
36962 0xb747a495_0c6f_449e_97b8_2f81e9d6ab43
36963);
36964windows_core::imp::interface_hierarchy!(ICoreWebView2SharedBuffer, windows_core::IUnknown);
36965impl ICoreWebView2SharedBuffer {
36966 pub unsafe fn Size(&self, value: *mut u64) -> windows_core::Result<()> {
36967 unsafe {
36968 (windows_core::Interface::vtable(self).Size)(
36969 windows_core::Interface::as_raw(self),
36970 value as _,
36971 )
36972 .ok()
36973 }
36974 }
36975 pub unsafe fn Buffer(&self, value: *mut *mut u8) -> windows_core::Result<()> {
36976 unsafe {
36977 (windows_core::Interface::vtable(self).Buffer)(
36978 windows_core::Interface::as_raw(self),
36979 value as _,
36980 )
36981 .ok()
36982 }
36983 }
36984 pub unsafe fn OpenStream(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
36985 unsafe {
36986 let mut result__ = core::mem::zeroed();
36987 (windows_core::Interface::vtable(self).OpenStream)(
36988 windows_core::Interface::as_raw(self),
36989 &mut result__,
36990 )
36991 .and_then(|| windows_core::Type::from_abi(result__))
36992 }
36993 }
36994 pub unsafe fn FileMappingHandle(
36995 &self,
36996 value: *mut windows::Win32::Foundation::HANDLE,
36997 ) -> windows_core::Result<()> {
36998 unsafe {
36999 (windows_core::Interface::vtable(self).FileMappingHandle)(
37000 windows_core::Interface::as_raw(self),
37001 value as _,
37002 )
37003 .ok()
37004 }
37005 }
37006 pub unsafe fn Close(&self) -> windows_core::Result<()> {
37007 unsafe {
37008 (windows_core::Interface::vtable(self).Close)(windows_core::Interface::as_raw(self))
37009 .ok()
37010 }
37011 }
37012}
37013#[repr(C)]
37014#[doc(hidden)]
37015pub struct ICoreWebView2SharedBuffer_Vtbl {
37016 pub base__: windows_core::IUnknown_Vtbl,
37017 pub Size: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
37018 pub Buffer:
37019 unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut u8) -> windows_core::HRESULT,
37020 pub OpenStream: unsafe extern "system" fn(
37021 *mut core::ffi::c_void,
37022 *mut *mut core::ffi::c_void,
37023 ) -> windows_core::HRESULT,
37024 pub FileMappingHandle: unsafe extern "system" fn(
37025 *mut core::ffi::c_void,
37026 *mut windows::Win32::Foundation::HANDLE,
37027 ) -> windows_core::HRESULT,
37028 pub Close: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
37029}
37030pub trait ICoreWebView2SharedBuffer_Impl: windows_core::IUnknownImpl {
37031 fn Size(&self, value: *mut u64) -> windows_core::Result<()>;
37032 fn Buffer(&self, value: *mut *mut u8) -> windows_core::Result<()>;
37033 fn OpenStream(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
37034 fn FileMappingHandle(
37035 &self,
37036 value: *mut windows::Win32::Foundation::HANDLE,
37037 ) -> windows_core::Result<()>;
37038 fn Close(&self) -> windows_core::Result<()>;
37039}
37040impl ICoreWebView2SharedBuffer_Vtbl {
37041 pub const fn new<Identity: ICoreWebView2SharedBuffer_Impl, const OFFSET: isize>() -> Self {
37042 unsafe extern "system" fn Size<
37043 Identity: ICoreWebView2SharedBuffer_Impl,
37044 const OFFSET: isize,
37045 >(
37046 this: *mut core::ffi::c_void,
37047 value: *mut u64,
37048 ) -> windows_core::HRESULT {
37049 unsafe {
37050 let this: &Identity =
37051 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37052 ICoreWebView2SharedBuffer_Impl::Size(this, core::mem::transmute_copy(&value)).into()
37053 }
37054 }
37055 unsafe extern "system" fn Buffer<
37056 Identity: ICoreWebView2SharedBuffer_Impl,
37057 const OFFSET: isize,
37058 >(
37059 this: *mut core::ffi::c_void,
37060 value: *mut *mut u8,
37061 ) -> windows_core::HRESULT {
37062 unsafe {
37063 let this: &Identity =
37064 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37065 ICoreWebView2SharedBuffer_Impl::Buffer(this, core::mem::transmute_copy(&value))
37066 .into()
37067 }
37068 }
37069 unsafe extern "system" fn OpenStream<
37070 Identity: ICoreWebView2SharedBuffer_Impl,
37071 const OFFSET: isize,
37072 >(
37073 this: *mut core::ffi::c_void,
37074 value: *mut *mut core::ffi::c_void,
37075 ) -> windows_core::HRESULT {
37076 unsafe {
37077 let this: &Identity =
37078 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37079 match ICoreWebView2SharedBuffer_Impl::OpenStream(this) {
37080 Ok(ok__) => {
37081 value.write(core::mem::transmute(ok__));
37082 windows_core::HRESULT(0)
37083 }
37084 Err(err) => err.into(),
37085 }
37086 }
37087 }
37088 unsafe extern "system" fn FileMappingHandle<
37089 Identity: ICoreWebView2SharedBuffer_Impl,
37090 const OFFSET: isize,
37091 >(
37092 this: *mut core::ffi::c_void,
37093 value: *mut windows::Win32::Foundation::HANDLE,
37094 ) -> windows_core::HRESULT {
37095 unsafe {
37096 let this: &Identity =
37097 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37098 ICoreWebView2SharedBuffer_Impl::FileMappingHandle(
37099 this,
37100 core::mem::transmute_copy(&value),
37101 )
37102 .into()
37103 }
37104 }
37105 unsafe extern "system" fn Close<
37106 Identity: ICoreWebView2SharedBuffer_Impl,
37107 const OFFSET: isize,
37108 >(
37109 this: *mut core::ffi::c_void,
37110 ) -> windows_core::HRESULT {
37111 unsafe {
37112 let this: &Identity =
37113 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37114 ICoreWebView2SharedBuffer_Impl::Close(this).into()
37115 }
37116 }
37117 Self {
37118 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37119 Size: Size::<Identity, OFFSET>,
37120 Buffer: Buffer::<Identity, OFFSET>,
37121 OpenStream: OpenStream::<Identity, OFFSET>,
37122 FileMappingHandle: FileMappingHandle::<Identity, OFFSET>,
37123 Close: Close::<Identity, OFFSET>,
37124 }
37125 }
37126 pub fn matches(iid: &windows_core::GUID) -> bool {
37127 iid == &<ICoreWebView2SharedBuffer as windows_core::Interface>::IID
37128 }
37129}
37130impl windows_core::RuntimeName for ICoreWebView2SharedBuffer {}
37131windows_core::imp::define_interface!(
37132 ICoreWebView2ShowSaveAsUICompletedHandler,
37133 ICoreWebView2ShowSaveAsUICompletedHandler_Vtbl,
37134 0xe24b07e3_8169_5c34_994a_7f6478946a3c
37135);
37136windows_core::imp::interface_hierarchy!(
37137 ICoreWebView2ShowSaveAsUICompletedHandler,
37138 windows_core::IUnknown
37139);
37140impl ICoreWebView2ShowSaveAsUICompletedHandler {
37141 pub unsafe fn Invoke(
37142 &self,
37143 errorcode: windows_core::HRESULT,
37144 result: COREWEBVIEW2_SAVE_AS_UI_RESULT,
37145 ) -> windows_core::Result<()> {
37146 unsafe {
37147 (windows_core::Interface::vtable(self).Invoke)(
37148 windows_core::Interface::as_raw(self),
37149 errorcode,
37150 result,
37151 )
37152 .ok()
37153 }
37154 }
37155}
37156#[repr(C)]
37157#[doc(hidden)]
37158pub struct ICoreWebView2ShowSaveAsUICompletedHandler_Vtbl {
37159 pub base__: windows_core::IUnknown_Vtbl,
37160 pub Invoke: unsafe extern "system" fn(
37161 *mut core::ffi::c_void,
37162 windows_core::HRESULT,
37163 COREWEBVIEW2_SAVE_AS_UI_RESULT,
37164 ) -> windows_core::HRESULT,
37165}
37166pub trait ICoreWebView2ShowSaveAsUICompletedHandler_Impl: windows_core::IUnknownImpl {
37167 fn Invoke(
37168 &self,
37169 errorcode: windows_core::HRESULT,
37170 result: COREWEBVIEW2_SAVE_AS_UI_RESULT,
37171 ) -> windows_core::Result<()>;
37172}
37173impl ICoreWebView2ShowSaveAsUICompletedHandler_Vtbl {
37174 pub const fn new<
37175 Identity: ICoreWebView2ShowSaveAsUICompletedHandler_Impl,
37176 const OFFSET: isize,
37177 >() -> Self {
37178 unsafe extern "system" fn Invoke<
37179 Identity: ICoreWebView2ShowSaveAsUICompletedHandler_Impl,
37180 const OFFSET: isize,
37181 >(
37182 this: *mut core::ffi::c_void,
37183 errorcode: windows_core::HRESULT,
37184 result: COREWEBVIEW2_SAVE_AS_UI_RESULT,
37185 ) -> windows_core::HRESULT {
37186 unsafe {
37187 let this: &Identity =
37188 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37189 ICoreWebView2ShowSaveAsUICompletedHandler_Impl::Invoke(
37190 this,
37191 core::mem::transmute_copy(&errorcode),
37192 core::mem::transmute_copy(&result),
37193 )
37194 .into()
37195 }
37196 }
37197 Self {
37198 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37199 Invoke: Invoke::<Identity, OFFSET>,
37200 }
37201 }
37202 pub fn matches(iid: &windows_core::GUID) -> bool {
37203 iid == &<ICoreWebView2ShowSaveAsUICompletedHandler as windows_core::Interface>::IID
37204 }
37205}
37206impl windows_core::RuntimeName for ICoreWebView2ShowSaveAsUICompletedHandler {}
37207windows_core::imp::define_interface!(
37208 ICoreWebView2SourceChangedEventArgs,
37209 ICoreWebView2SourceChangedEventArgs_Vtbl,
37210 0x31e0e545_1dba_4266_8914_f63848a1f7d7
37211);
37212windows_core::imp::interface_hierarchy!(
37213 ICoreWebView2SourceChangedEventArgs,
37214 windows_core::IUnknown
37215);
37216impl ICoreWebView2SourceChangedEventArgs {
37217 pub unsafe fn IsNewDocument(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
37218 unsafe {
37219 (windows_core::Interface::vtable(self).IsNewDocument)(
37220 windows_core::Interface::as_raw(self),
37221 value as _,
37222 )
37223 .ok()
37224 }
37225 }
37226}
37227#[repr(C)]
37228#[doc(hidden)]
37229pub struct ICoreWebView2SourceChangedEventArgs_Vtbl {
37230 pub base__: windows_core::IUnknown_Vtbl,
37231 pub IsNewDocument: unsafe extern "system" fn(
37232 *mut core::ffi::c_void,
37233 *mut windows_core::BOOL,
37234 ) -> windows_core::HRESULT,
37235}
37236pub trait ICoreWebView2SourceChangedEventArgs_Impl: windows_core::IUnknownImpl {
37237 fn IsNewDocument(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
37238}
37239impl ICoreWebView2SourceChangedEventArgs_Vtbl {
37240 pub const fn new<Identity: ICoreWebView2SourceChangedEventArgs_Impl, const OFFSET: isize>(
37241 ) -> Self {
37242 unsafe extern "system" fn IsNewDocument<
37243 Identity: ICoreWebView2SourceChangedEventArgs_Impl,
37244 const OFFSET: isize,
37245 >(
37246 this: *mut core::ffi::c_void,
37247 value: *mut windows_core::BOOL,
37248 ) -> windows_core::HRESULT {
37249 unsafe {
37250 let this: &Identity =
37251 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37252 ICoreWebView2SourceChangedEventArgs_Impl::IsNewDocument(
37253 this,
37254 core::mem::transmute_copy(&value),
37255 )
37256 .into()
37257 }
37258 }
37259 Self {
37260 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37261 IsNewDocument: IsNewDocument::<Identity, OFFSET>,
37262 }
37263 }
37264 pub fn matches(iid: &windows_core::GUID) -> bool {
37265 iid == &<ICoreWebView2SourceChangedEventArgs as windows_core::Interface>::IID
37266 }
37267}
37268impl windows_core::RuntimeName for ICoreWebView2SourceChangedEventArgs {}
37269windows_core::imp::define_interface!(
37270 ICoreWebView2SourceChangedEventHandler,
37271 ICoreWebView2SourceChangedEventHandler_Vtbl,
37272 0x3c067f9f_5388_4772_8b48_79f7ef1ab37c
37273);
37274windows_core::imp::interface_hierarchy!(
37275 ICoreWebView2SourceChangedEventHandler,
37276 windows_core::IUnknown
37277);
37278impl ICoreWebView2SourceChangedEventHandler {
37279 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
37280 where
37281 P0: windows_core::Param<ICoreWebView2>,
37282 P1: windows_core::Param<ICoreWebView2SourceChangedEventArgs>,
37283 {
37284 unsafe {
37285 (windows_core::Interface::vtable(self).Invoke)(
37286 windows_core::Interface::as_raw(self),
37287 sender.param().abi(),
37288 args.param().abi(),
37289 )
37290 .ok()
37291 }
37292 }
37293}
37294#[repr(C)]
37295#[doc(hidden)]
37296pub struct ICoreWebView2SourceChangedEventHandler_Vtbl {
37297 pub base__: windows_core::IUnknown_Vtbl,
37298 pub Invoke: unsafe extern "system" fn(
37299 *mut core::ffi::c_void,
37300 *mut core::ffi::c_void,
37301 *mut core::ffi::c_void,
37302 ) -> windows_core::HRESULT,
37303}
37304pub trait ICoreWebView2SourceChangedEventHandler_Impl: windows_core::IUnknownImpl {
37305 fn Invoke(
37306 &self,
37307 sender: windows_core::Ref<ICoreWebView2>,
37308 args: windows_core::Ref<ICoreWebView2SourceChangedEventArgs>,
37309 ) -> windows_core::Result<()>;
37310}
37311impl ICoreWebView2SourceChangedEventHandler_Vtbl {
37312 pub const fn new<Identity: ICoreWebView2SourceChangedEventHandler_Impl, const OFFSET: isize>(
37313 ) -> Self {
37314 unsafe extern "system" fn Invoke<
37315 Identity: ICoreWebView2SourceChangedEventHandler_Impl,
37316 const OFFSET: isize,
37317 >(
37318 this: *mut core::ffi::c_void,
37319 sender: *mut core::ffi::c_void,
37320 args: *mut core::ffi::c_void,
37321 ) -> windows_core::HRESULT {
37322 unsafe {
37323 let this: &Identity =
37324 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37325 ICoreWebView2SourceChangedEventHandler_Impl::Invoke(
37326 this,
37327 core::mem::transmute_copy(&sender),
37328 core::mem::transmute_copy(&args),
37329 )
37330 .into()
37331 }
37332 }
37333 Self {
37334 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37335 Invoke: Invoke::<Identity, OFFSET>,
37336 }
37337 }
37338 pub fn matches(iid: &windows_core::GUID) -> bool {
37339 iid == &<ICoreWebView2SourceChangedEventHandler as windows_core::Interface>::IID
37340 }
37341}
37342impl windows_core::RuntimeName for ICoreWebView2SourceChangedEventHandler {}
37343windows_core::imp::define_interface!(
37344 ICoreWebView2StateChangedEventHandler,
37345 ICoreWebView2StateChangedEventHandler_Vtbl,
37346 0x81336594_7ede_4ba9_bf71_acf0a95b58dd
37347);
37348windows_core::imp::interface_hierarchy!(
37349 ICoreWebView2StateChangedEventHandler,
37350 windows_core::IUnknown
37351);
37352impl ICoreWebView2StateChangedEventHandler {
37353 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
37354 where
37355 P0: windows_core::Param<ICoreWebView2DownloadOperation>,
37356 P1: windows_core::Param<windows_core::IUnknown>,
37357 {
37358 unsafe {
37359 (windows_core::Interface::vtable(self).Invoke)(
37360 windows_core::Interface::as_raw(self),
37361 sender.param().abi(),
37362 args.param().abi(),
37363 )
37364 .ok()
37365 }
37366 }
37367}
37368#[repr(C)]
37369#[doc(hidden)]
37370pub struct ICoreWebView2StateChangedEventHandler_Vtbl {
37371 pub base__: windows_core::IUnknown_Vtbl,
37372 pub Invoke: unsafe extern "system" fn(
37373 *mut core::ffi::c_void,
37374 *mut core::ffi::c_void,
37375 *mut core::ffi::c_void,
37376 ) -> windows_core::HRESULT,
37377}
37378pub trait ICoreWebView2StateChangedEventHandler_Impl: windows_core::IUnknownImpl {
37379 fn Invoke(
37380 &self,
37381 sender: windows_core::Ref<ICoreWebView2DownloadOperation>,
37382 args: windows_core::Ref<windows_core::IUnknown>,
37383 ) -> windows_core::Result<()>;
37384}
37385impl ICoreWebView2StateChangedEventHandler_Vtbl {
37386 pub const fn new<Identity: ICoreWebView2StateChangedEventHandler_Impl, const OFFSET: isize>(
37387 ) -> Self {
37388 unsafe extern "system" fn Invoke<
37389 Identity: ICoreWebView2StateChangedEventHandler_Impl,
37390 const OFFSET: isize,
37391 >(
37392 this: *mut core::ffi::c_void,
37393 sender: *mut core::ffi::c_void,
37394 args: *mut core::ffi::c_void,
37395 ) -> windows_core::HRESULT {
37396 unsafe {
37397 let this: &Identity =
37398 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37399 ICoreWebView2StateChangedEventHandler_Impl::Invoke(
37400 this,
37401 core::mem::transmute_copy(&sender),
37402 core::mem::transmute_copy(&args),
37403 )
37404 .into()
37405 }
37406 }
37407 Self {
37408 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37409 Invoke: Invoke::<Identity, OFFSET>,
37410 }
37411 }
37412 pub fn matches(iid: &windows_core::GUID) -> bool {
37413 iid == &<ICoreWebView2StateChangedEventHandler as windows_core::Interface>::IID
37414 }
37415}
37416impl windows_core::RuntimeName for ICoreWebView2StateChangedEventHandler {}
37417windows_core::imp::define_interface!(
37418 ICoreWebView2StatusBarTextChangedEventHandler,
37419 ICoreWebView2StatusBarTextChangedEventHandler_Vtbl,
37420 0xa5e3b0d0_10df_4156_bfad_3b43867acac6
37421);
37422windows_core::imp::interface_hierarchy!(
37423 ICoreWebView2StatusBarTextChangedEventHandler,
37424 windows_core::IUnknown
37425);
37426impl ICoreWebView2StatusBarTextChangedEventHandler {
37427 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
37428 where
37429 P0: windows_core::Param<ICoreWebView2>,
37430 P1: windows_core::Param<windows_core::IUnknown>,
37431 {
37432 unsafe {
37433 (windows_core::Interface::vtable(self).Invoke)(
37434 windows_core::Interface::as_raw(self),
37435 sender.param().abi(),
37436 args.param().abi(),
37437 )
37438 .ok()
37439 }
37440 }
37441}
37442#[repr(C)]
37443#[doc(hidden)]
37444pub struct ICoreWebView2StatusBarTextChangedEventHandler_Vtbl {
37445 pub base__: windows_core::IUnknown_Vtbl,
37446 pub Invoke: unsafe extern "system" fn(
37447 *mut core::ffi::c_void,
37448 *mut core::ffi::c_void,
37449 *mut core::ffi::c_void,
37450 ) -> windows_core::HRESULT,
37451}
37452pub trait ICoreWebView2StatusBarTextChangedEventHandler_Impl: windows_core::IUnknownImpl {
37453 fn Invoke(
37454 &self,
37455 sender: windows_core::Ref<ICoreWebView2>,
37456 args: windows_core::Ref<windows_core::IUnknown>,
37457 ) -> windows_core::Result<()>;
37458}
37459impl ICoreWebView2StatusBarTextChangedEventHandler_Vtbl {
37460 pub const fn new<
37461 Identity: ICoreWebView2StatusBarTextChangedEventHandler_Impl,
37462 const OFFSET: isize,
37463 >() -> Self {
37464 unsafe extern "system" fn Invoke<
37465 Identity: ICoreWebView2StatusBarTextChangedEventHandler_Impl,
37466 const OFFSET: isize,
37467 >(
37468 this: *mut core::ffi::c_void,
37469 sender: *mut core::ffi::c_void,
37470 args: *mut core::ffi::c_void,
37471 ) -> windows_core::HRESULT {
37472 unsafe {
37473 let this: &Identity =
37474 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37475 ICoreWebView2StatusBarTextChangedEventHandler_Impl::Invoke(
37476 this,
37477 core::mem::transmute_copy(&sender),
37478 core::mem::transmute_copy(&args),
37479 )
37480 .into()
37481 }
37482 }
37483 Self {
37484 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37485 Invoke: Invoke::<Identity, OFFSET>,
37486 }
37487 }
37488 pub fn matches(iid: &windows_core::GUID) -> bool {
37489 iid == &<ICoreWebView2StatusBarTextChangedEventHandler as windows_core::Interface>::IID
37490 }
37491}
37492impl windows_core::RuntimeName for ICoreWebView2StatusBarTextChangedEventHandler {}
37493windows_core::imp::define_interface!(
37494 ICoreWebView2StringCollection,
37495 ICoreWebView2StringCollection_Vtbl,
37496 0xf41f3f8a_bcc3_11eb_8529_0242ac130003
37497);
37498windows_core::imp::interface_hierarchy!(ICoreWebView2StringCollection, windows_core::IUnknown);
37499impl ICoreWebView2StringCollection {
37500 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
37501 unsafe {
37502 (windows_core::Interface::vtable(self).Count)(
37503 windows_core::Interface::as_raw(self),
37504 value as _,
37505 )
37506 .ok()
37507 }
37508 }
37509 pub unsafe fn GetValueAtIndex(
37510 &self,
37511 index: u32,
37512 value: *mut windows_core::PWSTR,
37513 ) -> windows_core::Result<()> {
37514 unsafe {
37515 (windows_core::Interface::vtable(self).GetValueAtIndex)(
37516 windows_core::Interface::as_raw(self),
37517 index,
37518 value as _,
37519 )
37520 .ok()
37521 }
37522 }
37523}
37524#[repr(C)]
37525#[doc(hidden)]
37526pub struct ICoreWebView2StringCollection_Vtbl {
37527 pub base__: windows_core::IUnknown_Vtbl,
37528 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
37529 pub GetValueAtIndex: unsafe extern "system" fn(
37530 *mut core::ffi::c_void,
37531 u32,
37532 *mut windows_core::PWSTR,
37533 ) -> windows_core::HRESULT,
37534}
37535pub trait ICoreWebView2StringCollection_Impl: windows_core::IUnknownImpl {
37536 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
37537 fn GetValueAtIndex(
37538 &self,
37539 index: u32,
37540 value: *mut windows_core::PWSTR,
37541 ) -> windows_core::Result<()>;
37542}
37543impl ICoreWebView2StringCollection_Vtbl {
37544 pub const fn new<Identity: ICoreWebView2StringCollection_Impl, const OFFSET: isize>() -> Self {
37545 unsafe extern "system" fn Count<
37546 Identity: ICoreWebView2StringCollection_Impl,
37547 const OFFSET: isize,
37548 >(
37549 this: *mut core::ffi::c_void,
37550 value: *mut u32,
37551 ) -> windows_core::HRESULT {
37552 unsafe {
37553 let this: &Identity =
37554 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37555 ICoreWebView2StringCollection_Impl::Count(this, core::mem::transmute_copy(&value))
37556 .into()
37557 }
37558 }
37559 unsafe extern "system" fn GetValueAtIndex<
37560 Identity: ICoreWebView2StringCollection_Impl,
37561 const OFFSET: isize,
37562 >(
37563 this: *mut core::ffi::c_void,
37564 index: u32,
37565 value: *mut windows_core::PWSTR,
37566 ) -> windows_core::HRESULT {
37567 unsafe {
37568 let this: &Identity =
37569 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37570 ICoreWebView2StringCollection_Impl::GetValueAtIndex(
37571 this,
37572 core::mem::transmute_copy(&index),
37573 core::mem::transmute_copy(&value),
37574 )
37575 .into()
37576 }
37577 }
37578 Self {
37579 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37580 Count: Count::<Identity, OFFSET>,
37581 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
37582 }
37583 }
37584 pub fn matches(iid: &windows_core::GUID) -> bool {
37585 iid == &<ICoreWebView2StringCollection as windows_core::Interface>::IID
37586 }
37587}
37588impl windows_core::RuntimeName for ICoreWebView2StringCollection {}
37589windows_core::imp::define_interface!(
37590 ICoreWebView2TrySuspendCompletedHandler,
37591 ICoreWebView2TrySuspendCompletedHandler_Vtbl,
37592 0x00f206a7_9d17_4605_91f6_4e8e4de192e3
37593);
37594windows_core::imp::interface_hierarchy!(
37595 ICoreWebView2TrySuspendCompletedHandler,
37596 windows_core::IUnknown
37597);
37598impl ICoreWebView2TrySuspendCompletedHandler {
37599 pub unsafe fn Invoke(
37600 &self,
37601 errorcode: windows_core::HRESULT,
37602 result: bool,
37603 ) -> windows_core::Result<()> {
37604 unsafe {
37605 (windows_core::Interface::vtable(self).Invoke)(
37606 windows_core::Interface::as_raw(self),
37607 errorcode,
37608 result.into(),
37609 )
37610 .ok()
37611 }
37612 }
37613}
37614#[repr(C)]
37615#[doc(hidden)]
37616pub struct ICoreWebView2TrySuspendCompletedHandler_Vtbl {
37617 pub base__: windows_core::IUnknown_Vtbl,
37618 pub Invoke: unsafe extern "system" fn(
37619 *mut core::ffi::c_void,
37620 windows_core::HRESULT,
37621 windows_core::BOOL,
37622 ) -> windows_core::HRESULT,
37623}
37624pub trait ICoreWebView2TrySuspendCompletedHandler_Impl: windows_core::IUnknownImpl {
37625 fn Invoke(
37626 &self,
37627 errorcode: windows_core::HRESULT,
37628 result: windows_core::BOOL,
37629 ) -> windows_core::Result<()>;
37630}
37631impl ICoreWebView2TrySuspendCompletedHandler_Vtbl {
37632 pub const fn new<
37633 Identity: ICoreWebView2TrySuspendCompletedHandler_Impl,
37634 const OFFSET: isize,
37635 >() -> Self {
37636 unsafe extern "system" fn Invoke<
37637 Identity: ICoreWebView2TrySuspendCompletedHandler_Impl,
37638 const OFFSET: isize,
37639 >(
37640 this: *mut core::ffi::c_void,
37641 errorcode: windows_core::HRESULT,
37642 result: windows_core::BOOL,
37643 ) -> windows_core::HRESULT {
37644 unsafe {
37645 let this: &Identity =
37646 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37647 ICoreWebView2TrySuspendCompletedHandler_Impl::Invoke(
37648 this,
37649 core::mem::transmute_copy(&errorcode),
37650 core::mem::transmute_copy(&result),
37651 )
37652 .into()
37653 }
37654 }
37655 Self {
37656 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37657 Invoke: Invoke::<Identity, OFFSET>,
37658 }
37659 }
37660 pub fn matches(iid: &windows_core::GUID) -> bool {
37661 iid == &<ICoreWebView2TrySuspendCompletedHandler as windows_core::Interface>::IID
37662 }
37663}
37664impl windows_core::RuntimeName for ICoreWebView2TrySuspendCompletedHandler {}
37665windows_core::imp::define_interface!(
37666 ICoreWebView2WebMessageReceivedEventArgs,
37667 ICoreWebView2WebMessageReceivedEventArgs_Vtbl,
37668 0x0f99a40c_e962_4207_9e92_e3d542eff849
37669);
37670windows_core::imp::interface_hierarchy!(
37671 ICoreWebView2WebMessageReceivedEventArgs,
37672 windows_core::IUnknown
37673);
37674impl ICoreWebView2WebMessageReceivedEventArgs {
37675 pub unsafe fn Source(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
37676 unsafe {
37677 (windows_core::Interface::vtable(self).Source)(
37678 windows_core::Interface::as_raw(self),
37679 value as _,
37680 )
37681 .ok()
37682 }
37683 }
37684 pub unsafe fn WebMessageAsJson(
37685 &self,
37686 value: *mut windows_core::PWSTR,
37687 ) -> windows_core::Result<()> {
37688 unsafe {
37689 (windows_core::Interface::vtable(self).WebMessageAsJson)(
37690 windows_core::Interface::as_raw(self),
37691 value as _,
37692 )
37693 .ok()
37694 }
37695 }
37696 pub unsafe fn TryGetWebMessageAsString(
37697 &self,
37698 value: *mut windows_core::PWSTR,
37699 ) -> windows_core::Result<()> {
37700 unsafe {
37701 (windows_core::Interface::vtable(self).TryGetWebMessageAsString)(
37702 windows_core::Interface::as_raw(self),
37703 value as _,
37704 )
37705 .ok()
37706 }
37707 }
37708}
37709#[repr(C)]
37710#[doc(hidden)]
37711pub struct ICoreWebView2WebMessageReceivedEventArgs_Vtbl {
37712 pub base__: windows_core::IUnknown_Vtbl,
37713 pub Source: unsafe extern "system" fn(
37714 *mut core::ffi::c_void,
37715 *mut windows_core::PWSTR,
37716 ) -> windows_core::HRESULT,
37717 pub WebMessageAsJson: unsafe extern "system" fn(
37718 *mut core::ffi::c_void,
37719 *mut windows_core::PWSTR,
37720 ) -> windows_core::HRESULT,
37721 pub TryGetWebMessageAsString: unsafe extern "system" fn(
37722 *mut core::ffi::c_void,
37723 *mut windows_core::PWSTR,
37724 ) -> windows_core::HRESULT,
37725}
37726pub trait ICoreWebView2WebMessageReceivedEventArgs_Impl: windows_core::IUnknownImpl {
37727 fn Source(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
37728 fn WebMessageAsJson(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
37729 fn TryGetWebMessageAsString(&self, value: *mut windows_core::PWSTR)
37730 -> windows_core::Result<()>;
37731}
37732impl ICoreWebView2WebMessageReceivedEventArgs_Vtbl {
37733 pub const fn new<
37734 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
37735 const OFFSET: isize,
37736 >() -> Self {
37737 unsafe extern "system" fn Source<
37738 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
37739 const OFFSET: isize,
37740 >(
37741 this: *mut core::ffi::c_void,
37742 value: *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 ICoreWebView2WebMessageReceivedEventArgs_Impl::Source(
37748 this,
37749 core::mem::transmute_copy(&value),
37750 )
37751 .into()
37752 }
37753 }
37754 unsafe extern "system" fn WebMessageAsJson<
37755 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
37756 const OFFSET: isize,
37757 >(
37758 this: *mut core::ffi::c_void,
37759 value: *mut windows_core::PWSTR,
37760 ) -> windows_core::HRESULT {
37761 unsafe {
37762 let this: &Identity =
37763 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37764 ICoreWebView2WebMessageReceivedEventArgs_Impl::WebMessageAsJson(
37765 this,
37766 core::mem::transmute_copy(&value),
37767 )
37768 .into()
37769 }
37770 }
37771 unsafe extern "system" fn TryGetWebMessageAsString<
37772 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
37773 const OFFSET: isize,
37774 >(
37775 this: *mut core::ffi::c_void,
37776 value: *mut windows_core::PWSTR,
37777 ) -> windows_core::HRESULT {
37778 unsafe {
37779 let this: &Identity =
37780 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37781 ICoreWebView2WebMessageReceivedEventArgs_Impl::TryGetWebMessageAsString(
37782 this,
37783 core::mem::transmute_copy(&value),
37784 )
37785 .into()
37786 }
37787 }
37788 Self {
37789 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37790 Source: Source::<Identity, OFFSET>,
37791 WebMessageAsJson: WebMessageAsJson::<Identity, OFFSET>,
37792 TryGetWebMessageAsString: TryGetWebMessageAsString::<Identity, OFFSET>,
37793 }
37794 }
37795 pub fn matches(iid: &windows_core::GUID) -> bool {
37796 iid == &<ICoreWebView2WebMessageReceivedEventArgs as windows_core::Interface>::IID
37797 }
37798}
37799impl windows_core::RuntimeName for ICoreWebView2WebMessageReceivedEventArgs {}
37800windows_core::imp::define_interface!(
37801 ICoreWebView2WebMessageReceivedEventArgs2,
37802 ICoreWebView2WebMessageReceivedEventArgs2_Vtbl,
37803 0x06fc7ab7_c90c_4297_9389_33ca01cf6d5e
37804);
37805impl core::ops::Deref for ICoreWebView2WebMessageReceivedEventArgs2 {
37806 type Target = ICoreWebView2WebMessageReceivedEventArgs;
37807 fn deref(&self) -> &Self::Target {
37808 unsafe { core::mem::transmute(self) }
37809 }
37810}
37811windows_core::imp::interface_hierarchy!(
37812 ICoreWebView2WebMessageReceivedEventArgs2,
37813 windows_core::IUnknown,
37814 ICoreWebView2WebMessageReceivedEventArgs
37815);
37816impl ICoreWebView2WebMessageReceivedEventArgs2 {
37817 pub unsafe fn AdditionalObjects(
37818 &self,
37819 ) -> windows_core::Result<ICoreWebView2ObjectCollectionView> {
37820 unsafe {
37821 let mut result__ = core::mem::zeroed();
37822 (windows_core::Interface::vtable(self).AdditionalObjects)(
37823 windows_core::Interface::as_raw(self),
37824 &mut result__,
37825 )
37826 .and_then(|| windows_core::Type::from_abi(result__))
37827 }
37828 }
37829}
37830#[repr(C)]
37831#[doc(hidden)]
37832pub struct ICoreWebView2WebMessageReceivedEventArgs2_Vtbl {
37833 pub base__: ICoreWebView2WebMessageReceivedEventArgs_Vtbl,
37834 pub AdditionalObjects: unsafe extern "system" fn(
37835 *mut core::ffi::c_void,
37836 *mut *mut core::ffi::c_void,
37837 ) -> windows_core::HRESULT,
37838}
37839pub trait ICoreWebView2WebMessageReceivedEventArgs2_Impl:
37840 ICoreWebView2WebMessageReceivedEventArgs_Impl
37841{
37842 fn AdditionalObjects(&self) -> windows_core::Result<ICoreWebView2ObjectCollectionView>;
37843}
37844impl ICoreWebView2WebMessageReceivedEventArgs2_Vtbl {
37845 pub const fn new<
37846 Identity: ICoreWebView2WebMessageReceivedEventArgs2_Impl,
37847 const OFFSET: isize,
37848 >() -> Self {
37849 unsafe extern "system" fn AdditionalObjects<
37850 Identity: ICoreWebView2WebMessageReceivedEventArgs2_Impl,
37851 const OFFSET: isize,
37852 >(
37853 this: *mut core::ffi::c_void,
37854 value: *mut *mut core::ffi::c_void,
37855 ) -> windows_core::HRESULT {
37856 unsafe {
37857 let this: &Identity =
37858 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37859 match ICoreWebView2WebMessageReceivedEventArgs2_Impl::AdditionalObjects(this) {
37860 Ok(ok__) => {
37861 value.write(core::mem::transmute(ok__));
37862 windows_core::HRESULT(0)
37863 }
37864 Err(err) => err.into(),
37865 }
37866 }
37867 }
37868 Self {
37869 base__: ICoreWebView2WebMessageReceivedEventArgs_Vtbl::new::<Identity, OFFSET>(),
37870 AdditionalObjects: AdditionalObjects::<Identity, OFFSET>,
37871 }
37872 }
37873 pub fn matches(iid: &windows_core::GUID) -> bool {
37874 iid == &<ICoreWebView2WebMessageReceivedEventArgs2 as windows_core::Interface>::IID
37875 || iid == &<ICoreWebView2WebMessageReceivedEventArgs as windows_core::Interface>::IID
37876 }
37877}
37878impl windows_core::RuntimeName for ICoreWebView2WebMessageReceivedEventArgs2 {}
37879windows_core::imp::define_interface!(
37880 ICoreWebView2WebMessageReceivedEventHandler,
37881 ICoreWebView2WebMessageReceivedEventHandler_Vtbl,
37882 0x57213f19_00e6_49fa_8e07_898ea01ecbd2
37883);
37884windows_core::imp::interface_hierarchy!(
37885 ICoreWebView2WebMessageReceivedEventHandler,
37886 windows_core::IUnknown
37887);
37888impl ICoreWebView2WebMessageReceivedEventHandler {
37889 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
37890 where
37891 P0: windows_core::Param<ICoreWebView2>,
37892 P1: windows_core::Param<ICoreWebView2WebMessageReceivedEventArgs>,
37893 {
37894 unsafe {
37895 (windows_core::Interface::vtable(self).Invoke)(
37896 windows_core::Interface::as_raw(self),
37897 sender.param().abi(),
37898 args.param().abi(),
37899 )
37900 .ok()
37901 }
37902 }
37903}
37904#[repr(C)]
37905#[doc(hidden)]
37906pub struct ICoreWebView2WebMessageReceivedEventHandler_Vtbl {
37907 pub base__: windows_core::IUnknown_Vtbl,
37908 pub Invoke: unsafe extern "system" fn(
37909 *mut core::ffi::c_void,
37910 *mut core::ffi::c_void,
37911 *mut core::ffi::c_void,
37912 ) -> windows_core::HRESULT,
37913}
37914pub trait ICoreWebView2WebMessageReceivedEventHandler_Impl: windows_core::IUnknownImpl {
37915 fn Invoke(
37916 &self,
37917 sender: windows_core::Ref<ICoreWebView2>,
37918 args: windows_core::Ref<ICoreWebView2WebMessageReceivedEventArgs>,
37919 ) -> windows_core::Result<()>;
37920}
37921impl ICoreWebView2WebMessageReceivedEventHandler_Vtbl {
37922 pub const fn new<
37923 Identity: ICoreWebView2WebMessageReceivedEventHandler_Impl,
37924 const OFFSET: isize,
37925 >() -> Self {
37926 unsafe extern "system" fn Invoke<
37927 Identity: ICoreWebView2WebMessageReceivedEventHandler_Impl,
37928 const OFFSET: isize,
37929 >(
37930 this: *mut core::ffi::c_void,
37931 sender: *mut core::ffi::c_void,
37932 args: *mut core::ffi::c_void,
37933 ) -> windows_core::HRESULT {
37934 unsafe {
37935 let this: &Identity =
37936 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37937 ICoreWebView2WebMessageReceivedEventHandler_Impl::Invoke(
37938 this,
37939 core::mem::transmute_copy(&sender),
37940 core::mem::transmute_copy(&args),
37941 )
37942 .into()
37943 }
37944 }
37945 Self {
37946 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37947 Invoke: Invoke::<Identity, OFFSET>,
37948 }
37949 }
37950 pub fn matches(iid: &windows_core::GUID) -> bool {
37951 iid == &<ICoreWebView2WebMessageReceivedEventHandler as windows_core::Interface>::IID
37952 }
37953}
37954impl windows_core::RuntimeName for ICoreWebView2WebMessageReceivedEventHandler {}
37955windows_core::imp::define_interface!(
37956 ICoreWebView2WebResourceRequest,
37957 ICoreWebView2WebResourceRequest_Vtbl,
37958 0x97055cd4_512c_4264_8b5f_e3f446cea6a5
37959);
37960windows_core::imp::interface_hierarchy!(ICoreWebView2WebResourceRequest, windows_core::IUnknown);
37961impl ICoreWebView2WebResourceRequest {
37962 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
37963 unsafe {
37964 (windows_core::Interface::vtable(self).Uri)(
37965 windows_core::Interface::as_raw(self),
37966 uri as _,
37967 )
37968 .ok()
37969 }
37970 }
37971 pub unsafe fn SetUri<P0>(&self, uri: P0) -> windows_core::Result<()>
37972 where
37973 P0: windows_core::Param<windows_core::PCWSTR>,
37974 {
37975 unsafe {
37976 (windows_core::Interface::vtable(self).SetUri)(
37977 windows_core::Interface::as_raw(self),
37978 uri.param().abi(),
37979 )
37980 .ok()
37981 }
37982 }
37983 pub unsafe fn Method(&self, method: *mut windows_core::PWSTR) -> windows_core::Result<()> {
37984 unsafe {
37985 (windows_core::Interface::vtable(self).Method)(
37986 windows_core::Interface::as_raw(self),
37987 method as _,
37988 )
37989 .ok()
37990 }
37991 }
37992 pub unsafe fn SetMethod<P0>(&self, method: P0) -> windows_core::Result<()>
37993 where
37994 P0: windows_core::Param<windows_core::PCWSTR>,
37995 {
37996 unsafe {
37997 (windows_core::Interface::vtable(self).SetMethod)(
37998 windows_core::Interface::as_raw(self),
37999 method.param().abi(),
38000 )
38001 .ok()
38002 }
38003 }
38004 pub unsafe fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
38005 unsafe {
38006 let mut result__ = core::mem::zeroed();
38007 (windows_core::Interface::vtable(self).Content)(
38008 windows_core::Interface::as_raw(self),
38009 &mut result__,
38010 )
38011 .and_then(|| windows_core::Type::from_abi(result__))
38012 }
38013 }
38014 pub unsafe fn SetContent<P0>(&self, content: P0) -> windows_core::Result<()>
38015 where
38016 P0: windows_core::Param<windows::Win32::System::Com::IStream>,
38017 {
38018 unsafe {
38019 (windows_core::Interface::vtable(self).SetContent)(
38020 windows_core::Interface::as_raw(self),
38021 content.param().abi(),
38022 )
38023 .ok()
38024 }
38025 }
38026 pub unsafe fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders> {
38027 unsafe {
38028 let mut result__ = core::mem::zeroed();
38029 (windows_core::Interface::vtable(self).Headers)(
38030 windows_core::Interface::as_raw(self),
38031 &mut result__,
38032 )
38033 .and_then(|| windows_core::Type::from_abi(result__))
38034 }
38035 }
38036}
38037#[repr(C)]
38038#[doc(hidden)]
38039pub struct ICoreWebView2WebResourceRequest_Vtbl {
38040 pub base__: windows_core::IUnknown_Vtbl,
38041 pub Uri: unsafe extern "system" fn(
38042 *mut core::ffi::c_void,
38043 *mut windows_core::PWSTR,
38044 ) -> windows_core::HRESULT,
38045 pub SetUri: unsafe extern "system" fn(
38046 *mut core::ffi::c_void,
38047 windows_core::PCWSTR,
38048 ) -> windows_core::HRESULT,
38049 pub Method: unsafe extern "system" fn(
38050 *mut core::ffi::c_void,
38051 *mut windows_core::PWSTR,
38052 ) -> windows_core::HRESULT,
38053 pub SetMethod: unsafe extern "system" fn(
38054 *mut core::ffi::c_void,
38055 windows_core::PCWSTR,
38056 ) -> windows_core::HRESULT,
38057 pub Content: unsafe extern "system" fn(
38058 *mut core::ffi::c_void,
38059 *mut *mut core::ffi::c_void,
38060 ) -> windows_core::HRESULT,
38061 pub SetContent: unsafe extern "system" fn(
38062 *mut core::ffi::c_void,
38063 *mut core::ffi::c_void,
38064 ) -> windows_core::HRESULT,
38065 pub Headers: unsafe extern "system" fn(
38066 *mut core::ffi::c_void,
38067 *mut *mut core::ffi::c_void,
38068 ) -> windows_core::HRESULT,
38069}
38070pub trait ICoreWebView2WebResourceRequest_Impl: windows_core::IUnknownImpl {
38071 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
38072 fn SetUri(&self, uri: &windows_core::PCWSTR) -> windows_core::Result<()>;
38073 fn Method(&self, method: *mut windows_core::PWSTR) -> windows_core::Result<()>;
38074 fn SetMethod(&self, method: &windows_core::PCWSTR) -> windows_core::Result<()>;
38075 fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
38076 fn SetContent(
38077 &self,
38078 content: windows_core::Ref<windows::Win32::System::Com::IStream>,
38079 ) -> windows_core::Result<()>;
38080 fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders>;
38081}
38082impl ICoreWebView2WebResourceRequest_Vtbl {
38083 pub const fn new<Identity: ICoreWebView2WebResourceRequest_Impl, const OFFSET: isize>() -> Self
38084 {
38085 unsafe extern "system" fn Uri<
38086 Identity: ICoreWebView2WebResourceRequest_Impl,
38087 const OFFSET: isize,
38088 >(
38089 this: *mut core::ffi::c_void,
38090 uri: *mut windows_core::PWSTR,
38091 ) -> windows_core::HRESULT {
38092 unsafe {
38093 let this: &Identity =
38094 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38095 ICoreWebView2WebResourceRequest_Impl::Uri(this, core::mem::transmute_copy(&uri))
38096 .into()
38097 }
38098 }
38099 unsafe extern "system" fn SetUri<
38100 Identity: ICoreWebView2WebResourceRequest_Impl,
38101 const OFFSET: isize,
38102 >(
38103 this: *mut core::ffi::c_void,
38104 uri: windows_core::PCWSTR,
38105 ) -> windows_core::HRESULT {
38106 unsafe {
38107 let this: &Identity =
38108 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38109 ICoreWebView2WebResourceRequest_Impl::SetUri(this, core::mem::transmute(&uri))
38110 .into()
38111 }
38112 }
38113 unsafe extern "system" fn Method<
38114 Identity: ICoreWebView2WebResourceRequest_Impl,
38115 const OFFSET: isize,
38116 >(
38117 this: *mut core::ffi::c_void,
38118 method: *mut windows_core::PWSTR,
38119 ) -> windows_core::HRESULT {
38120 unsafe {
38121 let this: &Identity =
38122 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38123 ICoreWebView2WebResourceRequest_Impl::Method(
38124 this,
38125 core::mem::transmute_copy(&method),
38126 )
38127 .into()
38128 }
38129 }
38130 unsafe extern "system" fn SetMethod<
38131 Identity: ICoreWebView2WebResourceRequest_Impl,
38132 const OFFSET: isize,
38133 >(
38134 this: *mut core::ffi::c_void,
38135 method: windows_core::PCWSTR,
38136 ) -> windows_core::HRESULT {
38137 unsafe {
38138 let this: &Identity =
38139 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38140 ICoreWebView2WebResourceRequest_Impl::SetMethod(this, core::mem::transmute(&method))
38141 .into()
38142 }
38143 }
38144 unsafe extern "system" fn Content<
38145 Identity: ICoreWebView2WebResourceRequest_Impl,
38146 const OFFSET: isize,
38147 >(
38148 this: *mut core::ffi::c_void,
38149 content: *mut *mut core::ffi::c_void,
38150 ) -> windows_core::HRESULT {
38151 unsafe {
38152 let this: &Identity =
38153 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38154 match ICoreWebView2WebResourceRequest_Impl::Content(this) {
38155 Ok(ok__) => {
38156 content.write(core::mem::transmute(ok__));
38157 windows_core::HRESULT(0)
38158 }
38159 Err(err) => err.into(),
38160 }
38161 }
38162 }
38163 unsafe extern "system" fn SetContent<
38164 Identity: ICoreWebView2WebResourceRequest_Impl,
38165 const OFFSET: isize,
38166 >(
38167 this: *mut core::ffi::c_void,
38168 content: *mut core::ffi::c_void,
38169 ) -> windows_core::HRESULT {
38170 unsafe {
38171 let this: &Identity =
38172 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38173 ICoreWebView2WebResourceRequest_Impl::SetContent(
38174 this,
38175 core::mem::transmute_copy(&content),
38176 )
38177 .into()
38178 }
38179 }
38180 unsafe extern "system" fn Headers<
38181 Identity: ICoreWebView2WebResourceRequest_Impl,
38182 const OFFSET: isize,
38183 >(
38184 this: *mut core::ffi::c_void,
38185 headers: *mut *mut core::ffi::c_void,
38186 ) -> windows_core::HRESULT {
38187 unsafe {
38188 let this: &Identity =
38189 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38190 match ICoreWebView2WebResourceRequest_Impl::Headers(this) {
38191 Ok(ok__) => {
38192 headers.write(core::mem::transmute(ok__));
38193 windows_core::HRESULT(0)
38194 }
38195 Err(err) => err.into(),
38196 }
38197 }
38198 }
38199 Self {
38200 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
38201 Uri: Uri::<Identity, OFFSET>,
38202 SetUri: SetUri::<Identity, OFFSET>,
38203 Method: Method::<Identity, OFFSET>,
38204 SetMethod: SetMethod::<Identity, OFFSET>,
38205 Content: Content::<Identity, OFFSET>,
38206 SetContent: SetContent::<Identity, OFFSET>,
38207 Headers: Headers::<Identity, OFFSET>,
38208 }
38209 }
38210 pub fn matches(iid: &windows_core::GUID) -> bool {
38211 iid == &<ICoreWebView2WebResourceRequest as windows_core::Interface>::IID
38212 }
38213}
38214impl windows_core::RuntimeName for ICoreWebView2WebResourceRequest {}
38215windows_core::imp::define_interface!(
38216 ICoreWebView2WebResourceRequestedEventArgs,
38217 ICoreWebView2WebResourceRequestedEventArgs_Vtbl,
38218 0x453e667f_12c7_49d4_be6d_ddbe7956f57a
38219);
38220windows_core::imp::interface_hierarchy!(
38221 ICoreWebView2WebResourceRequestedEventArgs,
38222 windows_core::IUnknown
38223);
38224impl ICoreWebView2WebResourceRequestedEventArgs {
38225 pub unsafe fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest> {
38226 unsafe {
38227 let mut result__ = core::mem::zeroed();
38228 (windows_core::Interface::vtable(self).Request)(
38229 windows_core::Interface::as_raw(self),
38230 &mut result__,
38231 )
38232 .and_then(|| windows_core::Type::from_abi(result__))
38233 }
38234 }
38235 pub unsafe fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponse> {
38236 unsafe {
38237 let mut result__ = core::mem::zeroed();
38238 (windows_core::Interface::vtable(self).Response)(
38239 windows_core::Interface::as_raw(self),
38240 &mut result__,
38241 )
38242 .and_then(|| windows_core::Type::from_abi(result__))
38243 }
38244 }
38245 pub unsafe fn SetResponse<P0>(&self, response: P0) -> windows_core::Result<()>
38246 where
38247 P0: windows_core::Param<ICoreWebView2WebResourceResponse>,
38248 {
38249 unsafe {
38250 (windows_core::Interface::vtable(self).SetResponse)(
38251 windows_core::Interface::as_raw(self),
38252 response.param().abi(),
38253 )
38254 .ok()
38255 }
38256 }
38257 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
38258 unsafe {
38259 let mut result__ = core::mem::zeroed();
38260 (windows_core::Interface::vtable(self).GetDeferral)(
38261 windows_core::Interface::as_raw(self),
38262 &mut result__,
38263 )
38264 .and_then(|| windows_core::Type::from_abi(result__))
38265 }
38266 }
38267 pub unsafe fn ResourceContext(
38268 &self,
38269 context: *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
38270 ) -> windows_core::Result<()> {
38271 unsafe {
38272 (windows_core::Interface::vtable(self).ResourceContext)(
38273 windows_core::Interface::as_raw(self),
38274 context as _,
38275 )
38276 .ok()
38277 }
38278 }
38279}
38280#[repr(C)]
38281#[doc(hidden)]
38282pub struct ICoreWebView2WebResourceRequestedEventArgs_Vtbl {
38283 pub base__: windows_core::IUnknown_Vtbl,
38284 pub Request: unsafe extern "system" fn(
38285 *mut core::ffi::c_void,
38286 *mut *mut core::ffi::c_void,
38287 ) -> windows_core::HRESULT,
38288 pub Response: unsafe extern "system" fn(
38289 *mut core::ffi::c_void,
38290 *mut *mut core::ffi::c_void,
38291 ) -> windows_core::HRESULT,
38292 pub SetResponse: unsafe extern "system" fn(
38293 *mut core::ffi::c_void,
38294 *mut core::ffi::c_void,
38295 ) -> windows_core::HRESULT,
38296 pub GetDeferral: unsafe extern "system" fn(
38297 *mut core::ffi::c_void,
38298 *mut *mut core::ffi::c_void,
38299 ) -> windows_core::HRESULT,
38300 pub ResourceContext: unsafe extern "system" fn(
38301 *mut core::ffi::c_void,
38302 *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
38303 ) -> windows_core::HRESULT,
38304}
38305pub trait ICoreWebView2WebResourceRequestedEventArgs_Impl: windows_core::IUnknownImpl {
38306 fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest>;
38307 fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponse>;
38308 fn SetResponse(
38309 &self,
38310 response: windows_core::Ref<ICoreWebView2WebResourceResponse>,
38311 ) -> windows_core::Result<()>;
38312 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
38313 fn ResourceContext(
38314 &self,
38315 context: *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
38316 ) -> windows_core::Result<()>;
38317}
38318impl ICoreWebView2WebResourceRequestedEventArgs_Vtbl {
38319 pub const fn new<
38320 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
38321 const OFFSET: isize,
38322 >() -> Self {
38323 unsafe extern "system" fn Request<
38324 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
38325 const OFFSET: isize,
38326 >(
38327 this: *mut core::ffi::c_void,
38328 request: *mut *mut core::ffi::c_void,
38329 ) -> windows_core::HRESULT {
38330 unsafe {
38331 let this: &Identity =
38332 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38333 match ICoreWebView2WebResourceRequestedEventArgs_Impl::Request(this) {
38334 Ok(ok__) => {
38335 request.write(core::mem::transmute(ok__));
38336 windows_core::HRESULT(0)
38337 }
38338 Err(err) => err.into(),
38339 }
38340 }
38341 }
38342 unsafe extern "system" fn Response<
38343 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
38344 const OFFSET: isize,
38345 >(
38346 this: *mut core::ffi::c_void,
38347 response: *mut *mut core::ffi::c_void,
38348 ) -> windows_core::HRESULT {
38349 unsafe {
38350 let this: &Identity =
38351 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38352 match ICoreWebView2WebResourceRequestedEventArgs_Impl::Response(this) {
38353 Ok(ok__) => {
38354 response.write(core::mem::transmute(ok__));
38355 windows_core::HRESULT(0)
38356 }
38357 Err(err) => err.into(),
38358 }
38359 }
38360 }
38361 unsafe extern "system" fn SetResponse<
38362 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
38363 const OFFSET: isize,
38364 >(
38365 this: *mut core::ffi::c_void,
38366 response: *mut core::ffi::c_void,
38367 ) -> windows_core::HRESULT {
38368 unsafe {
38369 let this: &Identity =
38370 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38371 ICoreWebView2WebResourceRequestedEventArgs_Impl::SetResponse(
38372 this,
38373 core::mem::transmute_copy(&response),
38374 )
38375 .into()
38376 }
38377 }
38378 unsafe extern "system" fn GetDeferral<
38379 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
38380 const OFFSET: isize,
38381 >(
38382 this: *mut core::ffi::c_void,
38383 deferral: *mut *mut core::ffi::c_void,
38384 ) -> windows_core::HRESULT {
38385 unsafe {
38386 let this: &Identity =
38387 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38388 match ICoreWebView2WebResourceRequestedEventArgs_Impl::GetDeferral(this) {
38389 Ok(ok__) => {
38390 deferral.write(core::mem::transmute(ok__));
38391 windows_core::HRESULT(0)
38392 }
38393 Err(err) => err.into(),
38394 }
38395 }
38396 }
38397 unsafe extern "system" fn ResourceContext<
38398 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
38399 const OFFSET: isize,
38400 >(
38401 this: *mut core::ffi::c_void,
38402 context: *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
38403 ) -> windows_core::HRESULT {
38404 unsafe {
38405 let this: &Identity =
38406 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38407 ICoreWebView2WebResourceRequestedEventArgs_Impl::ResourceContext(
38408 this,
38409 core::mem::transmute_copy(&context),
38410 )
38411 .into()
38412 }
38413 }
38414 Self {
38415 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
38416 Request: Request::<Identity, OFFSET>,
38417 Response: Response::<Identity, OFFSET>,
38418 SetResponse: SetResponse::<Identity, OFFSET>,
38419 GetDeferral: GetDeferral::<Identity, OFFSET>,
38420 ResourceContext: ResourceContext::<Identity, OFFSET>,
38421 }
38422 }
38423 pub fn matches(iid: &windows_core::GUID) -> bool {
38424 iid == &<ICoreWebView2WebResourceRequestedEventArgs as windows_core::Interface>::IID
38425 }
38426}
38427impl windows_core::RuntimeName for ICoreWebView2WebResourceRequestedEventArgs {}
38428windows_core::imp::define_interface!(
38429 ICoreWebView2WebResourceRequestedEventArgs2,
38430 ICoreWebView2WebResourceRequestedEventArgs2_Vtbl,
38431 0x9c562c24_b219_4d7f_92f6_b187fbbadd56
38432);
38433impl core::ops::Deref for ICoreWebView2WebResourceRequestedEventArgs2 {
38434 type Target = ICoreWebView2WebResourceRequestedEventArgs;
38435 fn deref(&self) -> &Self::Target {
38436 unsafe { core::mem::transmute(self) }
38437 }
38438}
38439windows_core::imp::interface_hierarchy!(
38440 ICoreWebView2WebResourceRequestedEventArgs2,
38441 windows_core::IUnknown,
38442 ICoreWebView2WebResourceRequestedEventArgs
38443);
38444impl ICoreWebView2WebResourceRequestedEventArgs2 {
38445 pub unsafe fn RequestedSourceKind(
38446 &self,
38447 value: *mut COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
38448 ) -> windows_core::Result<()> {
38449 unsafe {
38450 (windows_core::Interface::vtable(self).RequestedSourceKind)(
38451 windows_core::Interface::as_raw(self),
38452 value as _,
38453 )
38454 .ok()
38455 }
38456 }
38457}
38458#[repr(C)]
38459#[doc(hidden)]
38460pub struct ICoreWebView2WebResourceRequestedEventArgs2_Vtbl {
38461 pub base__: ICoreWebView2WebResourceRequestedEventArgs_Vtbl,
38462 pub RequestedSourceKind: unsafe extern "system" fn(
38463 *mut core::ffi::c_void,
38464 *mut COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
38465 ) -> windows_core::HRESULT,
38466}
38467pub trait ICoreWebView2WebResourceRequestedEventArgs2_Impl:
38468 ICoreWebView2WebResourceRequestedEventArgs_Impl
38469{
38470 fn RequestedSourceKind(
38471 &self,
38472 value: *mut COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
38473 ) -> windows_core::Result<()>;
38474}
38475impl ICoreWebView2WebResourceRequestedEventArgs2_Vtbl {
38476 pub const fn new<
38477 Identity: ICoreWebView2WebResourceRequestedEventArgs2_Impl,
38478 const OFFSET: isize,
38479 >() -> Self {
38480 unsafe extern "system" fn RequestedSourceKind<
38481 Identity: ICoreWebView2WebResourceRequestedEventArgs2_Impl,
38482 const OFFSET: isize,
38483 >(
38484 this: *mut core::ffi::c_void,
38485 value: *mut COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
38486 ) -> windows_core::HRESULT {
38487 unsafe {
38488 let this: &Identity =
38489 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38490 ICoreWebView2WebResourceRequestedEventArgs2_Impl::RequestedSourceKind(
38491 this,
38492 core::mem::transmute_copy(&value),
38493 )
38494 .into()
38495 }
38496 }
38497 Self {
38498 base__: ICoreWebView2WebResourceRequestedEventArgs_Vtbl::new::<Identity, OFFSET>(),
38499 RequestedSourceKind: RequestedSourceKind::<Identity, OFFSET>,
38500 }
38501 }
38502 pub fn matches(iid: &windows_core::GUID) -> bool {
38503 iid == &<ICoreWebView2WebResourceRequestedEventArgs2 as windows_core::Interface>::IID
38504 || iid == &<ICoreWebView2WebResourceRequestedEventArgs as windows_core::Interface>::IID
38505 }
38506}
38507impl windows_core::RuntimeName for ICoreWebView2WebResourceRequestedEventArgs2 {}
38508windows_core::imp::define_interface!(
38509 ICoreWebView2WebResourceRequestedEventHandler,
38510 ICoreWebView2WebResourceRequestedEventHandler_Vtbl,
38511 0xab00b74c_15f1_4646_80e8_e76341d25d71
38512);
38513windows_core::imp::interface_hierarchy!(
38514 ICoreWebView2WebResourceRequestedEventHandler,
38515 windows_core::IUnknown
38516);
38517impl ICoreWebView2WebResourceRequestedEventHandler {
38518 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
38519 where
38520 P0: windows_core::Param<ICoreWebView2>,
38521 P1: windows_core::Param<ICoreWebView2WebResourceRequestedEventArgs>,
38522 {
38523 unsafe {
38524 (windows_core::Interface::vtable(self).Invoke)(
38525 windows_core::Interface::as_raw(self),
38526 sender.param().abi(),
38527 args.param().abi(),
38528 )
38529 .ok()
38530 }
38531 }
38532}
38533#[repr(C)]
38534#[doc(hidden)]
38535pub struct ICoreWebView2WebResourceRequestedEventHandler_Vtbl {
38536 pub base__: windows_core::IUnknown_Vtbl,
38537 pub Invoke: unsafe extern "system" fn(
38538 *mut core::ffi::c_void,
38539 *mut core::ffi::c_void,
38540 *mut core::ffi::c_void,
38541 ) -> windows_core::HRESULT,
38542}
38543pub trait ICoreWebView2WebResourceRequestedEventHandler_Impl: windows_core::IUnknownImpl {
38544 fn Invoke(
38545 &self,
38546 sender: windows_core::Ref<ICoreWebView2>,
38547 args: windows_core::Ref<ICoreWebView2WebResourceRequestedEventArgs>,
38548 ) -> windows_core::Result<()>;
38549}
38550impl ICoreWebView2WebResourceRequestedEventHandler_Vtbl {
38551 pub const fn new<
38552 Identity: ICoreWebView2WebResourceRequestedEventHandler_Impl,
38553 const OFFSET: isize,
38554 >() -> Self {
38555 unsafe extern "system" fn Invoke<
38556 Identity: ICoreWebView2WebResourceRequestedEventHandler_Impl,
38557 const OFFSET: isize,
38558 >(
38559 this: *mut core::ffi::c_void,
38560 sender: *mut core::ffi::c_void,
38561 args: *mut core::ffi::c_void,
38562 ) -> windows_core::HRESULT {
38563 unsafe {
38564 let this: &Identity =
38565 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38566 ICoreWebView2WebResourceRequestedEventHandler_Impl::Invoke(
38567 this,
38568 core::mem::transmute_copy(&sender),
38569 core::mem::transmute_copy(&args),
38570 )
38571 .into()
38572 }
38573 }
38574 Self {
38575 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
38576 Invoke: Invoke::<Identity, OFFSET>,
38577 }
38578 }
38579 pub fn matches(iid: &windows_core::GUID) -> bool {
38580 iid == &<ICoreWebView2WebResourceRequestedEventHandler as windows_core::Interface>::IID
38581 }
38582}
38583impl windows_core::RuntimeName for ICoreWebView2WebResourceRequestedEventHandler {}
38584windows_core::imp::define_interface!(
38585 ICoreWebView2WebResourceResponse,
38586 ICoreWebView2WebResourceResponse_Vtbl,
38587 0xaafcc94f_fa27_48fd_97df_830ef75aaec9
38588);
38589windows_core::imp::interface_hierarchy!(ICoreWebView2WebResourceResponse, windows_core::IUnknown);
38590impl ICoreWebView2WebResourceResponse {
38591 pub unsafe fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
38592 unsafe {
38593 let mut result__ = core::mem::zeroed();
38594 (windows_core::Interface::vtable(self).Content)(
38595 windows_core::Interface::as_raw(self),
38596 &mut result__,
38597 )
38598 .and_then(|| windows_core::Type::from_abi(result__))
38599 }
38600 }
38601 pub unsafe fn SetContent<P0>(&self, content: P0) -> windows_core::Result<()>
38602 where
38603 P0: windows_core::Param<windows::Win32::System::Com::IStream>,
38604 {
38605 unsafe {
38606 (windows_core::Interface::vtable(self).SetContent)(
38607 windows_core::Interface::as_raw(self),
38608 content.param().abi(),
38609 )
38610 .ok()
38611 }
38612 }
38613 pub unsafe fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders> {
38614 unsafe {
38615 let mut result__ = core::mem::zeroed();
38616 (windows_core::Interface::vtable(self).Headers)(
38617 windows_core::Interface::as_raw(self),
38618 &mut result__,
38619 )
38620 .and_then(|| windows_core::Type::from_abi(result__))
38621 }
38622 }
38623 pub unsafe fn StatusCode(&self, statuscode: *mut i32) -> windows_core::Result<()> {
38624 unsafe {
38625 (windows_core::Interface::vtable(self).StatusCode)(
38626 windows_core::Interface::as_raw(self),
38627 statuscode as _,
38628 )
38629 .ok()
38630 }
38631 }
38632 pub unsafe fn SetStatusCode(&self, statuscode: i32) -> windows_core::Result<()> {
38633 unsafe {
38634 (windows_core::Interface::vtable(self).SetStatusCode)(
38635 windows_core::Interface::as_raw(self),
38636 statuscode,
38637 )
38638 .ok()
38639 }
38640 }
38641 pub unsafe fn ReasonPhrase(
38642 &self,
38643 reasonphrase: *mut windows_core::PWSTR,
38644 ) -> windows_core::Result<()> {
38645 unsafe {
38646 (windows_core::Interface::vtable(self).ReasonPhrase)(
38647 windows_core::Interface::as_raw(self),
38648 reasonphrase as _,
38649 )
38650 .ok()
38651 }
38652 }
38653 pub unsafe fn SetReasonPhrase<P0>(&self, reasonphrase: P0) -> windows_core::Result<()>
38654 where
38655 P0: windows_core::Param<windows_core::PCWSTR>,
38656 {
38657 unsafe {
38658 (windows_core::Interface::vtable(self).SetReasonPhrase)(
38659 windows_core::Interface::as_raw(self),
38660 reasonphrase.param().abi(),
38661 )
38662 .ok()
38663 }
38664 }
38665}
38666#[repr(C)]
38667#[doc(hidden)]
38668pub struct ICoreWebView2WebResourceResponse_Vtbl {
38669 pub base__: windows_core::IUnknown_Vtbl,
38670 pub Content: unsafe extern "system" fn(
38671 *mut core::ffi::c_void,
38672 *mut *mut core::ffi::c_void,
38673 ) -> windows_core::HRESULT,
38674 pub SetContent: unsafe extern "system" fn(
38675 *mut core::ffi::c_void,
38676 *mut core::ffi::c_void,
38677 ) -> windows_core::HRESULT,
38678 pub Headers: unsafe extern "system" fn(
38679 *mut core::ffi::c_void,
38680 *mut *mut core::ffi::c_void,
38681 ) -> windows_core::HRESULT,
38682 pub StatusCode:
38683 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
38684 pub SetStatusCode:
38685 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
38686 pub ReasonPhrase: unsafe extern "system" fn(
38687 *mut core::ffi::c_void,
38688 *mut windows_core::PWSTR,
38689 ) -> windows_core::HRESULT,
38690 pub SetReasonPhrase: unsafe extern "system" fn(
38691 *mut core::ffi::c_void,
38692 windows_core::PCWSTR,
38693 ) -> windows_core::HRESULT,
38694}
38695pub trait ICoreWebView2WebResourceResponse_Impl: windows_core::IUnknownImpl {
38696 fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
38697 fn SetContent(
38698 &self,
38699 content: windows_core::Ref<windows::Win32::System::Com::IStream>,
38700 ) -> windows_core::Result<()>;
38701 fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders>;
38702 fn StatusCode(&self, statuscode: *mut i32) -> windows_core::Result<()>;
38703 fn SetStatusCode(&self, statuscode: i32) -> windows_core::Result<()>;
38704 fn ReasonPhrase(&self, reasonphrase: *mut windows_core::PWSTR) -> windows_core::Result<()>;
38705 fn SetReasonPhrase(&self, reasonphrase: &windows_core::PCWSTR) -> windows_core::Result<()>;
38706}
38707impl ICoreWebView2WebResourceResponse_Vtbl {
38708 pub const fn new<Identity: ICoreWebView2WebResourceResponse_Impl, const OFFSET: isize>() -> Self
38709 {
38710 unsafe extern "system" fn Content<
38711 Identity: ICoreWebView2WebResourceResponse_Impl,
38712 const OFFSET: isize,
38713 >(
38714 this: *mut core::ffi::c_void,
38715 content: *mut *mut core::ffi::c_void,
38716 ) -> windows_core::HRESULT {
38717 unsafe {
38718 let this: &Identity =
38719 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38720 match ICoreWebView2WebResourceResponse_Impl::Content(this) {
38721 Ok(ok__) => {
38722 content.write(core::mem::transmute(ok__));
38723 windows_core::HRESULT(0)
38724 }
38725 Err(err) => err.into(),
38726 }
38727 }
38728 }
38729 unsafe extern "system" fn SetContent<
38730 Identity: ICoreWebView2WebResourceResponse_Impl,
38731 const OFFSET: isize,
38732 >(
38733 this: *mut core::ffi::c_void,
38734 content: *mut core::ffi::c_void,
38735 ) -> windows_core::HRESULT {
38736 unsafe {
38737 let this: &Identity =
38738 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38739 ICoreWebView2WebResourceResponse_Impl::SetContent(
38740 this,
38741 core::mem::transmute_copy(&content),
38742 )
38743 .into()
38744 }
38745 }
38746 unsafe extern "system" fn Headers<
38747 Identity: ICoreWebView2WebResourceResponse_Impl,
38748 const OFFSET: isize,
38749 >(
38750 this: *mut core::ffi::c_void,
38751 headers: *mut *mut core::ffi::c_void,
38752 ) -> windows_core::HRESULT {
38753 unsafe {
38754 let this: &Identity =
38755 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38756 match ICoreWebView2WebResourceResponse_Impl::Headers(this) {
38757 Ok(ok__) => {
38758 headers.write(core::mem::transmute(ok__));
38759 windows_core::HRESULT(0)
38760 }
38761 Err(err) => err.into(),
38762 }
38763 }
38764 }
38765 unsafe extern "system" fn StatusCode<
38766 Identity: ICoreWebView2WebResourceResponse_Impl,
38767 const OFFSET: isize,
38768 >(
38769 this: *mut core::ffi::c_void,
38770 statuscode: *mut i32,
38771 ) -> windows_core::HRESULT {
38772 unsafe {
38773 let this: &Identity =
38774 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38775 ICoreWebView2WebResourceResponse_Impl::StatusCode(
38776 this,
38777 core::mem::transmute_copy(&statuscode),
38778 )
38779 .into()
38780 }
38781 }
38782 unsafe extern "system" fn SetStatusCode<
38783 Identity: ICoreWebView2WebResourceResponse_Impl,
38784 const OFFSET: isize,
38785 >(
38786 this: *mut core::ffi::c_void,
38787 statuscode: i32,
38788 ) -> windows_core::HRESULT {
38789 unsafe {
38790 let this: &Identity =
38791 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38792 ICoreWebView2WebResourceResponse_Impl::SetStatusCode(
38793 this,
38794 core::mem::transmute_copy(&statuscode),
38795 )
38796 .into()
38797 }
38798 }
38799 unsafe extern "system" fn ReasonPhrase<
38800 Identity: ICoreWebView2WebResourceResponse_Impl,
38801 const OFFSET: isize,
38802 >(
38803 this: *mut core::ffi::c_void,
38804 reasonphrase: *mut windows_core::PWSTR,
38805 ) -> windows_core::HRESULT {
38806 unsafe {
38807 let this: &Identity =
38808 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38809 ICoreWebView2WebResourceResponse_Impl::ReasonPhrase(
38810 this,
38811 core::mem::transmute_copy(&reasonphrase),
38812 )
38813 .into()
38814 }
38815 }
38816 unsafe extern "system" fn SetReasonPhrase<
38817 Identity: ICoreWebView2WebResourceResponse_Impl,
38818 const OFFSET: isize,
38819 >(
38820 this: *mut core::ffi::c_void,
38821 reasonphrase: windows_core::PCWSTR,
38822 ) -> windows_core::HRESULT {
38823 unsafe {
38824 let this: &Identity =
38825 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38826 ICoreWebView2WebResourceResponse_Impl::SetReasonPhrase(
38827 this,
38828 core::mem::transmute(&reasonphrase),
38829 )
38830 .into()
38831 }
38832 }
38833 Self {
38834 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
38835 Content: Content::<Identity, OFFSET>,
38836 SetContent: SetContent::<Identity, OFFSET>,
38837 Headers: Headers::<Identity, OFFSET>,
38838 StatusCode: StatusCode::<Identity, OFFSET>,
38839 SetStatusCode: SetStatusCode::<Identity, OFFSET>,
38840 ReasonPhrase: ReasonPhrase::<Identity, OFFSET>,
38841 SetReasonPhrase: SetReasonPhrase::<Identity, OFFSET>,
38842 }
38843 }
38844 pub fn matches(iid: &windows_core::GUID) -> bool {
38845 iid == &<ICoreWebView2WebResourceResponse as windows_core::Interface>::IID
38846 }
38847}
38848impl windows_core::RuntimeName for ICoreWebView2WebResourceResponse {}
38849windows_core::imp::define_interface!(
38850 ICoreWebView2WebResourceResponseReceivedEventArgs,
38851 ICoreWebView2WebResourceResponseReceivedEventArgs_Vtbl,
38852 0xd1db483d_6796_4b8b_80fc_13712bb716f4
38853);
38854windows_core::imp::interface_hierarchy!(
38855 ICoreWebView2WebResourceResponseReceivedEventArgs,
38856 windows_core::IUnknown
38857);
38858impl ICoreWebView2WebResourceResponseReceivedEventArgs {
38859 pub unsafe fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest> {
38860 unsafe {
38861 let mut result__ = core::mem::zeroed();
38862 (windows_core::Interface::vtable(self).Request)(
38863 windows_core::Interface::as_raw(self),
38864 &mut result__,
38865 )
38866 .and_then(|| windows_core::Type::from_abi(result__))
38867 }
38868 }
38869 pub unsafe fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponseView> {
38870 unsafe {
38871 let mut result__ = core::mem::zeroed();
38872 (windows_core::Interface::vtable(self).Response)(
38873 windows_core::Interface::as_raw(self),
38874 &mut result__,
38875 )
38876 .and_then(|| windows_core::Type::from_abi(result__))
38877 }
38878 }
38879}
38880#[repr(C)]
38881#[doc(hidden)]
38882pub struct ICoreWebView2WebResourceResponseReceivedEventArgs_Vtbl {
38883 pub base__: windows_core::IUnknown_Vtbl,
38884 pub Request: unsafe extern "system" fn(
38885 *mut core::ffi::c_void,
38886 *mut *mut core::ffi::c_void,
38887 ) -> windows_core::HRESULT,
38888 pub Response: unsafe extern "system" fn(
38889 *mut core::ffi::c_void,
38890 *mut *mut core::ffi::c_void,
38891 ) -> windows_core::HRESULT,
38892}
38893pub trait ICoreWebView2WebResourceResponseReceivedEventArgs_Impl:
38894 windows_core::IUnknownImpl
38895{
38896 fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest>;
38897 fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponseView>;
38898}
38899impl ICoreWebView2WebResourceResponseReceivedEventArgs_Vtbl {
38900 pub const fn new<
38901 Identity: ICoreWebView2WebResourceResponseReceivedEventArgs_Impl,
38902 const OFFSET: isize,
38903 >() -> Self {
38904 unsafe extern "system" fn Request<
38905 Identity: ICoreWebView2WebResourceResponseReceivedEventArgs_Impl,
38906 const OFFSET: isize,
38907 >(
38908 this: *mut core::ffi::c_void,
38909 value: *mut *mut core::ffi::c_void,
38910 ) -> windows_core::HRESULT {
38911 unsafe {
38912 let this: &Identity =
38913 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38914 match ICoreWebView2WebResourceResponseReceivedEventArgs_Impl::Request(this) {
38915 Ok(ok__) => {
38916 value.write(core::mem::transmute(ok__));
38917 windows_core::HRESULT(0)
38918 }
38919 Err(err) => err.into(),
38920 }
38921 }
38922 }
38923 unsafe extern "system" fn Response<
38924 Identity: ICoreWebView2WebResourceResponseReceivedEventArgs_Impl,
38925 const OFFSET: isize,
38926 >(
38927 this: *mut core::ffi::c_void,
38928 value: *mut *mut core::ffi::c_void,
38929 ) -> windows_core::HRESULT {
38930 unsafe {
38931 let this: &Identity =
38932 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38933 match ICoreWebView2WebResourceResponseReceivedEventArgs_Impl::Response(this) {
38934 Ok(ok__) => {
38935 value.write(core::mem::transmute(ok__));
38936 windows_core::HRESULT(0)
38937 }
38938 Err(err) => err.into(),
38939 }
38940 }
38941 }
38942 Self {
38943 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
38944 Request: Request::<Identity, OFFSET>,
38945 Response: Response::<Identity, OFFSET>,
38946 }
38947 }
38948 pub fn matches(iid: &windows_core::GUID) -> bool {
38949 iid == &<ICoreWebView2WebResourceResponseReceivedEventArgs as windows_core::Interface>::IID
38950 }
38951}
38952impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseReceivedEventArgs {}
38953windows_core::imp::define_interface!(
38954 ICoreWebView2WebResourceResponseReceivedEventHandler,
38955 ICoreWebView2WebResourceResponseReceivedEventHandler_Vtbl,
38956 0x7de9898a_24f5_40c3_a2de_d4f458e69828
38957);
38958windows_core::imp::interface_hierarchy!(
38959 ICoreWebView2WebResourceResponseReceivedEventHandler,
38960 windows_core::IUnknown
38961);
38962impl ICoreWebView2WebResourceResponseReceivedEventHandler {
38963 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
38964 where
38965 P0: windows_core::Param<ICoreWebView2>,
38966 P1: windows_core::Param<ICoreWebView2WebResourceResponseReceivedEventArgs>,
38967 {
38968 unsafe {
38969 (windows_core::Interface::vtable(self).Invoke)(
38970 windows_core::Interface::as_raw(self),
38971 sender.param().abi(),
38972 args.param().abi(),
38973 )
38974 .ok()
38975 }
38976 }
38977}
38978#[repr(C)]
38979#[doc(hidden)]
38980pub struct ICoreWebView2WebResourceResponseReceivedEventHandler_Vtbl {
38981 pub base__: windows_core::IUnknown_Vtbl,
38982 pub Invoke: unsafe extern "system" fn(
38983 *mut core::ffi::c_void,
38984 *mut core::ffi::c_void,
38985 *mut core::ffi::c_void,
38986 ) -> windows_core::HRESULT,
38987}
38988pub trait ICoreWebView2WebResourceResponseReceivedEventHandler_Impl:
38989 windows_core::IUnknownImpl
38990{
38991 fn Invoke(
38992 &self,
38993 sender: windows_core::Ref<ICoreWebView2>,
38994 args: windows_core::Ref<ICoreWebView2WebResourceResponseReceivedEventArgs>,
38995 ) -> windows_core::Result<()>;
38996}
38997impl ICoreWebView2WebResourceResponseReceivedEventHandler_Vtbl {
38998 pub const fn new<
38999 Identity: ICoreWebView2WebResourceResponseReceivedEventHandler_Impl,
39000 const OFFSET: isize,
39001 >() -> Self {
39002 unsafe extern "system" fn Invoke<
39003 Identity: ICoreWebView2WebResourceResponseReceivedEventHandler_Impl,
39004 const OFFSET: isize,
39005 >(
39006 this: *mut core::ffi::c_void,
39007 sender: *mut core::ffi::c_void,
39008 args: *mut core::ffi::c_void,
39009 ) -> windows_core::HRESULT {
39010 unsafe {
39011 let this: &Identity =
39012 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39013 ICoreWebView2WebResourceResponseReceivedEventHandler_Impl::Invoke(
39014 this,
39015 core::mem::transmute_copy(&sender),
39016 core::mem::transmute_copy(&args),
39017 )
39018 .into()
39019 }
39020 }
39021 Self {
39022 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
39023 Invoke: Invoke::<Identity, OFFSET>,
39024 }
39025 }
39026 pub fn matches(iid: &windows_core::GUID) -> bool {
39027 iid == & < ICoreWebView2WebResourceResponseReceivedEventHandler as windows_core::Interface >::IID
39028 }
39029}
39030impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseReceivedEventHandler {}
39031windows_core::imp::define_interface!(
39032 ICoreWebView2WebResourceResponseView,
39033 ICoreWebView2WebResourceResponseView_Vtbl,
39034 0x79701053_7759_4162_8f7d_f1b3f084928d
39035);
39036windows_core::imp::interface_hierarchy!(
39037 ICoreWebView2WebResourceResponseView,
39038 windows_core::IUnknown
39039);
39040impl ICoreWebView2WebResourceResponseView {
39041 pub unsafe fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders> {
39042 unsafe {
39043 let mut result__ = core::mem::zeroed();
39044 (windows_core::Interface::vtable(self).Headers)(
39045 windows_core::Interface::as_raw(self),
39046 &mut result__,
39047 )
39048 .and_then(|| windows_core::Type::from_abi(result__))
39049 }
39050 }
39051 pub unsafe fn StatusCode(&self, statuscode: *mut i32) -> windows_core::Result<()> {
39052 unsafe {
39053 (windows_core::Interface::vtable(self).StatusCode)(
39054 windows_core::Interface::as_raw(self),
39055 statuscode as _,
39056 )
39057 .ok()
39058 }
39059 }
39060 pub unsafe fn ReasonPhrase(
39061 &self,
39062 reasonphrase: *mut windows_core::PWSTR,
39063 ) -> windows_core::Result<()> {
39064 unsafe {
39065 (windows_core::Interface::vtable(self).ReasonPhrase)(
39066 windows_core::Interface::as_raw(self),
39067 reasonphrase as _,
39068 )
39069 .ok()
39070 }
39071 }
39072 pub unsafe fn GetContent<P0>(&self, handler: P0) -> windows_core::Result<()>
39073 where
39074 P0: windows_core::Param<ICoreWebView2WebResourceResponseViewGetContentCompletedHandler>,
39075 {
39076 unsafe {
39077 (windows_core::Interface::vtable(self).GetContent)(
39078 windows_core::Interface::as_raw(self),
39079 handler.param().abi(),
39080 )
39081 .ok()
39082 }
39083 }
39084}
39085#[repr(C)]
39086#[doc(hidden)]
39087pub struct ICoreWebView2WebResourceResponseView_Vtbl {
39088 pub base__: windows_core::IUnknown_Vtbl,
39089 pub Headers: unsafe extern "system" fn(
39090 *mut core::ffi::c_void,
39091 *mut *mut core::ffi::c_void,
39092 ) -> windows_core::HRESULT,
39093 pub StatusCode:
39094 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
39095 pub ReasonPhrase: unsafe extern "system" fn(
39096 *mut core::ffi::c_void,
39097 *mut windows_core::PWSTR,
39098 ) -> windows_core::HRESULT,
39099 pub GetContent: unsafe extern "system" fn(
39100 *mut core::ffi::c_void,
39101 *mut core::ffi::c_void,
39102 ) -> windows_core::HRESULT,
39103}
39104pub trait ICoreWebView2WebResourceResponseView_Impl: windows_core::IUnknownImpl {
39105 fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders>;
39106 fn StatusCode(&self, statuscode: *mut i32) -> windows_core::Result<()>;
39107 fn ReasonPhrase(&self, reasonphrase: *mut windows_core::PWSTR) -> windows_core::Result<()>;
39108 fn GetContent(
39109 &self,
39110 handler: windows_core::Ref<ICoreWebView2WebResourceResponseViewGetContentCompletedHandler>,
39111 ) -> windows_core::Result<()>;
39112}
39113impl ICoreWebView2WebResourceResponseView_Vtbl {
39114 pub const fn new<Identity: ICoreWebView2WebResourceResponseView_Impl, const OFFSET: isize>(
39115 ) -> Self {
39116 unsafe extern "system" fn Headers<
39117 Identity: ICoreWebView2WebResourceResponseView_Impl,
39118 const OFFSET: isize,
39119 >(
39120 this: *mut core::ffi::c_void,
39121 headers: *mut *mut core::ffi::c_void,
39122 ) -> windows_core::HRESULT {
39123 unsafe {
39124 let this: &Identity =
39125 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39126 match ICoreWebView2WebResourceResponseView_Impl::Headers(this) {
39127 Ok(ok__) => {
39128 headers.write(core::mem::transmute(ok__));
39129 windows_core::HRESULT(0)
39130 }
39131 Err(err) => err.into(),
39132 }
39133 }
39134 }
39135 unsafe extern "system" fn StatusCode<
39136 Identity: ICoreWebView2WebResourceResponseView_Impl,
39137 const OFFSET: isize,
39138 >(
39139 this: *mut core::ffi::c_void,
39140 statuscode: *mut i32,
39141 ) -> windows_core::HRESULT {
39142 unsafe {
39143 let this: &Identity =
39144 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39145 ICoreWebView2WebResourceResponseView_Impl::StatusCode(
39146 this,
39147 core::mem::transmute_copy(&statuscode),
39148 )
39149 .into()
39150 }
39151 }
39152 unsafe extern "system" fn ReasonPhrase<
39153 Identity: ICoreWebView2WebResourceResponseView_Impl,
39154 const OFFSET: isize,
39155 >(
39156 this: *mut core::ffi::c_void,
39157 reasonphrase: *mut windows_core::PWSTR,
39158 ) -> windows_core::HRESULT {
39159 unsafe {
39160 let this: &Identity =
39161 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39162 ICoreWebView2WebResourceResponseView_Impl::ReasonPhrase(
39163 this,
39164 core::mem::transmute_copy(&reasonphrase),
39165 )
39166 .into()
39167 }
39168 }
39169 unsafe extern "system" fn GetContent<
39170 Identity: ICoreWebView2WebResourceResponseView_Impl,
39171 const OFFSET: isize,
39172 >(
39173 this: *mut core::ffi::c_void,
39174 handler: *mut core::ffi::c_void,
39175 ) -> windows_core::HRESULT {
39176 unsafe {
39177 let this: &Identity =
39178 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39179 ICoreWebView2WebResourceResponseView_Impl::GetContent(
39180 this,
39181 core::mem::transmute_copy(&handler),
39182 )
39183 .into()
39184 }
39185 }
39186 Self {
39187 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
39188 Headers: Headers::<Identity, OFFSET>,
39189 StatusCode: StatusCode::<Identity, OFFSET>,
39190 ReasonPhrase: ReasonPhrase::<Identity, OFFSET>,
39191 GetContent: GetContent::<Identity, OFFSET>,
39192 }
39193 }
39194 pub fn matches(iid: &windows_core::GUID) -> bool {
39195 iid == &<ICoreWebView2WebResourceResponseView as windows_core::Interface>::IID
39196 }
39197}
39198impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseView {}
39199windows_core::imp::define_interface!(
39200 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler,
39201 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Vtbl,
39202 0x875738e1_9fa2_40e3_8b74_2e8972dd6fe7
39203);
39204windows_core::imp::interface_hierarchy!(
39205 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler,
39206 windows_core::IUnknown
39207);
39208impl ICoreWebView2WebResourceResponseViewGetContentCompletedHandler {
39209 pub unsafe fn Invoke<P1>(
39210 &self,
39211 errorcode: windows_core::HRESULT,
39212 result: P1,
39213 ) -> windows_core::Result<()>
39214 where
39215 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
39216 {
39217 unsafe {
39218 (windows_core::Interface::vtable(self).Invoke)(
39219 windows_core::Interface::as_raw(self),
39220 errorcode,
39221 result.param().abi(),
39222 )
39223 .ok()
39224 }
39225 }
39226}
39227#[repr(C)]
39228#[doc(hidden)]
39229pub struct ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Vtbl {
39230 pub base__: windows_core::IUnknown_Vtbl,
39231 pub Invoke: unsafe extern "system" fn(
39232 *mut core::ffi::c_void,
39233 windows_core::HRESULT,
39234 *mut core::ffi::c_void,
39235 ) -> windows_core::HRESULT,
39236}
39237pub trait ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl:
39238 windows_core::IUnknownImpl
39239{
39240 fn Invoke(
39241 &self,
39242 errorcode: windows_core::HRESULT,
39243 result: windows_core::Ref<windows::Win32::System::Com::IStream>,
39244 ) -> windows_core::Result<()>;
39245}
39246impl ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Vtbl {
39247 pub const fn new<
39248 Identity: ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl,
39249 const OFFSET: isize,
39250 >() -> Self {
39251 unsafe extern "system" fn Invoke<
39252 Identity: ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl,
39253 const OFFSET: isize,
39254 >(
39255 this: *mut core::ffi::c_void,
39256 errorcode: windows_core::HRESULT,
39257 result: *mut core::ffi::c_void,
39258 ) -> windows_core::HRESULT {
39259 unsafe {
39260 let this: &Identity =
39261 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39262 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl::Invoke(
39263 this,
39264 core::mem::transmute_copy(&errorcode),
39265 core::mem::transmute_copy(&result),
39266 )
39267 .into()
39268 }
39269 }
39270 Self {
39271 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
39272 Invoke: Invoke::<Identity, OFFSET>,
39273 }
39274 }
39275 pub fn matches(iid: &windows_core::GUID) -> bool {
39276 iid == & < ICoreWebView2WebResourceResponseViewGetContentCompletedHandler as windows_core::Interface >::IID
39277 }
39278}
39279impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseViewGetContentCompletedHandler {}
39280windows_core::imp::define_interface!(
39281 ICoreWebView2WindowCloseRequestedEventHandler,
39282 ICoreWebView2WindowCloseRequestedEventHandler_Vtbl,
39283 0x5c19e9e0_092f_486b_affa_ca8231913039
39284);
39285windows_core::imp::interface_hierarchy!(
39286 ICoreWebView2WindowCloseRequestedEventHandler,
39287 windows_core::IUnknown
39288);
39289impl ICoreWebView2WindowCloseRequestedEventHandler {
39290 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
39291 where
39292 P0: windows_core::Param<ICoreWebView2>,
39293 P1: windows_core::Param<windows_core::IUnknown>,
39294 {
39295 unsafe {
39296 (windows_core::Interface::vtable(self).Invoke)(
39297 windows_core::Interface::as_raw(self),
39298 sender.param().abi(),
39299 args.param().abi(),
39300 )
39301 .ok()
39302 }
39303 }
39304}
39305#[repr(C)]
39306#[doc(hidden)]
39307pub struct ICoreWebView2WindowCloseRequestedEventHandler_Vtbl {
39308 pub base__: windows_core::IUnknown_Vtbl,
39309 pub Invoke: unsafe extern "system" fn(
39310 *mut core::ffi::c_void,
39311 *mut core::ffi::c_void,
39312 *mut core::ffi::c_void,
39313 ) -> windows_core::HRESULT,
39314}
39315pub trait ICoreWebView2WindowCloseRequestedEventHandler_Impl: windows_core::IUnknownImpl {
39316 fn Invoke(
39317 &self,
39318 sender: windows_core::Ref<ICoreWebView2>,
39319 args: windows_core::Ref<windows_core::IUnknown>,
39320 ) -> windows_core::Result<()>;
39321}
39322impl ICoreWebView2WindowCloseRequestedEventHandler_Vtbl {
39323 pub const fn new<
39324 Identity: ICoreWebView2WindowCloseRequestedEventHandler_Impl,
39325 const OFFSET: isize,
39326 >() -> Self {
39327 unsafe extern "system" fn Invoke<
39328 Identity: ICoreWebView2WindowCloseRequestedEventHandler_Impl,
39329 const OFFSET: isize,
39330 >(
39331 this: *mut core::ffi::c_void,
39332 sender: *mut core::ffi::c_void,
39333 args: *mut core::ffi::c_void,
39334 ) -> windows_core::HRESULT {
39335 unsafe {
39336 let this: &Identity =
39337 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39338 ICoreWebView2WindowCloseRequestedEventHandler_Impl::Invoke(
39339 this,
39340 core::mem::transmute_copy(&sender),
39341 core::mem::transmute_copy(&args),
39342 )
39343 .into()
39344 }
39345 }
39346 Self {
39347 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
39348 Invoke: Invoke::<Identity, OFFSET>,
39349 }
39350 }
39351 pub fn matches(iid: &windows_core::GUID) -> bool {
39352 iid == &<ICoreWebView2WindowCloseRequestedEventHandler as windows_core::Interface>::IID
39353 }
39354}
39355impl windows_core::RuntimeName for ICoreWebView2WindowCloseRequestedEventHandler {}
39356windows_core::imp::define_interface!(
39357 ICoreWebView2WindowFeatures,
39358 ICoreWebView2WindowFeatures_Vtbl,
39359 0x5eaf559f_b46e_4397_8860_e422f287ff1e
39360);
39361windows_core::imp::interface_hierarchy!(ICoreWebView2WindowFeatures, windows_core::IUnknown);
39362impl ICoreWebView2WindowFeatures {
39363 pub unsafe fn HasPosition(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
39364 unsafe {
39365 (windows_core::Interface::vtable(self).HasPosition)(
39366 windows_core::Interface::as_raw(self),
39367 value as _,
39368 )
39369 .ok()
39370 }
39371 }
39372 pub unsafe fn HasSize(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
39373 unsafe {
39374 (windows_core::Interface::vtable(self).HasSize)(
39375 windows_core::Interface::as_raw(self),
39376 value as _,
39377 )
39378 .ok()
39379 }
39380 }
39381 pub unsafe fn Left(&self, value: *mut u32) -> windows_core::Result<()> {
39382 unsafe {
39383 (windows_core::Interface::vtable(self).Left)(
39384 windows_core::Interface::as_raw(self),
39385 value as _,
39386 )
39387 .ok()
39388 }
39389 }
39390 pub unsafe fn Top(&self, value: *mut u32) -> windows_core::Result<()> {
39391 unsafe {
39392 (windows_core::Interface::vtable(self).Top)(
39393 windows_core::Interface::as_raw(self),
39394 value as _,
39395 )
39396 .ok()
39397 }
39398 }
39399 pub unsafe fn Height(&self, value: *mut u32) -> windows_core::Result<()> {
39400 unsafe {
39401 (windows_core::Interface::vtable(self).Height)(
39402 windows_core::Interface::as_raw(self),
39403 value as _,
39404 )
39405 .ok()
39406 }
39407 }
39408 pub unsafe fn Width(&self, value: *mut u32) -> windows_core::Result<()> {
39409 unsafe {
39410 (windows_core::Interface::vtable(self).Width)(
39411 windows_core::Interface::as_raw(self),
39412 value as _,
39413 )
39414 .ok()
39415 }
39416 }
39417 pub unsafe fn ShouldDisplayMenuBar(
39418 &self,
39419 value: *mut windows_core::BOOL,
39420 ) -> windows_core::Result<()> {
39421 unsafe {
39422 (windows_core::Interface::vtable(self).ShouldDisplayMenuBar)(
39423 windows_core::Interface::as_raw(self),
39424 value as _,
39425 )
39426 .ok()
39427 }
39428 }
39429 pub unsafe fn ShouldDisplayStatus(
39430 &self,
39431 value: *mut windows_core::BOOL,
39432 ) -> windows_core::Result<()> {
39433 unsafe {
39434 (windows_core::Interface::vtable(self).ShouldDisplayStatus)(
39435 windows_core::Interface::as_raw(self),
39436 value as _,
39437 )
39438 .ok()
39439 }
39440 }
39441 pub unsafe fn ShouldDisplayToolbar(
39442 &self,
39443 value: *mut windows_core::BOOL,
39444 ) -> windows_core::Result<()> {
39445 unsafe {
39446 (windows_core::Interface::vtable(self).ShouldDisplayToolbar)(
39447 windows_core::Interface::as_raw(self),
39448 value as _,
39449 )
39450 .ok()
39451 }
39452 }
39453 pub unsafe fn ShouldDisplayScrollBars(
39454 &self,
39455 value: *mut windows_core::BOOL,
39456 ) -> windows_core::Result<()> {
39457 unsafe {
39458 (windows_core::Interface::vtable(self).ShouldDisplayScrollBars)(
39459 windows_core::Interface::as_raw(self),
39460 value as _,
39461 )
39462 .ok()
39463 }
39464 }
39465}
39466#[repr(C)]
39467#[doc(hidden)]
39468pub struct ICoreWebView2WindowFeatures_Vtbl {
39469 pub base__: windows_core::IUnknown_Vtbl,
39470 pub HasPosition: unsafe extern "system" fn(
39471 *mut core::ffi::c_void,
39472 *mut windows_core::BOOL,
39473 ) -> windows_core::HRESULT,
39474 pub HasSize: unsafe extern "system" fn(
39475 *mut core::ffi::c_void,
39476 *mut windows_core::BOOL,
39477 ) -> windows_core::HRESULT,
39478 pub Left: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
39479 pub Top: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
39480 pub Height:
39481 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
39482 pub Width: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
39483 pub ShouldDisplayMenuBar: unsafe extern "system" fn(
39484 *mut core::ffi::c_void,
39485 *mut windows_core::BOOL,
39486 ) -> windows_core::HRESULT,
39487 pub ShouldDisplayStatus: unsafe extern "system" fn(
39488 *mut core::ffi::c_void,
39489 *mut windows_core::BOOL,
39490 ) -> windows_core::HRESULT,
39491 pub ShouldDisplayToolbar: unsafe extern "system" fn(
39492 *mut core::ffi::c_void,
39493 *mut windows_core::BOOL,
39494 ) -> windows_core::HRESULT,
39495 pub ShouldDisplayScrollBars: unsafe extern "system" fn(
39496 *mut core::ffi::c_void,
39497 *mut windows_core::BOOL,
39498 ) -> windows_core::HRESULT,
39499}
39500pub trait ICoreWebView2WindowFeatures_Impl: windows_core::IUnknownImpl {
39501 fn HasPosition(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
39502 fn HasSize(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
39503 fn Left(&self, value: *mut u32) -> windows_core::Result<()>;
39504 fn Top(&self, value: *mut u32) -> windows_core::Result<()>;
39505 fn Height(&self, value: *mut u32) -> windows_core::Result<()>;
39506 fn Width(&self, value: *mut u32) -> windows_core::Result<()>;
39507 fn ShouldDisplayMenuBar(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
39508 fn ShouldDisplayStatus(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
39509 fn ShouldDisplayToolbar(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
39510 fn ShouldDisplayScrollBars(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
39511}
39512impl ICoreWebView2WindowFeatures_Vtbl {
39513 pub const fn new<Identity: ICoreWebView2WindowFeatures_Impl, const OFFSET: isize>() -> Self {
39514 unsafe extern "system" fn HasPosition<
39515 Identity: ICoreWebView2WindowFeatures_Impl,
39516 const OFFSET: isize,
39517 >(
39518 this: *mut core::ffi::c_void,
39519 value: *mut windows_core::BOOL,
39520 ) -> windows_core::HRESULT {
39521 unsafe {
39522 let this: &Identity =
39523 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39524 ICoreWebView2WindowFeatures_Impl::HasPosition(
39525 this,
39526 core::mem::transmute_copy(&value),
39527 )
39528 .into()
39529 }
39530 }
39531 unsafe extern "system" fn HasSize<
39532 Identity: ICoreWebView2WindowFeatures_Impl,
39533 const OFFSET: isize,
39534 >(
39535 this: *mut core::ffi::c_void,
39536 value: *mut windows_core::BOOL,
39537 ) -> windows_core::HRESULT {
39538 unsafe {
39539 let this: &Identity =
39540 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39541 ICoreWebView2WindowFeatures_Impl::HasSize(this, core::mem::transmute_copy(&value))
39542 .into()
39543 }
39544 }
39545 unsafe extern "system" fn Left<
39546 Identity: ICoreWebView2WindowFeatures_Impl,
39547 const OFFSET: isize,
39548 >(
39549 this: *mut core::ffi::c_void,
39550 value: *mut u32,
39551 ) -> windows_core::HRESULT {
39552 unsafe {
39553 let this: &Identity =
39554 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39555 ICoreWebView2WindowFeatures_Impl::Left(this, core::mem::transmute_copy(&value))
39556 .into()
39557 }
39558 }
39559 unsafe extern "system" fn Top<
39560 Identity: ICoreWebView2WindowFeatures_Impl,
39561 const OFFSET: isize,
39562 >(
39563 this: *mut core::ffi::c_void,
39564 value: *mut u32,
39565 ) -> windows_core::HRESULT {
39566 unsafe {
39567 let this: &Identity =
39568 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39569 ICoreWebView2WindowFeatures_Impl::Top(this, core::mem::transmute_copy(&value))
39570 .into()
39571 }
39572 }
39573 unsafe extern "system" fn Height<
39574 Identity: ICoreWebView2WindowFeatures_Impl,
39575 const OFFSET: isize,
39576 >(
39577 this: *mut core::ffi::c_void,
39578 value: *mut u32,
39579 ) -> windows_core::HRESULT {
39580 unsafe {
39581 let this: &Identity =
39582 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39583 ICoreWebView2WindowFeatures_Impl::Height(this, core::mem::transmute_copy(&value))
39584 .into()
39585 }
39586 }
39587 unsafe extern "system" fn Width<
39588 Identity: ICoreWebView2WindowFeatures_Impl,
39589 const OFFSET: isize,
39590 >(
39591 this: *mut core::ffi::c_void,
39592 value: *mut u32,
39593 ) -> windows_core::HRESULT {
39594 unsafe {
39595 let this: &Identity =
39596 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39597 ICoreWebView2WindowFeatures_Impl::Width(this, core::mem::transmute_copy(&value))
39598 .into()
39599 }
39600 }
39601 unsafe extern "system" fn ShouldDisplayMenuBar<
39602 Identity: ICoreWebView2WindowFeatures_Impl,
39603 const OFFSET: isize,
39604 >(
39605 this: *mut core::ffi::c_void,
39606 value: *mut windows_core::BOOL,
39607 ) -> windows_core::HRESULT {
39608 unsafe {
39609 let this: &Identity =
39610 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39611 ICoreWebView2WindowFeatures_Impl::ShouldDisplayMenuBar(
39612 this,
39613 core::mem::transmute_copy(&value),
39614 )
39615 .into()
39616 }
39617 }
39618 unsafe extern "system" fn ShouldDisplayStatus<
39619 Identity: ICoreWebView2WindowFeatures_Impl,
39620 const OFFSET: isize,
39621 >(
39622 this: *mut core::ffi::c_void,
39623 value: *mut windows_core::BOOL,
39624 ) -> windows_core::HRESULT {
39625 unsafe {
39626 let this: &Identity =
39627 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39628 ICoreWebView2WindowFeatures_Impl::ShouldDisplayStatus(
39629 this,
39630 core::mem::transmute_copy(&value),
39631 )
39632 .into()
39633 }
39634 }
39635 unsafe extern "system" fn ShouldDisplayToolbar<
39636 Identity: ICoreWebView2WindowFeatures_Impl,
39637 const OFFSET: isize,
39638 >(
39639 this: *mut core::ffi::c_void,
39640 value: *mut windows_core::BOOL,
39641 ) -> windows_core::HRESULT {
39642 unsafe {
39643 let this: &Identity =
39644 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39645 ICoreWebView2WindowFeatures_Impl::ShouldDisplayToolbar(
39646 this,
39647 core::mem::transmute_copy(&value),
39648 )
39649 .into()
39650 }
39651 }
39652 unsafe extern "system" fn ShouldDisplayScrollBars<
39653 Identity: ICoreWebView2WindowFeatures_Impl,
39654 const OFFSET: isize,
39655 >(
39656 this: *mut core::ffi::c_void,
39657 value: *mut windows_core::BOOL,
39658 ) -> windows_core::HRESULT {
39659 unsafe {
39660 let this: &Identity =
39661 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39662 ICoreWebView2WindowFeatures_Impl::ShouldDisplayScrollBars(
39663 this,
39664 core::mem::transmute_copy(&value),
39665 )
39666 .into()
39667 }
39668 }
39669 Self {
39670 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
39671 HasPosition: HasPosition::<Identity, OFFSET>,
39672 HasSize: HasSize::<Identity, OFFSET>,
39673 Left: Left::<Identity, OFFSET>,
39674 Top: Top::<Identity, OFFSET>,
39675 Height: Height::<Identity, OFFSET>,
39676 Width: Width::<Identity, OFFSET>,
39677 ShouldDisplayMenuBar: ShouldDisplayMenuBar::<Identity, OFFSET>,
39678 ShouldDisplayStatus: ShouldDisplayStatus::<Identity, OFFSET>,
39679 ShouldDisplayToolbar: ShouldDisplayToolbar::<Identity, OFFSET>,
39680 ShouldDisplayScrollBars: ShouldDisplayScrollBars::<Identity, OFFSET>,
39681 }
39682 }
39683 pub fn matches(iid: &windows_core::GUID) -> bool {
39684 iid == &<ICoreWebView2WindowFeatures as windows_core::Interface>::IID
39685 }
39686}
39687impl windows_core::RuntimeName for ICoreWebView2WindowFeatures {}
39688windows_core::imp::define_interface!(
39689 ICoreWebView2ZoomFactorChangedEventHandler,
39690 ICoreWebView2ZoomFactorChangedEventHandler_Vtbl,
39691 0xb52d71d6_c4df_4543_a90c_64a3e60f38cb
39692);
39693windows_core::imp::interface_hierarchy!(
39694 ICoreWebView2ZoomFactorChangedEventHandler,
39695 windows_core::IUnknown
39696);
39697impl ICoreWebView2ZoomFactorChangedEventHandler {
39698 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
39699 where
39700 P0: windows_core::Param<ICoreWebView2Controller>,
39701 P1: windows_core::Param<windows_core::IUnknown>,
39702 {
39703 unsafe {
39704 (windows_core::Interface::vtable(self).Invoke)(
39705 windows_core::Interface::as_raw(self),
39706 sender.param().abi(),
39707 args.param().abi(),
39708 )
39709 .ok()
39710 }
39711 }
39712}
39713#[repr(C)]
39714#[doc(hidden)]
39715pub struct ICoreWebView2ZoomFactorChangedEventHandler_Vtbl {
39716 pub base__: windows_core::IUnknown_Vtbl,
39717 pub Invoke: unsafe extern "system" fn(
39718 *mut core::ffi::c_void,
39719 *mut core::ffi::c_void,
39720 *mut core::ffi::c_void,
39721 ) -> windows_core::HRESULT,
39722}
39723pub trait ICoreWebView2ZoomFactorChangedEventHandler_Impl: windows_core::IUnknownImpl {
39724 fn Invoke(
39725 &self,
39726 sender: windows_core::Ref<ICoreWebView2Controller>,
39727 args: windows_core::Ref<windows_core::IUnknown>,
39728 ) -> windows_core::Result<()>;
39729}
39730impl ICoreWebView2ZoomFactorChangedEventHandler_Vtbl {
39731 pub const fn new<
39732 Identity: ICoreWebView2ZoomFactorChangedEventHandler_Impl,
39733 const OFFSET: isize,
39734 >() -> Self {
39735 unsafe extern "system" fn Invoke<
39736 Identity: ICoreWebView2ZoomFactorChangedEventHandler_Impl,
39737 const OFFSET: isize,
39738 >(
39739 this: *mut core::ffi::c_void,
39740 sender: *mut core::ffi::c_void,
39741 args: *mut core::ffi::c_void,
39742 ) -> windows_core::HRESULT {
39743 unsafe {
39744 let this: &Identity =
39745 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39746 ICoreWebView2ZoomFactorChangedEventHandler_Impl::Invoke(
39747 this,
39748 core::mem::transmute_copy(&sender),
39749 core::mem::transmute_copy(&args),
39750 )
39751 .into()
39752 }
39753 }
39754 Self {
39755 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
39756 Invoke: Invoke::<Identity, OFFSET>,
39757 }
39758 }
39759 pub fn matches(iid: &windows_core::GUID) -> bool {
39760 iid == &<ICoreWebView2ZoomFactorChangedEventHandler as windows_core::Interface>::IID
39761 }
39762}
39763impl windows_core::RuntimeName for ICoreWebView2ZoomFactorChangedEventHandler {}
39764windows_core::imp::define_interface!(
39765 ICoreWebView2_10,
39766 ICoreWebView2_10_Vtbl,
39767 0xb1690564_6f5a_4983_8e48_31d1143fecdb
39768);
39769impl core::ops::Deref for ICoreWebView2_10 {
39770 type Target = ICoreWebView2_9;
39771 fn deref(&self) -> &Self::Target {
39772 unsafe { core::mem::transmute(self) }
39773 }
39774}
39775windows_core::imp::interface_hierarchy!(
39776 ICoreWebView2_10,
39777 windows_core::IUnknown,
39778 ICoreWebView2,
39779 ICoreWebView2_2,
39780 ICoreWebView2_3,
39781 ICoreWebView2_4,
39782 ICoreWebView2_5,
39783 ICoreWebView2_6,
39784 ICoreWebView2_7,
39785 ICoreWebView2_8,
39786 ICoreWebView2_9
39787);
39788impl ICoreWebView2_10 {
39789 pub unsafe fn add_BasicAuthenticationRequested<P0>(
39790 &self,
39791 eventhandler: P0,
39792 token: *mut i64,
39793 ) -> windows_core::Result<()>
39794 where
39795 P0: windows_core::Param<ICoreWebView2BasicAuthenticationRequestedEventHandler>,
39796 {
39797 unsafe {
39798 (windows_core::Interface::vtable(self).add_BasicAuthenticationRequested)(
39799 windows_core::Interface::as_raw(self),
39800 eventhandler.param().abi(),
39801 token as _,
39802 )
39803 .ok()
39804 }
39805 }
39806 pub unsafe fn remove_BasicAuthenticationRequested(
39807 &self,
39808 token: i64,
39809 ) -> windows_core::Result<()> {
39810 unsafe {
39811 (windows_core::Interface::vtable(self).remove_BasicAuthenticationRequested)(
39812 windows_core::Interface::as_raw(self),
39813 token,
39814 )
39815 .ok()
39816 }
39817 }
39818}
39819#[repr(C)]
39820#[doc(hidden)]
39821pub struct ICoreWebView2_10_Vtbl {
39822 pub base__: ICoreWebView2_9_Vtbl,
39823 pub add_BasicAuthenticationRequested: unsafe extern "system" fn(
39824 *mut core::ffi::c_void,
39825 *mut core::ffi::c_void,
39826 *mut i64,
39827 ) -> windows_core::HRESULT,
39828 pub remove_BasicAuthenticationRequested:
39829 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
39830}
39831pub trait ICoreWebView2_10_Impl: ICoreWebView2_9_Impl {
39832 fn add_BasicAuthenticationRequested(
39833 &self,
39834 eventhandler: windows_core::Ref<ICoreWebView2BasicAuthenticationRequestedEventHandler>,
39835 token: *mut i64,
39836 ) -> windows_core::Result<()>;
39837 fn remove_BasicAuthenticationRequested(&self, token: i64) -> windows_core::Result<()>;
39838}
39839impl ICoreWebView2_10_Vtbl {
39840 pub const fn new<Identity: ICoreWebView2_10_Impl, const OFFSET: isize>() -> Self {
39841 unsafe extern "system" fn add_BasicAuthenticationRequested<
39842 Identity: ICoreWebView2_10_Impl,
39843 const OFFSET: isize,
39844 >(
39845 this: *mut core::ffi::c_void,
39846 eventhandler: *mut core::ffi::c_void,
39847 token: *mut i64,
39848 ) -> windows_core::HRESULT {
39849 unsafe {
39850 let this: &Identity =
39851 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39852 ICoreWebView2_10_Impl::add_BasicAuthenticationRequested(
39853 this,
39854 core::mem::transmute_copy(&eventhandler),
39855 core::mem::transmute_copy(&token),
39856 )
39857 .into()
39858 }
39859 }
39860 unsafe extern "system" fn remove_BasicAuthenticationRequested<
39861 Identity: ICoreWebView2_10_Impl,
39862 const OFFSET: isize,
39863 >(
39864 this: *mut core::ffi::c_void,
39865 token: i64,
39866 ) -> windows_core::HRESULT {
39867 unsafe {
39868 let this: &Identity =
39869 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39870 ICoreWebView2_10_Impl::remove_BasicAuthenticationRequested(
39871 this,
39872 core::mem::transmute_copy(&token),
39873 )
39874 .into()
39875 }
39876 }
39877 Self {
39878 base__: ICoreWebView2_9_Vtbl::new::<Identity, OFFSET>(),
39879 add_BasicAuthenticationRequested: add_BasicAuthenticationRequested::<Identity, OFFSET>,
39880 remove_BasicAuthenticationRequested: remove_BasicAuthenticationRequested::<
39881 Identity,
39882 OFFSET,
39883 >,
39884 }
39885 }
39886 pub fn matches(iid: &windows_core::GUID) -> bool {
39887 iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
39888 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
39889 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
39890 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
39891 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
39892 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
39893 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
39894 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
39895 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
39896 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
39897 }
39898}
39899impl windows_core::RuntimeName for ICoreWebView2_10 {}
39900windows_core::imp::define_interface!(
39901 ICoreWebView2_11,
39902 ICoreWebView2_11_Vtbl,
39903 0x0be78e56_c193_4051_b943_23b460c08bdb
39904);
39905impl core::ops::Deref for ICoreWebView2_11 {
39906 type Target = ICoreWebView2_10;
39907 fn deref(&self) -> &Self::Target {
39908 unsafe { core::mem::transmute(self) }
39909 }
39910}
39911windows_core::imp::interface_hierarchy!(
39912 ICoreWebView2_11,
39913 windows_core::IUnknown,
39914 ICoreWebView2,
39915 ICoreWebView2_2,
39916 ICoreWebView2_3,
39917 ICoreWebView2_4,
39918 ICoreWebView2_5,
39919 ICoreWebView2_6,
39920 ICoreWebView2_7,
39921 ICoreWebView2_8,
39922 ICoreWebView2_9,
39923 ICoreWebView2_10
39924);
39925impl ICoreWebView2_11 {
39926 pub unsafe fn CallDevToolsProtocolMethodForSession<P0, P1, P2, P3>(
39927 &self,
39928 sessionid: P0,
39929 methodname: P1,
39930 parametersasjson: P2,
39931 handler: P3,
39932 ) -> windows_core::Result<()>
39933 where
39934 P0: windows_core::Param<windows_core::PCWSTR>,
39935 P1: windows_core::Param<windows_core::PCWSTR>,
39936 P2: windows_core::Param<windows_core::PCWSTR>,
39937 P3: windows_core::Param<ICoreWebView2CallDevToolsProtocolMethodCompletedHandler>,
39938 {
39939 unsafe {
39940 (windows_core::Interface::vtable(self).CallDevToolsProtocolMethodForSession)(
39941 windows_core::Interface::as_raw(self),
39942 sessionid.param().abi(),
39943 methodname.param().abi(),
39944 parametersasjson.param().abi(),
39945 handler.param().abi(),
39946 )
39947 .ok()
39948 }
39949 }
39950 pub unsafe fn add_ContextMenuRequested<P0>(
39951 &self,
39952 eventhandler: P0,
39953 token: *mut i64,
39954 ) -> windows_core::Result<()>
39955 where
39956 P0: windows_core::Param<ICoreWebView2ContextMenuRequestedEventHandler>,
39957 {
39958 unsafe {
39959 (windows_core::Interface::vtable(self).add_ContextMenuRequested)(
39960 windows_core::Interface::as_raw(self),
39961 eventhandler.param().abi(),
39962 token as _,
39963 )
39964 .ok()
39965 }
39966 }
39967 pub unsafe fn remove_ContextMenuRequested(&self, token: i64) -> windows_core::Result<()> {
39968 unsafe {
39969 (windows_core::Interface::vtable(self).remove_ContextMenuRequested)(
39970 windows_core::Interface::as_raw(self),
39971 token,
39972 )
39973 .ok()
39974 }
39975 }
39976}
39977#[repr(C)]
39978#[doc(hidden)]
39979pub struct ICoreWebView2_11_Vtbl {
39980 pub base__: ICoreWebView2_10_Vtbl,
39981 pub CallDevToolsProtocolMethodForSession: unsafe extern "system" fn(
39982 *mut core::ffi::c_void,
39983 windows_core::PCWSTR,
39984 windows_core::PCWSTR,
39985 windows_core::PCWSTR,
39986 *mut core::ffi::c_void,
39987 )
39988 -> windows_core::HRESULT,
39989 pub add_ContextMenuRequested: unsafe extern "system" fn(
39990 *mut core::ffi::c_void,
39991 *mut core::ffi::c_void,
39992 *mut i64,
39993 ) -> windows_core::HRESULT,
39994 pub remove_ContextMenuRequested:
39995 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
39996}
39997pub trait ICoreWebView2_11_Impl: ICoreWebView2_10_Impl {
39998 fn CallDevToolsProtocolMethodForSession(
39999 &self,
40000 sessionid: &windows_core::PCWSTR,
40001 methodname: &windows_core::PCWSTR,
40002 parametersasjson: &windows_core::PCWSTR,
40003 handler: windows_core::Ref<ICoreWebView2CallDevToolsProtocolMethodCompletedHandler>,
40004 ) -> windows_core::Result<()>;
40005 fn add_ContextMenuRequested(
40006 &self,
40007 eventhandler: windows_core::Ref<ICoreWebView2ContextMenuRequestedEventHandler>,
40008 token: *mut i64,
40009 ) -> windows_core::Result<()>;
40010 fn remove_ContextMenuRequested(&self, token: i64) -> windows_core::Result<()>;
40011}
40012impl ICoreWebView2_11_Vtbl {
40013 pub const fn new<Identity: ICoreWebView2_11_Impl, const OFFSET: isize>() -> Self {
40014 unsafe extern "system" fn CallDevToolsProtocolMethodForSession<
40015 Identity: ICoreWebView2_11_Impl,
40016 const OFFSET: isize,
40017 >(
40018 this: *mut core::ffi::c_void,
40019 sessionid: windows_core::PCWSTR,
40020 methodname: windows_core::PCWSTR,
40021 parametersasjson: windows_core::PCWSTR,
40022 handler: *mut core::ffi::c_void,
40023 ) -> windows_core::HRESULT {
40024 unsafe {
40025 let this: &Identity =
40026 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40027 ICoreWebView2_11_Impl::CallDevToolsProtocolMethodForSession(
40028 this,
40029 core::mem::transmute(&sessionid),
40030 core::mem::transmute(&methodname),
40031 core::mem::transmute(¶metersasjson),
40032 core::mem::transmute_copy(&handler),
40033 )
40034 .into()
40035 }
40036 }
40037 unsafe extern "system" fn add_ContextMenuRequested<
40038 Identity: ICoreWebView2_11_Impl,
40039 const OFFSET: isize,
40040 >(
40041 this: *mut core::ffi::c_void,
40042 eventhandler: *mut core::ffi::c_void,
40043 token: *mut i64,
40044 ) -> windows_core::HRESULT {
40045 unsafe {
40046 let this: &Identity =
40047 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40048 ICoreWebView2_11_Impl::add_ContextMenuRequested(
40049 this,
40050 core::mem::transmute_copy(&eventhandler),
40051 core::mem::transmute_copy(&token),
40052 )
40053 .into()
40054 }
40055 }
40056 unsafe extern "system" fn remove_ContextMenuRequested<
40057 Identity: ICoreWebView2_11_Impl,
40058 const OFFSET: isize,
40059 >(
40060 this: *mut core::ffi::c_void,
40061 token: i64,
40062 ) -> windows_core::HRESULT {
40063 unsafe {
40064 let this: &Identity =
40065 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40066 ICoreWebView2_11_Impl::remove_ContextMenuRequested(
40067 this,
40068 core::mem::transmute_copy(&token),
40069 )
40070 .into()
40071 }
40072 }
40073 Self {
40074 base__: ICoreWebView2_10_Vtbl::new::<Identity, OFFSET>(),
40075 CallDevToolsProtocolMethodForSession: CallDevToolsProtocolMethodForSession::<
40076 Identity,
40077 OFFSET,
40078 >,
40079 add_ContextMenuRequested: add_ContextMenuRequested::<Identity, OFFSET>,
40080 remove_ContextMenuRequested: remove_ContextMenuRequested::<Identity, OFFSET>,
40081 }
40082 }
40083 pub fn matches(iid: &windows_core::GUID) -> bool {
40084 iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40085 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40086 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40087 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40088 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40089 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40090 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40091 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40092 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40093 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40094 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40095 }
40096}
40097impl windows_core::RuntimeName for ICoreWebView2_11 {}
40098windows_core::imp::define_interface!(
40099 ICoreWebView2_12,
40100 ICoreWebView2_12_Vtbl,
40101 0x35d69927_bcfa_4566_9349_6b3e0d154cac
40102);
40103impl core::ops::Deref for ICoreWebView2_12 {
40104 type Target = ICoreWebView2_11;
40105 fn deref(&self) -> &Self::Target {
40106 unsafe { core::mem::transmute(self) }
40107 }
40108}
40109windows_core::imp::interface_hierarchy!(
40110 ICoreWebView2_12,
40111 windows_core::IUnknown,
40112 ICoreWebView2,
40113 ICoreWebView2_2,
40114 ICoreWebView2_3,
40115 ICoreWebView2_4,
40116 ICoreWebView2_5,
40117 ICoreWebView2_6,
40118 ICoreWebView2_7,
40119 ICoreWebView2_8,
40120 ICoreWebView2_9,
40121 ICoreWebView2_10,
40122 ICoreWebView2_11
40123);
40124impl ICoreWebView2_12 {
40125 pub unsafe fn add_StatusBarTextChanged<P0>(
40126 &self,
40127 eventhandler: P0,
40128 token: *mut i64,
40129 ) -> windows_core::Result<()>
40130 where
40131 P0: windows_core::Param<ICoreWebView2StatusBarTextChangedEventHandler>,
40132 {
40133 unsafe {
40134 (windows_core::Interface::vtable(self).add_StatusBarTextChanged)(
40135 windows_core::Interface::as_raw(self),
40136 eventhandler.param().abi(),
40137 token as _,
40138 )
40139 .ok()
40140 }
40141 }
40142 pub unsafe fn remove_StatusBarTextChanged(&self, token: i64) -> windows_core::Result<()> {
40143 unsafe {
40144 (windows_core::Interface::vtable(self).remove_StatusBarTextChanged)(
40145 windows_core::Interface::as_raw(self),
40146 token,
40147 )
40148 .ok()
40149 }
40150 }
40151 pub unsafe fn StatusBarText(
40152 &self,
40153 value: *mut windows_core::PWSTR,
40154 ) -> windows_core::Result<()> {
40155 unsafe {
40156 (windows_core::Interface::vtable(self).StatusBarText)(
40157 windows_core::Interface::as_raw(self),
40158 value as _,
40159 )
40160 .ok()
40161 }
40162 }
40163}
40164#[repr(C)]
40165#[doc(hidden)]
40166pub struct ICoreWebView2_12_Vtbl {
40167 pub base__: ICoreWebView2_11_Vtbl,
40168 pub add_StatusBarTextChanged: unsafe extern "system" fn(
40169 *mut core::ffi::c_void,
40170 *mut core::ffi::c_void,
40171 *mut i64,
40172 ) -> windows_core::HRESULT,
40173 pub remove_StatusBarTextChanged:
40174 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
40175 pub StatusBarText: unsafe extern "system" fn(
40176 *mut core::ffi::c_void,
40177 *mut windows_core::PWSTR,
40178 ) -> windows_core::HRESULT,
40179}
40180pub trait ICoreWebView2_12_Impl: ICoreWebView2_11_Impl {
40181 fn add_StatusBarTextChanged(
40182 &self,
40183 eventhandler: windows_core::Ref<ICoreWebView2StatusBarTextChangedEventHandler>,
40184 token: *mut i64,
40185 ) -> windows_core::Result<()>;
40186 fn remove_StatusBarTextChanged(&self, token: i64) -> windows_core::Result<()>;
40187 fn StatusBarText(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
40188}
40189impl ICoreWebView2_12_Vtbl {
40190 pub const fn new<Identity: ICoreWebView2_12_Impl, const OFFSET: isize>() -> Self {
40191 unsafe extern "system" fn add_StatusBarTextChanged<
40192 Identity: ICoreWebView2_12_Impl,
40193 const OFFSET: isize,
40194 >(
40195 this: *mut core::ffi::c_void,
40196 eventhandler: *mut core::ffi::c_void,
40197 token: *mut i64,
40198 ) -> windows_core::HRESULT {
40199 unsafe {
40200 let this: &Identity =
40201 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40202 ICoreWebView2_12_Impl::add_StatusBarTextChanged(
40203 this,
40204 core::mem::transmute_copy(&eventhandler),
40205 core::mem::transmute_copy(&token),
40206 )
40207 .into()
40208 }
40209 }
40210 unsafe extern "system" fn remove_StatusBarTextChanged<
40211 Identity: ICoreWebView2_12_Impl,
40212 const OFFSET: isize,
40213 >(
40214 this: *mut core::ffi::c_void,
40215 token: i64,
40216 ) -> windows_core::HRESULT {
40217 unsafe {
40218 let this: &Identity =
40219 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40220 ICoreWebView2_12_Impl::remove_StatusBarTextChanged(
40221 this,
40222 core::mem::transmute_copy(&token),
40223 )
40224 .into()
40225 }
40226 }
40227 unsafe extern "system" fn StatusBarText<
40228 Identity: ICoreWebView2_12_Impl,
40229 const OFFSET: isize,
40230 >(
40231 this: *mut core::ffi::c_void,
40232 value: *mut windows_core::PWSTR,
40233 ) -> windows_core::HRESULT {
40234 unsafe {
40235 let this: &Identity =
40236 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40237 ICoreWebView2_12_Impl::StatusBarText(this, core::mem::transmute_copy(&value)).into()
40238 }
40239 }
40240 Self {
40241 base__: ICoreWebView2_11_Vtbl::new::<Identity, OFFSET>(),
40242 add_StatusBarTextChanged: add_StatusBarTextChanged::<Identity, OFFSET>,
40243 remove_StatusBarTextChanged: remove_StatusBarTextChanged::<Identity, OFFSET>,
40244 StatusBarText: StatusBarText::<Identity, OFFSET>,
40245 }
40246 }
40247 pub fn matches(iid: &windows_core::GUID) -> bool {
40248 iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40249 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40250 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40251 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40252 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40253 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40254 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40255 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40256 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40257 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40258 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40259 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40260 }
40261}
40262impl windows_core::RuntimeName for ICoreWebView2_12 {}
40263windows_core::imp::define_interface!(
40264 ICoreWebView2_13,
40265 ICoreWebView2_13_Vtbl,
40266 0xf75f09a8_667e_4983_88d6_c8773f315e84
40267);
40268impl core::ops::Deref for ICoreWebView2_13 {
40269 type Target = ICoreWebView2_12;
40270 fn deref(&self) -> &Self::Target {
40271 unsafe { core::mem::transmute(self) }
40272 }
40273}
40274windows_core::imp::interface_hierarchy!(
40275 ICoreWebView2_13,
40276 windows_core::IUnknown,
40277 ICoreWebView2,
40278 ICoreWebView2_2,
40279 ICoreWebView2_3,
40280 ICoreWebView2_4,
40281 ICoreWebView2_5,
40282 ICoreWebView2_6,
40283 ICoreWebView2_7,
40284 ICoreWebView2_8,
40285 ICoreWebView2_9,
40286 ICoreWebView2_10,
40287 ICoreWebView2_11,
40288 ICoreWebView2_12
40289);
40290impl ICoreWebView2_13 {
40291 pub unsafe fn Profile(&self) -> windows_core::Result<ICoreWebView2Profile> {
40292 unsafe {
40293 let mut result__ = core::mem::zeroed();
40294 (windows_core::Interface::vtable(self).Profile)(
40295 windows_core::Interface::as_raw(self),
40296 &mut result__,
40297 )
40298 .and_then(|| windows_core::Type::from_abi(result__))
40299 }
40300 }
40301}
40302#[repr(C)]
40303#[doc(hidden)]
40304pub struct ICoreWebView2_13_Vtbl {
40305 pub base__: ICoreWebView2_12_Vtbl,
40306 pub Profile: unsafe extern "system" fn(
40307 *mut core::ffi::c_void,
40308 *mut *mut core::ffi::c_void,
40309 ) -> windows_core::HRESULT,
40310}
40311pub trait ICoreWebView2_13_Impl: ICoreWebView2_12_Impl {
40312 fn Profile(&self) -> windows_core::Result<ICoreWebView2Profile>;
40313}
40314impl ICoreWebView2_13_Vtbl {
40315 pub const fn new<Identity: ICoreWebView2_13_Impl, const OFFSET: isize>() -> Self {
40316 unsafe extern "system" fn Profile<Identity: ICoreWebView2_13_Impl, const OFFSET: isize>(
40317 this: *mut core::ffi::c_void,
40318 value: *mut *mut core::ffi::c_void,
40319 ) -> windows_core::HRESULT {
40320 unsafe {
40321 let this: &Identity =
40322 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40323 match ICoreWebView2_13_Impl::Profile(this) {
40324 Ok(ok__) => {
40325 value.write(core::mem::transmute(ok__));
40326 windows_core::HRESULT(0)
40327 }
40328 Err(err) => err.into(),
40329 }
40330 }
40331 }
40332 Self {
40333 base__: ICoreWebView2_12_Vtbl::new::<Identity, OFFSET>(),
40334 Profile: Profile::<Identity, OFFSET>,
40335 }
40336 }
40337 pub fn matches(iid: &windows_core::GUID) -> bool {
40338 iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40339 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40340 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40341 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40342 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40343 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40344 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40345 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40346 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40347 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40348 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40349 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40350 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40351 }
40352}
40353impl windows_core::RuntimeName for ICoreWebView2_13 {}
40354windows_core::imp::define_interface!(
40355 ICoreWebView2_14,
40356 ICoreWebView2_14_Vtbl,
40357 0x6daa4f10_4a90_4753_8898_77c5df534165
40358);
40359impl core::ops::Deref for ICoreWebView2_14 {
40360 type Target = ICoreWebView2_13;
40361 fn deref(&self) -> &Self::Target {
40362 unsafe { core::mem::transmute(self) }
40363 }
40364}
40365windows_core::imp::interface_hierarchy!(
40366 ICoreWebView2_14,
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);
40382impl ICoreWebView2_14 {
40383 pub unsafe fn add_ServerCertificateErrorDetected<P0>(
40384 &self,
40385 eventhandler: P0,
40386 token: *mut i64,
40387 ) -> windows_core::Result<()>
40388 where
40389 P0: windows_core::Param<ICoreWebView2ServerCertificateErrorDetectedEventHandler>,
40390 {
40391 unsafe {
40392 (windows_core::Interface::vtable(self).add_ServerCertificateErrorDetected)(
40393 windows_core::Interface::as_raw(self),
40394 eventhandler.param().abi(),
40395 token as _,
40396 )
40397 .ok()
40398 }
40399 }
40400 pub unsafe fn remove_ServerCertificateErrorDetected(
40401 &self,
40402 token: i64,
40403 ) -> windows_core::Result<()> {
40404 unsafe {
40405 (windows_core::Interface::vtable(self).remove_ServerCertificateErrorDetected)(
40406 windows_core::Interface::as_raw(self),
40407 token,
40408 )
40409 .ok()
40410 }
40411 }
40412 pub unsafe fn ClearServerCertificateErrorActions<P0>(
40413 &self,
40414 handler: P0,
40415 ) -> windows_core::Result<()>
40416 where
40417 P0: windows_core::Param<ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler>,
40418 {
40419 unsafe {
40420 (windows_core::Interface::vtable(self).ClearServerCertificateErrorActions)(
40421 windows_core::Interface::as_raw(self),
40422 handler.param().abi(),
40423 )
40424 .ok()
40425 }
40426 }
40427}
40428#[repr(C)]
40429#[doc(hidden)]
40430pub struct ICoreWebView2_14_Vtbl {
40431 pub base__: ICoreWebView2_13_Vtbl,
40432 pub add_ServerCertificateErrorDetected: unsafe extern "system" fn(
40433 *mut core::ffi::c_void,
40434 *mut core::ffi::c_void,
40435 *mut i64,
40436 ) -> windows_core::HRESULT,
40437 pub remove_ServerCertificateErrorDetected:
40438 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
40439 pub ClearServerCertificateErrorActions: unsafe extern "system" fn(
40440 *mut core::ffi::c_void,
40441 *mut core::ffi::c_void,
40442 ) -> windows_core::HRESULT,
40443}
40444pub trait ICoreWebView2_14_Impl: ICoreWebView2_13_Impl {
40445 fn add_ServerCertificateErrorDetected(
40446 &self,
40447 eventhandler: windows_core::Ref<ICoreWebView2ServerCertificateErrorDetectedEventHandler>,
40448 token: *mut i64,
40449 ) -> windows_core::Result<()>;
40450 fn remove_ServerCertificateErrorDetected(&self, token: i64) -> windows_core::Result<()>;
40451 fn ClearServerCertificateErrorActions(
40452 &self,
40453 handler: windows_core::Ref<ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler>,
40454 ) -> windows_core::Result<()>;
40455}
40456impl ICoreWebView2_14_Vtbl {
40457 pub const fn new<Identity: ICoreWebView2_14_Impl, const OFFSET: isize>() -> Self {
40458 unsafe extern "system" fn add_ServerCertificateErrorDetected<
40459 Identity: ICoreWebView2_14_Impl,
40460 const OFFSET: isize,
40461 >(
40462 this: *mut core::ffi::c_void,
40463 eventhandler: *mut core::ffi::c_void,
40464 token: *mut i64,
40465 ) -> windows_core::HRESULT {
40466 unsafe {
40467 let this: &Identity =
40468 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40469 ICoreWebView2_14_Impl::add_ServerCertificateErrorDetected(
40470 this,
40471 core::mem::transmute_copy(&eventhandler),
40472 core::mem::transmute_copy(&token),
40473 )
40474 .into()
40475 }
40476 }
40477 unsafe extern "system" fn remove_ServerCertificateErrorDetected<
40478 Identity: ICoreWebView2_14_Impl,
40479 const OFFSET: isize,
40480 >(
40481 this: *mut core::ffi::c_void,
40482 token: i64,
40483 ) -> windows_core::HRESULT {
40484 unsafe {
40485 let this: &Identity =
40486 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40487 ICoreWebView2_14_Impl::remove_ServerCertificateErrorDetected(
40488 this,
40489 core::mem::transmute_copy(&token),
40490 )
40491 .into()
40492 }
40493 }
40494 unsafe extern "system" fn ClearServerCertificateErrorActions<
40495 Identity: ICoreWebView2_14_Impl,
40496 const OFFSET: isize,
40497 >(
40498 this: *mut core::ffi::c_void,
40499 handler: *mut core::ffi::c_void,
40500 ) -> windows_core::HRESULT {
40501 unsafe {
40502 let this: &Identity =
40503 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40504 ICoreWebView2_14_Impl::ClearServerCertificateErrorActions(
40505 this,
40506 core::mem::transmute_copy(&handler),
40507 )
40508 .into()
40509 }
40510 }
40511 Self {
40512 base__: ICoreWebView2_13_Vtbl::new::<Identity, OFFSET>(),
40513 add_ServerCertificateErrorDetected: add_ServerCertificateErrorDetected::<
40514 Identity,
40515 OFFSET,
40516 >,
40517 remove_ServerCertificateErrorDetected: remove_ServerCertificateErrorDetected::<
40518 Identity,
40519 OFFSET,
40520 >,
40521 ClearServerCertificateErrorActions: ClearServerCertificateErrorActions::<
40522 Identity,
40523 OFFSET,
40524 >,
40525 }
40526 }
40527 pub fn matches(iid: &windows_core::GUID) -> bool {
40528 iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40529 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40530 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40531 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40532 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40533 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40534 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40535 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40536 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40537 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40538 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40539 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40540 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40541 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40542 }
40543}
40544impl windows_core::RuntimeName for ICoreWebView2_14 {}
40545windows_core::imp::define_interface!(
40546 ICoreWebView2_15,
40547 ICoreWebView2_15_Vtbl,
40548 0x517b2d1d_7dae_4a66_a4f4_10352ffb9518
40549);
40550impl core::ops::Deref for ICoreWebView2_15 {
40551 type Target = ICoreWebView2_14;
40552 fn deref(&self) -> &Self::Target {
40553 unsafe { core::mem::transmute(self) }
40554 }
40555}
40556windows_core::imp::interface_hierarchy!(
40557 ICoreWebView2_15,
40558 windows_core::IUnknown,
40559 ICoreWebView2,
40560 ICoreWebView2_2,
40561 ICoreWebView2_3,
40562 ICoreWebView2_4,
40563 ICoreWebView2_5,
40564 ICoreWebView2_6,
40565 ICoreWebView2_7,
40566 ICoreWebView2_8,
40567 ICoreWebView2_9,
40568 ICoreWebView2_10,
40569 ICoreWebView2_11,
40570 ICoreWebView2_12,
40571 ICoreWebView2_13,
40572 ICoreWebView2_14
40573);
40574impl ICoreWebView2_15 {
40575 pub unsafe fn add_FaviconChanged<P0>(
40576 &self,
40577 eventhandler: P0,
40578 token: *mut i64,
40579 ) -> windows_core::Result<()>
40580 where
40581 P0: windows_core::Param<ICoreWebView2FaviconChangedEventHandler>,
40582 {
40583 unsafe {
40584 (windows_core::Interface::vtable(self).add_FaviconChanged)(
40585 windows_core::Interface::as_raw(self),
40586 eventhandler.param().abi(),
40587 token as _,
40588 )
40589 .ok()
40590 }
40591 }
40592 pub unsafe fn remove_FaviconChanged(&self, token: i64) -> windows_core::Result<()> {
40593 unsafe {
40594 (windows_core::Interface::vtable(self).remove_FaviconChanged)(
40595 windows_core::Interface::as_raw(self),
40596 token,
40597 )
40598 .ok()
40599 }
40600 }
40601 pub unsafe fn FaviconUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
40602 unsafe {
40603 (windows_core::Interface::vtable(self).FaviconUri)(
40604 windows_core::Interface::as_raw(self),
40605 value as _,
40606 )
40607 .ok()
40608 }
40609 }
40610 pub unsafe fn GetFavicon<P1>(
40611 &self,
40612 format: COREWEBVIEW2_FAVICON_IMAGE_FORMAT,
40613 completedhandler: P1,
40614 ) -> windows_core::Result<()>
40615 where
40616 P1: windows_core::Param<ICoreWebView2GetFaviconCompletedHandler>,
40617 {
40618 unsafe {
40619 (windows_core::Interface::vtable(self).GetFavicon)(
40620 windows_core::Interface::as_raw(self),
40621 format,
40622 completedhandler.param().abi(),
40623 )
40624 .ok()
40625 }
40626 }
40627}
40628#[repr(C)]
40629#[doc(hidden)]
40630pub struct ICoreWebView2_15_Vtbl {
40631 pub base__: ICoreWebView2_14_Vtbl,
40632 pub add_FaviconChanged: unsafe extern "system" fn(
40633 *mut core::ffi::c_void,
40634 *mut core::ffi::c_void,
40635 *mut i64,
40636 ) -> windows_core::HRESULT,
40637 pub remove_FaviconChanged:
40638 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
40639 pub FaviconUri: unsafe extern "system" fn(
40640 *mut core::ffi::c_void,
40641 *mut windows_core::PWSTR,
40642 ) -> windows_core::HRESULT,
40643 pub GetFavicon: unsafe extern "system" fn(
40644 *mut core::ffi::c_void,
40645 COREWEBVIEW2_FAVICON_IMAGE_FORMAT,
40646 *mut core::ffi::c_void,
40647 ) -> windows_core::HRESULT,
40648}
40649pub trait ICoreWebView2_15_Impl: ICoreWebView2_14_Impl {
40650 fn add_FaviconChanged(
40651 &self,
40652 eventhandler: windows_core::Ref<ICoreWebView2FaviconChangedEventHandler>,
40653 token: *mut i64,
40654 ) -> windows_core::Result<()>;
40655 fn remove_FaviconChanged(&self, token: i64) -> windows_core::Result<()>;
40656 fn FaviconUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
40657 fn GetFavicon(
40658 &self,
40659 format: COREWEBVIEW2_FAVICON_IMAGE_FORMAT,
40660 completedhandler: windows_core::Ref<ICoreWebView2GetFaviconCompletedHandler>,
40661 ) -> windows_core::Result<()>;
40662}
40663impl ICoreWebView2_15_Vtbl {
40664 pub const fn new<Identity: ICoreWebView2_15_Impl, const OFFSET: isize>() -> Self {
40665 unsafe extern "system" fn add_FaviconChanged<
40666 Identity: ICoreWebView2_15_Impl,
40667 const OFFSET: isize,
40668 >(
40669 this: *mut core::ffi::c_void,
40670 eventhandler: *mut core::ffi::c_void,
40671 token: *mut i64,
40672 ) -> windows_core::HRESULT {
40673 unsafe {
40674 let this: &Identity =
40675 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40676 ICoreWebView2_15_Impl::add_FaviconChanged(
40677 this,
40678 core::mem::transmute_copy(&eventhandler),
40679 core::mem::transmute_copy(&token),
40680 )
40681 .into()
40682 }
40683 }
40684 unsafe extern "system" fn remove_FaviconChanged<
40685 Identity: ICoreWebView2_15_Impl,
40686 const OFFSET: isize,
40687 >(
40688 this: *mut core::ffi::c_void,
40689 token: i64,
40690 ) -> windows_core::HRESULT {
40691 unsafe {
40692 let this: &Identity =
40693 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40694 ICoreWebView2_15_Impl::remove_FaviconChanged(
40695 this,
40696 core::mem::transmute_copy(&token),
40697 )
40698 .into()
40699 }
40700 }
40701 unsafe extern "system" fn FaviconUri<
40702 Identity: ICoreWebView2_15_Impl,
40703 const OFFSET: isize,
40704 >(
40705 this: *mut core::ffi::c_void,
40706 value: *mut windows_core::PWSTR,
40707 ) -> windows_core::HRESULT {
40708 unsafe {
40709 let this: &Identity =
40710 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40711 ICoreWebView2_15_Impl::FaviconUri(this, core::mem::transmute_copy(&value)).into()
40712 }
40713 }
40714 unsafe extern "system" fn GetFavicon<
40715 Identity: ICoreWebView2_15_Impl,
40716 const OFFSET: isize,
40717 >(
40718 this: *mut core::ffi::c_void,
40719 format: COREWEBVIEW2_FAVICON_IMAGE_FORMAT,
40720 completedhandler: *mut core::ffi::c_void,
40721 ) -> windows_core::HRESULT {
40722 unsafe {
40723 let this: &Identity =
40724 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40725 ICoreWebView2_15_Impl::GetFavicon(
40726 this,
40727 core::mem::transmute_copy(&format),
40728 core::mem::transmute_copy(&completedhandler),
40729 )
40730 .into()
40731 }
40732 }
40733 Self {
40734 base__: ICoreWebView2_14_Vtbl::new::<Identity, OFFSET>(),
40735 add_FaviconChanged: add_FaviconChanged::<Identity, OFFSET>,
40736 remove_FaviconChanged: remove_FaviconChanged::<Identity, OFFSET>,
40737 FaviconUri: FaviconUri::<Identity, OFFSET>,
40738 GetFavicon: GetFavicon::<Identity, OFFSET>,
40739 }
40740 }
40741 pub fn matches(iid: &windows_core::GUID) -> bool {
40742 iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
40743 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40744 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40745 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40746 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40747 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40748 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40749 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40750 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40751 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40752 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40753 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40754 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40755 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40756 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40757 }
40758}
40759impl windows_core::RuntimeName for ICoreWebView2_15 {}
40760windows_core::imp::define_interface!(
40761 ICoreWebView2_16,
40762 ICoreWebView2_16_Vtbl,
40763 0x0eb34dc9_9f91_41e1_8639_95cd5943906b
40764);
40765impl core::ops::Deref for ICoreWebView2_16 {
40766 type Target = ICoreWebView2_15;
40767 fn deref(&self) -> &Self::Target {
40768 unsafe { core::mem::transmute(self) }
40769 }
40770}
40771windows_core::imp::interface_hierarchy!(
40772 ICoreWebView2_16,
40773 windows_core::IUnknown,
40774 ICoreWebView2,
40775 ICoreWebView2_2,
40776 ICoreWebView2_3,
40777 ICoreWebView2_4,
40778 ICoreWebView2_5,
40779 ICoreWebView2_6,
40780 ICoreWebView2_7,
40781 ICoreWebView2_8,
40782 ICoreWebView2_9,
40783 ICoreWebView2_10,
40784 ICoreWebView2_11,
40785 ICoreWebView2_12,
40786 ICoreWebView2_13,
40787 ICoreWebView2_14,
40788 ICoreWebView2_15
40789);
40790impl ICoreWebView2_16 {
40791 pub unsafe fn Print<P0, P1>(&self, printsettings: P0, handler: P1) -> windows_core::Result<()>
40792 where
40793 P0: windows_core::Param<ICoreWebView2PrintSettings>,
40794 P1: windows_core::Param<ICoreWebView2PrintCompletedHandler>,
40795 {
40796 unsafe {
40797 (windows_core::Interface::vtable(self).Print)(
40798 windows_core::Interface::as_raw(self),
40799 printsettings.param().abi(),
40800 handler.param().abi(),
40801 )
40802 .ok()
40803 }
40804 }
40805 pub unsafe fn ShowPrintUI(
40806 &self,
40807 printdialogkind: COREWEBVIEW2_PRINT_DIALOG_KIND,
40808 ) -> windows_core::Result<()> {
40809 unsafe {
40810 (windows_core::Interface::vtable(self).ShowPrintUI)(
40811 windows_core::Interface::as_raw(self),
40812 printdialogkind,
40813 )
40814 .ok()
40815 }
40816 }
40817 pub unsafe fn PrintToPdfStream<P0, P1>(
40818 &self,
40819 printsettings: P0,
40820 handler: P1,
40821 ) -> windows_core::Result<()>
40822 where
40823 P0: windows_core::Param<ICoreWebView2PrintSettings>,
40824 P1: windows_core::Param<ICoreWebView2PrintToPdfStreamCompletedHandler>,
40825 {
40826 unsafe {
40827 (windows_core::Interface::vtable(self).PrintToPdfStream)(
40828 windows_core::Interface::as_raw(self),
40829 printsettings.param().abi(),
40830 handler.param().abi(),
40831 )
40832 .ok()
40833 }
40834 }
40835}
40836#[repr(C)]
40837#[doc(hidden)]
40838pub struct ICoreWebView2_16_Vtbl {
40839 pub base__: ICoreWebView2_15_Vtbl,
40840 pub Print: unsafe extern "system" fn(
40841 *mut core::ffi::c_void,
40842 *mut core::ffi::c_void,
40843 *mut core::ffi::c_void,
40844 ) -> windows_core::HRESULT,
40845 pub ShowPrintUI: unsafe extern "system" fn(
40846 *mut core::ffi::c_void,
40847 COREWEBVIEW2_PRINT_DIALOG_KIND,
40848 ) -> windows_core::HRESULT,
40849 pub PrintToPdfStream: unsafe extern "system" fn(
40850 *mut core::ffi::c_void,
40851 *mut core::ffi::c_void,
40852 *mut core::ffi::c_void,
40853 ) -> windows_core::HRESULT,
40854}
40855pub trait ICoreWebView2_16_Impl: ICoreWebView2_15_Impl {
40856 fn Print(
40857 &self,
40858 printsettings: windows_core::Ref<ICoreWebView2PrintSettings>,
40859 handler: windows_core::Ref<ICoreWebView2PrintCompletedHandler>,
40860 ) -> windows_core::Result<()>;
40861 fn ShowPrintUI(
40862 &self,
40863 printdialogkind: COREWEBVIEW2_PRINT_DIALOG_KIND,
40864 ) -> windows_core::Result<()>;
40865 fn PrintToPdfStream(
40866 &self,
40867 printsettings: windows_core::Ref<ICoreWebView2PrintSettings>,
40868 handler: windows_core::Ref<ICoreWebView2PrintToPdfStreamCompletedHandler>,
40869 ) -> windows_core::Result<()>;
40870}
40871impl ICoreWebView2_16_Vtbl {
40872 pub const fn new<Identity: ICoreWebView2_16_Impl, const OFFSET: isize>() -> Self {
40873 unsafe extern "system" fn Print<Identity: ICoreWebView2_16_Impl, const OFFSET: isize>(
40874 this: *mut core::ffi::c_void,
40875 printsettings: *mut core::ffi::c_void,
40876 handler: *mut core::ffi::c_void,
40877 ) -> windows_core::HRESULT {
40878 unsafe {
40879 let this: &Identity =
40880 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40881 ICoreWebView2_16_Impl::Print(
40882 this,
40883 core::mem::transmute_copy(&printsettings),
40884 core::mem::transmute_copy(&handler),
40885 )
40886 .into()
40887 }
40888 }
40889 unsafe extern "system" fn ShowPrintUI<
40890 Identity: ICoreWebView2_16_Impl,
40891 const OFFSET: isize,
40892 >(
40893 this: *mut core::ffi::c_void,
40894 printdialogkind: COREWEBVIEW2_PRINT_DIALOG_KIND,
40895 ) -> windows_core::HRESULT {
40896 unsafe {
40897 let this: &Identity =
40898 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40899 ICoreWebView2_16_Impl::ShowPrintUI(
40900 this,
40901 core::mem::transmute_copy(&printdialogkind),
40902 )
40903 .into()
40904 }
40905 }
40906 unsafe extern "system" fn PrintToPdfStream<
40907 Identity: ICoreWebView2_16_Impl,
40908 const OFFSET: isize,
40909 >(
40910 this: *mut core::ffi::c_void,
40911 printsettings: *mut core::ffi::c_void,
40912 handler: *mut core::ffi::c_void,
40913 ) -> windows_core::HRESULT {
40914 unsafe {
40915 let this: &Identity =
40916 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40917 ICoreWebView2_16_Impl::PrintToPdfStream(
40918 this,
40919 core::mem::transmute_copy(&printsettings),
40920 core::mem::transmute_copy(&handler),
40921 )
40922 .into()
40923 }
40924 }
40925 Self {
40926 base__: ICoreWebView2_15_Vtbl::new::<Identity, OFFSET>(),
40927 Print: Print::<Identity, OFFSET>,
40928 ShowPrintUI: ShowPrintUI::<Identity, OFFSET>,
40929 PrintToPdfStream: PrintToPdfStream::<Identity, OFFSET>,
40930 }
40931 }
40932 pub fn matches(iid: &windows_core::GUID) -> bool {
40933 iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
40934 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40935 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40936 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40937 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40938 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40939 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40940 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40941 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40942 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40943 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40944 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40945 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40946 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40947 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40948 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
40949 }
40950}
40951impl windows_core::RuntimeName for ICoreWebView2_16 {}
40952windows_core::imp::define_interface!(
40953 ICoreWebView2_17,
40954 ICoreWebView2_17_Vtbl,
40955 0x702e75d4_fd44_434d_9d70_1a68a6b1192a
40956);
40957impl core::ops::Deref for ICoreWebView2_17 {
40958 type Target = ICoreWebView2_16;
40959 fn deref(&self) -> &Self::Target {
40960 unsafe { core::mem::transmute(self) }
40961 }
40962}
40963windows_core::imp::interface_hierarchy!(
40964 ICoreWebView2_17,
40965 windows_core::IUnknown,
40966 ICoreWebView2,
40967 ICoreWebView2_2,
40968 ICoreWebView2_3,
40969 ICoreWebView2_4,
40970 ICoreWebView2_5,
40971 ICoreWebView2_6,
40972 ICoreWebView2_7,
40973 ICoreWebView2_8,
40974 ICoreWebView2_9,
40975 ICoreWebView2_10,
40976 ICoreWebView2_11,
40977 ICoreWebView2_12,
40978 ICoreWebView2_13,
40979 ICoreWebView2_14,
40980 ICoreWebView2_15,
40981 ICoreWebView2_16
40982);
40983impl ICoreWebView2_17 {
40984 pub unsafe fn PostSharedBufferToScript<P0, P2>(
40985 &self,
40986 sharedbuffer: P0,
40987 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
40988 additionaldataasjson: P2,
40989 ) -> windows_core::Result<()>
40990 where
40991 P0: windows_core::Param<ICoreWebView2SharedBuffer>,
40992 P2: windows_core::Param<windows_core::PCWSTR>,
40993 {
40994 unsafe {
40995 (windows_core::Interface::vtable(self).PostSharedBufferToScript)(
40996 windows_core::Interface::as_raw(self),
40997 sharedbuffer.param().abi(),
40998 access,
40999 additionaldataasjson.param().abi(),
41000 )
41001 .ok()
41002 }
41003 }
41004}
41005#[repr(C)]
41006#[doc(hidden)]
41007pub struct ICoreWebView2_17_Vtbl {
41008 pub base__: ICoreWebView2_16_Vtbl,
41009 pub PostSharedBufferToScript: unsafe extern "system" fn(
41010 *mut core::ffi::c_void,
41011 *mut core::ffi::c_void,
41012 COREWEBVIEW2_SHARED_BUFFER_ACCESS,
41013 windows_core::PCWSTR,
41014 ) -> windows_core::HRESULT,
41015}
41016pub trait ICoreWebView2_17_Impl: ICoreWebView2_16_Impl {
41017 fn PostSharedBufferToScript(
41018 &self,
41019 sharedbuffer: windows_core::Ref<ICoreWebView2SharedBuffer>,
41020 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
41021 additionaldataasjson: &windows_core::PCWSTR,
41022 ) -> windows_core::Result<()>;
41023}
41024impl ICoreWebView2_17_Vtbl {
41025 pub const fn new<Identity: ICoreWebView2_17_Impl, const OFFSET: isize>() -> Self {
41026 unsafe extern "system" fn PostSharedBufferToScript<
41027 Identity: ICoreWebView2_17_Impl,
41028 const OFFSET: isize,
41029 >(
41030 this: *mut core::ffi::c_void,
41031 sharedbuffer: *mut core::ffi::c_void,
41032 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
41033 additionaldataasjson: windows_core::PCWSTR,
41034 ) -> windows_core::HRESULT {
41035 unsafe {
41036 let this: &Identity =
41037 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41038 ICoreWebView2_17_Impl::PostSharedBufferToScript(
41039 this,
41040 core::mem::transmute_copy(&sharedbuffer),
41041 core::mem::transmute_copy(&access),
41042 core::mem::transmute(&additionaldataasjson),
41043 )
41044 .into()
41045 }
41046 }
41047 Self {
41048 base__: ICoreWebView2_16_Vtbl::new::<Identity, OFFSET>(),
41049 PostSharedBufferToScript: PostSharedBufferToScript::<Identity, OFFSET>,
41050 }
41051 }
41052 pub fn matches(iid: &windows_core::GUID) -> bool {
41053 iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
41054 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41055 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41056 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41057 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41058 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
41059 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
41060 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
41061 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
41062 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
41063 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
41064 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
41065 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
41066 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
41067 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
41068 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
41069 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
41070 }
41071}
41072impl windows_core::RuntimeName for ICoreWebView2_17 {}
41073windows_core::imp::define_interface!(
41074 ICoreWebView2_18,
41075 ICoreWebView2_18_Vtbl,
41076 0x7a626017_28be_49b2_b865_3ba2b3522d90
41077);
41078impl core::ops::Deref for ICoreWebView2_18 {
41079 type Target = ICoreWebView2_17;
41080 fn deref(&self) -> &Self::Target {
41081 unsafe { core::mem::transmute(self) }
41082 }
41083}
41084windows_core::imp::interface_hierarchy!(
41085 ICoreWebView2_18,
41086 windows_core::IUnknown,
41087 ICoreWebView2,
41088 ICoreWebView2_2,
41089 ICoreWebView2_3,
41090 ICoreWebView2_4,
41091 ICoreWebView2_5,
41092 ICoreWebView2_6,
41093 ICoreWebView2_7,
41094 ICoreWebView2_8,
41095 ICoreWebView2_9,
41096 ICoreWebView2_10,
41097 ICoreWebView2_11,
41098 ICoreWebView2_12,
41099 ICoreWebView2_13,
41100 ICoreWebView2_14,
41101 ICoreWebView2_15,
41102 ICoreWebView2_16,
41103 ICoreWebView2_17
41104);
41105impl ICoreWebView2_18 {
41106 pub unsafe fn add_LaunchingExternalUriScheme<P0>(
41107 &self,
41108 eventhandler: P0,
41109 token: *mut i64,
41110 ) -> windows_core::Result<()>
41111 where
41112 P0: windows_core::Param<ICoreWebView2LaunchingExternalUriSchemeEventHandler>,
41113 {
41114 unsafe {
41115 (windows_core::Interface::vtable(self).add_LaunchingExternalUriScheme)(
41116 windows_core::Interface::as_raw(self),
41117 eventhandler.param().abi(),
41118 token as _,
41119 )
41120 .ok()
41121 }
41122 }
41123 pub unsafe fn remove_LaunchingExternalUriScheme(&self, token: i64) -> windows_core::Result<()> {
41124 unsafe {
41125 (windows_core::Interface::vtable(self).remove_LaunchingExternalUriScheme)(
41126 windows_core::Interface::as_raw(self),
41127 token,
41128 )
41129 .ok()
41130 }
41131 }
41132}
41133#[repr(C)]
41134#[doc(hidden)]
41135pub struct ICoreWebView2_18_Vtbl {
41136 pub base__: ICoreWebView2_17_Vtbl,
41137 pub add_LaunchingExternalUriScheme: unsafe extern "system" fn(
41138 *mut core::ffi::c_void,
41139 *mut core::ffi::c_void,
41140 *mut i64,
41141 ) -> windows_core::HRESULT,
41142 pub remove_LaunchingExternalUriScheme:
41143 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41144}
41145pub trait ICoreWebView2_18_Impl: ICoreWebView2_17_Impl {
41146 fn add_LaunchingExternalUriScheme(
41147 &self,
41148 eventhandler: windows_core::Ref<ICoreWebView2LaunchingExternalUriSchemeEventHandler>,
41149 token: *mut i64,
41150 ) -> windows_core::Result<()>;
41151 fn remove_LaunchingExternalUriScheme(&self, token: i64) -> windows_core::Result<()>;
41152}
41153impl ICoreWebView2_18_Vtbl {
41154 pub const fn new<Identity: ICoreWebView2_18_Impl, const OFFSET: isize>() -> Self {
41155 unsafe extern "system" fn add_LaunchingExternalUriScheme<
41156 Identity: ICoreWebView2_18_Impl,
41157 const OFFSET: isize,
41158 >(
41159 this: *mut core::ffi::c_void,
41160 eventhandler: *mut core::ffi::c_void,
41161 token: *mut i64,
41162 ) -> windows_core::HRESULT {
41163 unsafe {
41164 let this: &Identity =
41165 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41166 ICoreWebView2_18_Impl::add_LaunchingExternalUriScheme(
41167 this,
41168 core::mem::transmute_copy(&eventhandler),
41169 core::mem::transmute_copy(&token),
41170 )
41171 .into()
41172 }
41173 }
41174 unsafe extern "system" fn remove_LaunchingExternalUriScheme<
41175 Identity: ICoreWebView2_18_Impl,
41176 const OFFSET: isize,
41177 >(
41178 this: *mut core::ffi::c_void,
41179 token: i64,
41180 ) -> windows_core::HRESULT {
41181 unsafe {
41182 let this: &Identity =
41183 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41184 ICoreWebView2_18_Impl::remove_LaunchingExternalUriScheme(
41185 this,
41186 core::mem::transmute_copy(&token),
41187 )
41188 .into()
41189 }
41190 }
41191 Self {
41192 base__: ICoreWebView2_17_Vtbl::new::<Identity, OFFSET>(),
41193 add_LaunchingExternalUriScheme: add_LaunchingExternalUriScheme::<Identity, OFFSET>,
41194 remove_LaunchingExternalUriScheme: remove_LaunchingExternalUriScheme::<Identity, OFFSET>,
41195 }
41196 }
41197 pub fn matches(iid: &windows_core::GUID) -> bool {
41198 iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
41199 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41200 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41201 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41202 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41203 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
41204 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
41205 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
41206 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
41207 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
41208 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
41209 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
41210 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
41211 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
41212 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
41213 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
41214 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
41215 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
41216 }
41217}
41218impl windows_core::RuntimeName for ICoreWebView2_18 {}
41219windows_core::imp::define_interface!(
41220 ICoreWebView2_19,
41221 ICoreWebView2_19_Vtbl,
41222 0x6921f954_79b0_437f_a997_c85811897c68
41223);
41224impl core::ops::Deref for ICoreWebView2_19 {
41225 type Target = ICoreWebView2_18;
41226 fn deref(&self) -> &Self::Target {
41227 unsafe { core::mem::transmute(self) }
41228 }
41229}
41230windows_core::imp::interface_hierarchy!(
41231 ICoreWebView2_19,
41232 windows_core::IUnknown,
41233 ICoreWebView2,
41234 ICoreWebView2_2,
41235 ICoreWebView2_3,
41236 ICoreWebView2_4,
41237 ICoreWebView2_5,
41238 ICoreWebView2_6,
41239 ICoreWebView2_7,
41240 ICoreWebView2_8,
41241 ICoreWebView2_9,
41242 ICoreWebView2_10,
41243 ICoreWebView2_11,
41244 ICoreWebView2_12,
41245 ICoreWebView2_13,
41246 ICoreWebView2_14,
41247 ICoreWebView2_15,
41248 ICoreWebView2_16,
41249 ICoreWebView2_17,
41250 ICoreWebView2_18
41251);
41252impl ICoreWebView2_19 {
41253 pub unsafe fn MemoryUsageTargetLevel(
41254 &self,
41255 value: *mut COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
41256 ) -> windows_core::Result<()> {
41257 unsafe {
41258 (windows_core::Interface::vtable(self).MemoryUsageTargetLevel)(
41259 windows_core::Interface::as_raw(self),
41260 value as _,
41261 )
41262 .ok()
41263 }
41264 }
41265 pub unsafe fn SetMemoryUsageTargetLevel(
41266 &self,
41267 value: COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
41268 ) -> windows_core::Result<()> {
41269 unsafe {
41270 (windows_core::Interface::vtable(self).SetMemoryUsageTargetLevel)(
41271 windows_core::Interface::as_raw(self),
41272 value,
41273 )
41274 .ok()
41275 }
41276 }
41277}
41278#[repr(C)]
41279#[doc(hidden)]
41280pub struct ICoreWebView2_19_Vtbl {
41281 pub base__: ICoreWebView2_18_Vtbl,
41282 pub MemoryUsageTargetLevel: unsafe extern "system" fn(
41283 *mut core::ffi::c_void,
41284 *mut COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
41285 ) -> windows_core::HRESULT,
41286 pub SetMemoryUsageTargetLevel: unsafe extern "system" fn(
41287 *mut core::ffi::c_void,
41288 COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
41289 ) -> windows_core::HRESULT,
41290}
41291pub trait ICoreWebView2_19_Impl: ICoreWebView2_18_Impl {
41292 fn MemoryUsageTargetLevel(
41293 &self,
41294 value: *mut COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
41295 ) -> windows_core::Result<()>;
41296 fn SetMemoryUsageTargetLevel(
41297 &self,
41298 value: COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
41299 ) -> windows_core::Result<()>;
41300}
41301impl ICoreWebView2_19_Vtbl {
41302 pub const fn new<Identity: ICoreWebView2_19_Impl, const OFFSET: isize>() -> Self {
41303 unsafe extern "system" fn MemoryUsageTargetLevel<
41304 Identity: ICoreWebView2_19_Impl,
41305 const OFFSET: isize,
41306 >(
41307 this: *mut core::ffi::c_void,
41308 value: *mut COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
41309 ) -> windows_core::HRESULT {
41310 unsafe {
41311 let this: &Identity =
41312 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41313 ICoreWebView2_19_Impl::MemoryUsageTargetLevel(
41314 this,
41315 core::mem::transmute_copy(&value),
41316 )
41317 .into()
41318 }
41319 }
41320 unsafe extern "system" fn SetMemoryUsageTargetLevel<
41321 Identity: ICoreWebView2_19_Impl,
41322 const OFFSET: isize,
41323 >(
41324 this: *mut core::ffi::c_void,
41325 value: COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
41326 ) -> windows_core::HRESULT {
41327 unsafe {
41328 let this: &Identity =
41329 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41330 ICoreWebView2_19_Impl::SetMemoryUsageTargetLevel(
41331 this,
41332 core::mem::transmute_copy(&value),
41333 )
41334 .into()
41335 }
41336 }
41337 Self {
41338 base__: ICoreWebView2_18_Vtbl::new::<Identity, OFFSET>(),
41339 MemoryUsageTargetLevel: MemoryUsageTargetLevel::<Identity, OFFSET>,
41340 SetMemoryUsageTargetLevel: SetMemoryUsageTargetLevel::<Identity, OFFSET>,
41341 }
41342 }
41343 pub fn matches(iid: &windows_core::GUID) -> bool {
41344 iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
41345 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41346 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41347 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41348 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41349 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
41350 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
41351 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
41352 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
41353 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
41354 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
41355 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
41356 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
41357 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
41358 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
41359 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
41360 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
41361 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
41362 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
41363 }
41364}
41365impl windows_core::RuntimeName for ICoreWebView2_19 {}
41366windows_core::imp::define_interface!(
41367 ICoreWebView2_2,
41368 ICoreWebView2_2_Vtbl,
41369 0x9e8f0cf8_e670_4b5e_b2bc_73e061e3184c
41370);
41371impl core::ops::Deref for ICoreWebView2_2 {
41372 type Target = ICoreWebView2;
41373 fn deref(&self) -> &Self::Target {
41374 unsafe { core::mem::transmute(self) }
41375 }
41376}
41377windows_core::imp::interface_hierarchy!(ICoreWebView2_2, windows_core::IUnknown, ICoreWebView2);
41378impl ICoreWebView2_2 {
41379 pub unsafe fn add_WebResourceResponseReceived<P0>(
41380 &self,
41381 eventhandler: P0,
41382 token: *mut i64,
41383 ) -> windows_core::Result<()>
41384 where
41385 P0: windows_core::Param<ICoreWebView2WebResourceResponseReceivedEventHandler>,
41386 {
41387 unsafe {
41388 (windows_core::Interface::vtable(self).add_WebResourceResponseReceived)(
41389 windows_core::Interface::as_raw(self),
41390 eventhandler.param().abi(),
41391 token as _,
41392 )
41393 .ok()
41394 }
41395 }
41396 pub unsafe fn remove_WebResourceResponseReceived(
41397 &self,
41398 token: i64,
41399 ) -> windows_core::Result<()> {
41400 unsafe {
41401 (windows_core::Interface::vtable(self).remove_WebResourceResponseReceived)(
41402 windows_core::Interface::as_raw(self),
41403 token,
41404 )
41405 .ok()
41406 }
41407 }
41408 pub unsafe fn NavigateWithWebResourceRequest<P0>(&self, request: P0) -> windows_core::Result<()>
41409 where
41410 P0: windows_core::Param<ICoreWebView2WebResourceRequest>,
41411 {
41412 unsafe {
41413 (windows_core::Interface::vtable(self).NavigateWithWebResourceRequest)(
41414 windows_core::Interface::as_raw(self),
41415 request.param().abi(),
41416 )
41417 .ok()
41418 }
41419 }
41420 pub unsafe fn add_DOMContentLoaded<P0>(
41421 &self,
41422 eventhandler: P0,
41423 token: *mut i64,
41424 ) -> windows_core::Result<()>
41425 where
41426 P0: windows_core::Param<ICoreWebView2DOMContentLoadedEventHandler>,
41427 {
41428 unsafe {
41429 (windows_core::Interface::vtable(self).add_DOMContentLoaded)(
41430 windows_core::Interface::as_raw(self),
41431 eventhandler.param().abi(),
41432 token as _,
41433 )
41434 .ok()
41435 }
41436 }
41437 pub unsafe fn remove_DOMContentLoaded(&self, token: i64) -> windows_core::Result<()> {
41438 unsafe {
41439 (windows_core::Interface::vtable(self).remove_DOMContentLoaded)(
41440 windows_core::Interface::as_raw(self),
41441 token,
41442 )
41443 .ok()
41444 }
41445 }
41446 pub unsafe fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager> {
41447 unsafe {
41448 let mut result__ = core::mem::zeroed();
41449 (windows_core::Interface::vtable(self).CookieManager)(
41450 windows_core::Interface::as_raw(self),
41451 &mut result__,
41452 )
41453 .and_then(|| windows_core::Type::from_abi(result__))
41454 }
41455 }
41456 pub unsafe fn Environment(&self) -> windows_core::Result<ICoreWebView2Environment> {
41457 unsafe {
41458 let mut result__ = core::mem::zeroed();
41459 (windows_core::Interface::vtable(self).Environment)(
41460 windows_core::Interface::as_raw(self),
41461 &mut result__,
41462 )
41463 .and_then(|| windows_core::Type::from_abi(result__))
41464 }
41465 }
41466}
41467#[repr(C)]
41468#[doc(hidden)]
41469pub struct ICoreWebView2_2_Vtbl {
41470 pub base__: ICoreWebView2_Vtbl,
41471 pub add_WebResourceResponseReceived: unsafe extern "system" fn(
41472 *mut core::ffi::c_void,
41473 *mut core::ffi::c_void,
41474 *mut i64,
41475 ) -> windows_core::HRESULT,
41476 pub remove_WebResourceResponseReceived:
41477 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41478 pub NavigateWithWebResourceRequest: unsafe extern "system" fn(
41479 *mut core::ffi::c_void,
41480 *mut core::ffi::c_void,
41481 ) -> windows_core::HRESULT,
41482 pub add_DOMContentLoaded: unsafe extern "system" fn(
41483 *mut core::ffi::c_void,
41484 *mut core::ffi::c_void,
41485 *mut i64,
41486 ) -> windows_core::HRESULT,
41487 pub remove_DOMContentLoaded:
41488 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41489 pub CookieManager: unsafe extern "system" fn(
41490 *mut core::ffi::c_void,
41491 *mut *mut core::ffi::c_void,
41492 ) -> windows_core::HRESULT,
41493 pub Environment: unsafe extern "system" fn(
41494 *mut core::ffi::c_void,
41495 *mut *mut core::ffi::c_void,
41496 ) -> windows_core::HRESULT,
41497}
41498pub trait ICoreWebView2_2_Impl: ICoreWebView2_Impl {
41499 fn add_WebResourceResponseReceived(
41500 &self,
41501 eventhandler: windows_core::Ref<ICoreWebView2WebResourceResponseReceivedEventHandler>,
41502 token: *mut i64,
41503 ) -> windows_core::Result<()>;
41504 fn remove_WebResourceResponseReceived(&self, token: i64) -> windows_core::Result<()>;
41505 fn NavigateWithWebResourceRequest(
41506 &self,
41507 request: windows_core::Ref<ICoreWebView2WebResourceRequest>,
41508 ) -> windows_core::Result<()>;
41509 fn add_DOMContentLoaded(
41510 &self,
41511 eventhandler: windows_core::Ref<ICoreWebView2DOMContentLoadedEventHandler>,
41512 token: *mut i64,
41513 ) -> windows_core::Result<()>;
41514 fn remove_DOMContentLoaded(&self, token: i64) -> windows_core::Result<()>;
41515 fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager>;
41516 fn Environment(&self) -> windows_core::Result<ICoreWebView2Environment>;
41517}
41518impl ICoreWebView2_2_Vtbl {
41519 pub const fn new<Identity: ICoreWebView2_2_Impl, const OFFSET: isize>() -> Self {
41520 unsafe extern "system" fn add_WebResourceResponseReceived<
41521 Identity: ICoreWebView2_2_Impl,
41522 const OFFSET: isize,
41523 >(
41524 this: *mut core::ffi::c_void,
41525 eventhandler: *mut core::ffi::c_void,
41526 token: *mut i64,
41527 ) -> windows_core::HRESULT {
41528 unsafe {
41529 let this: &Identity =
41530 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41531 ICoreWebView2_2_Impl::add_WebResourceResponseReceived(
41532 this,
41533 core::mem::transmute_copy(&eventhandler),
41534 core::mem::transmute_copy(&token),
41535 )
41536 .into()
41537 }
41538 }
41539 unsafe extern "system" fn remove_WebResourceResponseReceived<
41540 Identity: ICoreWebView2_2_Impl,
41541 const OFFSET: isize,
41542 >(
41543 this: *mut core::ffi::c_void,
41544 token: i64,
41545 ) -> windows_core::HRESULT {
41546 unsafe {
41547 let this: &Identity =
41548 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41549 ICoreWebView2_2_Impl::remove_WebResourceResponseReceived(
41550 this,
41551 core::mem::transmute_copy(&token),
41552 )
41553 .into()
41554 }
41555 }
41556 unsafe extern "system" fn NavigateWithWebResourceRequest<
41557 Identity: ICoreWebView2_2_Impl,
41558 const OFFSET: isize,
41559 >(
41560 this: *mut core::ffi::c_void,
41561 request: *mut core::ffi::c_void,
41562 ) -> windows_core::HRESULT {
41563 unsafe {
41564 let this: &Identity =
41565 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41566 ICoreWebView2_2_Impl::NavigateWithWebResourceRequest(
41567 this,
41568 core::mem::transmute_copy(&request),
41569 )
41570 .into()
41571 }
41572 }
41573 unsafe extern "system" fn add_DOMContentLoaded<
41574 Identity: ICoreWebView2_2_Impl,
41575 const OFFSET: isize,
41576 >(
41577 this: *mut core::ffi::c_void,
41578 eventhandler: *mut core::ffi::c_void,
41579 token: *mut i64,
41580 ) -> windows_core::HRESULT {
41581 unsafe {
41582 let this: &Identity =
41583 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41584 ICoreWebView2_2_Impl::add_DOMContentLoaded(
41585 this,
41586 core::mem::transmute_copy(&eventhandler),
41587 core::mem::transmute_copy(&token),
41588 )
41589 .into()
41590 }
41591 }
41592 unsafe extern "system" fn remove_DOMContentLoaded<
41593 Identity: ICoreWebView2_2_Impl,
41594 const OFFSET: isize,
41595 >(
41596 this: *mut core::ffi::c_void,
41597 token: i64,
41598 ) -> windows_core::HRESULT {
41599 unsafe {
41600 let this: &Identity =
41601 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41602 ICoreWebView2_2_Impl::remove_DOMContentLoaded(
41603 this,
41604 core::mem::transmute_copy(&token),
41605 )
41606 .into()
41607 }
41608 }
41609 unsafe extern "system" fn CookieManager<
41610 Identity: ICoreWebView2_2_Impl,
41611 const OFFSET: isize,
41612 >(
41613 this: *mut core::ffi::c_void,
41614 cookiemanager: *mut *mut core::ffi::c_void,
41615 ) -> windows_core::HRESULT {
41616 unsafe {
41617 let this: &Identity =
41618 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41619 match ICoreWebView2_2_Impl::CookieManager(this) {
41620 Ok(ok__) => {
41621 cookiemanager.write(core::mem::transmute(ok__));
41622 windows_core::HRESULT(0)
41623 }
41624 Err(err) => err.into(),
41625 }
41626 }
41627 }
41628 unsafe extern "system" fn Environment<
41629 Identity: ICoreWebView2_2_Impl,
41630 const OFFSET: isize,
41631 >(
41632 this: *mut core::ffi::c_void,
41633 environment: *mut *mut core::ffi::c_void,
41634 ) -> windows_core::HRESULT {
41635 unsafe {
41636 let this: &Identity =
41637 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41638 match ICoreWebView2_2_Impl::Environment(this) {
41639 Ok(ok__) => {
41640 environment.write(core::mem::transmute(ok__));
41641 windows_core::HRESULT(0)
41642 }
41643 Err(err) => err.into(),
41644 }
41645 }
41646 }
41647 Self {
41648 base__: ICoreWebView2_Vtbl::new::<Identity, OFFSET>(),
41649 add_WebResourceResponseReceived: add_WebResourceResponseReceived::<Identity, OFFSET>,
41650 remove_WebResourceResponseReceived: remove_WebResourceResponseReceived::<
41651 Identity,
41652 OFFSET,
41653 >,
41654 NavigateWithWebResourceRequest: NavigateWithWebResourceRequest::<Identity, OFFSET>,
41655 add_DOMContentLoaded: add_DOMContentLoaded::<Identity, OFFSET>,
41656 remove_DOMContentLoaded: remove_DOMContentLoaded::<Identity, OFFSET>,
41657 CookieManager: CookieManager::<Identity, OFFSET>,
41658 Environment: Environment::<Identity, OFFSET>,
41659 }
41660 }
41661 pub fn matches(iid: &windows_core::GUID) -> bool {
41662 iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41663 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41664 }
41665}
41666impl windows_core::RuntimeName for ICoreWebView2_2 {}
41667windows_core::imp::define_interface!(
41668 ICoreWebView2_20,
41669 ICoreWebView2_20_Vtbl,
41670 0xb4bc1926_7305_11ee_b962_0242ac120002
41671);
41672impl core::ops::Deref for ICoreWebView2_20 {
41673 type Target = ICoreWebView2_19;
41674 fn deref(&self) -> &Self::Target {
41675 unsafe { core::mem::transmute(self) }
41676 }
41677}
41678windows_core::imp::interface_hierarchy!(
41679 ICoreWebView2_20,
41680 windows_core::IUnknown,
41681 ICoreWebView2,
41682 ICoreWebView2_2,
41683 ICoreWebView2_3,
41684 ICoreWebView2_4,
41685 ICoreWebView2_5,
41686 ICoreWebView2_6,
41687 ICoreWebView2_7,
41688 ICoreWebView2_8,
41689 ICoreWebView2_9,
41690 ICoreWebView2_10,
41691 ICoreWebView2_11,
41692 ICoreWebView2_12,
41693 ICoreWebView2_13,
41694 ICoreWebView2_14,
41695 ICoreWebView2_15,
41696 ICoreWebView2_16,
41697 ICoreWebView2_17,
41698 ICoreWebView2_18,
41699 ICoreWebView2_19
41700);
41701impl ICoreWebView2_20 {
41702 pub unsafe fn FrameId(&self, value: *mut u32) -> windows_core::Result<()> {
41703 unsafe {
41704 (windows_core::Interface::vtable(self).FrameId)(
41705 windows_core::Interface::as_raw(self),
41706 value as _,
41707 )
41708 .ok()
41709 }
41710 }
41711}
41712#[repr(C)]
41713#[doc(hidden)]
41714pub struct ICoreWebView2_20_Vtbl {
41715 pub base__: ICoreWebView2_19_Vtbl,
41716 pub FrameId:
41717 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
41718}
41719pub trait ICoreWebView2_20_Impl: ICoreWebView2_19_Impl {
41720 fn FrameId(&self, value: *mut u32) -> windows_core::Result<()>;
41721}
41722impl ICoreWebView2_20_Vtbl {
41723 pub const fn new<Identity: ICoreWebView2_20_Impl, const OFFSET: isize>() -> Self {
41724 unsafe extern "system" fn FrameId<Identity: ICoreWebView2_20_Impl, const OFFSET: isize>(
41725 this: *mut core::ffi::c_void,
41726 value: *mut u32,
41727 ) -> windows_core::HRESULT {
41728 unsafe {
41729 let this: &Identity =
41730 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41731 ICoreWebView2_20_Impl::FrameId(this, core::mem::transmute_copy(&value)).into()
41732 }
41733 }
41734 Self {
41735 base__: ICoreWebView2_19_Vtbl::new::<Identity, OFFSET>(),
41736 FrameId: FrameId::<Identity, OFFSET>,
41737 }
41738 }
41739 pub fn matches(iid: &windows_core::GUID) -> bool {
41740 iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
41741 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41742 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41743 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41744 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41745 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
41746 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
41747 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
41748 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
41749 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
41750 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
41751 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
41752 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
41753 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
41754 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
41755 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
41756 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
41757 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
41758 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
41759 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
41760 }
41761}
41762impl windows_core::RuntimeName for ICoreWebView2_20 {}
41763windows_core::imp::define_interface!(
41764 ICoreWebView2_21,
41765 ICoreWebView2_21_Vtbl,
41766 0xc4980dea_587b_43b9_8143_3ef3bf552d95
41767);
41768impl core::ops::Deref for ICoreWebView2_21 {
41769 type Target = ICoreWebView2_20;
41770 fn deref(&self) -> &Self::Target {
41771 unsafe { core::mem::transmute(self) }
41772 }
41773}
41774windows_core::imp::interface_hierarchy!(
41775 ICoreWebView2_21,
41776 windows_core::IUnknown,
41777 ICoreWebView2,
41778 ICoreWebView2_2,
41779 ICoreWebView2_3,
41780 ICoreWebView2_4,
41781 ICoreWebView2_5,
41782 ICoreWebView2_6,
41783 ICoreWebView2_7,
41784 ICoreWebView2_8,
41785 ICoreWebView2_9,
41786 ICoreWebView2_10,
41787 ICoreWebView2_11,
41788 ICoreWebView2_12,
41789 ICoreWebView2_13,
41790 ICoreWebView2_14,
41791 ICoreWebView2_15,
41792 ICoreWebView2_16,
41793 ICoreWebView2_17,
41794 ICoreWebView2_18,
41795 ICoreWebView2_19,
41796 ICoreWebView2_20
41797);
41798impl ICoreWebView2_21 {
41799 pub unsafe fn ExecuteScriptWithResult<P0, P1>(
41800 &self,
41801 javascript: P0,
41802 handler: P1,
41803 ) -> windows_core::Result<()>
41804 where
41805 P0: windows_core::Param<windows_core::PCWSTR>,
41806 P1: windows_core::Param<ICoreWebView2ExecuteScriptWithResultCompletedHandler>,
41807 {
41808 unsafe {
41809 (windows_core::Interface::vtable(self).ExecuteScriptWithResult)(
41810 windows_core::Interface::as_raw(self),
41811 javascript.param().abi(),
41812 handler.param().abi(),
41813 )
41814 .ok()
41815 }
41816 }
41817}
41818#[repr(C)]
41819#[doc(hidden)]
41820pub struct ICoreWebView2_21_Vtbl {
41821 pub base__: ICoreWebView2_20_Vtbl,
41822 pub ExecuteScriptWithResult: unsafe extern "system" fn(
41823 *mut core::ffi::c_void,
41824 windows_core::PCWSTR,
41825 *mut core::ffi::c_void,
41826 ) -> windows_core::HRESULT,
41827}
41828pub trait ICoreWebView2_21_Impl: ICoreWebView2_20_Impl {
41829 fn ExecuteScriptWithResult(
41830 &self,
41831 javascript: &windows_core::PCWSTR,
41832 handler: windows_core::Ref<ICoreWebView2ExecuteScriptWithResultCompletedHandler>,
41833 ) -> windows_core::Result<()>;
41834}
41835impl ICoreWebView2_21_Vtbl {
41836 pub const fn new<Identity: ICoreWebView2_21_Impl, const OFFSET: isize>() -> Self {
41837 unsafe extern "system" fn ExecuteScriptWithResult<
41838 Identity: ICoreWebView2_21_Impl,
41839 const OFFSET: isize,
41840 >(
41841 this: *mut core::ffi::c_void,
41842 javascript: windows_core::PCWSTR,
41843 handler: *mut core::ffi::c_void,
41844 ) -> windows_core::HRESULT {
41845 unsafe {
41846 let this: &Identity =
41847 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41848 ICoreWebView2_21_Impl::ExecuteScriptWithResult(
41849 this,
41850 core::mem::transmute(&javascript),
41851 core::mem::transmute_copy(&handler),
41852 )
41853 .into()
41854 }
41855 }
41856 Self {
41857 base__: ICoreWebView2_20_Vtbl::new::<Identity, OFFSET>(),
41858 ExecuteScriptWithResult: ExecuteScriptWithResult::<Identity, OFFSET>,
41859 }
41860 }
41861 pub fn matches(iid: &windows_core::GUID) -> bool {
41862 iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
41863 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41864 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41865 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41866 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41867 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
41868 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
41869 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
41870 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
41871 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
41872 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
41873 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
41874 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
41875 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
41876 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
41877 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
41878 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
41879 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
41880 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
41881 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
41882 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
41883 }
41884}
41885impl windows_core::RuntimeName for ICoreWebView2_21 {}
41886windows_core::imp::define_interface!(
41887 ICoreWebView2_22,
41888 ICoreWebView2_22_Vtbl,
41889 0xdb75dfc7_a857_4632_a398_6969dde26c0a
41890);
41891impl core::ops::Deref for ICoreWebView2_22 {
41892 type Target = ICoreWebView2_21;
41893 fn deref(&self) -> &Self::Target {
41894 unsafe { core::mem::transmute(self) }
41895 }
41896}
41897windows_core::imp::interface_hierarchy!(
41898 ICoreWebView2_22,
41899 windows_core::IUnknown,
41900 ICoreWebView2,
41901 ICoreWebView2_2,
41902 ICoreWebView2_3,
41903 ICoreWebView2_4,
41904 ICoreWebView2_5,
41905 ICoreWebView2_6,
41906 ICoreWebView2_7,
41907 ICoreWebView2_8,
41908 ICoreWebView2_9,
41909 ICoreWebView2_10,
41910 ICoreWebView2_11,
41911 ICoreWebView2_12,
41912 ICoreWebView2_13,
41913 ICoreWebView2_14,
41914 ICoreWebView2_15,
41915 ICoreWebView2_16,
41916 ICoreWebView2_17,
41917 ICoreWebView2_18,
41918 ICoreWebView2_19,
41919 ICoreWebView2_20,
41920 ICoreWebView2_21
41921);
41922impl ICoreWebView2_22 {
41923 pub unsafe fn AddWebResourceRequestedFilterWithRequestSourceKinds<P0>(
41924 &self,
41925 uri: P0,
41926 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
41927 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
41928 ) -> windows_core::Result<()>
41929 where
41930 P0: windows_core::Param<windows_core::PCWSTR>,
41931 {
41932 unsafe {
41933 (windows_core::Interface::vtable(self)
41934 .AddWebResourceRequestedFilterWithRequestSourceKinds)(
41935 windows_core::Interface::as_raw(self),
41936 uri.param().abi(),
41937 resourcecontext,
41938 requestsourcekinds,
41939 )
41940 .ok()
41941 }
41942 }
41943 pub unsafe fn RemoveWebResourceRequestedFilterWithRequestSourceKinds<P0>(
41944 &self,
41945 uri: P0,
41946 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
41947 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
41948 ) -> windows_core::Result<()>
41949 where
41950 P0: windows_core::Param<windows_core::PCWSTR>,
41951 {
41952 unsafe {
41953 (windows_core::Interface::vtable(self)
41954 .RemoveWebResourceRequestedFilterWithRequestSourceKinds)(
41955 windows_core::Interface::as_raw(self),
41956 uri.param().abi(),
41957 resourcecontext,
41958 requestsourcekinds,
41959 )
41960 .ok()
41961 }
41962 }
41963}
41964#[repr(C)]
41965#[doc(hidden)]
41966pub struct ICoreWebView2_22_Vtbl {
41967 pub base__: ICoreWebView2_21_Vtbl,
41968 pub AddWebResourceRequestedFilterWithRequestSourceKinds:
41969 unsafe extern "system" fn(
41970 *mut core::ffi::c_void,
41971 windows_core::PCWSTR,
41972 COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
41973 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
41974 ) -> windows_core::HRESULT,
41975 pub RemoveWebResourceRequestedFilterWithRequestSourceKinds:
41976 unsafe extern "system" fn(
41977 *mut core::ffi::c_void,
41978 windows_core::PCWSTR,
41979 COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
41980 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
41981 ) -> windows_core::HRESULT,
41982}
41983pub trait ICoreWebView2_22_Impl: ICoreWebView2_21_Impl {
41984 fn AddWebResourceRequestedFilterWithRequestSourceKinds(
41985 &self,
41986 uri: &windows_core::PCWSTR,
41987 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
41988 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
41989 ) -> windows_core::Result<()>;
41990 fn RemoveWebResourceRequestedFilterWithRequestSourceKinds(
41991 &self,
41992 uri: &windows_core::PCWSTR,
41993 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
41994 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
41995 ) -> windows_core::Result<()>;
41996}
41997impl ICoreWebView2_22_Vtbl {
41998 pub const fn new<Identity: ICoreWebView2_22_Impl, const OFFSET: isize>() -> Self {
41999 unsafe extern "system" fn AddWebResourceRequestedFilterWithRequestSourceKinds<
42000 Identity: ICoreWebView2_22_Impl,
42001 const OFFSET: isize,
42002 >(
42003 this: *mut core::ffi::c_void,
42004 uri: windows_core::PCWSTR,
42005 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
42006 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
42007 ) -> windows_core::HRESULT {
42008 unsafe {
42009 let this: &Identity =
42010 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42011 ICoreWebView2_22_Impl::AddWebResourceRequestedFilterWithRequestSourceKinds(
42012 this,
42013 core::mem::transmute(&uri),
42014 core::mem::transmute_copy(&resourcecontext),
42015 core::mem::transmute_copy(&requestsourcekinds),
42016 )
42017 .into()
42018 }
42019 }
42020 unsafe extern "system" fn RemoveWebResourceRequestedFilterWithRequestSourceKinds<
42021 Identity: ICoreWebView2_22_Impl,
42022 const OFFSET: isize,
42023 >(
42024 this: *mut core::ffi::c_void,
42025 uri: windows_core::PCWSTR,
42026 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
42027 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
42028 ) -> windows_core::HRESULT {
42029 unsafe {
42030 let this: &Identity =
42031 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42032 ICoreWebView2_22_Impl::RemoveWebResourceRequestedFilterWithRequestSourceKinds(
42033 this,
42034 core::mem::transmute(&uri),
42035 core::mem::transmute_copy(&resourcecontext),
42036 core::mem::transmute_copy(&requestsourcekinds),
42037 )
42038 .into()
42039 }
42040 }
42041 Self {
42042 base__: ICoreWebView2_21_Vtbl::new::<Identity, OFFSET>(),
42043 AddWebResourceRequestedFilterWithRequestSourceKinds:
42044 AddWebResourceRequestedFilterWithRequestSourceKinds::<Identity, OFFSET>,
42045 RemoveWebResourceRequestedFilterWithRequestSourceKinds:
42046 RemoveWebResourceRequestedFilterWithRequestSourceKinds::<Identity, OFFSET>,
42047 }
42048 }
42049 pub fn matches(iid: &windows_core::GUID) -> bool {
42050 iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
42051 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42052 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42053 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42054 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42055 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42056 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
42057 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
42058 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
42059 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
42060 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
42061 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
42062 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
42063 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
42064 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
42065 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
42066 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
42067 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
42068 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
42069 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
42070 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
42071 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
42072 }
42073}
42074impl windows_core::RuntimeName for ICoreWebView2_22 {}
42075windows_core::imp::define_interface!(
42076 ICoreWebView2_23,
42077 ICoreWebView2_23_Vtbl,
42078 0x508f0db5_90c4_5872_90a7_267a91377502
42079);
42080impl core::ops::Deref for ICoreWebView2_23 {
42081 type Target = ICoreWebView2_22;
42082 fn deref(&self) -> &Self::Target {
42083 unsafe { core::mem::transmute(self) }
42084 }
42085}
42086windows_core::imp::interface_hierarchy!(
42087 ICoreWebView2_23,
42088 windows_core::IUnknown,
42089 ICoreWebView2,
42090 ICoreWebView2_2,
42091 ICoreWebView2_3,
42092 ICoreWebView2_4,
42093 ICoreWebView2_5,
42094 ICoreWebView2_6,
42095 ICoreWebView2_7,
42096 ICoreWebView2_8,
42097 ICoreWebView2_9,
42098 ICoreWebView2_10,
42099 ICoreWebView2_11,
42100 ICoreWebView2_12,
42101 ICoreWebView2_13,
42102 ICoreWebView2_14,
42103 ICoreWebView2_15,
42104 ICoreWebView2_16,
42105 ICoreWebView2_17,
42106 ICoreWebView2_18,
42107 ICoreWebView2_19,
42108 ICoreWebView2_20,
42109 ICoreWebView2_21,
42110 ICoreWebView2_22
42111);
42112impl ICoreWebView2_23 {
42113 pub unsafe fn PostWebMessageAsJsonWithAdditionalObjects<P0, P1>(
42114 &self,
42115 webmessageasjson: P0,
42116 additionalobjects: P1,
42117 ) -> windows_core::Result<()>
42118 where
42119 P0: windows_core::Param<windows_core::PCWSTR>,
42120 P1: windows_core::Param<ICoreWebView2ObjectCollectionView>,
42121 {
42122 unsafe {
42123 (windows_core::Interface::vtable(self).PostWebMessageAsJsonWithAdditionalObjects)(
42124 windows_core::Interface::as_raw(self),
42125 webmessageasjson.param().abi(),
42126 additionalobjects.param().abi(),
42127 )
42128 .ok()
42129 }
42130 }
42131}
42132#[repr(C)]
42133#[doc(hidden)]
42134pub struct ICoreWebView2_23_Vtbl {
42135 pub base__: ICoreWebView2_22_Vtbl,
42136 pub PostWebMessageAsJsonWithAdditionalObjects:
42137 unsafe extern "system" fn(
42138 *mut core::ffi::c_void,
42139 windows_core::PCWSTR,
42140 *mut core::ffi::c_void,
42141 ) -> windows_core::HRESULT,
42142}
42143pub trait ICoreWebView2_23_Impl: ICoreWebView2_22_Impl {
42144 fn PostWebMessageAsJsonWithAdditionalObjects(
42145 &self,
42146 webmessageasjson: &windows_core::PCWSTR,
42147 additionalobjects: windows_core::Ref<ICoreWebView2ObjectCollectionView>,
42148 ) -> windows_core::Result<()>;
42149}
42150impl ICoreWebView2_23_Vtbl {
42151 pub const fn new<Identity: ICoreWebView2_23_Impl, const OFFSET: isize>() -> Self {
42152 unsafe extern "system" fn PostWebMessageAsJsonWithAdditionalObjects<
42153 Identity: ICoreWebView2_23_Impl,
42154 const OFFSET: isize,
42155 >(
42156 this: *mut core::ffi::c_void,
42157 webmessageasjson: windows_core::PCWSTR,
42158 additionalobjects: *mut core::ffi::c_void,
42159 ) -> windows_core::HRESULT {
42160 unsafe {
42161 let this: &Identity =
42162 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42163 ICoreWebView2_23_Impl::PostWebMessageAsJsonWithAdditionalObjects(
42164 this,
42165 core::mem::transmute(&webmessageasjson),
42166 core::mem::transmute_copy(&additionalobjects),
42167 )
42168 .into()
42169 }
42170 }
42171 Self {
42172 base__: ICoreWebView2_22_Vtbl::new::<Identity, OFFSET>(),
42173 PostWebMessageAsJsonWithAdditionalObjects: PostWebMessageAsJsonWithAdditionalObjects::<
42174 Identity,
42175 OFFSET,
42176 >,
42177 }
42178 }
42179 pub fn matches(iid: &windows_core::GUID) -> bool {
42180 iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
42181 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42182 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42183 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42184 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42185 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42186 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
42187 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
42188 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
42189 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
42190 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
42191 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
42192 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
42193 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
42194 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
42195 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
42196 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
42197 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
42198 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
42199 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
42200 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
42201 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
42202 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
42203 }
42204}
42205impl windows_core::RuntimeName for ICoreWebView2_23 {}
42206windows_core::imp::define_interface!(
42207 ICoreWebView2_24,
42208 ICoreWebView2_24_Vtbl,
42209 0x39a7ad55_4287_5cc1_88a1_c6f458593824
42210);
42211impl core::ops::Deref for ICoreWebView2_24 {
42212 type Target = ICoreWebView2_23;
42213 fn deref(&self) -> &Self::Target {
42214 unsafe { core::mem::transmute(self) }
42215 }
42216}
42217windows_core::imp::interface_hierarchy!(
42218 ICoreWebView2_24,
42219 windows_core::IUnknown,
42220 ICoreWebView2,
42221 ICoreWebView2_2,
42222 ICoreWebView2_3,
42223 ICoreWebView2_4,
42224 ICoreWebView2_5,
42225 ICoreWebView2_6,
42226 ICoreWebView2_7,
42227 ICoreWebView2_8,
42228 ICoreWebView2_9,
42229 ICoreWebView2_10,
42230 ICoreWebView2_11,
42231 ICoreWebView2_12,
42232 ICoreWebView2_13,
42233 ICoreWebView2_14,
42234 ICoreWebView2_15,
42235 ICoreWebView2_16,
42236 ICoreWebView2_17,
42237 ICoreWebView2_18,
42238 ICoreWebView2_19,
42239 ICoreWebView2_20,
42240 ICoreWebView2_21,
42241 ICoreWebView2_22,
42242 ICoreWebView2_23
42243);
42244impl ICoreWebView2_24 {
42245 pub unsafe fn add_NotificationReceived<P0>(
42246 &self,
42247 eventhandler: P0,
42248 token: *mut i64,
42249 ) -> windows_core::Result<()>
42250 where
42251 P0: windows_core::Param<ICoreWebView2NotificationReceivedEventHandler>,
42252 {
42253 unsafe {
42254 (windows_core::Interface::vtable(self).add_NotificationReceived)(
42255 windows_core::Interface::as_raw(self),
42256 eventhandler.param().abi(),
42257 token as _,
42258 )
42259 .ok()
42260 }
42261 }
42262 pub unsafe fn remove_NotificationReceived(&self, token: i64) -> windows_core::Result<()> {
42263 unsafe {
42264 (windows_core::Interface::vtable(self).remove_NotificationReceived)(
42265 windows_core::Interface::as_raw(self),
42266 token,
42267 )
42268 .ok()
42269 }
42270 }
42271}
42272#[repr(C)]
42273#[doc(hidden)]
42274pub struct ICoreWebView2_24_Vtbl {
42275 pub base__: ICoreWebView2_23_Vtbl,
42276 pub add_NotificationReceived: unsafe extern "system" fn(
42277 *mut core::ffi::c_void,
42278 *mut core::ffi::c_void,
42279 *mut i64,
42280 ) -> windows_core::HRESULT,
42281 pub remove_NotificationReceived:
42282 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
42283}
42284pub trait ICoreWebView2_24_Impl: ICoreWebView2_23_Impl {
42285 fn add_NotificationReceived(
42286 &self,
42287 eventhandler: windows_core::Ref<ICoreWebView2NotificationReceivedEventHandler>,
42288 token: *mut i64,
42289 ) -> windows_core::Result<()>;
42290 fn remove_NotificationReceived(&self, token: i64) -> windows_core::Result<()>;
42291}
42292impl ICoreWebView2_24_Vtbl {
42293 pub const fn new<Identity: ICoreWebView2_24_Impl, const OFFSET: isize>() -> Self {
42294 unsafe extern "system" fn add_NotificationReceived<
42295 Identity: ICoreWebView2_24_Impl,
42296 const OFFSET: isize,
42297 >(
42298 this: *mut core::ffi::c_void,
42299 eventhandler: *mut core::ffi::c_void,
42300 token: *mut i64,
42301 ) -> windows_core::HRESULT {
42302 unsafe {
42303 let this: &Identity =
42304 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42305 ICoreWebView2_24_Impl::add_NotificationReceived(
42306 this,
42307 core::mem::transmute_copy(&eventhandler),
42308 core::mem::transmute_copy(&token),
42309 )
42310 .into()
42311 }
42312 }
42313 unsafe extern "system" fn remove_NotificationReceived<
42314 Identity: ICoreWebView2_24_Impl,
42315 const OFFSET: isize,
42316 >(
42317 this: *mut core::ffi::c_void,
42318 token: i64,
42319 ) -> windows_core::HRESULT {
42320 unsafe {
42321 let this: &Identity =
42322 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42323 ICoreWebView2_24_Impl::remove_NotificationReceived(
42324 this,
42325 core::mem::transmute_copy(&token),
42326 )
42327 .into()
42328 }
42329 }
42330 Self {
42331 base__: ICoreWebView2_23_Vtbl::new::<Identity, OFFSET>(),
42332 add_NotificationReceived: add_NotificationReceived::<Identity, OFFSET>,
42333 remove_NotificationReceived: remove_NotificationReceived::<Identity, OFFSET>,
42334 }
42335 }
42336 pub fn matches(iid: &windows_core::GUID) -> bool {
42337 iid == &<ICoreWebView2_24 as windows_core::Interface>::IID
42338 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42339 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42340 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42341 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42342 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42343 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
42344 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
42345 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
42346 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
42347 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
42348 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
42349 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
42350 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
42351 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
42352 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
42353 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
42354 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
42355 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
42356 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
42357 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
42358 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
42359 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
42360 || iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
42361 }
42362}
42363impl windows_core::RuntimeName for ICoreWebView2_24 {}
42364windows_core::imp::define_interface!(
42365 ICoreWebView2_25,
42366 ICoreWebView2_25_Vtbl,
42367 0xb5a86092_df50_5b4f_a17b_6c8f8b40b771
42368);
42369impl core::ops::Deref for ICoreWebView2_25 {
42370 type Target = ICoreWebView2_24;
42371 fn deref(&self) -> &Self::Target {
42372 unsafe { core::mem::transmute(self) }
42373 }
42374}
42375windows_core::imp::interface_hierarchy!(
42376 ICoreWebView2_25,
42377 windows_core::IUnknown,
42378 ICoreWebView2,
42379 ICoreWebView2_2,
42380 ICoreWebView2_3,
42381 ICoreWebView2_4,
42382 ICoreWebView2_5,
42383 ICoreWebView2_6,
42384 ICoreWebView2_7,
42385 ICoreWebView2_8,
42386 ICoreWebView2_9,
42387 ICoreWebView2_10,
42388 ICoreWebView2_11,
42389 ICoreWebView2_12,
42390 ICoreWebView2_13,
42391 ICoreWebView2_14,
42392 ICoreWebView2_15,
42393 ICoreWebView2_16,
42394 ICoreWebView2_17,
42395 ICoreWebView2_18,
42396 ICoreWebView2_19,
42397 ICoreWebView2_20,
42398 ICoreWebView2_21,
42399 ICoreWebView2_22,
42400 ICoreWebView2_23,
42401 ICoreWebView2_24
42402);
42403impl ICoreWebView2_25 {
42404 pub unsafe fn add_SaveAsUIShowing<P0>(
42405 &self,
42406 eventhandler: P0,
42407 token: *mut i64,
42408 ) -> windows_core::Result<()>
42409 where
42410 P0: windows_core::Param<ICoreWebView2SaveAsUIShowingEventHandler>,
42411 {
42412 unsafe {
42413 (windows_core::Interface::vtable(self).add_SaveAsUIShowing)(
42414 windows_core::Interface::as_raw(self),
42415 eventhandler.param().abi(),
42416 token as _,
42417 )
42418 .ok()
42419 }
42420 }
42421 pub unsafe fn remove_SaveAsUIShowing(&self, token: i64) -> windows_core::Result<()> {
42422 unsafe {
42423 (windows_core::Interface::vtable(self).remove_SaveAsUIShowing)(
42424 windows_core::Interface::as_raw(self),
42425 token,
42426 )
42427 .ok()
42428 }
42429 }
42430 pub unsafe fn ShowSaveAsUI<P0>(&self, handler: P0) -> windows_core::Result<()>
42431 where
42432 P0: windows_core::Param<ICoreWebView2ShowSaveAsUICompletedHandler>,
42433 {
42434 unsafe {
42435 (windows_core::Interface::vtable(self).ShowSaveAsUI)(
42436 windows_core::Interface::as_raw(self),
42437 handler.param().abi(),
42438 )
42439 .ok()
42440 }
42441 }
42442}
42443#[repr(C)]
42444#[doc(hidden)]
42445pub struct ICoreWebView2_25_Vtbl {
42446 pub base__: ICoreWebView2_24_Vtbl,
42447 pub add_SaveAsUIShowing: unsafe extern "system" fn(
42448 *mut core::ffi::c_void,
42449 *mut core::ffi::c_void,
42450 *mut i64,
42451 ) -> windows_core::HRESULT,
42452 pub remove_SaveAsUIShowing:
42453 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
42454 pub ShowSaveAsUI: unsafe extern "system" fn(
42455 *mut core::ffi::c_void,
42456 *mut core::ffi::c_void,
42457 ) -> windows_core::HRESULT,
42458}
42459pub trait ICoreWebView2_25_Impl: ICoreWebView2_24_Impl {
42460 fn add_SaveAsUIShowing(
42461 &self,
42462 eventhandler: windows_core::Ref<ICoreWebView2SaveAsUIShowingEventHandler>,
42463 token: *mut i64,
42464 ) -> windows_core::Result<()>;
42465 fn remove_SaveAsUIShowing(&self, token: i64) -> windows_core::Result<()>;
42466 fn ShowSaveAsUI(
42467 &self,
42468 handler: windows_core::Ref<ICoreWebView2ShowSaveAsUICompletedHandler>,
42469 ) -> windows_core::Result<()>;
42470}
42471impl ICoreWebView2_25_Vtbl {
42472 pub const fn new<Identity: ICoreWebView2_25_Impl, const OFFSET: isize>() -> Self {
42473 unsafe extern "system" fn add_SaveAsUIShowing<
42474 Identity: ICoreWebView2_25_Impl,
42475 const OFFSET: isize,
42476 >(
42477 this: *mut core::ffi::c_void,
42478 eventhandler: *mut core::ffi::c_void,
42479 token: *mut i64,
42480 ) -> windows_core::HRESULT {
42481 unsafe {
42482 let this: &Identity =
42483 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42484 ICoreWebView2_25_Impl::add_SaveAsUIShowing(
42485 this,
42486 core::mem::transmute_copy(&eventhandler),
42487 core::mem::transmute_copy(&token),
42488 )
42489 .into()
42490 }
42491 }
42492 unsafe extern "system" fn remove_SaveAsUIShowing<
42493 Identity: ICoreWebView2_25_Impl,
42494 const OFFSET: isize,
42495 >(
42496 this: *mut core::ffi::c_void,
42497 token: i64,
42498 ) -> windows_core::HRESULT {
42499 unsafe {
42500 let this: &Identity =
42501 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42502 ICoreWebView2_25_Impl::remove_SaveAsUIShowing(
42503 this,
42504 core::mem::transmute_copy(&token),
42505 )
42506 .into()
42507 }
42508 }
42509 unsafe extern "system" fn ShowSaveAsUI<
42510 Identity: ICoreWebView2_25_Impl,
42511 const OFFSET: isize,
42512 >(
42513 this: *mut core::ffi::c_void,
42514 handler: *mut core::ffi::c_void,
42515 ) -> windows_core::HRESULT {
42516 unsafe {
42517 let this: &Identity =
42518 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42519 ICoreWebView2_25_Impl::ShowSaveAsUI(this, core::mem::transmute_copy(&handler))
42520 .into()
42521 }
42522 }
42523 Self {
42524 base__: ICoreWebView2_24_Vtbl::new::<Identity, OFFSET>(),
42525 add_SaveAsUIShowing: add_SaveAsUIShowing::<Identity, OFFSET>,
42526 remove_SaveAsUIShowing: remove_SaveAsUIShowing::<Identity, OFFSET>,
42527 ShowSaveAsUI: ShowSaveAsUI::<Identity, OFFSET>,
42528 }
42529 }
42530 pub fn matches(iid: &windows_core::GUID) -> bool {
42531 iid == &<ICoreWebView2_25 as windows_core::Interface>::IID
42532 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42533 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42534 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42535 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42536 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42537 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
42538 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
42539 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
42540 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
42541 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
42542 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
42543 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
42544 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
42545 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
42546 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
42547 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
42548 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
42549 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
42550 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
42551 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
42552 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
42553 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
42554 || iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
42555 || iid == &<ICoreWebView2_24 as windows_core::Interface>::IID
42556 }
42557}
42558impl windows_core::RuntimeName for ICoreWebView2_25 {}
42559windows_core::imp::define_interface!(
42560 ICoreWebView2_26,
42561 ICoreWebView2_26_Vtbl,
42562 0x806268b8_f897_5685_88e5_c45fca0b1a48
42563);
42564impl core::ops::Deref for ICoreWebView2_26 {
42565 type Target = ICoreWebView2_25;
42566 fn deref(&self) -> &Self::Target {
42567 unsafe { core::mem::transmute(self) }
42568 }
42569}
42570windows_core::imp::interface_hierarchy!(
42571 ICoreWebView2_26,
42572 windows_core::IUnknown,
42573 ICoreWebView2,
42574 ICoreWebView2_2,
42575 ICoreWebView2_3,
42576 ICoreWebView2_4,
42577 ICoreWebView2_5,
42578 ICoreWebView2_6,
42579 ICoreWebView2_7,
42580 ICoreWebView2_8,
42581 ICoreWebView2_9,
42582 ICoreWebView2_10,
42583 ICoreWebView2_11,
42584 ICoreWebView2_12,
42585 ICoreWebView2_13,
42586 ICoreWebView2_14,
42587 ICoreWebView2_15,
42588 ICoreWebView2_16,
42589 ICoreWebView2_17,
42590 ICoreWebView2_18,
42591 ICoreWebView2_19,
42592 ICoreWebView2_20,
42593 ICoreWebView2_21,
42594 ICoreWebView2_22,
42595 ICoreWebView2_23,
42596 ICoreWebView2_24,
42597 ICoreWebView2_25
42598);
42599impl ICoreWebView2_26 {
42600 pub unsafe fn add_SaveFileSecurityCheckStarting<P0>(
42601 &self,
42602 eventhandler: P0,
42603 token: *mut i64,
42604 ) -> windows_core::Result<()>
42605 where
42606 P0: windows_core::Param<ICoreWebView2SaveFileSecurityCheckStartingEventHandler>,
42607 {
42608 unsafe {
42609 (windows_core::Interface::vtable(self).add_SaveFileSecurityCheckStarting)(
42610 windows_core::Interface::as_raw(self),
42611 eventhandler.param().abi(),
42612 token as _,
42613 )
42614 .ok()
42615 }
42616 }
42617 pub unsafe fn remove_SaveFileSecurityCheckStarting(
42618 &self,
42619 token: i64,
42620 ) -> windows_core::Result<()> {
42621 unsafe {
42622 (windows_core::Interface::vtable(self).remove_SaveFileSecurityCheckStarting)(
42623 windows_core::Interface::as_raw(self),
42624 token,
42625 )
42626 .ok()
42627 }
42628 }
42629}
42630#[repr(C)]
42631#[doc(hidden)]
42632pub struct ICoreWebView2_26_Vtbl {
42633 pub base__: ICoreWebView2_25_Vtbl,
42634 pub add_SaveFileSecurityCheckStarting: unsafe extern "system" fn(
42635 *mut core::ffi::c_void,
42636 *mut core::ffi::c_void,
42637 *mut i64,
42638 ) -> windows_core::HRESULT,
42639 pub remove_SaveFileSecurityCheckStarting:
42640 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
42641}
42642pub trait ICoreWebView2_26_Impl: ICoreWebView2_25_Impl {
42643 fn add_SaveFileSecurityCheckStarting(
42644 &self,
42645 eventhandler: windows_core::Ref<ICoreWebView2SaveFileSecurityCheckStartingEventHandler>,
42646 token: *mut i64,
42647 ) -> windows_core::Result<()>;
42648 fn remove_SaveFileSecurityCheckStarting(&self, token: i64) -> windows_core::Result<()>;
42649}
42650impl ICoreWebView2_26_Vtbl {
42651 pub const fn new<Identity: ICoreWebView2_26_Impl, const OFFSET: isize>() -> Self {
42652 unsafe extern "system" fn add_SaveFileSecurityCheckStarting<
42653 Identity: ICoreWebView2_26_Impl,
42654 const OFFSET: isize,
42655 >(
42656 this: *mut core::ffi::c_void,
42657 eventhandler: *mut core::ffi::c_void,
42658 token: *mut i64,
42659 ) -> windows_core::HRESULT {
42660 unsafe {
42661 let this: &Identity =
42662 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42663 ICoreWebView2_26_Impl::add_SaveFileSecurityCheckStarting(
42664 this,
42665 core::mem::transmute_copy(&eventhandler),
42666 core::mem::transmute_copy(&token),
42667 )
42668 .into()
42669 }
42670 }
42671 unsafe extern "system" fn remove_SaveFileSecurityCheckStarting<
42672 Identity: ICoreWebView2_26_Impl,
42673 const OFFSET: isize,
42674 >(
42675 this: *mut core::ffi::c_void,
42676 token: i64,
42677 ) -> windows_core::HRESULT {
42678 unsafe {
42679 let this: &Identity =
42680 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42681 ICoreWebView2_26_Impl::remove_SaveFileSecurityCheckStarting(
42682 this,
42683 core::mem::transmute_copy(&token),
42684 )
42685 .into()
42686 }
42687 }
42688 Self {
42689 base__: ICoreWebView2_25_Vtbl::new::<Identity, OFFSET>(),
42690 add_SaveFileSecurityCheckStarting: add_SaveFileSecurityCheckStarting::<Identity, OFFSET>,
42691 remove_SaveFileSecurityCheckStarting: remove_SaveFileSecurityCheckStarting::<
42692 Identity,
42693 OFFSET,
42694 >,
42695 }
42696 }
42697 pub fn matches(iid: &windows_core::GUID) -> bool {
42698 iid == &<ICoreWebView2_26 as windows_core::Interface>::IID
42699 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42700 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42701 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42702 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42703 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42704 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
42705 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
42706 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
42707 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
42708 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
42709 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
42710 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
42711 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
42712 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
42713 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
42714 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
42715 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
42716 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
42717 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
42718 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
42719 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
42720 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
42721 || iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
42722 || iid == &<ICoreWebView2_24 as windows_core::Interface>::IID
42723 || iid == &<ICoreWebView2_25 as windows_core::Interface>::IID
42724 }
42725}
42726impl windows_core::RuntimeName for ICoreWebView2_26 {}
42727windows_core::imp::define_interface!(
42728 ICoreWebView2_27,
42729 ICoreWebView2_27_Vtbl,
42730 0x00fbe33b_8c07_517c_aa23_0ddd4b5f6fa0
42731);
42732impl core::ops::Deref for ICoreWebView2_27 {
42733 type Target = ICoreWebView2_26;
42734 fn deref(&self) -> &Self::Target {
42735 unsafe { core::mem::transmute(self) }
42736 }
42737}
42738windows_core::imp::interface_hierarchy!(
42739 ICoreWebView2_27,
42740 windows_core::IUnknown,
42741 ICoreWebView2,
42742 ICoreWebView2_2,
42743 ICoreWebView2_3,
42744 ICoreWebView2_4,
42745 ICoreWebView2_5,
42746 ICoreWebView2_6,
42747 ICoreWebView2_7,
42748 ICoreWebView2_8,
42749 ICoreWebView2_9,
42750 ICoreWebView2_10,
42751 ICoreWebView2_11,
42752 ICoreWebView2_12,
42753 ICoreWebView2_13,
42754 ICoreWebView2_14,
42755 ICoreWebView2_15,
42756 ICoreWebView2_16,
42757 ICoreWebView2_17,
42758 ICoreWebView2_18,
42759 ICoreWebView2_19,
42760 ICoreWebView2_20,
42761 ICoreWebView2_21,
42762 ICoreWebView2_22,
42763 ICoreWebView2_23,
42764 ICoreWebView2_24,
42765 ICoreWebView2_25,
42766 ICoreWebView2_26
42767);
42768impl ICoreWebView2_27 {
42769 pub unsafe fn add_ScreenCaptureStarting<P0>(
42770 &self,
42771 eventhandler: P0,
42772 token: *mut i64,
42773 ) -> windows_core::Result<()>
42774 where
42775 P0: windows_core::Param<ICoreWebView2ScreenCaptureStartingEventHandler>,
42776 {
42777 unsafe {
42778 (windows_core::Interface::vtable(self).add_ScreenCaptureStarting)(
42779 windows_core::Interface::as_raw(self),
42780 eventhandler.param().abi(),
42781 token as _,
42782 )
42783 .ok()
42784 }
42785 }
42786 pub unsafe fn remove_ScreenCaptureStarting(&self, token: i64) -> windows_core::Result<()> {
42787 unsafe {
42788 (windows_core::Interface::vtable(self).remove_ScreenCaptureStarting)(
42789 windows_core::Interface::as_raw(self),
42790 token,
42791 )
42792 .ok()
42793 }
42794 }
42795}
42796#[repr(C)]
42797#[doc(hidden)]
42798pub struct ICoreWebView2_27_Vtbl {
42799 pub base__: ICoreWebView2_26_Vtbl,
42800 pub add_ScreenCaptureStarting: unsafe extern "system" fn(
42801 *mut core::ffi::c_void,
42802 *mut core::ffi::c_void,
42803 *mut i64,
42804 ) -> windows_core::HRESULT,
42805 pub remove_ScreenCaptureStarting:
42806 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
42807}
42808pub trait ICoreWebView2_27_Impl: ICoreWebView2_26_Impl {
42809 fn add_ScreenCaptureStarting(
42810 &self,
42811 eventhandler: windows_core::Ref<ICoreWebView2ScreenCaptureStartingEventHandler>,
42812 token: *mut i64,
42813 ) -> windows_core::Result<()>;
42814 fn remove_ScreenCaptureStarting(&self, token: i64) -> windows_core::Result<()>;
42815}
42816impl ICoreWebView2_27_Vtbl {
42817 pub const fn new<Identity: ICoreWebView2_27_Impl, const OFFSET: isize>() -> Self {
42818 unsafe extern "system" fn add_ScreenCaptureStarting<
42819 Identity: ICoreWebView2_27_Impl,
42820 const OFFSET: isize,
42821 >(
42822 this: *mut core::ffi::c_void,
42823 eventhandler: *mut core::ffi::c_void,
42824 token: *mut i64,
42825 ) -> windows_core::HRESULT {
42826 unsafe {
42827 let this: &Identity =
42828 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42829 ICoreWebView2_27_Impl::add_ScreenCaptureStarting(
42830 this,
42831 core::mem::transmute_copy(&eventhandler),
42832 core::mem::transmute_copy(&token),
42833 )
42834 .into()
42835 }
42836 }
42837 unsafe extern "system" fn remove_ScreenCaptureStarting<
42838 Identity: ICoreWebView2_27_Impl,
42839 const OFFSET: isize,
42840 >(
42841 this: *mut core::ffi::c_void,
42842 token: i64,
42843 ) -> windows_core::HRESULT {
42844 unsafe {
42845 let this: &Identity =
42846 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42847 ICoreWebView2_27_Impl::remove_ScreenCaptureStarting(
42848 this,
42849 core::mem::transmute_copy(&token),
42850 )
42851 .into()
42852 }
42853 }
42854 Self {
42855 base__: ICoreWebView2_26_Vtbl::new::<Identity, OFFSET>(),
42856 add_ScreenCaptureStarting: add_ScreenCaptureStarting::<Identity, OFFSET>,
42857 remove_ScreenCaptureStarting: remove_ScreenCaptureStarting::<Identity, OFFSET>,
42858 }
42859 }
42860 pub fn matches(iid: &windows_core::GUID) -> bool {
42861 iid == &<ICoreWebView2_27 as windows_core::Interface>::IID
42862 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42863 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42864 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42865 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42866 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42867 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
42868 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
42869 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
42870 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
42871 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
42872 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
42873 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
42874 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
42875 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
42876 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
42877 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
42878 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
42879 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
42880 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
42881 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
42882 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
42883 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
42884 || iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
42885 || iid == &<ICoreWebView2_24 as windows_core::Interface>::IID
42886 || iid == &<ICoreWebView2_25 as windows_core::Interface>::IID
42887 || iid == &<ICoreWebView2_26 as windows_core::Interface>::IID
42888 }
42889}
42890impl windows_core::RuntimeName for ICoreWebView2_27 {}
42891windows_core::imp::define_interface!(
42892 ICoreWebView2_28,
42893 ICoreWebView2_28_Vtbl,
42894 0x62e50381_5bf5_51a8_aae0_f20a3a9c8a90
42895);
42896impl core::ops::Deref for ICoreWebView2_28 {
42897 type Target = ICoreWebView2_27;
42898 fn deref(&self) -> &Self::Target {
42899 unsafe { core::mem::transmute(self) }
42900 }
42901}
42902windows_core::imp::interface_hierarchy!(
42903 ICoreWebView2_28,
42904 windows_core::IUnknown,
42905 ICoreWebView2,
42906 ICoreWebView2_2,
42907 ICoreWebView2_3,
42908 ICoreWebView2_4,
42909 ICoreWebView2_5,
42910 ICoreWebView2_6,
42911 ICoreWebView2_7,
42912 ICoreWebView2_8,
42913 ICoreWebView2_9,
42914 ICoreWebView2_10,
42915 ICoreWebView2_11,
42916 ICoreWebView2_12,
42917 ICoreWebView2_13,
42918 ICoreWebView2_14,
42919 ICoreWebView2_15,
42920 ICoreWebView2_16,
42921 ICoreWebView2_17,
42922 ICoreWebView2_18,
42923 ICoreWebView2_19,
42924 ICoreWebView2_20,
42925 ICoreWebView2_21,
42926 ICoreWebView2_22,
42927 ICoreWebView2_23,
42928 ICoreWebView2_24,
42929 ICoreWebView2_25,
42930 ICoreWebView2_26,
42931 ICoreWebView2_27
42932);
42933impl ICoreWebView2_28 {
42934 pub unsafe fn Find(&self) -> windows_core::Result<ICoreWebView2Find> {
42935 unsafe {
42936 let mut result__ = core::mem::zeroed();
42937 (windows_core::Interface::vtable(self).Find)(
42938 windows_core::Interface::as_raw(self),
42939 &mut result__,
42940 )
42941 .and_then(|| windows_core::Type::from_abi(result__))
42942 }
42943 }
42944}
42945#[repr(C)]
42946#[doc(hidden)]
42947pub struct ICoreWebView2_28_Vtbl {
42948 pub base__: ICoreWebView2_27_Vtbl,
42949 pub Find: unsafe extern "system" fn(
42950 *mut core::ffi::c_void,
42951 *mut *mut core::ffi::c_void,
42952 ) -> windows_core::HRESULT,
42953}
42954pub trait ICoreWebView2_28_Impl: ICoreWebView2_27_Impl {
42955 fn Find(&self) -> windows_core::Result<ICoreWebView2Find>;
42956}
42957impl ICoreWebView2_28_Vtbl {
42958 pub const fn new<Identity: ICoreWebView2_28_Impl, const OFFSET: isize>() -> Self {
42959 unsafe extern "system" fn Find<Identity: ICoreWebView2_28_Impl, const OFFSET: isize>(
42960 this: *mut core::ffi::c_void,
42961 value: *mut *mut core::ffi::c_void,
42962 ) -> windows_core::HRESULT {
42963 unsafe {
42964 let this: &Identity =
42965 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42966 match ICoreWebView2_28_Impl::Find(this) {
42967 Ok(ok__) => {
42968 value.write(core::mem::transmute(ok__));
42969 windows_core::HRESULT(0)
42970 }
42971 Err(err) => err.into(),
42972 }
42973 }
42974 }
42975 Self {
42976 base__: ICoreWebView2_27_Vtbl::new::<Identity, OFFSET>(),
42977 Find: Find::<Identity, OFFSET>,
42978 }
42979 }
42980 pub fn matches(iid: &windows_core::GUID) -> bool {
42981 iid == &<ICoreWebView2_28 as windows_core::Interface>::IID
42982 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42983 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42984 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42985 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42986 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42987 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
42988 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
42989 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
42990 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
42991 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
42992 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
42993 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
42994 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
42995 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
42996 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
42997 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
42998 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
42999 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
43000 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
43001 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
43002 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
43003 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
43004 || iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
43005 || iid == &<ICoreWebView2_24 as windows_core::Interface>::IID
43006 || iid == &<ICoreWebView2_25 as windows_core::Interface>::IID
43007 || iid == &<ICoreWebView2_26 as windows_core::Interface>::IID
43008 || iid == &<ICoreWebView2_27 as windows_core::Interface>::IID
43009 }
43010}
43011impl windows_core::RuntimeName for ICoreWebView2_28 {}
43012windows_core::imp::define_interface!(
43013 ICoreWebView2_3,
43014 ICoreWebView2_3_Vtbl,
43015 0xa0d6df20_3b92_416d_aa0c_437a9c727857
43016);
43017impl core::ops::Deref for ICoreWebView2_3 {
43018 type Target = ICoreWebView2_2;
43019 fn deref(&self) -> &Self::Target {
43020 unsafe { core::mem::transmute(self) }
43021 }
43022}
43023windows_core::imp::interface_hierarchy!(
43024 ICoreWebView2_3,
43025 windows_core::IUnknown,
43026 ICoreWebView2,
43027 ICoreWebView2_2
43028);
43029impl ICoreWebView2_3 {
43030 pub unsafe fn TrySuspend<P0>(&self, handler: P0) -> windows_core::Result<()>
43031 where
43032 P0: windows_core::Param<ICoreWebView2TrySuspendCompletedHandler>,
43033 {
43034 unsafe {
43035 (windows_core::Interface::vtable(self).TrySuspend)(
43036 windows_core::Interface::as_raw(self),
43037 handler.param().abi(),
43038 )
43039 .ok()
43040 }
43041 }
43042 pub unsafe fn Resume(&self) -> windows_core::Result<()> {
43043 unsafe {
43044 (windows_core::Interface::vtable(self).Resume)(windows_core::Interface::as_raw(self))
43045 .ok()
43046 }
43047 }
43048 pub unsafe fn IsSuspended(
43049 &self,
43050 issuspended: *mut windows_core::BOOL,
43051 ) -> windows_core::Result<()> {
43052 unsafe {
43053 (windows_core::Interface::vtable(self).IsSuspended)(
43054 windows_core::Interface::as_raw(self),
43055 issuspended as _,
43056 )
43057 .ok()
43058 }
43059 }
43060 pub unsafe fn SetVirtualHostNameToFolderMapping<P0, P1>(
43061 &self,
43062 hostname: P0,
43063 folderpath: P1,
43064 accesskind: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
43065 ) -> windows_core::Result<()>
43066 where
43067 P0: windows_core::Param<windows_core::PCWSTR>,
43068 P1: windows_core::Param<windows_core::PCWSTR>,
43069 {
43070 unsafe {
43071 (windows_core::Interface::vtable(self).SetVirtualHostNameToFolderMapping)(
43072 windows_core::Interface::as_raw(self),
43073 hostname.param().abi(),
43074 folderpath.param().abi(),
43075 accesskind,
43076 )
43077 .ok()
43078 }
43079 }
43080 pub unsafe fn ClearVirtualHostNameToFolderMapping<P0>(
43081 &self,
43082 hostname: P0,
43083 ) -> windows_core::Result<()>
43084 where
43085 P0: windows_core::Param<windows_core::PCWSTR>,
43086 {
43087 unsafe {
43088 (windows_core::Interface::vtable(self).ClearVirtualHostNameToFolderMapping)(
43089 windows_core::Interface::as_raw(self),
43090 hostname.param().abi(),
43091 )
43092 .ok()
43093 }
43094 }
43095}
43096#[repr(C)]
43097#[doc(hidden)]
43098pub struct ICoreWebView2_3_Vtbl {
43099 pub base__: ICoreWebView2_2_Vtbl,
43100 pub TrySuspend: unsafe extern "system" fn(
43101 *mut core::ffi::c_void,
43102 *mut core::ffi::c_void,
43103 ) -> windows_core::HRESULT,
43104 pub Resume: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
43105 pub IsSuspended: unsafe extern "system" fn(
43106 *mut core::ffi::c_void,
43107 *mut windows_core::BOOL,
43108 ) -> windows_core::HRESULT,
43109 pub SetVirtualHostNameToFolderMapping: unsafe extern "system" fn(
43110 *mut core::ffi::c_void,
43111 windows_core::PCWSTR,
43112 windows_core::PCWSTR,
43113 COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
43114 ) -> windows_core::HRESULT,
43115 pub ClearVirtualHostNameToFolderMapping: unsafe extern "system" fn(
43116 *mut core::ffi::c_void,
43117 windows_core::PCWSTR,
43118 )
43119 -> windows_core::HRESULT,
43120}
43121pub trait ICoreWebView2_3_Impl: ICoreWebView2_2_Impl {
43122 fn TrySuspend(
43123 &self,
43124 handler: windows_core::Ref<ICoreWebView2TrySuspendCompletedHandler>,
43125 ) -> windows_core::Result<()>;
43126 fn Resume(&self) -> windows_core::Result<()>;
43127 fn IsSuspended(&self, issuspended: *mut windows_core::BOOL) -> windows_core::Result<()>;
43128 fn SetVirtualHostNameToFolderMapping(
43129 &self,
43130 hostname: &windows_core::PCWSTR,
43131 folderpath: &windows_core::PCWSTR,
43132 accesskind: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
43133 ) -> windows_core::Result<()>;
43134 fn ClearVirtualHostNameToFolderMapping(
43135 &self,
43136 hostname: &windows_core::PCWSTR,
43137 ) -> windows_core::Result<()>;
43138}
43139impl ICoreWebView2_3_Vtbl {
43140 pub const fn new<Identity: ICoreWebView2_3_Impl, const OFFSET: isize>() -> Self {
43141 unsafe extern "system" fn TrySuspend<
43142 Identity: ICoreWebView2_3_Impl,
43143 const OFFSET: isize,
43144 >(
43145 this: *mut core::ffi::c_void,
43146 handler: *mut core::ffi::c_void,
43147 ) -> windows_core::HRESULT {
43148 unsafe {
43149 let this: &Identity =
43150 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43151 ICoreWebView2_3_Impl::TrySuspend(this, core::mem::transmute_copy(&handler)).into()
43152 }
43153 }
43154 unsafe extern "system" fn Resume<Identity: ICoreWebView2_3_Impl, const OFFSET: isize>(
43155 this: *mut core::ffi::c_void,
43156 ) -> windows_core::HRESULT {
43157 unsafe {
43158 let this: &Identity =
43159 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43160 ICoreWebView2_3_Impl::Resume(this).into()
43161 }
43162 }
43163 unsafe extern "system" fn IsSuspended<
43164 Identity: ICoreWebView2_3_Impl,
43165 const OFFSET: isize,
43166 >(
43167 this: *mut core::ffi::c_void,
43168 issuspended: *mut windows_core::BOOL,
43169 ) -> windows_core::HRESULT {
43170 unsafe {
43171 let this: &Identity =
43172 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43173 ICoreWebView2_3_Impl::IsSuspended(this, core::mem::transmute_copy(&issuspended))
43174 .into()
43175 }
43176 }
43177 unsafe extern "system" fn SetVirtualHostNameToFolderMapping<
43178 Identity: ICoreWebView2_3_Impl,
43179 const OFFSET: isize,
43180 >(
43181 this: *mut core::ffi::c_void,
43182 hostname: windows_core::PCWSTR,
43183 folderpath: windows_core::PCWSTR,
43184 accesskind: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
43185 ) -> windows_core::HRESULT {
43186 unsafe {
43187 let this: &Identity =
43188 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43189 ICoreWebView2_3_Impl::SetVirtualHostNameToFolderMapping(
43190 this,
43191 core::mem::transmute(&hostname),
43192 core::mem::transmute(&folderpath),
43193 core::mem::transmute_copy(&accesskind),
43194 )
43195 .into()
43196 }
43197 }
43198 unsafe extern "system" fn ClearVirtualHostNameToFolderMapping<
43199 Identity: ICoreWebView2_3_Impl,
43200 const OFFSET: isize,
43201 >(
43202 this: *mut core::ffi::c_void,
43203 hostname: windows_core::PCWSTR,
43204 ) -> windows_core::HRESULT {
43205 unsafe {
43206 let this: &Identity =
43207 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43208 ICoreWebView2_3_Impl::ClearVirtualHostNameToFolderMapping(
43209 this,
43210 core::mem::transmute(&hostname),
43211 )
43212 .into()
43213 }
43214 }
43215 Self {
43216 base__: ICoreWebView2_2_Vtbl::new::<Identity, OFFSET>(),
43217 TrySuspend: TrySuspend::<Identity, OFFSET>,
43218 Resume: Resume::<Identity, OFFSET>,
43219 IsSuspended: IsSuspended::<Identity, OFFSET>,
43220 SetVirtualHostNameToFolderMapping: SetVirtualHostNameToFolderMapping::<Identity, OFFSET>,
43221 ClearVirtualHostNameToFolderMapping: ClearVirtualHostNameToFolderMapping::<
43222 Identity,
43223 OFFSET,
43224 >,
43225 }
43226 }
43227 pub fn matches(iid: &windows_core::GUID) -> bool {
43228 iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
43229 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
43230 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
43231 }
43232}
43233impl windows_core::RuntimeName for ICoreWebView2_3 {}
43234windows_core::imp::define_interface!(
43235 ICoreWebView2_4,
43236 ICoreWebView2_4_Vtbl,
43237 0x20d02d59_6df2_42dc_bd06_f98a694b1302
43238);
43239impl core::ops::Deref for ICoreWebView2_4 {
43240 type Target = ICoreWebView2_3;
43241 fn deref(&self) -> &Self::Target {
43242 unsafe { core::mem::transmute(self) }
43243 }
43244}
43245windows_core::imp::interface_hierarchy!(
43246 ICoreWebView2_4,
43247 windows_core::IUnknown,
43248 ICoreWebView2,
43249 ICoreWebView2_2,
43250 ICoreWebView2_3
43251);
43252impl ICoreWebView2_4 {
43253 pub unsafe fn add_FrameCreated<P0>(
43254 &self,
43255 eventhandler: P0,
43256 token: *mut i64,
43257 ) -> windows_core::Result<()>
43258 where
43259 P0: windows_core::Param<ICoreWebView2FrameCreatedEventHandler>,
43260 {
43261 unsafe {
43262 (windows_core::Interface::vtable(self).add_FrameCreated)(
43263 windows_core::Interface::as_raw(self),
43264 eventhandler.param().abi(),
43265 token as _,
43266 )
43267 .ok()
43268 }
43269 }
43270 pub unsafe fn remove_FrameCreated(&self, token: i64) -> windows_core::Result<()> {
43271 unsafe {
43272 (windows_core::Interface::vtable(self).remove_FrameCreated)(
43273 windows_core::Interface::as_raw(self),
43274 token,
43275 )
43276 .ok()
43277 }
43278 }
43279 pub unsafe fn add_DownloadStarting<P0>(
43280 &self,
43281 eventhandler: P0,
43282 token: *mut i64,
43283 ) -> windows_core::Result<()>
43284 where
43285 P0: windows_core::Param<ICoreWebView2DownloadStartingEventHandler>,
43286 {
43287 unsafe {
43288 (windows_core::Interface::vtable(self).add_DownloadStarting)(
43289 windows_core::Interface::as_raw(self),
43290 eventhandler.param().abi(),
43291 token as _,
43292 )
43293 .ok()
43294 }
43295 }
43296 pub unsafe fn remove_DownloadStarting(&self, token: i64) -> windows_core::Result<()> {
43297 unsafe {
43298 (windows_core::Interface::vtable(self).remove_DownloadStarting)(
43299 windows_core::Interface::as_raw(self),
43300 token,
43301 )
43302 .ok()
43303 }
43304 }
43305}
43306#[repr(C)]
43307#[doc(hidden)]
43308pub struct ICoreWebView2_4_Vtbl {
43309 pub base__: ICoreWebView2_3_Vtbl,
43310 pub add_FrameCreated: unsafe extern "system" fn(
43311 *mut core::ffi::c_void,
43312 *mut core::ffi::c_void,
43313 *mut i64,
43314 ) -> windows_core::HRESULT,
43315 pub remove_FrameCreated:
43316 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
43317 pub add_DownloadStarting: unsafe extern "system" fn(
43318 *mut core::ffi::c_void,
43319 *mut core::ffi::c_void,
43320 *mut i64,
43321 ) -> windows_core::HRESULT,
43322 pub remove_DownloadStarting:
43323 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
43324}
43325pub trait ICoreWebView2_4_Impl: ICoreWebView2_3_Impl {
43326 fn add_FrameCreated(
43327 &self,
43328 eventhandler: windows_core::Ref<ICoreWebView2FrameCreatedEventHandler>,
43329 token: *mut i64,
43330 ) -> windows_core::Result<()>;
43331 fn remove_FrameCreated(&self, token: i64) -> windows_core::Result<()>;
43332 fn add_DownloadStarting(
43333 &self,
43334 eventhandler: windows_core::Ref<ICoreWebView2DownloadStartingEventHandler>,
43335 token: *mut i64,
43336 ) -> windows_core::Result<()>;
43337 fn remove_DownloadStarting(&self, token: i64) -> windows_core::Result<()>;
43338}
43339impl ICoreWebView2_4_Vtbl {
43340 pub const fn new<Identity: ICoreWebView2_4_Impl, const OFFSET: isize>() -> Self {
43341 unsafe extern "system" fn add_FrameCreated<
43342 Identity: ICoreWebView2_4_Impl,
43343 const OFFSET: isize,
43344 >(
43345 this: *mut core::ffi::c_void,
43346 eventhandler: *mut core::ffi::c_void,
43347 token: *mut i64,
43348 ) -> windows_core::HRESULT {
43349 unsafe {
43350 let this: &Identity =
43351 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43352 ICoreWebView2_4_Impl::add_FrameCreated(
43353 this,
43354 core::mem::transmute_copy(&eventhandler),
43355 core::mem::transmute_copy(&token),
43356 )
43357 .into()
43358 }
43359 }
43360 unsafe extern "system" fn remove_FrameCreated<
43361 Identity: ICoreWebView2_4_Impl,
43362 const OFFSET: isize,
43363 >(
43364 this: *mut core::ffi::c_void,
43365 token: i64,
43366 ) -> windows_core::HRESULT {
43367 unsafe {
43368 let this: &Identity =
43369 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43370 ICoreWebView2_4_Impl::remove_FrameCreated(this, core::mem::transmute_copy(&token))
43371 .into()
43372 }
43373 }
43374 unsafe extern "system" fn add_DownloadStarting<
43375 Identity: ICoreWebView2_4_Impl,
43376 const OFFSET: isize,
43377 >(
43378 this: *mut core::ffi::c_void,
43379 eventhandler: *mut core::ffi::c_void,
43380 token: *mut i64,
43381 ) -> windows_core::HRESULT {
43382 unsafe {
43383 let this: &Identity =
43384 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43385 ICoreWebView2_4_Impl::add_DownloadStarting(
43386 this,
43387 core::mem::transmute_copy(&eventhandler),
43388 core::mem::transmute_copy(&token),
43389 )
43390 .into()
43391 }
43392 }
43393 unsafe extern "system" fn remove_DownloadStarting<
43394 Identity: ICoreWebView2_4_Impl,
43395 const OFFSET: isize,
43396 >(
43397 this: *mut core::ffi::c_void,
43398 token: i64,
43399 ) -> windows_core::HRESULT {
43400 unsafe {
43401 let this: &Identity =
43402 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43403 ICoreWebView2_4_Impl::remove_DownloadStarting(
43404 this,
43405 core::mem::transmute_copy(&token),
43406 )
43407 .into()
43408 }
43409 }
43410 Self {
43411 base__: ICoreWebView2_3_Vtbl::new::<Identity, OFFSET>(),
43412 add_FrameCreated: add_FrameCreated::<Identity, OFFSET>,
43413 remove_FrameCreated: remove_FrameCreated::<Identity, OFFSET>,
43414 add_DownloadStarting: add_DownloadStarting::<Identity, OFFSET>,
43415 remove_DownloadStarting: remove_DownloadStarting::<Identity, OFFSET>,
43416 }
43417 }
43418 pub fn matches(iid: &windows_core::GUID) -> bool {
43419 iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
43420 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
43421 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
43422 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
43423 }
43424}
43425impl windows_core::RuntimeName for ICoreWebView2_4 {}
43426windows_core::imp::define_interface!(
43427 ICoreWebView2_5,
43428 ICoreWebView2_5_Vtbl,
43429 0xbedb11b8_d63c_11eb_b8bc_0242ac130003
43430);
43431impl core::ops::Deref for ICoreWebView2_5 {
43432 type Target = ICoreWebView2_4;
43433 fn deref(&self) -> &Self::Target {
43434 unsafe { core::mem::transmute(self) }
43435 }
43436}
43437windows_core::imp::interface_hierarchy!(
43438 ICoreWebView2_5,
43439 windows_core::IUnknown,
43440 ICoreWebView2,
43441 ICoreWebView2_2,
43442 ICoreWebView2_3,
43443 ICoreWebView2_4
43444);
43445impl ICoreWebView2_5 {
43446 pub unsafe fn add_ClientCertificateRequested<P0>(
43447 &self,
43448 eventhandler: P0,
43449 token: *mut i64,
43450 ) -> windows_core::Result<()>
43451 where
43452 P0: windows_core::Param<ICoreWebView2ClientCertificateRequestedEventHandler>,
43453 {
43454 unsafe {
43455 (windows_core::Interface::vtable(self).add_ClientCertificateRequested)(
43456 windows_core::Interface::as_raw(self),
43457 eventhandler.param().abi(),
43458 token as _,
43459 )
43460 .ok()
43461 }
43462 }
43463 pub unsafe fn remove_ClientCertificateRequested(&self, token: i64) -> windows_core::Result<()> {
43464 unsafe {
43465 (windows_core::Interface::vtable(self).remove_ClientCertificateRequested)(
43466 windows_core::Interface::as_raw(self),
43467 token,
43468 )
43469 .ok()
43470 }
43471 }
43472}
43473#[repr(C)]
43474#[doc(hidden)]
43475pub struct ICoreWebView2_5_Vtbl {
43476 pub base__: ICoreWebView2_4_Vtbl,
43477 pub add_ClientCertificateRequested: unsafe extern "system" fn(
43478 *mut core::ffi::c_void,
43479 *mut core::ffi::c_void,
43480 *mut i64,
43481 ) -> windows_core::HRESULT,
43482 pub remove_ClientCertificateRequested:
43483 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
43484}
43485pub trait ICoreWebView2_5_Impl: ICoreWebView2_4_Impl {
43486 fn add_ClientCertificateRequested(
43487 &self,
43488 eventhandler: windows_core::Ref<ICoreWebView2ClientCertificateRequestedEventHandler>,
43489 token: *mut i64,
43490 ) -> windows_core::Result<()>;
43491 fn remove_ClientCertificateRequested(&self, token: i64) -> windows_core::Result<()>;
43492}
43493impl ICoreWebView2_5_Vtbl {
43494 pub const fn new<Identity: ICoreWebView2_5_Impl, const OFFSET: isize>() -> Self {
43495 unsafe extern "system" fn add_ClientCertificateRequested<
43496 Identity: ICoreWebView2_5_Impl,
43497 const OFFSET: isize,
43498 >(
43499 this: *mut core::ffi::c_void,
43500 eventhandler: *mut core::ffi::c_void,
43501 token: *mut i64,
43502 ) -> windows_core::HRESULT {
43503 unsafe {
43504 let this: &Identity =
43505 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43506 ICoreWebView2_5_Impl::add_ClientCertificateRequested(
43507 this,
43508 core::mem::transmute_copy(&eventhandler),
43509 core::mem::transmute_copy(&token),
43510 )
43511 .into()
43512 }
43513 }
43514 unsafe extern "system" fn remove_ClientCertificateRequested<
43515 Identity: ICoreWebView2_5_Impl,
43516 const OFFSET: isize,
43517 >(
43518 this: *mut core::ffi::c_void,
43519 token: i64,
43520 ) -> windows_core::HRESULT {
43521 unsafe {
43522 let this: &Identity =
43523 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43524 ICoreWebView2_5_Impl::remove_ClientCertificateRequested(
43525 this,
43526 core::mem::transmute_copy(&token),
43527 )
43528 .into()
43529 }
43530 }
43531 Self {
43532 base__: ICoreWebView2_4_Vtbl::new::<Identity, OFFSET>(),
43533 add_ClientCertificateRequested: add_ClientCertificateRequested::<Identity, OFFSET>,
43534 remove_ClientCertificateRequested: remove_ClientCertificateRequested::<Identity, OFFSET>,
43535 }
43536 }
43537 pub fn matches(iid: &windows_core::GUID) -> bool {
43538 iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
43539 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
43540 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
43541 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
43542 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
43543 }
43544}
43545impl windows_core::RuntimeName for ICoreWebView2_5 {}
43546windows_core::imp::define_interface!(
43547 ICoreWebView2_6,
43548 ICoreWebView2_6_Vtbl,
43549 0x499aadac_d92c_4589_8a75_111bfc167795
43550);
43551impl core::ops::Deref for ICoreWebView2_6 {
43552 type Target = ICoreWebView2_5;
43553 fn deref(&self) -> &Self::Target {
43554 unsafe { core::mem::transmute(self) }
43555 }
43556}
43557windows_core::imp::interface_hierarchy!(
43558 ICoreWebView2_6,
43559 windows_core::IUnknown,
43560 ICoreWebView2,
43561 ICoreWebView2_2,
43562 ICoreWebView2_3,
43563 ICoreWebView2_4,
43564 ICoreWebView2_5
43565);
43566impl ICoreWebView2_6 {
43567 pub unsafe fn OpenTaskManagerWindow(&self) -> windows_core::Result<()> {
43568 unsafe {
43569 (windows_core::Interface::vtable(self).OpenTaskManagerWindow)(
43570 windows_core::Interface::as_raw(self),
43571 )
43572 .ok()
43573 }
43574 }
43575}
43576#[repr(C)]
43577#[doc(hidden)]
43578pub struct ICoreWebView2_6_Vtbl {
43579 pub base__: ICoreWebView2_5_Vtbl,
43580 pub OpenTaskManagerWindow:
43581 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
43582}
43583pub trait ICoreWebView2_6_Impl: ICoreWebView2_5_Impl {
43584 fn OpenTaskManagerWindow(&self) -> windows_core::Result<()>;
43585}
43586impl ICoreWebView2_6_Vtbl {
43587 pub const fn new<Identity: ICoreWebView2_6_Impl, const OFFSET: isize>() -> Self {
43588 unsafe extern "system" fn OpenTaskManagerWindow<
43589 Identity: ICoreWebView2_6_Impl,
43590 const OFFSET: isize,
43591 >(
43592 this: *mut core::ffi::c_void,
43593 ) -> windows_core::HRESULT {
43594 unsafe {
43595 let this: &Identity =
43596 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43597 ICoreWebView2_6_Impl::OpenTaskManagerWindow(this).into()
43598 }
43599 }
43600 Self {
43601 base__: ICoreWebView2_5_Vtbl::new::<Identity, OFFSET>(),
43602 OpenTaskManagerWindow: OpenTaskManagerWindow::<Identity, OFFSET>,
43603 }
43604 }
43605 pub fn matches(iid: &windows_core::GUID) -> bool {
43606 iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
43607 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
43608 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
43609 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
43610 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
43611 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
43612 }
43613}
43614impl windows_core::RuntimeName for ICoreWebView2_6 {}
43615windows_core::imp::define_interface!(
43616 ICoreWebView2_7,
43617 ICoreWebView2_7_Vtbl,
43618 0x79c24d83_09a3_45ae_9418_487f32a58740
43619);
43620impl core::ops::Deref for ICoreWebView2_7 {
43621 type Target = ICoreWebView2_6;
43622 fn deref(&self) -> &Self::Target {
43623 unsafe { core::mem::transmute(self) }
43624 }
43625}
43626windows_core::imp::interface_hierarchy!(
43627 ICoreWebView2_7,
43628 windows_core::IUnknown,
43629 ICoreWebView2,
43630 ICoreWebView2_2,
43631 ICoreWebView2_3,
43632 ICoreWebView2_4,
43633 ICoreWebView2_5,
43634 ICoreWebView2_6
43635);
43636impl ICoreWebView2_7 {
43637 pub unsafe fn PrintToPdf<P0, P1, P2>(
43638 &self,
43639 resultfilepath: P0,
43640 printsettings: P1,
43641 handler: P2,
43642 ) -> windows_core::Result<()>
43643 where
43644 P0: windows_core::Param<windows_core::PCWSTR>,
43645 P1: windows_core::Param<ICoreWebView2PrintSettings>,
43646 P2: windows_core::Param<ICoreWebView2PrintToPdfCompletedHandler>,
43647 {
43648 unsafe {
43649 (windows_core::Interface::vtable(self).PrintToPdf)(
43650 windows_core::Interface::as_raw(self),
43651 resultfilepath.param().abi(),
43652 printsettings.param().abi(),
43653 handler.param().abi(),
43654 )
43655 .ok()
43656 }
43657 }
43658}
43659#[repr(C)]
43660#[doc(hidden)]
43661pub struct ICoreWebView2_7_Vtbl {
43662 pub base__: ICoreWebView2_6_Vtbl,
43663 pub PrintToPdf: unsafe extern "system" fn(
43664 *mut core::ffi::c_void,
43665 windows_core::PCWSTR,
43666 *mut core::ffi::c_void,
43667 *mut core::ffi::c_void,
43668 ) -> windows_core::HRESULT,
43669}
43670pub trait ICoreWebView2_7_Impl: ICoreWebView2_6_Impl {
43671 fn PrintToPdf(
43672 &self,
43673 resultfilepath: &windows_core::PCWSTR,
43674 printsettings: windows_core::Ref<ICoreWebView2PrintSettings>,
43675 handler: windows_core::Ref<ICoreWebView2PrintToPdfCompletedHandler>,
43676 ) -> windows_core::Result<()>;
43677}
43678impl ICoreWebView2_7_Vtbl {
43679 pub const fn new<Identity: ICoreWebView2_7_Impl, const OFFSET: isize>() -> Self {
43680 unsafe extern "system" fn PrintToPdf<
43681 Identity: ICoreWebView2_7_Impl,
43682 const OFFSET: isize,
43683 >(
43684 this: *mut core::ffi::c_void,
43685 resultfilepath: windows_core::PCWSTR,
43686 printsettings: *mut core::ffi::c_void,
43687 handler: *mut core::ffi::c_void,
43688 ) -> windows_core::HRESULT {
43689 unsafe {
43690 let this: &Identity =
43691 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43692 ICoreWebView2_7_Impl::PrintToPdf(
43693 this,
43694 core::mem::transmute(&resultfilepath),
43695 core::mem::transmute_copy(&printsettings),
43696 core::mem::transmute_copy(&handler),
43697 )
43698 .into()
43699 }
43700 }
43701 Self {
43702 base__: ICoreWebView2_6_Vtbl::new::<Identity, OFFSET>(),
43703 PrintToPdf: PrintToPdf::<Identity, OFFSET>,
43704 }
43705 }
43706 pub fn matches(iid: &windows_core::GUID) -> bool {
43707 iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
43708 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
43709 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
43710 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
43711 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
43712 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
43713 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
43714 }
43715}
43716impl windows_core::RuntimeName for ICoreWebView2_7 {}
43717windows_core::imp::define_interface!(
43718 ICoreWebView2_8,
43719 ICoreWebView2_8_Vtbl,
43720 0xe9632730_6e1e_43ab_b7b8_7b2c9e62e094
43721);
43722impl core::ops::Deref for ICoreWebView2_8 {
43723 type Target = ICoreWebView2_7;
43724 fn deref(&self) -> &Self::Target {
43725 unsafe { core::mem::transmute(self) }
43726 }
43727}
43728windows_core::imp::interface_hierarchy!(
43729 ICoreWebView2_8,
43730 windows_core::IUnknown,
43731 ICoreWebView2,
43732 ICoreWebView2_2,
43733 ICoreWebView2_3,
43734 ICoreWebView2_4,
43735 ICoreWebView2_5,
43736 ICoreWebView2_6,
43737 ICoreWebView2_7
43738);
43739impl ICoreWebView2_8 {
43740 pub unsafe fn add_IsMutedChanged<P0>(
43741 &self,
43742 eventhandler: P0,
43743 token: *mut i64,
43744 ) -> windows_core::Result<()>
43745 where
43746 P0: windows_core::Param<ICoreWebView2IsMutedChangedEventHandler>,
43747 {
43748 unsafe {
43749 (windows_core::Interface::vtable(self).add_IsMutedChanged)(
43750 windows_core::Interface::as_raw(self),
43751 eventhandler.param().abi(),
43752 token as _,
43753 )
43754 .ok()
43755 }
43756 }
43757 pub unsafe fn remove_IsMutedChanged(&self, token: i64) -> windows_core::Result<()> {
43758 unsafe {
43759 (windows_core::Interface::vtable(self).remove_IsMutedChanged)(
43760 windows_core::Interface::as_raw(self),
43761 token,
43762 )
43763 .ok()
43764 }
43765 }
43766 pub unsafe fn IsMuted(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
43767 unsafe {
43768 (windows_core::Interface::vtable(self).IsMuted)(
43769 windows_core::Interface::as_raw(self),
43770 value as _,
43771 )
43772 .ok()
43773 }
43774 }
43775 pub unsafe fn SetIsMuted(&self, value: bool) -> windows_core::Result<()> {
43776 unsafe {
43777 (windows_core::Interface::vtable(self).SetIsMuted)(
43778 windows_core::Interface::as_raw(self),
43779 value.into(),
43780 )
43781 .ok()
43782 }
43783 }
43784 pub unsafe fn add_IsDocumentPlayingAudioChanged<P0>(
43785 &self,
43786 eventhandler: P0,
43787 token: *mut i64,
43788 ) -> windows_core::Result<()>
43789 where
43790 P0: windows_core::Param<ICoreWebView2IsDocumentPlayingAudioChangedEventHandler>,
43791 {
43792 unsafe {
43793 (windows_core::Interface::vtable(self).add_IsDocumentPlayingAudioChanged)(
43794 windows_core::Interface::as_raw(self),
43795 eventhandler.param().abi(),
43796 token as _,
43797 )
43798 .ok()
43799 }
43800 }
43801 pub unsafe fn remove_IsDocumentPlayingAudioChanged(
43802 &self,
43803 token: i64,
43804 ) -> windows_core::Result<()> {
43805 unsafe {
43806 (windows_core::Interface::vtable(self).remove_IsDocumentPlayingAudioChanged)(
43807 windows_core::Interface::as_raw(self),
43808 token,
43809 )
43810 .ok()
43811 }
43812 }
43813 pub unsafe fn IsDocumentPlayingAudio(
43814 &self,
43815 value: *mut windows_core::BOOL,
43816 ) -> windows_core::Result<()> {
43817 unsafe {
43818 (windows_core::Interface::vtable(self).IsDocumentPlayingAudio)(
43819 windows_core::Interface::as_raw(self),
43820 value as _,
43821 )
43822 .ok()
43823 }
43824 }
43825}
43826#[repr(C)]
43827#[doc(hidden)]
43828pub struct ICoreWebView2_8_Vtbl {
43829 pub base__: ICoreWebView2_7_Vtbl,
43830 pub add_IsMutedChanged: unsafe extern "system" fn(
43831 *mut core::ffi::c_void,
43832 *mut core::ffi::c_void,
43833 *mut i64,
43834 ) -> windows_core::HRESULT,
43835 pub remove_IsMutedChanged:
43836 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
43837 pub IsMuted: unsafe extern "system" fn(
43838 *mut core::ffi::c_void,
43839 *mut windows_core::BOOL,
43840 ) -> windows_core::HRESULT,
43841 pub SetIsMuted: unsafe extern "system" fn(
43842 *mut core::ffi::c_void,
43843 windows_core::BOOL,
43844 ) -> windows_core::HRESULT,
43845 pub add_IsDocumentPlayingAudioChanged: unsafe extern "system" fn(
43846 *mut core::ffi::c_void,
43847 *mut core::ffi::c_void,
43848 *mut i64,
43849 ) -> windows_core::HRESULT,
43850 pub remove_IsDocumentPlayingAudioChanged:
43851 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
43852 pub IsDocumentPlayingAudio: unsafe extern "system" fn(
43853 *mut core::ffi::c_void,
43854 *mut windows_core::BOOL,
43855 ) -> windows_core::HRESULT,
43856}
43857pub trait ICoreWebView2_8_Impl: ICoreWebView2_7_Impl {
43858 fn add_IsMutedChanged(
43859 &self,
43860 eventhandler: windows_core::Ref<ICoreWebView2IsMutedChangedEventHandler>,
43861 token: *mut i64,
43862 ) -> windows_core::Result<()>;
43863 fn remove_IsMutedChanged(&self, token: i64) -> windows_core::Result<()>;
43864 fn IsMuted(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
43865 fn SetIsMuted(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
43866 fn add_IsDocumentPlayingAudioChanged(
43867 &self,
43868 eventhandler: windows_core::Ref<ICoreWebView2IsDocumentPlayingAudioChangedEventHandler>,
43869 token: *mut i64,
43870 ) -> windows_core::Result<()>;
43871 fn remove_IsDocumentPlayingAudioChanged(&self, token: i64) -> windows_core::Result<()>;
43872 fn IsDocumentPlayingAudio(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
43873}
43874impl ICoreWebView2_8_Vtbl {
43875 pub const fn new<Identity: ICoreWebView2_8_Impl, const OFFSET: isize>() -> Self {
43876 unsafe extern "system" fn add_IsMutedChanged<
43877 Identity: ICoreWebView2_8_Impl,
43878 const OFFSET: isize,
43879 >(
43880 this: *mut core::ffi::c_void,
43881 eventhandler: *mut core::ffi::c_void,
43882 token: *mut i64,
43883 ) -> windows_core::HRESULT {
43884 unsafe {
43885 let this: &Identity =
43886 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43887 ICoreWebView2_8_Impl::add_IsMutedChanged(
43888 this,
43889 core::mem::transmute_copy(&eventhandler),
43890 core::mem::transmute_copy(&token),
43891 )
43892 .into()
43893 }
43894 }
43895 unsafe extern "system" fn remove_IsMutedChanged<
43896 Identity: ICoreWebView2_8_Impl,
43897 const OFFSET: isize,
43898 >(
43899 this: *mut core::ffi::c_void,
43900 token: i64,
43901 ) -> windows_core::HRESULT {
43902 unsafe {
43903 let this: &Identity =
43904 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43905 ICoreWebView2_8_Impl::remove_IsMutedChanged(this, core::mem::transmute_copy(&token))
43906 .into()
43907 }
43908 }
43909 unsafe extern "system" fn IsMuted<Identity: ICoreWebView2_8_Impl, const OFFSET: isize>(
43910 this: *mut core::ffi::c_void,
43911 value: *mut windows_core::BOOL,
43912 ) -> windows_core::HRESULT {
43913 unsafe {
43914 let this: &Identity =
43915 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43916 ICoreWebView2_8_Impl::IsMuted(this, core::mem::transmute_copy(&value)).into()
43917 }
43918 }
43919 unsafe extern "system" fn SetIsMuted<
43920 Identity: ICoreWebView2_8_Impl,
43921 const OFFSET: isize,
43922 >(
43923 this: *mut core::ffi::c_void,
43924 value: windows_core::BOOL,
43925 ) -> windows_core::HRESULT {
43926 unsafe {
43927 let this: &Identity =
43928 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43929 ICoreWebView2_8_Impl::SetIsMuted(this, core::mem::transmute_copy(&value)).into()
43930 }
43931 }
43932 unsafe extern "system" fn add_IsDocumentPlayingAudioChanged<
43933 Identity: ICoreWebView2_8_Impl,
43934 const OFFSET: isize,
43935 >(
43936 this: *mut core::ffi::c_void,
43937 eventhandler: *mut core::ffi::c_void,
43938 token: *mut i64,
43939 ) -> windows_core::HRESULT {
43940 unsafe {
43941 let this: &Identity =
43942 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43943 ICoreWebView2_8_Impl::add_IsDocumentPlayingAudioChanged(
43944 this,
43945 core::mem::transmute_copy(&eventhandler),
43946 core::mem::transmute_copy(&token),
43947 )
43948 .into()
43949 }
43950 }
43951 unsafe extern "system" fn remove_IsDocumentPlayingAudioChanged<
43952 Identity: ICoreWebView2_8_Impl,
43953 const OFFSET: isize,
43954 >(
43955 this: *mut core::ffi::c_void,
43956 token: i64,
43957 ) -> windows_core::HRESULT {
43958 unsafe {
43959 let this: &Identity =
43960 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43961 ICoreWebView2_8_Impl::remove_IsDocumentPlayingAudioChanged(
43962 this,
43963 core::mem::transmute_copy(&token),
43964 )
43965 .into()
43966 }
43967 }
43968 unsafe extern "system" fn IsDocumentPlayingAudio<
43969 Identity: ICoreWebView2_8_Impl,
43970 const OFFSET: isize,
43971 >(
43972 this: *mut core::ffi::c_void,
43973 value: *mut windows_core::BOOL,
43974 ) -> windows_core::HRESULT {
43975 unsafe {
43976 let this: &Identity =
43977 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
43978 ICoreWebView2_8_Impl::IsDocumentPlayingAudio(
43979 this,
43980 core::mem::transmute_copy(&value),
43981 )
43982 .into()
43983 }
43984 }
43985 Self {
43986 base__: ICoreWebView2_7_Vtbl::new::<Identity, OFFSET>(),
43987 add_IsMutedChanged: add_IsMutedChanged::<Identity, OFFSET>,
43988 remove_IsMutedChanged: remove_IsMutedChanged::<Identity, OFFSET>,
43989 IsMuted: IsMuted::<Identity, OFFSET>,
43990 SetIsMuted: SetIsMuted::<Identity, OFFSET>,
43991 add_IsDocumentPlayingAudioChanged: add_IsDocumentPlayingAudioChanged::<Identity, OFFSET>,
43992 remove_IsDocumentPlayingAudioChanged: remove_IsDocumentPlayingAudioChanged::<
43993 Identity,
43994 OFFSET,
43995 >,
43996 IsDocumentPlayingAudio: IsDocumentPlayingAudio::<Identity, OFFSET>,
43997 }
43998 }
43999 pub fn matches(iid: &windows_core::GUID) -> bool {
44000 iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
44001 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
44002 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
44003 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
44004 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
44005 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
44006 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
44007 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
44008 }
44009}
44010impl windows_core::RuntimeName for ICoreWebView2_8 {}
44011windows_core::imp::define_interface!(
44012 ICoreWebView2_9,
44013 ICoreWebView2_9_Vtbl,
44014 0x4d7b2eab_9fdc_468d_b998_a9260b5ed651
44015);
44016impl core::ops::Deref for ICoreWebView2_9 {
44017 type Target = ICoreWebView2_8;
44018 fn deref(&self) -> &Self::Target {
44019 unsafe { core::mem::transmute(self) }
44020 }
44021}
44022windows_core::imp::interface_hierarchy!(
44023 ICoreWebView2_9,
44024 windows_core::IUnknown,
44025 ICoreWebView2,
44026 ICoreWebView2_2,
44027 ICoreWebView2_3,
44028 ICoreWebView2_4,
44029 ICoreWebView2_5,
44030 ICoreWebView2_6,
44031 ICoreWebView2_7,
44032 ICoreWebView2_8
44033);
44034impl ICoreWebView2_9 {
44035 pub unsafe fn add_IsDefaultDownloadDialogOpenChanged<P0>(
44036 &self,
44037 handler: P0,
44038 token: *mut i64,
44039 ) -> windows_core::Result<()>
44040 where
44041 P0: windows_core::Param<ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler>,
44042 {
44043 unsafe {
44044 (windows_core::Interface::vtable(self).add_IsDefaultDownloadDialogOpenChanged)(
44045 windows_core::Interface::as_raw(self),
44046 handler.param().abi(),
44047 token as _,
44048 )
44049 .ok()
44050 }
44051 }
44052 pub unsafe fn remove_IsDefaultDownloadDialogOpenChanged(
44053 &self,
44054 token: i64,
44055 ) -> windows_core::Result<()> {
44056 unsafe {
44057 (windows_core::Interface::vtable(self).remove_IsDefaultDownloadDialogOpenChanged)(
44058 windows_core::Interface::as_raw(self),
44059 token,
44060 )
44061 .ok()
44062 }
44063 }
44064 pub unsafe fn IsDefaultDownloadDialogOpen(
44065 &self,
44066 value: *mut windows_core::BOOL,
44067 ) -> windows_core::Result<()> {
44068 unsafe {
44069 (windows_core::Interface::vtable(self).IsDefaultDownloadDialogOpen)(
44070 windows_core::Interface::as_raw(self),
44071 value as _,
44072 )
44073 .ok()
44074 }
44075 }
44076 pub unsafe fn OpenDefaultDownloadDialog(&self) -> windows_core::Result<()> {
44077 unsafe {
44078 (windows_core::Interface::vtable(self).OpenDefaultDownloadDialog)(
44079 windows_core::Interface::as_raw(self),
44080 )
44081 .ok()
44082 }
44083 }
44084 pub unsafe fn CloseDefaultDownloadDialog(&self) -> windows_core::Result<()> {
44085 unsafe {
44086 (windows_core::Interface::vtable(self).CloseDefaultDownloadDialog)(
44087 windows_core::Interface::as_raw(self),
44088 )
44089 .ok()
44090 }
44091 }
44092 pub unsafe fn DefaultDownloadDialogCornerAlignment(
44093 &self,
44094 value: *mut COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
44095 ) -> windows_core::Result<()> {
44096 unsafe {
44097 (windows_core::Interface::vtable(self).DefaultDownloadDialogCornerAlignment)(
44098 windows_core::Interface::as_raw(self),
44099 value as _,
44100 )
44101 .ok()
44102 }
44103 }
44104 pub unsafe fn SetDefaultDownloadDialogCornerAlignment(
44105 &self,
44106 value: COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
44107 ) -> windows_core::Result<()> {
44108 unsafe {
44109 (windows_core::Interface::vtable(self).SetDefaultDownloadDialogCornerAlignment)(
44110 windows_core::Interface::as_raw(self),
44111 value,
44112 )
44113 .ok()
44114 }
44115 }
44116 pub unsafe fn DefaultDownloadDialogMargin(
44117 &self,
44118 value: *mut windows::Win32::Foundation::POINT,
44119 ) -> windows_core::Result<()> {
44120 unsafe {
44121 (windows_core::Interface::vtable(self).DefaultDownloadDialogMargin)(
44122 windows_core::Interface::as_raw(self),
44123 value as _,
44124 )
44125 .ok()
44126 }
44127 }
44128 pub unsafe fn SetDefaultDownloadDialogMargin(
44129 &self,
44130 value: windows::Win32::Foundation::POINT,
44131 ) -> windows_core::Result<()> {
44132 unsafe {
44133 (windows_core::Interface::vtable(self).SetDefaultDownloadDialogMargin)(
44134 windows_core::Interface::as_raw(self),
44135 core::mem::transmute(value),
44136 )
44137 .ok()
44138 }
44139 }
44140}
44141#[repr(C)]
44142#[doc(hidden)]
44143pub struct ICoreWebView2_9_Vtbl {
44144 pub base__: ICoreWebView2_8_Vtbl,
44145 pub add_IsDefaultDownloadDialogOpenChanged: unsafe extern "system" fn(
44146 *mut core::ffi::c_void,
44147 *mut core::ffi::c_void,
44148 *mut i64,
44149 )
44150 -> windows_core::HRESULT,
44151 pub remove_IsDefaultDownloadDialogOpenChanged:
44152 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
44153 pub IsDefaultDownloadDialogOpen: unsafe extern "system" fn(
44154 *mut core::ffi::c_void,
44155 *mut windows_core::BOOL,
44156 ) -> windows_core::HRESULT,
44157 pub OpenDefaultDownloadDialog:
44158 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
44159 pub CloseDefaultDownloadDialog:
44160 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
44161 pub DefaultDownloadDialogCornerAlignment: unsafe extern "system" fn(
44162 *mut core::ffi::c_void,
44163 *mut COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
44164 )
44165 -> windows_core::HRESULT,
44166 pub SetDefaultDownloadDialogCornerAlignment: unsafe extern "system" fn(
44167 *mut core::ffi::c_void,
44168 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
44169 )
44170 -> windows_core::HRESULT,
44171 pub DefaultDownloadDialogMargin: unsafe extern "system" fn(
44172 *mut core::ffi::c_void,
44173 *mut windows::Win32::Foundation::POINT,
44174 ) -> windows_core::HRESULT,
44175 pub SetDefaultDownloadDialogMargin: unsafe extern "system" fn(
44176 *mut core::ffi::c_void,
44177 windows::Win32::Foundation::POINT,
44178 ) -> windows_core::HRESULT,
44179}
44180pub trait ICoreWebView2_9_Impl: ICoreWebView2_8_Impl {
44181 fn add_IsDefaultDownloadDialogOpenChanged(
44182 &self,
44183 handler: windows_core::Ref<ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler>,
44184 token: *mut i64,
44185 ) -> windows_core::Result<()>;
44186 fn remove_IsDefaultDownloadDialogOpenChanged(&self, token: i64) -> windows_core::Result<()>;
44187 fn IsDefaultDownloadDialogOpen(
44188 &self,
44189 value: *mut windows_core::BOOL,
44190 ) -> windows_core::Result<()>;
44191 fn OpenDefaultDownloadDialog(&self) -> windows_core::Result<()>;
44192 fn CloseDefaultDownloadDialog(&self) -> windows_core::Result<()>;
44193 fn DefaultDownloadDialogCornerAlignment(
44194 &self,
44195 value: *mut COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
44196 ) -> windows_core::Result<()>;
44197 fn SetDefaultDownloadDialogCornerAlignment(
44198 &self,
44199 value: COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
44200 ) -> windows_core::Result<()>;
44201 fn DefaultDownloadDialogMargin(
44202 &self,
44203 value: *mut windows::Win32::Foundation::POINT,
44204 ) -> windows_core::Result<()>;
44205 fn SetDefaultDownloadDialogMargin(
44206 &self,
44207 value: &windows::Win32::Foundation::POINT,
44208 ) -> windows_core::Result<()>;
44209}
44210impl ICoreWebView2_9_Vtbl {
44211 pub const fn new<Identity: ICoreWebView2_9_Impl, const OFFSET: isize>() -> Self {
44212 unsafe extern "system" fn add_IsDefaultDownloadDialogOpenChanged<
44213 Identity: ICoreWebView2_9_Impl,
44214 const OFFSET: isize,
44215 >(
44216 this: *mut core::ffi::c_void,
44217 handler: *mut core::ffi::c_void,
44218 token: *mut i64,
44219 ) -> windows_core::HRESULT {
44220 unsafe {
44221 let this: &Identity =
44222 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
44223 ICoreWebView2_9_Impl::add_IsDefaultDownloadDialogOpenChanged(
44224 this,
44225 core::mem::transmute_copy(&handler),
44226 core::mem::transmute_copy(&token),
44227 )
44228 .into()
44229 }
44230 }
44231 unsafe extern "system" fn remove_IsDefaultDownloadDialogOpenChanged<
44232 Identity: ICoreWebView2_9_Impl,
44233 const OFFSET: isize,
44234 >(
44235 this: *mut core::ffi::c_void,
44236 token: i64,
44237 ) -> windows_core::HRESULT {
44238 unsafe {
44239 let this: &Identity =
44240 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
44241 ICoreWebView2_9_Impl::remove_IsDefaultDownloadDialogOpenChanged(
44242 this,
44243 core::mem::transmute_copy(&token),
44244 )
44245 .into()
44246 }
44247 }
44248 unsafe extern "system" fn IsDefaultDownloadDialogOpen<
44249 Identity: ICoreWebView2_9_Impl,
44250 const OFFSET: isize,
44251 >(
44252 this: *mut core::ffi::c_void,
44253 value: *mut windows_core::BOOL,
44254 ) -> windows_core::HRESULT {
44255 unsafe {
44256 let this: &Identity =
44257 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
44258 ICoreWebView2_9_Impl::IsDefaultDownloadDialogOpen(
44259 this,
44260 core::mem::transmute_copy(&value),
44261 )
44262 .into()
44263 }
44264 }
44265 unsafe extern "system" fn OpenDefaultDownloadDialog<
44266 Identity: ICoreWebView2_9_Impl,
44267 const OFFSET: isize,
44268 >(
44269 this: *mut core::ffi::c_void,
44270 ) -> windows_core::HRESULT {
44271 unsafe {
44272 let this: &Identity =
44273 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
44274 ICoreWebView2_9_Impl::OpenDefaultDownloadDialog(this).into()
44275 }
44276 }
44277 unsafe extern "system" fn CloseDefaultDownloadDialog<
44278 Identity: ICoreWebView2_9_Impl,
44279 const OFFSET: isize,
44280 >(
44281 this: *mut core::ffi::c_void,
44282 ) -> windows_core::HRESULT {
44283 unsafe {
44284 let this: &Identity =
44285 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
44286 ICoreWebView2_9_Impl::CloseDefaultDownloadDialog(this).into()
44287 }
44288 }
44289 unsafe extern "system" fn DefaultDownloadDialogCornerAlignment<
44290 Identity: ICoreWebView2_9_Impl,
44291 const OFFSET: isize,
44292 >(
44293 this: *mut core::ffi::c_void,
44294 value: *mut COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
44295 ) -> windows_core::HRESULT {
44296 unsafe {
44297 let this: &Identity =
44298 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
44299 ICoreWebView2_9_Impl::DefaultDownloadDialogCornerAlignment(
44300 this,
44301 core::mem::transmute_copy(&value),
44302 )
44303 .into()
44304 }
44305 }
44306 unsafe extern "system" fn SetDefaultDownloadDialogCornerAlignment<
44307 Identity: ICoreWebView2_9_Impl,
44308 const OFFSET: isize,
44309 >(
44310 this: *mut core::ffi::c_void,
44311 value: COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
44312 ) -> windows_core::HRESULT {
44313 unsafe {
44314 let this: &Identity =
44315 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
44316 ICoreWebView2_9_Impl::SetDefaultDownloadDialogCornerAlignment(
44317 this,
44318 core::mem::transmute_copy(&value),
44319 )
44320 .into()
44321 }
44322 }
44323 unsafe extern "system" fn DefaultDownloadDialogMargin<
44324 Identity: ICoreWebView2_9_Impl,
44325 const OFFSET: isize,
44326 >(
44327 this: *mut core::ffi::c_void,
44328 value: *mut windows::Win32::Foundation::POINT,
44329 ) -> windows_core::HRESULT {
44330 unsafe {
44331 let this: &Identity =
44332 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
44333 ICoreWebView2_9_Impl::DefaultDownloadDialogMargin(
44334 this,
44335 core::mem::transmute_copy(&value),
44336 )
44337 .into()
44338 }
44339 }
44340 unsafe extern "system" fn SetDefaultDownloadDialogMargin<
44341 Identity: ICoreWebView2_9_Impl,
44342 const OFFSET: isize,
44343 >(
44344 this: *mut core::ffi::c_void,
44345 value: windows::Win32::Foundation::POINT,
44346 ) -> windows_core::HRESULT {
44347 unsafe {
44348 let this: &Identity =
44349 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
44350 ICoreWebView2_9_Impl::SetDefaultDownloadDialogMargin(
44351 this,
44352 core::mem::transmute(&value),
44353 )
44354 .into()
44355 }
44356 }
44357 Self {
44358 base__: ICoreWebView2_8_Vtbl::new::<Identity, OFFSET>(),
44359 add_IsDefaultDownloadDialogOpenChanged: add_IsDefaultDownloadDialogOpenChanged::<
44360 Identity,
44361 OFFSET,
44362 >,
44363 remove_IsDefaultDownloadDialogOpenChanged: remove_IsDefaultDownloadDialogOpenChanged::<
44364 Identity,
44365 OFFSET,
44366 >,
44367 IsDefaultDownloadDialogOpen: IsDefaultDownloadDialogOpen::<Identity, OFFSET>,
44368 OpenDefaultDownloadDialog: OpenDefaultDownloadDialog::<Identity, OFFSET>,
44369 CloseDefaultDownloadDialog: CloseDefaultDownloadDialog::<Identity, OFFSET>,
44370 DefaultDownloadDialogCornerAlignment: DefaultDownloadDialogCornerAlignment::<
44371 Identity,
44372 OFFSET,
44373 >,
44374 SetDefaultDownloadDialogCornerAlignment: SetDefaultDownloadDialogCornerAlignment::<
44375 Identity,
44376 OFFSET,
44377 >,
44378 DefaultDownloadDialogMargin: DefaultDownloadDialogMargin::<Identity, OFFSET>,
44379 SetDefaultDownloadDialogMargin: SetDefaultDownloadDialogMargin::<Identity, OFFSET>,
44380 }
44381 }
44382 pub fn matches(iid: &windows_core::GUID) -> bool {
44383 iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
44384 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
44385 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
44386 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
44387 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
44388 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
44389 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
44390 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
44391 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
44392 }
44393}
44394impl windows_core::RuntimeName for ICoreWebView2_9 {}