1#[inline]
4pub unsafe fn CompareBrowserVersions<P0, P1>(
5 version1: P0,
6 version2: P1,
7 result: *mut i32,
8) -> windows_core::Result<()>
9where
10 P0: windows_core::Param<windows_core::PCWSTR>,
11 P1: windows_core::Param<windows_core::PCWSTR>,
12{
13 windows_link::link!("webview2loader" "system" fn CompareBrowserVersions(version1 : windows_core::PCWSTR, version2 : windows_core::PCWSTR, result : *mut i32) -> windows_core::HRESULT);
14 unsafe {
15 CompareBrowserVersions(version1.param().abi(), version2.param().abi(), result as _).ok()
16 }
17}
18#[inline]
19pub unsafe fn CreateCoreWebView2Environment<P0>(
20 environmentcreatedhandler: P0,
21) -> windows_core::Result<()>
22where
23 P0: windows_core::Param<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>,
24{
25 windows_link::link!("webview2loader" "system" fn CreateCoreWebView2Environment(environmentcreatedhandler : * mut core::ffi::c_void) -> windows_core::HRESULT);
26 unsafe { CreateCoreWebView2Environment(environmentcreatedhandler.param().abi()).ok() }
27}
28#[inline]
29pub unsafe fn CreateCoreWebView2EnvironmentWithOptions<P0, P1, P2, P3>(
30 browserexecutablefolder: P0,
31 userdatafolder: P1,
32 environmentoptions: P2,
33 environmentcreatedhandler: P3,
34) -> windows_core::Result<()>
35where
36 P0: windows_core::Param<windows_core::PCWSTR>,
37 P1: windows_core::Param<windows_core::PCWSTR>,
38 P2: windows_core::Param<ICoreWebView2EnvironmentOptions>,
39 P3: windows_core::Param<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>,
40{
41 windows_link::link!("webview2loader" "system" fn CreateCoreWebView2EnvironmentWithOptions(browserexecutablefolder : windows_core::PCWSTR, userdatafolder : windows_core::PCWSTR, environmentoptions : * mut core::ffi::c_void, environmentcreatedhandler : * mut core::ffi::c_void) -> windows_core::HRESULT);
42 unsafe {
43 CreateCoreWebView2EnvironmentWithOptions(
44 browserexecutablefolder.param().abi(),
45 userdatafolder.param().abi(),
46 environmentoptions.param().abi(),
47 environmentcreatedhandler.param().abi(),
48 )
49 .ok()
50 }
51}
52#[inline]
53pub unsafe fn GetAvailableCoreWebView2BrowserVersionString<P0>(
54 browserexecutablefolder: P0,
55 versioninfo: *mut windows_core::PWSTR,
56) -> windows_core::Result<()>
57where
58 P0: windows_core::Param<windows_core::PCWSTR>,
59{
60 windows_link::link!("webview2loader" "system" fn GetAvailableCoreWebView2BrowserVersionString(browserexecutablefolder : windows_core::PCWSTR, versioninfo : *mut windows_core::PWSTR) -> windows_core::HRESULT);
61 unsafe {
62 GetAvailableCoreWebView2BrowserVersionString(
63 browserexecutablefolder.param().abi(),
64 versioninfo as _,
65 )
66 .ok()
67 }
68}
69#[inline]
70pub unsafe fn GetAvailableCoreWebView2BrowserVersionStringWithOptions<P0, P1>(
71 browserexecutablefolder: P0,
72 environmentoptions: P1,
73 versioninfo: *mut windows_core::PWSTR,
74) -> windows_core::Result<()>
75where
76 P0: windows_core::Param<windows_core::PCWSTR>,
77 P1: windows_core::Param<ICoreWebView2EnvironmentOptions>,
78{
79 windows_link::link!("webview2loader" "system" fn GetAvailableCoreWebView2BrowserVersionStringWithOptions(browserexecutablefolder : windows_core::PCWSTR, environmentoptions : * mut core::ffi::c_void, versioninfo : *mut windows_core::PWSTR) -> windows_core::HRESULT);
80 unsafe {
81 GetAvailableCoreWebView2BrowserVersionStringWithOptions(
82 browserexecutablefolder.param().abi(),
83 environmentoptions.param().abi(),
84 versioninfo as _,
85 )
86 .ok()
87 }
88}
89#[repr(transparent)]
90#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
91pub struct COREWEBVIEW2_BOUNDS_MODE(pub i32);
92pub const COREWEBVIEW2_BOUNDS_MODE_USE_RASTERIZATION_SCALE: COREWEBVIEW2_BOUNDS_MODE =
93 COREWEBVIEW2_BOUNDS_MODE(1i32);
94pub const COREWEBVIEW2_BOUNDS_MODE_USE_RAW_PIXELS: COREWEBVIEW2_BOUNDS_MODE =
95 COREWEBVIEW2_BOUNDS_MODE(0i32);
96#[repr(transparent)]
97#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
98pub struct COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND(pub i32);
99pub const COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_FAILED: COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND =
100 COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND(1i32);
101pub const COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_NORMAL: COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND =
102 COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND(0i32);
103#[repr(transparent)]
104#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
105pub struct COREWEBVIEW2_BROWSING_DATA_KINDS(pub i32);
106impl COREWEBVIEW2_BROWSING_DATA_KINDS {
107 pub const fn contains(&self, other: Self) -> bool {
108 self.0 & other.0 == other.0
109 }
110}
111impl core::ops::BitOr for COREWEBVIEW2_BROWSING_DATA_KINDS {
112 type Output = Self;
113 fn bitor(self, other: Self) -> Self {
114 Self(self.0 | other.0)
115 }
116}
117impl core::ops::BitAnd for COREWEBVIEW2_BROWSING_DATA_KINDS {
118 type Output = Self;
119 fn bitand(self, other: Self) -> Self {
120 Self(self.0 & other.0)
121 }
122}
123impl core::ops::BitOrAssign for COREWEBVIEW2_BROWSING_DATA_KINDS {
124 fn bitor_assign(&mut self, other: Self) {
125 self.0.bitor_assign(other.0)
126 }
127}
128impl core::ops::BitAndAssign for COREWEBVIEW2_BROWSING_DATA_KINDS {
129 fn bitand_assign(&mut self, other: Self) {
130 self.0.bitand_assign(other.0)
131 }
132}
133impl core::ops::Not for COREWEBVIEW2_BROWSING_DATA_KINDS {
134 type Output = Self;
135 fn not(self) -> Self {
136 Self(self.0.not())
137 }
138}
139pub const COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_DOM_STORAGE: COREWEBVIEW2_BROWSING_DATA_KINDS =
140 COREWEBVIEW2_BROWSING_DATA_KINDS(32i32);
141pub const COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_PROFILE: COREWEBVIEW2_BROWSING_DATA_KINDS =
142 COREWEBVIEW2_BROWSING_DATA_KINDS(16384i32);
143pub const COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_SITE: COREWEBVIEW2_BROWSING_DATA_KINDS =
144 COREWEBVIEW2_BROWSING_DATA_KINDS(128i32);
145pub const COREWEBVIEW2_BROWSING_DATA_KINDS_BROWSING_HISTORY: COREWEBVIEW2_BROWSING_DATA_KINDS =
146 COREWEBVIEW2_BROWSING_DATA_KINDS(4096i32);
147pub const COREWEBVIEW2_BROWSING_DATA_KINDS_CACHE_STORAGE: COREWEBVIEW2_BROWSING_DATA_KINDS =
148 COREWEBVIEW2_BROWSING_DATA_KINDS(16i32);
149pub const COREWEBVIEW2_BROWSING_DATA_KINDS_COOKIES: COREWEBVIEW2_BROWSING_DATA_KINDS =
150 COREWEBVIEW2_BROWSING_DATA_KINDS(64i32);
151pub const COREWEBVIEW2_BROWSING_DATA_KINDS_DISK_CACHE: COREWEBVIEW2_BROWSING_DATA_KINDS =
152 COREWEBVIEW2_BROWSING_DATA_KINDS(256i32);
153pub const COREWEBVIEW2_BROWSING_DATA_KINDS_DOWNLOAD_HISTORY: COREWEBVIEW2_BROWSING_DATA_KINDS =
154 COREWEBVIEW2_BROWSING_DATA_KINDS(512i32);
155pub const COREWEBVIEW2_BROWSING_DATA_KINDS_FILE_SYSTEMS: COREWEBVIEW2_BROWSING_DATA_KINDS =
156 COREWEBVIEW2_BROWSING_DATA_KINDS(1i32);
157pub const COREWEBVIEW2_BROWSING_DATA_KINDS_GENERAL_AUTOFILL: COREWEBVIEW2_BROWSING_DATA_KINDS =
158 COREWEBVIEW2_BROWSING_DATA_KINDS(1024i32);
159pub const COREWEBVIEW2_BROWSING_DATA_KINDS_INDEXED_DB: COREWEBVIEW2_BROWSING_DATA_KINDS =
160 COREWEBVIEW2_BROWSING_DATA_KINDS(2i32);
161pub const COREWEBVIEW2_BROWSING_DATA_KINDS_LOCAL_STORAGE: COREWEBVIEW2_BROWSING_DATA_KINDS =
162 COREWEBVIEW2_BROWSING_DATA_KINDS(4i32);
163pub const COREWEBVIEW2_BROWSING_DATA_KINDS_PASSWORD_AUTOSAVE: COREWEBVIEW2_BROWSING_DATA_KINDS =
164 COREWEBVIEW2_BROWSING_DATA_KINDS(2048i32);
165pub const COREWEBVIEW2_BROWSING_DATA_KINDS_SERVICE_WORKERS: COREWEBVIEW2_BROWSING_DATA_KINDS =
166 COREWEBVIEW2_BROWSING_DATA_KINDS(32768i32);
167pub const COREWEBVIEW2_BROWSING_DATA_KINDS_SETTINGS: COREWEBVIEW2_BROWSING_DATA_KINDS =
168 COREWEBVIEW2_BROWSING_DATA_KINDS(8192i32);
169pub const COREWEBVIEW2_BROWSING_DATA_KINDS_WEB_SQL: COREWEBVIEW2_BROWSING_DATA_KINDS =
170 COREWEBVIEW2_BROWSING_DATA_KINDS(8i32);
171#[repr(transparent)]
172#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
173pub struct COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT(pub i32);
174pub const COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_JPEG:
175 COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT = COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT(1i32);
176pub const COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_PNG: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT =
177 COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT(0i32);
178#[repr(transparent)]
179#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
180pub struct COREWEBVIEW2_CHANNEL_SEARCH_KIND(pub i32);
181pub const COREWEBVIEW2_CHANNEL_SEARCH_KIND_LEAST_STABLE: COREWEBVIEW2_CHANNEL_SEARCH_KIND =
182 COREWEBVIEW2_CHANNEL_SEARCH_KIND(1i32);
183pub const COREWEBVIEW2_CHANNEL_SEARCH_KIND_MOST_STABLE: COREWEBVIEW2_CHANNEL_SEARCH_KIND =
184 COREWEBVIEW2_CHANNEL_SEARCH_KIND(0i32);
185#[repr(transparent)]
186#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
187pub struct COREWEBVIEW2_CLIENT_CERTIFICATE_KIND(pub i32);
188pub const COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_OTHER: COREWEBVIEW2_CLIENT_CERTIFICATE_KIND =
189 COREWEBVIEW2_CLIENT_CERTIFICATE_KIND(2i32);
190pub const COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_PIN: COREWEBVIEW2_CLIENT_CERTIFICATE_KIND =
191 COREWEBVIEW2_CLIENT_CERTIFICATE_KIND(1i32);
192pub const COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_SMART_CARD: COREWEBVIEW2_CLIENT_CERTIFICATE_KIND =
193 COREWEBVIEW2_CLIENT_CERTIFICATE_KIND(0i32);
194#[repr(C)]
195#[derive(Clone, Copy, Debug, Default, PartialEq)]
196pub struct COREWEBVIEW2_COLOR {
197 pub A: u8,
198 pub R: u8,
199 pub G: u8,
200 pub B: u8,
201}
202#[repr(transparent)]
203#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
204pub struct COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND(pub i32);
205pub const COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_CHECK_BOX: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND =
206 COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND(1i32);
207pub const COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_COMMAND: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND =
208 COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND(0i32);
209pub const COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_RADIO: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND =
210 COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND(2i32);
211pub const COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_SEPARATOR: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND =
212 COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND(3i32);
213pub const COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_SUBMENU: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND =
214 COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND(4i32);
215#[repr(transparent)]
216#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
217pub struct COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND(pub i32);
218pub const COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_AUDIO: COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND =
219 COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND(3i32);
220pub const COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_IMAGE: COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND =
221 COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND(1i32);
222pub const COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_PAGE: COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND =
223 COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND(0i32);
224pub const COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_SELECTED_TEXT:
225 COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND = COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND(2i32);
226pub const COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_VIDEO: COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND =
227 COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND(4i32);
228#[repr(transparent)]
229#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
230pub struct COREWEBVIEW2_COOKIE_SAME_SITE_KIND(pub i32);
231pub const COREWEBVIEW2_COOKIE_SAME_SITE_KIND_LAX: COREWEBVIEW2_COOKIE_SAME_SITE_KIND =
232 COREWEBVIEW2_COOKIE_SAME_SITE_KIND(1i32);
233pub const COREWEBVIEW2_COOKIE_SAME_SITE_KIND_NONE: COREWEBVIEW2_COOKIE_SAME_SITE_KIND =
234 COREWEBVIEW2_COOKIE_SAME_SITE_KIND(0i32);
235pub const COREWEBVIEW2_COOKIE_SAME_SITE_KIND_STRICT: COREWEBVIEW2_COOKIE_SAME_SITE_KIND =
236 COREWEBVIEW2_COOKIE_SAME_SITE_KIND(2i32);
237#[repr(transparent)]
238#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
239pub struct COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT(pub i32);
240pub const COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_BOTTOM_LEFT:
241 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT =
242 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT(2i32);
243pub const COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_BOTTOM_RIGHT:
244 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT =
245 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT(3i32);
246pub const COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_LEFT:
247 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT =
248 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT(0i32);
249pub const COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_RIGHT:
250 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT =
251 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT(1i32);
252#[repr(transparent)]
253#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
254pub struct COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(pub i32);
255pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_DOWNLOAD_PROCESS_CRASHED:
256 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(29i32);
257pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED:
258 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(2i32);
259pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED_BY_POLICY:
260 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(8i32);
261pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_FAILED:
262 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(1i32);
263pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_HASH_MISMATCH:
264 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(11i32);
265pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_MALICIOUS:
266 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(6i32);
267pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG:
268 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(4i32);
269pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE:
270 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(3i32);
271pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED:
272 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(9i32);
273pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE:
274 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(5i32);
275pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT:
276 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(10i32);
277pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR:
278 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(7i32);
279pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED:
280 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(14i32);
281pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED:
282 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(12i32);
283pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_INVALID_REQUEST:
284 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(16i32);
285pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN:
286 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(15i32);
287pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT:
288 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(13i32);
289pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NONE: COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON =
290 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(0i32);
291pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT:
292 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(19i32);
293pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CERTIFICATE_PROBLEM:
294 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(21i32);
295pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CONTENT_LENGTH_MISMATCH:
296 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(24i32);
297pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CROSS_ORIGIN_REDIRECT:
298 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(25i32);
299pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED:
300 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(17i32);
301pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FORBIDDEN:
302 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(22i32);
303pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_NO_RANGE:
304 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(18i32);
305pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNAUTHORIZED:
306 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(20i32);
307pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNEXPECTED_RESPONSE:
308 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(23i32);
309pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_CANCELED:
310 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(26i32);
311pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_PAUSED:
312 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(28i32);
313pub const COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN:
314 COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON = COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON(27i32);
315#[repr(transparent)]
316#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
317pub struct COREWEBVIEW2_DOWNLOAD_STATE(pub i32);
318pub const COREWEBVIEW2_DOWNLOAD_STATE_COMPLETED: COREWEBVIEW2_DOWNLOAD_STATE =
319 COREWEBVIEW2_DOWNLOAD_STATE(2i32);
320pub const COREWEBVIEW2_DOWNLOAD_STATE_INTERRUPTED: COREWEBVIEW2_DOWNLOAD_STATE =
321 COREWEBVIEW2_DOWNLOAD_STATE(1i32);
322pub const COREWEBVIEW2_DOWNLOAD_STATE_IN_PROGRESS: COREWEBVIEW2_DOWNLOAD_STATE =
323 COREWEBVIEW2_DOWNLOAD_STATE(0i32);
324#[repr(transparent)]
325#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
326pub struct COREWEBVIEW2_FAVICON_IMAGE_FORMAT(pub i32);
327pub const COREWEBVIEW2_FAVICON_IMAGE_FORMAT_JPEG: COREWEBVIEW2_FAVICON_IMAGE_FORMAT =
328 COREWEBVIEW2_FAVICON_IMAGE_FORMAT(1i32);
329pub const COREWEBVIEW2_FAVICON_IMAGE_FORMAT_PNG: COREWEBVIEW2_FAVICON_IMAGE_FORMAT =
330 COREWEBVIEW2_FAVICON_IMAGE_FORMAT(0i32);
331#[repr(transparent)]
332#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
333pub struct COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND(pub i32);
334pub const COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND_DIRECTORY: COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND =
335 COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND(1i32);
336pub const COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND_FILE: COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND =
337 COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND(0i32);
338#[repr(transparent)]
339#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
340pub struct COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION(pub i32);
341pub const COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION_READ_ONLY:
342 COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION = COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION(0i32);
343pub const COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION_READ_WRITE:
344 COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION = COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION(1i32);
345#[repr(transparent)]
346#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
347pub struct COREWEBVIEW2_FRAME_KIND(pub i32);
348pub const COREWEBVIEW2_FRAME_KIND_EMBED: COREWEBVIEW2_FRAME_KIND = COREWEBVIEW2_FRAME_KIND(3i32);
349pub const COREWEBVIEW2_FRAME_KIND_IFRAME: COREWEBVIEW2_FRAME_KIND = COREWEBVIEW2_FRAME_KIND(2i32);
350pub const COREWEBVIEW2_FRAME_KIND_MAIN_FRAME: COREWEBVIEW2_FRAME_KIND =
351 COREWEBVIEW2_FRAME_KIND(1i32);
352pub const COREWEBVIEW2_FRAME_KIND_OBJECT: COREWEBVIEW2_FRAME_KIND = COREWEBVIEW2_FRAME_KIND(4i32);
353pub const COREWEBVIEW2_FRAME_KIND_UNKNOWN: COREWEBVIEW2_FRAME_KIND = COREWEBVIEW2_FRAME_KIND(0i32);
354#[repr(transparent)]
355#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
356pub struct COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND(pub i32);
357pub const COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_ALLOW: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND =
358 COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND(1i32);
359pub const COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND =
360 COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND(0i32);
361pub const COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY_CORS: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND =
362 COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND(2i32);
363#[repr(transparent)]
364#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
365pub struct COREWEBVIEW2_KEY_EVENT_KIND(pub i32);
366pub const COREWEBVIEW2_KEY_EVENT_KIND_KEY_DOWN: COREWEBVIEW2_KEY_EVENT_KIND =
367 COREWEBVIEW2_KEY_EVENT_KIND(0i32);
368pub const COREWEBVIEW2_KEY_EVENT_KIND_KEY_UP: COREWEBVIEW2_KEY_EVENT_KIND =
369 COREWEBVIEW2_KEY_EVENT_KIND(1i32);
370pub const COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_DOWN: COREWEBVIEW2_KEY_EVENT_KIND =
371 COREWEBVIEW2_KEY_EVENT_KIND(2i32);
372pub const COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_UP: COREWEBVIEW2_KEY_EVENT_KIND =
373 COREWEBVIEW2_KEY_EVENT_KIND(3i32);
374#[repr(transparent)]
375#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
376pub struct COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL(pub i32);
377pub const COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL_LOW: COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL =
378 COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL(1i32);
379pub const COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL_NORMAL: COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL =
380 COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL(0i32);
381#[repr(transparent)]
382#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
383pub struct COREWEBVIEW2_MOUSE_EVENT_KIND(pub i32);
384pub const COREWEBVIEW2_MOUSE_EVENT_KIND_HORIZONTAL_WHEEL: COREWEBVIEW2_MOUSE_EVENT_KIND =
385 COREWEBVIEW2_MOUSE_EVENT_KIND(526i32);
386pub const COREWEBVIEW2_MOUSE_EVENT_KIND_LEAVE: COREWEBVIEW2_MOUSE_EVENT_KIND =
387 COREWEBVIEW2_MOUSE_EVENT_KIND(675i32);
388pub const COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOUBLE_CLICK: COREWEBVIEW2_MOUSE_EVENT_KIND =
389 COREWEBVIEW2_MOUSE_EVENT_KIND(515i32);
390pub const COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOWN: COREWEBVIEW2_MOUSE_EVENT_KIND =
391 COREWEBVIEW2_MOUSE_EVENT_KIND(513i32);
392pub const COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
393 COREWEBVIEW2_MOUSE_EVENT_KIND(514i32);
394pub const COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOUBLE_CLICK: COREWEBVIEW2_MOUSE_EVENT_KIND =
395 COREWEBVIEW2_MOUSE_EVENT_KIND(521i32);
396pub const COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOWN: COREWEBVIEW2_MOUSE_EVENT_KIND =
397 COREWEBVIEW2_MOUSE_EVENT_KIND(519i32);
398pub const COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
399 COREWEBVIEW2_MOUSE_EVENT_KIND(520i32);
400pub const COREWEBVIEW2_MOUSE_EVENT_KIND_MOVE: COREWEBVIEW2_MOUSE_EVENT_KIND =
401 COREWEBVIEW2_MOUSE_EVENT_KIND(512i32);
402pub const COREWEBVIEW2_MOUSE_EVENT_KIND_NON_CLIENT_RIGHT_BUTTON_DOWN:
403 COREWEBVIEW2_MOUSE_EVENT_KIND = COREWEBVIEW2_MOUSE_EVENT_KIND(164i32);
404pub const COREWEBVIEW2_MOUSE_EVENT_KIND_NON_CLIENT_RIGHT_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
405 COREWEBVIEW2_MOUSE_EVENT_KIND(165i32);
406pub const COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOUBLE_CLICK: COREWEBVIEW2_MOUSE_EVENT_KIND =
407 COREWEBVIEW2_MOUSE_EVENT_KIND(518i32);
408pub const COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOWN: COREWEBVIEW2_MOUSE_EVENT_KIND =
409 COREWEBVIEW2_MOUSE_EVENT_KIND(516i32);
410pub const COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
411 COREWEBVIEW2_MOUSE_EVENT_KIND(517i32);
412pub const COREWEBVIEW2_MOUSE_EVENT_KIND_WHEEL: COREWEBVIEW2_MOUSE_EVENT_KIND =
413 COREWEBVIEW2_MOUSE_EVENT_KIND(522i32);
414pub const COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOUBLE_CLICK: COREWEBVIEW2_MOUSE_EVENT_KIND =
415 COREWEBVIEW2_MOUSE_EVENT_KIND(525i32);
416pub const COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOWN: COREWEBVIEW2_MOUSE_EVENT_KIND =
417 COREWEBVIEW2_MOUSE_EVENT_KIND(523i32);
418pub const COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
419 COREWEBVIEW2_MOUSE_EVENT_KIND(524i32);
420#[repr(transparent)]
421#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
422pub struct COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(pub i32);
423impl COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
424 pub const fn contains(&self, other: Self) -> bool {
425 self.0 & other.0 == other.0
426 }
427}
428impl core::ops::BitOr for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
429 type Output = Self;
430 fn bitor(self, other: Self) -> Self {
431 Self(self.0 | other.0)
432 }
433}
434impl core::ops::BitAnd for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
435 type Output = Self;
436 fn bitand(self, other: Self) -> Self {
437 Self(self.0 & other.0)
438 }
439}
440impl core::ops::BitOrAssign for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
441 fn bitor_assign(&mut self, other: Self) {
442 self.0.bitor_assign(other.0)
443 }
444}
445impl core::ops::BitAndAssign for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
446 fn bitand_assign(&mut self, other: Self) {
447 self.0.bitand_assign(other.0)
448 }
449}
450impl core::ops::Not for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
451 type Output = Self;
452 fn not(self) -> Self {
453 Self(self.0.not())
454 }
455}
456pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_CONTROL: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
457 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(8i32);
458pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_LEFT_BUTTON: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
459 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(1i32);
460pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_MIDDLE_BUTTON:
461 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS = COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(16i32);
462pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_NONE: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
463 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(0i32);
464pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_RIGHT_BUTTON:
465 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS = COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(2i32);
466pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_SHIFT: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
467 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(4i32);
468pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON1: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
469 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(32i32);
470pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON2: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
471 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(64i32);
472#[repr(transparent)]
473#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
474pub struct COREWEBVIEW2_MOVE_FOCUS_REASON(pub i32);
475pub const COREWEBVIEW2_MOVE_FOCUS_REASON_NEXT: COREWEBVIEW2_MOVE_FOCUS_REASON =
476 COREWEBVIEW2_MOVE_FOCUS_REASON(1i32);
477pub const COREWEBVIEW2_MOVE_FOCUS_REASON_PREVIOUS: COREWEBVIEW2_MOVE_FOCUS_REASON =
478 COREWEBVIEW2_MOVE_FOCUS_REASON(2i32);
479pub const COREWEBVIEW2_MOVE_FOCUS_REASON_PROGRAMMATIC: COREWEBVIEW2_MOVE_FOCUS_REASON =
480 COREWEBVIEW2_MOVE_FOCUS_REASON(0i32);
481#[repr(transparent)]
482#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
483pub struct COREWEBVIEW2_NAVIGATION_KIND(pub i32);
484pub const COREWEBVIEW2_NAVIGATION_KIND_BACK_OR_FORWARD: COREWEBVIEW2_NAVIGATION_KIND =
485 COREWEBVIEW2_NAVIGATION_KIND(1i32);
486pub const COREWEBVIEW2_NAVIGATION_KIND_NEW_DOCUMENT: COREWEBVIEW2_NAVIGATION_KIND =
487 COREWEBVIEW2_NAVIGATION_KIND(2i32);
488pub const COREWEBVIEW2_NAVIGATION_KIND_RELOAD: COREWEBVIEW2_NAVIGATION_KIND =
489 COREWEBVIEW2_NAVIGATION_KIND(0i32);
490#[repr(transparent)]
491#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
492pub struct COREWEBVIEW2_NON_CLIENT_REGION_KIND(pub i32);
493pub const COREWEBVIEW2_NON_CLIENT_REGION_KIND_CAPTION: COREWEBVIEW2_NON_CLIENT_REGION_KIND =
494 COREWEBVIEW2_NON_CLIENT_REGION_KIND(2i32);
495pub const COREWEBVIEW2_NON_CLIENT_REGION_KIND_CLIENT: COREWEBVIEW2_NON_CLIENT_REGION_KIND =
496 COREWEBVIEW2_NON_CLIENT_REGION_KIND(1i32);
497pub const COREWEBVIEW2_NON_CLIENT_REGION_KIND_CLOSE: COREWEBVIEW2_NON_CLIENT_REGION_KIND =
498 COREWEBVIEW2_NON_CLIENT_REGION_KIND(20i32);
499pub const COREWEBVIEW2_NON_CLIENT_REGION_KIND_MAXIMIZE: COREWEBVIEW2_NON_CLIENT_REGION_KIND =
500 COREWEBVIEW2_NON_CLIENT_REGION_KIND(9i32);
501pub const COREWEBVIEW2_NON_CLIENT_REGION_KIND_MINIMIZE: COREWEBVIEW2_NON_CLIENT_REGION_KIND =
502 COREWEBVIEW2_NON_CLIENT_REGION_KIND(8i32);
503pub const COREWEBVIEW2_NON_CLIENT_REGION_KIND_NOWHERE: COREWEBVIEW2_NON_CLIENT_REGION_KIND =
504 COREWEBVIEW2_NON_CLIENT_REGION_KIND(0i32);
505#[repr(transparent)]
506#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
507pub struct COREWEBVIEW2_PDF_TOOLBAR_ITEMS(pub i32);
508impl COREWEBVIEW2_PDF_TOOLBAR_ITEMS {
509 pub const fn contains(&self, other: Self) -> bool {
510 self.0 & other.0 == other.0
511 }
512}
513impl core::ops::BitOr for COREWEBVIEW2_PDF_TOOLBAR_ITEMS {
514 type Output = Self;
515 fn bitor(self, other: Self) -> Self {
516 Self(self.0 | other.0)
517 }
518}
519impl core::ops::BitAnd for COREWEBVIEW2_PDF_TOOLBAR_ITEMS {
520 type Output = Self;
521 fn bitand(self, other: Self) -> Self {
522 Self(self.0 & other.0)
523 }
524}
525impl core::ops::BitOrAssign for COREWEBVIEW2_PDF_TOOLBAR_ITEMS {
526 fn bitor_assign(&mut self, other: Self) {
527 self.0.bitor_assign(other.0)
528 }
529}
530impl core::ops::BitAndAssign for COREWEBVIEW2_PDF_TOOLBAR_ITEMS {
531 fn bitand_assign(&mut self, other: Self) {
532 self.0.bitand_assign(other.0)
533 }
534}
535impl core::ops::Not for COREWEBVIEW2_PDF_TOOLBAR_ITEMS {
536 type Output = Self;
537 fn not(self) -> Self {
538 Self(self.0.not())
539 }
540}
541pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_BOOKMARKS: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
542 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(256i32);
543pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_FIT_PAGE: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
544 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(64i32);
545pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_FULL_SCREEN: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
546 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(2048i32);
547pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_MORE_SETTINGS: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
548 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(4096i32);
549pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_NONE: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
550 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(0i32);
551pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PAGE_LAYOUT: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
552 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(128i32);
553pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PAGE_SELECTOR: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
554 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(512i32);
555pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PRINT: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
556 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(2i32);
557pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ROTATE: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
558 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(32i32);
559pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SAVE: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
560 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(1i32);
561pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SAVE_AS: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
562 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(4i32);
563pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SEARCH: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
564 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(1024i32);
565pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ZOOM_IN: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
566 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(8i32);
567pub const COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ZOOM_OUT: COREWEBVIEW2_PDF_TOOLBAR_ITEMS =
568 COREWEBVIEW2_PDF_TOOLBAR_ITEMS(16i32);
569#[repr(transparent)]
570#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
571pub struct COREWEBVIEW2_PERMISSION_KIND(pub i32);
572pub const COREWEBVIEW2_PERMISSION_KIND_AUTOPLAY: COREWEBVIEW2_PERMISSION_KIND =
573 COREWEBVIEW2_PERMISSION_KIND(9i32);
574pub const COREWEBVIEW2_PERMISSION_KIND_CAMERA: COREWEBVIEW2_PERMISSION_KIND =
575 COREWEBVIEW2_PERMISSION_KIND(2i32);
576pub const COREWEBVIEW2_PERMISSION_KIND_CLIPBOARD_READ: COREWEBVIEW2_PERMISSION_KIND =
577 COREWEBVIEW2_PERMISSION_KIND(6i32);
578pub const COREWEBVIEW2_PERMISSION_KIND_FILE_READ_WRITE: COREWEBVIEW2_PERMISSION_KIND =
579 COREWEBVIEW2_PERMISSION_KIND(8i32);
580pub const COREWEBVIEW2_PERMISSION_KIND_GEOLOCATION: COREWEBVIEW2_PERMISSION_KIND =
581 COREWEBVIEW2_PERMISSION_KIND(3i32);
582pub const COREWEBVIEW2_PERMISSION_KIND_LOCAL_FONTS: COREWEBVIEW2_PERMISSION_KIND =
583 COREWEBVIEW2_PERMISSION_KIND(10i32);
584pub const COREWEBVIEW2_PERMISSION_KIND_MICROPHONE: COREWEBVIEW2_PERMISSION_KIND =
585 COREWEBVIEW2_PERMISSION_KIND(1i32);
586pub const COREWEBVIEW2_PERMISSION_KIND_MIDI_SYSTEM_EXCLUSIVE_MESSAGES:
587 COREWEBVIEW2_PERMISSION_KIND = COREWEBVIEW2_PERMISSION_KIND(11i32);
588pub const COREWEBVIEW2_PERMISSION_KIND_MULTIPLE_AUTOMATIC_DOWNLOADS: COREWEBVIEW2_PERMISSION_KIND =
589 COREWEBVIEW2_PERMISSION_KIND(7i32);
590pub const COREWEBVIEW2_PERMISSION_KIND_NOTIFICATIONS: COREWEBVIEW2_PERMISSION_KIND =
591 COREWEBVIEW2_PERMISSION_KIND(4i32);
592pub const COREWEBVIEW2_PERMISSION_KIND_OTHER_SENSORS: COREWEBVIEW2_PERMISSION_KIND =
593 COREWEBVIEW2_PERMISSION_KIND(5i32);
594pub const COREWEBVIEW2_PERMISSION_KIND_UNKNOWN_PERMISSION: COREWEBVIEW2_PERMISSION_KIND =
595 COREWEBVIEW2_PERMISSION_KIND(0i32);
596pub const COREWEBVIEW2_PERMISSION_KIND_WINDOW_MANAGEMENT: COREWEBVIEW2_PERMISSION_KIND =
597 COREWEBVIEW2_PERMISSION_KIND(12i32);
598#[repr(transparent)]
599#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
600pub struct COREWEBVIEW2_PERMISSION_STATE(pub i32);
601pub const COREWEBVIEW2_PERMISSION_STATE_ALLOW: COREWEBVIEW2_PERMISSION_STATE =
602 COREWEBVIEW2_PERMISSION_STATE(1i32);
603pub const COREWEBVIEW2_PERMISSION_STATE_DEFAULT: COREWEBVIEW2_PERMISSION_STATE =
604 COREWEBVIEW2_PERMISSION_STATE(0i32);
605pub const COREWEBVIEW2_PERMISSION_STATE_DENY: COREWEBVIEW2_PERMISSION_STATE =
606 COREWEBVIEW2_PERMISSION_STATE(2i32);
607#[repr(C)]
608#[derive(Clone, Copy, Debug, Default, PartialEq)]
609pub struct COREWEBVIEW2_PHYSICAL_KEY_STATUS {
610 pub RepeatCount: u32,
611 pub ScanCode: u32,
612 pub IsExtendedKey: windows_core::BOOL,
613 pub IsMenuKeyDown: windows_core::BOOL,
614 pub WasKeyDown: windows_core::BOOL,
615 pub IsKeyReleased: windows_core::BOOL,
616}
617#[repr(transparent)]
618#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
619pub struct COREWEBVIEW2_POINTER_EVENT_KIND(pub i32);
620pub const COREWEBVIEW2_POINTER_EVENT_KIND_ACTIVATE: COREWEBVIEW2_POINTER_EVENT_KIND =
621 COREWEBVIEW2_POINTER_EVENT_KIND(587i32);
622pub const COREWEBVIEW2_POINTER_EVENT_KIND_DOWN: COREWEBVIEW2_POINTER_EVENT_KIND =
623 COREWEBVIEW2_POINTER_EVENT_KIND(582i32);
624pub const COREWEBVIEW2_POINTER_EVENT_KIND_ENTER: COREWEBVIEW2_POINTER_EVENT_KIND =
625 COREWEBVIEW2_POINTER_EVENT_KIND(585i32);
626pub const COREWEBVIEW2_POINTER_EVENT_KIND_LEAVE: COREWEBVIEW2_POINTER_EVENT_KIND =
627 COREWEBVIEW2_POINTER_EVENT_KIND(586i32);
628pub const COREWEBVIEW2_POINTER_EVENT_KIND_UP: COREWEBVIEW2_POINTER_EVENT_KIND =
629 COREWEBVIEW2_POINTER_EVENT_KIND(583i32);
630pub const COREWEBVIEW2_POINTER_EVENT_KIND_UPDATE: COREWEBVIEW2_POINTER_EVENT_KIND =
631 COREWEBVIEW2_POINTER_EVENT_KIND(581i32);
632#[repr(transparent)]
633#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
634pub struct COREWEBVIEW2_PREFERRED_COLOR_SCHEME(pub i32);
635pub const COREWEBVIEW2_PREFERRED_COLOR_SCHEME_AUTO: COREWEBVIEW2_PREFERRED_COLOR_SCHEME =
636 COREWEBVIEW2_PREFERRED_COLOR_SCHEME(0i32);
637pub const COREWEBVIEW2_PREFERRED_COLOR_SCHEME_DARK: COREWEBVIEW2_PREFERRED_COLOR_SCHEME =
638 COREWEBVIEW2_PREFERRED_COLOR_SCHEME(2i32);
639pub const COREWEBVIEW2_PREFERRED_COLOR_SCHEME_LIGHT: COREWEBVIEW2_PREFERRED_COLOR_SCHEME =
640 COREWEBVIEW2_PREFERRED_COLOR_SCHEME(1i32);
641#[repr(transparent)]
642#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
643pub struct COREWEBVIEW2_PRINT_COLLATION(pub i32);
644pub const COREWEBVIEW2_PRINT_COLLATION_COLLATED: COREWEBVIEW2_PRINT_COLLATION =
645 COREWEBVIEW2_PRINT_COLLATION(1i32);
646pub const COREWEBVIEW2_PRINT_COLLATION_DEFAULT: COREWEBVIEW2_PRINT_COLLATION =
647 COREWEBVIEW2_PRINT_COLLATION(0i32);
648pub const COREWEBVIEW2_PRINT_COLLATION_UNCOLLATED: COREWEBVIEW2_PRINT_COLLATION =
649 COREWEBVIEW2_PRINT_COLLATION(2i32);
650#[repr(transparent)]
651#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
652pub struct COREWEBVIEW2_PRINT_COLOR_MODE(pub i32);
653pub const COREWEBVIEW2_PRINT_COLOR_MODE_COLOR: COREWEBVIEW2_PRINT_COLOR_MODE =
654 COREWEBVIEW2_PRINT_COLOR_MODE(1i32);
655pub const COREWEBVIEW2_PRINT_COLOR_MODE_DEFAULT: COREWEBVIEW2_PRINT_COLOR_MODE =
656 COREWEBVIEW2_PRINT_COLOR_MODE(0i32);
657pub const COREWEBVIEW2_PRINT_COLOR_MODE_GRAYSCALE: COREWEBVIEW2_PRINT_COLOR_MODE =
658 COREWEBVIEW2_PRINT_COLOR_MODE(2i32);
659#[repr(transparent)]
660#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
661pub struct COREWEBVIEW2_PRINT_DIALOG_KIND(pub i32);
662pub const COREWEBVIEW2_PRINT_DIALOG_KIND_BROWSER: COREWEBVIEW2_PRINT_DIALOG_KIND =
663 COREWEBVIEW2_PRINT_DIALOG_KIND(0i32);
664pub const COREWEBVIEW2_PRINT_DIALOG_KIND_SYSTEM: COREWEBVIEW2_PRINT_DIALOG_KIND =
665 COREWEBVIEW2_PRINT_DIALOG_KIND(1i32);
666#[repr(transparent)]
667#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
668pub struct COREWEBVIEW2_PRINT_DUPLEX(pub i32);
669pub const COREWEBVIEW2_PRINT_DUPLEX_DEFAULT: COREWEBVIEW2_PRINT_DUPLEX =
670 COREWEBVIEW2_PRINT_DUPLEX(0i32);
671pub const COREWEBVIEW2_PRINT_DUPLEX_ONE_SIDED: COREWEBVIEW2_PRINT_DUPLEX =
672 COREWEBVIEW2_PRINT_DUPLEX(1i32);
673pub const COREWEBVIEW2_PRINT_DUPLEX_TWO_SIDED_LONG_EDGE: COREWEBVIEW2_PRINT_DUPLEX =
674 COREWEBVIEW2_PRINT_DUPLEX(2i32);
675pub const COREWEBVIEW2_PRINT_DUPLEX_TWO_SIDED_SHORT_EDGE: COREWEBVIEW2_PRINT_DUPLEX =
676 COREWEBVIEW2_PRINT_DUPLEX(3i32);
677#[repr(transparent)]
678#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
679pub struct COREWEBVIEW2_PRINT_MEDIA_SIZE(pub i32);
680pub const COREWEBVIEW2_PRINT_MEDIA_SIZE_CUSTOM: COREWEBVIEW2_PRINT_MEDIA_SIZE =
681 COREWEBVIEW2_PRINT_MEDIA_SIZE(1i32);
682pub const COREWEBVIEW2_PRINT_MEDIA_SIZE_DEFAULT: COREWEBVIEW2_PRINT_MEDIA_SIZE =
683 COREWEBVIEW2_PRINT_MEDIA_SIZE(0i32);
684#[repr(transparent)]
685#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
686pub struct COREWEBVIEW2_PRINT_ORIENTATION(pub i32);
687pub const COREWEBVIEW2_PRINT_ORIENTATION_LANDSCAPE: COREWEBVIEW2_PRINT_ORIENTATION =
688 COREWEBVIEW2_PRINT_ORIENTATION(1i32);
689pub const COREWEBVIEW2_PRINT_ORIENTATION_PORTRAIT: COREWEBVIEW2_PRINT_ORIENTATION =
690 COREWEBVIEW2_PRINT_ORIENTATION(0i32);
691#[repr(transparent)]
692#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
693pub struct COREWEBVIEW2_PRINT_STATUS(pub i32);
694pub const COREWEBVIEW2_PRINT_STATUS_OTHER_ERROR: COREWEBVIEW2_PRINT_STATUS =
695 COREWEBVIEW2_PRINT_STATUS(2i32);
696pub const COREWEBVIEW2_PRINT_STATUS_PRINTER_UNAVAILABLE: COREWEBVIEW2_PRINT_STATUS =
697 COREWEBVIEW2_PRINT_STATUS(1i32);
698pub const COREWEBVIEW2_PRINT_STATUS_SUCCEEDED: COREWEBVIEW2_PRINT_STATUS =
699 COREWEBVIEW2_PRINT_STATUS(0i32);
700#[repr(transparent)]
701#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
702pub struct COREWEBVIEW2_PROCESS_FAILED_KIND(pub i32);
703pub const COREWEBVIEW2_PROCESS_FAILED_KIND_BROWSER_PROCESS_EXITED:
704 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(0i32);
705pub const COREWEBVIEW2_PROCESS_FAILED_KIND_FRAME_RENDER_PROCESS_EXITED:
706 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(3i32);
707pub const COREWEBVIEW2_PROCESS_FAILED_KIND_GPU_PROCESS_EXITED: COREWEBVIEW2_PROCESS_FAILED_KIND =
708 COREWEBVIEW2_PROCESS_FAILED_KIND(6i32);
709pub const COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_BROKER_PROCESS_EXITED:
710 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(8i32);
711pub const COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_PLUGIN_PROCESS_EXITED:
712 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(7i32);
713pub const COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_EXITED: COREWEBVIEW2_PROCESS_FAILED_KIND =
714 COREWEBVIEW2_PROCESS_FAILED_KIND(1i32);
715pub const COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_UNRESPONSIVE:
716 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(2i32);
717pub const COREWEBVIEW2_PROCESS_FAILED_KIND_SANDBOX_HELPER_PROCESS_EXITED:
718 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(5i32);
719pub const COREWEBVIEW2_PROCESS_FAILED_KIND_UNKNOWN_PROCESS_EXITED:
720 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(9i32);
721pub const COREWEBVIEW2_PROCESS_FAILED_KIND_UTILITY_PROCESS_EXITED:
722 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(4i32);
723#[repr(transparent)]
724#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
725pub struct COREWEBVIEW2_PROCESS_FAILED_REASON(pub i32);
726pub const COREWEBVIEW2_PROCESS_FAILED_REASON_CRASHED: COREWEBVIEW2_PROCESS_FAILED_REASON =
727 COREWEBVIEW2_PROCESS_FAILED_REASON(3i32);
728pub const COREWEBVIEW2_PROCESS_FAILED_REASON_LAUNCH_FAILED: COREWEBVIEW2_PROCESS_FAILED_REASON =
729 COREWEBVIEW2_PROCESS_FAILED_REASON(4i32);
730pub const COREWEBVIEW2_PROCESS_FAILED_REASON_OUT_OF_MEMORY: COREWEBVIEW2_PROCESS_FAILED_REASON =
731 COREWEBVIEW2_PROCESS_FAILED_REASON(5i32);
732pub const COREWEBVIEW2_PROCESS_FAILED_REASON_PROFILE_DELETED: COREWEBVIEW2_PROCESS_FAILED_REASON =
733 COREWEBVIEW2_PROCESS_FAILED_REASON(6i32);
734pub const COREWEBVIEW2_PROCESS_FAILED_REASON_TERMINATED: COREWEBVIEW2_PROCESS_FAILED_REASON =
735 COREWEBVIEW2_PROCESS_FAILED_REASON(2i32);
736pub const COREWEBVIEW2_PROCESS_FAILED_REASON_UNEXPECTED: COREWEBVIEW2_PROCESS_FAILED_REASON =
737 COREWEBVIEW2_PROCESS_FAILED_REASON(0i32);
738pub const COREWEBVIEW2_PROCESS_FAILED_REASON_UNRESPONSIVE: COREWEBVIEW2_PROCESS_FAILED_REASON =
739 COREWEBVIEW2_PROCESS_FAILED_REASON(1i32);
740#[repr(transparent)]
741#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
742pub struct COREWEBVIEW2_PROCESS_KIND(pub i32);
743pub const COREWEBVIEW2_PROCESS_KIND_BROWSER: COREWEBVIEW2_PROCESS_KIND =
744 COREWEBVIEW2_PROCESS_KIND(0i32);
745pub const COREWEBVIEW2_PROCESS_KIND_GPU: COREWEBVIEW2_PROCESS_KIND =
746 COREWEBVIEW2_PROCESS_KIND(4i32);
747pub const COREWEBVIEW2_PROCESS_KIND_PPAPI_BROKER: COREWEBVIEW2_PROCESS_KIND =
748 COREWEBVIEW2_PROCESS_KIND(6i32);
749pub const COREWEBVIEW2_PROCESS_KIND_PPAPI_PLUGIN: COREWEBVIEW2_PROCESS_KIND =
750 COREWEBVIEW2_PROCESS_KIND(5i32);
751pub const COREWEBVIEW2_PROCESS_KIND_RENDERER: COREWEBVIEW2_PROCESS_KIND =
752 COREWEBVIEW2_PROCESS_KIND(1i32);
753pub const COREWEBVIEW2_PROCESS_KIND_SANDBOX_HELPER: COREWEBVIEW2_PROCESS_KIND =
754 COREWEBVIEW2_PROCESS_KIND(3i32);
755pub const COREWEBVIEW2_PROCESS_KIND_UTILITY: COREWEBVIEW2_PROCESS_KIND =
756 COREWEBVIEW2_PROCESS_KIND(2i32);
757#[repr(transparent)]
758#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
759pub struct COREWEBVIEW2_RELEASE_CHANNELS(pub i32);
760impl COREWEBVIEW2_RELEASE_CHANNELS {
761 pub const fn contains(&self, other: Self) -> bool {
762 self.0 & other.0 == other.0
763 }
764}
765impl core::ops::BitOr for COREWEBVIEW2_RELEASE_CHANNELS {
766 type Output = Self;
767 fn bitor(self, other: Self) -> Self {
768 Self(self.0 | other.0)
769 }
770}
771impl core::ops::BitAnd for COREWEBVIEW2_RELEASE_CHANNELS {
772 type Output = Self;
773 fn bitand(self, other: Self) -> Self {
774 Self(self.0 & other.0)
775 }
776}
777impl core::ops::BitOrAssign for COREWEBVIEW2_RELEASE_CHANNELS {
778 fn bitor_assign(&mut self, other: Self) {
779 self.0.bitor_assign(other.0)
780 }
781}
782impl core::ops::BitAndAssign for COREWEBVIEW2_RELEASE_CHANNELS {
783 fn bitand_assign(&mut self, other: Self) {
784 self.0.bitand_assign(other.0)
785 }
786}
787impl core::ops::Not for COREWEBVIEW2_RELEASE_CHANNELS {
788 type Output = Self;
789 fn not(self) -> Self {
790 Self(self.0.not())
791 }
792}
793pub const COREWEBVIEW2_RELEASE_CHANNELS_BETA: COREWEBVIEW2_RELEASE_CHANNELS =
794 COREWEBVIEW2_RELEASE_CHANNELS(2i32);
795pub const COREWEBVIEW2_RELEASE_CHANNELS_CANARY: COREWEBVIEW2_RELEASE_CHANNELS =
796 COREWEBVIEW2_RELEASE_CHANNELS(8i32);
797pub const COREWEBVIEW2_RELEASE_CHANNELS_DEV: COREWEBVIEW2_RELEASE_CHANNELS =
798 COREWEBVIEW2_RELEASE_CHANNELS(4i32);
799pub const COREWEBVIEW2_RELEASE_CHANNELS_NONE: COREWEBVIEW2_RELEASE_CHANNELS =
800 COREWEBVIEW2_RELEASE_CHANNELS(0i32);
801pub const COREWEBVIEW2_RELEASE_CHANNELS_STABLE: COREWEBVIEW2_RELEASE_CHANNELS =
802 COREWEBVIEW2_RELEASE_CHANNELS(1i32);
803#[repr(transparent)]
804#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
805pub struct COREWEBVIEW2_SAVE_AS_KIND(pub i32);
806pub const COREWEBVIEW2_SAVE_AS_KIND_COMPLETE: COREWEBVIEW2_SAVE_AS_KIND =
807 COREWEBVIEW2_SAVE_AS_KIND(3i32);
808pub const COREWEBVIEW2_SAVE_AS_KIND_DEFAULT: COREWEBVIEW2_SAVE_AS_KIND =
809 COREWEBVIEW2_SAVE_AS_KIND(0i32);
810pub const COREWEBVIEW2_SAVE_AS_KIND_HTML_ONLY: COREWEBVIEW2_SAVE_AS_KIND =
811 COREWEBVIEW2_SAVE_AS_KIND(1i32);
812pub const COREWEBVIEW2_SAVE_AS_KIND_SINGLE_FILE: COREWEBVIEW2_SAVE_AS_KIND =
813 COREWEBVIEW2_SAVE_AS_KIND(2i32);
814#[repr(transparent)]
815#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
816pub struct COREWEBVIEW2_SAVE_AS_UI_RESULT(pub i32);
817pub const COREWEBVIEW2_SAVE_AS_UI_RESULT_CANCELLED: COREWEBVIEW2_SAVE_AS_UI_RESULT =
818 COREWEBVIEW2_SAVE_AS_UI_RESULT(4i32);
819pub const COREWEBVIEW2_SAVE_AS_UI_RESULT_FILE_ALREADY_EXISTS: COREWEBVIEW2_SAVE_AS_UI_RESULT =
820 COREWEBVIEW2_SAVE_AS_UI_RESULT(2i32);
821pub const COREWEBVIEW2_SAVE_AS_UI_RESULT_INVALID_PATH: COREWEBVIEW2_SAVE_AS_UI_RESULT =
822 COREWEBVIEW2_SAVE_AS_UI_RESULT(1i32);
823pub const COREWEBVIEW2_SAVE_AS_UI_RESULT_KIND_NOT_SUPPORTED: COREWEBVIEW2_SAVE_AS_UI_RESULT =
824 COREWEBVIEW2_SAVE_AS_UI_RESULT(3i32);
825pub const COREWEBVIEW2_SAVE_AS_UI_RESULT_SUCCESS: COREWEBVIEW2_SAVE_AS_UI_RESULT =
826 COREWEBVIEW2_SAVE_AS_UI_RESULT(0i32);
827#[repr(transparent)]
828#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
829pub struct COREWEBVIEW2_SCRIPT_DIALOG_KIND(pub i32);
830pub const COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT: COREWEBVIEW2_SCRIPT_DIALOG_KIND =
831 COREWEBVIEW2_SCRIPT_DIALOG_KIND(0i32);
832pub const COREWEBVIEW2_SCRIPT_DIALOG_KIND_BEFOREUNLOAD: COREWEBVIEW2_SCRIPT_DIALOG_KIND =
833 COREWEBVIEW2_SCRIPT_DIALOG_KIND(3i32);
834pub const COREWEBVIEW2_SCRIPT_DIALOG_KIND_CONFIRM: COREWEBVIEW2_SCRIPT_DIALOG_KIND =
835 COREWEBVIEW2_SCRIPT_DIALOG_KIND(1i32);
836pub const COREWEBVIEW2_SCRIPT_DIALOG_KIND_PROMPT: COREWEBVIEW2_SCRIPT_DIALOG_KIND =
837 COREWEBVIEW2_SCRIPT_DIALOG_KIND(2i32);
838#[repr(transparent)]
839#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
840pub struct COREWEBVIEW2_SCROLLBAR_STYLE(pub i32);
841pub const COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT: COREWEBVIEW2_SCROLLBAR_STYLE =
842 COREWEBVIEW2_SCROLLBAR_STYLE(0i32);
843pub const COREWEBVIEW2_SCROLLBAR_STYLE_FLUENT_OVERLAY: COREWEBVIEW2_SCROLLBAR_STYLE =
844 COREWEBVIEW2_SCROLLBAR_STYLE(1i32);
845#[repr(transparent)]
846#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
847pub struct COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION(pub i32);
848pub const COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_ALWAYS_ALLOW:
849 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION =
850 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION(0i32);
851pub const COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_CANCEL:
852 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION =
853 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION(1i32);
854pub const COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_DEFAULT:
855 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION =
856 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION(2i32);
857#[repr(transparent)]
858#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
859pub struct COREWEBVIEW2_SHARED_BUFFER_ACCESS(pub i32);
860pub const COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_ONLY: COREWEBVIEW2_SHARED_BUFFER_ACCESS =
861 COREWEBVIEW2_SHARED_BUFFER_ACCESS(0i32);
862pub const COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_WRITE: COREWEBVIEW2_SHARED_BUFFER_ACCESS =
863 COREWEBVIEW2_SHARED_BUFFER_ACCESS(1i32);
864#[repr(transparent)]
865#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
866pub struct COREWEBVIEW2_TEXT_DIRECTION_KIND(pub i32);
867pub const COREWEBVIEW2_TEXT_DIRECTION_KIND_DEFAULT: COREWEBVIEW2_TEXT_DIRECTION_KIND =
868 COREWEBVIEW2_TEXT_DIRECTION_KIND(0i32);
869pub const COREWEBVIEW2_TEXT_DIRECTION_KIND_LEFT_TO_RIGHT: COREWEBVIEW2_TEXT_DIRECTION_KIND =
870 COREWEBVIEW2_TEXT_DIRECTION_KIND(1i32);
871pub const COREWEBVIEW2_TEXT_DIRECTION_KIND_RIGHT_TO_LEFT: COREWEBVIEW2_TEXT_DIRECTION_KIND =
872 COREWEBVIEW2_TEXT_DIRECTION_KIND(2i32);
873#[repr(transparent)]
874#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
875pub struct COREWEBVIEW2_TRACKING_PREVENTION_LEVEL(pub i32);
876pub const COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BALANCED: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL =
877 COREWEBVIEW2_TRACKING_PREVENTION_LEVEL(2i32);
878pub const COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BASIC: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL =
879 COREWEBVIEW2_TRACKING_PREVENTION_LEVEL(1i32);
880pub const COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_NONE: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL =
881 COREWEBVIEW2_TRACKING_PREVENTION_LEVEL(0i32);
882pub const COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_STRICT: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL =
883 COREWEBVIEW2_TRACKING_PREVENTION_LEVEL(3i32);
884#[repr(transparent)]
885#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
886pub struct COREWEBVIEW2_WEB_ERROR_STATUS(pub i32);
887pub const COREWEBVIEW2_WEB_ERROR_STATUS_CANNOT_CONNECT: COREWEBVIEW2_WEB_ERROR_STATUS =
888 COREWEBVIEW2_WEB_ERROR_STATUS(12i32);
889pub const COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_COMMON_NAME_IS_INCORRECT:
890 COREWEBVIEW2_WEB_ERROR_STATUS = COREWEBVIEW2_WEB_ERROR_STATUS(1i32);
891pub const COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_EXPIRED: COREWEBVIEW2_WEB_ERROR_STATUS =
892 COREWEBVIEW2_WEB_ERROR_STATUS(2i32);
893pub const COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_IS_INVALID: COREWEBVIEW2_WEB_ERROR_STATUS =
894 COREWEBVIEW2_WEB_ERROR_STATUS(5i32);
895pub const COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_REVOKED: COREWEBVIEW2_WEB_ERROR_STATUS =
896 COREWEBVIEW2_WEB_ERROR_STATUS(4i32);
897pub const COREWEBVIEW2_WEB_ERROR_STATUS_CLIENT_CERTIFICATE_CONTAINS_ERRORS:
898 COREWEBVIEW2_WEB_ERROR_STATUS = COREWEBVIEW2_WEB_ERROR_STATUS(3i32);
899pub const COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_ABORTED: COREWEBVIEW2_WEB_ERROR_STATUS =
900 COREWEBVIEW2_WEB_ERROR_STATUS(9i32);
901pub const COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_RESET: COREWEBVIEW2_WEB_ERROR_STATUS =
902 COREWEBVIEW2_WEB_ERROR_STATUS(10i32);
903pub const COREWEBVIEW2_WEB_ERROR_STATUS_DISCONNECTED: COREWEBVIEW2_WEB_ERROR_STATUS =
904 COREWEBVIEW2_WEB_ERROR_STATUS(11i32);
905pub const COREWEBVIEW2_WEB_ERROR_STATUS_ERROR_HTTP_INVALID_SERVER_RESPONSE:
906 COREWEBVIEW2_WEB_ERROR_STATUS = COREWEBVIEW2_WEB_ERROR_STATUS(8i32);
907pub const COREWEBVIEW2_WEB_ERROR_STATUS_HOST_NAME_NOT_RESOLVED: COREWEBVIEW2_WEB_ERROR_STATUS =
908 COREWEBVIEW2_WEB_ERROR_STATUS(13i32);
909pub const COREWEBVIEW2_WEB_ERROR_STATUS_OPERATION_CANCELED: COREWEBVIEW2_WEB_ERROR_STATUS =
910 COREWEBVIEW2_WEB_ERROR_STATUS(14i32);
911pub const COREWEBVIEW2_WEB_ERROR_STATUS_REDIRECT_FAILED: COREWEBVIEW2_WEB_ERROR_STATUS =
912 COREWEBVIEW2_WEB_ERROR_STATUS(15i32);
913pub const COREWEBVIEW2_WEB_ERROR_STATUS_SERVER_UNREACHABLE: COREWEBVIEW2_WEB_ERROR_STATUS =
914 COREWEBVIEW2_WEB_ERROR_STATUS(6i32);
915pub const COREWEBVIEW2_WEB_ERROR_STATUS_TIMEOUT: COREWEBVIEW2_WEB_ERROR_STATUS =
916 COREWEBVIEW2_WEB_ERROR_STATUS(7i32);
917pub const COREWEBVIEW2_WEB_ERROR_STATUS_UNEXPECTED_ERROR: COREWEBVIEW2_WEB_ERROR_STATUS =
918 COREWEBVIEW2_WEB_ERROR_STATUS(16i32);
919pub const COREWEBVIEW2_WEB_ERROR_STATUS_UNKNOWN: COREWEBVIEW2_WEB_ERROR_STATUS =
920 COREWEBVIEW2_WEB_ERROR_STATUS(0i32);
921pub const COREWEBVIEW2_WEB_ERROR_STATUS_VALID_AUTHENTICATION_CREDENTIALS_REQUIRED:
922 COREWEBVIEW2_WEB_ERROR_STATUS = COREWEBVIEW2_WEB_ERROR_STATUS(17i32);
923pub const COREWEBVIEW2_WEB_ERROR_STATUS_VALID_PROXY_AUTHENTICATION_REQUIRED:
924 COREWEBVIEW2_WEB_ERROR_STATUS = COREWEBVIEW2_WEB_ERROR_STATUS(18i32);
925#[repr(transparent)]
926#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
927pub struct COREWEBVIEW2_WEB_RESOURCE_CONTEXT(pub i32);
928pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
929 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(0i32);
930pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_CSP_VIOLATION_REPORT:
931 COREWEBVIEW2_WEB_RESOURCE_CONTEXT = COREWEBVIEW2_WEB_RESOURCE_CONTEXT(15i32);
932pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_DOCUMENT: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
933 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(1i32);
934pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_EVENT_SOURCE: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
935 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(10i32);
936pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FETCH: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
937 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(8i32);
938pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FONT: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
939 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(5i32);
940pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
941 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(3i32);
942pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MANIFEST: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
943 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(12i32);
944pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MEDIA: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
945 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(4i32);
946pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_OTHER: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
947 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(16i32);
948pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_PING: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
949 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(14i32);
950pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SCRIPT: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
951 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(6i32);
952pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SIGNED_EXCHANGE: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
953 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(13i32);
954pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_STYLESHEET: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
955 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(2i32);
956pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_TEXT_TRACK: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
957 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(9i32);
958pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_WEBSOCKET: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
959 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(11i32);
960pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_XML_HTTP_REQUEST: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
961 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(7i32);
962#[repr(transparent)]
963#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
964pub struct COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS(pub i32);
965impl COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS {
966 pub const fn contains(&self, other: Self) -> bool {
967 self.0 & other.0 == other.0
968 }
969}
970impl core::ops::BitOr for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS {
971 type Output = Self;
972 fn bitor(self, other: Self) -> Self {
973 Self(self.0 | other.0)
974 }
975}
976impl core::ops::BitAnd for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS {
977 type Output = Self;
978 fn bitand(self, other: Self) -> Self {
979 Self(self.0 & other.0)
980 }
981}
982impl core::ops::BitOrAssign for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS {
983 fn bitor_assign(&mut self, other: Self) {
984 self.0.bitor_assign(other.0)
985 }
986}
987impl core::ops::BitAndAssign for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS {
988 fn bitand_assign(&mut self, other: Self) {
989 self.0.bitand_assign(other.0)
990 }
991}
992impl core::ops::Not for COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS {
993 type Output = Self;
994 fn not(self) -> Self {
995 Self(self.0.not())
996 }
997}
998pub const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_ALL:
999 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS =
1000 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS(-1i32);
1001pub const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_DOCUMENT:
1002 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS =
1003 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS(1i32);
1004pub const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_NONE:
1005 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS =
1006 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS(0i32);
1007pub const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SERVICE_WORKER:
1008 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS =
1009 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS(4i32);
1010pub const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SHARED_WORKER:
1011 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS =
1012 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS(2i32);
1013pub const CORE_WEBVIEW_TARGET_PRODUCT_VERSION: windows_core::PCWSTR =
1014 windows_core::w!("134.0.3124.44");
1015windows_core::imp::define_interface!(
1016 ICoreWebView2,
1017 ICoreWebView2_Vtbl,
1018 0x76eceacb_0462_4d94_ac83_423a6793775e
1019);
1020windows_core::imp::interface_hierarchy!(ICoreWebView2, windows_core::IUnknown);
1021impl ICoreWebView2 {
1022 pub unsafe fn Settings(&self) -> windows_core::Result<ICoreWebView2Settings> {
1023 unsafe {
1024 let mut result__ = core::mem::zeroed();
1025 (windows_core::Interface::vtable(self).Settings)(
1026 windows_core::Interface::as_raw(self),
1027 &mut result__,
1028 )
1029 .and_then(|| windows_core::Type::from_abi(result__))
1030 }
1031 }
1032 pub unsafe fn Source(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
1033 unsafe {
1034 (windows_core::Interface::vtable(self).Source)(
1035 windows_core::Interface::as_raw(self),
1036 uri as _,
1037 )
1038 .ok()
1039 }
1040 }
1041 pub unsafe fn Navigate<P0>(&self, uri: P0) -> windows_core::Result<()>
1042 where
1043 P0: windows_core::Param<windows_core::PCWSTR>,
1044 {
1045 unsafe {
1046 (windows_core::Interface::vtable(self).Navigate)(
1047 windows_core::Interface::as_raw(self),
1048 uri.param().abi(),
1049 )
1050 .ok()
1051 }
1052 }
1053 pub unsafe fn NavigateToString<P0>(&self, htmlcontent: P0) -> windows_core::Result<()>
1054 where
1055 P0: windows_core::Param<windows_core::PCWSTR>,
1056 {
1057 unsafe {
1058 (windows_core::Interface::vtable(self).NavigateToString)(
1059 windows_core::Interface::as_raw(self),
1060 htmlcontent.param().abi(),
1061 )
1062 .ok()
1063 }
1064 }
1065 pub unsafe fn add_NavigationStarting<P0>(
1066 &self,
1067 eventhandler: P0,
1068 token: *mut i64,
1069 ) -> windows_core::Result<()>
1070 where
1071 P0: windows_core::Param<ICoreWebView2NavigationStartingEventHandler>,
1072 {
1073 unsafe {
1074 (windows_core::Interface::vtable(self).add_NavigationStarting)(
1075 windows_core::Interface::as_raw(self),
1076 eventhandler.param().abi(),
1077 token as _,
1078 )
1079 .ok()
1080 }
1081 }
1082 pub unsafe fn remove_NavigationStarting(&self, token: i64) -> windows_core::Result<()> {
1083 unsafe {
1084 (windows_core::Interface::vtable(self).remove_NavigationStarting)(
1085 windows_core::Interface::as_raw(self),
1086 token,
1087 )
1088 .ok()
1089 }
1090 }
1091 pub unsafe fn add_ContentLoading<P0>(
1092 &self,
1093 eventhandler: P0,
1094 token: *mut i64,
1095 ) -> windows_core::Result<()>
1096 where
1097 P0: windows_core::Param<ICoreWebView2ContentLoadingEventHandler>,
1098 {
1099 unsafe {
1100 (windows_core::Interface::vtable(self).add_ContentLoading)(
1101 windows_core::Interface::as_raw(self),
1102 eventhandler.param().abi(),
1103 token as _,
1104 )
1105 .ok()
1106 }
1107 }
1108 pub unsafe fn remove_ContentLoading(&self, token: i64) -> windows_core::Result<()> {
1109 unsafe {
1110 (windows_core::Interface::vtable(self).remove_ContentLoading)(
1111 windows_core::Interface::as_raw(self),
1112 token,
1113 )
1114 .ok()
1115 }
1116 }
1117 pub unsafe fn add_SourceChanged<P0>(
1118 &self,
1119 eventhandler: P0,
1120 token: *mut i64,
1121 ) -> windows_core::Result<()>
1122 where
1123 P0: windows_core::Param<ICoreWebView2SourceChangedEventHandler>,
1124 {
1125 unsafe {
1126 (windows_core::Interface::vtable(self).add_SourceChanged)(
1127 windows_core::Interface::as_raw(self),
1128 eventhandler.param().abi(),
1129 token as _,
1130 )
1131 .ok()
1132 }
1133 }
1134 pub unsafe fn remove_SourceChanged(&self, token: i64) -> windows_core::Result<()> {
1135 unsafe {
1136 (windows_core::Interface::vtable(self).remove_SourceChanged)(
1137 windows_core::Interface::as_raw(self),
1138 token,
1139 )
1140 .ok()
1141 }
1142 }
1143 pub unsafe fn add_HistoryChanged<P0>(
1144 &self,
1145 eventhandler: P0,
1146 token: *mut i64,
1147 ) -> windows_core::Result<()>
1148 where
1149 P0: windows_core::Param<ICoreWebView2HistoryChangedEventHandler>,
1150 {
1151 unsafe {
1152 (windows_core::Interface::vtable(self).add_HistoryChanged)(
1153 windows_core::Interface::as_raw(self),
1154 eventhandler.param().abi(),
1155 token as _,
1156 )
1157 .ok()
1158 }
1159 }
1160 pub unsafe fn remove_HistoryChanged(&self, token: i64) -> windows_core::Result<()> {
1161 unsafe {
1162 (windows_core::Interface::vtable(self).remove_HistoryChanged)(
1163 windows_core::Interface::as_raw(self),
1164 token,
1165 )
1166 .ok()
1167 }
1168 }
1169 pub unsafe fn add_NavigationCompleted<P0>(
1170 &self,
1171 eventhandler: P0,
1172 token: *mut i64,
1173 ) -> windows_core::Result<()>
1174 where
1175 P0: windows_core::Param<ICoreWebView2NavigationCompletedEventHandler>,
1176 {
1177 unsafe {
1178 (windows_core::Interface::vtable(self).add_NavigationCompleted)(
1179 windows_core::Interface::as_raw(self),
1180 eventhandler.param().abi(),
1181 token as _,
1182 )
1183 .ok()
1184 }
1185 }
1186 pub unsafe fn remove_NavigationCompleted(&self, token: i64) -> windows_core::Result<()> {
1187 unsafe {
1188 (windows_core::Interface::vtable(self).remove_NavigationCompleted)(
1189 windows_core::Interface::as_raw(self),
1190 token,
1191 )
1192 .ok()
1193 }
1194 }
1195 pub unsafe fn add_FrameNavigationStarting<P0>(
1196 &self,
1197 eventhandler: P0,
1198 token: *mut i64,
1199 ) -> windows_core::Result<()>
1200 where
1201 P0: windows_core::Param<ICoreWebView2NavigationStartingEventHandler>,
1202 {
1203 unsafe {
1204 (windows_core::Interface::vtable(self).add_FrameNavigationStarting)(
1205 windows_core::Interface::as_raw(self),
1206 eventhandler.param().abi(),
1207 token as _,
1208 )
1209 .ok()
1210 }
1211 }
1212 pub unsafe fn remove_FrameNavigationStarting(&self, token: i64) -> windows_core::Result<()> {
1213 unsafe {
1214 (windows_core::Interface::vtable(self).remove_FrameNavigationStarting)(
1215 windows_core::Interface::as_raw(self),
1216 token,
1217 )
1218 .ok()
1219 }
1220 }
1221 pub unsafe fn add_FrameNavigationCompleted<P0>(
1222 &self,
1223 eventhandler: P0,
1224 token: *mut i64,
1225 ) -> windows_core::Result<()>
1226 where
1227 P0: windows_core::Param<ICoreWebView2NavigationCompletedEventHandler>,
1228 {
1229 unsafe {
1230 (windows_core::Interface::vtable(self).add_FrameNavigationCompleted)(
1231 windows_core::Interface::as_raw(self),
1232 eventhandler.param().abi(),
1233 token as _,
1234 )
1235 .ok()
1236 }
1237 }
1238 pub unsafe fn remove_FrameNavigationCompleted(&self, token: i64) -> windows_core::Result<()> {
1239 unsafe {
1240 (windows_core::Interface::vtable(self).remove_FrameNavigationCompleted)(
1241 windows_core::Interface::as_raw(self),
1242 token,
1243 )
1244 .ok()
1245 }
1246 }
1247 pub unsafe fn add_ScriptDialogOpening<P0>(
1248 &self,
1249 eventhandler: P0,
1250 token: *mut i64,
1251 ) -> windows_core::Result<()>
1252 where
1253 P0: windows_core::Param<ICoreWebView2ScriptDialogOpeningEventHandler>,
1254 {
1255 unsafe {
1256 (windows_core::Interface::vtable(self).add_ScriptDialogOpening)(
1257 windows_core::Interface::as_raw(self),
1258 eventhandler.param().abi(),
1259 token as _,
1260 )
1261 .ok()
1262 }
1263 }
1264 pub unsafe fn remove_ScriptDialogOpening(&self, token: i64) -> windows_core::Result<()> {
1265 unsafe {
1266 (windows_core::Interface::vtable(self).remove_ScriptDialogOpening)(
1267 windows_core::Interface::as_raw(self),
1268 token,
1269 )
1270 .ok()
1271 }
1272 }
1273 pub unsafe fn add_PermissionRequested<P0>(
1274 &self,
1275 eventhandler: P0,
1276 token: *mut i64,
1277 ) -> windows_core::Result<()>
1278 where
1279 P0: windows_core::Param<ICoreWebView2PermissionRequestedEventHandler>,
1280 {
1281 unsafe {
1282 (windows_core::Interface::vtable(self).add_PermissionRequested)(
1283 windows_core::Interface::as_raw(self),
1284 eventhandler.param().abi(),
1285 token as _,
1286 )
1287 .ok()
1288 }
1289 }
1290 pub unsafe fn remove_PermissionRequested(&self, token: i64) -> windows_core::Result<()> {
1291 unsafe {
1292 (windows_core::Interface::vtable(self).remove_PermissionRequested)(
1293 windows_core::Interface::as_raw(self),
1294 token,
1295 )
1296 .ok()
1297 }
1298 }
1299 pub unsafe fn add_ProcessFailed<P0>(
1300 &self,
1301 eventhandler: P0,
1302 token: *mut i64,
1303 ) -> windows_core::Result<()>
1304 where
1305 P0: windows_core::Param<ICoreWebView2ProcessFailedEventHandler>,
1306 {
1307 unsafe {
1308 (windows_core::Interface::vtable(self).add_ProcessFailed)(
1309 windows_core::Interface::as_raw(self),
1310 eventhandler.param().abi(),
1311 token as _,
1312 )
1313 .ok()
1314 }
1315 }
1316 pub unsafe fn remove_ProcessFailed(&self, token: i64) -> windows_core::Result<()> {
1317 unsafe {
1318 (windows_core::Interface::vtable(self).remove_ProcessFailed)(
1319 windows_core::Interface::as_raw(self),
1320 token,
1321 )
1322 .ok()
1323 }
1324 }
1325 pub unsafe fn AddScriptToExecuteOnDocumentCreated<P0, P1>(
1326 &self,
1327 javascript: P0,
1328 handler: P1,
1329 ) -> windows_core::Result<()>
1330 where
1331 P0: windows_core::Param<windows_core::PCWSTR>,
1332 P1: windows_core::Param<ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler>,
1333 {
1334 unsafe {
1335 (windows_core::Interface::vtable(self).AddScriptToExecuteOnDocumentCreated)(
1336 windows_core::Interface::as_raw(self),
1337 javascript.param().abi(),
1338 handler.param().abi(),
1339 )
1340 .ok()
1341 }
1342 }
1343 pub unsafe fn RemoveScriptToExecuteOnDocumentCreated<P0>(
1344 &self,
1345 id: P0,
1346 ) -> windows_core::Result<()>
1347 where
1348 P0: windows_core::Param<windows_core::PCWSTR>,
1349 {
1350 unsafe {
1351 (windows_core::Interface::vtable(self).RemoveScriptToExecuteOnDocumentCreated)(
1352 windows_core::Interface::as_raw(self),
1353 id.param().abi(),
1354 )
1355 .ok()
1356 }
1357 }
1358 pub unsafe fn ExecuteScript<P0, P1>(
1359 &self,
1360 javascript: P0,
1361 handler: P1,
1362 ) -> windows_core::Result<()>
1363 where
1364 P0: windows_core::Param<windows_core::PCWSTR>,
1365 P1: windows_core::Param<ICoreWebView2ExecuteScriptCompletedHandler>,
1366 {
1367 unsafe {
1368 (windows_core::Interface::vtable(self).ExecuteScript)(
1369 windows_core::Interface::as_raw(self),
1370 javascript.param().abi(),
1371 handler.param().abi(),
1372 )
1373 .ok()
1374 }
1375 }
1376 pub unsafe fn CapturePreview<P1, P2>(
1377 &self,
1378 imageformat: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
1379 imagestream: P1,
1380 handler: P2,
1381 ) -> windows_core::Result<()>
1382 where
1383 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
1384 P2: windows_core::Param<ICoreWebView2CapturePreviewCompletedHandler>,
1385 {
1386 unsafe {
1387 (windows_core::Interface::vtable(self).CapturePreview)(
1388 windows_core::Interface::as_raw(self),
1389 imageformat,
1390 imagestream.param().abi(),
1391 handler.param().abi(),
1392 )
1393 .ok()
1394 }
1395 }
1396 pub unsafe fn Reload(&self) -> windows_core::Result<()> {
1397 unsafe {
1398 (windows_core::Interface::vtable(self).Reload)(windows_core::Interface::as_raw(self))
1399 .ok()
1400 }
1401 }
1402 pub unsafe fn PostWebMessageAsJson<P0>(&self, webmessageasjson: P0) -> windows_core::Result<()>
1403 where
1404 P0: windows_core::Param<windows_core::PCWSTR>,
1405 {
1406 unsafe {
1407 (windows_core::Interface::vtable(self).PostWebMessageAsJson)(
1408 windows_core::Interface::as_raw(self),
1409 webmessageasjson.param().abi(),
1410 )
1411 .ok()
1412 }
1413 }
1414 pub unsafe fn PostWebMessageAsString<P0>(
1415 &self,
1416 webmessageasstring: P0,
1417 ) -> windows_core::Result<()>
1418 where
1419 P0: windows_core::Param<windows_core::PCWSTR>,
1420 {
1421 unsafe {
1422 (windows_core::Interface::vtable(self).PostWebMessageAsString)(
1423 windows_core::Interface::as_raw(self),
1424 webmessageasstring.param().abi(),
1425 )
1426 .ok()
1427 }
1428 }
1429 pub unsafe fn add_WebMessageReceived<P0>(
1430 &self,
1431 handler: P0,
1432 token: *mut i64,
1433 ) -> windows_core::Result<()>
1434 where
1435 P0: windows_core::Param<ICoreWebView2WebMessageReceivedEventHandler>,
1436 {
1437 unsafe {
1438 (windows_core::Interface::vtable(self).add_WebMessageReceived)(
1439 windows_core::Interface::as_raw(self),
1440 handler.param().abi(),
1441 token as _,
1442 )
1443 .ok()
1444 }
1445 }
1446 pub unsafe fn remove_WebMessageReceived(&self, token: i64) -> windows_core::Result<()> {
1447 unsafe {
1448 (windows_core::Interface::vtable(self).remove_WebMessageReceived)(
1449 windows_core::Interface::as_raw(self),
1450 token,
1451 )
1452 .ok()
1453 }
1454 }
1455 pub unsafe fn CallDevToolsProtocolMethod<P0, P1, P2>(
1456 &self,
1457 methodname: P0,
1458 parametersasjson: P1,
1459 handler: P2,
1460 ) -> windows_core::Result<()>
1461 where
1462 P0: windows_core::Param<windows_core::PCWSTR>,
1463 P1: windows_core::Param<windows_core::PCWSTR>,
1464 P2: windows_core::Param<ICoreWebView2CallDevToolsProtocolMethodCompletedHandler>,
1465 {
1466 unsafe {
1467 (windows_core::Interface::vtable(self).CallDevToolsProtocolMethod)(
1468 windows_core::Interface::as_raw(self),
1469 methodname.param().abi(),
1470 parametersasjson.param().abi(),
1471 handler.param().abi(),
1472 )
1473 .ok()
1474 }
1475 }
1476 pub unsafe fn BrowserProcessId(&self, value: *mut u32) -> windows_core::Result<()> {
1477 unsafe {
1478 (windows_core::Interface::vtable(self).BrowserProcessId)(
1479 windows_core::Interface::as_raw(self),
1480 value as _,
1481 )
1482 .ok()
1483 }
1484 }
1485 pub unsafe fn CanGoBack(&self, cangoback: *mut windows_core::BOOL) -> windows_core::Result<()> {
1486 unsafe {
1487 (windows_core::Interface::vtable(self).CanGoBack)(
1488 windows_core::Interface::as_raw(self),
1489 cangoback as _,
1490 )
1491 .ok()
1492 }
1493 }
1494 pub unsafe fn CanGoForward(
1495 &self,
1496 cangoforward: *mut windows_core::BOOL,
1497 ) -> windows_core::Result<()> {
1498 unsafe {
1499 (windows_core::Interface::vtable(self).CanGoForward)(
1500 windows_core::Interface::as_raw(self),
1501 cangoforward as _,
1502 )
1503 .ok()
1504 }
1505 }
1506 pub unsafe fn GoBack(&self) -> windows_core::Result<()> {
1507 unsafe {
1508 (windows_core::Interface::vtable(self).GoBack)(windows_core::Interface::as_raw(self))
1509 .ok()
1510 }
1511 }
1512 pub unsafe fn GoForward(&self) -> windows_core::Result<()> {
1513 unsafe {
1514 (windows_core::Interface::vtable(self).GoForward)(windows_core::Interface::as_raw(self))
1515 .ok()
1516 }
1517 }
1518 pub unsafe fn GetDevToolsProtocolEventReceiver<P0>(
1519 &self,
1520 eventname: P0,
1521 ) -> windows_core::Result<ICoreWebView2DevToolsProtocolEventReceiver>
1522 where
1523 P0: windows_core::Param<windows_core::PCWSTR>,
1524 {
1525 unsafe {
1526 let mut result__ = core::mem::zeroed();
1527 (windows_core::Interface::vtable(self).GetDevToolsProtocolEventReceiver)(
1528 windows_core::Interface::as_raw(self),
1529 eventname.param().abi(),
1530 &mut result__,
1531 )
1532 .and_then(|| windows_core::Type::from_abi(result__))
1533 }
1534 }
1535 pub unsafe fn Stop(&self) -> windows_core::Result<()> {
1536 unsafe {
1537 (windows_core::Interface::vtable(self).Stop)(windows_core::Interface::as_raw(self)).ok()
1538 }
1539 }
1540 pub unsafe fn add_NewWindowRequested<P0>(
1541 &self,
1542 eventhandler: P0,
1543 token: *mut i64,
1544 ) -> windows_core::Result<()>
1545 where
1546 P0: windows_core::Param<ICoreWebView2NewWindowRequestedEventHandler>,
1547 {
1548 unsafe {
1549 (windows_core::Interface::vtable(self).add_NewWindowRequested)(
1550 windows_core::Interface::as_raw(self),
1551 eventhandler.param().abi(),
1552 token as _,
1553 )
1554 .ok()
1555 }
1556 }
1557 pub unsafe fn remove_NewWindowRequested(&self, token: i64) -> windows_core::Result<()> {
1558 unsafe {
1559 (windows_core::Interface::vtable(self).remove_NewWindowRequested)(
1560 windows_core::Interface::as_raw(self),
1561 token,
1562 )
1563 .ok()
1564 }
1565 }
1566 pub unsafe fn add_DocumentTitleChanged<P0>(
1567 &self,
1568 eventhandler: P0,
1569 token: *mut i64,
1570 ) -> windows_core::Result<()>
1571 where
1572 P0: windows_core::Param<ICoreWebView2DocumentTitleChangedEventHandler>,
1573 {
1574 unsafe {
1575 (windows_core::Interface::vtable(self).add_DocumentTitleChanged)(
1576 windows_core::Interface::as_raw(self),
1577 eventhandler.param().abi(),
1578 token as _,
1579 )
1580 .ok()
1581 }
1582 }
1583 pub unsafe fn remove_DocumentTitleChanged(&self, token: i64) -> windows_core::Result<()> {
1584 unsafe {
1585 (windows_core::Interface::vtable(self).remove_DocumentTitleChanged)(
1586 windows_core::Interface::as_raw(self),
1587 token,
1588 )
1589 .ok()
1590 }
1591 }
1592 pub unsafe fn DocumentTitle(
1593 &self,
1594 title: *mut windows_core::PWSTR,
1595 ) -> windows_core::Result<()> {
1596 unsafe {
1597 (windows_core::Interface::vtable(self).DocumentTitle)(
1598 windows_core::Interface::as_raw(self),
1599 title as _,
1600 )
1601 .ok()
1602 }
1603 }
1604 pub unsafe fn AddHostObjectToScript<P0>(
1605 &self,
1606 name: P0,
1607 object: *mut windows::Win32::System::Variant::VARIANT,
1608 ) -> windows_core::Result<()>
1609 where
1610 P0: windows_core::Param<windows_core::PCWSTR>,
1611 {
1612 unsafe {
1613 (windows_core::Interface::vtable(self).AddHostObjectToScript)(
1614 windows_core::Interface::as_raw(self),
1615 name.param().abi(),
1616 core::mem::transmute(object),
1617 )
1618 .ok()
1619 }
1620 }
1621 pub unsafe fn RemoveHostObjectFromScript<P0>(&self, name: P0) -> windows_core::Result<()>
1622 where
1623 P0: windows_core::Param<windows_core::PCWSTR>,
1624 {
1625 unsafe {
1626 (windows_core::Interface::vtable(self).RemoveHostObjectFromScript)(
1627 windows_core::Interface::as_raw(self),
1628 name.param().abi(),
1629 )
1630 .ok()
1631 }
1632 }
1633 pub unsafe fn OpenDevToolsWindow(&self) -> windows_core::Result<()> {
1634 unsafe {
1635 (windows_core::Interface::vtable(self).OpenDevToolsWindow)(
1636 windows_core::Interface::as_raw(self),
1637 )
1638 .ok()
1639 }
1640 }
1641 pub unsafe fn add_ContainsFullScreenElementChanged<P0>(
1642 &self,
1643 eventhandler: P0,
1644 token: *mut i64,
1645 ) -> windows_core::Result<()>
1646 where
1647 P0: windows_core::Param<ICoreWebView2ContainsFullScreenElementChangedEventHandler>,
1648 {
1649 unsafe {
1650 (windows_core::Interface::vtable(self).add_ContainsFullScreenElementChanged)(
1651 windows_core::Interface::as_raw(self),
1652 eventhandler.param().abi(),
1653 token as _,
1654 )
1655 .ok()
1656 }
1657 }
1658 pub unsafe fn remove_ContainsFullScreenElementChanged(
1659 &self,
1660 token: i64,
1661 ) -> windows_core::Result<()> {
1662 unsafe {
1663 (windows_core::Interface::vtable(self).remove_ContainsFullScreenElementChanged)(
1664 windows_core::Interface::as_raw(self),
1665 token,
1666 )
1667 .ok()
1668 }
1669 }
1670 pub unsafe fn ContainsFullScreenElement(
1671 &self,
1672 containsfullscreenelement: *mut windows_core::BOOL,
1673 ) -> windows_core::Result<()> {
1674 unsafe {
1675 (windows_core::Interface::vtable(self).ContainsFullScreenElement)(
1676 windows_core::Interface::as_raw(self),
1677 containsfullscreenelement as _,
1678 )
1679 .ok()
1680 }
1681 }
1682 pub unsafe fn add_WebResourceRequested<P0>(
1683 &self,
1684 eventhandler: P0,
1685 token: *mut i64,
1686 ) -> windows_core::Result<()>
1687 where
1688 P0: windows_core::Param<ICoreWebView2WebResourceRequestedEventHandler>,
1689 {
1690 unsafe {
1691 (windows_core::Interface::vtable(self).add_WebResourceRequested)(
1692 windows_core::Interface::as_raw(self),
1693 eventhandler.param().abi(),
1694 token as _,
1695 )
1696 .ok()
1697 }
1698 }
1699 pub unsafe fn remove_WebResourceRequested(&self, token: i64) -> windows_core::Result<()> {
1700 unsafe {
1701 (windows_core::Interface::vtable(self).remove_WebResourceRequested)(
1702 windows_core::Interface::as_raw(self),
1703 token,
1704 )
1705 .ok()
1706 }
1707 }
1708 pub unsafe fn AddWebResourceRequestedFilter<P0>(
1709 &self,
1710 uri: P0,
1711 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
1712 ) -> windows_core::Result<()>
1713 where
1714 P0: windows_core::Param<windows_core::PCWSTR>,
1715 {
1716 unsafe {
1717 (windows_core::Interface::vtable(self).AddWebResourceRequestedFilter)(
1718 windows_core::Interface::as_raw(self),
1719 uri.param().abi(),
1720 resourcecontext,
1721 )
1722 .ok()
1723 }
1724 }
1725 pub unsafe fn RemoveWebResourceRequestedFilter<P0>(
1726 &self,
1727 uri: P0,
1728 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
1729 ) -> windows_core::Result<()>
1730 where
1731 P0: windows_core::Param<windows_core::PCWSTR>,
1732 {
1733 unsafe {
1734 (windows_core::Interface::vtable(self).RemoveWebResourceRequestedFilter)(
1735 windows_core::Interface::as_raw(self),
1736 uri.param().abi(),
1737 resourcecontext,
1738 )
1739 .ok()
1740 }
1741 }
1742 pub unsafe fn add_WindowCloseRequested<P0>(
1743 &self,
1744 eventhandler: P0,
1745 token: *mut i64,
1746 ) -> windows_core::Result<()>
1747 where
1748 P0: windows_core::Param<ICoreWebView2WindowCloseRequestedEventHandler>,
1749 {
1750 unsafe {
1751 (windows_core::Interface::vtable(self).add_WindowCloseRequested)(
1752 windows_core::Interface::as_raw(self),
1753 eventhandler.param().abi(),
1754 token as _,
1755 )
1756 .ok()
1757 }
1758 }
1759 pub unsafe fn remove_WindowCloseRequested(&self, token: i64) -> windows_core::Result<()> {
1760 unsafe {
1761 (windows_core::Interface::vtable(self).remove_WindowCloseRequested)(
1762 windows_core::Interface::as_raw(self),
1763 token,
1764 )
1765 .ok()
1766 }
1767 }
1768}
1769#[repr(C)]
1770#[doc(hidden)]
1771pub struct ICoreWebView2_Vtbl {
1772 pub base__: windows_core::IUnknown_Vtbl,
1773 pub Settings: unsafe extern "system" fn(
1774 *mut core::ffi::c_void,
1775 *mut *mut core::ffi::c_void,
1776 ) -> windows_core::HRESULT,
1777 pub Source: unsafe extern "system" fn(
1778 *mut core::ffi::c_void,
1779 *mut windows_core::PWSTR,
1780 ) -> windows_core::HRESULT,
1781 pub Navigate: unsafe extern "system" fn(
1782 *mut core::ffi::c_void,
1783 windows_core::PCWSTR,
1784 ) -> windows_core::HRESULT,
1785 pub NavigateToString: unsafe extern "system" fn(
1786 *mut core::ffi::c_void,
1787 windows_core::PCWSTR,
1788 ) -> windows_core::HRESULT,
1789 pub add_NavigationStarting: unsafe extern "system" fn(
1790 *mut core::ffi::c_void,
1791 *mut core::ffi::c_void,
1792 *mut i64,
1793 ) -> windows_core::HRESULT,
1794 pub remove_NavigationStarting:
1795 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1796 pub add_ContentLoading: unsafe extern "system" fn(
1797 *mut core::ffi::c_void,
1798 *mut core::ffi::c_void,
1799 *mut i64,
1800 ) -> windows_core::HRESULT,
1801 pub remove_ContentLoading:
1802 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1803 pub add_SourceChanged: unsafe extern "system" fn(
1804 *mut core::ffi::c_void,
1805 *mut core::ffi::c_void,
1806 *mut i64,
1807 ) -> windows_core::HRESULT,
1808 pub remove_SourceChanged:
1809 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1810 pub add_HistoryChanged: unsafe extern "system" fn(
1811 *mut core::ffi::c_void,
1812 *mut core::ffi::c_void,
1813 *mut i64,
1814 ) -> windows_core::HRESULT,
1815 pub remove_HistoryChanged:
1816 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1817 pub add_NavigationCompleted: unsafe extern "system" fn(
1818 *mut core::ffi::c_void,
1819 *mut core::ffi::c_void,
1820 *mut i64,
1821 ) -> windows_core::HRESULT,
1822 pub remove_NavigationCompleted:
1823 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1824 pub add_FrameNavigationStarting: unsafe extern "system" fn(
1825 *mut core::ffi::c_void,
1826 *mut core::ffi::c_void,
1827 *mut i64,
1828 ) -> windows_core::HRESULT,
1829 pub remove_FrameNavigationStarting:
1830 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1831 pub add_FrameNavigationCompleted: unsafe extern "system" fn(
1832 *mut core::ffi::c_void,
1833 *mut core::ffi::c_void,
1834 *mut i64,
1835 ) -> windows_core::HRESULT,
1836 pub remove_FrameNavigationCompleted:
1837 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1838 pub add_ScriptDialogOpening: unsafe extern "system" fn(
1839 *mut core::ffi::c_void,
1840 *mut core::ffi::c_void,
1841 *mut i64,
1842 ) -> windows_core::HRESULT,
1843 pub remove_ScriptDialogOpening:
1844 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1845 pub add_PermissionRequested: unsafe extern "system" fn(
1846 *mut core::ffi::c_void,
1847 *mut core::ffi::c_void,
1848 *mut i64,
1849 ) -> windows_core::HRESULT,
1850 pub remove_PermissionRequested:
1851 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1852 pub add_ProcessFailed: unsafe extern "system" fn(
1853 *mut core::ffi::c_void,
1854 *mut core::ffi::c_void,
1855 *mut i64,
1856 ) -> windows_core::HRESULT,
1857 pub remove_ProcessFailed:
1858 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1859 pub AddScriptToExecuteOnDocumentCreated: unsafe extern "system" fn(
1860 *mut core::ffi::c_void,
1861 windows_core::PCWSTR,
1862 *mut core::ffi::c_void,
1863 )
1864 -> windows_core::HRESULT,
1865 pub RemoveScriptToExecuteOnDocumentCreated: unsafe extern "system" fn(
1866 *mut core::ffi::c_void,
1867 windows_core::PCWSTR,
1868 )
1869 -> windows_core::HRESULT,
1870 pub ExecuteScript: unsafe extern "system" fn(
1871 *mut core::ffi::c_void,
1872 windows_core::PCWSTR,
1873 *mut core::ffi::c_void,
1874 ) -> windows_core::HRESULT,
1875 pub CapturePreview: unsafe extern "system" fn(
1876 *mut core::ffi::c_void,
1877 COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
1878 *mut core::ffi::c_void,
1879 *mut core::ffi::c_void,
1880 ) -> windows_core::HRESULT,
1881 pub Reload: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1882 pub PostWebMessageAsJson: unsafe extern "system" fn(
1883 *mut core::ffi::c_void,
1884 windows_core::PCWSTR,
1885 ) -> windows_core::HRESULT,
1886 pub PostWebMessageAsString: unsafe extern "system" fn(
1887 *mut core::ffi::c_void,
1888 windows_core::PCWSTR,
1889 ) -> windows_core::HRESULT,
1890 pub add_WebMessageReceived: unsafe extern "system" fn(
1891 *mut core::ffi::c_void,
1892 *mut core::ffi::c_void,
1893 *mut i64,
1894 ) -> windows_core::HRESULT,
1895 pub remove_WebMessageReceived:
1896 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1897 pub CallDevToolsProtocolMethod: unsafe extern "system" fn(
1898 *mut core::ffi::c_void,
1899 windows_core::PCWSTR,
1900 windows_core::PCWSTR,
1901 *mut core::ffi::c_void,
1902 ) -> windows_core::HRESULT,
1903 pub BrowserProcessId:
1904 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
1905 pub CanGoBack: unsafe extern "system" fn(
1906 *mut core::ffi::c_void,
1907 *mut windows_core::BOOL,
1908 ) -> windows_core::HRESULT,
1909 pub CanGoForward: unsafe extern "system" fn(
1910 *mut core::ffi::c_void,
1911 *mut windows_core::BOOL,
1912 ) -> windows_core::HRESULT,
1913 pub GoBack: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1914 pub GoForward: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1915 pub GetDevToolsProtocolEventReceiver: unsafe extern "system" fn(
1916 *mut core::ffi::c_void,
1917 windows_core::PCWSTR,
1918 *mut *mut core::ffi::c_void,
1919 ) -> windows_core::HRESULT,
1920 pub Stop: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1921 pub add_NewWindowRequested: unsafe extern "system" fn(
1922 *mut core::ffi::c_void,
1923 *mut core::ffi::c_void,
1924 *mut i64,
1925 ) -> windows_core::HRESULT,
1926 pub remove_NewWindowRequested:
1927 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1928 pub add_DocumentTitleChanged: unsafe extern "system" fn(
1929 *mut core::ffi::c_void,
1930 *mut core::ffi::c_void,
1931 *mut i64,
1932 ) -> windows_core::HRESULT,
1933 pub remove_DocumentTitleChanged:
1934 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1935 pub DocumentTitle: unsafe extern "system" fn(
1936 *mut core::ffi::c_void,
1937 *mut windows_core::PWSTR,
1938 ) -> windows_core::HRESULT,
1939 pub AddHostObjectToScript: unsafe extern "system" fn(
1940 *mut core::ffi::c_void,
1941 windows_core::PCWSTR,
1942 *mut windows::Win32::System::Variant::VARIANT,
1943 ) -> windows_core::HRESULT,
1944 pub RemoveHostObjectFromScript: unsafe extern "system" fn(
1945 *mut core::ffi::c_void,
1946 windows_core::PCWSTR,
1947 ) -> windows_core::HRESULT,
1948 pub OpenDevToolsWindow:
1949 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1950 pub add_ContainsFullScreenElementChanged: unsafe extern "system" fn(
1951 *mut core::ffi::c_void,
1952 *mut core::ffi::c_void,
1953 *mut i64,
1954 )
1955 -> windows_core::HRESULT,
1956 pub remove_ContainsFullScreenElementChanged:
1957 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1958 pub ContainsFullScreenElement: unsafe extern "system" fn(
1959 *mut core::ffi::c_void,
1960 *mut windows_core::BOOL,
1961 ) -> windows_core::HRESULT,
1962 pub add_WebResourceRequested: unsafe extern "system" fn(
1963 *mut core::ffi::c_void,
1964 *mut core::ffi::c_void,
1965 *mut i64,
1966 ) -> windows_core::HRESULT,
1967 pub remove_WebResourceRequested:
1968 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1969 pub AddWebResourceRequestedFilter: unsafe extern "system" fn(
1970 *mut core::ffi::c_void,
1971 windows_core::PCWSTR,
1972 COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
1973 ) -> windows_core::HRESULT,
1974 pub RemoveWebResourceRequestedFilter: unsafe extern "system" fn(
1975 *mut core::ffi::c_void,
1976 windows_core::PCWSTR,
1977 COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
1978 ) -> windows_core::HRESULT,
1979 pub add_WindowCloseRequested: unsafe extern "system" fn(
1980 *mut core::ffi::c_void,
1981 *mut core::ffi::c_void,
1982 *mut i64,
1983 ) -> windows_core::HRESULT,
1984 pub remove_WindowCloseRequested:
1985 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1986}
1987pub trait ICoreWebView2_Impl: windows_core::IUnknownImpl {
1988 fn Settings(&self) -> windows_core::Result<ICoreWebView2Settings>;
1989 fn Source(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
1990 fn Navigate(&self, uri: &windows_core::PCWSTR) -> windows_core::Result<()>;
1991 fn NavigateToString(&self, htmlcontent: &windows_core::PCWSTR) -> windows_core::Result<()>;
1992 fn add_NavigationStarting(
1993 &self,
1994 eventhandler: windows_core::Ref<'_, ICoreWebView2NavigationStartingEventHandler>,
1995 token: *mut i64,
1996 ) -> windows_core::Result<()>;
1997 fn remove_NavigationStarting(&self, token: i64) -> windows_core::Result<()>;
1998 fn add_ContentLoading(
1999 &self,
2000 eventhandler: windows_core::Ref<'_, ICoreWebView2ContentLoadingEventHandler>,
2001 token: *mut i64,
2002 ) -> windows_core::Result<()>;
2003 fn remove_ContentLoading(&self, token: i64) -> windows_core::Result<()>;
2004 fn add_SourceChanged(
2005 &self,
2006 eventhandler: windows_core::Ref<'_, ICoreWebView2SourceChangedEventHandler>,
2007 token: *mut i64,
2008 ) -> windows_core::Result<()>;
2009 fn remove_SourceChanged(&self, token: i64) -> windows_core::Result<()>;
2010 fn add_HistoryChanged(
2011 &self,
2012 eventhandler: windows_core::Ref<'_, ICoreWebView2HistoryChangedEventHandler>,
2013 token: *mut i64,
2014 ) -> windows_core::Result<()>;
2015 fn remove_HistoryChanged(&self, token: i64) -> windows_core::Result<()>;
2016 fn add_NavigationCompleted(
2017 &self,
2018 eventhandler: windows_core::Ref<'_, ICoreWebView2NavigationCompletedEventHandler>,
2019 token: *mut i64,
2020 ) -> windows_core::Result<()>;
2021 fn remove_NavigationCompleted(&self, token: i64) -> windows_core::Result<()>;
2022 fn add_FrameNavigationStarting(
2023 &self,
2024 eventhandler: windows_core::Ref<'_, ICoreWebView2NavigationStartingEventHandler>,
2025 token: *mut i64,
2026 ) -> windows_core::Result<()>;
2027 fn remove_FrameNavigationStarting(&self, token: i64) -> windows_core::Result<()>;
2028 fn add_FrameNavigationCompleted(
2029 &self,
2030 eventhandler: windows_core::Ref<'_, ICoreWebView2NavigationCompletedEventHandler>,
2031 token: *mut i64,
2032 ) -> windows_core::Result<()>;
2033 fn remove_FrameNavigationCompleted(&self, token: i64) -> windows_core::Result<()>;
2034 fn add_ScriptDialogOpening(
2035 &self,
2036 eventhandler: windows_core::Ref<'_, ICoreWebView2ScriptDialogOpeningEventHandler>,
2037 token: *mut i64,
2038 ) -> windows_core::Result<()>;
2039 fn remove_ScriptDialogOpening(&self, token: i64) -> windows_core::Result<()>;
2040 fn add_PermissionRequested(
2041 &self,
2042 eventhandler: windows_core::Ref<'_, ICoreWebView2PermissionRequestedEventHandler>,
2043 token: *mut i64,
2044 ) -> windows_core::Result<()>;
2045 fn remove_PermissionRequested(&self, token: i64) -> windows_core::Result<()>;
2046 fn add_ProcessFailed(
2047 &self,
2048 eventhandler: windows_core::Ref<'_, ICoreWebView2ProcessFailedEventHandler>,
2049 token: *mut i64,
2050 ) -> windows_core::Result<()>;
2051 fn remove_ProcessFailed(&self, token: i64) -> windows_core::Result<()>;
2052 fn AddScriptToExecuteOnDocumentCreated(
2053 &self,
2054 javascript: &windows_core::PCWSTR,
2055 handler: windows_core::Ref<
2056 '_,
2057 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler,
2058 >,
2059 ) -> windows_core::Result<()>;
2060 fn RemoveScriptToExecuteOnDocumentCreated(
2061 &self,
2062 id: &windows_core::PCWSTR,
2063 ) -> windows_core::Result<()>;
2064 fn ExecuteScript(
2065 &self,
2066 javascript: &windows_core::PCWSTR,
2067 handler: windows_core::Ref<'_, ICoreWebView2ExecuteScriptCompletedHandler>,
2068 ) -> windows_core::Result<()>;
2069 fn CapturePreview(
2070 &self,
2071 imageformat: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
2072 imagestream: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
2073 handler: windows_core::Ref<'_, ICoreWebView2CapturePreviewCompletedHandler>,
2074 ) -> windows_core::Result<()>;
2075 fn Reload(&self) -> windows_core::Result<()>;
2076 fn PostWebMessageAsJson(
2077 &self,
2078 webmessageasjson: &windows_core::PCWSTR,
2079 ) -> windows_core::Result<()>;
2080 fn PostWebMessageAsString(
2081 &self,
2082 webmessageasstring: &windows_core::PCWSTR,
2083 ) -> windows_core::Result<()>;
2084 fn add_WebMessageReceived(
2085 &self,
2086 handler: windows_core::Ref<'_, ICoreWebView2WebMessageReceivedEventHandler>,
2087 token: *mut i64,
2088 ) -> windows_core::Result<()>;
2089 fn remove_WebMessageReceived(&self, token: i64) -> windows_core::Result<()>;
2090 fn CallDevToolsProtocolMethod(
2091 &self,
2092 methodname: &windows_core::PCWSTR,
2093 parametersasjson: &windows_core::PCWSTR,
2094 handler: windows_core::Ref<'_, ICoreWebView2CallDevToolsProtocolMethodCompletedHandler>,
2095 ) -> windows_core::Result<()>;
2096 fn BrowserProcessId(&self, value: *mut u32) -> windows_core::Result<()>;
2097 fn CanGoBack(&self, cangoback: *mut windows_core::BOOL) -> windows_core::Result<()>;
2098 fn CanGoForward(&self, cangoforward: *mut windows_core::BOOL) -> windows_core::Result<()>;
2099 fn GoBack(&self) -> windows_core::Result<()>;
2100 fn GoForward(&self) -> windows_core::Result<()>;
2101 fn GetDevToolsProtocolEventReceiver(
2102 &self,
2103 eventname: &windows_core::PCWSTR,
2104 ) -> windows_core::Result<ICoreWebView2DevToolsProtocolEventReceiver>;
2105 fn Stop(&self) -> windows_core::Result<()>;
2106 fn add_NewWindowRequested(
2107 &self,
2108 eventhandler: windows_core::Ref<'_, ICoreWebView2NewWindowRequestedEventHandler>,
2109 token: *mut i64,
2110 ) -> windows_core::Result<()>;
2111 fn remove_NewWindowRequested(&self, token: i64) -> windows_core::Result<()>;
2112 fn add_DocumentTitleChanged(
2113 &self,
2114 eventhandler: windows_core::Ref<'_, ICoreWebView2DocumentTitleChangedEventHandler>,
2115 token: *mut i64,
2116 ) -> windows_core::Result<()>;
2117 fn remove_DocumentTitleChanged(&self, token: i64) -> windows_core::Result<()>;
2118 fn DocumentTitle(&self, title: *mut windows_core::PWSTR) -> windows_core::Result<()>;
2119 fn AddHostObjectToScript(
2120 &self,
2121 name: &windows_core::PCWSTR,
2122 object: *mut windows::Win32::System::Variant::VARIANT,
2123 ) -> windows_core::Result<()>;
2124 fn RemoveHostObjectFromScript(&self, name: &windows_core::PCWSTR) -> windows_core::Result<()>;
2125 fn OpenDevToolsWindow(&self) -> windows_core::Result<()>;
2126 fn add_ContainsFullScreenElementChanged(
2127 &self,
2128 eventhandler: windows_core::Ref<
2129 '_,
2130 ICoreWebView2ContainsFullScreenElementChangedEventHandler,
2131 >,
2132 token: *mut i64,
2133 ) -> windows_core::Result<()>;
2134 fn remove_ContainsFullScreenElementChanged(&self, token: i64) -> windows_core::Result<()>;
2135 fn ContainsFullScreenElement(
2136 &self,
2137 containsfullscreenelement: *mut windows_core::BOOL,
2138 ) -> windows_core::Result<()>;
2139 fn add_WebResourceRequested(
2140 &self,
2141 eventhandler: windows_core::Ref<'_, ICoreWebView2WebResourceRequestedEventHandler>,
2142 token: *mut i64,
2143 ) -> windows_core::Result<()>;
2144 fn remove_WebResourceRequested(&self, token: i64) -> windows_core::Result<()>;
2145 fn AddWebResourceRequestedFilter(
2146 &self,
2147 uri: &windows_core::PCWSTR,
2148 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
2149 ) -> windows_core::Result<()>;
2150 fn RemoveWebResourceRequestedFilter(
2151 &self,
2152 uri: &windows_core::PCWSTR,
2153 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
2154 ) -> windows_core::Result<()>;
2155 fn add_WindowCloseRequested(
2156 &self,
2157 eventhandler: windows_core::Ref<'_, ICoreWebView2WindowCloseRequestedEventHandler>,
2158 token: *mut i64,
2159 ) -> windows_core::Result<()>;
2160 fn remove_WindowCloseRequested(&self, token: i64) -> windows_core::Result<()>;
2161}
2162impl ICoreWebView2_Vtbl {
2163 pub const fn new<Identity: ICoreWebView2_Impl, const OFFSET: isize>() -> Self {
2164 unsafe extern "system" fn Settings<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2165 this: *mut core::ffi::c_void,
2166 settings: *mut *mut core::ffi::c_void,
2167 ) -> windows_core::HRESULT {
2168 unsafe {
2169 let this: &Identity =
2170 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2171 match ICoreWebView2_Impl::Settings(this) {
2172 Ok(ok__) => {
2173 settings.write(core::mem::transmute(ok__));
2174 windows_core::HRESULT(0)
2175 }
2176 Err(err) => err.into(),
2177 }
2178 }
2179 }
2180 unsafe extern "system" fn Source<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2181 this: *mut core::ffi::c_void,
2182 uri: *mut windows_core::PWSTR,
2183 ) -> windows_core::HRESULT {
2184 unsafe {
2185 let this: &Identity =
2186 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2187 ICoreWebView2_Impl::Source(this, core::mem::transmute_copy(&uri)).into()
2188 }
2189 }
2190 unsafe extern "system" fn Navigate<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2191 this: *mut core::ffi::c_void,
2192 uri: windows_core::PCWSTR,
2193 ) -> windows_core::HRESULT {
2194 unsafe {
2195 let this: &Identity =
2196 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2197 ICoreWebView2_Impl::Navigate(this, core::mem::transmute(&uri)).into()
2198 }
2199 }
2200 unsafe extern "system" fn NavigateToString<
2201 Identity: ICoreWebView2_Impl,
2202 const OFFSET: isize,
2203 >(
2204 this: *mut core::ffi::c_void,
2205 htmlcontent: windows_core::PCWSTR,
2206 ) -> windows_core::HRESULT {
2207 unsafe {
2208 let this: &Identity =
2209 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2210 ICoreWebView2_Impl::NavigateToString(this, core::mem::transmute(&htmlcontent))
2211 .into()
2212 }
2213 }
2214 unsafe extern "system" fn add_NavigationStarting<
2215 Identity: ICoreWebView2_Impl,
2216 const OFFSET: isize,
2217 >(
2218 this: *mut core::ffi::c_void,
2219 eventhandler: *mut core::ffi::c_void,
2220 token: *mut i64,
2221 ) -> windows_core::HRESULT {
2222 unsafe {
2223 let this: &Identity =
2224 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2225 ICoreWebView2_Impl::add_NavigationStarting(
2226 this,
2227 core::mem::transmute_copy(&eventhandler),
2228 core::mem::transmute_copy(&token),
2229 )
2230 .into()
2231 }
2232 }
2233 unsafe extern "system" fn remove_NavigationStarting<
2234 Identity: ICoreWebView2_Impl,
2235 const OFFSET: isize,
2236 >(
2237 this: *mut core::ffi::c_void,
2238 token: i64,
2239 ) -> windows_core::HRESULT {
2240 unsafe {
2241 let this: &Identity =
2242 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2243 ICoreWebView2_Impl::remove_NavigationStarting(
2244 this,
2245 core::mem::transmute_copy(&token),
2246 )
2247 .into()
2248 }
2249 }
2250 unsafe extern "system" fn add_ContentLoading<
2251 Identity: ICoreWebView2_Impl,
2252 const OFFSET: isize,
2253 >(
2254 this: *mut core::ffi::c_void,
2255 eventhandler: *mut core::ffi::c_void,
2256 token: *mut i64,
2257 ) -> windows_core::HRESULT {
2258 unsafe {
2259 let this: &Identity =
2260 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2261 ICoreWebView2_Impl::add_ContentLoading(
2262 this,
2263 core::mem::transmute_copy(&eventhandler),
2264 core::mem::transmute_copy(&token),
2265 )
2266 .into()
2267 }
2268 }
2269 unsafe extern "system" fn remove_ContentLoading<
2270 Identity: ICoreWebView2_Impl,
2271 const OFFSET: isize,
2272 >(
2273 this: *mut core::ffi::c_void,
2274 token: i64,
2275 ) -> windows_core::HRESULT {
2276 unsafe {
2277 let this: &Identity =
2278 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2279 ICoreWebView2_Impl::remove_ContentLoading(this, core::mem::transmute_copy(&token))
2280 .into()
2281 }
2282 }
2283 unsafe extern "system" fn add_SourceChanged<
2284 Identity: ICoreWebView2_Impl,
2285 const OFFSET: isize,
2286 >(
2287 this: *mut core::ffi::c_void,
2288 eventhandler: *mut core::ffi::c_void,
2289 token: *mut i64,
2290 ) -> windows_core::HRESULT {
2291 unsafe {
2292 let this: &Identity =
2293 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2294 ICoreWebView2_Impl::add_SourceChanged(
2295 this,
2296 core::mem::transmute_copy(&eventhandler),
2297 core::mem::transmute_copy(&token),
2298 )
2299 .into()
2300 }
2301 }
2302 unsafe extern "system" fn remove_SourceChanged<
2303 Identity: ICoreWebView2_Impl,
2304 const OFFSET: isize,
2305 >(
2306 this: *mut core::ffi::c_void,
2307 token: i64,
2308 ) -> windows_core::HRESULT {
2309 unsafe {
2310 let this: &Identity =
2311 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2312 ICoreWebView2_Impl::remove_SourceChanged(this, core::mem::transmute_copy(&token))
2313 .into()
2314 }
2315 }
2316 unsafe extern "system" fn add_HistoryChanged<
2317 Identity: ICoreWebView2_Impl,
2318 const OFFSET: isize,
2319 >(
2320 this: *mut core::ffi::c_void,
2321 eventhandler: *mut core::ffi::c_void,
2322 token: *mut i64,
2323 ) -> windows_core::HRESULT {
2324 unsafe {
2325 let this: &Identity =
2326 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2327 ICoreWebView2_Impl::add_HistoryChanged(
2328 this,
2329 core::mem::transmute_copy(&eventhandler),
2330 core::mem::transmute_copy(&token),
2331 )
2332 .into()
2333 }
2334 }
2335 unsafe extern "system" fn remove_HistoryChanged<
2336 Identity: ICoreWebView2_Impl,
2337 const OFFSET: isize,
2338 >(
2339 this: *mut core::ffi::c_void,
2340 token: i64,
2341 ) -> windows_core::HRESULT {
2342 unsafe {
2343 let this: &Identity =
2344 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2345 ICoreWebView2_Impl::remove_HistoryChanged(this, core::mem::transmute_copy(&token))
2346 .into()
2347 }
2348 }
2349 unsafe extern "system" fn add_NavigationCompleted<
2350 Identity: ICoreWebView2_Impl,
2351 const OFFSET: isize,
2352 >(
2353 this: *mut core::ffi::c_void,
2354 eventhandler: *mut core::ffi::c_void,
2355 token: *mut i64,
2356 ) -> windows_core::HRESULT {
2357 unsafe {
2358 let this: &Identity =
2359 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2360 ICoreWebView2_Impl::add_NavigationCompleted(
2361 this,
2362 core::mem::transmute_copy(&eventhandler),
2363 core::mem::transmute_copy(&token),
2364 )
2365 .into()
2366 }
2367 }
2368 unsafe extern "system" fn remove_NavigationCompleted<
2369 Identity: ICoreWebView2_Impl,
2370 const OFFSET: isize,
2371 >(
2372 this: *mut core::ffi::c_void,
2373 token: i64,
2374 ) -> windows_core::HRESULT {
2375 unsafe {
2376 let this: &Identity =
2377 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2378 ICoreWebView2_Impl::remove_NavigationCompleted(
2379 this,
2380 core::mem::transmute_copy(&token),
2381 )
2382 .into()
2383 }
2384 }
2385 unsafe extern "system" fn add_FrameNavigationStarting<
2386 Identity: ICoreWebView2_Impl,
2387 const OFFSET: isize,
2388 >(
2389 this: *mut core::ffi::c_void,
2390 eventhandler: *mut core::ffi::c_void,
2391 token: *mut i64,
2392 ) -> windows_core::HRESULT {
2393 unsafe {
2394 let this: &Identity =
2395 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2396 ICoreWebView2_Impl::add_FrameNavigationStarting(
2397 this,
2398 core::mem::transmute_copy(&eventhandler),
2399 core::mem::transmute_copy(&token),
2400 )
2401 .into()
2402 }
2403 }
2404 unsafe extern "system" fn remove_FrameNavigationStarting<
2405 Identity: ICoreWebView2_Impl,
2406 const OFFSET: isize,
2407 >(
2408 this: *mut core::ffi::c_void,
2409 token: i64,
2410 ) -> windows_core::HRESULT {
2411 unsafe {
2412 let this: &Identity =
2413 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2414 ICoreWebView2_Impl::remove_FrameNavigationStarting(
2415 this,
2416 core::mem::transmute_copy(&token),
2417 )
2418 .into()
2419 }
2420 }
2421 unsafe extern "system" fn add_FrameNavigationCompleted<
2422 Identity: ICoreWebView2_Impl,
2423 const OFFSET: isize,
2424 >(
2425 this: *mut core::ffi::c_void,
2426 eventhandler: *mut core::ffi::c_void,
2427 token: *mut i64,
2428 ) -> windows_core::HRESULT {
2429 unsafe {
2430 let this: &Identity =
2431 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2432 ICoreWebView2_Impl::add_FrameNavigationCompleted(
2433 this,
2434 core::mem::transmute_copy(&eventhandler),
2435 core::mem::transmute_copy(&token),
2436 )
2437 .into()
2438 }
2439 }
2440 unsafe extern "system" fn remove_FrameNavigationCompleted<
2441 Identity: ICoreWebView2_Impl,
2442 const OFFSET: isize,
2443 >(
2444 this: *mut core::ffi::c_void,
2445 token: i64,
2446 ) -> windows_core::HRESULT {
2447 unsafe {
2448 let this: &Identity =
2449 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2450 ICoreWebView2_Impl::remove_FrameNavigationCompleted(
2451 this,
2452 core::mem::transmute_copy(&token),
2453 )
2454 .into()
2455 }
2456 }
2457 unsafe extern "system" fn add_ScriptDialogOpening<
2458 Identity: ICoreWebView2_Impl,
2459 const OFFSET: isize,
2460 >(
2461 this: *mut core::ffi::c_void,
2462 eventhandler: *mut core::ffi::c_void,
2463 token: *mut i64,
2464 ) -> windows_core::HRESULT {
2465 unsafe {
2466 let this: &Identity =
2467 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2468 ICoreWebView2_Impl::add_ScriptDialogOpening(
2469 this,
2470 core::mem::transmute_copy(&eventhandler),
2471 core::mem::transmute_copy(&token),
2472 )
2473 .into()
2474 }
2475 }
2476 unsafe extern "system" fn remove_ScriptDialogOpening<
2477 Identity: ICoreWebView2_Impl,
2478 const OFFSET: isize,
2479 >(
2480 this: *mut core::ffi::c_void,
2481 token: i64,
2482 ) -> windows_core::HRESULT {
2483 unsafe {
2484 let this: &Identity =
2485 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2486 ICoreWebView2_Impl::remove_ScriptDialogOpening(
2487 this,
2488 core::mem::transmute_copy(&token),
2489 )
2490 .into()
2491 }
2492 }
2493 unsafe extern "system" fn add_PermissionRequested<
2494 Identity: ICoreWebView2_Impl,
2495 const OFFSET: isize,
2496 >(
2497 this: *mut core::ffi::c_void,
2498 eventhandler: *mut core::ffi::c_void,
2499 token: *mut i64,
2500 ) -> windows_core::HRESULT {
2501 unsafe {
2502 let this: &Identity =
2503 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2504 ICoreWebView2_Impl::add_PermissionRequested(
2505 this,
2506 core::mem::transmute_copy(&eventhandler),
2507 core::mem::transmute_copy(&token),
2508 )
2509 .into()
2510 }
2511 }
2512 unsafe extern "system" fn remove_PermissionRequested<
2513 Identity: ICoreWebView2_Impl,
2514 const OFFSET: isize,
2515 >(
2516 this: *mut core::ffi::c_void,
2517 token: i64,
2518 ) -> windows_core::HRESULT {
2519 unsafe {
2520 let this: &Identity =
2521 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2522 ICoreWebView2_Impl::remove_PermissionRequested(
2523 this,
2524 core::mem::transmute_copy(&token),
2525 )
2526 .into()
2527 }
2528 }
2529 unsafe extern "system" fn add_ProcessFailed<
2530 Identity: ICoreWebView2_Impl,
2531 const OFFSET: isize,
2532 >(
2533 this: *mut core::ffi::c_void,
2534 eventhandler: *mut core::ffi::c_void,
2535 token: *mut i64,
2536 ) -> windows_core::HRESULT {
2537 unsafe {
2538 let this: &Identity =
2539 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2540 ICoreWebView2_Impl::add_ProcessFailed(
2541 this,
2542 core::mem::transmute_copy(&eventhandler),
2543 core::mem::transmute_copy(&token),
2544 )
2545 .into()
2546 }
2547 }
2548 unsafe extern "system" fn remove_ProcessFailed<
2549 Identity: ICoreWebView2_Impl,
2550 const OFFSET: isize,
2551 >(
2552 this: *mut core::ffi::c_void,
2553 token: i64,
2554 ) -> windows_core::HRESULT {
2555 unsafe {
2556 let this: &Identity =
2557 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2558 ICoreWebView2_Impl::remove_ProcessFailed(this, core::mem::transmute_copy(&token))
2559 .into()
2560 }
2561 }
2562 unsafe extern "system" fn AddScriptToExecuteOnDocumentCreated<
2563 Identity: ICoreWebView2_Impl,
2564 const OFFSET: isize,
2565 >(
2566 this: *mut core::ffi::c_void,
2567 javascript: windows_core::PCWSTR,
2568 handler: *mut core::ffi::c_void,
2569 ) -> windows_core::HRESULT {
2570 unsafe {
2571 let this: &Identity =
2572 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2573 ICoreWebView2_Impl::AddScriptToExecuteOnDocumentCreated(
2574 this,
2575 core::mem::transmute(&javascript),
2576 core::mem::transmute_copy(&handler),
2577 )
2578 .into()
2579 }
2580 }
2581 unsafe extern "system" fn RemoveScriptToExecuteOnDocumentCreated<
2582 Identity: ICoreWebView2_Impl,
2583 const OFFSET: isize,
2584 >(
2585 this: *mut core::ffi::c_void,
2586 id: windows_core::PCWSTR,
2587 ) -> windows_core::HRESULT {
2588 unsafe {
2589 let this: &Identity =
2590 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2591 ICoreWebView2_Impl::RemoveScriptToExecuteOnDocumentCreated(
2592 this,
2593 core::mem::transmute(&id),
2594 )
2595 .into()
2596 }
2597 }
2598 unsafe extern "system" fn ExecuteScript<
2599 Identity: ICoreWebView2_Impl,
2600 const OFFSET: isize,
2601 >(
2602 this: *mut core::ffi::c_void,
2603 javascript: windows_core::PCWSTR,
2604 handler: *mut core::ffi::c_void,
2605 ) -> windows_core::HRESULT {
2606 unsafe {
2607 let this: &Identity =
2608 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2609 ICoreWebView2_Impl::ExecuteScript(
2610 this,
2611 core::mem::transmute(&javascript),
2612 core::mem::transmute_copy(&handler),
2613 )
2614 .into()
2615 }
2616 }
2617 unsafe extern "system" fn CapturePreview<
2618 Identity: ICoreWebView2_Impl,
2619 const OFFSET: isize,
2620 >(
2621 this: *mut core::ffi::c_void,
2622 imageformat: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
2623 imagestream: *mut core::ffi::c_void,
2624 handler: *mut core::ffi::c_void,
2625 ) -> windows_core::HRESULT {
2626 unsafe {
2627 let this: &Identity =
2628 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2629 ICoreWebView2_Impl::CapturePreview(
2630 this,
2631 core::mem::transmute_copy(&imageformat),
2632 core::mem::transmute_copy(&imagestream),
2633 core::mem::transmute_copy(&handler),
2634 )
2635 .into()
2636 }
2637 }
2638 unsafe extern "system" fn Reload<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2639 this: *mut core::ffi::c_void,
2640 ) -> windows_core::HRESULT {
2641 unsafe {
2642 let this: &Identity =
2643 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2644 ICoreWebView2_Impl::Reload(this).into()
2645 }
2646 }
2647 unsafe extern "system" fn PostWebMessageAsJson<
2648 Identity: ICoreWebView2_Impl,
2649 const OFFSET: isize,
2650 >(
2651 this: *mut core::ffi::c_void,
2652 webmessageasjson: windows_core::PCWSTR,
2653 ) -> windows_core::HRESULT {
2654 unsafe {
2655 let this: &Identity =
2656 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2657 ICoreWebView2_Impl::PostWebMessageAsJson(
2658 this,
2659 core::mem::transmute(&webmessageasjson),
2660 )
2661 .into()
2662 }
2663 }
2664 unsafe extern "system" fn PostWebMessageAsString<
2665 Identity: ICoreWebView2_Impl,
2666 const OFFSET: isize,
2667 >(
2668 this: *mut core::ffi::c_void,
2669 webmessageasstring: windows_core::PCWSTR,
2670 ) -> windows_core::HRESULT {
2671 unsafe {
2672 let this: &Identity =
2673 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2674 ICoreWebView2_Impl::PostWebMessageAsString(
2675 this,
2676 core::mem::transmute(&webmessageasstring),
2677 )
2678 .into()
2679 }
2680 }
2681 unsafe extern "system" fn add_WebMessageReceived<
2682 Identity: ICoreWebView2_Impl,
2683 const OFFSET: isize,
2684 >(
2685 this: *mut core::ffi::c_void,
2686 handler: *mut core::ffi::c_void,
2687 token: *mut i64,
2688 ) -> windows_core::HRESULT {
2689 unsafe {
2690 let this: &Identity =
2691 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2692 ICoreWebView2_Impl::add_WebMessageReceived(
2693 this,
2694 core::mem::transmute_copy(&handler),
2695 core::mem::transmute_copy(&token),
2696 )
2697 .into()
2698 }
2699 }
2700 unsafe extern "system" fn remove_WebMessageReceived<
2701 Identity: ICoreWebView2_Impl,
2702 const OFFSET: isize,
2703 >(
2704 this: *mut core::ffi::c_void,
2705 token: i64,
2706 ) -> windows_core::HRESULT {
2707 unsafe {
2708 let this: &Identity =
2709 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2710 ICoreWebView2_Impl::remove_WebMessageReceived(
2711 this,
2712 core::mem::transmute_copy(&token),
2713 )
2714 .into()
2715 }
2716 }
2717 unsafe extern "system" fn CallDevToolsProtocolMethod<
2718 Identity: ICoreWebView2_Impl,
2719 const OFFSET: isize,
2720 >(
2721 this: *mut core::ffi::c_void,
2722 methodname: windows_core::PCWSTR,
2723 parametersasjson: windows_core::PCWSTR,
2724 handler: *mut core::ffi::c_void,
2725 ) -> windows_core::HRESULT {
2726 unsafe {
2727 let this: &Identity =
2728 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2729 ICoreWebView2_Impl::CallDevToolsProtocolMethod(
2730 this,
2731 core::mem::transmute(&methodname),
2732 core::mem::transmute(¶metersasjson),
2733 core::mem::transmute_copy(&handler),
2734 )
2735 .into()
2736 }
2737 }
2738 unsafe extern "system" fn BrowserProcessId<
2739 Identity: ICoreWebView2_Impl,
2740 const OFFSET: isize,
2741 >(
2742 this: *mut core::ffi::c_void,
2743 value: *mut u32,
2744 ) -> windows_core::HRESULT {
2745 unsafe {
2746 let this: &Identity =
2747 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2748 ICoreWebView2_Impl::BrowserProcessId(this, core::mem::transmute_copy(&value)).into()
2749 }
2750 }
2751 unsafe extern "system" fn CanGoBack<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2752 this: *mut core::ffi::c_void,
2753 cangoback: *mut windows_core::BOOL,
2754 ) -> windows_core::HRESULT {
2755 unsafe {
2756 let this: &Identity =
2757 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2758 ICoreWebView2_Impl::CanGoBack(this, core::mem::transmute_copy(&cangoback)).into()
2759 }
2760 }
2761 unsafe extern "system" fn CanGoForward<
2762 Identity: ICoreWebView2_Impl,
2763 const OFFSET: isize,
2764 >(
2765 this: *mut core::ffi::c_void,
2766 cangoforward: *mut windows_core::BOOL,
2767 ) -> windows_core::HRESULT {
2768 unsafe {
2769 let this: &Identity =
2770 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2771 ICoreWebView2_Impl::CanGoForward(this, core::mem::transmute_copy(&cangoforward))
2772 .into()
2773 }
2774 }
2775 unsafe extern "system" fn GoBack<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2776 this: *mut core::ffi::c_void,
2777 ) -> windows_core::HRESULT {
2778 unsafe {
2779 let this: &Identity =
2780 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2781 ICoreWebView2_Impl::GoBack(this).into()
2782 }
2783 }
2784 unsafe extern "system" fn GoForward<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2785 this: *mut core::ffi::c_void,
2786 ) -> windows_core::HRESULT {
2787 unsafe {
2788 let this: &Identity =
2789 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2790 ICoreWebView2_Impl::GoForward(this).into()
2791 }
2792 }
2793 unsafe extern "system" fn GetDevToolsProtocolEventReceiver<
2794 Identity: ICoreWebView2_Impl,
2795 const OFFSET: isize,
2796 >(
2797 this: *mut core::ffi::c_void,
2798 eventname: windows_core::PCWSTR,
2799 receiver: *mut *mut core::ffi::c_void,
2800 ) -> windows_core::HRESULT {
2801 unsafe {
2802 let this: &Identity =
2803 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2804 match ICoreWebView2_Impl::GetDevToolsProtocolEventReceiver(
2805 this,
2806 core::mem::transmute(&eventname),
2807 ) {
2808 Ok(ok__) => {
2809 receiver.write(core::mem::transmute(ok__));
2810 windows_core::HRESULT(0)
2811 }
2812 Err(err) => err.into(),
2813 }
2814 }
2815 }
2816 unsafe extern "system" fn Stop<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2817 this: *mut core::ffi::c_void,
2818 ) -> windows_core::HRESULT {
2819 unsafe {
2820 let this: &Identity =
2821 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2822 ICoreWebView2_Impl::Stop(this).into()
2823 }
2824 }
2825 unsafe extern "system" fn add_NewWindowRequested<
2826 Identity: ICoreWebView2_Impl,
2827 const OFFSET: isize,
2828 >(
2829 this: *mut core::ffi::c_void,
2830 eventhandler: *mut core::ffi::c_void,
2831 token: *mut i64,
2832 ) -> windows_core::HRESULT {
2833 unsafe {
2834 let this: &Identity =
2835 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2836 ICoreWebView2_Impl::add_NewWindowRequested(
2837 this,
2838 core::mem::transmute_copy(&eventhandler),
2839 core::mem::transmute_copy(&token),
2840 )
2841 .into()
2842 }
2843 }
2844 unsafe extern "system" fn remove_NewWindowRequested<
2845 Identity: ICoreWebView2_Impl,
2846 const OFFSET: isize,
2847 >(
2848 this: *mut core::ffi::c_void,
2849 token: i64,
2850 ) -> windows_core::HRESULT {
2851 unsafe {
2852 let this: &Identity =
2853 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2854 ICoreWebView2_Impl::remove_NewWindowRequested(
2855 this,
2856 core::mem::transmute_copy(&token),
2857 )
2858 .into()
2859 }
2860 }
2861 unsafe extern "system" fn add_DocumentTitleChanged<
2862 Identity: ICoreWebView2_Impl,
2863 const OFFSET: isize,
2864 >(
2865 this: *mut core::ffi::c_void,
2866 eventhandler: *mut core::ffi::c_void,
2867 token: *mut i64,
2868 ) -> windows_core::HRESULT {
2869 unsafe {
2870 let this: &Identity =
2871 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2872 ICoreWebView2_Impl::add_DocumentTitleChanged(
2873 this,
2874 core::mem::transmute_copy(&eventhandler),
2875 core::mem::transmute_copy(&token),
2876 )
2877 .into()
2878 }
2879 }
2880 unsafe extern "system" fn remove_DocumentTitleChanged<
2881 Identity: ICoreWebView2_Impl,
2882 const OFFSET: isize,
2883 >(
2884 this: *mut core::ffi::c_void,
2885 token: i64,
2886 ) -> windows_core::HRESULT {
2887 unsafe {
2888 let this: &Identity =
2889 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2890 ICoreWebView2_Impl::remove_DocumentTitleChanged(
2891 this,
2892 core::mem::transmute_copy(&token),
2893 )
2894 .into()
2895 }
2896 }
2897 unsafe extern "system" fn DocumentTitle<
2898 Identity: ICoreWebView2_Impl,
2899 const OFFSET: isize,
2900 >(
2901 this: *mut core::ffi::c_void,
2902 title: *mut windows_core::PWSTR,
2903 ) -> windows_core::HRESULT {
2904 unsafe {
2905 let this: &Identity =
2906 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2907 ICoreWebView2_Impl::DocumentTitle(this, core::mem::transmute_copy(&title)).into()
2908 }
2909 }
2910 unsafe extern "system" fn AddHostObjectToScript<
2911 Identity: ICoreWebView2_Impl,
2912 const OFFSET: isize,
2913 >(
2914 this: *mut core::ffi::c_void,
2915 name: windows_core::PCWSTR,
2916 object: *mut windows::Win32::System::Variant::VARIANT,
2917 ) -> windows_core::HRESULT {
2918 unsafe {
2919 let this: &Identity =
2920 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2921 ICoreWebView2_Impl::AddHostObjectToScript(
2922 this,
2923 core::mem::transmute(&name),
2924 core::mem::transmute_copy(&object),
2925 )
2926 .into()
2927 }
2928 }
2929 unsafe extern "system" fn RemoveHostObjectFromScript<
2930 Identity: ICoreWebView2_Impl,
2931 const OFFSET: isize,
2932 >(
2933 this: *mut core::ffi::c_void,
2934 name: windows_core::PCWSTR,
2935 ) -> windows_core::HRESULT {
2936 unsafe {
2937 let this: &Identity =
2938 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2939 ICoreWebView2_Impl::RemoveHostObjectFromScript(this, core::mem::transmute(&name))
2940 .into()
2941 }
2942 }
2943 unsafe extern "system" fn OpenDevToolsWindow<
2944 Identity: ICoreWebView2_Impl,
2945 const OFFSET: isize,
2946 >(
2947 this: *mut core::ffi::c_void,
2948 ) -> windows_core::HRESULT {
2949 unsafe {
2950 let this: &Identity =
2951 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2952 ICoreWebView2_Impl::OpenDevToolsWindow(this).into()
2953 }
2954 }
2955 unsafe extern "system" fn add_ContainsFullScreenElementChanged<
2956 Identity: ICoreWebView2_Impl,
2957 const OFFSET: isize,
2958 >(
2959 this: *mut core::ffi::c_void,
2960 eventhandler: *mut core::ffi::c_void,
2961 token: *mut i64,
2962 ) -> windows_core::HRESULT {
2963 unsafe {
2964 let this: &Identity =
2965 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2966 ICoreWebView2_Impl::add_ContainsFullScreenElementChanged(
2967 this,
2968 core::mem::transmute_copy(&eventhandler),
2969 core::mem::transmute_copy(&token),
2970 )
2971 .into()
2972 }
2973 }
2974 unsafe extern "system" fn remove_ContainsFullScreenElementChanged<
2975 Identity: ICoreWebView2_Impl,
2976 const OFFSET: isize,
2977 >(
2978 this: *mut core::ffi::c_void,
2979 token: i64,
2980 ) -> windows_core::HRESULT {
2981 unsafe {
2982 let this: &Identity =
2983 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2984 ICoreWebView2_Impl::remove_ContainsFullScreenElementChanged(
2985 this,
2986 core::mem::transmute_copy(&token),
2987 )
2988 .into()
2989 }
2990 }
2991 unsafe extern "system" fn ContainsFullScreenElement<
2992 Identity: ICoreWebView2_Impl,
2993 const OFFSET: isize,
2994 >(
2995 this: *mut core::ffi::c_void,
2996 containsfullscreenelement: *mut windows_core::BOOL,
2997 ) -> windows_core::HRESULT {
2998 unsafe {
2999 let this: &Identity =
3000 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3001 ICoreWebView2_Impl::ContainsFullScreenElement(
3002 this,
3003 core::mem::transmute_copy(&containsfullscreenelement),
3004 )
3005 .into()
3006 }
3007 }
3008 unsafe extern "system" fn add_WebResourceRequested<
3009 Identity: ICoreWebView2_Impl,
3010 const OFFSET: isize,
3011 >(
3012 this: *mut core::ffi::c_void,
3013 eventhandler: *mut core::ffi::c_void,
3014 token: *mut i64,
3015 ) -> windows_core::HRESULT {
3016 unsafe {
3017 let this: &Identity =
3018 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3019 ICoreWebView2_Impl::add_WebResourceRequested(
3020 this,
3021 core::mem::transmute_copy(&eventhandler),
3022 core::mem::transmute_copy(&token),
3023 )
3024 .into()
3025 }
3026 }
3027 unsafe extern "system" fn remove_WebResourceRequested<
3028 Identity: ICoreWebView2_Impl,
3029 const OFFSET: isize,
3030 >(
3031 this: *mut core::ffi::c_void,
3032 token: i64,
3033 ) -> windows_core::HRESULT {
3034 unsafe {
3035 let this: &Identity =
3036 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3037 ICoreWebView2_Impl::remove_WebResourceRequested(
3038 this,
3039 core::mem::transmute_copy(&token),
3040 )
3041 .into()
3042 }
3043 }
3044 unsafe extern "system" fn AddWebResourceRequestedFilter<
3045 Identity: ICoreWebView2_Impl,
3046 const OFFSET: isize,
3047 >(
3048 this: *mut core::ffi::c_void,
3049 uri: windows_core::PCWSTR,
3050 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
3051 ) -> windows_core::HRESULT {
3052 unsafe {
3053 let this: &Identity =
3054 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3055 ICoreWebView2_Impl::AddWebResourceRequestedFilter(
3056 this,
3057 core::mem::transmute(&uri),
3058 core::mem::transmute_copy(&resourcecontext),
3059 )
3060 .into()
3061 }
3062 }
3063 unsafe extern "system" fn RemoveWebResourceRequestedFilter<
3064 Identity: ICoreWebView2_Impl,
3065 const OFFSET: isize,
3066 >(
3067 this: *mut core::ffi::c_void,
3068 uri: windows_core::PCWSTR,
3069 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
3070 ) -> windows_core::HRESULT {
3071 unsafe {
3072 let this: &Identity =
3073 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3074 ICoreWebView2_Impl::RemoveWebResourceRequestedFilter(
3075 this,
3076 core::mem::transmute(&uri),
3077 core::mem::transmute_copy(&resourcecontext),
3078 )
3079 .into()
3080 }
3081 }
3082 unsafe extern "system" fn add_WindowCloseRequested<
3083 Identity: ICoreWebView2_Impl,
3084 const OFFSET: isize,
3085 >(
3086 this: *mut core::ffi::c_void,
3087 eventhandler: *mut core::ffi::c_void,
3088 token: *mut i64,
3089 ) -> windows_core::HRESULT {
3090 unsafe {
3091 let this: &Identity =
3092 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3093 ICoreWebView2_Impl::add_WindowCloseRequested(
3094 this,
3095 core::mem::transmute_copy(&eventhandler),
3096 core::mem::transmute_copy(&token),
3097 )
3098 .into()
3099 }
3100 }
3101 unsafe extern "system" fn remove_WindowCloseRequested<
3102 Identity: ICoreWebView2_Impl,
3103 const OFFSET: isize,
3104 >(
3105 this: *mut core::ffi::c_void,
3106 token: i64,
3107 ) -> windows_core::HRESULT {
3108 unsafe {
3109 let this: &Identity =
3110 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3111 ICoreWebView2_Impl::remove_WindowCloseRequested(
3112 this,
3113 core::mem::transmute_copy(&token),
3114 )
3115 .into()
3116 }
3117 }
3118 Self {
3119 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3120 Settings: Settings::<Identity, OFFSET>,
3121 Source: Source::<Identity, OFFSET>,
3122 Navigate: Navigate::<Identity, OFFSET>,
3123 NavigateToString: NavigateToString::<Identity, OFFSET>,
3124 add_NavigationStarting: add_NavigationStarting::<Identity, OFFSET>,
3125 remove_NavigationStarting: remove_NavigationStarting::<Identity, OFFSET>,
3126 add_ContentLoading: add_ContentLoading::<Identity, OFFSET>,
3127 remove_ContentLoading: remove_ContentLoading::<Identity, OFFSET>,
3128 add_SourceChanged: add_SourceChanged::<Identity, OFFSET>,
3129 remove_SourceChanged: remove_SourceChanged::<Identity, OFFSET>,
3130 add_HistoryChanged: add_HistoryChanged::<Identity, OFFSET>,
3131 remove_HistoryChanged: remove_HistoryChanged::<Identity, OFFSET>,
3132 add_NavigationCompleted: add_NavigationCompleted::<Identity, OFFSET>,
3133 remove_NavigationCompleted: remove_NavigationCompleted::<Identity, OFFSET>,
3134 add_FrameNavigationStarting: add_FrameNavigationStarting::<Identity, OFFSET>,
3135 remove_FrameNavigationStarting: remove_FrameNavigationStarting::<Identity, OFFSET>,
3136 add_FrameNavigationCompleted: add_FrameNavigationCompleted::<Identity, OFFSET>,
3137 remove_FrameNavigationCompleted: remove_FrameNavigationCompleted::<Identity, OFFSET>,
3138 add_ScriptDialogOpening: add_ScriptDialogOpening::<Identity, OFFSET>,
3139 remove_ScriptDialogOpening: remove_ScriptDialogOpening::<Identity, OFFSET>,
3140 add_PermissionRequested: add_PermissionRequested::<Identity, OFFSET>,
3141 remove_PermissionRequested: remove_PermissionRequested::<Identity, OFFSET>,
3142 add_ProcessFailed: add_ProcessFailed::<Identity, OFFSET>,
3143 remove_ProcessFailed: remove_ProcessFailed::<Identity, OFFSET>,
3144 AddScriptToExecuteOnDocumentCreated: AddScriptToExecuteOnDocumentCreated::<
3145 Identity,
3146 OFFSET,
3147 >,
3148 RemoveScriptToExecuteOnDocumentCreated: RemoveScriptToExecuteOnDocumentCreated::<
3149 Identity,
3150 OFFSET,
3151 >,
3152 ExecuteScript: ExecuteScript::<Identity, OFFSET>,
3153 CapturePreview: CapturePreview::<Identity, OFFSET>,
3154 Reload: Reload::<Identity, OFFSET>,
3155 PostWebMessageAsJson: PostWebMessageAsJson::<Identity, OFFSET>,
3156 PostWebMessageAsString: PostWebMessageAsString::<Identity, OFFSET>,
3157 add_WebMessageReceived: add_WebMessageReceived::<Identity, OFFSET>,
3158 remove_WebMessageReceived: remove_WebMessageReceived::<Identity, OFFSET>,
3159 CallDevToolsProtocolMethod: CallDevToolsProtocolMethod::<Identity, OFFSET>,
3160 BrowserProcessId: BrowserProcessId::<Identity, OFFSET>,
3161 CanGoBack: CanGoBack::<Identity, OFFSET>,
3162 CanGoForward: CanGoForward::<Identity, OFFSET>,
3163 GoBack: GoBack::<Identity, OFFSET>,
3164 GoForward: GoForward::<Identity, OFFSET>,
3165 GetDevToolsProtocolEventReceiver: GetDevToolsProtocolEventReceiver::<Identity, OFFSET>,
3166 Stop: Stop::<Identity, OFFSET>,
3167 add_NewWindowRequested: add_NewWindowRequested::<Identity, OFFSET>,
3168 remove_NewWindowRequested: remove_NewWindowRequested::<Identity, OFFSET>,
3169 add_DocumentTitleChanged: add_DocumentTitleChanged::<Identity, OFFSET>,
3170 remove_DocumentTitleChanged: remove_DocumentTitleChanged::<Identity, OFFSET>,
3171 DocumentTitle: DocumentTitle::<Identity, OFFSET>,
3172 AddHostObjectToScript: AddHostObjectToScript::<Identity, OFFSET>,
3173 RemoveHostObjectFromScript: RemoveHostObjectFromScript::<Identity, OFFSET>,
3174 OpenDevToolsWindow: OpenDevToolsWindow::<Identity, OFFSET>,
3175 add_ContainsFullScreenElementChanged: add_ContainsFullScreenElementChanged::<
3176 Identity,
3177 OFFSET,
3178 >,
3179 remove_ContainsFullScreenElementChanged: remove_ContainsFullScreenElementChanged::<
3180 Identity,
3181 OFFSET,
3182 >,
3183 ContainsFullScreenElement: ContainsFullScreenElement::<Identity, OFFSET>,
3184 add_WebResourceRequested: add_WebResourceRequested::<Identity, OFFSET>,
3185 remove_WebResourceRequested: remove_WebResourceRequested::<Identity, OFFSET>,
3186 AddWebResourceRequestedFilter: AddWebResourceRequestedFilter::<Identity, OFFSET>,
3187 RemoveWebResourceRequestedFilter: RemoveWebResourceRequestedFilter::<Identity, OFFSET>,
3188 add_WindowCloseRequested: add_WindowCloseRequested::<Identity, OFFSET>,
3189 remove_WindowCloseRequested: remove_WindowCloseRequested::<Identity, OFFSET>,
3190 }
3191 }
3192 pub fn matches(iid: &windows_core::GUID) -> bool {
3193 iid == &<ICoreWebView2 as windows_core::Interface>::IID
3194 }
3195}
3196impl windows_core::RuntimeName for ICoreWebView2 {}
3197windows_core::imp::define_interface!(
3198 ICoreWebView2AcceleratorKeyPressedEventArgs,
3199 ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl,
3200 0x9f760f8a_fb79_42be_9990_7b56900fa9c7
3201);
3202windows_core::imp::interface_hierarchy!(
3203 ICoreWebView2AcceleratorKeyPressedEventArgs,
3204 windows_core::IUnknown
3205);
3206impl ICoreWebView2AcceleratorKeyPressedEventArgs {
3207 pub unsafe fn KeyEventKind(
3208 &self,
3209 keyeventkind: *mut COREWEBVIEW2_KEY_EVENT_KIND,
3210 ) -> windows_core::Result<()> {
3211 unsafe {
3212 (windows_core::Interface::vtable(self).KeyEventKind)(
3213 windows_core::Interface::as_raw(self),
3214 keyeventkind as _,
3215 )
3216 .ok()
3217 }
3218 }
3219 pub unsafe fn VirtualKey(&self, virtualkey: *mut u32) -> windows_core::Result<()> {
3220 unsafe {
3221 (windows_core::Interface::vtable(self).VirtualKey)(
3222 windows_core::Interface::as_raw(self),
3223 virtualkey as _,
3224 )
3225 .ok()
3226 }
3227 }
3228 pub unsafe fn KeyEventLParam(&self, lparam: *mut i32) -> windows_core::Result<()> {
3229 unsafe {
3230 (windows_core::Interface::vtable(self).KeyEventLParam)(
3231 windows_core::Interface::as_raw(self),
3232 lparam as _,
3233 )
3234 .ok()
3235 }
3236 }
3237 pub unsafe fn PhysicalKeyStatus(
3238 &self,
3239 physicalkeystatus: *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
3240 ) -> windows_core::Result<()> {
3241 unsafe {
3242 (windows_core::Interface::vtable(self).PhysicalKeyStatus)(
3243 windows_core::Interface::as_raw(self),
3244 physicalkeystatus as _,
3245 )
3246 .ok()
3247 }
3248 }
3249 pub unsafe fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()> {
3250 unsafe {
3251 (windows_core::Interface::vtable(self).Handled)(
3252 windows_core::Interface::as_raw(self),
3253 handled as _,
3254 )
3255 .ok()
3256 }
3257 }
3258 pub unsafe fn SetHandled(&self, handled: bool) -> windows_core::Result<()> {
3259 unsafe {
3260 (windows_core::Interface::vtable(self).SetHandled)(
3261 windows_core::Interface::as_raw(self),
3262 handled.into(),
3263 )
3264 .ok()
3265 }
3266 }
3267}
3268#[repr(C)]
3269#[doc(hidden)]
3270pub struct ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl {
3271 pub base__: windows_core::IUnknown_Vtbl,
3272 pub KeyEventKind: unsafe extern "system" fn(
3273 *mut core::ffi::c_void,
3274 *mut COREWEBVIEW2_KEY_EVENT_KIND,
3275 ) -> windows_core::HRESULT,
3276 pub VirtualKey:
3277 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
3278 pub KeyEventLParam:
3279 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
3280 pub PhysicalKeyStatus: unsafe extern "system" fn(
3281 *mut core::ffi::c_void,
3282 *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
3283 ) -> windows_core::HRESULT,
3284 pub Handled: unsafe extern "system" fn(
3285 *mut core::ffi::c_void,
3286 *mut windows_core::BOOL,
3287 ) -> windows_core::HRESULT,
3288 pub SetHandled: unsafe extern "system" fn(
3289 *mut core::ffi::c_void,
3290 windows_core::BOOL,
3291 ) -> windows_core::HRESULT,
3292}
3293pub trait ICoreWebView2AcceleratorKeyPressedEventArgs_Impl: windows_core::IUnknownImpl {
3294 fn KeyEventKind(
3295 &self,
3296 keyeventkind: *mut COREWEBVIEW2_KEY_EVENT_KIND,
3297 ) -> windows_core::Result<()>;
3298 fn VirtualKey(&self, virtualkey: *mut u32) -> windows_core::Result<()>;
3299 fn KeyEventLParam(&self, lparam: *mut i32) -> windows_core::Result<()>;
3300 fn PhysicalKeyStatus(
3301 &self,
3302 physicalkeystatus: *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
3303 ) -> windows_core::Result<()>;
3304 fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()>;
3305 fn SetHandled(&self, handled: windows_core::BOOL) -> windows_core::Result<()>;
3306}
3307impl ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl {
3308 pub const fn new<
3309 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3310 const OFFSET: isize,
3311 >() -> Self {
3312 unsafe extern "system" fn KeyEventKind<
3313 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3314 const OFFSET: isize,
3315 >(
3316 this: *mut core::ffi::c_void,
3317 keyeventkind: *mut COREWEBVIEW2_KEY_EVENT_KIND,
3318 ) -> windows_core::HRESULT {
3319 unsafe {
3320 let this: &Identity =
3321 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3322 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::KeyEventKind(
3323 this,
3324 core::mem::transmute_copy(&keyeventkind),
3325 )
3326 .into()
3327 }
3328 }
3329 unsafe extern "system" fn VirtualKey<
3330 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3331 const OFFSET: isize,
3332 >(
3333 this: *mut core::ffi::c_void,
3334 virtualkey: *mut u32,
3335 ) -> windows_core::HRESULT {
3336 unsafe {
3337 let this: &Identity =
3338 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3339 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::VirtualKey(
3340 this,
3341 core::mem::transmute_copy(&virtualkey),
3342 )
3343 .into()
3344 }
3345 }
3346 unsafe extern "system" fn KeyEventLParam<
3347 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3348 const OFFSET: isize,
3349 >(
3350 this: *mut core::ffi::c_void,
3351 lparam: *mut i32,
3352 ) -> windows_core::HRESULT {
3353 unsafe {
3354 let this: &Identity =
3355 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3356 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::KeyEventLParam(
3357 this,
3358 core::mem::transmute_copy(&lparam),
3359 )
3360 .into()
3361 }
3362 }
3363 unsafe extern "system" fn PhysicalKeyStatus<
3364 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3365 const OFFSET: isize,
3366 >(
3367 this: *mut core::ffi::c_void,
3368 physicalkeystatus: *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
3369 ) -> windows_core::HRESULT {
3370 unsafe {
3371 let this: &Identity =
3372 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3373 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::PhysicalKeyStatus(
3374 this,
3375 core::mem::transmute_copy(&physicalkeystatus),
3376 )
3377 .into()
3378 }
3379 }
3380 unsafe extern "system" fn Handled<
3381 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3382 const OFFSET: isize,
3383 >(
3384 this: *mut core::ffi::c_void,
3385 handled: *mut windows_core::BOOL,
3386 ) -> windows_core::HRESULT {
3387 unsafe {
3388 let this: &Identity =
3389 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3390 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::Handled(
3391 this,
3392 core::mem::transmute_copy(&handled),
3393 )
3394 .into()
3395 }
3396 }
3397 unsafe extern "system" fn SetHandled<
3398 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
3399 const OFFSET: isize,
3400 >(
3401 this: *mut core::ffi::c_void,
3402 handled: windows_core::BOOL,
3403 ) -> windows_core::HRESULT {
3404 unsafe {
3405 let this: &Identity =
3406 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3407 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::SetHandled(
3408 this,
3409 core::mem::transmute_copy(&handled),
3410 )
3411 .into()
3412 }
3413 }
3414 Self {
3415 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3416 KeyEventKind: KeyEventKind::<Identity, OFFSET>,
3417 VirtualKey: VirtualKey::<Identity, OFFSET>,
3418 KeyEventLParam: KeyEventLParam::<Identity, OFFSET>,
3419 PhysicalKeyStatus: PhysicalKeyStatus::<Identity, OFFSET>,
3420 Handled: Handled::<Identity, OFFSET>,
3421 SetHandled: SetHandled::<Identity, OFFSET>,
3422 }
3423 }
3424 pub fn matches(iid: &windows_core::GUID) -> bool {
3425 iid == &<ICoreWebView2AcceleratorKeyPressedEventArgs as windows_core::Interface>::IID
3426 }
3427}
3428impl windows_core::RuntimeName for ICoreWebView2AcceleratorKeyPressedEventArgs {}
3429windows_core::imp::define_interface!(
3430 ICoreWebView2AcceleratorKeyPressedEventArgs2,
3431 ICoreWebView2AcceleratorKeyPressedEventArgs2_Vtbl,
3432 0x03b2c8c8_7799_4e34_bd66_ed26aa85f2bf
3433);
3434impl core::ops::Deref for ICoreWebView2AcceleratorKeyPressedEventArgs2 {
3435 type Target = ICoreWebView2AcceleratorKeyPressedEventArgs;
3436 fn deref(&self) -> &Self::Target {
3437 unsafe { core::mem::transmute(self) }
3438 }
3439}
3440windows_core::imp::interface_hierarchy!(
3441 ICoreWebView2AcceleratorKeyPressedEventArgs2,
3442 windows_core::IUnknown,
3443 ICoreWebView2AcceleratorKeyPressedEventArgs
3444);
3445impl ICoreWebView2AcceleratorKeyPressedEventArgs2 {
3446 pub unsafe fn IsBrowserAcceleratorKeyEnabled(
3447 &self,
3448 value: *mut windows_core::BOOL,
3449 ) -> windows_core::Result<()> {
3450 unsafe {
3451 (windows_core::Interface::vtable(self).IsBrowserAcceleratorKeyEnabled)(
3452 windows_core::Interface::as_raw(self),
3453 value as _,
3454 )
3455 .ok()
3456 }
3457 }
3458 pub unsafe fn SetIsBrowserAcceleratorKeyEnabled(
3459 &self,
3460 value: bool,
3461 ) -> windows_core::Result<()> {
3462 unsafe {
3463 (windows_core::Interface::vtable(self).SetIsBrowserAcceleratorKeyEnabled)(
3464 windows_core::Interface::as_raw(self),
3465 value.into(),
3466 )
3467 .ok()
3468 }
3469 }
3470}
3471#[repr(C)]
3472#[doc(hidden)]
3473pub struct ICoreWebView2AcceleratorKeyPressedEventArgs2_Vtbl {
3474 pub base__: ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl,
3475 pub IsBrowserAcceleratorKeyEnabled: unsafe extern "system" fn(
3476 *mut core::ffi::c_void,
3477 *mut windows_core::BOOL,
3478 ) -> windows_core::HRESULT,
3479 pub SetIsBrowserAcceleratorKeyEnabled: unsafe extern "system" fn(
3480 *mut core::ffi::c_void,
3481 windows_core::BOOL,
3482 ) -> windows_core::HRESULT,
3483}
3484pub trait ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl:
3485 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl
3486{
3487 fn IsBrowserAcceleratorKeyEnabled(
3488 &self,
3489 value: *mut windows_core::BOOL,
3490 ) -> windows_core::Result<()>;
3491 fn SetIsBrowserAcceleratorKeyEnabled(
3492 &self,
3493 value: windows_core::BOOL,
3494 ) -> windows_core::Result<()>;
3495}
3496impl ICoreWebView2AcceleratorKeyPressedEventArgs2_Vtbl {
3497 pub const fn new<
3498 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl,
3499 const OFFSET: isize,
3500 >() -> Self {
3501 unsafe extern "system" fn IsBrowserAcceleratorKeyEnabled<
3502 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl,
3503 const OFFSET: isize,
3504 >(
3505 this: *mut core::ffi::c_void,
3506 value: *mut windows_core::BOOL,
3507 ) -> windows_core::HRESULT {
3508 unsafe {
3509 let this: &Identity =
3510 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3511 ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl::IsBrowserAcceleratorKeyEnabled(
3512 this,
3513 core::mem::transmute_copy(&value),
3514 )
3515 .into()
3516 }
3517 }
3518 unsafe extern "system" fn SetIsBrowserAcceleratorKeyEnabled<
3519 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl,
3520 const OFFSET: isize,
3521 >(
3522 this: *mut core::ffi::c_void,
3523 value: windows_core::BOOL,
3524 ) -> windows_core::HRESULT {
3525 unsafe {
3526 let this: &Identity =
3527 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3528 ICoreWebView2AcceleratorKeyPressedEventArgs2_Impl:: SetIsBrowserAcceleratorKeyEnabled ( this , core::mem::transmute_copy ( & value ) , ) . into ( )
3529 }
3530 }
3531 Self {
3532 base__: ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl::new::<Identity, OFFSET>(),
3533 IsBrowserAcceleratorKeyEnabled: IsBrowserAcceleratorKeyEnabled::<Identity, OFFSET>,
3534 SetIsBrowserAcceleratorKeyEnabled: SetIsBrowserAcceleratorKeyEnabled::<Identity, OFFSET>,
3535 }
3536 }
3537 pub fn matches(iid: &windows_core::GUID) -> bool {
3538 iid == &<ICoreWebView2AcceleratorKeyPressedEventArgs2 as windows_core::Interface>::IID
3539 || iid == &<ICoreWebView2AcceleratorKeyPressedEventArgs as windows_core::Interface>::IID
3540 }
3541}
3542impl windows_core::RuntimeName for ICoreWebView2AcceleratorKeyPressedEventArgs2 {}
3543windows_core::imp::define_interface!(
3544 ICoreWebView2AcceleratorKeyPressedEventHandler,
3545 ICoreWebView2AcceleratorKeyPressedEventHandler_Vtbl,
3546 0xb29c7e28_fa79_41a8_8e44_65811c76dcb2
3547);
3548windows_core::imp::interface_hierarchy!(
3549 ICoreWebView2AcceleratorKeyPressedEventHandler,
3550 windows_core::IUnknown
3551);
3552impl ICoreWebView2AcceleratorKeyPressedEventHandler {
3553 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
3554 where
3555 P0: windows_core::Param<ICoreWebView2Controller>,
3556 P1: windows_core::Param<ICoreWebView2AcceleratorKeyPressedEventArgs>,
3557 {
3558 unsafe {
3559 (windows_core::Interface::vtable(self).Invoke)(
3560 windows_core::Interface::as_raw(self),
3561 sender.param().abi(),
3562 args.param().abi(),
3563 )
3564 .ok()
3565 }
3566 }
3567}
3568#[repr(C)]
3569#[doc(hidden)]
3570pub struct ICoreWebView2AcceleratorKeyPressedEventHandler_Vtbl {
3571 pub base__: windows_core::IUnknown_Vtbl,
3572 pub Invoke: unsafe extern "system" fn(
3573 *mut core::ffi::c_void,
3574 *mut core::ffi::c_void,
3575 *mut core::ffi::c_void,
3576 ) -> windows_core::HRESULT,
3577}
3578pub trait ICoreWebView2AcceleratorKeyPressedEventHandler_Impl: windows_core::IUnknownImpl {
3579 fn Invoke(
3580 &self,
3581 sender: windows_core::Ref<'_, ICoreWebView2Controller>,
3582 args: windows_core::Ref<'_, ICoreWebView2AcceleratorKeyPressedEventArgs>,
3583 ) -> windows_core::Result<()>;
3584}
3585impl ICoreWebView2AcceleratorKeyPressedEventHandler_Vtbl {
3586 pub const fn new<
3587 Identity: ICoreWebView2AcceleratorKeyPressedEventHandler_Impl,
3588 const OFFSET: isize,
3589 >() -> Self {
3590 unsafe extern "system" fn Invoke<
3591 Identity: ICoreWebView2AcceleratorKeyPressedEventHandler_Impl,
3592 const OFFSET: isize,
3593 >(
3594 this: *mut core::ffi::c_void,
3595 sender: *mut core::ffi::c_void,
3596 args: *mut core::ffi::c_void,
3597 ) -> windows_core::HRESULT {
3598 unsafe {
3599 let this: &Identity =
3600 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3601 ICoreWebView2AcceleratorKeyPressedEventHandler_Impl::Invoke(
3602 this,
3603 core::mem::transmute_copy(&sender),
3604 core::mem::transmute_copy(&args),
3605 )
3606 .into()
3607 }
3608 }
3609 Self {
3610 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3611 Invoke: Invoke::<Identity, OFFSET>,
3612 }
3613 }
3614 pub fn matches(iid: &windows_core::GUID) -> bool {
3615 iid == &<ICoreWebView2AcceleratorKeyPressedEventHandler as windows_core::Interface>::IID
3616 }
3617}
3618impl windows_core::RuntimeName for ICoreWebView2AcceleratorKeyPressedEventHandler {}
3619windows_core::imp::define_interface!(
3620 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler,
3621 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Vtbl,
3622 0xb99369f3_9b11_47b5_bc6f_8e7895fcea17
3623);
3624windows_core::imp::interface_hierarchy!(
3625 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler,
3626 windows_core::IUnknown
3627);
3628impl ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler {
3629 pub unsafe fn Invoke<P1>(
3630 &self,
3631 errorcode: windows_core::HRESULT,
3632 result: P1,
3633 ) -> windows_core::Result<()>
3634 where
3635 P1: windows_core::Param<windows_core::PCWSTR>,
3636 {
3637 unsafe {
3638 (windows_core::Interface::vtable(self).Invoke)(
3639 windows_core::Interface::as_raw(self),
3640 errorcode,
3641 result.param().abi(),
3642 )
3643 .ok()
3644 }
3645 }
3646}
3647#[repr(C)]
3648#[doc(hidden)]
3649pub struct ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Vtbl {
3650 pub base__: windows_core::IUnknown_Vtbl,
3651 pub Invoke: unsafe extern "system" fn(
3652 *mut core::ffi::c_void,
3653 windows_core::HRESULT,
3654 windows_core::PCWSTR,
3655 ) -> windows_core::HRESULT,
3656}
3657pub trait ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl:
3658 windows_core::IUnknownImpl
3659{
3660 fn Invoke(
3661 &self,
3662 errorcode: windows_core::HRESULT,
3663 result: &windows_core::PCWSTR,
3664 ) -> windows_core::Result<()>;
3665}
3666impl ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Vtbl {
3667 pub const fn new<
3668 Identity: ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl,
3669 const OFFSET: isize,
3670 >() -> Self {
3671 unsafe extern "system" fn Invoke<
3672 Identity: ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl,
3673 const OFFSET: isize,
3674 >(
3675 this: *mut core::ffi::c_void,
3676 errorcode: windows_core::HRESULT,
3677 result: windows_core::PCWSTR,
3678 ) -> windows_core::HRESULT {
3679 unsafe {
3680 let this: &Identity =
3681 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3682 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl::Invoke(
3683 this,
3684 core::mem::transmute_copy(&errorcode),
3685 core::mem::transmute(&result),
3686 )
3687 .into()
3688 }
3689 }
3690 Self {
3691 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3692 Invoke: Invoke::<Identity, OFFSET>,
3693 }
3694 }
3695 pub fn matches(iid: &windows_core::GUID) -> bool {
3696 iid == & < ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler as windows_core::Interface >::IID
3697 }
3698}
3699impl windows_core::RuntimeName
3700 for ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler
3701{
3702}
3703windows_core::imp::define_interface!(
3704 ICoreWebView2BasicAuthenticationRequestedEventArgs,
3705 ICoreWebView2BasicAuthenticationRequestedEventArgs_Vtbl,
3706 0xef05516f_d897_4f9e_b672_d8e2307a3fb0
3707);
3708windows_core::imp::interface_hierarchy!(
3709 ICoreWebView2BasicAuthenticationRequestedEventArgs,
3710 windows_core::IUnknown
3711);
3712impl ICoreWebView2BasicAuthenticationRequestedEventArgs {
3713 pub unsafe fn Uri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
3714 unsafe {
3715 (windows_core::Interface::vtable(self).Uri)(
3716 windows_core::Interface::as_raw(self),
3717 value as _,
3718 )
3719 .ok()
3720 }
3721 }
3722 pub unsafe fn Challenge(
3723 &self,
3724 challenge: *mut windows_core::PWSTR,
3725 ) -> windows_core::Result<()> {
3726 unsafe {
3727 (windows_core::Interface::vtable(self).Challenge)(
3728 windows_core::Interface::as_raw(self),
3729 challenge as _,
3730 )
3731 .ok()
3732 }
3733 }
3734 pub unsafe fn Response(
3735 &self,
3736 ) -> windows_core::Result<ICoreWebView2BasicAuthenticationResponse> {
3737 unsafe {
3738 let mut result__ = core::mem::zeroed();
3739 (windows_core::Interface::vtable(self).Response)(
3740 windows_core::Interface::as_raw(self),
3741 &mut result__,
3742 )
3743 .and_then(|| windows_core::Type::from_abi(result__))
3744 }
3745 }
3746 pub unsafe fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()> {
3747 unsafe {
3748 (windows_core::Interface::vtable(self).Cancel)(
3749 windows_core::Interface::as_raw(self),
3750 cancel as _,
3751 )
3752 .ok()
3753 }
3754 }
3755 pub unsafe fn SetCancel(&self, cancel: bool) -> windows_core::Result<()> {
3756 unsafe {
3757 (windows_core::Interface::vtable(self).SetCancel)(
3758 windows_core::Interface::as_raw(self),
3759 cancel.into(),
3760 )
3761 .ok()
3762 }
3763 }
3764 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
3765 unsafe {
3766 let mut result__ = core::mem::zeroed();
3767 (windows_core::Interface::vtable(self).GetDeferral)(
3768 windows_core::Interface::as_raw(self),
3769 &mut result__,
3770 )
3771 .and_then(|| windows_core::Type::from_abi(result__))
3772 }
3773 }
3774}
3775#[repr(C)]
3776#[doc(hidden)]
3777pub struct ICoreWebView2BasicAuthenticationRequestedEventArgs_Vtbl {
3778 pub base__: windows_core::IUnknown_Vtbl,
3779 pub Uri: unsafe extern "system" fn(
3780 *mut core::ffi::c_void,
3781 *mut windows_core::PWSTR,
3782 ) -> windows_core::HRESULT,
3783 pub Challenge: unsafe extern "system" fn(
3784 *mut core::ffi::c_void,
3785 *mut windows_core::PWSTR,
3786 ) -> windows_core::HRESULT,
3787 pub Response: unsafe extern "system" fn(
3788 *mut core::ffi::c_void,
3789 *mut *mut core::ffi::c_void,
3790 ) -> windows_core::HRESULT,
3791 pub Cancel: unsafe extern "system" fn(
3792 *mut core::ffi::c_void,
3793 *mut windows_core::BOOL,
3794 ) -> windows_core::HRESULT,
3795 pub SetCancel: unsafe extern "system" fn(
3796 *mut core::ffi::c_void,
3797 windows_core::BOOL,
3798 ) -> windows_core::HRESULT,
3799 pub GetDeferral: unsafe extern "system" fn(
3800 *mut core::ffi::c_void,
3801 *mut *mut core::ffi::c_void,
3802 ) -> windows_core::HRESULT,
3803}
3804pub trait ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl:
3805 windows_core::IUnknownImpl
3806{
3807 fn Uri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
3808 fn Challenge(&self, challenge: *mut windows_core::PWSTR) -> windows_core::Result<()>;
3809 fn Response(&self) -> windows_core::Result<ICoreWebView2BasicAuthenticationResponse>;
3810 fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()>;
3811 fn SetCancel(&self, cancel: windows_core::BOOL) -> windows_core::Result<()>;
3812 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
3813}
3814impl ICoreWebView2BasicAuthenticationRequestedEventArgs_Vtbl {
3815 pub const fn new<
3816 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3817 const OFFSET: isize,
3818 >() -> Self {
3819 unsafe extern "system" fn Uri<
3820 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3821 const OFFSET: isize,
3822 >(
3823 this: *mut core::ffi::c_void,
3824 value: *mut windows_core::PWSTR,
3825 ) -> windows_core::HRESULT {
3826 unsafe {
3827 let this: &Identity =
3828 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3829 ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::Uri(
3830 this,
3831 core::mem::transmute_copy(&value),
3832 )
3833 .into()
3834 }
3835 }
3836 unsafe extern "system" fn Challenge<
3837 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3838 const OFFSET: isize,
3839 >(
3840 this: *mut core::ffi::c_void,
3841 challenge: *mut windows_core::PWSTR,
3842 ) -> windows_core::HRESULT {
3843 unsafe {
3844 let this: &Identity =
3845 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3846 ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::Challenge(
3847 this,
3848 core::mem::transmute_copy(&challenge),
3849 )
3850 .into()
3851 }
3852 }
3853 unsafe extern "system" fn Response<
3854 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3855 const OFFSET: isize,
3856 >(
3857 this: *mut core::ffi::c_void,
3858 response: *mut *mut core::ffi::c_void,
3859 ) -> windows_core::HRESULT {
3860 unsafe {
3861 let this: &Identity =
3862 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3863 match ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::Response(this) {
3864 Ok(ok__) => {
3865 response.write(core::mem::transmute(ok__));
3866 windows_core::HRESULT(0)
3867 }
3868 Err(err) => err.into(),
3869 }
3870 }
3871 }
3872 unsafe extern "system" fn Cancel<
3873 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3874 const OFFSET: isize,
3875 >(
3876 this: *mut core::ffi::c_void,
3877 cancel: *mut windows_core::BOOL,
3878 ) -> windows_core::HRESULT {
3879 unsafe {
3880 let this: &Identity =
3881 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3882 ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::Cancel(
3883 this,
3884 core::mem::transmute_copy(&cancel),
3885 )
3886 .into()
3887 }
3888 }
3889 unsafe extern "system" fn SetCancel<
3890 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3891 const OFFSET: isize,
3892 >(
3893 this: *mut core::ffi::c_void,
3894 cancel: windows_core::BOOL,
3895 ) -> windows_core::HRESULT {
3896 unsafe {
3897 let this: &Identity =
3898 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3899 ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::SetCancel(
3900 this,
3901 core::mem::transmute_copy(&cancel),
3902 )
3903 .into()
3904 }
3905 }
3906 unsafe extern "system" fn GetDeferral<
3907 Identity: ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl,
3908 const OFFSET: isize,
3909 >(
3910 this: *mut core::ffi::c_void,
3911 deferral: *mut *mut core::ffi::c_void,
3912 ) -> windows_core::HRESULT {
3913 unsafe {
3914 let this: &Identity =
3915 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3916 match ICoreWebView2BasicAuthenticationRequestedEventArgs_Impl::GetDeferral(this) {
3917 Ok(ok__) => {
3918 deferral.write(core::mem::transmute(ok__));
3919 windows_core::HRESULT(0)
3920 }
3921 Err(err) => err.into(),
3922 }
3923 }
3924 }
3925 Self {
3926 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3927 Uri: Uri::<Identity, OFFSET>,
3928 Challenge: Challenge::<Identity, OFFSET>,
3929 Response: Response::<Identity, OFFSET>,
3930 Cancel: Cancel::<Identity, OFFSET>,
3931 SetCancel: SetCancel::<Identity, OFFSET>,
3932 GetDeferral: GetDeferral::<Identity, OFFSET>,
3933 }
3934 }
3935 pub fn matches(iid: &windows_core::GUID) -> bool {
3936 iid == &<ICoreWebView2BasicAuthenticationRequestedEventArgs as windows_core::Interface>::IID
3937 }
3938}
3939impl windows_core::RuntimeName for ICoreWebView2BasicAuthenticationRequestedEventArgs {}
3940windows_core::imp::define_interface!(
3941 ICoreWebView2BasicAuthenticationRequestedEventHandler,
3942 ICoreWebView2BasicAuthenticationRequestedEventHandler_Vtbl,
3943 0x58b4d6c2_18d4_497e_b39b_9a96533fa278
3944);
3945windows_core::imp::interface_hierarchy!(
3946 ICoreWebView2BasicAuthenticationRequestedEventHandler,
3947 windows_core::IUnknown
3948);
3949impl ICoreWebView2BasicAuthenticationRequestedEventHandler {
3950 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
3951 where
3952 P0: windows_core::Param<ICoreWebView2>,
3953 P1: windows_core::Param<ICoreWebView2BasicAuthenticationRequestedEventArgs>,
3954 {
3955 unsafe {
3956 (windows_core::Interface::vtable(self).Invoke)(
3957 windows_core::Interface::as_raw(self),
3958 sender.param().abi(),
3959 args.param().abi(),
3960 )
3961 .ok()
3962 }
3963 }
3964}
3965#[repr(C)]
3966#[doc(hidden)]
3967pub struct ICoreWebView2BasicAuthenticationRequestedEventHandler_Vtbl {
3968 pub base__: windows_core::IUnknown_Vtbl,
3969 pub Invoke: unsafe extern "system" fn(
3970 *mut core::ffi::c_void,
3971 *mut core::ffi::c_void,
3972 *mut core::ffi::c_void,
3973 ) -> windows_core::HRESULT,
3974}
3975pub trait ICoreWebView2BasicAuthenticationRequestedEventHandler_Impl:
3976 windows_core::IUnknownImpl
3977{
3978 fn Invoke(
3979 &self,
3980 sender: windows_core::Ref<'_, ICoreWebView2>,
3981 args: windows_core::Ref<'_, ICoreWebView2BasicAuthenticationRequestedEventArgs>,
3982 ) -> windows_core::Result<()>;
3983}
3984impl ICoreWebView2BasicAuthenticationRequestedEventHandler_Vtbl {
3985 pub const fn new<
3986 Identity: ICoreWebView2BasicAuthenticationRequestedEventHandler_Impl,
3987 const OFFSET: isize,
3988 >() -> Self {
3989 unsafe extern "system" fn Invoke<
3990 Identity: ICoreWebView2BasicAuthenticationRequestedEventHandler_Impl,
3991 const OFFSET: isize,
3992 >(
3993 this: *mut core::ffi::c_void,
3994 sender: *mut core::ffi::c_void,
3995 args: *mut core::ffi::c_void,
3996 ) -> windows_core::HRESULT {
3997 unsafe {
3998 let this: &Identity =
3999 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4000 ICoreWebView2BasicAuthenticationRequestedEventHandler_Impl::Invoke(
4001 this,
4002 core::mem::transmute_copy(&sender),
4003 core::mem::transmute_copy(&args),
4004 )
4005 .into()
4006 }
4007 }
4008 Self {
4009 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4010 Invoke: Invoke::<Identity, OFFSET>,
4011 }
4012 }
4013 pub fn matches(iid: &windows_core::GUID) -> bool {
4014 iid == & < ICoreWebView2BasicAuthenticationRequestedEventHandler as windows_core::Interface >::IID
4015 }
4016}
4017impl windows_core::RuntimeName for ICoreWebView2BasicAuthenticationRequestedEventHandler {}
4018windows_core::imp::define_interface!(
4019 ICoreWebView2BasicAuthenticationResponse,
4020 ICoreWebView2BasicAuthenticationResponse_Vtbl,
4021 0x07023f7d_2d77_4d67_9040_6e7d428c6a40
4022);
4023windows_core::imp::interface_hierarchy!(
4024 ICoreWebView2BasicAuthenticationResponse,
4025 windows_core::IUnknown
4026);
4027impl ICoreWebView2BasicAuthenticationResponse {
4028 pub unsafe fn UserName(&self, username: *mut windows_core::PWSTR) -> windows_core::Result<()> {
4029 unsafe {
4030 (windows_core::Interface::vtable(self).UserName)(
4031 windows_core::Interface::as_raw(self),
4032 username as _,
4033 )
4034 .ok()
4035 }
4036 }
4037 pub unsafe fn SetUserName<P0>(&self, username: P0) -> windows_core::Result<()>
4038 where
4039 P0: windows_core::Param<windows_core::PCWSTR>,
4040 {
4041 unsafe {
4042 (windows_core::Interface::vtable(self).SetUserName)(
4043 windows_core::Interface::as_raw(self),
4044 username.param().abi(),
4045 )
4046 .ok()
4047 }
4048 }
4049 pub unsafe fn Password(&self, password: *mut windows_core::PWSTR) -> windows_core::Result<()> {
4050 unsafe {
4051 (windows_core::Interface::vtable(self).Password)(
4052 windows_core::Interface::as_raw(self),
4053 password as _,
4054 )
4055 .ok()
4056 }
4057 }
4058 pub unsafe fn SetPassword<P0>(&self, password: P0) -> windows_core::Result<()>
4059 where
4060 P0: windows_core::Param<windows_core::PCWSTR>,
4061 {
4062 unsafe {
4063 (windows_core::Interface::vtable(self).SetPassword)(
4064 windows_core::Interface::as_raw(self),
4065 password.param().abi(),
4066 )
4067 .ok()
4068 }
4069 }
4070}
4071#[repr(C)]
4072#[doc(hidden)]
4073pub struct ICoreWebView2BasicAuthenticationResponse_Vtbl {
4074 pub base__: windows_core::IUnknown_Vtbl,
4075 pub UserName: unsafe extern "system" fn(
4076 *mut core::ffi::c_void,
4077 *mut windows_core::PWSTR,
4078 ) -> windows_core::HRESULT,
4079 pub SetUserName: unsafe extern "system" fn(
4080 *mut core::ffi::c_void,
4081 windows_core::PCWSTR,
4082 ) -> windows_core::HRESULT,
4083 pub Password: unsafe extern "system" fn(
4084 *mut core::ffi::c_void,
4085 *mut windows_core::PWSTR,
4086 ) -> windows_core::HRESULT,
4087 pub SetPassword: unsafe extern "system" fn(
4088 *mut core::ffi::c_void,
4089 windows_core::PCWSTR,
4090 ) -> windows_core::HRESULT,
4091}
4092pub trait ICoreWebView2BasicAuthenticationResponse_Impl: windows_core::IUnknownImpl {
4093 fn UserName(&self, username: *mut windows_core::PWSTR) -> windows_core::Result<()>;
4094 fn SetUserName(&self, username: &windows_core::PCWSTR) -> windows_core::Result<()>;
4095 fn Password(&self, password: *mut windows_core::PWSTR) -> windows_core::Result<()>;
4096 fn SetPassword(&self, password: &windows_core::PCWSTR) -> windows_core::Result<()>;
4097}
4098impl ICoreWebView2BasicAuthenticationResponse_Vtbl {
4099 pub const fn new<
4100 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4101 const OFFSET: isize,
4102 >() -> Self {
4103 unsafe extern "system" fn UserName<
4104 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4105 const OFFSET: isize,
4106 >(
4107 this: *mut core::ffi::c_void,
4108 username: *mut windows_core::PWSTR,
4109 ) -> windows_core::HRESULT {
4110 unsafe {
4111 let this: &Identity =
4112 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4113 ICoreWebView2BasicAuthenticationResponse_Impl::UserName(
4114 this,
4115 core::mem::transmute_copy(&username),
4116 )
4117 .into()
4118 }
4119 }
4120 unsafe extern "system" fn SetUserName<
4121 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4122 const OFFSET: isize,
4123 >(
4124 this: *mut core::ffi::c_void,
4125 username: windows_core::PCWSTR,
4126 ) -> windows_core::HRESULT {
4127 unsafe {
4128 let this: &Identity =
4129 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4130 ICoreWebView2BasicAuthenticationResponse_Impl::SetUserName(
4131 this,
4132 core::mem::transmute(&username),
4133 )
4134 .into()
4135 }
4136 }
4137 unsafe extern "system" fn Password<
4138 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4139 const OFFSET: isize,
4140 >(
4141 this: *mut core::ffi::c_void,
4142 password: *mut windows_core::PWSTR,
4143 ) -> windows_core::HRESULT {
4144 unsafe {
4145 let this: &Identity =
4146 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4147 ICoreWebView2BasicAuthenticationResponse_Impl::Password(
4148 this,
4149 core::mem::transmute_copy(&password),
4150 )
4151 .into()
4152 }
4153 }
4154 unsafe extern "system" fn SetPassword<
4155 Identity: ICoreWebView2BasicAuthenticationResponse_Impl,
4156 const OFFSET: isize,
4157 >(
4158 this: *mut core::ffi::c_void,
4159 password: windows_core::PCWSTR,
4160 ) -> windows_core::HRESULT {
4161 unsafe {
4162 let this: &Identity =
4163 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4164 ICoreWebView2BasicAuthenticationResponse_Impl::SetPassword(
4165 this,
4166 core::mem::transmute(&password),
4167 )
4168 .into()
4169 }
4170 }
4171 Self {
4172 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4173 UserName: UserName::<Identity, OFFSET>,
4174 SetUserName: SetUserName::<Identity, OFFSET>,
4175 Password: Password::<Identity, OFFSET>,
4176 SetPassword: SetPassword::<Identity, OFFSET>,
4177 }
4178 }
4179 pub fn matches(iid: &windows_core::GUID) -> bool {
4180 iid == &<ICoreWebView2BasicAuthenticationResponse as windows_core::Interface>::IID
4181 }
4182}
4183impl windows_core::RuntimeName for ICoreWebView2BasicAuthenticationResponse {}
4184windows_core::imp::define_interface!(
4185 ICoreWebView2BrowserExtension,
4186 ICoreWebView2BrowserExtension_Vtbl,
4187 0x7ef7ffa0_fac5_462c_b189_3d9edbe575da
4188);
4189windows_core::imp::interface_hierarchy!(ICoreWebView2BrowserExtension, windows_core::IUnknown);
4190impl ICoreWebView2BrowserExtension {
4191 pub unsafe fn Id(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
4192 unsafe {
4193 (windows_core::Interface::vtable(self).Id)(
4194 windows_core::Interface::as_raw(self),
4195 value as _,
4196 )
4197 .ok()
4198 }
4199 }
4200 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
4201 unsafe {
4202 (windows_core::Interface::vtable(self).Name)(
4203 windows_core::Interface::as_raw(self),
4204 value as _,
4205 )
4206 .ok()
4207 }
4208 }
4209 pub unsafe fn Remove<P0>(&self, handler: P0) -> windows_core::Result<()>
4210 where
4211 P0: windows_core::Param<ICoreWebView2BrowserExtensionRemoveCompletedHandler>,
4212 {
4213 unsafe {
4214 (windows_core::Interface::vtable(self).Remove)(
4215 windows_core::Interface::as_raw(self),
4216 handler.param().abi(),
4217 )
4218 .ok()
4219 }
4220 }
4221 pub unsafe fn IsEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
4222 unsafe {
4223 (windows_core::Interface::vtable(self).IsEnabled)(
4224 windows_core::Interface::as_raw(self),
4225 value as _,
4226 )
4227 .ok()
4228 }
4229 }
4230 pub unsafe fn Enable<P1>(&self, isenabled: bool, handler: P1) -> windows_core::Result<()>
4231 where
4232 P1: windows_core::Param<ICoreWebView2BrowserExtensionEnableCompletedHandler>,
4233 {
4234 unsafe {
4235 (windows_core::Interface::vtable(self).Enable)(
4236 windows_core::Interface::as_raw(self),
4237 isenabled.into(),
4238 handler.param().abi(),
4239 )
4240 .ok()
4241 }
4242 }
4243}
4244#[repr(C)]
4245#[doc(hidden)]
4246pub struct ICoreWebView2BrowserExtension_Vtbl {
4247 pub base__: windows_core::IUnknown_Vtbl,
4248 pub Id: unsafe extern "system" fn(
4249 *mut core::ffi::c_void,
4250 *mut windows_core::PWSTR,
4251 ) -> windows_core::HRESULT,
4252 pub Name: unsafe extern "system" fn(
4253 *mut core::ffi::c_void,
4254 *mut windows_core::PWSTR,
4255 ) -> windows_core::HRESULT,
4256 pub Remove: unsafe extern "system" fn(
4257 *mut core::ffi::c_void,
4258 *mut core::ffi::c_void,
4259 ) -> windows_core::HRESULT,
4260 pub IsEnabled: unsafe extern "system" fn(
4261 *mut core::ffi::c_void,
4262 *mut windows_core::BOOL,
4263 ) -> windows_core::HRESULT,
4264 pub Enable: unsafe extern "system" fn(
4265 *mut core::ffi::c_void,
4266 windows_core::BOOL,
4267 *mut core::ffi::c_void,
4268 ) -> windows_core::HRESULT,
4269}
4270pub trait ICoreWebView2BrowserExtension_Impl: windows_core::IUnknownImpl {
4271 fn Id(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
4272 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
4273 fn Remove(
4274 &self,
4275 handler: windows_core::Ref<'_, ICoreWebView2BrowserExtensionRemoveCompletedHandler>,
4276 ) -> windows_core::Result<()>;
4277 fn IsEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
4278 fn Enable(
4279 &self,
4280 isenabled: windows_core::BOOL,
4281 handler: windows_core::Ref<'_, ICoreWebView2BrowserExtensionEnableCompletedHandler>,
4282 ) -> windows_core::Result<()>;
4283}
4284impl ICoreWebView2BrowserExtension_Vtbl {
4285 pub const fn new<Identity: ICoreWebView2BrowserExtension_Impl, const OFFSET: isize>() -> Self {
4286 unsafe extern "system" fn Id<
4287 Identity: ICoreWebView2BrowserExtension_Impl,
4288 const OFFSET: isize,
4289 >(
4290 this: *mut core::ffi::c_void,
4291 value: *mut windows_core::PWSTR,
4292 ) -> windows_core::HRESULT {
4293 unsafe {
4294 let this: &Identity =
4295 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4296 ICoreWebView2BrowserExtension_Impl::Id(this, core::mem::transmute_copy(&value))
4297 .into()
4298 }
4299 }
4300 unsafe extern "system" fn Name<
4301 Identity: ICoreWebView2BrowserExtension_Impl,
4302 const OFFSET: isize,
4303 >(
4304 this: *mut core::ffi::c_void,
4305 value: *mut windows_core::PWSTR,
4306 ) -> windows_core::HRESULT {
4307 unsafe {
4308 let this: &Identity =
4309 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4310 ICoreWebView2BrowserExtension_Impl::Name(this, core::mem::transmute_copy(&value))
4311 .into()
4312 }
4313 }
4314 unsafe extern "system" fn Remove<
4315 Identity: ICoreWebView2BrowserExtension_Impl,
4316 const OFFSET: isize,
4317 >(
4318 this: *mut core::ffi::c_void,
4319 handler: *mut core::ffi::c_void,
4320 ) -> windows_core::HRESULT {
4321 unsafe {
4322 let this: &Identity =
4323 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4324 ICoreWebView2BrowserExtension_Impl::Remove(
4325 this,
4326 core::mem::transmute_copy(&handler),
4327 )
4328 .into()
4329 }
4330 }
4331 unsafe extern "system" fn IsEnabled<
4332 Identity: ICoreWebView2BrowserExtension_Impl,
4333 const OFFSET: isize,
4334 >(
4335 this: *mut core::ffi::c_void,
4336 value: *mut windows_core::BOOL,
4337 ) -> windows_core::HRESULT {
4338 unsafe {
4339 let this: &Identity =
4340 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4341 ICoreWebView2BrowserExtension_Impl::IsEnabled(
4342 this,
4343 core::mem::transmute_copy(&value),
4344 )
4345 .into()
4346 }
4347 }
4348 unsafe extern "system" fn Enable<
4349 Identity: ICoreWebView2BrowserExtension_Impl,
4350 const OFFSET: isize,
4351 >(
4352 this: *mut core::ffi::c_void,
4353 isenabled: windows_core::BOOL,
4354 handler: *mut core::ffi::c_void,
4355 ) -> windows_core::HRESULT {
4356 unsafe {
4357 let this: &Identity =
4358 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4359 ICoreWebView2BrowserExtension_Impl::Enable(
4360 this,
4361 core::mem::transmute_copy(&isenabled),
4362 core::mem::transmute_copy(&handler),
4363 )
4364 .into()
4365 }
4366 }
4367 Self {
4368 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4369 Id: Id::<Identity, OFFSET>,
4370 Name: Name::<Identity, OFFSET>,
4371 Remove: Remove::<Identity, OFFSET>,
4372 IsEnabled: IsEnabled::<Identity, OFFSET>,
4373 Enable: Enable::<Identity, OFFSET>,
4374 }
4375 }
4376 pub fn matches(iid: &windows_core::GUID) -> bool {
4377 iid == &<ICoreWebView2BrowserExtension as windows_core::Interface>::IID
4378 }
4379}
4380impl windows_core::RuntimeName for ICoreWebView2BrowserExtension {}
4381windows_core::imp::define_interface!(
4382 ICoreWebView2BrowserExtensionEnableCompletedHandler,
4383 ICoreWebView2BrowserExtensionEnableCompletedHandler_Vtbl,
4384 0x30c186ce_7fad_421f_a3bc_a8eaf071ddb8
4385);
4386windows_core::imp::interface_hierarchy!(
4387 ICoreWebView2BrowserExtensionEnableCompletedHandler,
4388 windows_core::IUnknown
4389);
4390impl ICoreWebView2BrowserExtensionEnableCompletedHandler {
4391 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
4392 unsafe {
4393 (windows_core::Interface::vtable(self).Invoke)(
4394 windows_core::Interface::as_raw(self),
4395 errorcode,
4396 )
4397 .ok()
4398 }
4399 }
4400}
4401#[repr(C)]
4402#[doc(hidden)]
4403pub struct ICoreWebView2BrowserExtensionEnableCompletedHandler_Vtbl {
4404 pub base__: windows_core::IUnknown_Vtbl,
4405 pub Invoke: unsafe extern "system" fn(
4406 *mut core::ffi::c_void,
4407 windows_core::HRESULT,
4408 ) -> windows_core::HRESULT,
4409}
4410pub trait ICoreWebView2BrowserExtensionEnableCompletedHandler_Impl:
4411 windows_core::IUnknownImpl
4412{
4413 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
4414}
4415impl ICoreWebView2BrowserExtensionEnableCompletedHandler_Vtbl {
4416 pub const fn new<
4417 Identity: ICoreWebView2BrowserExtensionEnableCompletedHandler_Impl,
4418 const OFFSET: isize,
4419 >() -> Self {
4420 unsafe extern "system" fn Invoke<
4421 Identity: ICoreWebView2BrowserExtensionEnableCompletedHandler_Impl,
4422 const OFFSET: isize,
4423 >(
4424 this: *mut core::ffi::c_void,
4425 errorcode: windows_core::HRESULT,
4426 ) -> windows_core::HRESULT {
4427 unsafe {
4428 let this: &Identity =
4429 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4430 ICoreWebView2BrowserExtensionEnableCompletedHandler_Impl::Invoke(
4431 this,
4432 core::mem::transmute_copy(&errorcode),
4433 )
4434 .into()
4435 }
4436 }
4437 Self {
4438 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4439 Invoke: Invoke::<Identity, OFFSET>,
4440 }
4441 }
4442 pub fn matches(iid: &windows_core::GUID) -> bool {
4443 iid == & < ICoreWebView2BrowserExtensionEnableCompletedHandler as windows_core::Interface >::IID
4444 }
4445}
4446impl windows_core::RuntimeName for ICoreWebView2BrowserExtensionEnableCompletedHandler {}
4447windows_core::imp::define_interface!(
4448 ICoreWebView2BrowserExtensionList,
4449 ICoreWebView2BrowserExtensionList_Vtbl,
4450 0x2ef3d2dc_bd5f_4f4d_90af_fd67798f0c2f
4451);
4452windows_core::imp::interface_hierarchy!(ICoreWebView2BrowserExtensionList, windows_core::IUnknown);
4453impl ICoreWebView2BrowserExtensionList {
4454 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
4455 unsafe {
4456 (windows_core::Interface::vtable(self).Count)(
4457 windows_core::Interface::as_raw(self),
4458 value as _,
4459 )
4460 .ok()
4461 }
4462 }
4463 pub unsafe fn GetValueAtIndex(
4464 &self,
4465 index: u32,
4466 ) -> windows_core::Result<ICoreWebView2BrowserExtension> {
4467 unsafe {
4468 let mut result__ = core::mem::zeroed();
4469 (windows_core::Interface::vtable(self).GetValueAtIndex)(
4470 windows_core::Interface::as_raw(self),
4471 index,
4472 &mut result__,
4473 )
4474 .and_then(|| windows_core::Type::from_abi(result__))
4475 }
4476 }
4477}
4478#[repr(C)]
4479#[doc(hidden)]
4480pub struct ICoreWebView2BrowserExtensionList_Vtbl {
4481 pub base__: windows_core::IUnknown_Vtbl,
4482 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
4483 pub GetValueAtIndex: unsafe extern "system" fn(
4484 *mut core::ffi::c_void,
4485 u32,
4486 *mut *mut core::ffi::c_void,
4487 ) -> windows_core::HRESULT,
4488}
4489pub trait ICoreWebView2BrowserExtensionList_Impl: windows_core::IUnknownImpl {
4490 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
4491 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2BrowserExtension>;
4492}
4493impl ICoreWebView2BrowserExtensionList_Vtbl {
4494 pub const fn new<Identity: ICoreWebView2BrowserExtensionList_Impl, const OFFSET: isize>() -> Self
4495 {
4496 unsafe extern "system" fn Count<
4497 Identity: ICoreWebView2BrowserExtensionList_Impl,
4498 const OFFSET: isize,
4499 >(
4500 this: *mut core::ffi::c_void,
4501 value: *mut u32,
4502 ) -> windows_core::HRESULT {
4503 unsafe {
4504 let this: &Identity =
4505 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4506 ICoreWebView2BrowserExtensionList_Impl::Count(
4507 this,
4508 core::mem::transmute_copy(&value),
4509 )
4510 .into()
4511 }
4512 }
4513 unsafe extern "system" fn GetValueAtIndex<
4514 Identity: ICoreWebView2BrowserExtensionList_Impl,
4515 const OFFSET: isize,
4516 >(
4517 this: *mut core::ffi::c_void,
4518 index: u32,
4519 value: *mut *mut core::ffi::c_void,
4520 ) -> windows_core::HRESULT {
4521 unsafe {
4522 let this: &Identity =
4523 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4524 match ICoreWebView2BrowserExtensionList_Impl::GetValueAtIndex(
4525 this,
4526 core::mem::transmute_copy(&index),
4527 ) {
4528 Ok(ok__) => {
4529 value.write(core::mem::transmute(ok__));
4530 windows_core::HRESULT(0)
4531 }
4532 Err(err) => err.into(),
4533 }
4534 }
4535 }
4536 Self {
4537 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4538 Count: Count::<Identity, OFFSET>,
4539 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
4540 }
4541 }
4542 pub fn matches(iid: &windows_core::GUID) -> bool {
4543 iid == &<ICoreWebView2BrowserExtensionList as windows_core::Interface>::IID
4544 }
4545}
4546impl windows_core::RuntimeName for ICoreWebView2BrowserExtensionList {}
4547windows_core::imp::define_interface!(
4548 ICoreWebView2BrowserExtensionRemoveCompletedHandler,
4549 ICoreWebView2BrowserExtensionRemoveCompletedHandler_Vtbl,
4550 0x8e41909a_9b18_4bb1_8cdf_930f467a50be
4551);
4552windows_core::imp::interface_hierarchy!(
4553 ICoreWebView2BrowserExtensionRemoveCompletedHandler,
4554 windows_core::IUnknown
4555);
4556impl ICoreWebView2BrowserExtensionRemoveCompletedHandler {
4557 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
4558 unsafe {
4559 (windows_core::Interface::vtable(self).Invoke)(
4560 windows_core::Interface::as_raw(self),
4561 errorcode,
4562 )
4563 .ok()
4564 }
4565 }
4566}
4567#[repr(C)]
4568#[doc(hidden)]
4569pub struct ICoreWebView2BrowserExtensionRemoveCompletedHandler_Vtbl {
4570 pub base__: windows_core::IUnknown_Vtbl,
4571 pub Invoke: unsafe extern "system" fn(
4572 *mut core::ffi::c_void,
4573 windows_core::HRESULT,
4574 ) -> windows_core::HRESULT,
4575}
4576pub trait ICoreWebView2BrowserExtensionRemoveCompletedHandler_Impl:
4577 windows_core::IUnknownImpl
4578{
4579 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
4580}
4581impl ICoreWebView2BrowserExtensionRemoveCompletedHandler_Vtbl {
4582 pub const fn new<
4583 Identity: ICoreWebView2BrowserExtensionRemoveCompletedHandler_Impl,
4584 const OFFSET: isize,
4585 >() -> Self {
4586 unsafe extern "system" fn Invoke<
4587 Identity: ICoreWebView2BrowserExtensionRemoveCompletedHandler_Impl,
4588 const OFFSET: isize,
4589 >(
4590 this: *mut core::ffi::c_void,
4591 errorcode: windows_core::HRESULT,
4592 ) -> windows_core::HRESULT {
4593 unsafe {
4594 let this: &Identity =
4595 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4596 ICoreWebView2BrowserExtensionRemoveCompletedHandler_Impl::Invoke(
4597 this,
4598 core::mem::transmute_copy(&errorcode),
4599 )
4600 .into()
4601 }
4602 }
4603 Self {
4604 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4605 Invoke: Invoke::<Identity, OFFSET>,
4606 }
4607 }
4608 pub fn matches(iid: &windows_core::GUID) -> bool {
4609 iid == & < ICoreWebView2BrowserExtensionRemoveCompletedHandler as windows_core::Interface >::IID
4610 }
4611}
4612impl windows_core::RuntimeName for ICoreWebView2BrowserExtensionRemoveCompletedHandler {}
4613windows_core::imp::define_interface!(
4614 ICoreWebView2BrowserProcessExitedEventArgs,
4615 ICoreWebView2BrowserProcessExitedEventArgs_Vtbl,
4616 0x1f00663f_af8c_4782_9cdd_dd01c52e34cb
4617);
4618windows_core::imp::interface_hierarchy!(
4619 ICoreWebView2BrowserProcessExitedEventArgs,
4620 windows_core::IUnknown
4621);
4622impl ICoreWebView2BrowserProcessExitedEventArgs {
4623 pub unsafe fn BrowserProcessExitKind(
4624 &self,
4625 value: *mut COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND,
4626 ) -> windows_core::Result<()> {
4627 unsafe {
4628 (windows_core::Interface::vtable(self).BrowserProcessExitKind)(
4629 windows_core::Interface::as_raw(self),
4630 value as _,
4631 )
4632 .ok()
4633 }
4634 }
4635 pub unsafe fn BrowserProcessId(&self, value: *mut u32) -> windows_core::Result<()> {
4636 unsafe {
4637 (windows_core::Interface::vtable(self).BrowserProcessId)(
4638 windows_core::Interface::as_raw(self),
4639 value as _,
4640 )
4641 .ok()
4642 }
4643 }
4644}
4645#[repr(C)]
4646#[doc(hidden)]
4647pub struct ICoreWebView2BrowserProcessExitedEventArgs_Vtbl {
4648 pub base__: windows_core::IUnknown_Vtbl,
4649 pub BrowserProcessExitKind: unsafe extern "system" fn(
4650 *mut core::ffi::c_void,
4651 *mut COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND,
4652 ) -> windows_core::HRESULT,
4653 pub BrowserProcessId:
4654 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
4655}
4656pub trait ICoreWebView2BrowserProcessExitedEventArgs_Impl: windows_core::IUnknownImpl {
4657 fn BrowserProcessExitKind(
4658 &self,
4659 value: *mut COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND,
4660 ) -> windows_core::Result<()>;
4661 fn BrowserProcessId(&self, value: *mut u32) -> windows_core::Result<()>;
4662}
4663impl ICoreWebView2BrowserProcessExitedEventArgs_Vtbl {
4664 pub const fn new<
4665 Identity: ICoreWebView2BrowserProcessExitedEventArgs_Impl,
4666 const OFFSET: isize,
4667 >() -> Self {
4668 unsafe extern "system" fn BrowserProcessExitKind<
4669 Identity: ICoreWebView2BrowserProcessExitedEventArgs_Impl,
4670 const OFFSET: isize,
4671 >(
4672 this: *mut core::ffi::c_void,
4673 value: *mut COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND,
4674 ) -> windows_core::HRESULT {
4675 unsafe {
4676 let this: &Identity =
4677 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4678 ICoreWebView2BrowserProcessExitedEventArgs_Impl::BrowserProcessExitKind(
4679 this,
4680 core::mem::transmute_copy(&value),
4681 )
4682 .into()
4683 }
4684 }
4685 unsafe extern "system" fn BrowserProcessId<
4686 Identity: ICoreWebView2BrowserProcessExitedEventArgs_Impl,
4687 const OFFSET: isize,
4688 >(
4689 this: *mut core::ffi::c_void,
4690 value: *mut u32,
4691 ) -> windows_core::HRESULT {
4692 unsafe {
4693 let this: &Identity =
4694 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4695 ICoreWebView2BrowserProcessExitedEventArgs_Impl::BrowserProcessId(
4696 this,
4697 core::mem::transmute_copy(&value),
4698 )
4699 .into()
4700 }
4701 }
4702 Self {
4703 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4704 BrowserProcessExitKind: BrowserProcessExitKind::<Identity, OFFSET>,
4705 BrowserProcessId: BrowserProcessId::<Identity, OFFSET>,
4706 }
4707 }
4708 pub fn matches(iid: &windows_core::GUID) -> bool {
4709 iid == &<ICoreWebView2BrowserProcessExitedEventArgs as windows_core::Interface>::IID
4710 }
4711}
4712impl windows_core::RuntimeName for ICoreWebView2BrowserProcessExitedEventArgs {}
4713windows_core::imp::define_interface!(
4714 ICoreWebView2BrowserProcessExitedEventHandler,
4715 ICoreWebView2BrowserProcessExitedEventHandler_Vtbl,
4716 0xfa504257_a216_4911_a860_fe8825712861
4717);
4718windows_core::imp::interface_hierarchy!(
4719 ICoreWebView2BrowserProcessExitedEventHandler,
4720 windows_core::IUnknown
4721);
4722impl ICoreWebView2BrowserProcessExitedEventHandler {
4723 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
4724 where
4725 P0: windows_core::Param<ICoreWebView2Environment>,
4726 P1: windows_core::Param<ICoreWebView2BrowserProcessExitedEventArgs>,
4727 {
4728 unsafe {
4729 (windows_core::Interface::vtable(self).Invoke)(
4730 windows_core::Interface::as_raw(self),
4731 sender.param().abi(),
4732 args.param().abi(),
4733 )
4734 .ok()
4735 }
4736 }
4737}
4738#[repr(C)]
4739#[doc(hidden)]
4740pub struct ICoreWebView2BrowserProcessExitedEventHandler_Vtbl {
4741 pub base__: windows_core::IUnknown_Vtbl,
4742 pub Invoke: unsafe extern "system" fn(
4743 *mut core::ffi::c_void,
4744 *mut core::ffi::c_void,
4745 *mut core::ffi::c_void,
4746 ) -> windows_core::HRESULT,
4747}
4748pub trait ICoreWebView2BrowserProcessExitedEventHandler_Impl: windows_core::IUnknownImpl {
4749 fn Invoke(
4750 &self,
4751 sender: windows_core::Ref<'_, ICoreWebView2Environment>,
4752 args: windows_core::Ref<'_, ICoreWebView2BrowserProcessExitedEventArgs>,
4753 ) -> windows_core::Result<()>;
4754}
4755impl ICoreWebView2BrowserProcessExitedEventHandler_Vtbl {
4756 pub const fn new<
4757 Identity: ICoreWebView2BrowserProcessExitedEventHandler_Impl,
4758 const OFFSET: isize,
4759 >() -> Self {
4760 unsafe extern "system" fn Invoke<
4761 Identity: ICoreWebView2BrowserProcessExitedEventHandler_Impl,
4762 const OFFSET: isize,
4763 >(
4764 this: *mut core::ffi::c_void,
4765 sender: *mut core::ffi::c_void,
4766 args: *mut core::ffi::c_void,
4767 ) -> windows_core::HRESULT {
4768 unsafe {
4769 let this: &Identity =
4770 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4771 ICoreWebView2BrowserProcessExitedEventHandler_Impl::Invoke(
4772 this,
4773 core::mem::transmute_copy(&sender),
4774 core::mem::transmute_copy(&args),
4775 )
4776 .into()
4777 }
4778 }
4779 Self {
4780 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4781 Invoke: Invoke::<Identity, OFFSET>,
4782 }
4783 }
4784 pub fn matches(iid: &windows_core::GUID) -> bool {
4785 iid == &<ICoreWebView2BrowserProcessExitedEventHandler as windows_core::Interface>::IID
4786 }
4787}
4788impl windows_core::RuntimeName for ICoreWebView2BrowserProcessExitedEventHandler {}
4789windows_core::imp::define_interface!(
4790 ICoreWebView2BytesReceivedChangedEventHandler,
4791 ICoreWebView2BytesReceivedChangedEventHandler_Vtbl,
4792 0x828e8ab6_d94c_4264_9cef_5217170d6251
4793);
4794windows_core::imp::interface_hierarchy!(
4795 ICoreWebView2BytesReceivedChangedEventHandler,
4796 windows_core::IUnknown
4797);
4798impl ICoreWebView2BytesReceivedChangedEventHandler {
4799 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
4800 where
4801 P0: windows_core::Param<ICoreWebView2DownloadOperation>,
4802 P1: windows_core::Param<windows_core::IUnknown>,
4803 {
4804 unsafe {
4805 (windows_core::Interface::vtable(self).Invoke)(
4806 windows_core::Interface::as_raw(self),
4807 sender.param().abi(),
4808 args.param().abi(),
4809 )
4810 .ok()
4811 }
4812 }
4813}
4814#[repr(C)]
4815#[doc(hidden)]
4816pub struct ICoreWebView2BytesReceivedChangedEventHandler_Vtbl {
4817 pub base__: windows_core::IUnknown_Vtbl,
4818 pub Invoke: unsafe extern "system" fn(
4819 *mut core::ffi::c_void,
4820 *mut core::ffi::c_void,
4821 *mut core::ffi::c_void,
4822 ) -> windows_core::HRESULT,
4823}
4824pub trait ICoreWebView2BytesReceivedChangedEventHandler_Impl: windows_core::IUnknownImpl {
4825 fn Invoke(
4826 &self,
4827 sender: windows_core::Ref<'_, ICoreWebView2DownloadOperation>,
4828 args: windows_core::Ref<'_, windows_core::IUnknown>,
4829 ) -> windows_core::Result<()>;
4830}
4831impl ICoreWebView2BytesReceivedChangedEventHandler_Vtbl {
4832 pub const fn new<
4833 Identity: ICoreWebView2BytesReceivedChangedEventHandler_Impl,
4834 const OFFSET: isize,
4835 >() -> Self {
4836 unsafe extern "system" fn Invoke<
4837 Identity: ICoreWebView2BytesReceivedChangedEventHandler_Impl,
4838 const OFFSET: isize,
4839 >(
4840 this: *mut core::ffi::c_void,
4841 sender: *mut core::ffi::c_void,
4842 args: *mut core::ffi::c_void,
4843 ) -> windows_core::HRESULT {
4844 unsafe {
4845 let this: &Identity =
4846 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4847 ICoreWebView2BytesReceivedChangedEventHandler_Impl::Invoke(
4848 this,
4849 core::mem::transmute_copy(&sender),
4850 core::mem::transmute_copy(&args),
4851 )
4852 .into()
4853 }
4854 }
4855 Self {
4856 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4857 Invoke: Invoke::<Identity, OFFSET>,
4858 }
4859 }
4860 pub fn matches(iid: &windows_core::GUID) -> bool {
4861 iid == &<ICoreWebView2BytesReceivedChangedEventHandler as windows_core::Interface>::IID
4862 }
4863}
4864impl windows_core::RuntimeName for ICoreWebView2BytesReceivedChangedEventHandler {}
4865windows_core::imp::define_interface!(
4866 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler,
4867 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Vtbl,
4868 0x5c4889f0_5ef6_4c5a_952c_d8f1b92d0574
4869);
4870windows_core::imp::interface_hierarchy!(
4871 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler,
4872 windows_core::IUnknown
4873);
4874impl ICoreWebView2CallDevToolsProtocolMethodCompletedHandler {
4875 pub unsafe fn Invoke<P1>(
4876 &self,
4877 errorcode: windows_core::HRESULT,
4878 result: P1,
4879 ) -> windows_core::Result<()>
4880 where
4881 P1: windows_core::Param<windows_core::PCWSTR>,
4882 {
4883 unsafe {
4884 (windows_core::Interface::vtable(self).Invoke)(
4885 windows_core::Interface::as_raw(self),
4886 errorcode,
4887 result.param().abi(),
4888 )
4889 .ok()
4890 }
4891 }
4892}
4893#[repr(C)]
4894#[doc(hidden)]
4895pub struct ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Vtbl {
4896 pub base__: windows_core::IUnknown_Vtbl,
4897 pub Invoke: unsafe extern "system" fn(
4898 *mut core::ffi::c_void,
4899 windows_core::HRESULT,
4900 windows_core::PCWSTR,
4901 ) -> windows_core::HRESULT,
4902}
4903pub trait ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl:
4904 windows_core::IUnknownImpl
4905{
4906 fn Invoke(
4907 &self,
4908 errorcode: windows_core::HRESULT,
4909 result: &windows_core::PCWSTR,
4910 ) -> windows_core::Result<()>;
4911}
4912impl ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Vtbl {
4913 pub const fn new<
4914 Identity: ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl,
4915 const OFFSET: isize,
4916 >() -> Self {
4917 unsafe extern "system" fn Invoke<
4918 Identity: ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl,
4919 const OFFSET: isize,
4920 >(
4921 this: *mut core::ffi::c_void,
4922 errorcode: windows_core::HRESULT,
4923 result: windows_core::PCWSTR,
4924 ) -> windows_core::HRESULT {
4925 unsafe {
4926 let this: &Identity =
4927 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4928 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl::Invoke(
4929 this,
4930 core::mem::transmute_copy(&errorcode),
4931 core::mem::transmute(&result),
4932 )
4933 .into()
4934 }
4935 }
4936 Self {
4937 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4938 Invoke: Invoke::<Identity, OFFSET>,
4939 }
4940 }
4941 pub fn matches(iid: &windows_core::GUID) -> bool {
4942 iid == & < ICoreWebView2CallDevToolsProtocolMethodCompletedHandler as windows_core::Interface >::IID
4943 }
4944}
4945impl windows_core::RuntimeName for ICoreWebView2CallDevToolsProtocolMethodCompletedHandler {}
4946windows_core::imp::define_interface!(
4947 ICoreWebView2CapturePreviewCompletedHandler,
4948 ICoreWebView2CapturePreviewCompletedHandler_Vtbl,
4949 0x697e05e9_3d8f_45fa_96f4_8ffe1ededaf5
4950);
4951windows_core::imp::interface_hierarchy!(
4952 ICoreWebView2CapturePreviewCompletedHandler,
4953 windows_core::IUnknown
4954);
4955impl ICoreWebView2CapturePreviewCompletedHandler {
4956 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
4957 unsafe {
4958 (windows_core::Interface::vtable(self).Invoke)(
4959 windows_core::Interface::as_raw(self),
4960 errorcode,
4961 )
4962 .ok()
4963 }
4964 }
4965}
4966#[repr(C)]
4967#[doc(hidden)]
4968pub struct ICoreWebView2CapturePreviewCompletedHandler_Vtbl {
4969 pub base__: windows_core::IUnknown_Vtbl,
4970 pub Invoke: unsafe extern "system" fn(
4971 *mut core::ffi::c_void,
4972 windows_core::HRESULT,
4973 ) -> windows_core::HRESULT,
4974}
4975pub trait ICoreWebView2CapturePreviewCompletedHandler_Impl: windows_core::IUnknownImpl {
4976 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
4977}
4978impl ICoreWebView2CapturePreviewCompletedHandler_Vtbl {
4979 pub const fn new<
4980 Identity: ICoreWebView2CapturePreviewCompletedHandler_Impl,
4981 const OFFSET: isize,
4982 >() -> Self {
4983 unsafe extern "system" fn Invoke<
4984 Identity: ICoreWebView2CapturePreviewCompletedHandler_Impl,
4985 const OFFSET: isize,
4986 >(
4987 this: *mut core::ffi::c_void,
4988 errorcode: windows_core::HRESULT,
4989 ) -> windows_core::HRESULT {
4990 unsafe {
4991 let this: &Identity =
4992 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4993 ICoreWebView2CapturePreviewCompletedHandler_Impl::Invoke(
4994 this,
4995 core::mem::transmute_copy(&errorcode),
4996 )
4997 .into()
4998 }
4999 }
5000 Self {
5001 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5002 Invoke: Invoke::<Identity, OFFSET>,
5003 }
5004 }
5005 pub fn matches(iid: &windows_core::GUID) -> bool {
5006 iid == &<ICoreWebView2CapturePreviewCompletedHandler as windows_core::Interface>::IID
5007 }
5008}
5009impl windows_core::RuntimeName for ICoreWebView2CapturePreviewCompletedHandler {}
5010windows_core::imp::define_interface!(
5011 ICoreWebView2Certificate,
5012 ICoreWebView2Certificate_Vtbl,
5013 0xc5fb2fce_1cac_4aee_9c79_5ed0362eaae0
5014);
5015windows_core::imp::interface_hierarchy!(ICoreWebView2Certificate, windows_core::IUnknown);
5016impl ICoreWebView2Certificate {
5017 pub unsafe fn Subject(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5018 unsafe {
5019 (windows_core::Interface::vtable(self).Subject)(
5020 windows_core::Interface::as_raw(self),
5021 value as _,
5022 )
5023 .ok()
5024 }
5025 }
5026 pub unsafe fn Issuer(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5027 unsafe {
5028 (windows_core::Interface::vtable(self).Issuer)(
5029 windows_core::Interface::as_raw(self),
5030 value as _,
5031 )
5032 .ok()
5033 }
5034 }
5035 pub unsafe fn ValidFrom(&self, value: *mut f64) -> windows_core::Result<()> {
5036 unsafe {
5037 (windows_core::Interface::vtable(self).ValidFrom)(
5038 windows_core::Interface::as_raw(self),
5039 value as _,
5040 )
5041 .ok()
5042 }
5043 }
5044 pub unsafe fn ValidTo(&self, value: *mut f64) -> windows_core::Result<()> {
5045 unsafe {
5046 (windows_core::Interface::vtable(self).ValidTo)(
5047 windows_core::Interface::as_raw(self),
5048 value as _,
5049 )
5050 .ok()
5051 }
5052 }
5053 pub unsafe fn DerEncodedSerialNumber(
5054 &self,
5055 value: *mut windows_core::PWSTR,
5056 ) -> windows_core::Result<()> {
5057 unsafe {
5058 (windows_core::Interface::vtable(self).DerEncodedSerialNumber)(
5059 windows_core::Interface::as_raw(self),
5060 value as _,
5061 )
5062 .ok()
5063 }
5064 }
5065 pub unsafe fn DisplayName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5066 unsafe {
5067 (windows_core::Interface::vtable(self).DisplayName)(
5068 windows_core::Interface::as_raw(self),
5069 value as _,
5070 )
5071 .ok()
5072 }
5073 }
5074 pub unsafe fn ToPemEncoding(
5075 &self,
5076 pemencodeddata: *mut windows_core::PWSTR,
5077 ) -> windows_core::Result<()> {
5078 unsafe {
5079 (windows_core::Interface::vtable(self).ToPemEncoding)(
5080 windows_core::Interface::as_raw(self),
5081 pemencodeddata as _,
5082 )
5083 .ok()
5084 }
5085 }
5086 pub unsafe fn PemEncodedIssuerCertificateChain(
5087 &self,
5088 ) -> windows_core::Result<ICoreWebView2StringCollection> {
5089 unsafe {
5090 let mut result__ = core::mem::zeroed();
5091 (windows_core::Interface::vtable(self).PemEncodedIssuerCertificateChain)(
5092 windows_core::Interface::as_raw(self),
5093 &mut result__,
5094 )
5095 .and_then(|| windows_core::Type::from_abi(result__))
5096 }
5097 }
5098}
5099#[repr(C)]
5100#[doc(hidden)]
5101pub struct ICoreWebView2Certificate_Vtbl {
5102 pub base__: windows_core::IUnknown_Vtbl,
5103 pub Subject: unsafe extern "system" fn(
5104 *mut core::ffi::c_void,
5105 *mut windows_core::PWSTR,
5106 ) -> windows_core::HRESULT,
5107 pub Issuer: unsafe extern "system" fn(
5108 *mut core::ffi::c_void,
5109 *mut windows_core::PWSTR,
5110 ) -> windows_core::HRESULT,
5111 pub ValidFrom:
5112 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
5113 pub ValidTo:
5114 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
5115 pub DerEncodedSerialNumber: unsafe extern "system" fn(
5116 *mut core::ffi::c_void,
5117 *mut windows_core::PWSTR,
5118 ) -> windows_core::HRESULT,
5119 pub DisplayName: unsafe extern "system" fn(
5120 *mut core::ffi::c_void,
5121 *mut windows_core::PWSTR,
5122 ) -> windows_core::HRESULT,
5123 pub ToPemEncoding: unsafe extern "system" fn(
5124 *mut core::ffi::c_void,
5125 *mut windows_core::PWSTR,
5126 ) -> windows_core::HRESULT,
5127 pub PemEncodedIssuerCertificateChain: unsafe extern "system" fn(
5128 *mut core::ffi::c_void,
5129 *mut *mut core::ffi::c_void,
5130 ) -> windows_core::HRESULT,
5131}
5132pub trait ICoreWebView2Certificate_Impl: windows_core::IUnknownImpl {
5133 fn Subject(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5134 fn Issuer(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5135 fn ValidFrom(&self, value: *mut f64) -> windows_core::Result<()>;
5136 fn ValidTo(&self, value: *mut f64) -> windows_core::Result<()>;
5137 fn DerEncodedSerialNumber(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5138 fn DisplayName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5139 fn ToPemEncoding(&self, pemencodeddata: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5140 fn PemEncodedIssuerCertificateChain(
5141 &self,
5142 ) -> windows_core::Result<ICoreWebView2StringCollection>;
5143}
5144impl ICoreWebView2Certificate_Vtbl {
5145 pub const fn new<Identity: ICoreWebView2Certificate_Impl, const OFFSET: isize>() -> Self {
5146 unsafe extern "system" fn Subject<
5147 Identity: ICoreWebView2Certificate_Impl,
5148 const OFFSET: isize,
5149 >(
5150 this: *mut core::ffi::c_void,
5151 value: *mut windows_core::PWSTR,
5152 ) -> windows_core::HRESULT {
5153 unsafe {
5154 let this: &Identity =
5155 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5156 ICoreWebView2Certificate_Impl::Subject(this, core::mem::transmute_copy(&value))
5157 .into()
5158 }
5159 }
5160 unsafe extern "system" fn Issuer<
5161 Identity: ICoreWebView2Certificate_Impl,
5162 const OFFSET: isize,
5163 >(
5164 this: *mut core::ffi::c_void,
5165 value: *mut windows_core::PWSTR,
5166 ) -> windows_core::HRESULT {
5167 unsafe {
5168 let this: &Identity =
5169 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5170 ICoreWebView2Certificate_Impl::Issuer(this, core::mem::transmute_copy(&value))
5171 .into()
5172 }
5173 }
5174 unsafe extern "system" fn ValidFrom<
5175 Identity: ICoreWebView2Certificate_Impl,
5176 const OFFSET: isize,
5177 >(
5178 this: *mut core::ffi::c_void,
5179 value: *mut f64,
5180 ) -> windows_core::HRESULT {
5181 unsafe {
5182 let this: &Identity =
5183 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5184 ICoreWebView2Certificate_Impl::ValidFrom(this, core::mem::transmute_copy(&value))
5185 .into()
5186 }
5187 }
5188 unsafe extern "system" fn ValidTo<
5189 Identity: ICoreWebView2Certificate_Impl,
5190 const OFFSET: isize,
5191 >(
5192 this: *mut core::ffi::c_void,
5193 value: *mut f64,
5194 ) -> windows_core::HRESULT {
5195 unsafe {
5196 let this: &Identity =
5197 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5198 ICoreWebView2Certificate_Impl::ValidTo(this, core::mem::transmute_copy(&value))
5199 .into()
5200 }
5201 }
5202 unsafe extern "system" fn DerEncodedSerialNumber<
5203 Identity: ICoreWebView2Certificate_Impl,
5204 const OFFSET: isize,
5205 >(
5206 this: *mut core::ffi::c_void,
5207 value: *mut windows_core::PWSTR,
5208 ) -> windows_core::HRESULT {
5209 unsafe {
5210 let this: &Identity =
5211 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5212 ICoreWebView2Certificate_Impl::DerEncodedSerialNumber(
5213 this,
5214 core::mem::transmute_copy(&value),
5215 )
5216 .into()
5217 }
5218 }
5219 unsafe extern "system" fn DisplayName<
5220 Identity: ICoreWebView2Certificate_Impl,
5221 const OFFSET: isize,
5222 >(
5223 this: *mut core::ffi::c_void,
5224 value: *mut windows_core::PWSTR,
5225 ) -> windows_core::HRESULT {
5226 unsafe {
5227 let this: &Identity =
5228 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5229 ICoreWebView2Certificate_Impl::DisplayName(this, core::mem::transmute_copy(&value))
5230 .into()
5231 }
5232 }
5233 unsafe extern "system" fn ToPemEncoding<
5234 Identity: ICoreWebView2Certificate_Impl,
5235 const OFFSET: isize,
5236 >(
5237 this: *mut core::ffi::c_void,
5238 pemencodeddata: *mut windows_core::PWSTR,
5239 ) -> windows_core::HRESULT {
5240 unsafe {
5241 let this: &Identity =
5242 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5243 ICoreWebView2Certificate_Impl::ToPemEncoding(
5244 this,
5245 core::mem::transmute_copy(&pemencodeddata),
5246 )
5247 .into()
5248 }
5249 }
5250 unsafe extern "system" fn PemEncodedIssuerCertificateChain<
5251 Identity: ICoreWebView2Certificate_Impl,
5252 const OFFSET: isize,
5253 >(
5254 this: *mut core::ffi::c_void,
5255 value: *mut *mut core::ffi::c_void,
5256 ) -> windows_core::HRESULT {
5257 unsafe {
5258 let this: &Identity =
5259 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5260 match ICoreWebView2Certificate_Impl::PemEncodedIssuerCertificateChain(this) {
5261 Ok(ok__) => {
5262 value.write(core::mem::transmute(ok__));
5263 windows_core::HRESULT(0)
5264 }
5265 Err(err) => err.into(),
5266 }
5267 }
5268 }
5269 Self {
5270 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5271 Subject: Subject::<Identity, OFFSET>,
5272 Issuer: Issuer::<Identity, OFFSET>,
5273 ValidFrom: ValidFrom::<Identity, OFFSET>,
5274 ValidTo: ValidTo::<Identity, OFFSET>,
5275 DerEncodedSerialNumber: DerEncodedSerialNumber::<Identity, OFFSET>,
5276 DisplayName: DisplayName::<Identity, OFFSET>,
5277 ToPemEncoding: ToPemEncoding::<Identity, OFFSET>,
5278 PemEncodedIssuerCertificateChain: PemEncodedIssuerCertificateChain::<Identity, OFFSET>,
5279 }
5280 }
5281 pub fn matches(iid: &windows_core::GUID) -> bool {
5282 iid == &<ICoreWebView2Certificate as windows_core::Interface>::IID
5283 }
5284}
5285impl windows_core::RuntimeName for ICoreWebView2Certificate {}
5286windows_core::imp::define_interface!(
5287 ICoreWebView2ClearBrowsingDataCompletedHandler,
5288 ICoreWebView2ClearBrowsingDataCompletedHandler_Vtbl,
5289 0xe9710a06_1d1d_49b2_8234_226f35846ae5
5290);
5291windows_core::imp::interface_hierarchy!(
5292 ICoreWebView2ClearBrowsingDataCompletedHandler,
5293 windows_core::IUnknown
5294);
5295impl ICoreWebView2ClearBrowsingDataCompletedHandler {
5296 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
5297 unsafe {
5298 (windows_core::Interface::vtable(self).Invoke)(
5299 windows_core::Interface::as_raw(self),
5300 errorcode,
5301 )
5302 .ok()
5303 }
5304 }
5305}
5306#[repr(C)]
5307#[doc(hidden)]
5308pub struct ICoreWebView2ClearBrowsingDataCompletedHandler_Vtbl {
5309 pub base__: windows_core::IUnknown_Vtbl,
5310 pub Invoke: unsafe extern "system" fn(
5311 *mut core::ffi::c_void,
5312 windows_core::HRESULT,
5313 ) -> windows_core::HRESULT,
5314}
5315pub trait ICoreWebView2ClearBrowsingDataCompletedHandler_Impl: windows_core::IUnknownImpl {
5316 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
5317}
5318impl ICoreWebView2ClearBrowsingDataCompletedHandler_Vtbl {
5319 pub const fn new<
5320 Identity: ICoreWebView2ClearBrowsingDataCompletedHandler_Impl,
5321 const OFFSET: isize,
5322 >() -> Self {
5323 unsafe extern "system" fn Invoke<
5324 Identity: ICoreWebView2ClearBrowsingDataCompletedHandler_Impl,
5325 const OFFSET: isize,
5326 >(
5327 this: *mut core::ffi::c_void,
5328 errorcode: windows_core::HRESULT,
5329 ) -> windows_core::HRESULT {
5330 unsafe {
5331 let this: &Identity =
5332 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5333 ICoreWebView2ClearBrowsingDataCompletedHandler_Impl::Invoke(
5334 this,
5335 core::mem::transmute_copy(&errorcode),
5336 )
5337 .into()
5338 }
5339 }
5340 Self {
5341 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5342 Invoke: Invoke::<Identity, OFFSET>,
5343 }
5344 }
5345 pub fn matches(iid: &windows_core::GUID) -> bool {
5346 iid == &<ICoreWebView2ClearBrowsingDataCompletedHandler as windows_core::Interface>::IID
5347 }
5348}
5349impl windows_core::RuntimeName for ICoreWebView2ClearBrowsingDataCompletedHandler {}
5350windows_core::imp::define_interface!(
5351 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler,
5352 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Vtbl,
5353 0x3b40aac6_acfe_4ffd_8211_f607b96e2d5b
5354);
5355windows_core::imp::interface_hierarchy!(
5356 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler,
5357 windows_core::IUnknown
5358);
5359impl ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler {
5360 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
5361 unsafe {
5362 (windows_core::Interface::vtable(self).Invoke)(
5363 windows_core::Interface::as_raw(self),
5364 errorcode,
5365 )
5366 .ok()
5367 }
5368 }
5369}
5370#[repr(C)]
5371#[doc(hidden)]
5372pub struct ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Vtbl {
5373 pub base__: windows_core::IUnknown_Vtbl,
5374 pub Invoke: unsafe extern "system" fn(
5375 *mut core::ffi::c_void,
5376 windows_core::HRESULT,
5377 ) -> windows_core::HRESULT,
5378}
5379pub trait ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Impl:
5380 windows_core::IUnknownImpl
5381{
5382 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
5383}
5384impl ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Vtbl {
5385 pub const fn new<
5386 Identity: ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Impl,
5387 const OFFSET: isize,
5388 >() -> Self {
5389 unsafe extern "system" fn Invoke<
5390 Identity: ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Impl,
5391 const OFFSET: isize,
5392 >(
5393 this: *mut core::ffi::c_void,
5394 errorcode: windows_core::HRESULT,
5395 ) -> windows_core::HRESULT {
5396 unsafe {
5397 let this: &Identity =
5398 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5399 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Impl::Invoke(
5400 this,
5401 core::mem::transmute_copy(&errorcode),
5402 )
5403 .into()
5404 }
5405 }
5406 Self {
5407 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5408 Invoke: Invoke::<Identity, OFFSET>,
5409 }
5410 }
5411 pub fn matches(iid: &windows_core::GUID) -> bool {
5412 iid == & < ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler as windows_core::Interface >::IID
5413 }
5414}
5415impl windows_core::RuntimeName for ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler {}
5416windows_core::imp::define_interface!(
5417 ICoreWebView2ClientCertificate,
5418 ICoreWebView2ClientCertificate_Vtbl,
5419 0xe7188076_bcc3_11eb_8529_0242ac130003
5420);
5421windows_core::imp::interface_hierarchy!(ICoreWebView2ClientCertificate, windows_core::IUnknown);
5422impl ICoreWebView2ClientCertificate {
5423 pub unsafe fn Subject(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5424 unsafe {
5425 (windows_core::Interface::vtable(self).Subject)(
5426 windows_core::Interface::as_raw(self),
5427 value as _,
5428 )
5429 .ok()
5430 }
5431 }
5432 pub unsafe fn Issuer(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5433 unsafe {
5434 (windows_core::Interface::vtable(self).Issuer)(
5435 windows_core::Interface::as_raw(self),
5436 value as _,
5437 )
5438 .ok()
5439 }
5440 }
5441 pub unsafe fn ValidFrom(&self, value: *mut f64) -> windows_core::Result<()> {
5442 unsafe {
5443 (windows_core::Interface::vtable(self).ValidFrom)(
5444 windows_core::Interface::as_raw(self),
5445 value as _,
5446 )
5447 .ok()
5448 }
5449 }
5450 pub unsafe fn ValidTo(&self, value: *mut f64) -> windows_core::Result<()> {
5451 unsafe {
5452 (windows_core::Interface::vtable(self).ValidTo)(
5453 windows_core::Interface::as_raw(self),
5454 value as _,
5455 )
5456 .ok()
5457 }
5458 }
5459 pub unsafe fn DerEncodedSerialNumber(
5460 &self,
5461 value: *mut windows_core::PWSTR,
5462 ) -> windows_core::Result<()> {
5463 unsafe {
5464 (windows_core::Interface::vtable(self).DerEncodedSerialNumber)(
5465 windows_core::Interface::as_raw(self),
5466 value as _,
5467 )
5468 .ok()
5469 }
5470 }
5471 pub unsafe fn DisplayName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5472 unsafe {
5473 (windows_core::Interface::vtable(self).DisplayName)(
5474 windows_core::Interface::as_raw(self),
5475 value as _,
5476 )
5477 .ok()
5478 }
5479 }
5480 pub unsafe fn ToPemEncoding(
5481 &self,
5482 pemencodeddata: *mut windows_core::PWSTR,
5483 ) -> windows_core::Result<()> {
5484 unsafe {
5485 (windows_core::Interface::vtable(self).ToPemEncoding)(
5486 windows_core::Interface::as_raw(self),
5487 pemencodeddata as _,
5488 )
5489 .ok()
5490 }
5491 }
5492 pub unsafe fn PemEncodedIssuerCertificateChain(
5493 &self,
5494 ) -> windows_core::Result<ICoreWebView2StringCollection> {
5495 unsafe {
5496 let mut result__ = core::mem::zeroed();
5497 (windows_core::Interface::vtable(self).PemEncodedIssuerCertificateChain)(
5498 windows_core::Interface::as_raw(self),
5499 &mut result__,
5500 )
5501 .and_then(|| windows_core::Type::from_abi(result__))
5502 }
5503 }
5504 pub unsafe fn Kind(
5505 &self,
5506 value: *mut COREWEBVIEW2_CLIENT_CERTIFICATE_KIND,
5507 ) -> windows_core::Result<()> {
5508 unsafe {
5509 (windows_core::Interface::vtable(self).Kind)(
5510 windows_core::Interface::as_raw(self),
5511 value as _,
5512 )
5513 .ok()
5514 }
5515 }
5516}
5517#[repr(C)]
5518#[doc(hidden)]
5519pub struct ICoreWebView2ClientCertificate_Vtbl {
5520 pub base__: windows_core::IUnknown_Vtbl,
5521 pub Subject: unsafe extern "system" fn(
5522 *mut core::ffi::c_void,
5523 *mut windows_core::PWSTR,
5524 ) -> windows_core::HRESULT,
5525 pub Issuer: unsafe extern "system" fn(
5526 *mut core::ffi::c_void,
5527 *mut windows_core::PWSTR,
5528 ) -> windows_core::HRESULT,
5529 pub ValidFrom:
5530 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
5531 pub ValidTo:
5532 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
5533 pub DerEncodedSerialNumber: unsafe extern "system" fn(
5534 *mut core::ffi::c_void,
5535 *mut windows_core::PWSTR,
5536 ) -> windows_core::HRESULT,
5537 pub DisplayName: unsafe extern "system" fn(
5538 *mut core::ffi::c_void,
5539 *mut windows_core::PWSTR,
5540 ) -> windows_core::HRESULT,
5541 pub ToPemEncoding: unsafe extern "system" fn(
5542 *mut core::ffi::c_void,
5543 *mut windows_core::PWSTR,
5544 ) -> windows_core::HRESULT,
5545 pub PemEncodedIssuerCertificateChain: unsafe extern "system" fn(
5546 *mut core::ffi::c_void,
5547 *mut *mut core::ffi::c_void,
5548 ) -> windows_core::HRESULT,
5549 pub Kind: unsafe extern "system" fn(
5550 *mut core::ffi::c_void,
5551 *mut COREWEBVIEW2_CLIENT_CERTIFICATE_KIND,
5552 ) -> windows_core::HRESULT,
5553}
5554pub trait ICoreWebView2ClientCertificate_Impl: windows_core::IUnknownImpl {
5555 fn Subject(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5556 fn Issuer(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5557 fn ValidFrom(&self, value: *mut f64) -> windows_core::Result<()>;
5558 fn ValidTo(&self, value: *mut f64) -> windows_core::Result<()>;
5559 fn DerEncodedSerialNumber(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5560 fn DisplayName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5561 fn ToPemEncoding(&self, pemencodeddata: *mut windows_core::PWSTR) -> windows_core::Result<()>;
5562 fn PemEncodedIssuerCertificateChain(
5563 &self,
5564 ) -> windows_core::Result<ICoreWebView2StringCollection>;
5565 fn Kind(&self, value: *mut COREWEBVIEW2_CLIENT_CERTIFICATE_KIND) -> windows_core::Result<()>;
5566}
5567impl ICoreWebView2ClientCertificate_Vtbl {
5568 pub const fn new<Identity: ICoreWebView2ClientCertificate_Impl, const OFFSET: isize>() -> Self {
5569 unsafe extern "system" fn Subject<
5570 Identity: ICoreWebView2ClientCertificate_Impl,
5571 const OFFSET: isize,
5572 >(
5573 this: *mut core::ffi::c_void,
5574 value: *mut windows_core::PWSTR,
5575 ) -> windows_core::HRESULT {
5576 unsafe {
5577 let this: &Identity =
5578 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5579 ICoreWebView2ClientCertificate_Impl::Subject(
5580 this,
5581 core::mem::transmute_copy(&value),
5582 )
5583 .into()
5584 }
5585 }
5586 unsafe extern "system" fn Issuer<
5587 Identity: ICoreWebView2ClientCertificate_Impl,
5588 const OFFSET: isize,
5589 >(
5590 this: *mut core::ffi::c_void,
5591 value: *mut windows_core::PWSTR,
5592 ) -> windows_core::HRESULT {
5593 unsafe {
5594 let this: &Identity =
5595 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5596 ICoreWebView2ClientCertificate_Impl::Issuer(this, core::mem::transmute_copy(&value))
5597 .into()
5598 }
5599 }
5600 unsafe extern "system" fn ValidFrom<
5601 Identity: ICoreWebView2ClientCertificate_Impl,
5602 const OFFSET: isize,
5603 >(
5604 this: *mut core::ffi::c_void,
5605 value: *mut f64,
5606 ) -> windows_core::HRESULT {
5607 unsafe {
5608 let this: &Identity =
5609 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5610 ICoreWebView2ClientCertificate_Impl::ValidFrom(
5611 this,
5612 core::mem::transmute_copy(&value),
5613 )
5614 .into()
5615 }
5616 }
5617 unsafe extern "system" fn ValidTo<
5618 Identity: ICoreWebView2ClientCertificate_Impl,
5619 const OFFSET: isize,
5620 >(
5621 this: *mut core::ffi::c_void,
5622 value: *mut f64,
5623 ) -> windows_core::HRESULT {
5624 unsafe {
5625 let this: &Identity =
5626 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5627 ICoreWebView2ClientCertificate_Impl::ValidTo(
5628 this,
5629 core::mem::transmute_copy(&value),
5630 )
5631 .into()
5632 }
5633 }
5634 unsafe extern "system" fn DerEncodedSerialNumber<
5635 Identity: ICoreWebView2ClientCertificate_Impl,
5636 const OFFSET: isize,
5637 >(
5638 this: *mut core::ffi::c_void,
5639 value: *mut windows_core::PWSTR,
5640 ) -> windows_core::HRESULT {
5641 unsafe {
5642 let this: &Identity =
5643 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5644 ICoreWebView2ClientCertificate_Impl::DerEncodedSerialNumber(
5645 this,
5646 core::mem::transmute_copy(&value),
5647 )
5648 .into()
5649 }
5650 }
5651 unsafe extern "system" fn DisplayName<
5652 Identity: ICoreWebView2ClientCertificate_Impl,
5653 const OFFSET: isize,
5654 >(
5655 this: *mut core::ffi::c_void,
5656 value: *mut windows_core::PWSTR,
5657 ) -> windows_core::HRESULT {
5658 unsafe {
5659 let this: &Identity =
5660 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5661 ICoreWebView2ClientCertificate_Impl::DisplayName(
5662 this,
5663 core::mem::transmute_copy(&value),
5664 )
5665 .into()
5666 }
5667 }
5668 unsafe extern "system" fn ToPemEncoding<
5669 Identity: ICoreWebView2ClientCertificate_Impl,
5670 const OFFSET: isize,
5671 >(
5672 this: *mut core::ffi::c_void,
5673 pemencodeddata: *mut windows_core::PWSTR,
5674 ) -> windows_core::HRESULT {
5675 unsafe {
5676 let this: &Identity =
5677 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5678 ICoreWebView2ClientCertificate_Impl::ToPemEncoding(
5679 this,
5680 core::mem::transmute_copy(&pemencodeddata),
5681 )
5682 .into()
5683 }
5684 }
5685 unsafe extern "system" fn PemEncodedIssuerCertificateChain<
5686 Identity: ICoreWebView2ClientCertificate_Impl,
5687 const OFFSET: isize,
5688 >(
5689 this: *mut core::ffi::c_void,
5690 value: *mut *mut core::ffi::c_void,
5691 ) -> windows_core::HRESULT {
5692 unsafe {
5693 let this: &Identity =
5694 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5695 match ICoreWebView2ClientCertificate_Impl::PemEncodedIssuerCertificateChain(this) {
5696 Ok(ok__) => {
5697 value.write(core::mem::transmute(ok__));
5698 windows_core::HRESULT(0)
5699 }
5700 Err(err) => err.into(),
5701 }
5702 }
5703 }
5704 unsafe extern "system" fn Kind<
5705 Identity: ICoreWebView2ClientCertificate_Impl,
5706 const OFFSET: isize,
5707 >(
5708 this: *mut core::ffi::c_void,
5709 value: *mut COREWEBVIEW2_CLIENT_CERTIFICATE_KIND,
5710 ) -> windows_core::HRESULT {
5711 unsafe {
5712 let this: &Identity =
5713 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5714 ICoreWebView2ClientCertificate_Impl::Kind(this, core::mem::transmute_copy(&value))
5715 .into()
5716 }
5717 }
5718 Self {
5719 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5720 Subject: Subject::<Identity, OFFSET>,
5721 Issuer: Issuer::<Identity, OFFSET>,
5722 ValidFrom: ValidFrom::<Identity, OFFSET>,
5723 ValidTo: ValidTo::<Identity, OFFSET>,
5724 DerEncodedSerialNumber: DerEncodedSerialNumber::<Identity, OFFSET>,
5725 DisplayName: DisplayName::<Identity, OFFSET>,
5726 ToPemEncoding: ToPemEncoding::<Identity, OFFSET>,
5727 PemEncodedIssuerCertificateChain: PemEncodedIssuerCertificateChain::<Identity, OFFSET>,
5728 Kind: Kind::<Identity, OFFSET>,
5729 }
5730 }
5731 pub fn matches(iid: &windows_core::GUID) -> bool {
5732 iid == &<ICoreWebView2ClientCertificate as windows_core::Interface>::IID
5733 }
5734}
5735impl windows_core::RuntimeName for ICoreWebView2ClientCertificate {}
5736windows_core::imp::define_interface!(
5737 ICoreWebView2ClientCertificateCollection,
5738 ICoreWebView2ClientCertificateCollection_Vtbl,
5739 0xef5674d2_bcc3_11eb_8529_0242ac130003
5740);
5741windows_core::imp::interface_hierarchy!(
5742 ICoreWebView2ClientCertificateCollection,
5743 windows_core::IUnknown
5744);
5745impl ICoreWebView2ClientCertificateCollection {
5746 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
5747 unsafe {
5748 (windows_core::Interface::vtable(self).Count)(
5749 windows_core::Interface::as_raw(self),
5750 value as _,
5751 )
5752 .ok()
5753 }
5754 }
5755 pub unsafe fn GetValueAtIndex(
5756 &self,
5757 index: u32,
5758 ) -> windows_core::Result<ICoreWebView2ClientCertificate> {
5759 unsafe {
5760 let mut result__ = core::mem::zeroed();
5761 (windows_core::Interface::vtable(self).GetValueAtIndex)(
5762 windows_core::Interface::as_raw(self),
5763 index,
5764 &mut result__,
5765 )
5766 .and_then(|| windows_core::Type::from_abi(result__))
5767 }
5768 }
5769}
5770#[repr(C)]
5771#[doc(hidden)]
5772pub struct ICoreWebView2ClientCertificateCollection_Vtbl {
5773 pub base__: windows_core::IUnknown_Vtbl,
5774 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
5775 pub GetValueAtIndex: unsafe extern "system" fn(
5776 *mut core::ffi::c_void,
5777 u32,
5778 *mut *mut core::ffi::c_void,
5779 ) -> windows_core::HRESULT,
5780}
5781pub trait ICoreWebView2ClientCertificateCollection_Impl: windows_core::IUnknownImpl {
5782 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
5783 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2ClientCertificate>;
5784}
5785impl ICoreWebView2ClientCertificateCollection_Vtbl {
5786 pub const fn new<
5787 Identity: ICoreWebView2ClientCertificateCollection_Impl,
5788 const OFFSET: isize,
5789 >() -> Self {
5790 unsafe extern "system" fn Count<
5791 Identity: ICoreWebView2ClientCertificateCollection_Impl,
5792 const OFFSET: isize,
5793 >(
5794 this: *mut core::ffi::c_void,
5795 value: *mut u32,
5796 ) -> windows_core::HRESULT {
5797 unsafe {
5798 let this: &Identity =
5799 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5800 ICoreWebView2ClientCertificateCollection_Impl::Count(
5801 this,
5802 core::mem::transmute_copy(&value),
5803 )
5804 .into()
5805 }
5806 }
5807 unsafe extern "system" fn GetValueAtIndex<
5808 Identity: ICoreWebView2ClientCertificateCollection_Impl,
5809 const OFFSET: isize,
5810 >(
5811 this: *mut core::ffi::c_void,
5812 index: u32,
5813 value: *mut *mut core::ffi::c_void,
5814 ) -> windows_core::HRESULT {
5815 unsafe {
5816 let this: &Identity =
5817 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5818 match ICoreWebView2ClientCertificateCollection_Impl::GetValueAtIndex(
5819 this,
5820 core::mem::transmute_copy(&index),
5821 ) {
5822 Ok(ok__) => {
5823 value.write(core::mem::transmute(ok__));
5824 windows_core::HRESULT(0)
5825 }
5826 Err(err) => err.into(),
5827 }
5828 }
5829 }
5830 Self {
5831 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5832 Count: Count::<Identity, OFFSET>,
5833 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
5834 }
5835 }
5836 pub fn matches(iid: &windows_core::GUID) -> bool {
5837 iid == &<ICoreWebView2ClientCertificateCollection as windows_core::Interface>::IID
5838 }
5839}
5840impl windows_core::RuntimeName for ICoreWebView2ClientCertificateCollection {}
5841windows_core::imp::define_interface!(
5842 ICoreWebView2ClientCertificateRequestedEventArgs,
5843 ICoreWebView2ClientCertificateRequestedEventArgs_Vtbl,
5844 0xbc59db28_bcc3_11eb_8529_0242ac130003
5845);
5846windows_core::imp::interface_hierarchy!(
5847 ICoreWebView2ClientCertificateRequestedEventArgs,
5848 windows_core::IUnknown
5849);
5850impl ICoreWebView2ClientCertificateRequestedEventArgs {
5851 pub unsafe fn Host(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
5852 unsafe {
5853 (windows_core::Interface::vtable(self).Host)(
5854 windows_core::Interface::as_raw(self),
5855 value as _,
5856 )
5857 .ok()
5858 }
5859 }
5860 pub unsafe fn Port(&self, value: *mut i32) -> windows_core::Result<()> {
5861 unsafe {
5862 (windows_core::Interface::vtable(self).Port)(
5863 windows_core::Interface::as_raw(self),
5864 value as _,
5865 )
5866 .ok()
5867 }
5868 }
5869 pub unsafe fn IsProxy(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
5870 unsafe {
5871 (windows_core::Interface::vtable(self).IsProxy)(
5872 windows_core::Interface::as_raw(self),
5873 value as _,
5874 )
5875 .ok()
5876 }
5877 }
5878 pub unsafe fn AllowedCertificateAuthorities(
5879 &self,
5880 ) -> windows_core::Result<ICoreWebView2StringCollection> {
5881 unsafe {
5882 let mut result__ = core::mem::zeroed();
5883 (windows_core::Interface::vtable(self).AllowedCertificateAuthorities)(
5884 windows_core::Interface::as_raw(self),
5885 &mut result__,
5886 )
5887 .and_then(|| windows_core::Type::from_abi(result__))
5888 }
5889 }
5890 pub unsafe fn MutuallyTrustedCertificates(
5891 &self,
5892 ) -> windows_core::Result<ICoreWebView2ClientCertificateCollection> {
5893 unsafe {
5894 let mut result__ = core::mem::zeroed();
5895 (windows_core::Interface::vtable(self).MutuallyTrustedCertificates)(
5896 windows_core::Interface::as_raw(self),
5897 &mut result__,
5898 )
5899 .and_then(|| windows_core::Type::from_abi(result__))
5900 }
5901 }
5902 pub unsafe fn SelectedCertificate(
5903 &self,
5904 ) -> windows_core::Result<ICoreWebView2ClientCertificate> {
5905 unsafe {
5906 let mut result__ = core::mem::zeroed();
5907 (windows_core::Interface::vtable(self).SelectedCertificate)(
5908 windows_core::Interface::as_raw(self),
5909 &mut result__,
5910 )
5911 .and_then(|| windows_core::Type::from_abi(result__))
5912 }
5913 }
5914 pub unsafe fn SetSelectedCertificate<P0>(&self, value: P0) -> windows_core::Result<()>
5915 where
5916 P0: windows_core::Param<ICoreWebView2ClientCertificate>,
5917 {
5918 unsafe {
5919 (windows_core::Interface::vtable(self).SetSelectedCertificate)(
5920 windows_core::Interface::as_raw(self),
5921 value.param().abi(),
5922 )
5923 .ok()
5924 }
5925 }
5926 pub unsafe fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
5927 unsafe {
5928 (windows_core::Interface::vtable(self).Cancel)(
5929 windows_core::Interface::as_raw(self),
5930 value as _,
5931 )
5932 .ok()
5933 }
5934 }
5935 pub unsafe fn SetCancel(&self, value: bool) -> windows_core::Result<()> {
5936 unsafe {
5937 (windows_core::Interface::vtable(self).SetCancel)(
5938 windows_core::Interface::as_raw(self),
5939 value.into(),
5940 )
5941 .ok()
5942 }
5943 }
5944 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
5945 unsafe {
5946 (windows_core::Interface::vtable(self).Handled)(
5947 windows_core::Interface::as_raw(self),
5948 value as _,
5949 )
5950 .ok()
5951 }
5952 }
5953 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
5954 unsafe {
5955 (windows_core::Interface::vtable(self).SetHandled)(
5956 windows_core::Interface::as_raw(self),
5957 value.into(),
5958 )
5959 .ok()
5960 }
5961 }
5962 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
5963 unsafe {
5964 let mut result__ = core::mem::zeroed();
5965 (windows_core::Interface::vtable(self).GetDeferral)(
5966 windows_core::Interface::as_raw(self),
5967 &mut result__,
5968 )
5969 .and_then(|| windows_core::Type::from_abi(result__))
5970 }
5971 }
5972}
5973#[repr(C)]
5974#[doc(hidden)]
5975pub struct ICoreWebView2ClientCertificateRequestedEventArgs_Vtbl {
5976 pub base__: windows_core::IUnknown_Vtbl,
5977 pub Host: unsafe extern "system" fn(
5978 *mut core::ffi::c_void,
5979 *mut windows_core::PWSTR,
5980 ) -> windows_core::HRESULT,
5981 pub Port: unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
5982 pub IsProxy: unsafe extern "system" fn(
5983 *mut core::ffi::c_void,
5984 *mut windows_core::BOOL,
5985 ) -> windows_core::HRESULT,
5986 pub AllowedCertificateAuthorities: unsafe extern "system" fn(
5987 *mut core::ffi::c_void,
5988 *mut *mut core::ffi::c_void,
5989 ) -> windows_core::HRESULT,
5990 pub MutuallyTrustedCertificates: unsafe extern "system" fn(
5991 *mut core::ffi::c_void,
5992 *mut *mut core::ffi::c_void,
5993 ) -> windows_core::HRESULT,
5994 pub SelectedCertificate: unsafe extern "system" fn(
5995 *mut core::ffi::c_void,
5996 *mut *mut core::ffi::c_void,
5997 ) -> windows_core::HRESULT,
5998 pub SetSelectedCertificate: unsafe extern "system" fn(
5999 *mut core::ffi::c_void,
6000 *mut core::ffi::c_void,
6001 ) -> windows_core::HRESULT,
6002 pub Cancel: unsafe extern "system" fn(
6003 *mut core::ffi::c_void,
6004 *mut windows_core::BOOL,
6005 ) -> windows_core::HRESULT,
6006 pub SetCancel: unsafe extern "system" fn(
6007 *mut core::ffi::c_void,
6008 windows_core::BOOL,
6009 ) -> windows_core::HRESULT,
6010 pub Handled: unsafe extern "system" fn(
6011 *mut core::ffi::c_void,
6012 *mut windows_core::BOOL,
6013 ) -> windows_core::HRESULT,
6014 pub SetHandled: unsafe extern "system" fn(
6015 *mut core::ffi::c_void,
6016 windows_core::BOOL,
6017 ) -> windows_core::HRESULT,
6018 pub GetDeferral: unsafe extern "system" fn(
6019 *mut core::ffi::c_void,
6020 *mut *mut core::ffi::c_void,
6021 ) -> windows_core::HRESULT,
6022}
6023pub trait ICoreWebView2ClientCertificateRequestedEventArgs_Impl:
6024 windows_core::IUnknownImpl
6025{
6026 fn Host(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
6027 fn Port(&self, value: *mut i32) -> windows_core::Result<()>;
6028 fn IsProxy(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
6029 fn AllowedCertificateAuthorities(&self) -> windows_core::Result<ICoreWebView2StringCollection>;
6030 fn MutuallyTrustedCertificates(
6031 &self,
6032 ) -> windows_core::Result<ICoreWebView2ClientCertificateCollection>;
6033 fn SelectedCertificate(&self) -> windows_core::Result<ICoreWebView2ClientCertificate>;
6034 fn SetSelectedCertificate(
6035 &self,
6036 value: windows_core::Ref<'_, ICoreWebView2ClientCertificate>,
6037 ) -> windows_core::Result<()>;
6038 fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
6039 fn SetCancel(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
6040 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
6041 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
6042 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
6043}
6044impl ICoreWebView2ClientCertificateRequestedEventArgs_Vtbl {
6045 pub const fn new<
6046 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6047 const OFFSET: isize,
6048 >() -> Self {
6049 unsafe extern "system" fn Host<
6050 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6051 const OFFSET: isize,
6052 >(
6053 this: *mut core::ffi::c_void,
6054 value: *mut windows_core::PWSTR,
6055 ) -> windows_core::HRESULT {
6056 unsafe {
6057 let this: &Identity =
6058 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6059 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::Host(
6060 this,
6061 core::mem::transmute_copy(&value),
6062 )
6063 .into()
6064 }
6065 }
6066 unsafe extern "system" fn Port<
6067 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6068 const OFFSET: isize,
6069 >(
6070 this: *mut core::ffi::c_void,
6071 value: *mut i32,
6072 ) -> windows_core::HRESULT {
6073 unsafe {
6074 let this: &Identity =
6075 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6076 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::Port(
6077 this,
6078 core::mem::transmute_copy(&value),
6079 )
6080 .into()
6081 }
6082 }
6083 unsafe extern "system" fn IsProxy<
6084 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6085 const OFFSET: isize,
6086 >(
6087 this: *mut core::ffi::c_void,
6088 value: *mut windows_core::BOOL,
6089 ) -> windows_core::HRESULT {
6090 unsafe {
6091 let this: &Identity =
6092 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6093 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::IsProxy(
6094 this,
6095 core::mem::transmute_copy(&value),
6096 )
6097 .into()
6098 }
6099 }
6100 unsafe extern "system" fn AllowedCertificateAuthorities<
6101 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6102 const OFFSET: isize,
6103 >(
6104 this: *mut core::ffi::c_void,
6105 value: *mut *mut core::ffi::c_void,
6106 ) -> windows_core::HRESULT {
6107 unsafe {
6108 let this: &Identity =
6109 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6110 match ICoreWebView2ClientCertificateRequestedEventArgs_Impl:: AllowedCertificateAuthorities ( this , ) { Ok ( ok__ ) => { value . write ( core::mem::transmute ( ok__ ) ) ; windows_core::HRESULT ( 0 ) } Err ( err ) => err . into ( ) }
6111 }
6112 }
6113 unsafe extern "system" fn MutuallyTrustedCertificates<
6114 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6115 const OFFSET: isize,
6116 >(
6117 this: *mut core::ffi::c_void,
6118 value: *mut *mut core::ffi::c_void,
6119 ) -> windows_core::HRESULT {
6120 unsafe {
6121 let this: &Identity =
6122 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6123 match ICoreWebView2ClientCertificateRequestedEventArgs_Impl:: MutuallyTrustedCertificates ( this , ) { Ok ( ok__ ) => { value . write ( core::mem::transmute ( ok__ ) ) ; windows_core::HRESULT ( 0 ) } Err ( err ) => err . into ( ) }
6124 }
6125 }
6126 unsafe extern "system" fn SelectedCertificate<
6127 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6128 const OFFSET: isize,
6129 >(
6130 this: *mut core::ffi::c_void,
6131 value: *mut *mut core::ffi::c_void,
6132 ) -> windows_core::HRESULT {
6133 unsafe {
6134 let this: &Identity =
6135 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6136 match ICoreWebView2ClientCertificateRequestedEventArgs_Impl::SelectedCertificate(
6137 this,
6138 ) {
6139 Ok(ok__) => {
6140 value.write(core::mem::transmute(ok__));
6141 windows_core::HRESULT(0)
6142 }
6143 Err(err) => err.into(),
6144 }
6145 }
6146 }
6147 unsafe extern "system" fn SetSelectedCertificate<
6148 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6149 const OFFSET: isize,
6150 >(
6151 this: *mut core::ffi::c_void,
6152 value: *mut core::ffi::c_void,
6153 ) -> windows_core::HRESULT {
6154 unsafe {
6155 let this: &Identity =
6156 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6157 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::SetSelectedCertificate(
6158 this,
6159 core::mem::transmute_copy(&value),
6160 )
6161 .into()
6162 }
6163 }
6164 unsafe extern "system" fn Cancel<
6165 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6166 const OFFSET: isize,
6167 >(
6168 this: *mut core::ffi::c_void,
6169 value: *mut windows_core::BOOL,
6170 ) -> windows_core::HRESULT {
6171 unsafe {
6172 let this: &Identity =
6173 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6174 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::Cancel(
6175 this,
6176 core::mem::transmute_copy(&value),
6177 )
6178 .into()
6179 }
6180 }
6181 unsafe extern "system" fn SetCancel<
6182 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6183 const OFFSET: isize,
6184 >(
6185 this: *mut core::ffi::c_void,
6186 value: windows_core::BOOL,
6187 ) -> windows_core::HRESULT {
6188 unsafe {
6189 let this: &Identity =
6190 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6191 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::SetCancel(
6192 this,
6193 core::mem::transmute_copy(&value),
6194 )
6195 .into()
6196 }
6197 }
6198 unsafe extern "system" fn Handled<
6199 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6200 const OFFSET: isize,
6201 >(
6202 this: *mut core::ffi::c_void,
6203 value: *mut windows_core::BOOL,
6204 ) -> windows_core::HRESULT {
6205 unsafe {
6206 let this: &Identity =
6207 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6208 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::Handled(
6209 this,
6210 core::mem::transmute_copy(&value),
6211 )
6212 .into()
6213 }
6214 }
6215 unsafe extern "system" fn SetHandled<
6216 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6217 const OFFSET: isize,
6218 >(
6219 this: *mut core::ffi::c_void,
6220 value: windows_core::BOOL,
6221 ) -> windows_core::HRESULT {
6222 unsafe {
6223 let this: &Identity =
6224 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6225 ICoreWebView2ClientCertificateRequestedEventArgs_Impl::SetHandled(
6226 this,
6227 core::mem::transmute_copy(&value),
6228 )
6229 .into()
6230 }
6231 }
6232 unsafe extern "system" fn GetDeferral<
6233 Identity: ICoreWebView2ClientCertificateRequestedEventArgs_Impl,
6234 const OFFSET: isize,
6235 >(
6236 this: *mut core::ffi::c_void,
6237 deferral: *mut *mut core::ffi::c_void,
6238 ) -> windows_core::HRESULT {
6239 unsafe {
6240 let this: &Identity =
6241 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6242 match ICoreWebView2ClientCertificateRequestedEventArgs_Impl::GetDeferral(this) {
6243 Ok(ok__) => {
6244 deferral.write(core::mem::transmute(ok__));
6245 windows_core::HRESULT(0)
6246 }
6247 Err(err) => err.into(),
6248 }
6249 }
6250 }
6251 Self {
6252 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6253 Host: Host::<Identity, OFFSET>,
6254 Port: Port::<Identity, OFFSET>,
6255 IsProxy: IsProxy::<Identity, OFFSET>,
6256 AllowedCertificateAuthorities: AllowedCertificateAuthorities::<Identity, OFFSET>,
6257 MutuallyTrustedCertificates: MutuallyTrustedCertificates::<Identity, OFFSET>,
6258 SelectedCertificate: SelectedCertificate::<Identity, OFFSET>,
6259 SetSelectedCertificate: SetSelectedCertificate::<Identity, OFFSET>,
6260 Cancel: Cancel::<Identity, OFFSET>,
6261 SetCancel: SetCancel::<Identity, OFFSET>,
6262 Handled: Handled::<Identity, OFFSET>,
6263 SetHandled: SetHandled::<Identity, OFFSET>,
6264 GetDeferral: GetDeferral::<Identity, OFFSET>,
6265 }
6266 }
6267 pub fn matches(iid: &windows_core::GUID) -> bool {
6268 iid == &<ICoreWebView2ClientCertificateRequestedEventArgs as windows_core::Interface>::IID
6269 }
6270}
6271impl windows_core::RuntimeName for ICoreWebView2ClientCertificateRequestedEventArgs {}
6272windows_core::imp::define_interface!(
6273 ICoreWebView2ClientCertificateRequestedEventHandler,
6274 ICoreWebView2ClientCertificateRequestedEventHandler_Vtbl,
6275 0xd7175ba2_bcc3_11eb_8529_0242ac130003
6276);
6277windows_core::imp::interface_hierarchy!(
6278 ICoreWebView2ClientCertificateRequestedEventHandler,
6279 windows_core::IUnknown
6280);
6281impl ICoreWebView2ClientCertificateRequestedEventHandler {
6282 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
6283 where
6284 P0: windows_core::Param<ICoreWebView2>,
6285 P1: windows_core::Param<ICoreWebView2ClientCertificateRequestedEventArgs>,
6286 {
6287 unsafe {
6288 (windows_core::Interface::vtable(self).Invoke)(
6289 windows_core::Interface::as_raw(self),
6290 sender.param().abi(),
6291 args.param().abi(),
6292 )
6293 .ok()
6294 }
6295 }
6296}
6297#[repr(C)]
6298#[doc(hidden)]
6299pub struct ICoreWebView2ClientCertificateRequestedEventHandler_Vtbl {
6300 pub base__: windows_core::IUnknown_Vtbl,
6301 pub Invoke: unsafe extern "system" fn(
6302 *mut core::ffi::c_void,
6303 *mut core::ffi::c_void,
6304 *mut core::ffi::c_void,
6305 ) -> windows_core::HRESULT,
6306}
6307pub trait ICoreWebView2ClientCertificateRequestedEventHandler_Impl:
6308 windows_core::IUnknownImpl
6309{
6310 fn Invoke(
6311 &self,
6312 sender: windows_core::Ref<'_, ICoreWebView2>,
6313 args: windows_core::Ref<'_, ICoreWebView2ClientCertificateRequestedEventArgs>,
6314 ) -> windows_core::Result<()>;
6315}
6316impl ICoreWebView2ClientCertificateRequestedEventHandler_Vtbl {
6317 pub const fn new<
6318 Identity: ICoreWebView2ClientCertificateRequestedEventHandler_Impl,
6319 const OFFSET: isize,
6320 >() -> Self {
6321 unsafe extern "system" fn Invoke<
6322 Identity: ICoreWebView2ClientCertificateRequestedEventHandler_Impl,
6323 const OFFSET: isize,
6324 >(
6325 this: *mut core::ffi::c_void,
6326 sender: *mut core::ffi::c_void,
6327 args: *mut core::ffi::c_void,
6328 ) -> windows_core::HRESULT {
6329 unsafe {
6330 let this: &Identity =
6331 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6332 ICoreWebView2ClientCertificateRequestedEventHandler_Impl::Invoke(
6333 this,
6334 core::mem::transmute_copy(&sender),
6335 core::mem::transmute_copy(&args),
6336 )
6337 .into()
6338 }
6339 }
6340 Self {
6341 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6342 Invoke: Invoke::<Identity, OFFSET>,
6343 }
6344 }
6345 pub fn matches(iid: &windows_core::GUID) -> bool {
6346 iid == & < ICoreWebView2ClientCertificateRequestedEventHandler as windows_core::Interface >::IID
6347 }
6348}
6349impl windows_core::RuntimeName for ICoreWebView2ClientCertificateRequestedEventHandler {}
6350windows_core::imp::define_interface!(
6351 ICoreWebView2CompositionController,
6352 ICoreWebView2CompositionController_Vtbl,
6353 0x3df9b733_b9ae_4a15_86b4_eb9ee9826469
6354);
6355windows_core::imp::interface_hierarchy!(ICoreWebView2CompositionController, windows_core::IUnknown);
6356impl ICoreWebView2CompositionController {
6357 pub unsafe fn RootVisualTarget(&self) -> windows_core::Result<windows_core::IUnknown> {
6358 unsafe {
6359 let mut result__ = core::mem::zeroed();
6360 (windows_core::Interface::vtable(self).RootVisualTarget)(
6361 windows_core::Interface::as_raw(self),
6362 &mut result__,
6363 )
6364 .and_then(|| windows_core::Type::from_abi(result__))
6365 }
6366 }
6367 pub unsafe fn SetRootVisualTarget<P0>(&self, target: P0) -> windows_core::Result<()>
6368 where
6369 P0: windows_core::Param<windows_core::IUnknown>,
6370 {
6371 unsafe {
6372 (windows_core::Interface::vtable(self).SetRootVisualTarget)(
6373 windows_core::Interface::as_raw(self),
6374 target.param().abi(),
6375 )
6376 .ok()
6377 }
6378 }
6379 pub unsafe fn SendMouseInput(
6380 &self,
6381 eventkind: COREWEBVIEW2_MOUSE_EVENT_KIND,
6382 virtualkeys: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
6383 mousedata: u32,
6384 point: windows::Win32::Foundation::POINT,
6385 ) -> windows_core::Result<()> {
6386 unsafe {
6387 (windows_core::Interface::vtable(self).SendMouseInput)(
6388 windows_core::Interface::as_raw(self),
6389 eventkind,
6390 virtualkeys,
6391 mousedata,
6392 core::mem::transmute(point),
6393 )
6394 .ok()
6395 }
6396 }
6397 pub unsafe fn SendPointerInput<P1>(
6398 &self,
6399 eventkind: COREWEBVIEW2_POINTER_EVENT_KIND,
6400 pointerinfo: P1,
6401 ) -> windows_core::Result<()>
6402 where
6403 P1: windows_core::Param<ICoreWebView2PointerInfo>,
6404 {
6405 unsafe {
6406 (windows_core::Interface::vtable(self).SendPointerInput)(
6407 windows_core::Interface::as_raw(self),
6408 eventkind,
6409 pointerinfo.param().abi(),
6410 )
6411 .ok()
6412 }
6413 }
6414 pub unsafe fn Cursor(
6415 &self,
6416 cursor: *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
6417 ) -> windows_core::Result<()> {
6418 unsafe {
6419 (windows_core::Interface::vtable(self).Cursor)(
6420 windows_core::Interface::as_raw(self),
6421 cursor as _,
6422 )
6423 .ok()
6424 }
6425 }
6426 pub unsafe fn SystemCursorId(&self, systemcursorid: *mut u32) -> windows_core::Result<()> {
6427 unsafe {
6428 (windows_core::Interface::vtable(self).SystemCursorId)(
6429 windows_core::Interface::as_raw(self),
6430 systemcursorid as _,
6431 )
6432 .ok()
6433 }
6434 }
6435 pub unsafe fn add_CursorChanged<P0>(
6436 &self,
6437 eventhandler: P0,
6438 token: *mut i64,
6439 ) -> windows_core::Result<()>
6440 where
6441 P0: windows_core::Param<ICoreWebView2CursorChangedEventHandler>,
6442 {
6443 unsafe {
6444 (windows_core::Interface::vtable(self).add_CursorChanged)(
6445 windows_core::Interface::as_raw(self),
6446 eventhandler.param().abi(),
6447 token as _,
6448 )
6449 .ok()
6450 }
6451 }
6452 pub unsafe fn remove_CursorChanged(&self, token: i64) -> windows_core::Result<()> {
6453 unsafe {
6454 (windows_core::Interface::vtable(self).remove_CursorChanged)(
6455 windows_core::Interface::as_raw(self),
6456 token,
6457 )
6458 .ok()
6459 }
6460 }
6461}
6462#[repr(C)]
6463#[doc(hidden)]
6464pub struct ICoreWebView2CompositionController_Vtbl {
6465 pub base__: windows_core::IUnknown_Vtbl,
6466 pub RootVisualTarget: unsafe extern "system" fn(
6467 *mut core::ffi::c_void,
6468 *mut *mut core::ffi::c_void,
6469 ) -> windows_core::HRESULT,
6470 pub SetRootVisualTarget: unsafe extern "system" fn(
6471 *mut core::ffi::c_void,
6472 *mut core::ffi::c_void,
6473 ) -> windows_core::HRESULT,
6474 pub SendMouseInput: unsafe extern "system" fn(
6475 *mut core::ffi::c_void,
6476 COREWEBVIEW2_MOUSE_EVENT_KIND,
6477 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
6478 u32,
6479 windows::Win32::Foundation::POINT,
6480 ) -> windows_core::HRESULT,
6481 pub SendPointerInput: unsafe extern "system" fn(
6482 *mut core::ffi::c_void,
6483 COREWEBVIEW2_POINTER_EVENT_KIND,
6484 *mut core::ffi::c_void,
6485 ) -> windows_core::HRESULT,
6486 pub Cursor: unsafe extern "system" fn(
6487 *mut core::ffi::c_void,
6488 *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
6489 ) -> windows_core::HRESULT,
6490 pub SystemCursorId:
6491 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
6492 pub add_CursorChanged: unsafe extern "system" fn(
6493 *mut core::ffi::c_void,
6494 *mut core::ffi::c_void,
6495 *mut i64,
6496 ) -> windows_core::HRESULT,
6497 pub remove_CursorChanged:
6498 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
6499}
6500pub trait ICoreWebView2CompositionController_Impl: windows_core::IUnknownImpl {
6501 fn RootVisualTarget(&self) -> windows_core::Result<windows_core::IUnknown>;
6502 fn SetRootVisualTarget(
6503 &self,
6504 target: windows_core::Ref<'_, windows_core::IUnknown>,
6505 ) -> windows_core::Result<()>;
6506 fn SendMouseInput(
6507 &self,
6508 eventkind: COREWEBVIEW2_MOUSE_EVENT_KIND,
6509 virtualkeys: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
6510 mousedata: u32,
6511 point: &windows::Win32::Foundation::POINT,
6512 ) -> windows_core::Result<()>;
6513 fn SendPointerInput(
6514 &self,
6515 eventkind: COREWEBVIEW2_POINTER_EVENT_KIND,
6516 pointerinfo: windows_core::Ref<'_, ICoreWebView2PointerInfo>,
6517 ) -> windows_core::Result<()>;
6518 fn Cursor(
6519 &self,
6520 cursor: *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
6521 ) -> windows_core::Result<()>;
6522 fn SystemCursorId(&self, systemcursorid: *mut u32) -> windows_core::Result<()>;
6523 fn add_CursorChanged(
6524 &self,
6525 eventhandler: windows_core::Ref<'_, ICoreWebView2CursorChangedEventHandler>,
6526 token: *mut i64,
6527 ) -> windows_core::Result<()>;
6528 fn remove_CursorChanged(&self, token: i64) -> windows_core::Result<()>;
6529}
6530impl ICoreWebView2CompositionController_Vtbl {
6531 pub const fn new<Identity: ICoreWebView2CompositionController_Impl, const OFFSET: isize>(
6532 ) -> Self {
6533 unsafe extern "system" fn RootVisualTarget<
6534 Identity: ICoreWebView2CompositionController_Impl,
6535 const OFFSET: isize,
6536 >(
6537 this: *mut core::ffi::c_void,
6538 target: *mut *mut core::ffi::c_void,
6539 ) -> windows_core::HRESULT {
6540 unsafe {
6541 let this: &Identity =
6542 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6543 match ICoreWebView2CompositionController_Impl::RootVisualTarget(this) {
6544 Ok(ok__) => {
6545 target.write(core::mem::transmute(ok__));
6546 windows_core::HRESULT(0)
6547 }
6548 Err(err) => err.into(),
6549 }
6550 }
6551 }
6552 unsafe extern "system" fn SetRootVisualTarget<
6553 Identity: ICoreWebView2CompositionController_Impl,
6554 const OFFSET: isize,
6555 >(
6556 this: *mut core::ffi::c_void,
6557 target: *mut core::ffi::c_void,
6558 ) -> windows_core::HRESULT {
6559 unsafe {
6560 let this: &Identity =
6561 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6562 ICoreWebView2CompositionController_Impl::SetRootVisualTarget(
6563 this,
6564 core::mem::transmute_copy(&target),
6565 )
6566 .into()
6567 }
6568 }
6569 unsafe extern "system" fn SendMouseInput<
6570 Identity: ICoreWebView2CompositionController_Impl,
6571 const OFFSET: isize,
6572 >(
6573 this: *mut core::ffi::c_void,
6574 eventkind: COREWEBVIEW2_MOUSE_EVENT_KIND,
6575 virtualkeys: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
6576 mousedata: u32,
6577 point: windows::Win32::Foundation::POINT,
6578 ) -> windows_core::HRESULT {
6579 unsafe {
6580 let this: &Identity =
6581 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6582 ICoreWebView2CompositionController_Impl::SendMouseInput(
6583 this,
6584 core::mem::transmute_copy(&eventkind),
6585 core::mem::transmute_copy(&virtualkeys),
6586 core::mem::transmute_copy(&mousedata),
6587 core::mem::transmute(&point),
6588 )
6589 .into()
6590 }
6591 }
6592 unsafe extern "system" fn SendPointerInput<
6593 Identity: ICoreWebView2CompositionController_Impl,
6594 const OFFSET: isize,
6595 >(
6596 this: *mut core::ffi::c_void,
6597 eventkind: COREWEBVIEW2_POINTER_EVENT_KIND,
6598 pointerinfo: *mut core::ffi::c_void,
6599 ) -> windows_core::HRESULT {
6600 unsafe {
6601 let this: &Identity =
6602 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6603 ICoreWebView2CompositionController_Impl::SendPointerInput(
6604 this,
6605 core::mem::transmute_copy(&eventkind),
6606 core::mem::transmute_copy(&pointerinfo),
6607 )
6608 .into()
6609 }
6610 }
6611 unsafe extern "system" fn Cursor<
6612 Identity: ICoreWebView2CompositionController_Impl,
6613 const OFFSET: isize,
6614 >(
6615 this: *mut core::ffi::c_void,
6616 cursor: *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
6617 ) -> windows_core::HRESULT {
6618 unsafe {
6619 let this: &Identity =
6620 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6621 ICoreWebView2CompositionController_Impl::Cursor(
6622 this,
6623 core::mem::transmute_copy(&cursor),
6624 )
6625 .into()
6626 }
6627 }
6628 unsafe extern "system" fn SystemCursorId<
6629 Identity: ICoreWebView2CompositionController_Impl,
6630 const OFFSET: isize,
6631 >(
6632 this: *mut core::ffi::c_void,
6633 systemcursorid: *mut u32,
6634 ) -> windows_core::HRESULT {
6635 unsafe {
6636 let this: &Identity =
6637 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6638 ICoreWebView2CompositionController_Impl::SystemCursorId(
6639 this,
6640 core::mem::transmute_copy(&systemcursorid),
6641 )
6642 .into()
6643 }
6644 }
6645 unsafe extern "system" fn add_CursorChanged<
6646 Identity: ICoreWebView2CompositionController_Impl,
6647 const OFFSET: isize,
6648 >(
6649 this: *mut core::ffi::c_void,
6650 eventhandler: *mut core::ffi::c_void,
6651 token: *mut i64,
6652 ) -> windows_core::HRESULT {
6653 unsafe {
6654 let this: &Identity =
6655 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6656 ICoreWebView2CompositionController_Impl::add_CursorChanged(
6657 this,
6658 core::mem::transmute_copy(&eventhandler),
6659 core::mem::transmute_copy(&token),
6660 )
6661 .into()
6662 }
6663 }
6664 unsafe extern "system" fn remove_CursorChanged<
6665 Identity: ICoreWebView2CompositionController_Impl,
6666 const OFFSET: isize,
6667 >(
6668 this: *mut core::ffi::c_void,
6669 token: i64,
6670 ) -> windows_core::HRESULT {
6671 unsafe {
6672 let this: &Identity =
6673 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6674 ICoreWebView2CompositionController_Impl::remove_CursorChanged(
6675 this,
6676 core::mem::transmute_copy(&token),
6677 )
6678 .into()
6679 }
6680 }
6681 Self {
6682 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6683 RootVisualTarget: RootVisualTarget::<Identity, OFFSET>,
6684 SetRootVisualTarget: SetRootVisualTarget::<Identity, OFFSET>,
6685 SendMouseInput: SendMouseInput::<Identity, OFFSET>,
6686 SendPointerInput: SendPointerInput::<Identity, OFFSET>,
6687 Cursor: Cursor::<Identity, OFFSET>,
6688 SystemCursorId: SystemCursorId::<Identity, OFFSET>,
6689 add_CursorChanged: add_CursorChanged::<Identity, OFFSET>,
6690 remove_CursorChanged: remove_CursorChanged::<Identity, OFFSET>,
6691 }
6692 }
6693 pub fn matches(iid: &windows_core::GUID) -> bool {
6694 iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
6695 }
6696}
6697impl windows_core::RuntimeName for ICoreWebView2CompositionController {}
6698windows_core::imp::define_interface!(
6699 ICoreWebView2CompositionController2,
6700 ICoreWebView2CompositionController2_Vtbl,
6701 0x0b6a3d24_49cb_4806_ba20_b5e0734a7b26
6702);
6703impl core::ops::Deref for ICoreWebView2CompositionController2 {
6704 type Target = ICoreWebView2CompositionController;
6705 fn deref(&self) -> &Self::Target {
6706 unsafe { core::mem::transmute(self) }
6707 }
6708}
6709windows_core::imp::interface_hierarchy!(
6710 ICoreWebView2CompositionController2,
6711 windows_core::IUnknown,
6712 ICoreWebView2CompositionController
6713);
6714impl ICoreWebView2CompositionController2 {
6715 pub unsafe fn AutomationProvider(&self) -> windows_core::Result<windows_core::IUnknown> {
6716 unsafe {
6717 let mut result__ = core::mem::zeroed();
6718 (windows_core::Interface::vtable(self).AutomationProvider)(
6719 windows_core::Interface::as_raw(self),
6720 &mut result__,
6721 )
6722 .and_then(|| windows_core::Type::from_abi(result__))
6723 }
6724 }
6725}
6726#[repr(C)]
6727#[doc(hidden)]
6728pub struct ICoreWebView2CompositionController2_Vtbl {
6729 pub base__: ICoreWebView2CompositionController_Vtbl,
6730 pub AutomationProvider: unsafe extern "system" fn(
6731 *mut core::ffi::c_void,
6732 *mut *mut core::ffi::c_void,
6733 ) -> windows_core::HRESULT,
6734}
6735pub trait ICoreWebView2CompositionController2_Impl:
6736 ICoreWebView2CompositionController_Impl
6737{
6738 fn AutomationProvider(&self) -> windows_core::Result<windows_core::IUnknown>;
6739}
6740impl ICoreWebView2CompositionController2_Vtbl {
6741 pub const fn new<Identity: ICoreWebView2CompositionController2_Impl, const OFFSET: isize>(
6742 ) -> Self {
6743 unsafe extern "system" fn AutomationProvider<
6744 Identity: ICoreWebView2CompositionController2_Impl,
6745 const OFFSET: isize,
6746 >(
6747 this: *mut core::ffi::c_void,
6748 value: *mut *mut core::ffi::c_void,
6749 ) -> windows_core::HRESULT {
6750 unsafe {
6751 let this: &Identity =
6752 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6753 match ICoreWebView2CompositionController2_Impl::AutomationProvider(this) {
6754 Ok(ok__) => {
6755 value.write(core::mem::transmute(ok__));
6756 windows_core::HRESULT(0)
6757 }
6758 Err(err) => err.into(),
6759 }
6760 }
6761 }
6762 Self {
6763 base__: ICoreWebView2CompositionController_Vtbl::new::<Identity, OFFSET>(),
6764 AutomationProvider: AutomationProvider::<Identity, OFFSET>,
6765 }
6766 }
6767 pub fn matches(iid: &windows_core::GUID) -> bool {
6768 iid == &<ICoreWebView2CompositionController2 as windows_core::Interface>::IID
6769 || iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
6770 }
6771}
6772impl windows_core::RuntimeName for ICoreWebView2CompositionController2 {}
6773windows_core::imp::define_interface!(
6774 ICoreWebView2CompositionController3,
6775 ICoreWebView2CompositionController3_Vtbl,
6776 0x9570570e_4d76_4361_9ee1_f04d0dbdfb1e
6777);
6778impl core::ops::Deref for ICoreWebView2CompositionController3 {
6779 type Target = ICoreWebView2CompositionController2;
6780 fn deref(&self) -> &Self::Target {
6781 unsafe { core::mem::transmute(self) }
6782 }
6783}
6784windows_core::imp::interface_hierarchy!(
6785 ICoreWebView2CompositionController3,
6786 windows_core::IUnknown,
6787 ICoreWebView2CompositionController,
6788 ICoreWebView2CompositionController2
6789);
6790impl ICoreWebView2CompositionController3 {
6791 pub unsafe fn DragEnter<P0>(
6792 &self,
6793 dataobject: P0,
6794 keystate: u32,
6795 point: windows::Win32::Foundation::POINT,
6796 effect: *mut u32,
6797 ) -> windows_core::Result<()>
6798 where
6799 P0: windows_core::Param<windows::Win32::System::Com::IDataObject>,
6800 {
6801 unsafe {
6802 (windows_core::Interface::vtable(self).DragEnter)(
6803 windows_core::Interface::as_raw(self),
6804 dataobject.param().abi(),
6805 keystate,
6806 core::mem::transmute(point),
6807 effect as _,
6808 )
6809 .ok()
6810 }
6811 }
6812 pub unsafe fn DragLeave(&self) -> windows_core::Result<()> {
6813 unsafe {
6814 (windows_core::Interface::vtable(self).DragLeave)(windows_core::Interface::as_raw(self))
6815 .ok()
6816 }
6817 }
6818 pub unsafe fn DragOver(
6819 &self,
6820 keystate: u32,
6821 point: windows::Win32::Foundation::POINT,
6822 effect: *mut u32,
6823 ) -> windows_core::Result<()> {
6824 unsafe {
6825 (windows_core::Interface::vtable(self).DragOver)(
6826 windows_core::Interface::as_raw(self),
6827 keystate,
6828 core::mem::transmute(point),
6829 effect as _,
6830 )
6831 .ok()
6832 }
6833 }
6834 pub unsafe fn Drop<P0>(
6835 &self,
6836 dataobject: P0,
6837 keystate: u32,
6838 point: windows::Win32::Foundation::POINT,
6839 effect: *mut u32,
6840 ) -> windows_core::Result<()>
6841 where
6842 P0: windows_core::Param<windows::Win32::System::Com::IDataObject>,
6843 {
6844 unsafe {
6845 (windows_core::Interface::vtable(self).Drop)(
6846 windows_core::Interface::as_raw(self),
6847 dataobject.param().abi(),
6848 keystate,
6849 core::mem::transmute(point),
6850 effect as _,
6851 )
6852 .ok()
6853 }
6854 }
6855}
6856#[repr(C)]
6857#[doc(hidden)]
6858pub struct ICoreWebView2CompositionController3_Vtbl {
6859 pub base__: ICoreWebView2CompositionController2_Vtbl,
6860 pub DragEnter: unsafe extern "system" fn(
6861 *mut core::ffi::c_void,
6862 *mut core::ffi::c_void,
6863 u32,
6864 windows::Win32::Foundation::POINT,
6865 *mut u32,
6866 ) -> windows_core::HRESULT,
6867 pub DragLeave: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
6868 pub DragOver: unsafe extern "system" fn(
6869 *mut core::ffi::c_void,
6870 u32,
6871 windows::Win32::Foundation::POINT,
6872 *mut u32,
6873 ) -> windows_core::HRESULT,
6874 pub Drop: unsafe extern "system" fn(
6875 *mut core::ffi::c_void,
6876 *mut core::ffi::c_void,
6877 u32,
6878 windows::Win32::Foundation::POINT,
6879 *mut u32,
6880 ) -> windows_core::HRESULT,
6881}
6882pub trait ICoreWebView2CompositionController3_Impl:
6883 ICoreWebView2CompositionController2_Impl
6884{
6885 fn DragEnter(
6886 &self,
6887 dataobject: windows_core::Ref<'_, windows::Win32::System::Com::IDataObject>,
6888 keystate: u32,
6889 point: &windows::Win32::Foundation::POINT,
6890 effect: *mut u32,
6891 ) -> windows_core::Result<()>;
6892 fn DragLeave(&self) -> windows_core::Result<()>;
6893 fn DragOver(
6894 &self,
6895 keystate: u32,
6896 point: &windows::Win32::Foundation::POINT,
6897 effect: *mut u32,
6898 ) -> windows_core::Result<()>;
6899 fn Drop(
6900 &self,
6901 dataobject: windows_core::Ref<'_, windows::Win32::System::Com::IDataObject>,
6902 keystate: u32,
6903 point: &windows::Win32::Foundation::POINT,
6904 effect: *mut u32,
6905 ) -> windows_core::Result<()>;
6906}
6907impl ICoreWebView2CompositionController3_Vtbl {
6908 pub const fn new<Identity: ICoreWebView2CompositionController3_Impl, const OFFSET: isize>(
6909 ) -> Self {
6910 unsafe extern "system" fn DragEnter<
6911 Identity: ICoreWebView2CompositionController3_Impl,
6912 const OFFSET: isize,
6913 >(
6914 this: *mut core::ffi::c_void,
6915 dataobject: *mut core::ffi::c_void,
6916 keystate: u32,
6917 point: windows::Win32::Foundation::POINT,
6918 effect: *mut u32,
6919 ) -> windows_core::HRESULT {
6920 unsafe {
6921 let this: &Identity =
6922 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6923 ICoreWebView2CompositionController3_Impl::DragEnter(
6924 this,
6925 core::mem::transmute_copy(&dataobject),
6926 core::mem::transmute_copy(&keystate),
6927 core::mem::transmute(&point),
6928 core::mem::transmute_copy(&effect),
6929 )
6930 .into()
6931 }
6932 }
6933 unsafe extern "system" fn DragLeave<
6934 Identity: ICoreWebView2CompositionController3_Impl,
6935 const OFFSET: isize,
6936 >(
6937 this: *mut core::ffi::c_void,
6938 ) -> windows_core::HRESULT {
6939 unsafe {
6940 let this: &Identity =
6941 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6942 ICoreWebView2CompositionController3_Impl::DragLeave(this).into()
6943 }
6944 }
6945 unsafe extern "system" fn DragOver<
6946 Identity: ICoreWebView2CompositionController3_Impl,
6947 const OFFSET: isize,
6948 >(
6949 this: *mut core::ffi::c_void,
6950 keystate: u32,
6951 point: windows::Win32::Foundation::POINT,
6952 effect: *mut u32,
6953 ) -> windows_core::HRESULT {
6954 unsafe {
6955 let this: &Identity =
6956 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6957 ICoreWebView2CompositionController3_Impl::DragOver(
6958 this,
6959 core::mem::transmute_copy(&keystate),
6960 core::mem::transmute(&point),
6961 core::mem::transmute_copy(&effect),
6962 )
6963 .into()
6964 }
6965 }
6966 unsafe extern "system" fn Drop<
6967 Identity: ICoreWebView2CompositionController3_Impl,
6968 const OFFSET: isize,
6969 >(
6970 this: *mut core::ffi::c_void,
6971 dataobject: *mut core::ffi::c_void,
6972 keystate: u32,
6973 point: windows::Win32::Foundation::POINT,
6974 effect: *mut u32,
6975 ) -> windows_core::HRESULT {
6976 unsafe {
6977 let this: &Identity =
6978 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6979 ICoreWebView2CompositionController3_Impl::Drop(
6980 this,
6981 core::mem::transmute_copy(&dataobject),
6982 core::mem::transmute_copy(&keystate),
6983 core::mem::transmute(&point),
6984 core::mem::transmute_copy(&effect),
6985 )
6986 .into()
6987 }
6988 }
6989 Self {
6990 base__: ICoreWebView2CompositionController2_Vtbl::new::<Identity, OFFSET>(),
6991 DragEnter: DragEnter::<Identity, OFFSET>,
6992 DragLeave: DragLeave::<Identity, OFFSET>,
6993 DragOver: DragOver::<Identity, OFFSET>,
6994 Drop: Drop::<Identity, OFFSET>,
6995 }
6996 }
6997 pub fn matches(iid: &windows_core::GUID) -> bool {
6998 iid == &<ICoreWebView2CompositionController3 as windows_core::Interface>::IID
6999 || iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
7000 || iid == &<ICoreWebView2CompositionController2 as windows_core::Interface>::IID
7001 }
7002}
7003impl windows_core::RuntimeName for ICoreWebView2CompositionController3 {}
7004windows_core::imp::define_interface!(
7005 ICoreWebView2CompositionController4,
7006 ICoreWebView2CompositionController4_Vtbl,
7007 0x7c367b9b_3d2b_450f_9e58_d61a20f486aa
7008);
7009impl core::ops::Deref for ICoreWebView2CompositionController4 {
7010 type Target = ICoreWebView2CompositionController3;
7011 fn deref(&self) -> &Self::Target {
7012 unsafe { core::mem::transmute(self) }
7013 }
7014}
7015windows_core::imp::interface_hierarchy!(
7016 ICoreWebView2CompositionController4,
7017 windows_core::IUnknown,
7018 ICoreWebView2CompositionController,
7019 ICoreWebView2CompositionController2,
7020 ICoreWebView2CompositionController3
7021);
7022impl ICoreWebView2CompositionController4 {
7023 pub unsafe fn GetNonClientRegionAtPoint(
7024 &self,
7025 point: windows::Win32::Foundation::POINT,
7026 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7027 ) -> windows_core::Result<()> {
7028 unsafe {
7029 (windows_core::Interface::vtable(self).GetNonClientRegionAtPoint)(
7030 windows_core::Interface::as_raw(self),
7031 core::mem::transmute(point),
7032 value as _,
7033 )
7034 .ok()
7035 }
7036 }
7037 pub unsafe fn QueryNonClientRegion(
7038 &self,
7039 kind: COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7040 ) -> windows_core::Result<ICoreWebView2RegionRectCollectionView> {
7041 unsafe {
7042 let mut result__ = core::mem::zeroed();
7043 (windows_core::Interface::vtable(self).QueryNonClientRegion)(
7044 windows_core::Interface::as_raw(self),
7045 kind,
7046 &mut result__,
7047 )
7048 .and_then(|| windows_core::Type::from_abi(result__))
7049 }
7050 }
7051 pub unsafe fn add_NonClientRegionChanged<P0>(
7052 &self,
7053 eventhandler: P0,
7054 token: *mut i64,
7055 ) -> windows_core::Result<()>
7056 where
7057 P0: windows_core::Param<ICoreWebView2NonClientRegionChangedEventHandler>,
7058 {
7059 unsafe {
7060 (windows_core::Interface::vtable(self).add_NonClientRegionChanged)(
7061 windows_core::Interface::as_raw(self),
7062 eventhandler.param().abi(),
7063 token as _,
7064 )
7065 .ok()
7066 }
7067 }
7068 pub unsafe fn remove_NonClientRegionChanged(&self, token: i64) -> windows_core::Result<()> {
7069 unsafe {
7070 (windows_core::Interface::vtable(self).remove_NonClientRegionChanged)(
7071 windows_core::Interface::as_raw(self),
7072 token,
7073 )
7074 .ok()
7075 }
7076 }
7077}
7078#[repr(C)]
7079#[doc(hidden)]
7080pub struct ICoreWebView2CompositionController4_Vtbl {
7081 pub base__: ICoreWebView2CompositionController3_Vtbl,
7082 pub GetNonClientRegionAtPoint: unsafe extern "system" fn(
7083 *mut core::ffi::c_void,
7084 windows::Win32::Foundation::POINT,
7085 *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7086 ) -> windows_core::HRESULT,
7087 pub QueryNonClientRegion: unsafe extern "system" fn(
7088 *mut core::ffi::c_void,
7089 COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7090 *mut *mut core::ffi::c_void,
7091 ) -> windows_core::HRESULT,
7092 pub add_NonClientRegionChanged: unsafe extern "system" fn(
7093 *mut core::ffi::c_void,
7094 *mut core::ffi::c_void,
7095 *mut i64,
7096 ) -> windows_core::HRESULT,
7097 pub remove_NonClientRegionChanged:
7098 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
7099}
7100pub trait ICoreWebView2CompositionController4_Impl:
7101 ICoreWebView2CompositionController3_Impl
7102{
7103 fn GetNonClientRegionAtPoint(
7104 &self,
7105 point: &windows::Win32::Foundation::POINT,
7106 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7107 ) -> windows_core::Result<()>;
7108 fn QueryNonClientRegion(
7109 &self,
7110 kind: COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7111 ) -> windows_core::Result<ICoreWebView2RegionRectCollectionView>;
7112 fn add_NonClientRegionChanged(
7113 &self,
7114 eventhandler: windows_core::Ref<'_, ICoreWebView2NonClientRegionChangedEventHandler>,
7115 token: *mut i64,
7116 ) -> windows_core::Result<()>;
7117 fn remove_NonClientRegionChanged(&self, token: i64) -> windows_core::Result<()>;
7118}
7119impl ICoreWebView2CompositionController4_Vtbl {
7120 pub const fn new<Identity: ICoreWebView2CompositionController4_Impl, const OFFSET: isize>(
7121 ) -> Self {
7122 unsafe extern "system" fn GetNonClientRegionAtPoint<
7123 Identity: ICoreWebView2CompositionController4_Impl,
7124 const OFFSET: isize,
7125 >(
7126 this: *mut core::ffi::c_void,
7127 point: windows::Win32::Foundation::POINT,
7128 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7129 ) -> windows_core::HRESULT {
7130 unsafe {
7131 let this: &Identity =
7132 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7133 ICoreWebView2CompositionController4_Impl::GetNonClientRegionAtPoint(
7134 this,
7135 core::mem::transmute(&point),
7136 core::mem::transmute_copy(&value),
7137 )
7138 .into()
7139 }
7140 }
7141 unsafe extern "system" fn QueryNonClientRegion<
7142 Identity: ICoreWebView2CompositionController4_Impl,
7143 const OFFSET: isize,
7144 >(
7145 this: *mut core::ffi::c_void,
7146 kind: COREWEBVIEW2_NON_CLIENT_REGION_KIND,
7147 rects: *mut *mut core::ffi::c_void,
7148 ) -> windows_core::HRESULT {
7149 unsafe {
7150 let this: &Identity =
7151 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7152 match ICoreWebView2CompositionController4_Impl::QueryNonClientRegion(
7153 this,
7154 core::mem::transmute_copy(&kind),
7155 ) {
7156 Ok(ok__) => {
7157 rects.write(core::mem::transmute(ok__));
7158 windows_core::HRESULT(0)
7159 }
7160 Err(err) => err.into(),
7161 }
7162 }
7163 }
7164 unsafe extern "system" fn add_NonClientRegionChanged<
7165 Identity: ICoreWebView2CompositionController4_Impl,
7166 const OFFSET: isize,
7167 >(
7168 this: *mut core::ffi::c_void,
7169 eventhandler: *mut core::ffi::c_void,
7170 token: *mut i64,
7171 ) -> windows_core::HRESULT {
7172 unsafe {
7173 let this: &Identity =
7174 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7175 ICoreWebView2CompositionController4_Impl::add_NonClientRegionChanged(
7176 this,
7177 core::mem::transmute_copy(&eventhandler),
7178 core::mem::transmute_copy(&token),
7179 )
7180 .into()
7181 }
7182 }
7183 unsafe extern "system" fn remove_NonClientRegionChanged<
7184 Identity: ICoreWebView2CompositionController4_Impl,
7185 const OFFSET: isize,
7186 >(
7187 this: *mut core::ffi::c_void,
7188 token: i64,
7189 ) -> windows_core::HRESULT {
7190 unsafe {
7191 let this: &Identity =
7192 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7193 ICoreWebView2CompositionController4_Impl::remove_NonClientRegionChanged(
7194 this,
7195 core::mem::transmute_copy(&token),
7196 )
7197 .into()
7198 }
7199 }
7200 Self {
7201 base__: ICoreWebView2CompositionController3_Vtbl::new::<Identity, OFFSET>(),
7202 GetNonClientRegionAtPoint: GetNonClientRegionAtPoint::<Identity, OFFSET>,
7203 QueryNonClientRegion: QueryNonClientRegion::<Identity, OFFSET>,
7204 add_NonClientRegionChanged: add_NonClientRegionChanged::<Identity, OFFSET>,
7205 remove_NonClientRegionChanged: remove_NonClientRegionChanged::<Identity, OFFSET>,
7206 }
7207 }
7208 pub fn matches(iid: &windows_core::GUID) -> bool {
7209 iid == &<ICoreWebView2CompositionController4 as windows_core::Interface>::IID
7210 || iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
7211 || iid == &<ICoreWebView2CompositionController2 as windows_core::Interface>::IID
7212 || iid == &<ICoreWebView2CompositionController3 as windows_core::Interface>::IID
7213 }
7214}
7215impl windows_core::RuntimeName for ICoreWebView2CompositionController4 {}
7216windows_core::imp::define_interface!(
7217 ICoreWebView2ContainsFullScreenElementChangedEventHandler,
7218 ICoreWebView2ContainsFullScreenElementChangedEventHandler_Vtbl,
7219 0xe45d98b1_afef_45be_8baf_6c7728867f73
7220);
7221windows_core::imp::interface_hierarchy!(
7222 ICoreWebView2ContainsFullScreenElementChangedEventHandler,
7223 windows_core::IUnknown
7224);
7225impl ICoreWebView2ContainsFullScreenElementChangedEventHandler {
7226 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
7227 where
7228 P0: windows_core::Param<ICoreWebView2>,
7229 P1: windows_core::Param<windows_core::IUnknown>,
7230 {
7231 unsafe {
7232 (windows_core::Interface::vtable(self).Invoke)(
7233 windows_core::Interface::as_raw(self),
7234 sender.param().abi(),
7235 args.param().abi(),
7236 )
7237 .ok()
7238 }
7239 }
7240}
7241#[repr(C)]
7242#[doc(hidden)]
7243pub struct ICoreWebView2ContainsFullScreenElementChangedEventHandler_Vtbl {
7244 pub base__: windows_core::IUnknown_Vtbl,
7245 pub Invoke: unsafe extern "system" fn(
7246 *mut core::ffi::c_void,
7247 *mut core::ffi::c_void,
7248 *mut core::ffi::c_void,
7249 ) -> windows_core::HRESULT,
7250}
7251pub trait ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl:
7252 windows_core::IUnknownImpl
7253{
7254 fn Invoke(
7255 &self,
7256 sender: windows_core::Ref<'_, ICoreWebView2>,
7257 args: windows_core::Ref<'_, windows_core::IUnknown>,
7258 ) -> windows_core::Result<()>;
7259}
7260impl ICoreWebView2ContainsFullScreenElementChangedEventHandler_Vtbl {
7261 pub const fn new<
7262 Identity: ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl,
7263 const OFFSET: isize,
7264 >() -> Self {
7265 unsafe extern "system" fn Invoke<
7266 Identity: ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl,
7267 const OFFSET: isize,
7268 >(
7269 this: *mut core::ffi::c_void,
7270 sender: *mut core::ffi::c_void,
7271 args: *mut core::ffi::c_void,
7272 ) -> windows_core::HRESULT {
7273 unsafe {
7274 let this: &Identity =
7275 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7276 ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl::Invoke(
7277 this,
7278 core::mem::transmute_copy(&sender),
7279 core::mem::transmute_copy(&args),
7280 )
7281 .into()
7282 }
7283 }
7284 Self {
7285 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7286 Invoke: Invoke::<Identity, OFFSET>,
7287 }
7288 }
7289 pub fn matches(iid: &windows_core::GUID) -> bool {
7290 iid == & < ICoreWebView2ContainsFullScreenElementChangedEventHandler as windows_core::Interface >::IID
7291 }
7292}
7293impl windows_core::RuntimeName for ICoreWebView2ContainsFullScreenElementChangedEventHandler {}
7294windows_core::imp::define_interface!(
7295 ICoreWebView2ContentLoadingEventArgs,
7296 ICoreWebView2ContentLoadingEventArgs_Vtbl,
7297 0x0c8a1275_9b6b_4901_87ad_70df25bafa6e
7298);
7299windows_core::imp::interface_hierarchy!(
7300 ICoreWebView2ContentLoadingEventArgs,
7301 windows_core::IUnknown
7302);
7303impl ICoreWebView2ContentLoadingEventArgs {
7304 pub unsafe fn IsErrorPage(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
7305 unsafe {
7306 (windows_core::Interface::vtable(self).IsErrorPage)(
7307 windows_core::Interface::as_raw(self),
7308 value as _,
7309 )
7310 .ok()
7311 }
7312 }
7313 pub unsafe fn NavigationId(&self, value: *mut u64) -> windows_core::Result<()> {
7314 unsafe {
7315 (windows_core::Interface::vtable(self).NavigationId)(
7316 windows_core::Interface::as_raw(self),
7317 value as _,
7318 )
7319 .ok()
7320 }
7321 }
7322}
7323#[repr(C)]
7324#[doc(hidden)]
7325pub struct ICoreWebView2ContentLoadingEventArgs_Vtbl {
7326 pub base__: windows_core::IUnknown_Vtbl,
7327 pub IsErrorPage: unsafe extern "system" fn(
7328 *mut core::ffi::c_void,
7329 *mut windows_core::BOOL,
7330 ) -> windows_core::HRESULT,
7331 pub NavigationId:
7332 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
7333}
7334pub trait ICoreWebView2ContentLoadingEventArgs_Impl: windows_core::IUnknownImpl {
7335 fn IsErrorPage(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
7336 fn NavigationId(&self, value: *mut u64) -> windows_core::Result<()>;
7337}
7338impl ICoreWebView2ContentLoadingEventArgs_Vtbl {
7339 pub const fn new<Identity: ICoreWebView2ContentLoadingEventArgs_Impl, const OFFSET: isize>(
7340 ) -> Self {
7341 unsafe extern "system" fn IsErrorPage<
7342 Identity: ICoreWebView2ContentLoadingEventArgs_Impl,
7343 const OFFSET: isize,
7344 >(
7345 this: *mut core::ffi::c_void,
7346 value: *mut windows_core::BOOL,
7347 ) -> windows_core::HRESULT {
7348 unsafe {
7349 let this: &Identity =
7350 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7351 ICoreWebView2ContentLoadingEventArgs_Impl::IsErrorPage(
7352 this,
7353 core::mem::transmute_copy(&value),
7354 )
7355 .into()
7356 }
7357 }
7358 unsafe extern "system" fn NavigationId<
7359 Identity: ICoreWebView2ContentLoadingEventArgs_Impl,
7360 const OFFSET: isize,
7361 >(
7362 this: *mut core::ffi::c_void,
7363 value: *mut u64,
7364 ) -> windows_core::HRESULT {
7365 unsafe {
7366 let this: &Identity =
7367 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7368 ICoreWebView2ContentLoadingEventArgs_Impl::NavigationId(
7369 this,
7370 core::mem::transmute_copy(&value),
7371 )
7372 .into()
7373 }
7374 }
7375 Self {
7376 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7377 IsErrorPage: IsErrorPage::<Identity, OFFSET>,
7378 NavigationId: NavigationId::<Identity, OFFSET>,
7379 }
7380 }
7381 pub fn matches(iid: &windows_core::GUID) -> bool {
7382 iid == &<ICoreWebView2ContentLoadingEventArgs as windows_core::Interface>::IID
7383 }
7384}
7385impl windows_core::RuntimeName for ICoreWebView2ContentLoadingEventArgs {}
7386windows_core::imp::define_interface!(
7387 ICoreWebView2ContentLoadingEventHandler,
7388 ICoreWebView2ContentLoadingEventHandler_Vtbl,
7389 0x364471e7_f2be_4910_bdba_d72077d51c4b
7390);
7391windows_core::imp::interface_hierarchy!(
7392 ICoreWebView2ContentLoadingEventHandler,
7393 windows_core::IUnknown
7394);
7395impl ICoreWebView2ContentLoadingEventHandler {
7396 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
7397 where
7398 P0: windows_core::Param<ICoreWebView2>,
7399 P1: windows_core::Param<ICoreWebView2ContentLoadingEventArgs>,
7400 {
7401 unsafe {
7402 (windows_core::Interface::vtable(self).Invoke)(
7403 windows_core::Interface::as_raw(self),
7404 sender.param().abi(),
7405 args.param().abi(),
7406 )
7407 .ok()
7408 }
7409 }
7410}
7411#[repr(C)]
7412#[doc(hidden)]
7413pub struct ICoreWebView2ContentLoadingEventHandler_Vtbl {
7414 pub base__: windows_core::IUnknown_Vtbl,
7415 pub Invoke: unsafe extern "system" fn(
7416 *mut core::ffi::c_void,
7417 *mut core::ffi::c_void,
7418 *mut core::ffi::c_void,
7419 ) -> windows_core::HRESULT,
7420}
7421pub trait ICoreWebView2ContentLoadingEventHandler_Impl: windows_core::IUnknownImpl {
7422 fn Invoke(
7423 &self,
7424 sender: windows_core::Ref<'_, ICoreWebView2>,
7425 args: windows_core::Ref<'_, ICoreWebView2ContentLoadingEventArgs>,
7426 ) -> windows_core::Result<()>;
7427}
7428impl ICoreWebView2ContentLoadingEventHandler_Vtbl {
7429 pub const fn new<
7430 Identity: ICoreWebView2ContentLoadingEventHandler_Impl,
7431 const OFFSET: isize,
7432 >() -> Self {
7433 unsafe extern "system" fn Invoke<
7434 Identity: ICoreWebView2ContentLoadingEventHandler_Impl,
7435 const OFFSET: isize,
7436 >(
7437 this: *mut core::ffi::c_void,
7438 sender: *mut core::ffi::c_void,
7439 args: *mut core::ffi::c_void,
7440 ) -> windows_core::HRESULT {
7441 unsafe {
7442 let this: &Identity =
7443 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7444 ICoreWebView2ContentLoadingEventHandler_Impl::Invoke(
7445 this,
7446 core::mem::transmute_copy(&sender),
7447 core::mem::transmute_copy(&args),
7448 )
7449 .into()
7450 }
7451 }
7452 Self {
7453 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7454 Invoke: Invoke::<Identity, OFFSET>,
7455 }
7456 }
7457 pub fn matches(iid: &windows_core::GUID) -> bool {
7458 iid == &<ICoreWebView2ContentLoadingEventHandler as windows_core::Interface>::IID
7459 }
7460}
7461impl windows_core::RuntimeName for ICoreWebView2ContentLoadingEventHandler {}
7462windows_core::imp::define_interface!(
7463 ICoreWebView2ContextMenuItem,
7464 ICoreWebView2ContextMenuItem_Vtbl,
7465 0x7aed49e3_a93f_497a_811c_749c6b6b6c65
7466);
7467windows_core::imp::interface_hierarchy!(ICoreWebView2ContextMenuItem, windows_core::IUnknown);
7468impl ICoreWebView2ContextMenuItem {
7469 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
7470 unsafe {
7471 (windows_core::Interface::vtable(self).Name)(
7472 windows_core::Interface::as_raw(self),
7473 value as _,
7474 )
7475 .ok()
7476 }
7477 }
7478 pub unsafe fn Label(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
7479 unsafe {
7480 (windows_core::Interface::vtable(self).Label)(
7481 windows_core::Interface::as_raw(self),
7482 value as _,
7483 )
7484 .ok()
7485 }
7486 }
7487 pub unsafe fn CommandId(&self, value: *mut i32) -> windows_core::Result<()> {
7488 unsafe {
7489 (windows_core::Interface::vtable(self).CommandId)(
7490 windows_core::Interface::as_raw(self),
7491 value as _,
7492 )
7493 .ok()
7494 }
7495 }
7496 pub unsafe fn ShortcutKeyDescription(
7497 &self,
7498 value: *mut windows_core::PWSTR,
7499 ) -> windows_core::Result<()> {
7500 unsafe {
7501 (windows_core::Interface::vtable(self).ShortcutKeyDescription)(
7502 windows_core::Interface::as_raw(self),
7503 value as _,
7504 )
7505 .ok()
7506 }
7507 }
7508 pub unsafe fn Icon(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
7509 unsafe {
7510 let mut result__ = core::mem::zeroed();
7511 (windows_core::Interface::vtable(self).Icon)(
7512 windows_core::Interface::as_raw(self),
7513 &mut result__,
7514 )
7515 .and_then(|| windows_core::Type::from_abi(result__))
7516 }
7517 }
7518 pub unsafe fn Kind(
7519 &self,
7520 value: *mut COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
7521 ) -> windows_core::Result<()> {
7522 unsafe {
7523 (windows_core::Interface::vtable(self).Kind)(
7524 windows_core::Interface::as_raw(self),
7525 value as _,
7526 )
7527 .ok()
7528 }
7529 }
7530 pub unsafe fn SetIsEnabled(&self, value: bool) -> windows_core::Result<()> {
7531 unsafe {
7532 (windows_core::Interface::vtable(self).SetIsEnabled)(
7533 windows_core::Interface::as_raw(self),
7534 value.into(),
7535 )
7536 .ok()
7537 }
7538 }
7539 pub unsafe fn IsEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
7540 unsafe {
7541 (windows_core::Interface::vtable(self).IsEnabled)(
7542 windows_core::Interface::as_raw(self),
7543 value as _,
7544 )
7545 .ok()
7546 }
7547 }
7548 pub unsafe fn SetIsChecked(&self, value: bool) -> windows_core::Result<()> {
7549 unsafe {
7550 (windows_core::Interface::vtable(self).SetIsChecked)(
7551 windows_core::Interface::as_raw(self),
7552 value.into(),
7553 )
7554 .ok()
7555 }
7556 }
7557 pub unsafe fn IsChecked(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
7558 unsafe {
7559 (windows_core::Interface::vtable(self).IsChecked)(
7560 windows_core::Interface::as_raw(self),
7561 value as _,
7562 )
7563 .ok()
7564 }
7565 }
7566 pub unsafe fn Children(&self) -> windows_core::Result<ICoreWebView2ContextMenuItemCollection> {
7567 unsafe {
7568 let mut result__ = core::mem::zeroed();
7569 (windows_core::Interface::vtable(self).Children)(
7570 windows_core::Interface::as_raw(self),
7571 &mut result__,
7572 )
7573 .and_then(|| windows_core::Type::from_abi(result__))
7574 }
7575 }
7576 pub unsafe fn add_CustomItemSelected<P0>(
7577 &self,
7578 eventhandler: P0,
7579 token: *mut i64,
7580 ) -> windows_core::Result<()>
7581 where
7582 P0: windows_core::Param<ICoreWebView2CustomItemSelectedEventHandler>,
7583 {
7584 unsafe {
7585 (windows_core::Interface::vtable(self).add_CustomItemSelected)(
7586 windows_core::Interface::as_raw(self),
7587 eventhandler.param().abi(),
7588 token as _,
7589 )
7590 .ok()
7591 }
7592 }
7593 pub unsafe fn remove_CustomItemSelected(&self, token: i64) -> windows_core::Result<()> {
7594 unsafe {
7595 (windows_core::Interface::vtable(self).remove_CustomItemSelected)(
7596 windows_core::Interface::as_raw(self),
7597 token,
7598 )
7599 .ok()
7600 }
7601 }
7602}
7603#[repr(C)]
7604#[doc(hidden)]
7605pub struct ICoreWebView2ContextMenuItem_Vtbl {
7606 pub base__: windows_core::IUnknown_Vtbl,
7607 pub Name: unsafe extern "system" fn(
7608 *mut core::ffi::c_void,
7609 *mut windows_core::PWSTR,
7610 ) -> windows_core::HRESULT,
7611 pub Label: unsafe extern "system" fn(
7612 *mut core::ffi::c_void,
7613 *mut windows_core::PWSTR,
7614 ) -> windows_core::HRESULT,
7615 pub CommandId:
7616 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
7617 pub ShortcutKeyDescription: unsafe extern "system" fn(
7618 *mut core::ffi::c_void,
7619 *mut windows_core::PWSTR,
7620 ) -> windows_core::HRESULT,
7621 pub Icon: unsafe extern "system" fn(
7622 *mut core::ffi::c_void,
7623 *mut *mut core::ffi::c_void,
7624 ) -> windows_core::HRESULT,
7625 pub Kind: unsafe extern "system" fn(
7626 *mut core::ffi::c_void,
7627 *mut COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
7628 ) -> windows_core::HRESULT,
7629 pub SetIsEnabled: unsafe extern "system" fn(
7630 *mut core::ffi::c_void,
7631 windows_core::BOOL,
7632 ) -> windows_core::HRESULT,
7633 pub IsEnabled: unsafe extern "system" fn(
7634 *mut core::ffi::c_void,
7635 *mut windows_core::BOOL,
7636 ) -> windows_core::HRESULT,
7637 pub SetIsChecked: unsafe extern "system" fn(
7638 *mut core::ffi::c_void,
7639 windows_core::BOOL,
7640 ) -> windows_core::HRESULT,
7641 pub IsChecked: unsafe extern "system" fn(
7642 *mut core::ffi::c_void,
7643 *mut windows_core::BOOL,
7644 ) -> windows_core::HRESULT,
7645 pub Children: unsafe extern "system" fn(
7646 *mut core::ffi::c_void,
7647 *mut *mut core::ffi::c_void,
7648 ) -> windows_core::HRESULT,
7649 pub add_CustomItemSelected: unsafe extern "system" fn(
7650 *mut core::ffi::c_void,
7651 *mut core::ffi::c_void,
7652 *mut i64,
7653 ) -> windows_core::HRESULT,
7654 pub remove_CustomItemSelected:
7655 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
7656}
7657pub trait ICoreWebView2ContextMenuItem_Impl: windows_core::IUnknownImpl {
7658 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
7659 fn Label(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
7660 fn CommandId(&self, value: *mut i32) -> windows_core::Result<()>;
7661 fn ShortcutKeyDescription(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
7662 fn Icon(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
7663 fn Kind(&self, value: *mut COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND) -> windows_core::Result<()>;
7664 fn SetIsEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
7665 fn IsEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
7666 fn SetIsChecked(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
7667 fn IsChecked(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
7668 fn Children(&self) -> windows_core::Result<ICoreWebView2ContextMenuItemCollection>;
7669 fn add_CustomItemSelected(
7670 &self,
7671 eventhandler: windows_core::Ref<'_, ICoreWebView2CustomItemSelectedEventHandler>,
7672 token: *mut i64,
7673 ) -> windows_core::Result<()>;
7674 fn remove_CustomItemSelected(&self, token: i64) -> windows_core::Result<()>;
7675}
7676impl ICoreWebView2ContextMenuItem_Vtbl {
7677 pub const fn new<Identity: ICoreWebView2ContextMenuItem_Impl, const OFFSET: isize>() -> Self {
7678 unsafe extern "system" fn Name<
7679 Identity: ICoreWebView2ContextMenuItem_Impl,
7680 const OFFSET: isize,
7681 >(
7682 this: *mut core::ffi::c_void,
7683 value: *mut windows_core::PWSTR,
7684 ) -> windows_core::HRESULT {
7685 unsafe {
7686 let this: &Identity =
7687 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7688 ICoreWebView2ContextMenuItem_Impl::Name(this, core::mem::transmute_copy(&value))
7689 .into()
7690 }
7691 }
7692 unsafe extern "system" fn Label<
7693 Identity: ICoreWebView2ContextMenuItem_Impl,
7694 const OFFSET: isize,
7695 >(
7696 this: *mut core::ffi::c_void,
7697 value: *mut windows_core::PWSTR,
7698 ) -> windows_core::HRESULT {
7699 unsafe {
7700 let this: &Identity =
7701 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7702 ICoreWebView2ContextMenuItem_Impl::Label(this, core::mem::transmute_copy(&value))
7703 .into()
7704 }
7705 }
7706 unsafe extern "system" fn CommandId<
7707 Identity: ICoreWebView2ContextMenuItem_Impl,
7708 const OFFSET: isize,
7709 >(
7710 this: *mut core::ffi::c_void,
7711 value: *mut i32,
7712 ) -> windows_core::HRESULT {
7713 unsafe {
7714 let this: &Identity =
7715 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7716 ICoreWebView2ContextMenuItem_Impl::CommandId(
7717 this,
7718 core::mem::transmute_copy(&value),
7719 )
7720 .into()
7721 }
7722 }
7723 unsafe extern "system" fn ShortcutKeyDescription<
7724 Identity: ICoreWebView2ContextMenuItem_Impl,
7725 const OFFSET: isize,
7726 >(
7727 this: *mut core::ffi::c_void,
7728 value: *mut windows_core::PWSTR,
7729 ) -> windows_core::HRESULT {
7730 unsafe {
7731 let this: &Identity =
7732 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7733 ICoreWebView2ContextMenuItem_Impl::ShortcutKeyDescription(
7734 this,
7735 core::mem::transmute_copy(&value),
7736 )
7737 .into()
7738 }
7739 }
7740 unsafe extern "system" fn Icon<
7741 Identity: ICoreWebView2ContextMenuItem_Impl,
7742 const OFFSET: isize,
7743 >(
7744 this: *mut core::ffi::c_void,
7745 value: *mut *mut core::ffi::c_void,
7746 ) -> windows_core::HRESULT {
7747 unsafe {
7748 let this: &Identity =
7749 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7750 match ICoreWebView2ContextMenuItem_Impl::Icon(this) {
7751 Ok(ok__) => {
7752 value.write(core::mem::transmute(ok__));
7753 windows_core::HRESULT(0)
7754 }
7755 Err(err) => err.into(),
7756 }
7757 }
7758 }
7759 unsafe extern "system" fn Kind<
7760 Identity: ICoreWebView2ContextMenuItem_Impl,
7761 const OFFSET: isize,
7762 >(
7763 this: *mut core::ffi::c_void,
7764 value: *mut COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
7765 ) -> windows_core::HRESULT {
7766 unsafe {
7767 let this: &Identity =
7768 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7769 ICoreWebView2ContextMenuItem_Impl::Kind(this, core::mem::transmute_copy(&value))
7770 .into()
7771 }
7772 }
7773 unsafe extern "system" fn SetIsEnabled<
7774 Identity: ICoreWebView2ContextMenuItem_Impl,
7775 const OFFSET: isize,
7776 >(
7777 this: *mut core::ffi::c_void,
7778 value: windows_core::BOOL,
7779 ) -> windows_core::HRESULT {
7780 unsafe {
7781 let this: &Identity =
7782 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7783 ICoreWebView2ContextMenuItem_Impl::SetIsEnabled(
7784 this,
7785 core::mem::transmute_copy(&value),
7786 )
7787 .into()
7788 }
7789 }
7790 unsafe extern "system" fn IsEnabled<
7791 Identity: ICoreWebView2ContextMenuItem_Impl,
7792 const OFFSET: isize,
7793 >(
7794 this: *mut core::ffi::c_void,
7795 value: *mut windows_core::BOOL,
7796 ) -> windows_core::HRESULT {
7797 unsafe {
7798 let this: &Identity =
7799 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7800 ICoreWebView2ContextMenuItem_Impl::IsEnabled(
7801 this,
7802 core::mem::transmute_copy(&value),
7803 )
7804 .into()
7805 }
7806 }
7807 unsafe extern "system" fn SetIsChecked<
7808 Identity: ICoreWebView2ContextMenuItem_Impl,
7809 const OFFSET: isize,
7810 >(
7811 this: *mut core::ffi::c_void,
7812 value: windows_core::BOOL,
7813 ) -> windows_core::HRESULT {
7814 unsafe {
7815 let this: &Identity =
7816 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7817 ICoreWebView2ContextMenuItem_Impl::SetIsChecked(
7818 this,
7819 core::mem::transmute_copy(&value),
7820 )
7821 .into()
7822 }
7823 }
7824 unsafe extern "system" fn IsChecked<
7825 Identity: ICoreWebView2ContextMenuItem_Impl,
7826 const OFFSET: isize,
7827 >(
7828 this: *mut core::ffi::c_void,
7829 value: *mut windows_core::BOOL,
7830 ) -> windows_core::HRESULT {
7831 unsafe {
7832 let this: &Identity =
7833 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7834 ICoreWebView2ContextMenuItem_Impl::IsChecked(
7835 this,
7836 core::mem::transmute_copy(&value),
7837 )
7838 .into()
7839 }
7840 }
7841 unsafe extern "system" fn Children<
7842 Identity: ICoreWebView2ContextMenuItem_Impl,
7843 const OFFSET: isize,
7844 >(
7845 this: *mut core::ffi::c_void,
7846 value: *mut *mut core::ffi::c_void,
7847 ) -> windows_core::HRESULT {
7848 unsafe {
7849 let this: &Identity =
7850 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7851 match ICoreWebView2ContextMenuItem_Impl::Children(this) {
7852 Ok(ok__) => {
7853 value.write(core::mem::transmute(ok__));
7854 windows_core::HRESULT(0)
7855 }
7856 Err(err) => err.into(),
7857 }
7858 }
7859 }
7860 unsafe extern "system" fn add_CustomItemSelected<
7861 Identity: ICoreWebView2ContextMenuItem_Impl,
7862 const OFFSET: isize,
7863 >(
7864 this: *mut core::ffi::c_void,
7865 eventhandler: *mut core::ffi::c_void,
7866 token: *mut i64,
7867 ) -> windows_core::HRESULT {
7868 unsafe {
7869 let this: &Identity =
7870 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7871 ICoreWebView2ContextMenuItem_Impl::add_CustomItemSelected(
7872 this,
7873 core::mem::transmute_copy(&eventhandler),
7874 core::mem::transmute_copy(&token),
7875 )
7876 .into()
7877 }
7878 }
7879 unsafe extern "system" fn remove_CustomItemSelected<
7880 Identity: ICoreWebView2ContextMenuItem_Impl,
7881 const OFFSET: isize,
7882 >(
7883 this: *mut core::ffi::c_void,
7884 token: i64,
7885 ) -> windows_core::HRESULT {
7886 unsafe {
7887 let this: &Identity =
7888 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7889 ICoreWebView2ContextMenuItem_Impl::remove_CustomItemSelected(
7890 this,
7891 core::mem::transmute_copy(&token),
7892 )
7893 .into()
7894 }
7895 }
7896 Self {
7897 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7898 Name: Name::<Identity, OFFSET>,
7899 Label: Label::<Identity, OFFSET>,
7900 CommandId: CommandId::<Identity, OFFSET>,
7901 ShortcutKeyDescription: ShortcutKeyDescription::<Identity, OFFSET>,
7902 Icon: Icon::<Identity, OFFSET>,
7903 Kind: Kind::<Identity, OFFSET>,
7904 SetIsEnabled: SetIsEnabled::<Identity, OFFSET>,
7905 IsEnabled: IsEnabled::<Identity, OFFSET>,
7906 SetIsChecked: SetIsChecked::<Identity, OFFSET>,
7907 IsChecked: IsChecked::<Identity, OFFSET>,
7908 Children: Children::<Identity, OFFSET>,
7909 add_CustomItemSelected: add_CustomItemSelected::<Identity, OFFSET>,
7910 remove_CustomItemSelected: remove_CustomItemSelected::<Identity, OFFSET>,
7911 }
7912 }
7913 pub fn matches(iid: &windows_core::GUID) -> bool {
7914 iid == &<ICoreWebView2ContextMenuItem as windows_core::Interface>::IID
7915 }
7916}
7917impl windows_core::RuntimeName for ICoreWebView2ContextMenuItem {}
7918windows_core::imp::define_interface!(
7919 ICoreWebView2ContextMenuItemCollection,
7920 ICoreWebView2ContextMenuItemCollection_Vtbl,
7921 0xf562a2f5_c415_45cf_b909_d4b7c1e276d3
7922);
7923windows_core::imp::interface_hierarchy!(
7924 ICoreWebView2ContextMenuItemCollection,
7925 windows_core::IUnknown
7926);
7927impl ICoreWebView2ContextMenuItemCollection {
7928 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
7929 unsafe {
7930 (windows_core::Interface::vtable(self).Count)(
7931 windows_core::Interface::as_raw(self),
7932 value as _,
7933 )
7934 .ok()
7935 }
7936 }
7937 pub unsafe fn GetValueAtIndex(
7938 &self,
7939 index: u32,
7940 ) -> windows_core::Result<ICoreWebView2ContextMenuItem> {
7941 unsafe {
7942 let mut result__ = core::mem::zeroed();
7943 (windows_core::Interface::vtable(self).GetValueAtIndex)(
7944 windows_core::Interface::as_raw(self),
7945 index,
7946 &mut result__,
7947 )
7948 .and_then(|| windows_core::Type::from_abi(result__))
7949 }
7950 }
7951 pub unsafe fn RemoveValueAtIndex(&self, index: u32) -> windows_core::Result<()> {
7952 unsafe {
7953 (windows_core::Interface::vtable(self).RemoveValueAtIndex)(
7954 windows_core::Interface::as_raw(self),
7955 index,
7956 )
7957 .ok()
7958 }
7959 }
7960 pub unsafe fn InsertValueAtIndex<P1>(&self, index: u32, value: P1) -> windows_core::Result<()>
7961 where
7962 P1: windows_core::Param<ICoreWebView2ContextMenuItem>,
7963 {
7964 unsafe {
7965 (windows_core::Interface::vtable(self).InsertValueAtIndex)(
7966 windows_core::Interface::as_raw(self),
7967 index,
7968 value.param().abi(),
7969 )
7970 .ok()
7971 }
7972 }
7973}
7974#[repr(C)]
7975#[doc(hidden)]
7976pub struct ICoreWebView2ContextMenuItemCollection_Vtbl {
7977 pub base__: windows_core::IUnknown_Vtbl,
7978 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
7979 pub GetValueAtIndex: unsafe extern "system" fn(
7980 *mut core::ffi::c_void,
7981 u32,
7982 *mut *mut core::ffi::c_void,
7983 ) -> windows_core::HRESULT,
7984 pub RemoveValueAtIndex:
7985 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
7986 pub InsertValueAtIndex: unsafe extern "system" fn(
7987 *mut core::ffi::c_void,
7988 u32,
7989 *mut core::ffi::c_void,
7990 ) -> windows_core::HRESULT,
7991}
7992pub trait ICoreWebView2ContextMenuItemCollection_Impl: windows_core::IUnknownImpl {
7993 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
7994 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2ContextMenuItem>;
7995 fn RemoveValueAtIndex(&self, index: u32) -> windows_core::Result<()>;
7996 fn InsertValueAtIndex(
7997 &self,
7998 index: u32,
7999 value: windows_core::Ref<'_, ICoreWebView2ContextMenuItem>,
8000 ) -> windows_core::Result<()>;
8001}
8002impl ICoreWebView2ContextMenuItemCollection_Vtbl {
8003 pub const fn new<Identity: ICoreWebView2ContextMenuItemCollection_Impl, const OFFSET: isize>(
8004 ) -> Self {
8005 unsafe extern "system" fn Count<
8006 Identity: ICoreWebView2ContextMenuItemCollection_Impl,
8007 const OFFSET: isize,
8008 >(
8009 this: *mut core::ffi::c_void,
8010 value: *mut u32,
8011 ) -> windows_core::HRESULT {
8012 unsafe {
8013 let this: &Identity =
8014 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8015 ICoreWebView2ContextMenuItemCollection_Impl::Count(
8016 this,
8017 core::mem::transmute_copy(&value),
8018 )
8019 .into()
8020 }
8021 }
8022 unsafe extern "system" fn GetValueAtIndex<
8023 Identity: ICoreWebView2ContextMenuItemCollection_Impl,
8024 const OFFSET: isize,
8025 >(
8026 this: *mut core::ffi::c_void,
8027 index: u32,
8028 value: *mut *mut core::ffi::c_void,
8029 ) -> windows_core::HRESULT {
8030 unsafe {
8031 let this: &Identity =
8032 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8033 match ICoreWebView2ContextMenuItemCollection_Impl::GetValueAtIndex(
8034 this,
8035 core::mem::transmute_copy(&index),
8036 ) {
8037 Ok(ok__) => {
8038 value.write(core::mem::transmute(ok__));
8039 windows_core::HRESULT(0)
8040 }
8041 Err(err) => err.into(),
8042 }
8043 }
8044 }
8045 unsafe extern "system" fn RemoveValueAtIndex<
8046 Identity: ICoreWebView2ContextMenuItemCollection_Impl,
8047 const OFFSET: isize,
8048 >(
8049 this: *mut core::ffi::c_void,
8050 index: u32,
8051 ) -> windows_core::HRESULT {
8052 unsafe {
8053 let this: &Identity =
8054 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8055 ICoreWebView2ContextMenuItemCollection_Impl::RemoveValueAtIndex(
8056 this,
8057 core::mem::transmute_copy(&index),
8058 )
8059 .into()
8060 }
8061 }
8062 unsafe extern "system" fn InsertValueAtIndex<
8063 Identity: ICoreWebView2ContextMenuItemCollection_Impl,
8064 const OFFSET: isize,
8065 >(
8066 this: *mut core::ffi::c_void,
8067 index: u32,
8068 value: *mut core::ffi::c_void,
8069 ) -> windows_core::HRESULT {
8070 unsafe {
8071 let this: &Identity =
8072 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8073 ICoreWebView2ContextMenuItemCollection_Impl::InsertValueAtIndex(
8074 this,
8075 core::mem::transmute_copy(&index),
8076 core::mem::transmute_copy(&value),
8077 )
8078 .into()
8079 }
8080 }
8081 Self {
8082 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8083 Count: Count::<Identity, OFFSET>,
8084 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
8085 RemoveValueAtIndex: RemoveValueAtIndex::<Identity, OFFSET>,
8086 InsertValueAtIndex: InsertValueAtIndex::<Identity, OFFSET>,
8087 }
8088 }
8089 pub fn matches(iid: &windows_core::GUID) -> bool {
8090 iid == &<ICoreWebView2ContextMenuItemCollection as windows_core::Interface>::IID
8091 }
8092}
8093impl windows_core::RuntimeName for ICoreWebView2ContextMenuItemCollection {}
8094windows_core::imp::define_interface!(
8095 ICoreWebView2ContextMenuRequestedEventArgs,
8096 ICoreWebView2ContextMenuRequestedEventArgs_Vtbl,
8097 0xa1d309ee_c03f_11eb_8529_0242ac130003
8098);
8099windows_core::imp::interface_hierarchy!(
8100 ICoreWebView2ContextMenuRequestedEventArgs,
8101 windows_core::IUnknown
8102);
8103impl ICoreWebView2ContextMenuRequestedEventArgs {
8104 pub unsafe fn MenuItems(&self) -> windows_core::Result<ICoreWebView2ContextMenuItemCollection> {
8105 unsafe {
8106 let mut result__ = core::mem::zeroed();
8107 (windows_core::Interface::vtable(self).MenuItems)(
8108 windows_core::Interface::as_raw(self),
8109 &mut result__,
8110 )
8111 .and_then(|| windows_core::Type::from_abi(result__))
8112 }
8113 }
8114 pub unsafe fn ContextMenuTarget(&self) -> windows_core::Result<ICoreWebView2ContextMenuTarget> {
8115 unsafe {
8116 let mut result__ = core::mem::zeroed();
8117 (windows_core::Interface::vtable(self).ContextMenuTarget)(
8118 windows_core::Interface::as_raw(self),
8119 &mut result__,
8120 )
8121 .and_then(|| windows_core::Type::from_abi(result__))
8122 }
8123 }
8124 pub unsafe fn Location(
8125 &self,
8126 value: *mut windows::Win32::Foundation::POINT,
8127 ) -> windows_core::Result<()> {
8128 unsafe {
8129 (windows_core::Interface::vtable(self).Location)(
8130 windows_core::Interface::as_raw(self),
8131 value as _,
8132 )
8133 .ok()
8134 }
8135 }
8136 pub unsafe fn SetSelectedCommandId(&self, value: i32) -> windows_core::Result<()> {
8137 unsafe {
8138 (windows_core::Interface::vtable(self).SetSelectedCommandId)(
8139 windows_core::Interface::as_raw(self),
8140 value,
8141 )
8142 .ok()
8143 }
8144 }
8145 pub unsafe fn SelectedCommandId(&self, value: *mut i32) -> windows_core::Result<()> {
8146 unsafe {
8147 (windows_core::Interface::vtable(self).SelectedCommandId)(
8148 windows_core::Interface::as_raw(self),
8149 value as _,
8150 )
8151 .ok()
8152 }
8153 }
8154 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
8155 unsafe {
8156 (windows_core::Interface::vtable(self).SetHandled)(
8157 windows_core::Interface::as_raw(self),
8158 value.into(),
8159 )
8160 .ok()
8161 }
8162 }
8163 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8164 unsafe {
8165 (windows_core::Interface::vtable(self).Handled)(
8166 windows_core::Interface::as_raw(self),
8167 value as _,
8168 )
8169 .ok()
8170 }
8171 }
8172 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
8173 unsafe {
8174 let mut result__ = core::mem::zeroed();
8175 (windows_core::Interface::vtable(self).GetDeferral)(
8176 windows_core::Interface::as_raw(self),
8177 &mut result__,
8178 )
8179 .and_then(|| windows_core::Type::from_abi(result__))
8180 }
8181 }
8182}
8183#[repr(C)]
8184#[doc(hidden)]
8185pub struct ICoreWebView2ContextMenuRequestedEventArgs_Vtbl {
8186 pub base__: windows_core::IUnknown_Vtbl,
8187 pub MenuItems: unsafe extern "system" fn(
8188 *mut core::ffi::c_void,
8189 *mut *mut core::ffi::c_void,
8190 ) -> windows_core::HRESULT,
8191 pub ContextMenuTarget: unsafe extern "system" fn(
8192 *mut core::ffi::c_void,
8193 *mut *mut core::ffi::c_void,
8194 ) -> windows_core::HRESULT,
8195 pub Location: unsafe extern "system" fn(
8196 *mut core::ffi::c_void,
8197 *mut windows::Win32::Foundation::POINT,
8198 ) -> windows_core::HRESULT,
8199 pub SetSelectedCommandId:
8200 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
8201 pub SelectedCommandId:
8202 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
8203 pub SetHandled: unsafe extern "system" fn(
8204 *mut core::ffi::c_void,
8205 windows_core::BOOL,
8206 ) -> windows_core::HRESULT,
8207 pub Handled: unsafe extern "system" fn(
8208 *mut core::ffi::c_void,
8209 *mut windows_core::BOOL,
8210 ) -> windows_core::HRESULT,
8211 pub GetDeferral: unsafe extern "system" fn(
8212 *mut core::ffi::c_void,
8213 *mut *mut core::ffi::c_void,
8214 ) -> windows_core::HRESULT,
8215}
8216pub trait ICoreWebView2ContextMenuRequestedEventArgs_Impl: windows_core::IUnknownImpl {
8217 fn MenuItems(&self) -> windows_core::Result<ICoreWebView2ContextMenuItemCollection>;
8218 fn ContextMenuTarget(&self) -> windows_core::Result<ICoreWebView2ContextMenuTarget>;
8219 fn Location(&self, value: *mut windows::Win32::Foundation::POINT) -> windows_core::Result<()>;
8220 fn SetSelectedCommandId(&self, value: i32) -> windows_core::Result<()>;
8221 fn SelectedCommandId(&self, value: *mut i32) -> windows_core::Result<()>;
8222 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
8223 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8224 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
8225}
8226impl ICoreWebView2ContextMenuRequestedEventArgs_Vtbl {
8227 pub const fn new<
8228 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8229 const OFFSET: isize,
8230 >() -> Self {
8231 unsafe extern "system" fn MenuItems<
8232 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8233 const OFFSET: isize,
8234 >(
8235 this: *mut core::ffi::c_void,
8236 value: *mut *mut core::ffi::c_void,
8237 ) -> windows_core::HRESULT {
8238 unsafe {
8239 let this: &Identity =
8240 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8241 match ICoreWebView2ContextMenuRequestedEventArgs_Impl::MenuItems(this) {
8242 Ok(ok__) => {
8243 value.write(core::mem::transmute(ok__));
8244 windows_core::HRESULT(0)
8245 }
8246 Err(err) => err.into(),
8247 }
8248 }
8249 }
8250 unsafe extern "system" fn ContextMenuTarget<
8251 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8252 const OFFSET: isize,
8253 >(
8254 this: *mut core::ffi::c_void,
8255 value: *mut *mut core::ffi::c_void,
8256 ) -> windows_core::HRESULT {
8257 unsafe {
8258 let this: &Identity =
8259 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8260 match ICoreWebView2ContextMenuRequestedEventArgs_Impl::ContextMenuTarget(this) {
8261 Ok(ok__) => {
8262 value.write(core::mem::transmute(ok__));
8263 windows_core::HRESULT(0)
8264 }
8265 Err(err) => err.into(),
8266 }
8267 }
8268 }
8269 unsafe extern "system" fn Location<
8270 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8271 const OFFSET: isize,
8272 >(
8273 this: *mut core::ffi::c_void,
8274 value: *mut windows::Win32::Foundation::POINT,
8275 ) -> windows_core::HRESULT {
8276 unsafe {
8277 let this: &Identity =
8278 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8279 ICoreWebView2ContextMenuRequestedEventArgs_Impl::Location(
8280 this,
8281 core::mem::transmute_copy(&value),
8282 )
8283 .into()
8284 }
8285 }
8286 unsafe extern "system" fn SetSelectedCommandId<
8287 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8288 const OFFSET: isize,
8289 >(
8290 this: *mut core::ffi::c_void,
8291 value: i32,
8292 ) -> windows_core::HRESULT {
8293 unsafe {
8294 let this: &Identity =
8295 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8296 ICoreWebView2ContextMenuRequestedEventArgs_Impl::SetSelectedCommandId(
8297 this,
8298 core::mem::transmute_copy(&value),
8299 )
8300 .into()
8301 }
8302 }
8303 unsafe extern "system" fn SelectedCommandId<
8304 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8305 const OFFSET: isize,
8306 >(
8307 this: *mut core::ffi::c_void,
8308 value: *mut i32,
8309 ) -> windows_core::HRESULT {
8310 unsafe {
8311 let this: &Identity =
8312 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8313 ICoreWebView2ContextMenuRequestedEventArgs_Impl::SelectedCommandId(
8314 this,
8315 core::mem::transmute_copy(&value),
8316 )
8317 .into()
8318 }
8319 }
8320 unsafe extern "system" fn SetHandled<
8321 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8322 const OFFSET: isize,
8323 >(
8324 this: *mut core::ffi::c_void,
8325 value: windows_core::BOOL,
8326 ) -> windows_core::HRESULT {
8327 unsafe {
8328 let this: &Identity =
8329 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8330 ICoreWebView2ContextMenuRequestedEventArgs_Impl::SetHandled(
8331 this,
8332 core::mem::transmute_copy(&value),
8333 )
8334 .into()
8335 }
8336 }
8337 unsafe extern "system" fn Handled<
8338 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8339 const OFFSET: isize,
8340 >(
8341 this: *mut core::ffi::c_void,
8342 value: *mut windows_core::BOOL,
8343 ) -> windows_core::HRESULT {
8344 unsafe {
8345 let this: &Identity =
8346 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8347 ICoreWebView2ContextMenuRequestedEventArgs_Impl::Handled(
8348 this,
8349 core::mem::transmute_copy(&value),
8350 )
8351 .into()
8352 }
8353 }
8354 unsafe extern "system" fn GetDeferral<
8355 Identity: ICoreWebView2ContextMenuRequestedEventArgs_Impl,
8356 const OFFSET: isize,
8357 >(
8358 this: *mut core::ffi::c_void,
8359 deferral: *mut *mut core::ffi::c_void,
8360 ) -> windows_core::HRESULT {
8361 unsafe {
8362 let this: &Identity =
8363 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8364 match ICoreWebView2ContextMenuRequestedEventArgs_Impl::GetDeferral(this) {
8365 Ok(ok__) => {
8366 deferral.write(core::mem::transmute(ok__));
8367 windows_core::HRESULT(0)
8368 }
8369 Err(err) => err.into(),
8370 }
8371 }
8372 }
8373 Self {
8374 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8375 MenuItems: MenuItems::<Identity, OFFSET>,
8376 ContextMenuTarget: ContextMenuTarget::<Identity, OFFSET>,
8377 Location: Location::<Identity, OFFSET>,
8378 SetSelectedCommandId: SetSelectedCommandId::<Identity, OFFSET>,
8379 SelectedCommandId: SelectedCommandId::<Identity, OFFSET>,
8380 SetHandled: SetHandled::<Identity, OFFSET>,
8381 Handled: Handled::<Identity, OFFSET>,
8382 GetDeferral: GetDeferral::<Identity, OFFSET>,
8383 }
8384 }
8385 pub fn matches(iid: &windows_core::GUID) -> bool {
8386 iid == &<ICoreWebView2ContextMenuRequestedEventArgs as windows_core::Interface>::IID
8387 }
8388}
8389impl windows_core::RuntimeName for ICoreWebView2ContextMenuRequestedEventArgs {}
8390windows_core::imp::define_interface!(
8391 ICoreWebView2ContextMenuRequestedEventHandler,
8392 ICoreWebView2ContextMenuRequestedEventHandler_Vtbl,
8393 0x04d3fe1d_ab87_42fb_a898_da241d35b63c
8394);
8395windows_core::imp::interface_hierarchy!(
8396 ICoreWebView2ContextMenuRequestedEventHandler,
8397 windows_core::IUnknown
8398);
8399impl ICoreWebView2ContextMenuRequestedEventHandler {
8400 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
8401 where
8402 P0: windows_core::Param<ICoreWebView2>,
8403 P1: windows_core::Param<ICoreWebView2ContextMenuRequestedEventArgs>,
8404 {
8405 unsafe {
8406 (windows_core::Interface::vtable(self).Invoke)(
8407 windows_core::Interface::as_raw(self),
8408 sender.param().abi(),
8409 args.param().abi(),
8410 )
8411 .ok()
8412 }
8413 }
8414}
8415#[repr(C)]
8416#[doc(hidden)]
8417pub struct ICoreWebView2ContextMenuRequestedEventHandler_Vtbl {
8418 pub base__: windows_core::IUnknown_Vtbl,
8419 pub Invoke: unsafe extern "system" fn(
8420 *mut core::ffi::c_void,
8421 *mut core::ffi::c_void,
8422 *mut core::ffi::c_void,
8423 ) -> windows_core::HRESULT,
8424}
8425pub trait ICoreWebView2ContextMenuRequestedEventHandler_Impl: windows_core::IUnknownImpl {
8426 fn Invoke(
8427 &self,
8428 sender: windows_core::Ref<'_, ICoreWebView2>,
8429 args: windows_core::Ref<'_, ICoreWebView2ContextMenuRequestedEventArgs>,
8430 ) -> windows_core::Result<()>;
8431}
8432impl ICoreWebView2ContextMenuRequestedEventHandler_Vtbl {
8433 pub const fn new<
8434 Identity: ICoreWebView2ContextMenuRequestedEventHandler_Impl,
8435 const OFFSET: isize,
8436 >() -> Self {
8437 unsafe extern "system" fn Invoke<
8438 Identity: ICoreWebView2ContextMenuRequestedEventHandler_Impl,
8439 const OFFSET: isize,
8440 >(
8441 this: *mut core::ffi::c_void,
8442 sender: *mut core::ffi::c_void,
8443 args: *mut core::ffi::c_void,
8444 ) -> windows_core::HRESULT {
8445 unsafe {
8446 let this: &Identity =
8447 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8448 ICoreWebView2ContextMenuRequestedEventHandler_Impl::Invoke(
8449 this,
8450 core::mem::transmute_copy(&sender),
8451 core::mem::transmute_copy(&args),
8452 )
8453 .into()
8454 }
8455 }
8456 Self {
8457 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8458 Invoke: Invoke::<Identity, OFFSET>,
8459 }
8460 }
8461 pub fn matches(iid: &windows_core::GUID) -> bool {
8462 iid == &<ICoreWebView2ContextMenuRequestedEventHandler as windows_core::Interface>::IID
8463 }
8464}
8465impl windows_core::RuntimeName for ICoreWebView2ContextMenuRequestedEventHandler {}
8466windows_core::imp::define_interface!(
8467 ICoreWebView2ContextMenuTarget,
8468 ICoreWebView2ContextMenuTarget_Vtbl,
8469 0xb8611d99_eed6_4f3f_902c_a198502ad472
8470);
8471windows_core::imp::interface_hierarchy!(ICoreWebView2ContextMenuTarget, windows_core::IUnknown);
8472impl ICoreWebView2ContextMenuTarget {
8473 pub unsafe fn Kind(
8474 &self,
8475 value: *mut COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND,
8476 ) -> windows_core::Result<()> {
8477 unsafe {
8478 (windows_core::Interface::vtable(self).Kind)(
8479 windows_core::Interface::as_raw(self),
8480 value as _,
8481 )
8482 .ok()
8483 }
8484 }
8485 pub unsafe fn IsEditable(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8486 unsafe {
8487 (windows_core::Interface::vtable(self).IsEditable)(
8488 windows_core::Interface::as_raw(self),
8489 value as _,
8490 )
8491 .ok()
8492 }
8493 }
8494 pub unsafe fn IsRequestedForMainFrame(
8495 &self,
8496 value: *mut windows_core::BOOL,
8497 ) -> windows_core::Result<()> {
8498 unsafe {
8499 (windows_core::Interface::vtable(self).IsRequestedForMainFrame)(
8500 windows_core::Interface::as_raw(self),
8501 value as _,
8502 )
8503 .ok()
8504 }
8505 }
8506 pub unsafe fn PageUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8507 unsafe {
8508 (windows_core::Interface::vtable(self).PageUri)(
8509 windows_core::Interface::as_raw(self),
8510 value as _,
8511 )
8512 .ok()
8513 }
8514 }
8515 pub unsafe fn FrameUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8516 unsafe {
8517 (windows_core::Interface::vtable(self).FrameUri)(
8518 windows_core::Interface::as_raw(self),
8519 value as _,
8520 )
8521 .ok()
8522 }
8523 }
8524 pub unsafe fn HasLinkUri(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8525 unsafe {
8526 (windows_core::Interface::vtable(self).HasLinkUri)(
8527 windows_core::Interface::as_raw(self),
8528 value as _,
8529 )
8530 .ok()
8531 }
8532 }
8533 pub unsafe fn LinkUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8534 unsafe {
8535 (windows_core::Interface::vtable(self).LinkUri)(
8536 windows_core::Interface::as_raw(self),
8537 value as _,
8538 )
8539 .ok()
8540 }
8541 }
8542 pub unsafe fn HasLinkText(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8543 unsafe {
8544 (windows_core::Interface::vtable(self).HasLinkText)(
8545 windows_core::Interface::as_raw(self),
8546 value as _,
8547 )
8548 .ok()
8549 }
8550 }
8551 pub unsafe fn LinkText(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8552 unsafe {
8553 (windows_core::Interface::vtable(self).LinkText)(
8554 windows_core::Interface::as_raw(self),
8555 value as _,
8556 )
8557 .ok()
8558 }
8559 }
8560 pub unsafe fn HasSourceUri(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8561 unsafe {
8562 (windows_core::Interface::vtable(self).HasSourceUri)(
8563 windows_core::Interface::as_raw(self),
8564 value as _,
8565 )
8566 .ok()
8567 }
8568 }
8569 pub unsafe fn SourceUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
8570 unsafe {
8571 (windows_core::Interface::vtable(self).SourceUri)(
8572 windows_core::Interface::as_raw(self),
8573 value as _,
8574 )
8575 .ok()
8576 }
8577 }
8578 pub unsafe fn HasSelection(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
8579 unsafe {
8580 (windows_core::Interface::vtable(self).HasSelection)(
8581 windows_core::Interface::as_raw(self),
8582 value as _,
8583 )
8584 .ok()
8585 }
8586 }
8587 pub unsafe fn SelectionText(
8588 &self,
8589 value: *mut windows_core::PWSTR,
8590 ) -> windows_core::Result<()> {
8591 unsafe {
8592 (windows_core::Interface::vtable(self).SelectionText)(
8593 windows_core::Interface::as_raw(self),
8594 value as _,
8595 )
8596 .ok()
8597 }
8598 }
8599}
8600#[repr(C)]
8601#[doc(hidden)]
8602pub struct ICoreWebView2ContextMenuTarget_Vtbl {
8603 pub base__: windows_core::IUnknown_Vtbl,
8604 pub Kind: unsafe extern "system" fn(
8605 *mut core::ffi::c_void,
8606 *mut COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND,
8607 ) -> windows_core::HRESULT,
8608 pub IsEditable: unsafe extern "system" fn(
8609 *mut core::ffi::c_void,
8610 *mut windows_core::BOOL,
8611 ) -> windows_core::HRESULT,
8612 pub IsRequestedForMainFrame: unsafe extern "system" fn(
8613 *mut core::ffi::c_void,
8614 *mut windows_core::BOOL,
8615 ) -> windows_core::HRESULT,
8616 pub PageUri: unsafe extern "system" fn(
8617 *mut core::ffi::c_void,
8618 *mut windows_core::PWSTR,
8619 ) -> windows_core::HRESULT,
8620 pub FrameUri: unsafe extern "system" fn(
8621 *mut core::ffi::c_void,
8622 *mut windows_core::PWSTR,
8623 ) -> windows_core::HRESULT,
8624 pub HasLinkUri: unsafe extern "system" fn(
8625 *mut core::ffi::c_void,
8626 *mut windows_core::BOOL,
8627 ) -> windows_core::HRESULT,
8628 pub LinkUri: unsafe extern "system" fn(
8629 *mut core::ffi::c_void,
8630 *mut windows_core::PWSTR,
8631 ) -> windows_core::HRESULT,
8632 pub HasLinkText: unsafe extern "system" fn(
8633 *mut core::ffi::c_void,
8634 *mut windows_core::BOOL,
8635 ) -> windows_core::HRESULT,
8636 pub LinkText: unsafe extern "system" fn(
8637 *mut core::ffi::c_void,
8638 *mut windows_core::PWSTR,
8639 ) -> windows_core::HRESULT,
8640 pub HasSourceUri: unsafe extern "system" fn(
8641 *mut core::ffi::c_void,
8642 *mut windows_core::BOOL,
8643 ) -> windows_core::HRESULT,
8644 pub SourceUri: unsafe extern "system" fn(
8645 *mut core::ffi::c_void,
8646 *mut windows_core::PWSTR,
8647 ) -> windows_core::HRESULT,
8648 pub HasSelection: unsafe extern "system" fn(
8649 *mut core::ffi::c_void,
8650 *mut windows_core::BOOL,
8651 ) -> windows_core::HRESULT,
8652 pub SelectionText: unsafe extern "system" fn(
8653 *mut core::ffi::c_void,
8654 *mut windows_core::PWSTR,
8655 ) -> windows_core::HRESULT,
8656}
8657pub trait ICoreWebView2ContextMenuTarget_Impl: windows_core::IUnknownImpl {
8658 fn Kind(&self, value: *mut COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND) -> windows_core::Result<()>;
8659 fn IsEditable(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8660 fn IsRequestedForMainFrame(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8661 fn PageUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8662 fn FrameUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8663 fn HasLinkUri(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8664 fn LinkUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8665 fn HasLinkText(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8666 fn LinkText(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8667 fn HasSourceUri(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8668 fn SourceUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8669 fn HasSelection(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
8670 fn SelectionText(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
8671}
8672impl ICoreWebView2ContextMenuTarget_Vtbl {
8673 pub const fn new<Identity: ICoreWebView2ContextMenuTarget_Impl, const OFFSET: isize>() -> Self {
8674 unsafe extern "system" fn Kind<
8675 Identity: ICoreWebView2ContextMenuTarget_Impl,
8676 const OFFSET: isize,
8677 >(
8678 this: *mut core::ffi::c_void,
8679 value: *mut COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND,
8680 ) -> windows_core::HRESULT {
8681 unsafe {
8682 let this: &Identity =
8683 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8684 ICoreWebView2ContextMenuTarget_Impl::Kind(this, core::mem::transmute_copy(&value))
8685 .into()
8686 }
8687 }
8688 unsafe extern "system" fn IsEditable<
8689 Identity: ICoreWebView2ContextMenuTarget_Impl,
8690 const OFFSET: isize,
8691 >(
8692 this: *mut core::ffi::c_void,
8693 value: *mut windows_core::BOOL,
8694 ) -> windows_core::HRESULT {
8695 unsafe {
8696 let this: &Identity =
8697 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8698 ICoreWebView2ContextMenuTarget_Impl::IsEditable(
8699 this,
8700 core::mem::transmute_copy(&value),
8701 )
8702 .into()
8703 }
8704 }
8705 unsafe extern "system" fn IsRequestedForMainFrame<
8706 Identity: ICoreWebView2ContextMenuTarget_Impl,
8707 const OFFSET: isize,
8708 >(
8709 this: *mut core::ffi::c_void,
8710 value: *mut windows_core::BOOL,
8711 ) -> windows_core::HRESULT {
8712 unsafe {
8713 let this: &Identity =
8714 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8715 ICoreWebView2ContextMenuTarget_Impl::IsRequestedForMainFrame(
8716 this,
8717 core::mem::transmute_copy(&value),
8718 )
8719 .into()
8720 }
8721 }
8722 unsafe extern "system" fn PageUri<
8723 Identity: ICoreWebView2ContextMenuTarget_Impl,
8724 const OFFSET: isize,
8725 >(
8726 this: *mut core::ffi::c_void,
8727 value: *mut windows_core::PWSTR,
8728 ) -> windows_core::HRESULT {
8729 unsafe {
8730 let this: &Identity =
8731 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8732 ICoreWebView2ContextMenuTarget_Impl::PageUri(
8733 this,
8734 core::mem::transmute_copy(&value),
8735 )
8736 .into()
8737 }
8738 }
8739 unsafe extern "system" fn FrameUri<
8740 Identity: ICoreWebView2ContextMenuTarget_Impl,
8741 const OFFSET: isize,
8742 >(
8743 this: *mut core::ffi::c_void,
8744 value: *mut windows_core::PWSTR,
8745 ) -> windows_core::HRESULT {
8746 unsafe {
8747 let this: &Identity =
8748 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8749 ICoreWebView2ContextMenuTarget_Impl::FrameUri(
8750 this,
8751 core::mem::transmute_copy(&value),
8752 )
8753 .into()
8754 }
8755 }
8756 unsafe extern "system" fn HasLinkUri<
8757 Identity: ICoreWebView2ContextMenuTarget_Impl,
8758 const OFFSET: isize,
8759 >(
8760 this: *mut core::ffi::c_void,
8761 value: *mut windows_core::BOOL,
8762 ) -> windows_core::HRESULT {
8763 unsafe {
8764 let this: &Identity =
8765 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8766 ICoreWebView2ContextMenuTarget_Impl::HasLinkUri(
8767 this,
8768 core::mem::transmute_copy(&value),
8769 )
8770 .into()
8771 }
8772 }
8773 unsafe extern "system" fn LinkUri<
8774 Identity: ICoreWebView2ContextMenuTarget_Impl,
8775 const OFFSET: isize,
8776 >(
8777 this: *mut core::ffi::c_void,
8778 value: *mut windows_core::PWSTR,
8779 ) -> windows_core::HRESULT {
8780 unsafe {
8781 let this: &Identity =
8782 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8783 ICoreWebView2ContextMenuTarget_Impl::LinkUri(
8784 this,
8785 core::mem::transmute_copy(&value),
8786 )
8787 .into()
8788 }
8789 }
8790 unsafe extern "system" fn HasLinkText<
8791 Identity: ICoreWebView2ContextMenuTarget_Impl,
8792 const OFFSET: isize,
8793 >(
8794 this: *mut core::ffi::c_void,
8795 value: *mut windows_core::BOOL,
8796 ) -> windows_core::HRESULT {
8797 unsafe {
8798 let this: &Identity =
8799 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8800 ICoreWebView2ContextMenuTarget_Impl::HasLinkText(
8801 this,
8802 core::mem::transmute_copy(&value),
8803 )
8804 .into()
8805 }
8806 }
8807 unsafe extern "system" fn LinkText<
8808 Identity: ICoreWebView2ContextMenuTarget_Impl,
8809 const OFFSET: isize,
8810 >(
8811 this: *mut core::ffi::c_void,
8812 value: *mut windows_core::PWSTR,
8813 ) -> windows_core::HRESULT {
8814 unsafe {
8815 let this: &Identity =
8816 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8817 ICoreWebView2ContextMenuTarget_Impl::LinkText(
8818 this,
8819 core::mem::transmute_copy(&value),
8820 )
8821 .into()
8822 }
8823 }
8824 unsafe extern "system" fn HasSourceUri<
8825 Identity: ICoreWebView2ContextMenuTarget_Impl,
8826 const OFFSET: isize,
8827 >(
8828 this: *mut core::ffi::c_void,
8829 value: *mut windows_core::BOOL,
8830 ) -> windows_core::HRESULT {
8831 unsafe {
8832 let this: &Identity =
8833 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8834 ICoreWebView2ContextMenuTarget_Impl::HasSourceUri(
8835 this,
8836 core::mem::transmute_copy(&value),
8837 )
8838 .into()
8839 }
8840 }
8841 unsafe extern "system" fn SourceUri<
8842 Identity: ICoreWebView2ContextMenuTarget_Impl,
8843 const OFFSET: isize,
8844 >(
8845 this: *mut core::ffi::c_void,
8846 value: *mut windows_core::PWSTR,
8847 ) -> windows_core::HRESULT {
8848 unsafe {
8849 let this: &Identity =
8850 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8851 ICoreWebView2ContextMenuTarget_Impl::SourceUri(
8852 this,
8853 core::mem::transmute_copy(&value),
8854 )
8855 .into()
8856 }
8857 }
8858 unsafe extern "system" fn HasSelection<
8859 Identity: ICoreWebView2ContextMenuTarget_Impl,
8860 const OFFSET: isize,
8861 >(
8862 this: *mut core::ffi::c_void,
8863 value: *mut windows_core::BOOL,
8864 ) -> windows_core::HRESULT {
8865 unsafe {
8866 let this: &Identity =
8867 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8868 ICoreWebView2ContextMenuTarget_Impl::HasSelection(
8869 this,
8870 core::mem::transmute_copy(&value),
8871 )
8872 .into()
8873 }
8874 }
8875 unsafe extern "system" fn SelectionText<
8876 Identity: ICoreWebView2ContextMenuTarget_Impl,
8877 const OFFSET: isize,
8878 >(
8879 this: *mut core::ffi::c_void,
8880 value: *mut windows_core::PWSTR,
8881 ) -> windows_core::HRESULT {
8882 unsafe {
8883 let this: &Identity =
8884 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8885 ICoreWebView2ContextMenuTarget_Impl::SelectionText(
8886 this,
8887 core::mem::transmute_copy(&value),
8888 )
8889 .into()
8890 }
8891 }
8892 Self {
8893 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8894 Kind: Kind::<Identity, OFFSET>,
8895 IsEditable: IsEditable::<Identity, OFFSET>,
8896 IsRequestedForMainFrame: IsRequestedForMainFrame::<Identity, OFFSET>,
8897 PageUri: PageUri::<Identity, OFFSET>,
8898 FrameUri: FrameUri::<Identity, OFFSET>,
8899 HasLinkUri: HasLinkUri::<Identity, OFFSET>,
8900 LinkUri: LinkUri::<Identity, OFFSET>,
8901 HasLinkText: HasLinkText::<Identity, OFFSET>,
8902 LinkText: LinkText::<Identity, OFFSET>,
8903 HasSourceUri: HasSourceUri::<Identity, OFFSET>,
8904 SourceUri: SourceUri::<Identity, OFFSET>,
8905 HasSelection: HasSelection::<Identity, OFFSET>,
8906 SelectionText: SelectionText::<Identity, OFFSET>,
8907 }
8908 }
8909 pub fn matches(iid: &windows_core::GUID) -> bool {
8910 iid == &<ICoreWebView2ContextMenuTarget as windows_core::Interface>::IID
8911 }
8912}
8913impl windows_core::RuntimeName for ICoreWebView2ContextMenuTarget {}
8914windows_core::imp::define_interface!(
8915 ICoreWebView2Controller,
8916 ICoreWebView2Controller_Vtbl,
8917 0x4d00c0d1_9434_4eb6_8078_8697a560334f
8918);
8919windows_core::imp::interface_hierarchy!(ICoreWebView2Controller, windows_core::IUnknown);
8920impl ICoreWebView2Controller {
8921 pub unsafe fn IsVisible(&self, isvisible: *mut windows_core::BOOL) -> windows_core::Result<()> {
8922 unsafe {
8923 (windows_core::Interface::vtable(self).IsVisible)(
8924 windows_core::Interface::as_raw(self),
8925 isvisible as _,
8926 )
8927 .ok()
8928 }
8929 }
8930 pub unsafe fn SetIsVisible(&self, isvisible: bool) -> windows_core::Result<()> {
8931 unsafe {
8932 (windows_core::Interface::vtable(self).SetIsVisible)(
8933 windows_core::Interface::as_raw(self),
8934 isvisible.into(),
8935 )
8936 .ok()
8937 }
8938 }
8939 pub unsafe fn Bounds(
8940 &self,
8941 bounds: *mut windows::Win32::Foundation::RECT,
8942 ) -> windows_core::Result<()> {
8943 unsafe {
8944 (windows_core::Interface::vtable(self).Bounds)(
8945 windows_core::Interface::as_raw(self),
8946 bounds as _,
8947 )
8948 .ok()
8949 }
8950 }
8951 pub unsafe fn SetBounds(
8952 &self,
8953 bounds: windows::Win32::Foundation::RECT,
8954 ) -> windows_core::Result<()> {
8955 unsafe {
8956 (windows_core::Interface::vtable(self).SetBounds)(
8957 windows_core::Interface::as_raw(self),
8958 core::mem::transmute(bounds),
8959 )
8960 .ok()
8961 }
8962 }
8963 pub unsafe fn ZoomFactor(&self, zoomfactor: *mut f64) -> windows_core::Result<()> {
8964 unsafe {
8965 (windows_core::Interface::vtable(self).ZoomFactor)(
8966 windows_core::Interface::as_raw(self),
8967 zoomfactor as _,
8968 )
8969 .ok()
8970 }
8971 }
8972 pub unsafe fn SetZoomFactor(&self, zoomfactor: f64) -> windows_core::Result<()> {
8973 unsafe {
8974 (windows_core::Interface::vtable(self).SetZoomFactor)(
8975 windows_core::Interface::as_raw(self),
8976 zoomfactor,
8977 )
8978 .ok()
8979 }
8980 }
8981 pub unsafe fn add_ZoomFactorChanged<P0>(
8982 &self,
8983 eventhandler: P0,
8984 token: *mut i64,
8985 ) -> windows_core::Result<()>
8986 where
8987 P0: windows_core::Param<ICoreWebView2ZoomFactorChangedEventHandler>,
8988 {
8989 unsafe {
8990 (windows_core::Interface::vtable(self).add_ZoomFactorChanged)(
8991 windows_core::Interface::as_raw(self),
8992 eventhandler.param().abi(),
8993 token as _,
8994 )
8995 .ok()
8996 }
8997 }
8998 pub unsafe fn remove_ZoomFactorChanged(&self, token: i64) -> windows_core::Result<()> {
8999 unsafe {
9000 (windows_core::Interface::vtable(self).remove_ZoomFactorChanged)(
9001 windows_core::Interface::as_raw(self),
9002 token,
9003 )
9004 .ok()
9005 }
9006 }
9007 pub unsafe fn SetBoundsAndZoomFactor(
9008 &self,
9009 bounds: windows::Win32::Foundation::RECT,
9010 zoomfactor: f64,
9011 ) -> windows_core::Result<()> {
9012 unsafe {
9013 (windows_core::Interface::vtable(self).SetBoundsAndZoomFactor)(
9014 windows_core::Interface::as_raw(self),
9015 core::mem::transmute(bounds),
9016 zoomfactor,
9017 )
9018 .ok()
9019 }
9020 }
9021 pub unsafe fn MoveFocus(
9022 &self,
9023 reason: COREWEBVIEW2_MOVE_FOCUS_REASON,
9024 ) -> windows_core::Result<()> {
9025 unsafe {
9026 (windows_core::Interface::vtable(self).MoveFocus)(
9027 windows_core::Interface::as_raw(self),
9028 reason,
9029 )
9030 .ok()
9031 }
9032 }
9033 pub unsafe fn add_MoveFocusRequested<P0>(
9034 &self,
9035 eventhandler: P0,
9036 token: *mut i64,
9037 ) -> windows_core::Result<()>
9038 where
9039 P0: windows_core::Param<ICoreWebView2MoveFocusRequestedEventHandler>,
9040 {
9041 unsafe {
9042 (windows_core::Interface::vtable(self).add_MoveFocusRequested)(
9043 windows_core::Interface::as_raw(self),
9044 eventhandler.param().abi(),
9045 token as _,
9046 )
9047 .ok()
9048 }
9049 }
9050 pub unsafe fn remove_MoveFocusRequested(&self, token: i64) -> windows_core::Result<()> {
9051 unsafe {
9052 (windows_core::Interface::vtable(self).remove_MoveFocusRequested)(
9053 windows_core::Interface::as_raw(self),
9054 token,
9055 )
9056 .ok()
9057 }
9058 }
9059 pub unsafe fn add_GotFocus<P0>(
9060 &self,
9061 eventhandler: P0,
9062 token: *mut i64,
9063 ) -> windows_core::Result<()>
9064 where
9065 P0: windows_core::Param<ICoreWebView2FocusChangedEventHandler>,
9066 {
9067 unsafe {
9068 (windows_core::Interface::vtable(self).add_GotFocus)(
9069 windows_core::Interface::as_raw(self),
9070 eventhandler.param().abi(),
9071 token as _,
9072 )
9073 .ok()
9074 }
9075 }
9076 pub unsafe fn remove_GotFocus(&self, token: i64) -> windows_core::Result<()> {
9077 unsafe {
9078 (windows_core::Interface::vtable(self).remove_GotFocus)(
9079 windows_core::Interface::as_raw(self),
9080 token,
9081 )
9082 .ok()
9083 }
9084 }
9085 pub unsafe fn add_LostFocus<P0>(
9086 &self,
9087 eventhandler: P0,
9088 token: *mut i64,
9089 ) -> windows_core::Result<()>
9090 where
9091 P0: windows_core::Param<ICoreWebView2FocusChangedEventHandler>,
9092 {
9093 unsafe {
9094 (windows_core::Interface::vtable(self).add_LostFocus)(
9095 windows_core::Interface::as_raw(self),
9096 eventhandler.param().abi(),
9097 token as _,
9098 )
9099 .ok()
9100 }
9101 }
9102 pub unsafe fn remove_LostFocus(&self, token: i64) -> windows_core::Result<()> {
9103 unsafe {
9104 (windows_core::Interface::vtable(self).remove_LostFocus)(
9105 windows_core::Interface::as_raw(self),
9106 token,
9107 )
9108 .ok()
9109 }
9110 }
9111 pub unsafe fn add_AcceleratorKeyPressed<P0>(
9112 &self,
9113 eventhandler: P0,
9114 token: *mut i64,
9115 ) -> windows_core::Result<()>
9116 where
9117 P0: windows_core::Param<ICoreWebView2AcceleratorKeyPressedEventHandler>,
9118 {
9119 unsafe {
9120 (windows_core::Interface::vtable(self).add_AcceleratorKeyPressed)(
9121 windows_core::Interface::as_raw(self),
9122 eventhandler.param().abi(),
9123 token as _,
9124 )
9125 .ok()
9126 }
9127 }
9128 pub unsafe fn remove_AcceleratorKeyPressed(&self, token: i64) -> windows_core::Result<()> {
9129 unsafe {
9130 (windows_core::Interface::vtable(self).remove_AcceleratorKeyPressed)(
9131 windows_core::Interface::as_raw(self),
9132 token,
9133 )
9134 .ok()
9135 }
9136 }
9137 pub unsafe fn ParentWindow(
9138 &self,
9139 parentwindow: *mut windows::Win32::Foundation::HWND,
9140 ) -> windows_core::Result<()> {
9141 unsafe {
9142 (windows_core::Interface::vtable(self).ParentWindow)(
9143 windows_core::Interface::as_raw(self),
9144 parentwindow as _,
9145 )
9146 .ok()
9147 }
9148 }
9149 pub unsafe fn SetParentWindow(
9150 &self,
9151 parentwindow: windows::Win32::Foundation::HWND,
9152 ) -> windows_core::Result<()> {
9153 unsafe {
9154 (windows_core::Interface::vtable(self).SetParentWindow)(
9155 windows_core::Interface::as_raw(self),
9156 parentwindow,
9157 )
9158 .ok()
9159 }
9160 }
9161 pub unsafe fn NotifyParentWindowPositionChanged(&self) -> windows_core::Result<()> {
9162 unsafe {
9163 (windows_core::Interface::vtable(self).NotifyParentWindowPositionChanged)(
9164 windows_core::Interface::as_raw(self),
9165 )
9166 .ok()
9167 }
9168 }
9169 pub unsafe fn Close(&self) -> windows_core::Result<()> {
9170 unsafe {
9171 (windows_core::Interface::vtable(self).Close)(windows_core::Interface::as_raw(self))
9172 .ok()
9173 }
9174 }
9175 pub unsafe fn CoreWebView2(&self) -> windows_core::Result<ICoreWebView2> {
9176 unsafe {
9177 let mut result__ = core::mem::zeroed();
9178 (windows_core::Interface::vtable(self).CoreWebView2)(
9179 windows_core::Interface::as_raw(self),
9180 &mut result__,
9181 )
9182 .and_then(|| windows_core::Type::from_abi(result__))
9183 }
9184 }
9185}
9186#[repr(C)]
9187#[doc(hidden)]
9188pub struct ICoreWebView2Controller_Vtbl {
9189 pub base__: windows_core::IUnknown_Vtbl,
9190 pub IsVisible: unsafe extern "system" fn(
9191 *mut core::ffi::c_void,
9192 *mut windows_core::BOOL,
9193 ) -> windows_core::HRESULT,
9194 pub SetIsVisible: unsafe extern "system" fn(
9195 *mut core::ffi::c_void,
9196 windows_core::BOOL,
9197 ) -> windows_core::HRESULT,
9198 pub Bounds: unsafe extern "system" fn(
9199 *mut core::ffi::c_void,
9200 *mut windows::Win32::Foundation::RECT,
9201 ) -> windows_core::HRESULT,
9202 pub SetBounds: unsafe extern "system" fn(
9203 *mut core::ffi::c_void,
9204 windows::Win32::Foundation::RECT,
9205 ) -> windows_core::HRESULT,
9206 pub ZoomFactor:
9207 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
9208 pub SetZoomFactor:
9209 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
9210 pub add_ZoomFactorChanged: unsafe extern "system" fn(
9211 *mut core::ffi::c_void,
9212 *mut core::ffi::c_void,
9213 *mut i64,
9214 ) -> windows_core::HRESULT,
9215 pub remove_ZoomFactorChanged:
9216 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9217 pub SetBoundsAndZoomFactor: unsafe extern "system" fn(
9218 *mut core::ffi::c_void,
9219 windows::Win32::Foundation::RECT,
9220 f64,
9221 ) -> windows_core::HRESULT,
9222 pub MoveFocus: unsafe extern "system" fn(
9223 *mut core::ffi::c_void,
9224 COREWEBVIEW2_MOVE_FOCUS_REASON,
9225 ) -> windows_core::HRESULT,
9226 pub add_MoveFocusRequested: unsafe extern "system" fn(
9227 *mut core::ffi::c_void,
9228 *mut core::ffi::c_void,
9229 *mut i64,
9230 ) -> windows_core::HRESULT,
9231 pub remove_MoveFocusRequested:
9232 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9233 pub add_GotFocus: unsafe extern "system" fn(
9234 *mut core::ffi::c_void,
9235 *mut core::ffi::c_void,
9236 *mut i64,
9237 ) -> windows_core::HRESULT,
9238 pub remove_GotFocus:
9239 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9240 pub add_LostFocus: unsafe extern "system" fn(
9241 *mut core::ffi::c_void,
9242 *mut core::ffi::c_void,
9243 *mut i64,
9244 ) -> windows_core::HRESULT,
9245 pub remove_LostFocus:
9246 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9247 pub add_AcceleratorKeyPressed: unsafe extern "system" fn(
9248 *mut core::ffi::c_void,
9249 *mut core::ffi::c_void,
9250 *mut i64,
9251 ) -> windows_core::HRESULT,
9252 pub remove_AcceleratorKeyPressed:
9253 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9254 pub ParentWindow: unsafe extern "system" fn(
9255 *mut core::ffi::c_void,
9256 *mut windows::Win32::Foundation::HWND,
9257 ) -> windows_core::HRESULT,
9258 pub SetParentWindow: unsafe extern "system" fn(
9259 *mut core::ffi::c_void,
9260 windows::Win32::Foundation::HWND,
9261 ) -> windows_core::HRESULT,
9262 pub NotifyParentWindowPositionChanged:
9263 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
9264 pub Close: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
9265 pub CoreWebView2: unsafe extern "system" fn(
9266 *mut core::ffi::c_void,
9267 *mut *mut core::ffi::c_void,
9268 ) -> windows_core::HRESULT,
9269}
9270pub trait ICoreWebView2Controller_Impl: windows_core::IUnknownImpl {
9271 fn IsVisible(&self, isvisible: *mut windows_core::BOOL) -> windows_core::Result<()>;
9272 fn SetIsVisible(&self, isvisible: windows_core::BOOL) -> windows_core::Result<()>;
9273 fn Bounds(&self, bounds: *mut windows::Win32::Foundation::RECT) -> windows_core::Result<()>;
9274 fn SetBounds(&self, bounds: &windows::Win32::Foundation::RECT) -> windows_core::Result<()>;
9275 fn ZoomFactor(&self, zoomfactor: *mut f64) -> windows_core::Result<()>;
9276 fn SetZoomFactor(&self, zoomfactor: f64) -> windows_core::Result<()>;
9277 fn add_ZoomFactorChanged(
9278 &self,
9279 eventhandler: windows_core::Ref<'_, ICoreWebView2ZoomFactorChangedEventHandler>,
9280 token: *mut i64,
9281 ) -> windows_core::Result<()>;
9282 fn remove_ZoomFactorChanged(&self, token: i64) -> windows_core::Result<()>;
9283 fn SetBoundsAndZoomFactor(
9284 &self,
9285 bounds: &windows::Win32::Foundation::RECT,
9286 zoomfactor: f64,
9287 ) -> windows_core::Result<()>;
9288 fn MoveFocus(&self, reason: COREWEBVIEW2_MOVE_FOCUS_REASON) -> windows_core::Result<()>;
9289 fn add_MoveFocusRequested(
9290 &self,
9291 eventhandler: windows_core::Ref<'_, ICoreWebView2MoveFocusRequestedEventHandler>,
9292 token: *mut i64,
9293 ) -> windows_core::Result<()>;
9294 fn remove_MoveFocusRequested(&self, token: i64) -> windows_core::Result<()>;
9295 fn add_GotFocus(
9296 &self,
9297 eventhandler: windows_core::Ref<'_, ICoreWebView2FocusChangedEventHandler>,
9298 token: *mut i64,
9299 ) -> windows_core::Result<()>;
9300 fn remove_GotFocus(&self, token: i64) -> windows_core::Result<()>;
9301 fn add_LostFocus(
9302 &self,
9303 eventhandler: windows_core::Ref<'_, ICoreWebView2FocusChangedEventHandler>,
9304 token: *mut i64,
9305 ) -> windows_core::Result<()>;
9306 fn remove_LostFocus(&self, token: i64) -> windows_core::Result<()>;
9307 fn add_AcceleratorKeyPressed(
9308 &self,
9309 eventhandler: windows_core::Ref<'_, ICoreWebView2AcceleratorKeyPressedEventHandler>,
9310 token: *mut i64,
9311 ) -> windows_core::Result<()>;
9312 fn remove_AcceleratorKeyPressed(&self, token: i64) -> windows_core::Result<()>;
9313 fn ParentWindow(
9314 &self,
9315 parentwindow: *mut windows::Win32::Foundation::HWND,
9316 ) -> windows_core::Result<()>;
9317 fn SetParentWindow(
9318 &self,
9319 parentwindow: windows::Win32::Foundation::HWND,
9320 ) -> windows_core::Result<()>;
9321 fn NotifyParentWindowPositionChanged(&self) -> windows_core::Result<()>;
9322 fn Close(&self) -> windows_core::Result<()>;
9323 fn CoreWebView2(&self) -> windows_core::Result<ICoreWebView2>;
9324}
9325impl ICoreWebView2Controller_Vtbl {
9326 pub const fn new<Identity: ICoreWebView2Controller_Impl, const OFFSET: isize>() -> Self {
9327 unsafe extern "system" fn IsVisible<
9328 Identity: ICoreWebView2Controller_Impl,
9329 const OFFSET: isize,
9330 >(
9331 this: *mut core::ffi::c_void,
9332 isvisible: *mut windows_core::BOOL,
9333 ) -> windows_core::HRESULT {
9334 unsafe {
9335 let this: &Identity =
9336 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9337 ICoreWebView2Controller_Impl::IsVisible(this, core::mem::transmute_copy(&isvisible))
9338 .into()
9339 }
9340 }
9341 unsafe extern "system" fn SetIsVisible<
9342 Identity: ICoreWebView2Controller_Impl,
9343 const OFFSET: isize,
9344 >(
9345 this: *mut core::ffi::c_void,
9346 isvisible: windows_core::BOOL,
9347 ) -> windows_core::HRESULT {
9348 unsafe {
9349 let this: &Identity =
9350 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9351 ICoreWebView2Controller_Impl::SetIsVisible(
9352 this,
9353 core::mem::transmute_copy(&isvisible),
9354 )
9355 .into()
9356 }
9357 }
9358 unsafe extern "system" fn Bounds<
9359 Identity: ICoreWebView2Controller_Impl,
9360 const OFFSET: isize,
9361 >(
9362 this: *mut core::ffi::c_void,
9363 bounds: *mut windows::Win32::Foundation::RECT,
9364 ) -> windows_core::HRESULT {
9365 unsafe {
9366 let this: &Identity =
9367 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9368 ICoreWebView2Controller_Impl::Bounds(this, core::mem::transmute_copy(&bounds))
9369 .into()
9370 }
9371 }
9372 unsafe extern "system" fn SetBounds<
9373 Identity: ICoreWebView2Controller_Impl,
9374 const OFFSET: isize,
9375 >(
9376 this: *mut core::ffi::c_void,
9377 bounds: windows::Win32::Foundation::RECT,
9378 ) -> windows_core::HRESULT {
9379 unsafe {
9380 let this: &Identity =
9381 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9382 ICoreWebView2Controller_Impl::SetBounds(this, core::mem::transmute(&bounds)).into()
9383 }
9384 }
9385 unsafe extern "system" fn ZoomFactor<
9386 Identity: ICoreWebView2Controller_Impl,
9387 const OFFSET: isize,
9388 >(
9389 this: *mut core::ffi::c_void,
9390 zoomfactor: *mut f64,
9391 ) -> windows_core::HRESULT {
9392 unsafe {
9393 let this: &Identity =
9394 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9395 ICoreWebView2Controller_Impl::ZoomFactor(
9396 this,
9397 core::mem::transmute_copy(&zoomfactor),
9398 )
9399 .into()
9400 }
9401 }
9402 unsafe extern "system" fn SetZoomFactor<
9403 Identity: ICoreWebView2Controller_Impl,
9404 const OFFSET: isize,
9405 >(
9406 this: *mut core::ffi::c_void,
9407 zoomfactor: f64,
9408 ) -> windows_core::HRESULT {
9409 unsafe {
9410 let this: &Identity =
9411 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9412 ICoreWebView2Controller_Impl::SetZoomFactor(
9413 this,
9414 core::mem::transmute_copy(&zoomfactor),
9415 )
9416 .into()
9417 }
9418 }
9419 unsafe extern "system" fn add_ZoomFactorChanged<
9420 Identity: ICoreWebView2Controller_Impl,
9421 const OFFSET: isize,
9422 >(
9423 this: *mut core::ffi::c_void,
9424 eventhandler: *mut core::ffi::c_void,
9425 token: *mut i64,
9426 ) -> windows_core::HRESULT {
9427 unsafe {
9428 let this: &Identity =
9429 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9430 ICoreWebView2Controller_Impl::add_ZoomFactorChanged(
9431 this,
9432 core::mem::transmute_copy(&eventhandler),
9433 core::mem::transmute_copy(&token),
9434 )
9435 .into()
9436 }
9437 }
9438 unsafe extern "system" fn remove_ZoomFactorChanged<
9439 Identity: ICoreWebView2Controller_Impl,
9440 const OFFSET: isize,
9441 >(
9442 this: *mut core::ffi::c_void,
9443 token: i64,
9444 ) -> windows_core::HRESULT {
9445 unsafe {
9446 let this: &Identity =
9447 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9448 ICoreWebView2Controller_Impl::remove_ZoomFactorChanged(
9449 this,
9450 core::mem::transmute_copy(&token),
9451 )
9452 .into()
9453 }
9454 }
9455 unsafe extern "system" fn SetBoundsAndZoomFactor<
9456 Identity: ICoreWebView2Controller_Impl,
9457 const OFFSET: isize,
9458 >(
9459 this: *mut core::ffi::c_void,
9460 bounds: windows::Win32::Foundation::RECT,
9461 zoomfactor: f64,
9462 ) -> windows_core::HRESULT {
9463 unsafe {
9464 let this: &Identity =
9465 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9466 ICoreWebView2Controller_Impl::SetBoundsAndZoomFactor(
9467 this,
9468 core::mem::transmute(&bounds),
9469 core::mem::transmute_copy(&zoomfactor),
9470 )
9471 .into()
9472 }
9473 }
9474 unsafe extern "system" fn MoveFocus<
9475 Identity: ICoreWebView2Controller_Impl,
9476 const OFFSET: isize,
9477 >(
9478 this: *mut core::ffi::c_void,
9479 reason: COREWEBVIEW2_MOVE_FOCUS_REASON,
9480 ) -> windows_core::HRESULT {
9481 unsafe {
9482 let this: &Identity =
9483 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9484 ICoreWebView2Controller_Impl::MoveFocus(this, core::mem::transmute_copy(&reason))
9485 .into()
9486 }
9487 }
9488 unsafe extern "system" fn add_MoveFocusRequested<
9489 Identity: ICoreWebView2Controller_Impl,
9490 const OFFSET: isize,
9491 >(
9492 this: *mut core::ffi::c_void,
9493 eventhandler: *mut core::ffi::c_void,
9494 token: *mut i64,
9495 ) -> windows_core::HRESULT {
9496 unsafe {
9497 let this: &Identity =
9498 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9499 ICoreWebView2Controller_Impl::add_MoveFocusRequested(
9500 this,
9501 core::mem::transmute_copy(&eventhandler),
9502 core::mem::transmute_copy(&token),
9503 )
9504 .into()
9505 }
9506 }
9507 unsafe extern "system" fn remove_MoveFocusRequested<
9508 Identity: ICoreWebView2Controller_Impl,
9509 const OFFSET: isize,
9510 >(
9511 this: *mut core::ffi::c_void,
9512 token: i64,
9513 ) -> windows_core::HRESULT {
9514 unsafe {
9515 let this: &Identity =
9516 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9517 ICoreWebView2Controller_Impl::remove_MoveFocusRequested(
9518 this,
9519 core::mem::transmute_copy(&token),
9520 )
9521 .into()
9522 }
9523 }
9524 unsafe extern "system" fn add_GotFocus<
9525 Identity: ICoreWebView2Controller_Impl,
9526 const OFFSET: isize,
9527 >(
9528 this: *mut core::ffi::c_void,
9529 eventhandler: *mut core::ffi::c_void,
9530 token: *mut i64,
9531 ) -> windows_core::HRESULT {
9532 unsafe {
9533 let this: &Identity =
9534 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9535 ICoreWebView2Controller_Impl::add_GotFocus(
9536 this,
9537 core::mem::transmute_copy(&eventhandler),
9538 core::mem::transmute_copy(&token),
9539 )
9540 .into()
9541 }
9542 }
9543 unsafe extern "system" fn remove_GotFocus<
9544 Identity: ICoreWebView2Controller_Impl,
9545 const OFFSET: isize,
9546 >(
9547 this: *mut core::ffi::c_void,
9548 token: i64,
9549 ) -> windows_core::HRESULT {
9550 unsafe {
9551 let this: &Identity =
9552 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9553 ICoreWebView2Controller_Impl::remove_GotFocus(
9554 this,
9555 core::mem::transmute_copy(&token),
9556 )
9557 .into()
9558 }
9559 }
9560 unsafe extern "system" fn add_LostFocus<
9561 Identity: ICoreWebView2Controller_Impl,
9562 const OFFSET: isize,
9563 >(
9564 this: *mut core::ffi::c_void,
9565 eventhandler: *mut core::ffi::c_void,
9566 token: *mut i64,
9567 ) -> windows_core::HRESULT {
9568 unsafe {
9569 let this: &Identity =
9570 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9571 ICoreWebView2Controller_Impl::add_LostFocus(
9572 this,
9573 core::mem::transmute_copy(&eventhandler),
9574 core::mem::transmute_copy(&token),
9575 )
9576 .into()
9577 }
9578 }
9579 unsafe extern "system" fn remove_LostFocus<
9580 Identity: ICoreWebView2Controller_Impl,
9581 const OFFSET: isize,
9582 >(
9583 this: *mut core::ffi::c_void,
9584 token: i64,
9585 ) -> windows_core::HRESULT {
9586 unsafe {
9587 let this: &Identity =
9588 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9589 ICoreWebView2Controller_Impl::remove_LostFocus(
9590 this,
9591 core::mem::transmute_copy(&token),
9592 )
9593 .into()
9594 }
9595 }
9596 unsafe extern "system" fn add_AcceleratorKeyPressed<
9597 Identity: ICoreWebView2Controller_Impl,
9598 const OFFSET: isize,
9599 >(
9600 this: *mut core::ffi::c_void,
9601 eventhandler: *mut core::ffi::c_void,
9602 token: *mut i64,
9603 ) -> windows_core::HRESULT {
9604 unsafe {
9605 let this: &Identity =
9606 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9607 ICoreWebView2Controller_Impl::add_AcceleratorKeyPressed(
9608 this,
9609 core::mem::transmute_copy(&eventhandler),
9610 core::mem::transmute_copy(&token),
9611 )
9612 .into()
9613 }
9614 }
9615 unsafe extern "system" fn remove_AcceleratorKeyPressed<
9616 Identity: ICoreWebView2Controller_Impl,
9617 const OFFSET: isize,
9618 >(
9619 this: *mut core::ffi::c_void,
9620 token: i64,
9621 ) -> windows_core::HRESULT {
9622 unsafe {
9623 let this: &Identity =
9624 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9625 ICoreWebView2Controller_Impl::remove_AcceleratorKeyPressed(
9626 this,
9627 core::mem::transmute_copy(&token),
9628 )
9629 .into()
9630 }
9631 }
9632 unsafe extern "system" fn ParentWindow<
9633 Identity: ICoreWebView2Controller_Impl,
9634 const OFFSET: isize,
9635 >(
9636 this: *mut core::ffi::c_void,
9637 parentwindow: *mut windows::Win32::Foundation::HWND,
9638 ) -> windows_core::HRESULT {
9639 unsafe {
9640 let this: &Identity =
9641 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9642 ICoreWebView2Controller_Impl::ParentWindow(
9643 this,
9644 core::mem::transmute_copy(&parentwindow),
9645 )
9646 .into()
9647 }
9648 }
9649 unsafe extern "system" fn SetParentWindow<
9650 Identity: ICoreWebView2Controller_Impl,
9651 const OFFSET: isize,
9652 >(
9653 this: *mut core::ffi::c_void,
9654 parentwindow: windows::Win32::Foundation::HWND,
9655 ) -> windows_core::HRESULT {
9656 unsafe {
9657 let this: &Identity =
9658 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9659 ICoreWebView2Controller_Impl::SetParentWindow(
9660 this,
9661 core::mem::transmute_copy(&parentwindow),
9662 )
9663 .into()
9664 }
9665 }
9666 unsafe extern "system" fn NotifyParentWindowPositionChanged<
9667 Identity: ICoreWebView2Controller_Impl,
9668 const OFFSET: isize,
9669 >(
9670 this: *mut core::ffi::c_void,
9671 ) -> windows_core::HRESULT {
9672 unsafe {
9673 let this: &Identity =
9674 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9675 ICoreWebView2Controller_Impl::NotifyParentWindowPositionChanged(this).into()
9676 }
9677 }
9678 unsafe extern "system" fn Close<
9679 Identity: ICoreWebView2Controller_Impl,
9680 const OFFSET: isize,
9681 >(
9682 this: *mut core::ffi::c_void,
9683 ) -> windows_core::HRESULT {
9684 unsafe {
9685 let this: &Identity =
9686 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9687 ICoreWebView2Controller_Impl::Close(this).into()
9688 }
9689 }
9690 unsafe extern "system" fn CoreWebView2<
9691 Identity: ICoreWebView2Controller_Impl,
9692 const OFFSET: isize,
9693 >(
9694 this: *mut core::ffi::c_void,
9695 corewebview2: *mut *mut core::ffi::c_void,
9696 ) -> windows_core::HRESULT {
9697 unsafe {
9698 let this: &Identity =
9699 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9700 match ICoreWebView2Controller_Impl::CoreWebView2(this) {
9701 Ok(ok__) => {
9702 corewebview2.write(core::mem::transmute(ok__));
9703 windows_core::HRESULT(0)
9704 }
9705 Err(err) => err.into(),
9706 }
9707 }
9708 }
9709 Self {
9710 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
9711 IsVisible: IsVisible::<Identity, OFFSET>,
9712 SetIsVisible: SetIsVisible::<Identity, OFFSET>,
9713 Bounds: Bounds::<Identity, OFFSET>,
9714 SetBounds: SetBounds::<Identity, OFFSET>,
9715 ZoomFactor: ZoomFactor::<Identity, OFFSET>,
9716 SetZoomFactor: SetZoomFactor::<Identity, OFFSET>,
9717 add_ZoomFactorChanged: add_ZoomFactorChanged::<Identity, OFFSET>,
9718 remove_ZoomFactorChanged: remove_ZoomFactorChanged::<Identity, OFFSET>,
9719 SetBoundsAndZoomFactor: SetBoundsAndZoomFactor::<Identity, OFFSET>,
9720 MoveFocus: MoveFocus::<Identity, OFFSET>,
9721 add_MoveFocusRequested: add_MoveFocusRequested::<Identity, OFFSET>,
9722 remove_MoveFocusRequested: remove_MoveFocusRequested::<Identity, OFFSET>,
9723 add_GotFocus: add_GotFocus::<Identity, OFFSET>,
9724 remove_GotFocus: remove_GotFocus::<Identity, OFFSET>,
9725 add_LostFocus: add_LostFocus::<Identity, OFFSET>,
9726 remove_LostFocus: remove_LostFocus::<Identity, OFFSET>,
9727 add_AcceleratorKeyPressed: add_AcceleratorKeyPressed::<Identity, OFFSET>,
9728 remove_AcceleratorKeyPressed: remove_AcceleratorKeyPressed::<Identity, OFFSET>,
9729 ParentWindow: ParentWindow::<Identity, OFFSET>,
9730 SetParentWindow: SetParentWindow::<Identity, OFFSET>,
9731 NotifyParentWindowPositionChanged: NotifyParentWindowPositionChanged::<Identity, OFFSET>,
9732 Close: Close::<Identity, OFFSET>,
9733 CoreWebView2: CoreWebView2::<Identity, OFFSET>,
9734 }
9735 }
9736 pub fn matches(iid: &windows_core::GUID) -> bool {
9737 iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
9738 }
9739}
9740impl windows_core::RuntimeName for ICoreWebView2Controller {}
9741windows_core::imp::define_interface!(
9742 ICoreWebView2Controller2,
9743 ICoreWebView2Controller2_Vtbl,
9744 0xc979903e_d4ca_4228_92eb_47ee3fa96eab
9745);
9746impl core::ops::Deref for ICoreWebView2Controller2 {
9747 type Target = ICoreWebView2Controller;
9748 fn deref(&self) -> &Self::Target {
9749 unsafe { core::mem::transmute(self) }
9750 }
9751}
9752windows_core::imp::interface_hierarchy!(
9753 ICoreWebView2Controller2,
9754 windows_core::IUnknown,
9755 ICoreWebView2Controller
9756);
9757impl ICoreWebView2Controller2 {
9758 pub unsafe fn DefaultBackgroundColor(
9759 &self,
9760 value: *mut COREWEBVIEW2_COLOR,
9761 ) -> windows_core::Result<()> {
9762 unsafe {
9763 (windows_core::Interface::vtable(self).DefaultBackgroundColor)(
9764 windows_core::Interface::as_raw(self),
9765 value as _,
9766 )
9767 .ok()
9768 }
9769 }
9770 pub unsafe fn SetDefaultBackgroundColor(
9771 &self,
9772 value: COREWEBVIEW2_COLOR,
9773 ) -> windows_core::Result<()> {
9774 unsafe {
9775 (windows_core::Interface::vtable(self).SetDefaultBackgroundColor)(
9776 windows_core::Interface::as_raw(self),
9777 core::mem::transmute(value),
9778 )
9779 .ok()
9780 }
9781 }
9782}
9783#[repr(C)]
9784#[doc(hidden)]
9785pub struct ICoreWebView2Controller2_Vtbl {
9786 pub base__: ICoreWebView2Controller_Vtbl,
9787 pub DefaultBackgroundColor: unsafe extern "system" fn(
9788 *mut core::ffi::c_void,
9789 *mut COREWEBVIEW2_COLOR,
9790 ) -> windows_core::HRESULT,
9791 pub SetDefaultBackgroundColor: unsafe extern "system" fn(
9792 *mut core::ffi::c_void,
9793 COREWEBVIEW2_COLOR,
9794 ) -> windows_core::HRESULT,
9795}
9796pub trait ICoreWebView2Controller2_Impl: ICoreWebView2Controller_Impl {
9797 fn DefaultBackgroundColor(&self, value: *mut COREWEBVIEW2_COLOR) -> windows_core::Result<()>;
9798 fn SetDefaultBackgroundColor(&self, value: &COREWEBVIEW2_COLOR) -> windows_core::Result<()>;
9799}
9800impl ICoreWebView2Controller2_Vtbl {
9801 pub const fn new<Identity: ICoreWebView2Controller2_Impl, const OFFSET: isize>() -> Self {
9802 unsafe extern "system" fn DefaultBackgroundColor<
9803 Identity: ICoreWebView2Controller2_Impl,
9804 const OFFSET: isize,
9805 >(
9806 this: *mut core::ffi::c_void,
9807 value: *mut COREWEBVIEW2_COLOR,
9808 ) -> windows_core::HRESULT {
9809 unsafe {
9810 let this: &Identity =
9811 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9812 ICoreWebView2Controller2_Impl::DefaultBackgroundColor(
9813 this,
9814 core::mem::transmute_copy(&value),
9815 )
9816 .into()
9817 }
9818 }
9819 unsafe extern "system" fn SetDefaultBackgroundColor<
9820 Identity: ICoreWebView2Controller2_Impl,
9821 const OFFSET: isize,
9822 >(
9823 this: *mut core::ffi::c_void,
9824 value: COREWEBVIEW2_COLOR,
9825 ) -> windows_core::HRESULT {
9826 unsafe {
9827 let this: &Identity =
9828 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9829 ICoreWebView2Controller2_Impl::SetDefaultBackgroundColor(
9830 this,
9831 core::mem::transmute(&value),
9832 )
9833 .into()
9834 }
9835 }
9836 Self {
9837 base__: ICoreWebView2Controller_Vtbl::new::<Identity, OFFSET>(),
9838 DefaultBackgroundColor: DefaultBackgroundColor::<Identity, OFFSET>,
9839 SetDefaultBackgroundColor: SetDefaultBackgroundColor::<Identity, OFFSET>,
9840 }
9841 }
9842 pub fn matches(iid: &windows_core::GUID) -> bool {
9843 iid == &<ICoreWebView2Controller2 as windows_core::Interface>::IID
9844 || iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
9845 }
9846}
9847impl windows_core::RuntimeName for ICoreWebView2Controller2 {}
9848windows_core::imp::define_interface!(
9849 ICoreWebView2Controller3,
9850 ICoreWebView2Controller3_Vtbl,
9851 0xf9614724_5d2b_41dc_aef7_73d62b51543b
9852);
9853impl core::ops::Deref for ICoreWebView2Controller3 {
9854 type Target = ICoreWebView2Controller2;
9855 fn deref(&self) -> &Self::Target {
9856 unsafe { core::mem::transmute(self) }
9857 }
9858}
9859windows_core::imp::interface_hierarchy!(
9860 ICoreWebView2Controller3,
9861 windows_core::IUnknown,
9862 ICoreWebView2Controller,
9863 ICoreWebView2Controller2
9864);
9865impl ICoreWebView2Controller3 {
9866 pub unsafe fn RasterizationScale(&self, scale: *mut f64) -> windows_core::Result<()> {
9867 unsafe {
9868 (windows_core::Interface::vtable(self).RasterizationScale)(
9869 windows_core::Interface::as_raw(self),
9870 scale as _,
9871 )
9872 .ok()
9873 }
9874 }
9875 pub unsafe fn SetRasterizationScale(&self, scale: f64) -> windows_core::Result<()> {
9876 unsafe {
9877 (windows_core::Interface::vtable(self).SetRasterizationScale)(
9878 windows_core::Interface::as_raw(self),
9879 scale,
9880 )
9881 .ok()
9882 }
9883 }
9884 pub unsafe fn ShouldDetectMonitorScaleChanges(
9885 &self,
9886 value: *mut windows_core::BOOL,
9887 ) -> windows_core::Result<()> {
9888 unsafe {
9889 (windows_core::Interface::vtable(self).ShouldDetectMonitorScaleChanges)(
9890 windows_core::Interface::as_raw(self),
9891 value as _,
9892 )
9893 .ok()
9894 }
9895 }
9896 pub unsafe fn SetShouldDetectMonitorScaleChanges(
9897 &self,
9898 value: bool,
9899 ) -> windows_core::Result<()> {
9900 unsafe {
9901 (windows_core::Interface::vtable(self).SetShouldDetectMonitorScaleChanges)(
9902 windows_core::Interface::as_raw(self),
9903 value.into(),
9904 )
9905 .ok()
9906 }
9907 }
9908 pub unsafe fn add_RasterizationScaleChanged<P0>(
9909 &self,
9910 eventhandler: P0,
9911 token: *mut i64,
9912 ) -> windows_core::Result<()>
9913 where
9914 P0: windows_core::Param<ICoreWebView2RasterizationScaleChangedEventHandler>,
9915 {
9916 unsafe {
9917 (windows_core::Interface::vtable(self).add_RasterizationScaleChanged)(
9918 windows_core::Interface::as_raw(self),
9919 eventhandler.param().abi(),
9920 token as _,
9921 )
9922 .ok()
9923 }
9924 }
9925 pub unsafe fn remove_RasterizationScaleChanged(&self, token: i64) -> windows_core::Result<()> {
9926 unsafe {
9927 (windows_core::Interface::vtable(self).remove_RasterizationScaleChanged)(
9928 windows_core::Interface::as_raw(self),
9929 token,
9930 )
9931 .ok()
9932 }
9933 }
9934 pub unsafe fn BoundsMode(
9935 &self,
9936 boundsmode: *mut COREWEBVIEW2_BOUNDS_MODE,
9937 ) -> windows_core::Result<()> {
9938 unsafe {
9939 (windows_core::Interface::vtable(self).BoundsMode)(
9940 windows_core::Interface::as_raw(self),
9941 boundsmode as _,
9942 )
9943 .ok()
9944 }
9945 }
9946 pub unsafe fn SetBoundsMode(
9947 &self,
9948 boundsmode: COREWEBVIEW2_BOUNDS_MODE,
9949 ) -> windows_core::Result<()> {
9950 unsafe {
9951 (windows_core::Interface::vtable(self).SetBoundsMode)(
9952 windows_core::Interface::as_raw(self),
9953 boundsmode,
9954 )
9955 .ok()
9956 }
9957 }
9958}
9959#[repr(C)]
9960#[doc(hidden)]
9961pub struct ICoreWebView2Controller3_Vtbl {
9962 pub base__: ICoreWebView2Controller2_Vtbl,
9963 pub RasterizationScale:
9964 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
9965 pub SetRasterizationScale:
9966 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
9967 pub ShouldDetectMonitorScaleChanges: unsafe extern "system" fn(
9968 *mut core::ffi::c_void,
9969 *mut windows_core::BOOL,
9970 ) -> windows_core::HRESULT,
9971 pub SetShouldDetectMonitorScaleChanges: unsafe extern "system" fn(
9972 *mut core::ffi::c_void,
9973 windows_core::BOOL,
9974 ) -> windows_core::HRESULT,
9975 pub add_RasterizationScaleChanged: unsafe extern "system" fn(
9976 *mut core::ffi::c_void,
9977 *mut core::ffi::c_void,
9978 *mut i64,
9979 ) -> windows_core::HRESULT,
9980 pub remove_RasterizationScaleChanged:
9981 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
9982 pub BoundsMode: unsafe extern "system" fn(
9983 *mut core::ffi::c_void,
9984 *mut COREWEBVIEW2_BOUNDS_MODE,
9985 ) -> windows_core::HRESULT,
9986 pub SetBoundsMode: unsafe extern "system" fn(
9987 *mut core::ffi::c_void,
9988 COREWEBVIEW2_BOUNDS_MODE,
9989 ) -> windows_core::HRESULT,
9990}
9991pub trait ICoreWebView2Controller3_Impl: ICoreWebView2Controller2_Impl {
9992 fn RasterizationScale(&self, scale: *mut f64) -> windows_core::Result<()>;
9993 fn SetRasterizationScale(&self, scale: f64) -> windows_core::Result<()>;
9994 fn ShouldDetectMonitorScaleChanges(
9995 &self,
9996 value: *mut windows_core::BOOL,
9997 ) -> windows_core::Result<()>;
9998 fn SetShouldDetectMonitorScaleChanges(
9999 &self,
10000 value: windows_core::BOOL,
10001 ) -> windows_core::Result<()>;
10002 fn add_RasterizationScaleChanged(
10003 &self,
10004 eventhandler: windows_core::Ref<'_, ICoreWebView2RasterizationScaleChangedEventHandler>,
10005 token: *mut i64,
10006 ) -> windows_core::Result<()>;
10007 fn remove_RasterizationScaleChanged(&self, token: i64) -> windows_core::Result<()>;
10008 fn BoundsMode(&self, boundsmode: *mut COREWEBVIEW2_BOUNDS_MODE) -> windows_core::Result<()>;
10009 fn SetBoundsMode(&self, boundsmode: COREWEBVIEW2_BOUNDS_MODE) -> windows_core::Result<()>;
10010}
10011impl ICoreWebView2Controller3_Vtbl {
10012 pub const fn new<Identity: ICoreWebView2Controller3_Impl, const OFFSET: isize>() -> Self {
10013 unsafe extern "system" fn RasterizationScale<
10014 Identity: ICoreWebView2Controller3_Impl,
10015 const OFFSET: isize,
10016 >(
10017 this: *mut core::ffi::c_void,
10018 scale: *mut f64,
10019 ) -> windows_core::HRESULT {
10020 unsafe {
10021 let this: &Identity =
10022 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10023 ICoreWebView2Controller3_Impl::RasterizationScale(
10024 this,
10025 core::mem::transmute_copy(&scale),
10026 )
10027 .into()
10028 }
10029 }
10030 unsafe extern "system" fn SetRasterizationScale<
10031 Identity: ICoreWebView2Controller3_Impl,
10032 const OFFSET: isize,
10033 >(
10034 this: *mut core::ffi::c_void,
10035 scale: f64,
10036 ) -> windows_core::HRESULT {
10037 unsafe {
10038 let this: &Identity =
10039 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10040 ICoreWebView2Controller3_Impl::SetRasterizationScale(
10041 this,
10042 core::mem::transmute_copy(&scale),
10043 )
10044 .into()
10045 }
10046 }
10047 unsafe extern "system" fn ShouldDetectMonitorScaleChanges<
10048 Identity: ICoreWebView2Controller3_Impl,
10049 const OFFSET: isize,
10050 >(
10051 this: *mut core::ffi::c_void,
10052 value: *mut windows_core::BOOL,
10053 ) -> windows_core::HRESULT {
10054 unsafe {
10055 let this: &Identity =
10056 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10057 ICoreWebView2Controller3_Impl::ShouldDetectMonitorScaleChanges(
10058 this,
10059 core::mem::transmute_copy(&value),
10060 )
10061 .into()
10062 }
10063 }
10064 unsafe extern "system" fn SetShouldDetectMonitorScaleChanges<
10065 Identity: ICoreWebView2Controller3_Impl,
10066 const OFFSET: isize,
10067 >(
10068 this: *mut core::ffi::c_void,
10069 value: windows_core::BOOL,
10070 ) -> windows_core::HRESULT {
10071 unsafe {
10072 let this: &Identity =
10073 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10074 ICoreWebView2Controller3_Impl::SetShouldDetectMonitorScaleChanges(
10075 this,
10076 core::mem::transmute_copy(&value),
10077 )
10078 .into()
10079 }
10080 }
10081 unsafe extern "system" fn add_RasterizationScaleChanged<
10082 Identity: ICoreWebView2Controller3_Impl,
10083 const OFFSET: isize,
10084 >(
10085 this: *mut core::ffi::c_void,
10086 eventhandler: *mut core::ffi::c_void,
10087 token: *mut i64,
10088 ) -> windows_core::HRESULT {
10089 unsafe {
10090 let this: &Identity =
10091 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10092 ICoreWebView2Controller3_Impl::add_RasterizationScaleChanged(
10093 this,
10094 core::mem::transmute_copy(&eventhandler),
10095 core::mem::transmute_copy(&token),
10096 )
10097 .into()
10098 }
10099 }
10100 unsafe extern "system" fn remove_RasterizationScaleChanged<
10101 Identity: ICoreWebView2Controller3_Impl,
10102 const OFFSET: isize,
10103 >(
10104 this: *mut core::ffi::c_void,
10105 token: i64,
10106 ) -> windows_core::HRESULT {
10107 unsafe {
10108 let this: &Identity =
10109 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10110 ICoreWebView2Controller3_Impl::remove_RasterizationScaleChanged(
10111 this,
10112 core::mem::transmute_copy(&token),
10113 )
10114 .into()
10115 }
10116 }
10117 unsafe extern "system" fn BoundsMode<
10118 Identity: ICoreWebView2Controller3_Impl,
10119 const OFFSET: isize,
10120 >(
10121 this: *mut core::ffi::c_void,
10122 boundsmode: *mut COREWEBVIEW2_BOUNDS_MODE,
10123 ) -> windows_core::HRESULT {
10124 unsafe {
10125 let this: &Identity =
10126 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10127 ICoreWebView2Controller3_Impl::BoundsMode(
10128 this,
10129 core::mem::transmute_copy(&boundsmode),
10130 )
10131 .into()
10132 }
10133 }
10134 unsafe extern "system" fn SetBoundsMode<
10135 Identity: ICoreWebView2Controller3_Impl,
10136 const OFFSET: isize,
10137 >(
10138 this: *mut core::ffi::c_void,
10139 boundsmode: COREWEBVIEW2_BOUNDS_MODE,
10140 ) -> windows_core::HRESULT {
10141 unsafe {
10142 let this: &Identity =
10143 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10144 ICoreWebView2Controller3_Impl::SetBoundsMode(
10145 this,
10146 core::mem::transmute_copy(&boundsmode),
10147 )
10148 .into()
10149 }
10150 }
10151 Self {
10152 base__: ICoreWebView2Controller2_Vtbl::new::<Identity, OFFSET>(),
10153 RasterizationScale: RasterizationScale::<Identity, OFFSET>,
10154 SetRasterizationScale: SetRasterizationScale::<Identity, OFFSET>,
10155 ShouldDetectMonitorScaleChanges: ShouldDetectMonitorScaleChanges::<Identity, OFFSET>,
10156 SetShouldDetectMonitorScaleChanges: SetShouldDetectMonitorScaleChanges::<
10157 Identity,
10158 OFFSET,
10159 >,
10160 add_RasterizationScaleChanged: add_RasterizationScaleChanged::<Identity, OFFSET>,
10161 remove_RasterizationScaleChanged: remove_RasterizationScaleChanged::<Identity, OFFSET>,
10162 BoundsMode: BoundsMode::<Identity, OFFSET>,
10163 SetBoundsMode: SetBoundsMode::<Identity, OFFSET>,
10164 }
10165 }
10166 pub fn matches(iid: &windows_core::GUID) -> bool {
10167 iid == &<ICoreWebView2Controller3 as windows_core::Interface>::IID
10168 || iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
10169 || iid == &<ICoreWebView2Controller2 as windows_core::Interface>::IID
10170 }
10171}
10172impl windows_core::RuntimeName for ICoreWebView2Controller3 {}
10173windows_core::imp::define_interface!(
10174 ICoreWebView2Controller4,
10175 ICoreWebView2Controller4_Vtbl,
10176 0x97d418d5_a426_4e49_a151_e1a10f327d9e
10177);
10178impl core::ops::Deref for ICoreWebView2Controller4 {
10179 type Target = ICoreWebView2Controller3;
10180 fn deref(&self) -> &Self::Target {
10181 unsafe { core::mem::transmute(self) }
10182 }
10183}
10184windows_core::imp::interface_hierarchy!(
10185 ICoreWebView2Controller4,
10186 windows_core::IUnknown,
10187 ICoreWebView2Controller,
10188 ICoreWebView2Controller2,
10189 ICoreWebView2Controller3
10190);
10191impl ICoreWebView2Controller4 {
10192 pub unsafe fn AllowExternalDrop(
10193 &self,
10194 value: *mut windows_core::BOOL,
10195 ) -> windows_core::Result<()> {
10196 unsafe {
10197 (windows_core::Interface::vtable(self).AllowExternalDrop)(
10198 windows_core::Interface::as_raw(self),
10199 value as _,
10200 )
10201 .ok()
10202 }
10203 }
10204 pub unsafe fn SetAllowExternalDrop(&self, value: bool) -> windows_core::Result<()> {
10205 unsafe {
10206 (windows_core::Interface::vtable(self).SetAllowExternalDrop)(
10207 windows_core::Interface::as_raw(self),
10208 value.into(),
10209 )
10210 .ok()
10211 }
10212 }
10213}
10214#[repr(C)]
10215#[doc(hidden)]
10216pub struct ICoreWebView2Controller4_Vtbl {
10217 pub base__: ICoreWebView2Controller3_Vtbl,
10218 pub AllowExternalDrop: unsafe extern "system" fn(
10219 *mut core::ffi::c_void,
10220 *mut windows_core::BOOL,
10221 ) -> windows_core::HRESULT,
10222 pub SetAllowExternalDrop: unsafe extern "system" fn(
10223 *mut core::ffi::c_void,
10224 windows_core::BOOL,
10225 ) -> windows_core::HRESULT,
10226}
10227pub trait ICoreWebView2Controller4_Impl: ICoreWebView2Controller3_Impl {
10228 fn AllowExternalDrop(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
10229 fn SetAllowExternalDrop(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
10230}
10231impl ICoreWebView2Controller4_Vtbl {
10232 pub const fn new<Identity: ICoreWebView2Controller4_Impl, const OFFSET: isize>() -> Self {
10233 unsafe extern "system" fn AllowExternalDrop<
10234 Identity: ICoreWebView2Controller4_Impl,
10235 const OFFSET: isize,
10236 >(
10237 this: *mut core::ffi::c_void,
10238 value: *mut windows_core::BOOL,
10239 ) -> windows_core::HRESULT {
10240 unsafe {
10241 let this: &Identity =
10242 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10243 ICoreWebView2Controller4_Impl::AllowExternalDrop(
10244 this,
10245 core::mem::transmute_copy(&value),
10246 )
10247 .into()
10248 }
10249 }
10250 unsafe extern "system" fn SetAllowExternalDrop<
10251 Identity: ICoreWebView2Controller4_Impl,
10252 const OFFSET: isize,
10253 >(
10254 this: *mut core::ffi::c_void,
10255 value: windows_core::BOOL,
10256 ) -> windows_core::HRESULT {
10257 unsafe {
10258 let this: &Identity =
10259 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10260 ICoreWebView2Controller4_Impl::SetAllowExternalDrop(
10261 this,
10262 core::mem::transmute_copy(&value),
10263 )
10264 .into()
10265 }
10266 }
10267 Self {
10268 base__: ICoreWebView2Controller3_Vtbl::new::<Identity, OFFSET>(),
10269 AllowExternalDrop: AllowExternalDrop::<Identity, OFFSET>,
10270 SetAllowExternalDrop: SetAllowExternalDrop::<Identity, OFFSET>,
10271 }
10272 }
10273 pub fn matches(iid: &windows_core::GUID) -> bool {
10274 iid == &<ICoreWebView2Controller4 as windows_core::Interface>::IID
10275 || iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
10276 || iid == &<ICoreWebView2Controller2 as windows_core::Interface>::IID
10277 || iid == &<ICoreWebView2Controller3 as windows_core::Interface>::IID
10278 }
10279}
10280impl windows_core::RuntimeName for ICoreWebView2Controller4 {}
10281windows_core::imp::define_interface!(
10282 ICoreWebView2ControllerOptions,
10283 ICoreWebView2ControllerOptions_Vtbl,
10284 0x12aae616_8ccb_44ec_bcb3_eb1831881635
10285);
10286windows_core::imp::interface_hierarchy!(ICoreWebView2ControllerOptions, windows_core::IUnknown);
10287impl ICoreWebView2ControllerOptions {
10288 pub unsafe fn ProfileName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10289 unsafe {
10290 (windows_core::Interface::vtable(self).ProfileName)(
10291 windows_core::Interface::as_raw(self),
10292 value as _,
10293 )
10294 .ok()
10295 }
10296 }
10297 pub unsafe fn SetProfileName<P0>(&self, value: P0) -> windows_core::Result<()>
10298 where
10299 P0: windows_core::Param<windows_core::PCWSTR>,
10300 {
10301 unsafe {
10302 (windows_core::Interface::vtable(self).SetProfileName)(
10303 windows_core::Interface::as_raw(self),
10304 value.param().abi(),
10305 )
10306 .ok()
10307 }
10308 }
10309 pub unsafe fn IsInPrivateModeEnabled(
10310 &self,
10311 value: *mut windows_core::BOOL,
10312 ) -> windows_core::Result<()> {
10313 unsafe {
10314 (windows_core::Interface::vtable(self).IsInPrivateModeEnabled)(
10315 windows_core::Interface::as_raw(self),
10316 value as _,
10317 )
10318 .ok()
10319 }
10320 }
10321 pub unsafe fn SetIsInPrivateModeEnabled(&self, value: bool) -> windows_core::Result<()> {
10322 unsafe {
10323 (windows_core::Interface::vtable(self).SetIsInPrivateModeEnabled)(
10324 windows_core::Interface::as_raw(self),
10325 value.into(),
10326 )
10327 .ok()
10328 }
10329 }
10330}
10331#[repr(C)]
10332#[doc(hidden)]
10333pub struct ICoreWebView2ControllerOptions_Vtbl {
10334 pub base__: windows_core::IUnknown_Vtbl,
10335 pub ProfileName: unsafe extern "system" fn(
10336 *mut core::ffi::c_void,
10337 *mut windows_core::PWSTR,
10338 ) -> windows_core::HRESULT,
10339 pub SetProfileName: unsafe extern "system" fn(
10340 *mut core::ffi::c_void,
10341 windows_core::PCWSTR,
10342 ) -> windows_core::HRESULT,
10343 pub IsInPrivateModeEnabled: unsafe extern "system" fn(
10344 *mut core::ffi::c_void,
10345 *mut windows_core::BOOL,
10346 ) -> windows_core::HRESULT,
10347 pub SetIsInPrivateModeEnabled: unsafe extern "system" fn(
10348 *mut core::ffi::c_void,
10349 windows_core::BOOL,
10350 ) -> windows_core::HRESULT,
10351}
10352pub trait ICoreWebView2ControllerOptions_Impl: windows_core::IUnknownImpl {
10353 fn ProfileName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10354 fn SetProfileName(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
10355 fn IsInPrivateModeEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
10356 fn SetIsInPrivateModeEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
10357}
10358impl ICoreWebView2ControllerOptions_Vtbl {
10359 pub const fn new<Identity: ICoreWebView2ControllerOptions_Impl, const OFFSET: isize>() -> Self {
10360 unsafe extern "system" fn ProfileName<
10361 Identity: ICoreWebView2ControllerOptions_Impl,
10362 const OFFSET: isize,
10363 >(
10364 this: *mut core::ffi::c_void,
10365 value: *mut windows_core::PWSTR,
10366 ) -> windows_core::HRESULT {
10367 unsafe {
10368 let this: &Identity =
10369 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10370 ICoreWebView2ControllerOptions_Impl::ProfileName(
10371 this,
10372 core::mem::transmute_copy(&value),
10373 )
10374 .into()
10375 }
10376 }
10377 unsafe extern "system" fn SetProfileName<
10378 Identity: ICoreWebView2ControllerOptions_Impl,
10379 const OFFSET: isize,
10380 >(
10381 this: *mut core::ffi::c_void,
10382 value: windows_core::PCWSTR,
10383 ) -> windows_core::HRESULT {
10384 unsafe {
10385 let this: &Identity =
10386 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10387 ICoreWebView2ControllerOptions_Impl::SetProfileName(
10388 this,
10389 core::mem::transmute(&value),
10390 )
10391 .into()
10392 }
10393 }
10394 unsafe extern "system" fn IsInPrivateModeEnabled<
10395 Identity: ICoreWebView2ControllerOptions_Impl,
10396 const OFFSET: isize,
10397 >(
10398 this: *mut core::ffi::c_void,
10399 value: *mut windows_core::BOOL,
10400 ) -> windows_core::HRESULT {
10401 unsafe {
10402 let this: &Identity =
10403 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10404 ICoreWebView2ControllerOptions_Impl::IsInPrivateModeEnabled(
10405 this,
10406 core::mem::transmute_copy(&value),
10407 )
10408 .into()
10409 }
10410 }
10411 unsafe extern "system" fn SetIsInPrivateModeEnabled<
10412 Identity: ICoreWebView2ControllerOptions_Impl,
10413 const OFFSET: isize,
10414 >(
10415 this: *mut core::ffi::c_void,
10416 value: windows_core::BOOL,
10417 ) -> windows_core::HRESULT {
10418 unsafe {
10419 let this: &Identity =
10420 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10421 ICoreWebView2ControllerOptions_Impl::SetIsInPrivateModeEnabled(
10422 this,
10423 core::mem::transmute_copy(&value),
10424 )
10425 .into()
10426 }
10427 }
10428 Self {
10429 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
10430 ProfileName: ProfileName::<Identity, OFFSET>,
10431 SetProfileName: SetProfileName::<Identity, OFFSET>,
10432 IsInPrivateModeEnabled: IsInPrivateModeEnabled::<Identity, OFFSET>,
10433 SetIsInPrivateModeEnabled: SetIsInPrivateModeEnabled::<Identity, OFFSET>,
10434 }
10435 }
10436 pub fn matches(iid: &windows_core::GUID) -> bool {
10437 iid == &<ICoreWebView2ControllerOptions as windows_core::Interface>::IID
10438 }
10439}
10440impl windows_core::RuntimeName for ICoreWebView2ControllerOptions {}
10441windows_core::imp::define_interface!(
10442 ICoreWebView2ControllerOptions2,
10443 ICoreWebView2ControllerOptions2_Vtbl,
10444 0x06c991d8_9e7e_11ed_a8fc_0242ac120002
10445);
10446impl core::ops::Deref for ICoreWebView2ControllerOptions2 {
10447 type Target = ICoreWebView2ControllerOptions;
10448 fn deref(&self) -> &Self::Target {
10449 unsafe { core::mem::transmute(self) }
10450 }
10451}
10452windows_core::imp::interface_hierarchy!(
10453 ICoreWebView2ControllerOptions2,
10454 windows_core::IUnknown,
10455 ICoreWebView2ControllerOptions
10456);
10457impl ICoreWebView2ControllerOptions2 {
10458 pub unsafe fn ScriptLocale(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10459 unsafe {
10460 (windows_core::Interface::vtable(self).ScriptLocale)(
10461 windows_core::Interface::as_raw(self),
10462 value as _,
10463 )
10464 .ok()
10465 }
10466 }
10467 pub unsafe fn SetScriptLocale<P0>(&self, value: P0) -> windows_core::Result<()>
10468 where
10469 P0: windows_core::Param<windows_core::PCWSTR>,
10470 {
10471 unsafe {
10472 (windows_core::Interface::vtable(self).SetScriptLocale)(
10473 windows_core::Interface::as_raw(self),
10474 value.param().abi(),
10475 )
10476 .ok()
10477 }
10478 }
10479}
10480#[repr(C)]
10481#[doc(hidden)]
10482pub struct ICoreWebView2ControllerOptions2_Vtbl {
10483 pub base__: ICoreWebView2ControllerOptions_Vtbl,
10484 pub ScriptLocale: unsafe extern "system" fn(
10485 *mut core::ffi::c_void,
10486 *mut windows_core::PWSTR,
10487 ) -> windows_core::HRESULT,
10488 pub SetScriptLocale: unsafe extern "system" fn(
10489 *mut core::ffi::c_void,
10490 windows_core::PCWSTR,
10491 ) -> windows_core::HRESULT,
10492}
10493pub trait ICoreWebView2ControllerOptions2_Impl: ICoreWebView2ControllerOptions_Impl {
10494 fn ScriptLocale(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10495 fn SetScriptLocale(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
10496}
10497impl ICoreWebView2ControllerOptions2_Vtbl {
10498 pub const fn new<Identity: ICoreWebView2ControllerOptions2_Impl, const OFFSET: isize>() -> Self
10499 {
10500 unsafe extern "system" fn ScriptLocale<
10501 Identity: ICoreWebView2ControllerOptions2_Impl,
10502 const OFFSET: isize,
10503 >(
10504 this: *mut core::ffi::c_void,
10505 value: *mut windows_core::PWSTR,
10506 ) -> windows_core::HRESULT {
10507 unsafe {
10508 let this: &Identity =
10509 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10510 ICoreWebView2ControllerOptions2_Impl::ScriptLocale(
10511 this,
10512 core::mem::transmute_copy(&value),
10513 )
10514 .into()
10515 }
10516 }
10517 unsafe extern "system" fn SetScriptLocale<
10518 Identity: ICoreWebView2ControllerOptions2_Impl,
10519 const OFFSET: isize,
10520 >(
10521 this: *mut core::ffi::c_void,
10522 value: windows_core::PCWSTR,
10523 ) -> windows_core::HRESULT {
10524 unsafe {
10525 let this: &Identity =
10526 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10527 ICoreWebView2ControllerOptions2_Impl::SetScriptLocale(
10528 this,
10529 core::mem::transmute(&value),
10530 )
10531 .into()
10532 }
10533 }
10534 Self {
10535 base__: ICoreWebView2ControllerOptions_Vtbl::new::<Identity, OFFSET>(),
10536 ScriptLocale: ScriptLocale::<Identity, OFFSET>,
10537 SetScriptLocale: SetScriptLocale::<Identity, OFFSET>,
10538 }
10539 }
10540 pub fn matches(iid: &windows_core::GUID) -> bool {
10541 iid == &<ICoreWebView2ControllerOptions2 as windows_core::Interface>::IID
10542 || iid == &<ICoreWebView2ControllerOptions as windows_core::Interface>::IID
10543 }
10544}
10545impl windows_core::RuntimeName for ICoreWebView2ControllerOptions2 {}
10546windows_core::imp::define_interface!(
10547 ICoreWebView2Cookie,
10548 ICoreWebView2Cookie_Vtbl,
10549 0xad26d6be_1486_43e6_bf87_a2034006ca21
10550);
10551windows_core::imp::interface_hierarchy!(ICoreWebView2Cookie, windows_core::IUnknown);
10552impl ICoreWebView2Cookie {
10553 pub unsafe fn Name(&self, name: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10554 unsafe {
10555 (windows_core::Interface::vtable(self).Name)(
10556 windows_core::Interface::as_raw(self),
10557 name as _,
10558 )
10559 .ok()
10560 }
10561 }
10562 pub unsafe fn Value(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10563 unsafe {
10564 (windows_core::Interface::vtable(self).Value)(
10565 windows_core::Interface::as_raw(self),
10566 value as _,
10567 )
10568 .ok()
10569 }
10570 }
10571 pub unsafe fn SetValue<P0>(&self, value: P0) -> windows_core::Result<()>
10572 where
10573 P0: windows_core::Param<windows_core::PCWSTR>,
10574 {
10575 unsafe {
10576 (windows_core::Interface::vtable(self).SetValue)(
10577 windows_core::Interface::as_raw(self),
10578 value.param().abi(),
10579 )
10580 .ok()
10581 }
10582 }
10583 pub unsafe fn Domain(&self, domain: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10584 unsafe {
10585 (windows_core::Interface::vtable(self).Domain)(
10586 windows_core::Interface::as_raw(self),
10587 domain as _,
10588 )
10589 .ok()
10590 }
10591 }
10592 pub unsafe fn Path(&self, path: *mut windows_core::PWSTR) -> windows_core::Result<()> {
10593 unsafe {
10594 (windows_core::Interface::vtable(self).Path)(
10595 windows_core::Interface::as_raw(self),
10596 path as _,
10597 )
10598 .ok()
10599 }
10600 }
10601 pub unsafe fn Expires(&self, expires: *mut f64) -> windows_core::Result<()> {
10602 unsafe {
10603 (windows_core::Interface::vtable(self).Expires)(
10604 windows_core::Interface::as_raw(self),
10605 expires as _,
10606 )
10607 .ok()
10608 }
10609 }
10610 pub unsafe fn SetExpires(&self, expires: f64) -> windows_core::Result<()> {
10611 unsafe {
10612 (windows_core::Interface::vtable(self).SetExpires)(
10613 windows_core::Interface::as_raw(self),
10614 expires,
10615 )
10616 .ok()
10617 }
10618 }
10619 pub unsafe fn IsHttpOnly(
10620 &self,
10621 ishttponly: *mut windows_core::BOOL,
10622 ) -> windows_core::Result<()> {
10623 unsafe {
10624 (windows_core::Interface::vtable(self).IsHttpOnly)(
10625 windows_core::Interface::as_raw(self),
10626 ishttponly as _,
10627 )
10628 .ok()
10629 }
10630 }
10631 pub unsafe fn SetIsHttpOnly(&self, ishttponly: bool) -> windows_core::Result<()> {
10632 unsafe {
10633 (windows_core::Interface::vtable(self).SetIsHttpOnly)(
10634 windows_core::Interface::as_raw(self),
10635 ishttponly.into(),
10636 )
10637 .ok()
10638 }
10639 }
10640 pub unsafe fn SameSite(
10641 &self,
10642 samesite: *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10643 ) -> windows_core::Result<()> {
10644 unsafe {
10645 (windows_core::Interface::vtable(self).SameSite)(
10646 windows_core::Interface::as_raw(self),
10647 samesite as _,
10648 )
10649 .ok()
10650 }
10651 }
10652 pub unsafe fn SetSameSite(
10653 &self,
10654 samesite: COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10655 ) -> windows_core::Result<()> {
10656 unsafe {
10657 (windows_core::Interface::vtable(self).SetSameSite)(
10658 windows_core::Interface::as_raw(self),
10659 samesite,
10660 )
10661 .ok()
10662 }
10663 }
10664 pub unsafe fn IsSecure(&self, issecure: *mut windows_core::BOOL) -> windows_core::Result<()> {
10665 unsafe {
10666 (windows_core::Interface::vtable(self).IsSecure)(
10667 windows_core::Interface::as_raw(self),
10668 issecure as _,
10669 )
10670 .ok()
10671 }
10672 }
10673 pub unsafe fn SetIsSecure(&self, issecure: bool) -> windows_core::Result<()> {
10674 unsafe {
10675 (windows_core::Interface::vtable(self).SetIsSecure)(
10676 windows_core::Interface::as_raw(self),
10677 issecure.into(),
10678 )
10679 .ok()
10680 }
10681 }
10682 pub unsafe fn IsSession(&self, issession: *mut windows_core::BOOL) -> windows_core::Result<()> {
10683 unsafe {
10684 (windows_core::Interface::vtable(self).IsSession)(
10685 windows_core::Interface::as_raw(self),
10686 issession as _,
10687 )
10688 .ok()
10689 }
10690 }
10691}
10692#[repr(C)]
10693#[doc(hidden)]
10694pub struct ICoreWebView2Cookie_Vtbl {
10695 pub base__: windows_core::IUnknown_Vtbl,
10696 pub Name: unsafe extern "system" fn(
10697 *mut core::ffi::c_void,
10698 *mut windows_core::PWSTR,
10699 ) -> windows_core::HRESULT,
10700 pub Value: unsafe extern "system" fn(
10701 *mut core::ffi::c_void,
10702 *mut windows_core::PWSTR,
10703 ) -> windows_core::HRESULT,
10704 pub SetValue: unsafe extern "system" fn(
10705 *mut core::ffi::c_void,
10706 windows_core::PCWSTR,
10707 ) -> windows_core::HRESULT,
10708 pub Domain: unsafe extern "system" fn(
10709 *mut core::ffi::c_void,
10710 *mut windows_core::PWSTR,
10711 ) -> windows_core::HRESULT,
10712 pub Path: unsafe extern "system" fn(
10713 *mut core::ffi::c_void,
10714 *mut windows_core::PWSTR,
10715 ) -> windows_core::HRESULT,
10716 pub Expires:
10717 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
10718 pub SetExpires: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
10719 pub IsHttpOnly: unsafe extern "system" fn(
10720 *mut core::ffi::c_void,
10721 *mut windows_core::BOOL,
10722 ) -> windows_core::HRESULT,
10723 pub SetIsHttpOnly: unsafe extern "system" fn(
10724 *mut core::ffi::c_void,
10725 windows_core::BOOL,
10726 ) -> windows_core::HRESULT,
10727 pub SameSite: unsafe extern "system" fn(
10728 *mut core::ffi::c_void,
10729 *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10730 ) -> windows_core::HRESULT,
10731 pub SetSameSite: unsafe extern "system" fn(
10732 *mut core::ffi::c_void,
10733 COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10734 ) -> windows_core::HRESULT,
10735 pub IsSecure: unsafe extern "system" fn(
10736 *mut core::ffi::c_void,
10737 *mut windows_core::BOOL,
10738 ) -> windows_core::HRESULT,
10739 pub SetIsSecure: unsafe extern "system" fn(
10740 *mut core::ffi::c_void,
10741 windows_core::BOOL,
10742 ) -> windows_core::HRESULT,
10743 pub IsSession: unsafe extern "system" fn(
10744 *mut core::ffi::c_void,
10745 *mut windows_core::BOOL,
10746 ) -> windows_core::HRESULT,
10747}
10748pub trait ICoreWebView2Cookie_Impl: windows_core::IUnknownImpl {
10749 fn Name(&self, name: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10750 fn Value(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10751 fn SetValue(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
10752 fn Domain(&self, domain: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10753 fn Path(&self, path: *mut windows_core::PWSTR) -> windows_core::Result<()>;
10754 fn Expires(&self, expires: *mut f64) -> windows_core::Result<()>;
10755 fn SetExpires(&self, expires: f64) -> windows_core::Result<()>;
10756 fn IsHttpOnly(&self, ishttponly: *mut windows_core::BOOL) -> windows_core::Result<()>;
10757 fn SetIsHttpOnly(&self, ishttponly: windows_core::BOOL) -> windows_core::Result<()>;
10758 fn SameSite(
10759 &self,
10760 samesite: *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10761 ) -> windows_core::Result<()>;
10762 fn SetSameSite(&self, samesite: COREWEBVIEW2_COOKIE_SAME_SITE_KIND)
10763 -> windows_core::Result<()>;
10764 fn IsSecure(&self, issecure: *mut windows_core::BOOL) -> windows_core::Result<()>;
10765 fn SetIsSecure(&self, issecure: windows_core::BOOL) -> windows_core::Result<()>;
10766 fn IsSession(&self, issession: *mut windows_core::BOOL) -> windows_core::Result<()>;
10767}
10768impl ICoreWebView2Cookie_Vtbl {
10769 pub const fn new<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>() -> Self {
10770 unsafe extern "system" fn Name<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>(
10771 this: *mut core::ffi::c_void,
10772 name: *mut windows_core::PWSTR,
10773 ) -> windows_core::HRESULT {
10774 unsafe {
10775 let this: &Identity =
10776 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10777 ICoreWebView2Cookie_Impl::Name(this, core::mem::transmute_copy(&name)).into()
10778 }
10779 }
10780 unsafe extern "system" fn Value<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>(
10781 this: *mut core::ffi::c_void,
10782 value: *mut windows_core::PWSTR,
10783 ) -> windows_core::HRESULT {
10784 unsafe {
10785 let this: &Identity =
10786 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10787 ICoreWebView2Cookie_Impl::Value(this, core::mem::transmute_copy(&value)).into()
10788 }
10789 }
10790 unsafe extern "system" fn SetValue<
10791 Identity: ICoreWebView2Cookie_Impl,
10792 const OFFSET: isize,
10793 >(
10794 this: *mut core::ffi::c_void,
10795 value: windows_core::PCWSTR,
10796 ) -> windows_core::HRESULT {
10797 unsafe {
10798 let this: &Identity =
10799 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10800 ICoreWebView2Cookie_Impl::SetValue(this, core::mem::transmute(&value)).into()
10801 }
10802 }
10803 unsafe extern "system" fn Domain<
10804 Identity: ICoreWebView2Cookie_Impl,
10805 const OFFSET: isize,
10806 >(
10807 this: *mut core::ffi::c_void,
10808 domain: *mut windows_core::PWSTR,
10809 ) -> windows_core::HRESULT {
10810 unsafe {
10811 let this: &Identity =
10812 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10813 ICoreWebView2Cookie_Impl::Domain(this, core::mem::transmute_copy(&domain)).into()
10814 }
10815 }
10816 unsafe extern "system" fn Path<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>(
10817 this: *mut core::ffi::c_void,
10818 path: *mut windows_core::PWSTR,
10819 ) -> windows_core::HRESULT {
10820 unsafe {
10821 let this: &Identity =
10822 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10823 ICoreWebView2Cookie_Impl::Path(this, core::mem::transmute_copy(&path)).into()
10824 }
10825 }
10826 unsafe extern "system" fn Expires<
10827 Identity: ICoreWebView2Cookie_Impl,
10828 const OFFSET: isize,
10829 >(
10830 this: *mut core::ffi::c_void,
10831 expires: *mut f64,
10832 ) -> windows_core::HRESULT {
10833 unsafe {
10834 let this: &Identity =
10835 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10836 ICoreWebView2Cookie_Impl::Expires(this, core::mem::transmute_copy(&expires)).into()
10837 }
10838 }
10839 unsafe extern "system" fn SetExpires<
10840 Identity: ICoreWebView2Cookie_Impl,
10841 const OFFSET: isize,
10842 >(
10843 this: *mut core::ffi::c_void,
10844 expires: f64,
10845 ) -> windows_core::HRESULT {
10846 unsafe {
10847 let this: &Identity =
10848 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10849 ICoreWebView2Cookie_Impl::SetExpires(this, core::mem::transmute_copy(&expires))
10850 .into()
10851 }
10852 }
10853 unsafe extern "system" fn IsHttpOnly<
10854 Identity: ICoreWebView2Cookie_Impl,
10855 const OFFSET: isize,
10856 >(
10857 this: *mut core::ffi::c_void,
10858 ishttponly: *mut windows_core::BOOL,
10859 ) -> windows_core::HRESULT {
10860 unsafe {
10861 let this: &Identity =
10862 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10863 ICoreWebView2Cookie_Impl::IsHttpOnly(this, core::mem::transmute_copy(&ishttponly))
10864 .into()
10865 }
10866 }
10867 unsafe extern "system" fn SetIsHttpOnly<
10868 Identity: ICoreWebView2Cookie_Impl,
10869 const OFFSET: isize,
10870 >(
10871 this: *mut core::ffi::c_void,
10872 ishttponly: windows_core::BOOL,
10873 ) -> windows_core::HRESULT {
10874 unsafe {
10875 let this: &Identity =
10876 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10877 ICoreWebView2Cookie_Impl::SetIsHttpOnly(
10878 this,
10879 core::mem::transmute_copy(&ishttponly),
10880 )
10881 .into()
10882 }
10883 }
10884 unsafe extern "system" fn SameSite<
10885 Identity: ICoreWebView2Cookie_Impl,
10886 const OFFSET: isize,
10887 >(
10888 this: *mut core::ffi::c_void,
10889 samesite: *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10890 ) -> windows_core::HRESULT {
10891 unsafe {
10892 let this: &Identity =
10893 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10894 ICoreWebView2Cookie_Impl::SameSite(this, core::mem::transmute_copy(&samesite))
10895 .into()
10896 }
10897 }
10898 unsafe extern "system" fn SetSameSite<
10899 Identity: ICoreWebView2Cookie_Impl,
10900 const OFFSET: isize,
10901 >(
10902 this: *mut core::ffi::c_void,
10903 samesite: COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
10904 ) -> windows_core::HRESULT {
10905 unsafe {
10906 let this: &Identity =
10907 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10908 ICoreWebView2Cookie_Impl::SetSameSite(this, core::mem::transmute_copy(&samesite))
10909 .into()
10910 }
10911 }
10912 unsafe extern "system" fn IsSecure<
10913 Identity: ICoreWebView2Cookie_Impl,
10914 const OFFSET: isize,
10915 >(
10916 this: *mut core::ffi::c_void,
10917 issecure: *mut windows_core::BOOL,
10918 ) -> windows_core::HRESULT {
10919 unsafe {
10920 let this: &Identity =
10921 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10922 ICoreWebView2Cookie_Impl::IsSecure(this, core::mem::transmute_copy(&issecure))
10923 .into()
10924 }
10925 }
10926 unsafe extern "system" fn SetIsSecure<
10927 Identity: ICoreWebView2Cookie_Impl,
10928 const OFFSET: isize,
10929 >(
10930 this: *mut core::ffi::c_void,
10931 issecure: windows_core::BOOL,
10932 ) -> windows_core::HRESULT {
10933 unsafe {
10934 let this: &Identity =
10935 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10936 ICoreWebView2Cookie_Impl::SetIsSecure(this, core::mem::transmute_copy(&issecure))
10937 .into()
10938 }
10939 }
10940 unsafe extern "system" fn IsSession<
10941 Identity: ICoreWebView2Cookie_Impl,
10942 const OFFSET: isize,
10943 >(
10944 this: *mut core::ffi::c_void,
10945 issession: *mut windows_core::BOOL,
10946 ) -> windows_core::HRESULT {
10947 unsafe {
10948 let this: &Identity =
10949 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10950 ICoreWebView2Cookie_Impl::IsSession(this, core::mem::transmute_copy(&issession))
10951 .into()
10952 }
10953 }
10954 Self {
10955 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
10956 Name: Name::<Identity, OFFSET>,
10957 Value: Value::<Identity, OFFSET>,
10958 SetValue: SetValue::<Identity, OFFSET>,
10959 Domain: Domain::<Identity, OFFSET>,
10960 Path: Path::<Identity, OFFSET>,
10961 Expires: Expires::<Identity, OFFSET>,
10962 SetExpires: SetExpires::<Identity, OFFSET>,
10963 IsHttpOnly: IsHttpOnly::<Identity, OFFSET>,
10964 SetIsHttpOnly: SetIsHttpOnly::<Identity, OFFSET>,
10965 SameSite: SameSite::<Identity, OFFSET>,
10966 SetSameSite: SetSameSite::<Identity, OFFSET>,
10967 IsSecure: IsSecure::<Identity, OFFSET>,
10968 SetIsSecure: SetIsSecure::<Identity, OFFSET>,
10969 IsSession: IsSession::<Identity, OFFSET>,
10970 }
10971 }
10972 pub fn matches(iid: &windows_core::GUID) -> bool {
10973 iid == &<ICoreWebView2Cookie as windows_core::Interface>::IID
10974 }
10975}
10976impl windows_core::RuntimeName for ICoreWebView2Cookie {}
10977windows_core::imp::define_interface!(
10978 ICoreWebView2CookieList,
10979 ICoreWebView2CookieList_Vtbl,
10980 0xf7f6f714_5d2a_43c6_9503_346ece02d186
10981);
10982windows_core::imp::interface_hierarchy!(ICoreWebView2CookieList, windows_core::IUnknown);
10983impl ICoreWebView2CookieList {
10984 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
10985 unsafe {
10986 (windows_core::Interface::vtable(self).Count)(
10987 windows_core::Interface::as_raw(self),
10988 value as _,
10989 )
10990 .ok()
10991 }
10992 }
10993 pub unsafe fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2Cookie> {
10994 unsafe {
10995 let mut result__ = core::mem::zeroed();
10996 (windows_core::Interface::vtable(self).GetValueAtIndex)(
10997 windows_core::Interface::as_raw(self),
10998 index,
10999 &mut result__,
11000 )
11001 .and_then(|| windows_core::Type::from_abi(result__))
11002 }
11003 }
11004}
11005#[repr(C)]
11006#[doc(hidden)]
11007pub struct ICoreWebView2CookieList_Vtbl {
11008 pub base__: windows_core::IUnknown_Vtbl,
11009 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11010 pub GetValueAtIndex: unsafe extern "system" fn(
11011 *mut core::ffi::c_void,
11012 u32,
11013 *mut *mut core::ffi::c_void,
11014 ) -> windows_core::HRESULT,
11015}
11016pub trait ICoreWebView2CookieList_Impl: windows_core::IUnknownImpl {
11017 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
11018 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2Cookie>;
11019}
11020impl ICoreWebView2CookieList_Vtbl {
11021 pub const fn new<Identity: ICoreWebView2CookieList_Impl, const OFFSET: isize>() -> Self {
11022 unsafe extern "system" fn Count<
11023 Identity: ICoreWebView2CookieList_Impl,
11024 const OFFSET: isize,
11025 >(
11026 this: *mut core::ffi::c_void,
11027 value: *mut u32,
11028 ) -> windows_core::HRESULT {
11029 unsafe {
11030 let this: &Identity =
11031 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11032 ICoreWebView2CookieList_Impl::Count(this, core::mem::transmute_copy(&value)).into()
11033 }
11034 }
11035 unsafe extern "system" fn GetValueAtIndex<
11036 Identity: ICoreWebView2CookieList_Impl,
11037 const OFFSET: isize,
11038 >(
11039 this: *mut core::ffi::c_void,
11040 index: u32,
11041 value: *mut *mut core::ffi::c_void,
11042 ) -> windows_core::HRESULT {
11043 unsafe {
11044 let this: &Identity =
11045 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11046 match ICoreWebView2CookieList_Impl::GetValueAtIndex(
11047 this,
11048 core::mem::transmute_copy(&index),
11049 ) {
11050 Ok(ok__) => {
11051 value.write(core::mem::transmute(ok__));
11052 windows_core::HRESULT(0)
11053 }
11054 Err(err) => err.into(),
11055 }
11056 }
11057 }
11058 Self {
11059 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11060 Count: Count::<Identity, OFFSET>,
11061 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
11062 }
11063 }
11064 pub fn matches(iid: &windows_core::GUID) -> bool {
11065 iid == &<ICoreWebView2CookieList as windows_core::Interface>::IID
11066 }
11067}
11068impl windows_core::RuntimeName for ICoreWebView2CookieList {}
11069windows_core::imp::define_interface!(
11070 ICoreWebView2CookieManager,
11071 ICoreWebView2CookieManager_Vtbl,
11072 0x177cd9e7_b6f5_451a_94a0_5d7a3a4c4141
11073);
11074windows_core::imp::interface_hierarchy!(ICoreWebView2CookieManager, windows_core::IUnknown);
11075impl ICoreWebView2CookieManager {
11076 pub unsafe fn CreateCookie<P0, P1, P2, P3>(
11077 &self,
11078 name: P0,
11079 value: P1,
11080 domain: P2,
11081 path: P3,
11082 ) -> windows_core::Result<ICoreWebView2Cookie>
11083 where
11084 P0: windows_core::Param<windows_core::PCWSTR>,
11085 P1: windows_core::Param<windows_core::PCWSTR>,
11086 P2: windows_core::Param<windows_core::PCWSTR>,
11087 P3: windows_core::Param<windows_core::PCWSTR>,
11088 {
11089 unsafe {
11090 let mut result__ = core::mem::zeroed();
11091 (windows_core::Interface::vtable(self).CreateCookie)(
11092 windows_core::Interface::as_raw(self),
11093 name.param().abi(),
11094 value.param().abi(),
11095 domain.param().abi(),
11096 path.param().abi(),
11097 &mut result__,
11098 )
11099 .and_then(|| windows_core::Type::from_abi(result__))
11100 }
11101 }
11102 pub unsafe fn CopyCookie<P0>(
11103 &self,
11104 cookieparam: P0,
11105 ) -> windows_core::Result<ICoreWebView2Cookie>
11106 where
11107 P0: windows_core::Param<ICoreWebView2Cookie>,
11108 {
11109 unsafe {
11110 let mut result__ = core::mem::zeroed();
11111 (windows_core::Interface::vtable(self).CopyCookie)(
11112 windows_core::Interface::as_raw(self),
11113 cookieparam.param().abi(),
11114 &mut result__,
11115 )
11116 .and_then(|| windows_core::Type::from_abi(result__))
11117 }
11118 }
11119 pub unsafe fn GetCookies<P0, P1>(&self, uri: P0, handler: P1) -> windows_core::Result<()>
11120 where
11121 P0: windows_core::Param<windows_core::PCWSTR>,
11122 P1: windows_core::Param<ICoreWebView2GetCookiesCompletedHandler>,
11123 {
11124 unsafe {
11125 (windows_core::Interface::vtable(self).GetCookies)(
11126 windows_core::Interface::as_raw(self),
11127 uri.param().abi(),
11128 handler.param().abi(),
11129 )
11130 .ok()
11131 }
11132 }
11133 pub unsafe fn AddOrUpdateCookie<P0>(&self, cookie: P0) -> windows_core::Result<()>
11134 where
11135 P0: windows_core::Param<ICoreWebView2Cookie>,
11136 {
11137 unsafe {
11138 (windows_core::Interface::vtable(self).AddOrUpdateCookie)(
11139 windows_core::Interface::as_raw(self),
11140 cookie.param().abi(),
11141 )
11142 .ok()
11143 }
11144 }
11145 pub unsafe fn DeleteCookie<P0>(&self, cookie: P0) -> windows_core::Result<()>
11146 where
11147 P0: windows_core::Param<ICoreWebView2Cookie>,
11148 {
11149 unsafe {
11150 (windows_core::Interface::vtable(self).DeleteCookie)(
11151 windows_core::Interface::as_raw(self),
11152 cookie.param().abi(),
11153 )
11154 .ok()
11155 }
11156 }
11157 pub unsafe fn DeleteCookies<P0, P1>(&self, name: P0, uri: P1) -> windows_core::Result<()>
11158 where
11159 P0: windows_core::Param<windows_core::PCWSTR>,
11160 P1: windows_core::Param<windows_core::PCWSTR>,
11161 {
11162 unsafe {
11163 (windows_core::Interface::vtable(self).DeleteCookies)(
11164 windows_core::Interface::as_raw(self),
11165 name.param().abi(),
11166 uri.param().abi(),
11167 )
11168 .ok()
11169 }
11170 }
11171 pub unsafe fn DeleteCookiesWithDomainAndPath<P0, P1, P2>(
11172 &self,
11173 name: P0,
11174 domain: P1,
11175 path: P2,
11176 ) -> windows_core::Result<()>
11177 where
11178 P0: windows_core::Param<windows_core::PCWSTR>,
11179 P1: windows_core::Param<windows_core::PCWSTR>,
11180 P2: windows_core::Param<windows_core::PCWSTR>,
11181 {
11182 unsafe {
11183 (windows_core::Interface::vtable(self).DeleteCookiesWithDomainAndPath)(
11184 windows_core::Interface::as_raw(self),
11185 name.param().abi(),
11186 domain.param().abi(),
11187 path.param().abi(),
11188 )
11189 .ok()
11190 }
11191 }
11192 pub unsafe fn DeleteAllCookies(&self) -> windows_core::Result<()> {
11193 unsafe {
11194 (windows_core::Interface::vtable(self).DeleteAllCookies)(
11195 windows_core::Interface::as_raw(self),
11196 )
11197 .ok()
11198 }
11199 }
11200}
11201#[repr(C)]
11202#[doc(hidden)]
11203pub struct ICoreWebView2CookieManager_Vtbl {
11204 pub base__: windows_core::IUnknown_Vtbl,
11205 pub CreateCookie: unsafe extern "system" fn(
11206 *mut core::ffi::c_void,
11207 windows_core::PCWSTR,
11208 windows_core::PCWSTR,
11209 windows_core::PCWSTR,
11210 windows_core::PCWSTR,
11211 *mut *mut core::ffi::c_void,
11212 ) -> windows_core::HRESULT,
11213 pub CopyCookie: unsafe extern "system" fn(
11214 *mut core::ffi::c_void,
11215 *mut core::ffi::c_void,
11216 *mut *mut core::ffi::c_void,
11217 ) -> windows_core::HRESULT,
11218 pub GetCookies: unsafe extern "system" fn(
11219 *mut core::ffi::c_void,
11220 windows_core::PCWSTR,
11221 *mut core::ffi::c_void,
11222 ) -> windows_core::HRESULT,
11223 pub AddOrUpdateCookie: unsafe extern "system" fn(
11224 *mut core::ffi::c_void,
11225 *mut core::ffi::c_void,
11226 ) -> windows_core::HRESULT,
11227 pub DeleteCookie: unsafe extern "system" fn(
11228 *mut core::ffi::c_void,
11229 *mut core::ffi::c_void,
11230 ) -> windows_core::HRESULT,
11231 pub DeleteCookies: unsafe extern "system" fn(
11232 *mut core::ffi::c_void,
11233 windows_core::PCWSTR,
11234 windows_core::PCWSTR,
11235 ) -> windows_core::HRESULT,
11236 pub DeleteCookiesWithDomainAndPath: unsafe extern "system" fn(
11237 *mut core::ffi::c_void,
11238 windows_core::PCWSTR,
11239 windows_core::PCWSTR,
11240 windows_core::PCWSTR,
11241 ) -> windows_core::HRESULT,
11242 pub DeleteAllCookies:
11243 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
11244}
11245pub trait ICoreWebView2CookieManager_Impl: windows_core::IUnknownImpl {
11246 fn CreateCookie(
11247 &self,
11248 name: &windows_core::PCWSTR,
11249 value: &windows_core::PCWSTR,
11250 domain: &windows_core::PCWSTR,
11251 path: &windows_core::PCWSTR,
11252 ) -> windows_core::Result<ICoreWebView2Cookie>;
11253 fn CopyCookie(
11254 &self,
11255 cookieparam: windows_core::Ref<'_, ICoreWebView2Cookie>,
11256 ) -> windows_core::Result<ICoreWebView2Cookie>;
11257 fn GetCookies(
11258 &self,
11259 uri: &windows_core::PCWSTR,
11260 handler: windows_core::Ref<'_, ICoreWebView2GetCookiesCompletedHandler>,
11261 ) -> windows_core::Result<()>;
11262 fn AddOrUpdateCookie(
11263 &self,
11264 cookie: windows_core::Ref<'_, ICoreWebView2Cookie>,
11265 ) -> windows_core::Result<()>;
11266 fn DeleteCookie(
11267 &self,
11268 cookie: windows_core::Ref<'_, ICoreWebView2Cookie>,
11269 ) -> windows_core::Result<()>;
11270 fn DeleteCookies(
11271 &self,
11272 name: &windows_core::PCWSTR,
11273 uri: &windows_core::PCWSTR,
11274 ) -> windows_core::Result<()>;
11275 fn DeleteCookiesWithDomainAndPath(
11276 &self,
11277 name: &windows_core::PCWSTR,
11278 domain: &windows_core::PCWSTR,
11279 path: &windows_core::PCWSTR,
11280 ) -> windows_core::Result<()>;
11281 fn DeleteAllCookies(&self) -> windows_core::Result<()>;
11282}
11283impl ICoreWebView2CookieManager_Vtbl {
11284 pub const fn new<Identity: ICoreWebView2CookieManager_Impl, const OFFSET: isize>() -> Self {
11285 unsafe extern "system" fn CreateCookie<
11286 Identity: ICoreWebView2CookieManager_Impl,
11287 const OFFSET: isize,
11288 >(
11289 this: *mut core::ffi::c_void,
11290 name: windows_core::PCWSTR,
11291 value: windows_core::PCWSTR,
11292 domain: windows_core::PCWSTR,
11293 path: windows_core::PCWSTR,
11294 cookie: *mut *mut core::ffi::c_void,
11295 ) -> windows_core::HRESULT {
11296 unsafe {
11297 let this: &Identity =
11298 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11299 match ICoreWebView2CookieManager_Impl::CreateCookie(
11300 this,
11301 core::mem::transmute(&name),
11302 core::mem::transmute(&value),
11303 core::mem::transmute(&domain),
11304 core::mem::transmute(&path),
11305 ) {
11306 Ok(ok__) => {
11307 cookie.write(core::mem::transmute(ok__));
11308 windows_core::HRESULT(0)
11309 }
11310 Err(err) => err.into(),
11311 }
11312 }
11313 }
11314 unsafe extern "system" fn CopyCookie<
11315 Identity: ICoreWebView2CookieManager_Impl,
11316 const OFFSET: isize,
11317 >(
11318 this: *mut core::ffi::c_void,
11319 cookieparam: *mut core::ffi::c_void,
11320 cookie: *mut *mut core::ffi::c_void,
11321 ) -> windows_core::HRESULT {
11322 unsafe {
11323 let this: &Identity =
11324 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11325 match ICoreWebView2CookieManager_Impl::CopyCookie(
11326 this,
11327 core::mem::transmute_copy(&cookieparam),
11328 ) {
11329 Ok(ok__) => {
11330 cookie.write(core::mem::transmute(ok__));
11331 windows_core::HRESULT(0)
11332 }
11333 Err(err) => err.into(),
11334 }
11335 }
11336 }
11337 unsafe extern "system" fn GetCookies<
11338 Identity: ICoreWebView2CookieManager_Impl,
11339 const OFFSET: isize,
11340 >(
11341 this: *mut core::ffi::c_void,
11342 uri: windows_core::PCWSTR,
11343 handler: *mut core::ffi::c_void,
11344 ) -> windows_core::HRESULT {
11345 unsafe {
11346 let this: &Identity =
11347 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11348 ICoreWebView2CookieManager_Impl::GetCookies(
11349 this,
11350 core::mem::transmute(&uri),
11351 core::mem::transmute_copy(&handler),
11352 )
11353 .into()
11354 }
11355 }
11356 unsafe extern "system" fn AddOrUpdateCookie<
11357 Identity: ICoreWebView2CookieManager_Impl,
11358 const OFFSET: isize,
11359 >(
11360 this: *mut core::ffi::c_void,
11361 cookie: *mut core::ffi::c_void,
11362 ) -> windows_core::HRESULT {
11363 unsafe {
11364 let this: &Identity =
11365 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11366 ICoreWebView2CookieManager_Impl::AddOrUpdateCookie(
11367 this,
11368 core::mem::transmute_copy(&cookie),
11369 )
11370 .into()
11371 }
11372 }
11373 unsafe extern "system" fn DeleteCookie<
11374 Identity: ICoreWebView2CookieManager_Impl,
11375 const OFFSET: isize,
11376 >(
11377 this: *mut core::ffi::c_void,
11378 cookie: *mut core::ffi::c_void,
11379 ) -> windows_core::HRESULT {
11380 unsafe {
11381 let this: &Identity =
11382 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11383 ICoreWebView2CookieManager_Impl::DeleteCookie(
11384 this,
11385 core::mem::transmute_copy(&cookie),
11386 )
11387 .into()
11388 }
11389 }
11390 unsafe extern "system" fn DeleteCookies<
11391 Identity: ICoreWebView2CookieManager_Impl,
11392 const OFFSET: isize,
11393 >(
11394 this: *mut core::ffi::c_void,
11395 name: windows_core::PCWSTR,
11396 uri: windows_core::PCWSTR,
11397 ) -> windows_core::HRESULT {
11398 unsafe {
11399 let this: &Identity =
11400 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11401 ICoreWebView2CookieManager_Impl::DeleteCookies(
11402 this,
11403 core::mem::transmute(&name),
11404 core::mem::transmute(&uri),
11405 )
11406 .into()
11407 }
11408 }
11409 unsafe extern "system" fn DeleteCookiesWithDomainAndPath<
11410 Identity: ICoreWebView2CookieManager_Impl,
11411 const OFFSET: isize,
11412 >(
11413 this: *mut core::ffi::c_void,
11414 name: windows_core::PCWSTR,
11415 domain: windows_core::PCWSTR,
11416 path: windows_core::PCWSTR,
11417 ) -> windows_core::HRESULT {
11418 unsafe {
11419 let this: &Identity =
11420 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11421 ICoreWebView2CookieManager_Impl::DeleteCookiesWithDomainAndPath(
11422 this,
11423 core::mem::transmute(&name),
11424 core::mem::transmute(&domain),
11425 core::mem::transmute(&path),
11426 )
11427 .into()
11428 }
11429 }
11430 unsafe extern "system" fn DeleteAllCookies<
11431 Identity: ICoreWebView2CookieManager_Impl,
11432 const OFFSET: isize,
11433 >(
11434 this: *mut core::ffi::c_void,
11435 ) -> windows_core::HRESULT {
11436 unsafe {
11437 let this: &Identity =
11438 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11439 ICoreWebView2CookieManager_Impl::DeleteAllCookies(this).into()
11440 }
11441 }
11442 Self {
11443 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11444 CreateCookie: CreateCookie::<Identity, OFFSET>,
11445 CopyCookie: CopyCookie::<Identity, OFFSET>,
11446 GetCookies: GetCookies::<Identity, OFFSET>,
11447 AddOrUpdateCookie: AddOrUpdateCookie::<Identity, OFFSET>,
11448 DeleteCookie: DeleteCookie::<Identity, OFFSET>,
11449 DeleteCookies: DeleteCookies::<Identity, OFFSET>,
11450 DeleteCookiesWithDomainAndPath: DeleteCookiesWithDomainAndPath::<Identity, OFFSET>,
11451 DeleteAllCookies: DeleteAllCookies::<Identity, OFFSET>,
11452 }
11453 }
11454 pub fn matches(iid: &windows_core::GUID) -> bool {
11455 iid == &<ICoreWebView2CookieManager as windows_core::Interface>::IID
11456 }
11457}
11458impl windows_core::RuntimeName for ICoreWebView2CookieManager {}
11459windows_core::imp::define_interface!(
11460 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
11461 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Vtbl,
11462 0x02fab84b_1428_4fb7_ad45_1b2e64736184
11463);
11464windows_core::imp::interface_hierarchy!(
11465 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
11466 windows_core::IUnknown
11467);
11468impl ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler {
11469 pub unsafe fn Invoke<P1>(
11470 &self,
11471 errorcode: windows_core::HRESULT,
11472 result: P1,
11473 ) -> windows_core::Result<()>
11474 where
11475 P1: windows_core::Param<ICoreWebView2CompositionController>,
11476 {
11477 unsafe {
11478 (windows_core::Interface::vtable(self).Invoke)(
11479 windows_core::Interface::as_raw(self),
11480 errorcode,
11481 result.param().abi(),
11482 )
11483 .ok()
11484 }
11485 }
11486}
11487#[repr(C)]
11488#[doc(hidden)]
11489pub struct ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Vtbl {
11490 pub base__: windows_core::IUnknown_Vtbl,
11491 pub Invoke: unsafe extern "system" fn(
11492 *mut core::ffi::c_void,
11493 windows_core::HRESULT,
11494 *mut core::ffi::c_void,
11495 ) -> windows_core::HRESULT,
11496}
11497pub trait ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl:
11498 windows_core::IUnknownImpl
11499{
11500 fn Invoke(
11501 &self,
11502 errorcode: windows_core::HRESULT,
11503 result: windows_core::Ref<'_, ICoreWebView2CompositionController>,
11504 ) -> windows_core::Result<()>;
11505}
11506impl ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Vtbl {
11507 pub const fn new<
11508 Identity: ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl,
11509 const OFFSET: isize,
11510 >() -> Self {
11511 unsafe extern "system" fn Invoke<
11512 Identity: ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl,
11513 const OFFSET: isize,
11514 >(
11515 this: *mut core::ffi::c_void,
11516 errorcode: windows_core::HRESULT,
11517 result: *mut core::ffi::c_void,
11518 ) -> windows_core::HRESULT {
11519 unsafe {
11520 let this: &Identity =
11521 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11522 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl::Invoke(
11523 this,
11524 core::mem::transmute_copy(&errorcode),
11525 core::mem::transmute_copy(&result),
11526 )
11527 .into()
11528 }
11529 }
11530 Self {
11531 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11532 Invoke: Invoke::<Identity, OFFSET>,
11533 }
11534 }
11535 pub fn matches(iid: &windows_core::GUID) -> bool {
11536 iid == & < ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler as windows_core::Interface >::IID
11537 }
11538}
11539impl windows_core::RuntimeName
11540 for ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler
11541{
11542}
11543windows_core::imp::define_interface!(
11544 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler,
11545 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Vtbl,
11546 0x6c4819f3_c9b7_4260_8127_c9f5bde7f68c
11547);
11548windows_core::imp::interface_hierarchy!(
11549 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler,
11550 windows_core::IUnknown
11551);
11552impl ICoreWebView2CreateCoreWebView2ControllerCompletedHandler {
11553 pub unsafe fn Invoke<P1>(
11554 &self,
11555 errorcode: windows_core::HRESULT,
11556 result: P1,
11557 ) -> windows_core::Result<()>
11558 where
11559 P1: windows_core::Param<ICoreWebView2Controller>,
11560 {
11561 unsafe {
11562 (windows_core::Interface::vtable(self).Invoke)(
11563 windows_core::Interface::as_raw(self),
11564 errorcode,
11565 result.param().abi(),
11566 )
11567 .ok()
11568 }
11569 }
11570}
11571#[repr(C)]
11572#[doc(hidden)]
11573pub struct ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Vtbl {
11574 pub base__: windows_core::IUnknown_Vtbl,
11575 pub Invoke: unsafe extern "system" fn(
11576 *mut core::ffi::c_void,
11577 windows_core::HRESULT,
11578 *mut core::ffi::c_void,
11579 ) -> windows_core::HRESULT,
11580}
11581pub trait ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl:
11582 windows_core::IUnknownImpl
11583{
11584 fn Invoke(
11585 &self,
11586 errorcode: windows_core::HRESULT,
11587 result: windows_core::Ref<'_, ICoreWebView2Controller>,
11588 ) -> windows_core::Result<()>;
11589}
11590impl ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Vtbl {
11591 pub const fn new<
11592 Identity: ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl,
11593 const OFFSET: isize,
11594 >() -> Self {
11595 unsafe extern "system" fn Invoke<
11596 Identity: ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl,
11597 const OFFSET: isize,
11598 >(
11599 this: *mut core::ffi::c_void,
11600 errorcode: windows_core::HRESULT,
11601 result: *mut core::ffi::c_void,
11602 ) -> windows_core::HRESULT {
11603 unsafe {
11604 let this: &Identity =
11605 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11606 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl::Invoke(
11607 this,
11608 core::mem::transmute_copy(&errorcode),
11609 core::mem::transmute_copy(&result),
11610 )
11611 .into()
11612 }
11613 }
11614 Self {
11615 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11616 Invoke: Invoke::<Identity, OFFSET>,
11617 }
11618 }
11619 pub fn matches(iid: &windows_core::GUID) -> bool {
11620 iid == & < ICoreWebView2CreateCoreWebView2ControllerCompletedHandler as windows_core::Interface >::IID
11621 }
11622}
11623impl windows_core::RuntimeName for ICoreWebView2CreateCoreWebView2ControllerCompletedHandler {}
11624windows_core::imp::define_interface!(
11625 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler,
11626 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Vtbl,
11627 0x4e8a3389_c9d8_4bd2_b6b5_124fee6cc14d
11628);
11629windows_core::imp::interface_hierarchy!(
11630 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler,
11631 windows_core::IUnknown
11632);
11633impl ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler {
11634 pub unsafe fn Invoke<P1>(
11635 &self,
11636 errorcode: windows_core::HRESULT,
11637 result: P1,
11638 ) -> windows_core::Result<()>
11639 where
11640 P1: windows_core::Param<ICoreWebView2Environment>,
11641 {
11642 unsafe {
11643 (windows_core::Interface::vtable(self).Invoke)(
11644 windows_core::Interface::as_raw(self),
11645 errorcode,
11646 result.param().abi(),
11647 )
11648 .ok()
11649 }
11650 }
11651}
11652#[repr(C)]
11653#[doc(hidden)]
11654pub struct ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Vtbl {
11655 pub base__: windows_core::IUnknown_Vtbl,
11656 pub Invoke: unsafe extern "system" fn(
11657 *mut core::ffi::c_void,
11658 windows_core::HRESULT,
11659 *mut core::ffi::c_void,
11660 ) -> windows_core::HRESULT,
11661}
11662pub trait ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl:
11663 windows_core::IUnknownImpl
11664{
11665 fn Invoke(
11666 &self,
11667 errorcode: windows_core::HRESULT,
11668 result: windows_core::Ref<'_, ICoreWebView2Environment>,
11669 ) -> windows_core::Result<()>;
11670}
11671impl ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Vtbl {
11672 pub const fn new<
11673 Identity: ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl,
11674 const OFFSET: isize,
11675 >() -> Self {
11676 unsafe extern "system" fn Invoke<
11677 Identity: ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl,
11678 const OFFSET: isize,
11679 >(
11680 this: *mut core::ffi::c_void,
11681 errorcode: windows_core::HRESULT,
11682 result: *mut core::ffi::c_void,
11683 ) -> windows_core::HRESULT {
11684 unsafe {
11685 let this: &Identity =
11686 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11687 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl::Invoke(
11688 this,
11689 core::mem::transmute_copy(&errorcode),
11690 core::mem::transmute_copy(&result),
11691 )
11692 .into()
11693 }
11694 }
11695 Self {
11696 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11697 Invoke: Invoke::<Identity, OFFSET>,
11698 }
11699 }
11700 pub fn matches(iid: &windows_core::GUID) -> bool {
11701 iid == & < ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler as windows_core::Interface >::IID
11702 }
11703}
11704impl windows_core::RuntimeName for ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler {}
11705windows_core::imp::define_interface!(
11706 ICoreWebView2CursorChangedEventHandler,
11707 ICoreWebView2CursorChangedEventHandler_Vtbl,
11708 0x9da43ccc_26e1_4dad_b56c_d8961c94c571
11709);
11710windows_core::imp::interface_hierarchy!(
11711 ICoreWebView2CursorChangedEventHandler,
11712 windows_core::IUnknown
11713);
11714impl ICoreWebView2CursorChangedEventHandler {
11715 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
11716 where
11717 P0: windows_core::Param<ICoreWebView2CompositionController>,
11718 P1: windows_core::Param<windows_core::IUnknown>,
11719 {
11720 unsafe {
11721 (windows_core::Interface::vtable(self).Invoke)(
11722 windows_core::Interface::as_raw(self),
11723 sender.param().abi(),
11724 args.param().abi(),
11725 )
11726 .ok()
11727 }
11728 }
11729}
11730#[repr(C)]
11731#[doc(hidden)]
11732pub struct ICoreWebView2CursorChangedEventHandler_Vtbl {
11733 pub base__: windows_core::IUnknown_Vtbl,
11734 pub Invoke: unsafe extern "system" fn(
11735 *mut core::ffi::c_void,
11736 *mut core::ffi::c_void,
11737 *mut core::ffi::c_void,
11738 ) -> windows_core::HRESULT,
11739}
11740pub trait ICoreWebView2CursorChangedEventHandler_Impl: windows_core::IUnknownImpl {
11741 fn Invoke(
11742 &self,
11743 sender: windows_core::Ref<'_, ICoreWebView2CompositionController>,
11744 args: windows_core::Ref<'_, windows_core::IUnknown>,
11745 ) -> windows_core::Result<()>;
11746}
11747impl ICoreWebView2CursorChangedEventHandler_Vtbl {
11748 pub const fn new<Identity: ICoreWebView2CursorChangedEventHandler_Impl, const OFFSET: isize>(
11749 ) -> Self {
11750 unsafe extern "system" fn Invoke<
11751 Identity: ICoreWebView2CursorChangedEventHandler_Impl,
11752 const OFFSET: isize,
11753 >(
11754 this: *mut core::ffi::c_void,
11755 sender: *mut core::ffi::c_void,
11756 args: *mut core::ffi::c_void,
11757 ) -> windows_core::HRESULT {
11758 unsafe {
11759 let this: &Identity =
11760 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11761 ICoreWebView2CursorChangedEventHandler_Impl::Invoke(
11762 this,
11763 core::mem::transmute_copy(&sender),
11764 core::mem::transmute_copy(&args),
11765 )
11766 .into()
11767 }
11768 }
11769 Self {
11770 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11771 Invoke: Invoke::<Identity, OFFSET>,
11772 }
11773 }
11774 pub fn matches(iid: &windows_core::GUID) -> bool {
11775 iid == &<ICoreWebView2CursorChangedEventHandler as windows_core::Interface>::IID
11776 }
11777}
11778impl windows_core::RuntimeName for ICoreWebView2CursorChangedEventHandler {}
11779windows_core::imp::define_interface!(
11780 ICoreWebView2CustomItemSelectedEventHandler,
11781 ICoreWebView2CustomItemSelectedEventHandler_Vtbl,
11782 0x49e1d0bc_fe9e_4481_b7c2_32324aa21998
11783);
11784windows_core::imp::interface_hierarchy!(
11785 ICoreWebView2CustomItemSelectedEventHandler,
11786 windows_core::IUnknown
11787);
11788impl ICoreWebView2CustomItemSelectedEventHandler {
11789 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
11790 where
11791 P0: windows_core::Param<ICoreWebView2ContextMenuItem>,
11792 P1: windows_core::Param<windows_core::IUnknown>,
11793 {
11794 unsafe {
11795 (windows_core::Interface::vtable(self).Invoke)(
11796 windows_core::Interface::as_raw(self),
11797 sender.param().abi(),
11798 args.param().abi(),
11799 )
11800 .ok()
11801 }
11802 }
11803}
11804#[repr(C)]
11805#[doc(hidden)]
11806pub struct ICoreWebView2CustomItemSelectedEventHandler_Vtbl {
11807 pub base__: windows_core::IUnknown_Vtbl,
11808 pub Invoke: unsafe extern "system" fn(
11809 *mut core::ffi::c_void,
11810 *mut core::ffi::c_void,
11811 *mut core::ffi::c_void,
11812 ) -> windows_core::HRESULT,
11813}
11814pub trait ICoreWebView2CustomItemSelectedEventHandler_Impl: windows_core::IUnknownImpl {
11815 fn Invoke(
11816 &self,
11817 sender: windows_core::Ref<'_, ICoreWebView2ContextMenuItem>,
11818 args: windows_core::Ref<'_, windows_core::IUnknown>,
11819 ) -> windows_core::Result<()>;
11820}
11821impl ICoreWebView2CustomItemSelectedEventHandler_Vtbl {
11822 pub const fn new<
11823 Identity: ICoreWebView2CustomItemSelectedEventHandler_Impl,
11824 const OFFSET: isize,
11825 >() -> Self {
11826 unsafe extern "system" fn Invoke<
11827 Identity: ICoreWebView2CustomItemSelectedEventHandler_Impl,
11828 const OFFSET: isize,
11829 >(
11830 this: *mut core::ffi::c_void,
11831 sender: *mut core::ffi::c_void,
11832 args: *mut core::ffi::c_void,
11833 ) -> windows_core::HRESULT {
11834 unsafe {
11835 let this: &Identity =
11836 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11837 ICoreWebView2CustomItemSelectedEventHandler_Impl::Invoke(
11838 this,
11839 core::mem::transmute_copy(&sender),
11840 core::mem::transmute_copy(&args),
11841 )
11842 .into()
11843 }
11844 }
11845 Self {
11846 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11847 Invoke: Invoke::<Identity, OFFSET>,
11848 }
11849 }
11850 pub fn matches(iid: &windows_core::GUID) -> bool {
11851 iid == &<ICoreWebView2CustomItemSelectedEventHandler as windows_core::Interface>::IID
11852 }
11853}
11854impl windows_core::RuntimeName for ICoreWebView2CustomItemSelectedEventHandler {}
11855windows_core::imp::define_interface!(
11856 ICoreWebView2CustomSchemeRegistration,
11857 ICoreWebView2CustomSchemeRegistration_Vtbl,
11858 0xd60ac92c_37a6_4b26_a39e_95cfe59047bb
11859);
11860windows_core::imp::interface_hierarchy!(
11861 ICoreWebView2CustomSchemeRegistration,
11862 windows_core::IUnknown
11863);
11864impl ICoreWebView2CustomSchemeRegistration {
11865 pub unsafe fn SchemeName(
11866 &self,
11867 schemename: *mut windows_core::PWSTR,
11868 ) -> windows_core::Result<()> {
11869 unsafe {
11870 (windows_core::Interface::vtable(self).SchemeName)(
11871 windows_core::Interface::as_raw(self),
11872 schemename as _,
11873 )
11874 .ok()
11875 }
11876 }
11877 pub unsafe fn TreatAsSecure(
11878 &self,
11879 treatassecure: *mut windows_core::BOOL,
11880 ) -> windows_core::Result<()> {
11881 unsafe {
11882 (windows_core::Interface::vtable(self).TreatAsSecure)(
11883 windows_core::Interface::as_raw(self),
11884 treatassecure as _,
11885 )
11886 .ok()
11887 }
11888 }
11889 pub unsafe fn SetTreatAsSecure(&self, value: bool) -> windows_core::Result<()> {
11890 unsafe {
11891 (windows_core::Interface::vtable(self).SetTreatAsSecure)(
11892 windows_core::Interface::as_raw(self),
11893 value.into(),
11894 )
11895 .ok()
11896 }
11897 }
11898 pub unsafe fn GetAllowedOrigins(
11899 &self,
11900 allowedoriginscount: *mut u32,
11901 allowedorigins: *mut *mut windows_core::PWSTR,
11902 ) -> windows_core::Result<()> {
11903 unsafe {
11904 (windows_core::Interface::vtable(self).GetAllowedOrigins)(
11905 windows_core::Interface::as_raw(self),
11906 allowedoriginscount as _,
11907 allowedorigins as _,
11908 )
11909 .ok()
11910 }
11911 }
11912 pub unsafe fn SetAllowedOrigins(
11913 &self,
11914 allowedoriginscount: u32,
11915 allowedorigins: *const windows_core::PCWSTR,
11916 ) -> windows_core::Result<()> {
11917 unsafe {
11918 (windows_core::Interface::vtable(self).SetAllowedOrigins)(
11919 windows_core::Interface::as_raw(self),
11920 allowedoriginscount,
11921 allowedorigins,
11922 )
11923 .ok()
11924 }
11925 }
11926 pub unsafe fn HasAuthorityComponent(
11927 &self,
11928 hasauthoritycomponent: *mut windows_core::BOOL,
11929 ) -> windows_core::Result<()> {
11930 unsafe {
11931 (windows_core::Interface::vtable(self).HasAuthorityComponent)(
11932 windows_core::Interface::as_raw(self),
11933 hasauthoritycomponent as _,
11934 )
11935 .ok()
11936 }
11937 }
11938 pub unsafe fn SetHasAuthorityComponent(
11939 &self,
11940 hasauthoritycomponent: bool,
11941 ) -> windows_core::Result<()> {
11942 unsafe {
11943 (windows_core::Interface::vtable(self).SetHasAuthorityComponent)(
11944 windows_core::Interface::as_raw(self),
11945 hasauthoritycomponent.into(),
11946 )
11947 .ok()
11948 }
11949 }
11950}
11951#[repr(C)]
11952#[doc(hidden)]
11953pub struct ICoreWebView2CustomSchemeRegistration_Vtbl {
11954 pub base__: windows_core::IUnknown_Vtbl,
11955 pub SchemeName: unsafe extern "system" fn(
11956 *mut core::ffi::c_void,
11957 *mut windows_core::PWSTR,
11958 ) -> windows_core::HRESULT,
11959 pub TreatAsSecure: unsafe extern "system" fn(
11960 *mut core::ffi::c_void,
11961 *mut windows_core::BOOL,
11962 ) -> windows_core::HRESULT,
11963 pub SetTreatAsSecure: unsafe extern "system" fn(
11964 *mut core::ffi::c_void,
11965 windows_core::BOOL,
11966 ) -> windows_core::HRESULT,
11967 pub GetAllowedOrigins: unsafe extern "system" fn(
11968 *mut core::ffi::c_void,
11969 *mut u32,
11970 *mut *mut windows_core::PWSTR,
11971 ) -> windows_core::HRESULT,
11972 pub SetAllowedOrigins: unsafe extern "system" fn(
11973 *mut core::ffi::c_void,
11974 u32,
11975 *const windows_core::PCWSTR,
11976 ) -> windows_core::HRESULT,
11977 pub HasAuthorityComponent: unsafe extern "system" fn(
11978 *mut core::ffi::c_void,
11979 *mut windows_core::BOOL,
11980 ) -> windows_core::HRESULT,
11981 pub SetHasAuthorityComponent: unsafe extern "system" fn(
11982 *mut core::ffi::c_void,
11983 windows_core::BOOL,
11984 ) -> windows_core::HRESULT,
11985}
11986pub trait ICoreWebView2CustomSchemeRegistration_Impl: windows_core::IUnknownImpl {
11987 fn SchemeName(&self, schemename: *mut windows_core::PWSTR) -> windows_core::Result<()>;
11988 fn TreatAsSecure(&self, treatassecure: *mut windows_core::BOOL) -> windows_core::Result<()>;
11989 fn SetTreatAsSecure(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
11990 fn GetAllowedOrigins(
11991 &self,
11992 allowedoriginscount: *mut u32,
11993 allowedorigins: *mut *mut windows_core::PWSTR,
11994 ) -> windows_core::Result<()>;
11995 fn SetAllowedOrigins(
11996 &self,
11997 allowedoriginscount: u32,
11998 allowedorigins: *const windows_core::PCWSTR,
11999 ) -> windows_core::Result<()>;
12000 fn HasAuthorityComponent(
12001 &self,
12002 hasauthoritycomponent: *mut windows_core::BOOL,
12003 ) -> windows_core::Result<()>;
12004 fn SetHasAuthorityComponent(
12005 &self,
12006 hasauthoritycomponent: windows_core::BOOL,
12007 ) -> windows_core::Result<()>;
12008}
12009impl ICoreWebView2CustomSchemeRegistration_Vtbl {
12010 pub const fn new<Identity: ICoreWebView2CustomSchemeRegistration_Impl, const OFFSET: isize>(
12011 ) -> Self {
12012 unsafe extern "system" fn SchemeName<
12013 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12014 const OFFSET: isize,
12015 >(
12016 this: *mut core::ffi::c_void,
12017 schemename: *mut windows_core::PWSTR,
12018 ) -> windows_core::HRESULT {
12019 unsafe {
12020 let this: &Identity =
12021 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12022 ICoreWebView2CustomSchemeRegistration_Impl::SchemeName(
12023 this,
12024 core::mem::transmute_copy(&schemename),
12025 )
12026 .into()
12027 }
12028 }
12029 unsafe extern "system" fn TreatAsSecure<
12030 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12031 const OFFSET: isize,
12032 >(
12033 this: *mut core::ffi::c_void,
12034 treatassecure: *mut windows_core::BOOL,
12035 ) -> windows_core::HRESULT {
12036 unsafe {
12037 let this: &Identity =
12038 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12039 ICoreWebView2CustomSchemeRegistration_Impl::TreatAsSecure(
12040 this,
12041 core::mem::transmute_copy(&treatassecure),
12042 )
12043 .into()
12044 }
12045 }
12046 unsafe extern "system" fn SetTreatAsSecure<
12047 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12048 const OFFSET: isize,
12049 >(
12050 this: *mut core::ffi::c_void,
12051 value: windows_core::BOOL,
12052 ) -> windows_core::HRESULT {
12053 unsafe {
12054 let this: &Identity =
12055 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12056 ICoreWebView2CustomSchemeRegistration_Impl::SetTreatAsSecure(
12057 this,
12058 core::mem::transmute_copy(&value),
12059 )
12060 .into()
12061 }
12062 }
12063 unsafe extern "system" fn GetAllowedOrigins<
12064 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12065 const OFFSET: isize,
12066 >(
12067 this: *mut core::ffi::c_void,
12068 allowedoriginscount: *mut u32,
12069 allowedorigins: *mut *mut windows_core::PWSTR,
12070 ) -> windows_core::HRESULT {
12071 unsafe {
12072 let this: &Identity =
12073 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12074 ICoreWebView2CustomSchemeRegistration_Impl::GetAllowedOrigins(
12075 this,
12076 core::mem::transmute_copy(&allowedoriginscount),
12077 core::mem::transmute_copy(&allowedorigins),
12078 )
12079 .into()
12080 }
12081 }
12082 unsafe extern "system" fn SetAllowedOrigins<
12083 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12084 const OFFSET: isize,
12085 >(
12086 this: *mut core::ffi::c_void,
12087 allowedoriginscount: u32,
12088 allowedorigins: *const windows_core::PCWSTR,
12089 ) -> windows_core::HRESULT {
12090 unsafe {
12091 let this: &Identity =
12092 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12093 ICoreWebView2CustomSchemeRegistration_Impl::SetAllowedOrigins(
12094 this,
12095 core::mem::transmute_copy(&allowedoriginscount),
12096 core::mem::transmute_copy(&allowedorigins),
12097 )
12098 .into()
12099 }
12100 }
12101 unsafe extern "system" fn HasAuthorityComponent<
12102 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12103 const OFFSET: isize,
12104 >(
12105 this: *mut core::ffi::c_void,
12106 hasauthoritycomponent: *mut windows_core::BOOL,
12107 ) -> windows_core::HRESULT {
12108 unsafe {
12109 let this: &Identity =
12110 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12111 ICoreWebView2CustomSchemeRegistration_Impl::HasAuthorityComponent(
12112 this,
12113 core::mem::transmute_copy(&hasauthoritycomponent),
12114 )
12115 .into()
12116 }
12117 }
12118 unsafe extern "system" fn SetHasAuthorityComponent<
12119 Identity: ICoreWebView2CustomSchemeRegistration_Impl,
12120 const OFFSET: isize,
12121 >(
12122 this: *mut core::ffi::c_void,
12123 hasauthoritycomponent: windows_core::BOOL,
12124 ) -> windows_core::HRESULT {
12125 unsafe {
12126 let this: &Identity =
12127 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12128 ICoreWebView2CustomSchemeRegistration_Impl::SetHasAuthorityComponent(
12129 this,
12130 core::mem::transmute_copy(&hasauthoritycomponent),
12131 )
12132 .into()
12133 }
12134 }
12135 Self {
12136 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12137 SchemeName: SchemeName::<Identity, OFFSET>,
12138 TreatAsSecure: TreatAsSecure::<Identity, OFFSET>,
12139 SetTreatAsSecure: SetTreatAsSecure::<Identity, OFFSET>,
12140 GetAllowedOrigins: GetAllowedOrigins::<Identity, OFFSET>,
12141 SetAllowedOrigins: SetAllowedOrigins::<Identity, OFFSET>,
12142 HasAuthorityComponent: HasAuthorityComponent::<Identity, OFFSET>,
12143 SetHasAuthorityComponent: SetHasAuthorityComponent::<Identity, OFFSET>,
12144 }
12145 }
12146 pub fn matches(iid: &windows_core::GUID) -> bool {
12147 iid == &<ICoreWebView2CustomSchemeRegistration as windows_core::Interface>::IID
12148 }
12149}
12150impl windows_core::RuntimeName for ICoreWebView2CustomSchemeRegistration {}
12151windows_core::imp::define_interface!(
12152 ICoreWebView2DOMContentLoadedEventArgs,
12153 ICoreWebView2DOMContentLoadedEventArgs_Vtbl,
12154 0x16b1e21a_c503_44f2_84c9_70aba5031283
12155);
12156windows_core::imp::interface_hierarchy!(
12157 ICoreWebView2DOMContentLoadedEventArgs,
12158 windows_core::IUnknown
12159);
12160impl ICoreWebView2DOMContentLoadedEventArgs {
12161 pub unsafe fn NavigationId(&self, value: *mut u64) -> windows_core::Result<()> {
12162 unsafe {
12163 (windows_core::Interface::vtable(self).NavigationId)(
12164 windows_core::Interface::as_raw(self),
12165 value as _,
12166 )
12167 .ok()
12168 }
12169 }
12170}
12171#[repr(C)]
12172#[doc(hidden)]
12173pub struct ICoreWebView2DOMContentLoadedEventArgs_Vtbl {
12174 pub base__: windows_core::IUnknown_Vtbl,
12175 pub NavigationId:
12176 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
12177}
12178pub trait ICoreWebView2DOMContentLoadedEventArgs_Impl: windows_core::IUnknownImpl {
12179 fn NavigationId(&self, value: *mut u64) -> windows_core::Result<()>;
12180}
12181impl ICoreWebView2DOMContentLoadedEventArgs_Vtbl {
12182 pub const fn new<Identity: ICoreWebView2DOMContentLoadedEventArgs_Impl, const OFFSET: isize>(
12183 ) -> Self {
12184 unsafe extern "system" fn NavigationId<
12185 Identity: ICoreWebView2DOMContentLoadedEventArgs_Impl,
12186 const OFFSET: isize,
12187 >(
12188 this: *mut core::ffi::c_void,
12189 value: *mut u64,
12190 ) -> windows_core::HRESULT {
12191 unsafe {
12192 let this: &Identity =
12193 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12194 ICoreWebView2DOMContentLoadedEventArgs_Impl::NavigationId(
12195 this,
12196 core::mem::transmute_copy(&value),
12197 )
12198 .into()
12199 }
12200 }
12201 Self {
12202 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12203 NavigationId: NavigationId::<Identity, OFFSET>,
12204 }
12205 }
12206 pub fn matches(iid: &windows_core::GUID) -> bool {
12207 iid == &<ICoreWebView2DOMContentLoadedEventArgs as windows_core::Interface>::IID
12208 }
12209}
12210impl windows_core::RuntimeName for ICoreWebView2DOMContentLoadedEventArgs {}
12211windows_core::imp::define_interface!(
12212 ICoreWebView2DOMContentLoadedEventHandler,
12213 ICoreWebView2DOMContentLoadedEventHandler_Vtbl,
12214 0x4bac7e9c_199e_49ed_87ed_249303acf019
12215);
12216windows_core::imp::interface_hierarchy!(
12217 ICoreWebView2DOMContentLoadedEventHandler,
12218 windows_core::IUnknown
12219);
12220impl ICoreWebView2DOMContentLoadedEventHandler {
12221 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
12222 where
12223 P0: windows_core::Param<ICoreWebView2>,
12224 P1: windows_core::Param<ICoreWebView2DOMContentLoadedEventArgs>,
12225 {
12226 unsafe {
12227 (windows_core::Interface::vtable(self).Invoke)(
12228 windows_core::Interface::as_raw(self),
12229 sender.param().abi(),
12230 args.param().abi(),
12231 )
12232 .ok()
12233 }
12234 }
12235}
12236#[repr(C)]
12237#[doc(hidden)]
12238pub struct ICoreWebView2DOMContentLoadedEventHandler_Vtbl {
12239 pub base__: windows_core::IUnknown_Vtbl,
12240 pub Invoke: unsafe extern "system" fn(
12241 *mut core::ffi::c_void,
12242 *mut core::ffi::c_void,
12243 *mut core::ffi::c_void,
12244 ) -> windows_core::HRESULT,
12245}
12246pub trait ICoreWebView2DOMContentLoadedEventHandler_Impl: windows_core::IUnknownImpl {
12247 fn Invoke(
12248 &self,
12249 sender: windows_core::Ref<'_, ICoreWebView2>,
12250 args: windows_core::Ref<'_, ICoreWebView2DOMContentLoadedEventArgs>,
12251 ) -> windows_core::Result<()>;
12252}
12253impl ICoreWebView2DOMContentLoadedEventHandler_Vtbl {
12254 pub const fn new<
12255 Identity: ICoreWebView2DOMContentLoadedEventHandler_Impl,
12256 const OFFSET: isize,
12257 >() -> Self {
12258 unsafe extern "system" fn Invoke<
12259 Identity: ICoreWebView2DOMContentLoadedEventHandler_Impl,
12260 const OFFSET: isize,
12261 >(
12262 this: *mut core::ffi::c_void,
12263 sender: *mut core::ffi::c_void,
12264 args: *mut core::ffi::c_void,
12265 ) -> windows_core::HRESULT {
12266 unsafe {
12267 let this: &Identity =
12268 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12269 ICoreWebView2DOMContentLoadedEventHandler_Impl::Invoke(
12270 this,
12271 core::mem::transmute_copy(&sender),
12272 core::mem::transmute_copy(&args),
12273 )
12274 .into()
12275 }
12276 }
12277 Self {
12278 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12279 Invoke: Invoke::<Identity, OFFSET>,
12280 }
12281 }
12282 pub fn matches(iid: &windows_core::GUID) -> bool {
12283 iid == &<ICoreWebView2DOMContentLoadedEventHandler as windows_core::Interface>::IID
12284 }
12285}
12286impl windows_core::RuntimeName for ICoreWebView2DOMContentLoadedEventHandler {}
12287windows_core::imp::define_interface!(
12288 ICoreWebView2Deferral,
12289 ICoreWebView2Deferral_Vtbl,
12290 0xc10e7f7b_b585_46f0_a623_8befbf3e4ee0
12291);
12292windows_core::imp::interface_hierarchy!(ICoreWebView2Deferral, windows_core::IUnknown);
12293impl ICoreWebView2Deferral {
12294 pub unsafe fn Complete(&self) -> windows_core::Result<()> {
12295 unsafe {
12296 (windows_core::Interface::vtable(self).Complete)(windows_core::Interface::as_raw(self))
12297 .ok()
12298 }
12299 }
12300}
12301#[repr(C)]
12302#[doc(hidden)]
12303pub struct ICoreWebView2Deferral_Vtbl {
12304 pub base__: windows_core::IUnknown_Vtbl,
12305 pub Complete: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
12306}
12307pub trait ICoreWebView2Deferral_Impl: windows_core::IUnknownImpl {
12308 fn Complete(&self) -> windows_core::Result<()>;
12309}
12310impl ICoreWebView2Deferral_Vtbl {
12311 pub const fn new<Identity: ICoreWebView2Deferral_Impl, const OFFSET: isize>() -> Self {
12312 unsafe extern "system" fn Complete<
12313 Identity: ICoreWebView2Deferral_Impl,
12314 const OFFSET: isize,
12315 >(
12316 this: *mut core::ffi::c_void,
12317 ) -> windows_core::HRESULT {
12318 unsafe {
12319 let this: &Identity =
12320 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12321 ICoreWebView2Deferral_Impl::Complete(this).into()
12322 }
12323 }
12324 Self {
12325 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12326 Complete: Complete::<Identity, OFFSET>,
12327 }
12328 }
12329 pub fn matches(iid: &windows_core::GUID) -> bool {
12330 iid == &<ICoreWebView2Deferral as windows_core::Interface>::IID
12331 }
12332}
12333impl windows_core::RuntimeName for ICoreWebView2Deferral {}
12334windows_core::imp::define_interface!(
12335 ICoreWebView2DevToolsProtocolEventReceivedEventArgs,
12336 ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl,
12337 0x653c2959_bb3a_4377_8632_b58ada4e66c4
12338);
12339windows_core::imp::interface_hierarchy!(
12340 ICoreWebView2DevToolsProtocolEventReceivedEventArgs,
12341 windows_core::IUnknown
12342);
12343impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs {
12344 pub unsafe fn ParameterObjectAsJson(
12345 &self,
12346 value: *mut windows_core::PWSTR,
12347 ) -> windows_core::Result<()> {
12348 unsafe {
12349 (windows_core::Interface::vtable(self).ParameterObjectAsJson)(
12350 windows_core::Interface::as_raw(self),
12351 value as _,
12352 )
12353 .ok()
12354 }
12355 }
12356}
12357#[repr(C)]
12358#[doc(hidden)]
12359pub struct ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl {
12360 pub base__: windows_core::IUnknown_Vtbl,
12361 pub ParameterObjectAsJson: unsafe extern "system" fn(
12362 *mut core::ffi::c_void,
12363 *mut windows_core::PWSTR,
12364 ) -> windows_core::HRESULT,
12365}
12366pub trait ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl:
12367 windows_core::IUnknownImpl
12368{
12369 fn ParameterObjectAsJson(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
12370}
12371impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl {
12372 pub const fn new<
12373 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl,
12374 const OFFSET: isize,
12375 >() -> Self {
12376 unsafe extern "system" fn ParameterObjectAsJson<
12377 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl,
12378 const OFFSET: isize,
12379 >(
12380 this: *mut core::ffi::c_void,
12381 value: *mut windows_core::PWSTR,
12382 ) -> windows_core::HRESULT {
12383 unsafe {
12384 let this: &Identity =
12385 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12386 ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl::ParameterObjectAsJson(
12387 this,
12388 core::mem::transmute_copy(&value),
12389 )
12390 .into()
12391 }
12392 }
12393 Self {
12394 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12395 ParameterObjectAsJson: ParameterObjectAsJson::<Identity, OFFSET>,
12396 }
12397 }
12398 pub fn matches(iid: &windows_core::GUID) -> bool {
12399 iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventArgs as windows_core::Interface >::IID
12400 }
12401}
12402impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceivedEventArgs {}
12403windows_core::imp::define_interface!(
12404 ICoreWebView2DevToolsProtocolEventReceivedEventArgs2,
12405 ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Vtbl,
12406 0x2dc4959d_1494_4393_95ba_bea4cb9ebd1b
12407);
12408impl core::ops::Deref for ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 {
12409 type Target = ICoreWebView2DevToolsProtocolEventReceivedEventArgs;
12410 fn deref(&self) -> &Self::Target {
12411 unsafe { core::mem::transmute(self) }
12412 }
12413}
12414windows_core::imp::interface_hierarchy!(
12415 ICoreWebView2DevToolsProtocolEventReceivedEventArgs2,
12416 windows_core::IUnknown,
12417 ICoreWebView2DevToolsProtocolEventReceivedEventArgs
12418);
12419impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 {
12420 pub unsafe fn SessionId(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
12421 unsafe {
12422 (windows_core::Interface::vtable(self).SessionId)(
12423 windows_core::Interface::as_raw(self),
12424 value as _,
12425 )
12426 .ok()
12427 }
12428 }
12429}
12430#[repr(C)]
12431#[doc(hidden)]
12432pub struct ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Vtbl {
12433 pub base__: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl,
12434 pub SessionId: unsafe extern "system" fn(
12435 *mut core::ffi::c_void,
12436 *mut windows_core::PWSTR,
12437 ) -> windows_core::HRESULT,
12438}
12439pub trait ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Impl:
12440 ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl
12441{
12442 fn SessionId(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
12443}
12444impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Vtbl {
12445 pub const fn new<
12446 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Impl,
12447 const OFFSET: isize,
12448 >() -> Self {
12449 unsafe extern "system" fn SessionId<
12450 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Impl,
12451 const OFFSET: isize,
12452 >(
12453 this: *mut core::ffi::c_void,
12454 value: *mut windows_core::PWSTR,
12455 ) -> windows_core::HRESULT {
12456 unsafe {
12457 let this: &Identity =
12458 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12459 ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Impl::SessionId(
12460 this,
12461 core::mem::transmute_copy(&value),
12462 )
12463 .into()
12464 }
12465 }
12466 Self {
12467 base__: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl::new::<Identity, OFFSET>(
12468 ),
12469 SessionId: SessionId::<Identity, OFFSET>,
12470 }
12471 }
12472 pub fn matches(iid: &windows_core::GUID) -> bool {
12473 iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 as windows_core::Interface >::IID || iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventArgs as windows_core::Interface >::IID
12474 }
12475}
12476impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 {}
12477windows_core::imp::define_interface!(
12478 ICoreWebView2DevToolsProtocolEventReceivedEventHandler,
12479 ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Vtbl,
12480 0xe2fda4be_5456_406c_a261_3d452138362c
12481);
12482windows_core::imp::interface_hierarchy!(
12483 ICoreWebView2DevToolsProtocolEventReceivedEventHandler,
12484 windows_core::IUnknown
12485);
12486impl ICoreWebView2DevToolsProtocolEventReceivedEventHandler {
12487 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
12488 where
12489 P0: windows_core::Param<ICoreWebView2>,
12490 P1: windows_core::Param<ICoreWebView2DevToolsProtocolEventReceivedEventArgs>,
12491 {
12492 unsafe {
12493 (windows_core::Interface::vtable(self).Invoke)(
12494 windows_core::Interface::as_raw(self),
12495 sender.param().abi(),
12496 args.param().abi(),
12497 )
12498 .ok()
12499 }
12500 }
12501}
12502#[repr(C)]
12503#[doc(hidden)]
12504pub struct ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Vtbl {
12505 pub base__: windows_core::IUnknown_Vtbl,
12506 pub Invoke: unsafe extern "system" fn(
12507 *mut core::ffi::c_void,
12508 *mut core::ffi::c_void,
12509 *mut core::ffi::c_void,
12510 ) -> windows_core::HRESULT,
12511}
12512pub trait ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl:
12513 windows_core::IUnknownImpl
12514{
12515 fn Invoke(
12516 &self,
12517 sender: windows_core::Ref<'_, ICoreWebView2>,
12518 args: windows_core::Ref<'_, ICoreWebView2DevToolsProtocolEventReceivedEventArgs>,
12519 ) -> windows_core::Result<()>;
12520}
12521impl ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Vtbl {
12522 pub const fn new<
12523 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl,
12524 const OFFSET: isize,
12525 >() -> Self {
12526 unsafe extern "system" fn Invoke<
12527 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl,
12528 const OFFSET: isize,
12529 >(
12530 this: *mut core::ffi::c_void,
12531 sender: *mut core::ffi::c_void,
12532 args: *mut core::ffi::c_void,
12533 ) -> windows_core::HRESULT {
12534 unsafe {
12535 let this: &Identity =
12536 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12537 ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl::Invoke(
12538 this,
12539 core::mem::transmute_copy(&sender),
12540 core::mem::transmute_copy(&args),
12541 )
12542 .into()
12543 }
12544 }
12545 Self {
12546 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12547 Invoke: Invoke::<Identity, OFFSET>,
12548 }
12549 }
12550 pub fn matches(iid: &windows_core::GUID) -> bool {
12551 iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventHandler as windows_core::Interface >::IID
12552 }
12553}
12554impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceivedEventHandler {}
12555windows_core::imp::define_interface!(
12556 ICoreWebView2DevToolsProtocolEventReceiver,
12557 ICoreWebView2DevToolsProtocolEventReceiver_Vtbl,
12558 0xb32ca51a_8371_45e9_9317_af021d080367
12559);
12560windows_core::imp::interface_hierarchy!(
12561 ICoreWebView2DevToolsProtocolEventReceiver,
12562 windows_core::IUnknown
12563);
12564impl ICoreWebView2DevToolsProtocolEventReceiver {
12565 pub unsafe fn add_DevToolsProtocolEventReceived<P0>(
12566 &self,
12567 eventhandler: P0,
12568 token: *mut i64,
12569 ) -> windows_core::Result<()>
12570 where
12571 P0: windows_core::Param<ICoreWebView2DevToolsProtocolEventReceivedEventHandler>,
12572 {
12573 unsafe {
12574 (windows_core::Interface::vtable(self).add_DevToolsProtocolEventReceived)(
12575 windows_core::Interface::as_raw(self),
12576 eventhandler.param().abi(),
12577 token as _,
12578 )
12579 .ok()
12580 }
12581 }
12582 pub unsafe fn remove_DevToolsProtocolEventReceived(
12583 &self,
12584 token: i64,
12585 ) -> windows_core::Result<()> {
12586 unsafe {
12587 (windows_core::Interface::vtable(self).remove_DevToolsProtocolEventReceived)(
12588 windows_core::Interface::as_raw(self),
12589 token,
12590 )
12591 .ok()
12592 }
12593 }
12594}
12595#[repr(C)]
12596#[doc(hidden)]
12597pub struct ICoreWebView2DevToolsProtocolEventReceiver_Vtbl {
12598 pub base__: windows_core::IUnknown_Vtbl,
12599 pub add_DevToolsProtocolEventReceived: unsafe extern "system" fn(
12600 *mut core::ffi::c_void,
12601 *mut core::ffi::c_void,
12602 *mut i64,
12603 ) -> windows_core::HRESULT,
12604 pub remove_DevToolsProtocolEventReceived:
12605 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
12606}
12607pub trait ICoreWebView2DevToolsProtocolEventReceiver_Impl: windows_core::IUnknownImpl {
12608 fn add_DevToolsProtocolEventReceived(
12609 &self,
12610 eventhandler: windows_core::Ref<'_, ICoreWebView2DevToolsProtocolEventReceivedEventHandler>,
12611 token: *mut i64,
12612 ) -> windows_core::Result<()>;
12613 fn remove_DevToolsProtocolEventReceived(&self, token: i64) -> windows_core::Result<()>;
12614}
12615impl ICoreWebView2DevToolsProtocolEventReceiver_Vtbl {
12616 pub const fn new<
12617 Identity: ICoreWebView2DevToolsProtocolEventReceiver_Impl,
12618 const OFFSET: isize,
12619 >() -> Self {
12620 unsafe extern "system" fn add_DevToolsProtocolEventReceived<
12621 Identity: ICoreWebView2DevToolsProtocolEventReceiver_Impl,
12622 const OFFSET: isize,
12623 >(
12624 this: *mut core::ffi::c_void,
12625 eventhandler: *mut core::ffi::c_void,
12626 token: *mut i64,
12627 ) -> windows_core::HRESULT {
12628 unsafe {
12629 let this: &Identity =
12630 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12631 ICoreWebView2DevToolsProtocolEventReceiver_Impl::add_DevToolsProtocolEventReceived(
12632 this,
12633 core::mem::transmute_copy(&eventhandler),
12634 core::mem::transmute_copy(&token),
12635 )
12636 .into()
12637 }
12638 }
12639 unsafe extern "system" fn remove_DevToolsProtocolEventReceived<
12640 Identity: ICoreWebView2DevToolsProtocolEventReceiver_Impl,
12641 const OFFSET: isize,
12642 >(
12643 this: *mut core::ffi::c_void,
12644 token: i64,
12645 ) -> windows_core::HRESULT {
12646 unsafe {
12647 let this: &Identity =
12648 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12649 ICoreWebView2DevToolsProtocolEventReceiver_Impl:: remove_DevToolsProtocolEventReceived ( this , core::mem::transmute_copy ( & token ) , ) . into ( )
12650 }
12651 }
12652 Self {
12653 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12654 add_DevToolsProtocolEventReceived: add_DevToolsProtocolEventReceived::<Identity, OFFSET>,
12655 remove_DevToolsProtocolEventReceived: remove_DevToolsProtocolEventReceived::<
12656 Identity,
12657 OFFSET,
12658 >,
12659 }
12660 }
12661 pub fn matches(iid: &windows_core::GUID) -> bool {
12662 iid == &<ICoreWebView2DevToolsProtocolEventReceiver as windows_core::Interface>::IID
12663 }
12664}
12665impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceiver {}
12666windows_core::imp::define_interface!(
12667 ICoreWebView2DocumentTitleChangedEventHandler,
12668 ICoreWebView2DocumentTitleChangedEventHandler_Vtbl,
12669 0xf5f2b923_953e_4042_9f95_f3a118e1afd4
12670);
12671windows_core::imp::interface_hierarchy!(
12672 ICoreWebView2DocumentTitleChangedEventHandler,
12673 windows_core::IUnknown
12674);
12675impl ICoreWebView2DocumentTitleChangedEventHandler {
12676 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
12677 where
12678 P0: windows_core::Param<ICoreWebView2>,
12679 P1: windows_core::Param<windows_core::IUnknown>,
12680 {
12681 unsafe {
12682 (windows_core::Interface::vtable(self).Invoke)(
12683 windows_core::Interface::as_raw(self),
12684 sender.param().abi(),
12685 args.param().abi(),
12686 )
12687 .ok()
12688 }
12689 }
12690}
12691#[repr(C)]
12692#[doc(hidden)]
12693pub struct ICoreWebView2DocumentTitleChangedEventHandler_Vtbl {
12694 pub base__: windows_core::IUnknown_Vtbl,
12695 pub Invoke: unsafe extern "system" fn(
12696 *mut core::ffi::c_void,
12697 *mut core::ffi::c_void,
12698 *mut core::ffi::c_void,
12699 ) -> windows_core::HRESULT,
12700}
12701pub trait ICoreWebView2DocumentTitleChangedEventHandler_Impl: windows_core::IUnknownImpl {
12702 fn Invoke(
12703 &self,
12704 sender: windows_core::Ref<'_, ICoreWebView2>,
12705 args: windows_core::Ref<'_, windows_core::IUnknown>,
12706 ) -> windows_core::Result<()>;
12707}
12708impl ICoreWebView2DocumentTitleChangedEventHandler_Vtbl {
12709 pub const fn new<
12710 Identity: ICoreWebView2DocumentTitleChangedEventHandler_Impl,
12711 const OFFSET: isize,
12712 >() -> Self {
12713 unsafe extern "system" fn Invoke<
12714 Identity: ICoreWebView2DocumentTitleChangedEventHandler_Impl,
12715 const OFFSET: isize,
12716 >(
12717 this: *mut core::ffi::c_void,
12718 sender: *mut core::ffi::c_void,
12719 args: *mut core::ffi::c_void,
12720 ) -> windows_core::HRESULT {
12721 unsafe {
12722 let this: &Identity =
12723 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12724 ICoreWebView2DocumentTitleChangedEventHandler_Impl::Invoke(
12725 this,
12726 core::mem::transmute_copy(&sender),
12727 core::mem::transmute_copy(&args),
12728 )
12729 .into()
12730 }
12731 }
12732 Self {
12733 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12734 Invoke: Invoke::<Identity, OFFSET>,
12735 }
12736 }
12737 pub fn matches(iid: &windows_core::GUID) -> bool {
12738 iid == &<ICoreWebView2DocumentTitleChangedEventHandler as windows_core::Interface>::IID
12739 }
12740}
12741impl windows_core::RuntimeName for ICoreWebView2DocumentTitleChangedEventHandler {}
12742windows_core::imp::define_interface!(
12743 ICoreWebView2DownloadOperation,
12744 ICoreWebView2DownloadOperation_Vtbl,
12745 0x3d6b6cf2_afe1_44c7_a995_c65117714336
12746);
12747windows_core::imp::interface_hierarchy!(ICoreWebView2DownloadOperation, windows_core::IUnknown);
12748impl ICoreWebView2DownloadOperation {
12749 pub unsafe fn add_BytesReceivedChanged<P0>(
12750 &self,
12751 eventhandler: P0,
12752 token: *mut i64,
12753 ) -> windows_core::Result<()>
12754 where
12755 P0: windows_core::Param<ICoreWebView2BytesReceivedChangedEventHandler>,
12756 {
12757 unsafe {
12758 (windows_core::Interface::vtable(self).add_BytesReceivedChanged)(
12759 windows_core::Interface::as_raw(self),
12760 eventhandler.param().abi(),
12761 token as _,
12762 )
12763 .ok()
12764 }
12765 }
12766 pub unsafe fn remove_BytesReceivedChanged(&self, token: i64) -> windows_core::Result<()> {
12767 unsafe {
12768 (windows_core::Interface::vtable(self).remove_BytesReceivedChanged)(
12769 windows_core::Interface::as_raw(self),
12770 token,
12771 )
12772 .ok()
12773 }
12774 }
12775 pub unsafe fn add_EstimatedEndTimeChanged<P0>(
12776 &self,
12777 eventhandler: P0,
12778 token: *mut i64,
12779 ) -> windows_core::Result<()>
12780 where
12781 P0: windows_core::Param<ICoreWebView2EstimatedEndTimeChangedEventHandler>,
12782 {
12783 unsafe {
12784 (windows_core::Interface::vtable(self).add_EstimatedEndTimeChanged)(
12785 windows_core::Interface::as_raw(self),
12786 eventhandler.param().abi(),
12787 token as _,
12788 )
12789 .ok()
12790 }
12791 }
12792 pub unsafe fn remove_EstimatedEndTimeChanged(&self, token: i64) -> windows_core::Result<()> {
12793 unsafe {
12794 (windows_core::Interface::vtable(self).remove_EstimatedEndTimeChanged)(
12795 windows_core::Interface::as_raw(self),
12796 token,
12797 )
12798 .ok()
12799 }
12800 }
12801 pub unsafe fn add_StateChanged<P0>(
12802 &self,
12803 eventhandler: P0,
12804 token: *mut i64,
12805 ) -> windows_core::Result<()>
12806 where
12807 P0: windows_core::Param<ICoreWebView2StateChangedEventHandler>,
12808 {
12809 unsafe {
12810 (windows_core::Interface::vtable(self).add_StateChanged)(
12811 windows_core::Interface::as_raw(self),
12812 eventhandler.param().abi(),
12813 token as _,
12814 )
12815 .ok()
12816 }
12817 }
12818 pub unsafe fn remove_StateChanged(&self, token: i64) -> windows_core::Result<()> {
12819 unsafe {
12820 (windows_core::Interface::vtable(self).remove_StateChanged)(
12821 windows_core::Interface::as_raw(self),
12822 token,
12823 )
12824 .ok()
12825 }
12826 }
12827 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
12828 unsafe {
12829 (windows_core::Interface::vtable(self).Uri)(
12830 windows_core::Interface::as_raw(self),
12831 uri as _,
12832 )
12833 .ok()
12834 }
12835 }
12836 pub unsafe fn ContentDisposition(
12837 &self,
12838 contentdisposition: *mut windows_core::PWSTR,
12839 ) -> windows_core::Result<()> {
12840 unsafe {
12841 (windows_core::Interface::vtable(self).ContentDisposition)(
12842 windows_core::Interface::as_raw(self),
12843 contentdisposition as _,
12844 )
12845 .ok()
12846 }
12847 }
12848 pub unsafe fn MimeType(&self, mimetype: *mut windows_core::PWSTR) -> windows_core::Result<()> {
12849 unsafe {
12850 (windows_core::Interface::vtable(self).MimeType)(
12851 windows_core::Interface::as_raw(self),
12852 mimetype as _,
12853 )
12854 .ok()
12855 }
12856 }
12857 pub unsafe fn TotalBytesToReceive(
12858 &self,
12859 totalbytestoreceive: *mut i64,
12860 ) -> windows_core::Result<()> {
12861 unsafe {
12862 (windows_core::Interface::vtable(self).TotalBytesToReceive)(
12863 windows_core::Interface::as_raw(self),
12864 totalbytestoreceive as _,
12865 )
12866 .ok()
12867 }
12868 }
12869 pub unsafe fn BytesReceived(&self, bytesreceived: *mut i64) -> windows_core::Result<()> {
12870 unsafe {
12871 (windows_core::Interface::vtable(self).BytesReceived)(
12872 windows_core::Interface::as_raw(self),
12873 bytesreceived as _,
12874 )
12875 .ok()
12876 }
12877 }
12878 pub unsafe fn EstimatedEndTime(
12879 &self,
12880 estimatedendtime: *mut windows_core::PWSTR,
12881 ) -> windows_core::Result<()> {
12882 unsafe {
12883 (windows_core::Interface::vtable(self).EstimatedEndTime)(
12884 windows_core::Interface::as_raw(self),
12885 estimatedendtime as _,
12886 )
12887 .ok()
12888 }
12889 }
12890 pub unsafe fn ResultFilePath(
12891 &self,
12892 resultfilepath: *mut windows_core::PWSTR,
12893 ) -> windows_core::Result<()> {
12894 unsafe {
12895 (windows_core::Interface::vtable(self).ResultFilePath)(
12896 windows_core::Interface::as_raw(self),
12897 resultfilepath as _,
12898 )
12899 .ok()
12900 }
12901 }
12902 pub unsafe fn State(
12903 &self,
12904 downloadstate: *mut COREWEBVIEW2_DOWNLOAD_STATE,
12905 ) -> windows_core::Result<()> {
12906 unsafe {
12907 (windows_core::Interface::vtable(self).State)(
12908 windows_core::Interface::as_raw(self),
12909 downloadstate as _,
12910 )
12911 .ok()
12912 }
12913 }
12914 pub unsafe fn InterruptReason(
12915 &self,
12916 interruptreason: *mut COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON,
12917 ) -> windows_core::Result<()> {
12918 unsafe {
12919 (windows_core::Interface::vtable(self).InterruptReason)(
12920 windows_core::Interface::as_raw(self),
12921 interruptreason as _,
12922 )
12923 .ok()
12924 }
12925 }
12926 pub unsafe fn Cancel(&self) -> windows_core::Result<()> {
12927 unsafe {
12928 (windows_core::Interface::vtable(self).Cancel)(windows_core::Interface::as_raw(self))
12929 .ok()
12930 }
12931 }
12932 pub unsafe fn Pause(&self) -> windows_core::Result<()> {
12933 unsafe {
12934 (windows_core::Interface::vtable(self).Pause)(windows_core::Interface::as_raw(self))
12935 .ok()
12936 }
12937 }
12938 pub unsafe fn Resume(&self) -> windows_core::Result<()> {
12939 unsafe {
12940 (windows_core::Interface::vtable(self).Resume)(windows_core::Interface::as_raw(self))
12941 .ok()
12942 }
12943 }
12944 pub unsafe fn CanResume(&self, canresume: *mut windows_core::BOOL) -> windows_core::Result<()> {
12945 unsafe {
12946 (windows_core::Interface::vtable(self).CanResume)(
12947 windows_core::Interface::as_raw(self),
12948 canresume as _,
12949 )
12950 .ok()
12951 }
12952 }
12953}
12954#[repr(C)]
12955#[doc(hidden)]
12956pub struct ICoreWebView2DownloadOperation_Vtbl {
12957 pub base__: windows_core::IUnknown_Vtbl,
12958 pub add_BytesReceivedChanged: unsafe extern "system" fn(
12959 *mut core::ffi::c_void,
12960 *mut core::ffi::c_void,
12961 *mut i64,
12962 ) -> windows_core::HRESULT,
12963 pub remove_BytesReceivedChanged:
12964 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
12965 pub add_EstimatedEndTimeChanged: unsafe extern "system" fn(
12966 *mut core::ffi::c_void,
12967 *mut core::ffi::c_void,
12968 *mut i64,
12969 ) -> windows_core::HRESULT,
12970 pub remove_EstimatedEndTimeChanged:
12971 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
12972 pub add_StateChanged: unsafe extern "system" fn(
12973 *mut core::ffi::c_void,
12974 *mut core::ffi::c_void,
12975 *mut i64,
12976 ) -> windows_core::HRESULT,
12977 pub remove_StateChanged:
12978 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
12979 pub Uri: unsafe extern "system" fn(
12980 *mut core::ffi::c_void,
12981 *mut windows_core::PWSTR,
12982 ) -> windows_core::HRESULT,
12983 pub ContentDisposition: unsafe extern "system" fn(
12984 *mut core::ffi::c_void,
12985 *mut windows_core::PWSTR,
12986 ) -> windows_core::HRESULT,
12987 pub MimeType: unsafe extern "system" fn(
12988 *mut core::ffi::c_void,
12989 *mut windows_core::PWSTR,
12990 ) -> windows_core::HRESULT,
12991 pub TotalBytesToReceive:
12992 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i64) -> windows_core::HRESULT,
12993 pub BytesReceived:
12994 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i64) -> windows_core::HRESULT,
12995 pub EstimatedEndTime: unsafe extern "system" fn(
12996 *mut core::ffi::c_void,
12997 *mut windows_core::PWSTR,
12998 ) -> windows_core::HRESULT,
12999 pub ResultFilePath: unsafe extern "system" fn(
13000 *mut core::ffi::c_void,
13001 *mut windows_core::PWSTR,
13002 ) -> windows_core::HRESULT,
13003 pub State: unsafe extern "system" fn(
13004 *mut core::ffi::c_void,
13005 *mut COREWEBVIEW2_DOWNLOAD_STATE,
13006 ) -> windows_core::HRESULT,
13007 pub InterruptReason: unsafe extern "system" fn(
13008 *mut core::ffi::c_void,
13009 *mut COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON,
13010 ) -> windows_core::HRESULT,
13011 pub Cancel: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
13012 pub Pause: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
13013 pub Resume: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
13014 pub CanResume: unsafe extern "system" fn(
13015 *mut core::ffi::c_void,
13016 *mut windows_core::BOOL,
13017 ) -> windows_core::HRESULT,
13018}
13019pub trait ICoreWebView2DownloadOperation_Impl: windows_core::IUnknownImpl {
13020 fn add_BytesReceivedChanged(
13021 &self,
13022 eventhandler: windows_core::Ref<'_, ICoreWebView2BytesReceivedChangedEventHandler>,
13023 token: *mut i64,
13024 ) -> windows_core::Result<()>;
13025 fn remove_BytesReceivedChanged(&self, token: i64) -> windows_core::Result<()>;
13026 fn add_EstimatedEndTimeChanged(
13027 &self,
13028 eventhandler: windows_core::Ref<'_, ICoreWebView2EstimatedEndTimeChangedEventHandler>,
13029 token: *mut i64,
13030 ) -> windows_core::Result<()>;
13031 fn remove_EstimatedEndTimeChanged(&self, token: i64) -> windows_core::Result<()>;
13032 fn add_StateChanged(
13033 &self,
13034 eventhandler: windows_core::Ref<'_, ICoreWebView2StateChangedEventHandler>,
13035 token: *mut i64,
13036 ) -> windows_core::Result<()>;
13037 fn remove_StateChanged(&self, token: i64) -> windows_core::Result<()>;
13038 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
13039 fn ContentDisposition(
13040 &self,
13041 contentdisposition: *mut windows_core::PWSTR,
13042 ) -> windows_core::Result<()>;
13043 fn MimeType(&self, mimetype: *mut windows_core::PWSTR) -> windows_core::Result<()>;
13044 fn TotalBytesToReceive(&self, totalbytestoreceive: *mut i64) -> windows_core::Result<()>;
13045 fn BytesReceived(&self, bytesreceived: *mut i64) -> windows_core::Result<()>;
13046 fn EstimatedEndTime(
13047 &self,
13048 estimatedendtime: *mut windows_core::PWSTR,
13049 ) -> windows_core::Result<()>;
13050 fn ResultFilePath(&self, resultfilepath: *mut windows_core::PWSTR) -> windows_core::Result<()>;
13051 fn State(&self, downloadstate: *mut COREWEBVIEW2_DOWNLOAD_STATE) -> windows_core::Result<()>;
13052 fn InterruptReason(
13053 &self,
13054 interruptreason: *mut COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON,
13055 ) -> windows_core::Result<()>;
13056 fn Cancel(&self) -> windows_core::Result<()>;
13057 fn Pause(&self) -> windows_core::Result<()>;
13058 fn Resume(&self) -> windows_core::Result<()>;
13059 fn CanResume(&self, canresume: *mut windows_core::BOOL) -> windows_core::Result<()>;
13060}
13061impl ICoreWebView2DownloadOperation_Vtbl {
13062 pub const fn new<Identity: ICoreWebView2DownloadOperation_Impl, const OFFSET: isize>() -> Self {
13063 unsafe extern "system" fn add_BytesReceivedChanged<
13064 Identity: ICoreWebView2DownloadOperation_Impl,
13065 const OFFSET: isize,
13066 >(
13067 this: *mut core::ffi::c_void,
13068 eventhandler: *mut core::ffi::c_void,
13069 token: *mut i64,
13070 ) -> windows_core::HRESULT {
13071 unsafe {
13072 let this: &Identity =
13073 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13074 ICoreWebView2DownloadOperation_Impl::add_BytesReceivedChanged(
13075 this,
13076 core::mem::transmute_copy(&eventhandler),
13077 core::mem::transmute_copy(&token),
13078 )
13079 .into()
13080 }
13081 }
13082 unsafe extern "system" fn remove_BytesReceivedChanged<
13083 Identity: ICoreWebView2DownloadOperation_Impl,
13084 const OFFSET: isize,
13085 >(
13086 this: *mut core::ffi::c_void,
13087 token: i64,
13088 ) -> windows_core::HRESULT {
13089 unsafe {
13090 let this: &Identity =
13091 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13092 ICoreWebView2DownloadOperation_Impl::remove_BytesReceivedChanged(
13093 this,
13094 core::mem::transmute_copy(&token),
13095 )
13096 .into()
13097 }
13098 }
13099 unsafe extern "system" fn add_EstimatedEndTimeChanged<
13100 Identity: ICoreWebView2DownloadOperation_Impl,
13101 const OFFSET: isize,
13102 >(
13103 this: *mut core::ffi::c_void,
13104 eventhandler: *mut core::ffi::c_void,
13105 token: *mut i64,
13106 ) -> windows_core::HRESULT {
13107 unsafe {
13108 let this: &Identity =
13109 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13110 ICoreWebView2DownloadOperation_Impl::add_EstimatedEndTimeChanged(
13111 this,
13112 core::mem::transmute_copy(&eventhandler),
13113 core::mem::transmute_copy(&token),
13114 )
13115 .into()
13116 }
13117 }
13118 unsafe extern "system" fn remove_EstimatedEndTimeChanged<
13119 Identity: ICoreWebView2DownloadOperation_Impl,
13120 const OFFSET: isize,
13121 >(
13122 this: *mut core::ffi::c_void,
13123 token: i64,
13124 ) -> windows_core::HRESULT {
13125 unsafe {
13126 let this: &Identity =
13127 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13128 ICoreWebView2DownloadOperation_Impl::remove_EstimatedEndTimeChanged(
13129 this,
13130 core::mem::transmute_copy(&token),
13131 )
13132 .into()
13133 }
13134 }
13135 unsafe extern "system" fn add_StateChanged<
13136 Identity: ICoreWebView2DownloadOperation_Impl,
13137 const OFFSET: isize,
13138 >(
13139 this: *mut core::ffi::c_void,
13140 eventhandler: *mut core::ffi::c_void,
13141 token: *mut i64,
13142 ) -> windows_core::HRESULT {
13143 unsafe {
13144 let this: &Identity =
13145 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13146 ICoreWebView2DownloadOperation_Impl::add_StateChanged(
13147 this,
13148 core::mem::transmute_copy(&eventhandler),
13149 core::mem::transmute_copy(&token),
13150 )
13151 .into()
13152 }
13153 }
13154 unsafe extern "system" fn remove_StateChanged<
13155 Identity: ICoreWebView2DownloadOperation_Impl,
13156 const OFFSET: isize,
13157 >(
13158 this: *mut core::ffi::c_void,
13159 token: i64,
13160 ) -> windows_core::HRESULT {
13161 unsafe {
13162 let this: &Identity =
13163 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13164 ICoreWebView2DownloadOperation_Impl::remove_StateChanged(
13165 this,
13166 core::mem::transmute_copy(&token),
13167 )
13168 .into()
13169 }
13170 }
13171 unsafe extern "system" fn Uri<
13172 Identity: ICoreWebView2DownloadOperation_Impl,
13173 const OFFSET: isize,
13174 >(
13175 this: *mut core::ffi::c_void,
13176 uri: *mut windows_core::PWSTR,
13177 ) -> windows_core::HRESULT {
13178 unsafe {
13179 let this: &Identity =
13180 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13181 ICoreWebView2DownloadOperation_Impl::Uri(this, core::mem::transmute_copy(&uri))
13182 .into()
13183 }
13184 }
13185 unsafe extern "system" fn ContentDisposition<
13186 Identity: ICoreWebView2DownloadOperation_Impl,
13187 const OFFSET: isize,
13188 >(
13189 this: *mut core::ffi::c_void,
13190 contentdisposition: *mut windows_core::PWSTR,
13191 ) -> windows_core::HRESULT {
13192 unsafe {
13193 let this: &Identity =
13194 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13195 ICoreWebView2DownloadOperation_Impl::ContentDisposition(
13196 this,
13197 core::mem::transmute_copy(&contentdisposition),
13198 )
13199 .into()
13200 }
13201 }
13202 unsafe extern "system" fn MimeType<
13203 Identity: ICoreWebView2DownloadOperation_Impl,
13204 const OFFSET: isize,
13205 >(
13206 this: *mut core::ffi::c_void,
13207 mimetype: *mut windows_core::PWSTR,
13208 ) -> windows_core::HRESULT {
13209 unsafe {
13210 let this: &Identity =
13211 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13212 ICoreWebView2DownloadOperation_Impl::MimeType(
13213 this,
13214 core::mem::transmute_copy(&mimetype),
13215 )
13216 .into()
13217 }
13218 }
13219 unsafe extern "system" fn TotalBytesToReceive<
13220 Identity: ICoreWebView2DownloadOperation_Impl,
13221 const OFFSET: isize,
13222 >(
13223 this: *mut core::ffi::c_void,
13224 totalbytestoreceive: *mut i64,
13225 ) -> windows_core::HRESULT {
13226 unsafe {
13227 let this: &Identity =
13228 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13229 ICoreWebView2DownloadOperation_Impl::TotalBytesToReceive(
13230 this,
13231 core::mem::transmute_copy(&totalbytestoreceive),
13232 )
13233 .into()
13234 }
13235 }
13236 unsafe extern "system" fn BytesReceived<
13237 Identity: ICoreWebView2DownloadOperation_Impl,
13238 const OFFSET: isize,
13239 >(
13240 this: *mut core::ffi::c_void,
13241 bytesreceived: *mut i64,
13242 ) -> windows_core::HRESULT {
13243 unsafe {
13244 let this: &Identity =
13245 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13246 ICoreWebView2DownloadOperation_Impl::BytesReceived(
13247 this,
13248 core::mem::transmute_copy(&bytesreceived),
13249 )
13250 .into()
13251 }
13252 }
13253 unsafe extern "system" fn EstimatedEndTime<
13254 Identity: ICoreWebView2DownloadOperation_Impl,
13255 const OFFSET: isize,
13256 >(
13257 this: *mut core::ffi::c_void,
13258 estimatedendtime: *mut windows_core::PWSTR,
13259 ) -> windows_core::HRESULT {
13260 unsafe {
13261 let this: &Identity =
13262 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13263 ICoreWebView2DownloadOperation_Impl::EstimatedEndTime(
13264 this,
13265 core::mem::transmute_copy(&estimatedendtime),
13266 )
13267 .into()
13268 }
13269 }
13270 unsafe extern "system" fn ResultFilePath<
13271 Identity: ICoreWebView2DownloadOperation_Impl,
13272 const OFFSET: isize,
13273 >(
13274 this: *mut core::ffi::c_void,
13275 resultfilepath: *mut windows_core::PWSTR,
13276 ) -> windows_core::HRESULT {
13277 unsafe {
13278 let this: &Identity =
13279 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13280 ICoreWebView2DownloadOperation_Impl::ResultFilePath(
13281 this,
13282 core::mem::transmute_copy(&resultfilepath),
13283 )
13284 .into()
13285 }
13286 }
13287 unsafe extern "system" fn State<
13288 Identity: ICoreWebView2DownloadOperation_Impl,
13289 const OFFSET: isize,
13290 >(
13291 this: *mut core::ffi::c_void,
13292 downloadstate: *mut COREWEBVIEW2_DOWNLOAD_STATE,
13293 ) -> windows_core::HRESULT {
13294 unsafe {
13295 let this: &Identity =
13296 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13297 ICoreWebView2DownloadOperation_Impl::State(
13298 this,
13299 core::mem::transmute_copy(&downloadstate),
13300 )
13301 .into()
13302 }
13303 }
13304 unsafe extern "system" fn InterruptReason<
13305 Identity: ICoreWebView2DownloadOperation_Impl,
13306 const OFFSET: isize,
13307 >(
13308 this: *mut core::ffi::c_void,
13309 interruptreason: *mut COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON,
13310 ) -> windows_core::HRESULT {
13311 unsafe {
13312 let this: &Identity =
13313 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13314 ICoreWebView2DownloadOperation_Impl::InterruptReason(
13315 this,
13316 core::mem::transmute_copy(&interruptreason),
13317 )
13318 .into()
13319 }
13320 }
13321 unsafe extern "system" fn Cancel<
13322 Identity: ICoreWebView2DownloadOperation_Impl,
13323 const OFFSET: isize,
13324 >(
13325 this: *mut core::ffi::c_void,
13326 ) -> windows_core::HRESULT {
13327 unsafe {
13328 let this: &Identity =
13329 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13330 ICoreWebView2DownloadOperation_Impl::Cancel(this).into()
13331 }
13332 }
13333 unsafe extern "system" fn Pause<
13334 Identity: ICoreWebView2DownloadOperation_Impl,
13335 const OFFSET: isize,
13336 >(
13337 this: *mut core::ffi::c_void,
13338 ) -> windows_core::HRESULT {
13339 unsafe {
13340 let this: &Identity =
13341 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13342 ICoreWebView2DownloadOperation_Impl::Pause(this).into()
13343 }
13344 }
13345 unsafe extern "system" fn Resume<
13346 Identity: ICoreWebView2DownloadOperation_Impl,
13347 const OFFSET: isize,
13348 >(
13349 this: *mut core::ffi::c_void,
13350 ) -> windows_core::HRESULT {
13351 unsafe {
13352 let this: &Identity =
13353 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13354 ICoreWebView2DownloadOperation_Impl::Resume(this).into()
13355 }
13356 }
13357 unsafe extern "system" fn CanResume<
13358 Identity: ICoreWebView2DownloadOperation_Impl,
13359 const OFFSET: isize,
13360 >(
13361 this: *mut core::ffi::c_void,
13362 canresume: *mut windows_core::BOOL,
13363 ) -> windows_core::HRESULT {
13364 unsafe {
13365 let this: &Identity =
13366 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13367 ICoreWebView2DownloadOperation_Impl::CanResume(
13368 this,
13369 core::mem::transmute_copy(&canresume),
13370 )
13371 .into()
13372 }
13373 }
13374 Self {
13375 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
13376 add_BytesReceivedChanged: add_BytesReceivedChanged::<Identity, OFFSET>,
13377 remove_BytesReceivedChanged: remove_BytesReceivedChanged::<Identity, OFFSET>,
13378 add_EstimatedEndTimeChanged: add_EstimatedEndTimeChanged::<Identity, OFFSET>,
13379 remove_EstimatedEndTimeChanged: remove_EstimatedEndTimeChanged::<Identity, OFFSET>,
13380 add_StateChanged: add_StateChanged::<Identity, OFFSET>,
13381 remove_StateChanged: remove_StateChanged::<Identity, OFFSET>,
13382 Uri: Uri::<Identity, OFFSET>,
13383 ContentDisposition: ContentDisposition::<Identity, OFFSET>,
13384 MimeType: MimeType::<Identity, OFFSET>,
13385 TotalBytesToReceive: TotalBytesToReceive::<Identity, OFFSET>,
13386 BytesReceived: BytesReceived::<Identity, OFFSET>,
13387 EstimatedEndTime: EstimatedEndTime::<Identity, OFFSET>,
13388 ResultFilePath: ResultFilePath::<Identity, OFFSET>,
13389 State: State::<Identity, OFFSET>,
13390 InterruptReason: InterruptReason::<Identity, OFFSET>,
13391 Cancel: Cancel::<Identity, OFFSET>,
13392 Pause: Pause::<Identity, OFFSET>,
13393 Resume: Resume::<Identity, OFFSET>,
13394 CanResume: CanResume::<Identity, OFFSET>,
13395 }
13396 }
13397 pub fn matches(iid: &windows_core::GUID) -> bool {
13398 iid == &<ICoreWebView2DownloadOperation as windows_core::Interface>::IID
13399 }
13400}
13401impl windows_core::RuntimeName for ICoreWebView2DownloadOperation {}
13402windows_core::imp::define_interface!(
13403 ICoreWebView2DownloadStartingEventArgs,
13404 ICoreWebView2DownloadStartingEventArgs_Vtbl,
13405 0xe99bbe21_43e9_4544_a732_282764eafa60
13406);
13407windows_core::imp::interface_hierarchy!(
13408 ICoreWebView2DownloadStartingEventArgs,
13409 windows_core::IUnknown
13410);
13411impl ICoreWebView2DownloadStartingEventArgs {
13412 pub unsafe fn DownloadOperation(&self) -> windows_core::Result<ICoreWebView2DownloadOperation> {
13413 unsafe {
13414 let mut result__ = core::mem::zeroed();
13415 (windows_core::Interface::vtable(self).DownloadOperation)(
13416 windows_core::Interface::as_raw(self),
13417 &mut result__,
13418 )
13419 .and_then(|| windows_core::Type::from_abi(result__))
13420 }
13421 }
13422 pub unsafe fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()> {
13423 unsafe {
13424 (windows_core::Interface::vtable(self).Cancel)(
13425 windows_core::Interface::as_raw(self),
13426 cancel as _,
13427 )
13428 .ok()
13429 }
13430 }
13431 pub unsafe fn SetCancel(&self, cancel: bool) -> windows_core::Result<()> {
13432 unsafe {
13433 (windows_core::Interface::vtable(self).SetCancel)(
13434 windows_core::Interface::as_raw(self),
13435 cancel.into(),
13436 )
13437 .ok()
13438 }
13439 }
13440 pub unsafe fn ResultFilePath(
13441 &self,
13442 resultfilepath: *mut windows_core::PWSTR,
13443 ) -> windows_core::Result<()> {
13444 unsafe {
13445 (windows_core::Interface::vtable(self).ResultFilePath)(
13446 windows_core::Interface::as_raw(self),
13447 resultfilepath as _,
13448 )
13449 .ok()
13450 }
13451 }
13452 pub unsafe fn SetResultFilePath<P0>(&self, resultfilepath: P0) -> windows_core::Result<()>
13453 where
13454 P0: windows_core::Param<windows_core::PCWSTR>,
13455 {
13456 unsafe {
13457 (windows_core::Interface::vtable(self).SetResultFilePath)(
13458 windows_core::Interface::as_raw(self),
13459 resultfilepath.param().abi(),
13460 )
13461 .ok()
13462 }
13463 }
13464 pub unsafe fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()> {
13465 unsafe {
13466 (windows_core::Interface::vtable(self).Handled)(
13467 windows_core::Interface::as_raw(self),
13468 handled as _,
13469 )
13470 .ok()
13471 }
13472 }
13473 pub unsafe fn SetHandled(&self, handled: bool) -> windows_core::Result<()> {
13474 unsafe {
13475 (windows_core::Interface::vtable(self).SetHandled)(
13476 windows_core::Interface::as_raw(self),
13477 handled.into(),
13478 )
13479 .ok()
13480 }
13481 }
13482 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
13483 unsafe {
13484 let mut result__ = core::mem::zeroed();
13485 (windows_core::Interface::vtable(self).GetDeferral)(
13486 windows_core::Interface::as_raw(self),
13487 &mut result__,
13488 )
13489 .and_then(|| windows_core::Type::from_abi(result__))
13490 }
13491 }
13492}
13493#[repr(C)]
13494#[doc(hidden)]
13495pub struct ICoreWebView2DownloadStartingEventArgs_Vtbl {
13496 pub base__: windows_core::IUnknown_Vtbl,
13497 pub DownloadOperation: unsafe extern "system" fn(
13498 *mut core::ffi::c_void,
13499 *mut *mut core::ffi::c_void,
13500 ) -> windows_core::HRESULT,
13501 pub Cancel: unsafe extern "system" fn(
13502 *mut core::ffi::c_void,
13503 *mut windows_core::BOOL,
13504 ) -> windows_core::HRESULT,
13505 pub SetCancel: unsafe extern "system" fn(
13506 *mut core::ffi::c_void,
13507 windows_core::BOOL,
13508 ) -> windows_core::HRESULT,
13509 pub ResultFilePath: unsafe extern "system" fn(
13510 *mut core::ffi::c_void,
13511 *mut windows_core::PWSTR,
13512 ) -> windows_core::HRESULT,
13513 pub SetResultFilePath: unsafe extern "system" fn(
13514 *mut core::ffi::c_void,
13515 windows_core::PCWSTR,
13516 ) -> windows_core::HRESULT,
13517 pub Handled: unsafe extern "system" fn(
13518 *mut core::ffi::c_void,
13519 *mut windows_core::BOOL,
13520 ) -> windows_core::HRESULT,
13521 pub SetHandled: unsafe extern "system" fn(
13522 *mut core::ffi::c_void,
13523 windows_core::BOOL,
13524 ) -> windows_core::HRESULT,
13525 pub GetDeferral: unsafe extern "system" fn(
13526 *mut core::ffi::c_void,
13527 *mut *mut core::ffi::c_void,
13528 ) -> windows_core::HRESULT,
13529}
13530pub trait ICoreWebView2DownloadStartingEventArgs_Impl: windows_core::IUnknownImpl {
13531 fn DownloadOperation(&self) -> windows_core::Result<ICoreWebView2DownloadOperation>;
13532 fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()>;
13533 fn SetCancel(&self, cancel: windows_core::BOOL) -> windows_core::Result<()>;
13534 fn ResultFilePath(&self, resultfilepath: *mut windows_core::PWSTR) -> windows_core::Result<()>;
13535 fn SetResultFilePath(&self, resultfilepath: &windows_core::PCWSTR) -> windows_core::Result<()>;
13536 fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()>;
13537 fn SetHandled(&self, handled: windows_core::BOOL) -> windows_core::Result<()>;
13538 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
13539}
13540impl ICoreWebView2DownloadStartingEventArgs_Vtbl {
13541 pub const fn new<Identity: ICoreWebView2DownloadStartingEventArgs_Impl, const OFFSET: isize>(
13542 ) -> Self {
13543 unsafe extern "system" fn DownloadOperation<
13544 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13545 const OFFSET: isize,
13546 >(
13547 this: *mut core::ffi::c_void,
13548 downloadoperation: *mut *mut core::ffi::c_void,
13549 ) -> windows_core::HRESULT {
13550 unsafe {
13551 let this: &Identity =
13552 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13553 match ICoreWebView2DownloadStartingEventArgs_Impl::DownloadOperation(this) {
13554 Ok(ok__) => {
13555 downloadoperation.write(core::mem::transmute(ok__));
13556 windows_core::HRESULT(0)
13557 }
13558 Err(err) => err.into(),
13559 }
13560 }
13561 }
13562 unsafe extern "system" fn Cancel<
13563 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13564 const OFFSET: isize,
13565 >(
13566 this: *mut core::ffi::c_void,
13567 cancel: *mut windows_core::BOOL,
13568 ) -> windows_core::HRESULT {
13569 unsafe {
13570 let this: &Identity =
13571 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13572 ICoreWebView2DownloadStartingEventArgs_Impl::Cancel(
13573 this,
13574 core::mem::transmute_copy(&cancel),
13575 )
13576 .into()
13577 }
13578 }
13579 unsafe extern "system" fn SetCancel<
13580 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13581 const OFFSET: isize,
13582 >(
13583 this: *mut core::ffi::c_void,
13584 cancel: windows_core::BOOL,
13585 ) -> windows_core::HRESULT {
13586 unsafe {
13587 let this: &Identity =
13588 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13589 ICoreWebView2DownloadStartingEventArgs_Impl::SetCancel(
13590 this,
13591 core::mem::transmute_copy(&cancel),
13592 )
13593 .into()
13594 }
13595 }
13596 unsafe extern "system" fn ResultFilePath<
13597 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13598 const OFFSET: isize,
13599 >(
13600 this: *mut core::ffi::c_void,
13601 resultfilepath: *mut windows_core::PWSTR,
13602 ) -> windows_core::HRESULT {
13603 unsafe {
13604 let this: &Identity =
13605 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13606 ICoreWebView2DownloadStartingEventArgs_Impl::ResultFilePath(
13607 this,
13608 core::mem::transmute_copy(&resultfilepath),
13609 )
13610 .into()
13611 }
13612 }
13613 unsafe extern "system" fn SetResultFilePath<
13614 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13615 const OFFSET: isize,
13616 >(
13617 this: *mut core::ffi::c_void,
13618 resultfilepath: windows_core::PCWSTR,
13619 ) -> windows_core::HRESULT {
13620 unsafe {
13621 let this: &Identity =
13622 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13623 ICoreWebView2DownloadStartingEventArgs_Impl::SetResultFilePath(
13624 this,
13625 core::mem::transmute(&resultfilepath),
13626 )
13627 .into()
13628 }
13629 }
13630 unsafe extern "system" fn Handled<
13631 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13632 const OFFSET: isize,
13633 >(
13634 this: *mut core::ffi::c_void,
13635 handled: *mut windows_core::BOOL,
13636 ) -> windows_core::HRESULT {
13637 unsafe {
13638 let this: &Identity =
13639 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13640 ICoreWebView2DownloadStartingEventArgs_Impl::Handled(
13641 this,
13642 core::mem::transmute_copy(&handled),
13643 )
13644 .into()
13645 }
13646 }
13647 unsafe extern "system" fn SetHandled<
13648 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13649 const OFFSET: isize,
13650 >(
13651 this: *mut core::ffi::c_void,
13652 handled: windows_core::BOOL,
13653 ) -> windows_core::HRESULT {
13654 unsafe {
13655 let this: &Identity =
13656 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13657 ICoreWebView2DownloadStartingEventArgs_Impl::SetHandled(
13658 this,
13659 core::mem::transmute_copy(&handled),
13660 )
13661 .into()
13662 }
13663 }
13664 unsafe extern "system" fn GetDeferral<
13665 Identity: ICoreWebView2DownloadStartingEventArgs_Impl,
13666 const OFFSET: isize,
13667 >(
13668 this: *mut core::ffi::c_void,
13669 deferral: *mut *mut core::ffi::c_void,
13670 ) -> windows_core::HRESULT {
13671 unsafe {
13672 let this: &Identity =
13673 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13674 match ICoreWebView2DownloadStartingEventArgs_Impl::GetDeferral(this) {
13675 Ok(ok__) => {
13676 deferral.write(core::mem::transmute(ok__));
13677 windows_core::HRESULT(0)
13678 }
13679 Err(err) => err.into(),
13680 }
13681 }
13682 }
13683 Self {
13684 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
13685 DownloadOperation: DownloadOperation::<Identity, OFFSET>,
13686 Cancel: Cancel::<Identity, OFFSET>,
13687 SetCancel: SetCancel::<Identity, OFFSET>,
13688 ResultFilePath: ResultFilePath::<Identity, OFFSET>,
13689 SetResultFilePath: SetResultFilePath::<Identity, OFFSET>,
13690 Handled: Handled::<Identity, OFFSET>,
13691 SetHandled: SetHandled::<Identity, OFFSET>,
13692 GetDeferral: GetDeferral::<Identity, OFFSET>,
13693 }
13694 }
13695 pub fn matches(iid: &windows_core::GUID) -> bool {
13696 iid == &<ICoreWebView2DownloadStartingEventArgs as windows_core::Interface>::IID
13697 }
13698}
13699impl windows_core::RuntimeName for ICoreWebView2DownloadStartingEventArgs {}
13700windows_core::imp::define_interface!(
13701 ICoreWebView2DownloadStartingEventHandler,
13702 ICoreWebView2DownloadStartingEventHandler_Vtbl,
13703 0xefedc989_c396_41ca_83f7_07f845a55724
13704);
13705windows_core::imp::interface_hierarchy!(
13706 ICoreWebView2DownloadStartingEventHandler,
13707 windows_core::IUnknown
13708);
13709impl ICoreWebView2DownloadStartingEventHandler {
13710 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
13711 where
13712 P0: windows_core::Param<ICoreWebView2>,
13713 P1: windows_core::Param<ICoreWebView2DownloadStartingEventArgs>,
13714 {
13715 unsafe {
13716 (windows_core::Interface::vtable(self).Invoke)(
13717 windows_core::Interface::as_raw(self),
13718 sender.param().abi(),
13719 args.param().abi(),
13720 )
13721 .ok()
13722 }
13723 }
13724}
13725#[repr(C)]
13726#[doc(hidden)]
13727pub struct ICoreWebView2DownloadStartingEventHandler_Vtbl {
13728 pub base__: windows_core::IUnknown_Vtbl,
13729 pub Invoke: unsafe extern "system" fn(
13730 *mut core::ffi::c_void,
13731 *mut core::ffi::c_void,
13732 *mut core::ffi::c_void,
13733 ) -> windows_core::HRESULT,
13734}
13735pub trait ICoreWebView2DownloadStartingEventHandler_Impl: windows_core::IUnknownImpl {
13736 fn Invoke(
13737 &self,
13738 sender: windows_core::Ref<'_, ICoreWebView2>,
13739 args: windows_core::Ref<'_, ICoreWebView2DownloadStartingEventArgs>,
13740 ) -> windows_core::Result<()>;
13741}
13742impl ICoreWebView2DownloadStartingEventHandler_Vtbl {
13743 pub const fn new<
13744 Identity: ICoreWebView2DownloadStartingEventHandler_Impl,
13745 const OFFSET: isize,
13746 >() -> Self {
13747 unsafe extern "system" fn Invoke<
13748 Identity: ICoreWebView2DownloadStartingEventHandler_Impl,
13749 const OFFSET: isize,
13750 >(
13751 this: *mut core::ffi::c_void,
13752 sender: *mut core::ffi::c_void,
13753 args: *mut core::ffi::c_void,
13754 ) -> windows_core::HRESULT {
13755 unsafe {
13756 let this: &Identity =
13757 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13758 ICoreWebView2DownloadStartingEventHandler_Impl::Invoke(
13759 this,
13760 core::mem::transmute_copy(&sender),
13761 core::mem::transmute_copy(&args),
13762 )
13763 .into()
13764 }
13765 }
13766 Self {
13767 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
13768 Invoke: Invoke::<Identity, OFFSET>,
13769 }
13770 }
13771 pub fn matches(iid: &windows_core::GUID) -> bool {
13772 iid == &<ICoreWebView2DownloadStartingEventHandler as windows_core::Interface>::IID
13773 }
13774}
13775impl windows_core::RuntimeName for ICoreWebView2DownloadStartingEventHandler {}
13776windows_core::imp::define_interface!(
13777 ICoreWebView2Environment,
13778 ICoreWebView2Environment_Vtbl,
13779 0xb96d755e_0319_4e92_a296_23436f46a1fc
13780);
13781windows_core::imp::interface_hierarchy!(ICoreWebView2Environment, windows_core::IUnknown);
13782impl ICoreWebView2Environment {
13783 pub unsafe fn CreateCoreWebView2Controller<P1>(
13784 &self,
13785 parentwindow: windows::Win32::Foundation::HWND,
13786 handler: P1,
13787 ) -> windows_core::Result<()>
13788 where
13789 P1: windows_core::Param<ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
13790 {
13791 unsafe {
13792 (windows_core::Interface::vtable(self).CreateCoreWebView2Controller)(
13793 windows_core::Interface::as_raw(self),
13794 parentwindow,
13795 handler.param().abi(),
13796 )
13797 .ok()
13798 }
13799 }
13800 pub unsafe fn CreateWebResourceResponse<P0, P2, P3>(
13801 &self,
13802 content: P0,
13803 statuscode: i32,
13804 reasonphrase: P2,
13805 headers: P3,
13806 ) -> windows_core::Result<ICoreWebView2WebResourceResponse>
13807 where
13808 P0: windows_core::Param<windows::Win32::System::Com::IStream>,
13809 P2: windows_core::Param<windows_core::PCWSTR>,
13810 P3: windows_core::Param<windows_core::PCWSTR>,
13811 {
13812 unsafe {
13813 let mut result__ = core::mem::zeroed();
13814 (windows_core::Interface::vtable(self).CreateWebResourceResponse)(
13815 windows_core::Interface::as_raw(self),
13816 content.param().abi(),
13817 statuscode,
13818 reasonphrase.param().abi(),
13819 headers.param().abi(),
13820 &mut result__,
13821 )
13822 .and_then(|| windows_core::Type::from_abi(result__))
13823 }
13824 }
13825 pub unsafe fn BrowserVersionString(
13826 &self,
13827 versioninfo: *mut windows_core::PWSTR,
13828 ) -> windows_core::Result<()> {
13829 unsafe {
13830 (windows_core::Interface::vtable(self).BrowserVersionString)(
13831 windows_core::Interface::as_raw(self),
13832 versioninfo as _,
13833 )
13834 .ok()
13835 }
13836 }
13837 pub unsafe fn add_NewBrowserVersionAvailable<P0>(
13838 &self,
13839 eventhandler: P0,
13840 token: *mut i64,
13841 ) -> windows_core::Result<()>
13842 where
13843 P0: windows_core::Param<ICoreWebView2NewBrowserVersionAvailableEventHandler>,
13844 {
13845 unsafe {
13846 (windows_core::Interface::vtable(self).add_NewBrowserVersionAvailable)(
13847 windows_core::Interface::as_raw(self),
13848 eventhandler.param().abi(),
13849 token as _,
13850 )
13851 .ok()
13852 }
13853 }
13854 pub unsafe fn remove_NewBrowserVersionAvailable(&self, token: i64) -> windows_core::Result<()> {
13855 unsafe {
13856 (windows_core::Interface::vtable(self).remove_NewBrowserVersionAvailable)(
13857 windows_core::Interface::as_raw(self),
13858 token,
13859 )
13860 .ok()
13861 }
13862 }
13863}
13864#[repr(C)]
13865#[doc(hidden)]
13866pub struct ICoreWebView2Environment_Vtbl {
13867 pub base__: windows_core::IUnknown_Vtbl,
13868 pub CreateCoreWebView2Controller: unsafe extern "system" fn(
13869 *mut core::ffi::c_void,
13870 windows::Win32::Foundation::HWND,
13871 *mut core::ffi::c_void,
13872 ) -> windows_core::HRESULT,
13873 pub CreateWebResourceResponse: unsafe extern "system" fn(
13874 *mut core::ffi::c_void,
13875 *mut core::ffi::c_void,
13876 i32,
13877 windows_core::PCWSTR,
13878 windows_core::PCWSTR,
13879 *mut *mut core::ffi::c_void,
13880 ) -> windows_core::HRESULT,
13881 pub BrowserVersionString: unsafe extern "system" fn(
13882 *mut core::ffi::c_void,
13883 *mut windows_core::PWSTR,
13884 ) -> windows_core::HRESULT,
13885 pub add_NewBrowserVersionAvailable: unsafe extern "system" fn(
13886 *mut core::ffi::c_void,
13887 *mut core::ffi::c_void,
13888 *mut i64,
13889 ) -> windows_core::HRESULT,
13890 pub remove_NewBrowserVersionAvailable:
13891 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
13892}
13893pub trait ICoreWebView2Environment_Impl: windows_core::IUnknownImpl {
13894 fn CreateCoreWebView2Controller(
13895 &self,
13896 parentwindow: windows::Win32::Foundation::HWND,
13897 handler: windows_core::Ref<'_, ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
13898 ) -> windows_core::Result<()>;
13899 fn CreateWebResourceResponse(
13900 &self,
13901 content: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
13902 statuscode: i32,
13903 reasonphrase: &windows_core::PCWSTR,
13904 headers: &windows_core::PCWSTR,
13905 ) -> windows_core::Result<ICoreWebView2WebResourceResponse>;
13906 fn BrowserVersionString(
13907 &self,
13908 versioninfo: *mut windows_core::PWSTR,
13909 ) -> windows_core::Result<()>;
13910 fn add_NewBrowserVersionAvailable(
13911 &self,
13912 eventhandler: windows_core::Ref<'_, ICoreWebView2NewBrowserVersionAvailableEventHandler>,
13913 token: *mut i64,
13914 ) -> windows_core::Result<()>;
13915 fn remove_NewBrowserVersionAvailable(&self, token: i64) -> windows_core::Result<()>;
13916}
13917impl ICoreWebView2Environment_Vtbl {
13918 pub const fn new<Identity: ICoreWebView2Environment_Impl, const OFFSET: isize>() -> Self {
13919 unsafe extern "system" fn CreateCoreWebView2Controller<
13920 Identity: ICoreWebView2Environment_Impl,
13921 const OFFSET: isize,
13922 >(
13923 this: *mut core::ffi::c_void,
13924 parentwindow: windows::Win32::Foundation::HWND,
13925 handler: *mut core::ffi::c_void,
13926 ) -> windows_core::HRESULT {
13927 unsafe {
13928 let this: &Identity =
13929 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13930 ICoreWebView2Environment_Impl::CreateCoreWebView2Controller(
13931 this,
13932 core::mem::transmute_copy(&parentwindow),
13933 core::mem::transmute_copy(&handler),
13934 )
13935 .into()
13936 }
13937 }
13938 unsafe extern "system" fn CreateWebResourceResponse<
13939 Identity: ICoreWebView2Environment_Impl,
13940 const OFFSET: isize,
13941 >(
13942 this: *mut core::ffi::c_void,
13943 content: *mut core::ffi::c_void,
13944 statuscode: i32,
13945 reasonphrase: windows_core::PCWSTR,
13946 headers: windows_core::PCWSTR,
13947 response: *mut *mut core::ffi::c_void,
13948 ) -> windows_core::HRESULT {
13949 unsafe {
13950 let this: &Identity =
13951 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13952 match ICoreWebView2Environment_Impl::CreateWebResourceResponse(
13953 this,
13954 core::mem::transmute_copy(&content),
13955 core::mem::transmute_copy(&statuscode),
13956 core::mem::transmute(&reasonphrase),
13957 core::mem::transmute(&headers),
13958 ) {
13959 Ok(ok__) => {
13960 response.write(core::mem::transmute(ok__));
13961 windows_core::HRESULT(0)
13962 }
13963 Err(err) => err.into(),
13964 }
13965 }
13966 }
13967 unsafe extern "system" fn BrowserVersionString<
13968 Identity: ICoreWebView2Environment_Impl,
13969 const OFFSET: isize,
13970 >(
13971 this: *mut core::ffi::c_void,
13972 versioninfo: *mut windows_core::PWSTR,
13973 ) -> windows_core::HRESULT {
13974 unsafe {
13975 let this: &Identity =
13976 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13977 ICoreWebView2Environment_Impl::BrowserVersionString(
13978 this,
13979 core::mem::transmute_copy(&versioninfo),
13980 )
13981 .into()
13982 }
13983 }
13984 unsafe extern "system" fn add_NewBrowserVersionAvailable<
13985 Identity: ICoreWebView2Environment_Impl,
13986 const OFFSET: isize,
13987 >(
13988 this: *mut core::ffi::c_void,
13989 eventhandler: *mut core::ffi::c_void,
13990 token: *mut i64,
13991 ) -> windows_core::HRESULT {
13992 unsafe {
13993 let this: &Identity =
13994 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13995 ICoreWebView2Environment_Impl::add_NewBrowserVersionAvailable(
13996 this,
13997 core::mem::transmute_copy(&eventhandler),
13998 core::mem::transmute_copy(&token),
13999 )
14000 .into()
14001 }
14002 }
14003 unsafe extern "system" fn remove_NewBrowserVersionAvailable<
14004 Identity: ICoreWebView2Environment_Impl,
14005 const OFFSET: isize,
14006 >(
14007 this: *mut core::ffi::c_void,
14008 token: i64,
14009 ) -> windows_core::HRESULT {
14010 unsafe {
14011 let this: &Identity =
14012 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14013 ICoreWebView2Environment_Impl::remove_NewBrowserVersionAvailable(
14014 this,
14015 core::mem::transmute_copy(&token),
14016 )
14017 .into()
14018 }
14019 }
14020 Self {
14021 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
14022 CreateCoreWebView2Controller: CreateCoreWebView2Controller::<Identity, OFFSET>,
14023 CreateWebResourceResponse: CreateWebResourceResponse::<Identity, OFFSET>,
14024 BrowserVersionString: BrowserVersionString::<Identity, OFFSET>,
14025 add_NewBrowserVersionAvailable: add_NewBrowserVersionAvailable::<Identity, OFFSET>,
14026 remove_NewBrowserVersionAvailable: remove_NewBrowserVersionAvailable::<Identity, OFFSET>,
14027 }
14028 }
14029 pub fn matches(iid: &windows_core::GUID) -> bool {
14030 iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14031 }
14032}
14033impl windows_core::RuntimeName for ICoreWebView2Environment {}
14034windows_core::imp::define_interface!(
14035 ICoreWebView2Environment10,
14036 ICoreWebView2Environment10_Vtbl,
14037 0xee0eb9df_6f12_46ce_b53f_3f47b9c928e0
14038);
14039impl core::ops::Deref for ICoreWebView2Environment10 {
14040 type Target = ICoreWebView2Environment9;
14041 fn deref(&self) -> &Self::Target {
14042 unsafe { core::mem::transmute(self) }
14043 }
14044}
14045windows_core::imp::interface_hierarchy!(
14046 ICoreWebView2Environment10,
14047 windows_core::IUnknown,
14048 ICoreWebView2Environment,
14049 ICoreWebView2Environment2,
14050 ICoreWebView2Environment3,
14051 ICoreWebView2Environment4,
14052 ICoreWebView2Environment5,
14053 ICoreWebView2Environment6,
14054 ICoreWebView2Environment7,
14055 ICoreWebView2Environment8,
14056 ICoreWebView2Environment9
14057);
14058impl ICoreWebView2Environment10 {
14059 pub unsafe fn CreateCoreWebView2ControllerOptions(
14060 &self,
14061 ) -> windows_core::Result<ICoreWebView2ControllerOptions> {
14062 unsafe {
14063 let mut result__ = core::mem::zeroed();
14064 (windows_core::Interface::vtable(self).CreateCoreWebView2ControllerOptions)(
14065 windows_core::Interface::as_raw(self),
14066 &mut result__,
14067 )
14068 .and_then(|| windows_core::Type::from_abi(result__))
14069 }
14070 }
14071 pub unsafe fn CreateCoreWebView2ControllerWithOptions<P1, P2>(
14072 &self,
14073 parentwindow: windows::Win32::Foundation::HWND,
14074 options: P1,
14075 handler: P2,
14076 ) -> windows_core::Result<()>
14077 where
14078 P1: windows_core::Param<ICoreWebView2ControllerOptions>,
14079 P2: windows_core::Param<ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
14080 {
14081 unsafe {
14082 (windows_core::Interface::vtable(self).CreateCoreWebView2ControllerWithOptions)(
14083 windows_core::Interface::as_raw(self),
14084 parentwindow,
14085 options.param().abi(),
14086 handler.param().abi(),
14087 )
14088 .ok()
14089 }
14090 }
14091 pub unsafe fn CreateCoreWebView2CompositionControllerWithOptions<P1, P2>(
14092 &self,
14093 parentwindow: windows::Win32::Foundation::HWND,
14094 options: P1,
14095 handler: P2,
14096 ) -> windows_core::Result<()>
14097 where
14098 P1: windows_core::Param<ICoreWebView2ControllerOptions>,
14099 P2: windows_core::Param<
14100 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
14101 >,
14102 {
14103 unsafe {
14104 (windows_core::Interface::vtable(self)
14105 .CreateCoreWebView2CompositionControllerWithOptions)(
14106 windows_core::Interface::as_raw(self),
14107 parentwindow,
14108 options.param().abi(),
14109 handler.param().abi(),
14110 )
14111 .ok()
14112 }
14113 }
14114}
14115#[repr(C)]
14116#[doc(hidden)]
14117pub struct ICoreWebView2Environment10_Vtbl {
14118 pub base__: ICoreWebView2Environment9_Vtbl,
14119 pub CreateCoreWebView2ControllerOptions: unsafe extern "system" fn(
14120 *mut core::ffi::c_void,
14121 *mut *mut core::ffi::c_void,
14122 )
14123 -> windows_core::HRESULT,
14124 pub CreateCoreWebView2ControllerWithOptions: unsafe extern "system" fn(
14125 *mut core::ffi::c_void,
14126 windows::Win32::Foundation::HWND,
14127 *mut core::ffi::c_void,
14128 *mut core::ffi::c_void,
14129 )
14130 -> windows_core::HRESULT,
14131 pub CreateCoreWebView2CompositionControllerWithOptions:
14132 unsafe extern "system" fn(
14133 *mut core::ffi::c_void,
14134 windows::Win32::Foundation::HWND,
14135 *mut core::ffi::c_void,
14136 *mut core::ffi::c_void,
14137 ) -> windows_core::HRESULT,
14138}
14139pub trait ICoreWebView2Environment10_Impl: ICoreWebView2Environment9_Impl {
14140 fn CreateCoreWebView2ControllerOptions(
14141 &self,
14142 ) -> windows_core::Result<ICoreWebView2ControllerOptions>;
14143 fn CreateCoreWebView2ControllerWithOptions(
14144 &self,
14145 parentwindow: windows::Win32::Foundation::HWND,
14146 options: windows_core::Ref<'_, ICoreWebView2ControllerOptions>,
14147 handler: windows_core::Ref<'_, ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
14148 ) -> windows_core::Result<()>;
14149 fn CreateCoreWebView2CompositionControllerWithOptions(
14150 &self,
14151 parentwindow: windows::Win32::Foundation::HWND,
14152 options: windows_core::Ref<'_, ICoreWebView2ControllerOptions>,
14153 handler: windows_core::Ref<
14154 '_,
14155 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
14156 >,
14157 ) -> windows_core::Result<()>;
14158}
14159impl ICoreWebView2Environment10_Vtbl {
14160 pub const fn new<Identity: ICoreWebView2Environment10_Impl, const OFFSET: isize>() -> Self {
14161 unsafe extern "system" fn CreateCoreWebView2ControllerOptions<
14162 Identity: ICoreWebView2Environment10_Impl,
14163 const OFFSET: isize,
14164 >(
14165 this: *mut core::ffi::c_void,
14166 value: *mut *mut core::ffi::c_void,
14167 ) -> windows_core::HRESULT {
14168 unsafe {
14169 let this: &Identity =
14170 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14171 match ICoreWebView2Environment10_Impl::CreateCoreWebView2ControllerOptions(this) {
14172 Ok(ok__) => {
14173 value.write(core::mem::transmute(ok__));
14174 windows_core::HRESULT(0)
14175 }
14176 Err(err) => err.into(),
14177 }
14178 }
14179 }
14180 unsafe extern "system" fn CreateCoreWebView2ControllerWithOptions<
14181 Identity: ICoreWebView2Environment10_Impl,
14182 const OFFSET: isize,
14183 >(
14184 this: *mut core::ffi::c_void,
14185 parentwindow: windows::Win32::Foundation::HWND,
14186 options: *mut core::ffi::c_void,
14187 handler: *mut core::ffi::c_void,
14188 ) -> windows_core::HRESULT {
14189 unsafe {
14190 let this: &Identity =
14191 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14192 ICoreWebView2Environment10_Impl::CreateCoreWebView2ControllerWithOptions(
14193 this,
14194 core::mem::transmute_copy(&parentwindow),
14195 core::mem::transmute_copy(&options),
14196 core::mem::transmute_copy(&handler),
14197 )
14198 .into()
14199 }
14200 }
14201 unsafe extern "system" fn CreateCoreWebView2CompositionControllerWithOptions<
14202 Identity: ICoreWebView2Environment10_Impl,
14203 const OFFSET: isize,
14204 >(
14205 this: *mut core::ffi::c_void,
14206 parentwindow: windows::Win32::Foundation::HWND,
14207 options: *mut core::ffi::c_void,
14208 handler: *mut core::ffi::c_void,
14209 ) -> windows_core::HRESULT {
14210 unsafe {
14211 let this: &Identity =
14212 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14213 ICoreWebView2Environment10_Impl::CreateCoreWebView2CompositionControllerWithOptions(
14214 this,
14215 core::mem::transmute_copy(&parentwindow),
14216 core::mem::transmute_copy(&options),
14217 core::mem::transmute_copy(&handler),
14218 )
14219 .into()
14220 }
14221 }
14222 Self {
14223 base__: ICoreWebView2Environment9_Vtbl::new::<Identity, OFFSET>(),
14224 CreateCoreWebView2ControllerOptions: CreateCoreWebView2ControllerOptions::<
14225 Identity,
14226 OFFSET,
14227 >,
14228 CreateCoreWebView2ControllerWithOptions: CreateCoreWebView2ControllerWithOptions::<
14229 Identity,
14230 OFFSET,
14231 >,
14232 CreateCoreWebView2CompositionControllerWithOptions:
14233 CreateCoreWebView2CompositionControllerWithOptions::<Identity, OFFSET>,
14234 }
14235 }
14236 pub fn matches(iid: &windows_core::GUID) -> bool {
14237 iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
14238 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14239 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
14240 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
14241 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
14242 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
14243 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
14244 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
14245 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
14246 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
14247 }
14248}
14249impl windows_core::RuntimeName for ICoreWebView2Environment10 {}
14250windows_core::imp::define_interface!(
14251 ICoreWebView2Environment11,
14252 ICoreWebView2Environment11_Vtbl,
14253 0xf0913dc6_a0ec_42ef_9805_91dff3a2966a
14254);
14255impl core::ops::Deref for ICoreWebView2Environment11 {
14256 type Target = ICoreWebView2Environment10;
14257 fn deref(&self) -> &Self::Target {
14258 unsafe { core::mem::transmute(self) }
14259 }
14260}
14261windows_core::imp::interface_hierarchy!(
14262 ICoreWebView2Environment11,
14263 windows_core::IUnknown,
14264 ICoreWebView2Environment,
14265 ICoreWebView2Environment2,
14266 ICoreWebView2Environment3,
14267 ICoreWebView2Environment4,
14268 ICoreWebView2Environment5,
14269 ICoreWebView2Environment6,
14270 ICoreWebView2Environment7,
14271 ICoreWebView2Environment8,
14272 ICoreWebView2Environment9,
14273 ICoreWebView2Environment10
14274);
14275impl ICoreWebView2Environment11 {
14276 pub unsafe fn FailureReportFolderPath(
14277 &self,
14278 value: *mut windows_core::PWSTR,
14279 ) -> windows_core::Result<()> {
14280 unsafe {
14281 (windows_core::Interface::vtable(self).FailureReportFolderPath)(
14282 windows_core::Interface::as_raw(self),
14283 value as _,
14284 )
14285 .ok()
14286 }
14287 }
14288}
14289#[repr(C)]
14290#[doc(hidden)]
14291pub struct ICoreWebView2Environment11_Vtbl {
14292 pub base__: ICoreWebView2Environment10_Vtbl,
14293 pub FailureReportFolderPath: unsafe extern "system" fn(
14294 *mut core::ffi::c_void,
14295 *mut windows_core::PWSTR,
14296 ) -> windows_core::HRESULT,
14297}
14298pub trait ICoreWebView2Environment11_Impl: ICoreWebView2Environment10_Impl {
14299 fn FailureReportFolderPath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
14300}
14301impl ICoreWebView2Environment11_Vtbl {
14302 pub const fn new<Identity: ICoreWebView2Environment11_Impl, const OFFSET: isize>() -> Self {
14303 unsafe extern "system" fn FailureReportFolderPath<
14304 Identity: ICoreWebView2Environment11_Impl,
14305 const OFFSET: isize,
14306 >(
14307 this: *mut core::ffi::c_void,
14308 value: *mut windows_core::PWSTR,
14309 ) -> windows_core::HRESULT {
14310 unsafe {
14311 let this: &Identity =
14312 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14313 ICoreWebView2Environment11_Impl::FailureReportFolderPath(
14314 this,
14315 core::mem::transmute_copy(&value),
14316 )
14317 .into()
14318 }
14319 }
14320 Self {
14321 base__: ICoreWebView2Environment10_Vtbl::new::<Identity, OFFSET>(),
14322 FailureReportFolderPath: FailureReportFolderPath::<Identity, OFFSET>,
14323 }
14324 }
14325 pub fn matches(iid: &windows_core::GUID) -> bool {
14326 iid == &<ICoreWebView2Environment11 as windows_core::Interface>::IID
14327 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14328 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
14329 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
14330 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
14331 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
14332 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
14333 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
14334 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
14335 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
14336 || iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
14337 }
14338}
14339impl windows_core::RuntimeName for ICoreWebView2Environment11 {}
14340windows_core::imp::define_interface!(
14341 ICoreWebView2Environment12,
14342 ICoreWebView2Environment12_Vtbl,
14343 0xf503db9b_739f_48dd_b151_fdfcf253f54e
14344);
14345impl core::ops::Deref for ICoreWebView2Environment12 {
14346 type Target = ICoreWebView2Environment11;
14347 fn deref(&self) -> &Self::Target {
14348 unsafe { core::mem::transmute(self) }
14349 }
14350}
14351windows_core::imp::interface_hierarchy!(
14352 ICoreWebView2Environment12,
14353 windows_core::IUnknown,
14354 ICoreWebView2Environment,
14355 ICoreWebView2Environment2,
14356 ICoreWebView2Environment3,
14357 ICoreWebView2Environment4,
14358 ICoreWebView2Environment5,
14359 ICoreWebView2Environment6,
14360 ICoreWebView2Environment7,
14361 ICoreWebView2Environment8,
14362 ICoreWebView2Environment9,
14363 ICoreWebView2Environment10,
14364 ICoreWebView2Environment11
14365);
14366impl ICoreWebView2Environment12 {
14367 pub unsafe fn CreateSharedBuffer(
14368 &self,
14369 size: u64,
14370 ) -> windows_core::Result<ICoreWebView2SharedBuffer> {
14371 unsafe {
14372 let mut result__ = core::mem::zeroed();
14373 (windows_core::Interface::vtable(self).CreateSharedBuffer)(
14374 windows_core::Interface::as_raw(self),
14375 size,
14376 &mut result__,
14377 )
14378 .and_then(|| windows_core::Type::from_abi(result__))
14379 }
14380 }
14381}
14382#[repr(C)]
14383#[doc(hidden)]
14384pub struct ICoreWebView2Environment12_Vtbl {
14385 pub base__: ICoreWebView2Environment11_Vtbl,
14386 pub CreateSharedBuffer: unsafe extern "system" fn(
14387 *mut core::ffi::c_void,
14388 u64,
14389 *mut *mut core::ffi::c_void,
14390 ) -> windows_core::HRESULT,
14391}
14392pub trait ICoreWebView2Environment12_Impl: ICoreWebView2Environment11_Impl {
14393 fn CreateSharedBuffer(&self, size: u64) -> windows_core::Result<ICoreWebView2SharedBuffer>;
14394}
14395impl ICoreWebView2Environment12_Vtbl {
14396 pub const fn new<Identity: ICoreWebView2Environment12_Impl, const OFFSET: isize>() -> Self {
14397 unsafe extern "system" fn CreateSharedBuffer<
14398 Identity: ICoreWebView2Environment12_Impl,
14399 const OFFSET: isize,
14400 >(
14401 this: *mut core::ffi::c_void,
14402 size: u64,
14403 value: *mut *mut core::ffi::c_void,
14404 ) -> windows_core::HRESULT {
14405 unsafe {
14406 let this: &Identity =
14407 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14408 match ICoreWebView2Environment12_Impl::CreateSharedBuffer(
14409 this,
14410 core::mem::transmute_copy(&size),
14411 ) {
14412 Ok(ok__) => {
14413 value.write(core::mem::transmute(ok__));
14414 windows_core::HRESULT(0)
14415 }
14416 Err(err) => err.into(),
14417 }
14418 }
14419 }
14420 Self {
14421 base__: ICoreWebView2Environment11_Vtbl::new::<Identity, OFFSET>(),
14422 CreateSharedBuffer: CreateSharedBuffer::<Identity, OFFSET>,
14423 }
14424 }
14425 pub fn matches(iid: &windows_core::GUID) -> bool {
14426 iid == &<ICoreWebView2Environment12 as windows_core::Interface>::IID
14427 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14428 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
14429 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
14430 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
14431 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
14432 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
14433 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
14434 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
14435 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
14436 || iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
14437 || iid == &<ICoreWebView2Environment11 as windows_core::Interface>::IID
14438 }
14439}
14440impl windows_core::RuntimeName for ICoreWebView2Environment12 {}
14441windows_core::imp::define_interface!(
14442 ICoreWebView2Environment13,
14443 ICoreWebView2Environment13_Vtbl,
14444 0xaf641f58_72b2_11ee_b962_0242ac120002
14445);
14446impl core::ops::Deref for ICoreWebView2Environment13 {
14447 type Target = ICoreWebView2Environment12;
14448 fn deref(&self) -> &Self::Target {
14449 unsafe { core::mem::transmute(self) }
14450 }
14451}
14452windows_core::imp::interface_hierarchy!(
14453 ICoreWebView2Environment13,
14454 windows_core::IUnknown,
14455 ICoreWebView2Environment,
14456 ICoreWebView2Environment2,
14457 ICoreWebView2Environment3,
14458 ICoreWebView2Environment4,
14459 ICoreWebView2Environment5,
14460 ICoreWebView2Environment6,
14461 ICoreWebView2Environment7,
14462 ICoreWebView2Environment8,
14463 ICoreWebView2Environment9,
14464 ICoreWebView2Environment10,
14465 ICoreWebView2Environment11,
14466 ICoreWebView2Environment12
14467);
14468impl ICoreWebView2Environment13 {
14469 pub unsafe fn GetProcessExtendedInfos<P0>(&self, handler: P0) -> windows_core::Result<()>
14470 where
14471 P0: windows_core::Param<ICoreWebView2GetProcessExtendedInfosCompletedHandler>,
14472 {
14473 unsafe {
14474 (windows_core::Interface::vtable(self).GetProcessExtendedInfos)(
14475 windows_core::Interface::as_raw(self),
14476 handler.param().abi(),
14477 )
14478 .ok()
14479 }
14480 }
14481}
14482#[repr(C)]
14483#[doc(hidden)]
14484pub struct ICoreWebView2Environment13_Vtbl {
14485 pub base__: ICoreWebView2Environment12_Vtbl,
14486 pub GetProcessExtendedInfos: unsafe extern "system" fn(
14487 *mut core::ffi::c_void,
14488 *mut core::ffi::c_void,
14489 ) -> windows_core::HRESULT,
14490}
14491pub trait ICoreWebView2Environment13_Impl: ICoreWebView2Environment12_Impl {
14492 fn GetProcessExtendedInfos(
14493 &self,
14494 handler: windows_core::Ref<'_, ICoreWebView2GetProcessExtendedInfosCompletedHandler>,
14495 ) -> windows_core::Result<()>;
14496}
14497impl ICoreWebView2Environment13_Vtbl {
14498 pub const fn new<Identity: ICoreWebView2Environment13_Impl, const OFFSET: isize>() -> Self {
14499 unsafe extern "system" fn GetProcessExtendedInfos<
14500 Identity: ICoreWebView2Environment13_Impl,
14501 const OFFSET: isize,
14502 >(
14503 this: *mut core::ffi::c_void,
14504 handler: *mut core::ffi::c_void,
14505 ) -> windows_core::HRESULT {
14506 unsafe {
14507 let this: &Identity =
14508 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14509 ICoreWebView2Environment13_Impl::GetProcessExtendedInfos(
14510 this,
14511 core::mem::transmute_copy(&handler),
14512 )
14513 .into()
14514 }
14515 }
14516 Self {
14517 base__: ICoreWebView2Environment12_Vtbl::new::<Identity, OFFSET>(),
14518 GetProcessExtendedInfos: GetProcessExtendedInfos::<Identity, OFFSET>,
14519 }
14520 }
14521 pub fn matches(iid: &windows_core::GUID) -> bool {
14522 iid == &<ICoreWebView2Environment13 as windows_core::Interface>::IID
14523 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14524 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
14525 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
14526 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
14527 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
14528 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
14529 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
14530 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
14531 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
14532 || iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
14533 || iid == &<ICoreWebView2Environment11 as windows_core::Interface>::IID
14534 || iid == &<ICoreWebView2Environment12 as windows_core::Interface>::IID
14535 }
14536}
14537impl windows_core::RuntimeName for ICoreWebView2Environment13 {}
14538windows_core::imp::define_interface!(
14539 ICoreWebView2Environment14,
14540 ICoreWebView2Environment14_Vtbl,
14541 0xa5e9fad9_c875_59da_9bd7_473aa5ca1cef
14542);
14543impl core::ops::Deref for ICoreWebView2Environment14 {
14544 type Target = ICoreWebView2Environment13;
14545 fn deref(&self) -> &Self::Target {
14546 unsafe { core::mem::transmute(self) }
14547 }
14548}
14549windows_core::imp::interface_hierarchy!(
14550 ICoreWebView2Environment14,
14551 windows_core::IUnknown,
14552 ICoreWebView2Environment,
14553 ICoreWebView2Environment2,
14554 ICoreWebView2Environment3,
14555 ICoreWebView2Environment4,
14556 ICoreWebView2Environment5,
14557 ICoreWebView2Environment6,
14558 ICoreWebView2Environment7,
14559 ICoreWebView2Environment8,
14560 ICoreWebView2Environment9,
14561 ICoreWebView2Environment10,
14562 ICoreWebView2Environment11,
14563 ICoreWebView2Environment12,
14564 ICoreWebView2Environment13
14565);
14566impl ICoreWebView2Environment14 {
14567 pub unsafe fn CreateWebFileSystemFileHandle<P0>(
14568 &self,
14569 path: P0,
14570 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14571 ) -> windows_core::Result<ICoreWebView2FileSystemHandle>
14572 where
14573 P0: windows_core::Param<windows_core::PCWSTR>,
14574 {
14575 unsafe {
14576 let mut result__ = core::mem::zeroed();
14577 (windows_core::Interface::vtable(self).CreateWebFileSystemFileHandle)(
14578 windows_core::Interface::as_raw(self),
14579 path.param().abi(),
14580 permission,
14581 &mut result__,
14582 )
14583 .and_then(|| windows_core::Type::from_abi(result__))
14584 }
14585 }
14586 pub unsafe fn CreateWebFileSystemDirectoryHandle<P0>(
14587 &self,
14588 path: P0,
14589 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14590 ) -> windows_core::Result<ICoreWebView2FileSystemHandle>
14591 where
14592 P0: windows_core::Param<windows_core::PCWSTR>,
14593 {
14594 unsafe {
14595 let mut result__ = core::mem::zeroed();
14596 (windows_core::Interface::vtable(self).CreateWebFileSystemDirectoryHandle)(
14597 windows_core::Interface::as_raw(self),
14598 path.param().abi(),
14599 permission,
14600 &mut result__,
14601 )
14602 .and_then(|| windows_core::Type::from_abi(result__))
14603 }
14604 }
14605 pub unsafe fn CreateObjectCollection(
14606 &self,
14607 length: u32,
14608 items: *mut Option<windows_core::IUnknown>,
14609 objectcollection: *mut Option<ICoreWebView2ObjectCollection>,
14610 ) -> windows_core::Result<()> {
14611 unsafe {
14612 (windows_core::Interface::vtable(self).CreateObjectCollection)(
14613 windows_core::Interface::as_raw(self),
14614 length,
14615 core::mem::transmute(items),
14616 core::mem::transmute(objectcollection),
14617 )
14618 .ok()
14619 }
14620 }
14621}
14622#[repr(C)]
14623#[doc(hidden)]
14624pub struct ICoreWebView2Environment14_Vtbl {
14625 pub base__: ICoreWebView2Environment13_Vtbl,
14626 pub CreateWebFileSystemFileHandle: unsafe extern "system" fn(
14627 *mut core::ffi::c_void,
14628 windows_core::PCWSTR,
14629 COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14630 *mut *mut core::ffi::c_void,
14631 ) -> windows_core::HRESULT,
14632 pub CreateWebFileSystemDirectoryHandle: unsafe extern "system" fn(
14633 *mut core::ffi::c_void,
14634 windows_core::PCWSTR,
14635 COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14636 *mut *mut core::ffi::c_void,
14637 ) -> windows_core::HRESULT,
14638 pub CreateObjectCollection: unsafe extern "system" fn(
14639 *mut core::ffi::c_void,
14640 u32,
14641 *mut *mut core::ffi::c_void,
14642 *mut *mut core::ffi::c_void,
14643 ) -> windows_core::HRESULT,
14644}
14645pub trait ICoreWebView2Environment14_Impl: ICoreWebView2Environment13_Impl {
14646 fn CreateWebFileSystemFileHandle(
14647 &self,
14648 path: &windows_core::PCWSTR,
14649 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14650 ) -> windows_core::Result<ICoreWebView2FileSystemHandle>;
14651 fn CreateWebFileSystemDirectoryHandle(
14652 &self,
14653 path: &windows_core::PCWSTR,
14654 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14655 ) -> windows_core::Result<ICoreWebView2FileSystemHandle>;
14656 fn CreateObjectCollection(
14657 &self,
14658 length: u32,
14659 items: windows_core::OutRef<'_, windows_core::IUnknown>,
14660 objectcollection: windows_core::OutRef<'_, ICoreWebView2ObjectCollection>,
14661 ) -> windows_core::Result<()>;
14662}
14663impl ICoreWebView2Environment14_Vtbl {
14664 pub const fn new<Identity: ICoreWebView2Environment14_Impl, const OFFSET: isize>() -> Self {
14665 unsafe extern "system" fn CreateWebFileSystemFileHandle<
14666 Identity: ICoreWebView2Environment14_Impl,
14667 const OFFSET: isize,
14668 >(
14669 this: *mut core::ffi::c_void,
14670 path: windows_core::PCWSTR,
14671 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14672 value: *mut *mut core::ffi::c_void,
14673 ) -> windows_core::HRESULT {
14674 unsafe {
14675 let this: &Identity =
14676 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14677 match ICoreWebView2Environment14_Impl::CreateWebFileSystemFileHandle(
14678 this,
14679 core::mem::transmute(&path),
14680 core::mem::transmute_copy(&permission),
14681 ) {
14682 Ok(ok__) => {
14683 value.write(core::mem::transmute(ok__));
14684 windows_core::HRESULT(0)
14685 }
14686 Err(err) => err.into(),
14687 }
14688 }
14689 }
14690 unsafe extern "system" fn CreateWebFileSystemDirectoryHandle<
14691 Identity: ICoreWebView2Environment14_Impl,
14692 const OFFSET: isize,
14693 >(
14694 this: *mut core::ffi::c_void,
14695 path: windows_core::PCWSTR,
14696 permission: COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
14697 value: *mut *mut core::ffi::c_void,
14698 ) -> windows_core::HRESULT {
14699 unsafe {
14700 let this: &Identity =
14701 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14702 match ICoreWebView2Environment14_Impl::CreateWebFileSystemDirectoryHandle(
14703 this,
14704 core::mem::transmute(&path),
14705 core::mem::transmute_copy(&permission),
14706 ) {
14707 Ok(ok__) => {
14708 value.write(core::mem::transmute(ok__));
14709 windows_core::HRESULT(0)
14710 }
14711 Err(err) => err.into(),
14712 }
14713 }
14714 }
14715 unsafe extern "system" fn CreateObjectCollection<
14716 Identity: ICoreWebView2Environment14_Impl,
14717 const OFFSET: isize,
14718 >(
14719 this: *mut core::ffi::c_void,
14720 length: u32,
14721 items: *mut *mut core::ffi::c_void,
14722 objectcollection: *mut *mut core::ffi::c_void,
14723 ) -> windows_core::HRESULT {
14724 unsafe {
14725 let this: &Identity =
14726 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14727 ICoreWebView2Environment14_Impl::CreateObjectCollection(
14728 this,
14729 core::mem::transmute_copy(&length),
14730 core::mem::transmute_copy(&items),
14731 core::mem::transmute_copy(&objectcollection),
14732 )
14733 .into()
14734 }
14735 }
14736 Self {
14737 base__: ICoreWebView2Environment13_Vtbl::new::<Identity, OFFSET>(),
14738 CreateWebFileSystemFileHandle: CreateWebFileSystemFileHandle::<Identity, OFFSET>,
14739 CreateWebFileSystemDirectoryHandle: CreateWebFileSystemDirectoryHandle::<
14740 Identity,
14741 OFFSET,
14742 >,
14743 CreateObjectCollection: CreateObjectCollection::<Identity, OFFSET>,
14744 }
14745 }
14746 pub fn matches(iid: &windows_core::GUID) -> bool {
14747 iid == &<ICoreWebView2Environment14 as windows_core::Interface>::IID
14748 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14749 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
14750 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
14751 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
14752 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
14753 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
14754 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
14755 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
14756 || iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
14757 || iid == &<ICoreWebView2Environment10 as windows_core::Interface>::IID
14758 || iid == &<ICoreWebView2Environment11 as windows_core::Interface>::IID
14759 || iid == &<ICoreWebView2Environment12 as windows_core::Interface>::IID
14760 || iid == &<ICoreWebView2Environment13 as windows_core::Interface>::IID
14761 }
14762}
14763impl windows_core::RuntimeName for ICoreWebView2Environment14 {}
14764windows_core::imp::define_interface!(
14765 ICoreWebView2Environment2,
14766 ICoreWebView2Environment2_Vtbl,
14767 0x41f3632b_5ef4_404f_ad82_2d606c5a9a21
14768);
14769impl core::ops::Deref for ICoreWebView2Environment2 {
14770 type Target = ICoreWebView2Environment;
14771 fn deref(&self) -> &Self::Target {
14772 unsafe { core::mem::transmute(self) }
14773 }
14774}
14775windows_core::imp::interface_hierarchy!(
14776 ICoreWebView2Environment2,
14777 windows_core::IUnknown,
14778 ICoreWebView2Environment
14779);
14780impl ICoreWebView2Environment2 {
14781 pub unsafe fn CreateWebResourceRequest<P0, P1, P2, P3>(
14782 &self,
14783 uri: P0,
14784 method: P1,
14785 postdata: P2,
14786 headers: P3,
14787 ) -> windows_core::Result<ICoreWebView2WebResourceRequest>
14788 where
14789 P0: windows_core::Param<windows_core::PCWSTR>,
14790 P1: windows_core::Param<windows_core::PCWSTR>,
14791 P2: windows_core::Param<windows::Win32::System::Com::IStream>,
14792 P3: windows_core::Param<windows_core::PCWSTR>,
14793 {
14794 unsafe {
14795 let mut result__ = core::mem::zeroed();
14796 (windows_core::Interface::vtable(self).CreateWebResourceRequest)(
14797 windows_core::Interface::as_raw(self),
14798 uri.param().abi(),
14799 method.param().abi(),
14800 postdata.param().abi(),
14801 headers.param().abi(),
14802 &mut result__,
14803 )
14804 .and_then(|| windows_core::Type::from_abi(result__))
14805 }
14806 }
14807}
14808#[repr(C)]
14809#[doc(hidden)]
14810pub struct ICoreWebView2Environment2_Vtbl {
14811 pub base__: ICoreWebView2Environment_Vtbl,
14812 pub CreateWebResourceRequest: unsafe extern "system" fn(
14813 *mut core::ffi::c_void,
14814 windows_core::PCWSTR,
14815 windows_core::PCWSTR,
14816 *mut core::ffi::c_void,
14817 windows_core::PCWSTR,
14818 *mut *mut core::ffi::c_void,
14819 ) -> windows_core::HRESULT,
14820}
14821pub trait ICoreWebView2Environment2_Impl: ICoreWebView2Environment_Impl {
14822 fn CreateWebResourceRequest(
14823 &self,
14824 uri: &windows_core::PCWSTR,
14825 method: &windows_core::PCWSTR,
14826 postdata: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
14827 headers: &windows_core::PCWSTR,
14828 ) -> windows_core::Result<ICoreWebView2WebResourceRequest>;
14829}
14830impl ICoreWebView2Environment2_Vtbl {
14831 pub const fn new<Identity: ICoreWebView2Environment2_Impl, const OFFSET: isize>() -> Self {
14832 unsafe extern "system" fn CreateWebResourceRequest<
14833 Identity: ICoreWebView2Environment2_Impl,
14834 const OFFSET: isize,
14835 >(
14836 this: *mut core::ffi::c_void,
14837 uri: windows_core::PCWSTR,
14838 method: windows_core::PCWSTR,
14839 postdata: *mut core::ffi::c_void,
14840 headers: windows_core::PCWSTR,
14841 value: *mut *mut core::ffi::c_void,
14842 ) -> windows_core::HRESULT {
14843 unsafe {
14844 let this: &Identity =
14845 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14846 match ICoreWebView2Environment2_Impl::CreateWebResourceRequest(
14847 this,
14848 core::mem::transmute(&uri),
14849 core::mem::transmute(&method),
14850 core::mem::transmute_copy(&postdata),
14851 core::mem::transmute(&headers),
14852 ) {
14853 Ok(ok__) => {
14854 value.write(core::mem::transmute(ok__));
14855 windows_core::HRESULT(0)
14856 }
14857 Err(err) => err.into(),
14858 }
14859 }
14860 }
14861 Self {
14862 base__: ICoreWebView2Environment_Vtbl::new::<Identity, OFFSET>(),
14863 CreateWebResourceRequest: CreateWebResourceRequest::<Identity, OFFSET>,
14864 }
14865 }
14866 pub fn matches(iid: &windows_core::GUID) -> bool {
14867 iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
14868 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
14869 }
14870}
14871impl windows_core::RuntimeName for ICoreWebView2Environment2 {}
14872windows_core::imp::define_interface!(
14873 ICoreWebView2Environment3,
14874 ICoreWebView2Environment3_Vtbl,
14875 0x80a22ae3_be7c_4ce2_afe1_5a50056cdeeb
14876);
14877impl core::ops::Deref for ICoreWebView2Environment3 {
14878 type Target = ICoreWebView2Environment2;
14879 fn deref(&self) -> &Self::Target {
14880 unsafe { core::mem::transmute(self) }
14881 }
14882}
14883windows_core::imp::interface_hierarchy!(
14884 ICoreWebView2Environment3,
14885 windows_core::IUnknown,
14886 ICoreWebView2Environment,
14887 ICoreWebView2Environment2
14888);
14889impl ICoreWebView2Environment3 {
14890 pub unsafe fn CreateCoreWebView2CompositionController<P1>(
14891 &self,
14892 parentwindow: windows::Win32::Foundation::HWND,
14893 handler: P1,
14894 ) -> windows_core::Result<()>
14895 where
14896 P1: windows_core::Param<
14897 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
14898 >,
14899 {
14900 unsafe {
14901 (windows_core::Interface::vtable(self).CreateCoreWebView2CompositionController)(
14902 windows_core::Interface::as_raw(self),
14903 parentwindow,
14904 handler.param().abi(),
14905 )
14906 .ok()
14907 }
14908 }
14909 pub unsafe fn CreateCoreWebView2PointerInfo(
14910 &self,
14911 ) -> windows_core::Result<ICoreWebView2PointerInfo> {
14912 unsafe {
14913 let mut result__ = core::mem::zeroed();
14914 (windows_core::Interface::vtable(self).CreateCoreWebView2PointerInfo)(
14915 windows_core::Interface::as_raw(self),
14916 &mut result__,
14917 )
14918 .and_then(|| windows_core::Type::from_abi(result__))
14919 }
14920 }
14921}
14922#[repr(C)]
14923#[doc(hidden)]
14924pub struct ICoreWebView2Environment3_Vtbl {
14925 pub base__: ICoreWebView2Environment2_Vtbl,
14926 pub CreateCoreWebView2CompositionController: unsafe extern "system" fn(
14927 *mut core::ffi::c_void,
14928 windows::Win32::Foundation::HWND,
14929 *mut core::ffi::c_void,
14930 )
14931 -> windows_core::HRESULT,
14932 pub CreateCoreWebView2PointerInfo: unsafe extern "system" fn(
14933 *mut core::ffi::c_void,
14934 *mut *mut core::ffi::c_void,
14935 ) -> windows_core::HRESULT,
14936}
14937pub trait ICoreWebView2Environment3_Impl: ICoreWebView2Environment2_Impl {
14938 fn CreateCoreWebView2CompositionController(
14939 &self,
14940 parentwindow: windows::Win32::Foundation::HWND,
14941 handler: windows_core::Ref<
14942 '_,
14943 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
14944 >,
14945 ) -> windows_core::Result<()>;
14946 fn CreateCoreWebView2PointerInfo(&self) -> windows_core::Result<ICoreWebView2PointerInfo>;
14947}
14948impl ICoreWebView2Environment3_Vtbl {
14949 pub const fn new<Identity: ICoreWebView2Environment3_Impl, const OFFSET: isize>() -> Self {
14950 unsafe extern "system" fn CreateCoreWebView2CompositionController<
14951 Identity: ICoreWebView2Environment3_Impl,
14952 const OFFSET: isize,
14953 >(
14954 this: *mut core::ffi::c_void,
14955 parentwindow: windows::Win32::Foundation::HWND,
14956 handler: *mut core::ffi::c_void,
14957 ) -> windows_core::HRESULT {
14958 unsafe {
14959 let this: &Identity =
14960 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14961 ICoreWebView2Environment3_Impl::CreateCoreWebView2CompositionController(
14962 this,
14963 core::mem::transmute_copy(&parentwindow),
14964 core::mem::transmute_copy(&handler),
14965 )
14966 .into()
14967 }
14968 }
14969 unsafe extern "system" fn CreateCoreWebView2PointerInfo<
14970 Identity: ICoreWebView2Environment3_Impl,
14971 const OFFSET: isize,
14972 >(
14973 this: *mut core::ffi::c_void,
14974 value: *mut *mut core::ffi::c_void,
14975 ) -> windows_core::HRESULT {
14976 unsafe {
14977 let this: &Identity =
14978 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14979 match ICoreWebView2Environment3_Impl::CreateCoreWebView2PointerInfo(this) {
14980 Ok(ok__) => {
14981 value.write(core::mem::transmute(ok__));
14982 windows_core::HRESULT(0)
14983 }
14984 Err(err) => err.into(),
14985 }
14986 }
14987 }
14988 Self {
14989 base__: ICoreWebView2Environment2_Vtbl::new::<Identity, OFFSET>(),
14990 CreateCoreWebView2CompositionController: CreateCoreWebView2CompositionController::<
14991 Identity,
14992 OFFSET,
14993 >,
14994 CreateCoreWebView2PointerInfo: CreateCoreWebView2PointerInfo::<Identity, OFFSET>,
14995 }
14996 }
14997 pub fn matches(iid: &windows_core::GUID) -> bool {
14998 iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
14999 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15000 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15001 }
15002}
15003impl windows_core::RuntimeName for ICoreWebView2Environment3 {}
15004windows_core::imp::define_interface!(
15005 ICoreWebView2Environment4,
15006 ICoreWebView2Environment4_Vtbl,
15007 0x20944379_6dcf_41d6_a0a0_abc0fc50de0d
15008);
15009impl core::ops::Deref for ICoreWebView2Environment4 {
15010 type Target = ICoreWebView2Environment3;
15011 fn deref(&self) -> &Self::Target {
15012 unsafe { core::mem::transmute(self) }
15013 }
15014}
15015windows_core::imp::interface_hierarchy!(
15016 ICoreWebView2Environment4,
15017 windows_core::IUnknown,
15018 ICoreWebView2Environment,
15019 ICoreWebView2Environment2,
15020 ICoreWebView2Environment3
15021);
15022impl ICoreWebView2Environment4 {
15023 pub unsafe fn GetAutomationProviderForWindow(
15024 &self,
15025 hwnd: windows::Win32::Foundation::HWND,
15026 ) -> windows_core::Result<windows_core::IUnknown> {
15027 unsafe {
15028 let mut result__ = core::mem::zeroed();
15029 (windows_core::Interface::vtable(self).GetAutomationProviderForWindow)(
15030 windows_core::Interface::as_raw(self),
15031 hwnd,
15032 &mut result__,
15033 )
15034 .and_then(|| windows_core::Type::from_abi(result__))
15035 }
15036 }
15037}
15038#[repr(C)]
15039#[doc(hidden)]
15040pub struct ICoreWebView2Environment4_Vtbl {
15041 pub base__: ICoreWebView2Environment3_Vtbl,
15042 pub GetAutomationProviderForWindow: unsafe extern "system" fn(
15043 *mut core::ffi::c_void,
15044 windows::Win32::Foundation::HWND,
15045 *mut *mut core::ffi::c_void,
15046 ) -> windows_core::HRESULT,
15047}
15048pub trait ICoreWebView2Environment4_Impl: ICoreWebView2Environment3_Impl {
15049 fn GetAutomationProviderForWindow(
15050 &self,
15051 hwnd: windows::Win32::Foundation::HWND,
15052 ) -> windows_core::Result<windows_core::IUnknown>;
15053}
15054impl ICoreWebView2Environment4_Vtbl {
15055 pub const fn new<Identity: ICoreWebView2Environment4_Impl, const OFFSET: isize>() -> Self {
15056 unsafe extern "system" fn GetAutomationProviderForWindow<
15057 Identity: ICoreWebView2Environment4_Impl,
15058 const OFFSET: isize,
15059 >(
15060 this: *mut core::ffi::c_void,
15061 hwnd: windows::Win32::Foundation::HWND,
15062 value: *mut *mut core::ffi::c_void,
15063 ) -> windows_core::HRESULT {
15064 unsafe {
15065 let this: &Identity =
15066 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15067 match ICoreWebView2Environment4_Impl::GetAutomationProviderForWindow(
15068 this,
15069 core::mem::transmute_copy(&hwnd),
15070 ) {
15071 Ok(ok__) => {
15072 value.write(core::mem::transmute(ok__));
15073 windows_core::HRESULT(0)
15074 }
15075 Err(err) => err.into(),
15076 }
15077 }
15078 }
15079 Self {
15080 base__: ICoreWebView2Environment3_Vtbl::new::<Identity, OFFSET>(),
15081 GetAutomationProviderForWindow: GetAutomationProviderForWindow::<Identity, OFFSET>,
15082 }
15083 }
15084 pub fn matches(iid: &windows_core::GUID) -> bool {
15085 iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15086 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15087 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15088 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15089 }
15090}
15091impl windows_core::RuntimeName for ICoreWebView2Environment4 {}
15092windows_core::imp::define_interface!(
15093 ICoreWebView2Environment5,
15094 ICoreWebView2Environment5_Vtbl,
15095 0x319e423d_e0d7_4b8d_9254_ae9475de9b17
15096);
15097impl core::ops::Deref for ICoreWebView2Environment5 {
15098 type Target = ICoreWebView2Environment4;
15099 fn deref(&self) -> &Self::Target {
15100 unsafe { core::mem::transmute(self) }
15101 }
15102}
15103windows_core::imp::interface_hierarchy!(
15104 ICoreWebView2Environment5,
15105 windows_core::IUnknown,
15106 ICoreWebView2Environment,
15107 ICoreWebView2Environment2,
15108 ICoreWebView2Environment3,
15109 ICoreWebView2Environment4
15110);
15111impl ICoreWebView2Environment5 {
15112 pub unsafe fn add_BrowserProcessExited<P0>(
15113 &self,
15114 eventhandler: P0,
15115 token: *mut i64,
15116 ) -> windows_core::Result<()>
15117 where
15118 P0: windows_core::Param<ICoreWebView2BrowserProcessExitedEventHandler>,
15119 {
15120 unsafe {
15121 (windows_core::Interface::vtable(self).add_BrowserProcessExited)(
15122 windows_core::Interface::as_raw(self),
15123 eventhandler.param().abi(),
15124 token as _,
15125 )
15126 .ok()
15127 }
15128 }
15129 pub unsafe fn remove_BrowserProcessExited(&self, token: i64) -> windows_core::Result<()> {
15130 unsafe {
15131 (windows_core::Interface::vtable(self).remove_BrowserProcessExited)(
15132 windows_core::Interface::as_raw(self),
15133 token,
15134 )
15135 .ok()
15136 }
15137 }
15138}
15139#[repr(C)]
15140#[doc(hidden)]
15141pub struct ICoreWebView2Environment5_Vtbl {
15142 pub base__: ICoreWebView2Environment4_Vtbl,
15143 pub add_BrowserProcessExited: unsafe extern "system" fn(
15144 *mut core::ffi::c_void,
15145 *mut core::ffi::c_void,
15146 *mut i64,
15147 ) -> windows_core::HRESULT,
15148 pub remove_BrowserProcessExited:
15149 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
15150}
15151pub trait ICoreWebView2Environment5_Impl: ICoreWebView2Environment4_Impl {
15152 fn add_BrowserProcessExited(
15153 &self,
15154 eventhandler: windows_core::Ref<'_, ICoreWebView2BrowserProcessExitedEventHandler>,
15155 token: *mut i64,
15156 ) -> windows_core::Result<()>;
15157 fn remove_BrowserProcessExited(&self, token: i64) -> windows_core::Result<()>;
15158}
15159impl ICoreWebView2Environment5_Vtbl {
15160 pub const fn new<Identity: ICoreWebView2Environment5_Impl, const OFFSET: isize>() -> Self {
15161 unsafe extern "system" fn add_BrowserProcessExited<
15162 Identity: ICoreWebView2Environment5_Impl,
15163 const OFFSET: isize,
15164 >(
15165 this: *mut core::ffi::c_void,
15166 eventhandler: *mut core::ffi::c_void,
15167 token: *mut i64,
15168 ) -> windows_core::HRESULT {
15169 unsafe {
15170 let this: &Identity =
15171 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15172 ICoreWebView2Environment5_Impl::add_BrowserProcessExited(
15173 this,
15174 core::mem::transmute_copy(&eventhandler),
15175 core::mem::transmute_copy(&token),
15176 )
15177 .into()
15178 }
15179 }
15180 unsafe extern "system" fn remove_BrowserProcessExited<
15181 Identity: ICoreWebView2Environment5_Impl,
15182 const OFFSET: isize,
15183 >(
15184 this: *mut core::ffi::c_void,
15185 token: i64,
15186 ) -> windows_core::HRESULT {
15187 unsafe {
15188 let this: &Identity =
15189 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15190 ICoreWebView2Environment5_Impl::remove_BrowserProcessExited(
15191 this,
15192 core::mem::transmute_copy(&token),
15193 )
15194 .into()
15195 }
15196 }
15197 Self {
15198 base__: ICoreWebView2Environment4_Vtbl::new::<Identity, OFFSET>(),
15199 add_BrowserProcessExited: add_BrowserProcessExited::<Identity, OFFSET>,
15200 remove_BrowserProcessExited: remove_BrowserProcessExited::<Identity, OFFSET>,
15201 }
15202 }
15203 pub fn matches(iid: &windows_core::GUID) -> bool {
15204 iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15205 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15206 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15207 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15208 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15209 }
15210}
15211impl windows_core::RuntimeName for ICoreWebView2Environment5 {}
15212windows_core::imp::define_interface!(
15213 ICoreWebView2Environment6,
15214 ICoreWebView2Environment6_Vtbl,
15215 0xe59ee362_acbd_4857_9a8e_d3644d9459a9
15216);
15217impl core::ops::Deref for ICoreWebView2Environment6 {
15218 type Target = ICoreWebView2Environment5;
15219 fn deref(&self) -> &Self::Target {
15220 unsafe { core::mem::transmute(self) }
15221 }
15222}
15223windows_core::imp::interface_hierarchy!(
15224 ICoreWebView2Environment6,
15225 windows_core::IUnknown,
15226 ICoreWebView2Environment,
15227 ICoreWebView2Environment2,
15228 ICoreWebView2Environment3,
15229 ICoreWebView2Environment4,
15230 ICoreWebView2Environment5
15231);
15232impl ICoreWebView2Environment6 {
15233 pub unsafe fn CreatePrintSettings(&self) -> windows_core::Result<ICoreWebView2PrintSettings> {
15234 unsafe {
15235 let mut result__ = core::mem::zeroed();
15236 (windows_core::Interface::vtable(self).CreatePrintSettings)(
15237 windows_core::Interface::as_raw(self),
15238 &mut result__,
15239 )
15240 .and_then(|| windows_core::Type::from_abi(result__))
15241 }
15242 }
15243}
15244#[repr(C)]
15245#[doc(hidden)]
15246pub struct ICoreWebView2Environment6_Vtbl {
15247 pub base__: ICoreWebView2Environment5_Vtbl,
15248 pub CreatePrintSettings: unsafe extern "system" fn(
15249 *mut core::ffi::c_void,
15250 *mut *mut core::ffi::c_void,
15251 ) -> windows_core::HRESULT,
15252}
15253pub trait ICoreWebView2Environment6_Impl: ICoreWebView2Environment5_Impl {
15254 fn CreatePrintSettings(&self) -> windows_core::Result<ICoreWebView2PrintSettings>;
15255}
15256impl ICoreWebView2Environment6_Vtbl {
15257 pub const fn new<Identity: ICoreWebView2Environment6_Impl, const OFFSET: isize>() -> Self {
15258 unsafe extern "system" fn CreatePrintSettings<
15259 Identity: ICoreWebView2Environment6_Impl,
15260 const OFFSET: isize,
15261 >(
15262 this: *mut core::ffi::c_void,
15263 value: *mut *mut core::ffi::c_void,
15264 ) -> windows_core::HRESULT {
15265 unsafe {
15266 let this: &Identity =
15267 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15268 match ICoreWebView2Environment6_Impl::CreatePrintSettings(this) {
15269 Ok(ok__) => {
15270 value.write(core::mem::transmute(ok__));
15271 windows_core::HRESULT(0)
15272 }
15273 Err(err) => err.into(),
15274 }
15275 }
15276 }
15277 Self {
15278 base__: ICoreWebView2Environment5_Vtbl::new::<Identity, OFFSET>(),
15279 CreatePrintSettings: CreatePrintSettings::<Identity, OFFSET>,
15280 }
15281 }
15282 pub fn matches(iid: &windows_core::GUID) -> bool {
15283 iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
15284 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15285 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15286 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15287 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15288 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15289 }
15290}
15291impl windows_core::RuntimeName for ICoreWebView2Environment6 {}
15292windows_core::imp::define_interface!(
15293 ICoreWebView2Environment7,
15294 ICoreWebView2Environment7_Vtbl,
15295 0x43c22296_3bbd_43a4_9c00_5c0df6dd29a2
15296);
15297impl core::ops::Deref for ICoreWebView2Environment7 {
15298 type Target = ICoreWebView2Environment6;
15299 fn deref(&self) -> &Self::Target {
15300 unsafe { core::mem::transmute(self) }
15301 }
15302}
15303windows_core::imp::interface_hierarchy!(
15304 ICoreWebView2Environment7,
15305 windows_core::IUnknown,
15306 ICoreWebView2Environment,
15307 ICoreWebView2Environment2,
15308 ICoreWebView2Environment3,
15309 ICoreWebView2Environment4,
15310 ICoreWebView2Environment5,
15311 ICoreWebView2Environment6
15312);
15313impl ICoreWebView2Environment7 {
15314 pub unsafe fn UserDataFolder(
15315 &self,
15316 value: *mut windows_core::PWSTR,
15317 ) -> windows_core::Result<()> {
15318 unsafe {
15319 (windows_core::Interface::vtable(self).UserDataFolder)(
15320 windows_core::Interface::as_raw(self),
15321 value as _,
15322 )
15323 .ok()
15324 }
15325 }
15326}
15327#[repr(C)]
15328#[doc(hidden)]
15329pub struct ICoreWebView2Environment7_Vtbl {
15330 pub base__: ICoreWebView2Environment6_Vtbl,
15331 pub UserDataFolder: unsafe extern "system" fn(
15332 *mut core::ffi::c_void,
15333 *mut windows_core::PWSTR,
15334 ) -> windows_core::HRESULT,
15335}
15336pub trait ICoreWebView2Environment7_Impl: ICoreWebView2Environment6_Impl {
15337 fn UserDataFolder(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
15338}
15339impl ICoreWebView2Environment7_Vtbl {
15340 pub const fn new<Identity: ICoreWebView2Environment7_Impl, const OFFSET: isize>() -> Self {
15341 unsafe extern "system" fn UserDataFolder<
15342 Identity: ICoreWebView2Environment7_Impl,
15343 const OFFSET: isize,
15344 >(
15345 this: *mut core::ffi::c_void,
15346 value: *mut windows_core::PWSTR,
15347 ) -> windows_core::HRESULT {
15348 unsafe {
15349 let this: &Identity =
15350 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15351 ICoreWebView2Environment7_Impl::UserDataFolder(
15352 this,
15353 core::mem::transmute_copy(&value),
15354 )
15355 .into()
15356 }
15357 }
15358 Self {
15359 base__: ICoreWebView2Environment6_Vtbl::new::<Identity, OFFSET>(),
15360 UserDataFolder: UserDataFolder::<Identity, OFFSET>,
15361 }
15362 }
15363 pub fn matches(iid: &windows_core::GUID) -> bool {
15364 iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
15365 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15366 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15367 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15368 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15369 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15370 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
15371 }
15372}
15373impl windows_core::RuntimeName for ICoreWebView2Environment7 {}
15374windows_core::imp::define_interface!(
15375 ICoreWebView2Environment8,
15376 ICoreWebView2Environment8_Vtbl,
15377 0xd6eb91dd_c3d2_45e5_bd29_6dc2bc4de9cf
15378);
15379impl core::ops::Deref for ICoreWebView2Environment8 {
15380 type Target = ICoreWebView2Environment7;
15381 fn deref(&self) -> &Self::Target {
15382 unsafe { core::mem::transmute(self) }
15383 }
15384}
15385windows_core::imp::interface_hierarchy!(
15386 ICoreWebView2Environment8,
15387 windows_core::IUnknown,
15388 ICoreWebView2Environment,
15389 ICoreWebView2Environment2,
15390 ICoreWebView2Environment3,
15391 ICoreWebView2Environment4,
15392 ICoreWebView2Environment5,
15393 ICoreWebView2Environment6,
15394 ICoreWebView2Environment7
15395);
15396impl ICoreWebView2Environment8 {
15397 pub unsafe fn add_ProcessInfosChanged<P0>(
15398 &self,
15399 eventhandler: P0,
15400 token: *mut i64,
15401 ) -> windows_core::Result<()>
15402 where
15403 P0: windows_core::Param<ICoreWebView2ProcessInfosChangedEventHandler>,
15404 {
15405 unsafe {
15406 (windows_core::Interface::vtable(self).add_ProcessInfosChanged)(
15407 windows_core::Interface::as_raw(self),
15408 eventhandler.param().abi(),
15409 token as _,
15410 )
15411 .ok()
15412 }
15413 }
15414 pub unsafe fn remove_ProcessInfosChanged(&self, token: i64) -> windows_core::Result<()> {
15415 unsafe {
15416 (windows_core::Interface::vtable(self).remove_ProcessInfosChanged)(
15417 windows_core::Interface::as_raw(self),
15418 token,
15419 )
15420 .ok()
15421 }
15422 }
15423 pub unsafe fn GetProcessInfos(
15424 &self,
15425 ) -> windows_core::Result<ICoreWebView2ProcessInfoCollection> {
15426 unsafe {
15427 let mut result__ = core::mem::zeroed();
15428 (windows_core::Interface::vtable(self).GetProcessInfos)(
15429 windows_core::Interface::as_raw(self),
15430 &mut result__,
15431 )
15432 .and_then(|| windows_core::Type::from_abi(result__))
15433 }
15434 }
15435}
15436#[repr(C)]
15437#[doc(hidden)]
15438pub struct ICoreWebView2Environment8_Vtbl {
15439 pub base__: ICoreWebView2Environment7_Vtbl,
15440 pub add_ProcessInfosChanged: unsafe extern "system" fn(
15441 *mut core::ffi::c_void,
15442 *mut core::ffi::c_void,
15443 *mut i64,
15444 ) -> windows_core::HRESULT,
15445 pub remove_ProcessInfosChanged:
15446 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
15447 pub GetProcessInfos: unsafe extern "system" fn(
15448 *mut core::ffi::c_void,
15449 *mut *mut core::ffi::c_void,
15450 ) -> windows_core::HRESULT,
15451}
15452pub trait ICoreWebView2Environment8_Impl: ICoreWebView2Environment7_Impl {
15453 fn add_ProcessInfosChanged(
15454 &self,
15455 eventhandler: windows_core::Ref<'_, ICoreWebView2ProcessInfosChangedEventHandler>,
15456 token: *mut i64,
15457 ) -> windows_core::Result<()>;
15458 fn remove_ProcessInfosChanged(&self, token: i64) -> windows_core::Result<()>;
15459 fn GetProcessInfos(&self) -> windows_core::Result<ICoreWebView2ProcessInfoCollection>;
15460}
15461impl ICoreWebView2Environment8_Vtbl {
15462 pub const fn new<Identity: ICoreWebView2Environment8_Impl, const OFFSET: isize>() -> Self {
15463 unsafe extern "system" fn add_ProcessInfosChanged<
15464 Identity: ICoreWebView2Environment8_Impl,
15465 const OFFSET: isize,
15466 >(
15467 this: *mut core::ffi::c_void,
15468 eventhandler: *mut core::ffi::c_void,
15469 token: *mut i64,
15470 ) -> windows_core::HRESULT {
15471 unsafe {
15472 let this: &Identity =
15473 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15474 ICoreWebView2Environment8_Impl::add_ProcessInfosChanged(
15475 this,
15476 core::mem::transmute_copy(&eventhandler),
15477 core::mem::transmute_copy(&token),
15478 )
15479 .into()
15480 }
15481 }
15482 unsafe extern "system" fn remove_ProcessInfosChanged<
15483 Identity: ICoreWebView2Environment8_Impl,
15484 const OFFSET: isize,
15485 >(
15486 this: *mut core::ffi::c_void,
15487 token: i64,
15488 ) -> windows_core::HRESULT {
15489 unsafe {
15490 let this: &Identity =
15491 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15492 ICoreWebView2Environment8_Impl::remove_ProcessInfosChanged(
15493 this,
15494 core::mem::transmute_copy(&token),
15495 )
15496 .into()
15497 }
15498 }
15499 unsafe extern "system" fn GetProcessInfos<
15500 Identity: ICoreWebView2Environment8_Impl,
15501 const OFFSET: isize,
15502 >(
15503 this: *mut core::ffi::c_void,
15504 value: *mut *mut core::ffi::c_void,
15505 ) -> windows_core::HRESULT {
15506 unsafe {
15507 let this: &Identity =
15508 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15509 match ICoreWebView2Environment8_Impl::GetProcessInfos(this) {
15510 Ok(ok__) => {
15511 value.write(core::mem::transmute(ok__));
15512 windows_core::HRESULT(0)
15513 }
15514 Err(err) => err.into(),
15515 }
15516 }
15517 }
15518 Self {
15519 base__: ICoreWebView2Environment7_Vtbl::new::<Identity, OFFSET>(),
15520 add_ProcessInfosChanged: add_ProcessInfosChanged::<Identity, OFFSET>,
15521 remove_ProcessInfosChanged: remove_ProcessInfosChanged::<Identity, OFFSET>,
15522 GetProcessInfos: GetProcessInfos::<Identity, OFFSET>,
15523 }
15524 }
15525 pub fn matches(iid: &windows_core::GUID) -> bool {
15526 iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
15527 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15528 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15529 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15530 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15531 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15532 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
15533 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
15534 }
15535}
15536impl windows_core::RuntimeName for ICoreWebView2Environment8 {}
15537windows_core::imp::define_interface!(
15538 ICoreWebView2Environment9,
15539 ICoreWebView2Environment9_Vtbl,
15540 0xf06f41bf_4b5a_49d8_b9f6_fa16cd29f274
15541);
15542impl core::ops::Deref for ICoreWebView2Environment9 {
15543 type Target = ICoreWebView2Environment8;
15544 fn deref(&self) -> &Self::Target {
15545 unsafe { core::mem::transmute(self) }
15546 }
15547}
15548windows_core::imp::interface_hierarchy!(
15549 ICoreWebView2Environment9,
15550 windows_core::IUnknown,
15551 ICoreWebView2Environment,
15552 ICoreWebView2Environment2,
15553 ICoreWebView2Environment3,
15554 ICoreWebView2Environment4,
15555 ICoreWebView2Environment5,
15556 ICoreWebView2Environment6,
15557 ICoreWebView2Environment7,
15558 ICoreWebView2Environment8
15559);
15560impl ICoreWebView2Environment9 {
15561 pub unsafe fn CreateContextMenuItem<P0, P1>(
15562 &self,
15563 label: P0,
15564 iconstream: P1,
15565 kind: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
15566 ) -> windows_core::Result<ICoreWebView2ContextMenuItem>
15567 where
15568 P0: windows_core::Param<windows_core::PCWSTR>,
15569 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
15570 {
15571 unsafe {
15572 let mut result__ = core::mem::zeroed();
15573 (windows_core::Interface::vtable(self).CreateContextMenuItem)(
15574 windows_core::Interface::as_raw(self),
15575 label.param().abi(),
15576 iconstream.param().abi(),
15577 kind,
15578 &mut result__,
15579 )
15580 .and_then(|| windows_core::Type::from_abi(result__))
15581 }
15582 }
15583}
15584#[repr(C)]
15585#[doc(hidden)]
15586pub struct ICoreWebView2Environment9_Vtbl {
15587 pub base__: ICoreWebView2Environment8_Vtbl,
15588 pub CreateContextMenuItem: unsafe extern "system" fn(
15589 *mut core::ffi::c_void,
15590 windows_core::PCWSTR,
15591 *mut core::ffi::c_void,
15592 COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
15593 *mut *mut core::ffi::c_void,
15594 ) -> windows_core::HRESULT,
15595}
15596pub trait ICoreWebView2Environment9_Impl: ICoreWebView2Environment8_Impl {
15597 fn CreateContextMenuItem(
15598 &self,
15599 label: &windows_core::PCWSTR,
15600 iconstream: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
15601 kind: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
15602 ) -> windows_core::Result<ICoreWebView2ContextMenuItem>;
15603}
15604impl ICoreWebView2Environment9_Vtbl {
15605 pub const fn new<Identity: ICoreWebView2Environment9_Impl, const OFFSET: isize>() -> Self {
15606 unsafe extern "system" fn CreateContextMenuItem<
15607 Identity: ICoreWebView2Environment9_Impl,
15608 const OFFSET: isize,
15609 >(
15610 this: *mut core::ffi::c_void,
15611 label: windows_core::PCWSTR,
15612 iconstream: *mut core::ffi::c_void,
15613 kind: COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND,
15614 value: *mut *mut core::ffi::c_void,
15615 ) -> windows_core::HRESULT {
15616 unsafe {
15617 let this: &Identity =
15618 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15619 match ICoreWebView2Environment9_Impl::CreateContextMenuItem(
15620 this,
15621 core::mem::transmute(&label),
15622 core::mem::transmute_copy(&iconstream),
15623 core::mem::transmute_copy(&kind),
15624 ) {
15625 Ok(ok__) => {
15626 value.write(core::mem::transmute(ok__));
15627 windows_core::HRESULT(0)
15628 }
15629 Err(err) => err.into(),
15630 }
15631 }
15632 }
15633 Self {
15634 base__: ICoreWebView2Environment8_Vtbl::new::<Identity, OFFSET>(),
15635 CreateContextMenuItem: CreateContextMenuItem::<Identity, OFFSET>,
15636 }
15637 }
15638 pub fn matches(iid: &windows_core::GUID) -> bool {
15639 iid == &<ICoreWebView2Environment9 as windows_core::Interface>::IID
15640 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
15641 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
15642 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
15643 || iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
15644 || iid == &<ICoreWebView2Environment5 as windows_core::Interface>::IID
15645 || iid == &<ICoreWebView2Environment6 as windows_core::Interface>::IID
15646 || iid == &<ICoreWebView2Environment7 as windows_core::Interface>::IID
15647 || iid == &<ICoreWebView2Environment8 as windows_core::Interface>::IID
15648 }
15649}
15650impl windows_core::RuntimeName for ICoreWebView2Environment9 {}
15651windows_core::imp::define_interface!(
15652 ICoreWebView2EnvironmentOptions,
15653 ICoreWebView2EnvironmentOptions_Vtbl,
15654 0x2fde08a8_1e9a_4766_8c05_95a9ceb9d1c5
15655);
15656windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions, windows_core::IUnknown);
15657impl ICoreWebView2EnvironmentOptions {
15658 pub unsafe fn AdditionalBrowserArguments(
15659 &self,
15660 value: *mut windows_core::PWSTR,
15661 ) -> windows_core::Result<()> {
15662 unsafe {
15663 (windows_core::Interface::vtable(self).AdditionalBrowserArguments)(
15664 windows_core::Interface::as_raw(self),
15665 value as _,
15666 )
15667 .ok()
15668 }
15669 }
15670 pub unsafe fn SetAdditionalBrowserArguments<P0>(&self, value: P0) -> windows_core::Result<()>
15671 where
15672 P0: windows_core::Param<windows_core::PCWSTR>,
15673 {
15674 unsafe {
15675 (windows_core::Interface::vtable(self).SetAdditionalBrowserArguments)(
15676 windows_core::Interface::as_raw(self),
15677 value.param().abi(),
15678 )
15679 .ok()
15680 }
15681 }
15682 pub unsafe fn Language(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
15683 unsafe {
15684 (windows_core::Interface::vtable(self).Language)(
15685 windows_core::Interface::as_raw(self),
15686 value as _,
15687 )
15688 .ok()
15689 }
15690 }
15691 pub unsafe fn SetLanguage<P0>(&self, value: P0) -> windows_core::Result<()>
15692 where
15693 P0: windows_core::Param<windows_core::PCWSTR>,
15694 {
15695 unsafe {
15696 (windows_core::Interface::vtable(self).SetLanguage)(
15697 windows_core::Interface::as_raw(self),
15698 value.param().abi(),
15699 )
15700 .ok()
15701 }
15702 }
15703 pub unsafe fn TargetCompatibleBrowserVersion(
15704 &self,
15705 value: *mut windows_core::PWSTR,
15706 ) -> windows_core::Result<()> {
15707 unsafe {
15708 (windows_core::Interface::vtable(self).TargetCompatibleBrowserVersion)(
15709 windows_core::Interface::as_raw(self),
15710 value as _,
15711 )
15712 .ok()
15713 }
15714 }
15715 pub unsafe fn SetTargetCompatibleBrowserVersion<P0>(
15716 &self,
15717 value: P0,
15718 ) -> windows_core::Result<()>
15719 where
15720 P0: windows_core::Param<windows_core::PCWSTR>,
15721 {
15722 unsafe {
15723 (windows_core::Interface::vtable(self).SetTargetCompatibleBrowserVersion)(
15724 windows_core::Interface::as_raw(self),
15725 value.param().abi(),
15726 )
15727 .ok()
15728 }
15729 }
15730 pub unsafe fn AllowSingleSignOnUsingOSPrimaryAccount(
15731 &self,
15732 allow: *mut windows_core::BOOL,
15733 ) -> windows_core::Result<()> {
15734 unsafe {
15735 (windows_core::Interface::vtable(self).AllowSingleSignOnUsingOSPrimaryAccount)(
15736 windows_core::Interface::as_raw(self),
15737 allow as _,
15738 )
15739 .ok()
15740 }
15741 }
15742 pub unsafe fn SetAllowSingleSignOnUsingOSPrimaryAccount(
15743 &self,
15744 allow: bool,
15745 ) -> windows_core::Result<()> {
15746 unsafe {
15747 (windows_core::Interface::vtable(self).SetAllowSingleSignOnUsingOSPrimaryAccount)(
15748 windows_core::Interface::as_raw(self),
15749 allow.into(),
15750 )
15751 .ok()
15752 }
15753 }
15754}
15755#[repr(C)]
15756#[doc(hidden)]
15757pub struct ICoreWebView2EnvironmentOptions_Vtbl {
15758 pub base__: windows_core::IUnknown_Vtbl,
15759 pub AdditionalBrowserArguments: unsafe extern "system" fn(
15760 *mut core::ffi::c_void,
15761 *mut windows_core::PWSTR,
15762 ) -> windows_core::HRESULT,
15763 pub SetAdditionalBrowserArguments: unsafe extern "system" fn(
15764 *mut core::ffi::c_void,
15765 windows_core::PCWSTR,
15766 ) -> windows_core::HRESULT,
15767 pub Language: unsafe extern "system" fn(
15768 *mut core::ffi::c_void,
15769 *mut windows_core::PWSTR,
15770 ) -> windows_core::HRESULT,
15771 pub SetLanguage: unsafe extern "system" fn(
15772 *mut core::ffi::c_void,
15773 windows_core::PCWSTR,
15774 ) -> windows_core::HRESULT,
15775 pub TargetCompatibleBrowserVersion: unsafe extern "system" fn(
15776 *mut core::ffi::c_void,
15777 *mut windows_core::PWSTR,
15778 ) -> windows_core::HRESULT,
15779 pub SetTargetCompatibleBrowserVersion: unsafe extern "system" fn(
15780 *mut core::ffi::c_void,
15781 windows_core::PCWSTR,
15782 ) -> windows_core::HRESULT,
15783 pub AllowSingleSignOnUsingOSPrimaryAccount: unsafe extern "system" fn(
15784 *mut core::ffi::c_void,
15785 *mut windows_core::BOOL,
15786 )
15787 -> windows_core::HRESULT,
15788 pub SetAllowSingleSignOnUsingOSPrimaryAccount:
15789 unsafe extern "system" fn(
15790 *mut core::ffi::c_void,
15791 windows_core::BOOL,
15792 ) -> windows_core::HRESULT,
15793}
15794pub trait ICoreWebView2EnvironmentOptions_Impl: windows_core::IUnknownImpl {
15795 fn AdditionalBrowserArguments(
15796 &self,
15797 value: *mut windows_core::PWSTR,
15798 ) -> windows_core::Result<()>;
15799 fn SetAdditionalBrowserArguments(
15800 &self,
15801 value: &windows_core::PCWSTR,
15802 ) -> windows_core::Result<()>;
15803 fn Language(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
15804 fn SetLanguage(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
15805 fn TargetCompatibleBrowserVersion(
15806 &self,
15807 value: *mut windows_core::PWSTR,
15808 ) -> windows_core::Result<()>;
15809 fn SetTargetCompatibleBrowserVersion(
15810 &self,
15811 value: &windows_core::PCWSTR,
15812 ) -> windows_core::Result<()>;
15813 fn AllowSingleSignOnUsingOSPrimaryAccount(
15814 &self,
15815 allow: *mut windows_core::BOOL,
15816 ) -> windows_core::Result<()>;
15817 fn SetAllowSingleSignOnUsingOSPrimaryAccount(
15818 &self,
15819 allow: windows_core::BOOL,
15820 ) -> windows_core::Result<()>;
15821}
15822impl ICoreWebView2EnvironmentOptions_Vtbl {
15823 pub const fn new<Identity: ICoreWebView2EnvironmentOptions_Impl, const OFFSET: isize>() -> Self
15824 {
15825 unsafe extern "system" fn AdditionalBrowserArguments<
15826 Identity: ICoreWebView2EnvironmentOptions_Impl,
15827 const OFFSET: isize,
15828 >(
15829 this: *mut core::ffi::c_void,
15830 value: *mut windows_core::PWSTR,
15831 ) -> windows_core::HRESULT {
15832 unsafe {
15833 let this: &Identity =
15834 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15835 ICoreWebView2EnvironmentOptions_Impl::AdditionalBrowserArguments(
15836 this,
15837 core::mem::transmute_copy(&value),
15838 )
15839 .into()
15840 }
15841 }
15842 unsafe extern "system" fn SetAdditionalBrowserArguments<
15843 Identity: ICoreWebView2EnvironmentOptions_Impl,
15844 const OFFSET: isize,
15845 >(
15846 this: *mut core::ffi::c_void,
15847 value: windows_core::PCWSTR,
15848 ) -> windows_core::HRESULT {
15849 unsafe {
15850 let this: &Identity =
15851 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15852 ICoreWebView2EnvironmentOptions_Impl::SetAdditionalBrowserArguments(
15853 this,
15854 core::mem::transmute(&value),
15855 )
15856 .into()
15857 }
15858 }
15859 unsafe extern "system" fn Language<
15860 Identity: ICoreWebView2EnvironmentOptions_Impl,
15861 const OFFSET: isize,
15862 >(
15863 this: *mut core::ffi::c_void,
15864 value: *mut windows_core::PWSTR,
15865 ) -> windows_core::HRESULT {
15866 unsafe {
15867 let this: &Identity =
15868 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15869 ICoreWebView2EnvironmentOptions_Impl::Language(
15870 this,
15871 core::mem::transmute_copy(&value),
15872 )
15873 .into()
15874 }
15875 }
15876 unsafe extern "system" fn SetLanguage<
15877 Identity: ICoreWebView2EnvironmentOptions_Impl,
15878 const OFFSET: isize,
15879 >(
15880 this: *mut core::ffi::c_void,
15881 value: windows_core::PCWSTR,
15882 ) -> windows_core::HRESULT {
15883 unsafe {
15884 let this: &Identity =
15885 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15886 ICoreWebView2EnvironmentOptions_Impl::SetLanguage(
15887 this,
15888 core::mem::transmute(&value),
15889 )
15890 .into()
15891 }
15892 }
15893 unsafe extern "system" fn TargetCompatibleBrowserVersion<
15894 Identity: ICoreWebView2EnvironmentOptions_Impl,
15895 const OFFSET: isize,
15896 >(
15897 this: *mut core::ffi::c_void,
15898 value: *mut windows_core::PWSTR,
15899 ) -> windows_core::HRESULT {
15900 unsafe {
15901 let this: &Identity =
15902 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15903 ICoreWebView2EnvironmentOptions_Impl::TargetCompatibleBrowserVersion(
15904 this,
15905 core::mem::transmute_copy(&value),
15906 )
15907 .into()
15908 }
15909 }
15910 unsafe extern "system" fn SetTargetCompatibleBrowserVersion<
15911 Identity: ICoreWebView2EnvironmentOptions_Impl,
15912 const OFFSET: isize,
15913 >(
15914 this: *mut core::ffi::c_void,
15915 value: windows_core::PCWSTR,
15916 ) -> windows_core::HRESULT {
15917 unsafe {
15918 let this: &Identity =
15919 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15920 ICoreWebView2EnvironmentOptions_Impl::SetTargetCompatibleBrowserVersion(
15921 this,
15922 core::mem::transmute(&value),
15923 )
15924 .into()
15925 }
15926 }
15927 unsafe extern "system" fn AllowSingleSignOnUsingOSPrimaryAccount<
15928 Identity: ICoreWebView2EnvironmentOptions_Impl,
15929 const OFFSET: isize,
15930 >(
15931 this: *mut core::ffi::c_void,
15932 allow: *mut windows_core::BOOL,
15933 ) -> windows_core::HRESULT {
15934 unsafe {
15935 let this: &Identity =
15936 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15937 ICoreWebView2EnvironmentOptions_Impl::AllowSingleSignOnUsingOSPrimaryAccount(
15938 this,
15939 core::mem::transmute_copy(&allow),
15940 )
15941 .into()
15942 }
15943 }
15944 unsafe extern "system" fn SetAllowSingleSignOnUsingOSPrimaryAccount<
15945 Identity: ICoreWebView2EnvironmentOptions_Impl,
15946 const OFFSET: isize,
15947 >(
15948 this: *mut core::ffi::c_void,
15949 allow: windows_core::BOOL,
15950 ) -> windows_core::HRESULT {
15951 unsafe {
15952 let this: &Identity =
15953 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15954 ICoreWebView2EnvironmentOptions_Impl::SetAllowSingleSignOnUsingOSPrimaryAccount(
15955 this,
15956 core::mem::transmute_copy(&allow),
15957 )
15958 .into()
15959 }
15960 }
15961 Self {
15962 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
15963 AdditionalBrowserArguments: AdditionalBrowserArguments::<Identity, OFFSET>,
15964 SetAdditionalBrowserArguments: SetAdditionalBrowserArguments::<Identity, OFFSET>,
15965 Language: Language::<Identity, OFFSET>,
15966 SetLanguage: SetLanguage::<Identity, OFFSET>,
15967 TargetCompatibleBrowserVersion: TargetCompatibleBrowserVersion::<Identity, OFFSET>,
15968 SetTargetCompatibleBrowserVersion: SetTargetCompatibleBrowserVersion::<Identity, OFFSET>,
15969 AllowSingleSignOnUsingOSPrimaryAccount: AllowSingleSignOnUsingOSPrimaryAccount::<
15970 Identity,
15971 OFFSET,
15972 >,
15973 SetAllowSingleSignOnUsingOSPrimaryAccount: SetAllowSingleSignOnUsingOSPrimaryAccount::<
15974 Identity,
15975 OFFSET,
15976 >,
15977 }
15978 }
15979 pub fn matches(iid: &windows_core::GUID) -> bool {
15980 iid == &<ICoreWebView2EnvironmentOptions as windows_core::Interface>::IID
15981 }
15982}
15983impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions {}
15984windows_core::imp::define_interface!(
15985 ICoreWebView2EnvironmentOptions2,
15986 ICoreWebView2EnvironmentOptions2_Vtbl,
15987 0xff85c98a_1ba7_4a6b_90c8_2b752c89e9e2
15988);
15989windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions2, windows_core::IUnknown);
15990impl ICoreWebView2EnvironmentOptions2 {
15991 pub unsafe fn ExclusiveUserDataFolderAccess(
15992 &self,
15993 value: *mut windows_core::BOOL,
15994 ) -> windows_core::Result<()> {
15995 unsafe {
15996 (windows_core::Interface::vtable(self).ExclusiveUserDataFolderAccess)(
15997 windows_core::Interface::as_raw(self),
15998 value as _,
15999 )
16000 .ok()
16001 }
16002 }
16003 pub unsafe fn SetExclusiveUserDataFolderAccess(&self, value: bool) -> windows_core::Result<()> {
16004 unsafe {
16005 (windows_core::Interface::vtable(self).SetExclusiveUserDataFolderAccess)(
16006 windows_core::Interface::as_raw(self),
16007 value.into(),
16008 )
16009 .ok()
16010 }
16011 }
16012}
16013#[repr(C)]
16014#[doc(hidden)]
16015pub struct ICoreWebView2EnvironmentOptions2_Vtbl {
16016 pub base__: windows_core::IUnknown_Vtbl,
16017 pub ExclusiveUserDataFolderAccess: unsafe extern "system" fn(
16018 *mut core::ffi::c_void,
16019 *mut windows_core::BOOL,
16020 ) -> windows_core::HRESULT,
16021 pub SetExclusiveUserDataFolderAccess: unsafe extern "system" fn(
16022 *mut core::ffi::c_void,
16023 windows_core::BOOL,
16024 ) -> windows_core::HRESULT,
16025}
16026pub trait ICoreWebView2EnvironmentOptions2_Impl: windows_core::IUnknownImpl {
16027 fn ExclusiveUserDataFolderAccess(
16028 &self,
16029 value: *mut windows_core::BOOL,
16030 ) -> windows_core::Result<()>;
16031 fn SetExclusiveUserDataFolderAccess(
16032 &self,
16033 value: windows_core::BOOL,
16034 ) -> windows_core::Result<()>;
16035}
16036impl ICoreWebView2EnvironmentOptions2_Vtbl {
16037 pub const fn new<Identity: ICoreWebView2EnvironmentOptions2_Impl, const OFFSET: isize>() -> Self
16038 {
16039 unsafe extern "system" fn ExclusiveUserDataFolderAccess<
16040 Identity: ICoreWebView2EnvironmentOptions2_Impl,
16041 const OFFSET: isize,
16042 >(
16043 this: *mut core::ffi::c_void,
16044 value: *mut windows_core::BOOL,
16045 ) -> windows_core::HRESULT {
16046 unsafe {
16047 let this: &Identity =
16048 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16049 ICoreWebView2EnvironmentOptions2_Impl::ExclusiveUserDataFolderAccess(
16050 this,
16051 core::mem::transmute_copy(&value),
16052 )
16053 .into()
16054 }
16055 }
16056 unsafe extern "system" fn SetExclusiveUserDataFolderAccess<
16057 Identity: ICoreWebView2EnvironmentOptions2_Impl,
16058 const OFFSET: isize,
16059 >(
16060 this: *mut core::ffi::c_void,
16061 value: windows_core::BOOL,
16062 ) -> windows_core::HRESULT {
16063 unsafe {
16064 let this: &Identity =
16065 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16066 ICoreWebView2EnvironmentOptions2_Impl::SetExclusiveUserDataFolderAccess(
16067 this,
16068 core::mem::transmute_copy(&value),
16069 )
16070 .into()
16071 }
16072 }
16073 Self {
16074 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16075 ExclusiveUserDataFolderAccess: ExclusiveUserDataFolderAccess::<Identity, OFFSET>,
16076 SetExclusiveUserDataFolderAccess: SetExclusiveUserDataFolderAccess::<Identity, OFFSET>,
16077 }
16078 }
16079 pub fn matches(iid: &windows_core::GUID) -> bool {
16080 iid == &<ICoreWebView2EnvironmentOptions2 as windows_core::Interface>::IID
16081 }
16082}
16083impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions2 {}
16084windows_core::imp::define_interface!(
16085 ICoreWebView2EnvironmentOptions3,
16086 ICoreWebView2EnvironmentOptions3_Vtbl,
16087 0x4a5c436e_a9e3_4a2e_89c3_910d3513f5cc
16088);
16089windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions3, windows_core::IUnknown);
16090impl ICoreWebView2EnvironmentOptions3 {
16091 pub unsafe fn IsCustomCrashReportingEnabled(
16092 &self,
16093 value: *mut windows_core::BOOL,
16094 ) -> windows_core::Result<()> {
16095 unsafe {
16096 (windows_core::Interface::vtable(self).IsCustomCrashReportingEnabled)(
16097 windows_core::Interface::as_raw(self),
16098 value as _,
16099 )
16100 .ok()
16101 }
16102 }
16103 pub unsafe fn SetIsCustomCrashReportingEnabled(&self, value: bool) -> windows_core::Result<()> {
16104 unsafe {
16105 (windows_core::Interface::vtable(self).SetIsCustomCrashReportingEnabled)(
16106 windows_core::Interface::as_raw(self),
16107 value.into(),
16108 )
16109 .ok()
16110 }
16111 }
16112}
16113#[repr(C)]
16114#[doc(hidden)]
16115pub struct ICoreWebView2EnvironmentOptions3_Vtbl {
16116 pub base__: windows_core::IUnknown_Vtbl,
16117 pub IsCustomCrashReportingEnabled: unsafe extern "system" fn(
16118 *mut core::ffi::c_void,
16119 *mut windows_core::BOOL,
16120 ) -> windows_core::HRESULT,
16121 pub SetIsCustomCrashReportingEnabled: unsafe extern "system" fn(
16122 *mut core::ffi::c_void,
16123 windows_core::BOOL,
16124 ) -> windows_core::HRESULT,
16125}
16126pub trait ICoreWebView2EnvironmentOptions3_Impl: windows_core::IUnknownImpl {
16127 fn IsCustomCrashReportingEnabled(
16128 &self,
16129 value: *mut windows_core::BOOL,
16130 ) -> windows_core::Result<()>;
16131 fn SetIsCustomCrashReportingEnabled(
16132 &self,
16133 value: windows_core::BOOL,
16134 ) -> windows_core::Result<()>;
16135}
16136impl ICoreWebView2EnvironmentOptions3_Vtbl {
16137 pub const fn new<Identity: ICoreWebView2EnvironmentOptions3_Impl, const OFFSET: isize>() -> Self
16138 {
16139 unsafe extern "system" fn IsCustomCrashReportingEnabled<
16140 Identity: ICoreWebView2EnvironmentOptions3_Impl,
16141 const OFFSET: isize,
16142 >(
16143 this: *mut core::ffi::c_void,
16144 value: *mut windows_core::BOOL,
16145 ) -> windows_core::HRESULT {
16146 unsafe {
16147 let this: &Identity =
16148 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16149 ICoreWebView2EnvironmentOptions3_Impl::IsCustomCrashReportingEnabled(
16150 this,
16151 core::mem::transmute_copy(&value),
16152 )
16153 .into()
16154 }
16155 }
16156 unsafe extern "system" fn SetIsCustomCrashReportingEnabled<
16157 Identity: ICoreWebView2EnvironmentOptions3_Impl,
16158 const OFFSET: isize,
16159 >(
16160 this: *mut core::ffi::c_void,
16161 value: windows_core::BOOL,
16162 ) -> windows_core::HRESULT {
16163 unsafe {
16164 let this: &Identity =
16165 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16166 ICoreWebView2EnvironmentOptions3_Impl::SetIsCustomCrashReportingEnabled(
16167 this,
16168 core::mem::transmute_copy(&value),
16169 )
16170 .into()
16171 }
16172 }
16173 Self {
16174 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16175 IsCustomCrashReportingEnabled: IsCustomCrashReportingEnabled::<Identity, OFFSET>,
16176 SetIsCustomCrashReportingEnabled: SetIsCustomCrashReportingEnabled::<Identity, OFFSET>,
16177 }
16178 }
16179 pub fn matches(iid: &windows_core::GUID) -> bool {
16180 iid == &<ICoreWebView2EnvironmentOptions3 as windows_core::Interface>::IID
16181 }
16182}
16183impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions3 {}
16184windows_core::imp::define_interface!(
16185 ICoreWebView2EnvironmentOptions4,
16186 ICoreWebView2EnvironmentOptions4_Vtbl,
16187 0xac52d13f_0d38_475a_9dca_876580d6793e
16188);
16189windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions4, windows_core::IUnknown);
16190impl ICoreWebView2EnvironmentOptions4 {
16191 pub unsafe fn GetCustomSchemeRegistrations(
16192 &self,
16193 count: *mut u32,
16194 schemeregistrations: *mut *mut Option<ICoreWebView2CustomSchemeRegistration>,
16195 ) -> windows_core::Result<()> {
16196 unsafe {
16197 (windows_core::Interface::vtable(self).GetCustomSchemeRegistrations)(
16198 windows_core::Interface::as_raw(self),
16199 count as _,
16200 schemeregistrations as _,
16201 )
16202 .ok()
16203 }
16204 }
16205 pub unsafe fn SetCustomSchemeRegistrations(
16206 &self,
16207 count: u32,
16208 ) -> windows_core::Result<ICoreWebView2CustomSchemeRegistration> {
16209 unsafe {
16210 let mut result__ = core::mem::zeroed();
16211 (windows_core::Interface::vtable(self).SetCustomSchemeRegistrations)(
16212 windows_core::Interface::as_raw(self),
16213 count,
16214 &mut result__,
16215 )
16216 .and_then(|| windows_core::Type::from_abi(result__))
16217 }
16218 }
16219}
16220#[repr(C)]
16221#[doc(hidden)]
16222pub struct ICoreWebView2EnvironmentOptions4_Vtbl {
16223 pub base__: windows_core::IUnknown_Vtbl,
16224 pub GetCustomSchemeRegistrations: unsafe extern "system" fn(
16225 *mut core::ffi::c_void,
16226 *mut u32,
16227 *mut *mut *mut core::ffi::c_void,
16228 ) -> windows_core::HRESULT,
16229 pub SetCustomSchemeRegistrations: unsafe extern "system" fn(
16230 *mut core::ffi::c_void,
16231 u32,
16232 *mut *mut core::ffi::c_void,
16233 ) -> windows_core::HRESULT,
16234}
16235pub trait ICoreWebView2EnvironmentOptions4_Impl: windows_core::IUnknownImpl {
16236 fn GetCustomSchemeRegistrations(
16237 &self,
16238 count: *mut u32,
16239 schemeregistrations: *mut *mut Option<ICoreWebView2CustomSchemeRegistration>,
16240 ) -> windows_core::Result<()>;
16241 fn SetCustomSchemeRegistrations(
16242 &self,
16243 count: u32,
16244 ) -> windows_core::Result<ICoreWebView2CustomSchemeRegistration>;
16245}
16246impl ICoreWebView2EnvironmentOptions4_Vtbl {
16247 pub const fn new<Identity: ICoreWebView2EnvironmentOptions4_Impl, const OFFSET: isize>() -> Self
16248 {
16249 unsafe extern "system" fn GetCustomSchemeRegistrations<
16250 Identity: ICoreWebView2EnvironmentOptions4_Impl,
16251 const OFFSET: isize,
16252 >(
16253 this: *mut core::ffi::c_void,
16254 count: *mut u32,
16255 schemeregistrations: *mut *mut *mut core::ffi::c_void,
16256 ) -> windows_core::HRESULT {
16257 unsafe {
16258 let this: &Identity =
16259 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16260 ICoreWebView2EnvironmentOptions4_Impl::GetCustomSchemeRegistrations(
16261 this,
16262 core::mem::transmute_copy(&count),
16263 core::mem::transmute_copy(&schemeregistrations),
16264 )
16265 .into()
16266 }
16267 }
16268 unsafe extern "system" fn SetCustomSchemeRegistrations<
16269 Identity: ICoreWebView2EnvironmentOptions4_Impl,
16270 const OFFSET: isize,
16271 >(
16272 this: *mut core::ffi::c_void,
16273 count: u32,
16274 schemeregistrations: *mut *mut core::ffi::c_void,
16275 ) -> windows_core::HRESULT {
16276 unsafe {
16277 let this: &Identity =
16278 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16279 match ICoreWebView2EnvironmentOptions4_Impl::SetCustomSchemeRegistrations(
16280 this,
16281 core::mem::transmute_copy(&count),
16282 ) {
16283 Ok(ok__) => {
16284 schemeregistrations.write(core::mem::transmute(ok__));
16285 windows_core::HRESULT(0)
16286 }
16287 Err(err) => err.into(),
16288 }
16289 }
16290 }
16291 Self {
16292 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16293 GetCustomSchemeRegistrations: GetCustomSchemeRegistrations::<Identity, OFFSET>,
16294 SetCustomSchemeRegistrations: SetCustomSchemeRegistrations::<Identity, OFFSET>,
16295 }
16296 }
16297 pub fn matches(iid: &windows_core::GUID) -> bool {
16298 iid == &<ICoreWebView2EnvironmentOptions4 as windows_core::Interface>::IID
16299 }
16300}
16301impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions4 {}
16302windows_core::imp::define_interface!(
16303 ICoreWebView2EnvironmentOptions5,
16304 ICoreWebView2EnvironmentOptions5_Vtbl,
16305 0x0ae35d64_c47f_4464_814e_259c345d1501
16306);
16307windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions5, windows_core::IUnknown);
16308impl ICoreWebView2EnvironmentOptions5 {
16309 pub unsafe fn EnableTrackingPrevention(
16310 &self,
16311 value: *mut windows_core::BOOL,
16312 ) -> windows_core::Result<()> {
16313 unsafe {
16314 (windows_core::Interface::vtable(self).EnableTrackingPrevention)(
16315 windows_core::Interface::as_raw(self),
16316 value as _,
16317 )
16318 .ok()
16319 }
16320 }
16321 pub unsafe fn SetEnableTrackingPrevention(&self, value: bool) -> windows_core::Result<()> {
16322 unsafe {
16323 (windows_core::Interface::vtable(self).SetEnableTrackingPrevention)(
16324 windows_core::Interface::as_raw(self),
16325 value.into(),
16326 )
16327 .ok()
16328 }
16329 }
16330}
16331#[repr(C)]
16332#[doc(hidden)]
16333pub struct ICoreWebView2EnvironmentOptions5_Vtbl {
16334 pub base__: windows_core::IUnknown_Vtbl,
16335 pub EnableTrackingPrevention: unsafe extern "system" fn(
16336 *mut core::ffi::c_void,
16337 *mut windows_core::BOOL,
16338 ) -> windows_core::HRESULT,
16339 pub SetEnableTrackingPrevention: unsafe extern "system" fn(
16340 *mut core::ffi::c_void,
16341 windows_core::BOOL,
16342 ) -> windows_core::HRESULT,
16343}
16344pub trait ICoreWebView2EnvironmentOptions5_Impl: windows_core::IUnknownImpl {
16345 fn EnableTrackingPrevention(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
16346 fn SetEnableTrackingPrevention(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
16347}
16348impl ICoreWebView2EnvironmentOptions5_Vtbl {
16349 pub const fn new<Identity: ICoreWebView2EnvironmentOptions5_Impl, const OFFSET: isize>() -> Self
16350 {
16351 unsafe extern "system" fn EnableTrackingPrevention<
16352 Identity: ICoreWebView2EnvironmentOptions5_Impl,
16353 const OFFSET: isize,
16354 >(
16355 this: *mut core::ffi::c_void,
16356 value: *mut windows_core::BOOL,
16357 ) -> windows_core::HRESULT {
16358 unsafe {
16359 let this: &Identity =
16360 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16361 ICoreWebView2EnvironmentOptions5_Impl::EnableTrackingPrevention(
16362 this,
16363 core::mem::transmute_copy(&value),
16364 )
16365 .into()
16366 }
16367 }
16368 unsafe extern "system" fn SetEnableTrackingPrevention<
16369 Identity: ICoreWebView2EnvironmentOptions5_Impl,
16370 const OFFSET: isize,
16371 >(
16372 this: *mut core::ffi::c_void,
16373 value: windows_core::BOOL,
16374 ) -> windows_core::HRESULT {
16375 unsafe {
16376 let this: &Identity =
16377 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16378 ICoreWebView2EnvironmentOptions5_Impl::SetEnableTrackingPrevention(
16379 this,
16380 core::mem::transmute_copy(&value),
16381 )
16382 .into()
16383 }
16384 }
16385 Self {
16386 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16387 EnableTrackingPrevention: EnableTrackingPrevention::<Identity, OFFSET>,
16388 SetEnableTrackingPrevention: SetEnableTrackingPrevention::<Identity, OFFSET>,
16389 }
16390 }
16391 pub fn matches(iid: &windows_core::GUID) -> bool {
16392 iid == &<ICoreWebView2EnvironmentOptions5 as windows_core::Interface>::IID
16393 }
16394}
16395impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions5 {}
16396windows_core::imp::define_interface!(
16397 ICoreWebView2EnvironmentOptions6,
16398 ICoreWebView2EnvironmentOptions6_Vtbl,
16399 0x57d29cc3_c84f_42a0_b0e2_effbd5e179de
16400);
16401windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions6, windows_core::IUnknown);
16402impl ICoreWebView2EnvironmentOptions6 {
16403 pub unsafe fn AreBrowserExtensionsEnabled(
16404 &self,
16405 value: *mut windows_core::BOOL,
16406 ) -> windows_core::Result<()> {
16407 unsafe {
16408 (windows_core::Interface::vtable(self).AreBrowserExtensionsEnabled)(
16409 windows_core::Interface::as_raw(self),
16410 value as _,
16411 )
16412 .ok()
16413 }
16414 }
16415 pub unsafe fn SetAreBrowserExtensionsEnabled(&self, value: bool) -> windows_core::Result<()> {
16416 unsafe {
16417 (windows_core::Interface::vtable(self).SetAreBrowserExtensionsEnabled)(
16418 windows_core::Interface::as_raw(self),
16419 value.into(),
16420 )
16421 .ok()
16422 }
16423 }
16424}
16425#[repr(C)]
16426#[doc(hidden)]
16427pub struct ICoreWebView2EnvironmentOptions6_Vtbl {
16428 pub base__: windows_core::IUnknown_Vtbl,
16429 pub AreBrowserExtensionsEnabled: unsafe extern "system" fn(
16430 *mut core::ffi::c_void,
16431 *mut windows_core::BOOL,
16432 ) -> windows_core::HRESULT,
16433 pub SetAreBrowserExtensionsEnabled: unsafe extern "system" fn(
16434 *mut core::ffi::c_void,
16435 windows_core::BOOL,
16436 ) -> windows_core::HRESULT,
16437}
16438pub trait ICoreWebView2EnvironmentOptions6_Impl: windows_core::IUnknownImpl {
16439 fn AreBrowserExtensionsEnabled(
16440 &self,
16441 value: *mut windows_core::BOOL,
16442 ) -> windows_core::Result<()>;
16443 fn SetAreBrowserExtensionsEnabled(&self, value: windows_core::BOOL)
16444 -> windows_core::Result<()>;
16445}
16446impl ICoreWebView2EnvironmentOptions6_Vtbl {
16447 pub const fn new<Identity: ICoreWebView2EnvironmentOptions6_Impl, const OFFSET: isize>() -> Self
16448 {
16449 unsafe extern "system" fn AreBrowserExtensionsEnabled<
16450 Identity: ICoreWebView2EnvironmentOptions6_Impl,
16451 const OFFSET: isize,
16452 >(
16453 this: *mut core::ffi::c_void,
16454 value: *mut windows_core::BOOL,
16455 ) -> windows_core::HRESULT {
16456 unsafe {
16457 let this: &Identity =
16458 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16459 ICoreWebView2EnvironmentOptions6_Impl::AreBrowserExtensionsEnabled(
16460 this,
16461 core::mem::transmute_copy(&value),
16462 )
16463 .into()
16464 }
16465 }
16466 unsafe extern "system" fn SetAreBrowserExtensionsEnabled<
16467 Identity: ICoreWebView2EnvironmentOptions6_Impl,
16468 const OFFSET: isize,
16469 >(
16470 this: *mut core::ffi::c_void,
16471 value: windows_core::BOOL,
16472 ) -> windows_core::HRESULT {
16473 unsafe {
16474 let this: &Identity =
16475 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16476 ICoreWebView2EnvironmentOptions6_Impl::SetAreBrowserExtensionsEnabled(
16477 this,
16478 core::mem::transmute_copy(&value),
16479 )
16480 .into()
16481 }
16482 }
16483 Self {
16484 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16485 AreBrowserExtensionsEnabled: AreBrowserExtensionsEnabled::<Identity, OFFSET>,
16486 SetAreBrowserExtensionsEnabled: SetAreBrowserExtensionsEnabled::<Identity, OFFSET>,
16487 }
16488 }
16489 pub fn matches(iid: &windows_core::GUID) -> bool {
16490 iid == &<ICoreWebView2EnvironmentOptions6 as windows_core::Interface>::IID
16491 }
16492}
16493impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions6 {}
16494windows_core::imp::define_interface!(
16495 ICoreWebView2EnvironmentOptions7,
16496 ICoreWebView2EnvironmentOptions7_Vtbl,
16497 0xc48d539f_e39f_441c_ae68_1f66e570bdc5
16498);
16499windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions7, windows_core::IUnknown);
16500impl ICoreWebView2EnvironmentOptions7 {
16501 pub unsafe fn ChannelSearchKind(
16502 &self,
16503 value: *mut COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16504 ) -> windows_core::Result<()> {
16505 unsafe {
16506 (windows_core::Interface::vtable(self).ChannelSearchKind)(
16507 windows_core::Interface::as_raw(self),
16508 value as _,
16509 )
16510 .ok()
16511 }
16512 }
16513 pub unsafe fn SetChannelSearchKind(
16514 &self,
16515 value: COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16516 ) -> windows_core::Result<()> {
16517 unsafe {
16518 (windows_core::Interface::vtable(self).SetChannelSearchKind)(
16519 windows_core::Interface::as_raw(self),
16520 value,
16521 )
16522 .ok()
16523 }
16524 }
16525 pub unsafe fn ReleaseChannels(
16526 &self,
16527 value: *mut COREWEBVIEW2_RELEASE_CHANNELS,
16528 ) -> windows_core::Result<()> {
16529 unsafe {
16530 (windows_core::Interface::vtable(self).ReleaseChannels)(
16531 windows_core::Interface::as_raw(self),
16532 value as _,
16533 )
16534 .ok()
16535 }
16536 }
16537 pub unsafe fn SetReleaseChannels(
16538 &self,
16539 value: COREWEBVIEW2_RELEASE_CHANNELS,
16540 ) -> windows_core::Result<()> {
16541 unsafe {
16542 (windows_core::Interface::vtable(self).SetReleaseChannels)(
16543 windows_core::Interface::as_raw(self),
16544 value,
16545 )
16546 .ok()
16547 }
16548 }
16549}
16550#[repr(C)]
16551#[doc(hidden)]
16552pub struct ICoreWebView2EnvironmentOptions7_Vtbl {
16553 pub base__: windows_core::IUnknown_Vtbl,
16554 pub ChannelSearchKind: unsafe extern "system" fn(
16555 *mut core::ffi::c_void,
16556 *mut COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16557 ) -> windows_core::HRESULT,
16558 pub SetChannelSearchKind: unsafe extern "system" fn(
16559 *mut core::ffi::c_void,
16560 COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16561 ) -> windows_core::HRESULT,
16562 pub ReleaseChannels: unsafe extern "system" fn(
16563 *mut core::ffi::c_void,
16564 *mut COREWEBVIEW2_RELEASE_CHANNELS,
16565 ) -> windows_core::HRESULT,
16566 pub SetReleaseChannels: unsafe extern "system" fn(
16567 *mut core::ffi::c_void,
16568 COREWEBVIEW2_RELEASE_CHANNELS,
16569 ) -> windows_core::HRESULT,
16570}
16571pub trait ICoreWebView2EnvironmentOptions7_Impl: windows_core::IUnknownImpl {
16572 fn ChannelSearchKind(
16573 &self,
16574 value: *mut COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16575 ) -> windows_core::Result<()>;
16576 fn SetChannelSearchKind(
16577 &self,
16578 value: COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16579 ) -> windows_core::Result<()>;
16580 fn ReleaseChannels(
16581 &self,
16582 value: *mut COREWEBVIEW2_RELEASE_CHANNELS,
16583 ) -> windows_core::Result<()>;
16584 fn SetReleaseChannels(&self, value: COREWEBVIEW2_RELEASE_CHANNELS) -> windows_core::Result<()>;
16585}
16586impl ICoreWebView2EnvironmentOptions7_Vtbl {
16587 pub const fn new<Identity: ICoreWebView2EnvironmentOptions7_Impl, const OFFSET: isize>() -> Self
16588 {
16589 unsafe extern "system" fn ChannelSearchKind<
16590 Identity: ICoreWebView2EnvironmentOptions7_Impl,
16591 const OFFSET: isize,
16592 >(
16593 this: *mut core::ffi::c_void,
16594 value: *mut COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16595 ) -> windows_core::HRESULT {
16596 unsafe {
16597 let this: &Identity =
16598 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16599 ICoreWebView2EnvironmentOptions7_Impl::ChannelSearchKind(
16600 this,
16601 core::mem::transmute_copy(&value),
16602 )
16603 .into()
16604 }
16605 }
16606 unsafe extern "system" fn SetChannelSearchKind<
16607 Identity: ICoreWebView2EnvironmentOptions7_Impl,
16608 const OFFSET: isize,
16609 >(
16610 this: *mut core::ffi::c_void,
16611 value: COREWEBVIEW2_CHANNEL_SEARCH_KIND,
16612 ) -> windows_core::HRESULT {
16613 unsafe {
16614 let this: &Identity =
16615 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16616 ICoreWebView2EnvironmentOptions7_Impl::SetChannelSearchKind(
16617 this,
16618 core::mem::transmute_copy(&value),
16619 )
16620 .into()
16621 }
16622 }
16623 unsafe extern "system" fn ReleaseChannels<
16624 Identity: ICoreWebView2EnvironmentOptions7_Impl,
16625 const OFFSET: isize,
16626 >(
16627 this: *mut core::ffi::c_void,
16628 value: *mut COREWEBVIEW2_RELEASE_CHANNELS,
16629 ) -> windows_core::HRESULT {
16630 unsafe {
16631 let this: &Identity =
16632 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16633 ICoreWebView2EnvironmentOptions7_Impl::ReleaseChannels(
16634 this,
16635 core::mem::transmute_copy(&value),
16636 )
16637 .into()
16638 }
16639 }
16640 unsafe extern "system" fn SetReleaseChannels<
16641 Identity: ICoreWebView2EnvironmentOptions7_Impl,
16642 const OFFSET: isize,
16643 >(
16644 this: *mut core::ffi::c_void,
16645 value: COREWEBVIEW2_RELEASE_CHANNELS,
16646 ) -> windows_core::HRESULT {
16647 unsafe {
16648 let this: &Identity =
16649 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16650 ICoreWebView2EnvironmentOptions7_Impl::SetReleaseChannels(
16651 this,
16652 core::mem::transmute_copy(&value),
16653 )
16654 .into()
16655 }
16656 }
16657 Self {
16658 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16659 ChannelSearchKind: ChannelSearchKind::<Identity, OFFSET>,
16660 SetChannelSearchKind: SetChannelSearchKind::<Identity, OFFSET>,
16661 ReleaseChannels: ReleaseChannels::<Identity, OFFSET>,
16662 SetReleaseChannels: SetReleaseChannels::<Identity, OFFSET>,
16663 }
16664 }
16665 pub fn matches(iid: &windows_core::GUID) -> bool {
16666 iid == &<ICoreWebView2EnvironmentOptions7 as windows_core::Interface>::IID
16667 }
16668}
16669impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions7 {}
16670windows_core::imp::define_interface!(
16671 ICoreWebView2EnvironmentOptions8,
16672 ICoreWebView2EnvironmentOptions8_Vtbl,
16673 0x7c7ecf51_e918_5caf_853c_e9a2bcc27775
16674);
16675windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions8, windows_core::IUnknown);
16676impl ICoreWebView2EnvironmentOptions8 {
16677 pub unsafe fn ScrollBarStyle(
16678 &self,
16679 value: *mut COREWEBVIEW2_SCROLLBAR_STYLE,
16680 ) -> windows_core::Result<()> {
16681 unsafe {
16682 (windows_core::Interface::vtable(self).ScrollBarStyle)(
16683 windows_core::Interface::as_raw(self),
16684 value as _,
16685 )
16686 .ok()
16687 }
16688 }
16689 pub unsafe fn SetScrollBarStyle(
16690 &self,
16691 value: COREWEBVIEW2_SCROLLBAR_STYLE,
16692 ) -> windows_core::Result<()> {
16693 unsafe {
16694 (windows_core::Interface::vtable(self).SetScrollBarStyle)(
16695 windows_core::Interface::as_raw(self),
16696 value,
16697 )
16698 .ok()
16699 }
16700 }
16701}
16702#[repr(C)]
16703#[doc(hidden)]
16704pub struct ICoreWebView2EnvironmentOptions8_Vtbl {
16705 pub base__: windows_core::IUnknown_Vtbl,
16706 pub ScrollBarStyle: unsafe extern "system" fn(
16707 *mut core::ffi::c_void,
16708 *mut COREWEBVIEW2_SCROLLBAR_STYLE,
16709 ) -> windows_core::HRESULT,
16710 pub SetScrollBarStyle: unsafe extern "system" fn(
16711 *mut core::ffi::c_void,
16712 COREWEBVIEW2_SCROLLBAR_STYLE,
16713 ) -> windows_core::HRESULT,
16714}
16715pub trait ICoreWebView2EnvironmentOptions8_Impl: windows_core::IUnknownImpl {
16716 fn ScrollBarStyle(&self, value: *mut COREWEBVIEW2_SCROLLBAR_STYLE) -> windows_core::Result<()>;
16717 fn SetScrollBarStyle(&self, value: COREWEBVIEW2_SCROLLBAR_STYLE) -> windows_core::Result<()>;
16718}
16719impl ICoreWebView2EnvironmentOptions8_Vtbl {
16720 pub const fn new<Identity: ICoreWebView2EnvironmentOptions8_Impl, const OFFSET: isize>() -> Self
16721 {
16722 unsafe extern "system" fn ScrollBarStyle<
16723 Identity: ICoreWebView2EnvironmentOptions8_Impl,
16724 const OFFSET: isize,
16725 >(
16726 this: *mut core::ffi::c_void,
16727 value: *mut COREWEBVIEW2_SCROLLBAR_STYLE,
16728 ) -> windows_core::HRESULT {
16729 unsafe {
16730 let this: &Identity =
16731 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16732 ICoreWebView2EnvironmentOptions8_Impl::ScrollBarStyle(
16733 this,
16734 core::mem::transmute_copy(&value),
16735 )
16736 .into()
16737 }
16738 }
16739 unsafe extern "system" fn SetScrollBarStyle<
16740 Identity: ICoreWebView2EnvironmentOptions8_Impl,
16741 const OFFSET: isize,
16742 >(
16743 this: *mut core::ffi::c_void,
16744 value: COREWEBVIEW2_SCROLLBAR_STYLE,
16745 ) -> windows_core::HRESULT {
16746 unsafe {
16747 let this: &Identity =
16748 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16749 ICoreWebView2EnvironmentOptions8_Impl::SetScrollBarStyle(
16750 this,
16751 core::mem::transmute_copy(&value),
16752 )
16753 .into()
16754 }
16755 }
16756 Self {
16757 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16758 ScrollBarStyle: ScrollBarStyle::<Identity, OFFSET>,
16759 SetScrollBarStyle: SetScrollBarStyle::<Identity, OFFSET>,
16760 }
16761 }
16762 pub fn matches(iid: &windows_core::GUID) -> bool {
16763 iid == &<ICoreWebView2EnvironmentOptions8 as windows_core::Interface>::IID
16764 }
16765}
16766impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions8 {}
16767windows_core::imp::define_interface!(
16768 ICoreWebView2EstimatedEndTimeChangedEventHandler,
16769 ICoreWebView2EstimatedEndTimeChangedEventHandler_Vtbl,
16770 0x28f0d425_93fe_4e63_9f8d_2aeec6d3ba1e
16771);
16772windows_core::imp::interface_hierarchy!(
16773 ICoreWebView2EstimatedEndTimeChangedEventHandler,
16774 windows_core::IUnknown
16775);
16776impl ICoreWebView2EstimatedEndTimeChangedEventHandler {
16777 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
16778 where
16779 P0: windows_core::Param<ICoreWebView2DownloadOperation>,
16780 P1: windows_core::Param<windows_core::IUnknown>,
16781 {
16782 unsafe {
16783 (windows_core::Interface::vtable(self).Invoke)(
16784 windows_core::Interface::as_raw(self),
16785 sender.param().abi(),
16786 args.param().abi(),
16787 )
16788 .ok()
16789 }
16790 }
16791}
16792#[repr(C)]
16793#[doc(hidden)]
16794pub struct ICoreWebView2EstimatedEndTimeChangedEventHandler_Vtbl {
16795 pub base__: windows_core::IUnknown_Vtbl,
16796 pub Invoke: unsafe extern "system" fn(
16797 *mut core::ffi::c_void,
16798 *mut core::ffi::c_void,
16799 *mut core::ffi::c_void,
16800 ) -> windows_core::HRESULT,
16801}
16802pub trait ICoreWebView2EstimatedEndTimeChangedEventHandler_Impl:
16803 windows_core::IUnknownImpl
16804{
16805 fn Invoke(
16806 &self,
16807 sender: windows_core::Ref<'_, ICoreWebView2DownloadOperation>,
16808 args: windows_core::Ref<'_, windows_core::IUnknown>,
16809 ) -> windows_core::Result<()>;
16810}
16811impl ICoreWebView2EstimatedEndTimeChangedEventHandler_Vtbl {
16812 pub const fn new<
16813 Identity: ICoreWebView2EstimatedEndTimeChangedEventHandler_Impl,
16814 const OFFSET: isize,
16815 >() -> Self {
16816 unsafe extern "system" fn Invoke<
16817 Identity: ICoreWebView2EstimatedEndTimeChangedEventHandler_Impl,
16818 const OFFSET: isize,
16819 >(
16820 this: *mut core::ffi::c_void,
16821 sender: *mut core::ffi::c_void,
16822 args: *mut core::ffi::c_void,
16823 ) -> windows_core::HRESULT {
16824 unsafe {
16825 let this: &Identity =
16826 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16827 ICoreWebView2EstimatedEndTimeChangedEventHandler_Impl::Invoke(
16828 this,
16829 core::mem::transmute_copy(&sender),
16830 core::mem::transmute_copy(&args),
16831 )
16832 .into()
16833 }
16834 }
16835 Self {
16836 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16837 Invoke: Invoke::<Identity, OFFSET>,
16838 }
16839 }
16840 pub fn matches(iid: &windows_core::GUID) -> bool {
16841 iid == &<ICoreWebView2EstimatedEndTimeChangedEventHandler as windows_core::Interface>::IID
16842 }
16843}
16844impl windows_core::RuntimeName for ICoreWebView2EstimatedEndTimeChangedEventHandler {}
16845windows_core::imp::define_interface!(
16846 ICoreWebView2ExecuteScriptCompletedHandler,
16847 ICoreWebView2ExecuteScriptCompletedHandler_Vtbl,
16848 0x49511172_cc67_4bca_9923_137112f4c4cc
16849);
16850windows_core::imp::interface_hierarchy!(
16851 ICoreWebView2ExecuteScriptCompletedHandler,
16852 windows_core::IUnknown
16853);
16854impl ICoreWebView2ExecuteScriptCompletedHandler {
16855 pub unsafe fn Invoke<P1>(
16856 &self,
16857 errorcode: windows_core::HRESULT,
16858 result: P1,
16859 ) -> windows_core::Result<()>
16860 where
16861 P1: windows_core::Param<windows_core::PCWSTR>,
16862 {
16863 unsafe {
16864 (windows_core::Interface::vtable(self).Invoke)(
16865 windows_core::Interface::as_raw(self),
16866 errorcode,
16867 result.param().abi(),
16868 )
16869 .ok()
16870 }
16871 }
16872}
16873#[repr(C)]
16874#[doc(hidden)]
16875pub struct ICoreWebView2ExecuteScriptCompletedHandler_Vtbl {
16876 pub base__: windows_core::IUnknown_Vtbl,
16877 pub Invoke: unsafe extern "system" fn(
16878 *mut core::ffi::c_void,
16879 windows_core::HRESULT,
16880 windows_core::PCWSTR,
16881 ) -> windows_core::HRESULT,
16882}
16883pub trait ICoreWebView2ExecuteScriptCompletedHandler_Impl: windows_core::IUnknownImpl {
16884 fn Invoke(
16885 &self,
16886 errorcode: windows_core::HRESULT,
16887 result: &windows_core::PCWSTR,
16888 ) -> windows_core::Result<()>;
16889}
16890impl ICoreWebView2ExecuteScriptCompletedHandler_Vtbl {
16891 pub const fn new<
16892 Identity: ICoreWebView2ExecuteScriptCompletedHandler_Impl,
16893 const OFFSET: isize,
16894 >() -> Self {
16895 unsafe extern "system" fn Invoke<
16896 Identity: ICoreWebView2ExecuteScriptCompletedHandler_Impl,
16897 const OFFSET: isize,
16898 >(
16899 this: *mut core::ffi::c_void,
16900 errorcode: windows_core::HRESULT,
16901 result: windows_core::PCWSTR,
16902 ) -> windows_core::HRESULT {
16903 unsafe {
16904 let this: &Identity =
16905 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16906 ICoreWebView2ExecuteScriptCompletedHandler_Impl::Invoke(
16907 this,
16908 core::mem::transmute_copy(&errorcode),
16909 core::mem::transmute(&result),
16910 )
16911 .into()
16912 }
16913 }
16914 Self {
16915 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16916 Invoke: Invoke::<Identity, OFFSET>,
16917 }
16918 }
16919 pub fn matches(iid: &windows_core::GUID) -> bool {
16920 iid == &<ICoreWebView2ExecuteScriptCompletedHandler as windows_core::Interface>::IID
16921 }
16922}
16923impl windows_core::RuntimeName for ICoreWebView2ExecuteScriptCompletedHandler {}
16924windows_core::imp::define_interface!(
16925 ICoreWebView2ExecuteScriptResult,
16926 ICoreWebView2ExecuteScriptResult_Vtbl,
16927 0x0ce15963_3698_4df7_9399_71ed6cdd8c9f
16928);
16929windows_core::imp::interface_hierarchy!(ICoreWebView2ExecuteScriptResult, windows_core::IUnknown);
16930impl ICoreWebView2ExecuteScriptResult {
16931 pub unsafe fn Succeeded(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
16932 unsafe {
16933 (windows_core::Interface::vtable(self).Succeeded)(
16934 windows_core::Interface::as_raw(self),
16935 value as _,
16936 )
16937 .ok()
16938 }
16939 }
16940 pub unsafe fn ResultAsJson(
16941 &self,
16942 jsonresult: *mut windows_core::PWSTR,
16943 ) -> windows_core::Result<()> {
16944 unsafe {
16945 (windows_core::Interface::vtable(self).ResultAsJson)(
16946 windows_core::Interface::as_raw(self),
16947 jsonresult as _,
16948 )
16949 .ok()
16950 }
16951 }
16952 pub unsafe fn TryGetResultAsString(
16953 &self,
16954 stringresult: *mut windows_core::PWSTR,
16955 value: *mut windows_core::BOOL,
16956 ) -> windows_core::Result<()> {
16957 unsafe {
16958 (windows_core::Interface::vtable(self).TryGetResultAsString)(
16959 windows_core::Interface::as_raw(self),
16960 stringresult as _,
16961 value as _,
16962 )
16963 .ok()
16964 }
16965 }
16966 pub unsafe fn Exception(&self) -> windows_core::Result<ICoreWebView2ScriptException> {
16967 unsafe {
16968 let mut result__ = core::mem::zeroed();
16969 (windows_core::Interface::vtable(self).Exception)(
16970 windows_core::Interface::as_raw(self),
16971 &mut result__,
16972 )
16973 .and_then(|| windows_core::Type::from_abi(result__))
16974 }
16975 }
16976}
16977#[repr(C)]
16978#[doc(hidden)]
16979pub struct ICoreWebView2ExecuteScriptResult_Vtbl {
16980 pub base__: windows_core::IUnknown_Vtbl,
16981 pub Succeeded: unsafe extern "system" fn(
16982 *mut core::ffi::c_void,
16983 *mut windows_core::BOOL,
16984 ) -> windows_core::HRESULT,
16985 pub ResultAsJson: unsafe extern "system" fn(
16986 *mut core::ffi::c_void,
16987 *mut windows_core::PWSTR,
16988 ) -> windows_core::HRESULT,
16989 pub TryGetResultAsString: unsafe extern "system" fn(
16990 *mut core::ffi::c_void,
16991 *mut windows_core::PWSTR,
16992 *mut windows_core::BOOL,
16993 ) -> windows_core::HRESULT,
16994 pub Exception: unsafe extern "system" fn(
16995 *mut core::ffi::c_void,
16996 *mut *mut core::ffi::c_void,
16997 ) -> windows_core::HRESULT,
16998}
16999pub trait ICoreWebView2ExecuteScriptResult_Impl: windows_core::IUnknownImpl {
17000 fn Succeeded(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
17001 fn ResultAsJson(&self, jsonresult: *mut windows_core::PWSTR) -> windows_core::Result<()>;
17002 fn TryGetResultAsString(
17003 &self,
17004 stringresult: *mut windows_core::PWSTR,
17005 value: *mut windows_core::BOOL,
17006 ) -> windows_core::Result<()>;
17007 fn Exception(&self) -> windows_core::Result<ICoreWebView2ScriptException>;
17008}
17009impl ICoreWebView2ExecuteScriptResult_Vtbl {
17010 pub const fn new<Identity: ICoreWebView2ExecuteScriptResult_Impl, const OFFSET: isize>() -> Self
17011 {
17012 unsafe extern "system" fn Succeeded<
17013 Identity: ICoreWebView2ExecuteScriptResult_Impl,
17014 const OFFSET: isize,
17015 >(
17016 this: *mut core::ffi::c_void,
17017 value: *mut windows_core::BOOL,
17018 ) -> windows_core::HRESULT {
17019 unsafe {
17020 let this: &Identity =
17021 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17022 ICoreWebView2ExecuteScriptResult_Impl::Succeeded(
17023 this,
17024 core::mem::transmute_copy(&value),
17025 )
17026 .into()
17027 }
17028 }
17029 unsafe extern "system" fn ResultAsJson<
17030 Identity: ICoreWebView2ExecuteScriptResult_Impl,
17031 const OFFSET: isize,
17032 >(
17033 this: *mut core::ffi::c_void,
17034 jsonresult: *mut windows_core::PWSTR,
17035 ) -> windows_core::HRESULT {
17036 unsafe {
17037 let this: &Identity =
17038 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17039 ICoreWebView2ExecuteScriptResult_Impl::ResultAsJson(
17040 this,
17041 core::mem::transmute_copy(&jsonresult),
17042 )
17043 .into()
17044 }
17045 }
17046 unsafe extern "system" fn TryGetResultAsString<
17047 Identity: ICoreWebView2ExecuteScriptResult_Impl,
17048 const OFFSET: isize,
17049 >(
17050 this: *mut core::ffi::c_void,
17051 stringresult: *mut windows_core::PWSTR,
17052 value: *mut windows_core::BOOL,
17053 ) -> windows_core::HRESULT {
17054 unsafe {
17055 let this: &Identity =
17056 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17057 ICoreWebView2ExecuteScriptResult_Impl::TryGetResultAsString(
17058 this,
17059 core::mem::transmute_copy(&stringresult),
17060 core::mem::transmute_copy(&value),
17061 )
17062 .into()
17063 }
17064 }
17065 unsafe extern "system" fn Exception<
17066 Identity: ICoreWebView2ExecuteScriptResult_Impl,
17067 const OFFSET: isize,
17068 >(
17069 this: *mut core::ffi::c_void,
17070 exception: *mut *mut core::ffi::c_void,
17071 ) -> windows_core::HRESULT {
17072 unsafe {
17073 let this: &Identity =
17074 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17075 match ICoreWebView2ExecuteScriptResult_Impl::Exception(this) {
17076 Ok(ok__) => {
17077 exception.write(core::mem::transmute(ok__));
17078 windows_core::HRESULT(0)
17079 }
17080 Err(err) => err.into(),
17081 }
17082 }
17083 }
17084 Self {
17085 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17086 Succeeded: Succeeded::<Identity, OFFSET>,
17087 ResultAsJson: ResultAsJson::<Identity, OFFSET>,
17088 TryGetResultAsString: TryGetResultAsString::<Identity, OFFSET>,
17089 Exception: Exception::<Identity, OFFSET>,
17090 }
17091 }
17092 pub fn matches(iid: &windows_core::GUID) -> bool {
17093 iid == &<ICoreWebView2ExecuteScriptResult as windows_core::Interface>::IID
17094 }
17095}
17096impl windows_core::RuntimeName for ICoreWebView2ExecuteScriptResult {}
17097windows_core::imp::define_interface!(
17098 ICoreWebView2ExecuteScriptWithResultCompletedHandler,
17099 ICoreWebView2ExecuteScriptWithResultCompletedHandler_Vtbl,
17100 0x1bb5317b_8238_4c67_a7ff_baf6558f289d
17101);
17102windows_core::imp::interface_hierarchy!(
17103 ICoreWebView2ExecuteScriptWithResultCompletedHandler,
17104 windows_core::IUnknown
17105);
17106impl ICoreWebView2ExecuteScriptWithResultCompletedHandler {
17107 pub unsafe fn Invoke<P1>(
17108 &self,
17109 errorcode: windows_core::HRESULT,
17110 result: P1,
17111 ) -> windows_core::Result<()>
17112 where
17113 P1: windows_core::Param<ICoreWebView2ExecuteScriptResult>,
17114 {
17115 unsafe {
17116 (windows_core::Interface::vtable(self).Invoke)(
17117 windows_core::Interface::as_raw(self),
17118 errorcode,
17119 result.param().abi(),
17120 )
17121 .ok()
17122 }
17123 }
17124}
17125#[repr(C)]
17126#[doc(hidden)]
17127pub struct ICoreWebView2ExecuteScriptWithResultCompletedHandler_Vtbl {
17128 pub base__: windows_core::IUnknown_Vtbl,
17129 pub Invoke: unsafe extern "system" fn(
17130 *mut core::ffi::c_void,
17131 windows_core::HRESULT,
17132 *mut core::ffi::c_void,
17133 ) -> windows_core::HRESULT,
17134}
17135pub trait ICoreWebView2ExecuteScriptWithResultCompletedHandler_Impl:
17136 windows_core::IUnknownImpl
17137{
17138 fn Invoke(
17139 &self,
17140 errorcode: windows_core::HRESULT,
17141 result: windows_core::Ref<'_, ICoreWebView2ExecuteScriptResult>,
17142 ) -> windows_core::Result<()>;
17143}
17144impl ICoreWebView2ExecuteScriptWithResultCompletedHandler_Vtbl {
17145 pub const fn new<
17146 Identity: ICoreWebView2ExecuteScriptWithResultCompletedHandler_Impl,
17147 const OFFSET: isize,
17148 >() -> Self {
17149 unsafe extern "system" fn Invoke<
17150 Identity: ICoreWebView2ExecuteScriptWithResultCompletedHandler_Impl,
17151 const OFFSET: isize,
17152 >(
17153 this: *mut core::ffi::c_void,
17154 errorcode: windows_core::HRESULT,
17155 result: *mut core::ffi::c_void,
17156 ) -> windows_core::HRESULT {
17157 unsafe {
17158 let this: &Identity =
17159 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17160 ICoreWebView2ExecuteScriptWithResultCompletedHandler_Impl::Invoke(
17161 this,
17162 core::mem::transmute_copy(&errorcode),
17163 core::mem::transmute_copy(&result),
17164 )
17165 .into()
17166 }
17167 }
17168 Self {
17169 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17170 Invoke: Invoke::<Identity, OFFSET>,
17171 }
17172 }
17173 pub fn matches(iid: &windows_core::GUID) -> bool {
17174 iid == & < ICoreWebView2ExecuteScriptWithResultCompletedHandler as windows_core::Interface >::IID
17175 }
17176}
17177impl windows_core::RuntimeName for ICoreWebView2ExecuteScriptWithResultCompletedHandler {}
17178windows_core::imp::define_interface!(
17179 ICoreWebView2FaviconChangedEventHandler,
17180 ICoreWebView2FaviconChangedEventHandler_Vtbl,
17181 0x2913da94_833d_4de0_8dca_900fc524a1a4
17182);
17183windows_core::imp::interface_hierarchy!(
17184 ICoreWebView2FaviconChangedEventHandler,
17185 windows_core::IUnknown
17186);
17187impl ICoreWebView2FaviconChangedEventHandler {
17188 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
17189 where
17190 P0: windows_core::Param<ICoreWebView2>,
17191 P1: windows_core::Param<windows_core::IUnknown>,
17192 {
17193 unsafe {
17194 (windows_core::Interface::vtable(self).Invoke)(
17195 windows_core::Interface::as_raw(self),
17196 sender.param().abi(),
17197 args.param().abi(),
17198 )
17199 .ok()
17200 }
17201 }
17202}
17203#[repr(C)]
17204#[doc(hidden)]
17205pub struct ICoreWebView2FaviconChangedEventHandler_Vtbl {
17206 pub base__: windows_core::IUnknown_Vtbl,
17207 pub Invoke: unsafe extern "system" fn(
17208 *mut core::ffi::c_void,
17209 *mut core::ffi::c_void,
17210 *mut core::ffi::c_void,
17211 ) -> windows_core::HRESULT,
17212}
17213pub trait ICoreWebView2FaviconChangedEventHandler_Impl: windows_core::IUnknownImpl {
17214 fn Invoke(
17215 &self,
17216 sender: windows_core::Ref<'_, ICoreWebView2>,
17217 args: windows_core::Ref<'_, windows_core::IUnknown>,
17218 ) -> windows_core::Result<()>;
17219}
17220impl ICoreWebView2FaviconChangedEventHandler_Vtbl {
17221 pub const fn new<
17222 Identity: ICoreWebView2FaviconChangedEventHandler_Impl,
17223 const OFFSET: isize,
17224 >() -> Self {
17225 unsafe extern "system" fn Invoke<
17226 Identity: ICoreWebView2FaviconChangedEventHandler_Impl,
17227 const OFFSET: isize,
17228 >(
17229 this: *mut core::ffi::c_void,
17230 sender: *mut core::ffi::c_void,
17231 args: *mut core::ffi::c_void,
17232 ) -> windows_core::HRESULT {
17233 unsafe {
17234 let this: &Identity =
17235 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17236 ICoreWebView2FaviconChangedEventHandler_Impl::Invoke(
17237 this,
17238 core::mem::transmute_copy(&sender),
17239 core::mem::transmute_copy(&args),
17240 )
17241 .into()
17242 }
17243 }
17244 Self {
17245 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17246 Invoke: Invoke::<Identity, OFFSET>,
17247 }
17248 }
17249 pub fn matches(iid: &windows_core::GUID) -> bool {
17250 iid == &<ICoreWebView2FaviconChangedEventHandler as windows_core::Interface>::IID
17251 }
17252}
17253impl windows_core::RuntimeName for ICoreWebView2FaviconChangedEventHandler {}
17254windows_core::imp::define_interface!(
17255 ICoreWebView2File,
17256 ICoreWebView2File_Vtbl,
17257 0xf2c19559_6bc1_4583_a757_90021be9afec
17258);
17259windows_core::imp::interface_hierarchy!(ICoreWebView2File, windows_core::IUnknown);
17260impl ICoreWebView2File {
17261 pub unsafe fn Path(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
17262 unsafe {
17263 (windows_core::Interface::vtable(self).Path)(
17264 windows_core::Interface::as_raw(self),
17265 value as _,
17266 )
17267 .ok()
17268 }
17269 }
17270}
17271#[repr(C)]
17272#[doc(hidden)]
17273pub struct ICoreWebView2File_Vtbl {
17274 pub base__: windows_core::IUnknown_Vtbl,
17275 pub Path: unsafe extern "system" fn(
17276 *mut core::ffi::c_void,
17277 *mut windows_core::PWSTR,
17278 ) -> windows_core::HRESULT,
17279}
17280pub trait ICoreWebView2File_Impl: windows_core::IUnknownImpl {
17281 fn Path(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
17282}
17283impl ICoreWebView2File_Vtbl {
17284 pub const fn new<Identity: ICoreWebView2File_Impl, const OFFSET: isize>() -> Self {
17285 unsafe extern "system" fn Path<Identity: ICoreWebView2File_Impl, const OFFSET: isize>(
17286 this: *mut core::ffi::c_void,
17287 value: *mut windows_core::PWSTR,
17288 ) -> windows_core::HRESULT {
17289 unsafe {
17290 let this: &Identity =
17291 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17292 ICoreWebView2File_Impl::Path(this, core::mem::transmute_copy(&value)).into()
17293 }
17294 }
17295 Self {
17296 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17297 Path: Path::<Identity, OFFSET>,
17298 }
17299 }
17300 pub fn matches(iid: &windows_core::GUID) -> bool {
17301 iid == &<ICoreWebView2File as windows_core::Interface>::IID
17302 }
17303}
17304impl windows_core::RuntimeName for ICoreWebView2File {}
17305windows_core::imp::define_interface!(
17306 ICoreWebView2FileSystemHandle,
17307 ICoreWebView2FileSystemHandle_Vtbl,
17308 0xc65100ac_0de2_5551_a362_23d9bd1d0e1f
17309);
17310windows_core::imp::interface_hierarchy!(ICoreWebView2FileSystemHandle, windows_core::IUnknown);
17311impl ICoreWebView2FileSystemHandle {
17312 pub unsafe fn Kind(
17313 &self,
17314 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND,
17315 ) -> windows_core::Result<()> {
17316 unsafe {
17317 (windows_core::Interface::vtable(self).Kind)(
17318 windows_core::Interface::as_raw(self),
17319 value as _,
17320 )
17321 .ok()
17322 }
17323 }
17324 pub unsafe fn Path(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
17325 unsafe {
17326 (windows_core::Interface::vtable(self).Path)(
17327 windows_core::Interface::as_raw(self),
17328 value as _,
17329 )
17330 .ok()
17331 }
17332 }
17333 pub unsafe fn Permission(
17334 &self,
17335 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
17336 ) -> windows_core::Result<()> {
17337 unsafe {
17338 (windows_core::Interface::vtable(self).Permission)(
17339 windows_core::Interface::as_raw(self),
17340 value as _,
17341 )
17342 .ok()
17343 }
17344 }
17345}
17346#[repr(C)]
17347#[doc(hidden)]
17348pub struct ICoreWebView2FileSystemHandle_Vtbl {
17349 pub base__: windows_core::IUnknown_Vtbl,
17350 pub Kind: unsafe extern "system" fn(
17351 *mut core::ffi::c_void,
17352 *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND,
17353 ) -> windows_core::HRESULT,
17354 pub Path: unsafe extern "system" fn(
17355 *mut core::ffi::c_void,
17356 *mut windows_core::PWSTR,
17357 ) -> windows_core::HRESULT,
17358 pub Permission: unsafe extern "system" fn(
17359 *mut core::ffi::c_void,
17360 *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
17361 ) -> windows_core::HRESULT,
17362}
17363pub trait ICoreWebView2FileSystemHandle_Impl: windows_core::IUnknownImpl {
17364 fn Kind(&self, value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND) -> windows_core::Result<()>;
17365 fn Path(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
17366 fn Permission(
17367 &self,
17368 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
17369 ) -> windows_core::Result<()>;
17370}
17371impl ICoreWebView2FileSystemHandle_Vtbl {
17372 pub const fn new<Identity: ICoreWebView2FileSystemHandle_Impl, const OFFSET: isize>() -> Self {
17373 unsafe extern "system" fn Kind<
17374 Identity: ICoreWebView2FileSystemHandle_Impl,
17375 const OFFSET: isize,
17376 >(
17377 this: *mut core::ffi::c_void,
17378 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND,
17379 ) -> windows_core::HRESULT {
17380 unsafe {
17381 let this: &Identity =
17382 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17383 ICoreWebView2FileSystemHandle_Impl::Kind(this, core::mem::transmute_copy(&value))
17384 .into()
17385 }
17386 }
17387 unsafe extern "system" fn Path<
17388 Identity: ICoreWebView2FileSystemHandle_Impl,
17389 const OFFSET: isize,
17390 >(
17391 this: *mut core::ffi::c_void,
17392 value: *mut windows_core::PWSTR,
17393 ) -> windows_core::HRESULT {
17394 unsafe {
17395 let this: &Identity =
17396 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17397 ICoreWebView2FileSystemHandle_Impl::Path(this, core::mem::transmute_copy(&value))
17398 .into()
17399 }
17400 }
17401 unsafe extern "system" fn Permission<
17402 Identity: ICoreWebView2FileSystemHandle_Impl,
17403 const OFFSET: isize,
17404 >(
17405 this: *mut core::ffi::c_void,
17406 value: *mut COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION,
17407 ) -> windows_core::HRESULT {
17408 unsafe {
17409 let this: &Identity =
17410 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17411 ICoreWebView2FileSystemHandle_Impl::Permission(
17412 this,
17413 core::mem::transmute_copy(&value),
17414 )
17415 .into()
17416 }
17417 }
17418 Self {
17419 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17420 Kind: Kind::<Identity, OFFSET>,
17421 Path: Path::<Identity, OFFSET>,
17422 Permission: Permission::<Identity, OFFSET>,
17423 }
17424 }
17425 pub fn matches(iid: &windows_core::GUID) -> bool {
17426 iid == &<ICoreWebView2FileSystemHandle as windows_core::Interface>::IID
17427 }
17428}
17429impl windows_core::RuntimeName for ICoreWebView2FileSystemHandle {}
17430windows_core::imp::define_interface!(
17431 ICoreWebView2FocusChangedEventHandler,
17432 ICoreWebView2FocusChangedEventHandler_Vtbl,
17433 0x05ea24bd_6452_4926_9014_4b82b498135d
17434);
17435windows_core::imp::interface_hierarchy!(
17436 ICoreWebView2FocusChangedEventHandler,
17437 windows_core::IUnknown
17438);
17439impl ICoreWebView2FocusChangedEventHandler {
17440 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
17441 where
17442 P0: windows_core::Param<ICoreWebView2Controller>,
17443 P1: windows_core::Param<windows_core::IUnknown>,
17444 {
17445 unsafe {
17446 (windows_core::Interface::vtable(self).Invoke)(
17447 windows_core::Interface::as_raw(self),
17448 sender.param().abi(),
17449 args.param().abi(),
17450 )
17451 .ok()
17452 }
17453 }
17454}
17455#[repr(C)]
17456#[doc(hidden)]
17457pub struct ICoreWebView2FocusChangedEventHandler_Vtbl {
17458 pub base__: windows_core::IUnknown_Vtbl,
17459 pub Invoke: unsafe extern "system" fn(
17460 *mut core::ffi::c_void,
17461 *mut core::ffi::c_void,
17462 *mut core::ffi::c_void,
17463 ) -> windows_core::HRESULT,
17464}
17465pub trait ICoreWebView2FocusChangedEventHandler_Impl: windows_core::IUnknownImpl {
17466 fn Invoke(
17467 &self,
17468 sender: windows_core::Ref<'_, ICoreWebView2Controller>,
17469 args: windows_core::Ref<'_, windows_core::IUnknown>,
17470 ) -> windows_core::Result<()>;
17471}
17472impl ICoreWebView2FocusChangedEventHandler_Vtbl {
17473 pub const fn new<Identity: ICoreWebView2FocusChangedEventHandler_Impl, const OFFSET: isize>(
17474 ) -> Self {
17475 unsafe extern "system" fn Invoke<
17476 Identity: ICoreWebView2FocusChangedEventHandler_Impl,
17477 const OFFSET: isize,
17478 >(
17479 this: *mut core::ffi::c_void,
17480 sender: *mut core::ffi::c_void,
17481 args: *mut core::ffi::c_void,
17482 ) -> windows_core::HRESULT {
17483 unsafe {
17484 let this: &Identity =
17485 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17486 ICoreWebView2FocusChangedEventHandler_Impl::Invoke(
17487 this,
17488 core::mem::transmute_copy(&sender),
17489 core::mem::transmute_copy(&args),
17490 )
17491 .into()
17492 }
17493 }
17494 Self {
17495 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17496 Invoke: Invoke::<Identity, OFFSET>,
17497 }
17498 }
17499 pub fn matches(iid: &windows_core::GUID) -> bool {
17500 iid == &<ICoreWebView2FocusChangedEventHandler as windows_core::Interface>::IID
17501 }
17502}
17503impl windows_core::RuntimeName for ICoreWebView2FocusChangedEventHandler {}
17504windows_core::imp::define_interface!(
17505 ICoreWebView2Frame,
17506 ICoreWebView2Frame_Vtbl,
17507 0xf1131a5e_9ba9_11eb_a8b3_0242ac130003
17508);
17509windows_core::imp::interface_hierarchy!(ICoreWebView2Frame, windows_core::IUnknown);
17510impl ICoreWebView2Frame {
17511 pub unsafe fn Name(&self, name: *mut windows_core::PWSTR) -> windows_core::Result<()> {
17512 unsafe {
17513 (windows_core::Interface::vtable(self).Name)(
17514 windows_core::Interface::as_raw(self),
17515 name as _,
17516 )
17517 .ok()
17518 }
17519 }
17520 pub unsafe fn add_NameChanged<P0>(
17521 &self,
17522 eventhandler: P0,
17523 token: *mut i64,
17524 ) -> windows_core::Result<()>
17525 where
17526 P0: windows_core::Param<ICoreWebView2FrameNameChangedEventHandler>,
17527 {
17528 unsafe {
17529 (windows_core::Interface::vtable(self).add_NameChanged)(
17530 windows_core::Interface::as_raw(self),
17531 eventhandler.param().abi(),
17532 token as _,
17533 )
17534 .ok()
17535 }
17536 }
17537 pub unsafe fn remove_NameChanged(&self, token: i64) -> windows_core::Result<()> {
17538 unsafe {
17539 (windows_core::Interface::vtable(self).remove_NameChanged)(
17540 windows_core::Interface::as_raw(self),
17541 token,
17542 )
17543 .ok()
17544 }
17545 }
17546 pub unsafe fn AddHostObjectToScriptWithOrigins<P0>(
17547 &self,
17548 name: P0,
17549 object: *mut windows::Win32::System::Variant::VARIANT,
17550 originscount: u32,
17551 origins: *const windows_core::PCWSTR,
17552 ) -> windows_core::Result<()>
17553 where
17554 P0: windows_core::Param<windows_core::PCWSTR>,
17555 {
17556 unsafe {
17557 (windows_core::Interface::vtable(self).AddHostObjectToScriptWithOrigins)(
17558 windows_core::Interface::as_raw(self),
17559 name.param().abi(),
17560 core::mem::transmute(object),
17561 originscount,
17562 origins,
17563 )
17564 .ok()
17565 }
17566 }
17567 pub unsafe fn RemoveHostObjectFromScript<P0>(&self, name: P0) -> windows_core::Result<()>
17568 where
17569 P0: windows_core::Param<windows_core::PCWSTR>,
17570 {
17571 unsafe {
17572 (windows_core::Interface::vtable(self).RemoveHostObjectFromScript)(
17573 windows_core::Interface::as_raw(self),
17574 name.param().abi(),
17575 )
17576 .ok()
17577 }
17578 }
17579 pub unsafe fn add_Destroyed<P0>(
17580 &self,
17581 eventhandler: P0,
17582 token: *mut i64,
17583 ) -> windows_core::Result<()>
17584 where
17585 P0: windows_core::Param<ICoreWebView2FrameDestroyedEventHandler>,
17586 {
17587 unsafe {
17588 (windows_core::Interface::vtable(self).add_Destroyed)(
17589 windows_core::Interface::as_raw(self),
17590 eventhandler.param().abi(),
17591 token as _,
17592 )
17593 .ok()
17594 }
17595 }
17596 pub unsafe fn remove_Destroyed(&self, token: i64) -> windows_core::Result<()> {
17597 unsafe {
17598 (windows_core::Interface::vtable(self).remove_Destroyed)(
17599 windows_core::Interface::as_raw(self),
17600 token,
17601 )
17602 .ok()
17603 }
17604 }
17605 pub unsafe fn IsDestroyed(
17606 &self,
17607 destroyed: *mut windows_core::BOOL,
17608 ) -> windows_core::Result<()> {
17609 unsafe {
17610 (windows_core::Interface::vtable(self).IsDestroyed)(
17611 windows_core::Interface::as_raw(self),
17612 destroyed as _,
17613 )
17614 .ok()
17615 }
17616 }
17617}
17618#[repr(C)]
17619#[doc(hidden)]
17620pub struct ICoreWebView2Frame_Vtbl {
17621 pub base__: windows_core::IUnknown_Vtbl,
17622 pub Name: unsafe extern "system" fn(
17623 *mut core::ffi::c_void,
17624 *mut windows_core::PWSTR,
17625 ) -> windows_core::HRESULT,
17626 pub add_NameChanged: unsafe extern "system" fn(
17627 *mut core::ffi::c_void,
17628 *mut core::ffi::c_void,
17629 *mut i64,
17630 ) -> windows_core::HRESULT,
17631 pub remove_NameChanged:
17632 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
17633 pub AddHostObjectToScriptWithOrigins: unsafe extern "system" fn(
17634 *mut core::ffi::c_void,
17635 windows_core::PCWSTR,
17636 *mut windows::Win32::System::Variant::VARIANT,
17637 u32,
17638 *const windows_core::PCWSTR,
17639 ) -> windows_core::HRESULT,
17640 pub RemoveHostObjectFromScript: unsafe extern "system" fn(
17641 *mut core::ffi::c_void,
17642 windows_core::PCWSTR,
17643 ) -> windows_core::HRESULT,
17644 pub add_Destroyed: unsafe extern "system" fn(
17645 *mut core::ffi::c_void,
17646 *mut core::ffi::c_void,
17647 *mut i64,
17648 ) -> windows_core::HRESULT,
17649 pub remove_Destroyed:
17650 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
17651 pub IsDestroyed: unsafe extern "system" fn(
17652 *mut core::ffi::c_void,
17653 *mut windows_core::BOOL,
17654 ) -> windows_core::HRESULT,
17655}
17656pub trait ICoreWebView2Frame_Impl: windows_core::IUnknownImpl {
17657 fn Name(&self, name: *mut windows_core::PWSTR) -> windows_core::Result<()>;
17658 fn add_NameChanged(
17659 &self,
17660 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameNameChangedEventHandler>,
17661 token: *mut i64,
17662 ) -> windows_core::Result<()>;
17663 fn remove_NameChanged(&self, token: i64) -> windows_core::Result<()>;
17664 fn AddHostObjectToScriptWithOrigins(
17665 &self,
17666 name: &windows_core::PCWSTR,
17667 object: *mut windows::Win32::System::Variant::VARIANT,
17668 originscount: u32,
17669 origins: *const windows_core::PCWSTR,
17670 ) -> windows_core::Result<()>;
17671 fn RemoveHostObjectFromScript(&self, name: &windows_core::PCWSTR) -> windows_core::Result<()>;
17672 fn add_Destroyed(
17673 &self,
17674 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameDestroyedEventHandler>,
17675 token: *mut i64,
17676 ) -> windows_core::Result<()>;
17677 fn remove_Destroyed(&self, token: i64) -> windows_core::Result<()>;
17678 fn IsDestroyed(&self, destroyed: *mut windows_core::BOOL) -> windows_core::Result<()>;
17679}
17680impl ICoreWebView2Frame_Vtbl {
17681 pub const fn new<Identity: ICoreWebView2Frame_Impl, const OFFSET: isize>() -> Self {
17682 unsafe extern "system" fn Name<Identity: ICoreWebView2Frame_Impl, const OFFSET: isize>(
17683 this: *mut core::ffi::c_void,
17684 name: *mut windows_core::PWSTR,
17685 ) -> windows_core::HRESULT {
17686 unsafe {
17687 let this: &Identity =
17688 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17689 ICoreWebView2Frame_Impl::Name(this, core::mem::transmute_copy(&name)).into()
17690 }
17691 }
17692 unsafe extern "system" fn add_NameChanged<
17693 Identity: ICoreWebView2Frame_Impl,
17694 const OFFSET: isize,
17695 >(
17696 this: *mut core::ffi::c_void,
17697 eventhandler: *mut core::ffi::c_void,
17698 token: *mut i64,
17699 ) -> windows_core::HRESULT {
17700 unsafe {
17701 let this: &Identity =
17702 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17703 ICoreWebView2Frame_Impl::add_NameChanged(
17704 this,
17705 core::mem::transmute_copy(&eventhandler),
17706 core::mem::transmute_copy(&token),
17707 )
17708 .into()
17709 }
17710 }
17711 unsafe extern "system" fn remove_NameChanged<
17712 Identity: ICoreWebView2Frame_Impl,
17713 const OFFSET: isize,
17714 >(
17715 this: *mut core::ffi::c_void,
17716 token: i64,
17717 ) -> windows_core::HRESULT {
17718 unsafe {
17719 let this: &Identity =
17720 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17721 ICoreWebView2Frame_Impl::remove_NameChanged(this, core::mem::transmute_copy(&token))
17722 .into()
17723 }
17724 }
17725 unsafe extern "system" fn AddHostObjectToScriptWithOrigins<
17726 Identity: ICoreWebView2Frame_Impl,
17727 const OFFSET: isize,
17728 >(
17729 this: *mut core::ffi::c_void,
17730 name: windows_core::PCWSTR,
17731 object: *mut windows::Win32::System::Variant::VARIANT,
17732 originscount: u32,
17733 origins: *const windows_core::PCWSTR,
17734 ) -> windows_core::HRESULT {
17735 unsafe {
17736 let this: &Identity =
17737 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17738 ICoreWebView2Frame_Impl::AddHostObjectToScriptWithOrigins(
17739 this,
17740 core::mem::transmute(&name),
17741 core::mem::transmute_copy(&object),
17742 core::mem::transmute_copy(&originscount),
17743 core::mem::transmute_copy(&origins),
17744 )
17745 .into()
17746 }
17747 }
17748 unsafe extern "system" fn RemoveHostObjectFromScript<
17749 Identity: ICoreWebView2Frame_Impl,
17750 const OFFSET: isize,
17751 >(
17752 this: *mut core::ffi::c_void,
17753 name: windows_core::PCWSTR,
17754 ) -> windows_core::HRESULT {
17755 unsafe {
17756 let this: &Identity =
17757 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17758 ICoreWebView2Frame_Impl::RemoveHostObjectFromScript(
17759 this,
17760 core::mem::transmute(&name),
17761 )
17762 .into()
17763 }
17764 }
17765 unsafe extern "system" fn add_Destroyed<
17766 Identity: ICoreWebView2Frame_Impl,
17767 const OFFSET: isize,
17768 >(
17769 this: *mut core::ffi::c_void,
17770 eventhandler: *mut core::ffi::c_void,
17771 token: *mut i64,
17772 ) -> windows_core::HRESULT {
17773 unsafe {
17774 let this: &Identity =
17775 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17776 ICoreWebView2Frame_Impl::add_Destroyed(
17777 this,
17778 core::mem::transmute_copy(&eventhandler),
17779 core::mem::transmute_copy(&token),
17780 )
17781 .into()
17782 }
17783 }
17784 unsafe extern "system" fn remove_Destroyed<
17785 Identity: ICoreWebView2Frame_Impl,
17786 const OFFSET: isize,
17787 >(
17788 this: *mut core::ffi::c_void,
17789 token: i64,
17790 ) -> windows_core::HRESULT {
17791 unsafe {
17792 let this: &Identity =
17793 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17794 ICoreWebView2Frame_Impl::remove_Destroyed(this, core::mem::transmute_copy(&token))
17795 .into()
17796 }
17797 }
17798 unsafe extern "system" fn IsDestroyed<
17799 Identity: ICoreWebView2Frame_Impl,
17800 const OFFSET: isize,
17801 >(
17802 this: *mut core::ffi::c_void,
17803 destroyed: *mut windows_core::BOOL,
17804 ) -> windows_core::HRESULT {
17805 unsafe {
17806 let this: &Identity =
17807 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17808 ICoreWebView2Frame_Impl::IsDestroyed(this, core::mem::transmute_copy(&destroyed))
17809 .into()
17810 }
17811 }
17812 Self {
17813 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
17814 Name: Name::<Identity, OFFSET>,
17815 add_NameChanged: add_NameChanged::<Identity, OFFSET>,
17816 remove_NameChanged: remove_NameChanged::<Identity, OFFSET>,
17817 AddHostObjectToScriptWithOrigins: AddHostObjectToScriptWithOrigins::<Identity, OFFSET>,
17818 RemoveHostObjectFromScript: RemoveHostObjectFromScript::<Identity, OFFSET>,
17819 add_Destroyed: add_Destroyed::<Identity, OFFSET>,
17820 remove_Destroyed: remove_Destroyed::<Identity, OFFSET>,
17821 IsDestroyed: IsDestroyed::<Identity, OFFSET>,
17822 }
17823 }
17824 pub fn matches(iid: &windows_core::GUID) -> bool {
17825 iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
17826 }
17827}
17828impl windows_core::RuntimeName for ICoreWebView2Frame {}
17829windows_core::imp::define_interface!(
17830 ICoreWebView2Frame2,
17831 ICoreWebView2Frame2_Vtbl,
17832 0x7a6a5834_d185_4dbf_b63f_4a9bc43107d4
17833);
17834impl core::ops::Deref for ICoreWebView2Frame2 {
17835 type Target = ICoreWebView2Frame;
17836 fn deref(&self) -> &Self::Target {
17837 unsafe { core::mem::transmute(self) }
17838 }
17839}
17840windows_core::imp::interface_hierarchy!(
17841 ICoreWebView2Frame2,
17842 windows_core::IUnknown,
17843 ICoreWebView2Frame
17844);
17845impl ICoreWebView2Frame2 {
17846 pub unsafe fn add_NavigationStarting<P0>(
17847 &self,
17848 eventhandler: P0,
17849 token: *mut i64,
17850 ) -> windows_core::Result<()>
17851 where
17852 P0: windows_core::Param<ICoreWebView2FrameNavigationStartingEventHandler>,
17853 {
17854 unsafe {
17855 (windows_core::Interface::vtable(self).add_NavigationStarting)(
17856 windows_core::Interface::as_raw(self),
17857 eventhandler.param().abi(),
17858 token as _,
17859 )
17860 .ok()
17861 }
17862 }
17863 pub unsafe fn remove_NavigationStarting(&self, token: i64) -> windows_core::Result<()> {
17864 unsafe {
17865 (windows_core::Interface::vtable(self).remove_NavigationStarting)(
17866 windows_core::Interface::as_raw(self),
17867 token,
17868 )
17869 .ok()
17870 }
17871 }
17872 pub unsafe fn add_ContentLoading<P0>(
17873 &self,
17874 eventhandler: P0,
17875 token: *mut i64,
17876 ) -> windows_core::Result<()>
17877 where
17878 P0: windows_core::Param<ICoreWebView2FrameContentLoadingEventHandler>,
17879 {
17880 unsafe {
17881 (windows_core::Interface::vtable(self).add_ContentLoading)(
17882 windows_core::Interface::as_raw(self),
17883 eventhandler.param().abi(),
17884 token as _,
17885 )
17886 .ok()
17887 }
17888 }
17889 pub unsafe fn remove_ContentLoading(&self, token: i64) -> windows_core::Result<()> {
17890 unsafe {
17891 (windows_core::Interface::vtable(self).remove_ContentLoading)(
17892 windows_core::Interface::as_raw(self),
17893 token,
17894 )
17895 .ok()
17896 }
17897 }
17898 pub unsafe fn add_NavigationCompleted<P0>(
17899 &self,
17900 eventhandler: P0,
17901 token: *mut i64,
17902 ) -> windows_core::Result<()>
17903 where
17904 P0: windows_core::Param<ICoreWebView2FrameNavigationCompletedEventHandler>,
17905 {
17906 unsafe {
17907 (windows_core::Interface::vtable(self).add_NavigationCompleted)(
17908 windows_core::Interface::as_raw(self),
17909 eventhandler.param().abi(),
17910 token as _,
17911 )
17912 .ok()
17913 }
17914 }
17915 pub unsafe fn remove_NavigationCompleted(&self, token: i64) -> windows_core::Result<()> {
17916 unsafe {
17917 (windows_core::Interface::vtable(self).remove_NavigationCompleted)(
17918 windows_core::Interface::as_raw(self),
17919 token,
17920 )
17921 .ok()
17922 }
17923 }
17924 pub unsafe fn add_DOMContentLoaded<P0>(
17925 &self,
17926 eventhandler: P0,
17927 token: *mut i64,
17928 ) -> windows_core::Result<()>
17929 where
17930 P0: windows_core::Param<ICoreWebView2FrameDOMContentLoadedEventHandler>,
17931 {
17932 unsafe {
17933 (windows_core::Interface::vtable(self).add_DOMContentLoaded)(
17934 windows_core::Interface::as_raw(self),
17935 eventhandler.param().abi(),
17936 token as _,
17937 )
17938 .ok()
17939 }
17940 }
17941 pub unsafe fn remove_DOMContentLoaded(&self, token: i64) -> windows_core::Result<()> {
17942 unsafe {
17943 (windows_core::Interface::vtable(self).remove_DOMContentLoaded)(
17944 windows_core::Interface::as_raw(self),
17945 token,
17946 )
17947 .ok()
17948 }
17949 }
17950 pub unsafe fn ExecuteScript<P0, P1>(
17951 &self,
17952 javascript: P0,
17953 handler: P1,
17954 ) -> windows_core::Result<()>
17955 where
17956 P0: windows_core::Param<windows_core::PCWSTR>,
17957 P1: windows_core::Param<ICoreWebView2ExecuteScriptCompletedHandler>,
17958 {
17959 unsafe {
17960 (windows_core::Interface::vtable(self).ExecuteScript)(
17961 windows_core::Interface::as_raw(self),
17962 javascript.param().abi(),
17963 handler.param().abi(),
17964 )
17965 .ok()
17966 }
17967 }
17968 pub unsafe fn PostWebMessageAsJson<P0>(&self, webmessageasjson: P0) -> windows_core::Result<()>
17969 where
17970 P0: windows_core::Param<windows_core::PCWSTR>,
17971 {
17972 unsafe {
17973 (windows_core::Interface::vtable(self).PostWebMessageAsJson)(
17974 windows_core::Interface::as_raw(self),
17975 webmessageasjson.param().abi(),
17976 )
17977 .ok()
17978 }
17979 }
17980 pub unsafe fn PostWebMessageAsString<P0>(
17981 &self,
17982 webmessageasstring: P0,
17983 ) -> windows_core::Result<()>
17984 where
17985 P0: windows_core::Param<windows_core::PCWSTR>,
17986 {
17987 unsafe {
17988 (windows_core::Interface::vtable(self).PostWebMessageAsString)(
17989 windows_core::Interface::as_raw(self),
17990 webmessageasstring.param().abi(),
17991 )
17992 .ok()
17993 }
17994 }
17995 pub unsafe fn add_WebMessageReceived<P0>(
17996 &self,
17997 handler: P0,
17998 token: *mut i64,
17999 ) -> windows_core::Result<()>
18000 where
18001 P0: windows_core::Param<ICoreWebView2FrameWebMessageReceivedEventHandler>,
18002 {
18003 unsafe {
18004 (windows_core::Interface::vtable(self).add_WebMessageReceived)(
18005 windows_core::Interface::as_raw(self),
18006 handler.param().abi(),
18007 token as _,
18008 )
18009 .ok()
18010 }
18011 }
18012 pub unsafe fn remove_WebMessageReceived(&self, token: i64) -> windows_core::Result<()> {
18013 unsafe {
18014 (windows_core::Interface::vtable(self).remove_WebMessageReceived)(
18015 windows_core::Interface::as_raw(self),
18016 token,
18017 )
18018 .ok()
18019 }
18020 }
18021}
18022#[repr(C)]
18023#[doc(hidden)]
18024pub struct ICoreWebView2Frame2_Vtbl {
18025 pub base__: ICoreWebView2Frame_Vtbl,
18026 pub add_NavigationStarting: unsafe extern "system" fn(
18027 *mut core::ffi::c_void,
18028 *mut core::ffi::c_void,
18029 *mut i64,
18030 ) -> windows_core::HRESULT,
18031 pub remove_NavigationStarting:
18032 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18033 pub add_ContentLoading: unsafe extern "system" fn(
18034 *mut core::ffi::c_void,
18035 *mut core::ffi::c_void,
18036 *mut i64,
18037 ) -> windows_core::HRESULT,
18038 pub remove_ContentLoading:
18039 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18040 pub add_NavigationCompleted: unsafe extern "system" fn(
18041 *mut core::ffi::c_void,
18042 *mut core::ffi::c_void,
18043 *mut i64,
18044 ) -> windows_core::HRESULT,
18045 pub remove_NavigationCompleted:
18046 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18047 pub add_DOMContentLoaded: unsafe extern "system" fn(
18048 *mut core::ffi::c_void,
18049 *mut core::ffi::c_void,
18050 *mut i64,
18051 ) -> windows_core::HRESULT,
18052 pub remove_DOMContentLoaded:
18053 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18054 pub ExecuteScript: unsafe extern "system" fn(
18055 *mut core::ffi::c_void,
18056 windows_core::PCWSTR,
18057 *mut core::ffi::c_void,
18058 ) -> windows_core::HRESULT,
18059 pub PostWebMessageAsJson: unsafe extern "system" fn(
18060 *mut core::ffi::c_void,
18061 windows_core::PCWSTR,
18062 ) -> windows_core::HRESULT,
18063 pub PostWebMessageAsString: unsafe extern "system" fn(
18064 *mut core::ffi::c_void,
18065 windows_core::PCWSTR,
18066 ) -> windows_core::HRESULT,
18067 pub add_WebMessageReceived: unsafe extern "system" fn(
18068 *mut core::ffi::c_void,
18069 *mut core::ffi::c_void,
18070 *mut i64,
18071 ) -> windows_core::HRESULT,
18072 pub remove_WebMessageReceived:
18073 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18074}
18075pub trait ICoreWebView2Frame2_Impl: ICoreWebView2Frame_Impl {
18076 fn add_NavigationStarting(
18077 &self,
18078 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameNavigationStartingEventHandler>,
18079 token: *mut i64,
18080 ) -> windows_core::Result<()>;
18081 fn remove_NavigationStarting(&self, token: i64) -> windows_core::Result<()>;
18082 fn add_ContentLoading(
18083 &self,
18084 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameContentLoadingEventHandler>,
18085 token: *mut i64,
18086 ) -> windows_core::Result<()>;
18087 fn remove_ContentLoading(&self, token: i64) -> windows_core::Result<()>;
18088 fn add_NavigationCompleted(
18089 &self,
18090 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameNavigationCompletedEventHandler>,
18091 token: *mut i64,
18092 ) -> windows_core::Result<()>;
18093 fn remove_NavigationCompleted(&self, token: i64) -> windows_core::Result<()>;
18094 fn add_DOMContentLoaded(
18095 &self,
18096 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameDOMContentLoadedEventHandler>,
18097 token: *mut i64,
18098 ) -> windows_core::Result<()>;
18099 fn remove_DOMContentLoaded(&self, token: i64) -> windows_core::Result<()>;
18100 fn ExecuteScript(
18101 &self,
18102 javascript: &windows_core::PCWSTR,
18103 handler: windows_core::Ref<'_, ICoreWebView2ExecuteScriptCompletedHandler>,
18104 ) -> windows_core::Result<()>;
18105 fn PostWebMessageAsJson(
18106 &self,
18107 webmessageasjson: &windows_core::PCWSTR,
18108 ) -> windows_core::Result<()>;
18109 fn PostWebMessageAsString(
18110 &self,
18111 webmessageasstring: &windows_core::PCWSTR,
18112 ) -> windows_core::Result<()>;
18113 fn add_WebMessageReceived(
18114 &self,
18115 handler: windows_core::Ref<'_, ICoreWebView2FrameWebMessageReceivedEventHandler>,
18116 token: *mut i64,
18117 ) -> windows_core::Result<()>;
18118 fn remove_WebMessageReceived(&self, token: i64) -> windows_core::Result<()>;
18119}
18120impl ICoreWebView2Frame2_Vtbl {
18121 pub const fn new<Identity: ICoreWebView2Frame2_Impl, const OFFSET: isize>() -> Self {
18122 unsafe extern "system" fn add_NavigationStarting<
18123 Identity: ICoreWebView2Frame2_Impl,
18124 const OFFSET: isize,
18125 >(
18126 this: *mut core::ffi::c_void,
18127 eventhandler: *mut core::ffi::c_void,
18128 token: *mut i64,
18129 ) -> windows_core::HRESULT {
18130 unsafe {
18131 let this: &Identity =
18132 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18133 ICoreWebView2Frame2_Impl::add_NavigationStarting(
18134 this,
18135 core::mem::transmute_copy(&eventhandler),
18136 core::mem::transmute_copy(&token),
18137 )
18138 .into()
18139 }
18140 }
18141 unsafe extern "system" fn remove_NavigationStarting<
18142 Identity: ICoreWebView2Frame2_Impl,
18143 const OFFSET: isize,
18144 >(
18145 this: *mut core::ffi::c_void,
18146 token: i64,
18147 ) -> windows_core::HRESULT {
18148 unsafe {
18149 let this: &Identity =
18150 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18151 ICoreWebView2Frame2_Impl::remove_NavigationStarting(
18152 this,
18153 core::mem::transmute_copy(&token),
18154 )
18155 .into()
18156 }
18157 }
18158 unsafe extern "system" fn add_ContentLoading<
18159 Identity: ICoreWebView2Frame2_Impl,
18160 const OFFSET: isize,
18161 >(
18162 this: *mut core::ffi::c_void,
18163 eventhandler: *mut core::ffi::c_void,
18164 token: *mut i64,
18165 ) -> windows_core::HRESULT {
18166 unsafe {
18167 let this: &Identity =
18168 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18169 ICoreWebView2Frame2_Impl::add_ContentLoading(
18170 this,
18171 core::mem::transmute_copy(&eventhandler),
18172 core::mem::transmute_copy(&token),
18173 )
18174 .into()
18175 }
18176 }
18177 unsafe extern "system" fn remove_ContentLoading<
18178 Identity: ICoreWebView2Frame2_Impl,
18179 const OFFSET: isize,
18180 >(
18181 this: *mut core::ffi::c_void,
18182 token: i64,
18183 ) -> windows_core::HRESULT {
18184 unsafe {
18185 let this: &Identity =
18186 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18187 ICoreWebView2Frame2_Impl::remove_ContentLoading(
18188 this,
18189 core::mem::transmute_copy(&token),
18190 )
18191 .into()
18192 }
18193 }
18194 unsafe extern "system" fn add_NavigationCompleted<
18195 Identity: ICoreWebView2Frame2_Impl,
18196 const OFFSET: isize,
18197 >(
18198 this: *mut core::ffi::c_void,
18199 eventhandler: *mut core::ffi::c_void,
18200 token: *mut i64,
18201 ) -> windows_core::HRESULT {
18202 unsafe {
18203 let this: &Identity =
18204 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18205 ICoreWebView2Frame2_Impl::add_NavigationCompleted(
18206 this,
18207 core::mem::transmute_copy(&eventhandler),
18208 core::mem::transmute_copy(&token),
18209 )
18210 .into()
18211 }
18212 }
18213 unsafe extern "system" fn remove_NavigationCompleted<
18214 Identity: ICoreWebView2Frame2_Impl,
18215 const OFFSET: isize,
18216 >(
18217 this: *mut core::ffi::c_void,
18218 token: i64,
18219 ) -> windows_core::HRESULT {
18220 unsafe {
18221 let this: &Identity =
18222 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18223 ICoreWebView2Frame2_Impl::remove_NavigationCompleted(
18224 this,
18225 core::mem::transmute_copy(&token),
18226 )
18227 .into()
18228 }
18229 }
18230 unsafe extern "system" fn add_DOMContentLoaded<
18231 Identity: ICoreWebView2Frame2_Impl,
18232 const OFFSET: isize,
18233 >(
18234 this: *mut core::ffi::c_void,
18235 eventhandler: *mut core::ffi::c_void,
18236 token: *mut i64,
18237 ) -> windows_core::HRESULT {
18238 unsafe {
18239 let this: &Identity =
18240 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18241 ICoreWebView2Frame2_Impl::add_DOMContentLoaded(
18242 this,
18243 core::mem::transmute_copy(&eventhandler),
18244 core::mem::transmute_copy(&token),
18245 )
18246 .into()
18247 }
18248 }
18249 unsafe extern "system" fn remove_DOMContentLoaded<
18250 Identity: ICoreWebView2Frame2_Impl,
18251 const OFFSET: isize,
18252 >(
18253 this: *mut core::ffi::c_void,
18254 token: i64,
18255 ) -> windows_core::HRESULT {
18256 unsafe {
18257 let this: &Identity =
18258 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18259 ICoreWebView2Frame2_Impl::remove_DOMContentLoaded(
18260 this,
18261 core::mem::transmute_copy(&token),
18262 )
18263 .into()
18264 }
18265 }
18266 unsafe extern "system" fn ExecuteScript<
18267 Identity: ICoreWebView2Frame2_Impl,
18268 const OFFSET: isize,
18269 >(
18270 this: *mut core::ffi::c_void,
18271 javascript: windows_core::PCWSTR,
18272 handler: *mut core::ffi::c_void,
18273 ) -> windows_core::HRESULT {
18274 unsafe {
18275 let this: &Identity =
18276 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18277 ICoreWebView2Frame2_Impl::ExecuteScript(
18278 this,
18279 core::mem::transmute(&javascript),
18280 core::mem::transmute_copy(&handler),
18281 )
18282 .into()
18283 }
18284 }
18285 unsafe extern "system" fn PostWebMessageAsJson<
18286 Identity: ICoreWebView2Frame2_Impl,
18287 const OFFSET: isize,
18288 >(
18289 this: *mut core::ffi::c_void,
18290 webmessageasjson: windows_core::PCWSTR,
18291 ) -> windows_core::HRESULT {
18292 unsafe {
18293 let this: &Identity =
18294 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18295 ICoreWebView2Frame2_Impl::PostWebMessageAsJson(
18296 this,
18297 core::mem::transmute(&webmessageasjson),
18298 )
18299 .into()
18300 }
18301 }
18302 unsafe extern "system" fn PostWebMessageAsString<
18303 Identity: ICoreWebView2Frame2_Impl,
18304 const OFFSET: isize,
18305 >(
18306 this: *mut core::ffi::c_void,
18307 webmessageasstring: windows_core::PCWSTR,
18308 ) -> windows_core::HRESULT {
18309 unsafe {
18310 let this: &Identity =
18311 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18312 ICoreWebView2Frame2_Impl::PostWebMessageAsString(
18313 this,
18314 core::mem::transmute(&webmessageasstring),
18315 )
18316 .into()
18317 }
18318 }
18319 unsafe extern "system" fn add_WebMessageReceived<
18320 Identity: ICoreWebView2Frame2_Impl,
18321 const OFFSET: isize,
18322 >(
18323 this: *mut core::ffi::c_void,
18324 handler: *mut core::ffi::c_void,
18325 token: *mut i64,
18326 ) -> windows_core::HRESULT {
18327 unsafe {
18328 let this: &Identity =
18329 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18330 ICoreWebView2Frame2_Impl::add_WebMessageReceived(
18331 this,
18332 core::mem::transmute_copy(&handler),
18333 core::mem::transmute_copy(&token),
18334 )
18335 .into()
18336 }
18337 }
18338 unsafe extern "system" fn remove_WebMessageReceived<
18339 Identity: ICoreWebView2Frame2_Impl,
18340 const OFFSET: isize,
18341 >(
18342 this: *mut core::ffi::c_void,
18343 token: i64,
18344 ) -> windows_core::HRESULT {
18345 unsafe {
18346 let this: &Identity =
18347 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18348 ICoreWebView2Frame2_Impl::remove_WebMessageReceived(
18349 this,
18350 core::mem::transmute_copy(&token),
18351 )
18352 .into()
18353 }
18354 }
18355 Self {
18356 base__: ICoreWebView2Frame_Vtbl::new::<Identity, OFFSET>(),
18357 add_NavigationStarting: add_NavigationStarting::<Identity, OFFSET>,
18358 remove_NavigationStarting: remove_NavigationStarting::<Identity, OFFSET>,
18359 add_ContentLoading: add_ContentLoading::<Identity, OFFSET>,
18360 remove_ContentLoading: remove_ContentLoading::<Identity, OFFSET>,
18361 add_NavigationCompleted: add_NavigationCompleted::<Identity, OFFSET>,
18362 remove_NavigationCompleted: remove_NavigationCompleted::<Identity, OFFSET>,
18363 add_DOMContentLoaded: add_DOMContentLoaded::<Identity, OFFSET>,
18364 remove_DOMContentLoaded: remove_DOMContentLoaded::<Identity, OFFSET>,
18365 ExecuteScript: ExecuteScript::<Identity, OFFSET>,
18366 PostWebMessageAsJson: PostWebMessageAsJson::<Identity, OFFSET>,
18367 PostWebMessageAsString: PostWebMessageAsString::<Identity, OFFSET>,
18368 add_WebMessageReceived: add_WebMessageReceived::<Identity, OFFSET>,
18369 remove_WebMessageReceived: remove_WebMessageReceived::<Identity, OFFSET>,
18370 }
18371 }
18372 pub fn matches(iid: &windows_core::GUID) -> bool {
18373 iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
18374 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
18375 }
18376}
18377impl windows_core::RuntimeName for ICoreWebView2Frame2 {}
18378windows_core::imp::define_interface!(
18379 ICoreWebView2Frame3,
18380 ICoreWebView2Frame3_Vtbl,
18381 0xb50d82cc_cc28_481d_9614_cb048895e6a0
18382);
18383impl core::ops::Deref for ICoreWebView2Frame3 {
18384 type Target = ICoreWebView2Frame2;
18385 fn deref(&self) -> &Self::Target {
18386 unsafe { core::mem::transmute(self) }
18387 }
18388}
18389windows_core::imp::interface_hierarchy!(
18390 ICoreWebView2Frame3,
18391 windows_core::IUnknown,
18392 ICoreWebView2Frame,
18393 ICoreWebView2Frame2
18394);
18395impl ICoreWebView2Frame3 {
18396 pub unsafe fn add_PermissionRequested<P0>(
18397 &self,
18398 eventhandler: P0,
18399 token: *mut i64,
18400 ) -> windows_core::Result<()>
18401 where
18402 P0: windows_core::Param<ICoreWebView2FramePermissionRequestedEventHandler>,
18403 {
18404 unsafe {
18405 (windows_core::Interface::vtable(self).add_PermissionRequested)(
18406 windows_core::Interface::as_raw(self),
18407 eventhandler.param().abi(),
18408 token as _,
18409 )
18410 .ok()
18411 }
18412 }
18413 pub unsafe fn remove_PermissionRequested(&self, token: i64) -> windows_core::Result<()> {
18414 unsafe {
18415 (windows_core::Interface::vtable(self).remove_PermissionRequested)(
18416 windows_core::Interface::as_raw(self),
18417 token,
18418 )
18419 .ok()
18420 }
18421 }
18422}
18423#[repr(C)]
18424#[doc(hidden)]
18425pub struct ICoreWebView2Frame3_Vtbl {
18426 pub base__: ICoreWebView2Frame2_Vtbl,
18427 pub add_PermissionRequested: unsafe extern "system" fn(
18428 *mut core::ffi::c_void,
18429 *mut core::ffi::c_void,
18430 *mut i64,
18431 ) -> windows_core::HRESULT,
18432 pub remove_PermissionRequested:
18433 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18434}
18435pub trait ICoreWebView2Frame3_Impl: ICoreWebView2Frame2_Impl {
18436 fn add_PermissionRequested(
18437 &self,
18438 eventhandler: windows_core::Ref<'_, ICoreWebView2FramePermissionRequestedEventHandler>,
18439 token: *mut i64,
18440 ) -> windows_core::Result<()>;
18441 fn remove_PermissionRequested(&self, token: i64) -> windows_core::Result<()>;
18442}
18443impl ICoreWebView2Frame3_Vtbl {
18444 pub const fn new<Identity: ICoreWebView2Frame3_Impl, const OFFSET: isize>() -> Self {
18445 unsafe extern "system" fn add_PermissionRequested<
18446 Identity: ICoreWebView2Frame3_Impl,
18447 const OFFSET: isize,
18448 >(
18449 this: *mut core::ffi::c_void,
18450 eventhandler: *mut core::ffi::c_void,
18451 token: *mut i64,
18452 ) -> windows_core::HRESULT {
18453 unsafe {
18454 let this: &Identity =
18455 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18456 ICoreWebView2Frame3_Impl::add_PermissionRequested(
18457 this,
18458 core::mem::transmute_copy(&eventhandler),
18459 core::mem::transmute_copy(&token),
18460 )
18461 .into()
18462 }
18463 }
18464 unsafe extern "system" fn remove_PermissionRequested<
18465 Identity: ICoreWebView2Frame3_Impl,
18466 const OFFSET: isize,
18467 >(
18468 this: *mut core::ffi::c_void,
18469 token: i64,
18470 ) -> windows_core::HRESULT {
18471 unsafe {
18472 let this: &Identity =
18473 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18474 ICoreWebView2Frame3_Impl::remove_PermissionRequested(
18475 this,
18476 core::mem::transmute_copy(&token),
18477 )
18478 .into()
18479 }
18480 }
18481 Self {
18482 base__: ICoreWebView2Frame2_Vtbl::new::<Identity, OFFSET>(),
18483 add_PermissionRequested: add_PermissionRequested::<Identity, OFFSET>,
18484 remove_PermissionRequested: remove_PermissionRequested::<Identity, OFFSET>,
18485 }
18486 }
18487 pub fn matches(iid: &windows_core::GUID) -> bool {
18488 iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
18489 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
18490 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
18491 }
18492}
18493impl windows_core::RuntimeName for ICoreWebView2Frame3 {}
18494windows_core::imp::define_interface!(
18495 ICoreWebView2Frame4,
18496 ICoreWebView2Frame4_Vtbl,
18497 0x188782dc_92aa_4732_ab3c_fcc59f6f68b9
18498);
18499impl core::ops::Deref for ICoreWebView2Frame4 {
18500 type Target = ICoreWebView2Frame3;
18501 fn deref(&self) -> &Self::Target {
18502 unsafe { core::mem::transmute(self) }
18503 }
18504}
18505windows_core::imp::interface_hierarchy!(
18506 ICoreWebView2Frame4,
18507 windows_core::IUnknown,
18508 ICoreWebView2Frame,
18509 ICoreWebView2Frame2,
18510 ICoreWebView2Frame3
18511);
18512impl ICoreWebView2Frame4 {
18513 pub unsafe fn PostSharedBufferToScript<P0, P2>(
18514 &self,
18515 sharedbuffer: P0,
18516 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
18517 additionaldataasjson: P2,
18518 ) -> windows_core::Result<()>
18519 where
18520 P0: windows_core::Param<ICoreWebView2SharedBuffer>,
18521 P2: windows_core::Param<windows_core::PCWSTR>,
18522 {
18523 unsafe {
18524 (windows_core::Interface::vtable(self).PostSharedBufferToScript)(
18525 windows_core::Interface::as_raw(self),
18526 sharedbuffer.param().abi(),
18527 access,
18528 additionaldataasjson.param().abi(),
18529 )
18530 .ok()
18531 }
18532 }
18533}
18534#[repr(C)]
18535#[doc(hidden)]
18536pub struct ICoreWebView2Frame4_Vtbl {
18537 pub base__: ICoreWebView2Frame3_Vtbl,
18538 pub PostSharedBufferToScript: unsafe extern "system" fn(
18539 *mut core::ffi::c_void,
18540 *mut core::ffi::c_void,
18541 COREWEBVIEW2_SHARED_BUFFER_ACCESS,
18542 windows_core::PCWSTR,
18543 ) -> windows_core::HRESULT,
18544}
18545pub trait ICoreWebView2Frame4_Impl: ICoreWebView2Frame3_Impl {
18546 fn PostSharedBufferToScript(
18547 &self,
18548 sharedbuffer: windows_core::Ref<'_, ICoreWebView2SharedBuffer>,
18549 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
18550 additionaldataasjson: &windows_core::PCWSTR,
18551 ) -> windows_core::Result<()>;
18552}
18553impl ICoreWebView2Frame4_Vtbl {
18554 pub const fn new<Identity: ICoreWebView2Frame4_Impl, const OFFSET: isize>() -> Self {
18555 unsafe extern "system" fn PostSharedBufferToScript<
18556 Identity: ICoreWebView2Frame4_Impl,
18557 const OFFSET: isize,
18558 >(
18559 this: *mut core::ffi::c_void,
18560 sharedbuffer: *mut core::ffi::c_void,
18561 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
18562 additionaldataasjson: windows_core::PCWSTR,
18563 ) -> windows_core::HRESULT {
18564 unsafe {
18565 let this: &Identity =
18566 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18567 ICoreWebView2Frame4_Impl::PostSharedBufferToScript(
18568 this,
18569 core::mem::transmute_copy(&sharedbuffer),
18570 core::mem::transmute_copy(&access),
18571 core::mem::transmute(&additionaldataasjson),
18572 )
18573 .into()
18574 }
18575 }
18576 Self {
18577 base__: ICoreWebView2Frame3_Vtbl::new::<Identity, OFFSET>(),
18578 PostSharedBufferToScript: PostSharedBufferToScript::<Identity, OFFSET>,
18579 }
18580 }
18581 pub fn matches(iid: &windows_core::GUID) -> bool {
18582 iid == &<ICoreWebView2Frame4 as windows_core::Interface>::IID
18583 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
18584 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
18585 || iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
18586 }
18587}
18588impl windows_core::RuntimeName for ICoreWebView2Frame4 {}
18589windows_core::imp::define_interface!(
18590 ICoreWebView2Frame5,
18591 ICoreWebView2Frame5_Vtbl,
18592 0x99d199c4_7305_11ee_b962_0242ac120002
18593);
18594impl core::ops::Deref for ICoreWebView2Frame5 {
18595 type Target = ICoreWebView2Frame4;
18596 fn deref(&self) -> &Self::Target {
18597 unsafe { core::mem::transmute(self) }
18598 }
18599}
18600windows_core::imp::interface_hierarchy!(
18601 ICoreWebView2Frame5,
18602 windows_core::IUnknown,
18603 ICoreWebView2Frame,
18604 ICoreWebView2Frame2,
18605 ICoreWebView2Frame3,
18606 ICoreWebView2Frame4
18607);
18608impl ICoreWebView2Frame5 {
18609 pub unsafe fn FrameId(&self, value: *mut u32) -> windows_core::Result<()> {
18610 unsafe {
18611 (windows_core::Interface::vtable(self).FrameId)(
18612 windows_core::Interface::as_raw(self),
18613 value as _,
18614 )
18615 .ok()
18616 }
18617 }
18618}
18619#[repr(C)]
18620#[doc(hidden)]
18621pub struct ICoreWebView2Frame5_Vtbl {
18622 pub base__: ICoreWebView2Frame4_Vtbl,
18623 pub FrameId:
18624 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
18625}
18626pub trait ICoreWebView2Frame5_Impl: ICoreWebView2Frame4_Impl {
18627 fn FrameId(&self, value: *mut u32) -> windows_core::Result<()>;
18628}
18629impl ICoreWebView2Frame5_Vtbl {
18630 pub const fn new<Identity: ICoreWebView2Frame5_Impl, const OFFSET: isize>() -> Self {
18631 unsafe extern "system" fn FrameId<
18632 Identity: ICoreWebView2Frame5_Impl,
18633 const OFFSET: isize,
18634 >(
18635 this: *mut core::ffi::c_void,
18636 value: *mut u32,
18637 ) -> windows_core::HRESULT {
18638 unsafe {
18639 let this: &Identity =
18640 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18641 ICoreWebView2Frame5_Impl::FrameId(this, core::mem::transmute_copy(&value)).into()
18642 }
18643 }
18644 Self {
18645 base__: ICoreWebView2Frame4_Vtbl::new::<Identity, OFFSET>(),
18646 FrameId: FrameId::<Identity, OFFSET>,
18647 }
18648 }
18649 pub fn matches(iid: &windows_core::GUID) -> bool {
18650 iid == &<ICoreWebView2Frame5 as windows_core::Interface>::IID
18651 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
18652 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
18653 || iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
18654 || iid == &<ICoreWebView2Frame4 as windows_core::Interface>::IID
18655 }
18656}
18657impl windows_core::RuntimeName for ICoreWebView2Frame5 {}
18658windows_core::imp::define_interface!(
18659 ICoreWebView2Frame6,
18660 ICoreWebView2Frame6_Vtbl,
18661 0x0de611fd_31e9_5ddc_9d71_95eda26eff32
18662);
18663impl core::ops::Deref for ICoreWebView2Frame6 {
18664 type Target = ICoreWebView2Frame5;
18665 fn deref(&self) -> &Self::Target {
18666 unsafe { core::mem::transmute(self) }
18667 }
18668}
18669windows_core::imp::interface_hierarchy!(
18670 ICoreWebView2Frame6,
18671 windows_core::IUnknown,
18672 ICoreWebView2Frame,
18673 ICoreWebView2Frame2,
18674 ICoreWebView2Frame3,
18675 ICoreWebView2Frame4,
18676 ICoreWebView2Frame5
18677);
18678impl ICoreWebView2Frame6 {
18679 pub unsafe fn add_ScreenCaptureStarting<P0>(
18680 &self,
18681 eventhandler: P0,
18682 token: *mut i64,
18683 ) -> windows_core::Result<()>
18684 where
18685 P0: windows_core::Param<ICoreWebView2FrameScreenCaptureStartingEventHandler>,
18686 {
18687 unsafe {
18688 (windows_core::Interface::vtable(self).add_ScreenCaptureStarting)(
18689 windows_core::Interface::as_raw(self),
18690 eventhandler.param().abi(),
18691 token as _,
18692 )
18693 .ok()
18694 }
18695 }
18696 pub unsafe fn remove_ScreenCaptureStarting(&self, token: i64) -> windows_core::Result<()> {
18697 unsafe {
18698 (windows_core::Interface::vtable(self).remove_ScreenCaptureStarting)(
18699 windows_core::Interface::as_raw(self),
18700 token,
18701 )
18702 .ok()
18703 }
18704 }
18705}
18706#[repr(C)]
18707#[doc(hidden)]
18708pub struct ICoreWebView2Frame6_Vtbl {
18709 pub base__: ICoreWebView2Frame5_Vtbl,
18710 pub add_ScreenCaptureStarting: unsafe extern "system" fn(
18711 *mut core::ffi::c_void,
18712 *mut core::ffi::c_void,
18713 *mut i64,
18714 ) -> windows_core::HRESULT,
18715 pub remove_ScreenCaptureStarting:
18716 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
18717}
18718pub trait ICoreWebView2Frame6_Impl: ICoreWebView2Frame5_Impl {
18719 fn add_ScreenCaptureStarting(
18720 &self,
18721 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameScreenCaptureStartingEventHandler>,
18722 token: *mut i64,
18723 ) -> windows_core::Result<()>;
18724 fn remove_ScreenCaptureStarting(&self, token: i64) -> windows_core::Result<()>;
18725}
18726impl ICoreWebView2Frame6_Vtbl {
18727 pub const fn new<Identity: ICoreWebView2Frame6_Impl, const OFFSET: isize>() -> Self {
18728 unsafe extern "system" fn add_ScreenCaptureStarting<
18729 Identity: ICoreWebView2Frame6_Impl,
18730 const OFFSET: isize,
18731 >(
18732 this: *mut core::ffi::c_void,
18733 eventhandler: *mut core::ffi::c_void,
18734 token: *mut i64,
18735 ) -> windows_core::HRESULT {
18736 unsafe {
18737 let this: &Identity =
18738 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18739 ICoreWebView2Frame6_Impl::add_ScreenCaptureStarting(
18740 this,
18741 core::mem::transmute_copy(&eventhandler),
18742 core::mem::transmute_copy(&token),
18743 )
18744 .into()
18745 }
18746 }
18747 unsafe extern "system" fn remove_ScreenCaptureStarting<
18748 Identity: ICoreWebView2Frame6_Impl,
18749 const OFFSET: isize,
18750 >(
18751 this: *mut core::ffi::c_void,
18752 token: i64,
18753 ) -> windows_core::HRESULT {
18754 unsafe {
18755 let this: &Identity =
18756 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18757 ICoreWebView2Frame6_Impl::remove_ScreenCaptureStarting(
18758 this,
18759 core::mem::transmute_copy(&token),
18760 )
18761 .into()
18762 }
18763 }
18764 Self {
18765 base__: ICoreWebView2Frame5_Vtbl::new::<Identity, OFFSET>(),
18766 add_ScreenCaptureStarting: add_ScreenCaptureStarting::<Identity, OFFSET>,
18767 remove_ScreenCaptureStarting: remove_ScreenCaptureStarting::<Identity, OFFSET>,
18768 }
18769 }
18770 pub fn matches(iid: &windows_core::GUID) -> bool {
18771 iid == &<ICoreWebView2Frame6 as windows_core::Interface>::IID
18772 || iid == &<ICoreWebView2Frame as windows_core::Interface>::IID
18773 || iid == &<ICoreWebView2Frame2 as windows_core::Interface>::IID
18774 || iid == &<ICoreWebView2Frame3 as windows_core::Interface>::IID
18775 || iid == &<ICoreWebView2Frame4 as windows_core::Interface>::IID
18776 || iid == &<ICoreWebView2Frame5 as windows_core::Interface>::IID
18777 }
18778}
18779impl windows_core::RuntimeName for ICoreWebView2Frame6 {}
18780windows_core::imp::define_interface!(
18781 ICoreWebView2FrameContentLoadingEventHandler,
18782 ICoreWebView2FrameContentLoadingEventHandler_Vtbl,
18783 0x0d6156f2_d332_49a7_9e03_7d8f2feeee54
18784);
18785windows_core::imp::interface_hierarchy!(
18786 ICoreWebView2FrameContentLoadingEventHandler,
18787 windows_core::IUnknown
18788);
18789impl ICoreWebView2FrameContentLoadingEventHandler {
18790 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
18791 where
18792 P0: windows_core::Param<ICoreWebView2Frame>,
18793 P1: windows_core::Param<ICoreWebView2ContentLoadingEventArgs>,
18794 {
18795 unsafe {
18796 (windows_core::Interface::vtable(self).Invoke)(
18797 windows_core::Interface::as_raw(self),
18798 sender.param().abi(),
18799 args.param().abi(),
18800 )
18801 .ok()
18802 }
18803 }
18804}
18805#[repr(C)]
18806#[doc(hidden)]
18807pub struct ICoreWebView2FrameContentLoadingEventHandler_Vtbl {
18808 pub base__: windows_core::IUnknown_Vtbl,
18809 pub Invoke: unsafe extern "system" fn(
18810 *mut core::ffi::c_void,
18811 *mut core::ffi::c_void,
18812 *mut core::ffi::c_void,
18813 ) -> windows_core::HRESULT,
18814}
18815pub trait ICoreWebView2FrameContentLoadingEventHandler_Impl: windows_core::IUnknownImpl {
18816 fn Invoke(
18817 &self,
18818 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
18819 args: windows_core::Ref<'_, ICoreWebView2ContentLoadingEventArgs>,
18820 ) -> windows_core::Result<()>;
18821}
18822impl ICoreWebView2FrameContentLoadingEventHandler_Vtbl {
18823 pub const fn new<
18824 Identity: ICoreWebView2FrameContentLoadingEventHandler_Impl,
18825 const OFFSET: isize,
18826 >() -> Self {
18827 unsafe extern "system" fn Invoke<
18828 Identity: ICoreWebView2FrameContentLoadingEventHandler_Impl,
18829 const OFFSET: isize,
18830 >(
18831 this: *mut core::ffi::c_void,
18832 sender: *mut core::ffi::c_void,
18833 args: *mut core::ffi::c_void,
18834 ) -> windows_core::HRESULT {
18835 unsafe {
18836 let this: &Identity =
18837 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18838 ICoreWebView2FrameContentLoadingEventHandler_Impl::Invoke(
18839 this,
18840 core::mem::transmute_copy(&sender),
18841 core::mem::transmute_copy(&args),
18842 )
18843 .into()
18844 }
18845 }
18846 Self {
18847 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
18848 Invoke: Invoke::<Identity, OFFSET>,
18849 }
18850 }
18851 pub fn matches(iid: &windows_core::GUID) -> bool {
18852 iid == &<ICoreWebView2FrameContentLoadingEventHandler as windows_core::Interface>::IID
18853 }
18854}
18855impl windows_core::RuntimeName for ICoreWebView2FrameContentLoadingEventHandler {}
18856windows_core::imp::define_interface!(
18857 ICoreWebView2FrameCreatedEventArgs,
18858 ICoreWebView2FrameCreatedEventArgs_Vtbl,
18859 0x4d6e7b5e_9baa_11eb_a8b3_0242ac130003
18860);
18861windows_core::imp::interface_hierarchy!(ICoreWebView2FrameCreatedEventArgs, windows_core::IUnknown);
18862impl ICoreWebView2FrameCreatedEventArgs {
18863 pub unsafe fn Frame(&self) -> windows_core::Result<ICoreWebView2Frame> {
18864 unsafe {
18865 let mut result__ = core::mem::zeroed();
18866 (windows_core::Interface::vtable(self).Frame)(
18867 windows_core::Interface::as_raw(self),
18868 &mut result__,
18869 )
18870 .and_then(|| windows_core::Type::from_abi(result__))
18871 }
18872 }
18873}
18874#[repr(C)]
18875#[doc(hidden)]
18876pub struct ICoreWebView2FrameCreatedEventArgs_Vtbl {
18877 pub base__: windows_core::IUnknown_Vtbl,
18878 pub Frame: unsafe extern "system" fn(
18879 *mut core::ffi::c_void,
18880 *mut *mut core::ffi::c_void,
18881 ) -> windows_core::HRESULT,
18882}
18883pub trait ICoreWebView2FrameCreatedEventArgs_Impl: windows_core::IUnknownImpl {
18884 fn Frame(&self) -> windows_core::Result<ICoreWebView2Frame>;
18885}
18886impl ICoreWebView2FrameCreatedEventArgs_Vtbl {
18887 pub const fn new<Identity: ICoreWebView2FrameCreatedEventArgs_Impl, const OFFSET: isize>(
18888 ) -> Self {
18889 unsafe extern "system" fn Frame<
18890 Identity: ICoreWebView2FrameCreatedEventArgs_Impl,
18891 const OFFSET: isize,
18892 >(
18893 this: *mut core::ffi::c_void,
18894 value: *mut *mut core::ffi::c_void,
18895 ) -> windows_core::HRESULT {
18896 unsafe {
18897 let this: &Identity =
18898 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18899 match ICoreWebView2FrameCreatedEventArgs_Impl::Frame(this) {
18900 Ok(ok__) => {
18901 value.write(core::mem::transmute(ok__));
18902 windows_core::HRESULT(0)
18903 }
18904 Err(err) => err.into(),
18905 }
18906 }
18907 }
18908 Self {
18909 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
18910 Frame: Frame::<Identity, OFFSET>,
18911 }
18912 }
18913 pub fn matches(iid: &windows_core::GUID) -> bool {
18914 iid == &<ICoreWebView2FrameCreatedEventArgs as windows_core::Interface>::IID
18915 }
18916}
18917impl windows_core::RuntimeName for ICoreWebView2FrameCreatedEventArgs {}
18918windows_core::imp::define_interface!(
18919 ICoreWebView2FrameCreatedEventHandler,
18920 ICoreWebView2FrameCreatedEventHandler_Vtbl,
18921 0x38059770_9baa_11eb_a8b3_0242ac130003
18922);
18923windows_core::imp::interface_hierarchy!(
18924 ICoreWebView2FrameCreatedEventHandler,
18925 windows_core::IUnknown
18926);
18927impl ICoreWebView2FrameCreatedEventHandler {
18928 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
18929 where
18930 P0: windows_core::Param<ICoreWebView2>,
18931 P1: windows_core::Param<ICoreWebView2FrameCreatedEventArgs>,
18932 {
18933 unsafe {
18934 (windows_core::Interface::vtable(self).Invoke)(
18935 windows_core::Interface::as_raw(self),
18936 sender.param().abi(),
18937 args.param().abi(),
18938 )
18939 .ok()
18940 }
18941 }
18942}
18943#[repr(C)]
18944#[doc(hidden)]
18945pub struct ICoreWebView2FrameCreatedEventHandler_Vtbl {
18946 pub base__: windows_core::IUnknown_Vtbl,
18947 pub Invoke: unsafe extern "system" fn(
18948 *mut core::ffi::c_void,
18949 *mut core::ffi::c_void,
18950 *mut core::ffi::c_void,
18951 ) -> windows_core::HRESULT,
18952}
18953pub trait ICoreWebView2FrameCreatedEventHandler_Impl: windows_core::IUnknownImpl {
18954 fn Invoke(
18955 &self,
18956 sender: windows_core::Ref<'_, ICoreWebView2>,
18957 args: windows_core::Ref<'_, ICoreWebView2FrameCreatedEventArgs>,
18958 ) -> windows_core::Result<()>;
18959}
18960impl ICoreWebView2FrameCreatedEventHandler_Vtbl {
18961 pub const fn new<Identity: ICoreWebView2FrameCreatedEventHandler_Impl, const OFFSET: isize>(
18962 ) -> Self {
18963 unsafe extern "system" fn Invoke<
18964 Identity: ICoreWebView2FrameCreatedEventHandler_Impl,
18965 const OFFSET: isize,
18966 >(
18967 this: *mut core::ffi::c_void,
18968 sender: *mut core::ffi::c_void,
18969 args: *mut core::ffi::c_void,
18970 ) -> windows_core::HRESULT {
18971 unsafe {
18972 let this: &Identity =
18973 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18974 ICoreWebView2FrameCreatedEventHandler_Impl::Invoke(
18975 this,
18976 core::mem::transmute_copy(&sender),
18977 core::mem::transmute_copy(&args),
18978 )
18979 .into()
18980 }
18981 }
18982 Self {
18983 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
18984 Invoke: Invoke::<Identity, OFFSET>,
18985 }
18986 }
18987 pub fn matches(iid: &windows_core::GUID) -> bool {
18988 iid == &<ICoreWebView2FrameCreatedEventHandler as windows_core::Interface>::IID
18989 }
18990}
18991impl windows_core::RuntimeName for ICoreWebView2FrameCreatedEventHandler {}
18992windows_core::imp::define_interface!(
18993 ICoreWebView2FrameDOMContentLoadedEventHandler,
18994 ICoreWebView2FrameDOMContentLoadedEventHandler_Vtbl,
18995 0x38d9520d_340f_4d1e_a775_43fce9753683
18996);
18997windows_core::imp::interface_hierarchy!(
18998 ICoreWebView2FrameDOMContentLoadedEventHandler,
18999 windows_core::IUnknown
19000);
19001impl ICoreWebView2FrameDOMContentLoadedEventHandler {
19002 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19003 where
19004 P0: windows_core::Param<ICoreWebView2Frame>,
19005 P1: windows_core::Param<ICoreWebView2DOMContentLoadedEventArgs>,
19006 {
19007 unsafe {
19008 (windows_core::Interface::vtable(self).Invoke)(
19009 windows_core::Interface::as_raw(self),
19010 sender.param().abi(),
19011 args.param().abi(),
19012 )
19013 .ok()
19014 }
19015 }
19016}
19017#[repr(C)]
19018#[doc(hidden)]
19019pub struct ICoreWebView2FrameDOMContentLoadedEventHandler_Vtbl {
19020 pub base__: windows_core::IUnknown_Vtbl,
19021 pub Invoke: unsafe extern "system" fn(
19022 *mut core::ffi::c_void,
19023 *mut core::ffi::c_void,
19024 *mut core::ffi::c_void,
19025 ) -> windows_core::HRESULT,
19026}
19027pub trait ICoreWebView2FrameDOMContentLoadedEventHandler_Impl: windows_core::IUnknownImpl {
19028 fn Invoke(
19029 &self,
19030 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
19031 args: windows_core::Ref<'_, ICoreWebView2DOMContentLoadedEventArgs>,
19032 ) -> windows_core::Result<()>;
19033}
19034impl ICoreWebView2FrameDOMContentLoadedEventHandler_Vtbl {
19035 pub const fn new<
19036 Identity: ICoreWebView2FrameDOMContentLoadedEventHandler_Impl,
19037 const OFFSET: isize,
19038 >() -> Self {
19039 unsafe extern "system" fn Invoke<
19040 Identity: ICoreWebView2FrameDOMContentLoadedEventHandler_Impl,
19041 const OFFSET: isize,
19042 >(
19043 this: *mut core::ffi::c_void,
19044 sender: *mut core::ffi::c_void,
19045 args: *mut core::ffi::c_void,
19046 ) -> windows_core::HRESULT {
19047 unsafe {
19048 let this: &Identity =
19049 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19050 ICoreWebView2FrameDOMContentLoadedEventHandler_Impl::Invoke(
19051 this,
19052 core::mem::transmute_copy(&sender),
19053 core::mem::transmute_copy(&args),
19054 )
19055 .into()
19056 }
19057 }
19058 Self {
19059 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19060 Invoke: Invoke::<Identity, OFFSET>,
19061 }
19062 }
19063 pub fn matches(iid: &windows_core::GUID) -> bool {
19064 iid == &<ICoreWebView2FrameDOMContentLoadedEventHandler as windows_core::Interface>::IID
19065 }
19066}
19067impl windows_core::RuntimeName for ICoreWebView2FrameDOMContentLoadedEventHandler {}
19068windows_core::imp::define_interface!(
19069 ICoreWebView2FrameDestroyedEventHandler,
19070 ICoreWebView2FrameDestroyedEventHandler_Vtbl,
19071 0x59dd7b4c_9baa_11eb_a8b3_0242ac130003
19072);
19073windows_core::imp::interface_hierarchy!(
19074 ICoreWebView2FrameDestroyedEventHandler,
19075 windows_core::IUnknown
19076);
19077impl ICoreWebView2FrameDestroyedEventHandler {
19078 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19079 where
19080 P0: windows_core::Param<ICoreWebView2Frame>,
19081 P1: windows_core::Param<windows_core::IUnknown>,
19082 {
19083 unsafe {
19084 (windows_core::Interface::vtable(self).Invoke)(
19085 windows_core::Interface::as_raw(self),
19086 sender.param().abi(),
19087 args.param().abi(),
19088 )
19089 .ok()
19090 }
19091 }
19092}
19093#[repr(C)]
19094#[doc(hidden)]
19095pub struct ICoreWebView2FrameDestroyedEventHandler_Vtbl {
19096 pub base__: windows_core::IUnknown_Vtbl,
19097 pub Invoke: unsafe extern "system" fn(
19098 *mut core::ffi::c_void,
19099 *mut core::ffi::c_void,
19100 *mut core::ffi::c_void,
19101 ) -> windows_core::HRESULT,
19102}
19103pub trait ICoreWebView2FrameDestroyedEventHandler_Impl: windows_core::IUnknownImpl {
19104 fn Invoke(
19105 &self,
19106 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
19107 args: windows_core::Ref<'_, windows_core::IUnknown>,
19108 ) -> windows_core::Result<()>;
19109}
19110impl ICoreWebView2FrameDestroyedEventHandler_Vtbl {
19111 pub const fn new<
19112 Identity: ICoreWebView2FrameDestroyedEventHandler_Impl,
19113 const OFFSET: isize,
19114 >() -> Self {
19115 unsafe extern "system" fn Invoke<
19116 Identity: ICoreWebView2FrameDestroyedEventHandler_Impl,
19117 const OFFSET: isize,
19118 >(
19119 this: *mut core::ffi::c_void,
19120 sender: *mut core::ffi::c_void,
19121 args: *mut core::ffi::c_void,
19122 ) -> windows_core::HRESULT {
19123 unsafe {
19124 let this: &Identity =
19125 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19126 ICoreWebView2FrameDestroyedEventHandler_Impl::Invoke(
19127 this,
19128 core::mem::transmute_copy(&sender),
19129 core::mem::transmute_copy(&args),
19130 )
19131 .into()
19132 }
19133 }
19134 Self {
19135 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19136 Invoke: Invoke::<Identity, OFFSET>,
19137 }
19138 }
19139 pub fn matches(iid: &windows_core::GUID) -> bool {
19140 iid == &<ICoreWebView2FrameDestroyedEventHandler as windows_core::Interface>::IID
19141 }
19142}
19143impl windows_core::RuntimeName for ICoreWebView2FrameDestroyedEventHandler {}
19144windows_core::imp::define_interface!(
19145 ICoreWebView2FrameInfo,
19146 ICoreWebView2FrameInfo_Vtbl,
19147 0xda86b8a1_bdf3_4f11_9955_528cefa59727
19148);
19149windows_core::imp::interface_hierarchy!(ICoreWebView2FrameInfo, windows_core::IUnknown);
19150impl ICoreWebView2FrameInfo {
19151 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
19152 unsafe {
19153 (windows_core::Interface::vtable(self).Name)(
19154 windows_core::Interface::as_raw(self),
19155 value as _,
19156 )
19157 .ok()
19158 }
19159 }
19160 pub unsafe fn Source(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
19161 unsafe {
19162 (windows_core::Interface::vtable(self).Source)(
19163 windows_core::Interface::as_raw(self),
19164 value as _,
19165 )
19166 .ok()
19167 }
19168 }
19169}
19170#[repr(C)]
19171#[doc(hidden)]
19172pub struct ICoreWebView2FrameInfo_Vtbl {
19173 pub base__: windows_core::IUnknown_Vtbl,
19174 pub Name: unsafe extern "system" fn(
19175 *mut core::ffi::c_void,
19176 *mut windows_core::PWSTR,
19177 ) -> windows_core::HRESULT,
19178 pub Source: unsafe extern "system" fn(
19179 *mut core::ffi::c_void,
19180 *mut windows_core::PWSTR,
19181 ) -> windows_core::HRESULT,
19182}
19183pub trait ICoreWebView2FrameInfo_Impl: windows_core::IUnknownImpl {
19184 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
19185 fn Source(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
19186}
19187impl ICoreWebView2FrameInfo_Vtbl {
19188 pub const fn new<Identity: ICoreWebView2FrameInfo_Impl, const OFFSET: isize>() -> Self {
19189 unsafe extern "system" fn Name<
19190 Identity: ICoreWebView2FrameInfo_Impl,
19191 const OFFSET: isize,
19192 >(
19193 this: *mut core::ffi::c_void,
19194 value: *mut windows_core::PWSTR,
19195 ) -> windows_core::HRESULT {
19196 unsafe {
19197 let this: &Identity =
19198 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19199 ICoreWebView2FrameInfo_Impl::Name(this, core::mem::transmute_copy(&value)).into()
19200 }
19201 }
19202 unsafe extern "system" fn Source<
19203 Identity: ICoreWebView2FrameInfo_Impl,
19204 const OFFSET: isize,
19205 >(
19206 this: *mut core::ffi::c_void,
19207 value: *mut windows_core::PWSTR,
19208 ) -> windows_core::HRESULT {
19209 unsafe {
19210 let this: &Identity =
19211 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19212 ICoreWebView2FrameInfo_Impl::Source(this, core::mem::transmute_copy(&value)).into()
19213 }
19214 }
19215 Self {
19216 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19217 Name: Name::<Identity, OFFSET>,
19218 Source: Source::<Identity, OFFSET>,
19219 }
19220 }
19221 pub fn matches(iid: &windows_core::GUID) -> bool {
19222 iid == &<ICoreWebView2FrameInfo as windows_core::Interface>::IID
19223 }
19224}
19225impl windows_core::RuntimeName for ICoreWebView2FrameInfo {}
19226windows_core::imp::define_interface!(
19227 ICoreWebView2FrameInfo2,
19228 ICoreWebView2FrameInfo2_Vtbl,
19229 0x56f85cfa_72c4_11ee_b962_0242ac120002
19230);
19231impl core::ops::Deref for ICoreWebView2FrameInfo2 {
19232 type Target = ICoreWebView2FrameInfo;
19233 fn deref(&self) -> &Self::Target {
19234 unsafe { core::mem::transmute(self) }
19235 }
19236}
19237windows_core::imp::interface_hierarchy!(
19238 ICoreWebView2FrameInfo2,
19239 windows_core::IUnknown,
19240 ICoreWebView2FrameInfo
19241);
19242impl ICoreWebView2FrameInfo2 {
19243 pub unsafe fn ParentFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo> {
19244 unsafe {
19245 let mut result__ = core::mem::zeroed();
19246 (windows_core::Interface::vtable(self).ParentFrameInfo)(
19247 windows_core::Interface::as_raw(self),
19248 &mut result__,
19249 )
19250 .and_then(|| windows_core::Type::from_abi(result__))
19251 }
19252 }
19253 pub unsafe fn FrameId(&self, id: *mut u32) -> windows_core::Result<()> {
19254 unsafe {
19255 (windows_core::Interface::vtable(self).FrameId)(
19256 windows_core::Interface::as_raw(self),
19257 id as _,
19258 )
19259 .ok()
19260 }
19261 }
19262 pub unsafe fn FrameKind(&self, kind: *mut COREWEBVIEW2_FRAME_KIND) -> windows_core::Result<()> {
19263 unsafe {
19264 (windows_core::Interface::vtable(self).FrameKind)(
19265 windows_core::Interface::as_raw(self),
19266 kind as _,
19267 )
19268 .ok()
19269 }
19270 }
19271}
19272#[repr(C)]
19273#[doc(hidden)]
19274pub struct ICoreWebView2FrameInfo2_Vtbl {
19275 pub base__: ICoreWebView2FrameInfo_Vtbl,
19276 pub ParentFrameInfo: unsafe extern "system" fn(
19277 *mut core::ffi::c_void,
19278 *mut *mut core::ffi::c_void,
19279 ) -> windows_core::HRESULT,
19280 pub FrameId:
19281 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
19282 pub FrameKind: unsafe extern "system" fn(
19283 *mut core::ffi::c_void,
19284 *mut COREWEBVIEW2_FRAME_KIND,
19285 ) -> windows_core::HRESULT,
19286}
19287pub trait ICoreWebView2FrameInfo2_Impl: ICoreWebView2FrameInfo_Impl {
19288 fn ParentFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo>;
19289 fn FrameId(&self, id: *mut u32) -> windows_core::Result<()>;
19290 fn FrameKind(&self, kind: *mut COREWEBVIEW2_FRAME_KIND) -> windows_core::Result<()>;
19291}
19292impl ICoreWebView2FrameInfo2_Vtbl {
19293 pub const fn new<Identity: ICoreWebView2FrameInfo2_Impl, const OFFSET: isize>() -> Self {
19294 unsafe extern "system" fn ParentFrameInfo<
19295 Identity: ICoreWebView2FrameInfo2_Impl,
19296 const OFFSET: isize,
19297 >(
19298 this: *mut core::ffi::c_void,
19299 frameinfo: *mut *mut core::ffi::c_void,
19300 ) -> windows_core::HRESULT {
19301 unsafe {
19302 let this: &Identity =
19303 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19304 match ICoreWebView2FrameInfo2_Impl::ParentFrameInfo(this) {
19305 Ok(ok__) => {
19306 frameinfo.write(core::mem::transmute(ok__));
19307 windows_core::HRESULT(0)
19308 }
19309 Err(err) => err.into(),
19310 }
19311 }
19312 }
19313 unsafe extern "system" fn FrameId<
19314 Identity: ICoreWebView2FrameInfo2_Impl,
19315 const OFFSET: isize,
19316 >(
19317 this: *mut core::ffi::c_void,
19318 id: *mut u32,
19319 ) -> windows_core::HRESULT {
19320 unsafe {
19321 let this: &Identity =
19322 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19323 ICoreWebView2FrameInfo2_Impl::FrameId(this, core::mem::transmute_copy(&id)).into()
19324 }
19325 }
19326 unsafe extern "system" fn FrameKind<
19327 Identity: ICoreWebView2FrameInfo2_Impl,
19328 const OFFSET: isize,
19329 >(
19330 this: *mut core::ffi::c_void,
19331 kind: *mut COREWEBVIEW2_FRAME_KIND,
19332 ) -> windows_core::HRESULT {
19333 unsafe {
19334 let this: &Identity =
19335 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19336 ICoreWebView2FrameInfo2_Impl::FrameKind(this, core::mem::transmute_copy(&kind))
19337 .into()
19338 }
19339 }
19340 Self {
19341 base__: ICoreWebView2FrameInfo_Vtbl::new::<Identity, OFFSET>(),
19342 ParentFrameInfo: ParentFrameInfo::<Identity, OFFSET>,
19343 FrameId: FrameId::<Identity, OFFSET>,
19344 FrameKind: FrameKind::<Identity, OFFSET>,
19345 }
19346 }
19347 pub fn matches(iid: &windows_core::GUID) -> bool {
19348 iid == &<ICoreWebView2FrameInfo2 as windows_core::Interface>::IID
19349 || iid == &<ICoreWebView2FrameInfo as windows_core::Interface>::IID
19350 }
19351}
19352impl windows_core::RuntimeName for ICoreWebView2FrameInfo2 {}
19353windows_core::imp::define_interface!(
19354 ICoreWebView2FrameInfoCollection,
19355 ICoreWebView2FrameInfoCollection_Vtbl,
19356 0x8f834154_d38e_4d90_affb_6800a7272839
19357);
19358windows_core::imp::interface_hierarchy!(ICoreWebView2FrameInfoCollection, windows_core::IUnknown);
19359impl ICoreWebView2FrameInfoCollection {
19360 pub unsafe fn GetIterator(
19361 &self,
19362 ) -> windows_core::Result<ICoreWebView2FrameInfoCollectionIterator> {
19363 unsafe {
19364 let mut result__ = core::mem::zeroed();
19365 (windows_core::Interface::vtable(self).GetIterator)(
19366 windows_core::Interface::as_raw(self),
19367 &mut result__,
19368 )
19369 .and_then(|| windows_core::Type::from_abi(result__))
19370 }
19371 }
19372}
19373#[repr(C)]
19374#[doc(hidden)]
19375pub struct ICoreWebView2FrameInfoCollection_Vtbl {
19376 pub base__: windows_core::IUnknown_Vtbl,
19377 pub GetIterator: unsafe extern "system" fn(
19378 *mut core::ffi::c_void,
19379 *mut *mut core::ffi::c_void,
19380 ) -> windows_core::HRESULT,
19381}
19382pub trait ICoreWebView2FrameInfoCollection_Impl: windows_core::IUnknownImpl {
19383 fn GetIterator(&self) -> windows_core::Result<ICoreWebView2FrameInfoCollectionIterator>;
19384}
19385impl ICoreWebView2FrameInfoCollection_Vtbl {
19386 pub const fn new<Identity: ICoreWebView2FrameInfoCollection_Impl, const OFFSET: isize>() -> Self
19387 {
19388 unsafe extern "system" fn GetIterator<
19389 Identity: ICoreWebView2FrameInfoCollection_Impl,
19390 const OFFSET: isize,
19391 >(
19392 this: *mut core::ffi::c_void,
19393 value: *mut *mut core::ffi::c_void,
19394 ) -> windows_core::HRESULT {
19395 unsafe {
19396 let this: &Identity =
19397 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19398 match ICoreWebView2FrameInfoCollection_Impl::GetIterator(this) {
19399 Ok(ok__) => {
19400 value.write(core::mem::transmute(ok__));
19401 windows_core::HRESULT(0)
19402 }
19403 Err(err) => err.into(),
19404 }
19405 }
19406 }
19407 Self {
19408 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19409 GetIterator: GetIterator::<Identity, OFFSET>,
19410 }
19411 }
19412 pub fn matches(iid: &windows_core::GUID) -> bool {
19413 iid == &<ICoreWebView2FrameInfoCollection as windows_core::Interface>::IID
19414 }
19415}
19416impl windows_core::RuntimeName for ICoreWebView2FrameInfoCollection {}
19417windows_core::imp::define_interface!(
19418 ICoreWebView2FrameInfoCollectionIterator,
19419 ICoreWebView2FrameInfoCollectionIterator_Vtbl,
19420 0x1bf89e2d_1b2b_4629_b28f_05099b41bb03
19421);
19422windows_core::imp::interface_hierarchy!(
19423 ICoreWebView2FrameInfoCollectionIterator,
19424 windows_core::IUnknown
19425);
19426impl ICoreWebView2FrameInfoCollectionIterator {
19427 pub unsafe fn HasCurrent(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
19428 unsafe {
19429 (windows_core::Interface::vtable(self).HasCurrent)(
19430 windows_core::Interface::as_raw(self),
19431 value as _,
19432 )
19433 .ok()
19434 }
19435 }
19436 pub unsafe fn GetCurrent(&self) -> windows_core::Result<ICoreWebView2FrameInfo> {
19437 unsafe {
19438 let mut result__ = core::mem::zeroed();
19439 (windows_core::Interface::vtable(self).GetCurrent)(
19440 windows_core::Interface::as_raw(self),
19441 &mut result__,
19442 )
19443 .and_then(|| windows_core::Type::from_abi(result__))
19444 }
19445 }
19446 pub unsafe fn MoveNext(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
19447 unsafe {
19448 (windows_core::Interface::vtable(self).MoveNext)(
19449 windows_core::Interface::as_raw(self),
19450 value as _,
19451 )
19452 .ok()
19453 }
19454 }
19455}
19456#[repr(C)]
19457#[doc(hidden)]
19458pub struct ICoreWebView2FrameInfoCollectionIterator_Vtbl {
19459 pub base__: windows_core::IUnknown_Vtbl,
19460 pub HasCurrent: unsafe extern "system" fn(
19461 *mut core::ffi::c_void,
19462 *mut windows_core::BOOL,
19463 ) -> windows_core::HRESULT,
19464 pub GetCurrent: unsafe extern "system" fn(
19465 *mut core::ffi::c_void,
19466 *mut *mut core::ffi::c_void,
19467 ) -> windows_core::HRESULT,
19468 pub MoveNext: unsafe extern "system" fn(
19469 *mut core::ffi::c_void,
19470 *mut windows_core::BOOL,
19471 ) -> windows_core::HRESULT,
19472}
19473pub trait ICoreWebView2FrameInfoCollectionIterator_Impl: windows_core::IUnknownImpl {
19474 fn HasCurrent(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
19475 fn GetCurrent(&self) -> windows_core::Result<ICoreWebView2FrameInfo>;
19476 fn MoveNext(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
19477}
19478impl ICoreWebView2FrameInfoCollectionIterator_Vtbl {
19479 pub const fn new<
19480 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
19481 const OFFSET: isize,
19482 >() -> Self {
19483 unsafe extern "system" fn HasCurrent<
19484 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
19485 const OFFSET: isize,
19486 >(
19487 this: *mut core::ffi::c_void,
19488 value: *mut windows_core::BOOL,
19489 ) -> windows_core::HRESULT {
19490 unsafe {
19491 let this: &Identity =
19492 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19493 ICoreWebView2FrameInfoCollectionIterator_Impl::HasCurrent(
19494 this,
19495 core::mem::transmute_copy(&value),
19496 )
19497 .into()
19498 }
19499 }
19500 unsafe extern "system" fn GetCurrent<
19501 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
19502 const OFFSET: isize,
19503 >(
19504 this: *mut core::ffi::c_void,
19505 value: *mut *mut core::ffi::c_void,
19506 ) -> windows_core::HRESULT {
19507 unsafe {
19508 let this: &Identity =
19509 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19510 match ICoreWebView2FrameInfoCollectionIterator_Impl::GetCurrent(this) {
19511 Ok(ok__) => {
19512 value.write(core::mem::transmute(ok__));
19513 windows_core::HRESULT(0)
19514 }
19515 Err(err) => err.into(),
19516 }
19517 }
19518 }
19519 unsafe extern "system" fn MoveNext<
19520 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
19521 const OFFSET: isize,
19522 >(
19523 this: *mut core::ffi::c_void,
19524 value: *mut windows_core::BOOL,
19525 ) -> windows_core::HRESULT {
19526 unsafe {
19527 let this: &Identity =
19528 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19529 ICoreWebView2FrameInfoCollectionIterator_Impl::MoveNext(
19530 this,
19531 core::mem::transmute_copy(&value),
19532 )
19533 .into()
19534 }
19535 }
19536 Self {
19537 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19538 HasCurrent: HasCurrent::<Identity, OFFSET>,
19539 GetCurrent: GetCurrent::<Identity, OFFSET>,
19540 MoveNext: MoveNext::<Identity, OFFSET>,
19541 }
19542 }
19543 pub fn matches(iid: &windows_core::GUID) -> bool {
19544 iid == &<ICoreWebView2FrameInfoCollectionIterator as windows_core::Interface>::IID
19545 }
19546}
19547impl windows_core::RuntimeName for ICoreWebView2FrameInfoCollectionIterator {}
19548windows_core::imp::define_interface!(
19549 ICoreWebView2FrameNameChangedEventHandler,
19550 ICoreWebView2FrameNameChangedEventHandler_Vtbl,
19551 0x435c7dc8_9baa_11eb_a8b3_0242ac130003
19552);
19553windows_core::imp::interface_hierarchy!(
19554 ICoreWebView2FrameNameChangedEventHandler,
19555 windows_core::IUnknown
19556);
19557impl ICoreWebView2FrameNameChangedEventHandler {
19558 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19559 where
19560 P0: windows_core::Param<ICoreWebView2Frame>,
19561 P1: windows_core::Param<windows_core::IUnknown>,
19562 {
19563 unsafe {
19564 (windows_core::Interface::vtable(self).Invoke)(
19565 windows_core::Interface::as_raw(self),
19566 sender.param().abi(),
19567 args.param().abi(),
19568 )
19569 .ok()
19570 }
19571 }
19572}
19573#[repr(C)]
19574#[doc(hidden)]
19575pub struct ICoreWebView2FrameNameChangedEventHandler_Vtbl {
19576 pub base__: windows_core::IUnknown_Vtbl,
19577 pub Invoke: unsafe extern "system" fn(
19578 *mut core::ffi::c_void,
19579 *mut core::ffi::c_void,
19580 *mut core::ffi::c_void,
19581 ) -> windows_core::HRESULT,
19582}
19583pub trait ICoreWebView2FrameNameChangedEventHandler_Impl: windows_core::IUnknownImpl {
19584 fn Invoke(
19585 &self,
19586 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
19587 args: windows_core::Ref<'_, windows_core::IUnknown>,
19588 ) -> windows_core::Result<()>;
19589}
19590impl ICoreWebView2FrameNameChangedEventHandler_Vtbl {
19591 pub const fn new<
19592 Identity: ICoreWebView2FrameNameChangedEventHandler_Impl,
19593 const OFFSET: isize,
19594 >() -> Self {
19595 unsafe extern "system" fn Invoke<
19596 Identity: ICoreWebView2FrameNameChangedEventHandler_Impl,
19597 const OFFSET: isize,
19598 >(
19599 this: *mut core::ffi::c_void,
19600 sender: *mut core::ffi::c_void,
19601 args: *mut core::ffi::c_void,
19602 ) -> windows_core::HRESULT {
19603 unsafe {
19604 let this: &Identity =
19605 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19606 ICoreWebView2FrameNameChangedEventHandler_Impl::Invoke(
19607 this,
19608 core::mem::transmute_copy(&sender),
19609 core::mem::transmute_copy(&args),
19610 )
19611 .into()
19612 }
19613 }
19614 Self {
19615 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19616 Invoke: Invoke::<Identity, OFFSET>,
19617 }
19618 }
19619 pub fn matches(iid: &windows_core::GUID) -> bool {
19620 iid == &<ICoreWebView2FrameNameChangedEventHandler as windows_core::Interface>::IID
19621 }
19622}
19623impl windows_core::RuntimeName for ICoreWebView2FrameNameChangedEventHandler {}
19624windows_core::imp::define_interface!(
19625 ICoreWebView2FrameNavigationCompletedEventHandler,
19626 ICoreWebView2FrameNavigationCompletedEventHandler_Vtbl,
19627 0x609302ad_0e36_4f9a_a210_6a45272842a9
19628);
19629windows_core::imp::interface_hierarchy!(
19630 ICoreWebView2FrameNavigationCompletedEventHandler,
19631 windows_core::IUnknown
19632);
19633impl ICoreWebView2FrameNavigationCompletedEventHandler {
19634 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19635 where
19636 P0: windows_core::Param<ICoreWebView2Frame>,
19637 P1: windows_core::Param<ICoreWebView2NavigationCompletedEventArgs>,
19638 {
19639 unsafe {
19640 (windows_core::Interface::vtable(self).Invoke)(
19641 windows_core::Interface::as_raw(self),
19642 sender.param().abi(),
19643 args.param().abi(),
19644 )
19645 .ok()
19646 }
19647 }
19648}
19649#[repr(C)]
19650#[doc(hidden)]
19651pub struct ICoreWebView2FrameNavigationCompletedEventHandler_Vtbl {
19652 pub base__: windows_core::IUnknown_Vtbl,
19653 pub Invoke: unsafe extern "system" fn(
19654 *mut core::ffi::c_void,
19655 *mut core::ffi::c_void,
19656 *mut core::ffi::c_void,
19657 ) -> windows_core::HRESULT,
19658}
19659pub trait ICoreWebView2FrameNavigationCompletedEventHandler_Impl:
19660 windows_core::IUnknownImpl
19661{
19662 fn Invoke(
19663 &self,
19664 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
19665 args: windows_core::Ref<'_, ICoreWebView2NavigationCompletedEventArgs>,
19666 ) -> windows_core::Result<()>;
19667}
19668impl ICoreWebView2FrameNavigationCompletedEventHandler_Vtbl {
19669 pub const fn new<
19670 Identity: ICoreWebView2FrameNavigationCompletedEventHandler_Impl,
19671 const OFFSET: isize,
19672 >() -> Self {
19673 unsafe extern "system" fn Invoke<
19674 Identity: ICoreWebView2FrameNavigationCompletedEventHandler_Impl,
19675 const OFFSET: isize,
19676 >(
19677 this: *mut core::ffi::c_void,
19678 sender: *mut core::ffi::c_void,
19679 args: *mut core::ffi::c_void,
19680 ) -> windows_core::HRESULT {
19681 unsafe {
19682 let this: &Identity =
19683 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19684 ICoreWebView2FrameNavigationCompletedEventHandler_Impl::Invoke(
19685 this,
19686 core::mem::transmute_copy(&sender),
19687 core::mem::transmute_copy(&args),
19688 )
19689 .into()
19690 }
19691 }
19692 Self {
19693 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19694 Invoke: Invoke::<Identity, OFFSET>,
19695 }
19696 }
19697 pub fn matches(iid: &windows_core::GUID) -> bool {
19698 iid == &<ICoreWebView2FrameNavigationCompletedEventHandler as windows_core::Interface>::IID
19699 }
19700}
19701impl windows_core::RuntimeName for ICoreWebView2FrameNavigationCompletedEventHandler {}
19702windows_core::imp::define_interface!(
19703 ICoreWebView2FrameNavigationStartingEventHandler,
19704 ICoreWebView2FrameNavigationStartingEventHandler_Vtbl,
19705 0xe79908bf_2d5d_4968_83db_263fea2c1da3
19706);
19707windows_core::imp::interface_hierarchy!(
19708 ICoreWebView2FrameNavigationStartingEventHandler,
19709 windows_core::IUnknown
19710);
19711impl ICoreWebView2FrameNavigationStartingEventHandler {
19712 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19713 where
19714 P0: windows_core::Param<ICoreWebView2Frame>,
19715 P1: windows_core::Param<ICoreWebView2NavigationStartingEventArgs>,
19716 {
19717 unsafe {
19718 (windows_core::Interface::vtable(self).Invoke)(
19719 windows_core::Interface::as_raw(self),
19720 sender.param().abi(),
19721 args.param().abi(),
19722 )
19723 .ok()
19724 }
19725 }
19726}
19727#[repr(C)]
19728#[doc(hidden)]
19729pub struct ICoreWebView2FrameNavigationStartingEventHandler_Vtbl {
19730 pub base__: windows_core::IUnknown_Vtbl,
19731 pub Invoke: unsafe extern "system" fn(
19732 *mut core::ffi::c_void,
19733 *mut core::ffi::c_void,
19734 *mut core::ffi::c_void,
19735 ) -> windows_core::HRESULT,
19736}
19737pub trait ICoreWebView2FrameNavigationStartingEventHandler_Impl:
19738 windows_core::IUnknownImpl
19739{
19740 fn Invoke(
19741 &self,
19742 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
19743 args: windows_core::Ref<'_, ICoreWebView2NavigationStartingEventArgs>,
19744 ) -> windows_core::Result<()>;
19745}
19746impl ICoreWebView2FrameNavigationStartingEventHandler_Vtbl {
19747 pub const fn new<
19748 Identity: ICoreWebView2FrameNavigationStartingEventHandler_Impl,
19749 const OFFSET: isize,
19750 >() -> Self {
19751 unsafe extern "system" fn Invoke<
19752 Identity: ICoreWebView2FrameNavigationStartingEventHandler_Impl,
19753 const OFFSET: isize,
19754 >(
19755 this: *mut core::ffi::c_void,
19756 sender: *mut core::ffi::c_void,
19757 args: *mut core::ffi::c_void,
19758 ) -> windows_core::HRESULT {
19759 unsafe {
19760 let this: &Identity =
19761 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19762 ICoreWebView2FrameNavigationStartingEventHandler_Impl::Invoke(
19763 this,
19764 core::mem::transmute_copy(&sender),
19765 core::mem::transmute_copy(&args),
19766 )
19767 .into()
19768 }
19769 }
19770 Self {
19771 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19772 Invoke: Invoke::<Identity, OFFSET>,
19773 }
19774 }
19775 pub fn matches(iid: &windows_core::GUID) -> bool {
19776 iid == &<ICoreWebView2FrameNavigationStartingEventHandler as windows_core::Interface>::IID
19777 }
19778}
19779impl windows_core::RuntimeName for ICoreWebView2FrameNavigationStartingEventHandler {}
19780windows_core::imp::define_interface!(
19781 ICoreWebView2FramePermissionRequestedEventHandler,
19782 ICoreWebView2FramePermissionRequestedEventHandler_Vtbl,
19783 0x845d0edd_8bd8_429b_9915_4821789f23e9
19784);
19785windows_core::imp::interface_hierarchy!(
19786 ICoreWebView2FramePermissionRequestedEventHandler,
19787 windows_core::IUnknown
19788);
19789impl ICoreWebView2FramePermissionRequestedEventHandler {
19790 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19791 where
19792 P0: windows_core::Param<ICoreWebView2Frame>,
19793 P1: windows_core::Param<ICoreWebView2PermissionRequestedEventArgs2>,
19794 {
19795 unsafe {
19796 (windows_core::Interface::vtable(self).Invoke)(
19797 windows_core::Interface::as_raw(self),
19798 sender.param().abi(),
19799 args.param().abi(),
19800 )
19801 .ok()
19802 }
19803 }
19804}
19805#[repr(C)]
19806#[doc(hidden)]
19807pub struct ICoreWebView2FramePermissionRequestedEventHandler_Vtbl {
19808 pub base__: windows_core::IUnknown_Vtbl,
19809 pub Invoke: unsafe extern "system" fn(
19810 *mut core::ffi::c_void,
19811 *mut core::ffi::c_void,
19812 *mut core::ffi::c_void,
19813 ) -> windows_core::HRESULT,
19814}
19815pub trait ICoreWebView2FramePermissionRequestedEventHandler_Impl:
19816 windows_core::IUnknownImpl
19817{
19818 fn Invoke(
19819 &self,
19820 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
19821 args: windows_core::Ref<'_, ICoreWebView2PermissionRequestedEventArgs2>,
19822 ) -> windows_core::Result<()>;
19823}
19824impl ICoreWebView2FramePermissionRequestedEventHandler_Vtbl {
19825 pub const fn new<
19826 Identity: ICoreWebView2FramePermissionRequestedEventHandler_Impl,
19827 const OFFSET: isize,
19828 >() -> Self {
19829 unsafe extern "system" fn Invoke<
19830 Identity: ICoreWebView2FramePermissionRequestedEventHandler_Impl,
19831 const OFFSET: isize,
19832 >(
19833 this: *mut core::ffi::c_void,
19834 sender: *mut core::ffi::c_void,
19835 args: *mut core::ffi::c_void,
19836 ) -> windows_core::HRESULT {
19837 unsafe {
19838 let this: &Identity =
19839 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19840 ICoreWebView2FramePermissionRequestedEventHandler_Impl::Invoke(
19841 this,
19842 core::mem::transmute_copy(&sender),
19843 core::mem::transmute_copy(&args),
19844 )
19845 .into()
19846 }
19847 }
19848 Self {
19849 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19850 Invoke: Invoke::<Identity, OFFSET>,
19851 }
19852 }
19853 pub fn matches(iid: &windows_core::GUID) -> bool {
19854 iid == &<ICoreWebView2FramePermissionRequestedEventHandler as windows_core::Interface>::IID
19855 }
19856}
19857impl windows_core::RuntimeName for ICoreWebView2FramePermissionRequestedEventHandler {}
19858windows_core::imp::define_interface!(
19859 ICoreWebView2FrameScreenCaptureStartingEventHandler,
19860 ICoreWebView2FrameScreenCaptureStartingEventHandler_Vtbl,
19861 0xa6c1d8ad_bb80_59c5_895b_fba1698b9309
19862);
19863windows_core::imp::interface_hierarchy!(
19864 ICoreWebView2FrameScreenCaptureStartingEventHandler,
19865 windows_core::IUnknown
19866);
19867impl ICoreWebView2FrameScreenCaptureStartingEventHandler {
19868 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19869 where
19870 P0: windows_core::Param<ICoreWebView2Frame>,
19871 P1: windows_core::Param<ICoreWebView2ScreenCaptureStartingEventArgs>,
19872 {
19873 unsafe {
19874 (windows_core::Interface::vtable(self).Invoke)(
19875 windows_core::Interface::as_raw(self),
19876 sender.param().abi(),
19877 args.param().abi(),
19878 )
19879 .ok()
19880 }
19881 }
19882}
19883#[repr(C)]
19884#[doc(hidden)]
19885pub struct ICoreWebView2FrameScreenCaptureStartingEventHandler_Vtbl {
19886 pub base__: windows_core::IUnknown_Vtbl,
19887 pub Invoke: unsafe extern "system" fn(
19888 *mut core::ffi::c_void,
19889 *mut core::ffi::c_void,
19890 *mut core::ffi::c_void,
19891 ) -> windows_core::HRESULT,
19892}
19893pub trait ICoreWebView2FrameScreenCaptureStartingEventHandler_Impl:
19894 windows_core::IUnknownImpl
19895{
19896 fn Invoke(
19897 &self,
19898 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
19899 args: windows_core::Ref<'_, ICoreWebView2ScreenCaptureStartingEventArgs>,
19900 ) -> windows_core::Result<()>;
19901}
19902impl ICoreWebView2FrameScreenCaptureStartingEventHandler_Vtbl {
19903 pub const fn new<
19904 Identity: ICoreWebView2FrameScreenCaptureStartingEventHandler_Impl,
19905 const OFFSET: isize,
19906 >() -> Self {
19907 unsafe extern "system" fn Invoke<
19908 Identity: ICoreWebView2FrameScreenCaptureStartingEventHandler_Impl,
19909 const OFFSET: isize,
19910 >(
19911 this: *mut core::ffi::c_void,
19912 sender: *mut core::ffi::c_void,
19913 args: *mut core::ffi::c_void,
19914 ) -> windows_core::HRESULT {
19915 unsafe {
19916 let this: &Identity =
19917 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19918 ICoreWebView2FrameScreenCaptureStartingEventHandler_Impl::Invoke(
19919 this,
19920 core::mem::transmute_copy(&sender),
19921 core::mem::transmute_copy(&args),
19922 )
19923 .into()
19924 }
19925 }
19926 Self {
19927 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
19928 Invoke: Invoke::<Identity, OFFSET>,
19929 }
19930 }
19931 pub fn matches(iid: &windows_core::GUID) -> bool {
19932 iid == & < ICoreWebView2FrameScreenCaptureStartingEventHandler as windows_core::Interface >::IID
19933 }
19934}
19935impl windows_core::RuntimeName for ICoreWebView2FrameScreenCaptureStartingEventHandler {}
19936windows_core::imp::define_interface!(
19937 ICoreWebView2FrameWebMessageReceivedEventHandler,
19938 ICoreWebView2FrameWebMessageReceivedEventHandler_Vtbl,
19939 0xe371e005_6d1d_4517_934b_a8f1629c62a5
19940);
19941windows_core::imp::interface_hierarchy!(
19942 ICoreWebView2FrameWebMessageReceivedEventHandler,
19943 windows_core::IUnknown
19944);
19945impl ICoreWebView2FrameWebMessageReceivedEventHandler {
19946 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
19947 where
19948 P0: windows_core::Param<ICoreWebView2Frame>,
19949 P1: windows_core::Param<ICoreWebView2WebMessageReceivedEventArgs>,
19950 {
19951 unsafe {
19952 (windows_core::Interface::vtable(self).Invoke)(
19953 windows_core::Interface::as_raw(self),
19954 sender.param().abi(),
19955 args.param().abi(),
19956 )
19957 .ok()
19958 }
19959 }
19960}
19961#[repr(C)]
19962#[doc(hidden)]
19963pub struct ICoreWebView2FrameWebMessageReceivedEventHandler_Vtbl {
19964 pub base__: windows_core::IUnknown_Vtbl,
19965 pub Invoke: unsafe extern "system" fn(
19966 *mut core::ffi::c_void,
19967 *mut core::ffi::c_void,
19968 *mut core::ffi::c_void,
19969 ) -> windows_core::HRESULT,
19970}
19971pub trait ICoreWebView2FrameWebMessageReceivedEventHandler_Impl:
19972 windows_core::IUnknownImpl
19973{
19974 fn Invoke(
19975 &self,
19976 sender: windows_core::Ref<'_, ICoreWebView2Frame>,
19977 args: windows_core::Ref<'_, ICoreWebView2WebMessageReceivedEventArgs>,
19978 ) -> windows_core::Result<()>;
19979}
19980impl ICoreWebView2FrameWebMessageReceivedEventHandler_Vtbl {
19981 pub const fn new<
19982 Identity: ICoreWebView2FrameWebMessageReceivedEventHandler_Impl,
19983 const OFFSET: isize,
19984 >() -> Self {
19985 unsafe extern "system" fn Invoke<
19986 Identity: ICoreWebView2FrameWebMessageReceivedEventHandler_Impl,
19987 const OFFSET: isize,
19988 >(
19989 this: *mut core::ffi::c_void,
19990 sender: *mut core::ffi::c_void,
19991 args: *mut core::ffi::c_void,
19992 ) -> windows_core::HRESULT {
19993 unsafe {
19994 let this: &Identity =
19995 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19996 ICoreWebView2FrameWebMessageReceivedEventHandler_Impl::Invoke(
19997 this,
19998 core::mem::transmute_copy(&sender),
19999 core::mem::transmute_copy(&args),
20000 )
20001 .into()
20002 }
20003 }
20004 Self {
20005 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20006 Invoke: Invoke::<Identity, OFFSET>,
20007 }
20008 }
20009 pub fn matches(iid: &windows_core::GUID) -> bool {
20010 iid == &<ICoreWebView2FrameWebMessageReceivedEventHandler as windows_core::Interface>::IID
20011 }
20012}
20013impl windows_core::RuntimeName for ICoreWebView2FrameWebMessageReceivedEventHandler {}
20014windows_core::imp::define_interface!(
20015 ICoreWebView2GetCookiesCompletedHandler,
20016 ICoreWebView2GetCookiesCompletedHandler_Vtbl,
20017 0x5a4f5069_5c15_47c3_8646_f4de1c116670
20018);
20019windows_core::imp::interface_hierarchy!(
20020 ICoreWebView2GetCookiesCompletedHandler,
20021 windows_core::IUnknown
20022);
20023impl ICoreWebView2GetCookiesCompletedHandler {
20024 pub unsafe fn Invoke<P1>(
20025 &self,
20026 errorcode: windows_core::HRESULT,
20027 result: P1,
20028 ) -> windows_core::Result<()>
20029 where
20030 P1: windows_core::Param<ICoreWebView2CookieList>,
20031 {
20032 unsafe {
20033 (windows_core::Interface::vtable(self).Invoke)(
20034 windows_core::Interface::as_raw(self),
20035 errorcode,
20036 result.param().abi(),
20037 )
20038 .ok()
20039 }
20040 }
20041}
20042#[repr(C)]
20043#[doc(hidden)]
20044pub struct ICoreWebView2GetCookiesCompletedHandler_Vtbl {
20045 pub base__: windows_core::IUnknown_Vtbl,
20046 pub Invoke: unsafe extern "system" fn(
20047 *mut core::ffi::c_void,
20048 windows_core::HRESULT,
20049 *mut core::ffi::c_void,
20050 ) -> windows_core::HRESULT,
20051}
20052pub trait ICoreWebView2GetCookiesCompletedHandler_Impl: windows_core::IUnknownImpl {
20053 fn Invoke(
20054 &self,
20055 errorcode: windows_core::HRESULT,
20056 result: windows_core::Ref<'_, ICoreWebView2CookieList>,
20057 ) -> windows_core::Result<()>;
20058}
20059impl ICoreWebView2GetCookiesCompletedHandler_Vtbl {
20060 pub const fn new<
20061 Identity: ICoreWebView2GetCookiesCompletedHandler_Impl,
20062 const OFFSET: isize,
20063 >() -> Self {
20064 unsafe extern "system" fn Invoke<
20065 Identity: ICoreWebView2GetCookiesCompletedHandler_Impl,
20066 const OFFSET: isize,
20067 >(
20068 this: *mut core::ffi::c_void,
20069 errorcode: windows_core::HRESULT,
20070 result: *mut core::ffi::c_void,
20071 ) -> windows_core::HRESULT {
20072 unsafe {
20073 let this: &Identity =
20074 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20075 ICoreWebView2GetCookiesCompletedHandler_Impl::Invoke(
20076 this,
20077 core::mem::transmute_copy(&errorcode),
20078 core::mem::transmute_copy(&result),
20079 )
20080 .into()
20081 }
20082 }
20083 Self {
20084 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20085 Invoke: Invoke::<Identity, OFFSET>,
20086 }
20087 }
20088 pub fn matches(iid: &windows_core::GUID) -> bool {
20089 iid == &<ICoreWebView2GetCookiesCompletedHandler as windows_core::Interface>::IID
20090 }
20091}
20092impl windows_core::RuntimeName for ICoreWebView2GetCookiesCompletedHandler {}
20093windows_core::imp::define_interface!(
20094 ICoreWebView2GetFaviconCompletedHandler,
20095 ICoreWebView2GetFaviconCompletedHandler_Vtbl,
20096 0xa2508329_7da8_49d7_8c05_fa125e4aee8d
20097);
20098windows_core::imp::interface_hierarchy!(
20099 ICoreWebView2GetFaviconCompletedHandler,
20100 windows_core::IUnknown
20101);
20102impl ICoreWebView2GetFaviconCompletedHandler {
20103 pub unsafe fn Invoke<P1>(
20104 &self,
20105 errorcode: windows_core::HRESULT,
20106 result: P1,
20107 ) -> windows_core::Result<()>
20108 where
20109 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
20110 {
20111 unsafe {
20112 (windows_core::Interface::vtable(self).Invoke)(
20113 windows_core::Interface::as_raw(self),
20114 errorcode,
20115 result.param().abi(),
20116 )
20117 .ok()
20118 }
20119 }
20120}
20121#[repr(C)]
20122#[doc(hidden)]
20123pub struct ICoreWebView2GetFaviconCompletedHandler_Vtbl {
20124 pub base__: windows_core::IUnknown_Vtbl,
20125 pub Invoke: unsafe extern "system" fn(
20126 *mut core::ffi::c_void,
20127 windows_core::HRESULT,
20128 *mut core::ffi::c_void,
20129 ) -> windows_core::HRESULT,
20130}
20131pub trait ICoreWebView2GetFaviconCompletedHandler_Impl: windows_core::IUnknownImpl {
20132 fn Invoke(
20133 &self,
20134 errorcode: windows_core::HRESULT,
20135 result: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
20136 ) -> windows_core::Result<()>;
20137}
20138impl ICoreWebView2GetFaviconCompletedHandler_Vtbl {
20139 pub const fn new<
20140 Identity: ICoreWebView2GetFaviconCompletedHandler_Impl,
20141 const OFFSET: isize,
20142 >() -> Self {
20143 unsafe extern "system" fn Invoke<
20144 Identity: ICoreWebView2GetFaviconCompletedHandler_Impl,
20145 const OFFSET: isize,
20146 >(
20147 this: *mut core::ffi::c_void,
20148 errorcode: windows_core::HRESULT,
20149 result: *mut core::ffi::c_void,
20150 ) -> windows_core::HRESULT {
20151 unsafe {
20152 let this: &Identity =
20153 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20154 ICoreWebView2GetFaviconCompletedHandler_Impl::Invoke(
20155 this,
20156 core::mem::transmute_copy(&errorcode),
20157 core::mem::transmute_copy(&result),
20158 )
20159 .into()
20160 }
20161 }
20162 Self {
20163 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20164 Invoke: Invoke::<Identity, OFFSET>,
20165 }
20166 }
20167 pub fn matches(iid: &windows_core::GUID) -> bool {
20168 iid == &<ICoreWebView2GetFaviconCompletedHandler as windows_core::Interface>::IID
20169 }
20170}
20171impl windows_core::RuntimeName for ICoreWebView2GetFaviconCompletedHandler {}
20172windows_core::imp::define_interface!(
20173 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler,
20174 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Vtbl,
20175 0x38274481_a15c_4563_94cf_990edc9aeb95
20176);
20177windows_core::imp::interface_hierarchy!(
20178 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler,
20179 windows_core::IUnknown
20180);
20181impl ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler {
20182 pub unsafe fn Invoke<P1>(
20183 &self,
20184 errorcode: windows_core::HRESULT,
20185 result: P1,
20186 ) -> windows_core::Result<()>
20187 where
20188 P1: windows_core::Param<ICoreWebView2PermissionSettingCollectionView>,
20189 {
20190 unsafe {
20191 (windows_core::Interface::vtable(self).Invoke)(
20192 windows_core::Interface::as_raw(self),
20193 errorcode,
20194 result.param().abi(),
20195 )
20196 .ok()
20197 }
20198 }
20199}
20200#[repr(C)]
20201#[doc(hidden)]
20202pub struct ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Vtbl {
20203 pub base__: windows_core::IUnknown_Vtbl,
20204 pub Invoke: unsafe extern "system" fn(
20205 *mut core::ffi::c_void,
20206 windows_core::HRESULT,
20207 *mut core::ffi::c_void,
20208 ) -> windows_core::HRESULT,
20209}
20210pub trait ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Impl:
20211 windows_core::IUnknownImpl
20212{
20213 fn Invoke(
20214 &self,
20215 errorcode: windows_core::HRESULT,
20216 result: windows_core::Ref<'_, ICoreWebView2PermissionSettingCollectionView>,
20217 ) -> windows_core::Result<()>;
20218}
20219impl ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Vtbl {
20220 pub const fn new<
20221 Identity: ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Impl,
20222 const OFFSET: isize,
20223 >() -> Self {
20224 unsafe extern "system" fn Invoke<
20225 Identity: ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Impl,
20226 const OFFSET: isize,
20227 >(
20228 this: *mut core::ffi::c_void,
20229 errorcode: windows_core::HRESULT,
20230 result: *mut core::ffi::c_void,
20231 ) -> windows_core::HRESULT {
20232 unsafe {
20233 let this: &Identity =
20234 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20235 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Impl::Invoke(
20236 this,
20237 core::mem::transmute_copy(&errorcode),
20238 core::mem::transmute_copy(&result),
20239 )
20240 .into()
20241 }
20242 }
20243 Self {
20244 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20245 Invoke: Invoke::<Identity, OFFSET>,
20246 }
20247 }
20248 pub fn matches(iid: &windows_core::GUID) -> bool {
20249 iid == & < ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler as windows_core::Interface >::IID
20250 }
20251}
20252impl windows_core::RuntimeName for ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler {}
20253windows_core::imp::define_interface!(
20254 ICoreWebView2GetProcessExtendedInfosCompletedHandler,
20255 ICoreWebView2GetProcessExtendedInfosCompletedHandler_Vtbl,
20256 0xf45e55aa_3bc2_11ee_be56_0242ac120002
20257);
20258windows_core::imp::interface_hierarchy!(
20259 ICoreWebView2GetProcessExtendedInfosCompletedHandler,
20260 windows_core::IUnknown
20261);
20262impl ICoreWebView2GetProcessExtendedInfosCompletedHandler {
20263 pub unsafe fn Invoke<P1>(
20264 &self,
20265 errorcode: windows_core::HRESULT,
20266 result: P1,
20267 ) -> windows_core::Result<()>
20268 where
20269 P1: windows_core::Param<ICoreWebView2ProcessExtendedInfoCollection>,
20270 {
20271 unsafe {
20272 (windows_core::Interface::vtable(self).Invoke)(
20273 windows_core::Interface::as_raw(self),
20274 errorcode,
20275 result.param().abi(),
20276 )
20277 .ok()
20278 }
20279 }
20280}
20281#[repr(C)]
20282#[doc(hidden)]
20283pub struct ICoreWebView2GetProcessExtendedInfosCompletedHandler_Vtbl {
20284 pub base__: windows_core::IUnknown_Vtbl,
20285 pub Invoke: unsafe extern "system" fn(
20286 *mut core::ffi::c_void,
20287 windows_core::HRESULT,
20288 *mut core::ffi::c_void,
20289 ) -> windows_core::HRESULT,
20290}
20291pub trait ICoreWebView2GetProcessExtendedInfosCompletedHandler_Impl:
20292 windows_core::IUnknownImpl
20293{
20294 fn Invoke(
20295 &self,
20296 errorcode: windows_core::HRESULT,
20297 result: windows_core::Ref<'_, ICoreWebView2ProcessExtendedInfoCollection>,
20298 ) -> windows_core::Result<()>;
20299}
20300impl ICoreWebView2GetProcessExtendedInfosCompletedHandler_Vtbl {
20301 pub const fn new<
20302 Identity: ICoreWebView2GetProcessExtendedInfosCompletedHandler_Impl,
20303 const OFFSET: isize,
20304 >() -> Self {
20305 unsafe extern "system" fn Invoke<
20306 Identity: ICoreWebView2GetProcessExtendedInfosCompletedHandler_Impl,
20307 const OFFSET: isize,
20308 >(
20309 this: *mut core::ffi::c_void,
20310 errorcode: windows_core::HRESULT,
20311 result: *mut core::ffi::c_void,
20312 ) -> windows_core::HRESULT {
20313 unsafe {
20314 let this: &Identity =
20315 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20316 ICoreWebView2GetProcessExtendedInfosCompletedHandler_Impl::Invoke(
20317 this,
20318 core::mem::transmute_copy(&errorcode),
20319 core::mem::transmute_copy(&result),
20320 )
20321 .into()
20322 }
20323 }
20324 Self {
20325 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20326 Invoke: Invoke::<Identity, OFFSET>,
20327 }
20328 }
20329 pub fn matches(iid: &windows_core::GUID) -> bool {
20330 iid == & < ICoreWebView2GetProcessExtendedInfosCompletedHandler as windows_core::Interface >::IID
20331 }
20332}
20333impl windows_core::RuntimeName for ICoreWebView2GetProcessExtendedInfosCompletedHandler {}
20334windows_core::imp::define_interface!(
20335 ICoreWebView2HistoryChangedEventHandler,
20336 ICoreWebView2HistoryChangedEventHandler_Vtbl,
20337 0xc79a420c_efd9_4058_9295_3e8b4bcab645
20338);
20339windows_core::imp::interface_hierarchy!(
20340 ICoreWebView2HistoryChangedEventHandler,
20341 windows_core::IUnknown
20342);
20343impl ICoreWebView2HistoryChangedEventHandler {
20344 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
20345 where
20346 P0: windows_core::Param<ICoreWebView2>,
20347 P1: windows_core::Param<windows_core::IUnknown>,
20348 {
20349 unsafe {
20350 (windows_core::Interface::vtable(self).Invoke)(
20351 windows_core::Interface::as_raw(self),
20352 sender.param().abi(),
20353 args.param().abi(),
20354 )
20355 .ok()
20356 }
20357 }
20358}
20359#[repr(C)]
20360#[doc(hidden)]
20361pub struct ICoreWebView2HistoryChangedEventHandler_Vtbl {
20362 pub base__: windows_core::IUnknown_Vtbl,
20363 pub Invoke: unsafe extern "system" fn(
20364 *mut core::ffi::c_void,
20365 *mut core::ffi::c_void,
20366 *mut core::ffi::c_void,
20367 ) -> windows_core::HRESULT,
20368}
20369pub trait ICoreWebView2HistoryChangedEventHandler_Impl: windows_core::IUnknownImpl {
20370 fn Invoke(
20371 &self,
20372 sender: windows_core::Ref<'_, ICoreWebView2>,
20373 args: windows_core::Ref<'_, windows_core::IUnknown>,
20374 ) -> windows_core::Result<()>;
20375}
20376impl ICoreWebView2HistoryChangedEventHandler_Vtbl {
20377 pub const fn new<
20378 Identity: ICoreWebView2HistoryChangedEventHandler_Impl,
20379 const OFFSET: isize,
20380 >() -> Self {
20381 unsafe extern "system" fn Invoke<
20382 Identity: ICoreWebView2HistoryChangedEventHandler_Impl,
20383 const OFFSET: isize,
20384 >(
20385 this: *mut core::ffi::c_void,
20386 sender: *mut core::ffi::c_void,
20387 args: *mut core::ffi::c_void,
20388 ) -> windows_core::HRESULT {
20389 unsafe {
20390 let this: &Identity =
20391 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20392 ICoreWebView2HistoryChangedEventHandler_Impl::Invoke(
20393 this,
20394 core::mem::transmute_copy(&sender),
20395 core::mem::transmute_copy(&args),
20396 )
20397 .into()
20398 }
20399 }
20400 Self {
20401 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20402 Invoke: Invoke::<Identity, OFFSET>,
20403 }
20404 }
20405 pub fn matches(iid: &windows_core::GUID) -> bool {
20406 iid == &<ICoreWebView2HistoryChangedEventHandler as windows_core::Interface>::IID
20407 }
20408}
20409impl windows_core::RuntimeName for ICoreWebView2HistoryChangedEventHandler {}
20410windows_core::imp::define_interface!(
20411 ICoreWebView2HttpHeadersCollectionIterator,
20412 ICoreWebView2HttpHeadersCollectionIterator_Vtbl,
20413 0x0702fc30_f43b_47bb_ab52_a42cb552ad9f
20414);
20415windows_core::imp::interface_hierarchy!(
20416 ICoreWebView2HttpHeadersCollectionIterator,
20417 windows_core::IUnknown
20418);
20419impl ICoreWebView2HttpHeadersCollectionIterator {
20420 pub unsafe fn GetCurrentHeader(
20421 &self,
20422 name: *mut windows_core::PWSTR,
20423 value: *mut windows_core::PWSTR,
20424 ) -> windows_core::Result<()> {
20425 unsafe {
20426 (windows_core::Interface::vtable(self).GetCurrentHeader)(
20427 windows_core::Interface::as_raw(self),
20428 name as _,
20429 value as _,
20430 )
20431 .ok()
20432 }
20433 }
20434 pub unsafe fn HasCurrentHeader(
20435 &self,
20436 hascurrent: *mut windows_core::BOOL,
20437 ) -> windows_core::Result<()> {
20438 unsafe {
20439 (windows_core::Interface::vtable(self).HasCurrentHeader)(
20440 windows_core::Interface::as_raw(self),
20441 hascurrent as _,
20442 )
20443 .ok()
20444 }
20445 }
20446 pub unsafe fn MoveNext(&self, hasnext: *mut windows_core::BOOL) -> windows_core::Result<()> {
20447 unsafe {
20448 (windows_core::Interface::vtable(self).MoveNext)(
20449 windows_core::Interface::as_raw(self),
20450 hasnext as _,
20451 )
20452 .ok()
20453 }
20454 }
20455}
20456#[repr(C)]
20457#[doc(hidden)]
20458pub struct ICoreWebView2HttpHeadersCollectionIterator_Vtbl {
20459 pub base__: windows_core::IUnknown_Vtbl,
20460 pub GetCurrentHeader: unsafe extern "system" fn(
20461 *mut core::ffi::c_void,
20462 *mut windows_core::PWSTR,
20463 *mut windows_core::PWSTR,
20464 ) -> windows_core::HRESULT,
20465 pub HasCurrentHeader: unsafe extern "system" fn(
20466 *mut core::ffi::c_void,
20467 *mut windows_core::BOOL,
20468 ) -> windows_core::HRESULT,
20469 pub MoveNext: unsafe extern "system" fn(
20470 *mut core::ffi::c_void,
20471 *mut windows_core::BOOL,
20472 ) -> windows_core::HRESULT,
20473}
20474pub trait ICoreWebView2HttpHeadersCollectionIterator_Impl: windows_core::IUnknownImpl {
20475 fn GetCurrentHeader(
20476 &self,
20477 name: *mut windows_core::PWSTR,
20478 value: *mut windows_core::PWSTR,
20479 ) -> windows_core::Result<()>;
20480 fn HasCurrentHeader(&self, hascurrent: *mut windows_core::BOOL) -> windows_core::Result<()>;
20481 fn MoveNext(&self, hasnext: *mut windows_core::BOOL) -> windows_core::Result<()>;
20482}
20483impl ICoreWebView2HttpHeadersCollectionIterator_Vtbl {
20484 pub const fn new<
20485 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
20486 const OFFSET: isize,
20487 >() -> Self {
20488 unsafe extern "system" fn GetCurrentHeader<
20489 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
20490 const OFFSET: isize,
20491 >(
20492 this: *mut core::ffi::c_void,
20493 name: *mut windows_core::PWSTR,
20494 value: *mut windows_core::PWSTR,
20495 ) -> windows_core::HRESULT {
20496 unsafe {
20497 let this: &Identity =
20498 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20499 ICoreWebView2HttpHeadersCollectionIterator_Impl::GetCurrentHeader(
20500 this,
20501 core::mem::transmute_copy(&name),
20502 core::mem::transmute_copy(&value),
20503 )
20504 .into()
20505 }
20506 }
20507 unsafe extern "system" fn HasCurrentHeader<
20508 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
20509 const OFFSET: isize,
20510 >(
20511 this: *mut core::ffi::c_void,
20512 hascurrent: *mut windows_core::BOOL,
20513 ) -> windows_core::HRESULT {
20514 unsafe {
20515 let this: &Identity =
20516 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20517 ICoreWebView2HttpHeadersCollectionIterator_Impl::HasCurrentHeader(
20518 this,
20519 core::mem::transmute_copy(&hascurrent),
20520 )
20521 .into()
20522 }
20523 }
20524 unsafe extern "system" fn MoveNext<
20525 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
20526 const OFFSET: isize,
20527 >(
20528 this: *mut core::ffi::c_void,
20529 hasnext: *mut windows_core::BOOL,
20530 ) -> windows_core::HRESULT {
20531 unsafe {
20532 let this: &Identity =
20533 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20534 ICoreWebView2HttpHeadersCollectionIterator_Impl::MoveNext(
20535 this,
20536 core::mem::transmute_copy(&hasnext),
20537 )
20538 .into()
20539 }
20540 }
20541 Self {
20542 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20543 GetCurrentHeader: GetCurrentHeader::<Identity, OFFSET>,
20544 HasCurrentHeader: HasCurrentHeader::<Identity, OFFSET>,
20545 MoveNext: MoveNext::<Identity, OFFSET>,
20546 }
20547 }
20548 pub fn matches(iid: &windows_core::GUID) -> bool {
20549 iid == &<ICoreWebView2HttpHeadersCollectionIterator as windows_core::Interface>::IID
20550 }
20551}
20552impl windows_core::RuntimeName for ICoreWebView2HttpHeadersCollectionIterator {}
20553windows_core::imp::define_interface!(
20554 ICoreWebView2HttpRequestHeaders,
20555 ICoreWebView2HttpRequestHeaders_Vtbl,
20556 0xe86cac0e_5523_465c_b536_8fb9fc8c8c60
20557);
20558windows_core::imp::interface_hierarchy!(ICoreWebView2HttpRequestHeaders, windows_core::IUnknown);
20559impl ICoreWebView2HttpRequestHeaders {
20560 pub unsafe fn GetHeader<P0>(
20561 &self,
20562 name: P0,
20563 value: *mut windows_core::PWSTR,
20564 ) -> windows_core::Result<()>
20565 where
20566 P0: windows_core::Param<windows_core::PCWSTR>,
20567 {
20568 unsafe {
20569 (windows_core::Interface::vtable(self).GetHeader)(
20570 windows_core::Interface::as_raw(self),
20571 name.param().abi(),
20572 value as _,
20573 )
20574 .ok()
20575 }
20576 }
20577 pub unsafe fn GetHeaders<P0>(
20578 &self,
20579 name: P0,
20580 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>
20581 where
20582 P0: windows_core::Param<windows_core::PCWSTR>,
20583 {
20584 unsafe {
20585 let mut result__ = core::mem::zeroed();
20586 (windows_core::Interface::vtable(self).GetHeaders)(
20587 windows_core::Interface::as_raw(self),
20588 name.param().abi(),
20589 &mut result__,
20590 )
20591 .and_then(|| windows_core::Type::from_abi(result__))
20592 }
20593 }
20594 pub unsafe fn Contains<P0>(
20595 &self,
20596 name: P0,
20597 value: *mut windows_core::BOOL,
20598 ) -> windows_core::Result<()>
20599 where
20600 P0: windows_core::Param<windows_core::PCWSTR>,
20601 {
20602 unsafe {
20603 (windows_core::Interface::vtable(self).Contains)(
20604 windows_core::Interface::as_raw(self),
20605 name.param().abi(),
20606 value as _,
20607 )
20608 .ok()
20609 }
20610 }
20611 pub unsafe fn SetHeader<P0, P1>(&self, name: P0, value: P1) -> windows_core::Result<()>
20612 where
20613 P0: windows_core::Param<windows_core::PCWSTR>,
20614 P1: windows_core::Param<windows_core::PCWSTR>,
20615 {
20616 unsafe {
20617 (windows_core::Interface::vtable(self).SetHeader)(
20618 windows_core::Interface::as_raw(self),
20619 name.param().abi(),
20620 value.param().abi(),
20621 )
20622 .ok()
20623 }
20624 }
20625 pub unsafe fn RemoveHeader<P0>(&self, name: P0) -> windows_core::Result<()>
20626 where
20627 P0: windows_core::Param<windows_core::PCWSTR>,
20628 {
20629 unsafe {
20630 (windows_core::Interface::vtable(self).RemoveHeader)(
20631 windows_core::Interface::as_raw(self),
20632 name.param().abi(),
20633 )
20634 .ok()
20635 }
20636 }
20637 pub unsafe fn GetIterator(
20638 &self,
20639 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator> {
20640 unsafe {
20641 let mut result__ = core::mem::zeroed();
20642 (windows_core::Interface::vtable(self).GetIterator)(
20643 windows_core::Interface::as_raw(self),
20644 &mut result__,
20645 )
20646 .and_then(|| windows_core::Type::from_abi(result__))
20647 }
20648 }
20649}
20650#[repr(C)]
20651#[doc(hidden)]
20652pub struct ICoreWebView2HttpRequestHeaders_Vtbl {
20653 pub base__: windows_core::IUnknown_Vtbl,
20654 pub GetHeader: unsafe extern "system" fn(
20655 *mut core::ffi::c_void,
20656 windows_core::PCWSTR,
20657 *mut windows_core::PWSTR,
20658 ) -> windows_core::HRESULT,
20659 pub GetHeaders: unsafe extern "system" fn(
20660 *mut core::ffi::c_void,
20661 windows_core::PCWSTR,
20662 *mut *mut core::ffi::c_void,
20663 ) -> windows_core::HRESULT,
20664 pub Contains: unsafe extern "system" fn(
20665 *mut core::ffi::c_void,
20666 windows_core::PCWSTR,
20667 *mut windows_core::BOOL,
20668 ) -> windows_core::HRESULT,
20669 pub SetHeader: unsafe extern "system" fn(
20670 *mut core::ffi::c_void,
20671 windows_core::PCWSTR,
20672 windows_core::PCWSTR,
20673 ) -> windows_core::HRESULT,
20674 pub RemoveHeader: unsafe extern "system" fn(
20675 *mut core::ffi::c_void,
20676 windows_core::PCWSTR,
20677 ) -> windows_core::HRESULT,
20678 pub GetIterator: unsafe extern "system" fn(
20679 *mut core::ffi::c_void,
20680 *mut *mut core::ffi::c_void,
20681 ) -> windows_core::HRESULT,
20682}
20683pub trait ICoreWebView2HttpRequestHeaders_Impl: windows_core::IUnknownImpl {
20684 fn GetHeader(
20685 &self,
20686 name: &windows_core::PCWSTR,
20687 value: *mut windows_core::PWSTR,
20688 ) -> windows_core::Result<()>;
20689 fn GetHeaders(
20690 &self,
20691 name: &windows_core::PCWSTR,
20692 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
20693 fn Contains(
20694 &self,
20695 name: &windows_core::PCWSTR,
20696 value: *mut windows_core::BOOL,
20697 ) -> windows_core::Result<()>;
20698 fn SetHeader(
20699 &self,
20700 name: &windows_core::PCWSTR,
20701 value: &windows_core::PCWSTR,
20702 ) -> windows_core::Result<()>;
20703 fn RemoveHeader(&self, name: &windows_core::PCWSTR) -> windows_core::Result<()>;
20704 fn GetIterator(&self) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
20705}
20706impl ICoreWebView2HttpRequestHeaders_Vtbl {
20707 pub const fn new<Identity: ICoreWebView2HttpRequestHeaders_Impl, const OFFSET: isize>() -> Self
20708 {
20709 unsafe extern "system" fn GetHeader<
20710 Identity: ICoreWebView2HttpRequestHeaders_Impl,
20711 const OFFSET: isize,
20712 >(
20713 this: *mut core::ffi::c_void,
20714 name: windows_core::PCWSTR,
20715 value: *mut windows_core::PWSTR,
20716 ) -> windows_core::HRESULT {
20717 unsafe {
20718 let this: &Identity =
20719 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20720 ICoreWebView2HttpRequestHeaders_Impl::GetHeader(
20721 this,
20722 core::mem::transmute(&name),
20723 core::mem::transmute_copy(&value),
20724 )
20725 .into()
20726 }
20727 }
20728 unsafe extern "system" fn GetHeaders<
20729 Identity: ICoreWebView2HttpRequestHeaders_Impl,
20730 const OFFSET: isize,
20731 >(
20732 this: *mut core::ffi::c_void,
20733 name: windows_core::PCWSTR,
20734 value: *mut *mut core::ffi::c_void,
20735 ) -> windows_core::HRESULT {
20736 unsafe {
20737 let this: &Identity =
20738 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20739 match ICoreWebView2HttpRequestHeaders_Impl::GetHeaders(
20740 this,
20741 core::mem::transmute(&name),
20742 ) {
20743 Ok(ok__) => {
20744 value.write(core::mem::transmute(ok__));
20745 windows_core::HRESULT(0)
20746 }
20747 Err(err) => err.into(),
20748 }
20749 }
20750 }
20751 unsafe extern "system" fn Contains<
20752 Identity: ICoreWebView2HttpRequestHeaders_Impl,
20753 const OFFSET: isize,
20754 >(
20755 this: *mut core::ffi::c_void,
20756 name: windows_core::PCWSTR,
20757 value: *mut windows_core::BOOL,
20758 ) -> windows_core::HRESULT {
20759 unsafe {
20760 let this: &Identity =
20761 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20762 ICoreWebView2HttpRequestHeaders_Impl::Contains(
20763 this,
20764 core::mem::transmute(&name),
20765 core::mem::transmute_copy(&value),
20766 )
20767 .into()
20768 }
20769 }
20770 unsafe extern "system" fn SetHeader<
20771 Identity: ICoreWebView2HttpRequestHeaders_Impl,
20772 const OFFSET: isize,
20773 >(
20774 this: *mut core::ffi::c_void,
20775 name: windows_core::PCWSTR,
20776 value: windows_core::PCWSTR,
20777 ) -> windows_core::HRESULT {
20778 unsafe {
20779 let this: &Identity =
20780 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20781 ICoreWebView2HttpRequestHeaders_Impl::SetHeader(
20782 this,
20783 core::mem::transmute(&name),
20784 core::mem::transmute(&value),
20785 )
20786 .into()
20787 }
20788 }
20789 unsafe extern "system" fn RemoveHeader<
20790 Identity: ICoreWebView2HttpRequestHeaders_Impl,
20791 const OFFSET: isize,
20792 >(
20793 this: *mut core::ffi::c_void,
20794 name: windows_core::PCWSTR,
20795 ) -> windows_core::HRESULT {
20796 unsafe {
20797 let this: &Identity =
20798 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20799 ICoreWebView2HttpRequestHeaders_Impl::RemoveHeader(
20800 this,
20801 core::mem::transmute(&name),
20802 )
20803 .into()
20804 }
20805 }
20806 unsafe extern "system" fn GetIterator<
20807 Identity: ICoreWebView2HttpRequestHeaders_Impl,
20808 const OFFSET: isize,
20809 >(
20810 this: *mut core::ffi::c_void,
20811 value: *mut *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 match ICoreWebView2HttpRequestHeaders_Impl::GetIterator(this) {
20817 Ok(ok__) => {
20818 value.write(core::mem::transmute(ok__));
20819 windows_core::HRESULT(0)
20820 }
20821 Err(err) => err.into(),
20822 }
20823 }
20824 }
20825 Self {
20826 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20827 GetHeader: GetHeader::<Identity, OFFSET>,
20828 GetHeaders: GetHeaders::<Identity, OFFSET>,
20829 Contains: Contains::<Identity, OFFSET>,
20830 SetHeader: SetHeader::<Identity, OFFSET>,
20831 RemoveHeader: RemoveHeader::<Identity, OFFSET>,
20832 GetIterator: GetIterator::<Identity, OFFSET>,
20833 }
20834 }
20835 pub fn matches(iid: &windows_core::GUID) -> bool {
20836 iid == &<ICoreWebView2HttpRequestHeaders as windows_core::Interface>::IID
20837 }
20838}
20839impl windows_core::RuntimeName for ICoreWebView2HttpRequestHeaders {}
20840windows_core::imp::define_interface!(
20841 ICoreWebView2HttpResponseHeaders,
20842 ICoreWebView2HttpResponseHeaders_Vtbl,
20843 0x03c5ff5a_9b45_4a88_881c_89a9f328619c
20844);
20845windows_core::imp::interface_hierarchy!(ICoreWebView2HttpResponseHeaders, windows_core::IUnknown);
20846impl ICoreWebView2HttpResponseHeaders {
20847 pub unsafe fn AppendHeader<P0, P1>(&self, name: P0, value: P1) -> windows_core::Result<()>
20848 where
20849 P0: windows_core::Param<windows_core::PCWSTR>,
20850 P1: windows_core::Param<windows_core::PCWSTR>,
20851 {
20852 unsafe {
20853 (windows_core::Interface::vtable(self).AppendHeader)(
20854 windows_core::Interface::as_raw(self),
20855 name.param().abi(),
20856 value.param().abi(),
20857 )
20858 .ok()
20859 }
20860 }
20861 pub unsafe fn Contains<P0>(
20862 &self,
20863 name: P0,
20864 value: *mut windows_core::BOOL,
20865 ) -> windows_core::Result<()>
20866 where
20867 P0: windows_core::Param<windows_core::PCWSTR>,
20868 {
20869 unsafe {
20870 (windows_core::Interface::vtable(self).Contains)(
20871 windows_core::Interface::as_raw(self),
20872 name.param().abi(),
20873 value as _,
20874 )
20875 .ok()
20876 }
20877 }
20878 pub unsafe fn GetHeader<P0>(
20879 &self,
20880 name: P0,
20881 value: *mut windows_core::PWSTR,
20882 ) -> windows_core::Result<()>
20883 where
20884 P0: windows_core::Param<windows_core::PCWSTR>,
20885 {
20886 unsafe {
20887 (windows_core::Interface::vtable(self).GetHeader)(
20888 windows_core::Interface::as_raw(self),
20889 name.param().abi(),
20890 value as _,
20891 )
20892 .ok()
20893 }
20894 }
20895 pub unsafe fn GetHeaders<P0>(
20896 &self,
20897 name: P0,
20898 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>
20899 where
20900 P0: windows_core::Param<windows_core::PCWSTR>,
20901 {
20902 unsafe {
20903 let mut result__ = core::mem::zeroed();
20904 (windows_core::Interface::vtable(self).GetHeaders)(
20905 windows_core::Interface::as_raw(self),
20906 name.param().abi(),
20907 &mut result__,
20908 )
20909 .and_then(|| windows_core::Type::from_abi(result__))
20910 }
20911 }
20912 pub unsafe fn GetIterator(
20913 &self,
20914 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator> {
20915 unsafe {
20916 let mut result__ = core::mem::zeroed();
20917 (windows_core::Interface::vtable(self).GetIterator)(
20918 windows_core::Interface::as_raw(self),
20919 &mut result__,
20920 )
20921 .and_then(|| windows_core::Type::from_abi(result__))
20922 }
20923 }
20924}
20925#[repr(C)]
20926#[doc(hidden)]
20927pub struct ICoreWebView2HttpResponseHeaders_Vtbl {
20928 pub base__: windows_core::IUnknown_Vtbl,
20929 pub AppendHeader: unsafe extern "system" fn(
20930 *mut core::ffi::c_void,
20931 windows_core::PCWSTR,
20932 windows_core::PCWSTR,
20933 ) -> windows_core::HRESULT,
20934 pub Contains: unsafe extern "system" fn(
20935 *mut core::ffi::c_void,
20936 windows_core::PCWSTR,
20937 *mut windows_core::BOOL,
20938 ) -> windows_core::HRESULT,
20939 pub GetHeader: unsafe extern "system" fn(
20940 *mut core::ffi::c_void,
20941 windows_core::PCWSTR,
20942 *mut windows_core::PWSTR,
20943 ) -> windows_core::HRESULT,
20944 pub GetHeaders: unsafe extern "system" fn(
20945 *mut core::ffi::c_void,
20946 windows_core::PCWSTR,
20947 *mut *mut core::ffi::c_void,
20948 ) -> windows_core::HRESULT,
20949 pub GetIterator: unsafe extern "system" fn(
20950 *mut core::ffi::c_void,
20951 *mut *mut core::ffi::c_void,
20952 ) -> windows_core::HRESULT,
20953}
20954pub trait ICoreWebView2HttpResponseHeaders_Impl: windows_core::IUnknownImpl {
20955 fn AppendHeader(
20956 &self,
20957 name: &windows_core::PCWSTR,
20958 value: &windows_core::PCWSTR,
20959 ) -> windows_core::Result<()>;
20960 fn Contains(
20961 &self,
20962 name: &windows_core::PCWSTR,
20963 value: *mut windows_core::BOOL,
20964 ) -> windows_core::Result<()>;
20965 fn GetHeader(
20966 &self,
20967 name: &windows_core::PCWSTR,
20968 value: *mut windows_core::PWSTR,
20969 ) -> windows_core::Result<()>;
20970 fn GetHeaders(
20971 &self,
20972 name: &windows_core::PCWSTR,
20973 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
20974 fn GetIterator(&self) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
20975}
20976impl ICoreWebView2HttpResponseHeaders_Vtbl {
20977 pub const fn new<Identity: ICoreWebView2HttpResponseHeaders_Impl, const OFFSET: isize>() -> Self
20978 {
20979 unsafe extern "system" fn AppendHeader<
20980 Identity: ICoreWebView2HttpResponseHeaders_Impl,
20981 const OFFSET: isize,
20982 >(
20983 this: *mut core::ffi::c_void,
20984 name: windows_core::PCWSTR,
20985 value: windows_core::PCWSTR,
20986 ) -> windows_core::HRESULT {
20987 unsafe {
20988 let this: &Identity =
20989 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20990 ICoreWebView2HttpResponseHeaders_Impl::AppendHeader(
20991 this,
20992 core::mem::transmute(&name),
20993 core::mem::transmute(&value),
20994 )
20995 .into()
20996 }
20997 }
20998 unsafe extern "system" fn Contains<
20999 Identity: ICoreWebView2HttpResponseHeaders_Impl,
21000 const OFFSET: isize,
21001 >(
21002 this: *mut core::ffi::c_void,
21003 name: windows_core::PCWSTR,
21004 value: *mut windows_core::BOOL,
21005 ) -> windows_core::HRESULT {
21006 unsafe {
21007 let this: &Identity =
21008 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21009 ICoreWebView2HttpResponseHeaders_Impl::Contains(
21010 this,
21011 core::mem::transmute(&name),
21012 core::mem::transmute_copy(&value),
21013 )
21014 .into()
21015 }
21016 }
21017 unsafe extern "system" fn GetHeader<
21018 Identity: ICoreWebView2HttpResponseHeaders_Impl,
21019 const OFFSET: isize,
21020 >(
21021 this: *mut core::ffi::c_void,
21022 name: windows_core::PCWSTR,
21023 value: *mut windows_core::PWSTR,
21024 ) -> windows_core::HRESULT {
21025 unsafe {
21026 let this: &Identity =
21027 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21028 ICoreWebView2HttpResponseHeaders_Impl::GetHeader(
21029 this,
21030 core::mem::transmute(&name),
21031 core::mem::transmute_copy(&value),
21032 )
21033 .into()
21034 }
21035 }
21036 unsafe extern "system" fn GetHeaders<
21037 Identity: ICoreWebView2HttpResponseHeaders_Impl,
21038 const OFFSET: isize,
21039 >(
21040 this: *mut core::ffi::c_void,
21041 name: windows_core::PCWSTR,
21042 value: *mut *mut core::ffi::c_void,
21043 ) -> windows_core::HRESULT {
21044 unsafe {
21045 let this: &Identity =
21046 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21047 match ICoreWebView2HttpResponseHeaders_Impl::GetHeaders(
21048 this,
21049 core::mem::transmute(&name),
21050 ) {
21051 Ok(ok__) => {
21052 value.write(core::mem::transmute(ok__));
21053 windows_core::HRESULT(0)
21054 }
21055 Err(err) => err.into(),
21056 }
21057 }
21058 }
21059 unsafe extern "system" fn GetIterator<
21060 Identity: ICoreWebView2HttpResponseHeaders_Impl,
21061 const OFFSET: isize,
21062 >(
21063 this: *mut core::ffi::c_void,
21064 value: *mut *mut core::ffi::c_void,
21065 ) -> windows_core::HRESULT {
21066 unsafe {
21067 let this: &Identity =
21068 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21069 match ICoreWebView2HttpResponseHeaders_Impl::GetIterator(this) {
21070 Ok(ok__) => {
21071 value.write(core::mem::transmute(ok__));
21072 windows_core::HRESULT(0)
21073 }
21074 Err(err) => err.into(),
21075 }
21076 }
21077 }
21078 Self {
21079 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21080 AppendHeader: AppendHeader::<Identity, OFFSET>,
21081 Contains: Contains::<Identity, OFFSET>,
21082 GetHeader: GetHeader::<Identity, OFFSET>,
21083 GetHeaders: GetHeaders::<Identity, OFFSET>,
21084 GetIterator: GetIterator::<Identity, OFFSET>,
21085 }
21086 }
21087 pub fn matches(iid: &windows_core::GUID) -> bool {
21088 iid == &<ICoreWebView2HttpResponseHeaders as windows_core::Interface>::IID
21089 }
21090}
21091impl windows_core::RuntimeName for ICoreWebView2HttpResponseHeaders {}
21092windows_core::imp::define_interface!(
21093 ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler,
21094 ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Vtbl,
21095 0x3117da26_ae13_438d_bd46_edbeb2c4ce81
21096);
21097windows_core::imp::interface_hierarchy!(
21098 ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler,
21099 windows_core::IUnknown
21100);
21101impl ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler {
21102 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21103 where
21104 P0: windows_core::Param<ICoreWebView2>,
21105 P1: windows_core::Param<windows_core::IUnknown>,
21106 {
21107 unsafe {
21108 (windows_core::Interface::vtable(self).Invoke)(
21109 windows_core::Interface::as_raw(self),
21110 sender.param().abi(),
21111 args.param().abi(),
21112 )
21113 .ok()
21114 }
21115 }
21116}
21117#[repr(C)]
21118#[doc(hidden)]
21119pub struct ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Vtbl {
21120 pub base__: windows_core::IUnknown_Vtbl,
21121 pub Invoke: unsafe extern "system" fn(
21122 *mut core::ffi::c_void,
21123 *mut core::ffi::c_void,
21124 *mut core::ffi::c_void,
21125 ) -> windows_core::HRESULT,
21126}
21127pub trait ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Impl:
21128 windows_core::IUnknownImpl
21129{
21130 fn Invoke(
21131 &self,
21132 sender: windows_core::Ref<'_, ICoreWebView2>,
21133 args: windows_core::Ref<'_, windows_core::IUnknown>,
21134 ) -> windows_core::Result<()>;
21135}
21136impl ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Vtbl {
21137 pub const fn new<
21138 Identity: ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Impl,
21139 const OFFSET: isize,
21140 >() -> Self {
21141 unsafe extern "system" fn Invoke<
21142 Identity: ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Impl,
21143 const OFFSET: isize,
21144 >(
21145 this: *mut core::ffi::c_void,
21146 sender: *mut core::ffi::c_void,
21147 args: *mut core::ffi::c_void,
21148 ) -> windows_core::HRESULT {
21149 unsafe {
21150 let this: &Identity =
21151 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21152 ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Impl::Invoke(
21153 this,
21154 core::mem::transmute_copy(&sender),
21155 core::mem::transmute_copy(&args),
21156 )
21157 .into()
21158 }
21159 }
21160 Self {
21161 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21162 Invoke: Invoke::<Identity, OFFSET>,
21163 }
21164 }
21165 pub fn matches(iid: &windows_core::GUID) -> bool {
21166 iid == & < ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler as windows_core::Interface >::IID
21167 }
21168}
21169impl windows_core::RuntimeName for ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler {}
21170windows_core::imp::define_interface!(
21171 ICoreWebView2IsDocumentPlayingAudioChangedEventHandler,
21172 ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Vtbl,
21173 0x5def109a_2f4b_49fa_b7f6_11c39e513328
21174);
21175windows_core::imp::interface_hierarchy!(
21176 ICoreWebView2IsDocumentPlayingAudioChangedEventHandler,
21177 windows_core::IUnknown
21178);
21179impl ICoreWebView2IsDocumentPlayingAudioChangedEventHandler {
21180 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21181 where
21182 P0: windows_core::Param<ICoreWebView2>,
21183 P1: windows_core::Param<windows_core::IUnknown>,
21184 {
21185 unsafe {
21186 (windows_core::Interface::vtable(self).Invoke)(
21187 windows_core::Interface::as_raw(self),
21188 sender.param().abi(),
21189 args.param().abi(),
21190 )
21191 .ok()
21192 }
21193 }
21194}
21195#[repr(C)]
21196#[doc(hidden)]
21197pub struct ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Vtbl {
21198 pub base__: windows_core::IUnknown_Vtbl,
21199 pub Invoke: unsafe extern "system" fn(
21200 *mut core::ffi::c_void,
21201 *mut core::ffi::c_void,
21202 *mut core::ffi::c_void,
21203 ) -> windows_core::HRESULT,
21204}
21205pub trait ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Impl:
21206 windows_core::IUnknownImpl
21207{
21208 fn Invoke(
21209 &self,
21210 sender: windows_core::Ref<'_, ICoreWebView2>,
21211 args: windows_core::Ref<'_, windows_core::IUnknown>,
21212 ) -> windows_core::Result<()>;
21213}
21214impl ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Vtbl {
21215 pub const fn new<
21216 Identity: ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Impl,
21217 const OFFSET: isize,
21218 >() -> Self {
21219 unsafe extern "system" fn Invoke<
21220 Identity: ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Impl,
21221 const OFFSET: isize,
21222 >(
21223 this: *mut core::ffi::c_void,
21224 sender: *mut core::ffi::c_void,
21225 args: *mut core::ffi::c_void,
21226 ) -> windows_core::HRESULT {
21227 unsafe {
21228 let this: &Identity =
21229 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21230 ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Impl::Invoke(
21231 this,
21232 core::mem::transmute_copy(&sender),
21233 core::mem::transmute_copy(&args),
21234 )
21235 .into()
21236 }
21237 }
21238 Self {
21239 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21240 Invoke: Invoke::<Identity, OFFSET>,
21241 }
21242 }
21243 pub fn matches(iid: &windows_core::GUID) -> bool {
21244 iid == & < ICoreWebView2IsDocumentPlayingAudioChangedEventHandler as windows_core::Interface >::IID
21245 }
21246}
21247impl windows_core::RuntimeName for ICoreWebView2IsDocumentPlayingAudioChangedEventHandler {}
21248windows_core::imp::define_interface!(
21249 ICoreWebView2IsMutedChangedEventHandler,
21250 ICoreWebView2IsMutedChangedEventHandler_Vtbl,
21251 0x57d90347_cd0e_4952_a4a2_7483a2756f08
21252);
21253windows_core::imp::interface_hierarchy!(
21254 ICoreWebView2IsMutedChangedEventHandler,
21255 windows_core::IUnknown
21256);
21257impl ICoreWebView2IsMutedChangedEventHandler {
21258 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21259 where
21260 P0: windows_core::Param<ICoreWebView2>,
21261 P1: windows_core::Param<windows_core::IUnknown>,
21262 {
21263 unsafe {
21264 (windows_core::Interface::vtable(self).Invoke)(
21265 windows_core::Interface::as_raw(self),
21266 sender.param().abi(),
21267 args.param().abi(),
21268 )
21269 .ok()
21270 }
21271 }
21272}
21273#[repr(C)]
21274#[doc(hidden)]
21275pub struct ICoreWebView2IsMutedChangedEventHandler_Vtbl {
21276 pub base__: windows_core::IUnknown_Vtbl,
21277 pub Invoke: unsafe extern "system" fn(
21278 *mut core::ffi::c_void,
21279 *mut core::ffi::c_void,
21280 *mut core::ffi::c_void,
21281 ) -> windows_core::HRESULT,
21282}
21283pub trait ICoreWebView2IsMutedChangedEventHandler_Impl: windows_core::IUnknownImpl {
21284 fn Invoke(
21285 &self,
21286 sender: windows_core::Ref<'_, ICoreWebView2>,
21287 args: windows_core::Ref<'_, windows_core::IUnknown>,
21288 ) -> windows_core::Result<()>;
21289}
21290impl ICoreWebView2IsMutedChangedEventHandler_Vtbl {
21291 pub const fn new<
21292 Identity: ICoreWebView2IsMutedChangedEventHandler_Impl,
21293 const OFFSET: isize,
21294 >() -> Self {
21295 unsafe extern "system" fn Invoke<
21296 Identity: ICoreWebView2IsMutedChangedEventHandler_Impl,
21297 const OFFSET: isize,
21298 >(
21299 this: *mut core::ffi::c_void,
21300 sender: *mut core::ffi::c_void,
21301 args: *mut core::ffi::c_void,
21302 ) -> windows_core::HRESULT {
21303 unsafe {
21304 let this: &Identity =
21305 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21306 ICoreWebView2IsMutedChangedEventHandler_Impl::Invoke(
21307 this,
21308 core::mem::transmute_copy(&sender),
21309 core::mem::transmute_copy(&args),
21310 )
21311 .into()
21312 }
21313 }
21314 Self {
21315 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21316 Invoke: Invoke::<Identity, OFFSET>,
21317 }
21318 }
21319 pub fn matches(iid: &windows_core::GUID) -> bool {
21320 iid == &<ICoreWebView2IsMutedChangedEventHandler as windows_core::Interface>::IID
21321 }
21322}
21323impl windows_core::RuntimeName for ICoreWebView2IsMutedChangedEventHandler {}
21324windows_core::imp::define_interface!(
21325 ICoreWebView2LaunchingExternalUriSchemeEventArgs,
21326 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Vtbl,
21327 0x07d1a6c3_7175_4ba1_9306_e593ca07e46c
21328);
21329windows_core::imp::interface_hierarchy!(
21330 ICoreWebView2LaunchingExternalUriSchemeEventArgs,
21331 windows_core::IUnknown
21332);
21333impl ICoreWebView2LaunchingExternalUriSchemeEventArgs {
21334 pub unsafe fn Uri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
21335 unsafe {
21336 (windows_core::Interface::vtable(self).Uri)(
21337 windows_core::Interface::as_raw(self),
21338 value as _,
21339 )
21340 .ok()
21341 }
21342 }
21343 pub unsafe fn InitiatingOrigin(
21344 &self,
21345 value: *mut windows_core::PWSTR,
21346 ) -> windows_core::Result<()> {
21347 unsafe {
21348 (windows_core::Interface::vtable(self).InitiatingOrigin)(
21349 windows_core::Interface::as_raw(self),
21350 value as _,
21351 )
21352 .ok()
21353 }
21354 }
21355 pub unsafe fn IsUserInitiated(
21356 &self,
21357 value: *mut windows_core::BOOL,
21358 ) -> windows_core::Result<()> {
21359 unsafe {
21360 (windows_core::Interface::vtable(self).IsUserInitiated)(
21361 windows_core::Interface::as_raw(self),
21362 value as _,
21363 )
21364 .ok()
21365 }
21366 }
21367 pub unsafe fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
21368 unsafe {
21369 (windows_core::Interface::vtable(self).Cancel)(
21370 windows_core::Interface::as_raw(self),
21371 value as _,
21372 )
21373 .ok()
21374 }
21375 }
21376 pub unsafe fn SetCancel(&self, value: bool) -> windows_core::Result<()> {
21377 unsafe {
21378 (windows_core::Interface::vtable(self).SetCancel)(
21379 windows_core::Interface::as_raw(self),
21380 value.into(),
21381 )
21382 .ok()
21383 }
21384 }
21385 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
21386 unsafe {
21387 let mut result__ = core::mem::zeroed();
21388 (windows_core::Interface::vtable(self).GetDeferral)(
21389 windows_core::Interface::as_raw(self),
21390 &mut result__,
21391 )
21392 .and_then(|| windows_core::Type::from_abi(result__))
21393 }
21394 }
21395}
21396#[repr(C)]
21397#[doc(hidden)]
21398pub struct ICoreWebView2LaunchingExternalUriSchemeEventArgs_Vtbl {
21399 pub base__: windows_core::IUnknown_Vtbl,
21400 pub Uri: unsafe extern "system" fn(
21401 *mut core::ffi::c_void,
21402 *mut windows_core::PWSTR,
21403 ) -> windows_core::HRESULT,
21404 pub InitiatingOrigin: unsafe extern "system" fn(
21405 *mut core::ffi::c_void,
21406 *mut windows_core::PWSTR,
21407 ) -> windows_core::HRESULT,
21408 pub IsUserInitiated: unsafe extern "system" fn(
21409 *mut core::ffi::c_void,
21410 *mut windows_core::BOOL,
21411 ) -> windows_core::HRESULT,
21412 pub Cancel: unsafe extern "system" fn(
21413 *mut core::ffi::c_void,
21414 *mut windows_core::BOOL,
21415 ) -> windows_core::HRESULT,
21416 pub SetCancel: unsafe extern "system" fn(
21417 *mut core::ffi::c_void,
21418 windows_core::BOOL,
21419 ) -> windows_core::HRESULT,
21420 pub GetDeferral: unsafe extern "system" fn(
21421 *mut core::ffi::c_void,
21422 *mut *mut core::ffi::c_void,
21423 ) -> windows_core::HRESULT,
21424}
21425pub trait ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl:
21426 windows_core::IUnknownImpl
21427{
21428 fn Uri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
21429 fn InitiatingOrigin(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
21430 fn IsUserInitiated(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
21431 fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
21432 fn SetCancel(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
21433 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
21434}
21435impl ICoreWebView2LaunchingExternalUriSchemeEventArgs_Vtbl {
21436 pub const fn new<
21437 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21438 const OFFSET: isize,
21439 >() -> Self {
21440 unsafe extern "system" fn Uri<
21441 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21442 const OFFSET: isize,
21443 >(
21444 this: *mut core::ffi::c_void,
21445 value: *mut windows_core::PWSTR,
21446 ) -> windows_core::HRESULT {
21447 unsafe {
21448 let this: &Identity =
21449 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21450 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::Uri(
21451 this,
21452 core::mem::transmute_copy(&value),
21453 )
21454 .into()
21455 }
21456 }
21457 unsafe extern "system" fn InitiatingOrigin<
21458 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21459 const OFFSET: isize,
21460 >(
21461 this: *mut core::ffi::c_void,
21462 value: *mut windows_core::PWSTR,
21463 ) -> windows_core::HRESULT {
21464 unsafe {
21465 let this: &Identity =
21466 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21467 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::InitiatingOrigin(
21468 this,
21469 core::mem::transmute_copy(&value),
21470 )
21471 .into()
21472 }
21473 }
21474 unsafe extern "system" fn IsUserInitiated<
21475 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21476 const OFFSET: isize,
21477 >(
21478 this: *mut core::ffi::c_void,
21479 value: *mut windows_core::BOOL,
21480 ) -> windows_core::HRESULT {
21481 unsafe {
21482 let this: &Identity =
21483 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21484 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::IsUserInitiated(
21485 this,
21486 core::mem::transmute_copy(&value),
21487 )
21488 .into()
21489 }
21490 }
21491 unsafe extern "system" fn Cancel<
21492 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21493 const OFFSET: isize,
21494 >(
21495 this: *mut core::ffi::c_void,
21496 value: *mut windows_core::BOOL,
21497 ) -> windows_core::HRESULT {
21498 unsafe {
21499 let this: &Identity =
21500 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21501 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::Cancel(
21502 this,
21503 core::mem::transmute_copy(&value),
21504 )
21505 .into()
21506 }
21507 }
21508 unsafe extern "system" fn SetCancel<
21509 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21510 const OFFSET: isize,
21511 >(
21512 this: *mut core::ffi::c_void,
21513 value: windows_core::BOOL,
21514 ) -> windows_core::HRESULT {
21515 unsafe {
21516 let this: &Identity =
21517 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21518 ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::SetCancel(
21519 this,
21520 core::mem::transmute_copy(&value),
21521 )
21522 .into()
21523 }
21524 }
21525 unsafe extern "system" fn GetDeferral<
21526 Identity: ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl,
21527 const OFFSET: isize,
21528 >(
21529 this: *mut core::ffi::c_void,
21530 value: *mut *mut core::ffi::c_void,
21531 ) -> windows_core::HRESULT {
21532 unsafe {
21533 let this: &Identity =
21534 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21535 match ICoreWebView2LaunchingExternalUriSchemeEventArgs_Impl::GetDeferral(this) {
21536 Ok(ok__) => {
21537 value.write(core::mem::transmute(ok__));
21538 windows_core::HRESULT(0)
21539 }
21540 Err(err) => err.into(),
21541 }
21542 }
21543 }
21544 Self {
21545 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21546 Uri: Uri::<Identity, OFFSET>,
21547 InitiatingOrigin: InitiatingOrigin::<Identity, OFFSET>,
21548 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
21549 Cancel: Cancel::<Identity, OFFSET>,
21550 SetCancel: SetCancel::<Identity, OFFSET>,
21551 GetDeferral: GetDeferral::<Identity, OFFSET>,
21552 }
21553 }
21554 pub fn matches(iid: &windows_core::GUID) -> bool {
21555 iid == &<ICoreWebView2LaunchingExternalUriSchemeEventArgs as windows_core::Interface>::IID
21556 }
21557}
21558impl windows_core::RuntimeName for ICoreWebView2LaunchingExternalUriSchemeEventArgs {}
21559windows_core::imp::define_interface!(
21560 ICoreWebView2LaunchingExternalUriSchemeEventHandler,
21561 ICoreWebView2LaunchingExternalUriSchemeEventHandler_Vtbl,
21562 0x74f712e0_8165_43a9_a13f_0cce597e75df
21563);
21564windows_core::imp::interface_hierarchy!(
21565 ICoreWebView2LaunchingExternalUriSchemeEventHandler,
21566 windows_core::IUnknown
21567);
21568impl ICoreWebView2LaunchingExternalUriSchemeEventHandler {
21569 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21570 where
21571 P0: windows_core::Param<ICoreWebView2>,
21572 P1: windows_core::Param<ICoreWebView2LaunchingExternalUriSchemeEventArgs>,
21573 {
21574 unsafe {
21575 (windows_core::Interface::vtable(self).Invoke)(
21576 windows_core::Interface::as_raw(self),
21577 sender.param().abi(),
21578 args.param().abi(),
21579 )
21580 .ok()
21581 }
21582 }
21583}
21584#[repr(C)]
21585#[doc(hidden)]
21586pub struct ICoreWebView2LaunchingExternalUriSchemeEventHandler_Vtbl {
21587 pub base__: windows_core::IUnknown_Vtbl,
21588 pub Invoke: unsafe extern "system" fn(
21589 *mut core::ffi::c_void,
21590 *mut core::ffi::c_void,
21591 *mut core::ffi::c_void,
21592 ) -> windows_core::HRESULT,
21593}
21594pub trait ICoreWebView2LaunchingExternalUriSchemeEventHandler_Impl:
21595 windows_core::IUnknownImpl
21596{
21597 fn Invoke(
21598 &self,
21599 sender: windows_core::Ref<'_, ICoreWebView2>,
21600 args: windows_core::Ref<'_, ICoreWebView2LaunchingExternalUriSchemeEventArgs>,
21601 ) -> windows_core::Result<()>;
21602}
21603impl ICoreWebView2LaunchingExternalUriSchemeEventHandler_Vtbl {
21604 pub const fn new<
21605 Identity: ICoreWebView2LaunchingExternalUriSchemeEventHandler_Impl,
21606 const OFFSET: isize,
21607 >() -> Self {
21608 unsafe extern "system" fn Invoke<
21609 Identity: ICoreWebView2LaunchingExternalUriSchemeEventHandler_Impl,
21610 const OFFSET: isize,
21611 >(
21612 this: *mut core::ffi::c_void,
21613 sender: *mut core::ffi::c_void,
21614 args: *mut core::ffi::c_void,
21615 ) -> windows_core::HRESULT {
21616 unsafe {
21617 let this: &Identity =
21618 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21619 ICoreWebView2LaunchingExternalUriSchemeEventHandler_Impl::Invoke(
21620 this,
21621 core::mem::transmute_copy(&sender),
21622 core::mem::transmute_copy(&args),
21623 )
21624 .into()
21625 }
21626 }
21627 Self {
21628 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21629 Invoke: Invoke::<Identity, OFFSET>,
21630 }
21631 }
21632 pub fn matches(iid: &windows_core::GUID) -> bool {
21633 iid == & < ICoreWebView2LaunchingExternalUriSchemeEventHandler as windows_core::Interface >::IID
21634 }
21635}
21636impl windows_core::RuntimeName for ICoreWebView2LaunchingExternalUriSchemeEventHandler {}
21637windows_core::imp::define_interface!(
21638 ICoreWebView2MoveFocusRequestedEventArgs,
21639 ICoreWebView2MoveFocusRequestedEventArgs_Vtbl,
21640 0x2d6aa13b_3839_4a15_92fc_d88b3c0d9c9d
21641);
21642windows_core::imp::interface_hierarchy!(
21643 ICoreWebView2MoveFocusRequestedEventArgs,
21644 windows_core::IUnknown
21645);
21646impl ICoreWebView2MoveFocusRequestedEventArgs {
21647 pub unsafe fn Reason(
21648 &self,
21649 reason: *mut COREWEBVIEW2_MOVE_FOCUS_REASON,
21650 ) -> windows_core::Result<()> {
21651 unsafe {
21652 (windows_core::Interface::vtable(self).Reason)(
21653 windows_core::Interface::as_raw(self),
21654 reason as _,
21655 )
21656 .ok()
21657 }
21658 }
21659 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
21660 unsafe {
21661 (windows_core::Interface::vtable(self).Handled)(
21662 windows_core::Interface::as_raw(self),
21663 value as _,
21664 )
21665 .ok()
21666 }
21667 }
21668 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
21669 unsafe {
21670 (windows_core::Interface::vtable(self).SetHandled)(
21671 windows_core::Interface::as_raw(self),
21672 value.into(),
21673 )
21674 .ok()
21675 }
21676 }
21677}
21678#[repr(C)]
21679#[doc(hidden)]
21680pub struct ICoreWebView2MoveFocusRequestedEventArgs_Vtbl {
21681 pub base__: windows_core::IUnknown_Vtbl,
21682 pub Reason: unsafe extern "system" fn(
21683 *mut core::ffi::c_void,
21684 *mut COREWEBVIEW2_MOVE_FOCUS_REASON,
21685 ) -> windows_core::HRESULT,
21686 pub Handled: unsafe extern "system" fn(
21687 *mut core::ffi::c_void,
21688 *mut windows_core::BOOL,
21689 ) -> windows_core::HRESULT,
21690 pub SetHandled: unsafe extern "system" fn(
21691 *mut core::ffi::c_void,
21692 windows_core::BOOL,
21693 ) -> windows_core::HRESULT,
21694}
21695pub trait ICoreWebView2MoveFocusRequestedEventArgs_Impl: windows_core::IUnknownImpl {
21696 fn Reason(&self, reason: *mut COREWEBVIEW2_MOVE_FOCUS_REASON) -> windows_core::Result<()>;
21697 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
21698 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
21699}
21700impl ICoreWebView2MoveFocusRequestedEventArgs_Vtbl {
21701 pub const fn new<
21702 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
21703 const OFFSET: isize,
21704 >() -> Self {
21705 unsafe extern "system" fn Reason<
21706 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
21707 const OFFSET: isize,
21708 >(
21709 this: *mut core::ffi::c_void,
21710 reason: *mut COREWEBVIEW2_MOVE_FOCUS_REASON,
21711 ) -> windows_core::HRESULT {
21712 unsafe {
21713 let this: &Identity =
21714 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21715 ICoreWebView2MoveFocusRequestedEventArgs_Impl::Reason(
21716 this,
21717 core::mem::transmute_copy(&reason),
21718 )
21719 .into()
21720 }
21721 }
21722 unsafe extern "system" fn Handled<
21723 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
21724 const OFFSET: isize,
21725 >(
21726 this: *mut core::ffi::c_void,
21727 value: *mut windows_core::BOOL,
21728 ) -> windows_core::HRESULT {
21729 unsafe {
21730 let this: &Identity =
21731 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21732 ICoreWebView2MoveFocusRequestedEventArgs_Impl::Handled(
21733 this,
21734 core::mem::transmute_copy(&value),
21735 )
21736 .into()
21737 }
21738 }
21739 unsafe extern "system" fn SetHandled<
21740 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
21741 const OFFSET: isize,
21742 >(
21743 this: *mut core::ffi::c_void,
21744 value: windows_core::BOOL,
21745 ) -> windows_core::HRESULT {
21746 unsafe {
21747 let this: &Identity =
21748 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21749 ICoreWebView2MoveFocusRequestedEventArgs_Impl::SetHandled(
21750 this,
21751 core::mem::transmute_copy(&value),
21752 )
21753 .into()
21754 }
21755 }
21756 Self {
21757 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21758 Reason: Reason::<Identity, OFFSET>,
21759 Handled: Handled::<Identity, OFFSET>,
21760 SetHandled: SetHandled::<Identity, OFFSET>,
21761 }
21762 }
21763 pub fn matches(iid: &windows_core::GUID) -> bool {
21764 iid == &<ICoreWebView2MoveFocusRequestedEventArgs as windows_core::Interface>::IID
21765 }
21766}
21767impl windows_core::RuntimeName for ICoreWebView2MoveFocusRequestedEventArgs {}
21768windows_core::imp::define_interface!(
21769 ICoreWebView2MoveFocusRequestedEventHandler,
21770 ICoreWebView2MoveFocusRequestedEventHandler_Vtbl,
21771 0x69035451_6dc7_4cb8_9bce_b2bd70ad289f
21772);
21773windows_core::imp::interface_hierarchy!(
21774 ICoreWebView2MoveFocusRequestedEventHandler,
21775 windows_core::IUnknown
21776);
21777impl ICoreWebView2MoveFocusRequestedEventHandler {
21778 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
21779 where
21780 P0: windows_core::Param<ICoreWebView2Controller>,
21781 P1: windows_core::Param<ICoreWebView2MoveFocusRequestedEventArgs>,
21782 {
21783 unsafe {
21784 (windows_core::Interface::vtable(self).Invoke)(
21785 windows_core::Interface::as_raw(self),
21786 sender.param().abi(),
21787 args.param().abi(),
21788 )
21789 .ok()
21790 }
21791 }
21792}
21793#[repr(C)]
21794#[doc(hidden)]
21795pub struct ICoreWebView2MoveFocusRequestedEventHandler_Vtbl {
21796 pub base__: windows_core::IUnknown_Vtbl,
21797 pub Invoke: unsafe extern "system" fn(
21798 *mut core::ffi::c_void,
21799 *mut core::ffi::c_void,
21800 *mut core::ffi::c_void,
21801 ) -> windows_core::HRESULT,
21802}
21803pub trait ICoreWebView2MoveFocusRequestedEventHandler_Impl: windows_core::IUnknownImpl {
21804 fn Invoke(
21805 &self,
21806 sender: windows_core::Ref<'_, ICoreWebView2Controller>,
21807 args: windows_core::Ref<'_, ICoreWebView2MoveFocusRequestedEventArgs>,
21808 ) -> windows_core::Result<()>;
21809}
21810impl ICoreWebView2MoveFocusRequestedEventHandler_Vtbl {
21811 pub const fn new<
21812 Identity: ICoreWebView2MoveFocusRequestedEventHandler_Impl,
21813 const OFFSET: isize,
21814 >() -> Self {
21815 unsafe extern "system" fn Invoke<
21816 Identity: ICoreWebView2MoveFocusRequestedEventHandler_Impl,
21817 const OFFSET: isize,
21818 >(
21819 this: *mut core::ffi::c_void,
21820 sender: *mut core::ffi::c_void,
21821 args: *mut core::ffi::c_void,
21822 ) -> windows_core::HRESULT {
21823 unsafe {
21824 let this: &Identity =
21825 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21826 ICoreWebView2MoveFocusRequestedEventHandler_Impl::Invoke(
21827 this,
21828 core::mem::transmute_copy(&sender),
21829 core::mem::transmute_copy(&args),
21830 )
21831 .into()
21832 }
21833 }
21834 Self {
21835 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21836 Invoke: Invoke::<Identity, OFFSET>,
21837 }
21838 }
21839 pub fn matches(iid: &windows_core::GUID) -> bool {
21840 iid == &<ICoreWebView2MoveFocusRequestedEventHandler as windows_core::Interface>::IID
21841 }
21842}
21843impl windows_core::RuntimeName for ICoreWebView2MoveFocusRequestedEventHandler {}
21844windows_core::imp::define_interface!(
21845 ICoreWebView2NavigationCompletedEventArgs,
21846 ICoreWebView2NavigationCompletedEventArgs_Vtbl,
21847 0x30d68b7d_20d9_4752_a9ca_ec8448fbb5c1
21848);
21849windows_core::imp::interface_hierarchy!(
21850 ICoreWebView2NavigationCompletedEventArgs,
21851 windows_core::IUnknown
21852);
21853impl ICoreWebView2NavigationCompletedEventArgs {
21854 pub unsafe fn IsSuccess(&self, issuccess: *mut windows_core::BOOL) -> windows_core::Result<()> {
21855 unsafe {
21856 (windows_core::Interface::vtable(self).IsSuccess)(
21857 windows_core::Interface::as_raw(self),
21858 issuccess as _,
21859 )
21860 .ok()
21861 }
21862 }
21863 pub unsafe fn WebErrorStatus(
21864 &self,
21865 weberrorstatus: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
21866 ) -> windows_core::Result<()> {
21867 unsafe {
21868 (windows_core::Interface::vtable(self).WebErrorStatus)(
21869 windows_core::Interface::as_raw(self),
21870 weberrorstatus as _,
21871 )
21872 .ok()
21873 }
21874 }
21875 pub unsafe fn NavigationId(&self, navigationid: *mut u64) -> windows_core::Result<()> {
21876 unsafe {
21877 (windows_core::Interface::vtable(self).NavigationId)(
21878 windows_core::Interface::as_raw(self),
21879 navigationid as _,
21880 )
21881 .ok()
21882 }
21883 }
21884}
21885#[repr(C)]
21886#[doc(hidden)]
21887pub struct ICoreWebView2NavigationCompletedEventArgs_Vtbl {
21888 pub base__: windows_core::IUnknown_Vtbl,
21889 pub IsSuccess: unsafe extern "system" fn(
21890 *mut core::ffi::c_void,
21891 *mut windows_core::BOOL,
21892 ) -> windows_core::HRESULT,
21893 pub WebErrorStatus: unsafe extern "system" fn(
21894 *mut core::ffi::c_void,
21895 *mut COREWEBVIEW2_WEB_ERROR_STATUS,
21896 ) -> windows_core::HRESULT,
21897 pub NavigationId:
21898 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
21899}
21900pub trait ICoreWebView2NavigationCompletedEventArgs_Impl: windows_core::IUnknownImpl {
21901 fn IsSuccess(&self, issuccess: *mut windows_core::BOOL) -> windows_core::Result<()>;
21902 fn WebErrorStatus(
21903 &self,
21904 weberrorstatus: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
21905 ) -> windows_core::Result<()>;
21906 fn NavigationId(&self, navigationid: *mut u64) -> windows_core::Result<()>;
21907}
21908impl ICoreWebView2NavigationCompletedEventArgs_Vtbl {
21909 pub const fn new<
21910 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
21911 const OFFSET: isize,
21912 >() -> Self {
21913 unsafe extern "system" fn IsSuccess<
21914 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
21915 const OFFSET: isize,
21916 >(
21917 this: *mut core::ffi::c_void,
21918 issuccess: *mut windows_core::BOOL,
21919 ) -> windows_core::HRESULT {
21920 unsafe {
21921 let this: &Identity =
21922 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21923 ICoreWebView2NavigationCompletedEventArgs_Impl::IsSuccess(
21924 this,
21925 core::mem::transmute_copy(&issuccess),
21926 )
21927 .into()
21928 }
21929 }
21930 unsafe extern "system" fn WebErrorStatus<
21931 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
21932 const OFFSET: isize,
21933 >(
21934 this: *mut core::ffi::c_void,
21935 weberrorstatus: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
21936 ) -> windows_core::HRESULT {
21937 unsafe {
21938 let this: &Identity =
21939 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21940 ICoreWebView2NavigationCompletedEventArgs_Impl::WebErrorStatus(
21941 this,
21942 core::mem::transmute_copy(&weberrorstatus),
21943 )
21944 .into()
21945 }
21946 }
21947 unsafe extern "system" fn NavigationId<
21948 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
21949 const OFFSET: isize,
21950 >(
21951 this: *mut core::ffi::c_void,
21952 navigationid: *mut u64,
21953 ) -> windows_core::HRESULT {
21954 unsafe {
21955 let this: &Identity =
21956 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21957 ICoreWebView2NavigationCompletedEventArgs_Impl::NavigationId(
21958 this,
21959 core::mem::transmute_copy(&navigationid),
21960 )
21961 .into()
21962 }
21963 }
21964 Self {
21965 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
21966 IsSuccess: IsSuccess::<Identity, OFFSET>,
21967 WebErrorStatus: WebErrorStatus::<Identity, OFFSET>,
21968 NavigationId: NavigationId::<Identity, OFFSET>,
21969 }
21970 }
21971 pub fn matches(iid: &windows_core::GUID) -> bool {
21972 iid == &<ICoreWebView2NavigationCompletedEventArgs as windows_core::Interface>::IID
21973 }
21974}
21975impl windows_core::RuntimeName for ICoreWebView2NavigationCompletedEventArgs {}
21976windows_core::imp::define_interface!(
21977 ICoreWebView2NavigationCompletedEventArgs2,
21978 ICoreWebView2NavigationCompletedEventArgs2_Vtbl,
21979 0xfdf8b738_ee1e_4db2_a329_8d7d7b74d792
21980);
21981impl core::ops::Deref for ICoreWebView2NavigationCompletedEventArgs2 {
21982 type Target = ICoreWebView2NavigationCompletedEventArgs;
21983 fn deref(&self) -> &Self::Target {
21984 unsafe { core::mem::transmute(self) }
21985 }
21986}
21987windows_core::imp::interface_hierarchy!(
21988 ICoreWebView2NavigationCompletedEventArgs2,
21989 windows_core::IUnknown,
21990 ICoreWebView2NavigationCompletedEventArgs
21991);
21992impl ICoreWebView2NavigationCompletedEventArgs2 {
21993 pub unsafe fn HttpStatusCode(&self, value: *mut i32) -> windows_core::Result<()> {
21994 unsafe {
21995 (windows_core::Interface::vtable(self).HttpStatusCode)(
21996 windows_core::Interface::as_raw(self),
21997 value as _,
21998 )
21999 .ok()
22000 }
22001 }
22002}
22003#[repr(C)]
22004#[doc(hidden)]
22005pub struct ICoreWebView2NavigationCompletedEventArgs2_Vtbl {
22006 pub base__: ICoreWebView2NavigationCompletedEventArgs_Vtbl,
22007 pub HttpStatusCode:
22008 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
22009}
22010pub trait ICoreWebView2NavigationCompletedEventArgs2_Impl:
22011 ICoreWebView2NavigationCompletedEventArgs_Impl
22012{
22013 fn HttpStatusCode(&self, value: *mut i32) -> windows_core::Result<()>;
22014}
22015impl ICoreWebView2NavigationCompletedEventArgs2_Vtbl {
22016 pub const fn new<
22017 Identity: ICoreWebView2NavigationCompletedEventArgs2_Impl,
22018 const OFFSET: isize,
22019 >() -> Self {
22020 unsafe extern "system" fn HttpStatusCode<
22021 Identity: ICoreWebView2NavigationCompletedEventArgs2_Impl,
22022 const OFFSET: isize,
22023 >(
22024 this: *mut core::ffi::c_void,
22025 value: *mut i32,
22026 ) -> windows_core::HRESULT {
22027 unsafe {
22028 let this: &Identity =
22029 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22030 ICoreWebView2NavigationCompletedEventArgs2_Impl::HttpStatusCode(
22031 this,
22032 core::mem::transmute_copy(&value),
22033 )
22034 .into()
22035 }
22036 }
22037 Self {
22038 base__: ICoreWebView2NavigationCompletedEventArgs_Vtbl::new::<Identity, OFFSET>(),
22039 HttpStatusCode: HttpStatusCode::<Identity, OFFSET>,
22040 }
22041 }
22042 pub fn matches(iid: &windows_core::GUID) -> bool {
22043 iid == &<ICoreWebView2NavigationCompletedEventArgs2 as windows_core::Interface>::IID
22044 || iid == &<ICoreWebView2NavigationCompletedEventArgs as windows_core::Interface>::IID
22045 }
22046}
22047impl windows_core::RuntimeName for ICoreWebView2NavigationCompletedEventArgs2 {}
22048windows_core::imp::define_interface!(
22049 ICoreWebView2NavigationCompletedEventHandler,
22050 ICoreWebView2NavigationCompletedEventHandler_Vtbl,
22051 0xd33a35bf_1c49_4f98_93ab_006e0533fe1c
22052);
22053windows_core::imp::interface_hierarchy!(
22054 ICoreWebView2NavigationCompletedEventHandler,
22055 windows_core::IUnknown
22056);
22057impl ICoreWebView2NavigationCompletedEventHandler {
22058 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
22059 where
22060 P0: windows_core::Param<ICoreWebView2>,
22061 P1: windows_core::Param<ICoreWebView2NavigationCompletedEventArgs>,
22062 {
22063 unsafe {
22064 (windows_core::Interface::vtable(self).Invoke)(
22065 windows_core::Interface::as_raw(self),
22066 sender.param().abi(),
22067 args.param().abi(),
22068 )
22069 .ok()
22070 }
22071 }
22072}
22073#[repr(C)]
22074#[doc(hidden)]
22075pub struct ICoreWebView2NavigationCompletedEventHandler_Vtbl {
22076 pub base__: windows_core::IUnknown_Vtbl,
22077 pub Invoke: unsafe extern "system" fn(
22078 *mut core::ffi::c_void,
22079 *mut core::ffi::c_void,
22080 *mut core::ffi::c_void,
22081 ) -> windows_core::HRESULT,
22082}
22083pub trait ICoreWebView2NavigationCompletedEventHandler_Impl: windows_core::IUnknownImpl {
22084 fn Invoke(
22085 &self,
22086 sender: windows_core::Ref<'_, ICoreWebView2>,
22087 args: windows_core::Ref<'_, ICoreWebView2NavigationCompletedEventArgs>,
22088 ) -> windows_core::Result<()>;
22089}
22090impl ICoreWebView2NavigationCompletedEventHandler_Vtbl {
22091 pub const fn new<
22092 Identity: ICoreWebView2NavigationCompletedEventHandler_Impl,
22093 const OFFSET: isize,
22094 >() -> Self {
22095 unsafe extern "system" fn Invoke<
22096 Identity: ICoreWebView2NavigationCompletedEventHandler_Impl,
22097 const OFFSET: isize,
22098 >(
22099 this: *mut core::ffi::c_void,
22100 sender: *mut core::ffi::c_void,
22101 args: *mut core::ffi::c_void,
22102 ) -> windows_core::HRESULT {
22103 unsafe {
22104 let this: &Identity =
22105 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22106 ICoreWebView2NavigationCompletedEventHandler_Impl::Invoke(
22107 this,
22108 core::mem::transmute_copy(&sender),
22109 core::mem::transmute_copy(&args),
22110 )
22111 .into()
22112 }
22113 }
22114 Self {
22115 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22116 Invoke: Invoke::<Identity, OFFSET>,
22117 }
22118 }
22119 pub fn matches(iid: &windows_core::GUID) -> bool {
22120 iid == &<ICoreWebView2NavigationCompletedEventHandler as windows_core::Interface>::IID
22121 }
22122}
22123impl windows_core::RuntimeName for ICoreWebView2NavigationCompletedEventHandler {}
22124windows_core::imp::define_interface!(
22125 ICoreWebView2NavigationStartingEventArgs,
22126 ICoreWebView2NavigationStartingEventArgs_Vtbl,
22127 0x5b495469_e119_438a_9b18_7604f25f2e49
22128);
22129windows_core::imp::interface_hierarchy!(
22130 ICoreWebView2NavigationStartingEventArgs,
22131 windows_core::IUnknown
22132);
22133impl ICoreWebView2NavigationStartingEventArgs {
22134 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
22135 unsafe {
22136 (windows_core::Interface::vtable(self).Uri)(
22137 windows_core::Interface::as_raw(self),
22138 uri as _,
22139 )
22140 .ok()
22141 }
22142 }
22143 pub unsafe fn IsUserInitiated(
22144 &self,
22145 isuserinitiated: *mut windows_core::BOOL,
22146 ) -> windows_core::Result<()> {
22147 unsafe {
22148 (windows_core::Interface::vtable(self).IsUserInitiated)(
22149 windows_core::Interface::as_raw(self),
22150 isuserinitiated as _,
22151 )
22152 .ok()
22153 }
22154 }
22155 pub unsafe fn IsRedirected(
22156 &self,
22157 isredirected: *mut windows_core::BOOL,
22158 ) -> windows_core::Result<()> {
22159 unsafe {
22160 (windows_core::Interface::vtable(self).IsRedirected)(
22161 windows_core::Interface::as_raw(self),
22162 isredirected as _,
22163 )
22164 .ok()
22165 }
22166 }
22167 pub unsafe fn RequestHeaders(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders> {
22168 unsafe {
22169 let mut result__ = core::mem::zeroed();
22170 (windows_core::Interface::vtable(self).RequestHeaders)(
22171 windows_core::Interface::as_raw(self),
22172 &mut result__,
22173 )
22174 .and_then(|| windows_core::Type::from_abi(result__))
22175 }
22176 }
22177 pub unsafe fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()> {
22178 unsafe {
22179 (windows_core::Interface::vtable(self).Cancel)(
22180 windows_core::Interface::as_raw(self),
22181 cancel as _,
22182 )
22183 .ok()
22184 }
22185 }
22186 pub unsafe fn SetCancel(&self, cancel: bool) -> windows_core::Result<()> {
22187 unsafe {
22188 (windows_core::Interface::vtable(self).SetCancel)(
22189 windows_core::Interface::as_raw(self),
22190 cancel.into(),
22191 )
22192 .ok()
22193 }
22194 }
22195 pub unsafe fn NavigationId(&self, navigationid: *mut u64) -> windows_core::Result<()> {
22196 unsafe {
22197 (windows_core::Interface::vtable(self).NavigationId)(
22198 windows_core::Interface::as_raw(self),
22199 navigationid as _,
22200 )
22201 .ok()
22202 }
22203 }
22204}
22205#[repr(C)]
22206#[doc(hidden)]
22207pub struct ICoreWebView2NavigationStartingEventArgs_Vtbl {
22208 pub base__: windows_core::IUnknown_Vtbl,
22209 pub Uri: unsafe extern "system" fn(
22210 *mut core::ffi::c_void,
22211 *mut windows_core::PWSTR,
22212 ) -> windows_core::HRESULT,
22213 pub IsUserInitiated: unsafe extern "system" fn(
22214 *mut core::ffi::c_void,
22215 *mut windows_core::BOOL,
22216 ) -> windows_core::HRESULT,
22217 pub IsRedirected: unsafe extern "system" fn(
22218 *mut core::ffi::c_void,
22219 *mut windows_core::BOOL,
22220 ) -> windows_core::HRESULT,
22221 pub RequestHeaders: unsafe extern "system" fn(
22222 *mut core::ffi::c_void,
22223 *mut *mut core::ffi::c_void,
22224 ) -> windows_core::HRESULT,
22225 pub Cancel: unsafe extern "system" fn(
22226 *mut core::ffi::c_void,
22227 *mut windows_core::BOOL,
22228 ) -> windows_core::HRESULT,
22229 pub SetCancel: unsafe extern "system" fn(
22230 *mut core::ffi::c_void,
22231 windows_core::BOOL,
22232 ) -> windows_core::HRESULT,
22233 pub NavigationId:
22234 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
22235}
22236pub trait ICoreWebView2NavigationStartingEventArgs_Impl: windows_core::IUnknownImpl {
22237 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
22238 fn IsUserInitiated(&self, isuserinitiated: *mut windows_core::BOOL)
22239 -> windows_core::Result<()>;
22240 fn IsRedirected(&self, isredirected: *mut windows_core::BOOL) -> windows_core::Result<()>;
22241 fn RequestHeaders(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders>;
22242 fn Cancel(&self, cancel: *mut windows_core::BOOL) -> windows_core::Result<()>;
22243 fn SetCancel(&self, cancel: windows_core::BOOL) -> windows_core::Result<()>;
22244 fn NavigationId(&self, navigationid: *mut u64) -> windows_core::Result<()>;
22245}
22246impl ICoreWebView2NavigationStartingEventArgs_Vtbl {
22247 pub const fn new<
22248 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22249 const OFFSET: isize,
22250 >() -> Self {
22251 unsafe extern "system" fn Uri<
22252 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22253 const OFFSET: isize,
22254 >(
22255 this: *mut core::ffi::c_void,
22256 uri: *mut windows_core::PWSTR,
22257 ) -> windows_core::HRESULT {
22258 unsafe {
22259 let this: &Identity =
22260 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22261 ICoreWebView2NavigationStartingEventArgs_Impl::Uri(
22262 this,
22263 core::mem::transmute_copy(&uri),
22264 )
22265 .into()
22266 }
22267 }
22268 unsafe extern "system" fn IsUserInitiated<
22269 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22270 const OFFSET: isize,
22271 >(
22272 this: *mut core::ffi::c_void,
22273 isuserinitiated: *mut windows_core::BOOL,
22274 ) -> windows_core::HRESULT {
22275 unsafe {
22276 let this: &Identity =
22277 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22278 ICoreWebView2NavigationStartingEventArgs_Impl::IsUserInitiated(
22279 this,
22280 core::mem::transmute_copy(&isuserinitiated),
22281 )
22282 .into()
22283 }
22284 }
22285 unsafe extern "system" fn IsRedirected<
22286 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22287 const OFFSET: isize,
22288 >(
22289 this: *mut core::ffi::c_void,
22290 isredirected: *mut windows_core::BOOL,
22291 ) -> windows_core::HRESULT {
22292 unsafe {
22293 let this: &Identity =
22294 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22295 ICoreWebView2NavigationStartingEventArgs_Impl::IsRedirected(
22296 this,
22297 core::mem::transmute_copy(&isredirected),
22298 )
22299 .into()
22300 }
22301 }
22302 unsafe extern "system" fn RequestHeaders<
22303 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22304 const OFFSET: isize,
22305 >(
22306 this: *mut core::ffi::c_void,
22307 requestheaders: *mut *mut core::ffi::c_void,
22308 ) -> windows_core::HRESULT {
22309 unsafe {
22310 let this: &Identity =
22311 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22312 match ICoreWebView2NavigationStartingEventArgs_Impl::RequestHeaders(this) {
22313 Ok(ok__) => {
22314 requestheaders.write(core::mem::transmute(ok__));
22315 windows_core::HRESULT(0)
22316 }
22317 Err(err) => err.into(),
22318 }
22319 }
22320 }
22321 unsafe extern "system" fn Cancel<
22322 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22323 const OFFSET: isize,
22324 >(
22325 this: *mut core::ffi::c_void,
22326 cancel: *mut windows_core::BOOL,
22327 ) -> windows_core::HRESULT {
22328 unsafe {
22329 let this: &Identity =
22330 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22331 ICoreWebView2NavigationStartingEventArgs_Impl::Cancel(
22332 this,
22333 core::mem::transmute_copy(&cancel),
22334 )
22335 .into()
22336 }
22337 }
22338 unsafe extern "system" fn SetCancel<
22339 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22340 const OFFSET: isize,
22341 >(
22342 this: *mut core::ffi::c_void,
22343 cancel: windows_core::BOOL,
22344 ) -> windows_core::HRESULT {
22345 unsafe {
22346 let this: &Identity =
22347 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22348 ICoreWebView2NavigationStartingEventArgs_Impl::SetCancel(
22349 this,
22350 core::mem::transmute_copy(&cancel),
22351 )
22352 .into()
22353 }
22354 }
22355 unsafe extern "system" fn NavigationId<
22356 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
22357 const OFFSET: isize,
22358 >(
22359 this: *mut core::ffi::c_void,
22360 navigationid: *mut u64,
22361 ) -> windows_core::HRESULT {
22362 unsafe {
22363 let this: &Identity =
22364 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22365 ICoreWebView2NavigationStartingEventArgs_Impl::NavigationId(
22366 this,
22367 core::mem::transmute_copy(&navigationid),
22368 )
22369 .into()
22370 }
22371 }
22372 Self {
22373 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22374 Uri: Uri::<Identity, OFFSET>,
22375 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
22376 IsRedirected: IsRedirected::<Identity, OFFSET>,
22377 RequestHeaders: RequestHeaders::<Identity, OFFSET>,
22378 Cancel: Cancel::<Identity, OFFSET>,
22379 SetCancel: SetCancel::<Identity, OFFSET>,
22380 NavigationId: NavigationId::<Identity, OFFSET>,
22381 }
22382 }
22383 pub fn matches(iid: &windows_core::GUID) -> bool {
22384 iid == &<ICoreWebView2NavigationStartingEventArgs as windows_core::Interface>::IID
22385 }
22386}
22387impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventArgs {}
22388windows_core::imp::define_interface!(
22389 ICoreWebView2NavigationStartingEventArgs2,
22390 ICoreWebView2NavigationStartingEventArgs2_Vtbl,
22391 0x9086be93_91aa_472d_a7e0_579f2ba006ad
22392);
22393impl core::ops::Deref for ICoreWebView2NavigationStartingEventArgs2 {
22394 type Target = ICoreWebView2NavigationStartingEventArgs;
22395 fn deref(&self) -> &Self::Target {
22396 unsafe { core::mem::transmute(self) }
22397 }
22398}
22399windows_core::imp::interface_hierarchy!(
22400 ICoreWebView2NavigationStartingEventArgs2,
22401 windows_core::IUnknown,
22402 ICoreWebView2NavigationStartingEventArgs
22403);
22404impl ICoreWebView2NavigationStartingEventArgs2 {
22405 pub unsafe fn AdditionalAllowedFrameAncestors(
22406 &self,
22407 value: *mut windows_core::PWSTR,
22408 ) -> windows_core::Result<()> {
22409 unsafe {
22410 (windows_core::Interface::vtable(self).AdditionalAllowedFrameAncestors)(
22411 windows_core::Interface::as_raw(self),
22412 value as _,
22413 )
22414 .ok()
22415 }
22416 }
22417 pub unsafe fn SetAdditionalAllowedFrameAncestors<P0>(
22418 &self,
22419 value: P0,
22420 ) -> windows_core::Result<()>
22421 where
22422 P0: windows_core::Param<windows_core::PCWSTR>,
22423 {
22424 unsafe {
22425 (windows_core::Interface::vtable(self).SetAdditionalAllowedFrameAncestors)(
22426 windows_core::Interface::as_raw(self),
22427 value.param().abi(),
22428 )
22429 .ok()
22430 }
22431 }
22432}
22433#[repr(C)]
22434#[doc(hidden)]
22435pub struct ICoreWebView2NavigationStartingEventArgs2_Vtbl {
22436 pub base__: ICoreWebView2NavigationStartingEventArgs_Vtbl,
22437 pub AdditionalAllowedFrameAncestors: unsafe extern "system" fn(
22438 *mut core::ffi::c_void,
22439 *mut windows_core::PWSTR,
22440 ) -> windows_core::HRESULT,
22441 pub SetAdditionalAllowedFrameAncestors: unsafe extern "system" fn(
22442 *mut core::ffi::c_void,
22443 windows_core::PCWSTR,
22444 ) -> windows_core::HRESULT,
22445}
22446pub trait ICoreWebView2NavigationStartingEventArgs2_Impl:
22447 ICoreWebView2NavigationStartingEventArgs_Impl
22448{
22449 fn AdditionalAllowedFrameAncestors(
22450 &self,
22451 value: *mut windows_core::PWSTR,
22452 ) -> windows_core::Result<()>;
22453 fn SetAdditionalAllowedFrameAncestors(
22454 &self,
22455 value: &windows_core::PCWSTR,
22456 ) -> windows_core::Result<()>;
22457}
22458impl ICoreWebView2NavigationStartingEventArgs2_Vtbl {
22459 pub const fn new<
22460 Identity: ICoreWebView2NavigationStartingEventArgs2_Impl,
22461 const OFFSET: isize,
22462 >() -> Self {
22463 unsafe extern "system" fn AdditionalAllowedFrameAncestors<
22464 Identity: ICoreWebView2NavigationStartingEventArgs2_Impl,
22465 const OFFSET: isize,
22466 >(
22467 this: *mut core::ffi::c_void,
22468 value: *mut windows_core::PWSTR,
22469 ) -> windows_core::HRESULT {
22470 unsafe {
22471 let this: &Identity =
22472 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22473 ICoreWebView2NavigationStartingEventArgs2_Impl::AdditionalAllowedFrameAncestors(
22474 this,
22475 core::mem::transmute_copy(&value),
22476 )
22477 .into()
22478 }
22479 }
22480 unsafe extern "system" fn SetAdditionalAllowedFrameAncestors<
22481 Identity: ICoreWebView2NavigationStartingEventArgs2_Impl,
22482 const OFFSET: isize,
22483 >(
22484 this: *mut core::ffi::c_void,
22485 value: windows_core::PCWSTR,
22486 ) -> windows_core::HRESULT {
22487 unsafe {
22488 let this: &Identity =
22489 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22490 ICoreWebView2NavigationStartingEventArgs2_Impl::SetAdditionalAllowedFrameAncestors(
22491 this,
22492 core::mem::transmute(&value),
22493 )
22494 .into()
22495 }
22496 }
22497 Self {
22498 base__: ICoreWebView2NavigationStartingEventArgs_Vtbl::new::<Identity, OFFSET>(),
22499 AdditionalAllowedFrameAncestors: AdditionalAllowedFrameAncestors::<Identity, OFFSET>,
22500 SetAdditionalAllowedFrameAncestors: SetAdditionalAllowedFrameAncestors::<
22501 Identity,
22502 OFFSET,
22503 >,
22504 }
22505 }
22506 pub fn matches(iid: &windows_core::GUID) -> bool {
22507 iid == &<ICoreWebView2NavigationStartingEventArgs2 as windows_core::Interface>::IID
22508 || iid == &<ICoreWebView2NavigationStartingEventArgs as windows_core::Interface>::IID
22509 }
22510}
22511impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventArgs2 {}
22512windows_core::imp::define_interface!(
22513 ICoreWebView2NavigationStartingEventArgs3,
22514 ICoreWebView2NavigationStartingEventArgs3_Vtbl,
22515 0xddffe494_4942_4bd2_ab73_35b8ff40e19f
22516);
22517impl core::ops::Deref for ICoreWebView2NavigationStartingEventArgs3 {
22518 type Target = ICoreWebView2NavigationStartingEventArgs2;
22519 fn deref(&self) -> &Self::Target {
22520 unsafe { core::mem::transmute(self) }
22521 }
22522}
22523windows_core::imp::interface_hierarchy!(
22524 ICoreWebView2NavigationStartingEventArgs3,
22525 windows_core::IUnknown,
22526 ICoreWebView2NavigationStartingEventArgs,
22527 ICoreWebView2NavigationStartingEventArgs2
22528);
22529impl ICoreWebView2NavigationStartingEventArgs3 {
22530 pub unsafe fn NavigationKind(
22531 &self,
22532 value: *mut COREWEBVIEW2_NAVIGATION_KIND,
22533 ) -> windows_core::Result<()> {
22534 unsafe {
22535 (windows_core::Interface::vtable(self).NavigationKind)(
22536 windows_core::Interface::as_raw(self),
22537 value as _,
22538 )
22539 .ok()
22540 }
22541 }
22542}
22543#[repr(C)]
22544#[doc(hidden)]
22545pub struct ICoreWebView2NavigationStartingEventArgs3_Vtbl {
22546 pub base__: ICoreWebView2NavigationStartingEventArgs2_Vtbl,
22547 pub NavigationKind: unsafe extern "system" fn(
22548 *mut core::ffi::c_void,
22549 *mut COREWEBVIEW2_NAVIGATION_KIND,
22550 ) -> windows_core::HRESULT,
22551}
22552pub trait ICoreWebView2NavigationStartingEventArgs3_Impl:
22553 ICoreWebView2NavigationStartingEventArgs2_Impl
22554{
22555 fn NavigationKind(&self, value: *mut COREWEBVIEW2_NAVIGATION_KIND) -> windows_core::Result<()>;
22556}
22557impl ICoreWebView2NavigationStartingEventArgs3_Vtbl {
22558 pub const fn new<
22559 Identity: ICoreWebView2NavigationStartingEventArgs3_Impl,
22560 const OFFSET: isize,
22561 >() -> Self {
22562 unsafe extern "system" fn NavigationKind<
22563 Identity: ICoreWebView2NavigationStartingEventArgs3_Impl,
22564 const OFFSET: isize,
22565 >(
22566 this: *mut core::ffi::c_void,
22567 value: *mut COREWEBVIEW2_NAVIGATION_KIND,
22568 ) -> windows_core::HRESULT {
22569 unsafe {
22570 let this: &Identity =
22571 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22572 ICoreWebView2NavigationStartingEventArgs3_Impl::NavigationKind(
22573 this,
22574 core::mem::transmute_copy(&value),
22575 )
22576 .into()
22577 }
22578 }
22579 Self {
22580 base__: ICoreWebView2NavigationStartingEventArgs2_Vtbl::new::<Identity, OFFSET>(),
22581 NavigationKind: NavigationKind::<Identity, OFFSET>,
22582 }
22583 }
22584 pub fn matches(iid: &windows_core::GUID) -> bool {
22585 iid == &<ICoreWebView2NavigationStartingEventArgs3 as windows_core::Interface>::IID
22586 || iid == &<ICoreWebView2NavigationStartingEventArgs as windows_core::Interface>::IID
22587 || iid == &<ICoreWebView2NavigationStartingEventArgs2 as windows_core::Interface>::IID
22588 }
22589}
22590impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventArgs3 {}
22591windows_core::imp::define_interface!(
22592 ICoreWebView2NavigationStartingEventHandler,
22593 ICoreWebView2NavigationStartingEventHandler_Vtbl,
22594 0x9adbe429_f36d_432b_9ddc_f8881fbd76e3
22595);
22596windows_core::imp::interface_hierarchy!(
22597 ICoreWebView2NavigationStartingEventHandler,
22598 windows_core::IUnknown
22599);
22600impl ICoreWebView2NavigationStartingEventHandler {
22601 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
22602 where
22603 P0: windows_core::Param<ICoreWebView2>,
22604 P1: windows_core::Param<ICoreWebView2NavigationStartingEventArgs>,
22605 {
22606 unsafe {
22607 (windows_core::Interface::vtable(self).Invoke)(
22608 windows_core::Interface::as_raw(self),
22609 sender.param().abi(),
22610 args.param().abi(),
22611 )
22612 .ok()
22613 }
22614 }
22615}
22616#[repr(C)]
22617#[doc(hidden)]
22618pub struct ICoreWebView2NavigationStartingEventHandler_Vtbl {
22619 pub base__: windows_core::IUnknown_Vtbl,
22620 pub Invoke: unsafe extern "system" fn(
22621 *mut core::ffi::c_void,
22622 *mut core::ffi::c_void,
22623 *mut core::ffi::c_void,
22624 ) -> windows_core::HRESULT,
22625}
22626pub trait ICoreWebView2NavigationStartingEventHandler_Impl: windows_core::IUnknownImpl {
22627 fn Invoke(
22628 &self,
22629 sender: windows_core::Ref<'_, ICoreWebView2>,
22630 args: windows_core::Ref<'_, ICoreWebView2NavigationStartingEventArgs>,
22631 ) -> windows_core::Result<()>;
22632}
22633impl ICoreWebView2NavigationStartingEventHandler_Vtbl {
22634 pub const fn new<
22635 Identity: ICoreWebView2NavigationStartingEventHandler_Impl,
22636 const OFFSET: isize,
22637 >() -> Self {
22638 unsafe extern "system" fn Invoke<
22639 Identity: ICoreWebView2NavigationStartingEventHandler_Impl,
22640 const OFFSET: isize,
22641 >(
22642 this: *mut core::ffi::c_void,
22643 sender: *mut core::ffi::c_void,
22644 args: *mut core::ffi::c_void,
22645 ) -> windows_core::HRESULT {
22646 unsafe {
22647 let this: &Identity =
22648 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22649 ICoreWebView2NavigationStartingEventHandler_Impl::Invoke(
22650 this,
22651 core::mem::transmute_copy(&sender),
22652 core::mem::transmute_copy(&args),
22653 )
22654 .into()
22655 }
22656 }
22657 Self {
22658 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22659 Invoke: Invoke::<Identity, OFFSET>,
22660 }
22661 }
22662 pub fn matches(iid: &windows_core::GUID) -> bool {
22663 iid == &<ICoreWebView2NavigationStartingEventHandler as windows_core::Interface>::IID
22664 }
22665}
22666impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventHandler {}
22667windows_core::imp::define_interface!(
22668 ICoreWebView2NewBrowserVersionAvailableEventHandler,
22669 ICoreWebView2NewBrowserVersionAvailableEventHandler_Vtbl,
22670 0xf9a2976e_d34e_44fc_adee_81b6b57ca914
22671);
22672windows_core::imp::interface_hierarchy!(
22673 ICoreWebView2NewBrowserVersionAvailableEventHandler,
22674 windows_core::IUnknown
22675);
22676impl ICoreWebView2NewBrowserVersionAvailableEventHandler {
22677 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
22678 where
22679 P0: windows_core::Param<ICoreWebView2Environment>,
22680 P1: windows_core::Param<windows_core::IUnknown>,
22681 {
22682 unsafe {
22683 (windows_core::Interface::vtable(self).Invoke)(
22684 windows_core::Interface::as_raw(self),
22685 sender.param().abi(),
22686 args.param().abi(),
22687 )
22688 .ok()
22689 }
22690 }
22691}
22692#[repr(C)]
22693#[doc(hidden)]
22694pub struct ICoreWebView2NewBrowserVersionAvailableEventHandler_Vtbl {
22695 pub base__: windows_core::IUnknown_Vtbl,
22696 pub Invoke: unsafe extern "system" fn(
22697 *mut core::ffi::c_void,
22698 *mut core::ffi::c_void,
22699 *mut core::ffi::c_void,
22700 ) -> windows_core::HRESULT,
22701}
22702pub trait ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl:
22703 windows_core::IUnknownImpl
22704{
22705 fn Invoke(
22706 &self,
22707 sender: windows_core::Ref<'_, ICoreWebView2Environment>,
22708 args: windows_core::Ref<'_, windows_core::IUnknown>,
22709 ) -> windows_core::Result<()>;
22710}
22711impl ICoreWebView2NewBrowserVersionAvailableEventHandler_Vtbl {
22712 pub const fn new<
22713 Identity: ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl,
22714 const OFFSET: isize,
22715 >() -> Self {
22716 unsafe extern "system" fn Invoke<
22717 Identity: ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl,
22718 const OFFSET: isize,
22719 >(
22720 this: *mut core::ffi::c_void,
22721 sender: *mut core::ffi::c_void,
22722 args: *mut core::ffi::c_void,
22723 ) -> windows_core::HRESULT {
22724 unsafe {
22725 let this: &Identity =
22726 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22727 ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl::Invoke(
22728 this,
22729 core::mem::transmute_copy(&sender),
22730 core::mem::transmute_copy(&args),
22731 )
22732 .into()
22733 }
22734 }
22735 Self {
22736 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22737 Invoke: Invoke::<Identity, OFFSET>,
22738 }
22739 }
22740 pub fn matches(iid: &windows_core::GUID) -> bool {
22741 iid == & < ICoreWebView2NewBrowserVersionAvailableEventHandler as windows_core::Interface >::IID
22742 }
22743}
22744impl windows_core::RuntimeName for ICoreWebView2NewBrowserVersionAvailableEventHandler {}
22745windows_core::imp::define_interface!(
22746 ICoreWebView2NewWindowRequestedEventArgs,
22747 ICoreWebView2NewWindowRequestedEventArgs_Vtbl,
22748 0x34acb11c_fc37_4418_9132_f9c21d1eafb9
22749);
22750windows_core::imp::interface_hierarchy!(
22751 ICoreWebView2NewWindowRequestedEventArgs,
22752 windows_core::IUnknown
22753);
22754impl ICoreWebView2NewWindowRequestedEventArgs {
22755 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
22756 unsafe {
22757 (windows_core::Interface::vtable(self).Uri)(
22758 windows_core::Interface::as_raw(self),
22759 uri as _,
22760 )
22761 .ok()
22762 }
22763 }
22764 pub unsafe fn SetNewWindow<P0>(&self, newwindow: P0) -> windows_core::Result<()>
22765 where
22766 P0: windows_core::Param<ICoreWebView2>,
22767 {
22768 unsafe {
22769 (windows_core::Interface::vtable(self).SetNewWindow)(
22770 windows_core::Interface::as_raw(self),
22771 newwindow.param().abi(),
22772 )
22773 .ok()
22774 }
22775 }
22776 pub unsafe fn NewWindow(&self) -> windows_core::Result<ICoreWebView2> {
22777 unsafe {
22778 let mut result__ = core::mem::zeroed();
22779 (windows_core::Interface::vtable(self).NewWindow)(
22780 windows_core::Interface::as_raw(self),
22781 &mut result__,
22782 )
22783 .and_then(|| windows_core::Type::from_abi(result__))
22784 }
22785 }
22786 pub unsafe fn SetHandled(&self, handled: bool) -> windows_core::Result<()> {
22787 unsafe {
22788 (windows_core::Interface::vtable(self).SetHandled)(
22789 windows_core::Interface::as_raw(self),
22790 handled.into(),
22791 )
22792 .ok()
22793 }
22794 }
22795 pub unsafe fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()> {
22796 unsafe {
22797 (windows_core::Interface::vtable(self).Handled)(
22798 windows_core::Interface::as_raw(self),
22799 handled as _,
22800 )
22801 .ok()
22802 }
22803 }
22804 pub unsafe fn IsUserInitiated(
22805 &self,
22806 isuserinitiated: *mut windows_core::BOOL,
22807 ) -> windows_core::Result<()> {
22808 unsafe {
22809 (windows_core::Interface::vtable(self).IsUserInitiated)(
22810 windows_core::Interface::as_raw(self),
22811 isuserinitiated as _,
22812 )
22813 .ok()
22814 }
22815 }
22816 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
22817 unsafe {
22818 let mut result__ = core::mem::zeroed();
22819 (windows_core::Interface::vtable(self).GetDeferral)(
22820 windows_core::Interface::as_raw(self),
22821 &mut result__,
22822 )
22823 .and_then(|| windows_core::Type::from_abi(result__))
22824 }
22825 }
22826 pub unsafe fn WindowFeatures(&self) -> windows_core::Result<ICoreWebView2WindowFeatures> {
22827 unsafe {
22828 let mut result__ = core::mem::zeroed();
22829 (windows_core::Interface::vtable(self).WindowFeatures)(
22830 windows_core::Interface::as_raw(self),
22831 &mut result__,
22832 )
22833 .and_then(|| windows_core::Type::from_abi(result__))
22834 }
22835 }
22836}
22837#[repr(C)]
22838#[doc(hidden)]
22839pub struct ICoreWebView2NewWindowRequestedEventArgs_Vtbl {
22840 pub base__: windows_core::IUnknown_Vtbl,
22841 pub Uri: unsafe extern "system" fn(
22842 *mut core::ffi::c_void,
22843 *mut windows_core::PWSTR,
22844 ) -> windows_core::HRESULT,
22845 pub SetNewWindow: unsafe extern "system" fn(
22846 *mut core::ffi::c_void,
22847 *mut core::ffi::c_void,
22848 ) -> windows_core::HRESULT,
22849 pub NewWindow: unsafe extern "system" fn(
22850 *mut core::ffi::c_void,
22851 *mut *mut core::ffi::c_void,
22852 ) -> windows_core::HRESULT,
22853 pub SetHandled: unsafe extern "system" fn(
22854 *mut core::ffi::c_void,
22855 windows_core::BOOL,
22856 ) -> windows_core::HRESULT,
22857 pub Handled: unsafe extern "system" fn(
22858 *mut core::ffi::c_void,
22859 *mut windows_core::BOOL,
22860 ) -> windows_core::HRESULT,
22861 pub IsUserInitiated: unsafe extern "system" fn(
22862 *mut core::ffi::c_void,
22863 *mut windows_core::BOOL,
22864 ) -> windows_core::HRESULT,
22865 pub GetDeferral: unsafe extern "system" fn(
22866 *mut core::ffi::c_void,
22867 *mut *mut core::ffi::c_void,
22868 ) -> windows_core::HRESULT,
22869 pub WindowFeatures: unsafe extern "system" fn(
22870 *mut core::ffi::c_void,
22871 *mut *mut core::ffi::c_void,
22872 ) -> windows_core::HRESULT,
22873}
22874pub trait ICoreWebView2NewWindowRequestedEventArgs_Impl: windows_core::IUnknownImpl {
22875 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
22876 fn SetNewWindow(
22877 &self,
22878 newwindow: windows_core::Ref<'_, ICoreWebView2>,
22879 ) -> windows_core::Result<()>;
22880 fn NewWindow(&self) -> windows_core::Result<ICoreWebView2>;
22881 fn SetHandled(&self, handled: windows_core::BOOL) -> windows_core::Result<()>;
22882 fn Handled(&self, handled: *mut windows_core::BOOL) -> windows_core::Result<()>;
22883 fn IsUserInitiated(&self, isuserinitiated: *mut windows_core::BOOL)
22884 -> windows_core::Result<()>;
22885 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
22886 fn WindowFeatures(&self) -> windows_core::Result<ICoreWebView2WindowFeatures>;
22887}
22888impl ICoreWebView2NewWindowRequestedEventArgs_Vtbl {
22889 pub const fn new<
22890 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
22891 const OFFSET: isize,
22892 >() -> Self {
22893 unsafe extern "system" fn Uri<
22894 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
22895 const OFFSET: isize,
22896 >(
22897 this: *mut core::ffi::c_void,
22898 uri: *mut windows_core::PWSTR,
22899 ) -> windows_core::HRESULT {
22900 unsafe {
22901 let this: &Identity =
22902 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22903 ICoreWebView2NewWindowRequestedEventArgs_Impl::Uri(
22904 this,
22905 core::mem::transmute_copy(&uri),
22906 )
22907 .into()
22908 }
22909 }
22910 unsafe extern "system" fn SetNewWindow<
22911 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
22912 const OFFSET: isize,
22913 >(
22914 this: *mut core::ffi::c_void,
22915 newwindow: *mut core::ffi::c_void,
22916 ) -> windows_core::HRESULT {
22917 unsafe {
22918 let this: &Identity =
22919 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22920 ICoreWebView2NewWindowRequestedEventArgs_Impl::SetNewWindow(
22921 this,
22922 core::mem::transmute_copy(&newwindow),
22923 )
22924 .into()
22925 }
22926 }
22927 unsafe extern "system" fn NewWindow<
22928 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
22929 const OFFSET: isize,
22930 >(
22931 this: *mut core::ffi::c_void,
22932 newwindow: *mut *mut core::ffi::c_void,
22933 ) -> windows_core::HRESULT {
22934 unsafe {
22935 let this: &Identity =
22936 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22937 match ICoreWebView2NewWindowRequestedEventArgs_Impl::NewWindow(this) {
22938 Ok(ok__) => {
22939 newwindow.write(core::mem::transmute(ok__));
22940 windows_core::HRESULT(0)
22941 }
22942 Err(err) => err.into(),
22943 }
22944 }
22945 }
22946 unsafe extern "system" fn SetHandled<
22947 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
22948 const OFFSET: isize,
22949 >(
22950 this: *mut core::ffi::c_void,
22951 handled: windows_core::BOOL,
22952 ) -> windows_core::HRESULT {
22953 unsafe {
22954 let this: &Identity =
22955 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22956 ICoreWebView2NewWindowRequestedEventArgs_Impl::SetHandled(
22957 this,
22958 core::mem::transmute_copy(&handled),
22959 )
22960 .into()
22961 }
22962 }
22963 unsafe extern "system" fn Handled<
22964 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
22965 const OFFSET: isize,
22966 >(
22967 this: *mut core::ffi::c_void,
22968 handled: *mut windows_core::BOOL,
22969 ) -> windows_core::HRESULT {
22970 unsafe {
22971 let this: &Identity =
22972 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22973 ICoreWebView2NewWindowRequestedEventArgs_Impl::Handled(
22974 this,
22975 core::mem::transmute_copy(&handled),
22976 )
22977 .into()
22978 }
22979 }
22980 unsafe extern "system" fn IsUserInitiated<
22981 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
22982 const OFFSET: isize,
22983 >(
22984 this: *mut core::ffi::c_void,
22985 isuserinitiated: *mut windows_core::BOOL,
22986 ) -> windows_core::HRESULT {
22987 unsafe {
22988 let this: &Identity =
22989 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22990 ICoreWebView2NewWindowRequestedEventArgs_Impl::IsUserInitiated(
22991 this,
22992 core::mem::transmute_copy(&isuserinitiated),
22993 )
22994 .into()
22995 }
22996 }
22997 unsafe extern "system" fn GetDeferral<
22998 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
22999 const OFFSET: isize,
23000 >(
23001 this: *mut core::ffi::c_void,
23002 deferral: *mut *mut core::ffi::c_void,
23003 ) -> windows_core::HRESULT {
23004 unsafe {
23005 let this: &Identity =
23006 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23007 match ICoreWebView2NewWindowRequestedEventArgs_Impl::GetDeferral(this) {
23008 Ok(ok__) => {
23009 deferral.write(core::mem::transmute(ok__));
23010 windows_core::HRESULT(0)
23011 }
23012 Err(err) => err.into(),
23013 }
23014 }
23015 }
23016 unsafe extern "system" fn WindowFeatures<
23017 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
23018 const OFFSET: isize,
23019 >(
23020 this: *mut core::ffi::c_void,
23021 value: *mut *mut core::ffi::c_void,
23022 ) -> windows_core::HRESULT {
23023 unsafe {
23024 let this: &Identity =
23025 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23026 match ICoreWebView2NewWindowRequestedEventArgs_Impl::WindowFeatures(this) {
23027 Ok(ok__) => {
23028 value.write(core::mem::transmute(ok__));
23029 windows_core::HRESULT(0)
23030 }
23031 Err(err) => err.into(),
23032 }
23033 }
23034 }
23035 Self {
23036 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23037 Uri: Uri::<Identity, OFFSET>,
23038 SetNewWindow: SetNewWindow::<Identity, OFFSET>,
23039 NewWindow: NewWindow::<Identity, OFFSET>,
23040 SetHandled: SetHandled::<Identity, OFFSET>,
23041 Handled: Handled::<Identity, OFFSET>,
23042 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
23043 GetDeferral: GetDeferral::<Identity, OFFSET>,
23044 WindowFeatures: WindowFeatures::<Identity, OFFSET>,
23045 }
23046 }
23047 pub fn matches(iid: &windows_core::GUID) -> bool {
23048 iid == &<ICoreWebView2NewWindowRequestedEventArgs as windows_core::Interface>::IID
23049 }
23050}
23051impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventArgs {}
23052windows_core::imp::define_interface!(
23053 ICoreWebView2NewWindowRequestedEventArgs2,
23054 ICoreWebView2NewWindowRequestedEventArgs2_Vtbl,
23055 0xbbc7baed_74c6_4c92_b63a_7f5aeae03de3
23056);
23057impl core::ops::Deref for ICoreWebView2NewWindowRequestedEventArgs2 {
23058 type Target = ICoreWebView2NewWindowRequestedEventArgs;
23059 fn deref(&self) -> &Self::Target {
23060 unsafe { core::mem::transmute(self) }
23061 }
23062}
23063windows_core::imp::interface_hierarchy!(
23064 ICoreWebView2NewWindowRequestedEventArgs2,
23065 windows_core::IUnknown,
23066 ICoreWebView2NewWindowRequestedEventArgs
23067);
23068impl ICoreWebView2NewWindowRequestedEventArgs2 {
23069 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23070 unsafe {
23071 (windows_core::Interface::vtable(self).Name)(
23072 windows_core::Interface::as_raw(self),
23073 value as _,
23074 )
23075 .ok()
23076 }
23077 }
23078}
23079#[repr(C)]
23080#[doc(hidden)]
23081pub struct ICoreWebView2NewWindowRequestedEventArgs2_Vtbl {
23082 pub base__: ICoreWebView2NewWindowRequestedEventArgs_Vtbl,
23083 pub Name: unsafe extern "system" fn(
23084 *mut core::ffi::c_void,
23085 *mut windows_core::PWSTR,
23086 ) -> windows_core::HRESULT,
23087}
23088pub trait ICoreWebView2NewWindowRequestedEventArgs2_Impl:
23089 ICoreWebView2NewWindowRequestedEventArgs_Impl
23090{
23091 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
23092}
23093impl ICoreWebView2NewWindowRequestedEventArgs2_Vtbl {
23094 pub const fn new<
23095 Identity: ICoreWebView2NewWindowRequestedEventArgs2_Impl,
23096 const OFFSET: isize,
23097 >() -> Self {
23098 unsafe extern "system" fn Name<
23099 Identity: ICoreWebView2NewWindowRequestedEventArgs2_Impl,
23100 const OFFSET: isize,
23101 >(
23102 this: *mut core::ffi::c_void,
23103 value: *mut windows_core::PWSTR,
23104 ) -> windows_core::HRESULT {
23105 unsafe {
23106 let this: &Identity =
23107 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23108 ICoreWebView2NewWindowRequestedEventArgs2_Impl::Name(
23109 this,
23110 core::mem::transmute_copy(&value),
23111 )
23112 .into()
23113 }
23114 }
23115 Self {
23116 base__: ICoreWebView2NewWindowRequestedEventArgs_Vtbl::new::<Identity, OFFSET>(),
23117 Name: Name::<Identity, OFFSET>,
23118 }
23119 }
23120 pub fn matches(iid: &windows_core::GUID) -> bool {
23121 iid == &<ICoreWebView2NewWindowRequestedEventArgs2 as windows_core::Interface>::IID
23122 || iid == &<ICoreWebView2NewWindowRequestedEventArgs as windows_core::Interface>::IID
23123 }
23124}
23125impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventArgs2 {}
23126windows_core::imp::define_interface!(
23127 ICoreWebView2NewWindowRequestedEventArgs3,
23128 ICoreWebView2NewWindowRequestedEventArgs3_Vtbl,
23129 0x842bed3c_6ad6_4dd9_b938_28c96667ad66
23130);
23131impl core::ops::Deref for ICoreWebView2NewWindowRequestedEventArgs3 {
23132 type Target = ICoreWebView2NewWindowRequestedEventArgs2;
23133 fn deref(&self) -> &Self::Target {
23134 unsafe { core::mem::transmute(self) }
23135 }
23136}
23137windows_core::imp::interface_hierarchy!(
23138 ICoreWebView2NewWindowRequestedEventArgs3,
23139 windows_core::IUnknown,
23140 ICoreWebView2NewWindowRequestedEventArgs,
23141 ICoreWebView2NewWindowRequestedEventArgs2
23142);
23143impl ICoreWebView2NewWindowRequestedEventArgs3 {
23144 pub unsafe fn OriginalSourceFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo> {
23145 unsafe {
23146 let mut result__ = core::mem::zeroed();
23147 (windows_core::Interface::vtable(self).OriginalSourceFrameInfo)(
23148 windows_core::Interface::as_raw(self),
23149 &mut result__,
23150 )
23151 .and_then(|| windows_core::Type::from_abi(result__))
23152 }
23153 }
23154}
23155#[repr(C)]
23156#[doc(hidden)]
23157pub struct ICoreWebView2NewWindowRequestedEventArgs3_Vtbl {
23158 pub base__: ICoreWebView2NewWindowRequestedEventArgs2_Vtbl,
23159 pub OriginalSourceFrameInfo: unsafe extern "system" fn(
23160 *mut core::ffi::c_void,
23161 *mut *mut core::ffi::c_void,
23162 ) -> windows_core::HRESULT,
23163}
23164pub trait ICoreWebView2NewWindowRequestedEventArgs3_Impl:
23165 ICoreWebView2NewWindowRequestedEventArgs2_Impl
23166{
23167 fn OriginalSourceFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo>;
23168}
23169impl ICoreWebView2NewWindowRequestedEventArgs3_Vtbl {
23170 pub const fn new<
23171 Identity: ICoreWebView2NewWindowRequestedEventArgs3_Impl,
23172 const OFFSET: isize,
23173 >() -> Self {
23174 unsafe extern "system" fn OriginalSourceFrameInfo<
23175 Identity: ICoreWebView2NewWindowRequestedEventArgs3_Impl,
23176 const OFFSET: isize,
23177 >(
23178 this: *mut core::ffi::c_void,
23179 value: *mut *mut core::ffi::c_void,
23180 ) -> windows_core::HRESULT {
23181 unsafe {
23182 let this: &Identity =
23183 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23184 match ICoreWebView2NewWindowRequestedEventArgs3_Impl::OriginalSourceFrameInfo(this)
23185 {
23186 Ok(ok__) => {
23187 value.write(core::mem::transmute(ok__));
23188 windows_core::HRESULT(0)
23189 }
23190 Err(err) => err.into(),
23191 }
23192 }
23193 }
23194 Self {
23195 base__: ICoreWebView2NewWindowRequestedEventArgs2_Vtbl::new::<Identity, OFFSET>(),
23196 OriginalSourceFrameInfo: OriginalSourceFrameInfo::<Identity, OFFSET>,
23197 }
23198 }
23199 pub fn matches(iid: &windows_core::GUID) -> bool {
23200 iid == &<ICoreWebView2NewWindowRequestedEventArgs3 as windows_core::Interface>::IID
23201 || iid == &<ICoreWebView2NewWindowRequestedEventArgs as windows_core::Interface>::IID
23202 || iid == &<ICoreWebView2NewWindowRequestedEventArgs2 as windows_core::Interface>::IID
23203 }
23204}
23205impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventArgs3 {}
23206windows_core::imp::define_interface!(
23207 ICoreWebView2NewWindowRequestedEventHandler,
23208 ICoreWebView2NewWindowRequestedEventHandler_Vtbl,
23209 0xd4c185fe_c81c_4989_97af_2d3fa7ab5651
23210);
23211windows_core::imp::interface_hierarchy!(
23212 ICoreWebView2NewWindowRequestedEventHandler,
23213 windows_core::IUnknown
23214);
23215impl ICoreWebView2NewWindowRequestedEventHandler {
23216 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
23217 where
23218 P0: windows_core::Param<ICoreWebView2>,
23219 P1: windows_core::Param<ICoreWebView2NewWindowRequestedEventArgs>,
23220 {
23221 unsafe {
23222 (windows_core::Interface::vtable(self).Invoke)(
23223 windows_core::Interface::as_raw(self),
23224 sender.param().abi(),
23225 args.param().abi(),
23226 )
23227 .ok()
23228 }
23229 }
23230}
23231#[repr(C)]
23232#[doc(hidden)]
23233pub struct ICoreWebView2NewWindowRequestedEventHandler_Vtbl {
23234 pub base__: windows_core::IUnknown_Vtbl,
23235 pub Invoke: unsafe extern "system" fn(
23236 *mut core::ffi::c_void,
23237 *mut core::ffi::c_void,
23238 *mut core::ffi::c_void,
23239 ) -> windows_core::HRESULT,
23240}
23241pub trait ICoreWebView2NewWindowRequestedEventHandler_Impl: windows_core::IUnknownImpl {
23242 fn Invoke(
23243 &self,
23244 sender: windows_core::Ref<'_, ICoreWebView2>,
23245 args: windows_core::Ref<'_, ICoreWebView2NewWindowRequestedEventArgs>,
23246 ) -> windows_core::Result<()>;
23247}
23248impl ICoreWebView2NewWindowRequestedEventHandler_Vtbl {
23249 pub const fn new<
23250 Identity: ICoreWebView2NewWindowRequestedEventHandler_Impl,
23251 const OFFSET: isize,
23252 >() -> Self {
23253 unsafe extern "system" fn Invoke<
23254 Identity: ICoreWebView2NewWindowRequestedEventHandler_Impl,
23255 const OFFSET: isize,
23256 >(
23257 this: *mut core::ffi::c_void,
23258 sender: *mut core::ffi::c_void,
23259 args: *mut core::ffi::c_void,
23260 ) -> windows_core::HRESULT {
23261 unsafe {
23262 let this: &Identity =
23263 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23264 ICoreWebView2NewWindowRequestedEventHandler_Impl::Invoke(
23265 this,
23266 core::mem::transmute_copy(&sender),
23267 core::mem::transmute_copy(&args),
23268 )
23269 .into()
23270 }
23271 }
23272 Self {
23273 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23274 Invoke: Invoke::<Identity, OFFSET>,
23275 }
23276 }
23277 pub fn matches(iid: &windows_core::GUID) -> bool {
23278 iid == &<ICoreWebView2NewWindowRequestedEventHandler as windows_core::Interface>::IID
23279 }
23280}
23281impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventHandler {}
23282windows_core::imp::define_interface!(
23283 ICoreWebView2NonClientRegionChangedEventArgs,
23284 ICoreWebView2NonClientRegionChangedEventArgs_Vtbl,
23285 0xab71d500_0820_4a52_809c_48db04ff93bf
23286);
23287windows_core::imp::interface_hierarchy!(
23288 ICoreWebView2NonClientRegionChangedEventArgs,
23289 windows_core::IUnknown
23290);
23291impl ICoreWebView2NonClientRegionChangedEventArgs {
23292 pub unsafe fn RegionKind(
23293 &self,
23294 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
23295 ) -> windows_core::Result<()> {
23296 unsafe {
23297 (windows_core::Interface::vtable(self).RegionKind)(
23298 windows_core::Interface::as_raw(self),
23299 value as _,
23300 )
23301 .ok()
23302 }
23303 }
23304}
23305#[repr(C)]
23306#[doc(hidden)]
23307pub struct ICoreWebView2NonClientRegionChangedEventArgs_Vtbl {
23308 pub base__: windows_core::IUnknown_Vtbl,
23309 pub RegionKind: unsafe extern "system" fn(
23310 *mut core::ffi::c_void,
23311 *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
23312 ) -> windows_core::HRESULT,
23313}
23314pub trait ICoreWebView2NonClientRegionChangedEventArgs_Impl: windows_core::IUnknownImpl {
23315 fn RegionKind(
23316 &self,
23317 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
23318 ) -> windows_core::Result<()>;
23319}
23320impl ICoreWebView2NonClientRegionChangedEventArgs_Vtbl {
23321 pub const fn new<
23322 Identity: ICoreWebView2NonClientRegionChangedEventArgs_Impl,
23323 const OFFSET: isize,
23324 >() -> Self {
23325 unsafe extern "system" fn RegionKind<
23326 Identity: ICoreWebView2NonClientRegionChangedEventArgs_Impl,
23327 const OFFSET: isize,
23328 >(
23329 this: *mut core::ffi::c_void,
23330 value: *mut COREWEBVIEW2_NON_CLIENT_REGION_KIND,
23331 ) -> windows_core::HRESULT {
23332 unsafe {
23333 let this: &Identity =
23334 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23335 ICoreWebView2NonClientRegionChangedEventArgs_Impl::RegionKind(
23336 this,
23337 core::mem::transmute_copy(&value),
23338 )
23339 .into()
23340 }
23341 }
23342 Self {
23343 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23344 RegionKind: RegionKind::<Identity, OFFSET>,
23345 }
23346 }
23347 pub fn matches(iid: &windows_core::GUID) -> bool {
23348 iid == &<ICoreWebView2NonClientRegionChangedEventArgs as windows_core::Interface>::IID
23349 }
23350}
23351impl windows_core::RuntimeName for ICoreWebView2NonClientRegionChangedEventArgs {}
23352windows_core::imp::define_interface!(
23353 ICoreWebView2NonClientRegionChangedEventHandler,
23354 ICoreWebView2NonClientRegionChangedEventHandler_Vtbl,
23355 0x4a794e66_aa6c_46bd_93a3_382196837680
23356);
23357windows_core::imp::interface_hierarchy!(
23358 ICoreWebView2NonClientRegionChangedEventHandler,
23359 windows_core::IUnknown
23360);
23361impl ICoreWebView2NonClientRegionChangedEventHandler {
23362 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
23363 where
23364 P0: windows_core::Param<ICoreWebView2CompositionController>,
23365 P1: windows_core::Param<ICoreWebView2NonClientRegionChangedEventArgs>,
23366 {
23367 unsafe {
23368 (windows_core::Interface::vtable(self).Invoke)(
23369 windows_core::Interface::as_raw(self),
23370 sender.param().abi(),
23371 args.param().abi(),
23372 )
23373 .ok()
23374 }
23375 }
23376}
23377#[repr(C)]
23378#[doc(hidden)]
23379pub struct ICoreWebView2NonClientRegionChangedEventHandler_Vtbl {
23380 pub base__: windows_core::IUnknown_Vtbl,
23381 pub Invoke: unsafe extern "system" fn(
23382 *mut core::ffi::c_void,
23383 *mut core::ffi::c_void,
23384 *mut core::ffi::c_void,
23385 ) -> windows_core::HRESULT,
23386}
23387pub trait ICoreWebView2NonClientRegionChangedEventHandler_Impl: windows_core::IUnknownImpl {
23388 fn Invoke(
23389 &self,
23390 sender: windows_core::Ref<'_, ICoreWebView2CompositionController>,
23391 args: windows_core::Ref<'_, ICoreWebView2NonClientRegionChangedEventArgs>,
23392 ) -> windows_core::Result<()>;
23393}
23394impl ICoreWebView2NonClientRegionChangedEventHandler_Vtbl {
23395 pub const fn new<
23396 Identity: ICoreWebView2NonClientRegionChangedEventHandler_Impl,
23397 const OFFSET: isize,
23398 >() -> Self {
23399 unsafe extern "system" fn Invoke<
23400 Identity: ICoreWebView2NonClientRegionChangedEventHandler_Impl,
23401 const OFFSET: isize,
23402 >(
23403 this: *mut core::ffi::c_void,
23404 sender: *mut core::ffi::c_void,
23405 args: *mut core::ffi::c_void,
23406 ) -> windows_core::HRESULT {
23407 unsafe {
23408 let this: &Identity =
23409 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23410 ICoreWebView2NonClientRegionChangedEventHandler_Impl::Invoke(
23411 this,
23412 core::mem::transmute_copy(&sender),
23413 core::mem::transmute_copy(&args),
23414 )
23415 .into()
23416 }
23417 }
23418 Self {
23419 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23420 Invoke: Invoke::<Identity, OFFSET>,
23421 }
23422 }
23423 pub fn matches(iid: &windows_core::GUID) -> bool {
23424 iid == &<ICoreWebView2NonClientRegionChangedEventHandler as windows_core::Interface>::IID
23425 }
23426}
23427impl windows_core::RuntimeName for ICoreWebView2NonClientRegionChangedEventHandler {}
23428windows_core::imp::define_interface!(
23429 ICoreWebView2Notification,
23430 ICoreWebView2Notification_Vtbl,
23431 0xb7434d98_6bc8_419d_9da5_fb5a96d4dacd
23432);
23433windows_core::imp::interface_hierarchy!(ICoreWebView2Notification, windows_core::IUnknown);
23434impl ICoreWebView2Notification {
23435 pub unsafe fn add_CloseRequested<P0>(
23436 &self,
23437 eventhandler: P0,
23438 token: *mut i64,
23439 ) -> windows_core::Result<()>
23440 where
23441 P0: windows_core::Param<ICoreWebView2NotificationCloseRequestedEventHandler>,
23442 {
23443 unsafe {
23444 (windows_core::Interface::vtable(self).add_CloseRequested)(
23445 windows_core::Interface::as_raw(self),
23446 eventhandler.param().abi(),
23447 token as _,
23448 )
23449 .ok()
23450 }
23451 }
23452 pub unsafe fn remove_CloseRequested(&self, token: i64) -> windows_core::Result<()> {
23453 unsafe {
23454 (windows_core::Interface::vtable(self).remove_CloseRequested)(
23455 windows_core::Interface::as_raw(self),
23456 token,
23457 )
23458 .ok()
23459 }
23460 }
23461 pub unsafe fn ReportShown(&self) -> windows_core::Result<()> {
23462 unsafe {
23463 (windows_core::Interface::vtable(self).ReportShown)(windows_core::Interface::as_raw(
23464 self,
23465 ))
23466 .ok()
23467 }
23468 }
23469 pub unsafe fn ReportClicked(&self) -> windows_core::Result<()> {
23470 unsafe {
23471 (windows_core::Interface::vtable(self).ReportClicked)(windows_core::Interface::as_raw(
23472 self,
23473 ))
23474 .ok()
23475 }
23476 }
23477 pub unsafe fn ReportClosed(&self) -> windows_core::Result<()> {
23478 unsafe {
23479 (windows_core::Interface::vtable(self).ReportClosed)(windows_core::Interface::as_raw(
23480 self,
23481 ))
23482 .ok()
23483 }
23484 }
23485 pub unsafe fn Body(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23486 unsafe {
23487 (windows_core::Interface::vtable(self).Body)(
23488 windows_core::Interface::as_raw(self),
23489 value as _,
23490 )
23491 .ok()
23492 }
23493 }
23494 pub unsafe fn Direction(
23495 &self,
23496 value: *mut COREWEBVIEW2_TEXT_DIRECTION_KIND,
23497 ) -> windows_core::Result<()> {
23498 unsafe {
23499 (windows_core::Interface::vtable(self).Direction)(
23500 windows_core::Interface::as_raw(self),
23501 value as _,
23502 )
23503 .ok()
23504 }
23505 }
23506 pub unsafe fn Language(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23507 unsafe {
23508 (windows_core::Interface::vtable(self).Language)(
23509 windows_core::Interface::as_raw(self),
23510 value as _,
23511 )
23512 .ok()
23513 }
23514 }
23515 pub unsafe fn Tag(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23516 unsafe {
23517 (windows_core::Interface::vtable(self).Tag)(
23518 windows_core::Interface::as_raw(self),
23519 value as _,
23520 )
23521 .ok()
23522 }
23523 }
23524 pub unsafe fn IconUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23525 unsafe {
23526 (windows_core::Interface::vtable(self).IconUri)(
23527 windows_core::Interface::as_raw(self),
23528 value as _,
23529 )
23530 .ok()
23531 }
23532 }
23533 pub unsafe fn Title(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23534 unsafe {
23535 (windows_core::Interface::vtable(self).Title)(
23536 windows_core::Interface::as_raw(self),
23537 value as _,
23538 )
23539 .ok()
23540 }
23541 }
23542 pub unsafe fn BadgeUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23543 unsafe {
23544 (windows_core::Interface::vtable(self).BadgeUri)(
23545 windows_core::Interface::as_raw(self),
23546 value as _,
23547 )
23548 .ok()
23549 }
23550 }
23551 pub unsafe fn BodyImageUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
23552 unsafe {
23553 (windows_core::Interface::vtable(self).BodyImageUri)(
23554 windows_core::Interface::as_raw(self),
23555 value as _,
23556 )
23557 .ok()
23558 }
23559 }
23560 pub unsafe fn ShouldRenotify(
23561 &self,
23562 value: *mut windows_core::BOOL,
23563 ) -> windows_core::Result<()> {
23564 unsafe {
23565 (windows_core::Interface::vtable(self).ShouldRenotify)(
23566 windows_core::Interface::as_raw(self),
23567 value as _,
23568 )
23569 .ok()
23570 }
23571 }
23572 pub unsafe fn RequiresInteraction(
23573 &self,
23574 value: *mut windows_core::BOOL,
23575 ) -> windows_core::Result<()> {
23576 unsafe {
23577 (windows_core::Interface::vtable(self).RequiresInteraction)(
23578 windows_core::Interface::as_raw(self),
23579 value as _,
23580 )
23581 .ok()
23582 }
23583 }
23584 pub unsafe fn IsSilent(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
23585 unsafe {
23586 (windows_core::Interface::vtable(self).IsSilent)(
23587 windows_core::Interface::as_raw(self),
23588 value as _,
23589 )
23590 .ok()
23591 }
23592 }
23593 pub unsafe fn Timestamp(&self, value: *mut f64) -> windows_core::Result<()> {
23594 unsafe {
23595 (windows_core::Interface::vtable(self).Timestamp)(
23596 windows_core::Interface::as_raw(self),
23597 value as _,
23598 )
23599 .ok()
23600 }
23601 }
23602 pub unsafe fn GetVibrationPattern(
23603 &self,
23604 count: *mut u32,
23605 vibrationpattern: *mut *mut u64,
23606 ) -> windows_core::Result<()> {
23607 unsafe {
23608 (windows_core::Interface::vtable(self).GetVibrationPattern)(
23609 windows_core::Interface::as_raw(self),
23610 count as _,
23611 vibrationpattern as _,
23612 )
23613 .ok()
23614 }
23615 }
23616}
23617#[repr(C)]
23618#[doc(hidden)]
23619pub struct ICoreWebView2Notification_Vtbl {
23620 pub base__: windows_core::IUnknown_Vtbl,
23621 pub add_CloseRequested: unsafe extern "system" fn(
23622 *mut core::ffi::c_void,
23623 *mut core::ffi::c_void,
23624 *mut i64,
23625 ) -> windows_core::HRESULT,
23626 pub remove_CloseRequested:
23627 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
23628 pub ReportShown: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
23629 pub ReportClicked: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
23630 pub ReportClosed: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
23631 pub Body: unsafe extern "system" fn(
23632 *mut core::ffi::c_void,
23633 *mut windows_core::PWSTR,
23634 ) -> windows_core::HRESULT,
23635 pub Direction: unsafe extern "system" fn(
23636 *mut core::ffi::c_void,
23637 *mut COREWEBVIEW2_TEXT_DIRECTION_KIND,
23638 ) -> windows_core::HRESULT,
23639 pub Language: unsafe extern "system" fn(
23640 *mut core::ffi::c_void,
23641 *mut windows_core::PWSTR,
23642 ) -> windows_core::HRESULT,
23643 pub Tag: unsafe extern "system" fn(
23644 *mut core::ffi::c_void,
23645 *mut windows_core::PWSTR,
23646 ) -> windows_core::HRESULT,
23647 pub IconUri: unsafe extern "system" fn(
23648 *mut core::ffi::c_void,
23649 *mut windows_core::PWSTR,
23650 ) -> windows_core::HRESULT,
23651 pub Title: unsafe extern "system" fn(
23652 *mut core::ffi::c_void,
23653 *mut windows_core::PWSTR,
23654 ) -> windows_core::HRESULT,
23655 pub BadgeUri: unsafe extern "system" fn(
23656 *mut core::ffi::c_void,
23657 *mut windows_core::PWSTR,
23658 ) -> windows_core::HRESULT,
23659 pub BodyImageUri: unsafe extern "system" fn(
23660 *mut core::ffi::c_void,
23661 *mut windows_core::PWSTR,
23662 ) -> windows_core::HRESULT,
23663 pub ShouldRenotify: unsafe extern "system" fn(
23664 *mut core::ffi::c_void,
23665 *mut windows_core::BOOL,
23666 ) -> windows_core::HRESULT,
23667 pub RequiresInteraction: unsafe extern "system" fn(
23668 *mut core::ffi::c_void,
23669 *mut windows_core::BOOL,
23670 ) -> windows_core::HRESULT,
23671 pub IsSilent: unsafe extern "system" fn(
23672 *mut core::ffi::c_void,
23673 *mut windows_core::BOOL,
23674 ) -> windows_core::HRESULT,
23675 pub Timestamp:
23676 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
23677 pub GetVibrationPattern: unsafe extern "system" fn(
23678 *mut core::ffi::c_void,
23679 *mut u32,
23680 *mut *mut u64,
23681 ) -> windows_core::HRESULT,
23682}
23683pub trait ICoreWebView2Notification_Impl: windows_core::IUnknownImpl {
23684 fn add_CloseRequested(
23685 &self,
23686 eventhandler: windows_core::Ref<'_, ICoreWebView2NotificationCloseRequestedEventHandler>,
23687 token: *mut i64,
23688 ) -> windows_core::Result<()>;
23689 fn remove_CloseRequested(&self, token: i64) -> windows_core::Result<()>;
23690 fn ReportShown(&self) -> windows_core::Result<()>;
23691 fn ReportClicked(&self) -> windows_core::Result<()>;
23692 fn ReportClosed(&self) -> windows_core::Result<()>;
23693 fn Body(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
23694 fn Direction(&self, value: *mut COREWEBVIEW2_TEXT_DIRECTION_KIND) -> windows_core::Result<()>;
23695 fn Language(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
23696 fn Tag(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
23697 fn IconUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
23698 fn Title(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
23699 fn BadgeUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
23700 fn BodyImageUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
23701 fn ShouldRenotify(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
23702 fn RequiresInteraction(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
23703 fn IsSilent(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
23704 fn Timestamp(&self, value: *mut f64) -> windows_core::Result<()>;
23705 fn GetVibrationPattern(
23706 &self,
23707 count: *mut u32,
23708 vibrationpattern: *mut *mut u64,
23709 ) -> windows_core::Result<()>;
23710}
23711impl ICoreWebView2Notification_Vtbl {
23712 pub const fn new<Identity: ICoreWebView2Notification_Impl, const OFFSET: isize>() -> Self {
23713 unsafe extern "system" fn add_CloseRequested<
23714 Identity: ICoreWebView2Notification_Impl,
23715 const OFFSET: isize,
23716 >(
23717 this: *mut core::ffi::c_void,
23718 eventhandler: *mut core::ffi::c_void,
23719 token: *mut i64,
23720 ) -> windows_core::HRESULT {
23721 unsafe {
23722 let this: &Identity =
23723 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23724 ICoreWebView2Notification_Impl::add_CloseRequested(
23725 this,
23726 core::mem::transmute_copy(&eventhandler),
23727 core::mem::transmute_copy(&token),
23728 )
23729 .into()
23730 }
23731 }
23732 unsafe extern "system" fn remove_CloseRequested<
23733 Identity: ICoreWebView2Notification_Impl,
23734 const OFFSET: isize,
23735 >(
23736 this: *mut core::ffi::c_void,
23737 token: i64,
23738 ) -> windows_core::HRESULT {
23739 unsafe {
23740 let this: &Identity =
23741 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23742 ICoreWebView2Notification_Impl::remove_CloseRequested(
23743 this,
23744 core::mem::transmute_copy(&token),
23745 )
23746 .into()
23747 }
23748 }
23749 unsafe extern "system" fn ReportShown<
23750 Identity: ICoreWebView2Notification_Impl,
23751 const OFFSET: isize,
23752 >(
23753 this: *mut core::ffi::c_void,
23754 ) -> windows_core::HRESULT {
23755 unsafe {
23756 let this: &Identity =
23757 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23758 ICoreWebView2Notification_Impl::ReportShown(this).into()
23759 }
23760 }
23761 unsafe extern "system" fn ReportClicked<
23762 Identity: ICoreWebView2Notification_Impl,
23763 const OFFSET: isize,
23764 >(
23765 this: *mut core::ffi::c_void,
23766 ) -> windows_core::HRESULT {
23767 unsafe {
23768 let this: &Identity =
23769 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23770 ICoreWebView2Notification_Impl::ReportClicked(this).into()
23771 }
23772 }
23773 unsafe extern "system" fn ReportClosed<
23774 Identity: ICoreWebView2Notification_Impl,
23775 const OFFSET: isize,
23776 >(
23777 this: *mut core::ffi::c_void,
23778 ) -> windows_core::HRESULT {
23779 unsafe {
23780 let this: &Identity =
23781 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23782 ICoreWebView2Notification_Impl::ReportClosed(this).into()
23783 }
23784 }
23785 unsafe extern "system" fn Body<
23786 Identity: ICoreWebView2Notification_Impl,
23787 const OFFSET: isize,
23788 >(
23789 this: *mut core::ffi::c_void,
23790 value: *mut windows_core::PWSTR,
23791 ) -> windows_core::HRESULT {
23792 unsafe {
23793 let this: &Identity =
23794 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23795 ICoreWebView2Notification_Impl::Body(this, core::mem::transmute_copy(&value)).into()
23796 }
23797 }
23798 unsafe extern "system" fn Direction<
23799 Identity: ICoreWebView2Notification_Impl,
23800 const OFFSET: isize,
23801 >(
23802 this: *mut core::ffi::c_void,
23803 value: *mut COREWEBVIEW2_TEXT_DIRECTION_KIND,
23804 ) -> windows_core::HRESULT {
23805 unsafe {
23806 let this: &Identity =
23807 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23808 ICoreWebView2Notification_Impl::Direction(this, core::mem::transmute_copy(&value))
23809 .into()
23810 }
23811 }
23812 unsafe extern "system" fn Language<
23813 Identity: ICoreWebView2Notification_Impl,
23814 const OFFSET: isize,
23815 >(
23816 this: *mut core::ffi::c_void,
23817 value: *mut windows_core::PWSTR,
23818 ) -> windows_core::HRESULT {
23819 unsafe {
23820 let this: &Identity =
23821 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23822 ICoreWebView2Notification_Impl::Language(this, core::mem::transmute_copy(&value))
23823 .into()
23824 }
23825 }
23826 unsafe extern "system" fn Tag<
23827 Identity: ICoreWebView2Notification_Impl,
23828 const OFFSET: isize,
23829 >(
23830 this: *mut core::ffi::c_void,
23831 value: *mut windows_core::PWSTR,
23832 ) -> windows_core::HRESULT {
23833 unsafe {
23834 let this: &Identity =
23835 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23836 ICoreWebView2Notification_Impl::Tag(this, core::mem::transmute_copy(&value)).into()
23837 }
23838 }
23839 unsafe extern "system" fn IconUri<
23840 Identity: ICoreWebView2Notification_Impl,
23841 const OFFSET: isize,
23842 >(
23843 this: *mut core::ffi::c_void,
23844 value: *mut windows_core::PWSTR,
23845 ) -> windows_core::HRESULT {
23846 unsafe {
23847 let this: &Identity =
23848 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23849 ICoreWebView2Notification_Impl::IconUri(this, core::mem::transmute_copy(&value))
23850 .into()
23851 }
23852 }
23853 unsafe extern "system" fn Title<
23854 Identity: ICoreWebView2Notification_Impl,
23855 const OFFSET: isize,
23856 >(
23857 this: *mut core::ffi::c_void,
23858 value: *mut windows_core::PWSTR,
23859 ) -> windows_core::HRESULT {
23860 unsafe {
23861 let this: &Identity =
23862 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23863 ICoreWebView2Notification_Impl::Title(this, core::mem::transmute_copy(&value))
23864 .into()
23865 }
23866 }
23867 unsafe extern "system" fn BadgeUri<
23868 Identity: ICoreWebView2Notification_Impl,
23869 const OFFSET: isize,
23870 >(
23871 this: *mut core::ffi::c_void,
23872 value: *mut windows_core::PWSTR,
23873 ) -> windows_core::HRESULT {
23874 unsafe {
23875 let this: &Identity =
23876 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23877 ICoreWebView2Notification_Impl::BadgeUri(this, core::mem::transmute_copy(&value))
23878 .into()
23879 }
23880 }
23881 unsafe extern "system" fn BodyImageUri<
23882 Identity: ICoreWebView2Notification_Impl,
23883 const OFFSET: isize,
23884 >(
23885 this: *mut core::ffi::c_void,
23886 value: *mut windows_core::PWSTR,
23887 ) -> windows_core::HRESULT {
23888 unsafe {
23889 let this: &Identity =
23890 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23891 ICoreWebView2Notification_Impl::BodyImageUri(
23892 this,
23893 core::mem::transmute_copy(&value),
23894 )
23895 .into()
23896 }
23897 }
23898 unsafe extern "system" fn ShouldRenotify<
23899 Identity: ICoreWebView2Notification_Impl,
23900 const OFFSET: isize,
23901 >(
23902 this: *mut core::ffi::c_void,
23903 value: *mut windows_core::BOOL,
23904 ) -> windows_core::HRESULT {
23905 unsafe {
23906 let this: &Identity =
23907 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23908 ICoreWebView2Notification_Impl::ShouldRenotify(
23909 this,
23910 core::mem::transmute_copy(&value),
23911 )
23912 .into()
23913 }
23914 }
23915 unsafe extern "system" fn RequiresInteraction<
23916 Identity: ICoreWebView2Notification_Impl,
23917 const OFFSET: isize,
23918 >(
23919 this: *mut core::ffi::c_void,
23920 value: *mut windows_core::BOOL,
23921 ) -> windows_core::HRESULT {
23922 unsafe {
23923 let this: &Identity =
23924 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23925 ICoreWebView2Notification_Impl::RequiresInteraction(
23926 this,
23927 core::mem::transmute_copy(&value),
23928 )
23929 .into()
23930 }
23931 }
23932 unsafe extern "system" fn IsSilent<
23933 Identity: ICoreWebView2Notification_Impl,
23934 const OFFSET: isize,
23935 >(
23936 this: *mut core::ffi::c_void,
23937 value: *mut windows_core::BOOL,
23938 ) -> windows_core::HRESULT {
23939 unsafe {
23940 let this: &Identity =
23941 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23942 ICoreWebView2Notification_Impl::IsSilent(this, core::mem::transmute_copy(&value))
23943 .into()
23944 }
23945 }
23946 unsafe extern "system" fn Timestamp<
23947 Identity: ICoreWebView2Notification_Impl,
23948 const OFFSET: isize,
23949 >(
23950 this: *mut core::ffi::c_void,
23951 value: *mut f64,
23952 ) -> windows_core::HRESULT {
23953 unsafe {
23954 let this: &Identity =
23955 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23956 ICoreWebView2Notification_Impl::Timestamp(this, core::mem::transmute_copy(&value))
23957 .into()
23958 }
23959 }
23960 unsafe extern "system" fn GetVibrationPattern<
23961 Identity: ICoreWebView2Notification_Impl,
23962 const OFFSET: isize,
23963 >(
23964 this: *mut core::ffi::c_void,
23965 count: *mut u32,
23966 vibrationpattern: *mut *mut u64,
23967 ) -> windows_core::HRESULT {
23968 unsafe {
23969 let this: &Identity =
23970 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23971 ICoreWebView2Notification_Impl::GetVibrationPattern(
23972 this,
23973 core::mem::transmute_copy(&count),
23974 core::mem::transmute_copy(&vibrationpattern),
23975 )
23976 .into()
23977 }
23978 }
23979 Self {
23980 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23981 add_CloseRequested: add_CloseRequested::<Identity, OFFSET>,
23982 remove_CloseRequested: remove_CloseRequested::<Identity, OFFSET>,
23983 ReportShown: ReportShown::<Identity, OFFSET>,
23984 ReportClicked: ReportClicked::<Identity, OFFSET>,
23985 ReportClosed: ReportClosed::<Identity, OFFSET>,
23986 Body: Body::<Identity, OFFSET>,
23987 Direction: Direction::<Identity, OFFSET>,
23988 Language: Language::<Identity, OFFSET>,
23989 Tag: Tag::<Identity, OFFSET>,
23990 IconUri: IconUri::<Identity, OFFSET>,
23991 Title: Title::<Identity, OFFSET>,
23992 BadgeUri: BadgeUri::<Identity, OFFSET>,
23993 BodyImageUri: BodyImageUri::<Identity, OFFSET>,
23994 ShouldRenotify: ShouldRenotify::<Identity, OFFSET>,
23995 RequiresInteraction: RequiresInteraction::<Identity, OFFSET>,
23996 IsSilent: IsSilent::<Identity, OFFSET>,
23997 Timestamp: Timestamp::<Identity, OFFSET>,
23998 GetVibrationPattern: GetVibrationPattern::<Identity, OFFSET>,
23999 }
24000 }
24001 pub fn matches(iid: &windows_core::GUID) -> bool {
24002 iid == &<ICoreWebView2Notification as windows_core::Interface>::IID
24003 }
24004}
24005impl windows_core::RuntimeName for ICoreWebView2Notification {}
24006windows_core::imp::define_interface!(
24007 ICoreWebView2NotificationCloseRequestedEventHandler,
24008 ICoreWebView2NotificationCloseRequestedEventHandler_Vtbl,
24009 0x47c32d23_1e94_4733_85f1_d9bf4acd0974
24010);
24011windows_core::imp::interface_hierarchy!(
24012 ICoreWebView2NotificationCloseRequestedEventHandler,
24013 windows_core::IUnknown
24014);
24015impl ICoreWebView2NotificationCloseRequestedEventHandler {
24016 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
24017 where
24018 P0: windows_core::Param<ICoreWebView2Notification>,
24019 P1: windows_core::Param<windows_core::IUnknown>,
24020 {
24021 unsafe {
24022 (windows_core::Interface::vtable(self).Invoke)(
24023 windows_core::Interface::as_raw(self),
24024 sender.param().abi(),
24025 args.param().abi(),
24026 )
24027 .ok()
24028 }
24029 }
24030}
24031#[repr(C)]
24032#[doc(hidden)]
24033pub struct ICoreWebView2NotificationCloseRequestedEventHandler_Vtbl {
24034 pub base__: windows_core::IUnknown_Vtbl,
24035 pub Invoke: unsafe extern "system" fn(
24036 *mut core::ffi::c_void,
24037 *mut core::ffi::c_void,
24038 *mut core::ffi::c_void,
24039 ) -> windows_core::HRESULT,
24040}
24041pub trait ICoreWebView2NotificationCloseRequestedEventHandler_Impl:
24042 windows_core::IUnknownImpl
24043{
24044 fn Invoke(
24045 &self,
24046 sender: windows_core::Ref<'_, ICoreWebView2Notification>,
24047 args: windows_core::Ref<'_, windows_core::IUnknown>,
24048 ) -> windows_core::Result<()>;
24049}
24050impl ICoreWebView2NotificationCloseRequestedEventHandler_Vtbl {
24051 pub const fn new<
24052 Identity: ICoreWebView2NotificationCloseRequestedEventHandler_Impl,
24053 const OFFSET: isize,
24054 >() -> Self {
24055 unsafe extern "system" fn Invoke<
24056 Identity: ICoreWebView2NotificationCloseRequestedEventHandler_Impl,
24057 const OFFSET: isize,
24058 >(
24059 this: *mut core::ffi::c_void,
24060 sender: *mut core::ffi::c_void,
24061 args: *mut core::ffi::c_void,
24062 ) -> windows_core::HRESULT {
24063 unsafe {
24064 let this: &Identity =
24065 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24066 ICoreWebView2NotificationCloseRequestedEventHandler_Impl::Invoke(
24067 this,
24068 core::mem::transmute_copy(&sender),
24069 core::mem::transmute_copy(&args),
24070 )
24071 .into()
24072 }
24073 }
24074 Self {
24075 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24076 Invoke: Invoke::<Identity, OFFSET>,
24077 }
24078 }
24079 pub fn matches(iid: &windows_core::GUID) -> bool {
24080 iid == & < ICoreWebView2NotificationCloseRequestedEventHandler as windows_core::Interface >::IID
24081 }
24082}
24083impl windows_core::RuntimeName for ICoreWebView2NotificationCloseRequestedEventHandler {}
24084windows_core::imp::define_interface!(
24085 ICoreWebView2NotificationReceivedEventArgs,
24086 ICoreWebView2NotificationReceivedEventArgs_Vtbl,
24087 0x1512dd5b_5514_4f85_886e_21c3a4c9cfe6
24088);
24089windows_core::imp::interface_hierarchy!(
24090 ICoreWebView2NotificationReceivedEventArgs,
24091 windows_core::IUnknown
24092);
24093impl ICoreWebView2NotificationReceivedEventArgs {
24094 pub unsafe fn SenderOrigin(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
24095 unsafe {
24096 (windows_core::Interface::vtable(self).SenderOrigin)(
24097 windows_core::Interface::as_raw(self),
24098 value as _,
24099 )
24100 .ok()
24101 }
24102 }
24103 pub unsafe fn Notification(&self) -> windows_core::Result<ICoreWebView2Notification> {
24104 unsafe {
24105 let mut result__ = core::mem::zeroed();
24106 (windows_core::Interface::vtable(self).Notification)(
24107 windows_core::Interface::as_raw(self),
24108 &mut result__,
24109 )
24110 .and_then(|| windows_core::Type::from_abi(result__))
24111 }
24112 }
24113 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
24114 unsafe {
24115 (windows_core::Interface::vtable(self).SetHandled)(
24116 windows_core::Interface::as_raw(self),
24117 value.into(),
24118 )
24119 .ok()
24120 }
24121 }
24122 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
24123 unsafe {
24124 (windows_core::Interface::vtable(self).Handled)(
24125 windows_core::Interface::as_raw(self),
24126 value as _,
24127 )
24128 .ok()
24129 }
24130 }
24131 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
24132 unsafe {
24133 let mut result__ = core::mem::zeroed();
24134 (windows_core::Interface::vtable(self).GetDeferral)(
24135 windows_core::Interface::as_raw(self),
24136 &mut result__,
24137 )
24138 .and_then(|| windows_core::Type::from_abi(result__))
24139 }
24140 }
24141}
24142#[repr(C)]
24143#[doc(hidden)]
24144pub struct ICoreWebView2NotificationReceivedEventArgs_Vtbl {
24145 pub base__: windows_core::IUnknown_Vtbl,
24146 pub SenderOrigin: unsafe extern "system" fn(
24147 *mut core::ffi::c_void,
24148 *mut windows_core::PWSTR,
24149 ) -> windows_core::HRESULT,
24150 pub Notification: unsafe extern "system" fn(
24151 *mut core::ffi::c_void,
24152 *mut *mut core::ffi::c_void,
24153 ) -> windows_core::HRESULT,
24154 pub SetHandled: unsafe extern "system" fn(
24155 *mut core::ffi::c_void,
24156 windows_core::BOOL,
24157 ) -> windows_core::HRESULT,
24158 pub Handled: unsafe extern "system" fn(
24159 *mut core::ffi::c_void,
24160 *mut windows_core::BOOL,
24161 ) -> windows_core::HRESULT,
24162 pub GetDeferral: unsafe extern "system" fn(
24163 *mut core::ffi::c_void,
24164 *mut *mut core::ffi::c_void,
24165 ) -> windows_core::HRESULT,
24166}
24167pub trait ICoreWebView2NotificationReceivedEventArgs_Impl: windows_core::IUnknownImpl {
24168 fn SenderOrigin(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
24169 fn Notification(&self) -> windows_core::Result<ICoreWebView2Notification>;
24170 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
24171 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
24172 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
24173}
24174impl ICoreWebView2NotificationReceivedEventArgs_Vtbl {
24175 pub const fn new<
24176 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
24177 const OFFSET: isize,
24178 >() -> Self {
24179 unsafe extern "system" fn SenderOrigin<
24180 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
24181 const OFFSET: isize,
24182 >(
24183 this: *mut core::ffi::c_void,
24184 value: *mut windows_core::PWSTR,
24185 ) -> windows_core::HRESULT {
24186 unsafe {
24187 let this: &Identity =
24188 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24189 ICoreWebView2NotificationReceivedEventArgs_Impl::SenderOrigin(
24190 this,
24191 core::mem::transmute_copy(&value),
24192 )
24193 .into()
24194 }
24195 }
24196 unsafe extern "system" fn Notification<
24197 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
24198 const OFFSET: isize,
24199 >(
24200 this: *mut core::ffi::c_void,
24201 value: *mut *mut core::ffi::c_void,
24202 ) -> windows_core::HRESULT {
24203 unsafe {
24204 let this: &Identity =
24205 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24206 match ICoreWebView2NotificationReceivedEventArgs_Impl::Notification(this) {
24207 Ok(ok__) => {
24208 value.write(core::mem::transmute(ok__));
24209 windows_core::HRESULT(0)
24210 }
24211 Err(err) => err.into(),
24212 }
24213 }
24214 }
24215 unsafe extern "system" fn SetHandled<
24216 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
24217 const OFFSET: isize,
24218 >(
24219 this: *mut core::ffi::c_void,
24220 value: windows_core::BOOL,
24221 ) -> windows_core::HRESULT {
24222 unsafe {
24223 let this: &Identity =
24224 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24225 ICoreWebView2NotificationReceivedEventArgs_Impl::SetHandled(
24226 this,
24227 core::mem::transmute_copy(&value),
24228 )
24229 .into()
24230 }
24231 }
24232 unsafe extern "system" fn Handled<
24233 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
24234 const OFFSET: isize,
24235 >(
24236 this: *mut core::ffi::c_void,
24237 value: *mut windows_core::BOOL,
24238 ) -> windows_core::HRESULT {
24239 unsafe {
24240 let this: &Identity =
24241 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24242 ICoreWebView2NotificationReceivedEventArgs_Impl::Handled(
24243 this,
24244 core::mem::transmute_copy(&value),
24245 )
24246 .into()
24247 }
24248 }
24249 unsafe extern "system" fn GetDeferral<
24250 Identity: ICoreWebView2NotificationReceivedEventArgs_Impl,
24251 const OFFSET: isize,
24252 >(
24253 this: *mut core::ffi::c_void,
24254 deferral: *mut *mut core::ffi::c_void,
24255 ) -> windows_core::HRESULT {
24256 unsafe {
24257 let this: &Identity =
24258 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24259 match ICoreWebView2NotificationReceivedEventArgs_Impl::GetDeferral(this) {
24260 Ok(ok__) => {
24261 deferral.write(core::mem::transmute(ok__));
24262 windows_core::HRESULT(0)
24263 }
24264 Err(err) => err.into(),
24265 }
24266 }
24267 }
24268 Self {
24269 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24270 SenderOrigin: SenderOrigin::<Identity, OFFSET>,
24271 Notification: Notification::<Identity, OFFSET>,
24272 SetHandled: SetHandled::<Identity, OFFSET>,
24273 Handled: Handled::<Identity, OFFSET>,
24274 GetDeferral: GetDeferral::<Identity, OFFSET>,
24275 }
24276 }
24277 pub fn matches(iid: &windows_core::GUID) -> bool {
24278 iid == &<ICoreWebView2NotificationReceivedEventArgs as windows_core::Interface>::IID
24279 }
24280}
24281impl windows_core::RuntimeName for ICoreWebView2NotificationReceivedEventArgs {}
24282windows_core::imp::define_interface!(
24283 ICoreWebView2NotificationReceivedEventHandler,
24284 ICoreWebView2NotificationReceivedEventHandler_Vtbl,
24285 0x89c5d598_8788_423b_be97_e6e01c0f9ee3
24286);
24287windows_core::imp::interface_hierarchy!(
24288 ICoreWebView2NotificationReceivedEventHandler,
24289 windows_core::IUnknown
24290);
24291impl ICoreWebView2NotificationReceivedEventHandler {
24292 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
24293 where
24294 P0: windows_core::Param<ICoreWebView2>,
24295 P1: windows_core::Param<ICoreWebView2NotificationReceivedEventArgs>,
24296 {
24297 unsafe {
24298 (windows_core::Interface::vtable(self).Invoke)(
24299 windows_core::Interface::as_raw(self),
24300 sender.param().abi(),
24301 args.param().abi(),
24302 )
24303 .ok()
24304 }
24305 }
24306}
24307#[repr(C)]
24308#[doc(hidden)]
24309pub struct ICoreWebView2NotificationReceivedEventHandler_Vtbl {
24310 pub base__: windows_core::IUnknown_Vtbl,
24311 pub Invoke: unsafe extern "system" fn(
24312 *mut core::ffi::c_void,
24313 *mut core::ffi::c_void,
24314 *mut core::ffi::c_void,
24315 ) -> windows_core::HRESULT,
24316}
24317pub trait ICoreWebView2NotificationReceivedEventHandler_Impl: windows_core::IUnknownImpl {
24318 fn Invoke(
24319 &self,
24320 sender: windows_core::Ref<'_, ICoreWebView2>,
24321 args: windows_core::Ref<'_, ICoreWebView2NotificationReceivedEventArgs>,
24322 ) -> windows_core::Result<()>;
24323}
24324impl ICoreWebView2NotificationReceivedEventHandler_Vtbl {
24325 pub const fn new<
24326 Identity: ICoreWebView2NotificationReceivedEventHandler_Impl,
24327 const OFFSET: isize,
24328 >() -> Self {
24329 unsafe extern "system" fn Invoke<
24330 Identity: ICoreWebView2NotificationReceivedEventHandler_Impl,
24331 const OFFSET: isize,
24332 >(
24333 this: *mut core::ffi::c_void,
24334 sender: *mut core::ffi::c_void,
24335 args: *mut core::ffi::c_void,
24336 ) -> windows_core::HRESULT {
24337 unsafe {
24338 let this: &Identity =
24339 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24340 ICoreWebView2NotificationReceivedEventHandler_Impl::Invoke(
24341 this,
24342 core::mem::transmute_copy(&sender),
24343 core::mem::transmute_copy(&args),
24344 )
24345 .into()
24346 }
24347 }
24348 Self {
24349 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24350 Invoke: Invoke::<Identity, OFFSET>,
24351 }
24352 }
24353 pub fn matches(iid: &windows_core::GUID) -> bool {
24354 iid == &<ICoreWebView2NotificationReceivedEventHandler as windows_core::Interface>::IID
24355 }
24356}
24357impl windows_core::RuntimeName for ICoreWebView2NotificationReceivedEventHandler {}
24358windows_core::imp::define_interface!(
24359 ICoreWebView2ObjectCollection,
24360 ICoreWebView2ObjectCollection_Vtbl,
24361 0x5cfec11c_25bd_4e8d_9e1a_7acdaeeec047
24362);
24363impl core::ops::Deref for ICoreWebView2ObjectCollection {
24364 type Target = ICoreWebView2ObjectCollectionView;
24365 fn deref(&self) -> &Self::Target {
24366 unsafe { core::mem::transmute(self) }
24367 }
24368}
24369windows_core::imp::interface_hierarchy!(
24370 ICoreWebView2ObjectCollection,
24371 windows_core::IUnknown,
24372 ICoreWebView2ObjectCollectionView
24373);
24374impl ICoreWebView2ObjectCollection {
24375 pub unsafe fn RemoveValueAtIndex(&self, index: u32) -> windows_core::Result<()> {
24376 unsafe {
24377 (windows_core::Interface::vtable(self).RemoveValueAtIndex)(
24378 windows_core::Interface::as_raw(self),
24379 index,
24380 )
24381 .ok()
24382 }
24383 }
24384 pub unsafe fn InsertValueAtIndex<P1>(&self, index: u32, value: P1) -> windows_core::Result<()>
24385 where
24386 P1: windows_core::Param<windows_core::IUnknown>,
24387 {
24388 unsafe {
24389 (windows_core::Interface::vtable(self).InsertValueAtIndex)(
24390 windows_core::Interface::as_raw(self),
24391 index,
24392 value.param().abi(),
24393 )
24394 .ok()
24395 }
24396 }
24397}
24398#[repr(C)]
24399#[doc(hidden)]
24400pub struct ICoreWebView2ObjectCollection_Vtbl {
24401 pub base__: ICoreWebView2ObjectCollectionView_Vtbl,
24402 pub RemoveValueAtIndex:
24403 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
24404 pub InsertValueAtIndex: unsafe extern "system" fn(
24405 *mut core::ffi::c_void,
24406 u32,
24407 *mut core::ffi::c_void,
24408 ) -> windows_core::HRESULT,
24409}
24410pub trait ICoreWebView2ObjectCollection_Impl: ICoreWebView2ObjectCollectionView_Impl {
24411 fn RemoveValueAtIndex(&self, index: u32) -> windows_core::Result<()>;
24412 fn InsertValueAtIndex(
24413 &self,
24414 index: u32,
24415 value: windows_core::Ref<'_, windows_core::IUnknown>,
24416 ) -> windows_core::Result<()>;
24417}
24418impl ICoreWebView2ObjectCollection_Vtbl {
24419 pub const fn new<Identity: ICoreWebView2ObjectCollection_Impl, const OFFSET: isize>() -> Self {
24420 unsafe extern "system" fn RemoveValueAtIndex<
24421 Identity: ICoreWebView2ObjectCollection_Impl,
24422 const OFFSET: isize,
24423 >(
24424 this: *mut core::ffi::c_void,
24425 index: u32,
24426 ) -> windows_core::HRESULT {
24427 unsafe {
24428 let this: &Identity =
24429 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24430 ICoreWebView2ObjectCollection_Impl::RemoveValueAtIndex(
24431 this,
24432 core::mem::transmute_copy(&index),
24433 )
24434 .into()
24435 }
24436 }
24437 unsafe extern "system" fn InsertValueAtIndex<
24438 Identity: ICoreWebView2ObjectCollection_Impl,
24439 const OFFSET: isize,
24440 >(
24441 this: *mut core::ffi::c_void,
24442 index: u32,
24443 value: *mut core::ffi::c_void,
24444 ) -> windows_core::HRESULT {
24445 unsafe {
24446 let this: &Identity =
24447 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24448 ICoreWebView2ObjectCollection_Impl::InsertValueAtIndex(
24449 this,
24450 core::mem::transmute_copy(&index),
24451 core::mem::transmute_copy(&value),
24452 )
24453 .into()
24454 }
24455 }
24456 Self {
24457 base__: ICoreWebView2ObjectCollectionView_Vtbl::new::<Identity, OFFSET>(),
24458 RemoveValueAtIndex: RemoveValueAtIndex::<Identity, OFFSET>,
24459 InsertValueAtIndex: InsertValueAtIndex::<Identity, OFFSET>,
24460 }
24461 }
24462 pub fn matches(iid: &windows_core::GUID) -> bool {
24463 iid == &<ICoreWebView2ObjectCollection as windows_core::Interface>::IID
24464 || iid == &<ICoreWebView2ObjectCollectionView as windows_core::Interface>::IID
24465 }
24466}
24467impl windows_core::RuntimeName for ICoreWebView2ObjectCollection {}
24468windows_core::imp::define_interface!(
24469 ICoreWebView2ObjectCollectionView,
24470 ICoreWebView2ObjectCollectionView_Vtbl,
24471 0x0f36fd87_4f69_4415_98da_888f89fb9a33
24472);
24473windows_core::imp::interface_hierarchy!(ICoreWebView2ObjectCollectionView, windows_core::IUnknown);
24474impl ICoreWebView2ObjectCollectionView {
24475 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
24476 unsafe {
24477 (windows_core::Interface::vtable(self).Count)(
24478 windows_core::Interface::as_raw(self),
24479 value as _,
24480 )
24481 .ok()
24482 }
24483 }
24484 pub unsafe fn GetValueAtIndex(
24485 &self,
24486 index: u32,
24487 ) -> windows_core::Result<windows_core::IUnknown> {
24488 unsafe {
24489 let mut result__ = core::mem::zeroed();
24490 (windows_core::Interface::vtable(self).GetValueAtIndex)(
24491 windows_core::Interface::as_raw(self),
24492 index,
24493 &mut result__,
24494 )
24495 .and_then(|| windows_core::Type::from_abi(result__))
24496 }
24497 }
24498}
24499#[repr(C)]
24500#[doc(hidden)]
24501pub struct ICoreWebView2ObjectCollectionView_Vtbl {
24502 pub base__: windows_core::IUnknown_Vtbl,
24503 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
24504 pub GetValueAtIndex: unsafe extern "system" fn(
24505 *mut core::ffi::c_void,
24506 u32,
24507 *mut *mut core::ffi::c_void,
24508 ) -> windows_core::HRESULT,
24509}
24510pub trait ICoreWebView2ObjectCollectionView_Impl: windows_core::IUnknownImpl {
24511 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
24512 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<windows_core::IUnknown>;
24513}
24514impl ICoreWebView2ObjectCollectionView_Vtbl {
24515 pub const fn new<Identity: ICoreWebView2ObjectCollectionView_Impl, const OFFSET: isize>() -> Self
24516 {
24517 unsafe extern "system" fn Count<
24518 Identity: ICoreWebView2ObjectCollectionView_Impl,
24519 const OFFSET: isize,
24520 >(
24521 this: *mut core::ffi::c_void,
24522 value: *mut u32,
24523 ) -> windows_core::HRESULT {
24524 unsafe {
24525 let this: &Identity =
24526 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24527 ICoreWebView2ObjectCollectionView_Impl::Count(
24528 this,
24529 core::mem::transmute_copy(&value),
24530 )
24531 .into()
24532 }
24533 }
24534 unsafe extern "system" fn GetValueAtIndex<
24535 Identity: ICoreWebView2ObjectCollectionView_Impl,
24536 const OFFSET: isize,
24537 >(
24538 this: *mut core::ffi::c_void,
24539 index: u32,
24540 value: *mut *mut core::ffi::c_void,
24541 ) -> windows_core::HRESULT {
24542 unsafe {
24543 let this: &Identity =
24544 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24545 match ICoreWebView2ObjectCollectionView_Impl::GetValueAtIndex(
24546 this,
24547 core::mem::transmute_copy(&index),
24548 ) {
24549 Ok(ok__) => {
24550 value.write(core::mem::transmute(ok__));
24551 windows_core::HRESULT(0)
24552 }
24553 Err(err) => err.into(),
24554 }
24555 }
24556 }
24557 Self {
24558 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24559 Count: Count::<Identity, OFFSET>,
24560 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
24561 }
24562 }
24563 pub fn matches(iid: &windows_core::GUID) -> bool {
24564 iid == &<ICoreWebView2ObjectCollectionView as windows_core::Interface>::IID
24565 }
24566}
24567impl windows_core::RuntimeName for ICoreWebView2ObjectCollectionView {}
24568windows_core::imp::define_interface!(
24569 ICoreWebView2PermissionRequestedEventArgs,
24570 ICoreWebView2PermissionRequestedEventArgs_Vtbl,
24571 0x973ae2ef_ff18_4894_8fb2_3c758f046810
24572);
24573windows_core::imp::interface_hierarchy!(
24574 ICoreWebView2PermissionRequestedEventArgs,
24575 windows_core::IUnknown
24576);
24577impl ICoreWebView2PermissionRequestedEventArgs {
24578 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
24579 unsafe {
24580 (windows_core::Interface::vtable(self).Uri)(
24581 windows_core::Interface::as_raw(self),
24582 uri as _,
24583 )
24584 .ok()
24585 }
24586 }
24587 pub unsafe fn PermissionKind(
24588 &self,
24589 permissionkind: *mut COREWEBVIEW2_PERMISSION_KIND,
24590 ) -> windows_core::Result<()> {
24591 unsafe {
24592 (windows_core::Interface::vtable(self).PermissionKind)(
24593 windows_core::Interface::as_raw(self),
24594 permissionkind as _,
24595 )
24596 .ok()
24597 }
24598 }
24599 pub unsafe fn IsUserInitiated(
24600 &self,
24601 isuserinitiated: *mut windows_core::BOOL,
24602 ) -> windows_core::Result<()> {
24603 unsafe {
24604 (windows_core::Interface::vtable(self).IsUserInitiated)(
24605 windows_core::Interface::as_raw(self),
24606 isuserinitiated as _,
24607 )
24608 .ok()
24609 }
24610 }
24611 pub unsafe fn State(
24612 &self,
24613 state: *mut COREWEBVIEW2_PERMISSION_STATE,
24614 ) -> windows_core::Result<()> {
24615 unsafe {
24616 (windows_core::Interface::vtable(self).State)(
24617 windows_core::Interface::as_raw(self),
24618 state as _,
24619 )
24620 .ok()
24621 }
24622 }
24623 pub unsafe fn SetState(
24624 &self,
24625 state: COREWEBVIEW2_PERMISSION_STATE,
24626 ) -> windows_core::Result<()> {
24627 unsafe {
24628 (windows_core::Interface::vtable(self).SetState)(
24629 windows_core::Interface::as_raw(self),
24630 state,
24631 )
24632 .ok()
24633 }
24634 }
24635 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
24636 unsafe {
24637 let mut result__ = core::mem::zeroed();
24638 (windows_core::Interface::vtable(self).GetDeferral)(
24639 windows_core::Interface::as_raw(self),
24640 &mut result__,
24641 )
24642 .and_then(|| windows_core::Type::from_abi(result__))
24643 }
24644 }
24645}
24646#[repr(C)]
24647#[doc(hidden)]
24648pub struct ICoreWebView2PermissionRequestedEventArgs_Vtbl {
24649 pub base__: windows_core::IUnknown_Vtbl,
24650 pub Uri: unsafe extern "system" fn(
24651 *mut core::ffi::c_void,
24652 *mut windows_core::PWSTR,
24653 ) -> windows_core::HRESULT,
24654 pub PermissionKind: unsafe extern "system" fn(
24655 *mut core::ffi::c_void,
24656 *mut COREWEBVIEW2_PERMISSION_KIND,
24657 ) -> windows_core::HRESULT,
24658 pub IsUserInitiated: unsafe extern "system" fn(
24659 *mut core::ffi::c_void,
24660 *mut windows_core::BOOL,
24661 ) -> windows_core::HRESULT,
24662 pub State: unsafe extern "system" fn(
24663 *mut core::ffi::c_void,
24664 *mut COREWEBVIEW2_PERMISSION_STATE,
24665 ) -> windows_core::HRESULT,
24666 pub SetState: unsafe extern "system" fn(
24667 *mut core::ffi::c_void,
24668 COREWEBVIEW2_PERMISSION_STATE,
24669 ) -> windows_core::HRESULT,
24670 pub GetDeferral: unsafe extern "system" fn(
24671 *mut core::ffi::c_void,
24672 *mut *mut core::ffi::c_void,
24673 ) -> windows_core::HRESULT,
24674}
24675pub trait ICoreWebView2PermissionRequestedEventArgs_Impl: windows_core::IUnknownImpl {
24676 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
24677 fn PermissionKind(
24678 &self,
24679 permissionkind: *mut COREWEBVIEW2_PERMISSION_KIND,
24680 ) -> windows_core::Result<()>;
24681 fn IsUserInitiated(&self, isuserinitiated: *mut windows_core::BOOL)
24682 -> windows_core::Result<()>;
24683 fn State(&self, state: *mut COREWEBVIEW2_PERMISSION_STATE) -> windows_core::Result<()>;
24684 fn SetState(&self, state: COREWEBVIEW2_PERMISSION_STATE) -> windows_core::Result<()>;
24685 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
24686}
24687impl ICoreWebView2PermissionRequestedEventArgs_Vtbl {
24688 pub const fn new<
24689 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
24690 const OFFSET: isize,
24691 >() -> Self {
24692 unsafe extern "system" fn Uri<
24693 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
24694 const OFFSET: isize,
24695 >(
24696 this: *mut core::ffi::c_void,
24697 uri: *mut windows_core::PWSTR,
24698 ) -> windows_core::HRESULT {
24699 unsafe {
24700 let this: &Identity =
24701 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24702 ICoreWebView2PermissionRequestedEventArgs_Impl::Uri(
24703 this,
24704 core::mem::transmute_copy(&uri),
24705 )
24706 .into()
24707 }
24708 }
24709 unsafe extern "system" fn PermissionKind<
24710 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
24711 const OFFSET: isize,
24712 >(
24713 this: *mut core::ffi::c_void,
24714 permissionkind: *mut COREWEBVIEW2_PERMISSION_KIND,
24715 ) -> windows_core::HRESULT {
24716 unsafe {
24717 let this: &Identity =
24718 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24719 ICoreWebView2PermissionRequestedEventArgs_Impl::PermissionKind(
24720 this,
24721 core::mem::transmute_copy(&permissionkind),
24722 )
24723 .into()
24724 }
24725 }
24726 unsafe extern "system" fn IsUserInitiated<
24727 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
24728 const OFFSET: isize,
24729 >(
24730 this: *mut core::ffi::c_void,
24731 isuserinitiated: *mut windows_core::BOOL,
24732 ) -> windows_core::HRESULT {
24733 unsafe {
24734 let this: &Identity =
24735 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24736 ICoreWebView2PermissionRequestedEventArgs_Impl::IsUserInitiated(
24737 this,
24738 core::mem::transmute_copy(&isuserinitiated),
24739 )
24740 .into()
24741 }
24742 }
24743 unsafe extern "system" fn State<
24744 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
24745 const OFFSET: isize,
24746 >(
24747 this: *mut core::ffi::c_void,
24748 state: *mut COREWEBVIEW2_PERMISSION_STATE,
24749 ) -> windows_core::HRESULT {
24750 unsafe {
24751 let this: &Identity =
24752 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24753 ICoreWebView2PermissionRequestedEventArgs_Impl::State(
24754 this,
24755 core::mem::transmute_copy(&state),
24756 )
24757 .into()
24758 }
24759 }
24760 unsafe extern "system" fn SetState<
24761 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
24762 const OFFSET: isize,
24763 >(
24764 this: *mut core::ffi::c_void,
24765 state: COREWEBVIEW2_PERMISSION_STATE,
24766 ) -> windows_core::HRESULT {
24767 unsafe {
24768 let this: &Identity =
24769 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24770 ICoreWebView2PermissionRequestedEventArgs_Impl::SetState(
24771 this,
24772 core::mem::transmute_copy(&state),
24773 )
24774 .into()
24775 }
24776 }
24777 unsafe extern "system" fn GetDeferral<
24778 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
24779 const OFFSET: isize,
24780 >(
24781 this: *mut core::ffi::c_void,
24782 deferral: *mut *mut core::ffi::c_void,
24783 ) -> windows_core::HRESULT {
24784 unsafe {
24785 let this: &Identity =
24786 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24787 match ICoreWebView2PermissionRequestedEventArgs_Impl::GetDeferral(this) {
24788 Ok(ok__) => {
24789 deferral.write(core::mem::transmute(ok__));
24790 windows_core::HRESULT(0)
24791 }
24792 Err(err) => err.into(),
24793 }
24794 }
24795 }
24796 Self {
24797 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24798 Uri: Uri::<Identity, OFFSET>,
24799 PermissionKind: PermissionKind::<Identity, OFFSET>,
24800 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
24801 State: State::<Identity, OFFSET>,
24802 SetState: SetState::<Identity, OFFSET>,
24803 GetDeferral: GetDeferral::<Identity, OFFSET>,
24804 }
24805 }
24806 pub fn matches(iid: &windows_core::GUID) -> bool {
24807 iid == &<ICoreWebView2PermissionRequestedEventArgs as windows_core::Interface>::IID
24808 }
24809}
24810impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventArgs {}
24811windows_core::imp::define_interface!(
24812 ICoreWebView2PermissionRequestedEventArgs2,
24813 ICoreWebView2PermissionRequestedEventArgs2_Vtbl,
24814 0x74d7127f_9de6_4200_8734_42d6fb4ff741
24815);
24816impl core::ops::Deref for ICoreWebView2PermissionRequestedEventArgs2 {
24817 type Target = ICoreWebView2PermissionRequestedEventArgs;
24818 fn deref(&self) -> &Self::Target {
24819 unsafe { core::mem::transmute(self) }
24820 }
24821}
24822windows_core::imp::interface_hierarchy!(
24823 ICoreWebView2PermissionRequestedEventArgs2,
24824 windows_core::IUnknown,
24825 ICoreWebView2PermissionRequestedEventArgs
24826);
24827impl ICoreWebView2PermissionRequestedEventArgs2 {
24828 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
24829 unsafe {
24830 (windows_core::Interface::vtable(self).Handled)(
24831 windows_core::Interface::as_raw(self),
24832 value as _,
24833 )
24834 .ok()
24835 }
24836 }
24837 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
24838 unsafe {
24839 (windows_core::Interface::vtable(self).SetHandled)(
24840 windows_core::Interface::as_raw(self),
24841 value.into(),
24842 )
24843 .ok()
24844 }
24845 }
24846}
24847#[repr(C)]
24848#[doc(hidden)]
24849pub struct ICoreWebView2PermissionRequestedEventArgs2_Vtbl {
24850 pub base__: ICoreWebView2PermissionRequestedEventArgs_Vtbl,
24851 pub Handled: unsafe extern "system" fn(
24852 *mut core::ffi::c_void,
24853 *mut windows_core::BOOL,
24854 ) -> windows_core::HRESULT,
24855 pub SetHandled: unsafe extern "system" fn(
24856 *mut core::ffi::c_void,
24857 windows_core::BOOL,
24858 ) -> windows_core::HRESULT,
24859}
24860pub trait ICoreWebView2PermissionRequestedEventArgs2_Impl:
24861 ICoreWebView2PermissionRequestedEventArgs_Impl
24862{
24863 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
24864 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
24865}
24866impl ICoreWebView2PermissionRequestedEventArgs2_Vtbl {
24867 pub const fn new<
24868 Identity: ICoreWebView2PermissionRequestedEventArgs2_Impl,
24869 const OFFSET: isize,
24870 >() -> Self {
24871 unsafe extern "system" fn Handled<
24872 Identity: ICoreWebView2PermissionRequestedEventArgs2_Impl,
24873 const OFFSET: isize,
24874 >(
24875 this: *mut core::ffi::c_void,
24876 value: *mut windows_core::BOOL,
24877 ) -> windows_core::HRESULT {
24878 unsafe {
24879 let this: &Identity =
24880 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24881 ICoreWebView2PermissionRequestedEventArgs2_Impl::Handled(
24882 this,
24883 core::mem::transmute_copy(&value),
24884 )
24885 .into()
24886 }
24887 }
24888 unsafe extern "system" fn SetHandled<
24889 Identity: ICoreWebView2PermissionRequestedEventArgs2_Impl,
24890 const OFFSET: isize,
24891 >(
24892 this: *mut core::ffi::c_void,
24893 value: windows_core::BOOL,
24894 ) -> windows_core::HRESULT {
24895 unsafe {
24896 let this: &Identity =
24897 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24898 ICoreWebView2PermissionRequestedEventArgs2_Impl::SetHandled(
24899 this,
24900 core::mem::transmute_copy(&value),
24901 )
24902 .into()
24903 }
24904 }
24905 Self {
24906 base__: ICoreWebView2PermissionRequestedEventArgs_Vtbl::new::<Identity, OFFSET>(),
24907 Handled: Handled::<Identity, OFFSET>,
24908 SetHandled: SetHandled::<Identity, OFFSET>,
24909 }
24910 }
24911 pub fn matches(iid: &windows_core::GUID) -> bool {
24912 iid == &<ICoreWebView2PermissionRequestedEventArgs2 as windows_core::Interface>::IID
24913 || iid == &<ICoreWebView2PermissionRequestedEventArgs as windows_core::Interface>::IID
24914 }
24915}
24916impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventArgs2 {}
24917windows_core::imp::define_interface!(
24918 ICoreWebView2PermissionRequestedEventArgs3,
24919 ICoreWebView2PermissionRequestedEventArgs3_Vtbl,
24920 0xe61670bc_3dce_4177_86d2_c629ae3cb6ac
24921);
24922impl core::ops::Deref for ICoreWebView2PermissionRequestedEventArgs3 {
24923 type Target = ICoreWebView2PermissionRequestedEventArgs2;
24924 fn deref(&self) -> &Self::Target {
24925 unsafe { core::mem::transmute(self) }
24926 }
24927}
24928windows_core::imp::interface_hierarchy!(
24929 ICoreWebView2PermissionRequestedEventArgs3,
24930 windows_core::IUnknown,
24931 ICoreWebView2PermissionRequestedEventArgs,
24932 ICoreWebView2PermissionRequestedEventArgs2
24933);
24934impl ICoreWebView2PermissionRequestedEventArgs3 {
24935 pub unsafe fn SavesInProfile(
24936 &self,
24937 value: *mut windows_core::BOOL,
24938 ) -> windows_core::Result<()> {
24939 unsafe {
24940 (windows_core::Interface::vtable(self).SavesInProfile)(
24941 windows_core::Interface::as_raw(self),
24942 value as _,
24943 )
24944 .ok()
24945 }
24946 }
24947 pub unsafe fn SetSavesInProfile(&self, value: bool) -> windows_core::Result<()> {
24948 unsafe {
24949 (windows_core::Interface::vtable(self).SetSavesInProfile)(
24950 windows_core::Interface::as_raw(self),
24951 value.into(),
24952 )
24953 .ok()
24954 }
24955 }
24956}
24957#[repr(C)]
24958#[doc(hidden)]
24959pub struct ICoreWebView2PermissionRequestedEventArgs3_Vtbl {
24960 pub base__: ICoreWebView2PermissionRequestedEventArgs2_Vtbl,
24961 pub SavesInProfile: unsafe extern "system" fn(
24962 *mut core::ffi::c_void,
24963 *mut windows_core::BOOL,
24964 ) -> windows_core::HRESULT,
24965 pub SetSavesInProfile: unsafe extern "system" fn(
24966 *mut core::ffi::c_void,
24967 windows_core::BOOL,
24968 ) -> windows_core::HRESULT,
24969}
24970pub trait ICoreWebView2PermissionRequestedEventArgs3_Impl:
24971 ICoreWebView2PermissionRequestedEventArgs2_Impl
24972{
24973 fn SavesInProfile(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
24974 fn SetSavesInProfile(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
24975}
24976impl ICoreWebView2PermissionRequestedEventArgs3_Vtbl {
24977 pub const fn new<
24978 Identity: ICoreWebView2PermissionRequestedEventArgs3_Impl,
24979 const OFFSET: isize,
24980 >() -> Self {
24981 unsafe extern "system" fn SavesInProfile<
24982 Identity: ICoreWebView2PermissionRequestedEventArgs3_Impl,
24983 const OFFSET: isize,
24984 >(
24985 this: *mut core::ffi::c_void,
24986 value: *mut windows_core::BOOL,
24987 ) -> windows_core::HRESULT {
24988 unsafe {
24989 let this: &Identity =
24990 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24991 ICoreWebView2PermissionRequestedEventArgs3_Impl::SavesInProfile(
24992 this,
24993 core::mem::transmute_copy(&value),
24994 )
24995 .into()
24996 }
24997 }
24998 unsafe extern "system" fn SetSavesInProfile<
24999 Identity: ICoreWebView2PermissionRequestedEventArgs3_Impl,
25000 const OFFSET: isize,
25001 >(
25002 this: *mut core::ffi::c_void,
25003 value: windows_core::BOOL,
25004 ) -> windows_core::HRESULT {
25005 unsafe {
25006 let this: &Identity =
25007 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25008 ICoreWebView2PermissionRequestedEventArgs3_Impl::SetSavesInProfile(
25009 this,
25010 core::mem::transmute_copy(&value),
25011 )
25012 .into()
25013 }
25014 }
25015 Self {
25016 base__: ICoreWebView2PermissionRequestedEventArgs2_Vtbl::new::<Identity, OFFSET>(),
25017 SavesInProfile: SavesInProfile::<Identity, OFFSET>,
25018 SetSavesInProfile: SetSavesInProfile::<Identity, OFFSET>,
25019 }
25020 }
25021 pub fn matches(iid: &windows_core::GUID) -> bool {
25022 iid == &<ICoreWebView2PermissionRequestedEventArgs3 as windows_core::Interface>::IID
25023 || iid == &<ICoreWebView2PermissionRequestedEventArgs as windows_core::Interface>::IID
25024 || iid == &<ICoreWebView2PermissionRequestedEventArgs2 as windows_core::Interface>::IID
25025 }
25026}
25027impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventArgs3 {}
25028windows_core::imp::define_interface!(
25029 ICoreWebView2PermissionRequestedEventHandler,
25030 ICoreWebView2PermissionRequestedEventHandler_Vtbl,
25031 0x15e1c6a3_c72a_4df3_91d7_d097fbec6bfd
25032);
25033windows_core::imp::interface_hierarchy!(
25034 ICoreWebView2PermissionRequestedEventHandler,
25035 windows_core::IUnknown
25036);
25037impl ICoreWebView2PermissionRequestedEventHandler {
25038 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
25039 where
25040 P0: windows_core::Param<ICoreWebView2>,
25041 P1: windows_core::Param<ICoreWebView2PermissionRequestedEventArgs>,
25042 {
25043 unsafe {
25044 (windows_core::Interface::vtable(self).Invoke)(
25045 windows_core::Interface::as_raw(self),
25046 sender.param().abi(),
25047 args.param().abi(),
25048 )
25049 .ok()
25050 }
25051 }
25052}
25053#[repr(C)]
25054#[doc(hidden)]
25055pub struct ICoreWebView2PermissionRequestedEventHandler_Vtbl {
25056 pub base__: windows_core::IUnknown_Vtbl,
25057 pub Invoke: unsafe extern "system" fn(
25058 *mut core::ffi::c_void,
25059 *mut core::ffi::c_void,
25060 *mut core::ffi::c_void,
25061 ) -> windows_core::HRESULT,
25062}
25063pub trait ICoreWebView2PermissionRequestedEventHandler_Impl: windows_core::IUnknownImpl {
25064 fn Invoke(
25065 &self,
25066 sender: windows_core::Ref<'_, ICoreWebView2>,
25067 args: windows_core::Ref<'_, ICoreWebView2PermissionRequestedEventArgs>,
25068 ) -> windows_core::Result<()>;
25069}
25070impl ICoreWebView2PermissionRequestedEventHandler_Vtbl {
25071 pub const fn new<
25072 Identity: ICoreWebView2PermissionRequestedEventHandler_Impl,
25073 const OFFSET: isize,
25074 >() -> Self {
25075 unsafe extern "system" fn Invoke<
25076 Identity: ICoreWebView2PermissionRequestedEventHandler_Impl,
25077 const OFFSET: isize,
25078 >(
25079 this: *mut core::ffi::c_void,
25080 sender: *mut core::ffi::c_void,
25081 args: *mut core::ffi::c_void,
25082 ) -> windows_core::HRESULT {
25083 unsafe {
25084 let this: &Identity =
25085 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25086 ICoreWebView2PermissionRequestedEventHandler_Impl::Invoke(
25087 this,
25088 core::mem::transmute_copy(&sender),
25089 core::mem::transmute_copy(&args),
25090 )
25091 .into()
25092 }
25093 }
25094 Self {
25095 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
25096 Invoke: Invoke::<Identity, OFFSET>,
25097 }
25098 }
25099 pub fn matches(iid: &windows_core::GUID) -> bool {
25100 iid == &<ICoreWebView2PermissionRequestedEventHandler as windows_core::Interface>::IID
25101 }
25102}
25103impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventHandler {}
25104windows_core::imp::define_interface!(
25105 ICoreWebView2PermissionSetting,
25106 ICoreWebView2PermissionSetting_Vtbl,
25107 0x792b6eca_5576_421c_9119_74ebb3a4ffb3
25108);
25109windows_core::imp::interface_hierarchy!(ICoreWebView2PermissionSetting, windows_core::IUnknown);
25110impl ICoreWebView2PermissionSetting {
25111 pub unsafe fn PermissionKind(
25112 &self,
25113 value: *mut COREWEBVIEW2_PERMISSION_KIND,
25114 ) -> windows_core::Result<()> {
25115 unsafe {
25116 (windows_core::Interface::vtable(self).PermissionKind)(
25117 windows_core::Interface::as_raw(self),
25118 value as _,
25119 )
25120 .ok()
25121 }
25122 }
25123 pub unsafe fn PermissionOrigin(
25124 &self,
25125 value: *mut windows_core::PWSTR,
25126 ) -> windows_core::Result<()> {
25127 unsafe {
25128 (windows_core::Interface::vtable(self).PermissionOrigin)(
25129 windows_core::Interface::as_raw(self),
25130 value as _,
25131 )
25132 .ok()
25133 }
25134 }
25135 pub unsafe fn PermissionState(
25136 &self,
25137 value: *mut COREWEBVIEW2_PERMISSION_STATE,
25138 ) -> windows_core::Result<()> {
25139 unsafe {
25140 (windows_core::Interface::vtable(self).PermissionState)(
25141 windows_core::Interface::as_raw(self),
25142 value as _,
25143 )
25144 .ok()
25145 }
25146 }
25147}
25148#[repr(C)]
25149#[doc(hidden)]
25150pub struct ICoreWebView2PermissionSetting_Vtbl {
25151 pub base__: windows_core::IUnknown_Vtbl,
25152 pub PermissionKind: unsafe extern "system" fn(
25153 *mut core::ffi::c_void,
25154 *mut COREWEBVIEW2_PERMISSION_KIND,
25155 ) -> windows_core::HRESULT,
25156 pub PermissionOrigin: unsafe extern "system" fn(
25157 *mut core::ffi::c_void,
25158 *mut windows_core::PWSTR,
25159 ) -> windows_core::HRESULT,
25160 pub PermissionState: unsafe extern "system" fn(
25161 *mut core::ffi::c_void,
25162 *mut COREWEBVIEW2_PERMISSION_STATE,
25163 ) -> windows_core::HRESULT,
25164}
25165pub trait ICoreWebView2PermissionSetting_Impl: windows_core::IUnknownImpl {
25166 fn PermissionKind(&self, value: *mut COREWEBVIEW2_PERMISSION_KIND) -> windows_core::Result<()>;
25167 fn PermissionOrigin(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
25168 fn PermissionState(
25169 &self,
25170 value: *mut COREWEBVIEW2_PERMISSION_STATE,
25171 ) -> windows_core::Result<()>;
25172}
25173impl ICoreWebView2PermissionSetting_Vtbl {
25174 pub const fn new<Identity: ICoreWebView2PermissionSetting_Impl, const OFFSET: isize>() -> Self {
25175 unsafe extern "system" fn PermissionKind<
25176 Identity: ICoreWebView2PermissionSetting_Impl,
25177 const OFFSET: isize,
25178 >(
25179 this: *mut core::ffi::c_void,
25180 value: *mut COREWEBVIEW2_PERMISSION_KIND,
25181 ) -> windows_core::HRESULT {
25182 unsafe {
25183 let this: &Identity =
25184 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25185 ICoreWebView2PermissionSetting_Impl::PermissionKind(
25186 this,
25187 core::mem::transmute_copy(&value),
25188 )
25189 .into()
25190 }
25191 }
25192 unsafe extern "system" fn PermissionOrigin<
25193 Identity: ICoreWebView2PermissionSetting_Impl,
25194 const OFFSET: isize,
25195 >(
25196 this: *mut core::ffi::c_void,
25197 value: *mut windows_core::PWSTR,
25198 ) -> windows_core::HRESULT {
25199 unsafe {
25200 let this: &Identity =
25201 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25202 ICoreWebView2PermissionSetting_Impl::PermissionOrigin(
25203 this,
25204 core::mem::transmute_copy(&value),
25205 )
25206 .into()
25207 }
25208 }
25209 unsafe extern "system" fn PermissionState<
25210 Identity: ICoreWebView2PermissionSetting_Impl,
25211 const OFFSET: isize,
25212 >(
25213 this: *mut core::ffi::c_void,
25214 value: *mut COREWEBVIEW2_PERMISSION_STATE,
25215 ) -> windows_core::HRESULT {
25216 unsafe {
25217 let this: &Identity =
25218 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25219 ICoreWebView2PermissionSetting_Impl::PermissionState(
25220 this,
25221 core::mem::transmute_copy(&value),
25222 )
25223 .into()
25224 }
25225 }
25226 Self {
25227 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
25228 PermissionKind: PermissionKind::<Identity, OFFSET>,
25229 PermissionOrigin: PermissionOrigin::<Identity, OFFSET>,
25230 PermissionState: PermissionState::<Identity, OFFSET>,
25231 }
25232 }
25233 pub fn matches(iid: &windows_core::GUID) -> bool {
25234 iid == &<ICoreWebView2PermissionSetting as windows_core::Interface>::IID
25235 }
25236}
25237impl windows_core::RuntimeName for ICoreWebView2PermissionSetting {}
25238windows_core::imp::define_interface!(
25239 ICoreWebView2PermissionSettingCollectionView,
25240 ICoreWebView2PermissionSettingCollectionView_Vtbl,
25241 0xf5596f62_3de5_47b1_91e8_a4104b596b96
25242);
25243windows_core::imp::interface_hierarchy!(
25244 ICoreWebView2PermissionSettingCollectionView,
25245 windows_core::IUnknown
25246);
25247impl ICoreWebView2PermissionSettingCollectionView {
25248 pub unsafe fn GetValueAtIndex(
25249 &self,
25250 index: u32,
25251 ) -> windows_core::Result<ICoreWebView2PermissionSetting> {
25252 unsafe {
25253 let mut result__ = core::mem::zeroed();
25254 (windows_core::Interface::vtable(self).GetValueAtIndex)(
25255 windows_core::Interface::as_raw(self),
25256 index,
25257 &mut result__,
25258 )
25259 .and_then(|| windows_core::Type::from_abi(result__))
25260 }
25261 }
25262 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
25263 unsafe {
25264 (windows_core::Interface::vtable(self).Count)(
25265 windows_core::Interface::as_raw(self),
25266 value as _,
25267 )
25268 .ok()
25269 }
25270 }
25271}
25272#[repr(C)]
25273#[doc(hidden)]
25274pub struct ICoreWebView2PermissionSettingCollectionView_Vtbl {
25275 pub base__: windows_core::IUnknown_Vtbl,
25276 pub GetValueAtIndex: unsafe extern "system" fn(
25277 *mut core::ffi::c_void,
25278 u32,
25279 *mut *mut core::ffi::c_void,
25280 ) -> windows_core::HRESULT,
25281 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
25282}
25283pub trait ICoreWebView2PermissionSettingCollectionView_Impl: windows_core::IUnknownImpl {
25284 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2PermissionSetting>;
25285 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
25286}
25287impl ICoreWebView2PermissionSettingCollectionView_Vtbl {
25288 pub const fn new<
25289 Identity: ICoreWebView2PermissionSettingCollectionView_Impl,
25290 const OFFSET: isize,
25291 >() -> Self {
25292 unsafe extern "system" fn GetValueAtIndex<
25293 Identity: ICoreWebView2PermissionSettingCollectionView_Impl,
25294 const OFFSET: isize,
25295 >(
25296 this: *mut core::ffi::c_void,
25297 index: u32,
25298 permissionsetting: *mut *mut core::ffi::c_void,
25299 ) -> windows_core::HRESULT {
25300 unsafe {
25301 let this: &Identity =
25302 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25303 match ICoreWebView2PermissionSettingCollectionView_Impl::GetValueAtIndex(
25304 this,
25305 core::mem::transmute_copy(&index),
25306 ) {
25307 Ok(ok__) => {
25308 permissionsetting.write(core::mem::transmute(ok__));
25309 windows_core::HRESULT(0)
25310 }
25311 Err(err) => err.into(),
25312 }
25313 }
25314 }
25315 unsafe extern "system" fn Count<
25316 Identity: ICoreWebView2PermissionSettingCollectionView_Impl,
25317 const OFFSET: isize,
25318 >(
25319 this: *mut core::ffi::c_void,
25320 value: *mut u32,
25321 ) -> windows_core::HRESULT {
25322 unsafe {
25323 let this: &Identity =
25324 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25325 ICoreWebView2PermissionSettingCollectionView_Impl::Count(
25326 this,
25327 core::mem::transmute_copy(&value),
25328 )
25329 .into()
25330 }
25331 }
25332 Self {
25333 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
25334 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
25335 Count: Count::<Identity, OFFSET>,
25336 }
25337 }
25338 pub fn matches(iid: &windows_core::GUID) -> bool {
25339 iid == &<ICoreWebView2PermissionSettingCollectionView as windows_core::Interface>::IID
25340 }
25341}
25342impl windows_core::RuntimeName for ICoreWebView2PermissionSettingCollectionView {}
25343windows_core::imp::define_interface!(
25344 ICoreWebView2PointerInfo,
25345 ICoreWebView2PointerInfo_Vtbl,
25346 0xe6995887_d10d_4f5d_9359_4ce46e4f96b9
25347);
25348windows_core::imp::interface_hierarchy!(ICoreWebView2PointerInfo, windows_core::IUnknown);
25349impl ICoreWebView2PointerInfo {
25350 pub unsafe fn PointerKind(&self, pointerkind: *mut u32) -> windows_core::Result<()> {
25351 unsafe {
25352 (windows_core::Interface::vtable(self).PointerKind)(
25353 windows_core::Interface::as_raw(self),
25354 pointerkind as _,
25355 )
25356 .ok()
25357 }
25358 }
25359 pub unsafe fn SetPointerKind(&self, pointerkind: u32) -> windows_core::Result<()> {
25360 unsafe {
25361 (windows_core::Interface::vtable(self).SetPointerKind)(
25362 windows_core::Interface::as_raw(self),
25363 pointerkind,
25364 )
25365 .ok()
25366 }
25367 }
25368 pub unsafe fn PointerId(&self, pointerid: *mut u32) -> windows_core::Result<()> {
25369 unsafe {
25370 (windows_core::Interface::vtable(self).PointerId)(
25371 windows_core::Interface::as_raw(self),
25372 pointerid as _,
25373 )
25374 .ok()
25375 }
25376 }
25377 pub unsafe fn SetPointerId(&self, pointerid: u32) -> windows_core::Result<()> {
25378 unsafe {
25379 (windows_core::Interface::vtable(self).SetPointerId)(
25380 windows_core::Interface::as_raw(self),
25381 pointerid,
25382 )
25383 .ok()
25384 }
25385 }
25386 pub unsafe fn FrameId(&self, frameid: *mut u32) -> windows_core::Result<()> {
25387 unsafe {
25388 (windows_core::Interface::vtable(self).FrameId)(
25389 windows_core::Interface::as_raw(self),
25390 frameid as _,
25391 )
25392 .ok()
25393 }
25394 }
25395 pub unsafe fn SetFrameId(&self, frameid: u32) -> windows_core::Result<()> {
25396 unsafe {
25397 (windows_core::Interface::vtable(self).SetFrameId)(
25398 windows_core::Interface::as_raw(self),
25399 frameid,
25400 )
25401 .ok()
25402 }
25403 }
25404 pub unsafe fn PointerFlags(&self, pointerflags: *mut u32) -> windows_core::Result<()> {
25405 unsafe {
25406 (windows_core::Interface::vtable(self).PointerFlags)(
25407 windows_core::Interface::as_raw(self),
25408 pointerflags as _,
25409 )
25410 .ok()
25411 }
25412 }
25413 pub unsafe fn SetPointerFlags(&self, pointerflags: u32) -> windows_core::Result<()> {
25414 unsafe {
25415 (windows_core::Interface::vtable(self).SetPointerFlags)(
25416 windows_core::Interface::as_raw(self),
25417 pointerflags,
25418 )
25419 .ok()
25420 }
25421 }
25422 pub unsafe fn PointerDeviceRect(
25423 &self,
25424 pointerdevicerect: *mut windows::Win32::Foundation::RECT,
25425 ) -> windows_core::Result<()> {
25426 unsafe {
25427 (windows_core::Interface::vtable(self).PointerDeviceRect)(
25428 windows_core::Interface::as_raw(self),
25429 pointerdevicerect as _,
25430 )
25431 .ok()
25432 }
25433 }
25434 pub unsafe fn SetPointerDeviceRect(
25435 &self,
25436 pointerdevicerect: windows::Win32::Foundation::RECT,
25437 ) -> windows_core::Result<()> {
25438 unsafe {
25439 (windows_core::Interface::vtable(self).SetPointerDeviceRect)(
25440 windows_core::Interface::as_raw(self),
25441 core::mem::transmute(pointerdevicerect),
25442 )
25443 .ok()
25444 }
25445 }
25446 pub unsafe fn DisplayRect(
25447 &self,
25448 displayrect: *mut windows::Win32::Foundation::RECT,
25449 ) -> windows_core::Result<()> {
25450 unsafe {
25451 (windows_core::Interface::vtable(self).DisplayRect)(
25452 windows_core::Interface::as_raw(self),
25453 displayrect as _,
25454 )
25455 .ok()
25456 }
25457 }
25458 pub unsafe fn SetDisplayRect(
25459 &self,
25460 displayrect: windows::Win32::Foundation::RECT,
25461 ) -> windows_core::Result<()> {
25462 unsafe {
25463 (windows_core::Interface::vtable(self).SetDisplayRect)(
25464 windows_core::Interface::as_raw(self),
25465 core::mem::transmute(displayrect),
25466 )
25467 .ok()
25468 }
25469 }
25470 pub unsafe fn PixelLocation(
25471 &self,
25472 pixellocation: *mut windows::Win32::Foundation::POINT,
25473 ) -> windows_core::Result<()> {
25474 unsafe {
25475 (windows_core::Interface::vtable(self).PixelLocation)(
25476 windows_core::Interface::as_raw(self),
25477 pixellocation as _,
25478 )
25479 .ok()
25480 }
25481 }
25482 pub unsafe fn SetPixelLocation(
25483 &self,
25484 pixellocation: windows::Win32::Foundation::POINT,
25485 ) -> windows_core::Result<()> {
25486 unsafe {
25487 (windows_core::Interface::vtable(self).SetPixelLocation)(
25488 windows_core::Interface::as_raw(self),
25489 core::mem::transmute(pixellocation),
25490 )
25491 .ok()
25492 }
25493 }
25494 pub unsafe fn HimetricLocation(
25495 &self,
25496 himetriclocation: *mut windows::Win32::Foundation::POINT,
25497 ) -> windows_core::Result<()> {
25498 unsafe {
25499 (windows_core::Interface::vtable(self).HimetricLocation)(
25500 windows_core::Interface::as_raw(self),
25501 himetriclocation as _,
25502 )
25503 .ok()
25504 }
25505 }
25506 pub unsafe fn SetHimetricLocation(
25507 &self,
25508 himetriclocation: windows::Win32::Foundation::POINT,
25509 ) -> windows_core::Result<()> {
25510 unsafe {
25511 (windows_core::Interface::vtable(self).SetHimetricLocation)(
25512 windows_core::Interface::as_raw(self),
25513 core::mem::transmute(himetriclocation),
25514 )
25515 .ok()
25516 }
25517 }
25518 pub unsafe fn PixelLocationRaw(
25519 &self,
25520 pixellocationraw: *mut windows::Win32::Foundation::POINT,
25521 ) -> windows_core::Result<()> {
25522 unsafe {
25523 (windows_core::Interface::vtable(self).PixelLocationRaw)(
25524 windows_core::Interface::as_raw(self),
25525 pixellocationraw as _,
25526 )
25527 .ok()
25528 }
25529 }
25530 pub unsafe fn SetPixelLocationRaw(
25531 &self,
25532 pixellocationraw: windows::Win32::Foundation::POINT,
25533 ) -> windows_core::Result<()> {
25534 unsafe {
25535 (windows_core::Interface::vtable(self).SetPixelLocationRaw)(
25536 windows_core::Interface::as_raw(self),
25537 core::mem::transmute(pixellocationraw),
25538 )
25539 .ok()
25540 }
25541 }
25542 pub unsafe fn HimetricLocationRaw(
25543 &self,
25544 himetriclocationraw: *mut windows::Win32::Foundation::POINT,
25545 ) -> windows_core::Result<()> {
25546 unsafe {
25547 (windows_core::Interface::vtable(self).HimetricLocationRaw)(
25548 windows_core::Interface::as_raw(self),
25549 himetriclocationraw as _,
25550 )
25551 .ok()
25552 }
25553 }
25554 pub unsafe fn SetHimetricLocationRaw(
25555 &self,
25556 himetriclocationraw: windows::Win32::Foundation::POINT,
25557 ) -> windows_core::Result<()> {
25558 unsafe {
25559 (windows_core::Interface::vtable(self).SetHimetricLocationRaw)(
25560 windows_core::Interface::as_raw(self),
25561 core::mem::transmute(himetriclocationraw),
25562 )
25563 .ok()
25564 }
25565 }
25566 pub unsafe fn Time(&self, time: *mut u32) -> windows_core::Result<()> {
25567 unsafe {
25568 (windows_core::Interface::vtable(self).Time)(
25569 windows_core::Interface::as_raw(self),
25570 time as _,
25571 )
25572 .ok()
25573 }
25574 }
25575 pub unsafe fn SetTime(&self, time: u32) -> windows_core::Result<()> {
25576 unsafe {
25577 (windows_core::Interface::vtable(self).SetTime)(
25578 windows_core::Interface::as_raw(self),
25579 time,
25580 )
25581 .ok()
25582 }
25583 }
25584 pub unsafe fn HistoryCount(&self, historycount: *mut u32) -> windows_core::Result<()> {
25585 unsafe {
25586 (windows_core::Interface::vtable(self).HistoryCount)(
25587 windows_core::Interface::as_raw(self),
25588 historycount as _,
25589 )
25590 .ok()
25591 }
25592 }
25593 pub unsafe fn SetHistoryCount(&self, historycount: u32) -> windows_core::Result<()> {
25594 unsafe {
25595 (windows_core::Interface::vtable(self).SetHistoryCount)(
25596 windows_core::Interface::as_raw(self),
25597 historycount,
25598 )
25599 .ok()
25600 }
25601 }
25602 pub unsafe fn InputData(&self, inputdata: *mut i32) -> windows_core::Result<()> {
25603 unsafe {
25604 (windows_core::Interface::vtable(self).InputData)(
25605 windows_core::Interface::as_raw(self),
25606 inputdata as _,
25607 )
25608 .ok()
25609 }
25610 }
25611 pub unsafe fn SetInputData(&self, inputdata: i32) -> windows_core::Result<()> {
25612 unsafe {
25613 (windows_core::Interface::vtable(self).SetInputData)(
25614 windows_core::Interface::as_raw(self),
25615 inputdata,
25616 )
25617 .ok()
25618 }
25619 }
25620 pub unsafe fn KeyStates(&self, keystates: *mut u32) -> windows_core::Result<()> {
25621 unsafe {
25622 (windows_core::Interface::vtable(self).KeyStates)(
25623 windows_core::Interface::as_raw(self),
25624 keystates as _,
25625 )
25626 .ok()
25627 }
25628 }
25629 pub unsafe fn SetKeyStates(&self, keystates: u32) -> windows_core::Result<()> {
25630 unsafe {
25631 (windows_core::Interface::vtable(self).SetKeyStates)(
25632 windows_core::Interface::as_raw(self),
25633 keystates,
25634 )
25635 .ok()
25636 }
25637 }
25638 pub unsafe fn PerformanceCount(&self, performancecount: *mut u64) -> windows_core::Result<()> {
25639 unsafe {
25640 (windows_core::Interface::vtable(self).PerformanceCount)(
25641 windows_core::Interface::as_raw(self),
25642 performancecount as _,
25643 )
25644 .ok()
25645 }
25646 }
25647 pub unsafe fn SetPerformanceCount(&self, performancecount: u64) -> windows_core::Result<()> {
25648 unsafe {
25649 (windows_core::Interface::vtable(self).SetPerformanceCount)(
25650 windows_core::Interface::as_raw(self),
25651 performancecount,
25652 )
25653 .ok()
25654 }
25655 }
25656 pub unsafe fn ButtonChangeKind(&self, buttonchangekind: *mut i32) -> windows_core::Result<()> {
25657 unsafe {
25658 (windows_core::Interface::vtable(self).ButtonChangeKind)(
25659 windows_core::Interface::as_raw(self),
25660 buttonchangekind as _,
25661 )
25662 .ok()
25663 }
25664 }
25665 pub unsafe fn SetButtonChangeKind(&self, buttonchangekind: i32) -> windows_core::Result<()> {
25666 unsafe {
25667 (windows_core::Interface::vtable(self).SetButtonChangeKind)(
25668 windows_core::Interface::as_raw(self),
25669 buttonchangekind,
25670 )
25671 .ok()
25672 }
25673 }
25674 pub unsafe fn PenFlags(&self, penflags: *mut u32) -> windows_core::Result<()> {
25675 unsafe {
25676 (windows_core::Interface::vtable(self).PenFlags)(
25677 windows_core::Interface::as_raw(self),
25678 penflags as _,
25679 )
25680 .ok()
25681 }
25682 }
25683 pub unsafe fn SetPenFlags(&self, penflags: u32) -> windows_core::Result<()> {
25684 unsafe {
25685 (windows_core::Interface::vtable(self).SetPenFlags)(
25686 windows_core::Interface::as_raw(self),
25687 penflags,
25688 )
25689 .ok()
25690 }
25691 }
25692 pub unsafe fn PenMask(&self, penmask: *mut u32) -> windows_core::Result<()> {
25693 unsafe {
25694 (windows_core::Interface::vtable(self).PenMask)(
25695 windows_core::Interface::as_raw(self),
25696 penmask as _,
25697 )
25698 .ok()
25699 }
25700 }
25701 pub unsafe fn SetPenMask(&self, penmask: u32) -> windows_core::Result<()> {
25702 unsafe {
25703 (windows_core::Interface::vtable(self).SetPenMask)(
25704 windows_core::Interface::as_raw(self),
25705 penmask,
25706 )
25707 .ok()
25708 }
25709 }
25710 pub unsafe fn PenPressure(&self, penpressure: *mut u32) -> windows_core::Result<()> {
25711 unsafe {
25712 (windows_core::Interface::vtable(self).PenPressure)(
25713 windows_core::Interface::as_raw(self),
25714 penpressure as _,
25715 )
25716 .ok()
25717 }
25718 }
25719 pub unsafe fn SetPenPressure(&self, penpressure: u32) -> windows_core::Result<()> {
25720 unsafe {
25721 (windows_core::Interface::vtable(self).SetPenPressure)(
25722 windows_core::Interface::as_raw(self),
25723 penpressure,
25724 )
25725 .ok()
25726 }
25727 }
25728 pub unsafe fn PenRotation(&self, penrotation: *mut u32) -> windows_core::Result<()> {
25729 unsafe {
25730 (windows_core::Interface::vtable(self).PenRotation)(
25731 windows_core::Interface::as_raw(self),
25732 penrotation as _,
25733 )
25734 .ok()
25735 }
25736 }
25737 pub unsafe fn SetPenRotation(&self, penrotation: u32) -> windows_core::Result<()> {
25738 unsafe {
25739 (windows_core::Interface::vtable(self).SetPenRotation)(
25740 windows_core::Interface::as_raw(self),
25741 penrotation,
25742 )
25743 .ok()
25744 }
25745 }
25746 pub unsafe fn PenTiltX(&self, pentiltx: *mut i32) -> windows_core::Result<()> {
25747 unsafe {
25748 (windows_core::Interface::vtable(self).PenTiltX)(
25749 windows_core::Interface::as_raw(self),
25750 pentiltx as _,
25751 )
25752 .ok()
25753 }
25754 }
25755 pub unsafe fn SetPenTiltX(&self, pentiltx: i32) -> windows_core::Result<()> {
25756 unsafe {
25757 (windows_core::Interface::vtable(self).SetPenTiltX)(
25758 windows_core::Interface::as_raw(self),
25759 pentiltx,
25760 )
25761 .ok()
25762 }
25763 }
25764 pub unsafe fn PenTiltY(&self, pentilty: *mut i32) -> windows_core::Result<()> {
25765 unsafe {
25766 (windows_core::Interface::vtable(self).PenTiltY)(
25767 windows_core::Interface::as_raw(self),
25768 pentilty as _,
25769 )
25770 .ok()
25771 }
25772 }
25773 pub unsafe fn SetPenTiltY(&self, pentilty: i32) -> windows_core::Result<()> {
25774 unsafe {
25775 (windows_core::Interface::vtable(self).SetPenTiltY)(
25776 windows_core::Interface::as_raw(self),
25777 pentilty,
25778 )
25779 .ok()
25780 }
25781 }
25782 pub unsafe fn TouchFlags(&self, touchflags: *mut u32) -> windows_core::Result<()> {
25783 unsafe {
25784 (windows_core::Interface::vtable(self).TouchFlags)(
25785 windows_core::Interface::as_raw(self),
25786 touchflags as _,
25787 )
25788 .ok()
25789 }
25790 }
25791 pub unsafe fn SetTouchFlags(&self, touchflags: u32) -> windows_core::Result<()> {
25792 unsafe {
25793 (windows_core::Interface::vtable(self).SetTouchFlags)(
25794 windows_core::Interface::as_raw(self),
25795 touchflags,
25796 )
25797 .ok()
25798 }
25799 }
25800 pub unsafe fn TouchMask(&self, touchmask: *mut u32) -> windows_core::Result<()> {
25801 unsafe {
25802 (windows_core::Interface::vtable(self).TouchMask)(
25803 windows_core::Interface::as_raw(self),
25804 touchmask as _,
25805 )
25806 .ok()
25807 }
25808 }
25809 pub unsafe fn SetTouchMask(&self, touchmask: u32) -> windows_core::Result<()> {
25810 unsafe {
25811 (windows_core::Interface::vtable(self).SetTouchMask)(
25812 windows_core::Interface::as_raw(self),
25813 touchmask,
25814 )
25815 .ok()
25816 }
25817 }
25818 pub unsafe fn TouchContact(
25819 &self,
25820 touchcontact: *mut windows::Win32::Foundation::RECT,
25821 ) -> windows_core::Result<()> {
25822 unsafe {
25823 (windows_core::Interface::vtable(self).TouchContact)(
25824 windows_core::Interface::as_raw(self),
25825 touchcontact as _,
25826 )
25827 .ok()
25828 }
25829 }
25830 pub unsafe fn SetTouchContact(
25831 &self,
25832 touchcontact: windows::Win32::Foundation::RECT,
25833 ) -> windows_core::Result<()> {
25834 unsafe {
25835 (windows_core::Interface::vtable(self).SetTouchContact)(
25836 windows_core::Interface::as_raw(self),
25837 core::mem::transmute(touchcontact),
25838 )
25839 .ok()
25840 }
25841 }
25842 pub unsafe fn TouchContactRaw(
25843 &self,
25844 touchcontactraw: *mut windows::Win32::Foundation::RECT,
25845 ) -> windows_core::Result<()> {
25846 unsafe {
25847 (windows_core::Interface::vtable(self).TouchContactRaw)(
25848 windows_core::Interface::as_raw(self),
25849 touchcontactraw as _,
25850 )
25851 .ok()
25852 }
25853 }
25854 pub unsafe fn SetTouchContactRaw(
25855 &self,
25856 touchcontactraw: windows::Win32::Foundation::RECT,
25857 ) -> windows_core::Result<()> {
25858 unsafe {
25859 (windows_core::Interface::vtable(self).SetTouchContactRaw)(
25860 windows_core::Interface::as_raw(self),
25861 core::mem::transmute(touchcontactraw),
25862 )
25863 .ok()
25864 }
25865 }
25866 pub unsafe fn TouchOrientation(&self, touchorientation: *mut u32) -> windows_core::Result<()> {
25867 unsafe {
25868 (windows_core::Interface::vtable(self).TouchOrientation)(
25869 windows_core::Interface::as_raw(self),
25870 touchorientation as _,
25871 )
25872 .ok()
25873 }
25874 }
25875 pub unsafe fn SetTouchOrientation(&self, touchorientation: u32) -> windows_core::Result<()> {
25876 unsafe {
25877 (windows_core::Interface::vtable(self).SetTouchOrientation)(
25878 windows_core::Interface::as_raw(self),
25879 touchorientation,
25880 )
25881 .ok()
25882 }
25883 }
25884 pub unsafe fn TouchPressure(&self, touchpressure: *mut u32) -> windows_core::Result<()> {
25885 unsafe {
25886 (windows_core::Interface::vtable(self).TouchPressure)(
25887 windows_core::Interface::as_raw(self),
25888 touchpressure as _,
25889 )
25890 .ok()
25891 }
25892 }
25893 pub unsafe fn SetTouchPressure(&self, touchpressure: u32) -> windows_core::Result<()> {
25894 unsafe {
25895 (windows_core::Interface::vtable(self).SetTouchPressure)(
25896 windows_core::Interface::as_raw(self),
25897 touchpressure,
25898 )
25899 .ok()
25900 }
25901 }
25902}
25903#[repr(C)]
25904#[doc(hidden)]
25905pub struct ICoreWebView2PointerInfo_Vtbl {
25906 pub base__: windows_core::IUnknown_Vtbl,
25907 pub PointerKind:
25908 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
25909 pub SetPointerKind:
25910 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
25911 pub PointerId:
25912 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
25913 pub SetPointerId:
25914 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
25915 pub FrameId:
25916 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
25917 pub SetFrameId: unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
25918 pub PointerFlags:
25919 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
25920 pub SetPointerFlags:
25921 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
25922 pub PointerDeviceRect: unsafe extern "system" fn(
25923 *mut core::ffi::c_void,
25924 *mut windows::Win32::Foundation::RECT,
25925 ) -> windows_core::HRESULT,
25926 pub SetPointerDeviceRect: unsafe extern "system" fn(
25927 *mut core::ffi::c_void,
25928 windows::Win32::Foundation::RECT,
25929 ) -> windows_core::HRESULT,
25930 pub DisplayRect: unsafe extern "system" fn(
25931 *mut core::ffi::c_void,
25932 *mut windows::Win32::Foundation::RECT,
25933 ) -> windows_core::HRESULT,
25934 pub SetDisplayRect: unsafe extern "system" fn(
25935 *mut core::ffi::c_void,
25936 windows::Win32::Foundation::RECT,
25937 ) -> windows_core::HRESULT,
25938 pub PixelLocation: unsafe extern "system" fn(
25939 *mut core::ffi::c_void,
25940 *mut windows::Win32::Foundation::POINT,
25941 ) -> windows_core::HRESULT,
25942 pub SetPixelLocation: unsafe extern "system" fn(
25943 *mut core::ffi::c_void,
25944 windows::Win32::Foundation::POINT,
25945 ) -> windows_core::HRESULT,
25946 pub HimetricLocation: unsafe extern "system" fn(
25947 *mut core::ffi::c_void,
25948 *mut windows::Win32::Foundation::POINT,
25949 ) -> windows_core::HRESULT,
25950 pub SetHimetricLocation: unsafe extern "system" fn(
25951 *mut core::ffi::c_void,
25952 windows::Win32::Foundation::POINT,
25953 ) -> windows_core::HRESULT,
25954 pub PixelLocationRaw: unsafe extern "system" fn(
25955 *mut core::ffi::c_void,
25956 *mut windows::Win32::Foundation::POINT,
25957 ) -> windows_core::HRESULT,
25958 pub SetPixelLocationRaw: unsafe extern "system" fn(
25959 *mut core::ffi::c_void,
25960 windows::Win32::Foundation::POINT,
25961 ) -> windows_core::HRESULT,
25962 pub HimetricLocationRaw: unsafe extern "system" fn(
25963 *mut core::ffi::c_void,
25964 *mut windows::Win32::Foundation::POINT,
25965 ) -> windows_core::HRESULT,
25966 pub SetHimetricLocationRaw: unsafe extern "system" fn(
25967 *mut core::ffi::c_void,
25968 windows::Win32::Foundation::POINT,
25969 ) -> windows_core::HRESULT,
25970 pub Time: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
25971 pub SetTime: unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
25972 pub HistoryCount:
25973 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
25974 pub SetHistoryCount:
25975 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
25976 pub InputData:
25977 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
25978 pub SetInputData:
25979 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
25980 pub KeyStates:
25981 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
25982 pub SetKeyStates:
25983 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
25984 pub PerformanceCount:
25985 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
25986 pub SetPerformanceCount:
25987 unsafe extern "system" fn(*mut core::ffi::c_void, u64) -> windows_core::HRESULT,
25988 pub ButtonChangeKind:
25989 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
25990 pub SetButtonChangeKind:
25991 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
25992 pub PenFlags:
25993 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
25994 pub SetPenFlags:
25995 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
25996 pub PenMask:
25997 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
25998 pub SetPenMask: unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
25999 pub PenPressure:
26000 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26001 pub SetPenPressure:
26002 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26003 pub PenRotation:
26004 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26005 pub SetPenRotation:
26006 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26007 pub PenTiltX:
26008 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
26009 pub SetPenTiltX:
26010 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
26011 pub PenTiltY:
26012 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
26013 pub SetPenTiltY:
26014 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
26015 pub TouchFlags:
26016 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26017 pub SetTouchFlags:
26018 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26019 pub TouchMask:
26020 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26021 pub SetTouchMask:
26022 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26023 pub TouchContact: unsafe extern "system" fn(
26024 *mut core::ffi::c_void,
26025 *mut windows::Win32::Foundation::RECT,
26026 ) -> windows_core::HRESULT,
26027 pub SetTouchContact: unsafe extern "system" fn(
26028 *mut core::ffi::c_void,
26029 windows::Win32::Foundation::RECT,
26030 ) -> windows_core::HRESULT,
26031 pub TouchContactRaw: unsafe extern "system" fn(
26032 *mut core::ffi::c_void,
26033 *mut windows::Win32::Foundation::RECT,
26034 ) -> windows_core::HRESULT,
26035 pub SetTouchContactRaw: unsafe extern "system" fn(
26036 *mut core::ffi::c_void,
26037 windows::Win32::Foundation::RECT,
26038 ) -> windows_core::HRESULT,
26039 pub TouchOrientation:
26040 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26041 pub SetTouchOrientation:
26042 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26043 pub TouchPressure:
26044 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
26045 pub SetTouchPressure:
26046 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
26047}
26048pub trait ICoreWebView2PointerInfo_Impl: windows_core::IUnknownImpl {
26049 fn PointerKind(&self, pointerkind: *mut u32) -> windows_core::Result<()>;
26050 fn SetPointerKind(&self, pointerkind: u32) -> windows_core::Result<()>;
26051 fn PointerId(&self, pointerid: *mut u32) -> windows_core::Result<()>;
26052 fn SetPointerId(&self, pointerid: u32) -> windows_core::Result<()>;
26053 fn FrameId(&self, frameid: *mut u32) -> windows_core::Result<()>;
26054 fn SetFrameId(&self, frameid: u32) -> windows_core::Result<()>;
26055 fn PointerFlags(&self, pointerflags: *mut u32) -> windows_core::Result<()>;
26056 fn SetPointerFlags(&self, pointerflags: u32) -> windows_core::Result<()>;
26057 fn PointerDeviceRect(
26058 &self,
26059 pointerdevicerect: *mut windows::Win32::Foundation::RECT,
26060 ) -> windows_core::Result<()>;
26061 fn SetPointerDeviceRect(
26062 &self,
26063 pointerdevicerect: &windows::Win32::Foundation::RECT,
26064 ) -> windows_core::Result<()>;
26065 fn DisplayRect(
26066 &self,
26067 displayrect: *mut windows::Win32::Foundation::RECT,
26068 ) -> windows_core::Result<()>;
26069 fn SetDisplayRect(
26070 &self,
26071 displayrect: &windows::Win32::Foundation::RECT,
26072 ) -> windows_core::Result<()>;
26073 fn PixelLocation(
26074 &self,
26075 pixellocation: *mut windows::Win32::Foundation::POINT,
26076 ) -> windows_core::Result<()>;
26077 fn SetPixelLocation(
26078 &self,
26079 pixellocation: &windows::Win32::Foundation::POINT,
26080 ) -> windows_core::Result<()>;
26081 fn HimetricLocation(
26082 &self,
26083 himetriclocation: *mut windows::Win32::Foundation::POINT,
26084 ) -> windows_core::Result<()>;
26085 fn SetHimetricLocation(
26086 &self,
26087 himetriclocation: &windows::Win32::Foundation::POINT,
26088 ) -> windows_core::Result<()>;
26089 fn PixelLocationRaw(
26090 &self,
26091 pixellocationraw: *mut windows::Win32::Foundation::POINT,
26092 ) -> windows_core::Result<()>;
26093 fn SetPixelLocationRaw(
26094 &self,
26095 pixellocationraw: &windows::Win32::Foundation::POINT,
26096 ) -> windows_core::Result<()>;
26097 fn HimetricLocationRaw(
26098 &self,
26099 himetriclocationraw: *mut windows::Win32::Foundation::POINT,
26100 ) -> windows_core::Result<()>;
26101 fn SetHimetricLocationRaw(
26102 &self,
26103 himetriclocationraw: &windows::Win32::Foundation::POINT,
26104 ) -> windows_core::Result<()>;
26105 fn Time(&self, time: *mut u32) -> windows_core::Result<()>;
26106 fn SetTime(&self, time: u32) -> windows_core::Result<()>;
26107 fn HistoryCount(&self, historycount: *mut u32) -> windows_core::Result<()>;
26108 fn SetHistoryCount(&self, historycount: u32) -> windows_core::Result<()>;
26109 fn InputData(&self, inputdata: *mut i32) -> windows_core::Result<()>;
26110 fn SetInputData(&self, inputdata: i32) -> windows_core::Result<()>;
26111 fn KeyStates(&self, keystates: *mut u32) -> windows_core::Result<()>;
26112 fn SetKeyStates(&self, keystates: u32) -> windows_core::Result<()>;
26113 fn PerformanceCount(&self, performancecount: *mut u64) -> windows_core::Result<()>;
26114 fn SetPerformanceCount(&self, performancecount: u64) -> windows_core::Result<()>;
26115 fn ButtonChangeKind(&self, buttonchangekind: *mut i32) -> windows_core::Result<()>;
26116 fn SetButtonChangeKind(&self, buttonchangekind: i32) -> windows_core::Result<()>;
26117 fn PenFlags(&self, penflags: *mut u32) -> windows_core::Result<()>;
26118 fn SetPenFlags(&self, penflags: u32) -> windows_core::Result<()>;
26119 fn PenMask(&self, penmask: *mut u32) -> windows_core::Result<()>;
26120 fn SetPenMask(&self, penmask: u32) -> windows_core::Result<()>;
26121 fn PenPressure(&self, penpressure: *mut u32) -> windows_core::Result<()>;
26122 fn SetPenPressure(&self, penpressure: u32) -> windows_core::Result<()>;
26123 fn PenRotation(&self, penrotation: *mut u32) -> windows_core::Result<()>;
26124 fn SetPenRotation(&self, penrotation: u32) -> windows_core::Result<()>;
26125 fn PenTiltX(&self, pentiltx: *mut i32) -> windows_core::Result<()>;
26126 fn SetPenTiltX(&self, pentiltx: i32) -> windows_core::Result<()>;
26127 fn PenTiltY(&self, pentilty: *mut i32) -> windows_core::Result<()>;
26128 fn SetPenTiltY(&self, pentilty: i32) -> windows_core::Result<()>;
26129 fn TouchFlags(&self, touchflags: *mut u32) -> windows_core::Result<()>;
26130 fn SetTouchFlags(&self, touchflags: u32) -> windows_core::Result<()>;
26131 fn TouchMask(&self, touchmask: *mut u32) -> windows_core::Result<()>;
26132 fn SetTouchMask(&self, touchmask: u32) -> windows_core::Result<()>;
26133 fn TouchContact(
26134 &self,
26135 touchcontact: *mut windows::Win32::Foundation::RECT,
26136 ) -> windows_core::Result<()>;
26137 fn SetTouchContact(
26138 &self,
26139 touchcontact: &windows::Win32::Foundation::RECT,
26140 ) -> windows_core::Result<()>;
26141 fn TouchContactRaw(
26142 &self,
26143 touchcontactraw: *mut windows::Win32::Foundation::RECT,
26144 ) -> windows_core::Result<()>;
26145 fn SetTouchContactRaw(
26146 &self,
26147 touchcontactraw: &windows::Win32::Foundation::RECT,
26148 ) -> windows_core::Result<()>;
26149 fn TouchOrientation(&self, touchorientation: *mut u32) -> windows_core::Result<()>;
26150 fn SetTouchOrientation(&self, touchorientation: u32) -> windows_core::Result<()>;
26151 fn TouchPressure(&self, touchpressure: *mut u32) -> windows_core::Result<()>;
26152 fn SetTouchPressure(&self, touchpressure: u32) -> windows_core::Result<()>;
26153}
26154impl ICoreWebView2PointerInfo_Vtbl {
26155 pub const fn new<Identity: ICoreWebView2PointerInfo_Impl, const OFFSET: isize>() -> Self {
26156 unsafe extern "system" fn PointerKind<
26157 Identity: ICoreWebView2PointerInfo_Impl,
26158 const OFFSET: isize,
26159 >(
26160 this: *mut core::ffi::c_void,
26161 pointerkind: *mut u32,
26162 ) -> windows_core::HRESULT {
26163 unsafe {
26164 let this: &Identity =
26165 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26166 ICoreWebView2PointerInfo_Impl::PointerKind(
26167 this,
26168 core::mem::transmute_copy(&pointerkind),
26169 )
26170 .into()
26171 }
26172 }
26173 unsafe extern "system" fn SetPointerKind<
26174 Identity: ICoreWebView2PointerInfo_Impl,
26175 const OFFSET: isize,
26176 >(
26177 this: *mut core::ffi::c_void,
26178 pointerkind: u32,
26179 ) -> windows_core::HRESULT {
26180 unsafe {
26181 let this: &Identity =
26182 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26183 ICoreWebView2PointerInfo_Impl::SetPointerKind(
26184 this,
26185 core::mem::transmute_copy(&pointerkind),
26186 )
26187 .into()
26188 }
26189 }
26190 unsafe extern "system" fn PointerId<
26191 Identity: ICoreWebView2PointerInfo_Impl,
26192 const OFFSET: isize,
26193 >(
26194 this: *mut core::ffi::c_void,
26195 pointerid: *mut u32,
26196 ) -> windows_core::HRESULT {
26197 unsafe {
26198 let this: &Identity =
26199 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26200 ICoreWebView2PointerInfo_Impl::PointerId(
26201 this,
26202 core::mem::transmute_copy(&pointerid),
26203 )
26204 .into()
26205 }
26206 }
26207 unsafe extern "system" fn SetPointerId<
26208 Identity: ICoreWebView2PointerInfo_Impl,
26209 const OFFSET: isize,
26210 >(
26211 this: *mut core::ffi::c_void,
26212 pointerid: u32,
26213 ) -> windows_core::HRESULT {
26214 unsafe {
26215 let this: &Identity =
26216 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26217 ICoreWebView2PointerInfo_Impl::SetPointerId(
26218 this,
26219 core::mem::transmute_copy(&pointerid),
26220 )
26221 .into()
26222 }
26223 }
26224 unsafe extern "system" fn FrameId<
26225 Identity: ICoreWebView2PointerInfo_Impl,
26226 const OFFSET: isize,
26227 >(
26228 this: *mut core::ffi::c_void,
26229 frameid: *mut u32,
26230 ) -> windows_core::HRESULT {
26231 unsafe {
26232 let this: &Identity =
26233 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26234 ICoreWebView2PointerInfo_Impl::FrameId(this, core::mem::transmute_copy(&frameid))
26235 .into()
26236 }
26237 }
26238 unsafe extern "system" fn SetFrameId<
26239 Identity: ICoreWebView2PointerInfo_Impl,
26240 const OFFSET: isize,
26241 >(
26242 this: *mut core::ffi::c_void,
26243 frameid: u32,
26244 ) -> windows_core::HRESULT {
26245 unsafe {
26246 let this: &Identity =
26247 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26248 ICoreWebView2PointerInfo_Impl::SetFrameId(this, core::mem::transmute_copy(&frameid))
26249 .into()
26250 }
26251 }
26252 unsafe extern "system" fn PointerFlags<
26253 Identity: ICoreWebView2PointerInfo_Impl,
26254 const OFFSET: isize,
26255 >(
26256 this: *mut core::ffi::c_void,
26257 pointerflags: *mut u32,
26258 ) -> windows_core::HRESULT {
26259 unsafe {
26260 let this: &Identity =
26261 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26262 ICoreWebView2PointerInfo_Impl::PointerFlags(
26263 this,
26264 core::mem::transmute_copy(&pointerflags),
26265 )
26266 .into()
26267 }
26268 }
26269 unsafe extern "system" fn SetPointerFlags<
26270 Identity: ICoreWebView2PointerInfo_Impl,
26271 const OFFSET: isize,
26272 >(
26273 this: *mut core::ffi::c_void,
26274 pointerflags: u32,
26275 ) -> windows_core::HRESULT {
26276 unsafe {
26277 let this: &Identity =
26278 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26279 ICoreWebView2PointerInfo_Impl::SetPointerFlags(
26280 this,
26281 core::mem::transmute_copy(&pointerflags),
26282 )
26283 .into()
26284 }
26285 }
26286 unsafe extern "system" fn PointerDeviceRect<
26287 Identity: ICoreWebView2PointerInfo_Impl,
26288 const OFFSET: isize,
26289 >(
26290 this: *mut core::ffi::c_void,
26291 pointerdevicerect: *mut windows::Win32::Foundation::RECT,
26292 ) -> windows_core::HRESULT {
26293 unsafe {
26294 let this: &Identity =
26295 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26296 ICoreWebView2PointerInfo_Impl::PointerDeviceRect(
26297 this,
26298 core::mem::transmute_copy(&pointerdevicerect),
26299 )
26300 .into()
26301 }
26302 }
26303 unsafe extern "system" fn SetPointerDeviceRect<
26304 Identity: ICoreWebView2PointerInfo_Impl,
26305 const OFFSET: isize,
26306 >(
26307 this: *mut core::ffi::c_void,
26308 pointerdevicerect: windows::Win32::Foundation::RECT,
26309 ) -> windows_core::HRESULT {
26310 unsafe {
26311 let this: &Identity =
26312 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26313 ICoreWebView2PointerInfo_Impl::SetPointerDeviceRect(
26314 this,
26315 core::mem::transmute(&pointerdevicerect),
26316 )
26317 .into()
26318 }
26319 }
26320 unsafe extern "system" fn DisplayRect<
26321 Identity: ICoreWebView2PointerInfo_Impl,
26322 const OFFSET: isize,
26323 >(
26324 this: *mut core::ffi::c_void,
26325 displayrect: *mut windows::Win32::Foundation::RECT,
26326 ) -> windows_core::HRESULT {
26327 unsafe {
26328 let this: &Identity =
26329 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26330 ICoreWebView2PointerInfo_Impl::DisplayRect(
26331 this,
26332 core::mem::transmute_copy(&displayrect),
26333 )
26334 .into()
26335 }
26336 }
26337 unsafe extern "system" fn SetDisplayRect<
26338 Identity: ICoreWebView2PointerInfo_Impl,
26339 const OFFSET: isize,
26340 >(
26341 this: *mut core::ffi::c_void,
26342 displayrect: windows::Win32::Foundation::RECT,
26343 ) -> windows_core::HRESULT {
26344 unsafe {
26345 let this: &Identity =
26346 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26347 ICoreWebView2PointerInfo_Impl::SetDisplayRect(
26348 this,
26349 core::mem::transmute(&displayrect),
26350 )
26351 .into()
26352 }
26353 }
26354 unsafe extern "system" fn PixelLocation<
26355 Identity: ICoreWebView2PointerInfo_Impl,
26356 const OFFSET: isize,
26357 >(
26358 this: *mut core::ffi::c_void,
26359 pixellocation: *mut windows::Win32::Foundation::POINT,
26360 ) -> windows_core::HRESULT {
26361 unsafe {
26362 let this: &Identity =
26363 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26364 ICoreWebView2PointerInfo_Impl::PixelLocation(
26365 this,
26366 core::mem::transmute_copy(&pixellocation),
26367 )
26368 .into()
26369 }
26370 }
26371 unsafe extern "system" fn SetPixelLocation<
26372 Identity: ICoreWebView2PointerInfo_Impl,
26373 const OFFSET: isize,
26374 >(
26375 this: *mut core::ffi::c_void,
26376 pixellocation: windows::Win32::Foundation::POINT,
26377 ) -> windows_core::HRESULT {
26378 unsafe {
26379 let this: &Identity =
26380 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26381 ICoreWebView2PointerInfo_Impl::SetPixelLocation(
26382 this,
26383 core::mem::transmute(&pixellocation),
26384 )
26385 .into()
26386 }
26387 }
26388 unsafe extern "system" fn HimetricLocation<
26389 Identity: ICoreWebView2PointerInfo_Impl,
26390 const OFFSET: isize,
26391 >(
26392 this: *mut core::ffi::c_void,
26393 himetriclocation: *mut windows::Win32::Foundation::POINT,
26394 ) -> windows_core::HRESULT {
26395 unsafe {
26396 let this: &Identity =
26397 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26398 ICoreWebView2PointerInfo_Impl::HimetricLocation(
26399 this,
26400 core::mem::transmute_copy(&himetriclocation),
26401 )
26402 .into()
26403 }
26404 }
26405 unsafe extern "system" fn SetHimetricLocation<
26406 Identity: ICoreWebView2PointerInfo_Impl,
26407 const OFFSET: isize,
26408 >(
26409 this: *mut core::ffi::c_void,
26410 himetriclocation: windows::Win32::Foundation::POINT,
26411 ) -> windows_core::HRESULT {
26412 unsafe {
26413 let this: &Identity =
26414 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26415 ICoreWebView2PointerInfo_Impl::SetHimetricLocation(
26416 this,
26417 core::mem::transmute(&himetriclocation),
26418 )
26419 .into()
26420 }
26421 }
26422 unsafe extern "system" fn PixelLocationRaw<
26423 Identity: ICoreWebView2PointerInfo_Impl,
26424 const OFFSET: isize,
26425 >(
26426 this: *mut core::ffi::c_void,
26427 pixellocationraw: *mut windows::Win32::Foundation::POINT,
26428 ) -> windows_core::HRESULT {
26429 unsafe {
26430 let this: &Identity =
26431 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26432 ICoreWebView2PointerInfo_Impl::PixelLocationRaw(
26433 this,
26434 core::mem::transmute_copy(&pixellocationraw),
26435 )
26436 .into()
26437 }
26438 }
26439 unsafe extern "system" fn SetPixelLocationRaw<
26440 Identity: ICoreWebView2PointerInfo_Impl,
26441 const OFFSET: isize,
26442 >(
26443 this: *mut core::ffi::c_void,
26444 pixellocationraw: windows::Win32::Foundation::POINT,
26445 ) -> windows_core::HRESULT {
26446 unsafe {
26447 let this: &Identity =
26448 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26449 ICoreWebView2PointerInfo_Impl::SetPixelLocationRaw(
26450 this,
26451 core::mem::transmute(&pixellocationraw),
26452 )
26453 .into()
26454 }
26455 }
26456 unsafe extern "system" fn HimetricLocationRaw<
26457 Identity: ICoreWebView2PointerInfo_Impl,
26458 const OFFSET: isize,
26459 >(
26460 this: *mut core::ffi::c_void,
26461 himetriclocationraw: *mut windows::Win32::Foundation::POINT,
26462 ) -> windows_core::HRESULT {
26463 unsafe {
26464 let this: &Identity =
26465 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26466 ICoreWebView2PointerInfo_Impl::HimetricLocationRaw(
26467 this,
26468 core::mem::transmute_copy(&himetriclocationraw),
26469 )
26470 .into()
26471 }
26472 }
26473 unsafe extern "system" fn SetHimetricLocationRaw<
26474 Identity: ICoreWebView2PointerInfo_Impl,
26475 const OFFSET: isize,
26476 >(
26477 this: *mut core::ffi::c_void,
26478 himetriclocationraw: windows::Win32::Foundation::POINT,
26479 ) -> windows_core::HRESULT {
26480 unsafe {
26481 let this: &Identity =
26482 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26483 ICoreWebView2PointerInfo_Impl::SetHimetricLocationRaw(
26484 this,
26485 core::mem::transmute(&himetriclocationraw),
26486 )
26487 .into()
26488 }
26489 }
26490 unsafe extern "system" fn Time<
26491 Identity: ICoreWebView2PointerInfo_Impl,
26492 const OFFSET: isize,
26493 >(
26494 this: *mut core::ffi::c_void,
26495 time: *mut u32,
26496 ) -> windows_core::HRESULT {
26497 unsafe {
26498 let this: &Identity =
26499 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26500 ICoreWebView2PointerInfo_Impl::Time(this, core::mem::transmute_copy(&time)).into()
26501 }
26502 }
26503 unsafe extern "system" fn SetTime<
26504 Identity: ICoreWebView2PointerInfo_Impl,
26505 const OFFSET: isize,
26506 >(
26507 this: *mut core::ffi::c_void,
26508 time: u32,
26509 ) -> windows_core::HRESULT {
26510 unsafe {
26511 let this: &Identity =
26512 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26513 ICoreWebView2PointerInfo_Impl::SetTime(this, core::mem::transmute_copy(&time))
26514 .into()
26515 }
26516 }
26517 unsafe extern "system" fn HistoryCount<
26518 Identity: ICoreWebView2PointerInfo_Impl,
26519 const OFFSET: isize,
26520 >(
26521 this: *mut core::ffi::c_void,
26522 historycount: *mut u32,
26523 ) -> windows_core::HRESULT {
26524 unsafe {
26525 let this: &Identity =
26526 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26527 ICoreWebView2PointerInfo_Impl::HistoryCount(
26528 this,
26529 core::mem::transmute_copy(&historycount),
26530 )
26531 .into()
26532 }
26533 }
26534 unsafe extern "system" fn SetHistoryCount<
26535 Identity: ICoreWebView2PointerInfo_Impl,
26536 const OFFSET: isize,
26537 >(
26538 this: *mut core::ffi::c_void,
26539 historycount: u32,
26540 ) -> windows_core::HRESULT {
26541 unsafe {
26542 let this: &Identity =
26543 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26544 ICoreWebView2PointerInfo_Impl::SetHistoryCount(
26545 this,
26546 core::mem::transmute_copy(&historycount),
26547 )
26548 .into()
26549 }
26550 }
26551 unsafe extern "system" fn InputData<
26552 Identity: ICoreWebView2PointerInfo_Impl,
26553 const OFFSET: isize,
26554 >(
26555 this: *mut core::ffi::c_void,
26556 inputdata: *mut i32,
26557 ) -> windows_core::HRESULT {
26558 unsafe {
26559 let this: &Identity =
26560 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26561 ICoreWebView2PointerInfo_Impl::InputData(
26562 this,
26563 core::mem::transmute_copy(&inputdata),
26564 )
26565 .into()
26566 }
26567 }
26568 unsafe extern "system" fn SetInputData<
26569 Identity: ICoreWebView2PointerInfo_Impl,
26570 const OFFSET: isize,
26571 >(
26572 this: *mut core::ffi::c_void,
26573 inputdata: i32,
26574 ) -> windows_core::HRESULT {
26575 unsafe {
26576 let this: &Identity =
26577 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26578 ICoreWebView2PointerInfo_Impl::SetInputData(
26579 this,
26580 core::mem::transmute_copy(&inputdata),
26581 )
26582 .into()
26583 }
26584 }
26585 unsafe extern "system" fn KeyStates<
26586 Identity: ICoreWebView2PointerInfo_Impl,
26587 const OFFSET: isize,
26588 >(
26589 this: *mut core::ffi::c_void,
26590 keystates: *mut u32,
26591 ) -> windows_core::HRESULT {
26592 unsafe {
26593 let this: &Identity =
26594 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26595 ICoreWebView2PointerInfo_Impl::KeyStates(
26596 this,
26597 core::mem::transmute_copy(&keystates),
26598 )
26599 .into()
26600 }
26601 }
26602 unsafe extern "system" fn SetKeyStates<
26603 Identity: ICoreWebView2PointerInfo_Impl,
26604 const OFFSET: isize,
26605 >(
26606 this: *mut core::ffi::c_void,
26607 keystates: u32,
26608 ) -> windows_core::HRESULT {
26609 unsafe {
26610 let this: &Identity =
26611 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26612 ICoreWebView2PointerInfo_Impl::SetKeyStates(
26613 this,
26614 core::mem::transmute_copy(&keystates),
26615 )
26616 .into()
26617 }
26618 }
26619 unsafe extern "system" fn PerformanceCount<
26620 Identity: ICoreWebView2PointerInfo_Impl,
26621 const OFFSET: isize,
26622 >(
26623 this: *mut core::ffi::c_void,
26624 performancecount: *mut u64,
26625 ) -> windows_core::HRESULT {
26626 unsafe {
26627 let this: &Identity =
26628 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26629 ICoreWebView2PointerInfo_Impl::PerformanceCount(
26630 this,
26631 core::mem::transmute_copy(&performancecount),
26632 )
26633 .into()
26634 }
26635 }
26636 unsafe extern "system" fn SetPerformanceCount<
26637 Identity: ICoreWebView2PointerInfo_Impl,
26638 const OFFSET: isize,
26639 >(
26640 this: *mut core::ffi::c_void,
26641 performancecount: u64,
26642 ) -> windows_core::HRESULT {
26643 unsafe {
26644 let this: &Identity =
26645 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26646 ICoreWebView2PointerInfo_Impl::SetPerformanceCount(
26647 this,
26648 core::mem::transmute_copy(&performancecount),
26649 )
26650 .into()
26651 }
26652 }
26653 unsafe extern "system" fn ButtonChangeKind<
26654 Identity: ICoreWebView2PointerInfo_Impl,
26655 const OFFSET: isize,
26656 >(
26657 this: *mut core::ffi::c_void,
26658 buttonchangekind: *mut i32,
26659 ) -> windows_core::HRESULT {
26660 unsafe {
26661 let this: &Identity =
26662 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26663 ICoreWebView2PointerInfo_Impl::ButtonChangeKind(
26664 this,
26665 core::mem::transmute_copy(&buttonchangekind),
26666 )
26667 .into()
26668 }
26669 }
26670 unsafe extern "system" fn SetButtonChangeKind<
26671 Identity: ICoreWebView2PointerInfo_Impl,
26672 const OFFSET: isize,
26673 >(
26674 this: *mut core::ffi::c_void,
26675 buttonchangekind: i32,
26676 ) -> windows_core::HRESULT {
26677 unsafe {
26678 let this: &Identity =
26679 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26680 ICoreWebView2PointerInfo_Impl::SetButtonChangeKind(
26681 this,
26682 core::mem::transmute_copy(&buttonchangekind),
26683 )
26684 .into()
26685 }
26686 }
26687 unsafe extern "system" fn PenFlags<
26688 Identity: ICoreWebView2PointerInfo_Impl,
26689 const OFFSET: isize,
26690 >(
26691 this: *mut core::ffi::c_void,
26692 penflags: *mut u32,
26693 ) -> windows_core::HRESULT {
26694 unsafe {
26695 let this: &Identity =
26696 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26697 ICoreWebView2PointerInfo_Impl::PenFlags(this, core::mem::transmute_copy(&penflags))
26698 .into()
26699 }
26700 }
26701 unsafe extern "system" fn SetPenFlags<
26702 Identity: ICoreWebView2PointerInfo_Impl,
26703 const OFFSET: isize,
26704 >(
26705 this: *mut core::ffi::c_void,
26706 penflags: u32,
26707 ) -> windows_core::HRESULT {
26708 unsafe {
26709 let this: &Identity =
26710 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26711 ICoreWebView2PointerInfo_Impl::SetPenFlags(
26712 this,
26713 core::mem::transmute_copy(&penflags),
26714 )
26715 .into()
26716 }
26717 }
26718 unsafe extern "system" fn PenMask<
26719 Identity: ICoreWebView2PointerInfo_Impl,
26720 const OFFSET: isize,
26721 >(
26722 this: *mut core::ffi::c_void,
26723 penmask: *mut u32,
26724 ) -> windows_core::HRESULT {
26725 unsafe {
26726 let this: &Identity =
26727 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26728 ICoreWebView2PointerInfo_Impl::PenMask(this, core::mem::transmute_copy(&penmask))
26729 .into()
26730 }
26731 }
26732 unsafe extern "system" fn SetPenMask<
26733 Identity: ICoreWebView2PointerInfo_Impl,
26734 const OFFSET: isize,
26735 >(
26736 this: *mut core::ffi::c_void,
26737 penmask: u32,
26738 ) -> windows_core::HRESULT {
26739 unsafe {
26740 let this: &Identity =
26741 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26742 ICoreWebView2PointerInfo_Impl::SetPenMask(this, core::mem::transmute_copy(&penmask))
26743 .into()
26744 }
26745 }
26746 unsafe extern "system" fn PenPressure<
26747 Identity: ICoreWebView2PointerInfo_Impl,
26748 const OFFSET: isize,
26749 >(
26750 this: *mut core::ffi::c_void,
26751 penpressure: *mut u32,
26752 ) -> windows_core::HRESULT {
26753 unsafe {
26754 let this: &Identity =
26755 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26756 ICoreWebView2PointerInfo_Impl::PenPressure(
26757 this,
26758 core::mem::transmute_copy(&penpressure),
26759 )
26760 .into()
26761 }
26762 }
26763 unsafe extern "system" fn SetPenPressure<
26764 Identity: ICoreWebView2PointerInfo_Impl,
26765 const OFFSET: isize,
26766 >(
26767 this: *mut core::ffi::c_void,
26768 penpressure: u32,
26769 ) -> windows_core::HRESULT {
26770 unsafe {
26771 let this: &Identity =
26772 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26773 ICoreWebView2PointerInfo_Impl::SetPenPressure(
26774 this,
26775 core::mem::transmute_copy(&penpressure),
26776 )
26777 .into()
26778 }
26779 }
26780 unsafe extern "system" fn PenRotation<
26781 Identity: ICoreWebView2PointerInfo_Impl,
26782 const OFFSET: isize,
26783 >(
26784 this: *mut core::ffi::c_void,
26785 penrotation: *mut u32,
26786 ) -> windows_core::HRESULT {
26787 unsafe {
26788 let this: &Identity =
26789 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26790 ICoreWebView2PointerInfo_Impl::PenRotation(
26791 this,
26792 core::mem::transmute_copy(&penrotation),
26793 )
26794 .into()
26795 }
26796 }
26797 unsafe extern "system" fn SetPenRotation<
26798 Identity: ICoreWebView2PointerInfo_Impl,
26799 const OFFSET: isize,
26800 >(
26801 this: *mut core::ffi::c_void,
26802 penrotation: u32,
26803 ) -> windows_core::HRESULT {
26804 unsafe {
26805 let this: &Identity =
26806 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26807 ICoreWebView2PointerInfo_Impl::SetPenRotation(
26808 this,
26809 core::mem::transmute_copy(&penrotation),
26810 )
26811 .into()
26812 }
26813 }
26814 unsafe extern "system" fn PenTiltX<
26815 Identity: ICoreWebView2PointerInfo_Impl,
26816 const OFFSET: isize,
26817 >(
26818 this: *mut core::ffi::c_void,
26819 pentiltx: *mut i32,
26820 ) -> windows_core::HRESULT {
26821 unsafe {
26822 let this: &Identity =
26823 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26824 ICoreWebView2PointerInfo_Impl::PenTiltX(this, core::mem::transmute_copy(&pentiltx))
26825 .into()
26826 }
26827 }
26828 unsafe extern "system" fn SetPenTiltX<
26829 Identity: ICoreWebView2PointerInfo_Impl,
26830 const OFFSET: isize,
26831 >(
26832 this: *mut core::ffi::c_void,
26833 pentiltx: i32,
26834 ) -> windows_core::HRESULT {
26835 unsafe {
26836 let this: &Identity =
26837 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26838 ICoreWebView2PointerInfo_Impl::SetPenTiltX(
26839 this,
26840 core::mem::transmute_copy(&pentiltx),
26841 )
26842 .into()
26843 }
26844 }
26845 unsafe extern "system" fn PenTiltY<
26846 Identity: ICoreWebView2PointerInfo_Impl,
26847 const OFFSET: isize,
26848 >(
26849 this: *mut core::ffi::c_void,
26850 pentilty: *mut i32,
26851 ) -> windows_core::HRESULT {
26852 unsafe {
26853 let this: &Identity =
26854 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26855 ICoreWebView2PointerInfo_Impl::PenTiltY(this, core::mem::transmute_copy(&pentilty))
26856 .into()
26857 }
26858 }
26859 unsafe extern "system" fn SetPenTiltY<
26860 Identity: ICoreWebView2PointerInfo_Impl,
26861 const OFFSET: isize,
26862 >(
26863 this: *mut core::ffi::c_void,
26864 pentilty: i32,
26865 ) -> windows_core::HRESULT {
26866 unsafe {
26867 let this: &Identity =
26868 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26869 ICoreWebView2PointerInfo_Impl::SetPenTiltY(
26870 this,
26871 core::mem::transmute_copy(&pentilty),
26872 )
26873 .into()
26874 }
26875 }
26876 unsafe extern "system" fn TouchFlags<
26877 Identity: ICoreWebView2PointerInfo_Impl,
26878 const OFFSET: isize,
26879 >(
26880 this: *mut core::ffi::c_void,
26881 touchflags: *mut u32,
26882 ) -> windows_core::HRESULT {
26883 unsafe {
26884 let this: &Identity =
26885 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26886 ICoreWebView2PointerInfo_Impl::TouchFlags(
26887 this,
26888 core::mem::transmute_copy(&touchflags),
26889 )
26890 .into()
26891 }
26892 }
26893 unsafe extern "system" fn SetTouchFlags<
26894 Identity: ICoreWebView2PointerInfo_Impl,
26895 const OFFSET: isize,
26896 >(
26897 this: *mut core::ffi::c_void,
26898 touchflags: u32,
26899 ) -> windows_core::HRESULT {
26900 unsafe {
26901 let this: &Identity =
26902 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26903 ICoreWebView2PointerInfo_Impl::SetTouchFlags(
26904 this,
26905 core::mem::transmute_copy(&touchflags),
26906 )
26907 .into()
26908 }
26909 }
26910 unsafe extern "system" fn TouchMask<
26911 Identity: ICoreWebView2PointerInfo_Impl,
26912 const OFFSET: isize,
26913 >(
26914 this: *mut core::ffi::c_void,
26915 touchmask: *mut u32,
26916 ) -> windows_core::HRESULT {
26917 unsafe {
26918 let this: &Identity =
26919 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26920 ICoreWebView2PointerInfo_Impl::TouchMask(
26921 this,
26922 core::mem::transmute_copy(&touchmask),
26923 )
26924 .into()
26925 }
26926 }
26927 unsafe extern "system" fn SetTouchMask<
26928 Identity: ICoreWebView2PointerInfo_Impl,
26929 const OFFSET: isize,
26930 >(
26931 this: *mut core::ffi::c_void,
26932 touchmask: u32,
26933 ) -> windows_core::HRESULT {
26934 unsafe {
26935 let this: &Identity =
26936 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26937 ICoreWebView2PointerInfo_Impl::SetTouchMask(
26938 this,
26939 core::mem::transmute_copy(&touchmask),
26940 )
26941 .into()
26942 }
26943 }
26944 unsafe extern "system" fn TouchContact<
26945 Identity: ICoreWebView2PointerInfo_Impl,
26946 const OFFSET: isize,
26947 >(
26948 this: *mut core::ffi::c_void,
26949 touchcontact: *mut windows::Win32::Foundation::RECT,
26950 ) -> windows_core::HRESULT {
26951 unsafe {
26952 let this: &Identity =
26953 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26954 ICoreWebView2PointerInfo_Impl::TouchContact(
26955 this,
26956 core::mem::transmute_copy(&touchcontact),
26957 )
26958 .into()
26959 }
26960 }
26961 unsafe extern "system" fn SetTouchContact<
26962 Identity: ICoreWebView2PointerInfo_Impl,
26963 const OFFSET: isize,
26964 >(
26965 this: *mut core::ffi::c_void,
26966 touchcontact: windows::Win32::Foundation::RECT,
26967 ) -> windows_core::HRESULT {
26968 unsafe {
26969 let this: &Identity =
26970 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26971 ICoreWebView2PointerInfo_Impl::SetTouchContact(
26972 this,
26973 core::mem::transmute(&touchcontact),
26974 )
26975 .into()
26976 }
26977 }
26978 unsafe extern "system" fn TouchContactRaw<
26979 Identity: ICoreWebView2PointerInfo_Impl,
26980 const OFFSET: isize,
26981 >(
26982 this: *mut core::ffi::c_void,
26983 touchcontactraw: *mut windows::Win32::Foundation::RECT,
26984 ) -> windows_core::HRESULT {
26985 unsafe {
26986 let this: &Identity =
26987 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26988 ICoreWebView2PointerInfo_Impl::TouchContactRaw(
26989 this,
26990 core::mem::transmute_copy(&touchcontactraw),
26991 )
26992 .into()
26993 }
26994 }
26995 unsafe extern "system" fn SetTouchContactRaw<
26996 Identity: ICoreWebView2PointerInfo_Impl,
26997 const OFFSET: isize,
26998 >(
26999 this: *mut core::ffi::c_void,
27000 touchcontactraw: windows::Win32::Foundation::RECT,
27001 ) -> windows_core::HRESULT {
27002 unsafe {
27003 let this: &Identity =
27004 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27005 ICoreWebView2PointerInfo_Impl::SetTouchContactRaw(
27006 this,
27007 core::mem::transmute(&touchcontactraw),
27008 )
27009 .into()
27010 }
27011 }
27012 unsafe extern "system" fn TouchOrientation<
27013 Identity: ICoreWebView2PointerInfo_Impl,
27014 const OFFSET: isize,
27015 >(
27016 this: *mut core::ffi::c_void,
27017 touchorientation: *mut u32,
27018 ) -> windows_core::HRESULT {
27019 unsafe {
27020 let this: &Identity =
27021 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27022 ICoreWebView2PointerInfo_Impl::TouchOrientation(
27023 this,
27024 core::mem::transmute_copy(&touchorientation),
27025 )
27026 .into()
27027 }
27028 }
27029 unsafe extern "system" fn SetTouchOrientation<
27030 Identity: ICoreWebView2PointerInfo_Impl,
27031 const OFFSET: isize,
27032 >(
27033 this: *mut core::ffi::c_void,
27034 touchorientation: u32,
27035 ) -> windows_core::HRESULT {
27036 unsafe {
27037 let this: &Identity =
27038 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27039 ICoreWebView2PointerInfo_Impl::SetTouchOrientation(
27040 this,
27041 core::mem::transmute_copy(&touchorientation),
27042 )
27043 .into()
27044 }
27045 }
27046 unsafe extern "system" fn TouchPressure<
27047 Identity: ICoreWebView2PointerInfo_Impl,
27048 const OFFSET: isize,
27049 >(
27050 this: *mut core::ffi::c_void,
27051 touchpressure: *mut u32,
27052 ) -> windows_core::HRESULT {
27053 unsafe {
27054 let this: &Identity =
27055 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27056 ICoreWebView2PointerInfo_Impl::TouchPressure(
27057 this,
27058 core::mem::transmute_copy(&touchpressure),
27059 )
27060 .into()
27061 }
27062 }
27063 unsafe extern "system" fn SetTouchPressure<
27064 Identity: ICoreWebView2PointerInfo_Impl,
27065 const OFFSET: isize,
27066 >(
27067 this: *mut core::ffi::c_void,
27068 touchpressure: u32,
27069 ) -> windows_core::HRESULT {
27070 unsafe {
27071 let this: &Identity =
27072 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27073 ICoreWebView2PointerInfo_Impl::SetTouchPressure(
27074 this,
27075 core::mem::transmute_copy(&touchpressure),
27076 )
27077 .into()
27078 }
27079 }
27080 Self {
27081 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
27082 PointerKind: PointerKind::<Identity, OFFSET>,
27083 SetPointerKind: SetPointerKind::<Identity, OFFSET>,
27084 PointerId: PointerId::<Identity, OFFSET>,
27085 SetPointerId: SetPointerId::<Identity, OFFSET>,
27086 FrameId: FrameId::<Identity, OFFSET>,
27087 SetFrameId: SetFrameId::<Identity, OFFSET>,
27088 PointerFlags: PointerFlags::<Identity, OFFSET>,
27089 SetPointerFlags: SetPointerFlags::<Identity, OFFSET>,
27090 PointerDeviceRect: PointerDeviceRect::<Identity, OFFSET>,
27091 SetPointerDeviceRect: SetPointerDeviceRect::<Identity, OFFSET>,
27092 DisplayRect: DisplayRect::<Identity, OFFSET>,
27093 SetDisplayRect: SetDisplayRect::<Identity, OFFSET>,
27094 PixelLocation: PixelLocation::<Identity, OFFSET>,
27095 SetPixelLocation: SetPixelLocation::<Identity, OFFSET>,
27096 HimetricLocation: HimetricLocation::<Identity, OFFSET>,
27097 SetHimetricLocation: SetHimetricLocation::<Identity, OFFSET>,
27098 PixelLocationRaw: PixelLocationRaw::<Identity, OFFSET>,
27099 SetPixelLocationRaw: SetPixelLocationRaw::<Identity, OFFSET>,
27100 HimetricLocationRaw: HimetricLocationRaw::<Identity, OFFSET>,
27101 SetHimetricLocationRaw: SetHimetricLocationRaw::<Identity, OFFSET>,
27102 Time: Time::<Identity, OFFSET>,
27103 SetTime: SetTime::<Identity, OFFSET>,
27104 HistoryCount: HistoryCount::<Identity, OFFSET>,
27105 SetHistoryCount: SetHistoryCount::<Identity, OFFSET>,
27106 InputData: InputData::<Identity, OFFSET>,
27107 SetInputData: SetInputData::<Identity, OFFSET>,
27108 KeyStates: KeyStates::<Identity, OFFSET>,
27109 SetKeyStates: SetKeyStates::<Identity, OFFSET>,
27110 PerformanceCount: PerformanceCount::<Identity, OFFSET>,
27111 SetPerformanceCount: SetPerformanceCount::<Identity, OFFSET>,
27112 ButtonChangeKind: ButtonChangeKind::<Identity, OFFSET>,
27113 SetButtonChangeKind: SetButtonChangeKind::<Identity, OFFSET>,
27114 PenFlags: PenFlags::<Identity, OFFSET>,
27115 SetPenFlags: SetPenFlags::<Identity, OFFSET>,
27116 PenMask: PenMask::<Identity, OFFSET>,
27117 SetPenMask: SetPenMask::<Identity, OFFSET>,
27118 PenPressure: PenPressure::<Identity, OFFSET>,
27119 SetPenPressure: SetPenPressure::<Identity, OFFSET>,
27120 PenRotation: PenRotation::<Identity, OFFSET>,
27121 SetPenRotation: SetPenRotation::<Identity, OFFSET>,
27122 PenTiltX: PenTiltX::<Identity, OFFSET>,
27123 SetPenTiltX: SetPenTiltX::<Identity, OFFSET>,
27124 PenTiltY: PenTiltY::<Identity, OFFSET>,
27125 SetPenTiltY: SetPenTiltY::<Identity, OFFSET>,
27126 TouchFlags: TouchFlags::<Identity, OFFSET>,
27127 SetTouchFlags: SetTouchFlags::<Identity, OFFSET>,
27128 TouchMask: TouchMask::<Identity, OFFSET>,
27129 SetTouchMask: SetTouchMask::<Identity, OFFSET>,
27130 TouchContact: TouchContact::<Identity, OFFSET>,
27131 SetTouchContact: SetTouchContact::<Identity, OFFSET>,
27132 TouchContactRaw: TouchContactRaw::<Identity, OFFSET>,
27133 SetTouchContactRaw: SetTouchContactRaw::<Identity, OFFSET>,
27134 TouchOrientation: TouchOrientation::<Identity, OFFSET>,
27135 SetTouchOrientation: SetTouchOrientation::<Identity, OFFSET>,
27136 TouchPressure: TouchPressure::<Identity, OFFSET>,
27137 SetTouchPressure: SetTouchPressure::<Identity, OFFSET>,
27138 }
27139 }
27140 pub fn matches(iid: &windows_core::GUID) -> bool {
27141 iid == &<ICoreWebView2PointerInfo as windows_core::Interface>::IID
27142 }
27143}
27144impl windows_core::RuntimeName for ICoreWebView2PointerInfo {}
27145windows_core::imp::define_interface!(
27146 ICoreWebView2PrintCompletedHandler,
27147 ICoreWebView2PrintCompletedHandler_Vtbl,
27148 0x8fd80075_ed08_42db_8570_f5d14977461e
27149);
27150windows_core::imp::interface_hierarchy!(ICoreWebView2PrintCompletedHandler, windows_core::IUnknown);
27151impl ICoreWebView2PrintCompletedHandler {
27152 pub unsafe fn Invoke(
27153 &self,
27154 errorcode: windows_core::HRESULT,
27155 result: COREWEBVIEW2_PRINT_STATUS,
27156 ) -> windows_core::Result<()> {
27157 unsafe {
27158 (windows_core::Interface::vtable(self).Invoke)(
27159 windows_core::Interface::as_raw(self),
27160 errorcode,
27161 result,
27162 )
27163 .ok()
27164 }
27165 }
27166}
27167#[repr(C)]
27168#[doc(hidden)]
27169pub struct ICoreWebView2PrintCompletedHandler_Vtbl {
27170 pub base__: windows_core::IUnknown_Vtbl,
27171 pub Invoke: unsafe extern "system" fn(
27172 *mut core::ffi::c_void,
27173 windows_core::HRESULT,
27174 COREWEBVIEW2_PRINT_STATUS,
27175 ) -> windows_core::HRESULT,
27176}
27177pub trait ICoreWebView2PrintCompletedHandler_Impl: windows_core::IUnknownImpl {
27178 fn Invoke(
27179 &self,
27180 errorcode: windows_core::HRESULT,
27181 result: COREWEBVIEW2_PRINT_STATUS,
27182 ) -> windows_core::Result<()>;
27183}
27184impl ICoreWebView2PrintCompletedHandler_Vtbl {
27185 pub const fn new<Identity: ICoreWebView2PrintCompletedHandler_Impl, const OFFSET: isize>(
27186 ) -> Self {
27187 unsafe extern "system" fn Invoke<
27188 Identity: ICoreWebView2PrintCompletedHandler_Impl,
27189 const OFFSET: isize,
27190 >(
27191 this: *mut core::ffi::c_void,
27192 errorcode: windows_core::HRESULT,
27193 result: COREWEBVIEW2_PRINT_STATUS,
27194 ) -> windows_core::HRESULT {
27195 unsafe {
27196 let this: &Identity =
27197 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27198 ICoreWebView2PrintCompletedHandler_Impl::Invoke(
27199 this,
27200 core::mem::transmute_copy(&errorcode),
27201 core::mem::transmute_copy(&result),
27202 )
27203 .into()
27204 }
27205 }
27206 Self {
27207 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
27208 Invoke: Invoke::<Identity, OFFSET>,
27209 }
27210 }
27211 pub fn matches(iid: &windows_core::GUID) -> bool {
27212 iid == &<ICoreWebView2PrintCompletedHandler as windows_core::Interface>::IID
27213 }
27214}
27215impl windows_core::RuntimeName for ICoreWebView2PrintCompletedHandler {}
27216windows_core::imp::define_interface!(
27217 ICoreWebView2PrintSettings,
27218 ICoreWebView2PrintSettings_Vtbl,
27219 0x377f3721_c74e_48ca_8db1_df68e51d60e2
27220);
27221windows_core::imp::interface_hierarchy!(ICoreWebView2PrintSettings, windows_core::IUnknown);
27222impl ICoreWebView2PrintSettings {
27223 pub unsafe fn Orientation(
27224 &self,
27225 orientation: *mut COREWEBVIEW2_PRINT_ORIENTATION,
27226 ) -> windows_core::Result<()> {
27227 unsafe {
27228 (windows_core::Interface::vtable(self).Orientation)(
27229 windows_core::Interface::as_raw(self),
27230 orientation as _,
27231 )
27232 .ok()
27233 }
27234 }
27235 pub unsafe fn SetOrientation(
27236 &self,
27237 orientation: COREWEBVIEW2_PRINT_ORIENTATION,
27238 ) -> windows_core::Result<()> {
27239 unsafe {
27240 (windows_core::Interface::vtable(self).SetOrientation)(
27241 windows_core::Interface::as_raw(self),
27242 orientation,
27243 )
27244 .ok()
27245 }
27246 }
27247 pub unsafe fn ScaleFactor(&self, scalefactor: *mut f64) -> windows_core::Result<()> {
27248 unsafe {
27249 (windows_core::Interface::vtable(self).ScaleFactor)(
27250 windows_core::Interface::as_raw(self),
27251 scalefactor as _,
27252 )
27253 .ok()
27254 }
27255 }
27256 pub unsafe fn SetScaleFactor(&self, scalefactor: f64) -> windows_core::Result<()> {
27257 unsafe {
27258 (windows_core::Interface::vtable(self).SetScaleFactor)(
27259 windows_core::Interface::as_raw(self),
27260 scalefactor,
27261 )
27262 .ok()
27263 }
27264 }
27265 pub unsafe fn PageWidth(&self, pagewidth: *mut f64) -> windows_core::Result<()> {
27266 unsafe {
27267 (windows_core::Interface::vtable(self).PageWidth)(
27268 windows_core::Interface::as_raw(self),
27269 pagewidth as _,
27270 )
27271 .ok()
27272 }
27273 }
27274 pub unsafe fn SetPageWidth(&self, pagewidth: f64) -> windows_core::Result<()> {
27275 unsafe {
27276 (windows_core::Interface::vtable(self).SetPageWidth)(
27277 windows_core::Interface::as_raw(self),
27278 pagewidth,
27279 )
27280 .ok()
27281 }
27282 }
27283 pub unsafe fn PageHeight(&self, pageheight: *mut f64) -> windows_core::Result<()> {
27284 unsafe {
27285 (windows_core::Interface::vtable(self).PageHeight)(
27286 windows_core::Interface::as_raw(self),
27287 pageheight as _,
27288 )
27289 .ok()
27290 }
27291 }
27292 pub unsafe fn SetPageHeight(&self, pageheight: f64) -> windows_core::Result<()> {
27293 unsafe {
27294 (windows_core::Interface::vtable(self).SetPageHeight)(
27295 windows_core::Interface::as_raw(self),
27296 pageheight,
27297 )
27298 .ok()
27299 }
27300 }
27301 pub unsafe fn MarginTop(&self, margintop: *mut f64) -> windows_core::Result<()> {
27302 unsafe {
27303 (windows_core::Interface::vtable(self).MarginTop)(
27304 windows_core::Interface::as_raw(self),
27305 margintop as _,
27306 )
27307 .ok()
27308 }
27309 }
27310 pub unsafe fn SetMarginTop(&self, margintop: f64) -> windows_core::Result<()> {
27311 unsafe {
27312 (windows_core::Interface::vtable(self).SetMarginTop)(
27313 windows_core::Interface::as_raw(self),
27314 margintop,
27315 )
27316 .ok()
27317 }
27318 }
27319 pub unsafe fn MarginBottom(&self, marginbottom: *mut f64) -> windows_core::Result<()> {
27320 unsafe {
27321 (windows_core::Interface::vtable(self).MarginBottom)(
27322 windows_core::Interface::as_raw(self),
27323 marginbottom as _,
27324 )
27325 .ok()
27326 }
27327 }
27328 pub unsafe fn SetMarginBottom(&self, marginbottom: f64) -> windows_core::Result<()> {
27329 unsafe {
27330 (windows_core::Interface::vtable(self).SetMarginBottom)(
27331 windows_core::Interface::as_raw(self),
27332 marginbottom,
27333 )
27334 .ok()
27335 }
27336 }
27337 pub unsafe fn MarginLeft(&self, marginleft: *mut f64) -> windows_core::Result<()> {
27338 unsafe {
27339 (windows_core::Interface::vtable(self).MarginLeft)(
27340 windows_core::Interface::as_raw(self),
27341 marginleft as _,
27342 )
27343 .ok()
27344 }
27345 }
27346 pub unsafe fn SetMarginLeft(&self, marginleft: f64) -> windows_core::Result<()> {
27347 unsafe {
27348 (windows_core::Interface::vtable(self).SetMarginLeft)(
27349 windows_core::Interface::as_raw(self),
27350 marginleft,
27351 )
27352 .ok()
27353 }
27354 }
27355 pub unsafe fn MarginRight(&self, marginright: *mut f64) -> windows_core::Result<()> {
27356 unsafe {
27357 (windows_core::Interface::vtable(self).MarginRight)(
27358 windows_core::Interface::as_raw(self),
27359 marginright as _,
27360 )
27361 .ok()
27362 }
27363 }
27364 pub unsafe fn SetMarginRight(&self, marginright: f64) -> windows_core::Result<()> {
27365 unsafe {
27366 (windows_core::Interface::vtable(self).SetMarginRight)(
27367 windows_core::Interface::as_raw(self),
27368 marginright,
27369 )
27370 .ok()
27371 }
27372 }
27373 pub unsafe fn ShouldPrintBackgrounds(
27374 &self,
27375 shouldprintbackgrounds: *mut windows_core::BOOL,
27376 ) -> windows_core::Result<()> {
27377 unsafe {
27378 (windows_core::Interface::vtable(self).ShouldPrintBackgrounds)(
27379 windows_core::Interface::as_raw(self),
27380 shouldprintbackgrounds as _,
27381 )
27382 .ok()
27383 }
27384 }
27385 pub unsafe fn SetShouldPrintBackgrounds(
27386 &self,
27387 shouldprintbackgrounds: bool,
27388 ) -> windows_core::Result<()> {
27389 unsafe {
27390 (windows_core::Interface::vtable(self).SetShouldPrintBackgrounds)(
27391 windows_core::Interface::as_raw(self),
27392 shouldprintbackgrounds.into(),
27393 )
27394 .ok()
27395 }
27396 }
27397 pub unsafe fn ShouldPrintSelectionOnly(
27398 &self,
27399 shouldprintselectiononly: *mut windows_core::BOOL,
27400 ) -> windows_core::Result<()> {
27401 unsafe {
27402 (windows_core::Interface::vtable(self).ShouldPrintSelectionOnly)(
27403 windows_core::Interface::as_raw(self),
27404 shouldprintselectiononly as _,
27405 )
27406 .ok()
27407 }
27408 }
27409 pub unsafe fn SetShouldPrintSelectionOnly(
27410 &self,
27411 shouldprintselectiononly: bool,
27412 ) -> windows_core::Result<()> {
27413 unsafe {
27414 (windows_core::Interface::vtable(self).SetShouldPrintSelectionOnly)(
27415 windows_core::Interface::as_raw(self),
27416 shouldprintselectiononly.into(),
27417 )
27418 .ok()
27419 }
27420 }
27421 pub unsafe fn ShouldPrintHeaderAndFooter(
27422 &self,
27423 shouldprintheaderandfooter: *mut windows_core::BOOL,
27424 ) -> windows_core::Result<()> {
27425 unsafe {
27426 (windows_core::Interface::vtable(self).ShouldPrintHeaderAndFooter)(
27427 windows_core::Interface::as_raw(self),
27428 shouldprintheaderandfooter as _,
27429 )
27430 .ok()
27431 }
27432 }
27433 pub unsafe fn SetShouldPrintHeaderAndFooter(
27434 &self,
27435 shouldprintheaderandfooter: bool,
27436 ) -> windows_core::Result<()> {
27437 unsafe {
27438 (windows_core::Interface::vtable(self).SetShouldPrintHeaderAndFooter)(
27439 windows_core::Interface::as_raw(self),
27440 shouldprintheaderandfooter.into(),
27441 )
27442 .ok()
27443 }
27444 }
27445 pub unsafe fn HeaderTitle(
27446 &self,
27447 headertitle: *mut windows_core::PWSTR,
27448 ) -> windows_core::Result<()> {
27449 unsafe {
27450 (windows_core::Interface::vtable(self).HeaderTitle)(
27451 windows_core::Interface::as_raw(self),
27452 headertitle as _,
27453 )
27454 .ok()
27455 }
27456 }
27457 pub unsafe fn SetHeaderTitle<P0>(&self, headertitle: P0) -> windows_core::Result<()>
27458 where
27459 P0: windows_core::Param<windows_core::PCWSTR>,
27460 {
27461 unsafe {
27462 (windows_core::Interface::vtable(self).SetHeaderTitle)(
27463 windows_core::Interface::as_raw(self),
27464 headertitle.param().abi(),
27465 )
27466 .ok()
27467 }
27468 }
27469 pub unsafe fn FooterUri(
27470 &self,
27471 footeruri: *mut windows_core::PWSTR,
27472 ) -> windows_core::Result<()> {
27473 unsafe {
27474 (windows_core::Interface::vtable(self).FooterUri)(
27475 windows_core::Interface::as_raw(self),
27476 footeruri as _,
27477 )
27478 .ok()
27479 }
27480 }
27481 pub unsafe fn SetFooterUri<P0>(&self, footeruri: P0) -> windows_core::Result<()>
27482 where
27483 P0: windows_core::Param<windows_core::PCWSTR>,
27484 {
27485 unsafe {
27486 (windows_core::Interface::vtable(self).SetFooterUri)(
27487 windows_core::Interface::as_raw(self),
27488 footeruri.param().abi(),
27489 )
27490 .ok()
27491 }
27492 }
27493}
27494#[repr(C)]
27495#[doc(hidden)]
27496pub struct ICoreWebView2PrintSettings_Vtbl {
27497 pub base__: windows_core::IUnknown_Vtbl,
27498 pub Orientation: unsafe extern "system" fn(
27499 *mut core::ffi::c_void,
27500 *mut COREWEBVIEW2_PRINT_ORIENTATION,
27501 ) -> windows_core::HRESULT,
27502 pub SetOrientation: unsafe extern "system" fn(
27503 *mut core::ffi::c_void,
27504 COREWEBVIEW2_PRINT_ORIENTATION,
27505 ) -> windows_core::HRESULT,
27506 pub ScaleFactor:
27507 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27508 pub SetScaleFactor:
27509 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27510 pub PageWidth:
27511 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27512 pub SetPageWidth:
27513 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27514 pub PageHeight:
27515 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27516 pub SetPageHeight:
27517 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27518 pub MarginTop:
27519 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27520 pub SetMarginTop:
27521 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27522 pub MarginBottom:
27523 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27524 pub SetMarginBottom:
27525 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27526 pub MarginLeft:
27527 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27528 pub SetMarginLeft:
27529 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27530 pub MarginRight:
27531 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
27532 pub SetMarginRight:
27533 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
27534 pub ShouldPrintBackgrounds: unsafe extern "system" fn(
27535 *mut core::ffi::c_void,
27536 *mut windows_core::BOOL,
27537 ) -> windows_core::HRESULT,
27538 pub SetShouldPrintBackgrounds: unsafe extern "system" fn(
27539 *mut core::ffi::c_void,
27540 windows_core::BOOL,
27541 ) -> windows_core::HRESULT,
27542 pub ShouldPrintSelectionOnly: unsafe extern "system" fn(
27543 *mut core::ffi::c_void,
27544 *mut windows_core::BOOL,
27545 ) -> windows_core::HRESULT,
27546 pub SetShouldPrintSelectionOnly: unsafe extern "system" fn(
27547 *mut core::ffi::c_void,
27548 windows_core::BOOL,
27549 ) -> windows_core::HRESULT,
27550 pub ShouldPrintHeaderAndFooter: unsafe extern "system" fn(
27551 *mut core::ffi::c_void,
27552 *mut windows_core::BOOL,
27553 ) -> windows_core::HRESULT,
27554 pub SetShouldPrintHeaderAndFooter: unsafe extern "system" fn(
27555 *mut core::ffi::c_void,
27556 windows_core::BOOL,
27557 ) -> windows_core::HRESULT,
27558 pub HeaderTitle: unsafe extern "system" fn(
27559 *mut core::ffi::c_void,
27560 *mut windows_core::PWSTR,
27561 ) -> windows_core::HRESULT,
27562 pub SetHeaderTitle: unsafe extern "system" fn(
27563 *mut core::ffi::c_void,
27564 windows_core::PCWSTR,
27565 ) -> windows_core::HRESULT,
27566 pub FooterUri: unsafe extern "system" fn(
27567 *mut core::ffi::c_void,
27568 *mut windows_core::PWSTR,
27569 ) -> windows_core::HRESULT,
27570 pub SetFooterUri: unsafe extern "system" fn(
27571 *mut core::ffi::c_void,
27572 windows_core::PCWSTR,
27573 ) -> windows_core::HRESULT,
27574}
27575pub trait ICoreWebView2PrintSettings_Impl: windows_core::IUnknownImpl {
27576 fn Orientation(
27577 &self,
27578 orientation: *mut COREWEBVIEW2_PRINT_ORIENTATION,
27579 ) -> windows_core::Result<()>;
27580 fn SetOrientation(
27581 &self,
27582 orientation: COREWEBVIEW2_PRINT_ORIENTATION,
27583 ) -> windows_core::Result<()>;
27584 fn ScaleFactor(&self, scalefactor: *mut f64) -> windows_core::Result<()>;
27585 fn SetScaleFactor(&self, scalefactor: f64) -> windows_core::Result<()>;
27586 fn PageWidth(&self, pagewidth: *mut f64) -> windows_core::Result<()>;
27587 fn SetPageWidth(&self, pagewidth: f64) -> windows_core::Result<()>;
27588 fn PageHeight(&self, pageheight: *mut f64) -> windows_core::Result<()>;
27589 fn SetPageHeight(&self, pageheight: f64) -> windows_core::Result<()>;
27590 fn MarginTop(&self, margintop: *mut f64) -> windows_core::Result<()>;
27591 fn SetMarginTop(&self, margintop: f64) -> windows_core::Result<()>;
27592 fn MarginBottom(&self, marginbottom: *mut f64) -> windows_core::Result<()>;
27593 fn SetMarginBottom(&self, marginbottom: f64) -> windows_core::Result<()>;
27594 fn MarginLeft(&self, marginleft: *mut f64) -> windows_core::Result<()>;
27595 fn SetMarginLeft(&self, marginleft: f64) -> windows_core::Result<()>;
27596 fn MarginRight(&self, marginright: *mut f64) -> windows_core::Result<()>;
27597 fn SetMarginRight(&self, marginright: f64) -> windows_core::Result<()>;
27598 fn ShouldPrintBackgrounds(
27599 &self,
27600 shouldprintbackgrounds: *mut windows_core::BOOL,
27601 ) -> windows_core::Result<()>;
27602 fn SetShouldPrintBackgrounds(
27603 &self,
27604 shouldprintbackgrounds: windows_core::BOOL,
27605 ) -> windows_core::Result<()>;
27606 fn ShouldPrintSelectionOnly(
27607 &self,
27608 shouldprintselectiononly: *mut windows_core::BOOL,
27609 ) -> windows_core::Result<()>;
27610 fn SetShouldPrintSelectionOnly(
27611 &self,
27612 shouldprintselectiononly: windows_core::BOOL,
27613 ) -> windows_core::Result<()>;
27614 fn ShouldPrintHeaderAndFooter(
27615 &self,
27616 shouldprintheaderandfooter: *mut windows_core::BOOL,
27617 ) -> windows_core::Result<()>;
27618 fn SetShouldPrintHeaderAndFooter(
27619 &self,
27620 shouldprintheaderandfooter: windows_core::BOOL,
27621 ) -> windows_core::Result<()>;
27622 fn HeaderTitle(&self, headertitle: *mut windows_core::PWSTR) -> windows_core::Result<()>;
27623 fn SetHeaderTitle(&self, headertitle: &windows_core::PCWSTR) -> windows_core::Result<()>;
27624 fn FooterUri(&self, footeruri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
27625 fn SetFooterUri(&self, footeruri: &windows_core::PCWSTR) -> windows_core::Result<()>;
27626}
27627impl ICoreWebView2PrintSettings_Vtbl {
27628 pub const fn new<Identity: ICoreWebView2PrintSettings_Impl, const OFFSET: isize>() -> Self {
27629 unsafe extern "system" fn Orientation<
27630 Identity: ICoreWebView2PrintSettings_Impl,
27631 const OFFSET: isize,
27632 >(
27633 this: *mut core::ffi::c_void,
27634 orientation: *mut COREWEBVIEW2_PRINT_ORIENTATION,
27635 ) -> windows_core::HRESULT {
27636 unsafe {
27637 let this: &Identity =
27638 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27639 ICoreWebView2PrintSettings_Impl::Orientation(
27640 this,
27641 core::mem::transmute_copy(&orientation),
27642 )
27643 .into()
27644 }
27645 }
27646 unsafe extern "system" fn SetOrientation<
27647 Identity: ICoreWebView2PrintSettings_Impl,
27648 const OFFSET: isize,
27649 >(
27650 this: *mut core::ffi::c_void,
27651 orientation: COREWEBVIEW2_PRINT_ORIENTATION,
27652 ) -> windows_core::HRESULT {
27653 unsafe {
27654 let this: &Identity =
27655 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27656 ICoreWebView2PrintSettings_Impl::SetOrientation(
27657 this,
27658 core::mem::transmute_copy(&orientation),
27659 )
27660 .into()
27661 }
27662 }
27663 unsafe extern "system" fn ScaleFactor<
27664 Identity: ICoreWebView2PrintSettings_Impl,
27665 const OFFSET: isize,
27666 >(
27667 this: *mut core::ffi::c_void,
27668 scalefactor: *mut f64,
27669 ) -> windows_core::HRESULT {
27670 unsafe {
27671 let this: &Identity =
27672 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27673 ICoreWebView2PrintSettings_Impl::ScaleFactor(
27674 this,
27675 core::mem::transmute_copy(&scalefactor),
27676 )
27677 .into()
27678 }
27679 }
27680 unsafe extern "system" fn SetScaleFactor<
27681 Identity: ICoreWebView2PrintSettings_Impl,
27682 const OFFSET: isize,
27683 >(
27684 this: *mut core::ffi::c_void,
27685 scalefactor: f64,
27686 ) -> windows_core::HRESULT {
27687 unsafe {
27688 let this: &Identity =
27689 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27690 ICoreWebView2PrintSettings_Impl::SetScaleFactor(
27691 this,
27692 core::mem::transmute_copy(&scalefactor),
27693 )
27694 .into()
27695 }
27696 }
27697 unsafe extern "system" fn PageWidth<
27698 Identity: ICoreWebView2PrintSettings_Impl,
27699 const OFFSET: isize,
27700 >(
27701 this: *mut core::ffi::c_void,
27702 pagewidth: *mut f64,
27703 ) -> windows_core::HRESULT {
27704 unsafe {
27705 let this: &Identity =
27706 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27707 ICoreWebView2PrintSettings_Impl::PageWidth(
27708 this,
27709 core::mem::transmute_copy(&pagewidth),
27710 )
27711 .into()
27712 }
27713 }
27714 unsafe extern "system" fn SetPageWidth<
27715 Identity: ICoreWebView2PrintSettings_Impl,
27716 const OFFSET: isize,
27717 >(
27718 this: *mut core::ffi::c_void,
27719 pagewidth: f64,
27720 ) -> windows_core::HRESULT {
27721 unsafe {
27722 let this: &Identity =
27723 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27724 ICoreWebView2PrintSettings_Impl::SetPageWidth(
27725 this,
27726 core::mem::transmute_copy(&pagewidth),
27727 )
27728 .into()
27729 }
27730 }
27731 unsafe extern "system" fn PageHeight<
27732 Identity: ICoreWebView2PrintSettings_Impl,
27733 const OFFSET: isize,
27734 >(
27735 this: *mut core::ffi::c_void,
27736 pageheight: *mut f64,
27737 ) -> windows_core::HRESULT {
27738 unsafe {
27739 let this: &Identity =
27740 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27741 ICoreWebView2PrintSettings_Impl::PageHeight(
27742 this,
27743 core::mem::transmute_copy(&pageheight),
27744 )
27745 .into()
27746 }
27747 }
27748 unsafe extern "system" fn SetPageHeight<
27749 Identity: ICoreWebView2PrintSettings_Impl,
27750 const OFFSET: isize,
27751 >(
27752 this: *mut core::ffi::c_void,
27753 pageheight: f64,
27754 ) -> windows_core::HRESULT {
27755 unsafe {
27756 let this: &Identity =
27757 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27758 ICoreWebView2PrintSettings_Impl::SetPageHeight(
27759 this,
27760 core::mem::transmute_copy(&pageheight),
27761 )
27762 .into()
27763 }
27764 }
27765 unsafe extern "system" fn MarginTop<
27766 Identity: ICoreWebView2PrintSettings_Impl,
27767 const OFFSET: isize,
27768 >(
27769 this: *mut core::ffi::c_void,
27770 margintop: *mut f64,
27771 ) -> windows_core::HRESULT {
27772 unsafe {
27773 let this: &Identity =
27774 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27775 ICoreWebView2PrintSettings_Impl::MarginTop(
27776 this,
27777 core::mem::transmute_copy(&margintop),
27778 )
27779 .into()
27780 }
27781 }
27782 unsafe extern "system" fn SetMarginTop<
27783 Identity: ICoreWebView2PrintSettings_Impl,
27784 const OFFSET: isize,
27785 >(
27786 this: *mut core::ffi::c_void,
27787 margintop: f64,
27788 ) -> windows_core::HRESULT {
27789 unsafe {
27790 let this: &Identity =
27791 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27792 ICoreWebView2PrintSettings_Impl::SetMarginTop(
27793 this,
27794 core::mem::transmute_copy(&margintop),
27795 )
27796 .into()
27797 }
27798 }
27799 unsafe extern "system" fn MarginBottom<
27800 Identity: ICoreWebView2PrintSettings_Impl,
27801 const OFFSET: isize,
27802 >(
27803 this: *mut core::ffi::c_void,
27804 marginbottom: *mut f64,
27805 ) -> windows_core::HRESULT {
27806 unsafe {
27807 let this: &Identity =
27808 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27809 ICoreWebView2PrintSettings_Impl::MarginBottom(
27810 this,
27811 core::mem::transmute_copy(&marginbottom),
27812 )
27813 .into()
27814 }
27815 }
27816 unsafe extern "system" fn SetMarginBottom<
27817 Identity: ICoreWebView2PrintSettings_Impl,
27818 const OFFSET: isize,
27819 >(
27820 this: *mut core::ffi::c_void,
27821 marginbottom: f64,
27822 ) -> windows_core::HRESULT {
27823 unsafe {
27824 let this: &Identity =
27825 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27826 ICoreWebView2PrintSettings_Impl::SetMarginBottom(
27827 this,
27828 core::mem::transmute_copy(&marginbottom),
27829 )
27830 .into()
27831 }
27832 }
27833 unsafe extern "system" fn MarginLeft<
27834 Identity: ICoreWebView2PrintSettings_Impl,
27835 const OFFSET: isize,
27836 >(
27837 this: *mut core::ffi::c_void,
27838 marginleft: *mut f64,
27839 ) -> windows_core::HRESULT {
27840 unsafe {
27841 let this: &Identity =
27842 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27843 ICoreWebView2PrintSettings_Impl::MarginLeft(
27844 this,
27845 core::mem::transmute_copy(&marginleft),
27846 )
27847 .into()
27848 }
27849 }
27850 unsafe extern "system" fn SetMarginLeft<
27851 Identity: ICoreWebView2PrintSettings_Impl,
27852 const OFFSET: isize,
27853 >(
27854 this: *mut core::ffi::c_void,
27855 marginleft: f64,
27856 ) -> windows_core::HRESULT {
27857 unsafe {
27858 let this: &Identity =
27859 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27860 ICoreWebView2PrintSettings_Impl::SetMarginLeft(
27861 this,
27862 core::mem::transmute_copy(&marginleft),
27863 )
27864 .into()
27865 }
27866 }
27867 unsafe extern "system" fn MarginRight<
27868 Identity: ICoreWebView2PrintSettings_Impl,
27869 const OFFSET: isize,
27870 >(
27871 this: *mut core::ffi::c_void,
27872 marginright: *mut f64,
27873 ) -> windows_core::HRESULT {
27874 unsafe {
27875 let this: &Identity =
27876 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27877 ICoreWebView2PrintSettings_Impl::MarginRight(
27878 this,
27879 core::mem::transmute_copy(&marginright),
27880 )
27881 .into()
27882 }
27883 }
27884 unsafe extern "system" fn SetMarginRight<
27885 Identity: ICoreWebView2PrintSettings_Impl,
27886 const OFFSET: isize,
27887 >(
27888 this: *mut core::ffi::c_void,
27889 marginright: f64,
27890 ) -> windows_core::HRESULT {
27891 unsafe {
27892 let this: &Identity =
27893 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27894 ICoreWebView2PrintSettings_Impl::SetMarginRight(
27895 this,
27896 core::mem::transmute_copy(&marginright),
27897 )
27898 .into()
27899 }
27900 }
27901 unsafe extern "system" fn ShouldPrintBackgrounds<
27902 Identity: ICoreWebView2PrintSettings_Impl,
27903 const OFFSET: isize,
27904 >(
27905 this: *mut core::ffi::c_void,
27906 shouldprintbackgrounds: *mut windows_core::BOOL,
27907 ) -> windows_core::HRESULT {
27908 unsafe {
27909 let this: &Identity =
27910 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27911 ICoreWebView2PrintSettings_Impl::ShouldPrintBackgrounds(
27912 this,
27913 core::mem::transmute_copy(&shouldprintbackgrounds),
27914 )
27915 .into()
27916 }
27917 }
27918 unsafe extern "system" fn SetShouldPrintBackgrounds<
27919 Identity: ICoreWebView2PrintSettings_Impl,
27920 const OFFSET: isize,
27921 >(
27922 this: *mut core::ffi::c_void,
27923 shouldprintbackgrounds: windows_core::BOOL,
27924 ) -> windows_core::HRESULT {
27925 unsafe {
27926 let this: &Identity =
27927 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27928 ICoreWebView2PrintSettings_Impl::SetShouldPrintBackgrounds(
27929 this,
27930 core::mem::transmute_copy(&shouldprintbackgrounds),
27931 )
27932 .into()
27933 }
27934 }
27935 unsafe extern "system" fn ShouldPrintSelectionOnly<
27936 Identity: ICoreWebView2PrintSettings_Impl,
27937 const OFFSET: isize,
27938 >(
27939 this: *mut core::ffi::c_void,
27940 shouldprintselectiononly: *mut windows_core::BOOL,
27941 ) -> windows_core::HRESULT {
27942 unsafe {
27943 let this: &Identity =
27944 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27945 ICoreWebView2PrintSettings_Impl::ShouldPrintSelectionOnly(
27946 this,
27947 core::mem::transmute_copy(&shouldprintselectiononly),
27948 )
27949 .into()
27950 }
27951 }
27952 unsafe extern "system" fn SetShouldPrintSelectionOnly<
27953 Identity: ICoreWebView2PrintSettings_Impl,
27954 const OFFSET: isize,
27955 >(
27956 this: *mut core::ffi::c_void,
27957 shouldprintselectiononly: windows_core::BOOL,
27958 ) -> windows_core::HRESULT {
27959 unsafe {
27960 let this: &Identity =
27961 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27962 ICoreWebView2PrintSettings_Impl::SetShouldPrintSelectionOnly(
27963 this,
27964 core::mem::transmute_copy(&shouldprintselectiononly),
27965 )
27966 .into()
27967 }
27968 }
27969 unsafe extern "system" fn ShouldPrintHeaderAndFooter<
27970 Identity: ICoreWebView2PrintSettings_Impl,
27971 const OFFSET: isize,
27972 >(
27973 this: *mut core::ffi::c_void,
27974 shouldprintheaderandfooter: *mut windows_core::BOOL,
27975 ) -> windows_core::HRESULT {
27976 unsafe {
27977 let this: &Identity =
27978 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27979 ICoreWebView2PrintSettings_Impl::ShouldPrintHeaderAndFooter(
27980 this,
27981 core::mem::transmute_copy(&shouldprintheaderandfooter),
27982 )
27983 .into()
27984 }
27985 }
27986 unsafe extern "system" fn SetShouldPrintHeaderAndFooter<
27987 Identity: ICoreWebView2PrintSettings_Impl,
27988 const OFFSET: isize,
27989 >(
27990 this: *mut core::ffi::c_void,
27991 shouldprintheaderandfooter: windows_core::BOOL,
27992 ) -> windows_core::HRESULT {
27993 unsafe {
27994 let this: &Identity =
27995 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
27996 ICoreWebView2PrintSettings_Impl::SetShouldPrintHeaderAndFooter(
27997 this,
27998 core::mem::transmute_copy(&shouldprintheaderandfooter),
27999 )
28000 .into()
28001 }
28002 }
28003 unsafe extern "system" fn HeaderTitle<
28004 Identity: ICoreWebView2PrintSettings_Impl,
28005 const OFFSET: isize,
28006 >(
28007 this: *mut core::ffi::c_void,
28008 headertitle: *mut windows_core::PWSTR,
28009 ) -> windows_core::HRESULT {
28010 unsafe {
28011 let this: &Identity =
28012 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28013 ICoreWebView2PrintSettings_Impl::HeaderTitle(
28014 this,
28015 core::mem::transmute_copy(&headertitle),
28016 )
28017 .into()
28018 }
28019 }
28020 unsafe extern "system" fn SetHeaderTitle<
28021 Identity: ICoreWebView2PrintSettings_Impl,
28022 const OFFSET: isize,
28023 >(
28024 this: *mut core::ffi::c_void,
28025 headertitle: windows_core::PCWSTR,
28026 ) -> windows_core::HRESULT {
28027 unsafe {
28028 let this: &Identity =
28029 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28030 ICoreWebView2PrintSettings_Impl::SetHeaderTitle(
28031 this,
28032 core::mem::transmute(&headertitle),
28033 )
28034 .into()
28035 }
28036 }
28037 unsafe extern "system" fn FooterUri<
28038 Identity: ICoreWebView2PrintSettings_Impl,
28039 const OFFSET: isize,
28040 >(
28041 this: *mut core::ffi::c_void,
28042 footeruri: *mut windows_core::PWSTR,
28043 ) -> windows_core::HRESULT {
28044 unsafe {
28045 let this: &Identity =
28046 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28047 ICoreWebView2PrintSettings_Impl::FooterUri(
28048 this,
28049 core::mem::transmute_copy(&footeruri),
28050 )
28051 .into()
28052 }
28053 }
28054 unsafe extern "system" fn SetFooterUri<
28055 Identity: ICoreWebView2PrintSettings_Impl,
28056 const OFFSET: isize,
28057 >(
28058 this: *mut core::ffi::c_void,
28059 footeruri: windows_core::PCWSTR,
28060 ) -> windows_core::HRESULT {
28061 unsafe {
28062 let this: &Identity =
28063 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28064 ICoreWebView2PrintSettings_Impl::SetFooterUri(
28065 this,
28066 core::mem::transmute(&footeruri),
28067 )
28068 .into()
28069 }
28070 }
28071 Self {
28072 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
28073 Orientation: Orientation::<Identity, OFFSET>,
28074 SetOrientation: SetOrientation::<Identity, OFFSET>,
28075 ScaleFactor: ScaleFactor::<Identity, OFFSET>,
28076 SetScaleFactor: SetScaleFactor::<Identity, OFFSET>,
28077 PageWidth: PageWidth::<Identity, OFFSET>,
28078 SetPageWidth: SetPageWidth::<Identity, OFFSET>,
28079 PageHeight: PageHeight::<Identity, OFFSET>,
28080 SetPageHeight: SetPageHeight::<Identity, OFFSET>,
28081 MarginTop: MarginTop::<Identity, OFFSET>,
28082 SetMarginTop: SetMarginTop::<Identity, OFFSET>,
28083 MarginBottom: MarginBottom::<Identity, OFFSET>,
28084 SetMarginBottom: SetMarginBottom::<Identity, OFFSET>,
28085 MarginLeft: MarginLeft::<Identity, OFFSET>,
28086 SetMarginLeft: SetMarginLeft::<Identity, OFFSET>,
28087 MarginRight: MarginRight::<Identity, OFFSET>,
28088 SetMarginRight: SetMarginRight::<Identity, OFFSET>,
28089 ShouldPrintBackgrounds: ShouldPrintBackgrounds::<Identity, OFFSET>,
28090 SetShouldPrintBackgrounds: SetShouldPrintBackgrounds::<Identity, OFFSET>,
28091 ShouldPrintSelectionOnly: ShouldPrintSelectionOnly::<Identity, OFFSET>,
28092 SetShouldPrintSelectionOnly: SetShouldPrintSelectionOnly::<Identity, OFFSET>,
28093 ShouldPrintHeaderAndFooter: ShouldPrintHeaderAndFooter::<Identity, OFFSET>,
28094 SetShouldPrintHeaderAndFooter: SetShouldPrintHeaderAndFooter::<Identity, OFFSET>,
28095 HeaderTitle: HeaderTitle::<Identity, OFFSET>,
28096 SetHeaderTitle: SetHeaderTitle::<Identity, OFFSET>,
28097 FooterUri: FooterUri::<Identity, OFFSET>,
28098 SetFooterUri: SetFooterUri::<Identity, OFFSET>,
28099 }
28100 }
28101 pub fn matches(iid: &windows_core::GUID) -> bool {
28102 iid == &<ICoreWebView2PrintSettings as windows_core::Interface>::IID
28103 }
28104}
28105impl windows_core::RuntimeName for ICoreWebView2PrintSettings {}
28106windows_core::imp::define_interface!(
28107 ICoreWebView2PrintSettings2,
28108 ICoreWebView2PrintSettings2_Vtbl,
28109 0xca7f0e1f_3484_41d1_8c1a_65cd44a63f8d
28110);
28111impl core::ops::Deref for ICoreWebView2PrintSettings2 {
28112 type Target = ICoreWebView2PrintSettings;
28113 fn deref(&self) -> &Self::Target {
28114 unsafe { core::mem::transmute(self) }
28115 }
28116}
28117windows_core::imp::interface_hierarchy!(
28118 ICoreWebView2PrintSettings2,
28119 windows_core::IUnknown,
28120 ICoreWebView2PrintSettings
28121);
28122impl ICoreWebView2PrintSettings2 {
28123 pub unsafe fn PageRanges(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
28124 unsafe {
28125 (windows_core::Interface::vtable(self).PageRanges)(
28126 windows_core::Interface::as_raw(self),
28127 value as _,
28128 )
28129 .ok()
28130 }
28131 }
28132 pub unsafe fn SetPageRanges<P0>(&self, value: P0) -> windows_core::Result<()>
28133 where
28134 P0: windows_core::Param<windows_core::PCWSTR>,
28135 {
28136 unsafe {
28137 (windows_core::Interface::vtable(self).SetPageRanges)(
28138 windows_core::Interface::as_raw(self),
28139 value.param().abi(),
28140 )
28141 .ok()
28142 }
28143 }
28144 pub unsafe fn PagesPerSide(&self, value: *mut i32) -> windows_core::Result<()> {
28145 unsafe {
28146 (windows_core::Interface::vtable(self).PagesPerSide)(
28147 windows_core::Interface::as_raw(self),
28148 value as _,
28149 )
28150 .ok()
28151 }
28152 }
28153 pub unsafe fn SetPagesPerSide(&self, value: i32) -> windows_core::Result<()> {
28154 unsafe {
28155 (windows_core::Interface::vtable(self).SetPagesPerSide)(
28156 windows_core::Interface::as_raw(self),
28157 value,
28158 )
28159 .ok()
28160 }
28161 }
28162 pub unsafe fn Copies(&self, value: *mut i32) -> windows_core::Result<()> {
28163 unsafe {
28164 (windows_core::Interface::vtable(self).Copies)(
28165 windows_core::Interface::as_raw(self),
28166 value as _,
28167 )
28168 .ok()
28169 }
28170 }
28171 pub unsafe fn SetCopies(&self, value: i32) -> windows_core::Result<()> {
28172 unsafe {
28173 (windows_core::Interface::vtable(self).SetCopies)(
28174 windows_core::Interface::as_raw(self),
28175 value,
28176 )
28177 .ok()
28178 }
28179 }
28180 pub unsafe fn Collation(
28181 &self,
28182 value: *mut COREWEBVIEW2_PRINT_COLLATION,
28183 ) -> windows_core::Result<()> {
28184 unsafe {
28185 (windows_core::Interface::vtable(self).Collation)(
28186 windows_core::Interface::as_raw(self),
28187 value as _,
28188 )
28189 .ok()
28190 }
28191 }
28192 pub unsafe fn SetCollation(
28193 &self,
28194 value: COREWEBVIEW2_PRINT_COLLATION,
28195 ) -> windows_core::Result<()> {
28196 unsafe {
28197 (windows_core::Interface::vtable(self).SetCollation)(
28198 windows_core::Interface::as_raw(self),
28199 value,
28200 )
28201 .ok()
28202 }
28203 }
28204 pub unsafe fn ColorMode(
28205 &self,
28206 value: *mut COREWEBVIEW2_PRINT_COLOR_MODE,
28207 ) -> windows_core::Result<()> {
28208 unsafe {
28209 (windows_core::Interface::vtable(self).ColorMode)(
28210 windows_core::Interface::as_raw(self),
28211 value as _,
28212 )
28213 .ok()
28214 }
28215 }
28216 pub unsafe fn SetColorMode(
28217 &self,
28218 value: COREWEBVIEW2_PRINT_COLOR_MODE,
28219 ) -> windows_core::Result<()> {
28220 unsafe {
28221 (windows_core::Interface::vtable(self).SetColorMode)(
28222 windows_core::Interface::as_raw(self),
28223 value,
28224 )
28225 .ok()
28226 }
28227 }
28228 pub unsafe fn Duplex(&self, value: *mut COREWEBVIEW2_PRINT_DUPLEX) -> windows_core::Result<()> {
28229 unsafe {
28230 (windows_core::Interface::vtable(self).Duplex)(
28231 windows_core::Interface::as_raw(self),
28232 value as _,
28233 )
28234 .ok()
28235 }
28236 }
28237 pub unsafe fn SetDuplex(&self, value: COREWEBVIEW2_PRINT_DUPLEX) -> windows_core::Result<()> {
28238 unsafe {
28239 (windows_core::Interface::vtable(self).SetDuplex)(
28240 windows_core::Interface::as_raw(self),
28241 value,
28242 )
28243 .ok()
28244 }
28245 }
28246 pub unsafe fn MediaSize(
28247 &self,
28248 value: *mut COREWEBVIEW2_PRINT_MEDIA_SIZE,
28249 ) -> windows_core::Result<()> {
28250 unsafe {
28251 (windows_core::Interface::vtable(self).MediaSize)(
28252 windows_core::Interface::as_raw(self),
28253 value as _,
28254 )
28255 .ok()
28256 }
28257 }
28258 pub unsafe fn SetMediaSize(
28259 &self,
28260 value: COREWEBVIEW2_PRINT_MEDIA_SIZE,
28261 ) -> windows_core::Result<()> {
28262 unsafe {
28263 (windows_core::Interface::vtable(self).SetMediaSize)(
28264 windows_core::Interface::as_raw(self),
28265 value,
28266 )
28267 .ok()
28268 }
28269 }
28270 pub unsafe fn PrinterName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
28271 unsafe {
28272 (windows_core::Interface::vtable(self).PrinterName)(
28273 windows_core::Interface::as_raw(self),
28274 value as _,
28275 )
28276 .ok()
28277 }
28278 }
28279 pub unsafe fn SetPrinterName<P0>(&self, value: P0) -> windows_core::Result<()>
28280 where
28281 P0: windows_core::Param<windows_core::PCWSTR>,
28282 {
28283 unsafe {
28284 (windows_core::Interface::vtable(self).SetPrinterName)(
28285 windows_core::Interface::as_raw(self),
28286 value.param().abi(),
28287 )
28288 .ok()
28289 }
28290 }
28291}
28292#[repr(C)]
28293#[doc(hidden)]
28294pub struct ICoreWebView2PrintSettings2_Vtbl {
28295 pub base__: ICoreWebView2PrintSettings_Vtbl,
28296 pub PageRanges: unsafe extern "system" fn(
28297 *mut core::ffi::c_void,
28298 *mut windows_core::PWSTR,
28299 ) -> windows_core::HRESULT,
28300 pub SetPageRanges: unsafe extern "system" fn(
28301 *mut core::ffi::c_void,
28302 windows_core::PCWSTR,
28303 ) -> windows_core::HRESULT,
28304 pub PagesPerSide:
28305 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
28306 pub SetPagesPerSide:
28307 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
28308 pub Copies:
28309 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
28310 pub SetCopies: unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
28311 pub Collation: unsafe extern "system" fn(
28312 *mut core::ffi::c_void,
28313 *mut COREWEBVIEW2_PRINT_COLLATION,
28314 ) -> windows_core::HRESULT,
28315 pub SetCollation: unsafe extern "system" fn(
28316 *mut core::ffi::c_void,
28317 COREWEBVIEW2_PRINT_COLLATION,
28318 ) -> windows_core::HRESULT,
28319 pub ColorMode: unsafe extern "system" fn(
28320 *mut core::ffi::c_void,
28321 *mut COREWEBVIEW2_PRINT_COLOR_MODE,
28322 ) -> windows_core::HRESULT,
28323 pub SetColorMode: unsafe extern "system" fn(
28324 *mut core::ffi::c_void,
28325 COREWEBVIEW2_PRINT_COLOR_MODE,
28326 ) -> windows_core::HRESULT,
28327 pub Duplex: unsafe extern "system" fn(
28328 *mut core::ffi::c_void,
28329 *mut COREWEBVIEW2_PRINT_DUPLEX,
28330 ) -> windows_core::HRESULT,
28331 pub SetDuplex: unsafe extern "system" fn(
28332 *mut core::ffi::c_void,
28333 COREWEBVIEW2_PRINT_DUPLEX,
28334 ) -> windows_core::HRESULT,
28335 pub MediaSize: unsafe extern "system" fn(
28336 *mut core::ffi::c_void,
28337 *mut COREWEBVIEW2_PRINT_MEDIA_SIZE,
28338 ) -> windows_core::HRESULT,
28339 pub SetMediaSize: unsafe extern "system" fn(
28340 *mut core::ffi::c_void,
28341 COREWEBVIEW2_PRINT_MEDIA_SIZE,
28342 ) -> windows_core::HRESULT,
28343 pub PrinterName: unsafe extern "system" fn(
28344 *mut core::ffi::c_void,
28345 *mut windows_core::PWSTR,
28346 ) -> windows_core::HRESULT,
28347 pub SetPrinterName: unsafe extern "system" fn(
28348 *mut core::ffi::c_void,
28349 windows_core::PCWSTR,
28350 ) -> windows_core::HRESULT,
28351}
28352pub trait ICoreWebView2PrintSettings2_Impl: ICoreWebView2PrintSettings_Impl {
28353 fn PageRanges(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
28354 fn SetPageRanges(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
28355 fn PagesPerSide(&self, value: *mut i32) -> windows_core::Result<()>;
28356 fn SetPagesPerSide(&self, value: i32) -> windows_core::Result<()>;
28357 fn Copies(&self, value: *mut i32) -> windows_core::Result<()>;
28358 fn SetCopies(&self, value: i32) -> windows_core::Result<()>;
28359 fn Collation(&self, value: *mut COREWEBVIEW2_PRINT_COLLATION) -> windows_core::Result<()>;
28360 fn SetCollation(&self, value: COREWEBVIEW2_PRINT_COLLATION) -> windows_core::Result<()>;
28361 fn ColorMode(&self, value: *mut COREWEBVIEW2_PRINT_COLOR_MODE) -> windows_core::Result<()>;
28362 fn SetColorMode(&self, value: COREWEBVIEW2_PRINT_COLOR_MODE) -> windows_core::Result<()>;
28363 fn Duplex(&self, value: *mut COREWEBVIEW2_PRINT_DUPLEX) -> windows_core::Result<()>;
28364 fn SetDuplex(&self, value: COREWEBVIEW2_PRINT_DUPLEX) -> windows_core::Result<()>;
28365 fn MediaSize(&self, value: *mut COREWEBVIEW2_PRINT_MEDIA_SIZE) -> windows_core::Result<()>;
28366 fn SetMediaSize(&self, value: COREWEBVIEW2_PRINT_MEDIA_SIZE) -> windows_core::Result<()>;
28367 fn PrinterName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
28368 fn SetPrinterName(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
28369}
28370impl ICoreWebView2PrintSettings2_Vtbl {
28371 pub const fn new<Identity: ICoreWebView2PrintSettings2_Impl, const OFFSET: isize>() -> Self {
28372 unsafe extern "system" fn PageRanges<
28373 Identity: ICoreWebView2PrintSettings2_Impl,
28374 const OFFSET: isize,
28375 >(
28376 this: *mut core::ffi::c_void,
28377 value: *mut windows_core::PWSTR,
28378 ) -> windows_core::HRESULT {
28379 unsafe {
28380 let this: &Identity =
28381 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28382 ICoreWebView2PrintSettings2_Impl::PageRanges(
28383 this,
28384 core::mem::transmute_copy(&value),
28385 )
28386 .into()
28387 }
28388 }
28389 unsafe extern "system" fn SetPageRanges<
28390 Identity: ICoreWebView2PrintSettings2_Impl,
28391 const OFFSET: isize,
28392 >(
28393 this: *mut core::ffi::c_void,
28394 value: windows_core::PCWSTR,
28395 ) -> windows_core::HRESULT {
28396 unsafe {
28397 let this: &Identity =
28398 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28399 ICoreWebView2PrintSettings2_Impl::SetPageRanges(this, core::mem::transmute(&value))
28400 .into()
28401 }
28402 }
28403 unsafe extern "system" fn PagesPerSide<
28404 Identity: ICoreWebView2PrintSettings2_Impl,
28405 const OFFSET: isize,
28406 >(
28407 this: *mut core::ffi::c_void,
28408 value: *mut i32,
28409 ) -> windows_core::HRESULT {
28410 unsafe {
28411 let this: &Identity =
28412 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28413 ICoreWebView2PrintSettings2_Impl::PagesPerSide(
28414 this,
28415 core::mem::transmute_copy(&value),
28416 )
28417 .into()
28418 }
28419 }
28420 unsafe extern "system" fn SetPagesPerSide<
28421 Identity: ICoreWebView2PrintSettings2_Impl,
28422 const OFFSET: isize,
28423 >(
28424 this: *mut core::ffi::c_void,
28425 value: i32,
28426 ) -> windows_core::HRESULT {
28427 unsafe {
28428 let this: &Identity =
28429 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28430 ICoreWebView2PrintSettings2_Impl::SetPagesPerSide(
28431 this,
28432 core::mem::transmute_copy(&value),
28433 )
28434 .into()
28435 }
28436 }
28437 unsafe extern "system" fn Copies<
28438 Identity: ICoreWebView2PrintSettings2_Impl,
28439 const OFFSET: isize,
28440 >(
28441 this: *mut core::ffi::c_void,
28442 value: *mut i32,
28443 ) -> windows_core::HRESULT {
28444 unsafe {
28445 let this: &Identity =
28446 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28447 ICoreWebView2PrintSettings2_Impl::Copies(this, core::mem::transmute_copy(&value))
28448 .into()
28449 }
28450 }
28451 unsafe extern "system" fn SetCopies<
28452 Identity: ICoreWebView2PrintSettings2_Impl,
28453 const OFFSET: isize,
28454 >(
28455 this: *mut core::ffi::c_void,
28456 value: i32,
28457 ) -> windows_core::HRESULT {
28458 unsafe {
28459 let this: &Identity =
28460 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28461 ICoreWebView2PrintSettings2_Impl::SetCopies(this, core::mem::transmute_copy(&value))
28462 .into()
28463 }
28464 }
28465 unsafe extern "system" fn Collation<
28466 Identity: ICoreWebView2PrintSettings2_Impl,
28467 const OFFSET: isize,
28468 >(
28469 this: *mut core::ffi::c_void,
28470 value: *mut COREWEBVIEW2_PRINT_COLLATION,
28471 ) -> windows_core::HRESULT {
28472 unsafe {
28473 let this: &Identity =
28474 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28475 ICoreWebView2PrintSettings2_Impl::Collation(this, core::mem::transmute_copy(&value))
28476 .into()
28477 }
28478 }
28479 unsafe extern "system" fn SetCollation<
28480 Identity: ICoreWebView2PrintSettings2_Impl,
28481 const OFFSET: isize,
28482 >(
28483 this: *mut core::ffi::c_void,
28484 value: COREWEBVIEW2_PRINT_COLLATION,
28485 ) -> windows_core::HRESULT {
28486 unsafe {
28487 let this: &Identity =
28488 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28489 ICoreWebView2PrintSettings2_Impl::SetCollation(
28490 this,
28491 core::mem::transmute_copy(&value),
28492 )
28493 .into()
28494 }
28495 }
28496 unsafe extern "system" fn ColorMode<
28497 Identity: ICoreWebView2PrintSettings2_Impl,
28498 const OFFSET: isize,
28499 >(
28500 this: *mut core::ffi::c_void,
28501 value: *mut COREWEBVIEW2_PRINT_COLOR_MODE,
28502 ) -> windows_core::HRESULT {
28503 unsafe {
28504 let this: &Identity =
28505 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28506 ICoreWebView2PrintSettings2_Impl::ColorMode(this, core::mem::transmute_copy(&value))
28507 .into()
28508 }
28509 }
28510 unsafe extern "system" fn SetColorMode<
28511 Identity: ICoreWebView2PrintSettings2_Impl,
28512 const OFFSET: isize,
28513 >(
28514 this: *mut core::ffi::c_void,
28515 value: COREWEBVIEW2_PRINT_COLOR_MODE,
28516 ) -> windows_core::HRESULT {
28517 unsafe {
28518 let this: &Identity =
28519 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28520 ICoreWebView2PrintSettings2_Impl::SetColorMode(
28521 this,
28522 core::mem::transmute_copy(&value),
28523 )
28524 .into()
28525 }
28526 }
28527 unsafe extern "system" fn Duplex<
28528 Identity: ICoreWebView2PrintSettings2_Impl,
28529 const OFFSET: isize,
28530 >(
28531 this: *mut core::ffi::c_void,
28532 value: *mut COREWEBVIEW2_PRINT_DUPLEX,
28533 ) -> windows_core::HRESULT {
28534 unsafe {
28535 let this: &Identity =
28536 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28537 ICoreWebView2PrintSettings2_Impl::Duplex(this, core::mem::transmute_copy(&value))
28538 .into()
28539 }
28540 }
28541 unsafe extern "system" fn SetDuplex<
28542 Identity: ICoreWebView2PrintSettings2_Impl,
28543 const OFFSET: isize,
28544 >(
28545 this: *mut core::ffi::c_void,
28546 value: COREWEBVIEW2_PRINT_DUPLEX,
28547 ) -> windows_core::HRESULT {
28548 unsafe {
28549 let this: &Identity =
28550 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28551 ICoreWebView2PrintSettings2_Impl::SetDuplex(this, core::mem::transmute_copy(&value))
28552 .into()
28553 }
28554 }
28555 unsafe extern "system" fn MediaSize<
28556 Identity: ICoreWebView2PrintSettings2_Impl,
28557 const OFFSET: isize,
28558 >(
28559 this: *mut core::ffi::c_void,
28560 value: *mut COREWEBVIEW2_PRINT_MEDIA_SIZE,
28561 ) -> windows_core::HRESULT {
28562 unsafe {
28563 let this: &Identity =
28564 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28565 ICoreWebView2PrintSettings2_Impl::MediaSize(this, core::mem::transmute_copy(&value))
28566 .into()
28567 }
28568 }
28569 unsafe extern "system" fn SetMediaSize<
28570 Identity: ICoreWebView2PrintSettings2_Impl,
28571 const OFFSET: isize,
28572 >(
28573 this: *mut core::ffi::c_void,
28574 value: COREWEBVIEW2_PRINT_MEDIA_SIZE,
28575 ) -> windows_core::HRESULT {
28576 unsafe {
28577 let this: &Identity =
28578 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28579 ICoreWebView2PrintSettings2_Impl::SetMediaSize(
28580 this,
28581 core::mem::transmute_copy(&value),
28582 )
28583 .into()
28584 }
28585 }
28586 unsafe extern "system" fn PrinterName<
28587 Identity: ICoreWebView2PrintSettings2_Impl,
28588 const OFFSET: isize,
28589 >(
28590 this: *mut core::ffi::c_void,
28591 value: *mut windows_core::PWSTR,
28592 ) -> windows_core::HRESULT {
28593 unsafe {
28594 let this: &Identity =
28595 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28596 ICoreWebView2PrintSettings2_Impl::PrinterName(
28597 this,
28598 core::mem::transmute_copy(&value),
28599 )
28600 .into()
28601 }
28602 }
28603 unsafe extern "system" fn SetPrinterName<
28604 Identity: ICoreWebView2PrintSettings2_Impl,
28605 const OFFSET: isize,
28606 >(
28607 this: *mut core::ffi::c_void,
28608 value: windows_core::PCWSTR,
28609 ) -> windows_core::HRESULT {
28610 unsafe {
28611 let this: &Identity =
28612 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28613 ICoreWebView2PrintSettings2_Impl::SetPrinterName(this, core::mem::transmute(&value))
28614 .into()
28615 }
28616 }
28617 Self {
28618 base__: ICoreWebView2PrintSettings_Vtbl::new::<Identity, OFFSET>(),
28619 PageRanges: PageRanges::<Identity, OFFSET>,
28620 SetPageRanges: SetPageRanges::<Identity, OFFSET>,
28621 PagesPerSide: PagesPerSide::<Identity, OFFSET>,
28622 SetPagesPerSide: SetPagesPerSide::<Identity, OFFSET>,
28623 Copies: Copies::<Identity, OFFSET>,
28624 SetCopies: SetCopies::<Identity, OFFSET>,
28625 Collation: Collation::<Identity, OFFSET>,
28626 SetCollation: SetCollation::<Identity, OFFSET>,
28627 ColorMode: ColorMode::<Identity, OFFSET>,
28628 SetColorMode: SetColorMode::<Identity, OFFSET>,
28629 Duplex: Duplex::<Identity, OFFSET>,
28630 SetDuplex: SetDuplex::<Identity, OFFSET>,
28631 MediaSize: MediaSize::<Identity, OFFSET>,
28632 SetMediaSize: SetMediaSize::<Identity, OFFSET>,
28633 PrinterName: PrinterName::<Identity, OFFSET>,
28634 SetPrinterName: SetPrinterName::<Identity, OFFSET>,
28635 }
28636 }
28637 pub fn matches(iid: &windows_core::GUID) -> bool {
28638 iid == &<ICoreWebView2PrintSettings2 as windows_core::Interface>::IID
28639 || iid == &<ICoreWebView2PrintSettings as windows_core::Interface>::IID
28640 }
28641}
28642impl windows_core::RuntimeName for ICoreWebView2PrintSettings2 {}
28643windows_core::imp::define_interface!(
28644 ICoreWebView2PrintToPdfCompletedHandler,
28645 ICoreWebView2PrintToPdfCompletedHandler_Vtbl,
28646 0xccf1ef04_fd8e_4d5f_b2de_0983e41b8c36
28647);
28648windows_core::imp::interface_hierarchy!(
28649 ICoreWebView2PrintToPdfCompletedHandler,
28650 windows_core::IUnknown
28651);
28652impl ICoreWebView2PrintToPdfCompletedHandler {
28653 pub unsafe fn Invoke(
28654 &self,
28655 errorcode: windows_core::HRESULT,
28656 result: bool,
28657 ) -> windows_core::Result<()> {
28658 unsafe {
28659 (windows_core::Interface::vtable(self).Invoke)(
28660 windows_core::Interface::as_raw(self),
28661 errorcode,
28662 result.into(),
28663 )
28664 .ok()
28665 }
28666 }
28667}
28668#[repr(C)]
28669#[doc(hidden)]
28670pub struct ICoreWebView2PrintToPdfCompletedHandler_Vtbl {
28671 pub base__: windows_core::IUnknown_Vtbl,
28672 pub Invoke: unsafe extern "system" fn(
28673 *mut core::ffi::c_void,
28674 windows_core::HRESULT,
28675 windows_core::BOOL,
28676 ) -> windows_core::HRESULT,
28677}
28678pub trait ICoreWebView2PrintToPdfCompletedHandler_Impl: windows_core::IUnknownImpl {
28679 fn Invoke(
28680 &self,
28681 errorcode: windows_core::HRESULT,
28682 result: windows_core::BOOL,
28683 ) -> windows_core::Result<()>;
28684}
28685impl ICoreWebView2PrintToPdfCompletedHandler_Vtbl {
28686 pub const fn new<
28687 Identity: ICoreWebView2PrintToPdfCompletedHandler_Impl,
28688 const OFFSET: isize,
28689 >() -> Self {
28690 unsafe extern "system" fn Invoke<
28691 Identity: ICoreWebView2PrintToPdfCompletedHandler_Impl,
28692 const OFFSET: isize,
28693 >(
28694 this: *mut core::ffi::c_void,
28695 errorcode: windows_core::HRESULT,
28696 result: windows_core::BOOL,
28697 ) -> windows_core::HRESULT {
28698 unsafe {
28699 let this: &Identity =
28700 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28701 ICoreWebView2PrintToPdfCompletedHandler_Impl::Invoke(
28702 this,
28703 core::mem::transmute_copy(&errorcode),
28704 core::mem::transmute_copy(&result),
28705 )
28706 .into()
28707 }
28708 }
28709 Self {
28710 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
28711 Invoke: Invoke::<Identity, OFFSET>,
28712 }
28713 }
28714 pub fn matches(iid: &windows_core::GUID) -> bool {
28715 iid == &<ICoreWebView2PrintToPdfCompletedHandler as windows_core::Interface>::IID
28716 }
28717}
28718impl windows_core::RuntimeName for ICoreWebView2PrintToPdfCompletedHandler {}
28719windows_core::imp::define_interface!(
28720 ICoreWebView2PrintToPdfStreamCompletedHandler,
28721 ICoreWebView2PrintToPdfStreamCompletedHandler_Vtbl,
28722 0x4c9f8229_8f93_444f_a711_2c0dfd6359d5
28723);
28724windows_core::imp::interface_hierarchy!(
28725 ICoreWebView2PrintToPdfStreamCompletedHandler,
28726 windows_core::IUnknown
28727);
28728impl ICoreWebView2PrintToPdfStreamCompletedHandler {
28729 pub unsafe fn Invoke<P1>(
28730 &self,
28731 errorcode: windows_core::HRESULT,
28732 result: P1,
28733 ) -> windows_core::Result<()>
28734 where
28735 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
28736 {
28737 unsafe {
28738 (windows_core::Interface::vtable(self).Invoke)(
28739 windows_core::Interface::as_raw(self),
28740 errorcode,
28741 result.param().abi(),
28742 )
28743 .ok()
28744 }
28745 }
28746}
28747#[repr(C)]
28748#[doc(hidden)]
28749pub struct ICoreWebView2PrintToPdfStreamCompletedHandler_Vtbl {
28750 pub base__: windows_core::IUnknown_Vtbl,
28751 pub Invoke: unsafe extern "system" fn(
28752 *mut core::ffi::c_void,
28753 windows_core::HRESULT,
28754 *mut core::ffi::c_void,
28755 ) -> windows_core::HRESULT,
28756}
28757pub trait ICoreWebView2PrintToPdfStreamCompletedHandler_Impl: windows_core::IUnknownImpl {
28758 fn Invoke(
28759 &self,
28760 errorcode: windows_core::HRESULT,
28761 result: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
28762 ) -> windows_core::Result<()>;
28763}
28764impl ICoreWebView2PrintToPdfStreamCompletedHandler_Vtbl {
28765 pub const fn new<
28766 Identity: ICoreWebView2PrintToPdfStreamCompletedHandler_Impl,
28767 const OFFSET: isize,
28768 >() -> Self {
28769 unsafe extern "system" fn Invoke<
28770 Identity: ICoreWebView2PrintToPdfStreamCompletedHandler_Impl,
28771 const OFFSET: isize,
28772 >(
28773 this: *mut core::ffi::c_void,
28774 errorcode: windows_core::HRESULT,
28775 result: *mut core::ffi::c_void,
28776 ) -> windows_core::HRESULT {
28777 unsafe {
28778 let this: &Identity =
28779 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28780 ICoreWebView2PrintToPdfStreamCompletedHandler_Impl::Invoke(
28781 this,
28782 core::mem::transmute_copy(&errorcode),
28783 core::mem::transmute_copy(&result),
28784 )
28785 .into()
28786 }
28787 }
28788 Self {
28789 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
28790 Invoke: Invoke::<Identity, OFFSET>,
28791 }
28792 }
28793 pub fn matches(iid: &windows_core::GUID) -> bool {
28794 iid == &<ICoreWebView2PrintToPdfStreamCompletedHandler as windows_core::Interface>::IID
28795 }
28796}
28797impl windows_core::RuntimeName for ICoreWebView2PrintToPdfStreamCompletedHandler {}
28798windows_core::imp::define_interface!(
28799 ICoreWebView2ProcessExtendedInfo,
28800 ICoreWebView2ProcessExtendedInfo_Vtbl,
28801 0xaf4c4c2e_45db_11ee_be56_0242ac120002
28802);
28803windows_core::imp::interface_hierarchy!(ICoreWebView2ProcessExtendedInfo, windows_core::IUnknown);
28804impl ICoreWebView2ProcessExtendedInfo {
28805 pub unsafe fn ProcessInfo(&self) -> windows_core::Result<ICoreWebView2ProcessInfo> {
28806 unsafe {
28807 let mut result__ = core::mem::zeroed();
28808 (windows_core::Interface::vtable(self).ProcessInfo)(
28809 windows_core::Interface::as_raw(self),
28810 &mut result__,
28811 )
28812 .and_then(|| windows_core::Type::from_abi(result__))
28813 }
28814 }
28815 pub unsafe fn AssociatedFrameInfos(
28816 &self,
28817 ) -> windows_core::Result<ICoreWebView2FrameInfoCollection> {
28818 unsafe {
28819 let mut result__ = core::mem::zeroed();
28820 (windows_core::Interface::vtable(self).AssociatedFrameInfos)(
28821 windows_core::Interface::as_raw(self),
28822 &mut result__,
28823 )
28824 .and_then(|| windows_core::Type::from_abi(result__))
28825 }
28826 }
28827}
28828#[repr(C)]
28829#[doc(hidden)]
28830pub struct ICoreWebView2ProcessExtendedInfo_Vtbl {
28831 pub base__: windows_core::IUnknown_Vtbl,
28832 pub ProcessInfo: unsafe extern "system" fn(
28833 *mut core::ffi::c_void,
28834 *mut *mut core::ffi::c_void,
28835 ) -> windows_core::HRESULT,
28836 pub AssociatedFrameInfos: unsafe extern "system" fn(
28837 *mut core::ffi::c_void,
28838 *mut *mut core::ffi::c_void,
28839 ) -> windows_core::HRESULT,
28840}
28841pub trait ICoreWebView2ProcessExtendedInfo_Impl: windows_core::IUnknownImpl {
28842 fn ProcessInfo(&self) -> windows_core::Result<ICoreWebView2ProcessInfo>;
28843 fn AssociatedFrameInfos(&self) -> windows_core::Result<ICoreWebView2FrameInfoCollection>;
28844}
28845impl ICoreWebView2ProcessExtendedInfo_Vtbl {
28846 pub const fn new<Identity: ICoreWebView2ProcessExtendedInfo_Impl, const OFFSET: isize>() -> Self
28847 {
28848 unsafe extern "system" fn ProcessInfo<
28849 Identity: ICoreWebView2ProcessExtendedInfo_Impl,
28850 const OFFSET: isize,
28851 >(
28852 this: *mut core::ffi::c_void,
28853 processinfo: *mut *mut core::ffi::c_void,
28854 ) -> windows_core::HRESULT {
28855 unsafe {
28856 let this: &Identity =
28857 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28858 match ICoreWebView2ProcessExtendedInfo_Impl::ProcessInfo(this) {
28859 Ok(ok__) => {
28860 processinfo.write(core::mem::transmute(ok__));
28861 windows_core::HRESULT(0)
28862 }
28863 Err(err) => err.into(),
28864 }
28865 }
28866 }
28867 unsafe extern "system" fn AssociatedFrameInfos<
28868 Identity: ICoreWebView2ProcessExtendedInfo_Impl,
28869 const OFFSET: isize,
28870 >(
28871 this: *mut core::ffi::c_void,
28872 frames: *mut *mut core::ffi::c_void,
28873 ) -> windows_core::HRESULT {
28874 unsafe {
28875 let this: &Identity =
28876 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28877 match ICoreWebView2ProcessExtendedInfo_Impl::AssociatedFrameInfos(this) {
28878 Ok(ok__) => {
28879 frames.write(core::mem::transmute(ok__));
28880 windows_core::HRESULT(0)
28881 }
28882 Err(err) => err.into(),
28883 }
28884 }
28885 }
28886 Self {
28887 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
28888 ProcessInfo: ProcessInfo::<Identity, OFFSET>,
28889 AssociatedFrameInfos: AssociatedFrameInfos::<Identity, OFFSET>,
28890 }
28891 }
28892 pub fn matches(iid: &windows_core::GUID) -> bool {
28893 iid == &<ICoreWebView2ProcessExtendedInfo as windows_core::Interface>::IID
28894 }
28895}
28896impl windows_core::RuntimeName for ICoreWebView2ProcessExtendedInfo {}
28897windows_core::imp::define_interface!(
28898 ICoreWebView2ProcessExtendedInfoCollection,
28899 ICoreWebView2ProcessExtendedInfoCollection_Vtbl,
28900 0x32efa696_407a_11ee_be56_0242ac120002
28901);
28902windows_core::imp::interface_hierarchy!(
28903 ICoreWebView2ProcessExtendedInfoCollection,
28904 windows_core::IUnknown
28905);
28906impl ICoreWebView2ProcessExtendedInfoCollection {
28907 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
28908 unsafe {
28909 (windows_core::Interface::vtable(self).Count)(
28910 windows_core::Interface::as_raw(self),
28911 value as _,
28912 )
28913 .ok()
28914 }
28915 }
28916 pub unsafe fn GetValueAtIndex(
28917 &self,
28918 index: u32,
28919 ) -> windows_core::Result<ICoreWebView2ProcessExtendedInfo> {
28920 unsafe {
28921 let mut result__ = core::mem::zeroed();
28922 (windows_core::Interface::vtable(self).GetValueAtIndex)(
28923 windows_core::Interface::as_raw(self),
28924 index,
28925 &mut result__,
28926 )
28927 .and_then(|| windows_core::Type::from_abi(result__))
28928 }
28929 }
28930}
28931#[repr(C)]
28932#[doc(hidden)]
28933pub struct ICoreWebView2ProcessExtendedInfoCollection_Vtbl {
28934 pub base__: windows_core::IUnknown_Vtbl,
28935 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
28936 pub GetValueAtIndex: unsafe extern "system" fn(
28937 *mut core::ffi::c_void,
28938 u32,
28939 *mut *mut core::ffi::c_void,
28940 ) -> windows_core::HRESULT,
28941}
28942pub trait ICoreWebView2ProcessExtendedInfoCollection_Impl: windows_core::IUnknownImpl {
28943 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
28944 fn GetValueAtIndex(&self, index: u32)
28945 -> windows_core::Result<ICoreWebView2ProcessExtendedInfo>;
28946}
28947impl ICoreWebView2ProcessExtendedInfoCollection_Vtbl {
28948 pub const fn new<
28949 Identity: ICoreWebView2ProcessExtendedInfoCollection_Impl,
28950 const OFFSET: isize,
28951 >() -> Self {
28952 unsafe extern "system" fn Count<
28953 Identity: ICoreWebView2ProcessExtendedInfoCollection_Impl,
28954 const OFFSET: isize,
28955 >(
28956 this: *mut core::ffi::c_void,
28957 value: *mut u32,
28958 ) -> windows_core::HRESULT {
28959 unsafe {
28960 let this: &Identity =
28961 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28962 ICoreWebView2ProcessExtendedInfoCollection_Impl::Count(
28963 this,
28964 core::mem::transmute_copy(&value),
28965 )
28966 .into()
28967 }
28968 }
28969 unsafe extern "system" fn GetValueAtIndex<
28970 Identity: ICoreWebView2ProcessExtendedInfoCollection_Impl,
28971 const OFFSET: isize,
28972 >(
28973 this: *mut core::ffi::c_void,
28974 index: u32,
28975 value: *mut *mut core::ffi::c_void,
28976 ) -> windows_core::HRESULT {
28977 unsafe {
28978 let this: &Identity =
28979 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28980 match ICoreWebView2ProcessExtendedInfoCollection_Impl::GetValueAtIndex(
28981 this,
28982 core::mem::transmute_copy(&index),
28983 ) {
28984 Ok(ok__) => {
28985 value.write(core::mem::transmute(ok__));
28986 windows_core::HRESULT(0)
28987 }
28988 Err(err) => err.into(),
28989 }
28990 }
28991 }
28992 Self {
28993 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
28994 Count: Count::<Identity, OFFSET>,
28995 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
28996 }
28997 }
28998 pub fn matches(iid: &windows_core::GUID) -> bool {
28999 iid == &<ICoreWebView2ProcessExtendedInfoCollection as windows_core::Interface>::IID
29000 }
29001}
29002impl windows_core::RuntimeName for ICoreWebView2ProcessExtendedInfoCollection {}
29003windows_core::imp::define_interface!(
29004 ICoreWebView2ProcessFailedEventArgs,
29005 ICoreWebView2ProcessFailedEventArgs_Vtbl,
29006 0x8155a9a4_1474_4a86_8cae_151b0fa6b8ca
29007);
29008windows_core::imp::interface_hierarchy!(
29009 ICoreWebView2ProcessFailedEventArgs,
29010 windows_core::IUnknown
29011);
29012impl ICoreWebView2ProcessFailedEventArgs {
29013 pub unsafe fn ProcessFailedKind(
29014 &self,
29015 value: *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
29016 ) -> windows_core::Result<()> {
29017 unsafe {
29018 (windows_core::Interface::vtable(self).ProcessFailedKind)(
29019 windows_core::Interface::as_raw(self),
29020 value as _,
29021 )
29022 .ok()
29023 }
29024 }
29025}
29026#[repr(C)]
29027#[doc(hidden)]
29028pub struct ICoreWebView2ProcessFailedEventArgs_Vtbl {
29029 pub base__: windows_core::IUnknown_Vtbl,
29030 pub ProcessFailedKind: unsafe extern "system" fn(
29031 *mut core::ffi::c_void,
29032 *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
29033 ) -> windows_core::HRESULT,
29034}
29035pub trait ICoreWebView2ProcessFailedEventArgs_Impl: windows_core::IUnknownImpl {
29036 fn ProcessFailedKind(
29037 &self,
29038 value: *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
29039 ) -> windows_core::Result<()>;
29040}
29041impl ICoreWebView2ProcessFailedEventArgs_Vtbl {
29042 pub const fn new<Identity: ICoreWebView2ProcessFailedEventArgs_Impl, const OFFSET: isize>(
29043 ) -> Self {
29044 unsafe extern "system" fn ProcessFailedKind<
29045 Identity: ICoreWebView2ProcessFailedEventArgs_Impl,
29046 const OFFSET: isize,
29047 >(
29048 this: *mut core::ffi::c_void,
29049 value: *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
29050 ) -> windows_core::HRESULT {
29051 unsafe {
29052 let this: &Identity =
29053 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29054 ICoreWebView2ProcessFailedEventArgs_Impl::ProcessFailedKind(
29055 this,
29056 core::mem::transmute_copy(&value),
29057 )
29058 .into()
29059 }
29060 }
29061 Self {
29062 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29063 ProcessFailedKind: ProcessFailedKind::<Identity, OFFSET>,
29064 }
29065 }
29066 pub fn matches(iid: &windows_core::GUID) -> bool {
29067 iid == &<ICoreWebView2ProcessFailedEventArgs as windows_core::Interface>::IID
29068 }
29069}
29070impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventArgs {}
29071windows_core::imp::define_interface!(
29072 ICoreWebView2ProcessFailedEventArgs2,
29073 ICoreWebView2ProcessFailedEventArgs2_Vtbl,
29074 0x4dab9422_46fa_4c3e_a5d2_41d2071d3680
29075);
29076impl core::ops::Deref for ICoreWebView2ProcessFailedEventArgs2 {
29077 type Target = ICoreWebView2ProcessFailedEventArgs;
29078 fn deref(&self) -> &Self::Target {
29079 unsafe { core::mem::transmute(self) }
29080 }
29081}
29082windows_core::imp::interface_hierarchy!(
29083 ICoreWebView2ProcessFailedEventArgs2,
29084 windows_core::IUnknown,
29085 ICoreWebView2ProcessFailedEventArgs
29086);
29087impl ICoreWebView2ProcessFailedEventArgs2 {
29088 pub unsafe fn Reason(
29089 &self,
29090 reason: *mut COREWEBVIEW2_PROCESS_FAILED_REASON,
29091 ) -> windows_core::Result<()> {
29092 unsafe {
29093 (windows_core::Interface::vtable(self).Reason)(
29094 windows_core::Interface::as_raw(self),
29095 reason as _,
29096 )
29097 .ok()
29098 }
29099 }
29100 pub unsafe fn ExitCode(&self, exitcode: *mut i32) -> windows_core::Result<()> {
29101 unsafe {
29102 (windows_core::Interface::vtable(self).ExitCode)(
29103 windows_core::Interface::as_raw(self),
29104 exitcode as _,
29105 )
29106 .ok()
29107 }
29108 }
29109 pub unsafe fn ProcessDescription(
29110 &self,
29111 processdescription: *mut windows_core::PWSTR,
29112 ) -> windows_core::Result<()> {
29113 unsafe {
29114 (windows_core::Interface::vtable(self).ProcessDescription)(
29115 windows_core::Interface::as_raw(self),
29116 processdescription as _,
29117 )
29118 .ok()
29119 }
29120 }
29121 pub unsafe fn FrameInfosForFailedProcess(
29122 &self,
29123 ) -> windows_core::Result<ICoreWebView2FrameInfoCollection> {
29124 unsafe {
29125 let mut result__ = core::mem::zeroed();
29126 (windows_core::Interface::vtable(self).FrameInfosForFailedProcess)(
29127 windows_core::Interface::as_raw(self),
29128 &mut result__,
29129 )
29130 .and_then(|| windows_core::Type::from_abi(result__))
29131 }
29132 }
29133}
29134#[repr(C)]
29135#[doc(hidden)]
29136pub struct ICoreWebView2ProcessFailedEventArgs2_Vtbl {
29137 pub base__: ICoreWebView2ProcessFailedEventArgs_Vtbl,
29138 pub Reason: unsafe extern "system" fn(
29139 *mut core::ffi::c_void,
29140 *mut COREWEBVIEW2_PROCESS_FAILED_REASON,
29141 ) -> windows_core::HRESULT,
29142 pub ExitCode:
29143 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
29144 pub ProcessDescription: unsafe extern "system" fn(
29145 *mut core::ffi::c_void,
29146 *mut windows_core::PWSTR,
29147 ) -> windows_core::HRESULT,
29148 pub FrameInfosForFailedProcess: unsafe extern "system" fn(
29149 *mut core::ffi::c_void,
29150 *mut *mut core::ffi::c_void,
29151 ) -> windows_core::HRESULT,
29152}
29153pub trait ICoreWebView2ProcessFailedEventArgs2_Impl:
29154 ICoreWebView2ProcessFailedEventArgs_Impl
29155{
29156 fn Reason(&self, reason: *mut COREWEBVIEW2_PROCESS_FAILED_REASON) -> windows_core::Result<()>;
29157 fn ExitCode(&self, exitcode: *mut i32) -> windows_core::Result<()>;
29158 fn ProcessDescription(
29159 &self,
29160 processdescription: *mut windows_core::PWSTR,
29161 ) -> windows_core::Result<()>;
29162 fn FrameInfosForFailedProcess(&self) -> windows_core::Result<ICoreWebView2FrameInfoCollection>;
29163}
29164impl ICoreWebView2ProcessFailedEventArgs2_Vtbl {
29165 pub const fn new<Identity: ICoreWebView2ProcessFailedEventArgs2_Impl, const OFFSET: isize>(
29166 ) -> Self {
29167 unsafe extern "system" fn Reason<
29168 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
29169 const OFFSET: isize,
29170 >(
29171 this: *mut core::ffi::c_void,
29172 reason: *mut COREWEBVIEW2_PROCESS_FAILED_REASON,
29173 ) -> windows_core::HRESULT {
29174 unsafe {
29175 let this: &Identity =
29176 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29177 ICoreWebView2ProcessFailedEventArgs2_Impl::Reason(
29178 this,
29179 core::mem::transmute_copy(&reason),
29180 )
29181 .into()
29182 }
29183 }
29184 unsafe extern "system" fn ExitCode<
29185 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
29186 const OFFSET: isize,
29187 >(
29188 this: *mut core::ffi::c_void,
29189 exitcode: *mut i32,
29190 ) -> windows_core::HRESULT {
29191 unsafe {
29192 let this: &Identity =
29193 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29194 ICoreWebView2ProcessFailedEventArgs2_Impl::ExitCode(
29195 this,
29196 core::mem::transmute_copy(&exitcode),
29197 )
29198 .into()
29199 }
29200 }
29201 unsafe extern "system" fn ProcessDescription<
29202 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
29203 const OFFSET: isize,
29204 >(
29205 this: *mut core::ffi::c_void,
29206 processdescription: *mut windows_core::PWSTR,
29207 ) -> windows_core::HRESULT {
29208 unsafe {
29209 let this: &Identity =
29210 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29211 ICoreWebView2ProcessFailedEventArgs2_Impl::ProcessDescription(
29212 this,
29213 core::mem::transmute_copy(&processdescription),
29214 )
29215 .into()
29216 }
29217 }
29218 unsafe extern "system" fn FrameInfosForFailedProcess<
29219 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
29220 const OFFSET: isize,
29221 >(
29222 this: *mut core::ffi::c_void,
29223 frames: *mut *mut core::ffi::c_void,
29224 ) -> windows_core::HRESULT {
29225 unsafe {
29226 let this: &Identity =
29227 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29228 match ICoreWebView2ProcessFailedEventArgs2_Impl::FrameInfosForFailedProcess(this) {
29229 Ok(ok__) => {
29230 frames.write(core::mem::transmute(ok__));
29231 windows_core::HRESULT(0)
29232 }
29233 Err(err) => err.into(),
29234 }
29235 }
29236 }
29237 Self {
29238 base__: ICoreWebView2ProcessFailedEventArgs_Vtbl::new::<Identity, OFFSET>(),
29239 Reason: Reason::<Identity, OFFSET>,
29240 ExitCode: ExitCode::<Identity, OFFSET>,
29241 ProcessDescription: ProcessDescription::<Identity, OFFSET>,
29242 FrameInfosForFailedProcess: FrameInfosForFailedProcess::<Identity, OFFSET>,
29243 }
29244 }
29245 pub fn matches(iid: &windows_core::GUID) -> bool {
29246 iid == &<ICoreWebView2ProcessFailedEventArgs2 as windows_core::Interface>::IID
29247 || iid == &<ICoreWebView2ProcessFailedEventArgs as windows_core::Interface>::IID
29248 }
29249}
29250impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventArgs2 {}
29251windows_core::imp::define_interface!(
29252 ICoreWebView2ProcessFailedEventArgs3,
29253 ICoreWebView2ProcessFailedEventArgs3_Vtbl,
29254 0xab667428_094d_5fd1_b480_8b4c0fdbdf2f
29255);
29256impl core::ops::Deref for ICoreWebView2ProcessFailedEventArgs3 {
29257 type Target = ICoreWebView2ProcessFailedEventArgs2;
29258 fn deref(&self) -> &Self::Target {
29259 unsafe { core::mem::transmute(self) }
29260 }
29261}
29262windows_core::imp::interface_hierarchy!(
29263 ICoreWebView2ProcessFailedEventArgs3,
29264 windows_core::IUnknown,
29265 ICoreWebView2ProcessFailedEventArgs,
29266 ICoreWebView2ProcessFailedEventArgs2
29267);
29268impl ICoreWebView2ProcessFailedEventArgs3 {
29269 pub unsafe fn FailureSourceModulePath(
29270 &self,
29271 value: *mut windows_core::PWSTR,
29272 ) -> windows_core::Result<()> {
29273 unsafe {
29274 (windows_core::Interface::vtable(self).FailureSourceModulePath)(
29275 windows_core::Interface::as_raw(self),
29276 value as _,
29277 )
29278 .ok()
29279 }
29280 }
29281}
29282#[repr(C)]
29283#[doc(hidden)]
29284pub struct ICoreWebView2ProcessFailedEventArgs3_Vtbl {
29285 pub base__: ICoreWebView2ProcessFailedEventArgs2_Vtbl,
29286 pub FailureSourceModulePath: unsafe extern "system" fn(
29287 *mut core::ffi::c_void,
29288 *mut windows_core::PWSTR,
29289 ) -> windows_core::HRESULT,
29290}
29291pub trait ICoreWebView2ProcessFailedEventArgs3_Impl:
29292 ICoreWebView2ProcessFailedEventArgs2_Impl
29293{
29294 fn FailureSourceModulePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
29295}
29296impl ICoreWebView2ProcessFailedEventArgs3_Vtbl {
29297 pub const fn new<Identity: ICoreWebView2ProcessFailedEventArgs3_Impl, const OFFSET: isize>(
29298 ) -> Self {
29299 unsafe extern "system" fn FailureSourceModulePath<
29300 Identity: ICoreWebView2ProcessFailedEventArgs3_Impl,
29301 const OFFSET: isize,
29302 >(
29303 this: *mut core::ffi::c_void,
29304 value: *mut windows_core::PWSTR,
29305 ) -> windows_core::HRESULT {
29306 unsafe {
29307 let this: &Identity =
29308 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29309 ICoreWebView2ProcessFailedEventArgs3_Impl::FailureSourceModulePath(
29310 this,
29311 core::mem::transmute_copy(&value),
29312 )
29313 .into()
29314 }
29315 }
29316 Self {
29317 base__: ICoreWebView2ProcessFailedEventArgs2_Vtbl::new::<Identity, OFFSET>(),
29318 FailureSourceModulePath: FailureSourceModulePath::<Identity, OFFSET>,
29319 }
29320 }
29321 pub fn matches(iid: &windows_core::GUID) -> bool {
29322 iid == &<ICoreWebView2ProcessFailedEventArgs3 as windows_core::Interface>::IID
29323 || iid == &<ICoreWebView2ProcessFailedEventArgs as windows_core::Interface>::IID
29324 || iid == &<ICoreWebView2ProcessFailedEventArgs2 as windows_core::Interface>::IID
29325 }
29326}
29327impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventArgs3 {}
29328windows_core::imp::define_interface!(
29329 ICoreWebView2ProcessFailedEventHandler,
29330 ICoreWebView2ProcessFailedEventHandler_Vtbl,
29331 0x79e0aea4_990b_42d9_aa1d_0fcc2e5bc7f1
29332);
29333windows_core::imp::interface_hierarchy!(
29334 ICoreWebView2ProcessFailedEventHandler,
29335 windows_core::IUnknown
29336);
29337impl ICoreWebView2ProcessFailedEventHandler {
29338 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
29339 where
29340 P0: windows_core::Param<ICoreWebView2>,
29341 P1: windows_core::Param<ICoreWebView2ProcessFailedEventArgs>,
29342 {
29343 unsafe {
29344 (windows_core::Interface::vtable(self).Invoke)(
29345 windows_core::Interface::as_raw(self),
29346 sender.param().abi(),
29347 args.param().abi(),
29348 )
29349 .ok()
29350 }
29351 }
29352}
29353#[repr(C)]
29354#[doc(hidden)]
29355pub struct ICoreWebView2ProcessFailedEventHandler_Vtbl {
29356 pub base__: windows_core::IUnknown_Vtbl,
29357 pub Invoke: unsafe extern "system" fn(
29358 *mut core::ffi::c_void,
29359 *mut core::ffi::c_void,
29360 *mut core::ffi::c_void,
29361 ) -> windows_core::HRESULT,
29362}
29363pub trait ICoreWebView2ProcessFailedEventHandler_Impl: windows_core::IUnknownImpl {
29364 fn Invoke(
29365 &self,
29366 sender: windows_core::Ref<'_, ICoreWebView2>,
29367 args: windows_core::Ref<'_, ICoreWebView2ProcessFailedEventArgs>,
29368 ) -> windows_core::Result<()>;
29369}
29370impl ICoreWebView2ProcessFailedEventHandler_Vtbl {
29371 pub const fn new<Identity: ICoreWebView2ProcessFailedEventHandler_Impl, const OFFSET: isize>(
29372 ) -> Self {
29373 unsafe extern "system" fn Invoke<
29374 Identity: ICoreWebView2ProcessFailedEventHandler_Impl,
29375 const OFFSET: isize,
29376 >(
29377 this: *mut core::ffi::c_void,
29378 sender: *mut core::ffi::c_void,
29379 args: *mut core::ffi::c_void,
29380 ) -> windows_core::HRESULT {
29381 unsafe {
29382 let this: &Identity =
29383 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29384 ICoreWebView2ProcessFailedEventHandler_Impl::Invoke(
29385 this,
29386 core::mem::transmute_copy(&sender),
29387 core::mem::transmute_copy(&args),
29388 )
29389 .into()
29390 }
29391 }
29392 Self {
29393 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29394 Invoke: Invoke::<Identity, OFFSET>,
29395 }
29396 }
29397 pub fn matches(iid: &windows_core::GUID) -> bool {
29398 iid == &<ICoreWebView2ProcessFailedEventHandler as windows_core::Interface>::IID
29399 }
29400}
29401impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventHandler {}
29402windows_core::imp::define_interface!(
29403 ICoreWebView2ProcessInfo,
29404 ICoreWebView2ProcessInfo_Vtbl,
29405 0x84fa7612_3f3d_4fbf_889d_fad000492d72
29406);
29407windows_core::imp::interface_hierarchy!(ICoreWebView2ProcessInfo, windows_core::IUnknown);
29408impl ICoreWebView2ProcessInfo {
29409 pub unsafe fn ProcessId(&self, value: *mut i32) -> windows_core::Result<()> {
29410 unsafe {
29411 (windows_core::Interface::vtable(self).ProcessId)(
29412 windows_core::Interface::as_raw(self),
29413 value as _,
29414 )
29415 .ok()
29416 }
29417 }
29418 pub unsafe fn Kind(&self, kind: *mut COREWEBVIEW2_PROCESS_KIND) -> windows_core::Result<()> {
29419 unsafe {
29420 (windows_core::Interface::vtable(self).Kind)(
29421 windows_core::Interface::as_raw(self),
29422 kind as _,
29423 )
29424 .ok()
29425 }
29426 }
29427}
29428#[repr(C)]
29429#[doc(hidden)]
29430pub struct ICoreWebView2ProcessInfo_Vtbl {
29431 pub base__: windows_core::IUnknown_Vtbl,
29432 pub ProcessId:
29433 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
29434 pub Kind: unsafe extern "system" fn(
29435 *mut core::ffi::c_void,
29436 *mut COREWEBVIEW2_PROCESS_KIND,
29437 ) -> windows_core::HRESULT,
29438}
29439pub trait ICoreWebView2ProcessInfo_Impl: windows_core::IUnknownImpl {
29440 fn ProcessId(&self, value: *mut i32) -> windows_core::Result<()>;
29441 fn Kind(&self, kind: *mut COREWEBVIEW2_PROCESS_KIND) -> windows_core::Result<()>;
29442}
29443impl ICoreWebView2ProcessInfo_Vtbl {
29444 pub const fn new<Identity: ICoreWebView2ProcessInfo_Impl, const OFFSET: isize>() -> Self {
29445 unsafe extern "system" fn ProcessId<
29446 Identity: ICoreWebView2ProcessInfo_Impl,
29447 const OFFSET: isize,
29448 >(
29449 this: *mut core::ffi::c_void,
29450 value: *mut i32,
29451 ) -> windows_core::HRESULT {
29452 unsafe {
29453 let this: &Identity =
29454 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29455 ICoreWebView2ProcessInfo_Impl::ProcessId(this, core::mem::transmute_copy(&value))
29456 .into()
29457 }
29458 }
29459 unsafe extern "system" fn Kind<
29460 Identity: ICoreWebView2ProcessInfo_Impl,
29461 const OFFSET: isize,
29462 >(
29463 this: *mut core::ffi::c_void,
29464 kind: *mut COREWEBVIEW2_PROCESS_KIND,
29465 ) -> windows_core::HRESULT {
29466 unsafe {
29467 let this: &Identity =
29468 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29469 ICoreWebView2ProcessInfo_Impl::Kind(this, core::mem::transmute_copy(&kind)).into()
29470 }
29471 }
29472 Self {
29473 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29474 ProcessId: ProcessId::<Identity, OFFSET>,
29475 Kind: Kind::<Identity, OFFSET>,
29476 }
29477 }
29478 pub fn matches(iid: &windows_core::GUID) -> bool {
29479 iid == &<ICoreWebView2ProcessInfo as windows_core::Interface>::IID
29480 }
29481}
29482impl windows_core::RuntimeName for ICoreWebView2ProcessInfo {}
29483windows_core::imp::define_interface!(
29484 ICoreWebView2ProcessInfoCollection,
29485 ICoreWebView2ProcessInfoCollection_Vtbl,
29486 0x402b99cd_a0cc_4fa5_b7a5_51d86a1d2339
29487);
29488windows_core::imp::interface_hierarchy!(ICoreWebView2ProcessInfoCollection, windows_core::IUnknown);
29489impl ICoreWebView2ProcessInfoCollection {
29490 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
29491 unsafe {
29492 (windows_core::Interface::vtable(self).Count)(
29493 windows_core::Interface::as_raw(self),
29494 value as _,
29495 )
29496 .ok()
29497 }
29498 }
29499 pub unsafe fn GetValueAtIndex(
29500 &self,
29501 index: u32,
29502 ) -> windows_core::Result<ICoreWebView2ProcessInfo> {
29503 unsafe {
29504 let mut result__ = core::mem::zeroed();
29505 (windows_core::Interface::vtable(self).GetValueAtIndex)(
29506 windows_core::Interface::as_raw(self),
29507 index,
29508 &mut result__,
29509 )
29510 .and_then(|| windows_core::Type::from_abi(result__))
29511 }
29512 }
29513}
29514#[repr(C)]
29515#[doc(hidden)]
29516pub struct ICoreWebView2ProcessInfoCollection_Vtbl {
29517 pub base__: windows_core::IUnknown_Vtbl,
29518 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
29519 pub GetValueAtIndex: unsafe extern "system" fn(
29520 *mut core::ffi::c_void,
29521 u32,
29522 *mut *mut core::ffi::c_void,
29523 ) -> windows_core::HRESULT,
29524}
29525pub trait ICoreWebView2ProcessInfoCollection_Impl: windows_core::IUnknownImpl {
29526 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
29527 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2ProcessInfo>;
29528}
29529impl ICoreWebView2ProcessInfoCollection_Vtbl {
29530 pub const fn new<Identity: ICoreWebView2ProcessInfoCollection_Impl, const OFFSET: isize>(
29531 ) -> Self {
29532 unsafe extern "system" fn Count<
29533 Identity: ICoreWebView2ProcessInfoCollection_Impl,
29534 const OFFSET: isize,
29535 >(
29536 this: *mut core::ffi::c_void,
29537 value: *mut u32,
29538 ) -> windows_core::HRESULT {
29539 unsafe {
29540 let this: &Identity =
29541 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29542 ICoreWebView2ProcessInfoCollection_Impl::Count(
29543 this,
29544 core::mem::transmute_copy(&value),
29545 )
29546 .into()
29547 }
29548 }
29549 unsafe extern "system" fn GetValueAtIndex<
29550 Identity: ICoreWebView2ProcessInfoCollection_Impl,
29551 const OFFSET: isize,
29552 >(
29553 this: *mut core::ffi::c_void,
29554 index: u32,
29555 value: *mut *mut core::ffi::c_void,
29556 ) -> windows_core::HRESULT {
29557 unsafe {
29558 let this: &Identity =
29559 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29560 match ICoreWebView2ProcessInfoCollection_Impl::GetValueAtIndex(
29561 this,
29562 core::mem::transmute_copy(&index),
29563 ) {
29564 Ok(ok__) => {
29565 value.write(core::mem::transmute(ok__));
29566 windows_core::HRESULT(0)
29567 }
29568 Err(err) => err.into(),
29569 }
29570 }
29571 }
29572 Self {
29573 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29574 Count: Count::<Identity, OFFSET>,
29575 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
29576 }
29577 }
29578 pub fn matches(iid: &windows_core::GUID) -> bool {
29579 iid == &<ICoreWebView2ProcessInfoCollection as windows_core::Interface>::IID
29580 }
29581}
29582impl windows_core::RuntimeName for ICoreWebView2ProcessInfoCollection {}
29583windows_core::imp::define_interface!(
29584 ICoreWebView2ProcessInfosChangedEventHandler,
29585 ICoreWebView2ProcessInfosChangedEventHandler_Vtbl,
29586 0xf4af0c39_44b9_40e9_8b11_0484cfb9e0a1
29587);
29588windows_core::imp::interface_hierarchy!(
29589 ICoreWebView2ProcessInfosChangedEventHandler,
29590 windows_core::IUnknown
29591);
29592impl ICoreWebView2ProcessInfosChangedEventHandler {
29593 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
29594 where
29595 P0: windows_core::Param<ICoreWebView2Environment>,
29596 P1: windows_core::Param<windows_core::IUnknown>,
29597 {
29598 unsafe {
29599 (windows_core::Interface::vtable(self).Invoke)(
29600 windows_core::Interface::as_raw(self),
29601 sender.param().abi(),
29602 args.param().abi(),
29603 )
29604 .ok()
29605 }
29606 }
29607}
29608#[repr(C)]
29609#[doc(hidden)]
29610pub struct ICoreWebView2ProcessInfosChangedEventHandler_Vtbl {
29611 pub base__: windows_core::IUnknown_Vtbl,
29612 pub Invoke: unsafe extern "system" fn(
29613 *mut core::ffi::c_void,
29614 *mut core::ffi::c_void,
29615 *mut core::ffi::c_void,
29616 ) -> windows_core::HRESULT,
29617}
29618pub trait ICoreWebView2ProcessInfosChangedEventHandler_Impl: windows_core::IUnknownImpl {
29619 fn Invoke(
29620 &self,
29621 sender: windows_core::Ref<'_, ICoreWebView2Environment>,
29622 args: windows_core::Ref<'_, windows_core::IUnknown>,
29623 ) -> windows_core::Result<()>;
29624}
29625impl ICoreWebView2ProcessInfosChangedEventHandler_Vtbl {
29626 pub const fn new<
29627 Identity: ICoreWebView2ProcessInfosChangedEventHandler_Impl,
29628 const OFFSET: isize,
29629 >() -> Self {
29630 unsafe extern "system" fn Invoke<
29631 Identity: ICoreWebView2ProcessInfosChangedEventHandler_Impl,
29632 const OFFSET: isize,
29633 >(
29634 this: *mut core::ffi::c_void,
29635 sender: *mut core::ffi::c_void,
29636 args: *mut core::ffi::c_void,
29637 ) -> windows_core::HRESULT {
29638 unsafe {
29639 let this: &Identity =
29640 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29641 ICoreWebView2ProcessInfosChangedEventHandler_Impl::Invoke(
29642 this,
29643 core::mem::transmute_copy(&sender),
29644 core::mem::transmute_copy(&args),
29645 )
29646 .into()
29647 }
29648 }
29649 Self {
29650 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29651 Invoke: Invoke::<Identity, OFFSET>,
29652 }
29653 }
29654 pub fn matches(iid: &windows_core::GUID) -> bool {
29655 iid == &<ICoreWebView2ProcessInfosChangedEventHandler as windows_core::Interface>::IID
29656 }
29657}
29658impl windows_core::RuntimeName for ICoreWebView2ProcessInfosChangedEventHandler {}
29659windows_core::imp::define_interface!(
29660 ICoreWebView2Profile,
29661 ICoreWebView2Profile_Vtbl,
29662 0x79110ad3_cd5d_4373_8bc3_c60658f17a5f
29663);
29664windows_core::imp::interface_hierarchy!(ICoreWebView2Profile, windows_core::IUnknown);
29665impl ICoreWebView2Profile {
29666 pub unsafe fn ProfileName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
29667 unsafe {
29668 (windows_core::Interface::vtable(self).ProfileName)(
29669 windows_core::Interface::as_raw(self),
29670 value as _,
29671 )
29672 .ok()
29673 }
29674 }
29675 pub unsafe fn IsInPrivateModeEnabled(
29676 &self,
29677 value: *mut windows_core::BOOL,
29678 ) -> windows_core::Result<()> {
29679 unsafe {
29680 (windows_core::Interface::vtable(self).IsInPrivateModeEnabled)(
29681 windows_core::Interface::as_raw(self),
29682 value as _,
29683 )
29684 .ok()
29685 }
29686 }
29687 pub unsafe fn ProfilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
29688 unsafe {
29689 (windows_core::Interface::vtable(self).ProfilePath)(
29690 windows_core::Interface::as_raw(self),
29691 value as _,
29692 )
29693 .ok()
29694 }
29695 }
29696 pub unsafe fn DefaultDownloadFolderPath(
29697 &self,
29698 value: *mut windows_core::PWSTR,
29699 ) -> windows_core::Result<()> {
29700 unsafe {
29701 (windows_core::Interface::vtable(self).DefaultDownloadFolderPath)(
29702 windows_core::Interface::as_raw(self),
29703 value as _,
29704 )
29705 .ok()
29706 }
29707 }
29708 pub unsafe fn SetDefaultDownloadFolderPath<P0>(&self, value: P0) -> windows_core::Result<()>
29709 where
29710 P0: windows_core::Param<windows_core::PCWSTR>,
29711 {
29712 unsafe {
29713 (windows_core::Interface::vtable(self).SetDefaultDownloadFolderPath)(
29714 windows_core::Interface::as_raw(self),
29715 value.param().abi(),
29716 )
29717 .ok()
29718 }
29719 }
29720 pub unsafe fn PreferredColorScheme(
29721 &self,
29722 value: *mut COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
29723 ) -> windows_core::Result<()> {
29724 unsafe {
29725 (windows_core::Interface::vtable(self).PreferredColorScheme)(
29726 windows_core::Interface::as_raw(self),
29727 value as _,
29728 )
29729 .ok()
29730 }
29731 }
29732 pub unsafe fn SetPreferredColorScheme(
29733 &self,
29734 value: COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
29735 ) -> windows_core::Result<()> {
29736 unsafe {
29737 (windows_core::Interface::vtable(self).SetPreferredColorScheme)(
29738 windows_core::Interface::as_raw(self),
29739 value,
29740 )
29741 .ok()
29742 }
29743 }
29744}
29745#[repr(C)]
29746#[doc(hidden)]
29747pub struct ICoreWebView2Profile_Vtbl {
29748 pub base__: windows_core::IUnknown_Vtbl,
29749 pub ProfileName: unsafe extern "system" fn(
29750 *mut core::ffi::c_void,
29751 *mut windows_core::PWSTR,
29752 ) -> windows_core::HRESULT,
29753 pub IsInPrivateModeEnabled: unsafe extern "system" fn(
29754 *mut core::ffi::c_void,
29755 *mut windows_core::BOOL,
29756 ) -> windows_core::HRESULT,
29757 pub ProfilePath: unsafe extern "system" fn(
29758 *mut core::ffi::c_void,
29759 *mut windows_core::PWSTR,
29760 ) -> windows_core::HRESULT,
29761 pub DefaultDownloadFolderPath: unsafe extern "system" fn(
29762 *mut core::ffi::c_void,
29763 *mut windows_core::PWSTR,
29764 ) -> windows_core::HRESULT,
29765 pub SetDefaultDownloadFolderPath: unsafe extern "system" fn(
29766 *mut core::ffi::c_void,
29767 windows_core::PCWSTR,
29768 ) -> windows_core::HRESULT,
29769 pub PreferredColorScheme: unsafe extern "system" fn(
29770 *mut core::ffi::c_void,
29771 *mut COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
29772 ) -> windows_core::HRESULT,
29773 pub SetPreferredColorScheme: unsafe extern "system" fn(
29774 *mut core::ffi::c_void,
29775 COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
29776 ) -> windows_core::HRESULT,
29777}
29778pub trait ICoreWebView2Profile_Impl: windows_core::IUnknownImpl {
29779 fn ProfileName(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
29780 fn IsInPrivateModeEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
29781 fn ProfilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
29782 fn DefaultDownloadFolderPath(
29783 &self,
29784 value: *mut windows_core::PWSTR,
29785 ) -> windows_core::Result<()>;
29786 fn SetDefaultDownloadFolderPath(
29787 &self,
29788 value: &windows_core::PCWSTR,
29789 ) -> windows_core::Result<()>;
29790 fn PreferredColorScheme(
29791 &self,
29792 value: *mut COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
29793 ) -> windows_core::Result<()>;
29794 fn SetPreferredColorScheme(
29795 &self,
29796 value: COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
29797 ) -> windows_core::Result<()>;
29798}
29799impl ICoreWebView2Profile_Vtbl {
29800 pub const fn new<Identity: ICoreWebView2Profile_Impl, const OFFSET: isize>() -> Self {
29801 unsafe extern "system" fn ProfileName<
29802 Identity: ICoreWebView2Profile_Impl,
29803 const OFFSET: isize,
29804 >(
29805 this: *mut core::ffi::c_void,
29806 value: *mut windows_core::PWSTR,
29807 ) -> windows_core::HRESULT {
29808 unsafe {
29809 let this: &Identity =
29810 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29811 ICoreWebView2Profile_Impl::ProfileName(this, core::mem::transmute_copy(&value))
29812 .into()
29813 }
29814 }
29815 unsafe extern "system" fn IsInPrivateModeEnabled<
29816 Identity: ICoreWebView2Profile_Impl,
29817 const OFFSET: isize,
29818 >(
29819 this: *mut core::ffi::c_void,
29820 value: *mut windows_core::BOOL,
29821 ) -> windows_core::HRESULT {
29822 unsafe {
29823 let this: &Identity =
29824 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29825 ICoreWebView2Profile_Impl::IsInPrivateModeEnabled(
29826 this,
29827 core::mem::transmute_copy(&value),
29828 )
29829 .into()
29830 }
29831 }
29832 unsafe extern "system" fn ProfilePath<
29833 Identity: ICoreWebView2Profile_Impl,
29834 const OFFSET: isize,
29835 >(
29836 this: *mut core::ffi::c_void,
29837 value: *mut windows_core::PWSTR,
29838 ) -> windows_core::HRESULT {
29839 unsafe {
29840 let this: &Identity =
29841 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29842 ICoreWebView2Profile_Impl::ProfilePath(this, core::mem::transmute_copy(&value))
29843 .into()
29844 }
29845 }
29846 unsafe extern "system" fn DefaultDownloadFolderPath<
29847 Identity: ICoreWebView2Profile_Impl,
29848 const OFFSET: isize,
29849 >(
29850 this: *mut core::ffi::c_void,
29851 value: *mut windows_core::PWSTR,
29852 ) -> windows_core::HRESULT {
29853 unsafe {
29854 let this: &Identity =
29855 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29856 ICoreWebView2Profile_Impl::DefaultDownloadFolderPath(
29857 this,
29858 core::mem::transmute_copy(&value),
29859 )
29860 .into()
29861 }
29862 }
29863 unsafe extern "system" fn SetDefaultDownloadFolderPath<
29864 Identity: ICoreWebView2Profile_Impl,
29865 const OFFSET: isize,
29866 >(
29867 this: *mut core::ffi::c_void,
29868 value: windows_core::PCWSTR,
29869 ) -> windows_core::HRESULT {
29870 unsafe {
29871 let this: &Identity =
29872 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29873 ICoreWebView2Profile_Impl::SetDefaultDownloadFolderPath(
29874 this,
29875 core::mem::transmute(&value),
29876 )
29877 .into()
29878 }
29879 }
29880 unsafe extern "system" fn PreferredColorScheme<
29881 Identity: ICoreWebView2Profile_Impl,
29882 const OFFSET: isize,
29883 >(
29884 this: *mut core::ffi::c_void,
29885 value: *mut COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
29886 ) -> windows_core::HRESULT {
29887 unsafe {
29888 let this: &Identity =
29889 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29890 ICoreWebView2Profile_Impl::PreferredColorScheme(
29891 this,
29892 core::mem::transmute_copy(&value),
29893 )
29894 .into()
29895 }
29896 }
29897 unsafe extern "system" fn SetPreferredColorScheme<
29898 Identity: ICoreWebView2Profile_Impl,
29899 const OFFSET: isize,
29900 >(
29901 this: *mut core::ffi::c_void,
29902 value: COREWEBVIEW2_PREFERRED_COLOR_SCHEME,
29903 ) -> windows_core::HRESULT {
29904 unsafe {
29905 let this: &Identity =
29906 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29907 ICoreWebView2Profile_Impl::SetPreferredColorScheme(
29908 this,
29909 core::mem::transmute_copy(&value),
29910 )
29911 .into()
29912 }
29913 }
29914 Self {
29915 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
29916 ProfileName: ProfileName::<Identity, OFFSET>,
29917 IsInPrivateModeEnabled: IsInPrivateModeEnabled::<Identity, OFFSET>,
29918 ProfilePath: ProfilePath::<Identity, OFFSET>,
29919 DefaultDownloadFolderPath: DefaultDownloadFolderPath::<Identity, OFFSET>,
29920 SetDefaultDownloadFolderPath: SetDefaultDownloadFolderPath::<Identity, OFFSET>,
29921 PreferredColorScheme: PreferredColorScheme::<Identity, OFFSET>,
29922 SetPreferredColorScheme: SetPreferredColorScheme::<Identity, OFFSET>,
29923 }
29924 }
29925 pub fn matches(iid: &windows_core::GUID) -> bool {
29926 iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
29927 }
29928}
29929impl windows_core::RuntimeName for ICoreWebView2Profile {}
29930windows_core::imp::define_interface!(
29931 ICoreWebView2Profile2,
29932 ICoreWebView2Profile2_Vtbl,
29933 0xfa740d4b_5eae_4344_a8ad_74be31925397
29934);
29935impl core::ops::Deref for ICoreWebView2Profile2 {
29936 type Target = ICoreWebView2Profile;
29937 fn deref(&self) -> &Self::Target {
29938 unsafe { core::mem::transmute(self) }
29939 }
29940}
29941windows_core::imp::interface_hierarchy!(
29942 ICoreWebView2Profile2,
29943 windows_core::IUnknown,
29944 ICoreWebView2Profile
29945);
29946impl ICoreWebView2Profile2 {
29947 pub unsafe fn ClearBrowsingData<P1>(
29948 &self,
29949 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
29950 handler: P1,
29951 ) -> windows_core::Result<()>
29952 where
29953 P1: windows_core::Param<ICoreWebView2ClearBrowsingDataCompletedHandler>,
29954 {
29955 unsafe {
29956 (windows_core::Interface::vtable(self).ClearBrowsingData)(
29957 windows_core::Interface::as_raw(self),
29958 datakinds,
29959 handler.param().abi(),
29960 )
29961 .ok()
29962 }
29963 }
29964 pub unsafe fn ClearBrowsingDataInTimeRange<P3>(
29965 &self,
29966 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
29967 starttime: f64,
29968 endtime: f64,
29969 handler: P3,
29970 ) -> windows_core::Result<()>
29971 where
29972 P3: windows_core::Param<ICoreWebView2ClearBrowsingDataCompletedHandler>,
29973 {
29974 unsafe {
29975 (windows_core::Interface::vtable(self).ClearBrowsingDataInTimeRange)(
29976 windows_core::Interface::as_raw(self),
29977 datakinds,
29978 starttime,
29979 endtime,
29980 handler.param().abi(),
29981 )
29982 .ok()
29983 }
29984 }
29985 pub unsafe fn ClearBrowsingDataAll<P0>(&self, handler: P0) -> windows_core::Result<()>
29986 where
29987 P0: windows_core::Param<ICoreWebView2ClearBrowsingDataCompletedHandler>,
29988 {
29989 unsafe {
29990 (windows_core::Interface::vtable(self).ClearBrowsingDataAll)(
29991 windows_core::Interface::as_raw(self),
29992 handler.param().abi(),
29993 )
29994 .ok()
29995 }
29996 }
29997}
29998#[repr(C)]
29999#[doc(hidden)]
30000pub struct ICoreWebView2Profile2_Vtbl {
30001 pub base__: ICoreWebView2Profile_Vtbl,
30002 pub ClearBrowsingData: unsafe extern "system" fn(
30003 *mut core::ffi::c_void,
30004 COREWEBVIEW2_BROWSING_DATA_KINDS,
30005 *mut core::ffi::c_void,
30006 ) -> windows_core::HRESULT,
30007 pub ClearBrowsingDataInTimeRange: unsafe extern "system" fn(
30008 *mut core::ffi::c_void,
30009 COREWEBVIEW2_BROWSING_DATA_KINDS,
30010 f64,
30011 f64,
30012 *mut core::ffi::c_void,
30013 ) -> windows_core::HRESULT,
30014 pub ClearBrowsingDataAll: unsafe extern "system" fn(
30015 *mut core::ffi::c_void,
30016 *mut core::ffi::c_void,
30017 ) -> windows_core::HRESULT,
30018}
30019pub trait ICoreWebView2Profile2_Impl: ICoreWebView2Profile_Impl {
30020 fn ClearBrowsingData(
30021 &self,
30022 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
30023 handler: windows_core::Ref<'_, ICoreWebView2ClearBrowsingDataCompletedHandler>,
30024 ) -> windows_core::Result<()>;
30025 fn ClearBrowsingDataInTimeRange(
30026 &self,
30027 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
30028 starttime: f64,
30029 endtime: f64,
30030 handler: windows_core::Ref<'_, ICoreWebView2ClearBrowsingDataCompletedHandler>,
30031 ) -> windows_core::Result<()>;
30032 fn ClearBrowsingDataAll(
30033 &self,
30034 handler: windows_core::Ref<'_, ICoreWebView2ClearBrowsingDataCompletedHandler>,
30035 ) -> windows_core::Result<()>;
30036}
30037impl ICoreWebView2Profile2_Vtbl {
30038 pub const fn new<Identity: ICoreWebView2Profile2_Impl, const OFFSET: isize>() -> Self {
30039 unsafe extern "system" fn ClearBrowsingData<
30040 Identity: ICoreWebView2Profile2_Impl,
30041 const OFFSET: isize,
30042 >(
30043 this: *mut core::ffi::c_void,
30044 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
30045 handler: *mut core::ffi::c_void,
30046 ) -> windows_core::HRESULT {
30047 unsafe {
30048 let this: &Identity =
30049 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30050 ICoreWebView2Profile2_Impl::ClearBrowsingData(
30051 this,
30052 core::mem::transmute_copy(&datakinds),
30053 core::mem::transmute_copy(&handler),
30054 )
30055 .into()
30056 }
30057 }
30058 unsafe extern "system" fn ClearBrowsingDataInTimeRange<
30059 Identity: ICoreWebView2Profile2_Impl,
30060 const OFFSET: isize,
30061 >(
30062 this: *mut core::ffi::c_void,
30063 datakinds: COREWEBVIEW2_BROWSING_DATA_KINDS,
30064 starttime: f64,
30065 endtime: f64,
30066 handler: *mut core::ffi::c_void,
30067 ) -> windows_core::HRESULT {
30068 unsafe {
30069 let this: &Identity =
30070 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30071 ICoreWebView2Profile2_Impl::ClearBrowsingDataInTimeRange(
30072 this,
30073 core::mem::transmute_copy(&datakinds),
30074 core::mem::transmute_copy(&starttime),
30075 core::mem::transmute_copy(&endtime),
30076 core::mem::transmute_copy(&handler),
30077 )
30078 .into()
30079 }
30080 }
30081 unsafe extern "system" fn ClearBrowsingDataAll<
30082 Identity: ICoreWebView2Profile2_Impl,
30083 const OFFSET: isize,
30084 >(
30085 this: *mut core::ffi::c_void,
30086 handler: *mut core::ffi::c_void,
30087 ) -> windows_core::HRESULT {
30088 unsafe {
30089 let this: &Identity =
30090 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30091 ICoreWebView2Profile2_Impl::ClearBrowsingDataAll(
30092 this,
30093 core::mem::transmute_copy(&handler),
30094 )
30095 .into()
30096 }
30097 }
30098 Self {
30099 base__: ICoreWebView2Profile_Vtbl::new::<Identity, OFFSET>(),
30100 ClearBrowsingData: ClearBrowsingData::<Identity, OFFSET>,
30101 ClearBrowsingDataInTimeRange: ClearBrowsingDataInTimeRange::<Identity, OFFSET>,
30102 ClearBrowsingDataAll: ClearBrowsingDataAll::<Identity, OFFSET>,
30103 }
30104 }
30105 pub fn matches(iid: &windows_core::GUID) -> bool {
30106 iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
30107 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
30108 }
30109}
30110impl windows_core::RuntimeName for ICoreWebView2Profile2 {}
30111windows_core::imp::define_interface!(
30112 ICoreWebView2Profile3,
30113 ICoreWebView2Profile3_Vtbl,
30114 0xb188e659_5685_4e05_bdba_fc640e0f1992
30115);
30116impl core::ops::Deref for ICoreWebView2Profile3 {
30117 type Target = ICoreWebView2Profile2;
30118 fn deref(&self) -> &Self::Target {
30119 unsafe { core::mem::transmute(self) }
30120 }
30121}
30122windows_core::imp::interface_hierarchy!(
30123 ICoreWebView2Profile3,
30124 windows_core::IUnknown,
30125 ICoreWebView2Profile,
30126 ICoreWebView2Profile2
30127);
30128impl ICoreWebView2Profile3 {
30129 pub unsafe fn PreferredTrackingPreventionLevel(
30130 &self,
30131 value: *mut COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30132 ) -> windows_core::Result<()> {
30133 unsafe {
30134 (windows_core::Interface::vtable(self).PreferredTrackingPreventionLevel)(
30135 windows_core::Interface::as_raw(self),
30136 value as _,
30137 )
30138 .ok()
30139 }
30140 }
30141 pub unsafe fn SetPreferredTrackingPreventionLevel(
30142 &self,
30143 value: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30144 ) -> windows_core::Result<()> {
30145 unsafe {
30146 (windows_core::Interface::vtable(self).SetPreferredTrackingPreventionLevel)(
30147 windows_core::Interface::as_raw(self),
30148 value,
30149 )
30150 .ok()
30151 }
30152 }
30153}
30154#[repr(C)]
30155#[doc(hidden)]
30156pub struct ICoreWebView2Profile3_Vtbl {
30157 pub base__: ICoreWebView2Profile2_Vtbl,
30158 pub PreferredTrackingPreventionLevel: unsafe extern "system" fn(
30159 *mut core::ffi::c_void,
30160 *mut COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30161 ) -> windows_core::HRESULT,
30162 pub SetPreferredTrackingPreventionLevel: unsafe extern "system" fn(
30163 *mut core::ffi::c_void,
30164 COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30165 )
30166 -> windows_core::HRESULT,
30167}
30168pub trait ICoreWebView2Profile3_Impl: ICoreWebView2Profile2_Impl {
30169 fn PreferredTrackingPreventionLevel(
30170 &self,
30171 value: *mut COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30172 ) -> windows_core::Result<()>;
30173 fn SetPreferredTrackingPreventionLevel(
30174 &self,
30175 value: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30176 ) -> windows_core::Result<()>;
30177}
30178impl ICoreWebView2Profile3_Vtbl {
30179 pub const fn new<Identity: ICoreWebView2Profile3_Impl, const OFFSET: isize>() -> Self {
30180 unsafe extern "system" fn PreferredTrackingPreventionLevel<
30181 Identity: ICoreWebView2Profile3_Impl,
30182 const OFFSET: isize,
30183 >(
30184 this: *mut core::ffi::c_void,
30185 value: *mut COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30186 ) -> windows_core::HRESULT {
30187 unsafe {
30188 let this: &Identity =
30189 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30190 ICoreWebView2Profile3_Impl::PreferredTrackingPreventionLevel(
30191 this,
30192 core::mem::transmute_copy(&value),
30193 )
30194 .into()
30195 }
30196 }
30197 unsafe extern "system" fn SetPreferredTrackingPreventionLevel<
30198 Identity: ICoreWebView2Profile3_Impl,
30199 const OFFSET: isize,
30200 >(
30201 this: *mut core::ffi::c_void,
30202 value: COREWEBVIEW2_TRACKING_PREVENTION_LEVEL,
30203 ) -> windows_core::HRESULT {
30204 unsafe {
30205 let this: &Identity =
30206 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30207 ICoreWebView2Profile3_Impl::SetPreferredTrackingPreventionLevel(
30208 this,
30209 core::mem::transmute_copy(&value),
30210 )
30211 .into()
30212 }
30213 }
30214 Self {
30215 base__: ICoreWebView2Profile2_Vtbl::new::<Identity, OFFSET>(),
30216 PreferredTrackingPreventionLevel: PreferredTrackingPreventionLevel::<Identity, OFFSET>,
30217 SetPreferredTrackingPreventionLevel: SetPreferredTrackingPreventionLevel::<
30218 Identity,
30219 OFFSET,
30220 >,
30221 }
30222 }
30223 pub fn matches(iid: &windows_core::GUID) -> bool {
30224 iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
30225 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
30226 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
30227 }
30228}
30229impl windows_core::RuntimeName for ICoreWebView2Profile3 {}
30230windows_core::imp::define_interface!(
30231 ICoreWebView2Profile4,
30232 ICoreWebView2Profile4_Vtbl,
30233 0x8f4ae680_192e_4ec8_833a_21cfadaef628
30234);
30235impl core::ops::Deref for ICoreWebView2Profile4 {
30236 type Target = ICoreWebView2Profile3;
30237 fn deref(&self) -> &Self::Target {
30238 unsafe { core::mem::transmute(self) }
30239 }
30240}
30241windows_core::imp::interface_hierarchy!(
30242 ICoreWebView2Profile4,
30243 windows_core::IUnknown,
30244 ICoreWebView2Profile,
30245 ICoreWebView2Profile2,
30246 ICoreWebView2Profile3
30247);
30248impl ICoreWebView2Profile4 {
30249 pub unsafe fn SetPermissionState<P1, P3>(
30250 &self,
30251 permissionkind: COREWEBVIEW2_PERMISSION_KIND,
30252 origin: P1,
30253 state: COREWEBVIEW2_PERMISSION_STATE,
30254 handler: P3,
30255 ) -> windows_core::Result<()>
30256 where
30257 P1: windows_core::Param<windows_core::PCWSTR>,
30258 P3: windows_core::Param<ICoreWebView2SetPermissionStateCompletedHandler>,
30259 {
30260 unsafe {
30261 (windows_core::Interface::vtable(self).SetPermissionState)(
30262 windows_core::Interface::as_raw(self),
30263 permissionkind,
30264 origin.param().abi(),
30265 state,
30266 handler.param().abi(),
30267 )
30268 .ok()
30269 }
30270 }
30271 pub unsafe fn GetNonDefaultPermissionSettings<P0>(
30272 &self,
30273 handler: P0,
30274 ) -> windows_core::Result<()>
30275 where
30276 P0: windows_core::Param<ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler>,
30277 {
30278 unsafe {
30279 (windows_core::Interface::vtable(self).GetNonDefaultPermissionSettings)(
30280 windows_core::Interface::as_raw(self),
30281 handler.param().abi(),
30282 )
30283 .ok()
30284 }
30285 }
30286}
30287#[repr(C)]
30288#[doc(hidden)]
30289pub struct ICoreWebView2Profile4_Vtbl {
30290 pub base__: ICoreWebView2Profile3_Vtbl,
30291 pub SetPermissionState: unsafe extern "system" fn(
30292 *mut core::ffi::c_void,
30293 COREWEBVIEW2_PERMISSION_KIND,
30294 windows_core::PCWSTR,
30295 COREWEBVIEW2_PERMISSION_STATE,
30296 *mut core::ffi::c_void,
30297 ) -> windows_core::HRESULT,
30298 pub GetNonDefaultPermissionSettings: unsafe extern "system" fn(
30299 *mut core::ffi::c_void,
30300 *mut core::ffi::c_void,
30301 ) -> windows_core::HRESULT,
30302}
30303pub trait ICoreWebView2Profile4_Impl: ICoreWebView2Profile3_Impl {
30304 fn SetPermissionState(
30305 &self,
30306 permissionkind: COREWEBVIEW2_PERMISSION_KIND,
30307 origin: &windows_core::PCWSTR,
30308 state: COREWEBVIEW2_PERMISSION_STATE,
30309 handler: windows_core::Ref<'_, ICoreWebView2SetPermissionStateCompletedHandler>,
30310 ) -> windows_core::Result<()>;
30311 fn GetNonDefaultPermissionSettings(
30312 &self,
30313 handler: windows_core::Ref<
30314 '_,
30315 ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler,
30316 >,
30317 ) -> windows_core::Result<()>;
30318}
30319impl ICoreWebView2Profile4_Vtbl {
30320 pub const fn new<Identity: ICoreWebView2Profile4_Impl, const OFFSET: isize>() -> Self {
30321 unsafe extern "system" fn SetPermissionState<
30322 Identity: ICoreWebView2Profile4_Impl,
30323 const OFFSET: isize,
30324 >(
30325 this: *mut core::ffi::c_void,
30326 permissionkind: COREWEBVIEW2_PERMISSION_KIND,
30327 origin: windows_core::PCWSTR,
30328 state: COREWEBVIEW2_PERMISSION_STATE,
30329 handler: *mut core::ffi::c_void,
30330 ) -> windows_core::HRESULT {
30331 unsafe {
30332 let this: &Identity =
30333 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30334 ICoreWebView2Profile4_Impl::SetPermissionState(
30335 this,
30336 core::mem::transmute_copy(&permissionkind),
30337 core::mem::transmute(&origin),
30338 core::mem::transmute_copy(&state),
30339 core::mem::transmute_copy(&handler),
30340 )
30341 .into()
30342 }
30343 }
30344 unsafe extern "system" fn GetNonDefaultPermissionSettings<
30345 Identity: ICoreWebView2Profile4_Impl,
30346 const OFFSET: isize,
30347 >(
30348 this: *mut core::ffi::c_void,
30349 handler: *mut core::ffi::c_void,
30350 ) -> windows_core::HRESULT {
30351 unsafe {
30352 let this: &Identity =
30353 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30354 ICoreWebView2Profile4_Impl::GetNonDefaultPermissionSettings(
30355 this,
30356 core::mem::transmute_copy(&handler),
30357 )
30358 .into()
30359 }
30360 }
30361 Self {
30362 base__: ICoreWebView2Profile3_Vtbl::new::<Identity, OFFSET>(),
30363 SetPermissionState: SetPermissionState::<Identity, OFFSET>,
30364 GetNonDefaultPermissionSettings: GetNonDefaultPermissionSettings::<Identity, OFFSET>,
30365 }
30366 }
30367 pub fn matches(iid: &windows_core::GUID) -> bool {
30368 iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
30369 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
30370 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
30371 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
30372 }
30373}
30374impl windows_core::RuntimeName for ICoreWebView2Profile4 {}
30375windows_core::imp::define_interface!(
30376 ICoreWebView2Profile5,
30377 ICoreWebView2Profile5_Vtbl,
30378 0x2ee5b76e_6e80_4df2_bcd3_d4ec3340a01b
30379);
30380impl core::ops::Deref for ICoreWebView2Profile5 {
30381 type Target = ICoreWebView2Profile4;
30382 fn deref(&self) -> &Self::Target {
30383 unsafe { core::mem::transmute(self) }
30384 }
30385}
30386windows_core::imp::interface_hierarchy!(
30387 ICoreWebView2Profile5,
30388 windows_core::IUnknown,
30389 ICoreWebView2Profile,
30390 ICoreWebView2Profile2,
30391 ICoreWebView2Profile3,
30392 ICoreWebView2Profile4
30393);
30394impl ICoreWebView2Profile5 {
30395 pub unsafe fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager> {
30396 unsafe {
30397 let mut result__ = core::mem::zeroed();
30398 (windows_core::Interface::vtable(self).CookieManager)(
30399 windows_core::Interface::as_raw(self),
30400 &mut result__,
30401 )
30402 .and_then(|| windows_core::Type::from_abi(result__))
30403 }
30404 }
30405}
30406#[repr(C)]
30407#[doc(hidden)]
30408pub struct ICoreWebView2Profile5_Vtbl {
30409 pub base__: ICoreWebView2Profile4_Vtbl,
30410 pub CookieManager: unsafe extern "system" fn(
30411 *mut core::ffi::c_void,
30412 *mut *mut core::ffi::c_void,
30413 ) -> windows_core::HRESULT,
30414}
30415pub trait ICoreWebView2Profile5_Impl: ICoreWebView2Profile4_Impl {
30416 fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager>;
30417}
30418impl ICoreWebView2Profile5_Vtbl {
30419 pub const fn new<Identity: ICoreWebView2Profile5_Impl, const OFFSET: isize>() -> Self {
30420 unsafe extern "system" fn CookieManager<
30421 Identity: ICoreWebView2Profile5_Impl,
30422 const OFFSET: isize,
30423 >(
30424 this: *mut core::ffi::c_void,
30425 value: *mut *mut core::ffi::c_void,
30426 ) -> windows_core::HRESULT {
30427 unsafe {
30428 let this: &Identity =
30429 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30430 match ICoreWebView2Profile5_Impl::CookieManager(this) {
30431 Ok(ok__) => {
30432 value.write(core::mem::transmute(ok__));
30433 windows_core::HRESULT(0)
30434 }
30435 Err(err) => err.into(),
30436 }
30437 }
30438 }
30439 Self {
30440 base__: ICoreWebView2Profile4_Vtbl::new::<Identity, OFFSET>(),
30441 CookieManager: CookieManager::<Identity, OFFSET>,
30442 }
30443 }
30444 pub fn matches(iid: &windows_core::GUID) -> bool {
30445 iid == &<ICoreWebView2Profile5 as windows_core::Interface>::IID
30446 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
30447 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
30448 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
30449 || iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
30450 }
30451}
30452impl windows_core::RuntimeName for ICoreWebView2Profile5 {}
30453windows_core::imp::define_interface!(
30454 ICoreWebView2Profile6,
30455 ICoreWebView2Profile6_Vtbl,
30456 0xbd82fa6a_1d65_4c33_b2b4_0393020cc61b
30457);
30458impl core::ops::Deref for ICoreWebView2Profile6 {
30459 type Target = ICoreWebView2Profile5;
30460 fn deref(&self) -> &Self::Target {
30461 unsafe { core::mem::transmute(self) }
30462 }
30463}
30464windows_core::imp::interface_hierarchy!(
30465 ICoreWebView2Profile6,
30466 windows_core::IUnknown,
30467 ICoreWebView2Profile,
30468 ICoreWebView2Profile2,
30469 ICoreWebView2Profile3,
30470 ICoreWebView2Profile4,
30471 ICoreWebView2Profile5
30472);
30473impl ICoreWebView2Profile6 {
30474 pub unsafe fn IsPasswordAutosaveEnabled(
30475 &self,
30476 value: *mut windows_core::BOOL,
30477 ) -> windows_core::Result<()> {
30478 unsafe {
30479 (windows_core::Interface::vtable(self).IsPasswordAutosaveEnabled)(
30480 windows_core::Interface::as_raw(self),
30481 value as _,
30482 )
30483 .ok()
30484 }
30485 }
30486 pub unsafe fn SetIsPasswordAutosaveEnabled(&self, value: bool) -> windows_core::Result<()> {
30487 unsafe {
30488 (windows_core::Interface::vtable(self).SetIsPasswordAutosaveEnabled)(
30489 windows_core::Interface::as_raw(self),
30490 value.into(),
30491 )
30492 .ok()
30493 }
30494 }
30495 pub unsafe fn IsGeneralAutofillEnabled(
30496 &self,
30497 value: *mut windows_core::BOOL,
30498 ) -> windows_core::Result<()> {
30499 unsafe {
30500 (windows_core::Interface::vtable(self).IsGeneralAutofillEnabled)(
30501 windows_core::Interface::as_raw(self),
30502 value as _,
30503 )
30504 .ok()
30505 }
30506 }
30507 pub unsafe fn SetIsGeneralAutofillEnabled(&self, value: bool) -> windows_core::Result<()> {
30508 unsafe {
30509 (windows_core::Interface::vtable(self).SetIsGeneralAutofillEnabled)(
30510 windows_core::Interface::as_raw(self),
30511 value.into(),
30512 )
30513 .ok()
30514 }
30515 }
30516}
30517#[repr(C)]
30518#[doc(hidden)]
30519pub struct ICoreWebView2Profile6_Vtbl {
30520 pub base__: ICoreWebView2Profile5_Vtbl,
30521 pub IsPasswordAutosaveEnabled: unsafe extern "system" fn(
30522 *mut core::ffi::c_void,
30523 *mut windows_core::BOOL,
30524 ) -> windows_core::HRESULT,
30525 pub SetIsPasswordAutosaveEnabled: unsafe extern "system" fn(
30526 *mut core::ffi::c_void,
30527 windows_core::BOOL,
30528 ) -> windows_core::HRESULT,
30529 pub IsGeneralAutofillEnabled: unsafe extern "system" fn(
30530 *mut core::ffi::c_void,
30531 *mut windows_core::BOOL,
30532 ) -> windows_core::HRESULT,
30533 pub SetIsGeneralAutofillEnabled: unsafe extern "system" fn(
30534 *mut core::ffi::c_void,
30535 windows_core::BOOL,
30536 ) -> windows_core::HRESULT,
30537}
30538pub trait ICoreWebView2Profile6_Impl: ICoreWebView2Profile5_Impl {
30539 fn IsPasswordAutosaveEnabled(&self, value: *mut windows_core::BOOL)
30540 -> windows_core::Result<()>;
30541 fn SetIsPasswordAutosaveEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
30542 fn IsGeneralAutofillEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
30543 fn SetIsGeneralAutofillEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
30544}
30545impl ICoreWebView2Profile6_Vtbl {
30546 pub const fn new<Identity: ICoreWebView2Profile6_Impl, const OFFSET: isize>() -> Self {
30547 unsafe extern "system" fn IsPasswordAutosaveEnabled<
30548 Identity: ICoreWebView2Profile6_Impl,
30549 const OFFSET: isize,
30550 >(
30551 this: *mut core::ffi::c_void,
30552 value: *mut windows_core::BOOL,
30553 ) -> windows_core::HRESULT {
30554 unsafe {
30555 let this: &Identity =
30556 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30557 ICoreWebView2Profile6_Impl::IsPasswordAutosaveEnabled(
30558 this,
30559 core::mem::transmute_copy(&value),
30560 )
30561 .into()
30562 }
30563 }
30564 unsafe extern "system" fn SetIsPasswordAutosaveEnabled<
30565 Identity: ICoreWebView2Profile6_Impl,
30566 const OFFSET: isize,
30567 >(
30568 this: *mut core::ffi::c_void,
30569 value: windows_core::BOOL,
30570 ) -> windows_core::HRESULT {
30571 unsafe {
30572 let this: &Identity =
30573 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30574 ICoreWebView2Profile6_Impl::SetIsPasswordAutosaveEnabled(
30575 this,
30576 core::mem::transmute_copy(&value),
30577 )
30578 .into()
30579 }
30580 }
30581 unsafe extern "system" fn IsGeneralAutofillEnabled<
30582 Identity: ICoreWebView2Profile6_Impl,
30583 const OFFSET: isize,
30584 >(
30585 this: *mut core::ffi::c_void,
30586 value: *mut windows_core::BOOL,
30587 ) -> windows_core::HRESULT {
30588 unsafe {
30589 let this: &Identity =
30590 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30591 ICoreWebView2Profile6_Impl::IsGeneralAutofillEnabled(
30592 this,
30593 core::mem::transmute_copy(&value),
30594 )
30595 .into()
30596 }
30597 }
30598 unsafe extern "system" fn SetIsGeneralAutofillEnabled<
30599 Identity: ICoreWebView2Profile6_Impl,
30600 const OFFSET: isize,
30601 >(
30602 this: *mut core::ffi::c_void,
30603 value: windows_core::BOOL,
30604 ) -> windows_core::HRESULT {
30605 unsafe {
30606 let this: &Identity =
30607 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30608 ICoreWebView2Profile6_Impl::SetIsGeneralAutofillEnabled(
30609 this,
30610 core::mem::transmute_copy(&value),
30611 )
30612 .into()
30613 }
30614 }
30615 Self {
30616 base__: ICoreWebView2Profile5_Vtbl::new::<Identity, OFFSET>(),
30617 IsPasswordAutosaveEnabled: IsPasswordAutosaveEnabled::<Identity, OFFSET>,
30618 SetIsPasswordAutosaveEnabled: SetIsPasswordAutosaveEnabled::<Identity, OFFSET>,
30619 IsGeneralAutofillEnabled: IsGeneralAutofillEnabled::<Identity, OFFSET>,
30620 SetIsGeneralAutofillEnabled: SetIsGeneralAutofillEnabled::<Identity, OFFSET>,
30621 }
30622 }
30623 pub fn matches(iid: &windows_core::GUID) -> bool {
30624 iid == &<ICoreWebView2Profile6 as windows_core::Interface>::IID
30625 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
30626 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
30627 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
30628 || iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
30629 || iid == &<ICoreWebView2Profile5 as windows_core::Interface>::IID
30630 }
30631}
30632impl windows_core::RuntimeName for ICoreWebView2Profile6 {}
30633windows_core::imp::define_interface!(
30634 ICoreWebView2Profile7,
30635 ICoreWebView2Profile7_Vtbl,
30636 0x7b4c7906_a1aa_4cb4_b723_db09f813d541
30637);
30638impl core::ops::Deref for ICoreWebView2Profile7 {
30639 type Target = ICoreWebView2Profile6;
30640 fn deref(&self) -> &Self::Target {
30641 unsafe { core::mem::transmute(self) }
30642 }
30643}
30644windows_core::imp::interface_hierarchy!(
30645 ICoreWebView2Profile7,
30646 windows_core::IUnknown,
30647 ICoreWebView2Profile,
30648 ICoreWebView2Profile2,
30649 ICoreWebView2Profile3,
30650 ICoreWebView2Profile4,
30651 ICoreWebView2Profile5,
30652 ICoreWebView2Profile6
30653);
30654impl ICoreWebView2Profile7 {
30655 pub unsafe fn AddBrowserExtension<P0, P1>(
30656 &self,
30657 extensionfolderpath: P0,
30658 handler: P1,
30659 ) -> windows_core::Result<()>
30660 where
30661 P0: windows_core::Param<windows_core::PCWSTR>,
30662 P1: windows_core::Param<ICoreWebView2ProfileAddBrowserExtensionCompletedHandler>,
30663 {
30664 unsafe {
30665 (windows_core::Interface::vtable(self).AddBrowserExtension)(
30666 windows_core::Interface::as_raw(self),
30667 extensionfolderpath.param().abi(),
30668 handler.param().abi(),
30669 )
30670 .ok()
30671 }
30672 }
30673 pub unsafe fn GetBrowserExtensions<P0>(&self, handler: P0) -> windows_core::Result<()>
30674 where
30675 P0: windows_core::Param<ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler>,
30676 {
30677 unsafe {
30678 (windows_core::Interface::vtable(self).GetBrowserExtensions)(
30679 windows_core::Interface::as_raw(self),
30680 handler.param().abi(),
30681 )
30682 .ok()
30683 }
30684 }
30685}
30686#[repr(C)]
30687#[doc(hidden)]
30688pub struct ICoreWebView2Profile7_Vtbl {
30689 pub base__: ICoreWebView2Profile6_Vtbl,
30690 pub AddBrowserExtension: unsafe extern "system" fn(
30691 *mut core::ffi::c_void,
30692 windows_core::PCWSTR,
30693 *mut core::ffi::c_void,
30694 ) -> windows_core::HRESULT,
30695 pub GetBrowserExtensions: unsafe extern "system" fn(
30696 *mut core::ffi::c_void,
30697 *mut core::ffi::c_void,
30698 ) -> windows_core::HRESULT,
30699}
30700pub trait ICoreWebView2Profile7_Impl: ICoreWebView2Profile6_Impl {
30701 fn AddBrowserExtension(
30702 &self,
30703 extensionfolderpath: &windows_core::PCWSTR,
30704 handler: windows_core::Ref<'_, ICoreWebView2ProfileAddBrowserExtensionCompletedHandler>,
30705 ) -> windows_core::Result<()>;
30706 fn GetBrowserExtensions(
30707 &self,
30708 handler: windows_core::Ref<'_, ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler>,
30709 ) -> windows_core::Result<()>;
30710}
30711impl ICoreWebView2Profile7_Vtbl {
30712 pub const fn new<Identity: ICoreWebView2Profile7_Impl, const OFFSET: isize>() -> Self {
30713 unsafe extern "system" fn AddBrowserExtension<
30714 Identity: ICoreWebView2Profile7_Impl,
30715 const OFFSET: isize,
30716 >(
30717 this: *mut core::ffi::c_void,
30718 extensionfolderpath: windows_core::PCWSTR,
30719 handler: *mut core::ffi::c_void,
30720 ) -> windows_core::HRESULT {
30721 unsafe {
30722 let this: &Identity =
30723 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30724 ICoreWebView2Profile7_Impl::AddBrowserExtension(
30725 this,
30726 core::mem::transmute(&extensionfolderpath),
30727 core::mem::transmute_copy(&handler),
30728 )
30729 .into()
30730 }
30731 }
30732 unsafe extern "system" fn GetBrowserExtensions<
30733 Identity: ICoreWebView2Profile7_Impl,
30734 const OFFSET: isize,
30735 >(
30736 this: *mut core::ffi::c_void,
30737 handler: *mut core::ffi::c_void,
30738 ) -> windows_core::HRESULT {
30739 unsafe {
30740 let this: &Identity =
30741 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30742 ICoreWebView2Profile7_Impl::GetBrowserExtensions(
30743 this,
30744 core::mem::transmute_copy(&handler),
30745 )
30746 .into()
30747 }
30748 }
30749 Self {
30750 base__: ICoreWebView2Profile6_Vtbl::new::<Identity, OFFSET>(),
30751 AddBrowserExtension: AddBrowserExtension::<Identity, OFFSET>,
30752 GetBrowserExtensions: GetBrowserExtensions::<Identity, OFFSET>,
30753 }
30754 }
30755 pub fn matches(iid: &windows_core::GUID) -> bool {
30756 iid == &<ICoreWebView2Profile7 as windows_core::Interface>::IID
30757 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
30758 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
30759 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
30760 || iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
30761 || iid == &<ICoreWebView2Profile5 as windows_core::Interface>::IID
30762 || iid == &<ICoreWebView2Profile6 as windows_core::Interface>::IID
30763 }
30764}
30765impl windows_core::RuntimeName for ICoreWebView2Profile7 {}
30766windows_core::imp::define_interface!(
30767 ICoreWebView2Profile8,
30768 ICoreWebView2Profile8_Vtbl,
30769 0xfbf70c2f_eb1f_4383_85a0_163e92044011
30770);
30771impl core::ops::Deref for ICoreWebView2Profile8 {
30772 type Target = ICoreWebView2Profile7;
30773 fn deref(&self) -> &Self::Target {
30774 unsafe { core::mem::transmute(self) }
30775 }
30776}
30777windows_core::imp::interface_hierarchy!(
30778 ICoreWebView2Profile8,
30779 windows_core::IUnknown,
30780 ICoreWebView2Profile,
30781 ICoreWebView2Profile2,
30782 ICoreWebView2Profile3,
30783 ICoreWebView2Profile4,
30784 ICoreWebView2Profile5,
30785 ICoreWebView2Profile6,
30786 ICoreWebView2Profile7
30787);
30788impl ICoreWebView2Profile8 {
30789 pub unsafe fn Delete(&self) -> windows_core::Result<()> {
30790 unsafe {
30791 (windows_core::Interface::vtable(self).Delete)(windows_core::Interface::as_raw(self))
30792 .ok()
30793 }
30794 }
30795 pub unsafe fn add_Deleted<P0>(
30796 &self,
30797 eventhandler: P0,
30798 token: *mut i64,
30799 ) -> windows_core::Result<()>
30800 where
30801 P0: windows_core::Param<ICoreWebView2ProfileDeletedEventHandler>,
30802 {
30803 unsafe {
30804 (windows_core::Interface::vtable(self).add_Deleted)(
30805 windows_core::Interface::as_raw(self),
30806 eventhandler.param().abi(),
30807 token as _,
30808 )
30809 .ok()
30810 }
30811 }
30812 pub unsafe fn remove_Deleted(&self, token: i64) -> windows_core::Result<()> {
30813 unsafe {
30814 (windows_core::Interface::vtable(self).remove_Deleted)(
30815 windows_core::Interface::as_raw(self),
30816 token,
30817 )
30818 .ok()
30819 }
30820 }
30821}
30822#[repr(C)]
30823#[doc(hidden)]
30824pub struct ICoreWebView2Profile8_Vtbl {
30825 pub base__: ICoreWebView2Profile7_Vtbl,
30826 pub Delete: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
30827 pub add_Deleted: unsafe extern "system" fn(
30828 *mut core::ffi::c_void,
30829 *mut core::ffi::c_void,
30830 *mut i64,
30831 ) -> windows_core::HRESULT,
30832 pub remove_Deleted:
30833 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
30834}
30835pub trait ICoreWebView2Profile8_Impl: ICoreWebView2Profile7_Impl {
30836 fn Delete(&self) -> windows_core::Result<()>;
30837 fn add_Deleted(
30838 &self,
30839 eventhandler: windows_core::Ref<'_, ICoreWebView2ProfileDeletedEventHandler>,
30840 token: *mut i64,
30841 ) -> windows_core::Result<()>;
30842 fn remove_Deleted(&self, token: i64) -> windows_core::Result<()>;
30843}
30844impl ICoreWebView2Profile8_Vtbl {
30845 pub const fn new<Identity: ICoreWebView2Profile8_Impl, const OFFSET: isize>() -> Self {
30846 unsafe extern "system" fn Delete<
30847 Identity: ICoreWebView2Profile8_Impl,
30848 const OFFSET: isize,
30849 >(
30850 this: *mut core::ffi::c_void,
30851 ) -> windows_core::HRESULT {
30852 unsafe {
30853 let this: &Identity =
30854 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30855 ICoreWebView2Profile8_Impl::Delete(this).into()
30856 }
30857 }
30858 unsafe extern "system" fn add_Deleted<
30859 Identity: ICoreWebView2Profile8_Impl,
30860 const OFFSET: isize,
30861 >(
30862 this: *mut core::ffi::c_void,
30863 eventhandler: *mut core::ffi::c_void,
30864 token: *mut i64,
30865 ) -> windows_core::HRESULT {
30866 unsafe {
30867 let this: &Identity =
30868 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30869 ICoreWebView2Profile8_Impl::add_Deleted(
30870 this,
30871 core::mem::transmute_copy(&eventhandler),
30872 core::mem::transmute_copy(&token),
30873 )
30874 .into()
30875 }
30876 }
30877 unsafe extern "system" fn remove_Deleted<
30878 Identity: ICoreWebView2Profile8_Impl,
30879 const OFFSET: isize,
30880 >(
30881 this: *mut core::ffi::c_void,
30882 token: i64,
30883 ) -> windows_core::HRESULT {
30884 unsafe {
30885 let this: &Identity =
30886 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30887 ICoreWebView2Profile8_Impl::remove_Deleted(this, core::mem::transmute_copy(&token))
30888 .into()
30889 }
30890 }
30891 Self {
30892 base__: ICoreWebView2Profile7_Vtbl::new::<Identity, OFFSET>(),
30893 Delete: Delete::<Identity, OFFSET>,
30894 add_Deleted: add_Deleted::<Identity, OFFSET>,
30895 remove_Deleted: remove_Deleted::<Identity, OFFSET>,
30896 }
30897 }
30898 pub fn matches(iid: &windows_core::GUID) -> bool {
30899 iid == &<ICoreWebView2Profile8 as windows_core::Interface>::IID
30900 || iid == &<ICoreWebView2Profile as windows_core::Interface>::IID
30901 || iid == &<ICoreWebView2Profile2 as windows_core::Interface>::IID
30902 || iid == &<ICoreWebView2Profile3 as windows_core::Interface>::IID
30903 || iid == &<ICoreWebView2Profile4 as windows_core::Interface>::IID
30904 || iid == &<ICoreWebView2Profile5 as windows_core::Interface>::IID
30905 || iid == &<ICoreWebView2Profile6 as windows_core::Interface>::IID
30906 || iid == &<ICoreWebView2Profile7 as windows_core::Interface>::IID
30907 }
30908}
30909impl windows_core::RuntimeName for ICoreWebView2Profile8 {}
30910windows_core::imp::define_interface!(
30911 ICoreWebView2ProfileAddBrowserExtensionCompletedHandler,
30912 ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Vtbl,
30913 0xdf1aab27_82b9_4ab6_aae8_017a49398c14
30914);
30915windows_core::imp::interface_hierarchy!(
30916 ICoreWebView2ProfileAddBrowserExtensionCompletedHandler,
30917 windows_core::IUnknown
30918);
30919impl ICoreWebView2ProfileAddBrowserExtensionCompletedHandler {
30920 pub unsafe fn Invoke<P1>(
30921 &self,
30922 errorcode: windows_core::HRESULT,
30923 result: P1,
30924 ) -> windows_core::Result<()>
30925 where
30926 P1: windows_core::Param<ICoreWebView2BrowserExtension>,
30927 {
30928 unsafe {
30929 (windows_core::Interface::vtable(self).Invoke)(
30930 windows_core::Interface::as_raw(self),
30931 errorcode,
30932 result.param().abi(),
30933 )
30934 .ok()
30935 }
30936 }
30937}
30938#[repr(C)]
30939#[doc(hidden)]
30940pub struct ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Vtbl {
30941 pub base__: windows_core::IUnknown_Vtbl,
30942 pub Invoke: unsafe extern "system" fn(
30943 *mut core::ffi::c_void,
30944 windows_core::HRESULT,
30945 *mut core::ffi::c_void,
30946 ) -> windows_core::HRESULT,
30947}
30948pub trait ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Impl:
30949 windows_core::IUnknownImpl
30950{
30951 fn Invoke(
30952 &self,
30953 errorcode: windows_core::HRESULT,
30954 result: windows_core::Ref<'_, ICoreWebView2BrowserExtension>,
30955 ) -> windows_core::Result<()>;
30956}
30957impl ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Vtbl {
30958 pub const fn new<
30959 Identity: ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Impl,
30960 const OFFSET: isize,
30961 >() -> Self {
30962 unsafe extern "system" fn Invoke<
30963 Identity: ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Impl,
30964 const OFFSET: isize,
30965 >(
30966 this: *mut core::ffi::c_void,
30967 errorcode: windows_core::HRESULT,
30968 result: *mut core::ffi::c_void,
30969 ) -> windows_core::HRESULT {
30970 unsafe {
30971 let this: &Identity =
30972 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30973 ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Impl::Invoke(
30974 this,
30975 core::mem::transmute_copy(&errorcode),
30976 core::mem::transmute_copy(&result),
30977 )
30978 .into()
30979 }
30980 }
30981 Self {
30982 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
30983 Invoke: Invoke::<Identity, OFFSET>,
30984 }
30985 }
30986 pub fn matches(iid: &windows_core::GUID) -> bool {
30987 iid == & < ICoreWebView2ProfileAddBrowserExtensionCompletedHandler as windows_core::Interface >::IID
30988 }
30989}
30990impl windows_core::RuntimeName for ICoreWebView2ProfileAddBrowserExtensionCompletedHandler {}
30991windows_core::imp::define_interface!(
30992 ICoreWebView2ProfileDeletedEventHandler,
30993 ICoreWebView2ProfileDeletedEventHandler_Vtbl,
30994 0xdf35055d_772e_4dbe_b743_5fbf74a2b258
30995);
30996windows_core::imp::interface_hierarchy!(
30997 ICoreWebView2ProfileDeletedEventHandler,
30998 windows_core::IUnknown
30999);
31000impl ICoreWebView2ProfileDeletedEventHandler {
31001 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
31002 where
31003 P0: windows_core::Param<ICoreWebView2Profile>,
31004 P1: windows_core::Param<windows_core::IUnknown>,
31005 {
31006 unsafe {
31007 (windows_core::Interface::vtable(self).Invoke)(
31008 windows_core::Interface::as_raw(self),
31009 sender.param().abi(),
31010 args.param().abi(),
31011 )
31012 .ok()
31013 }
31014 }
31015}
31016#[repr(C)]
31017#[doc(hidden)]
31018pub struct ICoreWebView2ProfileDeletedEventHandler_Vtbl {
31019 pub base__: windows_core::IUnknown_Vtbl,
31020 pub Invoke: unsafe extern "system" fn(
31021 *mut core::ffi::c_void,
31022 *mut core::ffi::c_void,
31023 *mut core::ffi::c_void,
31024 ) -> windows_core::HRESULT,
31025}
31026pub trait ICoreWebView2ProfileDeletedEventHandler_Impl: windows_core::IUnknownImpl {
31027 fn Invoke(
31028 &self,
31029 sender: windows_core::Ref<'_, ICoreWebView2Profile>,
31030 args: windows_core::Ref<'_, windows_core::IUnknown>,
31031 ) -> windows_core::Result<()>;
31032}
31033impl ICoreWebView2ProfileDeletedEventHandler_Vtbl {
31034 pub const fn new<
31035 Identity: ICoreWebView2ProfileDeletedEventHandler_Impl,
31036 const OFFSET: isize,
31037 >() -> Self {
31038 unsafe extern "system" fn Invoke<
31039 Identity: ICoreWebView2ProfileDeletedEventHandler_Impl,
31040 const OFFSET: isize,
31041 >(
31042 this: *mut core::ffi::c_void,
31043 sender: *mut core::ffi::c_void,
31044 args: *mut core::ffi::c_void,
31045 ) -> windows_core::HRESULT {
31046 unsafe {
31047 let this: &Identity =
31048 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31049 ICoreWebView2ProfileDeletedEventHandler_Impl::Invoke(
31050 this,
31051 core::mem::transmute_copy(&sender),
31052 core::mem::transmute_copy(&args),
31053 )
31054 .into()
31055 }
31056 }
31057 Self {
31058 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31059 Invoke: Invoke::<Identity, OFFSET>,
31060 }
31061 }
31062 pub fn matches(iid: &windows_core::GUID) -> bool {
31063 iid == &<ICoreWebView2ProfileDeletedEventHandler as windows_core::Interface>::IID
31064 }
31065}
31066impl windows_core::RuntimeName for ICoreWebView2ProfileDeletedEventHandler {}
31067windows_core::imp::define_interface!(
31068 ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler,
31069 ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Vtbl,
31070 0xfce16a1c_f107_4601_8b75_fc4940ae25d0
31071);
31072windows_core::imp::interface_hierarchy!(
31073 ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler,
31074 windows_core::IUnknown
31075);
31076impl ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler {
31077 pub unsafe fn Invoke<P1>(
31078 &self,
31079 errorcode: windows_core::HRESULT,
31080 result: P1,
31081 ) -> windows_core::Result<()>
31082 where
31083 P1: windows_core::Param<ICoreWebView2BrowserExtensionList>,
31084 {
31085 unsafe {
31086 (windows_core::Interface::vtable(self).Invoke)(
31087 windows_core::Interface::as_raw(self),
31088 errorcode,
31089 result.param().abi(),
31090 )
31091 .ok()
31092 }
31093 }
31094}
31095#[repr(C)]
31096#[doc(hidden)]
31097pub struct ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Vtbl {
31098 pub base__: windows_core::IUnknown_Vtbl,
31099 pub Invoke: unsafe extern "system" fn(
31100 *mut core::ffi::c_void,
31101 windows_core::HRESULT,
31102 *mut core::ffi::c_void,
31103 ) -> windows_core::HRESULT,
31104}
31105pub trait ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Impl:
31106 windows_core::IUnknownImpl
31107{
31108 fn Invoke(
31109 &self,
31110 errorcode: windows_core::HRESULT,
31111 result: windows_core::Ref<'_, ICoreWebView2BrowserExtensionList>,
31112 ) -> windows_core::Result<()>;
31113}
31114impl ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Vtbl {
31115 pub const fn new<
31116 Identity: ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Impl,
31117 const OFFSET: isize,
31118 >() -> Self {
31119 unsafe extern "system" fn Invoke<
31120 Identity: ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Impl,
31121 const OFFSET: isize,
31122 >(
31123 this: *mut core::ffi::c_void,
31124 errorcode: windows_core::HRESULT,
31125 result: *mut core::ffi::c_void,
31126 ) -> windows_core::HRESULT {
31127 unsafe {
31128 let this: &Identity =
31129 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31130 ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Impl::Invoke(
31131 this,
31132 core::mem::transmute_copy(&errorcode),
31133 core::mem::transmute_copy(&result),
31134 )
31135 .into()
31136 }
31137 }
31138 Self {
31139 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31140 Invoke: Invoke::<Identity, OFFSET>,
31141 }
31142 }
31143 pub fn matches(iid: &windows_core::GUID) -> bool {
31144 iid == & < ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler as windows_core::Interface >::IID
31145 }
31146}
31147impl windows_core::RuntimeName for ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler {}
31148windows_core::imp::define_interface!(
31149 ICoreWebView2RasterizationScaleChangedEventHandler,
31150 ICoreWebView2RasterizationScaleChangedEventHandler_Vtbl,
31151 0x9c98c8b1_ac53_427e_a345_3049b5524bbe
31152);
31153windows_core::imp::interface_hierarchy!(
31154 ICoreWebView2RasterizationScaleChangedEventHandler,
31155 windows_core::IUnknown
31156);
31157impl ICoreWebView2RasterizationScaleChangedEventHandler {
31158 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
31159 where
31160 P0: windows_core::Param<ICoreWebView2Controller>,
31161 P1: windows_core::Param<windows_core::IUnknown>,
31162 {
31163 unsafe {
31164 (windows_core::Interface::vtable(self).Invoke)(
31165 windows_core::Interface::as_raw(self),
31166 sender.param().abi(),
31167 args.param().abi(),
31168 )
31169 .ok()
31170 }
31171 }
31172}
31173#[repr(C)]
31174#[doc(hidden)]
31175pub struct ICoreWebView2RasterizationScaleChangedEventHandler_Vtbl {
31176 pub base__: windows_core::IUnknown_Vtbl,
31177 pub Invoke: unsafe extern "system" fn(
31178 *mut core::ffi::c_void,
31179 *mut core::ffi::c_void,
31180 *mut core::ffi::c_void,
31181 ) -> windows_core::HRESULT,
31182}
31183pub trait ICoreWebView2RasterizationScaleChangedEventHandler_Impl:
31184 windows_core::IUnknownImpl
31185{
31186 fn Invoke(
31187 &self,
31188 sender: windows_core::Ref<'_, ICoreWebView2Controller>,
31189 args: windows_core::Ref<'_, windows_core::IUnknown>,
31190 ) -> windows_core::Result<()>;
31191}
31192impl ICoreWebView2RasterizationScaleChangedEventHandler_Vtbl {
31193 pub const fn new<
31194 Identity: ICoreWebView2RasterizationScaleChangedEventHandler_Impl,
31195 const OFFSET: isize,
31196 >() -> Self {
31197 unsafe extern "system" fn Invoke<
31198 Identity: ICoreWebView2RasterizationScaleChangedEventHandler_Impl,
31199 const OFFSET: isize,
31200 >(
31201 this: *mut core::ffi::c_void,
31202 sender: *mut core::ffi::c_void,
31203 args: *mut core::ffi::c_void,
31204 ) -> windows_core::HRESULT {
31205 unsafe {
31206 let this: &Identity =
31207 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31208 ICoreWebView2RasterizationScaleChangedEventHandler_Impl::Invoke(
31209 this,
31210 core::mem::transmute_copy(&sender),
31211 core::mem::transmute_copy(&args),
31212 )
31213 .into()
31214 }
31215 }
31216 Self {
31217 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31218 Invoke: Invoke::<Identity, OFFSET>,
31219 }
31220 }
31221 pub fn matches(iid: &windows_core::GUID) -> bool {
31222 iid == &<ICoreWebView2RasterizationScaleChangedEventHandler as windows_core::Interface>::IID
31223 }
31224}
31225impl windows_core::RuntimeName for ICoreWebView2RasterizationScaleChangedEventHandler {}
31226windows_core::imp::define_interface!(
31227 ICoreWebView2RegionRectCollectionView,
31228 ICoreWebView2RegionRectCollectionView_Vtbl,
31229 0x333353b8_48bf_4449_8fcc_22697faf5753
31230);
31231windows_core::imp::interface_hierarchy!(
31232 ICoreWebView2RegionRectCollectionView,
31233 windows_core::IUnknown
31234);
31235impl ICoreWebView2RegionRectCollectionView {
31236 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
31237 unsafe {
31238 (windows_core::Interface::vtable(self).Count)(
31239 windows_core::Interface::as_raw(self),
31240 value as _,
31241 )
31242 .ok()
31243 }
31244 }
31245 pub unsafe fn GetValueAtIndex(
31246 &self,
31247 index: u32,
31248 value: *mut windows::Win32::Foundation::RECT,
31249 ) -> windows_core::Result<()> {
31250 unsafe {
31251 (windows_core::Interface::vtable(self).GetValueAtIndex)(
31252 windows_core::Interface::as_raw(self),
31253 index,
31254 value as _,
31255 )
31256 .ok()
31257 }
31258 }
31259}
31260#[repr(C)]
31261#[doc(hidden)]
31262pub struct ICoreWebView2RegionRectCollectionView_Vtbl {
31263 pub base__: windows_core::IUnknown_Vtbl,
31264 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
31265 pub GetValueAtIndex: unsafe extern "system" fn(
31266 *mut core::ffi::c_void,
31267 u32,
31268 *mut windows::Win32::Foundation::RECT,
31269 ) -> windows_core::HRESULT,
31270}
31271pub trait ICoreWebView2RegionRectCollectionView_Impl: windows_core::IUnknownImpl {
31272 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
31273 fn GetValueAtIndex(
31274 &self,
31275 index: u32,
31276 value: *mut windows::Win32::Foundation::RECT,
31277 ) -> windows_core::Result<()>;
31278}
31279impl ICoreWebView2RegionRectCollectionView_Vtbl {
31280 pub const fn new<Identity: ICoreWebView2RegionRectCollectionView_Impl, const OFFSET: isize>(
31281 ) -> Self {
31282 unsafe extern "system" fn Count<
31283 Identity: ICoreWebView2RegionRectCollectionView_Impl,
31284 const OFFSET: isize,
31285 >(
31286 this: *mut core::ffi::c_void,
31287 value: *mut u32,
31288 ) -> windows_core::HRESULT {
31289 unsafe {
31290 let this: &Identity =
31291 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31292 ICoreWebView2RegionRectCollectionView_Impl::Count(
31293 this,
31294 core::mem::transmute_copy(&value),
31295 )
31296 .into()
31297 }
31298 }
31299 unsafe extern "system" fn GetValueAtIndex<
31300 Identity: ICoreWebView2RegionRectCollectionView_Impl,
31301 const OFFSET: isize,
31302 >(
31303 this: *mut core::ffi::c_void,
31304 index: u32,
31305 value: *mut windows::Win32::Foundation::RECT,
31306 ) -> windows_core::HRESULT {
31307 unsafe {
31308 let this: &Identity =
31309 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31310 ICoreWebView2RegionRectCollectionView_Impl::GetValueAtIndex(
31311 this,
31312 core::mem::transmute_copy(&index),
31313 core::mem::transmute_copy(&value),
31314 )
31315 .into()
31316 }
31317 }
31318 Self {
31319 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31320 Count: Count::<Identity, OFFSET>,
31321 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
31322 }
31323 }
31324 pub fn matches(iid: &windows_core::GUID) -> bool {
31325 iid == &<ICoreWebView2RegionRectCollectionView as windows_core::Interface>::IID
31326 }
31327}
31328impl windows_core::RuntimeName for ICoreWebView2RegionRectCollectionView {}
31329windows_core::imp::define_interface!(
31330 ICoreWebView2SaveAsUIShowingEventArgs,
31331 ICoreWebView2SaveAsUIShowingEventArgs_Vtbl,
31332 0x55902952_0e0d_5aaa_a7d0_e833cdb34f62
31333);
31334windows_core::imp::interface_hierarchy!(
31335 ICoreWebView2SaveAsUIShowingEventArgs,
31336 windows_core::IUnknown
31337);
31338impl ICoreWebView2SaveAsUIShowingEventArgs {
31339 pub unsafe fn ContentMimeType(
31340 &self,
31341 value: *mut windows_core::PWSTR,
31342 ) -> windows_core::Result<()> {
31343 unsafe {
31344 (windows_core::Interface::vtable(self).ContentMimeType)(
31345 windows_core::Interface::as_raw(self),
31346 value as _,
31347 )
31348 .ok()
31349 }
31350 }
31351 pub unsafe fn SetCancel(&self, value: bool) -> windows_core::Result<()> {
31352 unsafe {
31353 (windows_core::Interface::vtable(self).SetCancel)(
31354 windows_core::Interface::as_raw(self),
31355 value.into(),
31356 )
31357 .ok()
31358 }
31359 }
31360 pub unsafe fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
31361 unsafe {
31362 (windows_core::Interface::vtable(self).Cancel)(
31363 windows_core::Interface::as_raw(self),
31364 value as _,
31365 )
31366 .ok()
31367 }
31368 }
31369 pub unsafe fn SetSuppressDefaultDialog(&self, value: bool) -> windows_core::Result<()> {
31370 unsafe {
31371 (windows_core::Interface::vtable(self).SetSuppressDefaultDialog)(
31372 windows_core::Interface::as_raw(self),
31373 value.into(),
31374 )
31375 .ok()
31376 }
31377 }
31378 pub unsafe fn SuppressDefaultDialog(
31379 &self,
31380 value: *mut windows_core::BOOL,
31381 ) -> windows_core::Result<()> {
31382 unsafe {
31383 (windows_core::Interface::vtable(self).SuppressDefaultDialog)(
31384 windows_core::Interface::as_raw(self),
31385 value as _,
31386 )
31387 .ok()
31388 }
31389 }
31390 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
31391 unsafe {
31392 let mut result__ = core::mem::zeroed();
31393 (windows_core::Interface::vtable(self).GetDeferral)(
31394 windows_core::Interface::as_raw(self),
31395 &mut result__,
31396 )
31397 .and_then(|| windows_core::Type::from_abi(result__))
31398 }
31399 }
31400 pub unsafe fn SetSaveAsFilePath<P0>(&self, value: P0) -> windows_core::Result<()>
31401 where
31402 P0: windows_core::Param<windows_core::PCWSTR>,
31403 {
31404 unsafe {
31405 (windows_core::Interface::vtable(self).SetSaveAsFilePath)(
31406 windows_core::Interface::as_raw(self),
31407 value.param().abi(),
31408 )
31409 .ok()
31410 }
31411 }
31412 pub unsafe fn SaveAsFilePath(
31413 &self,
31414 value: *mut windows_core::PWSTR,
31415 ) -> windows_core::Result<()> {
31416 unsafe {
31417 (windows_core::Interface::vtable(self).SaveAsFilePath)(
31418 windows_core::Interface::as_raw(self),
31419 value as _,
31420 )
31421 .ok()
31422 }
31423 }
31424 pub unsafe fn SetAllowReplace(&self, value: bool) -> windows_core::Result<()> {
31425 unsafe {
31426 (windows_core::Interface::vtable(self).SetAllowReplace)(
31427 windows_core::Interface::as_raw(self),
31428 value.into(),
31429 )
31430 .ok()
31431 }
31432 }
31433 pub unsafe fn AllowReplace(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
31434 unsafe {
31435 (windows_core::Interface::vtable(self).AllowReplace)(
31436 windows_core::Interface::as_raw(self),
31437 value as _,
31438 )
31439 .ok()
31440 }
31441 }
31442 pub unsafe fn SetKind(&self, value: COREWEBVIEW2_SAVE_AS_KIND) -> windows_core::Result<()> {
31443 unsafe {
31444 (windows_core::Interface::vtable(self).SetKind)(
31445 windows_core::Interface::as_raw(self),
31446 value,
31447 )
31448 .ok()
31449 }
31450 }
31451 pub unsafe fn Kind(&self, value: *mut COREWEBVIEW2_SAVE_AS_KIND) -> windows_core::Result<()> {
31452 unsafe {
31453 (windows_core::Interface::vtable(self).Kind)(
31454 windows_core::Interface::as_raw(self),
31455 value as _,
31456 )
31457 .ok()
31458 }
31459 }
31460}
31461#[repr(C)]
31462#[doc(hidden)]
31463pub struct ICoreWebView2SaveAsUIShowingEventArgs_Vtbl {
31464 pub base__: windows_core::IUnknown_Vtbl,
31465 pub ContentMimeType: unsafe extern "system" fn(
31466 *mut core::ffi::c_void,
31467 *mut windows_core::PWSTR,
31468 ) -> windows_core::HRESULT,
31469 pub SetCancel: unsafe extern "system" fn(
31470 *mut core::ffi::c_void,
31471 windows_core::BOOL,
31472 ) -> windows_core::HRESULT,
31473 pub Cancel: unsafe extern "system" fn(
31474 *mut core::ffi::c_void,
31475 *mut windows_core::BOOL,
31476 ) -> windows_core::HRESULT,
31477 pub SetSuppressDefaultDialog: unsafe extern "system" fn(
31478 *mut core::ffi::c_void,
31479 windows_core::BOOL,
31480 ) -> windows_core::HRESULT,
31481 pub SuppressDefaultDialog: unsafe extern "system" fn(
31482 *mut core::ffi::c_void,
31483 *mut windows_core::BOOL,
31484 ) -> windows_core::HRESULT,
31485 pub GetDeferral: unsafe extern "system" fn(
31486 *mut core::ffi::c_void,
31487 *mut *mut core::ffi::c_void,
31488 ) -> windows_core::HRESULT,
31489 pub SetSaveAsFilePath: unsafe extern "system" fn(
31490 *mut core::ffi::c_void,
31491 windows_core::PCWSTR,
31492 ) -> windows_core::HRESULT,
31493 pub SaveAsFilePath: unsafe extern "system" fn(
31494 *mut core::ffi::c_void,
31495 *mut windows_core::PWSTR,
31496 ) -> windows_core::HRESULT,
31497 pub SetAllowReplace: unsafe extern "system" fn(
31498 *mut core::ffi::c_void,
31499 windows_core::BOOL,
31500 ) -> windows_core::HRESULT,
31501 pub AllowReplace: unsafe extern "system" fn(
31502 *mut core::ffi::c_void,
31503 *mut windows_core::BOOL,
31504 ) -> windows_core::HRESULT,
31505 pub SetKind: unsafe extern "system" fn(
31506 *mut core::ffi::c_void,
31507 COREWEBVIEW2_SAVE_AS_KIND,
31508 ) -> windows_core::HRESULT,
31509 pub Kind: unsafe extern "system" fn(
31510 *mut core::ffi::c_void,
31511 *mut COREWEBVIEW2_SAVE_AS_KIND,
31512 ) -> windows_core::HRESULT,
31513}
31514pub trait ICoreWebView2SaveAsUIShowingEventArgs_Impl: windows_core::IUnknownImpl {
31515 fn ContentMimeType(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
31516 fn SetCancel(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
31517 fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
31518 fn SetSuppressDefaultDialog(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
31519 fn SuppressDefaultDialog(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
31520 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
31521 fn SetSaveAsFilePath(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
31522 fn SaveAsFilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
31523 fn SetAllowReplace(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
31524 fn AllowReplace(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
31525 fn SetKind(&self, value: COREWEBVIEW2_SAVE_AS_KIND) -> windows_core::Result<()>;
31526 fn Kind(&self, value: *mut COREWEBVIEW2_SAVE_AS_KIND) -> windows_core::Result<()>;
31527}
31528impl ICoreWebView2SaveAsUIShowingEventArgs_Vtbl {
31529 pub const fn new<Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl, const OFFSET: isize>(
31530 ) -> Self {
31531 unsafe extern "system" fn ContentMimeType<
31532 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31533 const OFFSET: isize,
31534 >(
31535 this: *mut core::ffi::c_void,
31536 value: *mut windows_core::PWSTR,
31537 ) -> windows_core::HRESULT {
31538 unsafe {
31539 let this: &Identity =
31540 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31541 ICoreWebView2SaveAsUIShowingEventArgs_Impl::ContentMimeType(
31542 this,
31543 core::mem::transmute_copy(&value),
31544 )
31545 .into()
31546 }
31547 }
31548 unsafe extern "system" fn SetCancel<
31549 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31550 const OFFSET: isize,
31551 >(
31552 this: *mut core::ffi::c_void,
31553 value: windows_core::BOOL,
31554 ) -> windows_core::HRESULT {
31555 unsafe {
31556 let this: &Identity =
31557 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31558 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetCancel(
31559 this,
31560 core::mem::transmute_copy(&value),
31561 )
31562 .into()
31563 }
31564 }
31565 unsafe extern "system" fn Cancel<
31566 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31567 const OFFSET: isize,
31568 >(
31569 this: *mut core::ffi::c_void,
31570 value: *mut windows_core::BOOL,
31571 ) -> windows_core::HRESULT {
31572 unsafe {
31573 let this: &Identity =
31574 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31575 ICoreWebView2SaveAsUIShowingEventArgs_Impl::Cancel(
31576 this,
31577 core::mem::transmute_copy(&value),
31578 )
31579 .into()
31580 }
31581 }
31582 unsafe extern "system" fn SetSuppressDefaultDialog<
31583 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31584 const OFFSET: isize,
31585 >(
31586 this: *mut core::ffi::c_void,
31587 value: windows_core::BOOL,
31588 ) -> windows_core::HRESULT {
31589 unsafe {
31590 let this: &Identity =
31591 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31592 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetSuppressDefaultDialog(
31593 this,
31594 core::mem::transmute_copy(&value),
31595 )
31596 .into()
31597 }
31598 }
31599 unsafe extern "system" fn SuppressDefaultDialog<
31600 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31601 const OFFSET: isize,
31602 >(
31603 this: *mut core::ffi::c_void,
31604 value: *mut windows_core::BOOL,
31605 ) -> windows_core::HRESULT {
31606 unsafe {
31607 let this: &Identity =
31608 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31609 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SuppressDefaultDialog(
31610 this,
31611 core::mem::transmute_copy(&value),
31612 )
31613 .into()
31614 }
31615 }
31616 unsafe extern "system" fn GetDeferral<
31617 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31618 const OFFSET: isize,
31619 >(
31620 this: *mut core::ffi::c_void,
31621 value: *mut *mut core::ffi::c_void,
31622 ) -> windows_core::HRESULT {
31623 unsafe {
31624 let this: &Identity =
31625 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31626 match ICoreWebView2SaveAsUIShowingEventArgs_Impl::GetDeferral(this) {
31627 Ok(ok__) => {
31628 value.write(core::mem::transmute(ok__));
31629 windows_core::HRESULT(0)
31630 }
31631 Err(err) => err.into(),
31632 }
31633 }
31634 }
31635 unsafe extern "system" fn SetSaveAsFilePath<
31636 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31637 const OFFSET: isize,
31638 >(
31639 this: *mut core::ffi::c_void,
31640 value: windows_core::PCWSTR,
31641 ) -> windows_core::HRESULT {
31642 unsafe {
31643 let this: &Identity =
31644 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31645 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetSaveAsFilePath(
31646 this,
31647 core::mem::transmute(&value),
31648 )
31649 .into()
31650 }
31651 }
31652 unsafe extern "system" fn SaveAsFilePath<
31653 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31654 const OFFSET: isize,
31655 >(
31656 this: *mut core::ffi::c_void,
31657 value: *mut windows_core::PWSTR,
31658 ) -> windows_core::HRESULT {
31659 unsafe {
31660 let this: &Identity =
31661 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31662 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SaveAsFilePath(
31663 this,
31664 core::mem::transmute_copy(&value),
31665 )
31666 .into()
31667 }
31668 }
31669 unsafe extern "system" fn SetAllowReplace<
31670 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31671 const OFFSET: isize,
31672 >(
31673 this: *mut core::ffi::c_void,
31674 value: windows_core::BOOL,
31675 ) -> windows_core::HRESULT {
31676 unsafe {
31677 let this: &Identity =
31678 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31679 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetAllowReplace(
31680 this,
31681 core::mem::transmute_copy(&value),
31682 )
31683 .into()
31684 }
31685 }
31686 unsafe extern "system" fn AllowReplace<
31687 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31688 const OFFSET: isize,
31689 >(
31690 this: *mut core::ffi::c_void,
31691 value: *mut windows_core::BOOL,
31692 ) -> windows_core::HRESULT {
31693 unsafe {
31694 let this: &Identity =
31695 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31696 ICoreWebView2SaveAsUIShowingEventArgs_Impl::AllowReplace(
31697 this,
31698 core::mem::transmute_copy(&value),
31699 )
31700 .into()
31701 }
31702 }
31703 unsafe extern "system" fn SetKind<
31704 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31705 const OFFSET: isize,
31706 >(
31707 this: *mut core::ffi::c_void,
31708 value: COREWEBVIEW2_SAVE_AS_KIND,
31709 ) -> windows_core::HRESULT {
31710 unsafe {
31711 let this: &Identity =
31712 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31713 ICoreWebView2SaveAsUIShowingEventArgs_Impl::SetKind(
31714 this,
31715 core::mem::transmute_copy(&value),
31716 )
31717 .into()
31718 }
31719 }
31720 unsafe extern "system" fn Kind<
31721 Identity: ICoreWebView2SaveAsUIShowingEventArgs_Impl,
31722 const OFFSET: isize,
31723 >(
31724 this: *mut core::ffi::c_void,
31725 value: *mut COREWEBVIEW2_SAVE_AS_KIND,
31726 ) -> windows_core::HRESULT {
31727 unsafe {
31728 let this: &Identity =
31729 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31730 ICoreWebView2SaveAsUIShowingEventArgs_Impl::Kind(
31731 this,
31732 core::mem::transmute_copy(&value),
31733 )
31734 .into()
31735 }
31736 }
31737 Self {
31738 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31739 ContentMimeType: ContentMimeType::<Identity, OFFSET>,
31740 SetCancel: SetCancel::<Identity, OFFSET>,
31741 Cancel: Cancel::<Identity, OFFSET>,
31742 SetSuppressDefaultDialog: SetSuppressDefaultDialog::<Identity, OFFSET>,
31743 SuppressDefaultDialog: SuppressDefaultDialog::<Identity, OFFSET>,
31744 GetDeferral: GetDeferral::<Identity, OFFSET>,
31745 SetSaveAsFilePath: SetSaveAsFilePath::<Identity, OFFSET>,
31746 SaveAsFilePath: SaveAsFilePath::<Identity, OFFSET>,
31747 SetAllowReplace: SetAllowReplace::<Identity, OFFSET>,
31748 AllowReplace: AllowReplace::<Identity, OFFSET>,
31749 SetKind: SetKind::<Identity, OFFSET>,
31750 Kind: Kind::<Identity, OFFSET>,
31751 }
31752 }
31753 pub fn matches(iid: &windows_core::GUID) -> bool {
31754 iid == &<ICoreWebView2SaveAsUIShowingEventArgs as windows_core::Interface>::IID
31755 }
31756}
31757impl windows_core::RuntimeName for ICoreWebView2SaveAsUIShowingEventArgs {}
31758windows_core::imp::define_interface!(
31759 ICoreWebView2SaveAsUIShowingEventHandler,
31760 ICoreWebView2SaveAsUIShowingEventHandler_Vtbl,
31761 0x6baa177e_3a2e_5ccf_9a13_fad676cd0522
31762);
31763windows_core::imp::interface_hierarchy!(
31764 ICoreWebView2SaveAsUIShowingEventHandler,
31765 windows_core::IUnknown
31766);
31767impl ICoreWebView2SaveAsUIShowingEventHandler {
31768 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
31769 where
31770 P0: windows_core::Param<ICoreWebView2>,
31771 P1: windows_core::Param<ICoreWebView2SaveAsUIShowingEventArgs>,
31772 {
31773 unsafe {
31774 (windows_core::Interface::vtable(self).Invoke)(
31775 windows_core::Interface::as_raw(self),
31776 sender.param().abi(),
31777 args.param().abi(),
31778 )
31779 .ok()
31780 }
31781 }
31782}
31783#[repr(C)]
31784#[doc(hidden)]
31785pub struct ICoreWebView2SaveAsUIShowingEventHandler_Vtbl {
31786 pub base__: windows_core::IUnknown_Vtbl,
31787 pub Invoke: unsafe extern "system" fn(
31788 *mut core::ffi::c_void,
31789 *mut core::ffi::c_void,
31790 *mut core::ffi::c_void,
31791 ) -> windows_core::HRESULT,
31792}
31793pub trait ICoreWebView2SaveAsUIShowingEventHandler_Impl: windows_core::IUnknownImpl {
31794 fn Invoke(
31795 &self,
31796 sender: windows_core::Ref<'_, ICoreWebView2>,
31797 args: windows_core::Ref<'_, ICoreWebView2SaveAsUIShowingEventArgs>,
31798 ) -> windows_core::Result<()>;
31799}
31800impl ICoreWebView2SaveAsUIShowingEventHandler_Vtbl {
31801 pub const fn new<
31802 Identity: ICoreWebView2SaveAsUIShowingEventHandler_Impl,
31803 const OFFSET: isize,
31804 >() -> Self {
31805 unsafe extern "system" fn Invoke<
31806 Identity: ICoreWebView2SaveAsUIShowingEventHandler_Impl,
31807 const OFFSET: isize,
31808 >(
31809 this: *mut core::ffi::c_void,
31810 sender: *mut core::ffi::c_void,
31811 args: *mut core::ffi::c_void,
31812 ) -> windows_core::HRESULT {
31813 unsafe {
31814 let this: &Identity =
31815 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31816 ICoreWebView2SaveAsUIShowingEventHandler_Impl::Invoke(
31817 this,
31818 core::mem::transmute_copy(&sender),
31819 core::mem::transmute_copy(&args),
31820 )
31821 .into()
31822 }
31823 }
31824 Self {
31825 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
31826 Invoke: Invoke::<Identity, OFFSET>,
31827 }
31828 }
31829 pub fn matches(iid: &windows_core::GUID) -> bool {
31830 iid == &<ICoreWebView2SaveAsUIShowingEventHandler as windows_core::Interface>::IID
31831 }
31832}
31833impl windows_core::RuntimeName for ICoreWebView2SaveAsUIShowingEventHandler {}
31834windows_core::imp::define_interface!(
31835 ICoreWebView2SaveFileSecurityCheckStartingEventArgs,
31836 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Vtbl,
31837 0xcf4ff1d1_5a67_5660_8d63_ef699881ea65
31838);
31839windows_core::imp::interface_hierarchy!(
31840 ICoreWebView2SaveFileSecurityCheckStartingEventArgs,
31841 windows_core::IUnknown
31842);
31843impl ICoreWebView2SaveFileSecurityCheckStartingEventArgs {
31844 pub unsafe fn CancelSave(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
31845 unsafe {
31846 (windows_core::Interface::vtable(self).CancelSave)(
31847 windows_core::Interface::as_raw(self),
31848 value as _,
31849 )
31850 .ok()
31851 }
31852 }
31853 pub unsafe fn SetCancelSave(&self, value: bool) -> windows_core::Result<()> {
31854 unsafe {
31855 (windows_core::Interface::vtable(self).SetCancelSave)(
31856 windows_core::Interface::as_raw(self),
31857 value.into(),
31858 )
31859 .ok()
31860 }
31861 }
31862 pub unsafe fn DocumentOriginUri(
31863 &self,
31864 value: *mut windows_core::PWSTR,
31865 ) -> windows_core::Result<()> {
31866 unsafe {
31867 (windows_core::Interface::vtable(self).DocumentOriginUri)(
31868 windows_core::Interface::as_raw(self),
31869 value as _,
31870 )
31871 .ok()
31872 }
31873 }
31874 pub unsafe fn FileExtension(
31875 &self,
31876 value: *mut windows_core::PWSTR,
31877 ) -> windows_core::Result<()> {
31878 unsafe {
31879 (windows_core::Interface::vtable(self).FileExtension)(
31880 windows_core::Interface::as_raw(self),
31881 value as _,
31882 )
31883 .ok()
31884 }
31885 }
31886 pub unsafe fn FilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
31887 unsafe {
31888 (windows_core::Interface::vtable(self).FilePath)(
31889 windows_core::Interface::as_raw(self),
31890 value as _,
31891 )
31892 .ok()
31893 }
31894 }
31895 pub unsafe fn SuppressDefaultPolicy(
31896 &self,
31897 value: *mut windows_core::BOOL,
31898 ) -> windows_core::Result<()> {
31899 unsafe {
31900 (windows_core::Interface::vtable(self).SuppressDefaultPolicy)(
31901 windows_core::Interface::as_raw(self),
31902 value as _,
31903 )
31904 .ok()
31905 }
31906 }
31907 pub unsafe fn SetSuppressDefaultPolicy(&self, value: bool) -> windows_core::Result<()> {
31908 unsafe {
31909 (windows_core::Interface::vtable(self).SetSuppressDefaultPolicy)(
31910 windows_core::Interface::as_raw(self),
31911 value.into(),
31912 )
31913 .ok()
31914 }
31915 }
31916 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
31917 unsafe {
31918 let mut result__ = core::mem::zeroed();
31919 (windows_core::Interface::vtable(self).GetDeferral)(
31920 windows_core::Interface::as_raw(self),
31921 &mut result__,
31922 )
31923 .and_then(|| windows_core::Type::from_abi(result__))
31924 }
31925 }
31926}
31927#[repr(C)]
31928#[doc(hidden)]
31929pub struct ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Vtbl {
31930 pub base__: windows_core::IUnknown_Vtbl,
31931 pub CancelSave: unsafe extern "system" fn(
31932 *mut core::ffi::c_void,
31933 *mut windows_core::BOOL,
31934 ) -> windows_core::HRESULT,
31935 pub SetCancelSave: unsafe extern "system" fn(
31936 *mut core::ffi::c_void,
31937 windows_core::BOOL,
31938 ) -> windows_core::HRESULT,
31939 pub DocumentOriginUri: unsafe extern "system" fn(
31940 *mut core::ffi::c_void,
31941 *mut windows_core::PWSTR,
31942 ) -> windows_core::HRESULT,
31943 pub FileExtension: unsafe extern "system" fn(
31944 *mut core::ffi::c_void,
31945 *mut windows_core::PWSTR,
31946 ) -> windows_core::HRESULT,
31947 pub FilePath: unsafe extern "system" fn(
31948 *mut core::ffi::c_void,
31949 *mut windows_core::PWSTR,
31950 ) -> windows_core::HRESULT,
31951 pub SuppressDefaultPolicy: unsafe extern "system" fn(
31952 *mut core::ffi::c_void,
31953 *mut windows_core::BOOL,
31954 ) -> windows_core::HRESULT,
31955 pub SetSuppressDefaultPolicy: unsafe extern "system" fn(
31956 *mut core::ffi::c_void,
31957 windows_core::BOOL,
31958 ) -> windows_core::HRESULT,
31959 pub GetDeferral: unsafe extern "system" fn(
31960 *mut core::ffi::c_void,
31961 *mut *mut core::ffi::c_void,
31962 ) -> windows_core::HRESULT,
31963}
31964pub trait ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl:
31965 windows_core::IUnknownImpl
31966{
31967 fn CancelSave(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
31968 fn SetCancelSave(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
31969 fn DocumentOriginUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
31970 fn FileExtension(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
31971 fn FilePath(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
31972 fn SuppressDefaultPolicy(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
31973 fn SetSuppressDefaultPolicy(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
31974 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
31975}
31976impl ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Vtbl {
31977 pub const fn new<
31978 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
31979 const OFFSET: isize,
31980 >() -> Self {
31981 unsafe extern "system" fn CancelSave<
31982 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
31983 const OFFSET: isize,
31984 >(
31985 this: *mut core::ffi::c_void,
31986 value: *mut windows_core::BOOL,
31987 ) -> windows_core::HRESULT {
31988 unsafe {
31989 let this: &Identity =
31990 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31991 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::CancelSave(
31992 this,
31993 core::mem::transmute_copy(&value),
31994 )
31995 .into()
31996 }
31997 }
31998 unsafe extern "system" fn SetCancelSave<
31999 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32000 const OFFSET: isize,
32001 >(
32002 this: *mut core::ffi::c_void,
32003 value: windows_core::BOOL,
32004 ) -> windows_core::HRESULT {
32005 unsafe {
32006 let this: &Identity =
32007 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32008 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::SetCancelSave(
32009 this,
32010 core::mem::transmute_copy(&value),
32011 )
32012 .into()
32013 }
32014 }
32015 unsafe extern "system" fn DocumentOriginUri<
32016 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32017 const OFFSET: isize,
32018 >(
32019 this: *mut core::ffi::c_void,
32020 value: *mut windows_core::PWSTR,
32021 ) -> windows_core::HRESULT {
32022 unsafe {
32023 let this: &Identity =
32024 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32025 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::DocumentOriginUri(
32026 this,
32027 core::mem::transmute_copy(&value),
32028 )
32029 .into()
32030 }
32031 }
32032 unsafe extern "system" fn FileExtension<
32033 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32034 const OFFSET: isize,
32035 >(
32036 this: *mut core::ffi::c_void,
32037 value: *mut windows_core::PWSTR,
32038 ) -> windows_core::HRESULT {
32039 unsafe {
32040 let this: &Identity =
32041 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32042 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::FileExtension(
32043 this,
32044 core::mem::transmute_copy(&value),
32045 )
32046 .into()
32047 }
32048 }
32049 unsafe extern "system" fn FilePath<
32050 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32051 const OFFSET: isize,
32052 >(
32053 this: *mut core::ffi::c_void,
32054 value: *mut windows_core::PWSTR,
32055 ) -> windows_core::HRESULT {
32056 unsafe {
32057 let this: &Identity =
32058 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32059 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::FilePath(
32060 this,
32061 core::mem::transmute_copy(&value),
32062 )
32063 .into()
32064 }
32065 }
32066 unsafe extern "system" fn SuppressDefaultPolicy<
32067 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32068 const OFFSET: isize,
32069 >(
32070 this: *mut core::ffi::c_void,
32071 value: *mut windows_core::BOOL,
32072 ) -> windows_core::HRESULT {
32073 unsafe {
32074 let this: &Identity =
32075 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32076 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::SuppressDefaultPolicy(
32077 this,
32078 core::mem::transmute_copy(&value),
32079 )
32080 .into()
32081 }
32082 }
32083 unsafe extern "system" fn SetSuppressDefaultPolicy<
32084 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32085 const OFFSET: isize,
32086 >(
32087 this: *mut core::ffi::c_void,
32088 value: windows_core::BOOL,
32089 ) -> windows_core::HRESULT {
32090 unsafe {
32091 let this: &Identity =
32092 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32093 ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::SetSuppressDefaultPolicy(
32094 this,
32095 core::mem::transmute_copy(&value),
32096 )
32097 .into()
32098 }
32099 }
32100 unsafe extern "system" fn GetDeferral<
32101 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl,
32102 const OFFSET: isize,
32103 >(
32104 this: *mut core::ffi::c_void,
32105 value: *mut *mut core::ffi::c_void,
32106 ) -> windows_core::HRESULT {
32107 unsafe {
32108 let this: &Identity =
32109 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32110 match ICoreWebView2SaveFileSecurityCheckStartingEventArgs_Impl::GetDeferral(this) {
32111 Ok(ok__) => {
32112 value.write(core::mem::transmute(ok__));
32113 windows_core::HRESULT(0)
32114 }
32115 Err(err) => err.into(),
32116 }
32117 }
32118 }
32119 Self {
32120 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32121 CancelSave: CancelSave::<Identity, OFFSET>,
32122 SetCancelSave: SetCancelSave::<Identity, OFFSET>,
32123 DocumentOriginUri: DocumentOriginUri::<Identity, OFFSET>,
32124 FileExtension: FileExtension::<Identity, OFFSET>,
32125 FilePath: FilePath::<Identity, OFFSET>,
32126 SuppressDefaultPolicy: SuppressDefaultPolicy::<Identity, OFFSET>,
32127 SetSuppressDefaultPolicy: SetSuppressDefaultPolicy::<Identity, OFFSET>,
32128 GetDeferral: GetDeferral::<Identity, OFFSET>,
32129 }
32130 }
32131 pub fn matches(iid: &windows_core::GUID) -> bool {
32132 iid == & < ICoreWebView2SaveFileSecurityCheckStartingEventArgs as windows_core::Interface >::IID
32133 }
32134}
32135impl windows_core::RuntimeName for ICoreWebView2SaveFileSecurityCheckStartingEventArgs {}
32136windows_core::imp::define_interface!(
32137 ICoreWebView2SaveFileSecurityCheckStartingEventHandler,
32138 ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Vtbl,
32139 0x7899576c_19e3_57c8_b7d1_55808292de57
32140);
32141windows_core::imp::interface_hierarchy!(
32142 ICoreWebView2SaveFileSecurityCheckStartingEventHandler,
32143 windows_core::IUnknown
32144);
32145impl ICoreWebView2SaveFileSecurityCheckStartingEventHandler {
32146 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
32147 where
32148 P0: windows_core::Param<ICoreWebView2>,
32149 P1: windows_core::Param<ICoreWebView2SaveFileSecurityCheckStartingEventArgs>,
32150 {
32151 unsafe {
32152 (windows_core::Interface::vtable(self).Invoke)(
32153 windows_core::Interface::as_raw(self),
32154 sender.param().abi(),
32155 args.param().abi(),
32156 )
32157 .ok()
32158 }
32159 }
32160}
32161#[repr(C)]
32162#[doc(hidden)]
32163pub struct ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Vtbl {
32164 pub base__: windows_core::IUnknown_Vtbl,
32165 pub Invoke: unsafe extern "system" fn(
32166 *mut core::ffi::c_void,
32167 *mut core::ffi::c_void,
32168 *mut core::ffi::c_void,
32169 ) -> windows_core::HRESULT,
32170}
32171pub trait ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Impl:
32172 windows_core::IUnknownImpl
32173{
32174 fn Invoke(
32175 &self,
32176 sender: windows_core::Ref<'_, ICoreWebView2>,
32177 args: windows_core::Ref<'_, ICoreWebView2SaveFileSecurityCheckStartingEventArgs>,
32178 ) -> windows_core::Result<()>;
32179}
32180impl ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Vtbl {
32181 pub const fn new<
32182 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Impl,
32183 const OFFSET: isize,
32184 >() -> Self {
32185 unsafe extern "system" fn Invoke<
32186 Identity: ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Impl,
32187 const OFFSET: isize,
32188 >(
32189 this: *mut core::ffi::c_void,
32190 sender: *mut core::ffi::c_void,
32191 args: *mut core::ffi::c_void,
32192 ) -> windows_core::HRESULT {
32193 unsafe {
32194 let this: &Identity =
32195 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32196 ICoreWebView2SaveFileSecurityCheckStartingEventHandler_Impl::Invoke(
32197 this,
32198 core::mem::transmute_copy(&sender),
32199 core::mem::transmute_copy(&args),
32200 )
32201 .into()
32202 }
32203 }
32204 Self {
32205 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32206 Invoke: Invoke::<Identity, OFFSET>,
32207 }
32208 }
32209 pub fn matches(iid: &windows_core::GUID) -> bool {
32210 iid == & < ICoreWebView2SaveFileSecurityCheckStartingEventHandler as windows_core::Interface >::IID
32211 }
32212}
32213impl windows_core::RuntimeName for ICoreWebView2SaveFileSecurityCheckStartingEventHandler {}
32214windows_core::imp::define_interface!(
32215 ICoreWebView2ScreenCaptureStartingEventArgs,
32216 ICoreWebView2ScreenCaptureStartingEventArgs_Vtbl,
32217 0x892c03fd_aee3_5eba_a1fa_6fd2f6484b2b
32218);
32219windows_core::imp::interface_hierarchy!(
32220 ICoreWebView2ScreenCaptureStartingEventArgs,
32221 windows_core::IUnknown
32222);
32223impl ICoreWebView2ScreenCaptureStartingEventArgs {
32224 pub unsafe fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
32225 unsafe {
32226 (windows_core::Interface::vtable(self).Cancel)(
32227 windows_core::Interface::as_raw(self),
32228 value as _,
32229 )
32230 .ok()
32231 }
32232 }
32233 pub unsafe fn SetCancel(&self, value: bool) -> windows_core::Result<()> {
32234 unsafe {
32235 (windows_core::Interface::vtable(self).SetCancel)(
32236 windows_core::Interface::as_raw(self),
32237 value.into(),
32238 )
32239 .ok()
32240 }
32241 }
32242 pub unsafe fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
32243 unsafe {
32244 (windows_core::Interface::vtable(self).Handled)(
32245 windows_core::Interface::as_raw(self),
32246 value as _,
32247 )
32248 .ok()
32249 }
32250 }
32251 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
32252 unsafe {
32253 (windows_core::Interface::vtable(self).SetHandled)(
32254 windows_core::Interface::as_raw(self),
32255 value.into(),
32256 )
32257 .ok()
32258 }
32259 }
32260 pub unsafe fn OriginalSourceFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo> {
32261 unsafe {
32262 let mut result__ = core::mem::zeroed();
32263 (windows_core::Interface::vtable(self).OriginalSourceFrameInfo)(
32264 windows_core::Interface::as_raw(self),
32265 &mut result__,
32266 )
32267 .and_then(|| windows_core::Type::from_abi(result__))
32268 }
32269 }
32270 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
32271 unsafe {
32272 let mut result__ = core::mem::zeroed();
32273 (windows_core::Interface::vtable(self).GetDeferral)(
32274 windows_core::Interface::as_raw(self),
32275 &mut result__,
32276 )
32277 .and_then(|| windows_core::Type::from_abi(result__))
32278 }
32279 }
32280}
32281#[repr(C)]
32282#[doc(hidden)]
32283pub struct ICoreWebView2ScreenCaptureStartingEventArgs_Vtbl {
32284 pub base__: windows_core::IUnknown_Vtbl,
32285 pub Cancel: unsafe extern "system" fn(
32286 *mut core::ffi::c_void,
32287 *mut windows_core::BOOL,
32288 ) -> windows_core::HRESULT,
32289 pub SetCancel: unsafe extern "system" fn(
32290 *mut core::ffi::c_void,
32291 windows_core::BOOL,
32292 ) -> windows_core::HRESULT,
32293 pub Handled: unsafe extern "system" fn(
32294 *mut core::ffi::c_void,
32295 *mut windows_core::BOOL,
32296 ) -> windows_core::HRESULT,
32297 pub SetHandled: unsafe extern "system" fn(
32298 *mut core::ffi::c_void,
32299 windows_core::BOOL,
32300 ) -> windows_core::HRESULT,
32301 pub OriginalSourceFrameInfo: unsafe extern "system" fn(
32302 *mut core::ffi::c_void,
32303 *mut *mut core::ffi::c_void,
32304 ) -> windows_core::HRESULT,
32305 pub GetDeferral: unsafe extern "system" fn(
32306 *mut core::ffi::c_void,
32307 *mut *mut core::ffi::c_void,
32308 ) -> windows_core::HRESULT,
32309}
32310pub trait ICoreWebView2ScreenCaptureStartingEventArgs_Impl: windows_core::IUnknownImpl {
32311 fn Cancel(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
32312 fn SetCancel(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
32313 fn Handled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
32314 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
32315 fn OriginalSourceFrameInfo(&self) -> windows_core::Result<ICoreWebView2FrameInfo>;
32316 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
32317}
32318impl ICoreWebView2ScreenCaptureStartingEventArgs_Vtbl {
32319 pub const fn new<
32320 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32321 const OFFSET: isize,
32322 >() -> Self {
32323 unsafe extern "system" fn Cancel<
32324 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32325 const OFFSET: isize,
32326 >(
32327 this: *mut core::ffi::c_void,
32328 value: *mut windows_core::BOOL,
32329 ) -> windows_core::HRESULT {
32330 unsafe {
32331 let this: &Identity =
32332 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32333 ICoreWebView2ScreenCaptureStartingEventArgs_Impl::Cancel(
32334 this,
32335 core::mem::transmute_copy(&value),
32336 )
32337 .into()
32338 }
32339 }
32340 unsafe extern "system" fn SetCancel<
32341 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32342 const OFFSET: isize,
32343 >(
32344 this: *mut core::ffi::c_void,
32345 value: windows_core::BOOL,
32346 ) -> windows_core::HRESULT {
32347 unsafe {
32348 let this: &Identity =
32349 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32350 ICoreWebView2ScreenCaptureStartingEventArgs_Impl::SetCancel(
32351 this,
32352 core::mem::transmute_copy(&value),
32353 )
32354 .into()
32355 }
32356 }
32357 unsafe extern "system" fn Handled<
32358 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32359 const OFFSET: isize,
32360 >(
32361 this: *mut core::ffi::c_void,
32362 value: *mut windows_core::BOOL,
32363 ) -> windows_core::HRESULT {
32364 unsafe {
32365 let this: &Identity =
32366 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32367 ICoreWebView2ScreenCaptureStartingEventArgs_Impl::Handled(
32368 this,
32369 core::mem::transmute_copy(&value),
32370 )
32371 .into()
32372 }
32373 }
32374 unsafe extern "system" fn SetHandled<
32375 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32376 const OFFSET: isize,
32377 >(
32378 this: *mut core::ffi::c_void,
32379 value: windows_core::BOOL,
32380 ) -> windows_core::HRESULT {
32381 unsafe {
32382 let this: &Identity =
32383 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32384 ICoreWebView2ScreenCaptureStartingEventArgs_Impl::SetHandled(
32385 this,
32386 core::mem::transmute_copy(&value),
32387 )
32388 .into()
32389 }
32390 }
32391 unsafe extern "system" fn OriginalSourceFrameInfo<
32392 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32393 const OFFSET: isize,
32394 >(
32395 this: *mut core::ffi::c_void,
32396 value: *mut *mut core::ffi::c_void,
32397 ) -> windows_core::HRESULT {
32398 unsafe {
32399 let this: &Identity =
32400 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32401 match ICoreWebView2ScreenCaptureStartingEventArgs_Impl::OriginalSourceFrameInfo(
32402 this,
32403 ) {
32404 Ok(ok__) => {
32405 value.write(core::mem::transmute(ok__));
32406 windows_core::HRESULT(0)
32407 }
32408 Err(err) => err.into(),
32409 }
32410 }
32411 }
32412 unsafe extern "system" fn GetDeferral<
32413 Identity: ICoreWebView2ScreenCaptureStartingEventArgs_Impl,
32414 const OFFSET: isize,
32415 >(
32416 this: *mut core::ffi::c_void,
32417 value: *mut *mut core::ffi::c_void,
32418 ) -> windows_core::HRESULT {
32419 unsafe {
32420 let this: &Identity =
32421 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32422 match ICoreWebView2ScreenCaptureStartingEventArgs_Impl::GetDeferral(this) {
32423 Ok(ok__) => {
32424 value.write(core::mem::transmute(ok__));
32425 windows_core::HRESULT(0)
32426 }
32427 Err(err) => err.into(),
32428 }
32429 }
32430 }
32431 Self {
32432 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32433 Cancel: Cancel::<Identity, OFFSET>,
32434 SetCancel: SetCancel::<Identity, OFFSET>,
32435 Handled: Handled::<Identity, OFFSET>,
32436 SetHandled: SetHandled::<Identity, OFFSET>,
32437 OriginalSourceFrameInfo: OriginalSourceFrameInfo::<Identity, OFFSET>,
32438 GetDeferral: GetDeferral::<Identity, OFFSET>,
32439 }
32440 }
32441 pub fn matches(iid: &windows_core::GUID) -> bool {
32442 iid == &<ICoreWebView2ScreenCaptureStartingEventArgs as windows_core::Interface>::IID
32443 }
32444}
32445impl windows_core::RuntimeName for ICoreWebView2ScreenCaptureStartingEventArgs {}
32446windows_core::imp::define_interface!(
32447 ICoreWebView2ScreenCaptureStartingEventHandler,
32448 ICoreWebView2ScreenCaptureStartingEventHandler_Vtbl,
32449 0xe24ff05a_1db5_59d9_89f3_3c864268db4a
32450);
32451windows_core::imp::interface_hierarchy!(
32452 ICoreWebView2ScreenCaptureStartingEventHandler,
32453 windows_core::IUnknown
32454);
32455impl ICoreWebView2ScreenCaptureStartingEventHandler {
32456 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
32457 where
32458 P0: windows_core::Param<ICoreWebView2>,
32459 P1: windows_core::Param<ICoreWebView2ScreenCaptureStartingEventArgs>,
32460 {
32461 unsafe {
32462 (windows_core::Interface::vtable(self).Invoke)(
32463 windows_core::Interface::as_raw(self),
32464 sender.param().abi(),
32465 args.param().abi(),
32466 )
32467 .ok()
32468 }
32469 }
32470}
32471#[repr(C)]
32472#[doc(hidden)]
32473pub struct ICoreWebView2ScreenCaptureStartingEventHandler_Vtbl {
32474 pub base__: windows_core::IUnknown_Vtbl,
32475 pub Invoke: unsafe extern "system" fn(
32476 *mut core::ffi::c_void,
32477 *mut core::ffi::c_void,
32478 *mut core::ffi::c_void,
32479 ) -> windows_core::HRESULT,
32480}
32481pub trait ICoreWebView2ScreenCaptureStartingEventHandler_Impl: windows_core::IUnknownImpl {
32482 fn Invoke(
32483 &self,
32484 sender: windows_core::Ref<'_, ICoreWebView2>,
32485 args: windows_core::Ref<'_, ICoreWebView2ScreenCaptureStartingEventArgs>,
32486 ) -> windows_core::Result<()>;
32487}
32488impl ICoreWebView2ScreenCaptureStartingEventHandler_Vtbl {
32489 pub const fn new<
32490 Identity: ICoreWebView2ScreenCaptureStartingEventHandler_Impl,
32491 const OFFSET: isize,
32492 >() -> Self {
32493 unsafe extern "system" fn Invoke<
32494 Identity: ICoreWebView2ScreenCaptureStartingEventHandler_Impl,
32495 const OFFSET: isize,
32496 >(
32497 this: *mut core::ffi::c_void,
32498 sender: *mut core::ffi::c_void,
32499 args: *mut core::ffi::c_void,
32500 ) -> windows_core::HRESULT {
32501 unsafe {
32502 let this: &Identity =
32503 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32504 ICoreWebView2ScreenCaptureStartingEventHandler_Impl::Invoke(
32505 this,
32506 core::mem::transmute_copy(&sender),
32507 core::mem::transmute_copy(&args),
32508 )
32509 .into()
32510 }
32511 }
32512 Self {
32513 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32514 Invoke: Invoke::<Identity, OFFSET>,
32515 }
32516 }
32517 pub fn matches(iid: &windows_core::GUID) -> bool {
32518 iid == &<ICoreWebView2ScreenCaptureStartingEventHandler as windows_core::Interface>::IID
32519 }
32520}
32521impl windows_core::RuntimeName for ICoreWebView2ScreenCaptureStartingEventHandler {}
32522windows_core::imp::define_interface!(
32523 ICoreWebView2ScriptDialogOpeningEventArgs,
32524 ICoreWebView2ScriptDialogOpeningEventArgs_Vtbl,
32525 0x7390bb70_abe0_4843_9529_f143b31b03d6
32526);
32527windows_core::imp::interface_hierarchy!(
32528 ICoreWebView2ScriptDialogOpeningEventArgs,
32529 windows_core::IUnknown
32530);
32531impl ICoreWebView2ScriptDialogOpeningEventArgs {
32532 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
32533 unsafe {
32534 (windows_core::Interface::vtable(self).Uri)(
32535 windows_core::Interface::as_raw(self),
32536 uri as _,
32537 )
32538 .ok()
32539 }
32540 }
32541 pub unsafe fn Kind(
32542 &self,
32543 kind: *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND,
32544 ) -> windows_core::Result<()> {
32545 unsafe {
32546 (windows_core::Interface::vtable(self).Kind)(
32547 windows_core::Interface::as_raw(self),
32548 kind as _,
32549 )
32550 .ok()
32551 }
32552 }
32553 pub unsafe fn Message(&self, message: *mut windows_core::PWSTR) -> windows_core::Result<()> {
32554 unsafe {
32555 (windows_core::Interface::vtable(self).Message)(
32556 windows_core::Interface::as_raw(self),
32557 message as _,
32558 )
32559 .ok()
32560 }
32561 }
32562 pub unsafe fn Accept(&self) -> windows_core::Result<()> {
32563 unsafe {
32564 (windows_core::Interface::vtable(self).Accept)(windows_core::Interface::as_raw(self))
32565 .ok()
32566 }
32567 }
32568 pub unsafe fn DefaultText(
32569 &self,
32570 defaulttext: *mut windows_core::PWSTR,
32571 ) -> windows_core::Result<()> {
32572 unsafe {
32573 (windows_core::Interface::vtable(self).DefaultText)(
32574 windows_core::Interface::as_raw(self),
32575 defaulttext as _,
32576 )
32577 .ok()
32578 }
32579 }
32580 pub unsafe fn ResultText(
32581 &self,
32582 resulttext: *mut windows_core::PWSTR,
32583 ) -> windows_core::Result<()> {
32584 unsafe {
32585 (windows_core::Interface::vtable(self).ResultText)(
32586 windows_core::Interface::as_raw(self),
32587 resulttext as _,
32588 )
32589 .ok()
32590 }
32591 }
32592 pub unsafe fn SetResultText<P0>(&self, resulttext: P0) -> windows_core::Result<()>
32593 where
32594 P0: windows_core::Param<windows_core::PCWSTR>,
32595 {
32596 unsafe {
32597 (windows_core::Interface::vtable(self).SetResultText)(
32598 windows_core::Interface::as_raw(self),
32599 resulttext.param().abi(),
32600 )
32601 .ok()
32602 }
32603 }
32604 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
32605 unsafe {
32606 let mut result__ = core::mem::zeroed();
32607 (windows_core::Interface::vtable(self).GetDeferral)(
32608 windows_core::Interface::as_raw(self),
32609 &mut result__,
32610 )
32611 .and_then(|| windows_core::Type::from_abi(result__))
32612 }
32613 }
32614}
32615#[repr(C)]
32616#[doc(hidden)]
32617pub struct ICoreWebView2ScriptDialogOpeningEventArgs_Vtbl {
32618 pub base__: windows_core::IUnknown_Vtbl,
32619 pub Uri: unsafe extern "system" fn(
32620 *mut core::ffi::c_void,
32621 *mut windows_core::PWSTR,
32622 ) -> windows_core::HRESULT,
32623 pub Kind: unsafe extern "system" fn(
32624 *mut core::ffi::c_void,
32625 *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND,
32626 ) -> windows_core::HRESULT,
32627 pub Message: unsafe extern "system" fn(
32628 *mut core::ffi::c_void,
32629 *mut windows_core::PWSTR,
32630 ) -> windows_core::HRESULT,
32631 pub Accept: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
32632 pub DefaultText: unsafe extern "system" fn(
32633 *mut core::ffi::c_void,
32634 *mut windows_core::PWSTR,
32635 ) -> windows_core::HRESULT,
32636 pub ResultText: unsafe extern "system" fn(
32637 *mut core::ffi::c_void,
32638 *mut windows_core::PWSTR,
32639 ) -> windows_core::HRESULT,
32640 pub SetResultText: unsafe extern "system" fn(
32641 *mut core::ffi::c_void,
32642 windows_core::PCWSTR,
32643 ) -> windows_core::HRESULT,
32644 pub GetDeferral: unsafe extern "system" fn(
32645 *mut core::ffi::c_void,
32646 *mut *mut core::ffi::c_void,
32647 ) -> windows_core::HRESULT,
32648}
32649pub trait ICoreWebView2ScriptDialogOpeningEventArgs_Impl: windows_core::IUnknownImpl {
32650 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
32651 fn Kind(&self, kind: *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND) -> windows_core::Result<()>;
32652 fn Message(&self, message: *mut windows_core::PWSTR) -> windows_core::Result<()>;
32653 fn Accept(&self) -> windows_core::Result<()>;
32654 fn DefaultText(&self, defaulttext: *mut windows_core::PWSTR) -> windows_core::Result<()>;
32655 fn ResultText(&self, resulttext: *mut windows_core::PWSTR) -> windows_core::Result<()>;
32656 fn SetResultText(&self, resulttext: &windows_core::PCWSTR) -> windows_core::Result<()>;
32657 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
32658}
32659impl ICoreWebView2ScriptDialogOpeningEventArgs_Vtbl {
32660 pub const fn new<
32661 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
32662 const OFFSET: isize,
32663 >() -> Self {
32664 unsafe extern "system" fn Uri<
32665 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
32666 const OFFSET: isize,
32667 >(
32668 this: *mut core::ffi::c_void,
32669 uri: *mut windows_core::PWSTR,
32670 ) -> windows_core::HRESULT {
32671 unsafe {
32672 let this: &Identity =
32673 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32674 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Uri(
32675 this,
32676 core::mem::transmute_copy(&uri),
32677 )
32678 .into()
32679 }
32680 }
32681 unsafe extern "system" fn Kind<
32682 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
32683 const OFFSET: isize,
32684 >(
32685 this: *mut core::ffi::c_void,
32686 kind: *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND,
32687 ) -> windows_core::HRESULT {
32688 unsafe {
32689 let this: &Identity =
32690 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32691 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Kind(
32692 this,
32693 core::mem::transmute_copy(&kind),
32694 )
32695 .into()
32696 }
32697 }
32698 unsafe extern "system" fn Message<
32699 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
32700 const OFFSET: isize,
32701 >(
32702 this: *mut core::ffi::c_void,
32703 message: *mut windows_core::PWSTR,
32704 ) -> windows_core::HRESULT {
32705 unsafe {
32706 let this: &Identity =
32707 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32708 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Message(
32709 this,
32710 core::mem::transmute_copy(&message),
32711 )
32712 .into()
32713 }
32714 }
32715 unsafe extern "system" fn Accept<
32716 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
32717 const OFFSET: isize,
32718 >(
32719 this: *mut core::ffi::c_void,
32720 ) -> windows_core::HRESULT {
32721 unsafe {
32722 let this: &Identity =
32723 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32724 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Accept(this).into()
32725 }
32726 }
32727 unsafe extern "system" fn DefaultText<
32728 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
32729 const OFFSET: isize,
32730 >(
32731 this: *mut core::ffi::c_void,
32732 defaulttext: *mut windows_core::PWSTR,
32733 ) -> windows_core::HRESULT {
32734 unsafe {
32735 let this: &Identity =
32736 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32737 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::DefaultText(
32738 this,
32739 core::mem::transmute_copy(&defaulttext),
32740 )
32741 .into()
32742 }
32743 }
32744 unsafe extern "system" fn ResultText<
32745 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
32746 const OFFSET: isize,
32747 >(
32748 this: *mut core::ffi::c_void,
32749 resulttext: *mut windows_core::PWSTR,
32750 ) -> windows_core::HRESULT {
32751 unsafe {
32752 let this: &Identity =
32753 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32754 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::ResultText(
32755 this,
32756 core::mem::transmute_copy(&resulttext),
32757 )
32758 .into()
32759 }
32760 }
32761 unsafe extern "system" fn SetResultText<
32762 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
32763 const OFFSET: isize,
32764 >(
32765 this: *mut core::ffi::c_void,
32766 resulttext: windows_core::PCWSTR,
32767 ) -> windows_core::HRESULT {
32768 unsafe {
32769 let this: &Identity =
32770 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32771 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::SetResultText(
32772 this,
32773 core::mem::transmute(&resulttext),
32774 )
32775 .into()
32776 }
32777 }
32778 unsafe extern "system" fn GetDeferral<
32779 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
32780 const OFFSET: isize,
32781 >(
32782 this: *mut core::ffi::c_void,
32783 deferral: *mut *mut core::ffi::c_void,
32784 ) -> windows_core::HRESULT {
32785 unsafe {
32786 let this: &Identity =
32787 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32788 match ICoreWebView2ScriptDialogOpeningEventArgs_Impl::GetDeferral(this) {
32789 Ok(ok__) => {
32790 deferral.write(core::mem::transmute(ok__));
32791 windows_core::HRESULT(0)
32792 }
32793 Err(err) => err.into(),
32794 }
32795 }
32796 }
32797 Self {
32798 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32799 Uri: Uri::<Identity, OFFSET>,
32800 Kind: Kind::<Identity, OFFSET>,
32801 Message: Message::<Identity, OFFSET>,
32802 Accept: Accept::<Identity, OFFSET>,
32803 DefaultText: DefaultText::<Identity, OFFSET>,
32804 ResultText: ResultText::<Identity, OFFSET>,
32805 SetResultText: SetResultText::<Identity, OFFSET>,
32806 GetDeferral: GetDeferral::<Identity, OFFSET>,
32807 }
32808 }
32809 pub fn matches(iid: &windows_core::GUID) -> bool {
32810 iid == &<ICoreWebView2ScriptDialogOpeningEventArgs as windows_core::Interface>::IID
32811 }
32812}
32813impl windows_core::RuntimeName for ICoreWebView2ScriptDialogOpeningEventArgs {}
32814windows_core::imp::define_interface!(
32815 ICoreWebView2ScriptDialogOpeningEventHandler,
32816 ICoreWebView2ScriptDialogOpeningEventHandler_Vtbl,
32817 0xef381bf9_afa8_4e37_91c4_8ac48524bdfb
32818);
32819windows_core::imp::interface_hierarchy!(
32820 ICoreWebView2ScriptDialogOpeningEventHandler,
32821 windows_core::IUnknown
32822);
32823impl ICoreWebView2ScriptDialogOpeningEventHandler {
32824 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
32825 where
32826 P0: windows_core::Param<ICoreWebView2>,
32827 P1: windows_core::Param<ICoreWebView2ScriptDialogOpeningEventArgs>,
32828 {
32829 unsafe {
32830 (windows_core::Interface::vtable(self).Invoke)(
32831 windows_core::Interface::as_raw(self),
32832 sender.param().abi(),
32833 args.param().abi(),
32834 )
32835 .ok()
32836 }
32837 }
32838}
32839#[repr(C)]
32840#[doc(hidden)]
32841pub struct ICoreWebView2ScriptDialogOpeningEventHandler_Vtbl {
32842 pub base__: windows_core::IUnknown_Vtbl,
32843 pub Invoke: unsafe extern "system" fn(
32844 *mut core::ffi::c_void,
32845 *mut core::ffi::c_void,
32846 *mut core::ffi::c_void,
32847 ) -> windows_core::HRESULT,
32848}
32849pub trait ICoreWebView2ScriptDialogOpeningEventHandler_Impl: windows_core::IUnknownImpl {
32850 fn Invoke(
32851 &self,
32852 sender: windows_core::Ref<'_, ICoreWebView2>,
32853 args: windows_core::Ref<'_, ICoreWebView2ScriptDialogOpeningEventArgs>,
32854 ) -> windows_core::Result<()>;
32855}
32856impl ICoreWebView2ScriptDialogOpeningEventHandler_Vtbl {
32857 pub const fn new<
32858 Identity: ICoreWebView2ScriptDialogOpeningEventHandler_Impl,
32859 const OFFSET: isize,
32860 >() -> Self {
32861 unsafe extern "system" fn Invoke<
32862 Identity: ICoreWebView2ScriptDialogOpeningEventHandler_Impl,
32863 const OFFSET: isize,
32864 >(
32865 this: *mut core::ffi::c_void,
32866 sender: *mut core::ffi::c_void,
32867 args: *mut core::ffi::c_void,
32868 ) -> windows_core::HRESULT {
32869 unsafe {
32870 let this: &Identity =
32871 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32872 ICoreWebView2ScriptDialogOpeningEventHandler_Impl::Invoke(
32873 this,
32874 core::mem::transmute_copy(&sender),
32875 core::mem::transmute_copy(&args),
32876 )
32877 .into()
32878 }
32879 }
32880 Self {
32881 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32882 Invoke: Invoke::<Identity, OFFSET>,
32883 }
32884 }
32885 pub fn matches(iid: &windows_core::GUID) -> bool {
32886 iid == &<ICoreWebView2ScriptDialogOpeningEventHandler as windows_core::Interface>::IID
32887 }
32888}
32889impl windows_core::RuntimeName for ICoreWebView2ScriptDialogOpeningEventHandler {}
32890windows_core::imp::define_interface!(
32891 ICoreWebView2ScriptException,
32892 ICoreWebView2ScriptException_Vtbl,
32893 0x054dae00_84a3_49ff_bc17_4012a90bc9fd
32894);
32895windows_core::imp::interface_hierarchy!(ICoreWebView2ScriptException, windows_core::IUnknown);
32896impl ICoreWebView2ScriptException {
32897 pub unsafe fn LineNumber(&self, value: *mut u32) -> windows_core::Result<()> {
32898 unsafe {
32899 (windows_core::Interface::vtable(self).LineNumber)(
32900 windows_core::Interface::as_raw(self),
32901 value as _,
32902 )
32903 .ok()
32904 }
32905 }
32906 pub unsafe fn ColumnNumber(&self, value: *mut u32) -> windows_core::Result<()> {
32907 unsafe {
32908 (windows_core::Interface::vtable(self).ColumnNumber)(
32909 windows_core::Interface::as_raw(self),
32910 value as _,
32911 )
32912 .ok()
32913 }
32914 }
32915 pub unsafe fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
32916 unsafe {
32917 (windows_core::Interface::vtable(self).Name)(
32918 windows_core::Interface::as_raw(self),
32919 value as _,
32920 )
32921 .ok()
32922 }
32923 }
32924 pub unsafe fn Message(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
32925 unsafe {
32926 (windows_core::Interface::vtable(self).Message)(
32927 windows_core::Interface::as_raw(self),
32928 value as _,
32929 )
32930 .ok()
32931 }
32932 }
32933 pub unsafe fn ToJson(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
32934 unsafe {
32935 (windows_core::Interface::vtable(self).ToJson)(
32936 windows_core::Interface::as_raw(self),
32937 value as _,
32938 )
32939 .ok()
32940 }
32941 }
32942}
32943#[repr(C)]
32944#[doc(hidden)]
32945pub struct ICoreWebView2ScriptException_Vtbl {
32946 pub base__: windows_core::IUnknown_Vtbl,
32947 pub LineNumber:
32948 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
32949 pub ColumnNumber:
32950 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
32951 pub Name: unsafe extern "system" fn(
32952 *mut core::ffi::c_void,
32953 *mut windows_core::PWSTR,
32954 ) -> windows_core::HRESULT,
32955 pub Message: unsafe extern "system" fn(
32956 *mut core::ffi::c_void,
32957 *mut windows_core::PWSTR,
32958 ) -> windows_core::HRESULT,
32959 pub ToJson: unsafe extern "system" fn(
32960 *mut core::ffi::c_void,
32961 *mut windows_core::PWSTR,
32962 ) -> windows_core::HRESULT,
32963}
32964pub trait ICoreWebView2ScriptException_Impl: windows_core::IUnknownImpl {
32965 fn LineNumber(&self, value: *mut u32) -> windows_core::Result<()>;
32966 fn ColumnNumber(&self, value: *mut u32) -> windows_core::Result<()>;
32967 fn Name(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
32968 fn Message(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
32969 fn ToJson(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
32970}
32971impl ICoreWebView2ScriptException_Vtbl {
32972 pub const fn new<Identity: ICoreWebView2ScriptException_Impl, const OFFSET: isize>() -> Self {
32973 unsafe extern "system" fn LineNumber<
32974 Identity: ICoreWebView2ScriptException_Impl,
32975 const OFFSET: isize,
32976 >(
32977 this: *mut core::ffi::c_void,
32978 value: *mut u32,
32979 ) -> windows_core::HRESULT {
32980 unsafe {
32981 let this: &Identity =
32982 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32983 ICoreWebView2ScriptException_Impl::LineNumber(
32984 this,
32985 core::mem::transmute_copy(&value),
32986 )
32987 .into()
32988 }
32989 }
32990 unsafe extern "system" fn ColumnNumber<
32991 Identity: ICoreWebView2ScriptException_Impl,
32992 const OFFSET: isize,
32993 >(
32994 this: *mut core::ffi::c_void,
32995 value: *mut u32,
32996 ) -> windows_core::HRESULT {
32997 unsafe {
32998 let this: &Identity =
32999 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33000 ICoreWebView2ScriptException_Impl::ColumnNumber(
33001 this,
33002 core::mem::transmute_copy(&value),
33003 )
33004 .into()
33005 }
33006 }
33007 unsafe extern "system" fn Name<
33008 Identity: ICoreWebView2ScriptException_Impl,
33009 const OFFSET: isize,
33010 >(
33011 this: *mut core::ffi::c_void,
33012 value: *mut windows_core::PWSTR,
33013 ) -> windows_core::HRESULT {
33014 unsafe {
33015 let this: &Identity =
33016 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33017 ICoreWebView2ScriptException_Impl::Name(this, core::mem::transmute_copy(&value))
33018 .into()
33019 }
33020 }
33021 unsafe extern "system" fn Message<
33022 Identity: ICoreWebView2ScriptException_Impl,
33023 const OFFSET: isize,
33024 >(
33025 this: *mut core::ffi::c_void,
33026 value: *mut windows_core::PWSTR,
33027 ) -> windows_core::HRESULT {
33028 unsafe {
33029 let this: &Identity =
33030 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33031 ICoreWebView2ScriptException_Impl::Message(this, core::mem::transmute_copy(&value))
33032 .into()
33033 }
33034 }
33035 unsafe extern "system" fn ToJson<
33036 Identity: ICoreWebView2ScriptException_Impl,
33037 const OFFSET: isize,
33038 >(
33039 this: *mut core::ffi::c_void,
33040 value: *mut windows_core::PWSTR,
33041 ) -> windows_core::HRESULT {
33042 unsafe {
33043 let this: &Identity =
33044 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33045 ICoreWebView2ScriptException_Impl::ToJson(this, core::mem::transmute_copy(&value))
33046 .into()
33047 }
33048 }
33049 Self {
33050 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33051 LineNumber: LineNumber::<Identity, OFFSET>,
33052 ColumnNumber: ColumnNumber::<Identity, OFFSET>,
33053 Name: Name::<Identity, OFFSET>,
33054 Message: Message::<Identity, OFFSET>,
33055 ToJson: ToJson::<Identity, OFFSET>,
33056 }
33057 }
33058 pub fn matches(iid: &windows_core::GUID) -> bool {
33059 iid == &<ICoreWebView2ScriptException as windows_core::Interface>::IID
33060 }
33061}
33062impl windows_core::RuntimeName for ICoreWebView2ScriptException {}
33063windows_core::imp::define_interface!(
33064 ICoreWebView2ServerCertificateErrorDetectedEventArgs,
33065 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Vtbl,
33066 0x012193ed_7c13_48ff_969d_a84c1f432a14
33067);
33068windows_core::imp::interface_hierarchy!(
33069 ICoreWebView2ServerCertificateErrorDetectedEventArgs,
33070 windows_core::IUnknown
33071);
33072impl ICoreWebView2ServerCertificateErrorDetectedEventArgs {
33073 pub unsafe fn ErrorStatus(
33074 &self,
33075 value: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
33076 ) -> windows_core::Result<()> {
33077 unsafe {
33078 (windows_core::Interface::vtable(self).ErrorStatus)(
33079 windows_core::Interface::as_raw(self),
33080 value as _,
33081 )
33082 .ok()
33083 }
33084 }
33085 pub unsafe fn RequestUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
33086 unsafe {
33087 (windows_core::Interface::vtable(self).RequestUri)(
33088 windows_core::Interface::as_raw(self),
33089 value as _,
33090 )
33091 .ok()
33092 }
33093 }
33094 pub unsafe fn ServerCertificate(&self) -> windows_core::Result<ICoreWebView2Certificate> {
33095 unsafe {
33096 let mut result__ = core::mem::zeroed();
33097 (windows_core::Interface::vtable(self).ServerCertificate)(
33098 windows_core::Interface::as_raw(self),
33099 &mut result__,
33100 )
33101 .and_then(|| windows_core::Type::from_abi(result__))
33102 }
33103 }
33104 pub unsafe fn Action(
33105 &self,
33106 value: *mut COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33107 ) -> windows_core::Result<()> {
33108 unsafe {
33109 (windows_core::Interface::vtable(self).Action)(
33110 windows_core::Interface::as_raw(self),
33111 value as _,
33112 )
33113 .ok()
33114 }
33115 }
33116 pub unsafe fn SetAction(
33117 &self,
33118 value: COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33119 ) -> windows_core::Result<()> {
33120 unsafe {
33121 (windows_core::Interface::vtable(self).SetAction)(
33122 windows_core::Interface::as_raw(self),
33123 value,
33124 )
33125 .ok()
33126 }
33127 }
33128 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
33129 unsafe {
33130 let mut result__ = core::mem::zeroed();
33131 (windows_core::Interface::vtable(self).GetDeferral)(
33132 windows_core::Interface::as_raw(self),
33133 &mut result__,
33134 )
33135 .and_then(|| windows_core::Type::from_abi(result__))
33136 }
33137 }
33138}
33139#[repr(C)]
33140#[doc(hidden)]
33141pub struct ICoreWebView2ServerCertificateErrorDetectedEventArgs_Vtbl {
33142 pub base__: windows_core::IUnknown_Vtbl,
33143 pub ErrorStatus: unsafe extern "system" fn(
33144 *mut core::ffi::c_void,
33145 *mut COREWEBVIEW2_WEB_ERROR_STATUS,
33146 ) -> windows_core::HRESULT,
33147 pub RequestUri: unsafe extern "system" fn(
33148 *mut core::ffi::c_void,
33149 *mut windows_core::PWSTR,
33150 ) -> windows_core::HRESULT,
33151 pub ServerCertificate: unsafe extern "system" fn(
33152 *mut core::ffi::c_void,
33153 *mut *mut core::ffi::c_void,
33154 ) -> windows_core::HRESULT,
33155 pub Action: unsafe extern "system" fn(
33156 *mut core::ffi::c_void,
33157 *mut COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33158 ) -> windows_core::HRESULT,
33159 pub SetAction: unsafe extern "system" fn(
33160 *mut core::ffi::c_void,
33161 COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33162 ) -> windows_core::HRESULT,
33163 pub GetDeferral: unsafe extern "system" fn(
33164 *mut core::ffi::c_void,
33165 *mut *mut core::ffi::c_void,
33166 ) -> windows_core::HRESULT,
33167}
33168pub trait ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl:
33169 windows_core::IUnknownImpl
33170{
33171 fn ErrorStatus(&self, value: *mut COREWEBVIEW2_WEB_ERROR_STATUS) -> windows_core::Result<()>;
33172 fn RequestUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
33173 fn ServerCertificate(&self) -> windows_core::Result<ICoreWebView2Certificate>;
33174 fn Action(
33175 &self,
33176 value: *mut COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33177 ) -> windows_core::Result<()>;
33178 fn SetAction(
33179 &self,
33180 value: COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33181 ) -> windows_core::Result<()>;
33182 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
33183}
33184impl ICoreWebView2ServerCertificateErrorDetectedEventArgs_Vtbl {
33185 pub const fn new<
33186 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33187 const OFFSET: isize,
33188 >() -> Self {
33189 unsafe extern "system" fn ErrorStatus<
33190 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33191 const OFFSET: isize,
33192 >(
33193 this: *mut core::ffi::c_void,
33194 value: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
33195 ) -> windows_core::HRESULT {
33196 unsafe {
33197 let this: &Identity =
33198 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33199 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::ErrorStatus(
33200 this,
33201 core::mem::transmute_copy(&value),
33202 )
33203 .into()
33204 }
33205 }
33206 unsafe extern "system" fn RequestUri<
33207 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33208 const OFFSET: isize,
33209 >(
33210 this: *mut core::ffi::c_void,
33211 value: *mut windows_core::PWSTR,
33212 ) -> windows_core::HRESULT {
33213 unsafe {
33214 let this: &Identity =
33215 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33216 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::RequestUri(
33217 this,
33218 core::mem::transmute_copy(&value),
33219 )
33220 .into()
33221 }
33222 }
33223 unsafe extern "system" fn ServerCertificate<
33224 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33225 const OFFSET: isize,
33226 >(
33227 this: *mut core::ffi::c_void,
33228 value: *mut *mut core::ffi::c_void,
33229 ) -> windows_core::HRESULT {
33230 unsafe {
33231 let this: &Identity =
33232 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33233 match ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::ServerCertificate(
33234 this,
33235 ) {
33236 Ok(ok__) => {
33237 value.write(core::mem::transmute(ok__));
33238 windows_core::HRESULT(0)
33239 }
33240 Err(err) => err.into(),
33241 }
33242 }
33243 }
33244 unsafe extern "system" fn Action<
33245 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33246 const OFFSET: isize,
33247 >(
33248 this: *mut core::ffi::c_void,
33249 value: *mut COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33250 ) -> windows_core::HRESULT {
33251 unsafe {
33252 let this: &Identity =
33253 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33254 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::Action(
33255 this,
33256 core::mem::transmute_copy(&value),
33257 )
33258 .into()
33259 }
33260 }
33261 unsafe extern "system" fn SetAction<
33262 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33263 const OFFSET: isize,
33264 >(
33265 this: *mut core::ffi::c_void,
33266 value: COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION,
33267 ) -> windows_core::HRESULT {
33268 unsafe {
33269 let this: &Identity =
33270 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33271 ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::SetAction(
33272 this,
33273 core::mem::transmute_copy(&value),
33274 )
33275 .into()
33276 }
33277 }
33278 unsafe extern "system" fn GetDeferral<
33279 Identity: ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl,
33280 const OFFSET: isize,
33281 >(
33282 this: *mut core::ffi::c_void,
33283 deferral: *mut *mut core::ffi::c_void,
33284 ) -> windows_core::HRESULT {
33285 unsafe {
33286 let this: &Identity =
33287 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33288 match ICoreWebView2ServerCertificateErrorDetectedEventArgs_Impl::GetDeferral(this) {
33289 Ok(ok__) => {
33290 deferral.write(core::mem::transmute(ok__));
33291 windows_core::HRESULT(0)
33292 }
33293 Err(err) => err.into(),
33294 }
33295 }
33296 }
33297 Self {
33298 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33299 ErrorStatus: ErrorStatus::<Identity, OFFSET>,
33300 RequestUri: RequestUri::<Identity, OFFSET>,
33301 ServerCertificate: ServerCertificate::<Identity, OFFSET>,
33302 Action: Action::<Identity, OFFSET>,
33303 SetAction: SetAction::<Identity, OFFSET>,
33304 GetDeferral: GetDeferral::<Identity, OFFSET>,
33305 }
33306 }
33307 pub fn matches(iid: &windows_core::GUID) -> bool {
33308 iid == & < ICoreWebView2ServerCertificateErrorDetectedEventArgs as windows_core::Interface >::IID
33309 }
33310}
33311impl windows_core::RuntimeName for ICoreWebView2ServerCertificateErrorDetectedEventArgs {}
33312windows_core::imp::define_interface!(
33313 ICoreWebView2ServerCertificateErrorDetectedEventHandler,
33314 ICoreWebView2ServerCertificateErrorDetectedEventHandler_Vtbl,
33315 0x969b3a26_d85e_4795_8199_fef57344da22
33316);
33317windows_core::imp::interface_hierarchy!(
33318 ICoreWebView2ServerCertificateErrorDetectedEventHandler,
33319 windows_core::IUnknown
33320);
33321impl ICoreWebView2ServerCertificateErrorDetectedEventHandler {
33322 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
33323 where
33324 P0: windows_core::Param<ICoreWebView2>,
33325 P1: windows_core::Param<ICoreWebView2ServerCertificateErrorDetectedEventArgs>,
33326 {
33327 unsafe {
33328 (windows_core::Interface::vtable(self).Invoke)(
33329 windows_core::Interface::as_raw(self),
33330 sender.param().abi(),
33331 args.param().abi(),
33332 )
33333 .ok()
33334 }
33335 }
33336}
33337#[repr(C)]
33338#[doc(hidden)]
33339pub struct ICoreWebView2ServerCertificateErrorDetectedEventHandler_Vtbl {
33340 pub base__: windows_core::IUnknown_Vtbl,
33341 pub Invoke: unsafe extern "system" fn(
33342 *mut core::ffi::c_void,
33343 *mut core::ffi::c_void,
33344 *mut core::ffi::c_void,
33345 ) -> windows_core::HRESULT,
33346}
33347pub trait ICoreWebView2ServerCertificateErrorDetectedEventHandler_Impl:
33348 windows_core::IUnknownImpl
33349{
33350 fn Invoke(
33351 &self,
33352 sender: windows_core::Ref<'_, ICoreWebView2>,
33353 args: windows_core::Ref<'_, ICoreWebView2ServerCertificateErrorDetectedEventArgs>,
33354 ) -> windows_core::Result<()>;
33355}
33356impl ICoreWebView2ServerCertificateErrorDetectedEventHandler_Vtbl {
33357 pub const fn new<
33358 Identity: ICoreWebView2ServerCertificateErrorDetectedEventHandler_Impl,
33359 const OFFSET: isize,
33360 >() -> Self {
33361 unsafe extern "system" fn Invoke<
33362 Identity: ICoreWebView2ServerCertificateErrorDetectedEventHandler_Impl,
33363 const OFFSET: isize,
33364 >(
33365 this: *mut core::ffi::c_void,
33366 sender: *mut core::ffi::c_void,
33367 args: *mut core::ffi::c_void,
33368 ) -> windows_core::HRESULT {
33369 unsafe {
33370 let this: &Identity =
33371 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33372 ICoreWebView2ServerCertificateErrorDetectedEventHandler_Impl::Invoke(
33373 this,
33374 core::mem::transmute_copy(&sender),
33375 core::mem::transmute_copy(&args),
33376 )
33377 .into()
33378 }
33379 }
33380 Self {
33381 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33382 Invoke: Invoke::<Identity, OFFSET>,
33383 }
33384 }
33385 pub fn matches(iid: &windows_core::GUID) -> bool {
33386 iid == & < ICoreWebView2ServerCertificateErrorDetectedEventHandler as windows_core::Interface >::IID
33387 }
33388}
33389impl windows_core::RuntimeName for ICoreWebView2ServerCertificateErrorDetectedEventHandler {}
33390windows_core::imp::define_interface!(
33391 ICoreWebView2SetPermissionStateCompletedHandler,
33392 ICoreWebView2SetPermissionStateCompletedHandler_Vtbl,
33393 0xfc77fb30_9c9e_4076_b8c7_7644a703ca1b
33394);
33395windows_core::imp::interface_hierarchy!(
33396 ICoreWebView2SetPermissionStateCompletedHandler,
33397 windows_core::IUnknown
33398);
33399impl ICoreWebView2SetPermissionStateCompletedHandler {
33400 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
33401 unsafe {
33402 (windows_core::Interface::vtable(self).Invoke)(
33403 windows_core::Interface::as_raw(self),
33404 errorcode,
33405 )
33406 .ok()
33407 }
33408 }
33409}
33410#[repr(C)]
33411#[doc(hidden)]
33412pub struct ICoreWebView2SetPermissionStateCompletedHandler_Vtbl {
33413 pub base__: windows_core::IUnknown_Vtbl,
33414 pub Invoke: unsafe extern "system" fn(
33415 *mut core::ffi::c_void,
33416 windows_core::HRESULT,
33417 ) -> windows_core::HRESULT,
33418}
33419pub trait ICoreWebView2SetPermissionStateCompletedHandler_Impl: windows_core::IUnknownImpl {
33420 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
33421}
33422impl ICoreWebView2SetPermissionStateCompletedHandler_Vtbl {
33423 pub const fn new<
33424 Identity: ICoreWebView2SetPermissionStateCompletedHandler_Impl,
33425 const OFFSET: isize,
33426 >() -> Self {
33427 unsafe extern "system" fn Invoke<
33428 Identity: ICoreWebView2SetPermissionStateCompletedHandler_Impl,
33429 const OFFSET: isize,
33430 >(
33431 this: *mut core::ffi::c_void,
33432 errorcode: windows_core::HRESULT,
33433 ) -> windows_core::HRESULT {
33434 unsafe {
33435 let this: &Identity =
33436 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33437 ICoreWebView2SetPermissionStateCompletedHandler_Impl::Invoke(
33438 this,
33439 core::mem::transmute_copy(&errorcode),
33440 )
33441 .into()
33442 }
33443 }
33444 Self {
33445 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33446 Invoke: Invoke::<Identity, OFFSET>,
33447 }
33448 }
33449 pub fn matches(iid: &windows_core::GUID) -> bool {
33450 iid == &<ICoreWebView2SetPermissionStateCompletedHandler as windows_core::Interface>::IID
33451 }
33452}
33453impl windows_core::RuntimeName for ICoreWebView2SetPermissionStateCompletedHandler {}
33454windows_core::imp::define_interface!(
33455 ICoreWebView2Settings,
33456 ICoreWebView2Settings_Vtbl,
33457 0xe562e4f0_d7fa_43ac_8d71_c05150499f00
33458);
33459windows_core::imp::interface_hierarchy!(ICoreWebView2Settings, windows_core::IUnknown);
33460impl ICoreWebView2Settings {
33461 pub unsafe fn IsScriptEnabled(
33462 &self,
33463 isscriptenabled: *mut windows_core::BOOL,
33464 ) -> windows_core::Result<()> {
33465 unsafe {
33466 (windows_core::Interface::vtable(self).IsScriptEnabled)(
33467 windows_core::Interface::as_raw(self),
33468 isscriptenabled as _,
33469 )
33470 .ok()
33471 }
33472 }
33473 pub unsafe fn SetIsScriptEnabled(&self, isscriptenabled: bool) -> windows_core::Result<()> {
33474 unsafe {
33475 (windows_core::Interface::vtable(self).SetIsScriptEnabled)(
33476 windows_core::Interface::as_raw(self),
33477 isscriptenabled.into(),
33478 )
33479 .ok()
33480 }
33481 }
33482 pub unsafe fn IsWebMessageEnabled(
33483 &self,
33484 iswebmessageenabled: *mut windows_core::BOOL,
33485 ) -> windows_core::Result<()> {
33486 unsafe {
33487 (windows_core::Interface::vtable(self).IsWebMessageEnabled)(
33488 windows_core::Interface::as_raw(self),
33489 iswebmessageenabled as _,
33490 )
33491 .ok()
33492 }
33493 }
33494 pub unsafe fn SetIsWebMessageEnabled(
33495 &self,
33496 iswebmessageenabled: bool,
33497 ) -> windows_core::Result<()> {
33498 unsafe {
33499 (windows_core::Interface::vtable(self).SetIsWebMessageEnabled)(
33500 windows_core::Interface::as_raw(self),
33501 iswebmessageenabled.into(),
33502 )
33503 .ok()
33504 }
33505 }
33506 pub unsafe fn AreDefaultScriptDialogsEnabled(
33507 &self,
33508 aredefaultscriptdialogsenabled: *mut windows_core::BOOL,
33509 ) -> windows_core::Result<()> {
33510 unsafe {
33511 (windows_core::Interface::vtable(self).AreDefaultScriptDialogsEnabled)(
33512 windows_core::Interface::as_raw(self),
33513 aredefaultscriptdialogsenabled as _,
33514 )
33515 .ok()
33516 }
33517 }
33518 pub unsafe fn SetAreDefaultScriptDialogsEnabled(
33519 &self,
33520 aredefaultscriptdialogsenabled: bool,
33521 ) -> windows_core::Result<()> {
33522 unsafe {
33523 (windows_core::Interface::vtable(self).SetAreDefaultScriptDialogsEnabled)(
33524 windows_core::Interface::as_raw(self),
33525 aredefaultscriptdialogsenabled.into(),
33526 )
33527 .ok()
33528 }
33529 }
33530 pub unsafe fn IsStatusBarEnabled(
33531 &self,
33532 isstatusbarenabled: *mut windows_core::BOOL,
33533 ) -> windows_core::Result<()> {
33534 unsafe {
33535 (windows_core::Interface::vtable(self).IsStatusBarEnabled)(
33536 windows_core::Interface::as_raw(self),
33537 isstatusbarenabled as _,
33538 )
33539 .ok()
33540 }
33541 }
33542 pub unsafe fn SetIsStatusBarEnabled(
33543 &self,
33544 isstatusbarenabled: bool,
33545 ) -> windows_core::Result<()> {
33546 unsafe {
33547 (windows_core::Interface::vtable(self).SetIsStatusBarEnabled)(
33548 windows_core::Interface::as_raw(self),
33549 isstatusbarenabled.into(),
33550 )
33551 .ok()
33552 }
33553 }
33554 pub unsafe fn AreDevToolsEnabled(
33555 &self,
33556 aredevtoolsenabled: *mut windows_core::BOOL,
33557 ) -> windows_core::Result<()> {
33558 unsafe {
33559 (windows_core::Interface::vtable(self).AreDevToolsEnabled)(
33560 windows_core::Interface::as_raw(self),
33561 aredevtoolsenabled as _,
33562 )
33563 .ok()
33564 }
33565 }
33566 pub unsafe fn SetAreDevToolsEnabled(
33567 &self,
33568 aredevtoolsenabled: bool,
33569 ) -> windows_core::Result<()> {
33570 unsafe {
33571 (windows_core::Interface::vtable(self).SetAreDevToolsEnabled)(
33572 windows_core::Interface::as_raw(self),
33573 aredevtoolsenabled.into(),
33574 )
33575 .ok()
33576 }
33577 }
33578 pub unsafe fn AreDefaultContextMenusEnabled(
33579 &self,
33580 enabled: *mut windows_core::BOOL,
33581 ) -> windows_core::Result<()> {
33582 unsafe {
33583 (windows_core::Interface::vtable(self).AreDefaultContextMenusEnabled)(
33584 windows_core::Interface::as_raw(self),
33585 enabled as _,
33586 )
33587 .ok()
33588 }
33589 }
33590 pub unsafe fn SetAreDefaultContextMenusEnabled(
33591 &self,
33592 enabled: bool,
33593 ) -> windows_core::Result<()> {
33594 unsafe {
33595 (windows_core::Interface::vtable(self).SetAreDefaultContextMenusEnabled)(
33596 windows_core::Interface::as_raw(self),
33597 enabled.into(),
33598 )
33599 .ok()
33600 }
33601 }
33602 pub unsafe fn AreHostObjectsAllowed(
33603 &self,
33604 allowed: *mut windows_core::BOOL,
33605 ) -> windows_core::Result<()> {
33606 unsafe {
33607 (windows_core::Interface::vtable(self).AreHostObjectsAllowed)(
33608 windows_core::Interface::as_raw(self),
33609 allowed as _,
33610 )
33611 .ok()
33612 }
33613 }
33614 pub unsafe fn SetAreHostObjectsAllowed(&self, allowed: bool) -> windows_core::Result<()> {
33615 unsafe {
33616 (windows_core::Interface::vtable(self).SetAreHostObjectsAllowed)(
33617 windows_core::Interface::as_raw(self),
33618 allowed.into(),
33619 )
33620 .ok()
33621 }
33622 }
33623 pub unsafe fn IsZoomControlEnabled(
33624 &self,
33625 enabled: *mut windows_core::BOOL,
33626 ) -> windows_core::Result<()> {
33627 unsafe {
33628 (windows_core::Interface::vtable(self).IsZoomControlEnabled)(
33629 windows_core::Interface::as_raw(self),
33630 enabled as _,
33631 )
33632 .ok()
33633 }
33634 }
33635 pub unsafe fn SetIsZoomControlEnabled(&self, enabled: bool) -> windows_core::Result<()> {
33636 unsafe {
33637 (windows_core::Interface::vtable(self).SetIsZoomControlEnabled)(
33638 windows_core::Interface::as_raw(self),
33639 enabled.into(),
33640 )
33641 .ok()
33642 }
33643 }
33644 pub unsafe fn IsBuiltInErrorPageEnabled(
33645 &self,
33646 enabled: *mut windows_core::BOOL,
33647 ) -> windows_core::Result<()> {
33648 unsafe {
33649 (windows_core::Interface::vtable(self).IsBuiltInErrorPageEnabled)(
33650 windows_core::Interface::as_raw(self),
33651 enabled as _,
33652 )
33653 .ok()
33654 }
33655 }
33656 pub unsafe fn SetIsBuiltInErrorPageEnabled(&self, enabled: bool) -> windows_core::Result<()> {
33657 unsafe {
33658 (windows_core::Interface::vtable(self).SetIsBuiltInErrorPageEnabled)(
33659 windows_core::Interface::as_raw(self),
33660 enabled.into(),
33661 )
33662 .ok()
33663 }
33664 }
33665}
33666#[repr(C)]
33667#[doc(hidden)]
33668pub struct ICoreWebView2Settings_Vtbl {
33669 pub base__: windows_core::IUnknown_Vtbl,
33670 pub IsScriptEnabled: unsafe extern "system" fn(
33671 *mut core::ffi::c_void,
33672 *mut windows_core::BOOL,
33673 ) -> windows_core::HRESULT,
33674 pub SetIsScriptEnabled: unsafe extern "system" fn(
33675 *mut core::ffi::c_void,
33676 windows_core::BOOL,
33677 ) -> windows_core::HRESULT,
33678 pub IsWebMessageEnabled: unsafe extern "system" fn(
33679 *mut core::ffi::c_void,
33680 *mut windows_core::BOOL,
33681 ) -> windows_core::HRESULT,
33682 pub SetIsWebMessageEnabled: unsafe extern "system" fn(
33683 *mut core::ffi::c_void,
33684 windows_core::BOOL,
33685 ) -> windows_core::HRESULT,
33686 pub AreDefaultScriptDialogsEnabled: unsafe extern "system" fn(
33687 *mut core::ffi::c_void,
33688 *mut windows_core::BOOL,
33689 ) -> windows_core::HRESULT,
33690 pub SetAreDefaultScriptDialogsEnabled: unsafe extern "system" fn(
33691 *mut core::ffi::c_void,
33692 windows_core::BOOL,
33693 ) -> windows_core::HRESULT,
33694 pub IsStatusBarEnabled: unsafe extern "system" fn(
33695 *mut core::ffi::c_void,
33696 *mut windows_core::BOOL,
33697 ) -> windows_core::HRESULT,
33698 pub SetIsStatusBarEnabled: unsafe extern "system" fn(
33699 *mut core::ffi::c_void,
33700 windows_core::BOOL,
33701 ) -> windows_core::HRESULT,
33702 pub AreDevToolsEnabled: unsafe extern "system" fn(
33703 *mut core::ffi::c_void,
33704 *mut windows_core::BOOL,
33705 ) -> windows_core::HRESULT,
33706 pub SetAreDevToolsEnabled: unsafe extern "system" fn(
33707 *mut core::ffi::c_void,
33708 windows_core::BOOL,
33709 ) -> windows_core::HRESULT,
33710 pub AreDefaultContextMenusEnabled: unsafe extern "system" fn(
33711 *mut core::ffi::c_void,
33712 *mut windows_core::BOOL,
33713 ) -> windows_core::HRESULT,
33714 pub SetAreDefaultContextMenusEnabled: unsafe extern "system" fn(
33715 *mut core::ffi::c_void,
33716 windows_core::BOOL,
33717 ) -> windows_core::HRESULT,
33718 pub AreHostObjectsAllowed: unsafe extern "system" fn(
33719 *mut core::ffi::c_void,
33720 *mut windows_core::BOOL,
33721 ) -> windows_core::HRESULT,
33722 pub SetAreHostObjectsAllowed: unsafe extern "system" fn(
33723 *mut core::ffi::c_void,
33724 windows_core::BOOL,
33725 ) -> windows_core::HRESULT,
33726 pub IsZoomControlEnabled: unsafe extern "system" fn(
33727 *mut core::ffi::c_void,
33728 *mut windows_core::BOOL,
33729 ) -> windows_core::HRESULT,
33730 pub SetIsZoomControlEnabled: unsafe extern "system" fn(
33731 *mut core::ffi::c_void,
33732 windows_core::BOOL,
33733 ) -> windows_core::HRESULT,
33734 pub IsBuiltInErrorPageEnabled: unsafe extern "system" fn(
33735 *mut core::ffi::c_void,
33736 *mut windows_core::BOOL,
33737 ) -> windows_core::HRESULT,
33738 pub SetIsBuiltInErrorPageEnabled: unsafe extern "system" fn(
33739 *mut core::ffi::c_void,
33740 windows_core::BOOL,
33741 ) -> windows_core::HRESULT,
33742}
33743pub trait ICoreWebView2Settings_Impl: windows_core::IUnknownImpl {
33744 fn IsScriptEnabled(&self, isscriptenabled: *mut windows_core::BOOL)
33745 -> windows_core::Result<()>;
33746 fn SetIsScriptEnabled(&self, isscriptenabled: windows_core::BOOL) -> windows_core::Result<()>;
33747 fn IsWebMessageEnabled(
33748 &self,
33749 iswebmessageenabled: *mut windows_core::BOOL,
33750 ) -> windows_core::Result<()>;
33751 fn SetIsWebMessageEnabled(
33752 &self,
33753 iswebmessageenabled: windows_core::BOOL,
33754 ) -> windows_core::Result<()>;
33755 fn AreDefaultScriptDialogsEnabled(
33756 &self,
33757 aredefaultscriptdialogsenabled: *mut windows_core::BOOL,
33758 ) -> windows_core::Result<()>;
33759 fn SetAreDefaultScriptDialogsEnabled(
33760 &self,
33761 aredefaultscriptdialogsenabled: windows_core::BOOL,
33762 ) -> windows_core::Result<()>;
33763 fn IsStatusBarEnabled(
33764 &self,
33765 isstatusbarenabled: *mut windows_core::BOOL,
33766 ) -> windows_core::Result<()>;
33767 fn SetIsStatusBarEnabled(
33768 &self,
33769 isstatusbarenabled: windows_core::BOOL,
33770 ) -> windows_core::Result<()>;
33771 fn AreDevToolsEnabled(
33772 &self,
33773 aredevtoolsenabled: *mut windows_core::BOOL,
33774 ) -> windows_core::Result<()>;
33775 fn SetAreDevToolsEnabled(
33776 &self,
33777 aredevtoolsenabled: windows_core::BOOL,
33778 ) -> windows_core::Result<()>;
33779 fn AreDefaultContextMenusEnabled(
33780 &self,
33781 enabled: *mut windows_core::BOOL,
33782 ) -> windows_core::Result<()>;
33783 fn SetAreDefaultContextMenusEnabled(
33784 &self,
33785 enabled: windows_core::BOOL,
33786 ) -> windows_core::Result<()>;
33787 fn AreHostObjectsAllowed(&self, allowed: *mut windows_core::BOOL) -> windows_core::Result<()>;
33788 fn SetAreHostObjectsAllowed(&self, allowed: windows_core::BOOL) -> windows_core::Result<()>;
33789 fn IsZoomControlEnabled(&self, enabled: *mut windows_core::BOOL) -> windows_core::Result<()>;
33790 fn SetIsZoomControlEnabled(&self, enabled: windows_core::BOOL) -> windows_core::Result<()>;
33791 fn IsBuiltInErrorPageEnabled(
33792 &self,
33793 enabled: *mut windows_core::BOOL,
33794 ) -> windows_core::Result<()>;
33795 fn SetIsBuiltInErrorPageEnabled(&self, enabled: windows_core::BOOL)
33796 -> windows_core::Result<()>;
33797}
33798impl ICoreWebView2Settings_Vtbl {
33799 pub const fn new<Identity: ICoreWebView2Settings_Impl, const OFFSET: isize>() -> Self {
33800 unsafe extern "system" fn IsScriptEnabled<
33801 Identity: ICoreWebView2Settings_Impl,
33802 const OFFSET: isize,
33803 >(
33804 this: *mut core::ffi::c_void,
33805 isscriptenabled: *mut windows_core::BOOL,
33806 ) -> windows_core::HRESULT {
33807 unsafe {
33808 let this: &Identity =
33809 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33810 ICoreWebView2Settings_Impl::IsScriptEnabled(
33811 this,
33812 core::mem::transmute_copy(&isscriptenabled),
33813 )
33814 .into()
33815 }
33816 }
33817 unsafe extern "system" fn SetIsScriptEnabled<
33818 Identity: ICoreWebView2Settings_Impl,
33819 const OFFSET: isize,
33820 >(
33821 this: *mut core::ffi::c_void,
33822 isscriptenabled: windows_core::BOOL,
33823 ) -> windows_core::HRESULT {
33824 unsafe {
33825 let this: &Identity =
33826 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33827 ICoreWebView2Settings_Impl::SetIsScriptEnabled(
33828 this,
33829 core::mem::transmute_copy(&isscriptenabled),
33830 )
33831 .into()
33832 }
33833 }
33834 unsafe extern "system" fn IsWebMessageEnabled<
33835 Identity: ICoreWebView2Settings_Impl,
33836 const OFFSET: isize,
33837 >(
33838 this: *mut core::ffi::c_void,
33839 iswebmessageenabled: *mut windows_core::BOOL,
33840 ) -> windows_core::HRESULT {
33841 unsafe {
33842 let this: &Identity =
33843 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33844 ICoreWebView2Settings_Impl::IsWebMessageEnabled(
33845 this,
33846 core::mem::transmute_copy(&iswebmessageenabled),
33847 )
33848 .into()
33849 }
33850 }
33851 unsafe extern "system" fn SetIsWebMessageEnabled<
33852 Identity: ICoreWebView2Settings_Impl,
33853 const OFFSET: isize,
33854 >(
33855 this: *mut core::ffi::c_void,
33856 iswebmessageenabled: windows_core::BOOL,
33857 ) -> windows_core::HRESULT {
33858 unsafe {
33859 let this: &Identity =
33860 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33861 ICoreWebView2Settings_Impl::SetIsWebMessageEnabled(
33862 this,
33863 core::mem::transmute_copy(&iswebmessageenabled),
33864 )
33865 .into()
33866 }
33867 }
33868 unsafe extern "system" fn AreDefaultScriptDialogsEnabled<
33869 Identity: ICoreWebView2Settings_Impl,
33870 const OFFSET: isize,
33871 >(
33872 this: *mut core::ffi::c_void,
33873 aredefaultscriptdialogsenabled: *mut windows_core::BOOL,
33874 ) -> windows_core::HRESULT {
33875 unsafe {
33876 let this: &Identity =
33877 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33878 ICoreWebView2Settings_Impl::AreDefaultScriptDialogsEnabled(
33879 this,
33880 core::mem::transmute_copy(&aredefaultscriptdialogsenabled),
33881 )
33882 .into()
33883 }
33884 }
33885 unsafe extern "system" fn SetAreDefaultScriptDialogsEnabled<
33886 Identity: ICoreWebView2Settings_Impl,
33887 const OFFSET: isize,
33888 >(
33889 this: *mut core::ffi::c_void,
33890 aredefaultscriptdialogsenabled: windows_core::BOOL,
33891 ) -> windows_core::HRESULT {
33892 unsafe {
33893 let this: &Identity =
33894 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33895 ICoreWebView2Settings_Impl::SetAreDefaultScriptDialogsEnabled(
33896 this,
33897 core::mem::transmute_copy(&aredefaultscriptdialogsenabled),
33898 )
33899 .into()
33900 }
33901 }
33902 unsafe extern "system" fn IsStatusBarEnabled<
33903 Identity: ICoreWebView2Settings_Impl,
33904 const OFFSET: isize,
33905 >(
33906 this: *mut core::ffi::c_void,
33907 isstatusbarenabled: *mut windows_core::BOOL,
33908 ) -> windows_core::HRESULT {
33909 unsafe {
33910 let this: &Identity =
33911 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33912 ICoreWebView2Settings_Impl::IsStatusBarEnabled(
33913 this,
33914 core::mem::transmute_copy(&isstatusbarenabled),
33915 )
33916 .into()
33917 }
33918 }
33919 unsafe extern "system" fn SetIsStatusBarEnabled<
33920 Identity: ICoreWebView2Settings_Impl,
33921 const OFFSET: isize,
33922 >(
33923 this: *mut core::ffi::c_void,
33924 isstatusbarenabled: windows_core::BOOL,
33925 ) -> windows_core::HRESULT {
33926 unsafe {
33927 let this: &Identity =
33928 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33929 ICoreWebView2Settings_Impl::SetIsStatusBarEnabled(
33930 this,
33931 core::mem::transmute_copy(&isstatusbarenabled),
33932 )
33933 .into()
33934 }
33935 }
33936 unsafe extern "system" fn AreDevToolsEnabled<
33937 Identity: ICoreWebView2Settings_Impl,
33938 const OFFSET: isize,
33939 >(
33940 this: *mut core::ffi::c_void,
33941 aredevtoolsenabled: *mut windows_core::BOOL,
33942 ) -> windows_core::HRESULT {
33943 unsafe {
33944 let this: &Identity =
33945 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33946 ICoreWebView2Settings_Impl::AreDevToolsEnabled(
33947 this,
33948 core::mem::transmute_copy(&aredevtoolsenabled),
33949 )
33950 .into()
33951 }
33952 }
33953 unsafe extern "system" fn SetAreDevToolsEnabled<
33954 Identity: ICoreWebView2Settings_Impl,
33955 const OFFSET: isize,
33956 >(
33957 this: *mut core::ffi::c_void,
33958 aredevtoolsenabled: windows_core::BOOL,
33959 ) -> windows_core::HRESULT {
33960 unsafe {
33961 let this: &Identity =
33962 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33963 ICoreWebView2Settings_Impl::SetAreDevToolsEnabled(
33964 this,
33965 core::mem::transmute_copy(&aredevtoolsenabled),
33966 )
33967 .into()
33968 }
33969 }
33970 unsafe extern "system" fn AreDefaultContextMenusEnabled<
33971 Identity: ICoreWebView2Settings_Impl,
33972 const OFFSET: isize,
33973 >(
33974 this: *mut core::ffi::c_void,
33975 enabled: *mut windows_core::BOOL,
33976 ) -> windows_core::HRESULT {
33977 unsafe {
33978 let this: &Identity =
33979 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33980 ICoreWebView2Settings_Impl::AreDefaultContextMenusEnabled(
33981 this,
33982 core::mem::transmute_copy(&enabled),
33983 )
33984 .into()
33985 }
33986 }
33987 unsafe extern "system" fn SetAreDefaultContextMenusEnabled<
33988 Identity: ICoreWebView2Settings_Impl,
33989 const OFFSET: isize,
33990 >(
33991 this: *mut core::ffi::c_void,
33992 enabled: windows_core::BOOL,
33993 ) -> windows_core::HRESULT {
33994 unsafe {
33995 let this: &Identity =
33996 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33997 ICoreWebView2Settings_Impl::SetAreDefaultContextMenusEnabled(
33998 this,
33999 core::mem::transmute_copy(&enabled),
34000 )
34001 .into()
34002 }
34003 }
34004 unsafe extern "system" fn AreHostObjectsAllowed<
34005 Identity: ICoreWebView2Settings_Impl,
34006 const OFFSET: isize,
34007 >(
34008 this: *mut core::ffi::c_void,
34009 allowed: *mut windows_core::BOOL,
34010 ) -> windows_core::HRESULT {
34011 unsafe {
34012 let this: &Identity =
34013 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34014 ICoreWebView2Settings_Impl::AreHostObjectsAllowed(
34015 this,
34016 core::mem::transmute_copy(&allowed),
34017 )
34018 .into()
34019 }
34020 }
34021 unsafe extern "system" fn SetAreHostObjectsAllowed<
34022 Identity: ICoreWebView2Settings_Impl,
34023 const OFFSET: isize,
34024 >(
34025 this: *mut core::ffi::c_void,
34026 allowed: windows_core::BOOL,
34027 ) -> windows_core::HRESULT {
34028 unsafe {
34029 let this: &Identity =
34030 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34031 ICoreWebView2Settings_Impl::SetAreHostObjectsAllowed(
34032 this,
34033 core::mem::transmute_copy(&allowed),
34034 )
34035 .into()
34036 }
34037 }
34038 unsafe extern "system" fn IsZoomControlEnabled<
34039 Identity: ICoreWebView2Settings_Impl,
34040 const OFFSET: isize,
34041 >(
34042 this: *mut core::ffi::c_void,
34043 enabled: *mut windows_core::BOOL,
34044 ) -> windows_core::HRESULT {
34045 unsafe {
34046 let this: &Identity =
34047 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34048 ICoreWebView2Settings_Impl::IsZoomControlEnabled(
34049 this,
34050 core::mem::transmute_copy(&enabled),
34051 )
34052 .into()
34053 }
34054 }
34055 unsafe extern "system" fn SetIsZoomControlEnabled<
34056 Identity: ICoreWebView2Settings_Impl,
34057 const OFFSET: isize,
34058 >(
34059 this: *mut core::ffi::c_void,
34060 enabled: windows_core::BOOL,
34061 ) -> windows_core::HRESULT {
34062 unsafe {
34063 let this: &Identity =
34064 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34065 ICoreWebView2Settings_Impl::SetIsZoomControlEnabled(
34066 this,
34067 core::mem::transmute_copy(&enabled),
34068 )
34069 .into()
34070 }
34071 }
34072 unsafe extern "system" fn IsBuiltInErrorPageEnabled<
34073 Identity: ICoreWebView2Settings_Impl,
34074 const OFFSET: isize,
34075 >(
34076 this: *mut core::ffi::c_void,
34077 enabled: *mut windows_core::BOOL,
34078 ) -> windows_core::HRESULT {
34079 unsafe {
34080 let this: &Identity =
34081 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34082 ICoreWebView2Settings_Impl::IsBuiltInErrorPageEnabled(
34083 this,
34084 core::mem::transmute_copy(&enabled),
34085 )
34086 .into()
34087 }
34088 }
34089 unsafe extern "system" fn SetIsBuiltInErrorPageEnabled<
34090 Identity: ICoreWebView2Settings_Impl,
34091 const OFFSET: isize,
34092 >(
34093 this: *mut core::ffi::c_void,
34094 enabled: windows_core::BOOL,
34095 ) -> windows_core::HRESULT {
34096 unsafe {
34097 let this: &Identity =
34098 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34099 ICoreWebView2Settings_Impl::SetIsBuiltInErrorPageEnabled(
34100 this,
34101 core::mem::transmute_copy(&enabled),
34102 )
34103 .into()
34104 }
34105 }
34106 Self {
34107 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
34108 IsScriptEnabled: IsScriptEnabled::<Identity, OFFSET>,
34109 SetIsScriptEnabled: SetIsScriptEnabled::<Identity, OFFSET>,
34110 IsWebMessageEnabled: IsWebMessageEnabled::<Identity, OFFSET>,
34111 SetIsWebMessageEnabled: SetIsWebMessageEnabled::<Identity, OFFSET>,
34112 AreDefaultScriptDialogsEnabled: AreDefaultScriptDialogsEnabled::<Identity, OFFSET>,
34113 SetAreDefaultScriptDialogsEnabled: SetAreDefaultScriptDialogsEnabled::<Identity, OFFSET>,
34114 IsStatusBarEnabled: IsStatusBarEnabled::<Identity, OFFSET>,
34115 SetIsStatusBarEnabled: SetIsStatusBarEnabled::<Identity, OFFSET>,
34116 AreDevToolsEnabled: AreDevToolsEnabled::<Identity, OFFSET>,
34117 SetAreDevToolsEnabled: SetAreDevToolsEnabled::<Identity, OFFSET>,
34118 AreDefaultContextMenusEnabled: AreDefaultContextMenusEnabled::<Identity, OFFSET>,
34119 SetAreDefaultContextMenusEnabled: SetAreDefaultContextMenusEnabled::<Identity, OFFSET>,
34120 AreHostObjectsAllowed: AreHostObjectsAllowed::<Identity, OFFSET>,
34121 SetAreHostObjectsAllowed: SetAreHostObjectsAllowed::<Identity, OFFSET>,
34122 IsZoomControlEnabled: IsZoomControlEnabled::<Identity, OFFSET>,
34123 SetIsZoomControlEnabled: SetIsZoomControlEnabled::<Identity, OFFSET>,
34124 IsBuiltInErrorPageEnabled: IsBuiltInErrorPageEnabled::<Identity, OFFSET>,
34125 SetIsBuiltInErrorPageEnabled: SetIsBuiltInErrorPageEnabled::<Identity, OFFSET>,
34126 }
34127 }
34128 pub fn matches(iid: &windows_core::GUID) -> bool {
34129 iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
34130 }
34131}
34132impl windows_core::RuntimeName for ICoreWebView2Settings {}
34133windows_core::imp::define_interface!(
34134 ICoreWebView2Settings2,
34135 ICoreWebView2Settings2_Vtbl,
34136 0xee9a0f68_f46c_4e32_ac23_ef8cac224d2a
34137);
34138impl core::ops::Deref for ICoreWebView2Settings2 {
34139 type Target = ICoreWebView2Settings;
34140 fn deref(&self) -> &Self::Target {
34141 unsafe { core::mem::transmute(self) }
34142 }
34143}
34144windows_core::imp::interface_hierarchy!(
34145 ICoreWebView2Settings2,
34146 windows_core::IUnknown,
34147 ICoreWebView2Settings
34148);
34149impl ICoreWebView2Settings2 {
34150 pub unsafe fn UserAgent(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
34151 unsafe {
34152 (windows_core::Interface::vtable(self).UserAgent)(
34153 windows_core::Interface::as_raw(self),
34154 value as _,
34155 )
34156 .ok()
34157 }
34158 }
34159 pub unsafe fn SetUserAgent<P0>(&self, value: P0) -> windows_core::Result<()>
34160 where
34161 P0: windows_core::Param<windows_core::PCWSTR>,
34162 {
34163 unsafe {
34164 (windows_core::Interface::vtable(self).SetUserAgent)(
34165 windows_core::Interface::as_raw(self),
34166 value.param().abi(),
34167 )
34168 .ok()
34169 }
34170 }
34171}
34172#[repr(C)]
34173#[doc(hidden)]
34174pub struct ICoreWebView2Settings2_Vtbl {
34175 pub base__: ICoreWebView2Settings_Vtbl,
34176 pub UserAgent: unsafe extern "system" fn(
34177 *mut core::ffi::c_void,
34178 *mut windows_core::PWSTR,
34179 ) -> windows_core::HRESULT,
34180 pub SetUserAgent: unsafe extern "system" fn(
34181 *mut core::ffi::c_void,
34182 windows_core::PCWSTR,
34183 ) -> windows_core::HRESULT,
34184}
34185pub trait ICoreWebView2Settings2_Impl: ICoreWebView2Settings_Impl {
34186 fn UserAgent(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
34187 fn SetUserAgent(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
34188}
34189impl ICoreWebView2Settings2_Vtbl {
34190 pub const fn new<Identity: ICoreWebView2Settings2_Impl, const OFFSET: isize>() -> Self {
34191 unsafe extern "system" fn UserAgent<
34192 Identity: ICoreWebView2Settings2_Impl,
34193 const OFFSET: isize,
34194 >(
34195 this: *mut core::ffi::c_void,
34196 value: *mut windows_core::PWSTR,
34197 ) -> windows_core::HRESULT {
34198 unsafe {
34199 let this: &Identity =
34200 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34201 ICoreWebView2Settings2_Impl::UserAgent(this, core::mem::transmute_copy(&value))
34202 .into()
34203 }
34204 }
34205 unsafe extern "system" fn SetUserAgent<
34206 Identity: ICoreWebView2Settings2_Impl,
34207 const OFFSET: isize,
34208 >(
34209 this: *mut core::ffi::c_void,
34210 value: windows_core::PCWSTR,
34211 ) -> windows_core::HRESULT {
34212 unsafe {
34213 let this: &Identity =
34214 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34215 ICoreWebView2Settings2_Impl::SetUserAgent(this, core::mem::transmute(&value)).into()
34216 }
34217 }
34218 Self {
34219 base__: ICoreWebView2Settings_Vtbl::new::<Identity, OFFSET>(),
34220 UserAgent: UserAgent::<Identity, OFFSET>,
34221 SetUserAgent: SetUserAgent::<Identity, OFFSET>,
34222 }
34223 }
34224 pub fn matches(iid: &windows_core::GUID) -> bool {
34225 iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
34226 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
34227 }
34228}
34229impl windows_core::RuntimeName for ICoreWebView2Settings2 {}
34230windows_core::imp::define_interface!(
34231 ICoreWebView2Settings3,
34232 ICoreWebView2Settings3_Vtbl,
34233 0xfdb5ab74_af33_4854_84f0_0a631deb5eba
34234);
34235impl core::ops::Deref for ICoreWebView2Settings3 {
34236 type Target = ICoreWebView2Settings2;
34237 fn deref(&self) -> &Self::Target {
34238 unsafe { core::mem::transmute(self) }
34239 }
34240}
34241windows_core::imp::interface_hierarchy!(
34242 ICoreWebView2Settings3,
34243 windows_core::IUnknown,
34244 ICoreWebView2Settings,
34245 ICoreWebView2Settings2
34246);
34247impl ICoreWebView2Settings3 {
34248 pub unsafe fn AreBrowserAcceleratorKeysEnabled(
34249 &self,
34250 value: *mut windows_core::BOOL,
34251 ) -> windows_core::Result<()> {
34252 unsafe {
34253 (windows_core::Interface::vtable(self).AreBrowserAcceleratorKeysEnabled)(
34254 windows_core::Interface::as_raw(self),
34255 value as _,
34256 )
34257 .ok()
34258 }
34259 }
34260 pub unsafe fn SetAreBrowserAcceleratorKeysEnabled(
34261 &self,
34262 value: bool,
34263 ) -> windows_core::Result<()> {
34264 unsafe {
34265 (windows_core::Interface::vtable(self).SetAreBrowserAcceleratorKeysEnabled)(
34266 windows_core::Interface::as_raw(self),
34267 value.into(),
34268 )
34269 .ok()
34270 }
34271 }
34272}
34273#[repr(C)]
34274#[doc(hidden)]
34275pub struct ICoreWebView2Settings3_Vtbl {
34276 pub base__: ICoreWebView2Settings2_Vtbl,
34277 pub AreBrowserAcceleratorKeysEnabled: unsafe extern "system" fn(
34278 *mut core::ffi::c_void,
34279 *mut windows_core::BOOL,
34280 ) -> windows_core::HRESULT,
34281 pub SetAreBrowserAcceleratorKeysEnabled: unsafe extern "system" fn(
34282 *mut core::ffi::c_void,
34283 windows_core::BOOL,
34284 )
34285 -> windows_core::HRESULT,
34286}
34287pub trait ICoreWebView2Settings3_Impl: ICoreWebView2Settings2_Impl {
34288 fn AreBrowserAcceleratorKeysEnabled(
34289 &self,
34290 value: *mut windows_core::BOOL,
34291 ) -> windows_core::Result<()>;
34292 fn SetAreBrowserAcceleratorKeysEnabled(
34293 &self,
34294 value: windows_core::BOOL,
34295 ) -> windows_core::Result<()>;
34296}
34297impl ICoreWebView2Settings3_Vtbl {
34298 pub const fn new<Identity: ICoreWebView2Settings3_Impl, const OFFSET: isize>() -> Self {
34299 unsafe extern "system" fn AreBrowserAcceleratorKeysEnabled<
34300 Identity: ICoreWebView2Settings3_Impl,
34301 const OFFSET: isize,
34302 >(
34303 this: *mut core::ffi::c_void,
34304 value: *mut windows_core::BOOL,
34305 ) -> windows_core::HRESULT {
34306 unsafe {
34307 let this: &Identity =
34308 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34309 ICoreWebView2Settings3_Impl::AreBrowserAcceleratorKeysEnabled(
34310 this,
34311 core::mem::transmute_copy(&value),
34312 )
34313 .into()
34314 }
34315 }
34316 unsafe extern "system" fn SetAreBrowserAcceleratorKeysEnabled<
34317 Identity: ICoreWebView2Settings3_Impl,
34318 const OFFSET: isize,
34319 >(
34320 this: *mut core::ffi::c_void,
34321 value: windows_core::BOOL,
34322 ) -> windows_core::HRESULT {
34323 unsafe {
34324 let this: &Identity =
34325 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34326 ICoreWebView2Settings3_Impl::SetAreBrowserAcceleratorKeysEnabled(
34327 this,
34328 core::mem::transmute_copy(&value),
34329 )
34330 .into()
34331 }
34332 }
34333 Self {
34334 base__: ICoreWebView2Settings2_Vtbl::new::<Identity, OFFSET>(),
34335 AreBrowserAcceleratorKeysEnabled: AreBrowserAcceleratorKeysEnabled::<Identity, OFFSET>,
34336 SetAreBrowserAcceleratorKeysEnabled: SetAreBrowserAcceleratorKeysEnabled::<
34337 Identity,
34338 OFFSET,
34339 >,
34340 }
34341 }
34342 pub fn matches(iid: &windows_core::GUID) -> bool {
34343 iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
34344 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
34345 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
34346 }
34347}
34348impl windows_core::RuntimeName for ICoreWebView2Settings3 {}
34349windows_core::imp::define_interface!(
34350 ICoreWebView2Settings4,
34351 ICoreWebView2Settings4_Vtbl,
34352 0xcb56846c_4168_4d53_b04f_03b6d6796ff2
34353);
34354impl core::ops::Deref for ICoreWebView2Settings4 {
34355 type Target = ICoreWebView2Settings3;
34356 fn deref(&self) -> &Self::Target {
34357 unsafe { core::mem::transmute(self) }
34358 }
34359}
34360windows_core::imp::interface_hierarchy!(
34361 ICoreWebView2Settings4,
34362 windows_core::IUnknown,
34363 ICoreWebView2Settings,
34364 ICoreWebView2Settings2,
34365 ICoreWebView2Settings3
34366);
34367impl ICoreWebView2Settings4 {
34368 pub unsafe fn IsPasswordAutosaveEnabled(
34369 &self,
34370 value: *mut windows_core::BOOL,
34371 ) -> windows_core::Result<()> {
34372 unsafe {
34373 (windows_core::Interface::vtable(self).IsPasswordAutosaveEnabled)(
34374 windows_core::Interface::as_raw(self),
34375 value as _,
34376 )
34377 .ok()
34378 }
34379 }
34380 pub unsafe fn SetIsPasswordAutosaveEnabled(&self, value: bool) -> windows_core::Result<()> {
34381 unsafe {
34382 (windows_core::Interface::vtable(self).SetIsPasswordAutosaveEnabled)(
34383 windows_core::Interface::as_raw(self),
34384 value.into(),
34385 )
34386 .ok()
34387 }
34388 }
34389 pub unsafe fn IsGeneralAutofillEnabled(
34390 &self,
34391 value: *mut windows_core::BOOL,
34392 ) -> windows_core::Result<()> {
34393 unsafe {
34394 (windows_core::Interface::vtable(self).IsGeneralAutofillEnabled)(
34395 windows_core::Interface::as_raw(self),
34396 value as _,
34397 )
34398 .ok()
34399 }
34400 }
34401 pub unsafe fn SetIsGeneralAutofillEnabled(&self, value: bool) -> windows_core::Result<()> {
34402 unsafe {
34403 (windows_core::Interface::vtable(self).SetIsGeneralAutofillEnabled)(
34404 windows_core::Interface::as_raw(self),
34405 value.into(),
34406 )
34407 .ok()
34408 }
34409 }
34410}
34411#[repr(C)]
34412#[doc(hidden)]
34413pub struct ICoreWebView2Settings4_Vtbl {
34414 pub base__: ICoreWebView2Settings3_Vtbl,
34415 pub IsPasswordAutosaveEnabled: unsafe extern "system" fn(
34416 *mut core::ffi::c_void,
34417 *mut windows_core::BOOL,
34418 ) -> windows_core::HRESULT,
34419 pub SetIsPasswordAutosaveEnabled: unsafe extern "system" fn(
34420 *mut core::ffi::c_void,
34421 windows_core::BOOL,
34422 ) -> windows_core::HRESULT,
34423 pub IsGeneralAutofillEnabled: unsafe extern "system" fn(
34424 *mut core::ffi::c_void,
34425 *mut windows_core::BOOL,
34426 ) -> windows_core::HRESULT,
34427 pub SetIsGeneralAutofillEnabled: unsafe extern "system" fn(
34428 *mut core::ffi::c_void,
34429 windows_core::BOOL,
34430 ) -> windows_core::HRESULT,
34431}
34432pub trait ICoreWebView2Settings4_Impl: ICoreWebView2Settings3_Impl {
34433 fn IsPasswordAutosaveEnabled(&self, value: *mut windows_core::BOOL)
34434 -> windows_core::Result<()>;
34435 fn SetIsPasswordAutosaveEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
34436 fn IsGeneralAutofillEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
34437 fn SetIsGeneralAutofillEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
34438}
34439impl ICoreWebView2Settings4_Vtbl {
34440 pub const fn new<Identity: ICoreWebView2Settings4_Impl, const OFFSET: isize>() -> Self {
34441 unsafe extern "system" fn IsPasswordAutosaveEnabled<
34442 Identity: ICoreWebView2Settings4_Impl,
34443 const OFFSET: isize,
34444 >(
34445 this: *mut core::ffi::c_void,
34446 value: *mut windows_core::BOOL,
34447 ) -> windows_core::HRESULT {
34448 unsafe {
34449 let this: &Identity =
34450 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34451 ICoreWebView2Settings4_Impl::IsPasswordAutosaveEnabled(
34452 this,
34453 core::mem::transmute_copy(&value),
34454 )
34455 .into()
34456 }
34457 }
34458 unsafe extern "system" fn SetIsPasswordAutosaveEnabled<
34459 Identity: ICoreWebView2Settings4_Impl,
34460 const OFFSET: isize,
34461 >(
34462 this: *mut core::ffi::c_void,
34463 value: windows_core::BOOL,
34464 ) -> windows_core::HRESULT {
34465 unsafe {
34466 let this: &Identity =
34467 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34468 ICoreWebView2Settings4_Impl::SetIsPasswordAutosaveEnabled(
34469 this,
34470 core::mem::transmute_copy(&value),
34471 )
34472 .into()
34473 }
34474 }
34475 unsafe extern "system" fn IsGeneralAutofillEnabled<
34476 Identity: ICoreWebView2Settings4_Impl,
34477 const OFFSET: isize,
34478 >(
34479 this: *mut core::ffi::c_void,
34480 value: *mut windows_core::BOOL,
34481 ) -> windows_core::HRESULT {
34482 unsafe {
34483 let this: &Identity =
34484 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34485 ICoreWebView2Settings4_Impl::IsGeneralAutofillEnabled(
34486 this,
34487 core::mem::transmute_copy(&value),
34488 )
34489 .into()
34490 }
34491 }
34492 unsafe extern "system" fn SetIsGeneralAutofillEnabled<
34493 Identity: ICoreWebView2Settings4_Impl,
34494 const OFFSET: isize,
34495 >(
34496 this: *mut core::ffi::c_void,
34497 value: windows_core::BOOL,
34498 ) -> windows_core::HRESULT {
34499 unsafe {
34500 let this: &Identity =
34501 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34502 ICoreWebView2Settings4_Impl::SetIsGeneralAutofillEnabled(
34503 this,
34504 core::mem::transmute_copy(&value),
34505 )
34506 .into()
34507 }
34508 }
34509 Self {
34510 base__: ICoreWebView2Settings3_Vtbl::new::<Identity, OFFSET>(),
34511 IsPasswordAutosaveEnabled: IsPasswordAutosaveEnabled::<Identity, OFFSET>,
34512 SetIsPasswordAutosaveEnabled: SetIsPasswordAutosaveEnabled::<Identity, OFFSET>,
34513 IsGeneralAutofillEnabled: IsGeneralAutofillEnabled::<Identity, OFFSET>,
34514 SetIsGeneralAutofillEnabled: SetIsGeneralAutofillEnabled::<Identity, OFFSET>,
34515 }
34516 }
34517 pub fn matches(iid: &windows_core::GUID) -> bool {
34518 iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
34519 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
34520 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
34521 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
34522 }
34523}
34524impl windows_core::RuntimeName for ICoreWebView2Settings4 {}
34525windows_core::imp::define_interface!(
34526 ICoreWebView2Settings5,
34527 ICoreWebView2Settings5_Vtbl,
34528 0x183e7052_1d03_43a0_ab99_98e043b66b39
34529);
34530impl core::ops::Deref for ICoreWebView2Settings5 {
34531 type Target = ICoreWebView2Settings4;
34532 fn deref(&self) -> &Self::Target {
34533 unsafe { core::mem::transmute(self) }
34534 }
34535}
34536windows_core::imp::interface_hierarchy!(
34537 ICoreWebView2Settings5,
34538 windows_core::IUnknown,
34539 ICoreWebView2Settings,
34540 ICoreWebView2Settings2,
34541 ICoreWebView2Settings3,
34542 ICoreWebView2Settings4
34543);
34544impl ICoreWebView2Settings5 {
34545 pub unsafe fn IsPinchZoomEnabled(
34546 &self,
34547 value: *mut windows_core::BOOL,
34548 ) -> windows_core::Result<()> {
34549 unsafe {
34550 (windows_core::Interface::vtable(self).IsPinchZoomEnabled)(
34551 windows_core::Interface::as_raw(self),
34552 value as _,
34553 )
34554 .ok()
34555 }
34556 }
34557 pub unsafe fn SetIsPinchZoomEnabled(&self, value: bool) -> windows_core::Result<()> {
34558 unsafe {
34559 (windows_core::Interface::vtable(self).SetIsPinchZoomEnabled)(
34560 windows_core::Interface::as_raw(self),
34561 value.into(),
34562 )
34563 .ok()
34564 }
34565 }
34566}
34567#[repr(C)]
34568#[doc(hidden)]
34569pub struct ICoreWebView2Settings5_Vtbl {
34570 pub base__: ICoreWebView2Settings4_Vtbl,
34571 pub IsPinchZoomEnabled: unsafe extern "system" fn(
34572 *mut core::ffi::c_void,
34573 *mut windows_core::BOOL,
34574 ) -> windows_core::HRESULT,
34575 pub SetIsPinchZoomEnabled: unsafe extern "system" fn(
34576 *mut core::ffi::c_void,
34577 windows_core::BOOL,
34578 ) -> windows_core::HRESULT,
34579}
34580pub trait ICoreWebView2Settings5_Impl: ICoreWebView2Settings4_Impl {
34581 fn IsPinchZoomEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
34582 fn SetIsPinchZoomEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
34583}
34584impl ICoreWebView2Settings5_Vtbl {
34585 pub const fn new<Identity: ICoreWebView2Settings5_Impl, const OFFSET: isize>() -> Self {
34586 unsafe extern "system" fn IsPinchZoomEnabled<
34587 Identity: ICoreWebView2Settings5_Impl,
34588 const OFFSET: isize,
34589 >(
34590 this: *mut core::ffi::c_void,
34591 value: *mut windows_core::BOOL,
34592 ) -> windows_core::HRESULT {
34593 unsafe {
34594 let this: &Identity =
34595 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34596 ICoreWebView2Settings5_Impl::IsPinchZoomEnabled(
34597 this,
34598 core::mem::transmute_copy(&value),
34599 )
34600 .into()
34601 }
34602 }
34603 unsafe extern "system" fn SetIsPinchZoomEnabled<
34604 Identity: ICoreWebView2Settings5_Impl,
34605 const OFFSET: isize,
34606 >(
34607 this: *mut core::ffi::c_void,
34608 value: windows_core::BOOL,
34609 ) -> windows_core::HRESULT {
34610 unsafe {
34611 let this: &Identity =
34612 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34613 ICoreWebView2Settings5_Impl::SetIsPinchZoomEnabled(
34614 this,
34615 core::mem::transmute_copy(&value),
34616 )
34617 .into()
34618 }
34619 }
34620 Self {
34621 base__: ICoreWebView2Settings4_Vtbl::new::<Identity, OFFSET>(),
34622 IsPinchZoomEnabled: IsPinchZoomEnabled::<Identity, OFFSET>,
34623 SetIsPinchZoomEnabled: SetIsPinchZoomEnabled::<Identity, OFFSET>,
34624 }
34625 }
34626 pub fn matches(iid: &windows_core::GUID) -> bool {
34627 iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
34628 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
34629 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
34630 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
34631 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
34632 }
34633}
34634impl windows_core::RuntimeName for ICoreWebView2Settings5 {}
34635windows_core::imp::define_interface!(
34636 ICoreWebView2Settings6,
34637 ICoreWebView2Settings6_Vtbl,
34638 0x11cb3acd_9bc8_43b8_83bf_f40753714f87
34639);
34640impl core::ops::Deref for ICoreWebView2Settings6 {
34641 type Target = ICoreWebView2Settings5;
34642 fn deref(&self) -> &Self::Target {
34643 unsafe { core::mem::transmute(self) }
34644 }
34645}
34646windows_core::imp::interface_hierarchy!(
34647 ICoreWebView2Settings6,
34648 windows_core::IUnknown,
34649 ICoreWebView2Settings,
34650 ICoreWebView2Settings2,
34651 ICoreWebView2Settings3,
34652 ICoreWebView2Settings4,
34653 ICoreWebView2Settings5
34654);
34655impl ICoreWebView2Settings6 {
34656 pub unsafe fn IsSwipeNavigationEnabled(
34657 &self,
34658 value: *mut windows_core::BOOL,
34659 ) -> windows_core::Result<()> {
34660 unsafe {
34661 (windows_core::Interface::vtable(self).IsSwipeNavigationEnabled)(
34662 windows_core::Interface::as_raw(self),
34663 value as _,
34664 )
34665 .ok()
34666 }
34667 }
34668 pub unsafe fn SetIsSwipeNavigationEnabled(&self, value: bool) -> windows_core::Result<()> {
34669 unsafe {
34670 (windows_core::Interface::vtable(self).SetIsSwipeNavigationEnabled)(
34671 windows_core::Interface::as_raw(self),
34672 value.into(),
34673 )
34674 .ok()
34675 }
34676 }
34677}
34678#[repr(C)]
34679#[doc(hidden)]
34680pub struct ICoreWebView2Settings6_Vtbl {
34681 pub base__: ICoreWebView2Settings5_Vtbl,
34682 pub IsSwipeNavigationEnabled: unsafe extern "system" fn(
34683 *mut core::ffi::c_void,
34684 *mut windows_core::BOOL,
34685 ) -> windows_core::HRESULT,
34686 pub SetIsSwipeNavigationEnabled: unsafe extern "system" fn(
34687 *mut core::ffi::c_void,
34688 windows_core::BOOL,
34689 ) -> windows_core::HRESULT,
34690}
34691pub trait ICoreWebView2Settings6_Impl: ICoreWebView2Settings5_Impl {
34692 fn IsSwipeNavigationEnabled(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
34693 fn SetIsSwipeNavigationEnabled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
34694}
34695impl ICoreWebView2Settings6_Vtbl {
34696 pub const fn new<Identity: ICoreWebView2Settings6_Impl, const OFFSET: isize>() -> Self {
34697 unsafe extern "system" fn IsSwipeNavigationEnabled<
34698 Identity: ICoreWebView2Settings6_Impl,
34699 const OFFSET: isize,
34700 >(
34701 this: *mut core::ffi::c_void,
34702 value: *mut windows_core::BOOL,
34703 ) -> windows_core::HRESULT {
34704 unsafe {
34705 let this: &Identity =
34706 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34707 ICoreWebView2Settings6_Impl::IsSwipeNavigationEnabled(
34708 this,
34709 core::mem::transmute_copy(&value),
34710 )
34711 .into()
34712 }
34713 }
34714 unsafe extern "system" fn SetIsSwipeNavigationEnabled<
34715 Identity: ICoreWebView2Settings6_Impl,
34716 const OFFSET: isize,
34717 >(
34718 this: *mut core::ffi::c_void,
34719 value: windows_core::BOOL,
34720 ) -> windows_core::HRESULT {
34721 unsafe {
34722 let this: &Identity =
34723 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34724 ICoreWebView2Settings6_Impl::SetIsSwipeNavigationEnabled(
34725 this,
34726 core::mem::transmute_copy(&value),
34727 )
34728 .into()
34729 }
34730 }
34731 Self {
34732 base__: ICoreWebView2Settings5_Vtbl::new::<Identity, OFFSET>(),
34733 IsSwipeNavigationEnabled: IsSwipeNavigationEnabled::<Identity, OFFSET>,
34734 SetIsSwipeNavigationEnabled: SetIsSwipeNavigationEnabled::<Identity, OFFSET>,
34735 }
34736 }
34737 pub fn matches(iid: &windows_core::GUID) -> bool {
34738 iid == &<ICoreWebView2Settings6 as windows_core::Interface>::IID
34739 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
34740 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
34741 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
34742 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
34743 || iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
34744 }
34745}
34746impl windows_core::RuntimeName for ICoreWebView2Settings6 {}
34747windows_core::imp::define_interface!(
34748 ICoreWebView2Settings7,
34749 ICoreWebView2Settings7_Vtbl,
34750 0x488dc902_35ef_42d2_bc7d_94b65c4bc49c
34751);
34752impl core::ops::Deref for ICoreWebView2Settings7 {
34753 type Target = ICoreWebView2Settings6;
34754 fn deref(&self) -> &Self::Target {
34755 unsafe { core::mem::transmute(self) }
34756 }
34757}
34758windows_core::imp::interface_hierarchy!(
34759 ICoreWebView2Settings7,
34760 windows_core::IUnknown,
34761 ICoreWebView2Settings,
34762 ICoreWebView2Settings2,
34763 ICoreWebView2Settings3,
34764 ICoreWebView2Settings4,
34765 ICoreWebView2Settings5,
34766 ICoreWebView2Settings6
34767);
34768impl ICoreWebView2Settings7 {
34769 pub unsafe fn HiddenPdfToolbarItems(
34770 &self,
34771 value: *mut COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
34772 ) -> windows_core::Result<()> {
34773 unsafe {
34774 (windows_core::Interface::vtable(self).HiddenPdfToolbarItems)(
34775 windows_core::Interface::as_raw(self),
34776 value as _,
34777 )
34778 .ok()
34779 }
34780 }
34781 pub unsafe fn SetHiddenPdfToolbarItems(
34782 &self,
34783 value: COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
34784 ) -> windows_core::Result<()> {
34785 unsafe {
34786 (windows_core::Interface::vtable(self).SetHiddenPdfToolbarItems)(
34787 windows_core::Interface::as_raw(self),
34788 value,
34789 )
34790 .ok()
34791 }
34792 }
34793}
34794#[repr(C)]
34795#[doc(hidden)]
34796pub struct ICoreWebView2Settings7_Vtbl {
34797 pub base__: ICoreWebView2Settings6_Vtbl,
34798 pub HiddenPdfToolbarItems: unsafe extern "system" fn(
34799 *mut core::ffi::c_void,
34800 *mut COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
34801 ) -> windows_core::HRESULT,
34802 pub SetHiddenPdfToolbarItems: unsafe extern "system" fn(
34803 *mut core::ffi::c_void,
34804 COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
34805 ) -> windows_core::HRESULT,
34806}
34807pub trait ICoreWebView2Settings7_Impl: ICoreWebView2Settings6_Impl {
34808 fn HiddenPdfToolbarItems(
34809 &self,
34810 value: *mut COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
34811 ) -> windows_core::Result<()>;
34812 fn SetHiddenPdfToolbarItems(
34813 &self,
34814 value: COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
34815 ) -> windows_core::Result<()>;
34816}
34817impl ICoreWebView2Settings7_Vtbl {
34818 pub const fn new<Identity: ICoreWebView2Settings7_Impl, const OFFSET: isize>() -> Self {
34819 unsafe extern "system" fn HiddenPdfToolbarItems<
34820 Identity: ICoreWebView2Settings7_Impl,
34821 const OFFSET: isize,
34822 >(
34823 this: *mut core::ffi::c_void,
34824 value: *mut COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
34825 ) -> windows_core::HRESULT {
34826 unsafe {
34827 let this: &Identity =
34828 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34829 ICoreWebView2Settings7_Impl::HiddenPdfToolbarItems(
34830 this,
34831 core::mem::transmute_copy(&value),
34832 )
34833 .into()
34834 }
34835 }
34836 unsafe extern "system" fn SetHiddenPdfToolbarItems<
34837 Identity: ICoreWebView2Settings7_Impl,
34838 const OFFSET: isize,
34839 >(
34840 this: *mut core::ffi::c_void,
34841 value: COREWEBVIEW2_PDF_TOOLBAR_ITEMS,
34842 ) -> windows_core::HRESULT {
34843 unsafe {
34844 let this: &Identity =
34845 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34846 ICoreWebView2Settings7_Impl::SetHiddenPdfToolbarItems(
34847 this,
34848 core::mem::transmute_copy(&value),
34849 )
34850 .into()
34851 }
34852 }
34853 Self {
34854 base__: ICoreWebView2Settings6_Vtbl::new::<Identity, OFFSET>(),
34855 HiddenPdfToolbarItems: HiddenPdfToolbarItems::<Identity, OFFSET>,
34856 SetHiddenPdfToolbarItems: SetHiddenPdfToolbarItems::<Identity, OFFSET>,
34857 }
34858 }
34859 pub fn matches(iid: &windows_core::GUID) -> bool {
34860 iid == &<ICoreWebView2Settings7 as windows_core::Interface>::IID
34861 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
34862 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
34863 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
34864 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
34865 || iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
34866 || iid == &<ICoreWebView2Settings6 as windows_core::Interface>::IID
34867 }
34868}
34869impl windows_core::RuntimeName for ICoreWebView2Settings7 {}
34870windows_core::imp::define_interface!(
34871 ICoreWebView2Settings8,
34872 ICoreWebView2Settings8_Vtbl,
34873 0x9e6b0e8f_86ad_4e81_8147_a9b5edb68650
34874);
34875impl core::ops::Deref for ICoreWebView2Settings8 {
34876 type Target = ICoreWebView2Settings7;
34877 fn deref(&self) -> &Self::Target {
34878 unsafe { core::mem::transmute(self) }
34879 }
34880}
34881windows_core::imp::interface_hierarchy!(
34882 ICoreWebView2Settings8,
34883 windows_core::IUnknown,
34884 ICoreWebView2Settings,
34885 ICoreWebView2Settings2,
34886 ICoreWebView2Settings3,
34887 ICoreWebView2Settings4,
34888 ICoreWebView2Settings5,
34889 ICoreWebView2Settings6,
34890 ICoreWebView2Settings7
34891);
34892impl ICoreWebView2Settings8 {
34893 pub unsafe fn IsReputationCheckingRequired(
34894 &self,
34895 value: *mut windows_core::BOOL,
34896 ) -> windows_core::Result<()> {
34897 unsafe {
34898 (windows_core::Interface::vtable(self).IsReputationCheckingRequired)(
34899 windows_core::Interface::as_raw(self),
34900 value as _,
34901 )
34902 .ok()
34903 }
34904 }
34905 pub unsafe fn SetIsReputationCheckingRequired(&self, value: bool) -> windows_core::Result<()> {
34906 unsafe {
34907 (windows_core::Interface::vtable(self).SetIsReputationCheckingRequired)(
34908 windows_core::Interface::as_raw(self),
34909 value.into(),
34910 )
34911 .ok()
34912 }
34913 }
34914}
34915#[repr(C)]
34916#[doc(hidden)]
34917pub struct ICoreWebView2Settings8_Vtbl {
34918 pub base__: ICoreWebView2Settings7_Vtbl,
34919 pub IsReputationCheckingRequired: unsafe extern "system" fn(
34920 *mut core::ffi::c_void,
34921 *mut windows_core::BOOL,
34922 ) -> windows_core::HRESULT,
34923 pub SetIsReputationCheckingRequired: unsafe extern "system" fn(
34924 *mut core::ffi::c_void,
34925 windows_core::BOOL,
34926 ) -> windows_core::HRESULT,
34927}
34928pub trait ICoreWebView2Settings8_Impl: ICoreWebView2Settings7_Impl {
34929 fn IsReputationCheckingRequired(
34930 &self,
34931 value: *mut windows_core::BOOL,
34932 ) -> windows_core::Result<()>;
34933 fn SetIsReputationCheckingRequired(
34934 &self,
34935 value: windows_core::BOOL,
34936 ) -> windows_core::Result<()>;
34937}
34938impl ICoreWebView2Settings8_Vtbl {
34939 pub const fn new<Identity: ICoreWebView2Settings8_Impl, const OFFSET: isize>() -> Self {
34940 unsafe extern "system" fn IsReputationCheckingRequired<
34941 Identity: ICoreWebView2Settings8_Impl,
34942 const OFFSET: isize,
34943 >(
34944 this: *mut core::ffi::c_void,
34945 value: *mut windows_core::BOOL,
34946 ) -> windows_core::HRESULT {
34947 unsafe {
34948 let this: &Identity =
34949 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34950 ICoreWebView2Settings8_Impl::IsReputationCheckingRequired(
34951 this,
34952 core::mem::transmute_copy(&value),
34953 )
34954 .into()
34955 }
34956 }
34957 unsafe extern "system" fn SetIsReputationCheckingRequired<
34958 Identity: ICoreWebView2Settings8_Impl,
34959 const OFFSET: isize,
34960 >(
34961 this: *mut core::ffi::c_void,
34962 value: windows_core::BOOL,
34963 ) -> windows_core::HRESULT {
34964 unsafe {
34965 let this: &Identity =
34966 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34967 ICoreWebView2Settings8_Impl::SetIsReputationCheckingRequired(
34968 this,
34969 core::mem::transmute_copy(&value),
34970 )
34971 .into()
34972 }
34973 }
34974 Self {
34975 base__: ICoreWebView2Settings7_Vtbl::new::<Identity, OFFSET>(),
34976 IsReputationCheckingRequired: IsReputationCheckingRequired::<Identity, OFFSET>,
34977 SetIsReputationCheckingRequired: SetIsReputationCheckingRequired::<Identity, OFFSET>,
34978 }
34979 }
34980 pub fn matches(iid: &windows_core::GUID) -> bool {
34981 iid == &<ICoreWebView2Settings8 as windows_core::Interface>::IID
34982 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
34983 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
34984 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
34985 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
34986 || iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
34987 || iid == &<ICoreWebView2Settings6 as windows_core::Interface>::IID
34988 || iid == &<ICoreWebView2Settings7 as windows_core::Interface>::IID
34989 }
34990}
34991impl windows_core::RuntimeName for ICoreWebView2Settings8 {}
34992windows_core::imp::define_interface!(
34993 ICoreWebView2Settings9,
34994 ICoreWebView2Settings9_Vtbl,
34995 0x0528a73b_e92d_49f4_927a_e547dddaa37d
34996);
34997impl core::ops::Deref for ICoreWebView2Settings9 {
34998 type Target = ICoreWebView2Settings8;
34999 fn deref(&self) -> &Self::Target {
35000 unsafe { core::mem::transmute(self) }
35001 }
35002}
35003windows_core::imp::interface_hierarchy!(
35004 ICoreWebView2Settings9,
35005 windows_core::IUnknown,
35006 ICoreWebView2Settings,
35007 ICoreWebView2Settings2,
35008 ICoreWebView2Settings3,
35009 ICoreWebView2Settings4,
35010 ICoreWebView2Settings5,
35011 ICoreWebView2Settings6,
35012 ICoreWebView2Settings7,
35013 ICoreWebView2Settings8
35014);
35015impl ICoreWebView2Settings9 {
35016 pub unsafe fn IsNonClientRegionSupportEnabled(
35017 &self,
35018 value: *mut windows_core::BOOL,
35019 ) -> windows_core::Result<()> {
35020 unsafe {
35021 (windows_core::Interface::vtable(self).IsNonClientRegionSupportEnabled)(
35022 windows_core::Interface::as_raw(self),
35023 value as _,
35024 )
35025 .ok()
35026 }
35027 }
35028 pub unsafe fn SetIsNonClientRegionSupportEnabled(
35029 &self,
35030 value: bool,
35031 ) -> windows_core::Result<()> {
35032 unsafe {
35033 (windows_core::Interface::vtable(self).SetIsNonClientRegionSupportEnabled)(
35034 windows_core::Interface::as_raw(self),
35035 value.into(),
35036 )
35037 .ok()
35038 }
35039 }
35040}
35041#[repr(C)]
35042#[doc(hidden)]
35043pub struct ICoreWebView2Settings9_Vtbl {
35044 pub base__: ICoreWebView2Settings8_Vtbl,
35045 pub IsNonClientRegionSupportEnabled: unsafe extern "system" fn(
35046 *mut core::ffi::c_void,
35047 *mut windows_core::BOOL,
35048 ) -> windows_core::HRESULT,
35049 pub SetIsNonClientRegionSupportEnabled: unsafe extern "system" fn(
35050 *mut core::ffi::c_void,
35051 windows_core::BOOL,
35052 ) -> windows_core::HRESULT,
35053}
35054pub trait ICoreWebView2Settings9_Impl: ICoreWebView2Settings8_Impl {
35055 fn IsNonClientRegionSupportEnabled(
35056 &self,
35057 value: *mut windows_core::BOOL,
35058 ) -> windows_core::Result<()>;
35059 fn SetIsNonClientRegionSupportEnabled(
35060 &self,
35061 value: windows_core::BOOL,
35062 ) -> windows_core::Result<()>;
35063}
35064impl ICoreWebView2Settings9_Vtbl {
35065 pub const fn new<Identity: ICoreWebView2Settings9_Impl, const OFFSET: isize>() -> Self {
35066 unsafe extern "system" fn IsNonClientRegionSupportEnabled<
35067 Identity: ICoreWebView2Settings9_Impl,
35068 const OFFSET: isize,
35069 >(
35070 this: *mut core::ffi::c_void,
35071 value: *mut windows_core::BOOL,
35072 ) -> windows_core::HRESULT {
35073 unsafe {
35074 let this: &Identity =
35075 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35076 ICoreWebView2Settings9_Impl::IsNonClientRegionSupportEnabled(
35077 this,
35078 core::mem::transmute_copy(&value),
35079 )
35080 .into()
35081 }
35082 }
35083 unsafe extern "system" fn SetIsNonClientRegionSupportEnabled<
35084 Identity: ICoreWebView2Settings9_Impl,
35085 const OFFSET: isize,
35086 >(
35087 this: *mut core::ffi::c_void,
35088 value: windows_core::BOOL,
35089 ) -> windows_core::HRESULT {
35090 unsafe {
35091 let this: &Identity =
35092 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35093 ICoreWebView2Settings9_Impl::SetIsNonClientRegionSupportEnabled(
35094 this,
35095 core::mem::transmute_copy(&value),
35096 )
35097 .into()
35098 }
35099 }
35100 Self {
35101 base__: ICoreWebView2Settings8_Vtbl::new::<Identity, OFFSET>(),
35102 IsNonClientRegionSupportEnabled: IsNonClientRegionSupportEnabled::<Identity, OFFSET>,
35103 SetIsNonClientRegionSupportEnabled: SetIsNonClientRegionSupportEnabled::<
35104 Identity,
35105 OFFSET,
35106 >,
35107 }
35108 }
35109 pub fn matches(iid: &windows_core::GUID) -> bool {
35110 iid == &<ICoreWebView2Settings9 as windows_core::Interface>::IID
35111 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
35112 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
35113 || iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
35114 || iid == &<ICoreWebView2Settings4 as windows_core::Interface>::IID
35115 || iid == &<ICoreWebView2Settings5 as windows_core::Interface>::IID
35116 || iid == &<ICoreWebView2Settings6 as windows_core::Interface>::IID
35117 || iid == &<ICoreWebView2Settings7 as windows_core::Interface>::IID
35118 || iid == &<ICoreWebView2Settings8 as windows_core::Interface>::IID
35119 }
35120}
35121impl windows_core::RuntimeName for ICoreWebView2Settings9 {}
35122windows_core::imp::define_interface!(
35123 ICoreWebView2SharedBuffer,
35124 ICoreWebView2SharedBuffer_Vtbl,
35125 0xb747a495_0c6f_449e_97b8_2f81e9d6ab43
35126);
35127windows_core::imp::interface_hierarchy!(ICoreWebView2SharedBuffer, windows_core::IUnknown);
35128impl ICoreWebView2SharedBuffer {
35129 pub unsafe fn Size(&self, value: *mut u64) -> windows_core::Result<()> {
35130 unsafe {
35131 (windows_core::Interface::vtable(self).Size)(
35132 windows_core::Interface::as_raw(self),
35133 value as _,
35134 )
35135 .ok()
35136 }
35137 }
35138 pub unsafe fn Buffer(&self, value: *mut *mut u8) -> windows_core::Result<()> {
35139 unsafe {
35140 (windows_core::Interface::vtable(self).Buffer)(
35141 windows_core::Interface::as_raw(self),
35142 value as _,
35143 )
35144 .ok()
35145 }
35146 }
35147 pub unsafe fn OpenStream(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
35148 unsafe {
35149 let mut result__ = core::mem::zeroed();
35150 (windows_core::Interface::vtable(self).OpenStream)(
35151 windows_core::Interface::as_raw(self),
35152 &mut result__,
35153 )
35154 .and_then(|| windows_core::Type::from_abi(result__))
35155 }
35156 }
35157 pub unsafe fn FileMappingHandle(
35158 &self,
35159 value: *mut windows::Win32::Foundation::HANDLE,
35160 ) -> windows_core::Result<()> {
35161 unsafe {
35162 (windows_core::Interface::vtable(self).FileMappingHandle)(
35163 windows_core::Interface::as_raw(self),
35164 value as _,
35165 )
35166 .ok()
35167 }
35168 }
35169 pub unsafe fn Close(&self) -> windows_core::Result<()> {
35170 unsafe {
35171 (windows_core::Interface::vtable(self).Close)(windows_core::Interface::as_raw(self))
35172 .ok()
35173 }
35174 }
35175}
35176#[repr(C)]
35177#[doc(hidden)]
35178pub struct ICoreWebView2SharedBuffer_Vtbl {
35179 pub base__: windows_core::IUnknown_Vtbl,
35180 pub Size: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
35181 pub Buffer:
35182 unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut u8) -> windows_core::HRESULT,
35183 pub OpenStream: unsafe extern "system" fn(
35184 *mut core::ffi::c_void,
35185 *mut *mut core::ffi::c_void,
35186 ) -> windows_core::HRESULT,
35187 pub FileMappingHandle: unsafe extern "system" fn(
35188 *mut core::ffi::c_void,
35189 *mut windows::Win32::Foundation::HANDLE,
35190 ) -> windows_core::HRESULT,
35191 pub Close: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
35192}
35193pub trait ICoreWebView2SharedBuffer_Impl: windows_core::IUnknownImpl {
35194 fn Size(&self, value: *mut u64) -> windows_core::Result<()>;
35195 fn Buffer(&self, value: *mut *mut u8) -> windows_core::Result<()>;
35196 fn OpenStream(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
35197 fn FileMappingHandle(
35198 &self,
35199 value: *mut windows::Win32::Foundation::HANDLE,
35200 ) -> windows_core::Result<()>;
35201 fn Close(&self) -> windows_core::Result<()>;
35202}
35203impl ICoreWebView2SharedBuffer_Vtbl {
35204 pub const fn new<Identity: ICoreWebView2SharedBuffer_Impl, const OFFSET: isize>() -> Self {
35205 unsafe extern "system" fn Size<
35206 Identity: ICoreWebView2SharedBuffer_Impl,
35207 const OFFSET: isize,
35208 >(
35209 this: *mut core::ffi::c_void,
35210 value: *mut u64,
35211 ) -> windows_core::HRESULT {
35212 unsafe {
35213 let this: &Identity =
35214 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35215 ICoreWebView2SharedBuffer_Impl::Size(this, core::mem::transmute_copy(&value)).into()
35216 }
35217 }
35218 unsafe extern "system" fn Buffer<
35219 Identity: ICoreWebView2SharedBuffer_Impl,
35220 const OFFSET: isize,
35221 >(
35222 this: *mut core::ffi::c_void,
35223 value: *mut *mut u8,
35224 ) -> windows_core::HRESULT {
35225 unsafe {
35226 let this: &Identity =
35227 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35228 ICoreWebView2SharedBuffer_Impl::Buffer(this, core::mem::transmute_copy(&value))
35229 .into()
35230 }
35231 }
35232 unsafe extern "system" fn OpenStream<
35233 Identity: ICoreWebView2SharedBuffer_Impl,
35234 const OFFSET: isize,
35235 >(
35236 this: *mut core::ffi::c_void,
35237 value: *mut *mut core::ffi::c_void,
35238 ) -> windows_core::HRESULT {
35239 unsafe {
35240 let this: &Identity =
35241 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35242 match ICoreWebView2SharedBuffer_Impl::OpenStream(this) {
35243 Ok(ok__) => {
35244 value.write(core::mem::transmute(ok__));
35245 windows_core::HRESULT(0)
35246 }
35247 Err(err) => err.into(),
35248 }
35249 }
35250 }
35251 unsafe extern "system" fn FileMappingHandle<
35252 Identity: ICoreWebView2SharedBuffer_Impl,
35253 const OFFSET: isize,
35254 >(
35255 this: *mut core::ffi::c_void,
35256 value: *mut windows::Win32::Foundation::HANDLE,
35257 ) -> windows_core::HRESULT {
35258 unsafe {
35259 let this: &Identity =
35260 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35261 ICoreWebView2SharedBuffer_Impl::FileMappingHandle(
35262 this,
35263 core::mem::transmute_copy(&value),
35264 )
35265 .into()
35266 }
35267 }
35268 unsafe extern "system" fn Close<
35269 Identity: ICoreWebView2SharedBuffer_Impl,
35270 const OFFSET: isize,
35271 >(
35272 this: *mut core::ffi::c_void,
35273 ) -> windows_core::HRESULT {
35274 unsafe {
35275 let this: &Identity =
35276 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35277 ICoreWebView2SharedBuffer_Impl::Close(this).into()
35278 }
35279 }
35280 Self {
35281 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35282 Size: Size::<Identity, OFFSET>,
35283 Buffer: Buffer::<Identity, OFFSET>,
35284 OpenStream: OpenStream::<Identity, OFFSET>,
35285 FileMappingHandle: FileMappingHandle::<Identity, OFFSET>,
35286 Close: Close::<Identity, OFFSET>,
35287 }
35288 }
35289 pub fn matches(iid: &windows_core::GUID) -> bool {
35290 iid == &<ICoreWebView2SharedBuffer as windows_core::Interface>::IID
35291 }
35292}
35293impl windows_core::RuntimeName for ICoreWebView2SharedBuffer {}
35294windows_core::imp::define_interface!(
35295 ICoreWebView2ShowSaveAsUICompletedHandler,
35296 ICoreWebView2ShowSaveAsUICompletedHandler_Vtbl,
35297 0xe24b07e3_8169_5c34_994a_7f6478946a3c
35298);
35299windows_core::imp::interface_hierarchy!(
35300 ICoreWebView2ShowSaveAsUICompletedHandler,
35301 windows_core::IUnknown
35302);
35303impl ICoreWebView2ShowSaveAsUICompletedHandler {
35304 pub unsafe fn Invoke(
35305 &self,
35306 errorcode: windows_core::HRESULT,
35307 result: COREWEBVIEW2_SAVE_AS_UI_RESULT,
35308 ) -> windows_core::Result<()> {
35309 unsafe {
35310 (windows_core::Interface::vtable(self).Invoke)(
35311 windows_core::Interface::as_raw(self),
35312 errorcode,
35313 result,
35314 )
35315 .ok()
35316 }
35317 }
35318}
35319#[repr(C)]
35320#[doc(hidden)]
35321pub struct ICoreWebView2ShowSaveAsUICompletedHandler_Vtbl {
35322 pub base__: windows_core::IUnknown_Vtbl,
35323 pub Invoke: unsafe extern "system" fn(
35324 *mut core::ffi::c_void,
35325 windows_core::HRESULT,
35326 COREWEBVIEW2_SAVE_AS_UI_RESULT,
35327 ) -> windows_core::HRESULT,
35328}
35329pub trait ICoreWebView2ShowSaveAsUICompletedHandler_Impl: windows_core::IUnknownImpl {
35330 fn Invoke(
35331 &self,
35332 errorcode: windows_core::HRESULT,
35333 result: COREWEBVIEW2_SAVE_AS_UI_RESULT,
35334 ) -> windows_core::Result<()>;
35335}
35336impl ICoreWebView2ShowSaveAsUICompletedHandler_Vtbl {
35337 pub const fn new<
35338 Identity: ICoreWebView2ShowSaveAsUICompletedHandler_Impl,
35339 const OFFSET: isize,
35340 >() -> Self {
35341 unsafe extern "system" fn Invoke<
35342 Identity: ICoreWebView2ShowSaveAsUICompletedHandler_Impl,
35343 const OFFSET: isize,
35344 >(
35345 this: *mut core::ffi::c_void,
35346 errorcode: windows_core::HRESULT,
35347 result: COREWEBVIEW2_SAVE_AS_UI_RESULT,
35348 ) -> windows_core::HRESULT {
35349 unsafe {
35350 let this: &Identity =
35351 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35352 ICoreWebView2ShowSaveAsUICompletedHandler_Impl::Invoke(
35353 this,
35354 core::mem::transmute_copy(&errorcode),
35355 core::mem::transmute_copy(&result),
35356 )
35357 .into()
35358 }
35359 }
35360 Self {
35361 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35362 Invoke: Invoke::<Identity, OFFSET>,
35363 }
35364 }
35365 pub fn matches(iid: &windows_core::GUID) -> bool {
35366 iid == &<ICoreWebView2ShowSaveAsUICompletedHandler as windows_core::Interface>::IID
35367 }
35368}
35369impl windows_core::RuntimeName for ICoreWebView2ShowSaveAsUICompletedHandler {}
35370windows_core::imp::define_interface!(
35371 ICoreWebView2SourceChangedEventArgs,
35372 ICoreWebView2SourceChangedEventArgs_Vtbl,
35373 0x31e0e545_1dba_4266_8914_f63848a1f7d7
35374);
35375windows_core::imp::interface_hierarchy!(
35376 ICoreWebView2SourceChangedEventArgs,
35377 windows_core::IUnknown
35378);
35379impl ICoreWebView2SourceChangedEventArgs {
35380 pub unsafe fn IsNewDocument(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
35381 unsafe {
35382 (windows_core::Interface::vtable(self).IsNewDocument)(
35383 windows_core::Interface::as_raw(self),
35384 value as _,
35385 )
35386 .ok()
35387 }
35388 }
35389}
35390#[repr(C)]
35391#[doc(hidden)]
35392pub struct ICoreWebView2SourceChangedEventArgs_Vtbl {
35393 pub base__: windows_core::IUnknown_Vtbl,
35394 pub IsNewDocument: unsafe extern "system" fn(
35395 *mut core::ffi::c_void,
35396 *mut windows_core::BOOL,
35397 ) -> windows_core::HRESULT,
35398}
35399pub trait ICoreWebView2SourceChangedEventArgs_Impl: windows_core::IUnknownImpl {
35400 fn IsNewDocument(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
35401}
35402impl ICoreWebView2SourceChangedEventArgs_Vtbl {
35403 pub const fn new<Identity: ICoreWebView2SourceChangedEventArgs_Impl, const OFFSET: isize>(
35404 ) -> Self {
35405 unsafe extern "system" fn IsNewDocument<
35406 Identity: ICoreWebView2SourceChangedEventArgs_Impl,
35407 const OFFSET: isize,
35408 >(
35409 this: *mut core::ffi::c_void,
35410 value: *mut windows_core::BOOL,
35411 ) -> windows_core::HRESULT {
35412 unsafe {
35413 let this: &Identity =
35414 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35415 ICoreWebView2SourceChangedEventArgs_Impl::IsNewDocument(
35416 this,
35417 core::mem::transmute_copy(&value),
35418 )
35419 .into()
35420 }
35421 }
35422 Self {
35423 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35424 IsNewDocument: IsNewDocument::<Identity, OFFSET>,
35425 }
35426 }
35427 pub fn matches(iid: &windows_core::GUID) -> bool {
35428 iid == &<ICoreWebView2SourceChangedEventArgs as windows_core::Interface>::IID
35429 }
35430}
35431impl windows_core::RuntimeName for ICoreWebView2SourceChangedEventArgs {}
35432windows_core::imp::define_interface!(
35433 ICoreWebView2SourceChangedEventHandler,
35434 ICoreWebView2SourceChangedEventHandler_Vtbl,
35435 0x3c067f9f_5388_4772_8b48_79f7ef1ab37c
35436);
35437windows_core::imp::interface_hierarchy!(
35438 ICoreWebView2SourceChangedEventHandler,
35439 windows_core::IUnknown
35440);
35441impl ICoreWebView2SourceChangedEventHandler {
35442 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
35443 where
35444 P0: windows_core::Param<ICoreWebView2>,
35445 P1: windows_core::Param<ICoreWebView2SourceChangedEventArgs>,
35446 {
35447 unsafe {
35448 (windows_core::Interface::vtable(self).Invoke)(
35449 windows_core::Interface::as_raw(self),
35450 sender.param().abi(),
35451 args.param().abi(),
35452 )
35453 .ok()
35454 }
35455 }
35456}
35457#[repr(C)]
35458#[doc(hidden)]
35459pub struct ICoreWebView2SourceChangedEventHandler_Vtbl {
35460 pub base__: windows_core::IUnknown_Vtbl,
35461 pub Invoke: unsafe extern "system" fn(
35462 *mut core::ffi::c_void,
35463 *mut core::ffi::c_void,
35464 *mut core::ffi::c_void,
35465 ) -> windows_core::HRESULT,
35466}
35467pub trait ICoreWebView2SourceChangedEventHandler_Impl: windows_core::IUnknownImpl {
35468 fn Invoke(
35469 &self,
35470 sender: windows_core::Ref<'_, ICoreWebView2>,
35471 args: windows_core::Ref<'_, ICoreWebView2SourceChangedEventArgs>,
35472 ) -> windows_core::Result<()>;
35473}
35474impl ICoreWebView2SourceChangedEventHandler_Vtbl {
35475 pub const fn new<Identity: ICoreWebView2SourceChangedEventHandler_Impl, const OFFSET: isize>(
35476 ) -> Self {
35477 unsafe extern "system" fn Invoke<
35478 Identity: ICoreWebView2SourceChangedEventHandler_Impl,
35479 const OFFSET: isize,
35480 >(
35481 this: *mut core::ffi::c_void,
35482 sender: *mut core::ffi::c_void,
35483 args: *mut core::ffi::c_void,
35484 ) -> windows_core::HRESULT {
35485 unsafe {
35486 let this: &Identity =
35487 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35488 ICoreWebView2SourceChangedEventHandler_Impl::Invoke(
35489 this,
35490 core::mem::transmute_copy(&sender),
35491 core::mem::transmute_copy(&args),
35492 )
35493 .into()
35494 }
35495 }
35496 Self {
35497 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35498 Invoke: Invoke::<Identity, OFFSET>,
35499 }
35500 }
35501 pub fn matches(iid: &windows_core::GUID) -> bool {
35502 iid == &<ICoreWebView2SourceChangedEventHandler as windows_core::Interface>::IID
35503 }
35504}
35505impl windows_core::RuntimeName for ICoreWebView2SourceChangedEventHandler {}
35506windows_core::imp::define_interface!(
35507 ICoreWebView2StateChangedEventHandler,
35508 ICoreWebView2StateChangedEventHandler_Vtbl,
35509 0x81336594_7ede_4ba9_bf71_acf0a95b58dd
35510);
35511windows_core::imp::interface_hierarchy!(
35512 ICoreWebView2StateChangedEventHandler,
35513 windows_core::IUnknown
35514);
35515impl ICoreWebView2StateChangedEventHandler {
35516 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
35517 where
35518 P0: windows_core::Param<ICoreWebView2DownloadOperation>,
35519 P1: windows_core::Param<windows_core::IUnknown>,
35520 {
35521 unsafe {
35522 (windows_core::Interface::vtable(self).Invoke)(
35523 windows_core::Interface::as_raw(self),
35524 sender.param().abi(),
35525 args.param().abi(),
35526 )
35527 .ok()
35528 }
35529 }
35530}
35531#[repr(C)]
35532#[doc(hidden)]
35533pub struct ICoreWebView2StateChangedEventHandler_Vtbl {
35534 pub base__: windows_core::IUnknown_Vtbl,
35535 pub Invoke: unsafe extern "system" fn(
35536 *mut core::ffi::c_void,
35537 *mut core::ffi::c_void,
35538 *mut core::ffi::c_void,
35539 ) -> windows_core::HRESULT,
35540}
35541pub trait ICoreWebView2StateChangedEventHandler_Impl: windows_core::IUnknownImpl {
35542 fn Invoke(
35543 &self,
35544 sender: windows_core::Ref<'_, ICoreWebView2DownloadOperation>,
35545 args: windows_core::Ref<'_, windows_core::IUnknown>,
35546 ) -> windows_core::Result<()>;
35547}
35548impl ICoreWebView2StateChangedEventHandler_Vtbl {
35549 pub const fn new<Identity: ICoreWebView2StateChangedEventHandler_Impl, const OFFSET: isize>(
35550 ) -> Self {
35551 unsafe extern "system" fn Invoke<
35552 Identity: ICoreWebView2StateChangedEventHandler_Impl,
35553 const OFFSET: isize,
35554 >(
35555 this: *mut core::ffi::c_void,
35556 sender: *mut core::ffi::c_void,
35557 args: *mut core::ffi::c_void,
35558 ) -> windows_core::HRESULT {
35559 unsafe {
35560 let this: &Identity =
35561 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35562 ICoreWebView2StateChangedEventHandler_Impl::Invoke(
35563 this,
35564 core::mem::transmute_copy(&sender),
35565 core::mem::transmute_copy(&args),
35566 )
35567 .into()
35568 }
35569 }
35570 Self {
35571 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35572 Invoke: Invoke::<Identity, OFFSET>,
35573 }
35574 }
35575 pub fn matches(iid: &windows_core::GUID) -> bool {
35576 iid == &<ICoreWebView2StateChangedEventHandler as windows_core::Interface>::IID
35577 }
35578}
35579impl windows_core::RuntimeName for ICoreWebView2StateChangedEventHandler {}
35580windows_core::imp::define_interface!(
35581 ICoreWebView2StatusBarTextChangedEventHandler,
35582 ICoreWebView2StatusBarTextChangedEventHandler_Vtbl,
35583 0xa5e3b0d0_10df_4156_bfad_3b43867acac6
35584);
35585windows_core::imp::interface_hierarchy!(
35586 ICoreWebView2StatusBarTextChangedEventHandler,
35587 windows_core::IUnknown
35588);
35589impl ICoreWebView2StatusBarTextChangedEventHandler {
35590 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
35591 where
35592 P0: windows_core::Param<ICoreWebView2>,
35593 P1: windows_core::Param<windows_core::IUnknown>,
35594 {
35595 unsafe {
35596 (windows_core::Interface::vtable(self).Invoke)(
35597 windows_core::Interface::as_raw(self),
35598 sender.param().abi(),
35599 args.param().abi(),
35600 )
35601 .ok()
35602 }
35603 }
35604}
35605#[repr(C)]
35606#[doc(hidden)]
35607pub struct ICoreWebView2StatusBarTextChangedEventHandler_Vtbl {
35608 pub base__: windows_core::IUnknown_Vtbl,
35609 pub Invoke: unsafe extern "system" fn(
35610 *mut core::ffi::c_void,
35611 *mut core::ffi::c_void,
35612 *mut core::ffi::c_void,
35613 ) -> windows_core::HRESULT,
35614}
35615pub trait ICoreWebView2StatusBarTextChangedEventHandler_Impl: windows_core::IUnknownImpl {
35616 fn Invoke(
35617 &self,
35618 sender: windows_core::Ref<'_, ICoreWebView2>,
35619 args: windows_core::Ref<'_, windows_core::IUnknown>,
35620 ) -> windows_core::Result<()>;
35621}
35622impl ICoreWebView2StatusBarTextChangedEventHandler_Vtbl {
35623 pub const fn new<
35624 Identity: ICoreWebView2StatusBarTextChangedEventHandler_Impl,
35625 const OFFSET: isize,
35626 >() -> Self {
35627 unsafe extern "system" fn Invoke<
35628 Identity: ICoreWebView2StatusBarTextChangedEventHandler_Impl,
35629 const OFFSET: isize,
35630 >(
35631 this: *mut core::ffi::c_void,
35632 sender: *mut core::ffi::c_void,
35633 args: *mut core::ffi::c_void,
35634 ) -> windows_core::HRESULT {
35635 unsafe {
35636 let this: &Identity =
35637 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35638 ICoreWebView2StatusBarTextChangedEventHandler_Impl::Invoke(
35639 this,
35640 core::mem::transmute_copy(&sender),
35641 core::mem::transmute_copy(&args),
35642 )
35643 .into()
35644 }
35645 }
35646 Self {
35647 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35648 Invoke: Invoke::<Identity, OFFSET>,
35649 }
35650 }
35651 pub fn matches(iid: &windows_core::GUID) -> bool {
35652 iid == &<ICoreWebView2StatusBarTextChangedEventHandler as windows_core::Interface>::IID
35653 }
35654}
35655impl windows_core::RuntimeName for ICoreWebView2StatusBarTextChangedEventHandler {}
35656windows_core::imp::define_interface!(
35657 ICoreWebView2StringCollection,
35658 ICoreWebView2StringCollection_Vtbl,
35659 0xf41f3f8a_bcc3_11eb_8529_0242ac130003
35660);
35661windows_core::imp::interface_hierarchy!(ICoreWebView2StringCollection, windows_core::IUnknown);
35662impl ICoreWebView2StringCollection {
35663 pub unsafe fn Count(&self, value: *mut u32) -> windows_core::Result<()> {
35664 unsafe {
35665 (windows_core::Interface::vtable(self).Count)(
35666 windows_core::Interface::as_raw(self),
35667 value as _,
35668 )
35669 .ok()
35670 }
35671 }
35672 pub unsafe fn GetValueAtIndex(
35673 &self,
35674 index: u32,
35675 value: *mut windows_core::PWSTR,
35676 ) -> windows_core::Result<()> {
35677 unsafe {
35678 (windows_core::Interface::vtable(self).GetValueAtIndex)(
35679 windows_core::Interface::as_raw(self),
35680 index,
35681 value as _,
35682 )
35683 .ok()
35684 }
35685 }
35686}
35687#[repr(C)]
35688#[doc(hidden)]
35689pub struct ICoreWebView2StringCollection_Vtbl {
35690 pub base__: windows_core::IUnknown_Vtbl,
35691 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
35692 pub GetValueAtIndex: unsafe extern "system" fn(
35693 *mut core::ffi::c_void,
35694 u32,
35695 *mut windows_core::PWSTR,
35696 ) -> windows_core::HRESULT,
35697}
35698pub trait ICoreWebView2StringCollection_Impl: windows_core::IUnknownImpl {
35699 fn Count(&self, value: *mut u32) -> windows_core::Result<()>;
35700 fn GetValueAtIndex(
35701 &self,
35702 index: u32,
35703 value: *mut windows_core::PWSTR,
35704 ) -> windows_core::Result<()>;
35705}
35706impl ICoreWebView2StringCollection_Vtbl {
35707 pub const fn new<Identity: ICoreWebView2StringCollection_Impl, const OFFSET: isize>() -> Self {
35708 unsafe extern "system" fn Count<
35709 Identity: ICoreWebView2StringCollection_Impl,
35710 const OFFSET: isize,
35711 >(
35712 this: *mut core::ffi::c_void,
35713 value: *mut u32,
35714 ) -> windows_core::HRESULT {
35715 unsafe {
35716 let this: &Identity =
35717 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35718 ICoreWebView2StringCollection_Impl::Count(this, core::mem::transmute_copy(&value))
35719 .into()
35720 }
35721 }
35722 unsafe extern "system" fn GetValueAtIndex<
35723 Identity: ICoreWebView2StringCollection_Impl,
35724 const OFFSET: isize,
35725 >(
35726 this: *mut core::ffi::c_void,
35727 index: u32,
35728 value: *mut windows_core::PWSTR,
35729 ) -> windows_core::HRESULT {
35730 unsafe {
35731 let this: &Identity =
35732 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35733 ICoreWebView2StringCollection_Impl::GetValueAtIndex(
35734 this,
35735 core::mem::transmute_copy(&index),
35736 core::mem::transmute_copy(&value),
35737 )
35738 .into()
35739 }
35740 }
35741 Self {
35742 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35743 Count: Count::<Identity, OFFSET>,
35744 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
35745 }
35746 }
35747 pub fn matches(iid: &windows_core::GUID) -> bool {
35748 iid == &<ICoreWebView2StringCollection as windows_core::Interface>::IID
35749 }
35750}
35751impl windows_core::RuntimeName for ICoreWebView2StringCollection {}
35752windows_core::imp::define_interface!(
35753 ICoreWebView2TrySuspendCompletedHandler,
35754 ICoreWebView2TrySuspendCompletedHandler_Vtbl,
35755 0x00f206a7_9d17_4605_91f6_4e8e4de192e3
35756);
35757windows_core::imp::interface_hierarchy!(
35758 ICoreWebView2TrySuspendCompletedHandler,
35759 windows_core::IUnknown
35760);
35761impl ICoreWebView2TrySuspendCompletedHandler {
35762 pub unsafe fn Invoke(
35763 &self,
35764 errorcode: windows_core::HRESULT,
35765 result: bool,
35766 ) -> windows_core::Result<()> {
35767 unsafe {
35768 (windows_core::Interface::vtable(self).Invoke)(
35769 windows_core::Interface::as_raw(self),
35770 errorcode,
35771 result.into(),
35772 )
35773 .ok()
35774 }
35775 }
35776}
35777#[repr(C)]
35778#[doc(hidden)]
35779pub struct ICoreWebView2TrySuspendCompletedHandler_Vtbl {
35780 pub base__: windows_core::IUnknown_Vtbl,
35781 pub Invoke: unsafe extern "system" fn(
35782 *mut core::ffi::c_void,
35783 windows_core::HRESULT,
35784 windows_core::BOOL,
35785 ) -> windows_core::HRESULT,
35786}
35787pub trait ICoreWebView2TrySuspendCompletedHandler_Impl: windows_core::IUnknownImpl {
35788 fn Invoke(
35789 &self,
35790 errorcode: windows_core::HRESULT,
35791 result: windows_core::BOOL,
35792 ) -> windows_core::Result<()>;
35793}
35794impl ICoreWebView2TrySuspendCompletedHandler_Vtbl {
35795 pub const fn new<
35796 Identity: ICoreWebView2TrySuspendCompletedHandler_Impl,
35797 const OFFSET: isize,
35798 >() -> Self {
35799 unsafe extern "system" fn Invoke<
35800 Identity: ICoreWebView2TrySuspendCompletedHandler_Impl,
35801 const OFFSET: isize,
35802 >(
35803 this: *mut core::ffi::c_void,
35804 errorcode: windows_core::HRESULT,
35805 result: windows_core::BOOL,
35806 ) -> windows_core::HRESULT {
35807 unsafe {
35808 let this: &Identity =
35809 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35810 ICoreWebView2TrySuspendCompletedHandler_Impl::Invoke(
35811 this,
35812 core::mem::transmute_copy(&errorcode),
35813 core::mem::transmute_copy(&result),
35814 )
35815 .into()
35816 }
35817 }
35818 Self {
35819 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35820 Invoke: Invoke::<Identity, OFFSET>,
35821 }
35822 }
35823 pub fn matches(iid: &windows_core::GUID) -> bool {
35824 iid == &<ICoreWebView2TrySuspendCompletedHandler as windows_core::Interface>::IID
35825 }
35826}
35827impl windows_core::RuntimeName for ICoreWebView2TrySuspendCompletedHandler {}
35828windows_core::imp::define_interface!(
35829 ICoreWebView2WebMessageReceivedEventArgs,
35830 ICoreWebView2WebMessageReceivedEventArgs_Vtbl,
35831 0x0f99a40c_e962_4207_9e92_e3d542eff849
35832);
35833windows_core::imp::interface_hierarchy!(
35834 ICoreWebView2WebMessageReceivedEventArgs,
35835 windows_core::IUnknown
35836);
35837impl ICoreWebView2WebMessageReceivedEventArgs {
35838 pub unsafe fn Source(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
35839 unsafe {
35840 (windows_core::Interface::vtable(self).Source)(
35841 windows_core::Interface::as_raw(self),
35842 value as _,
35843 )
35844 .ok()
35845 }
35846 }
35847 pub unsafe fn WebMessageAsJson(
35848 &self,
35849 value: *mut windows_core::PWSTR,
35850 ) -> windows_core::Result<()> {
35851 unsafe {
35852 (windows_core::Interface::vtable(self).WebMessageAsJson)(
35853 windows_core::Interface::as_raw(self),
35854 value as _,
35855 )
35856 .ok()
35857 }
35858 }
35859 pub unsafe fn TryGetWebMessageAsString(
35860 &self,
35861 value: *mut windows_core::PWSTR,
35862 ) -> windows_core::Result<()> {
35863 unsafe {
35864 (windows_core::Interface::vtable(self).TryGetWebMessageAsString)(
35865 windows_core::Interface::as_raw(self),
35866 value as _,
35867 )
35868 .ok()
35869 }
35870 }
35871}
35872#[repr(C)]
35873#[doc(hidden)]
35874pub struct ICoreWebView2WebMessageReceivedEventArgs_Vtbl {
35875 pub base__: windows_core::IUnknown_Vtbl,
35876 pub Source: unsafe extern "system" fn(
35877 *mut core::ffi::c_void,
35878 *mut windows_core::PWSTR,
35879 ) -> windows_core::HRESULT,
35880 pub WebMessageAsJson: unsafe extern "system" fn(
35881 *mut core::ffi::c_void,
35882 *mut windows_core::PWSTR,
35883 ) -> windows_core::HRESULT,
35884 pub TryGetWebMessageAsString: unsafe extern "system" fn(
35885 *mut core::ffi::c_void,
35886 *mut windows_core::PWSTR,
35887 ) -> windows_core::HRESULT,
35888}
35889pub trait ICoreWebView2WebMessageReceivedEventArgs_Impl: windows_core::IUnknownImpl {
35890 fn Source(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
35891 fn WebMessageAsJson(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
35892 fn TryGetWebMessageAsString(&self, value: *mut windows_core::PWSTR)
35893 -> windows_core::Result<()>;
35894}
35895impl ICoreWebView2WebMessageReceivedEventArgs_Vtbl {
35896 pub const fn new<
35897 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
35898 const OFFSET: isize,
35899 >() -> Self {
35900 unsafe extern "system" fn Source<
35901 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
35902 const OFFSET: isize,
35903 >(
35904 this: *mut core::ffi::c_void,
35905 value: *mut windows_core::PWSTR,
35906 ) -> windows_core::HRESULT {
35907 unsafe {
35908 let this: &Identity =
35909 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35910 ICoreWebView2WebMessageReceivedEventArgs_Impl::Source(
35911 this,
35912 core::mem::transmute_copy(&value),
35913 )
35914 .into()
35915 }
35916 }
35917 unsafe extern "system" fn WebMessageAsJson<
35918 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
35919 const OFFSET: isize,
35920 >(
35921 this: *mut core::ffi::c_void,
35922 value: *mut windows_core::PWSTR,
35923 ) -> windows_core::HRESULT {
35924 unsafe {
35925 let this: &Identity =
35926 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35927 ICoreWebView2WebMessageReceivedEventArgs_Impl::WebMessageAsJson(
35928 this,
35929 core::mem::transmute_copy(&value),
35930 )
35931 .into()
35932 }
35933 }
35934 unsafe extern "system" fn TryGetWebMessageAsString<
35935 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
35936 const OFFSET: isize,
35937 >(
35938 this: *mut core::ffi::c_void,
35939 value: *mut windows_core::PWSTR,
35940 ) -> windows_core::HRESULT {
35941 unsafe {
35942 let this: &Identity =
35943 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
35944 ICoreWebView2WebMessageReceivedEventArgs_Impl::TryGetWebMessageAsString(
35945 this,
35946 core::mem::transmute_copy(&value),
35947 )
35948 .into()
35949 }
35950 }
35951 Self {
35952 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
35953 Source: Source::<Identity, OFFSET>,
35954 WebMessageAsJson: WebMessageAsJson::<Identity, OFFSET>,
35955 TryGetWebMessageAsString: TryGetWebMessageAsString::<Identity, OFFSET>,
35956 }
35957 }
35958 pub fn matches(iid: &windows_core::GUID) -> bool {
35959 iid == &<ICoreWebView2WebMessageReceivedEventArgs as windows_core::Interface>::IID
35960 }
35961}
35962impl windows_core::RuntimeName for ICoreWebView2WebMessageReceivedEventArgs {}
35963windows_core::imp::define_interface!(
35964 ICoreWebView2WebMessageReceivedEventArgs2,
35965 ICoreWebView2WebMessageReceivedEventArgs2_Vtbl,
35966 0x06fc7ab7_c90c_4297_9389_33ca01cf6d5e
35967);
35968impl core::ops::Deref for ICoreWebView2WebMessageReceivedEventArgs2 {
35969 type Target = ICoreWebView2WebMessageReceivedEventArgs;
35970 fn deref(&self) -> &Self::Target {
35971 unsafe { core::mem::transmute(self) }
35972 }
35973}
35974windows_core::imp::interface_hierarchy!(
35975 ICoreWebView2WebMessageReceivedEventArgs2,
35976 windows_core::IUnknown,
35977 ICoreWebView2WebMessageReceivedEventArgs
35978);
35979impl ICoreWebView2WebMessageReceivedEventArgs2 {
35980 pub unsafe fn AdditionalObjects(
35981 &self,
35982 ) -> windows_core::Result<ICoreWebView2ObjectCollectionView> {
35983 unsafe {
35984 let mut result__ = core::mem::zeroed();
35985 (windows_core::Interface::vtable(self).AdditionalObjects)(
35986 windows_core::Interface::as_raw(self),
35987 &mut result__,
35988 )
35989 .and_then(|| windows_core::Type::from_abi(result__))
35990 }
35991 }
35992}
35993#[repr(C)]
35994#[doc(hidden)]
35995pub struct ICoreWebView2WebMessageReceivedEventArgs2_Vtbl {
35996 pub base__: ICoreWebView2WebMessageReceivedEventArgs_Vtbl,
35997 pub AdditionalObjects: unsafe extern "system" fn(
35998 *mut core::ffi::c_void,
35999 *mut *mut core::ffi::c_void,
36000 ) -> windows_core::HRESULT,
36001}
36002pub trait ICoreWebView2WebMessageReceivedEventArgs2_Impl:
36003 ICoreWebView2WebMessageReceivedEventArgs_Impl
36004{
36005 fn AdditionalObjects(&self) -> windows_core::Result<ICoreWebView2ObjectCollectionView>;
36006}
36007impl ICoreWebView2WebMessageReceivedEventArgs2_Vtbl {
36008 pub const fn new<
36009 Identity: ICoreWebView2WebMessageReceivedEventArgs2_Impl,
36010 const OFFSET: isize,
36011 >() -> Self {
36012 unsafe extern "system" fn AdditionalObjects<
36013 Identity: ICoreWebView2WebMessageReceivedEventArgs2_Impl,
36014 const OFFSET: isize,
36015 >(
36016 this: *mut core::ffi::c_void,
36017 value: *mut *mut core::ffi::c_void,
36018 ) -> windows_core::HRESULT {
36019 unsafe {
36020 let this: &Identity =
36021 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36022 match ICoreWebView2WebMessageReceivedEventArgs2_Impl::AdditionalObjects(this) {
36023 Ok(ok__) => {
36024 value.write(core::mem::transmute(ok__));
36025 windows_core::HRESULT(0)
36026 }
36027 Err(err) => err.into(),
36028 }
36029 }
36030 }
36031 Self {
36032 base__: ICoreWebView2WebMessageReceivedEventArgs_Vtbl::new::<Identity, OFFSET>(),
36033 AdditionalObjects: AdditionalObjects::<Identity, OFFSET>,
36034 }
36035 }
36036 pub fn matches(iid: &windows_core::GUID) -> bool {
36037 iid == &<ICoreWebView2WebMessageReceivedEventArgs2 as windows_core::Interface>::IID
36038 || iid == &<ICoreWebView2WebMessageReceivedEventArgs as windows_core::Interface>::IID
36039 }
36040}
36041impl windows_core::RuntimeName for ICoreWebView2WebMessageReceivedEventArgs2 {}
36042windows_core::imp::define_interface!(
36043 ICoreWebView2WebMessageReceivedEventHandler,
36044 ICoreWebView2WebMessageReceivedEventHandler_Vtbl,
36045 0x57213f19_00e6_49fa_8e07_898ea01ecbd2
36046);
36047windows_core::imp::interface_hierarchy!(
36048 ICoreWebView2WebMessageReceivedEventHandler,
36049 windows_core::IUnknown
36050);
36051impl ICoreWebView2WebMessageReceivedEventHandler {
36052 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
36053 where
36054 P0: windows_core::Param<ICoreWebView2>,
36055 P1: windows_core::Param<ICoreWebView2WebMessageReceivedEventArgs>,
36056 {
36057 unsafe {
36058 (windows_core::Interface::vtable(self).Invoke)(
36059 windows_core::Interface::as_raw(self),
36060 sender.param().abi(),
36061 args.param().abi(),
36062 )
36063 .ok()
36064 }
36065 }
36066}
36067#[repr(C)]
36068#[doc(hidden)]
36069pub struct ICoreWebView2WebMessageReceivedEventHandler_Vtbl {
36070 pub base__: windows_core::IUnknown_Vtbl,
36071 pub Invoke: unsafe extern "system" fn(
36072 *mut core::ffi::c_void,
36073 *mut core::ffi::c_void,
36074 *mut core::ffi::c_void,
36075 ) -> windows_core::HRESULT,
36076}
36077pub trait ICoreWebView2WebMessageReceivedEventHandler_Impl: windows_core::IUnknownImpl {
36078 fn Invoke(
36079 &self,
36080 sender: windows_core::Ref<'_, ICoreWebView2>,
36081 args: windows_core::Ref<'_, ICoreWebView2WebMessageReceivedEventArgs>,
36082 ) -> windows_core::Result<()>;
36083}
36084impl ICoreWebView2WebMessageReceivedEventHandler_Vtbl {
36085 pub const fn new<
36086 Identity: ICoreWebView2WebMessageReceivedEventHandler_Impl,
36087 const OFFSET: isize,
36088 >() -> Self {
36089 unsafe extern "system" fn Invoke<
36090 Identity: ICoreWebView2WebMessageReceivedEventHandler_Impl,
36091 const OFFSET: isize,
36092 >(
36093 this: *mut core::ffi::c_void,
36094 sender: *mut core::ffi::c_void,
36095 args: *mut core::ffi::c_void,
36096 ) -> windows_core::HRESULT {
36097 unsafe {
36098 let this: &Identity =
36099 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36100 ICoreWebView2WebMessageReceivedEventHandler_Impl::Invoke(
36101 this,
36102 core::mem::transmute_copy(&sender),
36103 core::mem::transmute_copy(&args),
36104 )
36105 .into()
36106 }
36107 }
36108 Self {
36109 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
36110 Invoke: Invoke::<Identity, OFFSET>,
36111 }
36112 }
36113 pub fn matches(iid: &windows_core::GUID) -> bool {
36114 iid == &<ICoreWebView2WebMessageReceivedEventHandler as windows_core::Interface>::IID
36115 }
36116}
36117impl windows_core::RuntimeName for ICoreWebView2WebMessageReceivedEventHandler {}
36118windows_core::imp::define_interface!(
36119 ICoreWebView2WebResourceRequest,
36120 ICoreWebView2WebResourceRequest_Vtbl,
36121 0x97055cd4_512c_4264_8b5f_e3f446cea6a5
36122);
36123windows_core::imp::interface_hierarchy!(ICoreWebView2WebResourceRequest, windows_core::IUnknown);
36124impl ICoreWebView2WebResourceRequest {
36125 pub unsafe fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()> {
36126 unsafe {
36127 (windows_core::Interface::vtable(self).Uri)(
36128 windows_core::Interface::as_raw(self),
36129 uri as _,
36130 )
36131 .ok()
36132 }
36133 }
36134 pub unsafe fn SetUri<P0>(&self, uri: P0) -> windows_core::Result<()>
36135 where
36136 P0: windows_core::Param<windows_core::PCWSTR>,
36137 {
36138 unsafe {
36139 (windows_core::Interface::vtable(self).SetUri)(
36140 windows_core::Interface::as_raw(self),
36141 uri.param().abi(),
36142 )
36143 .ok()
36144 }
36145 }
36146 pub unsafe fn Method(&self, method: *mut windows_core::PWSTR) -> windows_core::Result<()> {
36147 unsafe {
36148 (windows_core::Interface::vtable(self).Method)(
36149 windows_core::Interface::as_raw(self),
36150 method as _,
36151 )
36152 .ok()
36153 }
36154 }
36155 pub unsafe fn SetMethod<P0>(&self, method: P0) -> windows_core::Result<()>
36156 where
36157 P0: windows_core::Param<windows_core::PCWSTR>,
36158 {
36159 unsafe {
36160 (windows_core::Interface::vtable(self).SetMethod)(
36161 windows_core::Interface::as_raw(self),
36162 method.param().abi(),
36163 )
36164 .ok()
36165 }
36166 }
36167 pub unsafe fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
36168 unsafe {
36169 let mut result__ = core::mem::zeroed();
36170 (windows_core::Interface::vtable(self).Content)(
36171 windows_core::Interface::as_raw(self),
36172 &mut result__,
36173 )
36174 .and_then(|| windows_core::Type::from_abi(result__))
36175 }
36176 }
36177 pub unsafe fn SetContent<P0>(&self, content: P0) -> windows_core::Result<()>
36178 where
36179 P0: windows_core::Param<windows::Win32::System::Com::IStream>,
36180 {
36181 unsafe {
36182 (windows_core::Interface::vtable(self).SetContent)(
36183 windows_core::Interface::as_raw(self),
36184 content.param().abi(),
36185 )
36186 .ok()
36187 }
36188 }
36189 pub unsafe fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders> {
36190 unsafe {
36191 let mut result__ = core::mem::zeroed();
36192 (windows_core::Interface::vtable(self).Headers)(
36193 windows_core::Interface::as_raw(self),
36194 &mut result__,
36195 )
36196 .and_then(|| windows_core::Type::from_abi(result__))
36197 }
36198 }
36199}
36200#[repr(C)]
36201#[doc(hidden)]
36202pub struct ICoreWebView2WebResourceRequest_Vtbl {
36203 pub base__: windows_core::IUnknown_Vtbl,
36204 pub Uri: unsafe extern "system" fn(
36205 *mut core::ffi::c_void,
36206 *mut windows_core::PWSTR,
36207 ) -> windows_core::HRESULT,
36208 pub SetUri: unsafe extern "system" fn(
36209 *mut core::ffi::c_void,
36210 windows_core::PCWSTR,
36211 ) -> windows_core::HRESULT,
36212 pub Method: unsafe extern "system" fn(
36213 *mut core::ffi::c_void,
36214 *mut windows_core::PWSTR,
36215 ) -> windows_core::HRESULT,
36216 pub SetMethod: unsafe extern "system" fn(
36217 *mut core::ffi::c_void,
36218 windows_core::PCWSTR,
36219 ) -> windows_core::HRESULT,
36220 pub Content: unsafe extern "system" fn(
36221 *mut core::ffi::c_void,
36222 *mut *mut core::ffi::c_void,
36223 ) -> windows_core::HRESULT,
36224 pub SetContent: unsafe extern "system" fn(
36225 *mut core::ffi::c_void,
36226 *mut core::ffi::c_void,
36227 ) -> windows_core::HRESULT,
36228 pub Headers: unsafe extern "system" fn(
36229 *mut core::ffi::c_void,
36230 *mut *mut core::ffi::c_void,
36231 ) -> windows_core::HRESULT,
36232}
36233pub trait ICoreWebView2WebResourceRequest_Impl: windows_core::IUnknownImpl {
36234 fn Uri(&self, uri: *mut windows_core::PWSTR) -> windows_core::Result<()>;
36235 fn SetUri(&self, uri: &windows_core::PCWSTR) -> windows_core::Result<()>;
36236 fn Method(&self, method: *mut windows_core::PWSTR) -> windows_core::Result<()>;
36237 fn SetMethod(&self, method: &windows_core::PCWSTR) -> windows_core::Result<()>;
36238 fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
36239 fn SetContent(
36240 &self,
36241 content: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
36242 ) -> windows_core::Result<()>;
36243 fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders>;
36244}
36245impl ICoreWebView2WebResourceRequest_Vtbl {
36246 pub const fn new<Identity: ICoreWebView2WebResourceRequest_Impl, const OFFSET: isize>() -> Self
36247 {
36248 unsafe extern "system" fn Uri<
36249 Identity: ICoreWebView2WebResourceRequest_Impl,
36250 const OFFSET: isize,
36251 >(
36252 this: *mut core::ffi::c_void,
36253 uri: *mut windows_core::PWSTR,
36254 ) -> windows_core::HRESULT {
36255 unsafe {
36256 let this: &Identity =
36257 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36258 ICoreWebView2WebResourceRequest_Impl::Uri(this, core::mem::transmute_copy(&uri))
36259 .into()
36260 }
36261 }
36262 unsafe extern "system" fn SetUri<
36263 Identity: ICoreWebView2WebResourceRequest_Impl,
36264 const OFFSET: isize,
36265 >(
36266 this: *mut core::ffi::c_void,
36267 uri: windows_core::PCWSTR,
36268 ) -> windows_core::HRESULT {
36269 unsafe {
36270 let this: &Identity =
36271 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36272 ICoreWebView2WebResourceRequest_Impl::SetUri(this, core::mem::transmute(&uri))
36273 .into()
36274 }
36275 }
36276 unsafe extern "system" fn Method<
36277 Identity: ICoreWebView2WebResourceRequest_Impl,
36278 const OFFSET: isize,
36279 >(
36280 this: *mut core::ffi::c_void,
36281 method: *mut windows_core::PWSTR,
36282 ) -> windows_core::HRESULT {
36283 unsafe {
36284 let this: &Identity =
36285 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36286 ICoreWebView2WebResourceRequest_Impl::Method(
36287 this,
36288 core::mem::transmute_copy(&method),
36289 )
36290 .into()
36291 }
36292 }
36293 unsafe extern "system" fn SetMethod<
36294 Identity: ICoreWebView2WebResourceRequest_Impl,
36295 const OFFSET: isize,
36296 >(
36297 this: *mut core::ffi::c_void,
36298 method: windows_core::PCWSTR,
36299 ) -> windows_core::HRESULT {
36300 unsafe {
36301 let this: &Identity =
36302 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36303 ICoreWebView2WebResourceRequest_Impl::SetMethod(this, core::mem::transmute(&method))
36304 .into()
36305 }
36306 }
36307 unsafe extern "system" fn Content<
36308 Identity: ICoreWebView2WebResourceRequest_Impl,
36309 const OFFSET: isize,
36310 >(
36311 this: *mut core::ffi::c_void,
36312 content: *mut *mut core::ffi::c_void,
36313 ) -> windows_core::HRESULT {
36314 unsafe {
36315 let this: &Identity =
36316 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36317 match ICoreWebView2WebResourceRequest_Impl::Content(this) {
36318 Ok(ok__) => {
36319 content.write(core::mem::transmute(ok__));
36320 windows_core::HRESULT(0)
36321 }
36322 Err(err) => err.into(),
36323 }
36324 }
36325 }
36326 unsafe extern "system" fn SetContent<
36327 Identity: ICoreWebView2WebResourceRequest_Impl,
36328 const OFFSET: isize,
36329 >(
36330 this: *mut core::ffi::c_void,
36331 content: *mut core::ffi::c_void,
36332 ) -> windows_core::HRESULT {
36333 unsafe {
36334 let this: &Identity =
36335 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36336 ICoreWebView2WebResourceRequest_Impl::SetContent(
36337 this,
36338 core::mem::transmute_copy(&content),
36339 )
36340 .into()
36341 }
36342 }
36343 unsafe extern "system" fn Headers<
36344 Identity: ICoreWebView2WebResourceRequest_Impl,
36345 const OFFSET: isize,
36346 >(
36347 this: *mut core::ffi::c_void,
36348 headers: *mut *mut core::ffi::c_void,
36349 ) -> windows_core::HRESULT {
36350 unsafe {
36351 let this: &Identity =
36352 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36353 match ICoreWebView2WebResourceRequest_Impl::Headers(this) {
36354 Ok(ok__) => {
36355 headers.write(core::mem::transmute(ok__));
36356 windows_core::HRESULT(0)
36357 }
36358 Err(err) => err.into(),
36359 }
36360 }
36361 }
36362 Self {
36363 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
36364 Uri: Uri::<Identity, OFFSET>,
36365 SetUri: SetUri::<Identity, OFFSET>,
36366 Method: Method::<Identity, OFFSET>,
36367 SetMethod: SetMethod::<Identity, OFFSET>,
36368 Content: Content::<Identity, OFFSET>,
36369 SetContent: SetContent::<Identity, OFFSET>,
36370 Headers: Headers::<Identity, OFFSET>,
36371 }
36372 }
36373 pub fn matches(iid: &windows_core::GUID) -> bool {
36374 iid == &<ICoreWebView2WebResourceRequest as windows_core::Interface>::IID
36375 }
36376}
36377impl windows_core::RuntimeName for ICoreWebView2WebResourceRequest {}
36378windows_core::imp::define_interface!(
36379 ICoreWebView2WebResourceRequestedEventArgs,
36380 ICoreWebView2WebResourceRequestedEventArgs_Vtbl,
36381 0x453e667f_12c7_49d4_be6d_ddbe7956f57a
36382);
36383windows_core::imp::interface_hierarchy!(
36384 ICoreWebView2WebResourceRequestedEventArgs,
36385 windows_core::IUnknown
36386);
36387impl ICoreWebView2WebResourceRequestedEventArgs {
36388 pub unsafe fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest> {
36389 unsafe {
36390 let mut result__ = core::mem::zeroed();
36391 (windows_core::Interface::vtable(self).Request)(
36392 windows_core::Interface::as_raw(self),
36393 &mut result__,
36394 )
36395 .and_then(|| windows_core::Type::from_abi(result__))
36396 }
36397 }
36398 pub unsafe fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponse> {
36399 unsafe {
36400 let mut result__ = core::mem::zeroed();
36401 (windows_core::Interface::vtable(self).Response)(
36402 windows_core::Interface::as_raw(self),
36403 &mut result__,
36404 )
36405 .and_then(|| windows_core::Type::from_abi(result__))
36406 }
36407 }
36408 pub unsafe fn SetResponse<P0>(&self, response: P0) -> windows_core::Result<()>
36409 where
36410 P0: windows_core::Param<ICoreWebView2WebResourceResponse>,
36411 {
36412 unsafe {
36413 (windows_core::Interface::vtable(self).SetResponse)(
36414 windows_core::Interface::as_raw(self),
36415 response.param().abi(),
36416 )
36417 .ok()
36418 }
36419 }
36420 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
36421 unsafe {
36422 let mut result__ = core::mem::zeroed();
36423 (windows_core::Interface::vtable(self).GetDeferral)(
36424 windows_core::Interface::as_raw(self),
36425 &mut result__,
36426 )
36427 .and_then(|| windows_core::Type::from_abi(result__))
36428 }
36429 }
36430 pub unsafe fn ResourceContext(
36431 &self,
36432 context: *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
36433 ) -> windows_core::Result<()> {
36434 unsafe {
36435 (windows_core::Interface::vtable(self).ResourceContext)(
36436 windows_core::Interface::as_raw(self),
36437 context as _,
36438 )
36439 .ok()
36440 }
36441 }
36442}
36443#[repr(C)]
36444#[doc(hidden)]
36445pub struct ICoreWebView2WebResourceRequestedEventArgs_Vtbl {
36446 pub base__: windows_core::IUnknown_Vtbl,
36447 pub Request: unsafe extern "system" fn(
36448 *mut core::ffi::c_void,
36449 *mut *mut core::ffi::c_void,
36450 ) -> windows_core::HRESULT,
36451 pub Response: unsafe extern "system" fn(
36452 *mut core::ffi::c_void,
36453 *mut *mut core::ffi::c_void,
36454 ) -> windows_core::HRESULT,
36455 pub SetResponse: unsafe extern "system" fn(
36456 *mut core::ffi::c_void,
36457 *mut core::ffi::c_void,
36458 ) -> windows_core::HRESULT,
36459 pub GetDeferral: unsafe extern "system" fn(
36460 *mut core::ffi::c_void,
36461 *mut *mut core::ffi::c_void,
36462 ) -> windows_core::HRESULT,
36463 pub ResourceContext: unsafe extern "system" fn(
36464 *mut core::ffi::c_void,
36465 *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
36466 ) -> windows_core::HRESULT,
36467}
36468pub trait ICoreWebView2WebResourceRequestedEventArgs_Impl: windows_core::IUnknownImpl {
36469 fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest>;
36470 fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponse>;
36471 fn SetResponse(
36472 &self,
36473 response: windows_core::Ref<'_, ICoreWebView2WebResourceResponse>,
36474 ) -> windows_core::Result<()>;
36475 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
36476 fn ResourceContext(
36477 &self,
36478 context: *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
36479 ) -> windows_core::Result<()>;
36480}
36481impl ICoreWebView2WebResourceRequestedEventArgs_Vtbl {
36482 pub const fn new<
36483 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
36484 const OFFSET: isize,
36485 >() -> Self {
36486 unsafe extern "system" fn Request<
36487 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
36488 const OFFSET: isize,
36489 >(
36490 this: *mut core::ffi::c_void,
36491 request: *mut *mut core::ffi::c_void,
36492 ) -> windows_core::HRESULT {
36493 unsafe {
36494 let this: &Identity =
36495 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36496 match ICoreWebView2WebResourceRequestedEventArgs_Impl::Request(this) {
36497 Ok(ok__) => {
36498 request.write(core::mem::transmute(ok__));
36499 windows_core::HRESULT(0)
36500 }
36501 Err(err) => err.into(),
36502 }
36503 }
36504 }
36505 unsafe extern "system" fn Response<
36506 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
36507 const OFFSET: isize,
36508 >(
36509 this: *mut core::ffi::c_void,
36510 response: *mut *mut core::ffi::c_void,
36511 ) -> windows_core::HRESULT {
36512 unsafe {
36513 let this: &Identity =
36514 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36515 match ICoreWebView2WebResourceRequestedEventArgs_Impl::Response(this) {
36516 Ok(ok__) => {
36517 response.write(core::mem::transmute(ok__));
36518 windows_core::HRESULT(0)
36519 }
36520 Err(err) => err.into(),
36521 }
36522 }
36523 }
36524 unsafe extern "system" fn SetResponse<
36525 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
36526 const OFFSET: isize,
36527 >(
36528 this: *mut core::ffi::c_void,
36529 response: *mut core::ffi::c_void,
36530 ) -> windows_core::HRESULT {
36531 unsafe {
36532 let this: &Identity =
36533 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36534 ICoreWebView2WebResourceRequestedEventArgs_Impl::SetResponse(
36535 this,
36536 core::mem::transmute_copy(&response),
36537 )
36538 .into()
36539 }
36540 }
36541 unsafe extern "system" fn GetDeferral<
36542 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
36543 const OFFSET: isize,
36544 >(
36545 this: *mut core::ffi::c_void,
36546 deferral: *mut *mut core::ffi::c_void,
36547 ) -> windows_core::HRESULT {
36548 unsafe {
36549 let this: &Identity =
36550 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36551 match ICoreWebView2WebResourceRequestedEventArgs_Impl::GetDeferral(this) {
36552 Ok(ok__) => {
36553 deferral.write(core::mem::transmute(ok__));
36554 windows_core::HRESULT(0)
36555 }
36556 Err(err) => err.into(),
36557 }
36558 }
36559 }
36560 unsafe extern "system" fn ResourceContext<
36561 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
36562 const OFFSET: isize,
36563 >(
36564 this: *mut core::ffi::c_void,
36565 context: *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
36566 ) -> windows_core::HRESULT {
36567 unsafe {
36568 let this: &Identity =
36569 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36570 ICoreWebView2WebResourceRequestedEventArgs_Impl::ResourceContext(
36571 this,
36572 core::mem::transmute_copy(&context),
36573 )
36574 .into()
36575 }
36576 }
36577 Self {
36578 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
36579 Request: Request::<Identity, OFFSET>,
36580 Response: Response::<Identity, OFFSET>,
36581 SetResponse: SetResponse::<Identity, OFFSET>,
36582 GetDeferral: GetDeferral::<Identity, OFFSET>,
36583 ResourceContext: ResourceContext::<Identity, OFFSET>,
36584 }
36585 }
36586 pub fn matches(iid: &windows_core::GUID) -> bool {
36587 iid == &<ICoreWebView2WebResourceRequestedEventArgs as windows_core::Interface>::IID
36588 }
36589}
36590impl windows_core::RuntimeName for ICoreWebView2WebResourceRequestedEventArgs {}
36591windows_core::imp::define_interface!(
36592 ICoreWebView2WebResourceRequestedEventArgs2,
36593 ICoreWebView2WebResourceRequestedEventArgs2_Vtbl,
36594 0x9c562c24_b219_4d7f_92f6_b187fbbadd56
36595);
36596impl core::ops::Deref for ICoreWebView2WebResourceRequestedEventArgs2 {
36597 type Target = ICoreWebView2WebResourceRequestedEventArgs;
36598 fn deref(&self) -> &Self::Target {
36599 unsafe { core::mem::transmute(self) }
36600 }
36601}
36602windows_core::imp::interface_hierarchy!(
36603 ICoreWebView2WebResourceRequestedEventArgs2,
36604 windows_core::IUnknown,
36605 ICoreWebView2WebResourceRequestedEventArgs
36606);
36607impl ICoreWebView2WebResourceRequestedEventArgs2 {
36608 pub unsafe fn RequestedSourceKind(
36609 &self,
36610 value: *mut COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
36611 ) -> windows_core::Result<()> {
36612 unsafe {
36613 (windows_core::Interface::vtable(self).RequestedSourceKind)(
36614 windows_core::Interface::as_raw(self),
36615 value as _,
36616 )
36617 .ok()
36618 }
36619 }
36620}
36621#[repr(C)]
36622#[doc(hidden)]
36623pub struct ICoreWebView2WebResourceRequestedEventArgs2_Vtbl {
36624 pub base__: ICoreWebView2WebResourceRequestedEventArgs_Vtbl,
36625 pub RequestedSourceKind: unsafe extern "system" fn(
36626 *mut core::ffi::c_void,
36627 *mut COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
36628 ) -> windows_core::HRESULT,
36629}
36630pub trait ICoreWebView2WebResourceRequestedEventArgs2_Impl:
36631 ICoreWebView2WebResourceRequestedEventArgs_Impl
36632{
36633 fn RequestedSourceKind(
36634 &self,
36635 value: *mut COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
36636 ) -> windows_core::Result<()>;
36637}
36638impl ICoreWebView2WebResourceRequestedEventArgs2_Vtbl {
36639 pub const fn new<
36640 Identity: ICoreWebView2WebResourceRequestedEventArgs2_Impl,
36641 const OFFSET: isize,
36642 >() -> Self {
36643 unsafe extern "system" fn RequestedSourceKind<
36644 Identity: ICoreWebView2WebResourceRequestedEventArgs2_Impl,
36645 const OFFSET: isize,
36646 >(
36647 this: *mut core::ffi::c_void,
36648 value: *mut COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
36649 ) -> windows_core::HRESULT {
36650 unsafe {
36651 let this: &Identity =
36652 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36653 ICoreWebView2WebResourceRequestedEventArgs2_Impl::RequestedSourceKind(
36654 this,
36655 core::mem::transmute_copy(&value),
36656 )
36657 .into()
36658 }
36659 }
36660 Self {
36661 base__: ICoreWebView2WebResourceRequestedEventArgs_Vtbl::new::<Identity, OFFSET>(),
36662 RequestedSourceKind: RequestedSourceKind::<Identity, OFFSET>,
36663 }
36664 }
36665 pub fn matches(iid: &windows_core::GUID) -> bool {
36666 iid == &<ICoreWebView2WebResourceRequestedEventArgs2 as windows_core::Interface>::IID
36667 || iid == &<ICoreWebView2WebResourceRequestedEventArgs as windows_core::Interface>::IID
36668 }
36669}
36670impl windows_core::RuntimeName for ICoreWebView2WebResourceRequestedEventArgs2 {}
36671windows_core::imp::define_interface!(
36672 ICoreWebView2WebResourceRequestedEventHandler,
36673 ICoreWebView2WebResourceRequestedEventHandler_Vtbl,
36674 0xab00b74c_15f1_4646_80e8_e76341d25d71
36675);
36676windows_core::imp::interface_hierarchy!(
36677 ICoreWebView2WebResourceRequestedEventHandler,
36678 windows_core::IUnknown
36679);
36680impl ICoreWebView2WebResourceRequestedEventHandler {
36681 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
36682 where
36683 P0: windows_core::Param<ICoreWebView2>,
36684 P1: windows_core::Param<ICoreWebView2WebResourceRequestedEventArgs>,
36685 {
36686 unsafe {
36687 (windows_core::Interface::vtable(self).Invoke)(
36688 windows_core::Interface::as_raw(self),
36689 sender.param().abi(),
36690 args.param().abi(),
36691 )
36692 .ok()
36693 }
36694 }
36695}
36696#[repr(C)]
36697#[doc(hidden)]
36698pub struct ICoreWebView2WebResourceRequestedEventHandler_Vtbl {
36699 pub base__: windows_core::IUnknown_Vtbl,
36700 pub Invoke: unsafe extern "system" fn(
36701 *mut core::ffi::c_void,
36702 *mut core::ffi::c_void,
36703 *mut core::ffi::c_void,
36704 ) -> windows_core::HRESULT,
36705}
36706pub trait ICoreWebView2WebResourceRequestedEventHandler_Impl: windows_core::IUnknownImpl {
36707 fn Invoke(
36708 &self,
36709 sender: windows_core::Ref<'_, ICoreWebView2>,
36710 args: windows_core::Ref<'_, ICoreWebView2WebResourceRequestedEventArgs>,
36711 ) -> windows_core::Result<()>;
36712}
36713impl ICoreWebView2WebResourceRequestedEventHandler_Vtbl {
36714 pub const fn new<
36715 Identity: ICoreWebView2WebResourceRequestedEventHandler_Impl,
36716 const OFFSET: isize,
36717 >() -> Self {
36718 unsafe extern "system" fn Invoke<
36719 Identity: ICoreWebView2WebResourceRequestedEventHandler_Impl,
36720 const OFFSET: isize,
36721 >(
36722 this: *mut core::ffi::c_void,
36723 sender: *mut core::ffi::c_void,
36724 args: *mut core::ffi::c_void,
36725 ) -> windows_core::HRESULT {
36726 unsafe {
36727 let this: &Identity =
36728 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36729 ICoreWebView2WebResourceRequestedEventHandler_Impl::Invoke(
36730 this,
36731 core::mem::transmute_copy(&sender),
36732 core::mem::transmute_copy(&args),
36733 )
36734 .into()
36735 }
36736 }
36737 Self {
36738 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
36739 Invoke: Invoke::<Identity, OFFSET>,
36740 }
36741 }
36742 pub fn matches(iid: &windows_core::GUID) -> bool {
36743 iid == &<ICoreWebView2WebResourceRequestedEventHandler as windows_core::Interface>::IID
36744 }
36745}
36746impl windows_core::RuntimeName for ICoreWebView2WebResourceRequestedEventHandler {}
36747windows_core::imp::define_interface!(
36748 ICoreWebView2WebResourceResponse,
36749 ICoreWebView2WebResourceResponse_Vtbl,
36750 0xaafcc94f_fa27_48fd_97df_830ef75aaec9
36751);
36752windows_core::imp::interface_hierarchy!(ICoreWebView2WebResourceResponse, windows_core::IUnknown);
36753impl ICoreWebView2WebResourceResponse {
36754 pub unsafe fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
36755 unsafe {
36756 let mut result__ = core::mem::zeroed();
36757 (windows_core::Interface::vtable(self).Content)(
36758 windows_core::Interface::as_raw(self),
36759 &mut result__,
36760 )
36761 .and_then(|| windows_core::Type::from_abi(result__))
36762 }
36763 }
36764 pub unsafe fn SetContent<P0>(&self, content: P0) -> windows_core::Result<()>
36765 where
36766 P0: windows_core::Param<windows::Win32::System::Com::IStream>,
36767 {
36768 unsafe {
36769 (windows_core::Interface::vtable(self).SetContent)(
36770 windows_core::Interface::as_raw(self),
36771 content.param().abi(),
36772 )
36773 .ok()
36774 }
36775 }
36776 pub unsafe fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders> {
36777 unsafe {
36778 let mut result__ = core::mem::zeroed();
36779 (windows_core::Interface::vtable(self).Headers)(
36780 windows_core::Interface::as_raw(self),
36781 &mut result__,
36782 )
36783 .and_then(|| windows_core::Type::from_abi(result__))
36784 }
36785 }
36786 pub unsafe fn StatusCode(&self, statuscode: *mut i32) -> windows_core::Result<()> {
36787 unsafe {
36788 (windows_core::Interface::vtable(self).StatusCode)(
36789 windows_core::Interface::as_raw(self),
36790 statuscode as _,
36791 )
36792 .ok()
36793 }
36794 }
36795 pub unsafe fn SetStatusCode(&self, statuscode: i32) -> windows_core::Result<()> {
36796 unsafe {
36797 (windows_core::Interface::vtable(self).SetStatusCode)(
36798 windows_core::Interface::as_raw(self),
36799 statuscode,
36800 )
36801 .ok()
36802 }
36803 }
36804 pub unsafe fn ReasonPhrase(
36805 &self,
36806 reasonphrase: *mut windows_core::PWSTR,
36807 ) -> windows_core::Result<()> {
36808 unsafe {
36809 (windows_core::Interface::vtable(self).ReasonPhrase)(
36810 windows_core::Interface::as_raw(self),
36811 reasonphrase as _,
36812 )
36813 .ok()
36814 }
36815 }
36816 pub unsafe fn SetReasonPhrase<P0>(&self, reasonphrase: P0) -> windows_core::Result<()>
36817 where
36818 P0: windows_core::Param<windows_core::PCWSTR>,
36819 {
36820 unsafe {
36821 (windows_core::Interface::vtable(self).SetReasonPhrase)(
36822 windows_core::Interface::as_raw(self),
36823 reasonphrase.param().abi(),
36824 )
36825 .ok()
36826 }
36827 }
36828}
36829#[repr(C)]
36830#[doc(hidden)]
36831pub struct ICoreWebView2WebResourceResponse_Vtbl {
36832 pub base__: windows_core::IUnknown_Vtbl,
36833 pub Content: unsafe extern "system" fn(
36834 *mut core::ffi::c_void,
36835 *mut *mut core::ffi::c_void,
36836 ) -> windows_core::HRESULT,
36837 pub SetContent: unsafe extern "system" fn(
36838 *mut core::ffi::c_void,
36839 *mut core::ffi::c_void,
36840 ) -> windows_core::HRESULT,
36841 pub Headers: unsafe extern "system" fn(
36842 *mut core::ffi::c_void,
36843 *mut *mut core::ffi::c_void,
36844 ) -> windows_core::HRESULT,
36845 pub StatusCode:
36846 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
36847 pub SetStatusCode:
36848 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
36849 pub ReasonPhrase: unsafe extern "system" fn(
36850 *mut core::ffi::c_void,
36851 *mut windows_core::PWSTR,
36852 ) -> windows_core::HRESULT,
36853 pub SetReasonPhrase: unsafe extern "system" fn(
36854 *mut core::ffi::c_void,
36855 windows_core::PCWSTR,
36856 ) -> windows_core::HRESULT,
36857}
36858pub trait ICoreWebView2WebResourceResponse_Impl: windows_core::IUnknownImpl {
36859 fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
36860 fn SetContent(
36861 &self,
36862 content: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
36863 ) -> windows_core::Result<()>;
36864 fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders>;
36865 fn StatusCode(&self, statuscode: *mut i32) -> windows_core::Result<()>;
36866 fn SetStatusCode(&self, statuscode: i32) -> windows_core::Result<()>;
36867 fn ReasonPhrase(&self, reasonphrase: *mut windows_core::PWSTR) -> windows_core::Result<()>;
36868 fn SetReasonPhrase(&self, reasonphrase: &windows_core::PCWSTR) -> windows_core::Result<()>;
36869}
36870impl ICoreWebView2WebResourceResponse_Vtbl {
36871 pub const fn new<Identity: ICoreWebView2WebResourceResponse_Impl, const OFFSET: isize>() -> Self
36872 {
36873 unsafe extern "system" fn Content<
36874 Identity: ICoreWebView2WebResourceResponse_Impl,
36875 const OFFSET: isize,
36876 >(
36877 this: *mut core::ffi::c_void,
36878 content: *mut *mut core::ffi::c_void,
36879 ) -> windows_core::HRESULT {
36880 unsafe {
36881 let this: &Identity =
36882 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36883 match ICoreWebView2WebResourceResponse_Impl::Content(this) {
36884 Ok(ok__) => {
36885 content.write(core::mem::transmute(ok__));
36886 windows_core::HRESULT(0)
36887 }
36888 Err(err) => err.into(),
36889 }
36890 }
36891 }
36892 unsafe extern "system" fn SetContent<
36893 Identity: ICoreWebView2WebResourceResponse_Impl,
36894 const OFFSET: isize,
36895 >(
36896 this: *mut core::ffi::c_void,
36897 content: *mut core::ffi::c_void,
36898 ) -> windows_core::HRESULT {
36899 unsafe {
36900 let this: &Identity =
36901 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36902 ICoreWebView2WebResourceResponse_Impl::SetContent(
36903 this,
36904 core::mem::transmute_copy(&content),
36905 )
36906 .into()
36907 }
36908 }
36909 unsafe extern "system" fn Headers<
36910 Identity: ICoreWebView2WebResourceResponse_Impl,
36911 const OFFSET: isize,
36912 >(
36913 this: *mut core::ffi::c_void,
36914 headers: *mut *mut core::ffi::c_void,
36915 ) -> windows_core::HRESULT {
36916 unsafe {
36917 let this: &Identity =
36918 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36919 match ICoreWebView2WebResourceResponse_Impl::Headers(this) {
36920 Ok(ok__) => {
36921 headers.write(core::mem::transmute(ok__));
36922 windows_core::HRESULT(0)
36923 }
36924 Err(err) => err.into(),
36925 }
36926 }
36927 }
36928 unsafe extern "system" fn StatusCode<
36929 Identity: ICoreWebView2WebResourceResponse_Impl,
36930 const OFFSET: isize,
36931 >(
36932 this: *mut core::ffi::c_void,
36933 statuscode: *mut i32,
36934 ) -> windows_core::HRESULT {
36935 unsafe {
36936 let this: &Identity =
36937 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36938 ICoreWebView2WebResourceResponse_Impl::StatusCode(
36939 this,
36940 core::mem::transmute_copy(&statuscode),
36941 )
36942 .into()
36943 }
36944 }
36945 unsafe extern "system" fn SetStatusCode<
36946 Identity: ICoreWebView2WebResourceResponse_Impl,
36947 const OFFSET: isize,
36948 >(
36949 this: *mut core::ffi::c_void,
36950 statuscode: i32,
36951 ) -> windows_core::HRESULT {
36952 unsafe {
36953 let this: &Identity =
36954 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36955 ICoreWebView2WebResourceResponse_Impl::SetStatusCode(
36956 this,
36957 core::mem::transmute_copy(&statuscode),
36958 )
36959 .into()
36960 }
36961 }
36962 unsafe extern "system" fn ReasonPhrase<
36963 Identity: ICoreWebView2WebResourceResponse_Impl,
36964 const OFFSET: isize,
36965 >(
36966 this: *mut core::ffi::c_void,
36967 reasonphrase: *mut windows_core::PWSTR,
36968 ) -> windows_core::HRESULT {
36969 unsafe {
36970 let this: &Identity =
36971 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36972 ICoreWebView2WebResourceResponse_Impl::ReasonPhrase(
36973 this,
36974 core::mem::transmute_copy(&reasonphrase),
36975 )
36976 .into()
36977 }
36978 }
36979 unsafe extern "system" fn SetReasonPhrase<
36980 Identity: ICoreWebView2WebResourceResponse_Impl,
36981 const OFFSET: isize,
36982 >(
36983 this: *mut core::ffi::c_void,
36984 reasonphrase: windows_core::PCWSTR,
36985 ) -> windows_core::HRESULT {
36986 unsafe {
36987 let this: &Identity =
36988 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
36989 ICoreWebView2WebResourceResponse_Impl::SetReasonPhrase(
36990 this,
36991 core::mem::transmute(&reasonphrase),
36992 )
36993 .into()
36994 }
36995 }
36996 Self {
36997 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
36998 Content: Content::<Identity, OFFSET>,
36999 SetContent: SetContent::<Identity, OFFSET>,
37000 Headers: Headers::<Identity, OFFSET>,
37001 StatusCode: StatusCode::<Identity, OFFSET>,
37002 SetStatusCode: SetStatusCode::<Identity, OFFSET>,
37003 ReasonPhrase: ReasonPhrase::<Identity, OFFSET>,
37004 SetReasonPhrase: SetReasonPhrase::<Identity, OFFSET>,
37005 }
37006 }
37007 pub fn matches(iid: &windows_core::GUID) -> bool {
37008 iid == &<ICoreWebView2WebResourceResponse as windows_core::Interface>::IID
37009 }
37010}
37011impl windows_core::RuntimeName for ICoreWebView2WebResourceResponse {}
37012windows_core::imp::define_interface!(
37013 ICoreWebView2WebResourceResponseReceivedEventArgs,
37014 ICoreWebView2WebResourceResponseReceivedEventArgs_Vtbl,
37015 0xd1db483d_6796_4b8b_80fc_13712bb716f4
37016);
37017windows_core::imp::interface_hierarchy!(
37018 ICoreWebView2WebResourceResponseReceivedEventArgs,
37019 windows_core::IUnknown
37020);
37021impl ICoreWebView2WebResourceResponseReceivedEventArgs {
37022 pub unsafe fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest> {
37023 unsafe {
37024 let mut result__ = core::mem::zeroed();
37025 (windows_core::Interface::vtable(self).Request)(
37026 windows_core::Interface::as_raw(self),
37027 &mut result__,
37028 )
37029 .and_then(|| windows_core::Type::from_abi(result__))
37030 }
37031 }
37032 pub unsafe fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponseView> {
37033 unsafe {
37034 let mut result__ = core::mem::zeroed();
37035 (windows_core::Interface::vtable(self).Response)(
37036 windows_core::Interface::as_raw(self),
37037 &mut result__,
37038 )
37039 .and_then(|| windows_core::Type::from_abi(result__))
37040 }
37041 }
37042}
37043#[repr(C)]
37044#[doc(hidden)]
37045pub struct ICoreWebView2WebResourceResponseReceivedEventArgs_Vtbl {
37046 pub base__: windows_core::IUnknown_Vtbl,
37047 pub Request: unsafe extern "system" fn(
37048 *mut core::ffi::c_void,
37049 *mut *mut core::ffi::c_void,
37050 ) -> windows_core::HRESULT,
37051 pub Response: unsafe extern "system" fn(
37052 *mut core::ffi::c_void,
37053 *mut *mut core::ffi::c_void,
37054 ) -> windows_core::HRESULT,
37055}
37056pub trait ICoreWebView2WebResourceResponseReceivedEventArgs_Impl:
37057 windows_core::IUnknownImpl
37058{
37059 fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest>;
37060 fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponseView>;
37061}
37062impl ICoreWebView2WebResourceResponseReceivedEventArgs_Vtbl {
37063 pub const fn new<
37064 Identity: ICoreWebView2WebResourceResponseReceivedEventArgs_Impl,
37065 const OFFSET: isize,
37066 >() -> Self {
37067 unsafe extern "system" fn Request<
37068 Identity: ICoreWebView2WebResourceResponseReceivedEventArgs_Impl,
37069 const OFFSET: isize,
37070 >(
37071 this: *mut core::ffi::c_void,
37072 value: *mut *mut core::ffi::c_void,
37073 ) -> windows_core::HRESULT {
37074 unsafe {
37075 let this: &Identity =
37076 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37077 match ICoreWebView2WebResourceResponseReceivedEventArgs_Impl::Request(this) {
37078 Ok(ok__) => {
37079 value.write(core::mem::transmute(ok__));
37080 windows_core::HRESULT(0)
37081 }
37082 Err(err) => err.into(),
37083 }
37084 }
37085 }
37086 unsafe extern "system" fn Response<
37087 Identity: ICoreWebView2WebResourceResponseReceivedEventArgs_Impl,
37088 const OFFSET: isize,
37089 >(
37090 this: *mut core::ffi::c_void,
37091 value: *mut *mut core::ffi::c_void,
37092 ) -> windows_core::HRESULT {
37093 unsafe {
37094 let this: &Identity =
37095 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37096 match ICoreWebView2WebResourceResponseReceivedEventArgs_Impl::Response(this) {
37097 Ok(ok__) => {
37098 value.write(core::mem::transmute(ok__));
37099 windows_core::HRESULT(0)
37100 }
37101 Err(err) => err.into(),
37102 }
37103 }
37104 }
37105 Self {
37106 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37107 Request: Request::<Identity, OFFSET>,
37108 Response: Response::<Identity, OFFSET>,
37109 }
37110 }
37111 pub fn matches(iid: &windows_core::GUID) -> bool {
37112 iid == &<ICoreWebView2WebResourceResponseReceivedEventArgs as windows_core::Interface>::IID
37113 }
37114}
37115impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseReceivedEventArgs {}
37116windows_core::imp::define_interface!(
37117 ICoreWebView2WebResourceResponseReceivedEventHandler,
37118 ICoreWebView2WebResourceResponseReceivedEventHandler_Vtbl,
37119 0x7de9898a_24f5_40c3_a2de_d4f458e69828
37120);
37121windows_core::imp::interface_hierarchy!(
37122 ICoreWebView2WebResourceResponseReceivedEventHandler,
37123 windows_core::IUnknown
37124);
37125impl ICoreWebView2WebResourceResponseReceivedEventHandler {
37126 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
37127 where
37128 P0: windows_core::Param<ICoreWebView2>,
37129 P1: windows_core::Param<ICoreWebView2WebResourceResponseReceivedEventArgs>,
37130 {
37131 unsafe {
37132 (windows_core::Interface::vtable(self).Invoke)(
37133 windows_core::Interface::as_raw(self),
37134 sender.param().abi(),
37135 args.param().abi(),
37136 )
37137 .ok()
37138 }
37139 }
37140}
37141#[repr(C)]
37142#[doc(hidden)]
37143pub struct ICoreWebView2WebResourceResponseReceivedEventHandler_Vtbl {
37144 pub base__: windows_core::IUnknown_Vtbl,
37145 pub Invoke: unsafe extern "system" fn(
37146 *mut core::ffi::c_void,
37147 *mut core::ffi::c_void,
37148 *mut core::ffi::c_void,
37149 ) -> windows_core::HRESULT,
37150}
37151pub trait ICoreWebView2WebResourceResponseReceivedEventHandler_Impl:
37152 windows_core::IUnknownImpl
37153{
37154 fn Invoke(
37155 &self,
37156 sender: windows_core::Ref<'_, ICoreWebView2>,
37157 args: windows_core::Ref<'_, ICoreWebView2WebResourceResponseReceivedEventArgs>,
37158 ) -> windows_core::Result<()>;
37159}
37160impl ICoreWebView2WebResourceResponseReceivedEventHandler_Vtbl {
37161 pub const fn new<
37162 Identity: ICoreWebView2WebResourceResponseReceivedEventHandler_Impl,
37163 const OFFSET: isize,
37164 >() -> Self {
37165 unsafe extern "system" fn Invoke<
37166 Identity: ICoreWebView2WebResourceResponseReceivedEventHandler_Impl,
37167 const OFFSET: isize,
37168 >(
37169 this: *mut core::ffi::c_void,
37170 sender: *mut core::ffi::c_void,
37171 args: *mut core::ffi::c_void,
37172 ) -> windows_core::HRESULT {
37173 unsafe {
37174 let this: &Identity =
37175 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37176 ICoreWebView2WebResourceResponseReceivedEventHandler_Impl::Invoke(
37177 this,
37178 core::mem::transmute_copy(&sender),
37179 core::mem::transmute_copy(&args),
37180 )
37181 .into()
37182 }
37183 }
37184 Self {
37185 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37186 Invoke: Invoke::<Identity, OFFSET>,
37187 }
37188 }
37189 pub fn matches(iid: &windows_core::GUID) -> bool {
37190 iid == & < ICoreWebView2WebResourceResponseReceivedEventHandler as windows_core::Interface >::IID
37191 }
37192}
37193impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseReceivedEventHandler {}
37194windows_core::imp::define_interface!(
37195 ICoreWebView2WebResourceResponseView,
37196 ICoreWebView2WebResourceResponseView_Vtbl,
37197 0x79701053_7759_4162_8f7d_f1b3f084928d
37198);
37199windows_core::imp::interface_hierarchy!(
37200 ICoreWebView2WebResourceResponseView,
37201 windows_core::IUnknown
37202);
37203impl ICoreWebView2WebResourceResponseView {
37204 pub unsafe fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders> {
37205 unsafe {
37206 let mut result__ = core::mem::zeroed();
37207 (windows_core::Interface::vtable(self).Headers)(
37208 windows_core::Interface::as_raw(self),
37209 &mut result__,
37210 )
37211 .and_then(|| windows_core::Type::from_abi(result__))
37212 }
37213 }
37214 pub unsafe fn StatusCode(&self, statuscode: *mut i32) -> windows_core::Result<()> {
37215 unsafe {
37216 (windows_core::Interface::vtable(self).StatusCode)(
37217 windows_core::Interface::as_raw(self),
37218 statuscode as _,
37219 )
37220 .ok()
37221 }
37222 }
37223 pub unsafe fn ReasonPhrase(
37224 &self,
37225 reasonphrase: *mut windows_core::PWSTR,
37226 ) -> windows_core::Result<()> {
37227 unsafe {
37228 (windows_core::Interface::vtable(self).ReasonPhrase)(
37229 windows_core::Interface::as_raw(self),
37230 reasonphrase as _,
37231 )
37232 .ok()
37233 }
37234 }
37235 pub unsafe fn GetContent<P0>(&self, handler: P0) -> windows_core::Result<()>
37236 where
37237 P0: windows_core::Param<ICoreWebView2WebResourceResponseViewGetContentCompletedHandler>,
37238 {
37239 unsafe {
37240 (windows_core::Interface::vtable(self).GetContent)(
37241 windows_core::Interface::as_raw(self),
37242 handler.param().abi(),
37243 )
37244 .ok()
37245 }
37246 }
37247}
37248#[repr(C)]
37249#[doc(hidden)]
37250pub struct ICoreWebView2WebResourceResponseView_Vtbl {
37251 pub base__: windows_core::IUnknown_Vtbl,
37252 pub Headers: unsafe extern "system" fn(
37253 *mut core::ffi::c_void,
37254 *mut *mut core::ffi::c_void,
37255 ) -> windows_core::HRESULT,
37256 pub StatusCode:
37257 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
37258 pub ReasonPhrase: unsafe extern "system" fn(
37259 *mut core::ffi::c_void,
37260 *mut windows_core::PWSTR,
37261 ) -> windows_core::HRESULT,
37262 pub GetContent: unsafe extern "system" fn(
37263 *mut core::ffi::c_void,
37264 *mut core::ffi::c_void,
37265 ) -> windows_core::HRESULT,
37266}
37267pub trait ICoreWebView2WebResourceResponseView_Impl: windows_core::IUnknownImpl {
37268 fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders>;
37269 fn StatusCode(&self, statuscode: *mut i32) -> windows_core::Result<()>;
37270 fn ReasonPhrase(&self, reasonphrase: *mut windows_core::PWSTR) -> windows_core::Result<()>;
37271 fn GetContent(
37272 &self,
37273 handler: windows_core::Ref<
37274 '_,
37275 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler,
37276 >,
37277 ) -> windows_core::Result<()>;
37278}
37279impl ICoreWebView2WebResourceResponseView_Vtbl {
37280 pub const fn new<Identity: ICoreWebView2WebResourceResponseView_Impl, const OFFSET: isize>(
37281 ) -> Self {
37282 unsafe extern "system" fn Headers<
37283 Identity: ICoreWebView2WebResourceResponseView_Impl,
37284 const OFFSET: isize,
37285 >(
37286 this: *mut core::ffi::c_void,
37287 headers: *mut *mut core::ffi::c_void,
37288 ) -> windows_core::HRESULT {
37289 unsafe {
37290 let this: &Identity =
37291 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37292 match ICoreWebView2WebResourceResponseView_Impl::Headers(this) {
37293 Ok(ok__) => {
37294 headers.write(core::mem::transmute(ok__));
37295 windows_core::HRESULT(0)
37296 }
37297 Err(err) => err.into(),
37298 }
37299 }
37300 }
37301 unsafe extern "system" fn StatusCode<
37302 Identity: ICoreWebView2WebResourceResponseView_Impl,
37303 const OFFSET: isize,
37304 >(
37305 this: *mut core::ffi::c_void,
37306 statuscode: *mut i32,
37307 ) -> windows_core::HRESULT {
37308 unsafe {
37309 let this: &Identity =
37310 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37311 ICoreWebView2WebResourceResponseView_Impl::StatusCode(
37312 this,
37313 core::mem::transmute_copy(&statuscode),
37314 )
37315 .into()
37316 }
37317 }
37318 unsafe extern "system" fn ReasonPhrase<
37319 Identity: ICoreWebView2WebResourceResponseView_Impl,
37320 const OFFSET: isize,
37321 >(
37322 this: *mut core::ffi::c_void,
37323 reasonphrase: *mut windows_core::PWSTR,
37324 ) -> windows_core::HRESULT {
37325 unsafe {
37326 let this: &Identity =
37327 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37328 ICoreWebView2WebResourceResponseView_Impl::ReasonPhrase(
37329 this,
37330 core::mem::transmute_copy(&reasonphrase),
37331 )
37332 .into()
37333 }
37334 }
37335 unsafe extern "system" fn GetContent<
37336 Identity: ICoreWebView2WebResourceResponseView_Impl,
37337 const OFFSET: isize,
37338 >(
37339 this: *mut core::ffi::c_void,
37340 handler: *mut core::ffi::c_void,
37341 ) -> windows_core::HRESULT {
37342 unsafe {
37343 let this: &Identity =
37344 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37345 ICoreWebView2WebResourceResponseView_Impl::GetContent(
37346 this,
37347 core::mem::transmute_copy(&handler),
37348 )
37349 .into()
37350 }
37351 }
37352 Self {
37353 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37354 Headers: Headers::<Identity, OFFSET>,
37355 StatusCode: StatusCode::<Identity, OFFSET>,
37356 ReasonPhrase: ReasonPhrase::<Identity, OFFSET>,
37357 GetContent: GetContent::<Identity, OFFSET>,
37358 }
37359 }
37360 pub fn matches(iid: &windows_core::GUID) -> bool {
37361 iid == &<ICoreWebView2WebResourceResponseView as windows_core::Interface>::IID
37362 }
37363}
37364impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseView {}
37365windows_core::imp::define_interface!(
37366 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler,
37367 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Vtbl,
37368 0x875738e1_9fa2_40e3_8b74_2e8972dd6fe7
37369);
37370windows_core::imp::interface_hierarchy!(
37371 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler,
37372 windows_core::IUnknown
37373);
37374impl ICoreWebView2WebResourceResponseViewGetContentCompletedHandler {
37375 pub unsafe fn Invoke<P1>(
37376 &self,
37377 errorcode: windows_core::HRESULT,
37378 result: P1,
37379 ) -> windows_core::Result<()>
37380 where
37381 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
37382 {
37383 unsafe {
37384 (windows_core::Interface::vtable(self).Invoke)(
37385 windows_core::Interface::as_raw(self),
37386 errorcode,
37387 result.param().abi(),
37388 )
37389 .ok()
37390 }
37391 }
37392}
37393#[repr(C)]
37394#[doc(hidden)]
37395pub struct ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Vtbl {
37396 pub base__: windows_core::IUnknown_Vtbl,
37397 pub Invoke: unsafe extern "system" fn(
37398 *mut core::ffi::c_void,
37399 windows_core::HRESULT,
37400 *mut core::ffi::c_void,
37401 ) -> windows_core::HRESULT,
37402}
37403pub trait ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl:
37404 windows_core::IUnknownImpl
37405{
37406 fn Invoke(
37407 &self,
37408 errorcode: windows_core::HRESULT,
37409 result: windows_core::Ref<'_, windows::Win32::System::Com::IStream>,
37410 ) -> windows_core::Result<()>;
37411}
37412impl ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Vtbl {
37413 pub const fn new<
37414 Identity: ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl,
37415 const OFFSET: isize,
37416 >() -> Self {
37417 unsafe extern "system" fn Invoke<
37418 Identity: ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl,
37419 const OFFSET: isize,
37420 >(
37421 this: *mut core::ffi::c_void,
37422 errorcode: windows_core::HRESULT,
37423 result: *mut core::ffi::c_void,
37424 ) -> windows_core::HRESULT {
37425 unsafe {
37426 let this: &Identity =
37427 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37428 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl::Invoke(
37429 this,
37430 core::mem::transmute_copy(&errorcode),
37431 core::mem::transmute_copy(&result),
37432 )
37433 .into()
37434 }
37435 }
37436 Self {
37437 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37438 Invoke: Invoke::<Identity, OFFSET>,
37439 }
37440 }
37441 pub fn matches(iid: &windows_core::GUID) -> bool {
37442 iid == & < ICoreWebView2WebResourceResponseViewGetContentCompletedHandler as windows_core::Interface >::IID
37443 }
37444}
37445impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseViewGetContentCompletedHandler {}
37446windows_core::imp::define_interface!(
37447 ICoreWebView2WindowCloseRequestedEventHandler,
37448 ICoreWebView2WindowCloseRequestedEventHandler_Vtbl,
37449 0x5c19e9e0_092f_486b_affa_ca8231913039
37450);
37451windows_core::imp::interface_hierarchy!(
37452 ICoreWebView2WindowCloseRequestedEventHandler,
37453 windows_core::IUnknown
37454);
37455impl ICoreWebView2WindowCloseRequestedEventHandler {
37456 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
37457 where
37458 P0: windows_core::Param<ICoreWebView2>,
37459 P1: windows_core::Param<windows_core::IUnknown>,
37460 {
37461 unsafe {
37462 (windows_core::Interface::vtable(self).Invoke)(
37463 windows_core::Interface::as_raw(self),
37464 sender.param().abi(),
37465 args.param().abi(),
37466 )
37467 .ok()
37468 }
37469 }
37470}
37471#[repr(C)]
37472#[doc(hidden)]
37473pub struct ICoreWebView2WindowCloseRequestedEventHandler_Vtbl {
37474 pub base__: windows_core::IUnknown_Vtbl,
37475 pub Invoke: unsafe extern "system" fn(
37476 *mut core::ffi::c_void,
37477 *mut core::ffi::c_void,
37478 *mut core::ffi::c_void,
37479 ) -> windows_core::HRESULT,
37480}
37481pub trait ICoreWebView2WindowCloseRequestedEventHandler_Impl: windows_core::IUnknownImpl {
37482 fn Invoke(
37483 &self,
37484 sender: windows_core::Ref<'_, ICoreWebView2>,
37485 args: windows_core::Ref<'_, windows_core::IUnknown>,
37486 ) -> windows_core::Result<()>;
37487}
37488impl ICoreWebView2WindowCloseRequestedEventHandler_Vtbl {
37489 pub const fn new<
37490 Identity: ICoreWebView2WindowCloseRequestedEventHandler_Impl,
37491 const OFFSET: isize,
37492 >() -> Self {
37493 unsafe extern "system" fn Invoke<
37494 Identity: ICoreWebView2WindowCloseRequestedEventHandler_Impl,
37495 const OFFSET: isize,
37496 >(
37497 this: *mut core::ffi::c_void,
37498 sender: *mut core::ffi::c_void,
37499 args: *mut core::ffi::c_void,
37500 ) -> windows_core::HRESULT {
37501 unsafe {
37502 let this: &Identity =
37503 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37504 ICoreWebView2WindowCloseRequestedEventHandler_Impl::Invoke(
37505 this,
37506 core::mem::transmute_copy(&sender),
37507 core::mem::transmute_copy(&args),
37508 )
37509 .into()
37510 }
37511 }
37512 Self {
37513 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37514 Invoke: Invoke::<Identity, OFFSET>,
37515 }
37516 }
37517 pub fn matches(iid: &windows_core::GUID) -> bool {
37518 iid == &<ICoreWebView2WindowCloseRequestedEventHandler as windows_core::Interface>::IID
37519 }
37520}
37521impl windows_core::RuntimeName for ICoreWebView2WindowCloseRequestedEventHandler {}
37522windows_core::imp::define_interface!(
37523 ICoreWebView2WindowFeatures,
37524 ICoreWebView2WindowFeatures_Vtbl,
37525 0x5eaf559f_b46e_4397_8860_e422f287ff1e
37526);
37527windows_core::imp::interface_hierarchy!(ICoreWebView2WindowFeatures, windows_core::IUnknown);
37528impl ICoreWebView2WindowFeatures {
37529 pub unsafe fn HasPosition(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
37530 unsafe {
37531 (windows_core::Interface::vtable(self).HasPosition)(
37532 windows_core::Interface::as_raw(self),
37533 value as _,
37534 )
37535 .ok()
37536 }
37537 }
37538 pub unsafe fn HasSize(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
37539 unsafe {
37540 (windows_core::Interface::vtable(self).HasSize)(
37541 windows_core::Interface::as_raw(self),
37542 value as _,
37543 )
37544 .ok()
37545 }
37546 }
37547 pub unsafe fn Left(&self, value: *mut u32) -> windows_core::Result<()> {
37548 unsafe {
37549 (windows_core::Interface::vtable(self).Left)(
37550 windows_core::Interface::as_raw(self),
37551 value as _,
37552 )
37553 .ok()
37554 }
37555 }
37556 pub unsafe fn Top(&self, value: *mut u32) -> windows_core::Result<()> {
37557 unsafe {
37558 (windows_core::Interface::vtable(self).Top)(
37559 windows_core::Interface::as_raw(self),
37560 value as _,
37561 )
37562 .ok()
37563 }
37564 }
37565 pub unsafe fn Height(&self, value: *mut u32) -> windows_core::Result<()> {
37566 unsafe {
37567 (windows_core::Interface::vtable(self).Height)(
37568 windows_core::Interface::as_raw(self),
37569 value as _,
37570 )
37571 .ok()
37572 }
37573 }
37574 pub unsafe fn Width(&self, value: *mut u32) -> windows_core::Result<()> {
37575 unsafe {
37576 (windows_core::Interface::vtable(self).Width)(
37577 windows_core::Interface::as_raw(self),
37578 value as _,
37579 )
37580 .ok()
37581 }
37582 }
37583 pub unsafe fn ShouldDisplayMenuBar(
37584 &self,
37585 value: *mut windows_core::BOOL,
37586 ) -> windows_core::Result<()> {
37587 unsafe {
37588 (windows_core::Interface::vtable(self).ShouldDisplayMenuBar)(
37589 windows_core::Interface::as_raw(self),
37590 value as _,
37591 )
37592 .ok()
37593 }
37594 }
37595 pub unsafe fn ShouldDisplayStatus(
37596 &self,
37597 value: *mut windows_core::BOOL,
37598 ) -> windows_core::Result<()> {
37599 unsafe {
37600 (windows_core::Interface::vtable(self).ShouldDisplayStatus)(
37601 windows_core::Interface::as_raw(self),
37602 value as _,
37603 )
37604 .ok()
37605 }
37606 }
37607 pub unsafe fn ShouldDisplayToolbar(
37608 &self,
37609 value: *mut windows_core::BOOL,
37610 ) -> windows_core::Result<()> {
37611 unsafe {
37612 (windows_core::Interface::vtable(self).ShouldDisplayToolbar)(
37613 windows_core::Interface::as_raw(self),
37614 value as _,
37615 )
37616 .ok()
37617 }
37618 }
37619 pub unsafe fn ShouldDisplayScrollBars(
37620 &self,
37621 value: *mut windows_core::BOOL,
37622 ) -> windows_core::Result<()> {
37623 unsafe {
37624 (windows_core::Interface::vtable(self).ShouldDisplayScrollBars)(
37625 windows_core::Interface::as_raw(self),
37626 value as _,
37627 )
37628 .ok()
37629 }
37630 }
37631}
37632#[repr(C)]
37633#[doc(hidden)]
37634pub struct ICoreWebView2WindowFeatures_Vtbl {
37635 pub base__: windows_core::IUnknown_Vtbl,
37636 pub HasPosition: unsafe extern "system" fn(
37637 *mut core::ffi::c_void,
37638 *mut windows_core::BOOL,
37639 ) -> windows_core::HRESULT,
37640 pub HasSize: unsafe extern "system" fn(
37641 *mut core::ffi::c_void,
37642 *mut windows_core::BOOL,
37643 ) -> windows_core::HRESULT,
37644 pub Left: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
37645 pub Top: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
37646 pub Height:
37647 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
37648 pub Width: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
37649 pub ShouldDisplayMenuBar: unsafe extern "system" fn(
37650 *mut core::ffi::c_void,
37651 *mut windows_core::BOOL,
37652 ) -> windows_core::HRESULT,
37653 pub ShouldDisplayStatus: unsafe extern "system" fn(
37654 *mut core::ffi::c_void,
37655 *mut windows_core::BOOL,
37656 ) -> windows_core::HRESULT,
37657 pub ShouldDisplayToolbar: unsafe extern "system" fn(
37658 *mut core::ffi::c_void,
37659 *mut windows_core::BOOL,
37660 ) -> windows_core::HRESULT,
37661 pub ShouldDisplayScrollBars: unsafe extern "system" fn(
37662 *mut core::ffi::c_void,
37663 *mut windows_core::BOOL,
37664 ) -> windows_core::HRESULT,
37665}
37666pub trait ICoreWebView2WindowFeatures_Impl: windows_core::IUnknownImpl {
37667 fn HasPosition(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
37668 fn HasSize(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
37669 fn Left(&self, value: *mut u32) -> windows_core::Result<()>;
37670 fn Top(&self, value: *mut u32) -> windows_core::Result<()>;
37671 fn Height(&self, value: *mut u32) -> windows_core::Result<()>;
37672 fn Width(&self, value: *mut u32) -> windows_core::Result<()>;
37673 fn ShouldDisplayMenuBar(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
37674 fn ShouldDisplayStatus(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
37675 fn ShouldDisplayToolbar(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
37676 fn ShouldDisplayScrollBars(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
37677}
37678impl ICoreWebView2WindowFeatures_Vtbl {
37679 pub const fn new<Identity: ICoreWebView2WindowFeatures_Impl, const OFFSET: isize>() -> Self {
37680 unsafe extern "system" fn HasPosition<
37681 Identity: ICoreWebView2WindowFeatures_Impl,
37682 const OFFSET: isize,
37683 >(
37684 this: *mut core::ffi::c_void,
37685 value: *mut windows_core::BOOL,
37686 ) -> windows_core::HRESULT {
37687 unsafe {
37688 let this: &Identity =
37689 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37690 ICoreWebView2WindowFeatures_Impl::HasPosition(
37691 this,
37692 core::mem::transmute_copy(&value),
37693 )
37694 .into()
37695 }
37696 }
37697 unsafe extern "system" fn HasSize<
37698 Identity: ICoreWebView2WindowFeatures_Impl,
37699 const OFFSET: isize,
37700 >(
37701 this: *mut core::ffi::c_void,
37702 value: *mut windows_core::BOOL,
37703 ) -> windows_core::HRESULT {
37704 unsafe {
37705 let this: &Identity =
37706 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37707 ICoreWebView2WindowFeatures_Impl::HasSize(this, core::mem::transmute_copy(&value))
37708 .into()
37709 }
37710 }
37711 unsafe extern "system" fn Left<
37712 Identity: ICoreWebView2WindowFeatures_Impl,
37713 const OFFSET: isize,
37714 >(
37715 this: *mut core::ffi::c_void,
37716 value: *mut u32,
37717 ) -> windows_core::HRESULT {
37718 unsafe {
37719 let this: &Identity =
37720 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37721 ICoreWebView2WindowFeatures_Impl::Left(this, core::mem::transmute_copy(&value))
37722 .into()
37723 }
37724 }
37725 unsafe extern "system" fn Top<
37726 Identity: ICoreWebView2WindowFeatures_Impl,
37727 const OFFSET: isize,
37728 >(
37729 this: *mut core::ffi::c_void,
37730 value: *mut u32,
37731 ) -> windows_core::HRESULT {
37732 unsafe {
37733 let this: &Identity =
37734 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37735 ICoreWebView2WindowFeatures_Impl::Top(this, core::mem::transmute_copy(&value))
37736 .into()
37737 }
37738 }
37739 unsafe extern "system" fn Height<
37740 Identity: ICoreWebView2WindowFeatures_Impl,
37741 const OFFSET: isize,
37742 >(
37743 this: *mut core::ffi::c_void,
37744 value: *mut u32,
37745 ) -> windows_core::HRESULT {
37746 unsafe {
37747 let this: &Identity =
37748 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37749 ICoreWebView2WindowFeatures_Impl::Height(this, core::mem::transmute_copy(&value))
37750 .into()
37751 }
37752 }
37753 unsafe extern "system" fn Width<
37754 Identity: ICoreWebView2WindowFeatures_Impl,
37755 const OFFSET: isize,
37756 >(
37757 this: *mut core::ffi::c_void,
37758 value: *mut u32,
37759 ) -> windows_core::HRESULT {
37760 unsafe {
37761 let this: &Identity =
37762 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37763 ICoreWebView2WindowFeatures_Impl::Width(this, core::mem::transmute_copy(&value))
37764 .into()
37765 }
37766 }
37767 unsafe extern "system" fn ShouldDisplayMenuBar<
37768 Identity: ICoreWebView2WindowFeatures_Impl,
37769 const OFFSET: isize,
37770 >(
37771 this: *mut core::ffi::c_void,
37772 value: *mut windows_core::BOOL,
37773 ) -> windows_core::HRESULT {
37774 unsafe {
37775 let this: &Identity =
37776 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37777 ICoreWebView2WindowFeatures_Impl::ShouldDisplayMenuBar(
37778 this,
37779 core::mem::transmute_copy(&value),
37780 )
37781 .into()
37782 }
37783 }
37784 unsafe extern "system" fn ShouldDisplayStatus<
37785 Identity: ICoreWebView2WindowFeatures_Impl,
37786 const OFFSET: isize,
37787 >(
37788 this: *mut core::ffi::c_void,
37789 value: *mut windows_core::BOOL,
37790 ) -> windows_core::HRESULT {
37791 unsafe {
37792 let this: &Identity =
37793 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37794 ICoreWebView2WindowFeatures_Impl::ShouldDisplayStatus(
37795 this,
37796 core::mem::transmute_copy(&value),
37797 )
37798 .into()
37799 }
37800 }
37801 unsafe extern "system" fn ShouldDisplayToolbar<
37802 Identity: ICoreWebView2WindowFeatures_Impl,
37803 const OFFSET: isize,
37804 >(
37805 this: *mut core::ffi::c_void,
37806 value: *mut windows_core::BOOL,
37807 ) -> windows_core::HRESULT {
37808 unsafe {
37809 let this: &Identity =
37810 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37811 ICoreWebView2WindowFeatures_Impl::ShouldDisplayToolbar(
37812 this,
37813 core::mem::transmute_copy(&value),
37814 )
37815 .into()
37816 }
37817 }
37818 unsafe extern "system" fn ShouldDisplayScrollBars<
37819 Identity: ICoreWebView2WindowFeatures_Impl,
37820 const OFFSET: isize,
37821 >(
37822 this: *mut core::ffi::c_void,
37823 value: *mut windows_core::BOOL,
37824 ) -> windows_core::HRESULT {
37825 unsafe {
37826 let this: &Identity =
37827 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37828 ICoreWebView2WindowFeatures_Impl::ShouldDisplayScrollBars(
37829 this,
37830 core::mem::transmute_copy(&value),
37831 )
37832 .into()
37833 }
37834 }
37835 Self {
37836 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37837 HasPosition: HasPosition::<Identity, OFFSET>,
37838 HasSize: HasSize::<Identity, OFFSET>,
37839 Left: Left::<Identity, OFFSET>,
37840 Top: Top::<Identity, OFFSET>,
37841 Height: Height::<Identity, OFFSET>,
37842 Width: Width::<Identity, OFFSET>,
37843 ShouldDisplayMenuBar: ShouldDisplayMenuBar::<Identity, OFFSET>,
37844 ShouldDisplayStatus: ShouldDisplayStatus::<Identity, OFFSET>,
37845 ShouldDisplayToolbar: ShouldDisplayToolbar::<Identity, OFFSET>,
37846 ShouldDisplayScrollBars: ShouldDisplayScrollBars::<Identity, OFFSET>,
37847 }
37848 }
37849 pub fn matches(iid: &windows_core::GUID) -> bool {
37850 iid == &<ICoreWebView2WindowFeatures as windows_core::Interface>::IID
37851 }
37852}
37853impl windows_core::RuntimeName for ICoreWebView2WindowFeatures {}
37854windows_core::imp::define_interface!(
37855 ICoreWebView2ZoomFactorChangedEventHandler,
37856 ICoreWebView2ZoomFactorChangedEventHandler_Vtbl,
37857 0xb52d71d6_c4df_4543_a90c_64a3e60f38cb
37858);
37859windows_core::imp::interface_hierarchy!(
37860 ICoreWebView2ZoomFactorChangedEventHandler,
37861 windows_core::IUnknown
37862);
37863impl ICoreWebView2ZoomFactorChangedEventHandler {
37864 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
37865 where
37866 P0: windows_core::Param<ICoreWebView2Controller>,
37867 P1: windows_core::Param<windows_core::IUnknown>,
37868 {
37869 unsafe {
37870 (windows_core::Interface::vtable(self).Invoke)(
37871 windows_core::Interface::as_raw(self),
37872 sender.param().abi(),
37873 args.param().abi(),
37874 )
37875 .ok()
37876 }
37877 }
37878}
37879#[repr(C)]
37880#[doc(hidden)]
37881pub struct ICoreWebView2ZoomFactorChangedEventHandler_Vtbl {
37882 pub base__: windows_core::IUnknown_Vtbl,
37883 pub Invoke: unsafe extern "system" fn(
37884 *mut core::ffi::c_void,
37885 *mut core::ffi::c_void,
37886 *mut core::ffi::c_void,
37887 ) -> windows_core::HRESULT,
37888}
37889pub trait ICoreWebView2ZoomFactorChangedEventHandler_Impl: windows_core::IUnknownImpl {
37890 fn Invoke(
37891 &self,
37892 sender: windows_core::Ref<'_, ICoreWebView2Controller>,
37893 args: windows_core::Ref<'_, windows_core::IUnknown>,
37894 ) -> windows_core::Result<()>;
37895}
37896impl ICoreWebView2ZoomFactorChangedEventHandler_Vtbl {
37897 pub const fn new<
37898 Identity: ICoreWebView2ZoomFactorChangedEventHandler_Impl,
37899 const OFFSET: isize,
37900 >() -> Self {
37901 unsafe extern "system" fn Invoke<
37902 Identity: ICoreWebView2ZoomFactorChangedEventHandler_Impl,
37903 const OFFSET: isize,
37904 >(
37905 this: *mut core::ffi::c_void,
37906 sender: *mut core::ffi::c_void,
37907 args: *mut core::ffi::c_void,
37908 ) -> windows_core::HRESULT {
37909 unsafe {
37910 let this: &Identity =
37911 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
37912 ICoreWebView2ZoomFactorChangedEventHandler_Impl::Invoke(
37913 this,
37914 core::mem::transmute_copy(&sender),
37915 core::mem::transmute_copy(&args),
37916 )
37917 .into()
37918 }
37919 }
37920 Self {
37921 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
37922 Invoke: Invoke::<Identity, OFFSET>,
37923 }
37924 }
37925 pub fn matches(iid: &windows_core::GUID) -> bool {
37926 iid == &<ICoreWebView2ZoomFactorChangedEventHandler as windows_core::Interface>::IID
37927 }
37928}
37929impl windows_core::RuntimeName for ICoreWebView2ZoomFactorChangedEventHandler {}
37930windows_core::imp::define_interface!(
37931 ICoreWebView2_10,
37932 ICoreWebView2_10_Vtbl,
37933 0xb1690564_6f5a_4983_8e48_31d1143fecdb
37934);
37935impl core::ops::Deref for ICoreWebView2_10 {
37936 type Target = ICoreWebView2_9;
37937 fn deref(&self) -> &Self::Target {
37938 unsafe { core::mem::transmute(self) }
37939 }
37940}
37941windows_core::imp::interface_hierarchy!(
37942 ICoreWebView2_10,
37943 windows_core::IUnknown,
37944 ICoreWebView2,
37945 ICoreWebView2_2,
37946 ICoreWebView2_3,
37947 ICoreWebView2_4,
37948 ICoreWebView2_5,
37949 ICoreWebView2_6,
37950 ICoreWebView2_7,
37951 ICoreWebView2_8,
37952 ICoreWebView2_9
37953);
37954impl ICoreWebView2_10 {
37955 pub unsafe fn add_BasicAuthenticationRequested<P0>(
37956 &self,
37957 eventhandler: P0,
37958 token: *mut i64,
37959 ) -> windows_core::Result<()>
37960 where
37961 P0: windows_core::Param<ICoreWebView2BasicAuthenticationRequestedEventHandler>,
37962 {
37963 unsafe {
37964 (windows_core::Interface::vtable(self).add_BasicAuthenticationRequested)(
37965 windows_core::Interface::as_raw(self),
37966 eventhandler.param().abi(),
37967 token as _,
37968 )
37969 .ok()
37970 }
37971 }
37972 pub unsafe fn remove_BasicAuthenticationRequested(
37973 &self,
37974 token: i64,
37975 ) -> windows_core::Result<()> {
37976 unsafe {
37977 (windows_core::Interface::vtable(self).remove_BasicAuthenticationRequested)(
37978 windows_core::Interface::as_raw(self),
37979 token,
37980 )
37981 .ok()
37982 }
37983 }
37984}
37985#[repr(C)]
37986#[doc(hidden)]
37987pub struct ICoreWebView2_10_Vtbl {
37988 pub base__: ICoreWebView2_9_Vtbl,
37989 pub add_BasicAuthenticationRequested: unsafe extern "system" fn(
37990 *mut core::ffi::c_void,
37991 *mut core::ffi::c_void,
37992 *mut i64,
37993 ) -> windows_core::HRESULT,
37994 pub remove_BasicAuthenticationRequested:
37995 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
37996}
37997pub trait ICoreWebView2_10_Impl: ICoreWebView2_9_Impl {
37998 fn add_BasicAuthenticationRequested(
37999 &self,
38000 eventhandler: windows_core::Ref<'_, ICoreWebView2BasicAuthenticationRequestedEventHandler>,
38001 token: *mut i64,
38002 ) -> windows_core::Result<()>;
38003 fn remove_BasicAuthenticationRequested(&self, token: i64) -> windows_core::Result<()>;
38004}
38005impl ICoreWebView2_10_Vtbl {
38006 pub const fn new<Identity: ICoreWebView2_10_Impl, const OFFSET: isize>() -> Self {
38007 unsafe extern "system" fn add_BasicAuthenticationRequested<
38008 Identity: ICoreWebView2_10_Impl,
38009 const OFFSET: isize,
38010 >(
38011 this: *mut core::ffi::c_void,
38012 eventhandler: *mut core::ffi::c_void,
38013 token: *mut i64,
38014 ) -> windows_core::HRESULT {
38015 unsafe {
38016 let this: &Identity =
38017 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38018 ICoreWebView2_10_Impl::add_BasicAuthenticationRequested(
38019 this,
38020 core::mem::transmute_copy(&eventhandler),
38021 core::mem::transmute_copy(&token),
38022 )
38023 .into()
38024 }
38025 }
38026 unsafe extern "system" fn remove_BasicAuthenticationRequested<
38027 Identity: ICoreWebView2_10_Impl,
38028 const OFFSET: isize,
38029 >(
38030 this: *mut core::ffi::c_void,
38031 token: i64,
38032 ) -> windows_core::HRESULT {
38033 unsafe {
38034 let this: &Identity =
38035 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38036 ICoreWebView2_10_Impl::remove_BasicAuthenticationRequested(
38037 this,
38038 core::mem::transmute_copy(&token),
38039 )
38040 .into()
38041 }
38042 }
38043 Self {
38044 base__: ICoreWebView2_9_Vtbl::new::<Identity, OFFSET>(),
38045 add_BasicAuthenticationRequested: add_BasicAuthenticationRequested::<Identity, OFFSET>,
38046 remove_BasicAuthenticationRequested: remove_BasicAuthenticationRequested::<
38047 Identity,
38048 OFFSET,
38049 >,
38050 }
38051 }
38052 pub fn matches(iid: &windows_core::GUID) -> bool {
38053 iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
38054 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
38055 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
38056 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
38057 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
38058 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
38059 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
38060 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
38061 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
38062 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
38063 }
38064}
38065impl windows_core::RuntimeName for ICoreWebView2_10 {}
38066windows_core::imp::define_interface!(
38067 ICoreWebView2_11,
38068 ICoreWebView2_11_Vtbl,
38069 0x0be78e56_c193_4051_b943_23b460c08bdb
38070);
38071impl core::ops::Deref for ICoreWebView2_11 {
38072 type Target = ICoreWebView2_10;
38073 fn deref(&self) -> &Self::Target {
38074 unsafe { core::mem::transmute(self) }
38075 }
38076}
38077windows_core::imp::interface_hierarchy!(
38078 ICoreWebView2_11,
38079 windows_core::IUnknown,
38080 ICoreWebView2,
38081 ICoreWebView2_2,
38082 ICoreWebView2_3,
38083 ICoreWebView2_4,
38084 ICoreWebView2_5,
38085 ICoreWebView2_6,
38086 ICoreWebView2_7,
38087 ICoreWebView2_8,
38088 ICoreWebView2_9,
38089 ICoreWebView2_10
38090);
38091impl ICoreWebView2_11 {
38092 pub unsafe fn CallDevToolsProtocolMethodForSession<P0, P1, P2, P3>(
38093 &self,
38094 sessionid: P0,
38095 methodname: P1,
38096 parametersasjson: P2,
38097 handler: P3,
38098 ) -> windows_core::Result<()>
38099 where
38100 P0: windows_core::Param<windows_core::PCWSTR>,
38101 P1: windows_core::Param<windows_core::PCWSTR>,
38102 P2: windows_core::Param<windows_core::PCWSTR>,
38103 P3: windows_core::Param<ICoreWebView2CallDevToolsProtocolMethodCompletedHandler>,
38104 {
38105 unsafe {
38106 (windows_core::Interface::vtable(self).CallDevToolsProtocolMethodForSession)(
38107 windows_core::Interface::as_raw(self),
38108 sessionid.param().abi(),
38109 methodname.param().abi(),
38110 parametersasjson.param().abi(),
38111 handler.param().abi(),
38112 )
38113 .ok()
38114 }
38115 }
38116 pub unsafe fn add_ContextMenuRequested<P0>(
38117 &self,
38118 eventhandler: P0,
38119 token: *mut i64,
38120 ) -> windows_core::Result<()>
38121 where
38122 P0: windows_core::Param<ICoreWebView2ContextMenuRequestedEventHandler>,
38123 {
38124 unsafe {
38125 (windows_core::Interface::vtable(self).add_ContextMenuRequested)(
38126 windows_core::Interface::as_raw(self),
38127 eventhandler.param().abi(),
38128 token as _,
38129 )
38130 .ok()
38131 }
38132 }
38133 pub unsafe fn remove_ContextMenuRequested(&self, token: i64) -> windows_core::Result<()> {
38134 unsafe {
38135 (windows_core::Interface::vtable(self).remove_ContextMenuRequested)(
38136 windows_core::Interface::as_raw(self),
38137 token,
38138 )
38139 .ok()
38140 }
38141 }
38142}
38143#[repr(C)]
38144#[doc(hidden)]
38145pub struct ICoreWebView2_11_Vtbl {
38146 pub base__: ICoreWebView2_10_Vtbl,
38147 pub CallDevToolsProtocolMethodForSession: unsafe extern "system" fn(
38148 *mut core::ffi::c_void,
38149 windows_core::PCWSTR,
38150 windows_core::PCWSTR,
38151 windows_core::PCWSTR,
38152 *mut core::ffi::c_void,
38153 )
38154 -> windows_core::HRESULT,
38155 pub add_ContextMenuRequested: unsafe extern "system" fn(
38156 *mut core::ffi::c_void,
38157 *mut core::ffi::c_void,
38158 *mut i64,
38159 ) -> windows_core::HRESULT,
38160 pub remove_ContextMenuRequested:
38161 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
38162}
38163pub trait ICoreWebView2_11_Impl: ICoreWebView2_10_Impl {
38164 fn CallDevToolsProtocolMethodForSession(
38165 &self,
38166 sessionid: &windows_core::PCWSTR,
38167 methodname: &windows_core::PCWSTR,
38168 parametersasjson: &windows_core::PCWSTR,
38169 handler: windows_core::Ref<'_, ICoreWebView2CallDevToolsProtocolMethodCompletedHandler>,
38170 ) -> windows_core::Result<()>;
38171 fn add_ContextMenuRequested(
38172 &self,
38173 eventhandler: windows_core::Ref<'_, ICoreWebView2ContextMenuRequestedEventHandler>,
38174 token: *mut i64,
38175 ) -> windows_core::Result<()>;
38176 fn remove_ContextMenuRequested(&self, token: i64) -> windows_core::Result<()>;
38177}
38178impl ICoreWebView2_11_Vtbl {
38179 pub const fn new<Identity: ICoreWebView2_11_Impl, const OFFSET: isize>() -> Self {
38180 unsafe extern "system" fn CallDevToolsProtocolMethodForSession<
38181 Identity: ICoreWebView2_11_Impl,
38182 const OFFSET: isize,
38183 >(
38184 this: *mut core::ffi::c_void,
38185 sessionid: windows_core::PCWSTR,
38186 methodname: windows_core::PCWSTR,
38187 parametersasjson: windows_core::PCWSTR,
38188 handler: *mut core::ffi::c_void,
38189 ) -> windows_core::HRESULT {
38190 unsafe {
38191 let this: &Identity =
38192 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38193 ICoreWebView2_11_Impl::CallDevToolsProtocolMethodForSession(
38194 this,
38195 core::mem::transmute(&sessionid),
38196 core::mem::transmute(&methodname),
38197 core::mem::transmute(¶metersasjson),
38198 core::mem::transmute_copy(&handler),
38199 )
38200 .into()
38201 }
38202 }
38203 unsafe extern "system" fn add_ContextMenuRequested<
38204 Identity: ICoreWebView2_11_Impl,
38205 const OFFSET: isize,
38206 >(
38207 this: *mut core::ffi::c_void,
38208 eventhandler: *mut core::ffi::c_void,
38209 token: *mut i64,
38210 ) -> windows_core::HRESULT {
38211 unsafe {
38212 let this: &Identity =
38213 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38214 ICoreWebView2_11_Impl::add_ContextMenuRequested(
38215 this,
38216 core::mem::transmute_copy(&eventhandler),
38217 core::mem::transmute_copy(&token),
38218 )
38219 .into()
38220 }
38221 }
38222 unsafe extern "system" fn remove_ContextMenuRequested<
38223 Identity: ICoreWebView2_11_Impl,
38224 const OFFSET: isize,
38225 >(
38226 this: *mut core::ffi::c_void,
38227 token: i64,
38228 ) -> windows_core::HRESULT {
38229 unsafe {
38230 let this: &Identity =
38231 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38232 ICoreWebView2_11_Impl::remove_ContextMenuRequested(
38233 this,
38234 core::mem::transmute_copy(&token),
38235 )
38236 .into()
38237 }
38238 }
38239 Self {
38240 base__: ICoreWebView2_10_Vtbl::new::<Identity, OFFSET>(),
38241 CallDevToolsProtocolMethodForSession: CallDevToolsProtocolMethodForSession::<
38242 Identity,
38243 OFFSET,
38244 >,
38245 add_ContextMenuRequested: add_ContextMenuRequested::<Identity, OFFSET>,
38246 remove_ContextMenuRequested: remove_ContextMenuRequested::<Identity, OFFSET>,
38247 }
38248 }
38249 pub fn matches(iid: &windows_core::GUID) -> bool {
38250 iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
38251 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
38252 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
38253 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
38254 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
38255 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
38256 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
38257 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
38258 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
38259 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
38260 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
38261 }
38262}
38263impl windows_core::RuntimeName for ICoreWebView2_11 {}
38264windows_core::imp::define_interface!(
38265 ICoreWebView2_12,
38266 ICoreWebView2_12_Vtbl,
38267 0x35d69927_bcfa_4566_9349_6b3e0d154cac
38268);
38269impl core::ops::Deref for ICoreWebView2_12 {
38270 type Target = ICoreWebView2_11;
38271 fn deref(&self) -> &Self::Target {
38272 unsafe { core::mem::transmute(self) }
38273 }
38274}
38275windows_core::imp::interface_hierarchy!(
38276 ICoreWebView2_12,
38277 windows_core::IUnknown,
38278 ICoreWebView2,
38279 ICoreWebView2_2,
38280 ICoreWebView2_3,
38281 ICoreWebView2_4,
38282 ICoreWebView2_5,
38283 ICoreWebView2_6,
38284 ICoreWebView2_7,
38285 ICoreWebView2_8,
38286 ICoreWebView2_9,
38287 ICoreWebView2_10,
38288 ICoreWebView2_11
38289);
38290impl ICoreWebView2_12 {
38291 pub unsafe fn add_StatusBarTextChanged<P0>(
38292 &self,
38293 eventhandler: P0,
38294 token: *mut i64,
38295 ) -> windows_core::Result<()>
38296 where
38297 P0: windows_core::Param<ICoreWebView2StatusBarTextChangedEventHandler>,
38298 {
38299 unsafe {
38300 (windows_core::Interface::vtable(self).add_StatusBarTextChanged)(
38301 windows_core::Interface::as_raw(self),
38302 eventhandler.param().abi(),
38303 token as _,
38304 )
38305 .ok()
38306 }
38307 }
38308 pub unsafe fn remove_StatusBarTextChanged(&self, token: i64) -> windows_core::Result<()> {
38309 unsafe {
38310 (windows_core::Interface::vtable(self).remove_StatusBarTextChanged)(
38311 windows_core::Interface::as_raw(self),
38312 token,
38313 )
38314 .ok()
38315 }
38316 }
38317 pub unsafe fn StatusBarText(
38318 &self,
38319 value: *mut windows_core::PWSTR,
38320 ) -> windows_core::Result<()> {
38321 unsafe {
38322 (windows_core::Interface::vtable(self).StatusBarText)(
38323 windows_core::Interface::as_raw(self),
38324 value as _,
38325 )
38326 .ok()
38327 }
38328 }
38329}
38330#[repr(C)]
38331#[doc(hidden)]
38332pub struct ICoreWebView2_12_Vtbl {
38333 pub base__: ICoreWebView2_11_Vtbl,
38334 pub add_StatusBarTextChanged: unsafe extern "system" fn(
38335 *mut core::ffi::c_void,
38336 *mut core::ffi::c_void,
38337 *mut i64,
38338 ) -> windows_core::HRESULT,
38339 pub remove_StatusBarTextChanged:
38340 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
38341 pub StatusBarText: unsafe extern "system" fn(
38342 *mut core::ffi::c_void,
38343 *mut windows_core::PWSTR,
38344 ) -> windows_core::HRESULT,
38345}
38346pub trait ICoreWebView2_12_Impl: ICoreWebView2_11_Impl {
38347 fn add_StatusBarTextChanged(
38348 &self,
38349 eventhandler: windows_core::Ref<'_, ICoreWebView2StatusBarTextChangedEventHandler>,
38350 token: *mut i64,
38351 ) -> windows_core::Result<()>;
38352 fn remove_StatusBarTextChanged(&self, token: i64) -> windows_core::Result<()>;
38353 fn StatusBarText(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
38354}
38355impl ICoreWebView2_12_Vtbl {
38356 pub const fn new<Identity: ICoreWebView2_12_Impl, const OFFSET: isize>() -> Self {
38357 unsafe extern "system" fn add_StatusBarTextChanged<
38358 Identity: ICoreWebView2_12_Impl,
38359 const OFFSET: isize,
38360 >(
38361 this: *mut core::ffi::c_void,
38362 eventhandler: *mut core::ffi::c_void,
38363 token: *mut i64,
38364 ) -> windows_core::HRESULT {
38365 unsafe {
38366 let this: &Identity =
38367 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38368 ICoreWebView2_12_Impl::add_StatusBarTextChanged(
38369 this,
38370 core::mem::transmute_copy(&eventhandler),
38371 core::mem::transmute_copy(&token),
38372 )
38373 .into()
38374 }
38375 }
38376 unsafe extern "system" fn remove_StatusBarTextChanged<
38377 Identity: ICoreWebView2_12_Impl,
38378 const OFFSET: isize,
38379 >(
38380 this: *mut core::ffi::c_void,
38381 token: i64,
38382 ) -> windows_core::HRESULT {
38383 unsafe {
38384 let this: &Identity =
38385 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38386 ICoreWebView2_12_Impl::remove_StatusBarTextChanged(
38387 this,
38388 core::mem::transmute_copy(&token),
38389 )
38390 .into()
38391 }
38392 }
38393 unsafe extern "system" fn StatusBarText<
38394 Identity: ICoreWebView2_12_Impl,
38395 const OFFSET: isize,
38396 >(
38397 this: *mut core::ffi::c_void,
38398 value: *mut windows_core::PWSTR,
38399 ) -> windows_core::HRESULT {
38400 unsafe {
38401 let this: &Identity =
38402 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38403 ICoreWebView2_12_Impl::StatusBarText(this, core::mem::transmute_copy(&value)).into()
38404 }
38405 }
38406 Self {
38407 base__: ICoreWebView2_11_Vtbl::new::<Identity, OFFSET>(),
38408 add_StatusBarTextChanged: add_StatusBarTextChanged::<Identity, OFFSET>,
38409 remove_StatusBarTextChanged: remove_StatusBarTextChanged::<Identity, OFFSET>,
38410 StatusBarText: StatusBarText::<Identity, OFFSET>,
38411 }
38412 }
38413 pub fn matches(iid: &windows_core::GUID) -> bool {
38414 iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
38415 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
38416 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
38417 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
38418 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
38419 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
38420 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
38421 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
38422 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
38423 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
38424 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
38425 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
38426 }
38427}
38428impl windows_core::RuntimeName for ICoreWebView2_12 {}
38429windows_core::imp::define_interface!(
38430 ICoreWebView2_13,
38431 ICoreWebView2_13_Vtbl,
38432 0xf75f09a8_667e_4983_88d6_c8773f315e84
38433);
38434impl core::ops::Deref for ICoreWebView2_13 {
38435 type Target = ICoreWebView2_12;
38436 fn deref(&self) -> &Self::Target {
38437 unsafe { core::mem::transmute(self) }
38438 }
38439}
38440windows_core::imp::interface_hierarchy!(
38441 ICoreWebView2_13,
38442 windows_core::IUnknown,
38443 ICoreWebView2,
38444 ICoreWebView2_2,
38445 ICoreWebView2_3,
38446 ICoreWebView2_4,
38447 ICoreWebView2_5,
38448 ICoreWebView2_6,
38449 ICoreWebView2_7,
38450 ICoreWebView2_8,
38451 ICoreWebView2_9,
38452 ICoreWebView2_10,
38453 ICoreWebView2_11,
38454 ICoreWebView2_12
38455);
38456impl ICoreWebView2_13 {
38457 pub unsafe fn Profile(&self) -> windows_core::Result<ICoreWebView2Profile> {
38458 unsafe {
38459 let mut result__ = core::mem::zeroed();
38460 (windows_core::Interface::vtable(self).Profile)(
38461 windows_core::Interface::as_raw(self),
38462 &mut result__,
38463 )
38464 .and_then(|| windows_core::Type::from_abi(result__))
38465 }
38466 }
38467}
38468#[repr(C)]
38469#[doc(hidden)]
38470pub struct ICoreWebView2_13_Vtbl {
38471 pub base__: ICoreWebView2_12_Vtbl,
38472 pub Profile: unsafe extern "system" fn(
38473 *mut core::ffi::c_void,
38474 *mut *mut core::ffi::c_void,
38475 ) -> windows_core::HRESULT,
38476}
38477pub trait ICoreWebView2_13_Impl: ICoreWebView2_12_Impl {
38478 fn Profile(&self) -> windows_core::Result<ICoreWebView2Profile>;
38479}
38480impl ICoreWebView2_13_Vtbl {
38481 pub const fn new<Identity: ICoreWebView2_13_Impl, const OFFSET: isize>() -> Self {
38482 unsafe extern "system" fn Profile<Identity: ICoreWebView2_13_Impl, const OFFSET: isize>(
38483 this: *mut core::ffi::c_void,
38484 value: *mut *mut core::ffi::c_void,
38485 ) -> windows_core::HRESULT {
38486 unsafe {
38487 let this: &Identity =
38488 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38489 match ICoreWebView2_13_Impl::Profile(this) {
38490 Ok(ok__) => {
38491 value.write(core::mem::transmute(ok__));
38492 windows_core::HRESULT(0)
38493 }
38494 Err(err) => err.into(),
38495 }
38496 }
38497 }
38498 Self {
38499 base__: ICoreWebView2_12_Vtbl::new::<Identity, OFFSET>(),
38500 Profile: Profile::<Identity, OFFSET>,
38501 }
38502 }
38503 pub fn matches(iid: &windows_core::GUID) -> bool {
38504 iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
38505 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
38506 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
38507 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
38508 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
38509 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
38510 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
38511 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
38512 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
38513 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
38514 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
38515 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
38516 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
38517 }
38518}
38519impl windows_core::RuntimeName for ICoreWebView2_13 {}
38520windows_core::imp::define_interface!(
38521 ICoreWebView2_14,
38522 ICoreWebView2_14_Vtbl,
38523 0x6daa4f10_4a90_4753_8898_77c5df534165
38524);
38525impl core::ops::Deref for ICoreWebView2_14 {
38526 type Target = ICoreWebView2_13;
38527 fn deref(&self) -> &Self::Target {
38528 unsafe { core::mem::transmute(self) }
38529 }
38530}
38531windows_core::imp::interface_hierarchy!(
38532 ICoreWebView2_14,
38533 windows_core::IUnknown,
38534 ICoreWebView2,
38535 ICoreWebView2_2,
38536 ICoreWebView2_3,
38537 ICoreWebView2_4,
38538 ICoreWebView2_5,
38539 ICoreWebView2_6,
38540 ICoreWebView2_7,
38541 ICoreWebView2_8,
38542 ICoreWebView2_9,
38543 ICoreWebView2_10,
38544 ICoreWebView2_11,
38545 ICoreWebView2_12,
38546 ICoreWebView2_13
38547);
38548impl ICoreWebView2_14 {
38549 pub unsafe fn add_ServerCertificateErrorDetected<P0>(
38550 &self,
38551 eventhandler: P0,
38552 token: *mut i64,
38553 ) -> windows_core::Result<()>
38554 where
38555 P0: windows_core::Param<ICoreWebView2ServerCertificateErrorDetectedEventHandler>,
38556 {
38557 unsafe {
38558 (windows_core::Interface::vtable(self).add_ServerCertificateErrorDetected)(
38559 windows_core::Interface::as_raw(self),
38560 eventhandler.param().abi(),
38561 token as _,
38562 )
38563 .ok()
38564 }
38565 }
38566 pub unsafe fn remove_ServerCertificateErrorDetected(
38567 &self,
38568 token: i64,
38569 ) -> windows_core::Result<()> {
38570 unsafe {
38571 (windows_core::Interface::vtable(self).remove_ServerCertificateErrorDetected)(
38572 windows_core::Interface::as_raw(self),
38573 token,
38574 )
38575 .ok()
38576 }
38577 }
38578 pub unsafe fn ClearServerCertificateErrorActions<P0>(
38579 &self,
38580 handler: P0,
38581 ) -> windows_core::Result<()>
38582 where
38583 P0: windows_core::Param<ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler>,
38584 {
38585 unsafe {
38586 (windows_core::Interface::vtable(self).ClearServerCertificateErrorActions)(
38587 windows_core::Interface::as_raw(self),
38588 handler.param().abi(),
38589 )
38590 .ok()
38591 }
38592 }
38593}
38594#[repr(C)]
38595#[doc(hidden)]
38596pub struct ICoreWebView2_14_Vtbl {
38597 pub base__: ICoreWebView2_13_Vtbl,
38598 pub add_ServerCertificateErrorDetected: unsafe extern "system" fn(
38599 *mut core::ffi::c_void,
38600 *mut core::ffi::c_void,
38601 *mut i64,
38602 ) -> windows_core::HRESULT,
38603 pub remove_ServerCertificateErrorDetected:
38604 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
38605 pub ClearServerCertificateErrorActions: unsafe extern "system" fn(
38606 *mut core::ffi::c_void,
38607 *mut core::ffi::c_void,
38608 ) -> windows_core::HRESULT,
38609}
38610pub trait ICoreWebView2_14_Impl: ICoreWebView2_13_Impl {
38611 fn add_ServerCertificateErrorDetected(
38612 &self,
38613 eventhandler: windows_core::Ref<
38614 '_,
38615 ICoreWebView2ServerCertificateErrorDetectedEventHandler,
38616 >,
38617 token: *mut i64,
38618 ) -> windows_core::Result<()>;
38619 fn remove_ServerCertificateErrorDetected(&self, token: i64) -> windows_core::Result<()>;
38620 fn ClearServerCertificateErrorActions(
38621 &self,
38622 handler: windows_core::Ref<
38623 '_,
38624 ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler,
38625 >,
38626 ) -> windows_core::Result<()>;
38627}
38628impl ICoreWebView2_14_Vtbl {
38629 pub const fn new<Identity: ICoreWebView2_14_Impl, const OFFSET: isize>() -> Self {
38630 unsafe extern "system" fn add_ServerCertificateErrorDetected<
38631 Identity: ICoreWebView2_14_Impl,
38632 const OFFSET: isize,
38633 >(
38634 this: *mut core::ffi::c_void,
38635 eventhandler: *mut core::ffi::c_void,
38636 token: *mut i64,
38637 ) -> windows_core::HRESULT {
38638 unsafe {
38639 let this: &Identity =
38640 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38641 ICoreWebView2_14_Impl::add_ServerCertificateErrorDetected(
38642 this,
38643 core::mem::transmute_copy(&eventhandler),
38644 core::mem::transmute_copy(&token),
38645 )
38646 .into()
38647 }
38648 }
38649 unsafe extern "system" fn remove_ServerCertificateErrorDetected<
38650 Identity: ICoreWebView2_14_Impl,
38651 const OFFSET: isize,
38652 >(
38653 this: *mut core::ffi::c_void,
38654 token: i64,
38655 ) -> windows_core::HRESULT {
38656 unsafe {
38657 let this: &Identity =
38658 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38659 ICoreWebView2_14_Impl::remove_ServerCertificateErrorDetected(
38660 this,
38661 core::mem::transmute_copy(&token),
38662 )
38663 .into()
38664 }
38665 }
38666 unsafe extern "system" fn ClearServerCertificateErrorActions<
38667 Identity: ICoreWebView2_14_Impl,
38668 const OFFSET: isize,
38669 >(
38670 this: *mut core::ffi::c_void,
38671 handler: *mut core::ffi::c_void,
38672 ) -> windows_core::HRESULT {
38673 unsafe {
38674 let this: &Identity =
38675 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38676 ICoreWebView2_14_Impl::ClearServerCertificateErrorActions(
38677 this,
38678 core::mem::transmute_copy(&handler),
38679 )
38680 .into()
38681 }
38682 }
38683 Self {
38684 base__: ICoreWebView2_13_Vtbl::new::<Identity, OFFSET>(),
38685 add_ServerCertificateErrorDetected: add_ServerCertificateErrorDetected::<
38686 Identity,
38687 OFFSET,
38688 >,
38689 remove_ServerCertificateErrorDetected: remove_ServerCertificateErrorDetected::<
38690 Identity,
38691 OFFSET,
38692 >,
38693 ClearServerCertificateErrorActions: ClearServerCertificateErrorActions::<
38694 Identity,
38695 OFFSET,
38696 >,
38697 }
38698 }
38699 pub fn matches(iid: &windows_core::GUID) -> bool {
38700 iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
38701 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
38702 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
38703 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
38704 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
38705 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
38706 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
38707 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
38708 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
38709 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
38710 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
38711 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
38712 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
38713 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
38714 }
38715}
38716impl windows_core::RuntimeName for ICoreWebView2_14 {}
38717windows_core::imp::define_interface!(
38718 ICoreWebView2_15,
38719 ICoreWebView2_15_Vtbl,
38720 0x517b2d1d_7dae_4a66_a4f4_10352ffb9518
38721);
38722impl core::ops::Deref for ICoreWebView2_15 {
38723 type Target = ICoreWebView2_14;
38724 fn deref(&self) -> &Self::Target {
38725 unsafe { core::mem::transmute(self) }
38726 }
38727}
38728windows_core::imp::interface_hierarchy!(
38729 ICoreWebView2_15,
38730 windows_core::IUnknown,
38731 ICoreWebView2,
38732 ICoreWebView2_2,
38733 ICoreWebView2_3,
38734 ICoreWebView2_4,
38735 ICoreWebView2_5,
38736 ICoreWebView2_6,
38737 ICoreWebView2_7,
38738 ICoreWebView2_8,
38739 ICoreWebView2_9,
38740 ICoreWebView2_10,
38741 ICoreWebView2_11,
38742 ICoreWebView2_12,
38743 ICoreWebView2_13,
38744 ICoreWebView2_14
38745);
38746impl ICoreWebView2_15 {
38747 pub unsafe fn add_FaviconChanged<P0>(
38748 &self,
38749 eventhandler: P0,
38750 token: *mut i64,
38751 ) -> windows_core::Result<()>
38752 where
38753 P0: windows_core::Param<ICoreWebView2FaviconChangedEventHandler>,
38754 {
38755 unsafe {
38756 (windows_core::Interface::vtable(self).add_FaviconChanged)(
38757 windows_core::Interface::as_raw(self),
38758 eventhandler.param().abi(),
38759 token as _,
38760 )
38761 .ok()
38762 }
38763 }
38764 pub unsafe fn remove_FaviconChanged(&self, token: i64) -> windows_core::Result<()> {
38765 unsafe {
38766 (windows_core::Interface::vtable(self).remove_FaviconChanged)(
38767 windows_core::Interface::as_raw(self),
38768 token,
38769 )
38770 .ok()
38771 }
38772 }
38773 pub unsafe fn FaviconUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()> {
38774 unsafe {
38775 (windows_core::Interface::vtable(self).FaviconUri)(
38776 windows_core::Interface::as_raw(self),
38777 value as _,
38778 )
38779 .ok()
38780 }
38781 }
38782 pub unsafe fn GetFavicon<P1>(
38783 &self,
38784 format: COREWEBVIEW2_FAVICON_IMAGE_FORMAT,
38785 completedhandler: P1,
38786 ) -> windows_core::Result<()>
38787 where
38788 P1: windows_core::Param<ICoreWebView2GetFaviconCompletedHandler>,
38789 {
38790 unsafe {
38791 (windows_core::Interface::vtable(self).GetFavicon)(
38792 windows_core::Interface::as_raw(self),
38793 format,
38794 completedhandler.param().abi(),
38795 )
38796 .ok()
38797 }
38798 }
38799}
38800#[repr(C)]
38801#[doc(hidden)]
38802pub struct ICoreWebView2_15_Vtbl {
38803 pub base__: ICoreWebView2_14_Vtbl,
38804 pub add_FaviconChanged: unsafe extern "system" fn(
38805 *mut core::ffi::c_void,
38806 *mut core::ffi::c_void,
38807 *mut i64,
38808 ) -> windows_core::HRESULT,
38809 pub remove_FaviconChanged:
38810 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
38811 pub FaviconUri: unsafe extern "system" fn(
38812 *mut core::ffi::c_void,
38813 *mut windows_core::PWSTR,
38814 ) -> windows_core::HRESULT,
38815 pub GetFavicon: unsafe extern "system" fn(
38816 *mut core::ffi::c_void,
38817 COREWEBVIEW2_FAVICON_IMAGE_FORMAT,
38818 *mut core::ffi::c_void,
38819 ) -> windows_core::HRESULT,
38820}
38821pub trait ICoreWebView2_15_Impl: ICoreWebView2_14_Impl {
38822 fn add_FaviconChanged(
38823 &self,
38824 eventhandler: windows_core::Ref<'_, ICoreWebView2FaviconChangedEventHandler>,
38825 token: *mut i64,
38826 ) -> windows_core::Result<()>;
38827 fn remove_FaviconChanged(&self, token: i64) -> windows_core::Result<()>;
38828 fn FaviconUri(&self, value: *mut windows_core::PWSTR) -> windows_core::Result<()>;
38829 fn GetFavicon(
38830 &self,
38831 format: COREWEBVIEW2_FAVICON_IMAGE_FORMAT,
38832 completedhandler: windows_core::Ref<'_, ICoreWebView2GetFaviconCompletedHandler>,
38833 ) -> windows_core::Result<()>;
38834}
38835impl ICoreWebView2_15_Vtbl {
38836 pub const fn new<Identity: ICoreWebView2_15_Impl, const OFFSET: isize>() -> Self {
38837 unsafe extern "system" fn add_FaviconChanged<
38838 Identity: ICoreWebView2_15_Impl,
38839 const OFFSET: isize,
38840 >(
38841 this: *mut core::ffi::c_void,
38842 eventhandler: *mut core::ffi::c_void,
38843 token: *mut i64,
38844 ) -> windows_core::HRESULT {
38845 unsafe {
38846 let this: &Identity =
38847 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38848 ICoreWebView2_15_Impl::add_FaviconChanged(
38849 this,
38850 core::mem::transmute_copy(&eventhandler),
38851 core::mem::transmute_copy(&token),
38852 )
38853 .into()
38854 }
38855 }
38856 unsafe extern "system" fn remove_FaviconChanged<
38857 Identity: ICoreWebView2_15_Impl,
38858 const OFFSET: isize,
38859 >(
38860 this: *mut core::ffi::c_void,
38861 token: i64,
38862 ) -> windows_core::HRESULT {
38863 unsafe {
38864 let this: &Identity =
38865 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38866 ICoreWebView2_15_Impl::remove_FaviconChanged(
38867 this,
38868 core::mem::transmute_copy(&token),
38869 )
38870 .into()
38871 }
38872 }
38873 unsafe extern "system" fn FaviconUri<
38874 Identity: ICoreWebView2_15_Impl,
38875 const OFFSET: isize,
38876 >(
38877 this: *mut core::ffi::c_void,
38878 value: *mut windows_core::PWSTR,
38879 ) -> windows_core::HRESULT {
38880 unsafe {
38881 let this: &Identity =
38882 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38883 ICoreWebView2_15_Impl::FaviconUri(this, core::mem::transmute_copy(&value)).into()
38884 }
38885 }
38886 unsafe extern "system" fn GetFavicon<
38887 Identity: ICoreWebView2_15_Impl,
38888 const OFFSET: isize,
38889 >(
38890 this: *mut core::ffi::c_void,
38891 format: COREWEBVIEW2_FAVICON_IMAGE_FORMAT,
38892 completedhandler: *mut core::ffi::c_void,
38893 ) -> windows_core::HRESULT {
38894 unsafe {
38895 let this: &Identity =
38896 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
38897 ICoreWebView2_15_Impl::GetFavicon(
38898 this,
38899 core::mem::transmute_copy(&format),
38900 core::mem::transmute_copy(&completedhandler),
38901 )
38902 .into()
38903 }
38904 }
38905 Self {
38906 base__: ICoreWebView2_14_Vtbl::new::<Identity, OFFSET>(),
38907 add_FaviconChanged: add_FaviconChanged::<Identity, OFFSET>,
38908 remove_FaviconChanged: remove_FaviconChanged::<Identity, OFFSET>,
38909 FaviconUri: FaviconUri::<Identity, OFFSET>,
38910 GetFavicon: GetFavicon::<Identity, OFFSET>,
38911 }
38912 }
38913 pub fn matches(iid: &windows_core::GUID) -> bool {
38914 iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
38915 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
38916 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
38917 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
38918 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
38919 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
38920 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
38921 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
38922 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
38923 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
38924 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
38925 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
38926 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
38927 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
38928 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
38929 }
38930}
38931impl windows_core::RuntimeName for ICoreWebView2_15 {}
38932windows_core::imp::define_interface!(
38933 ICoreWebView2_16,
38934 ICoreWebView2_16_Vtbl,
38935 0x0eb34dc9_9f91_41e1_8639_95cd5943906b
38936);
38937impl core::ops::Deref for ICoreWebView2_16 {
38938 type Target = ICoreWebView2_15;
38939 fn deref(&self) -> &Self::Target {
38940 unsafe { core::mem::transmute(self) }
38941 }
38942}
38943windows_core::imp::interface_hierarchy!(
38944 ICoreWebView2_16,
38945 windows_core::IUnknown,
38946 ICoreWebView2,
38947 ICoreWebView2_2,
38948 ICoreWebView2_3,
38949 ICoreWebView2_4,
38950 ICoreWebView2_5,
38951 ICoreWebView2_6,
38952 ICoreWebView2_7,
38953 ICoreWebView2_8,
38954 ICoreWebView2_9,
38955 ICoreWebView2_10,
38956 ICoreWebView2_11,
38957 ICoreWebView2_12,
38958 ICoreWebView2_13,
38959 ICoreWebView2_14,
38960 ICoreWebView2_15
38961);
38962impl ICoreWebView2_16 {
38963 pub unsafe fn Print<P0, P1>(&self, printsettings: P0, handler: P1) -> windows_core::Result<()>
38964 where
38965 P0: windows_core::Param<ICoreWebView2PrintSettings>,
38966 P1: windows_core::Param<ICoreWebView2PrintCompletedHandler>,
38967 {
38968 unsafe {
38969 (windows_core::Interface::vtable(self).Print)(
38970 windows_core::Interface::as_raw(self),
38971 printsettings.param().abi(),
38972 handler.param().abi(),
38973 )
38974 .ok()
38975 }
38976 }
38977 pub unsafe fn ShowPrintUI(
38978 &self,
38979 printdialogkind: COREWEBVIEW2_PRINT_DIALOG_KIND,
38980 ) -> windows_core::Result<()> {
38981 unsafe {
38982 (windows_core::Interface::vtable(self).ShowPrintUI)(
38983 windows_core::Interface::as_raw(self),
38984 printdialogkind,
38985 )
38986 .ok()
38987 }
38988 }
38989 pub unsafe fn PrintToPdfStream<P0, P1>(
38990 &self,
38991 printsettings: P0,
38992 handler: P1,
38993 ) -> windows_core::Result<()>
38994 where
38995 P0: windows_core::Param<ICoreWebView2PrintSettings>,
38996 P1: windows_core::Param<ICoreWebView2PrintToPdfStreamCompletedHandler>,
38997 {
38998 unsafe {
38999 (windows_core::Interface::vtable(self).PrintToPdfStream)(
39000 windows_core::Interface::as_raw(self),
39001 printsettings.param().abi(),
39002 handler.param().abi(),
39003 )
39004 .ok()
39005 }
39006 }
39007}
39008#[repr(C)]
39009#[doc(hidden)]
39010pub struct ICoreWebView2_16_Vtbl {
39011 pub base__: ICoreWebView2_15_Vtbl,
39012 pub Print: unsafe extern "system" fn(
39013 *mut core::ffi::c_void,
39014 *mut core::ffi::c_void,
39015 *mut core::ffi::c_void,
39016 ) -> windows_core::HRESULT,
39017 pub ShowPrintUI: unsafe extern "system" fn(
39018 *mut core::ffi::c_void,
39019 COREWEBVIEW2_PRINT_DIALOG_KIND,
39020 ) -> windows_core::HRESULT,
39021 pub PrintToPdfStream: unsafe extern "system" fn(
39022 *mut core::ffi::c_void,
39023 *mut core::ffi::c_void,
39024 *mut core::ffi::c_void,
39025 ) -> windows_core::HRESULT,
39026}
39027pub trait ICoreWebView2_16_Impl: ICoreWebView2_15_Impl {
39028 fn Print(
39029 &self,
39030 printsettings: windows_core::Ref<'_, ICoreWebView2PrintSettings>,
39031 handler: windows_core::Ref<'_, ICoreWebView2PrintCompletedHandler>,
39032 ) -> windows_core::Result<()>;
39033 fn ShowPrintUI(
39034 &self,
39035 printdialogkind: COREWEBVIEW2_PRINT_DIALOG_KIND,
39036 ) -> windows_core::Result<()>;
39037 fn PrintToPdfStream(
39038 &self,
39039 printsettings: windows_core::Ref<'_, ICoreWebView2PrintSettings>,
39040 handler: windows_core::Ref<'_, ICoreWebView2PrintToPdfStreamCompletedHandler>,
39041 ) -> windows_core::Result<()>;
39042}
39043impl ICoreWebView2_16_Vtbl {
39044 pub const fn new<Identity: ICoreWebView2_16_Impl, const OFFSET: isize>() -> Self {
39045 unsafe extern "system" fn Print<Identity: ICoreWebView2_16_Impl, const OFFSET: isize>(
39046 this: *mut core::ffi::c_void,
39047 printsettings: *mut core::ffi::c_void,
39048 handler: *mut core::ffi::c_void,
39049 ) -> windows_core::HRESULT {
39050 unsafe {
39051 let this: &Identity =
39052 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39053 ICoreWebView2_16_Impl::Print(
39054 this,
39055 core::mem::transmute_copy(&printsettings),
39056 core::mem::transmute_copy(&handler),
39057 )
39058 .into()
39059 }
39060 }
39061 unsafe extern "system" fn ShowPrintUI<
39062 Identity: ICoreWebView2_16_Impl,
39063 const OFFSET: isize,
39064 >(
39065 this: *mut core::ffi::c_void,
39066 printdialogkind: COREWEBVIEW2_PRINT_DIALOG_KIND,
39067 ) -> windows_core::HRESULT {
39068 unsafe {
39069 let this: &Identity =
39070 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39071 ICoreWebView2_16_Impl::ShowPrintUI(
39072 this,
39073 core::mem::transmute_copy(&printdialogkind),
39074 )
39075 .into()
39076 }
39077 }
39078 unsafe extern "system" fn PrintToPdfStream<
39079 Identity: ICoreWebView2_16_Impl,
39080 const OFFSET: isize,
39081 >(
39082 this: *mut core::ffi::c_void,
39083 printsettings: *mut core::ffi::c_void,
39084 handler: *mut core::ffi::c_void,
39085 ) -> windows_core::HRESULT {
39086 unsafe {
39087 let this: &Identity =
39088 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39089 ICoreWebView2_16_Impl::PrintToPdfStream(
39090 this,
39091 core::mem::transmute_copy(&printsettings),
39092 core::mem::transmute_copy(&handler),
39093 )
39094 .into()
39095 }
39096 }
39097 Self {
39098 base__: ICoreWebView2_15_Vtbl::new::<Identity, OFFSET>(),
39099 Print: Print::<Identity, OFFSET>,
39100 ShowPrintUI: ShowPrintUI::<Identity, OFFSET>,
39101 PrintToPdfStream: PrintToPdfStream::<Identity, OFFSET>,
39102 }
39103 }
39104 pub fn matches(iid: &windows_core::GUID) -> bool {
39105 iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
39106 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
39107 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
39108 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
39109 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
39110 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
39111 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
39112 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
39113 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
39114 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
39115 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
39116 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
39117 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
39118 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
39119 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
39120 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
39121 }
39122}
39123impl windows_core::RuntimeName for ICoreWebView2_16 {}
39124windows_core::imp::define_interface!(
39125 ICoreWebView2_17,
39126 ICoreWebView2_17_Vtbl,
39127 0x702e75d4_fd44_434d_9d70_1a68a6b1192a
39128);
39129impl core::ops::Deref for ICoreWebView2_17 {
39130 type Target = ICoreWebView2_16;
39131 fn deref(&self) -> &Self::Target {
39132 unsafe { core::mem::transmute(self) }
39133 }
39134}
39135windows_core::imp::interface_hierarchy!(
39136 ICoreWebView2_17,
39137 windows_core::IUnknown,
39138 ICoreWebView2,
39139 ICoreWebView2_2,
39140 ICoreWebView2_3,
39141 ICoreWebView2_4,
39142 ICoreWebView2_5,
39143 ICoreWebView2_6,
39144 ICoreWebView2_7,
39145 ICoreWebView2_8,
39146 ICoreWebView2_9,
39147 ICoreWebView2_10,
39148 ICoreWebView2_11,
39149 ICoreWebView2_12,
39150 ICoreWebView2_13,
39151 ICoreWebView2_14,
39152 ICoreWebView2_15,
39153 ICoreWebView2_16
39154);
39155impl ICoreWebView2_17 {
39156 pub unsafe fn PostSharedBufferToScript<P0, P2>(
39157 &self,
39158 sharedbuffer: P0,
39159 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
39160 additionaldataasjson: P2,
39161 ) -> windows_core::Result<()>
39162 where
39163 P0: windows_core::Param<ICoreWebView2SharedBuffer>,
39164 P2: windows_core::Param<windows_core::PCWSTR>,
39165 {
39166 unsafe {
39167 (windows_core::Interface::vtable(self).PostSharedBufferToScript)(
39168 windows_core::Interface::as_raw(self),
39169 sharedbuffer.param().abi(),
39170 access,
39171 additionaldataasjson.param().abi(),
39172 )
39173 .ok()
39174 }
39175 }
39176}
39177#[repr(C)]
39178#[doc(hidden)]
39179pub struct ICoreWebView2_17_Vtbl {
39180 pub base__: ICoreWebView2_16_Vtbl,
39181 pub PostSharedBufferToScript: unsafe extern "system" fn(
39182 *mut core::ffi::c_void,
39183 *mut core::ffi::c_void,
39184 COREWEBVIEW2_SHARED_BUFFER_ACCESS,
39185 windows_core::PCWSTR,
39186 ) -> windows_core::HRESULT,
39187}
39188pub trait ICoreWebView2_17_Impl: ICoreWebView2_16_Impl {
39189 fn PostSharedBufferToScript(
39190 &self,
39191 sharedbuffer: windows_core::Ref<'_, ICoreWebView2SharedBuffer>,
39192 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
39193 additionaldataasjson: &windows_core::PCWSTR,
39194 ) -> windows_core::Result<()>;
39195}
39196impl ICoreWebView2_17_Vtbl {
39197 pub const fn new<Identity: ICoreWebView2_17_Impl, const OFFSET: isize>() -> Self {
39198 unsafe extern "system" fn PostSharedBufferToScript<
39199 Identity: ICoreWebView2_17_Impl,
39200 const OFFSET: isize,
39201 >(
39202 this: *mut core::ffi::c_void,
39203 sharedbuffer: *mut core::ffi::c_void,
39204 access: COREWEBVIEW2_SHARED_BUFFER_ACCESS,
39205 additionaldataasjson: windows_core::PCWSTR,
39206 ) -> windows_core::HRESULT {
39207 unsafe {
39208 let this: &Identity =
39209 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39210 ICoreWebView2_17_Impl::PostSharedBufferToScript(
39211 this,
39212 core::mem::transmute_copy(&sharedbuffer),
39213 core::mem::transmute_copy(&access),
39214 core::mem::transmute(&additionaldataasjson),
39215 )
39216 .into()
39217 }
39218 }
39219 Self {
39220 base__: ICoreWebView2_16_Vtbl::new::<Identity, OFFSET>(),
39221 PostSharedBufferToScript: PostSharedBufferToScript::<Identity, OFFSET>,
39222 }
39223 }
39224 pub fn matches(iid: &windows_core::GUID) -> bool {
39225 iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
39226 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
39227 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
39228 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
39229 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
39230 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
39231 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
39232 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
39233 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
39234 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
39235 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
39236 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
39237 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
39238 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
39239 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
39240 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
39241 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
39242 }
39243}
39244impl windows_core::RuntimeName for ICoreWebView2_17 {}
39245windows_core::imp::define_interface!(
39246 ICoreWebView2_18,
39247 ICoreWebView2_18_Vtbl,
39248 0x7a626017_28be_49b2_b865_3ba2b3522d90
39249);
39250impl core::ops::Deref for ICoreWebView2_18 {
39251 type Target = ICoreWebView2_17;
39252 fn deref(&self) -> &Self::Target {
39253 unsafe { core::mem::transmute(self) }
39254 }
39255}
39256windows_core::imp::interface_hierarchy!(
39257 ICoreWebView2_18,
39258 windows_core::IUnknown,
39259 ICoreWebView2,
39260 ICoreWebView2_2,
39261 ICoreWebView2_3,
39262 ICoreWebView2_4,
39263 ICoreWebView2_5,
39264 ICoreWebView2_6,
39265 ICoreWebView2_7,
39266 ICoreWebView2_8,
39267 ICoreWebView2_9,
39268 ICoreWebView2_10,
39269 ICoreWebView2_11,
39270 ICoreWebView2_12,
39271 ICoreWebView2_13,
39272 ICoreWebView2_14,
39273 ICoreWebView2_15,
39274 ICoreWebView2_16,
39275 ICoreWebView2_17
39276);
39277impl ICoreWebView2_18 {
39278 pub unsafe fn add_LaunchingExternalUriScheme<P0>(
39279 &self,
39280 eventhandler: P0,
39281 token: *mut i64,
39282 ) -> windows_core::Result<()>
39283 where
39284 P0: windows_core::Param<ICoreWebView2LaunchingExternalUriSchemeEventHandler>,
39285 {
39286 unsafe {
39287 (windows_core::Interface::vtable(self).add_LaunchingExternalUriScheme)(
39288 windows_core::Interface::as_raw(self),
39289 eventhandler.param().abi(),
39290 token as _,
39291 )
39292 .ok()
39293 }
39294 }
39295 pub unsafe fn remove_LaunchingExternalUriScheme(&self, token: i64) -> windows_core::Result<()> {
39296 unsafe {
39297 (windows_core::Interface::vtable(self).remove_LaunchingExternalUriScheme)(
39298 windows_core::Interface::as_raw(self),
39299 token,
39300 )
39301 .ok()
39302 }
39303 }
39304}
39305#[repr(C)]
39306#[doc(hidden)]
39307pub struct ICoreWebView2_18_Vtbl {
39308 pub base__: ICoreWebView2_17_Vtbl,
39309 pub add_LaunchingExternalUriScheme: unsafe extern "system" fn(
39310 *mut core::ffi::c_void,
39311 *mut core::ffi::c_void,
39312 *mut i64,
39313 ) -> windows_core::HRESULT,
39314 pub remove_LaunchingExternalUriScheme:
39315 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
39316}
39317pub trait ICoreWebView2_18_Impl: ICoreWebView2_17_Impl {
39318 fn add_LaunchingExternalUriScheme(
39319 &self,
39320 eventhandler: windows_core::Ref<'_, ICoreWebView2LaunchingExternalUriSchemeEventHandler>,
39321 token: *mut i64,
39322 ) -> windows_core::Result<()>;
39323 fn remove_LaunchingExternalUriScheme(&self, token: i64) -> windows_core::Result<()>;
39324}
39325impl ICoreWebView2_18_Vtbl {
39326 pub const fn new<Identity: ICoreWebView2_18_Impl, const OFFSET: isize>() -> Self {
39327 unsafe extern "system" fn add_LaunchingExternalUriScheme<
39328 Identity: ICoreWebView2_18_Impl,
39329 const OFFSET: isize,
39330 >(
39331 this: *mut core::ffi::c_void,
39332 eventhandler: *mut core::ffi::c_void,
39333 token: *mut i64,
39334 ) -> windows_core::HRESULT {
39335 unsafe {
39336 let this: &Identity =
39337 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39338 ICoreWebView2_18_Impl::add_LaunchingExternalUriScheme(
39339 this,
39340 core::mem::transmute_copy(&eventhandler),
39341 core::mem::transmute_copy(&token),
39342 )
39343 .into()
39344 }
39345 }
39346 unsafe extern "system" fn remove_LaunchingExternalUriScheme<
39347 Identity: ICoreWebView2_18_Impl,
39348 const OFFSET: isize,
39349 >(
39350 this: *mut core::ffi::c_void,
39351 token: i64,
39352 ) -> windows_core::HRESULT {
39353 unsafe {
39354 let this: &Identity =
39355 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39356 ICoreWebView2_18_Impl::remove_LaunchingExternalUriScheme(
39357 this,
39358 core::mem::transmute_copy(&token),
39359 )
39360 .into()
39361 }
39362 }
39363 Self {
39364 base__: ICoreWebView2_17_Vtbl::new::<Identity, OFFSET>(),
39365 add_LaunchingExternalUriScheme: add_LaunchingExternalUriScheme::<Identity, OFFSET>,
39366 remove_LaunchingExternalUriScheme: remove_LaunchingExternalUriScheme::<Identity, OFFSET>,
39367 }
39368 }
39369 pub fn matches(iid: &windows_core::GUID) -> bool {
39370 iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
39371 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
39372 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
39373 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
39374 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
39375 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
39376 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
39377 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
39378 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
39379 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
39380 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
39381 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
39382 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
39383 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
39384 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
39385 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
39386 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
39387 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
39388 }
39389}
39390impl windows_core::RuntimeName for ICoreWebView2_18 {}
39391windows_core::imp::define_interface!(
39392 ICoreWebView2_19,
39393 ICoreWebView2_19_Vtbl,
39394 0x6921f954_79b0_437f_a997_c85811897c68
39395);
39396impl core::ops::Deref for ICoreWebView2_19 {
39397 type Target = ICoreWebView2_18;
39398 fn deref(&self) -> &Self::Target {
39399 unsafe { core::mem::transmute(self) }
39400 }
39401}
39402windows_core::imp::interface_hierarchy!(
39403 ICoreWebView2_19,
39404 windows_core::IUnknown,
39405 ICoreWebView2,
39406 ICoreWebView2_2,
39407 ICoreWebView2_3,
39408 ICoreWebView2_4,
39409 ICoreWebView2_5,
39410 ICoreWebView2_6,
39411 ICoreWebView2_7,
39412 ICoreWebView2_8,
39413 ICoreWebView2_9,
39414 ICoreWebView2_10,
39415 ICoreWebView2_11,
39416 ICoreWebView2_12,
39417 ICoreWebView2_13,
39418 ICoreWebView2_14,
39419 ICoreWebView2_15,
39420 ICoreWebView2_16,
39421 ICoreWebView2_17,
39422 ICoreWebView2_18
39423);
39424impl ICoreWebView2_19 {
39425 pub unsafe fn MemoryUsageTargetLevel(
39426 &self,
39427 value: *mut COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39428 ) -> windows_core::Result<()> {
39429 unsafe {
39430 (windows_core::Interface::vtable(self).MemoryUsageTargetLevel)(
39431 windows_core::Interface::as_raw(self),
39432 value as _,
39433 )
39434 .ok()
39435 }
39436 }
39437 pub unsafe fn SetMemoryUsageTargetLevel(
39438 &self,
39439 value: COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39440 ) -> windows_core::Result<()> {
39441 unsafe {
39442 (windows_core::Interface::vtable(self).SetMemoryUsageTargetLevel)(
39443 windows_core::Interface::as_raw(self),
39444 value,
39445 )
39446 .ok()
39447 }
39448 }
39449}
39450#[repr(C)]
39451#[doc(hidden)]
39452pub struct ICoreWebView2_19_Vtbl {
39453 pub base__: ICoreWebView2_18_Vtbl,
39454 pub MemoryUsageTargetLevel: unsafe extern "system" fn(
39455 *mut core::ffi::c_void,
39456 *mut COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39457 ) -> windows_core::HRESULT,
39458 pub SetMemoryUsageTargetLevel: unsafe extern "system" fn(
39459 *mut core::ffi::c_void,
39460 COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39461 ) -> windows_core::HRESULT,
39462}
39463pub trait ICoreWebView2_19_Impl: ICoreWebView2_18_Impl {
39464 fn MemoryUsageTargetLevel(
39465 &self,
39466 value: *mut COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39467 ) -> windows_core::Result<()>;
39468 fn SetMemoryUsageTargetLevel(
39469 &self,
39470 value: COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39471 ) -> windows_core::Result<()>;
39472}
39473impl ICoreWebView2_19_Vtbl {
39474 pub const fn new<Identity: ICoreWebView2_19_Impl, const OFFSET: isize>() -> Self {
39475 unsafe extern "system" fn MemoryUsageTargetLevel<
39476 Identity: ICoreWebView2_19_Impl,
39477 const OFFSET: isize,
39478 >(
39479 this: *mut core::ffi::c_void,
39480 value: *mut COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39481 ) -> windows_core::HRESULT {
39482 unsafe {
39483 let this: &Identity =
39484 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39485 ICoreWebView2_19_Impl::MemoryUsageTargetLevel(
39486 this,
39487 core::mem::transmute_copy(&value),
39488 )
39489 .into()
39490 }
39491 }
39492 unsafe extern "system" fn SetMemoryUsageTargetLevel<
39493 Identity: ICoreWebView2_19_Impl,
39494 const OFFSET: isize,
39495 >(
39496 this: *mut core::ffi::c_void,
39497 value: COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL,
39498 ) -> windows_core::HRESULT {
39499 unsafe {
39500 let this: &Identity =
39501 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39502 ICoreWebView2_19_Impl::SetMemoryUsageTargetLevel(
39503 this,
39504 core::mem::transmute_copy(&value),
39505 )
39506 .into()
39507 }
39508 }
39509 Self {
39510 base__: ICoreWebView2_18_Vtbl::new::<Identity, OFFSET>(),
39511 MemoryUsageTargetLevel: MemoryUsageTargetLevel::<Identity, OFFSET>,
39512 SetMemoryUsageTargetLevel: SetMemoryUsageTargetLevel::<Identity, OFFSET>,
39513 }
39514 }
39515 pub fn matches(iid: &windows_core::GUID) -> bool {
39516 iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
39517 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
39518 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
39519 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
39520 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
39521 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
39522 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
39523 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
39524 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
39525 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
39526 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
39527 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
39528 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
39529 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
39530 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
39531 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
39532 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
39533 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
39534 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
39535 }
39536}
39537impl windows_core::RuntimeName for ICoreWebView2_19 {}
39538windows_core::imp::define_interface!(
39539 ICoreWebView2_2,
39540 ICoreWebView2_2_Vtbl,
39541 0x9e8f0cf8_e670_4b5e_b2bc_73e061e3184c
39542);
39543impl core::ops::Deref for ICoreWebView2_2 {
39544 type Target = ICoreWebView2;
39545 fn deref(&self) -> &Self::Target {
39546 unsafe { core::mem::transmute(self) }
39547 }
39548}
39549windows_core::imp::interface_hierarchy!(ICoreWebView2_2, windows_core::IUnknown, ICoreWebView2);
39550impl ICoreWebView2_2 {
39551 pub unsafe fn add_WebResourceResponseReceived<P0>(
39552 &self,
39553 eventhandler: P0,
39554 token: *mut i64,
39555 ) -> windows_core::Result<()>
39556 where
39557 P0: windows_core::Param<ICoreWebView2WebResourceResponseReceivedEventHandler>,
39558 {
39559 unsafe {
39560 (windows_core::Interface::vtable(self).add_WebResourceResponseReceived)(
39561 windows_core::Interface::as_raw(self),
39562 eventhandler.param().abi(),
39563 token as _,
39564 )
39565 .ok()
39566 }
39567 }
39568 pub unsafe fn remove_WebResourceResponseReceived(
39569 &self,
39570 token: i64,
39571 ) -> windows_core::Result<()> {
39572 unsafe {
39573 (windows_core::Interface::vtable(self).remove_WebResourceResponseReceived)(
39574 windows_core::Interface::as_raw(self),
39575 token,
39576 )
39577 .ok()
39578 }
39579 }
39580 pub unsafe fn NavigateWithWebResourceRequest<P0>(&self, request: P0) -> windows_core::Result<()>
39581 where
39582 P0: windows_core::Param<ICoreWebView2WebResourceRequest>,
39583 {
39584 unsafe {
39585 (windows_core::Interface::vtable(self).NavigateWithWebResourceRequest)(
39586 windows_core::Interface::as_raw(self),
39587 request.param().abi(),
39588 )
39589 .ok()
39590 }
39591 }
39592 pub unsafe fn add_DOMContentLoaded<P0>(
39593 &self,
39594 eventhandler: P0,
39595 token: *mut i64,
39596 ) -> windows_core::Result<()>
39597 where
39598 P0: windows_core::Param<ICoreWebView2DOMContentLoadedEventHandler>,
39599 {
39600 unsafe {
39601 (windows_core::Interface::vtable(self).add_DOMContentLoaded)(
39602 windows_core::Interface::as_raw(self),
39603 eventhandler.param().abi(),
39604 token as _,
39605 )
39606 .ok()
39607 }
39608 }
39609 pub unsafe fn remove_DOMContentLoaded(&self, token: i64) -> windows_core::Result<()> {
39610 unsafe {
39611 (windows_core::Interface::vtable(self).remove_DOMContentLoaded)(
39612 windows_core::Interface::as_raw(self),
39613 token,
39614 )
39615 .ok()
39616 }
39617 }
39618 pub unsafe fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager> {
39619 unsafe {
39620 let mut result__ = core::mem::zeroed();
39621 (windows_core::Interface::vtable(self).CookieManager)(
39622 windows_core::Interface::as_raw(self),
39623 &mut result__,
39624 )
39625 .and_then(|| windows_core::Type::from_abi(result__))
39626 }
39627 }
39628 pub unsafe fn Environment(&self) -> windows_core::Result<ICoreWebView2Environment> {
39629 unsafe {
39630 let mut result__ = core::mem::zeroed();
39631 (windows_core::Interface::vtable(self).Environment)(
39632 windows_core::Interface::as_raw(self),
39633 &mut result__,
39634 )
39635 .and_then(|| windows_core::Type::from_abi(result__))
39636 }
39637 }
39638}
39639#[repr(C)]
39640#[doc(hidden)]
39641pub struct ICoreWebView2_2_Vtbl {
39642 pub base__: ICoreWebView2_Vtbl,
39643 pub add_WebResourceResponseReceived: unsafe extern "system" fn(
39644 *mut core::ffi::c_void,
39645 *mut core::ffi::c_void,
39646 *mut i64,
39647 ) -> windows_core::HRESULT,
39648 pub remove_WebResourceResponseReceived:
39649 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
39650 pub NavigateWithWebResourceRequest: unsafe extern "system" fn(
39651 *mut core::ffi::c_void,
39652 *mut core::ffi::c_void,
39653 ) -> windows_core::HRESULT,
39654 pub add_DOMContentLoaded: unsafe extern "system" fn(
39655 *mut core::ffi::c_void,
39656 *mut core::ffi::c_void,
39657 *mut i64,
39658 ) -> windows_core::HRESULT,
39659 pub remove_DOMContentLoaded:
39660 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
39661 pub CookieManager: unsafe extern "system" fn(
39662 *mut core::ffi::c_void,
39663 *mut *mut core::ffi::c_void,
39664 ) -> windows_core::HRESULT,
39665 pub Environment: unsafe extern "system" fn(
39666 *mut core::ffi::c_void,
39667 *mut *mut core::ffi::c_void,
39668 ) -> windows_core::HRESULT,
39669}
39670pub trait ICoreWebView2_2_Impl: ICoreWebView2_Impl {
39671 fn add_WebResourceResponseReceived(
39672 &self,
39673 eventhandler: windows_core::Ref<'_, ICoreWebView2WebResourceResponseReceivedEventHandler>,
39674 token: *mut i64,
39675 ) -> windows_core::Result<()>;
39676 fn remove_WebResourceResponseReceived(&self, token: i64) -> windows_core::Result<()>;
39677 fn NavigateWithWebResourceRequest(
39678 &self,
39679 request: windows_core::Ref<'_, ICoreWebView2WebResourceRequest>,
39680 ) -> windows_core::Result<()>;
39681 fn add_DOMContentLoaded(
39682 &self,
39683 eventhandler: windows_core::Ref<'_, ICoreWebView2DOMContentLoadedEventHandler>,
39684 token: *mut i64,
39685 ) -> windows_core::Result<()>;
39686 fn remove_DOMContentLoaded(&self, token: i64) -> windows_core::Result<()>;
39687 fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager>;
39688 fn Environment(&self) -> windows_core::Result<ICoreWebView2Environment>;
39689}
39690impl ICoreWebView2_2_Vtbl {
39691 pub const fn new<Identity: ICoreWebView2_2_Impl, const OFFSET: isize>() -> Self {
39692 unsafe extern "system" fn add_WebResourceResponseReceived<
39693 Identity: ICoreWebView2_2_Impl,
39694 const OFFSET: isize,
39695 >(
39696 this: *mut core::ffi::c_void,
39697 eventhandler: *mut core::ffi::c_void,
39698 token: *mut i64,
39699 ) -> windows_core::HRESULT {
39700 unsafe {
39701 let this: &Identity =
39702 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39703 ICoreWebView2_2_Impl::add_WebResourceResponseReceived(
39704 this,
39705 core::mem::transmute_copy(&eventhandler),
39706 core::mem::transmute_copy(&token),
39707 )
39708 .into()
39709 }
39710 }
39711 unsafe extern "system" fn remove_WebResourceResponseReceived<
39712 Identity: ICoreWebView2_2_Impl,
39713 const OFFSET: isize,
39714 >(
39715 this: *mut core::ffi::c_void,
39716 token: i64,
39717 ) -> windows_core::HRESULT {
39718 unsafe {
39719 let this: &Identity =
39720 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39721 ICoreWebView2_2_Impl::remove_WebResourceResponseReceived(
39722 this,
39723 core::mem::transmute_copy(&token),
39724 )
39725 .into()
39726 }
39727 }
39728 unsafe extern "system" fn NavigateWithWebResourceRequest<
39729 Identity: ICoreWebView2_2_Impl,
39730 const OFFSET: isize,
39731 >(
39732 this: *mut core::ffi::c_void,
39733 request: *mut core::ffi::c_void,
39734 ) -> windows_core::HRESULT {
39735 unsafe {
39736 let this: &Identity =
39737 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39738 ICoreWebView2_2_Impl::NavigateWithWebResourceRequest(
39739 this,
39740 core::mem::transmute_copy(&request),
39741 )
39742 .into()
39743 }
39744 }
39745 unsafe extern "system" fn add_DOMContentLoaded<
39746 Identity: ICoreWebView2_2_Impl,
39747 const OFFSET: isize,
39748 >(
39749 this: *mut core::ffi::c_void,
39750 eventhandler: *mut core::ffi::c_void,
39751 token: *mut i64,
39752 ) -> windows_core::HRESULT {
39753 unsafe {
39754 let this: &Identity =
39755 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39756 ICoreWebView2_2_Impl::add_DOMContentLoaded(
39757 this,
39758 core::mem::transmute_copy(&eventhandler),
39759 core::mem::transmute_copy(&token),
39760 )
39761 .into()
39762 }
39763 }
39764 unsafe extern "system" fn remove_DOMContentLoaded<
39765 Identity: ICoreWebView2_2_Impl,
39766 const OFFSET: isize,
39767 >(
39768 this: *mut core::ffi::c_void,
39769 token: i64,
39770 ) -> windows_core::HRESULT {
39771 unsafe {
39772 let this: &Identity =
39773 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39774 ICoreWebView2_2_Impl::remove_DOMContentLoaded(
39775 this,
39776 core::mem::transmute_copy(&token),
39777 )
39778 .into()
39779 }
39780 }
39781 unsafe extern "system" fn CookieManager<
39782 Identity: ICoreWebView2_2_Impl,
39783 const OFFSET: isize,
39784 >(
39785 this: *mut core::ffi::c_void,
39786 cookiemanager: *mut *mut core::ffi::c_void,
39787 ) -> windows_core::HRESULT {
39788 unsafe {
39789 let this: &Identity =
39790 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39791 match ICoreWebView2_2_Impl::CookieManager(this) {
39792 Ok(ok__) => {
39793 cookiemanager.write(core::mem::transmute(ok__));
39794 windows_core::HRESULT(0)
39795 }
39796 Err(err) => err.into(),
39797 }
39798 }
39799 }
39800 unsafe extern "system" fn Environment<
39801 Identity: ICoreWebView2_2_Impl,
39802 const OFFSET: isize,
39803 >(
39804 this: *mut core::ffi::c_void,
39805 environment: *mut *mut core::ffi::c_void,
39806 ) -> windows_core::HRESULT {
39807 unsafe {
39808 let this: &Identity =
39809 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39810 match ICoreWebView2_2_Impl::Environment(this) {
39811 Ok(ok__) => {
39812 environment.write(core::mem::transmute(ok__));
39813 windows_core::HRESULT(0)
39814 }
39815 Err(err) => err.into(),
39816 }
39817 }
39818 }
39819 Self {
39820 base__: ICoreWebView2_Vtbl::new::<Identity, OFFSET>(),
39821 add_WebResourceResponseReceived: add_WebResourceResponseReceived::<Identity, OFFSET>,
39822 remove_WebResourceResponseReceived: remove_WebResourceResponseReceived::<
39823 Identity,
39824 OFFSET,
39825 >,
39826 NavigateWithWebResourceRequest: NavigateWithWebResourceRequest::<Identity, OFFSET>,
39827 add_DOMContentLoaded: add_DOMContentLoaded::<Identity, OFFSET>,
39828 remove_DOMContentLoaded: remove_DOMContentLoaded::<Identity, OFFSET>,
39829 CookieManager: CookieManager::<Identity, OFFSET>,
39830 Environment: Environment::<Identity, OFFSET>,
39831 }
39832 }
39833 pub fn matches(iid: &windows_core::GUID) -> bool {
39834 iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
39835 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
39836 }
39837}
39838impl windows_core::RuntimeName for ICoreWebView2_2 {}
39839windows_core::imp::define_interface!(
39840 ICoreWebView2_20,
39841 ICoreWebView2_20_Vtbl,
39842 0xb4bc1926_7305_11ee_b962_0242ac120002
39843);
39844impl core::ops::Deref for ICoreWebView2_20 {
39845 type Target = ICoreWebView2_19;
39846 fn deref(&self) -> &Self::Target {
39847 unsafe { core::mem::transmute(self) }
39848 }
39849}
39850windows_core::imp::interface_hierarchy!(
39851 ICoreWebView2_20,
39852 windows_core::IUnknown,
39853 ICoreWebView2,
39854 ICoreWebView2_2,
39855 ICoreWebView2_3,
39856 ICoreWebView2_4,
39857 ICoreWebView2_5,
39858 ICoreWebView2_6,
39859 ICoreWebView2_7,
39860 ICoreWebView2_8,
39861 ICoreWebView2_9,
39862 ICoreWebView2_10,
39863 ICoreWebView2_11,
39864 ICoreWebView2_12,
39865 ICoreWebView2_13,
39866 ICoreWebView2_14,
39867 ICoreWebView2_15,
39868 ICoreWebView2_16,
39869 ICoreWebView2_17,
39870 ICoreWebView2_18,
39871 ICoreWebView2_19
39872);
39873impl ICoreWebView2_20 {
39874 pub unsafe fn FrameId(&self, value: *mut u32) -> windows_core::Result<()> {
39875 unsafe {
39876 (windows_core::Interface::vtable(self).FrameId)(
39877 windows_core::Interface::as_raw(self),
39878 value as _,
39879 )
39880 .ok()
39881 }
39882 }
39883}
39884#[repr(C)]
39885#[doc(hidden)]
39886pub struct ICoreWebView2_20_Vtbl {
39887 pub base__: ICoreWebView2_19_Vtbl,
39888 pub FrameId:
39889 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
39890}
39891pub trait ICoreWebView2_20_Impl: ICoreWebView2_19_Impl {
39892 fn FrameId(&self, value: *mut u32) -> windows_core::Result<()>;
39893}
39894impl ICoreWebView2_20_Vtbl {
39895 pub const fn new<Identity: ICoreWebView2_20_Impl, const OFFSET: isize>() -> Self {
39896 unsafe extern "system" fn FrameId<Identity: ICoreWebView2_20_Impl, const OFFSET: isize>(
39897 this: *mut core::ffi::c_void,
39898 value: *mut u32,
39899 ) -> windows_core::HRESULT {
39900 unsafe {
39901 let this: &Identity =
39902 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
39903 ICoreWebView2_20_Impl::FrameId(this, core::mem::transmute_copy(&value)).into()
39904 }
39905 }
39906 Self {
39907 base__: ICoreWebView2_19_Vtbl::new::<Identity, OFFSET>(),
39908 FrameId: FrameId::<Identity, OFFSET>,
39909 }
39910 }
39911 pub fn matches(iid: &windows_core::GUID) -> bool {
39912 iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
39913 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
39914 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
39915 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
39916 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
39917 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
39918 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
39919 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
39920 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
39921 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
39922 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
39923 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
39924 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
39925 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
39926 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
39927 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
39928 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
39929 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
39930 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
39931 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
39932 }
39933}
39934impl windows_core::RuntimeName for ICoreWebView2_20 {}
39935windows_core::imp::define_interface!(
39936 ICoreWebView2_21,
39937 ICoreWebView2_21_Vtbl,
39938 0xc4980dea_587b_43b9_8143_3ef3bf552d95
39939);
39940impl core::ops::Deref for ICoreWebView2_21 {
39941 type Target = ICoreWebView2_20;
39942 fn deref(&self) -> &Self::Target {
39943 unsafe { core::mem::transmute(self) }
39944 }
39945}
39946windows_core::imp::interface_hierarchy!(
39947 ICoreWebView2_21,
39948 windows_core::IUnknown,
39949 ICoreWebView2,
39950 ICoreWebView2_2,
39951 ICoreWebView2_3,
39952 ICoreWebView2_4,
39953 ICoreWebView2_5,
39954 ICoreWebView2_6,
39955 ICoreWebView2_7,
39956 ICoreWebView2_8,
39957 ICoreWebView2_9,
39958 ICoreWebView2_10,
39959 ICoreWebView2_11,
39960 ICoreWebView2_12,
39961 ICoreWebView2_13,
39962 ICoreWebView2_14,
39963 ICoreWebView2_15,
39964 ICoreWebView2_16,
39965 ICoreWebView2_17,
39966 ICoreWebView2_18,
39967 ICoreWebView2_19,
39968 ICoreWebView2_20
39969);
39970impl ICoreWebView2_21 {
39971 pub unsafe fn ExecuteScriptWithResult<P0, P1>(
39972 &self,
39973 javascript: P0,
39974 handler: P1,
39975 ) -> windows_core::Result<()>
39976 where
39977 P0: windows_core::Param<windows_core::PCWSTR>,
39978 P1: windows_core::Param<ICoreWebView2ExecuteScriptWithResultCompletedHandler>,
39979 {
39980 unsafe {
39981 (windows_core::Interface::vtable(self).ExecuteScriptWithResult)(
39982 windows_core::Interface::as_raw(self),
39983 javascript.param().abi(),
39984 handler.param().abi(),
39985 )
39986 .ok()
39987 }
39988 }
39989}
39990#[repr(C)]
39991#[doc(hidden)]
39992pub struct ICoreWebView2_21_Vtbl {
39993 pub base__: ICoreWebView2_20_Vtbl,
39994 pub ExecuteScriptWithResult: unsafe extern "system" fn(
39995 *mut core::ffi::c_void,
39996 windows_core::PCWSTR,
39997 *mut core::ffi::c_void,
39998 ) -> windows_core::HRESULT,
39999}
40000pub trait ICoreWebView2_21_Impl: ICoreWebView2_20_Impl {
40001 fn ExecuteScriptWithResult(
40002 &self,
40003 javascript: &windows_core::PCWSTR,
40004 handler: windows_core::Ref<'_, ICoreWebView2ExecuteScriptWithResultCompletedHandler>,
40005 ) -> windows_core::Result<()>;
40006}
40007impl ICoreWebView2_21_Vtbl {
40008 pub const fn new<Identity: ICoreWebView2_21_Impl, const OFFSET: isize>() -> Self {
40009 unsafe extern "system" fn ExecuteScriptWithResult<
40010 Identity: ICoreWebView2_21_Impl,
40011 const OFFSET: isize,
40012 >(
40013 this: *mut core::ffi::c_void,
40014 javascript: windows_core::PCWSTR,
40015 handler: *mut core::ffi::c_void,
40016 ) -> windows_core::HRESULT {
40017 unsafe {
40018 let this: &Identity =
40019 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40020 ICoreWebView2_21_Impl::ExecuteScriptWithResult(
40021 this,
40022 core::mem::transmute(&javascript),
40023 core::mem::transmute_copy(&handler),
40024 )
40025 .into()
40026 }
40027 }
40028 Self {
40029 base__: ICoreWebView2_20_Vtbl::new::<Identity, OFFSET>(),
40030 ExecuteScriptWithResult: ExecuteScriptWithResult::<Identity, OFFSET>,
40031 }
40032 }
40033 pub fn matches(iid: &windows_core::GUID) -> bool {
40034 iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
40035 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40036 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40037 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40038 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40039 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40040 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40041 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40042 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40043 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40044 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40045 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40046 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40047 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40048 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40049 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
40050 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
40051 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
40052 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
40053 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
40054 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
40055 }
40056}
40057impl windows_core::RuntimeName for ICoreWebView2_21 {}
40058windows_core::imp::define_interface!(
40059 ICoreWebView2_22,
40060 ICoreWebView2_22_Vtbl,
40061 0xdb75dfc7_a857_4632_a398_6969dde26c0a
40062);
40063impl core::ops::Deref for ICoreWebView2_22 {
40064 type Target = ICoreWebView2_21;
40065 fn deref(&self) -> &Self::Target {
40066 unsafe { core::mem::transmute(self) }
40067 }
40068}
40069windows_core::imp::interface_hierarchy!(
40070 ICoreWebView2_22,
40071 windows_core::IUnknown,
40072 ICoreWebView2,
40073 ICoreWebView2_2,
40074 ICoreWebView2_3,
40075 ICoreWebView2_4,
40076 ICoreWebView2_5,
40077 ICoreWebView2_6,
40078 ICoreWebView2_7,
40079 ICoreWebView2_8,
40080 ICoreWebView2_9,
40081 ICoreWebView2_10,
40082 ICoreWebView2_11,
40083 ICoreWebView2_12,
40084 ICoreWebView2_13,
40085 ICoreWebView2_14,
40086 ICoreWebView2_15,
40087 ICoreWebView2_16,
40088 ICoreWebView2_17,
40089 ICoreWebView2_18,
40090 ICoreWebView2_19,
40091 ICoreWebView2_20,
40092 ICoreWebView2_21
40093);
40094impl ICoreWebView2_22 {
40095 pub unsafe fn AddWebResourceRequestedFilterWithRequestSourceKinds<P0>(
40096 &self,
40097 uri: P0,
40098 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40099 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40100 ) -> windows_core::Result<()>
40101 where
40102 P0: windows_core::Param<windows_core::PCWSTR>,
40103 {
40104 unsafe {
40105 (windows_core::Interface::vtable(self)
40106 .AddWebResourceRequestedFilterWithRequestSourceKinds)(
40107 windows_core::Interface::as_raw(self),
40108 uri.param().abi(),
40109 resourcecontext,
40110 requestsourcekinds,
40111 )
40112 .ok()
40113 }
40114 }
40115 pub unsafe fn RemoveWebResourceRequestedFilterWithRequestSourceKinds<P0>(
40116 &self,
40117 uri: P0,
40118 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40119 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40120 ) -> windows_core::Result<()>
40121 where
40122 P0: windows_core::Param<windows_core::PCWSTR>,
40123 {
40124 unsafe {
40125 (windows_core::Interface::vtable(self)
40126 .RemoveWebResourceRequestedFilterWithRequestSourceKinds)(
40127 windows_core::Interface::as_raw(self),
40128 uri.param().abi(),
40129 resourcecontext,
40130 requestsourcekinds,
40131 )
40132 .ok()
40133 }
40134 }
40135}
40136#[repr(C)]
40137#[doc(hidden)]
40138pub struct ICoreWebView2_22_Vtbl {
40139 pub base__: ICoreWebView2_21_Vtbl,
40140 pub AddWebResourceRequestedFilterWithRequestSourceKinds:
40141 unsafe extern "system" fn(
40142 *mut core::ffi::c_void,
40143 windows_core::PCWSTR,
40144 COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40145 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40146 ) -> windows_core::HRESULT,
40147 pub RemoveWebResourceRequestedFilterWithRequestSourceKinds:
40148 unsafe extern "system" fn(
40149 *mut core::ffi::c_void,
40150 windows_core::PCWSTR,
40151 COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40152 COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40153 ) -> windows_core::HRESULT,
40154}
40155pub trait ICoreWebView2_22_Impl: ICoreWebView2_21_Impl {
40156 fn AddWebResourceRequestedFilterWithRequestSourceKinds(
40157 &self,
40158 uri: &windows_core::PCWSTR,
40159 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40160 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40161 ) -> windows_core::Result<()>;
40162 fn RemoveWebResourceRequestedFilterWithRequestSourceKinds(
40163 &self,
40164 uri: &windows_core::PCWSTR,
40165 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40166 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40167 ) -> windows_core::Result<()>;
40168}
40169impl ICoreWebView2_22_Vtbl {
40170 pub const fn new<Identity: ICoreWebView2_22_Impl, const OFFSET: isize>() -> Self {
40171 unsafe extern "system" fn AddWebResourceRequestedFilterWithRequestSourceKinds<
40172 Identity: ICoreWebView2_22_Impl,
40173 const OFFSET: isize,
40174 >(
40175 this: *mut core::ffi::c_void,
40176 uri: windows_core::PCWSTR,
40177 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40178 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40179 ) -> windows_core::HRESULT {
40180 unsafe {
40181 let this: &Identity =
40182 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40183 ICoreWebView2_22_Impl::AddWebResourceRequestedFilterWithRequestSourceKinds(
40184 this,
40185 core::mem::transmute(&uri),
40186 core::mem::transmute_copy(&resourcecontext),
40187 core::mem::transmute_copy(&requestsourcekinds),
40188 )
40189 .into()
40190 }
40191 }
40192 unsafe extern "system" fn RemoveWebResourceRequestedFilterWithRequestSourceKinds<
40193 Identity: ICoreWebView2_22_Impl,
40194 const OFFSET: isize,
40195 >(
40196 this: *mut core::ffi::c_void,
40197 uri: windows_core::PCWSTR,
40198 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
40199 requestsourcekinds: COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS,
40200 ) -> windows_core::HRESULT {
40201 unsafe {
40202 let this: &Identity =
40203 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40204 ICoreWebView2_22_Impl::RemoveWebResourceRequestedFilterWithRequestSourceKinds(
40205 this,
40206 core::mem::transmute(&uri),
40207 core::mem::transmute_copy(&resourcecontext),
40208 core::mem::transmute_copy(&requestsourcekinds),
40209 )
40210 .into()
40211 }
40212 }
40213 Self {
40214 base__: ICoreWebView2_21_Vtbl::new::<Identity, OFFSET>(),
40215 AddWebResourceRequestedFilterWithRequestSourceKinds:
40216 AddWebResourceRequestedFilterWithRequestSourceKinds::<Identity, OFFSET>,
40217 RemoveWebResourceRequestedFilterWithRequestSourceKinds:
40218 RemoveWebResourceRequestedFilterWithRequestSourceKinds::<Identity, OFFSET>,
40219 }
40220 }
40221 pub fn matches(iid: &windows_core::GUID) -> bool {
40222 iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
40223 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40224 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40225 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40226 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40227 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40228 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40229 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40230 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40231 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40232 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40233 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40234 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40235 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40236 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40237 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
40238 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
40239 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
40240 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
40241 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
40242 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
40243 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
40244 }
40245}
40246impl windows_core::RuntimeName for ICoreWebView2_22 {}
40247windows_core::imp::define_interface!(
40248 ICoreWebView2_23,
40249 ICoreWebView2_23_Vtbl,
40250 0x508f0db5_90c4_5872_90a7_267a91377502
40251);
40252impl core::ops::Deref for ICoreWebView2_23 {
40253 type Target = ICoreWebView2_22;
40254 fn deref(&self) -> &Self::Target {
40255 unsafe { core::mem::transmute(self) }
40256 }
40257}
40258windows_core::imp::interface_hierarchy!(
40259 ICoreWebView2_23,
40260 windows_core::IUnknown,
40261 ICoreWebView2,
40262 ICoreWebView2_2,
40263 ICoreWebView2_3,
40264 ICoreWebView2_4,
40265 ICoreWebView2_5,
40266 ICoreWebView2_6,
40267 ICoreWebView2_7,
40268 ICoreWebView2_8,
40269 ICoreWebView2_9,
40270 ICoreWebView2_10,
40271 ICoreWebView2_11,
40272 ICoreWebView2_12,
40273 ICoreWebView2_13,
40274 ICoreWebView2_14,
40275 ICoreWebView2_15,
40276 ICoreWebView2_16,
40277 ICoreWebView2_17,
40278 ICoreWebView2_18,
40279 ICoreWebView2_19,
40280 ICoreWebView2_20,
40281 ICoreWebView2_21,
40282 ICoreWebView2_22
40283);
40284impl ICoreWebView2_23 {
40285 pub unsafe fn PostWebMessageAsJsonWithAdditionalObjects<P0, P1>(
40286 &self,
40287 webmessageasjson: P0,
40288 additionalobjects: P1,
40289 ) -> windows_core::Result<()>
40290 where
40291 P0: windows_core::Param<windows_core::PCWSTR>,
40292 P1: windows_core::Param<ICoreWebView2ObjectCollectionView>,
40293 {
40294 unsafe {
40295 (windows_core::Interface::vtable(self).PostWebMessageAsJsonWithAdditionalObjects)(
40296 windows_core::Interface::as_raw(self),
40297 webmessageasjson.param().abi(),
40298 additionalobjects.param().abi(),
40299 )
40300 .ok()
40301 }
40302 }
40303}
40304#[repr(C)]
40305#[doc(hidden)]
40306pub struct ICoreWebView2_23_Vtbl {
40307 pub base__: ICoreWebView2_22_Vtbl,
40308 pub PostWebMessageAsJsonWithAdditionalObjects:
40309 unsafe extern "system" fn(
40310 *mut core::ffi::c_void,
40311 windows_core::PCWSTR,
40312 *mut core::ffi::c_void,
40313 ) -> windows_core::HRESULT,
40314}
40315pub trait ICoreWebView2_23_Impl: ICoreWebView2_22_Impl {
40316 fn PostWebMessageAsJsonWithAdditionalObjects(
40317 &self,
40318 webmessageasjson: &windows_core::PCWSTR,
40319 additionalobjects: windows_core::Ref<'_, ICoreWebView2ObjectCollectionView>,
40320 ) -> windows_core::Result<()>;
40321}
40322impl ICoreWebView2_23_Vtbl {
40323 pub const fn new<Identity: ICoreWebView2_23_Impl, const OFFSET: isize>() -> Self {
40324 unsafe extern "system" fn PostWebMessageAsJsonWithAdditionalObjects<
40325 Identity: ICoreWebView2_23_Impl,
40326 const OFFSET: isize,
40327 >(
40328 this: *mut core::ffi::c_void,
40329 webmessageasjson: windows_core::PCWSTR,
40330 additionalobjects: *mut core::ffi::c_void,
40331 ) -> windows_core::HRESULT {
40332 unsafe {
40333 let this: &Identity =
40334 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40335 ICoreWebView2_23_Impl::PostWebMessageAsJsonWithAdditionalObjects(
40336 this,
40337 core::mem::transmute(&webmessageasjson),
40338 core::mem::transmute_copy(&additionalobjects),
40339 )
40340 .into()
40341 }
40342 }
40343 Self {
40344 base__: ICoreWebView2_22_Vtbl::new::<Identity, OFFSET>(),
40345 PostWebMessageAsJsonWithAdditionalObjects: PostWebMessageAsJsonWithAdditionalObjects::<
40346 Identity,
40347 OFFSET,
40348 >,
40349 }
40350 }
40351 pub fn matches(iid: &windows_core::GUID) -> bool {
40352 iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
40353 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40354 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40355 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40356 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40357 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40358 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40359 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40360 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40361 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40362 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40363 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40364 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40365 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40366 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40367 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
40368 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
40369 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
40370 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
40371 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
40372 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
40373 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
40374 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
40375 }
40376}
40377impl windows_core::RuntimeName for ICoreWebView2_23 {}
40378windows_core::imp::define_interface!(
40379 ICoreWebView2_24,
40380 ICoreWebView2_24_Vtbl,
40381 0x39a7ad55_4287_5cc1_88a1_c6f458593824
40382);
40383impl core::ops::Deref for ICoreWebView2_24 {
40384 type Target = ICoreWebView2_23;
40385 fn deref(&self) -> &Self::Target {
40386 unsafe { core::mem::transmute(self) }
40387 }
40388}
40389windows_core::imp::interface_hierarchy!(
40390 ICoreWebView2_24,
40391 windows_core::IUnknown,
40392 ICoreWebView2,
40393 ICoreWebView2_2,
40394 ICoreWebView2_3,
40395 ICoreWebView2_4,
40396 ICoreWebView2_5,
40397 ICoreWebView2_6,
40398 ICoreWebView2_7,
40399 ICoreWebView2_8,
40400 ICoreWebView2_9,
40401 ICoreWebView2_10,
40402 ICoreWebView2_11,
40403 ICoreWebView2_12,
40404 ICoreWebView2_13,
40405 ICoreWebView2_14,
40406 ICoreWebView2_15,
40407 ICoreWebView2_16,
40408 ICoreWebView2_17,
40409 ICoreWebView2_18,
40410 ICoreWebView2_19,
40411 ICoreWebView2_20,
40412 ICoreWebView2_21,
40413 ICoreWebView2_22,
40414 ICoreWebView2_23
40415);
40416impl ICoreWebView2_24 {
40417 pub unsafe fn add_NotificationReceived<P0>(
40418 &self,
40419 eventhandler: P0,
40420 token: *mut i64,
40421 ) -> windows_core::Result<()>
40422 where
40423 P0: windows_core::Param<ICoreWebView2NotificationReceivedEventHandler>,
40424 {
40425 unsafe {
40426 (windows_core::Interface::vtable(self).add_NotificationReceived)(
40427 windows_core::Interface::as_raw(self),
40428 eventhandler.param().abi(),
40429 token as _,
40430 )
40431 .ok()
40432 }
40433 }
40434 pub unsafe fn remove_NotificationReceived(&self, token: i64) -> windows_core::Result<()> {
40435 unsafe {
40436 (windows_core::Interface::vtable(self).remove_NotificationReceived)(
40437 windows_core::Interface::as_raw(self),
40438 token,
40439 )
40440 .ok()
40441 }
40442 }
40443}
40444#[repr(C)]
40445#[doc(hidden)]
40446pub struct ICoreWebView2_24_Vtbl {
40447 pub base__: ICoreWebView2_23_Vtbl,
40448 pub add_NotificationReceived: unsafe extern "system" fn(
40449 *mut core::ffi::c_void,
40450 *mut core::ffi::c_void,
40451 *mut i64,
40452 ) -> windows_core::HRESULT,
40453 pub remove_NotificationReceived:
40454 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
40455}
40456pub trait ICoreWebView2_24_Impl: ICoreWebView2_23_Impl {
40457 fn add_NotificationReceived(
40458 &self,
40459 eventhandler: windows_core::Ref<'_, ICoreWebView2NotificationReceivedEventHandler>,
40460 token: *mut i64,
40461 ) -> windows_core::Result<()>;
40462 fn remove_NotificationReceived(&self, token: i64) -> windows_core::Result<()>;
40463}
40464impl ICoreWebView2_24_Vtbl {
40465 pub const fn new<Identity: ICoreWebView2_24_Impl, const OFFSET: isize>() -> Self {
40466 unsafe extern "system" fn add_NotificationReceived<
40467 Identity: ICoreWebView2_24_Impl,
40468 const OFFSET: isize,
40469 >(
40470 this: *mut core::ffi::c_void,
40471 eventhandler: *mut core::ffi::c_void,
40472 token: *mut i64,
40473 ) -> windows_core::HRESULT {
40474 unsafe {
40475 let this: &Identity =
40476 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40477 ICoreWebView2_24_Impl::add_NotificationReceived(
40478 this,
40479 core::mem::transmute_copy(&eventhandler),
40480 core::mem::transmute_copy(&token),
40481 )
40482 .into()
40483 }
40484 }
40485 unsafe extern "system" fn remove_NotificationReceived<
40486 Identity: ICoreWebView2_24_Impl,
40487 const OFFSET: isize,
40488 >(
40489 this: *mut core::ffi::c_void,
40490 token: i64,
40491 ) -> windows_core::HRESULT {
40492 unsafe {
40493 let this: &Identity =
40494 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40495 ICoreWebView2_24_Impl::remove_NotificationReceived(
40496 this,
40497 core::mem::transmute_copy(&token),
40498 )
40499 .into()
40500 }
40501 }
40502 Self {
40503 base__: ICoreWebView2_23_Vtbl::new::<Identity, OFFSET>(),
40504 add_NotificationReceived: add_NotificationReceived::<Identity, OFFSET>,
40505 remove_NotificationReceived: remove_NotificationReceived::<Identity, OFFSET>,
40506 }
40507 }
40508 pub fn matches(iid: &windows_core::GUID) -> bool {
40509 iid == &<ICoreWebView2_24 as windows_core::Interface>::IID
40510 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40511 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40512 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40513 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40514 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40515 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40516 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40517 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40518 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40519 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40520 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40521 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40522 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40523 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40524 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
40525 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
40526 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
40527 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
40528 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
40529 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
40530 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
40531 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
40532 || iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
40533 }
40534}
40535impl windows_core::RuntimeName for ICoreWebView2_24 {}
40536windows_core::imp::define_interface!(
40537 ICoreWebView2_25,
40538 ICoreWebView2_25_Vtbl,
40539 0xb5a86092_df50_5b4f_a17b_6c8f8b40b771
40540);
40541impl core::ops::Deref for ICoreWebView2_25 {
40542 type Target = ICoreWebView2_24;
40543 fn deref(&self) -> &Self::Target {
40544 unsafe { core::mem::transmute(self) }
40545 }
40546}
40547windows_core::imp::interface_hierarchy!(
40548 ICoreWebView2_25,
40549 windows_core::IUnknown,
40550 ICoreWebView2,
40551 ICoreWebView2_2,
40552 ICoreWebView2_3,
40553 ICoreWebView2_4,
40554 ICoreWebView2_5,
40555 ICoreWebView2_6,
40556 ICoreWebView2_7,
40557 ICoreWebView2_8,
40558 ICoreWebView2_9,
40559 ICoreWebView2_10,
40560 ICoreWebView2_11,
40561 ICoreWebView2_12,
40562 ICoreWebView2_13,
40563 ICoreWebView2_14,
40564 ICoreWebView2_15,
40565 ICoreWebView2_16,
40566 ICoreWebView2_17,
40567 ICoreWebView2_18,
40568 ICoreWebView2_19,
40569 ICoreWebView2_20,
40570 ICoreWebView2_21,
40571 ICoreWebView2_22,
40572 ICoreWebView2_23,
40573 ICoreWebView2_24
40574);
40575impl ICoreWebView2_25 {
40576 pub unsafe fn add_SaveAsUIShowing<P0>(
40577 &self,
40578 eventhandler: P0,
40579 token: *mut i64,
40580 ) -> windows_core::Result<()>
40581 where
40582 P0: windows_core::Param<ICoreWebView2SaveAsUIShowingEventHandler>,
40583 {
40584 unsafe {
40585 (windows_core::Interface::vtable(self).add_SaveAsUIShowing)(
40586 windows_core::Interface::as_raw(self),
40587 eventhandler.param().abi(),
40588 token as _,
40589 )
40590 .ok()
40591 }
40592 }
40593 pub unsafe fn remove_SaveAsUIShowing(&self, token: i64) -> windows_core::Result<()> {
40594 unsafe {
40595 (windows_core::Interface::vtable(self).remove_SaveAsUIShowing)(
40596 windows_core::Interface::as_raw(self),
40597 token,
40598 )
40599 .ok()
40600 }
40601 }
40602 pub unsafe fn ShowSaveAsUI<P0>(&self, handler: P0) -> windows_core::Result<()>
40603 where
40604 P0: windows_core::Param<ICoreWebView2ShowSaveAsUICompletedHandler>,
40605 {
40606 unsafe {
40607 (windows_core::Interface::vtable(self).ShowSaveAsUI)(
40608 windows_core::Interface::as_raw(self),
40609 handler.param().abi(),
40610 )
40611 .ok()
40612 }
40613 }
40614}
40615#[repr(C)]
40616#[doc(hidden)]
40617pub struct ICoreWebView2_25_Vtbl {
40618 pub base__: ICoreWebView2_24_Vtbl,
40619 pub add_SaveAsUIShowing: unsafe extern "system" fn(
40620 *mut core::ffi::c_void,
40621 *mut core::ffi::c_void,
40622 *mut i64,
40623 ) -> windows_core::HRESULT,
40624 pub remove_SaveAsUIShowing:
40625 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
40626 pub ShowSaveAsUI: unsafe extern "system" fn(
40627 *mut core::ffi::c_void,
40628 *mut core::ffi::c_void,
40629 ) -> windows_core::HRESULT,
40630}
40631pub trait ICoreWebView2_25_Impl: ICoreWebView2_24_Impl {
40632 fn add_SaveAsUIShowing(
40633 &self,
40634 eventhandler: windows_core::Ref<'_, ICoreWebView2SaveAsUIShowingEventHandler>,
40635 token: *mut i64,
40636 ) -> windows_core::Result<()>;
40637 fn remove_SaveAsUIShowing(&self, token: i64) -> windows_core::Result<()>;
40638 fn ShowSaveAsUI(
40639 &self,
40640 handler: windows_core::Ref<'_, ICoreWebView2ShowSaveAsUICompletedHandler>,
40641 ) -> windows_core::Result<()>;
40642}
40643impl ICoreWebView2_25_Vtbl {
40644 pub const fn new<Identity: ICoreWebView2_25_Impl, const OFFSET: isize>() -> Self {
40645 unsafe extern "system" fn add_SaveAsUIShowing<
40646 Identity: ICoreWebView2_25_Impl,
40647 const OFFSET: isize,
40648 >(
40649 this: *mut core::ffi::c_void,
40650 eventhandler: *mut core::ffi::c_void,
40651 token: *mut i64,
40652 ) -> windows_core::HRESULT {
40653 unsafe {
40654 let this: &Identity =
40655 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40656 ICoreWebView2_25_Impl::add_SaveAsUIShowing(
40657 this,
40658 core::mem::transmute_copy(&eventhandler),
40659 core::mem::transmute_copy(&token),
40660 )
40661 .into()
40662 }
40663 }
40664 unsafe extern "system" fn remove_SaveAsUIShowing<
40665 Identity: ICoreWebView2_25_Impl,
40666 const OFFSET: isize,
40667 >(
40668 this: *mut core::ffi::c_void,
40669 token: i64,
40670 ) -> windows_core::HRESULT {
40671 unsafe {
40672 let this: &Identity =
40673 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40674 ICoreWebView2_25_Impl::remove_SaveAsUIShowing(
40675 this,
40676 core::mem::transmute_copy(&token),
40677 )
40678 .into()
40679 }
40680 }
40681 unsafe extern "system" fn ShowSaveAsUI<
40682 Identity: ICoreWebView2_25_Impl,
40683 const OFFSET: isize,
40684 >(
40685 this: *mut core::ffi::c_void,
40686 handler: *mut core::ffi::c_void,
40687 ) -> windows_core::HRESULT {
40688 unsafe {
40689 let this: &Identity =
40690 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40691 ICoreWebView2_25_Impl::ShowSaveAsUI(this, core::mem::transmute_copy(&handler))
40692 .into()
40693 }
40694 }
40695 Self {
40696 base__: ICoreWebView2_24_Vtbl::new::<Identity, OFFSET>(),
40697 add_SaveAsUIShowing: add_SaveAsUIShowing::<Identity, OFFSET>,
40698 remove_SaveAsUIShowing: remove_SaveAsUIShowing::<Identity, OFFSET>,
40699 ShowSaveAsUI: ShowSaveAsUI::<Identity, OFFSET>,
40700 }
40701 }
40702 pub fn matches(iid: &windows_core::GUID) -> bool {
40703 iid == &<ICoreWebView2_25 as windows_core::Interface>::IID
40704 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40705 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40706 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40707 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40708 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40709 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40710 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40711 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40712 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40713 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40714 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40715 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40716 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40717 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40718 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
40719 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
40720 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
40721 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
40722 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
40723 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
40724 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
40725 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
40726 || iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
40727 || iid == &<ICoreWebView2_24 as windows_core::Interface>::IID
40728 }
40729}
40730impl windows_core::RuntimeName for ICoreWebView2_25 {}
40731windows_core::imp::define_interface!(
40732 ICoreWebView2_26,
40733 ICoreWebView2_26_Vtbl,
40734 0x806268b8_f897_5685_88e5_c45fca0b1a48
40735);
40736impl core::ops::Deref for ICoreWebView2_26 {
40737 type Target = ICoreWebView2_25;
40738 fn deref(&self) -> &Self::Target {
40739 unsafe { core::mem::transmute(self) }
40740 }
40741}
40742windows_core::imp::interface_hierarchy!(
40743 ICoreWebView2_26,
40744 windows_core::IUnknown,
40745 ICoreWebView2,
40746 ICoreWebView2_2,
40747 ICoreWebView2_3,
40748 ICoreWebView2_4,
40749 ICoreWebView2_5,
40750 ICoreWebView2_6,
40751 ICoreWebView2_7,
40752 ICoreWebView2_8,
40753 ICoreWebView2_9,
40754 ICoreWebView2_10,
40755 ICoreWebView2_11,
40756 ICoreWebView2_12,
40757 ICoreWebView2_13,
40758 ICoreWebView2_14,
40759 ICoreWebView2_15,
40760 ICoreWebView2_16,
40761 ICoreWebView2_17,
40762 ICoreWebView2_18,
40763 ICoreWebView2_19,
40764 ICoreWebView2_20,
40765 ICoreWebView2_21,
40766 ICoreWebView2_22,
40767 ICoreWebView2_23,
40768 ICoreWebView2_24,
40769 ICoreWebView2_25
40770);
40771impl ICoreWebView2_26 {
40772 pub unsafe fn add_SaveFileSecurityCheckStarting<P0>(
40773 &self,
40774 eventhandler: P0,
40775 token: *mut i64,
40776 ) -> windows_core::Result<()>
40777 where
40778 P0: windows_core::Param<ICoreWebView2SaveFileSecurityCheckStartingEventHandler>,
40779 {
40780 unsafe {
40781 (windows_core::Interface::vtable(self).add_SaveFileSecurityCheckStarting)(
40782 windows_core::Interface::as_raw(self),
40783 eventhandler.param().abi(),
40784 token as _,
40785 )
40786 .ok()
40787 }
40788 }
40789 pub unsafe fn remove_SaveFileSecurityCheckStarting(
40790 &self,
40791 token: i64,
40792 ) -> windows_core::Result<()> {
40793 unsafe {
40794 (windows_core::Interface::vtable(self).remove_SaveFileSecurityCheckStarting)(
40795 windows_core::Interface::as_raw(self),
40796 token,
40797 )
40798 .ok()
40799 }
40800 }
40801}
40802#[repr(C)]
40803#[doc(hidden)]
40804pub struct ICoreWebView2_26_Vtbl {
40805 pub base__: ICoreWebView2_25_Vtbl,
40806 pub add_SaveFileSecurityCheckStarting: unsafe extern "system" fn(
40807 *mut core::ffi::c_void,
40808 *mut core::ffi::c_void,
40809 *mut i64,
40810 ) -> windows_core::HRESULT,
40811 pub remove_SaveFileSecurityCheckStarting:
40812 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
40813}
40814pub trait ICoreWebView2_26_Impl: ICoreWebView2_25_Impl {
40815 fn add_SaveFileSecurityCheckStarting(
40816 &self,
40817 eventhandler: windows_core::Ref<'_, ICoreWebView2SaveFileSecurityCheckStartingEventHandler>,
40818 token: *mut i64,
40819 ) -> windows_core::Result<()>;
40820 fn remove_SaveFileSecurityCheckStarting(&self, token: i64) -> windows_core::Result<()>;
40821}
40822impl ICoreWebView2_26_Vtbl {
40823 pub const fn new<Identity: ICoreWebView2_26_Impl, const OFFSET: isize>() -> Self {
40824 unsafe extern "system" fn add_SaveFileSecurityCheckStarting<
40825 Identity: ICoreWebView2_26_Impl,
40826 const OFFSET: isize,
40827 >(
40828 this: *mut core::ffi::c_void,
40829 eventhandler: *mut core::ffi::c_void,
40830 token: *mut i64,
40831 ) -> windows_core::HRESULT {
40832 unsafe {
40833 let this: &Identity =
40834 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40835 ICoreWebView2_26_Impl::add_SaveFileSecurityCheckStarting(
40836 this,
40837 core::mem::transmute_copy(&eventhandler),
40838 core::mem::transmute_copy(&token),
40839 )
40840 .into()
40841 }
40842 }
40843 unsafe extern "system" fn remove_SaveFileSecurityCheckStarting<
40844 Identity: ICoreWebView2_26_Impl,
40845 const OFFSET: isize,
40846 >(
40847 this: *mut core::ffi::c_void,
40848 token: i64,
40849 ) -> windows_core::HRESULT {
40850 unsafe {
40851 let this: &Identity =
40852 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
40853 ICoreWebView2_26_Impl::remove_SaveFileSecurityCheckStarting(
40854 this,
40855 core::mem::transmute_copy(&token),
40856 )
40857 .into()
40858 }
40859 }
40860 Self {
40861 base__: ICoreWebView2_25_Vtbl::new::<Identity, OFFSET>(),
40862 add_SaveFileSecurityCheckStarting: add_SaveFileSecurityCheckStarting::<Identity, OFFSET>,
40863 remove_SaveFileSecurityCheckStarting: remove_SaveFileSecurityCheckStarting::<
40864 Identity,
40865 OFFSET,
40866 >,
40867 }
40868 }
40869 pub fn matches(iid: &windows_core::GUID) -> bool {
40870 iid == &<ICoreWebView2_26 as windows_core::Interface>::IID
40871 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
40872 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
40873 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
40874 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
40875 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
40876 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
40877 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
40878 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
40879 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
40880 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
40881 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
40882 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
40883 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
40884 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
40885 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
40886 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
40887 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
40888 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
40889 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
40890 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
40891 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
40892 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
40893 || iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
40894 || iid == &<ICoreWebView2_24 as windows_core::Interface>::IID
40895 || iid == &<ICoreWebView2_25 as windows_core::Interface>::IID
40896 }
40897}
40898impl windows_core::RuntimeName for ICoreWebView2_26 {}
40899windows_core::imp::define_interface!(
40900 ICoreWebView2_27,
40901 ICoreWebView2_27_Vtbl,
40902 0x00fbe33b_8c07_517c_aa23_0ddd4b5f6fa0
40903);
40904impl core::ops::Deref for ICoreWebView2_27 {
40905 type Target = ICoreWebView2_26;
40906 fn deref(&self) -> &Self::Target {
40907 unsafe { core::mem::transmute(self) }
40908 }
40909}
40910windows_core::imp::interface_hierarchy!(
40911 ICoreWebView2_27,
40912 windows_core::IUnknown,
40913 ICoreWebView2,
40914 ICoreWebView2_2,
40915 ICoreWebView2_3,
40916 ICoreWebView2_4,
40917 ICoreWebView2_5,
40918 ICoreWebView2_6,
40919 ICoreWebView2_7,
40920 ICoreWebView2_8,
40921 ICoreWebView2_9,
40922 ICoreWebView2_10,
40923 ICoreWebView2_11,
40924 ICoreWebView2_12,
40925 ICoreWebView2_13,
40926 ICoreWebView2_14,
40927 ICoreWebView2_15,
40928 ICoreWebView2_16,
40929 ICoreWebView2_17,
40930 ICoreWebView2_18,
40931 ICoreWebView2_19,
40932 ICoreWebView2_20,
40933 ICoreWebView2_21,
40934 ICoreWebView2_22,
40935 ICoreWebView2_23,
40936 ICoreWebView2_24,
40937 ICoreWebView2_25,
40938 ICoreWebView2_26
40939);
40940impl ICoreWebView2_27 {
40941 pub unsafe fn add_ScreenCaptureStarting<P0>(
40942 &self,
40943 eventhandler: P0,
40944 token: *mut i64,
40945 ) -> windows_core::Result<()>
40946 where
40947 P0: windows_core::Param<ICoreWebView2ScreenCaptureStartingEventHandler>,
40948 {
40949 unsafe {
40950 (windows_core::Interface::vtable(self).add_ScreenCaptureStarting)(
40951 windows_core::Interface::as_raw(self),
40952 eventhandler.param().abi(),
40953 token as _,
40954 )
40955 .ok()
40956 }
40957 }
40958 pub unsafe fn remove_ScreenCaptureStarting(&self, token: i64) -> windows_core::Result<()> {
40959 unsafe {
40960 (windows_core::Interface::vtable(self).remove_ScreenCaptureStarting)(
40961 windows_core::Interface::as_raw(self),
40962 token,
40963 )
40964 .ok()
40965 }
40966 }
40967}
40968#[repr(C)]
40969#[doc(hidden)]
40970pub struct ICoreWebView2_27_Vtbl {
40971 pub base__: ICoreWebView2_26_Vtbl,
40972 pub add_ScreenCaptureStarting: unsafe extern "system" fn(
40973 *mut core::ffi::c_void,
40974 *mut core::ffi::c_void,
40975 *mut i64,
40976 ) -> windows_core::HRESULT,
40977 pub remove_ScreenCaptureStarting:
40978 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
40979}
40980pub trait ICoreWebView2_27_Impl: ICoreWebView2_26_Impl {
40981 fn add_ScreenCaptureStarting(
40982 &self,
40983 eventhandler: windows_core::Ref<'_, ICoreWebView2ScreenCaptureStartingEventHandler>,
40984 token: *mut i64,
40985 ) -> windows_core::Result<()>;
40986 fn remove_ScreenCaptureStarting(&self, token: i64) -> windows_core::Result<()>;
40987}
40988impl ICoreWebView2_27_Vtbl {
40989 pub const fn new<Identity: ICoreWebView2_27_Impl, const OFFSET: isize>() -> Self {
40990 unsafe extern "system" fn add_ScreenCaptureStarting<
40991 Identity: ICoreWebView2_27_Impl,
40992 const OFFSET: isize,
40993 >(
40994 this: *mut core::ffi::c_void,
40995 eventhandler: *mut core::ffi::c_void,
40996 token: *mut i64,
40997 ) -> windows_core::HRESULT {
40998 unsafe {
40999 let this: &Identity =
41000 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41001 ICoreWebView2_27_Impl::add_ScreenCaptureStarting(
41002 this,
41003 core::mem::transmute_copy(&eventhandler),
41004 core::mem::transmute_copy(&token),
41005 )
41006 .into()
41007 }
41008 }
41009 unsafe extern "system" fn remove_ScreenCaptureStarting<
41010 Identity: ICoreWebView2_27_Impl,
41011 const OFFSET: isize,
41012 >(
41013 this: *mut core::ffi::c_void,
41014 token: i64,
41015 ) -> windows_core::HRESULT {
41016 unsafe {
41017 let this: &Identity =
41018 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41019 ICoreWebView2_27_Impl::remove_ScreenCaptureStarting(
41020 this,
41021 core::mem::transmute_copy(&token),
41022 )
41023 .into()
41024 }
41025 }
41026 Self {
41027 base__: ICoreWebView2_26_Vtbl::new::<Identity, OFFSET>(),
41028 add_ScreenCaptureStarting: add_ScreenCaptureStarting::<Identity, OFFSET>,
41029 remove_ScreenCaptureStarting: remove_ScreenCaptureStarting::<Identity, OFFSET>,
41030 }
41031 }
41032 pub fn matches(iid: &windows_core::GUID) -> bool {
41033 iid == &<ICoreWebView2_27 as windows_core::Interface>::IID
41034 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41035 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41036 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41037 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41038 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
41039 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
41040 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
41041 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
41042 || iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
41043 || iid == &<ICoreWebView2_10 as windows_core::Interface>::IID
41044 || iid == &<ICoreWebView2_11 as windows_core::Interface>::IID
41045 || iid == &<ICoreWebView2_12 as windows_core::Interface>::IID
41046 || iid == &<ICoreWebView2_13 as windows_core::Interface>::IID
41047 || iid == &<ICoreWebView2_14 as windows_core::Interface>::IID
41048 || iid == &<ICoreWebView2_15 as windows_core::Interface>::IID
41049 || iid == &<ICoreWebView2_16 as windows_core::Interface>::IID
41050 || iid == &<ICoreWebView2_17 as windows_core::Interface>::IID
41051 || iid == &<ICoreWebView2_18 as windows_core::Interface>::IID
41052 || iid == &<ICoreWebView2_19 as windows_core::Interface>::IID
41053 || iid == &<ICoreWebView2_20 as windows_core::Interface>::IID
41054 || iid == &<ICoreWebView2_21 as windows_core::Interface>::IID
41055 || iid == &<ICoreWebView2_22 as windows_core::Interface>::IID
41056 || iid == &<ICoreWebView2_23 as windows_core::Interface>::IID
41057 || iid == &<ICoreWebView2_24 as windows_core::Interface>::IID
41058 || iid == &<ICoreWebView2_25 as windows_core::Interface>::IID
41059 || iid == &<ICoreWebView2_26 as windows_core::Interface>::IID
41060 }
41061}
41062impl windows_core::RuntimeName for ICoreWebView2_27 {}
41063windows_core::imp::define_interface!(
41064 ICoreWebView2_3,
41065 ICoreWebView2_3_Vtbl,
41066 0xa0d6df20_3b92_416d_aa0c_437a9c727857
41067);
41068impl core::ops::Deref for ICoreWebView2_3 {
41069 type Target = ICoreWebView2_2;
41070 fn deref(&self) -> &Self::Target {
41071 unsafe { core::mem::transmute(self) }
41072 }
41073}
41074windows_core::imp::interface_hierarchy!(
41075 ICoreWebView2_3,
41076 windows_core::IUnknown,
41077 ICoreWebView2,
41078 ICoreWebView2_2
41079);
41080impl ICoreWebView2_3 {
41081 pub unsafe fn TrySuspend<P0>(&self, handler: P0) -> windows_core::Result<()>
41082 where
41083 P0: windows_core::Param<ICoreWebView2TrySuspendCompletedHandler>,
41084 {
41085 unsafe {
41086 (windows_core::Interface::vtable(self).TrySuspend)(
41087 windows_core::Interface::as_raw(self),
41088 handler.param().abi(),
41089 )
41090 .ok()
41091 }
41092 }
41093 pub unsafe fn Resume(&self) -> windows_core::Result<()> {
41094 unsafe {
41095 (windows_core::Interface::vtable(self).Resume)(windows_core::Interface::as_raw(self))
41096 .ok()
41097 }
41098 }
41099 pub unsafe fn IsSuspended(
41100 &self,
41101 issuspended: *mut windows_core::BOOL,
41102 ) -> windows_core::Result<()> {
41103 unsafe {
41104 (windows_core::Interface::vtable(self).IsSuspended)(
41105 windows_core::Interface::as_raw(self),
41106 issuspended as _,
41107 )
41108 .ok()
41109 }
41110 }
41111 pub unsafe fn SetVirtualHostNameToFolderMapping<P0, P1>(
41112 &self,
41113 hostname: P0,
41114 folderpath: P1,
41115 accesskind: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
41116 ) -> windows_core::Result<()>
41117 where
41118 P0: windows_core::Param<windows_core::PCWSTR>,
41119 P1: windows_core::Param<windows_core::PCWSTR>,
41120 {
41121 unsafe {
41122 (windows_core::Interface::vtable(self).SetVirtualHostNameToFolderMapping)(
41123 windows_core::Interface::as_raw(self),
41124 hostname.param().abi(),
41125 folderpath.param().abi(),
41126 accesskind,
41127 )
41128 .ok()
41129 }
41130 }
41131 pub unsafe fn ClearVirtualHostNameToFolderMapping<P0>(
41132 &self,
41133 hostname: P0,
41134 ) -> windows_core::Result<()>
41135 where
41136 P0: windows_core::Param<windows_core::PCWSTR>,
41137 {
41138 unsafe {
41139 (windows_core::Interface::vtable(self).ClearVirtualHostNameToFolderMapping)(
41140 windows_core::Interface::as_raw(self),
41141 hostname.param().abi(),
41142 )
41143 .ok()
41144 }
41145 }
41146}
41147#[repr(C)]
41148#[doc(hidden)]
41149pub struct ICoreWebView2_3_Vtbl {
41150 pub base__: ICoreWebView2_2_Vtbl,
41151 pub TrySuspend: unsafe extern "system" fn(
41152 *mut core::ffi::c_void,
41153 *mut core::ffi::c_void,
41154 ) -> windows_core::HRESULT,
41155 pub Resume: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
41156 pub IsSuspended: unsafe extern "system" fn(
41157 *mut core::ffi::c_void,
41158 *mut windows_core::BOOL,
41159 ) -> windows_core::HRESULT,
41160 pub SetVirtualHostNameToFolderMapping: unsafe extern "system" fn(
41161 *mut core::ffi::c_void,
41162 windows_core::PCWSTR,
41163 windows_core::PCWSTR,
41164 COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
41165 ) -> windows_core::HRESULT,
41166 pub ClearVirtualHostNameToFolderMapping: unsafe extern "system" fn(
41167 *mut core::ffi::c_void,
41168 windows_core::PCWSTR,
41169 )
41170 -> windows_core::HRESULT,
41171}
41172pub trait ICoreWebView2_3_Impl: ICoreWebView2_2_Impl {
41173 fn TrySuspend(
41174 &self,
41175 handler: windows_core::Ref<'_, ICoreWebView2TrySuspendCompletedHandler>,
41176 ) -> windows_core::Result<()>;
41177 fn Resume(&self) -> windows_core::Result<()>;
41178 fn IsSuspended(&self, issuspended: *mut windows_core::BOOL) -> windows_core::Result<()>;
41179 fn SetVirtualHostNameToFolderMapping(
41180 &self,
41181 hostname: &windows_core::PCWSTR,
41182 folderpath: &windows_core::PCWSTR,
41183 accesskind: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
41184 ) -> windows_core::Result<()>;
41185 fn ClearVirtualHostNameToFolderMapping(
41186 &self,
41187 hostname: &windows_core::PCWSTR,
41188 ) -> windows_core::Result<()>;
41189}
41190impl ICoreWebView2_3_Vtbl {
41191 pub const fn new<Identity: ICoreWebView2_3_Impl, const OFFSET: isize>() -> Self {
41192 unsafe extern "system" fn TrySuspend<
41193 Identity: ICoreWebView2_3_Impl,
41194 const OFFSET: isize,
41195 >(
41196 this: *mut core::ffi::c_void,
41197 handler: *mut core::ffi::c_void,
41198 ) -> windows_core::HRESULT {
41199 unsafe {
41200 let this: &Identity =
41201 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41202 ICoreWebView2_3_Impl::TrySuspend(this, core::mem::transmute_copy(&handler)).into()
41203 }
41204 }
41205 unsafe extern "system" fn Resume<Identity: ICoreWebView2_3_Impl, const OFFSET: isize>(
41206 this: *mut core::ffi::c_void,
41207 ) -> windows_core::HRESULT {
41208 unsafe {
41209 let this: &Identity =
41210 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41211 ICoreWebView2_3_Impl::Resume(this).into()
41212 }
41213 }
41214 unsafe extern "system" fn IsSuspended<
41215 Identity: ICoreWebView2_3_Impl,
41216 const OFFSET: isize,
41217 >(
41218 this: *mut core::ffi::c_void,
41219 issuspended: *mut windows_core::BOOL,
41220 ) -> windows_core::HRESULT {
41221 unsafe {
41222 let this: &Identity =
41223 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41224 ICoreWebView2_3_Impl::IsSuspended(this, core::mem::transmute_copy(&issuspended))
41225 .into()
41226 }
41227 }
41228 unsafe extern "system" fn SetVirtualHostNameToFolderMapping<
41229 Identity: ICoreWebView2_3_Impl,
41230 const OFFSET: isize,
41231 >(
41232 this: *mut core::ffi::c_void,
41233 hostname: windows_core::PCWSTR,
41234 folderpath: windows_core::PCWSTR,
41235 accesskind: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
41236 ) -> windows_core::HRESULT {
41237 unsafe {
41238 let this: &Identity =
41239 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41240 ICoreWebView2_3_Impl::SetVirtualHostNameToFolderMapping(
41241 this,
41242 core::mem::transmute(&hostname),
41243 core::mem::transmute(&folderpath),
41244 core::mem::transmute_copy(&accesskind),
41245 )
41246 .into()
41247 }
41248 }
41249 unsafe extern "system" fn ClearVirtualHostNameToFolderMapping<
41250 Identity: ICoreWebView2_3_Impl,
41251 const OFFSET: isize,
41252 >(
41253 this: *mut core::ffi::c_void,
41254 hostname: windows_core::PCWSTR,
41255 ) -> windows_core::HRESULT {
41256 unsafe {
41257 let this: &Identity =
41258 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41259 ICoreWebView2_3_Impl::ClearVirtualHostNameToFolderMapping(
41260 this,
41261 core::mem::transmute(&hostname),
41262 )
41263 .into()
41264 }
41265 }
41266 Self {
41267 base__: ICoreWebView2_2_Vtbl::new::<Identity, OFFSET>(),
41268 TrySuspend: TrySuspend::<Identity, OFFSET>,
41269 Resume: Resume::<Identity, OFFSET>,
41270 IsSuspended: IsSuspended::<Identity, OFFSET>,
41271 SetVirtualHostNameToFolderMapping: SetVirtualHostNameToFolderMapping::<Identity, OFFSET>,
41272 ClearVirtualHostNameToFolderMapping: ClearVirtualHostNameToFolderMapping::<
41273 Identity,
41274 OFFSET,
41275 >,
41276 }
41277 }
41278 pub fn matches(iid: &windows_core::GUID) -> bool {
41279 iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41280 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41281 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41282 }
41283}
41284impl windows_core::RuntimeName for ICoreWebView2_3 {}
41285windows_core::imp::define_interface!(
41286 ICoreWebView2_4,
41287 ICoreWebView2_4_Vtbl,
41288 0x20d02d59_6df2_42dc_bd06_f98a694b1302
41289);
41290impl core::ops::Deref for ICoreWebView2_4 {
41291 type Target = ICoreWebView2_3;
41292 fn deref(&self) -> &Self::Target {
41293 unsafe { core::mem::transmute(self) }
41294 }
41295}
41296windows_core::imp::interface_hierarchy!(
41297 ICoreWebView2_4,
41298 windows_core::IUnknown,
41299 ICoreWebView2,
41300 ICoreWebView2_2,
41301 ICoreWebView2_3
41302);
41303impl ICoreWebView2_4 {
41304 pub unsafe fn add_FrameCreated<P0>(
41305 &self,
41306 eventhandler: P0,
41307 token: *mut i64,
41308 ) -> windows_core::Result<()>
41309 where
41310 P0: windows_core::Param<ICoreWebView2FrameCreatedEventHandler>,
41311 {
41312 unsafe {
41313 (windows_core::Interface::vtable(self).add_FrameCreated)(
41314 windows_core::Interface::as_raw(self),
41315 eventhandler.param().abi(),
41316 token as _,
41317 )
41318 .ok()
41319 }
41320 }
41321 pub unsafe fn remove_FrameCreated(&self, token: i64) -> windows_core::Result<()> {
41322 unsafe {
41323 (windows_core::Interface::vtable(self).remove_FrameCreated)(
41324 windows_core::Interface::as_raw(self),
41325 token,
41326 )
41327 .ok()
41328 }
41329 }
41330 pub unsafe fn add_DownloadStarting<P0>(
41331 &self,
41332 eventhandler: P0,
41333 token: *mut i64,
41334 ) -> windows_core::Result<()>
41335 where
41336 P0: windows_core::Param<ICoreWebView2DownloadStartingEventHandler>,
41337 {
41338 unsafe {
41339 (windows_core::Interface::vtable(self).add_DownloadStarting)(
41340 windows_core::Interface::as_raw(self),
41341 eventhandler.param().abi(),
41342 token as _,
41343 )
41344 .ok()
41345 }
41346 }
41347 pub unsafe fn remove_DownloadStarting(&self, token: i64) -> windows_core::Result<()> {
41348 unsafe {
41349 (windows_core::Interface::vtable(self).remove_DownloadStarting)(
41350 windows_core::Interface::as_raw(self),
41351 token,
41352 )
41353 .ok()
41354 }
41355 }
41356}
41357#[repr(C)]
41358#[doc(hidden)]
41359pub struct ICoreWebView2_4_Vtbl {
41360 pub base__: ICoreWebView2_3_Vtbl,
41361 pub add_FrameCreated: unsafe extern "system" fn(
41362 *mut core::ffi::c_void,
41363 *mut core::ffi::c_void,
41364 *mut i64,
41365 ) -> windows_core::HRESULT,
41366 pub remove_FrameCreated:
41367 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41368 pub add_DownloadStarting: unsafe extern "system" fn(
41369 *mut core::ffi::c_void,
41370 *mut core::ffi::c_void,
41371 *mut i64,
41372 ) -> windows_core::HRESULT,
41373 pub remove_DownloadStarting:
41374 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41375}
41376pub trait ICoreWebView2_4_Impl: ICoreWebView2_3_Impl {
41377 fn add_FrameCreated(
41378 &self,
41379 eventhandler: windows_core::Ref<'_, ICoreWebView2FrameCreatedEventHandler>,
41380 token: *mut i64,
41381 ) -> windows_core::Result<()>;
41382 fn remove_FrameCreated(&self, token: i64) -> windows_core::Result<()>;
41383 fn add_DownloadStarting(
41384 &self,
41385 eventhandler: windows_core::Ref<'_, ICoreWebView2DownloadStartingEventHandler>,
41386 token: *mut i64,
41387 ) -> windows_core::Result<()>;
41388 fn remove_DownloadStarting(&self, token: i64) -> windows_core::Result<()>;
41389}
41390impl ICoreWebView2_4_Vtbl {
41391 pub const fn new<Identity: ICoreWebView2_4_Impl, const OFFSET: isize>() -> Self {
41392 unsafe extern "system" fn add_FrameCreated<
41393 Identity: ICoreWebView2_4_Impl,
41394 const OFFSET: isize,
41395 >(
41396 this: *mut core::ffi::c_void,
41397 eventhandler: *mut core::ffi::c_void,
41398 token: *mut i64,
41399 ) -> windows_core::HRESULT {
41400 unsafe {
41401 let this: &Identity =
41402 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41403 ICoreWebView2_4_Impl::add_FrameCreated(
41404 this,
41405 core::mem::transmute_copy(&eventhandler),
41406 core::mem::transmute_copy(&token),
41407 )
41408 .into()
41409 }
41410 }
41411 unsafe extern "system" fn remove_FrameCreated<
41412 Identity: ICoreWebView2_4_Impl,
41413 const OFFSET: isize,
41414 >(
41415 this: *mut core::ffi::c_void,
41416 token: i64,
41417 ) -> windows_core::HRESULT {
41418 unsafe {
41419 let this: &Identity =
41420 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41421 ICoreWebView2_4_Impl::remove_FrameCreated(this, core::mem::transmute_copy(&token))
41422 .into()
41423 }
41424 }
41425 unsafe extern "system" fn add_DownloadStarting<
41426 Identity: ICoreWebView2_4_Impl,
41427 const OFFSET: isize,
41428 >(
41429 this: *mut core::ffi::c_void,
41430 eventhandler: *mut core::ffi::c_void,
41431 token: *mut i64,
41432 ) -> windows_core::HRESULT {
41433 unsafe {
41434 let this: &Identity =
41435 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41436 ICoreWebView2_4_Impl::add_DownloadStarting(
41437 this,
41438 core::mem::transmute_copy(&eventhandler),
41439 core::mem::transmute_copy(&token),
41440 )
41441 .into()
41442 }
41443 }
41444 unsafe extern "system" fn remove_DownloadStarting<
41445 Identity: ICoreWebView2_4_Impl,
41446 const OFFSET: isize,
41447 >(
41448 this: *mut core::ffi::c_void,
41449 token: i64,
41450 ) -> windows_core::HRESULT {
41451 unsafe {
41452 let this: &Identity =
41453 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41454 ICoreWebView2_4_Impl::remove_DownloadStarting(
41455 this,
41456 core::mem::transmute_copy(&token),
41457 )
41458 .into()
41459 }
41460 }
41461 Self {
41462 base__: ICoreWebView2_3_Vtbl::new::<Identity, OFFSET>(),
41463 add_FrameCreated: add_FrameCreated::<Identity, OFFSET>,
41464 remove_FrameCreated: remove_FrameCreated::<Identity, OFFSET>,
41465 add_DownloadStarting: add_DownloadStarting::<Identity, OFFSET>,
41466 remove_DownloadStarting: remove_DownloadStarting::<Identity, OFFSET>,
41467 }
41468 }
41469 pub fn matches(iid: &windows_core::GUID) -> bool {
41470 iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41471 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41472 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41473 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41474 }
41475}
41476impl windows_core::RuntimeName for ICoreWebView2_4 {}
41477windows_core::imp::define_interface!(
41478 ICoreWebView2_5,
41479 ICoreWebView2_5_Vtbl,
41480 0xbedb11b8_d63c_11eb_b8bc_0242ac130003
41481);
41482impl core::ops::Deref for ICoreWebView2_5 {
41483 type Target = ICoreWebView2_4;
41484 fn deref(&self) -> &Self::Target {
41485 unsafe { core::mem::transmute(self) }
41486 }
41487}
41488windows_core::imp::interface_hierarchy!(
41489 ICoreWebView2_5,
41490 windows_core::IUnknown,
41491 ICoreWebView2,
41492 ICoreWebView2_2,
41493 ICoreWebView2_3,
41494 ICoreWebView2_4
41495);
41496impl ICoreWebView2_5 {
41497 pub unsafe fn add_ClientCertificateRequested<P0>(
41498 &self,
41499 eventhandler: P0,
41500 token: *mut i64,
41501 ) -> windows_core::Result<()>
41502 where
41503 P0: windows_core::Param<ICoreWebView2ClientCertificateRequestedEventHandler>,
41504 {
41505 unsafe {
41506 (windows_core::Interface::vtable(self).add_ClientCertificateRequested)(
41507 windows_core::Interface::as_raw(self),
41508 eventhandler.param().abi(),
41509 token as _,
41510 )
41511 .ok()
41512 }
41513 }
41514 pub unsafe fn remove_ClientCertificateRequested(&self, token: i64) -> windows_core::Result<()> {
41515 unsafe {
41516 (windows_core::Interface::vtable(self).remove_ClientCertificateRequested)(
41517 windows_core::Interface::as_raw(self),
41518 token,
41519 )
41520 .ok()
41521 }
41522 }
41523}
41524#[repr(C)]
41525#[doc(hidden)]
41526pub struct ICoreWebView2_5_Vtbl {
41527 pub base__: ICoreWebView2_4_Vtbl,
41528 pub add_ClientCertificateRequested: unsafe extern "system" fn(
41529 *mut core::ffi::c_void,
41530 *mut core::ffi::c_void,
41531 *mut i64,
41532 ) -> windows_core::HRESULT,
41533 pub remove_ClientCertificateRequested:
41534 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41535}
41536pub trait ICoreWebView2_5_Impl: ICoreWebView2_4_Impl {
41537 fn add_ClientCertificateRequested(
41538 &self,
41539 eventhandler: windows_core::Ref<'_, ICoreWebView2ClientCertificateRequestedEventHandler>,
41540 token: *mut i64,
41541 ) -> windows_core::Result<()>;
41542 fn remove_ClientCertificateRequested(&self, token: i64) -> windows_core::Result<()>;
41543}
41544impl ICoreWebView2_5_Vtbl {
41545 pub const fn new<Identity: ICoreWebView2_5_Impl, const OFFSET: isize>() -> Self {
41546 unsafe extern "system" fn add_ClientCertificateRequested<
41547 Identity: ICoreWebView2_5_Impl,
41548 const OFFSET: isize,
41549 >(
41550 this: *mut core::ffi::c_void,
41551 eventhandler: *mut core::ffi::c_void,
41552 token: *mut i64,
41553 ) -> windows_core::HRESULT {
41554 unsafe {
41555 let this: &Identity =
41556 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41557 ICoreWebView2_5_Impl::add_ClientCertificateRequested(
41558 this,
41559 core::mem::transmute_copy(&eventhandler),
41560 core::mem::transmute_copy(&token),
41561 )
41562 .into()
41563 }
41564 }
41565 unsafe extern "system" fn remove_ClientCertificateRequested<
41566 Identity: ICoreWebView2_5_Impl,
41567 const OFFSET: isize,
41568 >(
41569 this: *mut core::ffi::c_void,
41570 token: i64,
41571 ) -> windows_core::HRESULT {
41572 unsafe {
41573 let this: &Identity =
41574 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41575 ICoreWebView2_5_Impl::remove_ClientCertificateRequested(
41576 this,
41577 core::mem::transmute_copy(&token),
41578 )
41579 .into()
41580 }
41581 }
41582 Self {
41583 base__: ICoreWebView2_4_Vtbl::new::<Identity, OFFSET>(),
41584 add_ClientCertificateRequested: add_ClientCertificateRequested::<Identity, OFFSET>,
41585 remove_ClientCertificateRequested: remove_ClientCertificateRequested::<Identity, OFFSET>,
41586 }
41587 }
41588 pub fn matches(iid: &windows_core::GUID) -> bool {
41589 iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
41590 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41591 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41592 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41593 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41594 }
41595}
41596impl windows_core::RuntimeName for ICoreWebView2_5 {}
41597windows_core::imp::define_interface!(
41598 ICoreWebView2_6,
41599 ICoreWebView2_6_Vtbl,
41600 0x499aadac_d92c_4589_8a75_111bfc167795
41601);
41602impl core::ops::Deref for ICoreWebView2_6 {
41603 type Target = ICoreWebView2_5;
41604 fn deref(&self) -> &Self::Target {
41605 unsafe { core::mem::transmute(self) }
41606 }
41607}
41608windows_core::imp::interface_hierarchy!(
41609 ICoreWebView2_6,
41610 windows_core::IUnknown,
41611 ICoreWebView2,
41612 ICoreWebView2_2,
41613 ICoreWebView2_3,
41614 ICoreWebView2_4,
41615 ICoreWebView2_5
41616);
41617impl ICoreWebView2_6 {
41618 pub unsafe fn OpenTaskManagerWindow(&self) -> windows_core::Result<()> {
41619 unsafe {
41620 (windows_core::Interface::vtable(self).OpenTaskManagerWindow)(
41621 windows_core::Interface::as_raw(self),
41622 )
41623 .ok()
41624 }
41625 }
41626}
41627#[repr(C)]
41628#[doc(hidden)]
41629pub struct ICoreWebView2_6_Vtbl {
41630 pub base__: ICoreWebView2_5_Vtbl,
41631 pub OpenTaskManagerWindow:
41632 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
41633}
41634pub trait ICoreWebView2_6_Impl: ICoreWebView2_5_Impl {
41635 fn OpenTaskManagerWindow(&self) -> windows_core::Result<()>;
41636}
41637impl ICoreWebView2_6_Vtbl {
41638 pub const fn new<Identity: ICoreWebView2_6_Impl, const OFFSET: isize>() -> Self {
41639 unsafe extern "system" fn OpenTaskManagerWindow<
41640 Identity: ICoreWebView2_6_Impl,
41641 const OFFSET: isize,
41642 >(
41643 this: *mut core::ffi::c_void,
41644 ) -> windows_core::HRESULT {
41645 unsafe {
41646 let this: &Identity =
41647 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41648 ICoreWebView2_6_Impl::OpenTaskManagerWindow(this).into()
41649 }
41650 }
41651 Self {
41652 base__: ICoreWebView2_5_Vtbl::new::<Identity, OFFSET>(),
41653 OpenTaskManagerWindow: OpenTaskManagerWindow::<Identity, OFFSET>,
41654 }
41655 }
41656 pub fn matches(iid: &windows_core::GUID) -> bool {
41657 iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
41658 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41659 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41660 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41661 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41662 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
41663 }
41664}
41665impl windows_core::RuntimeName for ICoreWebView2_6 {}
41666windows_core::imp::define_interface!(
41667 ICoreWebView2_7,
41668 ICoreWebView2_7_Vtbl,
41669 0x79c24d83_09a3_45ae_9418_487f32a58740
41670);
41671impl core::ops::Deref for ICoreWebView2_7 {
41672 type Target = ICoreWebView2_6;
41673 fn deref(&self) -> &Self::Target {
41674 unsafe { core::mem::transmute(self) }
41675 }
41676}
41677windows_core::imp::interface_hierarchy!(
41678 ICoreWebView2_7,
41679 windows_core::IUnknown,
41680 ICoreWebView2,
41681 ICoreWebView2_2,
41682 ICoreWebView2_3,
41683 ICoreWebView2_4,
41684 ICoreWebView2_5,
41685 ICoreWebView2_6
41686);
41687impl ICoreWebView2_7 {
41688 pub unsafe fn PrintToPdf<P0, P1, P2>(
41689 &self,
41690 resultfilepath: P0,
41691 printsettings: P1,
41692 handler: P2,
41693 ) -> windows_core::Result<()>
41694 where
41695 P0: windows_core::Param<windows_core::PCWSTR>,
41696 P1: windows_core::Param<ICoreWebView2PrintSettings>,
41697 P2: windows_core::Param<ICoreWebView2PrintToPdfCompletedHandler>,
41698 {
41699 unsafe {
41700 (windows_core::Interface::vtable(self).PrintToPdf)(
41701 windows_core::Interface::as_raw(self),
41702 resultfilepath.param().abi(),
41703 printsettings.param().abi(),
41704 handler.param().abi(),
41705 )
41706 .ok()
41707 }
41708 }
41709}
41710#[repr(C)]
41711#[doc(hidden)]
41712pub struct ICoreWebView2_7_Vtbl {
41713 pub base__: ICoreWebView2_6_Vtbl,
41714 pub PrintToPdf: unsafe extern "system" fn(
41715 *mut core::ffi::c_void,
41716 windows_core::PCWSTR,
41717 *mut core::ffi::c_void,
41718 *mut core::ffi::c_void,
41719 ) -> windows_core::HRESULT,
41720}
41721pub trait ICoreWebView2_7_Impl: ICoreWebView2_6_Impl {
41722 fn PrintToPdf(
41723 &self,
41724 resultfilepath: &windows_core::PCWSTR,
41725 printsettings: windows_core::Ref<'_, ICoreWebView2PrintSettings>,
41726 handler: windows_core::Ref<'_, ICoreWebView2PrintToPdfCompletedHandler>,
41727 ) -> windows_core::Result<()>;
41728}
41729impl ICoreWebView2_7_Vtbl {
41730 pub const fn new<Identity: ICoreWebView2_7_Impl, const OFFSET: isize>() -> Self {
41731 unsafe extern "system" fn PrintToPdf<
41732 Identity: ICoreWebView2_7_Impl,
41733 const OFFSET: isize,
41734 >(
41735 this: *mut core::ffi::c_void,
41736 resultfilepath: windows_core::PCWSTR,
41737 printsettings: *mut core::ffi::c_void,
41738 handler: *mut core::ffi::c_void,
41739 ) -> windows_core::HRESULT {
41740 unsafe {
41741 let this: &Identity =
41742 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41743 ICoreWebView2_7_Impl::PrintToPdf(
41744 this,
41745 core::mem::transmute(&resultfilepath),
41746 core::mem::transmute_copy(&printsettings),
41747 core::mem::transmute_copy(&handler),
41748 )
41749 .into()
41750 }
41751 }
41752 Self {
41753 base__: ICoreWebView2_6_Vtbl::new::<Identity, OFFSET>(),
41754 PrintToPdf: PrintToPdf::<Identity, OFFSET>,
41755 }
41756 }
41757 pub fn matches(iid: &windows_core::GUID) -> bool {
41758 iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
41759 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
41760 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
41761 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
41762 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
41763 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
41764 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
41765 }
41766}
41767impl windows_core::RuntimeName for ICoreWebView2_7 {}
41768windows_core::imp::define_interface!(
41769 ICoreWebView2_8,
41770 ICoreWebView2_8_Vtbl,
41771 0xe9632730_6e1e_43ab_b7b8_7b2c9e62e094
41772);
41773impl core::ops::Deref for ICoreWebView2_8 {
41774 type Target = ICoreWebView2_7;
41775 fn deref(&self) -> &Self::Target {
41776 unsafe { core::mem::transmute(self) }
41777 }
41778}
41779windows_core::imp::interface_hierarchy!(
41780 ICoreWebView2_8,
41781 windows_core::IUnknown,
41782 ICoreWebView2,
41783 ICoreWebView2_2,
41784 ICoreWebView2_3,
41785 ICoreWebView2_4,
41786 ICoreWebView2_5,
41787 ICoreWebView2_6,
41788 ICoreWebView2_7
41789);
41790impl ICoreWebView2_8 {
41791 pub unsafe fn add_IsMutedChanged<P0>(
41792 &self,
41793 eventhandler: P0,
41794 token: *mut i64,
41795 ) -> windows_core::Result<()>
41796 where
41797 P0: windows_core::Param<ICoreWebView2IsMutedChangedEventHandler>,
41798 {
41799 unsafe {
41800 (windows_core::Interface::vtable(self).add_IsMutedChanged)(
41801 windows_core::Interface::as_raw(self),
41802 eventhandler.param().abi(),
41803 token as _,
41804 )
41805 .ok()
41806 }
41807 }
41808 pub unsafe fn remove_IsMutedChanged(&self, token: i64) -> windows_core::Result<()> {
41809 unsafe {
41810 (windows_core::Interface::vtable(self).remove_IsMutedChanged)(
41811 windows_core::Interface::as_raw(self),
41812 token,
41813 )
41814 .ok()
41815 }
41816 }
41817 pub unsafe fn IsMuted(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()> {
41818 unsafe {
41819 (windows_core::Interface::vtable(self).IsMuted)(
41820 windows_core::Interface::as_raw(self),
41821 value as _,
41822 )
41823 .ok()
41824 }
41825 }
41826 pub unsafe fn SetIsMuted(&self, value: bool) -> windows_core::Result<()> {
41827 unsafe {
41828 (windows_core::Interface::vtable(self).SetIsMuted)(
41829 windows_core::Interface::as_raw(self),
41830 value.into(),
41831 )
41832 .ok()
41833 }
41834 }
41835 pub unsafe fn add_IsDocumentPlayingAudioChanged<P0>(
41836 &self,
41837 eventhandler: P0,
41838 token: *mut i64,
41839 ) -> windows_core::Result<()>
41840 where
41841 P0: windows_core::Param<ICoreWebView2IsDocumentPlayingAudioChangedEventHandler>,
41842 {
41843 unsafe {
41844 (windows_core::Interface::vtable(self).add_IsDocumentPlayingAudioChanged)(
41845 windows_core::Interface::as_raw(self),
41846 eventhandler.param().abi(),
41847 token as _,
41848 )
41849 .ok()
41850 }
41851 }
41852 pub unsafe fn remove_IsDocumentPlayingAudioChanged(
41853 &self,
41854 token: i64,
41855 ) -> windows_core::Result<()> {
41856 unsafe {
41857 (windows_core::Interface::vtable(self).remove_IsDocumentPlayingAudioChanged)(
41858 windows_core::Interface::as_raw(self),
41859 token,
41860 )
41861 .ok()
41862 }
41863 }
41864 pub unsafe fn IsDocumentPlayingAudio(
41865 &self,
41866 value: *mut windows_core::BOOL,
41867 ) -> windows_core::Result<()> {
41868 unsafe {
41869 (windows_core::Interface::vtable(self).IsDocumentPlayingAudio)(
41870 windows_core::Interface::as_raw(self),
41871 value as _,
41872 )
41873 .ok()
41874 }
41875 }
41876}
41877#[repr(C)]
41878#[doc(hidden)]
41879pub struct ICoreWebView2_8_Vtbl {
41880 pub base__: ICoreWebView2_7_Vtbl,
41881 pub add_IsMutedChanged: unsafe extern "system" fn(
41882 *mut core::ffi::c_void,
41883 *mut core::ffi::c_void,
41884 *mut i64,
41885 ) -> windows_core::HRESULT,
41886 pub remove_IsMutedChanged:
41887 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41888 pub IsMuted: unsafe extern "system" fn(
41889 *mut core::ffi::c_void,
41890 *mut windows_core::BOOL,
41891 ) -> windows_core::HRESULT,
41892 pub SetIsMuted: unsafe extern "system" fn(
41893 *mut core::ffi::c_void,
41894 windows_core::BOOL,
41895 ) -> windows_core::HRESULT,
41896 pub add_IsDocumentPlayingAudioChanged: unsafe extern "system" fn(
41897 *mut core::ffi::c_void,
41898 *mut core::ffi::c_void,
41899 *mut i64,
41900 ) -> windows_core::HRESULT,
41901 pub remove_IsDocumentPlayingAudioChanged:
41902 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
41903 pub IsDocumentPlayingAudio: unsafe extern "system" fn(
41904 *mut core::ffi::c_void,
41905 *mut windows_core::BOOL,
41906 ) -> windows_core::HRESULT,
41907}
41908pub trait ICoreWebView2_8_Impl: ICoreWebView2_7_Impl {
41909 fn add_IsMutedChanged(
41910 &self,
41911 eventhandler: windows_core::Ref<'_, ICoreWebView2IsMutedChangedEventHandler>,
41912 token: *mut i64,
41913 ) -> windows_core::Result<()>;
41914 fn remove_IsMutedChanged(&self, token: i64) -> windows_core::Result<()>;
41915 fn IsMuted(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
41916 fn SetIsMuted(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
41917 fn add_IsDocumentPlayingAudioChanged(
41918 &self,
41919 eventhandler: windows_core::Ref<'_, ICoreWebView2IsDocumentPlayingAudioChangedEventHandler>,
41920 token: *mut i64,
41921 ) -> windows_core::Result<()>;
41922 fn remove_IsDocumentPlayingAudioChanged(&self, token: i64) -> windows_core::Result<()>;
41923 fn IsDocumentPlayingAudio(&self, value: *mut windows_core::BOOL) -> windows_core::Result<()>;
41924}
41925impl ICoreWebView2_8_Vtbl {
41926 pub const fn new<Identity: ICoreWebView2_8_Impl, const OFFSET: isize>() -> Self {
41927 unsafe extern "system" fn add_IsMutedChanged<
41928 Identity: ICoreWebView2_8_Impl,
41929 const OFFSET: isize,
41930 >(
41931 this: *mut core::ffi::c_void,
41932 eventhandler: *mut core::ffi::c_void,
41933 token: *mut i64,
41934 ) -> windows_core::HRESULT {
41935 unsafe {
41936 let this: &Identity =
41937 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41938 ICoreWebView2_8_Impl::add_IsMutedChanged(
41939 this,
41940 core::mem::transmute_copy(&eventhandler),
41941 core::mem::transmute_copy(&token),
41942 )
41943 .into()
41944 }
41945 }
41946 unsafe extern "system" fn remove_IsMutedChanged<
41947 Identity: ICoreWebView2_8_Impl,
41948 const OFFSET: isize,
41949 >(
41950 this: *mut core::ffi::c_void,
41951 token: i64,
41952 ) -> windows_core::HRESULT {
41953 unsafe {
41954 let this: &Identity =
41955 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41956 ICoreWebView2_8_Impl::remove_IsMutedChanged(this, core::mem::transmute_copy(&token))
41957 .into()
41958 }
41959 }
41960 unsafe extern "system" fn IsMuted<Identity: ICoreWebView2_8_Impl, const OFFSET: isize>(
41961 this: *mut core::ffi::c_void,
41962 value: *mut windows_core::BOOL,
41963 ) -> windows_core::HRESULT {
41964 unsafe {
41965 let this: &Identity =
41966 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41967 ICoreWebView2_8_Impl::IsMuted(this, core::mem::transmute_copy(&value)).into()
41968 }
41969 }
41970 unsafe extern "system" fn SetIsMuted<
41971 Identity: ICoreWebView2_8_Impl,
41972 const OFFSET: isize,
41973 >(
41974 this: *mut core::ffi::c_void,
41975 value: windows_core::BOOL,
41976 ) -> windows_core::HRESULT {
41977 unsafe {
41978 let this: &Identity =
41979 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41980 ICoreWebView2_8_Impl::SetIsMuted(this, core::mem::transmute_copy(&value)).into()
41981 }
41982 }
41983 unsafe extern "system" fn add_IsDocumentPlayingAudioChanged<
41984 Identity: ICoreWebView2_8_Impl,
41985 const OFFSET: isize,
41986 >(
41987 this: *mut core::ffi::c_void,
41988 eventhandler: *mut core::ffi::c_void,
41989 token: *mut i64,
41990 ) -> windows_core::HRESULT {
41991 unsafe {
41992 let this: &Identity =
41993 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
41994 ICoreWebView2_8_Impl::add_IsDocumentPlayingAudioChanged(
41995 this,
41996 core::mem::transmute_copy(&eventhandler),
41997 core::mem::transmute_copy(&token),
41998 )
41999 .into()
42000 }
42001 }
42002 unsafe extern "system" fn remove_IsDocumentPlayingAudioChanged<
42003 Identity: ICoreWebView2_8_Impl,
42004 const OFFSET: isize,
42005 >(
42006 this: *mut core::ffi::c_void,
42007 token: i64,
42008 ) -> windows_core::HRESULT {
42009 unsafe {
42010 let this: &Identity =
42011 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42012 ICoreWebView2_8_Impl::remove_IsDocumentPlayingAudioChanged(
42013 this,
42014 core::mem::transmute_copy(&token),
42015 )
42016 .into()
42017 }
42018 }
42019 unsafe extern "system" fn IsDocumentPlayingAudio<
42020 Identity: ICoreWebView2_8_Impl,
42021 const OFFSET: isize,
42022 >(
42023 this: *mut core::ffi::c_void,
42024 value: *mut windows_core::BOOL,
42025 ) -> windows_core::HRESULT {
42026 unsafe {
42027 let this: &Identity =
42028 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42029 ICoreWebView2_8_Impl::IsDocumentPlayingAudio(
42030 this,
42031 core::mem::transmute_copy(&value),
42032 )
42033 .into()
42034 }
42035 }
42036 Self {
42037 base__: ICoreWebView2_7_Vtbl::new::<Identity, OFFSET>(),
42038 add_IsMutedChanged: add_IsMutedChanged::<Identity, OFFSET>,
42039 remove_IsMutedChanged: remove_IsMutedChanged::<Identity, OFFSET>,
42040 IsMuted: IsMuted::<Identity, OFFSET>,
42041 SetIsMuted: SetIsMuted::<Identity, OFFSET>,
42042 add_IsDocumentPlayingAudioChanged: add_IsDocumentPlayingAudioChanged::<Identity, OFFSET>,
42043 remove_IsDocumentPlayingAudioChanged: remove_IsDocumentPlayingAudioChanged::<
42044 Identity,
42045 OFFSET,
42046 >,
42047 IsDocumentPlayingAudio: IsDocumentPlayingAudio::<Identity, OFFSET>,
42048 }
42049 }
42050 pub fn matches(iid: &windows_core::GUID) -> bool {
42051 iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
42052 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42053 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42054 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42055 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42056 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42057 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
42058 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
42059 }
42060}
42061impl windows_core::RuntimeName for ICoreWebView2_8 {}
42062windows_core::imp::define_interface!(
42063 ICoreWebView2_9,
42064 ICoreWebView2_9_Vtbl,
42065 0x4d7b2eab_9fdc_468d_b998_a9260b5ed651
42066);
42067impl core::ops::Deref for ICoreWebView2_9 {
42068 type Target = ICoreWebView2_8;
42069 fn deref(&self) -> &Self::Target {
42070 unsafe { core::mem::transmute(self) }
42071 }
42072}
42073windows_core::imp::interface_hierarchy!(
42074 ICoreWebView2_9,
42075 windows_core::IUnknown,
42076 ICoreWebView2,
42077 ICoreWebView2_2,
42078 ICoreWebView2_3,
42079 ICoreWebView2_4,
42080 ICoreWebView2_5,
42081 ICoreWebView2_6,
42082 ICoreWebView2_7,
42083 ICoreWebView2_8
42084);
42085impl ICoreWebView2_9 {
42086 pub unsafe fn add_IsDefaultDownloadDialogOpenChanged<P0>(
42087 &self,
42088 handler: P0,
42089 token: *mut i64,
42090 ) -> windows_core::Result<()>
42091 where
42092 P0: windows_core::Param<ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler>,
42093 {
42094 unsafe {
42095 (windows_core::Interface::vtable(self).add_IsDefaultDownloadDialogOpenChanged)(
42096 windows_core::Interface::as_raw(self),
42097 handler.param().abi(),
42098 token as _,
42099 )
42100 .ok()
42101 }
42102 }
42103 pub unsafe fn remove_IsDefaultDownloadDialogOpenChanged(
42104 &self,
42105 token: i64,
42106 ) -> windows_core::Result<()> {
42107 unsafe {
42108 (windows_core::Interface::vtable(self).remove_IsDefaultDownloadDialogOpenChanged)(
42109 windows_core::Interface::as_raw(self),
42110 token,
42111 )
42112 .ok()
42113 }
42114 }
42115 pub unsafe fn IsDefaultDownloadDialogOpen(
42116 &self,
42117 value: *mut windows_core::BOOL,
42118 ) -> windows_core::Result<()> {
42119 unsafe {
42120 (windows_core::Interface::vtable(self).IsDefaultDownloadDialogOpen)(
42121 windows_core::Interface::as_raw(self),
42122 value as _,
42123 )
42124 .ok()
42125 }
42126 }
42127 pub unsafe fn OpenDefaultDownloadDialog(&self) -> windows_core::Result<()> {
42128 unsafe {
42129 (windows_core::Interface::vtable(self).OpenDefaultDownloadDialog)(
42130 windows_core::Interface::as_raw(self),
42131 )
42132 .ok()
42133 }
42134 }
42135 pub unsafe fn CloseDefaultDownloadDialog(&self) -> windows_core::Result<()> {
42136 unsafe {
42137 (windows_core::Interface::vtable(self).CloseDefaultDownloadDialog)(
42138 windows_core::Interface::as_raw(self),
42139 )
42140 .ok()
42141 }
42142 }
42143 pub unsafe fn DefaultDownloadDialogCornerAlignment(
42144 &self,
42145 value: *mut COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42146 ) -> windows_core::Result<()> {
42147 unsafe {
42148 (windows_core::Interface::vtable(self).DefaultDownloadDialogCornerAlignment)(
42149 windows_core::Interface::as_raw(self),
42150 value as _,
42151 )
42152 .ok()
42153 }
42154 }
42155 pub unsafe fn SetDefaultDownloadDialogCornerAlignment(
42156 &self,
42157 value: COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42158 ) -> windows_core::Result<()> {
42159 unsafe {
42160 (windows_core::Interface::vtable(self).SetDefaultDownloadDialogCornerAlignment)(
42161 windows_core::Interface::as_raw(self),
42162 value,
42163 )
42164 .ok()
42165 }
42166 }
42167 pub unsafe fn DefaultDownloadDialogMargin(
42168 &self,
42169 value: *mut windows::Win32::Foundation::POINT,
42170 ) -> windows_core::Result<()> {
42171 unsafe {
42172 (windows_core::Interface::vtable(self).DefaultDownloadDialogMargin)(
42173 windows_core::Interface::as_raw(self),
42174 value as _,
42175 )
42176 .ok()
42177 }
42178 }
42179 pub unsafe fn SetDefaultDownloadDialogMargin(
42180 &self,
42181 value: windows::Win32::Foundation::POINT,
42182 ) -> windows_core::Result<()> {
42183 unsafe {
42184 (windows_core::Interface::vtable(self).SetDefaultDownloadDialogMargin)(
42185 windows_core::Interface::as_raw(self),
42186 core::mem::transmute(value),
42187 )
42188 .ok()
42189 }
42190 }
42191}
42192#[repr(C)]
42193#[doc(hidden)]
42194pub struct ICoreWebView2_9_Vtbl {
42195 pub base__: ICoreWebView2_8_Vtbl,
42196 pub add_IsDefaultDownloadDialogOpenChanged: unsafe extern "system" fn(
42197 *mut core::ffi::c_void,
42198 *mut core::ffi::c_void,
42199 *mut i64,
42200 )
42201 -> windows_core::HRESULT,
42202 pub remove_IsDefaultDownloadDialogOpenChanged:
42203 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
42204 pub IsDefaultDownloadDialogOpen: unsafe extern "system" fn(
42205 *mut core::ffi::c_void,
42206 *mut windows_core::BOOL,
42207 ) -> windows_core::HRESULT,
42208 pub OpenDefaultDownloadDialog:
42209 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
42210 pub CloseDefaultDownloadDialog:
42211 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
42212 pub DefaultDownloadDialogCornerAlignment: unsafe extern "system" fn(
42213 *mut core::ffi::c_void,
42214 *mut COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42215 )
42216 -> windows_core::HRESULT,
42217 pub SetDefaultDownloadDialogCornerAlignment: unsafe extern "system" fn(
42218 *mut core::ffi::c_void,
42219 COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42220 )
42221 -> windows_core::HRESULT,
42222 pub DefaultDownloadDialogMargin: unsafe extern "system" fn(
42223 *mut core::ffi::c_void,
42224 *mut windows::Win32::Foundation::POINT,
42225 ) -> windows_core::HRESULT,
42226 pub SetDefaultDownloadDialogMargin: unsafe extern "system" fn(
42227 *mut core::ffi::c_void,
42228 windows::Win32::Foundation::POINT,
42229 ) -> windows_core::HRESULT,
42230}
42231pub trait ICoreWebView2_9_Impl: ICoreWebView2_8_Impl {
42232 fn add_IsDefaultDownloadDialogOpenChanged(
42233 &self,
42234 handler: windows_core::Ref<'_, ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler>,
42235 token: *mut i64,
42236 ) -> windows_core::Result<()>;
42237 fn remove_IsDefaultDownloadDialogOpenChanged(&self, token: i64) -> windows_core::Result<()>;
42238 fn IsDefaultDownloadDialogOpen(
42239 &self,
42240 value: *mut windows_core::BOOL,
42241 ) -> windows_core::Result<()>;
42242 fn OpenDefaultDownloadDialog(&self) -> windows_core::Result<()>;
42243 fn CloseDefaultDownloadDialog(&self) -> windows_core::Result<()>;
42244 fn DefaultDownloadDialogCornerAlignment(
42245 &self,
42246 value: *mut COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42247 ) -> windows_core::Result<()>;
42248 fn SetDefaultDownloadDialogCornerAlignment(
42249 &self,
42250 value: COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42251 ) -> windows_core::Result<()>;
42252 fn DefaultDownloadDialogMargin(
42253 &self,
42254 value: *mut windows::Win32::Foundation::POINT,
42255 ) -> windows_core::Result<()>;
42256 fn SetDefaultDownloadDialogMargin(
42257 &self,
42258 value: &windows::Win32::Foundation::POINT,
42259 ) -> windows_core::Result<()>;
42260}
42261impl ICoreWebView2_9_Vtbl {
42262 pub const fn new<Identity: ICoreWebView2_9_Impl, const OFFSET: isize>() -> Self {
42263 unsafe extern "system" fn add_IsDefaultDownloadDialogOpenChanged<
42264 Identity: ICoreWebView2_9_Impl,
42265 const OFFSET: isize,
42266 >(
42267 this: *mut core::ffi::c_void,
42268 handler: *mut core::ffi::c_void,
42269 token: *mut i64,
42270 ) -> windows_core::HRESULT {
42271 unsafe {
42272 let this: &Identity =
42273 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42274 ICoreWebView2_9_Impl::add_IsDefaultDownloadDialogOpenChanged(
42275 this,
42276 core::mem::transmute_copy(&handler),
42277 core::mem::transmute_copy(&token),
42278 )
42279 .into()
42280 }
42281 }
42282 unsafe extern "system" fn remove_IsDefaultDownloadDialogOpenChanged<
42283 Identity: ICoreWebView2_9_Impl,
42284 const OFFSET: isize,
42285 >(
42286 this: *mut core::ffi::c_void,
42287 token: i64,
42288 ) -> windows_core::HRESULT {
42289 unsafe {
42290 let this: &Identity =
42291 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42292 ICoreWebView2_9_Impl::remove_IsDefaultDownloadDialogOpenChanged(
42293 this,
42294 core::mem::transmute_copy(&token),
42295 )
42296 .into()
42297 }
42298 }
42299 unsafe extern "system" fn IsDefaultDownloadDialogOpen<
42300 Identity: ICoreWebView2_9_Impl,
42301 const OFFSET: isize,
42302 >(
42303 this: *mut core::ffi::c_void,
42304 value: *mut windows_core::BOOL,
42305 ) -> windows_core::HRESULT {
42306 unsafe {
42307 let this: &Identity =
42308 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42309 ICoreWebView2_9_Impl::IsDefaultDownloadDialogOpen(
42310 this,
42311 core::mem::transmute_copy(&value),
42312 )
42313 .into()
42314 }
42315 }
42316 unsafe extern "system" fn OpenDefaultDownloadDialog<
42317 Identity: ICoreWebView2_9_Impl,
42318 const OFFSET: isize,
42319 >(
42320 this: *mut core::ffi::c_void,
42321 ) -> windows_core::HRESULT {
42322 unsafe {
42323 let this: &Identity =
42324 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42325 ICoreWebView2_9_Impl::OpenDefaultDownloadDialog(this).into()
42326 }
42327 }
42328 unsafe extern "system" fn CloseDefaultDownloadDialog<
42329 Identity: ICoreWebView2_9_Impl,
42330 const OFFSET: isize,
42331 >(
42332 this: *mut core::ffi::c_void,
42333 ) -> windows_core::HRESULT {
42334 unsafe {
42335 let this: &Identity =
42336 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42337 ICoreWebView2_9_Impl::CloseDefaultDownloadDialog(this).into()
42338 }
42339 }
42340 unsafe extern "system" fn DefaultDownloadDialogCornerAlignment<
42341 Identity: ICoreWebView2_9_Impl,
42342 const OFFSET: isize,
42343 >(
42344 this: *mut core::ffi::c_void,
42345 value: *mut COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42346 ) -> windows_core::HRESULT {
42347 unsafe {
42348 let this: &Identity =
42349 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42350 ICoreWebView2_9_Impl::DefaultDownloadDialogCornerAlignment(
42351 this,
42352 core::mem::transmute_copy(&value),
42353 )
42354 .into()
42355 }
42356 }
42357 unsafe extern "system" fn SetDefaultDownloadDialogCornerAlignment<
42358 Identity: ICoreWebView2_9_Impl,
42359 const OFFSET: isize,
42360 >(
42361 this: *mut core::ffi::c_void,
42362 value: COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT,
42363 ) -> windows_core::HRESULT {
42364 unsafe {
42365 let this: &Identity =
42366 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42367 ICoreWebView2_9_Impl::SetDefaultDownloadDialogCornerAlignment(
42368 this,
42369 core::mem::transmute_copy(&value),
42370 )
42371 .into()
42372 }
42373 }
42374 unsafe extern "system" fn DefaultDownloadDialogMargin<
42375 Identity: ICoreWebView2_9_Impl,
42376 const OFFSET: isize,
42377 >(
42378 this: *mut core::ffi::c_void,
42379 value: *mut windows::Win32::Foundation::POINT,
42380 ) -> windows_core::HRESULT {
42381 unsafe {
42382 let this: &Identity =
42383 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42384 ICoreWebView2_9_Impl::DefaultDownloadDialogMargin(
42385 this,
42386 core::mem::transmute_copy(&value),
42387 )
42388 .into()
42389 }
42390 }
42391 unsafe extern "system" fn SetDefaultDownloadDialogMargin<
42392 Identity: ICoreWebView2_9_Impl,
42393 const OFFSET: isize,
42394 >(
42395 this: *mut core::ffi::c_void,
42396 value: windows::Win32::Foundation::POINT,
42397 ) -> windows_core::HRESULT {
42398 unsafe {
42399 let this: &Identity =
42400 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
42401 ICoreWebView2_9_Impl::SetDefaultDownloadDialogMargin(
42402 this,
42403 core::mem::transmute(&value),
42404 )
42405 .into()
42406 }
42407 }
42408 Self {
42409 base__: ICoreWebView2_8_Vtbl::new::<Identity, OFFSET>(),
42410 add_IsDefaultDownloadDialogOpenChanged: add_IsDefaultDownloadDialogOpenChanged::<
42411 Identity,
42412 OFFSET,
42413 >,
42414 remove_IsDefaultDownloadDialogOpenChanged: remove_IsDefaultDownloadDialogOpenChanged::<
42415 Identity,
42416 OFFSET,
42417 >,
42418 IsDefaultDownloadDialogOpen: IsDefaultDownloadDialogOpen::<Identity, OFFSET>,
42419 OpenDefaultDownloadDialog: OpenDefaultDownloadDialog::<Identity, OFFSET>,
42420 CloseDefaultDownloadDialog: CloseDefaultDownloadDialog::<Identity, OFFSET>,
42421 DefaultDownloadDialogCornerAlignment: DefaultDownloadDialogCornerAlignment::<
42422 Identity,
42423 OFFSET,
42424 >,
42425 SetDefaultDownloadDialogCornerAlignment: SetDefaultDownloadDialogCornerAlignment::<
42426 Identity,
42427 OFFSET,
42428 >,
42429 DefaultDownloadDialogMargin: DefaultDownloadDialogMargin::<Identity, OFFSET>,
42430 SetDefaultDownloadDialogMargin: SetDefaultDownloadDialogMargin::<Identity, OFFSET>,
42431 }
42432 }
42433 pub fn matches(iid: &windows_core::GUID) -> bool {
42434 iid == &<ICoreWebView2_9 as windows_core::Interface>::IID
42435 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
42436 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
42437 || iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
42438 || iid == &<ICoreWebView2_4 as windows_core::Interface>::IID
42439 || iid == &<ICoreWebView2_5 as windows_core::Interface>::IID
42440 || iid == &<ICoreWebView2_6 as windows_core::Interface>::IID
42441 || iid == &<ICoreWebView2_7 as windows_core::Interface>::IID
42442 || iid == &<ICoreWebView2_8 as windows_core::Interface>::IID
42443 }
42444}
42445impl windows_core::RuntimeName for ICoreWebView2_9 {}