1#![allow(
4 non_snake_case,
5 non_upper_case_globals,
6 non_camel_case_types,
7 dead_code,
8 clippy::all
9)]
10
11#[repr(transparent)]
12#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
13pub struct COREWEBVIEW2_BOUNDS_MODE(pub i32);
14pub const COREWEBVIEW2_BOUNDS_MODE_USE_RASTERIZATION_SCALE: COREWEBVIEW2_BOUNDS_MODE =
15 COREWEBVIEW2_BOUNDS_MODE(1i32);
16pub const COREWEBVIEW2_BOUNDS_MODE_USE_RAW_PIXELS: COREWEBVIEW2_BOUNDS_MODE =
17 COREWEBVIEW2_BOUNDS_MODE(0i32);
18#[repr(transparent)]
19#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
20pub struct COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT(pub i32);
21pub const COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_JPEG:
22 COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT = COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT(1i32);
23pub const COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_PNG: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT =
24 COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT(0i32);
25#[repr(C)]
26#[derive(Clone, Copy, Debug, Default, PartialEq)]
27pub struct COREWEBVIEW2_COLOR {
28 pub A: u8,
29 pub R: u8,
30 pub G: u8,
31 pub B: u8,
32}
33#[repr(transparent)]
34#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
35pub struct COREWEBVIEW2_COOKIE_SAME_SITE_KIND(pub i32);
36pub const COREWEBVIEW2_COOKIE_SAME_SITE_KIND_LAX: COREWEBVIEW2_COOKIE_SAME_SITE_KIND =
37 COREWEBVIEW2_COOKIE_SAME_SITE_KIND(1i32);
38pub const COREWEBVIEW2_COOKIE_SAME_SITE_KIND_NONE: COREWEBVIEW2_COOKIE_SAME_SITE_KIND =
39 COREWEBVIEW2_COOKIE_SAME_SITE_KIND(0i32);
40pub const COREWEBVIEW2_COOKIE_SAME_SITE_KIND_STRICT: COREWEBVIEW2_COOKIE_SAME_SITE_KIND =
41 COREWEBVIEW2_COOKIE_SAME_SITE_KIND(2i32);
42#[repr(transparent)]
43#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
44pub struct COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND(pub i32);
45pub const COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_ALLOW: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND =
46 COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND(1i32);
47pub const COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND =
48 COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND(0i32);
49pub const COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY_CORS: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND =
50 COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND(2i32);
51#[repr(transparent)]
52#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
53pub struct COREWEBVIEW2_KEY_EVENT_KIND(pub i32);
54pub const COREWEBVIEW2_KEY_EVENT_KIND_KEY_DOWN: COREWEBVIEW2_KEY_EVENT_KIND =
55 COREWEBVIEW2_KEY_EVENT_KIND(0i32);
56pub const COREWEBVIEW2_KEY_EVENT_KIND_KEY_UP: COREWEBVIEW2_KEY_EVENT_KIND =
57 COREWEBVIEW2_KEY_EVENT_KIND(1i32);
58pub const COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_DOWN: COREWEBVIEW2_KEY_EVENT_KIND =
59 COREWEBVIEW2_KEY_EVENT_KIND(2i32);
60pub const COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_UP: COREWEBVIEW2_KEY_EVENT_KIND =
61 COREWEBVIEW2_KEY_EVENT_KIND(3i32);
62#[repr(transparent)]
63#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
64pub struct COREWEBVIEW2_MOUSE_EVENT_KIND(pub i32);
65pub const COREWEBVIEW2_MOUSE_EVENT_KIND_HORIZONTAL_WHEEL: COREWEBVIEW2_MOUSE_EVENT_KIND =
66 COREWEBVIEW2_MOUSE_EVENT_KIND(526i32);
67pub const COREWEBVIEW2_MOUSE_EVENT_KIND_LEAVE: COREWEBVIEW2_MOUSE_EVENT_KIND =
68 COREWEBVIEW2_MOUSE_EVENT_KIND(675i32);
69pub const COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOUBLE_CLICK: COREWEBVIEW2_MOUSE_EVENT_KIND =
70 COREWEBVIEW2_MOUSE_EVENT_KIND(515i32);
71pub const COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOWN: COREWEBVIEW2_MOUSE_EVENT_KIND =
72 COREWEBVIEW2_MOUSE_EVENT_KIND(513i32);
73pub const COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
74 COREWEBVIEW2_MOUSE_EVENT_KIND(514i32);
75pub const COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOUBLE_CLICK: COREWEBVIEW2_MOUSE_EVENT_KIND =
76 COREWEBVIEW2_MOUSE_EVENT_KIND(521i32);
77pub const COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOWN: COREWEBVIEW2_MOUSE_EVENT_KIND =
78 COREWEBVIEW2_MOUSE_EVENT_KIND(519i32);
79pub const COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
80 COREWEBVIEW2_MOUSE_EVENT_KIND(520i32);
81pub const COREWEBVIEW2_MOUSE_EVENT_KIND_MOVE: COREWEBVIEW2_MOUSE_EVENT_KIND =
82 COREWEBVIEW2_MOUSE_EVENT_KIND(512i32);
83pub const COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOUBLE_CLICK: COREWEBVIEW2_MOUSE_EVENT_KIND =
84 COREWEBVIEW2_MOUSE_EVENT_KIND(518i32);
85pub const COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOWN: COREWEBVIEW2_MOUSE_EVENT_KIND =
86 COREWEBVIEW2_MOUSE_EVENT_KIND(516i32);
87pub const COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
88 COREWEBVIEW2_MOUSE_EVENT_KIND(517i32);
89pub const COREWEBVIEW2_MOUSE_EVENT_KIND_WHEEL: COREWEBVIEW2_MOUSE_EVENT_KIND =
90 COREWEBVIEW2_MOUSE_EVENT_KIND(522i32);
91pub const COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOUBLE_CLICK: COREWEBVIEW2_MOUSE_EVENT_KIND =
92 COREWEBVIEW2_MOUSE_EVENT_KIND(525i32);
93pub const COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOWN: COREWEBVIEW2_MOUSE_EVENT_KIND =
94 COREWEBVIEW2_MOUSE_EVENT_KIND(523i32);
95pub const COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_UP: COREWEBVIEW2_MOUSE_EVENT_KIND =
96 COREWEBVIEW2_MOUSE_EVENT_KIND(524i32);
97#[repr(transparent)]
98#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
99pub struct COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(pub i32);
100impl COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
101 pub const fn contains(&self, other: Self) -> bool {
102 self.0 & other.0 == other.0
103 }
104}
105impl core::ops::BitOr for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
106 type Output = Self;
107 fn bitor(self, other: Self) -> Self {
108 Self(self.0 | other.0)
109 }
110}
111impl core::ops::BitAnd for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
112 type Output = Self;
113 fn bitand(self, other: Self) -> Self {
114 Self(self.0 & other.0)
115 }
116}
117impl core::ops::BitOrAssign for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
118 fn bitor_assign(&mut self, other: Self) {
119 self.0.bitor_assign(other.0)
120 }
121}
122impl core::ops::BitAndAssign for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
123 fn bitand_assign(&mut self, other: Self) {
124 self.0.bitand_assign(other.0)
125 }
126}
127impl core::ops::Not for COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS {
128 type Output = Self;
129 fn not(self) -> Self {
130 Self(self.0.not())
131 }
132}
133pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_CONTROL: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
134 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(8i32);
135pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_LEFT_BUTTON: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
136 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(1i32);
137pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_MIDDLE_BUTTON:
138 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS = COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(16i32);
139pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_NONE: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
140 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(0i32);
141pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_RIGHT_BUTTON:
142 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS = COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(2i32);
143pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_SHIFT: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
144 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(4i32);
145pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON1: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
146 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(32i32);
147pub const COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON2: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS =
148 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS(64i32);
149#[repr(transparent)]
150#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
151pub struct COREWEBVIEW2_MOVE_FOCUS_REASON(pub i32);
152pub const COREWEBVIEW2_MOVE_FOCUS_REASON_NEXT: COREWEBVIEW2_MOVE_FOCUS_REASON =
153 COREWEBVIEW2_MOVE_FOCUS_REASON(1i32);
154pub const COREWEBVIEW2_MOVE_FOCUS_REASON_PREVIOUS: COREWEBVIEW2_MOVE_FOCUS_REASON =
155 COREWEBVIEW2_MOVE_FOCUS_REASON(2i32);
156pub const COREWEBVIEW2_MOVE_FOCUS_REASON_PROGRAMMATIC: COREWEBVIEW2_MOVE_FOCUS_REASON =
157 COREWEBVIEW2_MOVE_FOCUS_REASON(0i32);
158#[repr(transparent)]
159#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
160pub struct COREWEBVIEW2_PERMISSION_KIND(pub i32);
161pub const COREWEBVIEW2_PERMISSION_KIND_CAMERA: COREWEBVIEW2_PERMISSION_KIND =
162 COREWEBVIEW2_PERMISSION_KIND(2i32);
163pub const COREWEBVIEW2_PERMISSION_KIND_CLIPBOARD_READ: COREWEBVIEW2_PERMISSION_KIND =
164 COREWEBVIEW2_PERMISSION_KIND(6i32);
165pub const COREWEBVIEW2_PERMISSION_KIND_GEOLOCATION: COREWEBVIEW2_PERMISSION_KIND =
166 COREWEBVIEW2_PERMISSION_KIND(3i32);
167pub const COREWEBVIEW2_PERMISSION_KIND_MICROPHONE: COREWEBVIEW2_PERMISSION_KIND =
168 COREWEBVIEW2_PERMISSION_KIND(1i32);
169pub const COREWEBVIEW2_PERMISSION_KIND_NOTIFICATIONS: COREWEBVIEW2_PERMISSION_KIND =
170 COREWEBVIEW2_PERMISSION_KIND(4i32);
171pub const COREWEBVIEW2_PERMISSION_KIND_OTHER_SENSORS: COREWEBVIEW2_PERMISSION_KIND =
172 COREWEBVIEW2_PERMISSION_KIND(5i32);
173pub const COREWEBVIEW2_PERMISSION_KIND_UNKNOWN_PERMISSION: COREWEBVIEW2_PERMISSION_KIND =
174 COREWEBVIEW2_PERMISSION_KIND(0i32);
175#[repr(transparent)]
176#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
177pub struct COREWEBVIEW2_PERMISSION_STATE(pub i32);
178pub const COREWEBVIEW2_PERMISSION_STATE_ALLOW: COREWEBVIEW2_PERMISSION_STATE =
179 COREWEBVIEW2_PERMISSION_STATE(1i32);
180pub const COREWEBVIEW2_PERMISSION_STATE_DEFAULT: COREWEBVIEW2_PERMISSION_STATE =
181 COREWEBVIEW2_PERMISSION_STATE(0i32);
182pub const COREWEBVIEW2_PERMISSION_STATE_DENY: COREWEBVIEW2_PERMISSION_STATE =
183 COREWEBVIEW2_PERMISSION_STATE(2i32);
184#[repr(C)]
185#[derive(Clone, Copy, Debug, Default, PartialEq)]
186pub struct COREWEBVIEW2_PHYSICAL_KEY_STATUS {
187 pub RepeatCount: u32,
188 pub ScanCode: u32,
189 pub IsExtendedKey: windows_core::BOOL,
190 pub IsMenuKeyDown: windows_core::BOOL,
191 pub WasKeyDown: windows_core::BOOL,
192 pub IsKeyReleased: windows_core::BOOL,
193}
194#[repr(transparent)]
195#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
196pub struct COREWEBVIEW2_POINTER_EVENT_KIND(pub i32);
197pub const COREWEBVIEW2_POINTER_EVENT_KIND_ACTIVATE: COREWEBVIEW2_POINTER_EVENT_KIND =
198 COREWEBVIEW2_POINTER_EVENT_KIND(587i32);
199pub const COREWEBVIEW2_POINTER_EVENT_KIND_DOWN: COREWEBVIEW2_POINTER_EVENT_KIND =
200 COREWEBVIEW2_POINTER_EVENT_KIND(582i32);
201pub const COREWEBVIEW2_POINTER_EVENT_KIND_ENTER: COREWEBVIEW2_POINTER_EVENT_KIND =
202 COREWEBVIEW2_POINTER_EVENT_KIND(585i32);
203pub const COREWEBVIEW2_POINTER_EVENT_KIND_LEAVE: COREWEBVIEW2_POINTER_EVENT_KIND =
204 COREWEBVIEW2_POINTER_EVENT_KIND(586i32);
205pub const COREWEBVIEW2_POINTER_EVENT_KIND_UP: COREWEBVIEW2_POINTER_EVENT_KIND =
206 COREWEBVIEW2_POINTER_EVENT_KIND(583i32);
207pub const COREWEBVIEW2_POINTER_EVENT_KIND_UPDATE: COREWEBVIEW2_POINTER_EVENT_KIND =
208 COREWEBVIEW2_POINTER_EVENT_KIND(581i32);
209#[repr(transparent)]
210#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
211pub struct COREWEBVIEW2_PROCESS_FAILED_KIND(pub i32);
212pub const COREWEBVIEW2_PROCESS_FAILED_KIND_BROWSER_PROCESS_EXITED:
213 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(0i32);
214pub const COREWEBVIEW2_PROCESS_FAILED_KIND_FRAME_RENDER_PROCESS_EXITED:
215 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(3i32);
216pub const COREWEBVIEW2_PROCESS_FAILED_KIND_GPU_PROCESS_EXITED: COREWEBVIEW2_PROCESS_FAILED_KIND =
217 COREWEBVIEW2_PROCESS_FAILED_KIND(6i32);
218pub const COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_BROKER_PROCESS_EXITED:
219 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(8i32);
220pub const COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_PLUGIN_PROCESS_EXITED:
221 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(7i32);
222pub const COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_EXITED: COREWEBVIEW2_PROCESS_FAILED_KIND =
223 COREWEBVIEW2_PROCESS_FAILED_KIND(1i32);
224pub const COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_UNRESPONSIVE:
225 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(2i32);
226pub const COREWEBVIEW2_PROCESS_FAILED_KIND_SANDBOX_HELPER_PROCESS_EXITED:
227 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(5i32);
228pub const COREWEBVIEW2_PROCESS_FAILED_KIND_UNKNOWN_PROCESS_EXITED:
229 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(9i32);
230pub const COREWEBVIEW2_PROCESS_FAILED_KIND_UTILITY_PROCESS_EXITED:
231 COREWEBVIEW2_PROCESS_FAILED_KIND = COREWEBVIEW2_PROCESS_FAILED_KIND(4i32);
232#[repr(transparent)]
233#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
234pub struct COREWEBVIEW2_PROCESS_FAILED_REASON(pub i32);
235pub const COREWEBVIEW2_PROCESS_FAILED_REASON_CRASHED: COREWEBVIEW2_PROCESS_FAILED_REASON =
236 COREWEBVIEW2_PROCESS_FAILED_REASON(3i32);
237pub const COREWEBVIEW2_PROCESS_FAILED_REASON_LAUNCH_FAILED: COREWEBVIEW2_PROCESS_FAILED_REASON =
238 COREWEBVIEW2_PROCESS_FAILED_REASON(4i32);
239pub const COREWEBVIEW2_PROCESS_FAILED_REASON_OUT_OF_MEMORY: COREWEBVIEW2_PROCESS_FAILED_REASON =
240 COREWEBVIEW2_PROCESS_FAILED_REASON(5i32);
241pub const COREWEBVIEW2_PROCESS_FAILED_REASON_TERMINATED: COREWEBVIEW2_PROCESS_FAILED_REASON =
242 COREWEBVIEW2_PROCESS_FAILED_REASON(2i32);
243pub const COREWEBVIEW2_PROCESS_FAILED_REASON_UNEXPECTED: COREWEBVIEW2_PROCESS_FAILED_REASON =
244 COREWEBVIEW2_PROCESS_FAILED_REASON(0i32);
245pub const COREWEBVIEW2_PROCESS_FAILED_REASON_UNRESPONSIVE: COREWEBVIEW2_PROCESS_FAILED_REASON =
246 COREWEBVIEW2_PROCESS_FAILED_REASON(1i32);
247#[repr(transparent)]
248#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
249pub struct COREWEBVIEW2_SCRIPT_DIALOG_KIND(pub i32);
250pub const COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT: COREWEBVIEW2_SCRIPT_DIALOG_KIND =
251 COREWEBVIEW2_SCRIPT_DIALOG_KIND(0i32);
252pub const COREWEBVIEW2_SCRIPT_DIALOG_KIND_BEFOREUNLOAD: COREWEBVIEW2_SCRIPT_DIALOG_KIND =
253 COREWEBVIEW2_SCRIPT_DIALOG_KIND(3i32);
254pub const COREWEBVIEW2_SCRIPT_DIALOG_KIND_CONFIRM: COREWEBVIEW2_SCRIPT_DIALOG_KIND =
255 COREWEBVIEW2_SCRIPT_DIALOG_KIND(1i32);
256pub const COREWEBVIEW2_SCRIPT_DIALOG_KIND_PROMPT: COREWEBVIEW2_SCRIPT_DIALOG_KIND =
257 COREWEBVIEW2_SCRIPT_DIALOG_KIND(2i32);
258#[repr(transparent)]
259#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
260pub struct COREWEBVIEW2_WEB_ERROR_STATUS(pub i32);
261pub const COREWEBVIEW2_WEB_ERROR_STATUS_CANNOT_CONNECT: COREWEBVIEW2_WEB_ERROR_STATUS =
262 COREWEBVIEW2_WEB_ERROR_STATUS(12i32);
263pub const COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_COMMON_NAME_IS_INCORRECT:
264 COREWEBVIEW2_WEB_ERROR_STATUS = COREWEBVIEW2_WEB_ERROR_STATUS(1i32);
265pub const COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_EXPIRED: COREWEBVIEW2_WEB_ERROR_STATUS =
266 COREWEBVIEW2_WEB_ERROR_STATUS(2i32);
267pub const COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_IS_INVALID: COREWEBVIEW2_WEB_ERROR_STATUS =
268 COREWEBVIEW2_WEB_ERROR_STATUS(5i32);
269pub const COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_REVOKED: COREWEBVIEW2_WEB_ERROR_STATUS =
270 COREWEBVIEW2_WEB_ERROR_STATUS(4i32);
271pub const COREWEBVIEW2_WEB_ERROR_STATUS_CLIENT_CERTIFICATE_CONTAINS_ERRORS:
272 COREWEBVIEW2_WEB_ERROR_STATUS = COREWEBVIEW2_WEB_ERROR_STATUS(3i32);
273pub const COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_ABORTED: COREWEBVIEW2_WEB_ERROR_STATUS =
274 COREWEBVIEW2_WEB_ERROR_STATUS(9i32);
275pub const COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_RESET: COREWEBVIEW2_WEB_ERROR_STATUS =
276 COREWEBVIEW2_WEB_ERROR_STATUS(10i32);
277pub const COREWEBVIEW2_WEB_ERROR_STATUS_DISCONNECTED: COREWEBVIEW2_WEB_ERROR_STATUS =
278 COREWEBVIEW2_WEB_ERROR_STATUS(11i32);
279pub const COREWEBVIEW2_WEB_ERROR_STATUS_ERROR_HTTP_INVALID_SERVER_RESPONSE:
280 COREWEBVIEW2_WEB_ERROR_STATUS = COREWEBVIEW2_WEB_ERROR_STATUS(8i32);
281pub const COREWEBVIEW2_WEB_ERROR_STATUS_HOST_NAME_NOT_RESOLVED: COREWEBVIEW2_WEB_ERROR_STATUS =
282 COREWEBVIEW2_WEB_ERROR_STATUS(13i32);
283pub const COREWEBVIEW2_WEB_ERROR_STATUS_OPERATION_CANCELED: COREWEBVIEW2_WEB_ERROR_STATUS =
284 COREWEBVIEW2_WEB_ERROR_STATUS(14i32);
285pub const COREWEBVIEW2_WEB_ERROR_STATUS_REDIRECT_FAILED: COREWEBVIEW2_WEB_ERROR_STATUS =
286 COREWEBVIEW2_WEB_ERROR_STATUS(15i32);
287pub const COREWEBVIEW2_WEB_ERROR_STATUS_SERVER_UNREACHABLE: COREWEBVIEW2_WEB_ERROR_STATUS =
288 COREWEBVIEW2_WEB_ERROR_STATUS(6i32);
289pub const COREWEBVIEW2_WEB_ERROR_STATUS_TIMEOUT: COREWEBVIEW2_WEB_ERROR_STATUS =
290 COREWEBVIEW2_WEB_ERROR_STATUS(7i32);
291pub const COREWEBVIEW2_WEB_ERROR_STATUS_UNEXPECTED_ERROR: COREWEBVIEW2_WEB_ERROR_STATUS =
292 COREWEBVIEW2_WEB_ERROR_STATUS(16i32);
293pub const COREWEBVIEW2_WEB_ERROR_STATUS_UNKNOWN: COREWEBVIEW2_WEB_ERROR_STATUS =
294 COREWEBVIEW2_WEB_ERROR_STATUS(0i32);
295#[repr(transparent)]
296#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
297pub struct COREWEBVIEW2_WEB_RESOURCE_CONTEXT(pub i32);
298pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
299 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(0i32);
300pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_CSP_VIOLATION_REPORT:
301 COREWEBVIEW2_WEB_RESOURCE_CONTEXT = COREWEBVIEW2_WEB_RESOURCE_CONTEXT(15i32);
302pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_DOCUMENT: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
303 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(1i32);
304pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_EVENT_SOURCE: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
305 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(10i32);
306pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FETCH: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
307 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(8i32);
308pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FONT: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
309 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(5i32);
310pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
311 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(3i32);
312pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MANIFEST: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
313 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(12i32);
314pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MEDIA: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
315 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(4i32);
316pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_OTHER: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
317 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(16i32);
318pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_PING: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
319 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(14i32);
320pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SCRIPT: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
321 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(6i32);
322pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SIGNED_EXCHANGE: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
323 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(13i32);
324pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_STYLESHEET: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
325 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(2i32);
326pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_TEXT_TRACK: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
327 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(9i32);
328pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_WEBSOCKET: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
329 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(11i32);
330pub const COREWEBVIEW2_WEB_RESOURCE_CONTEXT_XML_HTTP_REQUEST: COREWEBVIEW2_WEB_RESOURCE_CONTEXT =
331 COREWEBVIEW2_WEB_RESOURCE_CONTEXT(7i32);
332windows_core::imp::define_interface!(
333 ICoreWebView2,
334 ICoreWebView2_Vtbl,
335 0x76eceacb_0462_4d94_ac83_423a6793775e
336);
337windows_core::imp::interface_hierarchy!(ICoreWebView2, windows_core::IUnknown);
338impl ICoreWebView2 {
339 pub unsafe fn Settings(&self) -> windows_core::Result<ICoreWebView2Settings> {
340 unsafe {
341 let mut result__ = core::mem::zeroed();
342 (windows_core::Interface::vtable(self).Settings)(
343 windows_core::Interface::as_raw(self),
344 &mut result__,
345 )
346 .and_then(|| windows_core::Type::from_abi(result__))
347 }
348 }
349 pub unsafe fn Source(&self) -> windows_core::Result<windows_core::PWSTR> {
350 unsafe {
351 let mut result__ = core::mem::zeroed();
352 (windows_core::Interface::vtable(self).Source)(
353 windows_core::Interface::as_raw(self),
354 &mut result__,
355 )
356 .map(|| result__)
357 }
358 }
359 pub unsafe fn Navigate<P0>(&self, uri: P0) -> windows_core::Result<()>
360 where
361 P0: windows_core::Param<windows_core::PCWSTR>,
362 {
363 unsafe {
364 (windows_core::Interface::vtable(self).Navigate)(
365 windows_core::Interface::as_raw(self),
366 uri.param().abi(),
367 )
368 .ok()
369 }
370 }
371 pub unsafe fn NavigateToString<P0>(&self, htmlcontent: P0) -> windows_core::Result<()>
372 where
373 P0: windows_core::Param<windows_core::PCWSTR>,
374 {
375 unsafe {
376 (windows_core::Interface::vtable(self).NavigateToString)(
377 windows_core::Interface::as_raw(self),
378 htmlcontent.param().abi(),
379 )
380 .ok()
381 }
382 }
383 pub unsafe fn NavigationStarting<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
384 where
385 P0: windows_core::Param<ICoreWebView2NavigationStartingEventHandler>,
386 {
387 unsafe {
388 let mut result__ = core::mem::zeroed();
389 (windows_core::Interface::vtable(self).NavigationStarting)(
390 windows_core::Interface::as_raw(self),
391 eventhandler.param().abi(),
392 &mut result__,
393 )
394 .map(|| result__)
395 }
396 }
397 pub unsafe fn RemoveNavigationStarting(&self, token: i64) -> windows_core::Result<()> {
398 unsafe {
399 (windows_core::Interface::vtable(self).RemoveNavigationStarting)(
400 windows_core::Interface::as_raw(self),
401 token,
402 )
403 .ok()
404 }
405 }
406 pub unsafe fn ContentLoading<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
407 where
408 P0: windows_core::Param<ICoreWebView2ContentLoadingEventHandler>,
409 {
410 unsafe {
411 let mut result__ = core::mem::zeroed();
412 (windows_core::Interface::vtable(self).ContentLoading)(
413 windows_core::Interface::as_raw(self),
414 eventhandler.param().abi(),
415 &mut result__,
416 )
417 .map(|| result__)
418 }
419 }
420 pub unsafe fn RemoveContentLoading(&self, token: i64) -> windows_core::Result<()> {
421 unsafe {
422 (windows_core::Interface::vtable(self).RemoveContentLoading)(
423 windows_core::Interface::as_raw(self),
424 token,
425 )
426 .ok()
427 }
428 }
429 pub unsafe fn SourceChanged<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
430 where
431 P0: windows_core::Param<ICoreWebView2SourceChangedEventHandler>,
432 {
433 unsafe {
434 let mut result__ = core::mem::zeroed();
435 (windows_core::Interface::vtable(self).SourceChanged)(
436 windows_core::Interface::as_raw(self),
437 eventhandler.param().abi(),
438 &mut result__,
439 )
440 .map(|| result__)
441 }
442 }
443 pub unsafe fn RemoveSourceChanged(&self, token: i64) -> windows_core::Result<()> {
444 unsafe {
445 (windows_core::Interface::vtable(self).RemoveSourceChanged)(
446 windows_core::Interface::as_raw(self),
447 token,
448 )
449 .ok()
450 }
451 }
452 pub unsafe fn HistoryChanged<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
453 where
454 P0: windows_core::Param<ICoreWebView2HistoryChangedEventHandler>,
455 {
456 unsafe {
457 let mut result__ = core::mem::zeroed();
458 (windows_core::Interface::vtable(self).HistoryChanged)(
459 windows_core::Interface::as_raw(self),
460 eventhandler.param().abi(),
461 &mut result__,
462 )
463 .map(|| result__)
464 }
465 }
466 pub unsafe fn RemoveHistoryChanged(&self, token: i64) -> windows_core::Result<()> {
467 unsafe {
468 (windows_core::Interface::vtable(self).RemoveHistoryChanged)(
469 windows_core::Interface::as_raw(self),
470 token,
471 )
472 .ok()
473 }
474 }
475 pub unsafe fn NavigationCompleted<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
476 where
477 P0: windows_core::Param<ICoreWebView2NavigationCompletedEventHandler>,
478 {
479 unsafe {
480 let mut result__ = core::mem::zeroed();
481 (windows_core::Interface::vtable(self).NavigationCompleted)(
482 windows_core::Interface::as_raw(self),
483 eventhandler.param().abi(),
484 &mut result__,
485 )
486 .map(|| result__)
487 }
488 }
489 pub unsafe fn RemoveNavigationCompleted(&self, token: i64) -> windows_core::Result<()> {
490 unsafe {
491 (windows_core::Interface::vtable(self).RemoveNavigationCompleted)(
492 windows_core::Interface::as_raw(self),
493 token,
494 )
495 .ok()
496 }
497 }
498 pub unsafe fn FrameNavigationStarting<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
499 where
500 P0: windows_core::Param<ICoreWebView2NavigationStartingEventHandler>,
501 {
502 unsafe {
503 let mut result__ = core::mem::zeroed();
504 (windows_core::Interface::vtable(self).FrameNavigationStarting)(
505 windows_core::Interface::as_raw(self),
506 eventhandler.param().abi(),
507 &mut result__,
508 )
509 .map(|| result__)
510 }
511 }
512 pub unsafe fn RemoveFrameNavigationStarting(&self, token: i64) -> windows_core::Result<()> {
513 unsafe {
514 (windows_core::Interface::vtable(self).RemoveFrameNavigationStarting)(
515 windows_core::Interface::as_raw(self),
516 token,
517 )
518 .ok()
519 }
520 }
521 pub unsafe fn FrameNavigationCompleted<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
522 where
523 P0: windows_core::Param<ICoreWebView2NavigationCompletedEventHandler>,
524 {
525 unsafe {
526 let mut result__ = core::mem::zeroed();
527 (windows_core::Interface::vtable(self).FrameNavigationCompleted)(
528 windows_core::Interface::as_raw(self),
529 eventhandler.param().abi(),
530 &mut result__,
531 )
532 .map(|| result__)
533 }
534 }
535 pub unsafe fn RemoveFrameNavigationCompleted(&self, token: i64) -> windows_core::Result<()> {
536 unsafe {
537 (windows_core::Interface::vtable(self).RemoveFrameNavigationCompleted)(
538 windows_core::Interface::as_raw(self),
539 token,
540 )
541 .ok()
542 }
543 }
544 pub unsafe fn ScriptDialogOpening<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
545 where
546 P0: windows_core::Param<ICoreWebView2ScriptDialogOpeningEventHandler>,
547 {
548 unsafe {
549 let mut result__ = core::mem::zeroed();
550 (windows_core::Interface::vtable(self).ScriptDialogOpening)(
551 windows_core::Interface::as_raw(self),
552 eventhandler.param().abi(),
553 &mut result__,
554 )
555 .map(|| result__)
556 }
557 }
558 pub unsafe fn RemoveScriptDialogOpening(&self, token: i64) -> windows_core::Result<()> {
559 unsafe {
560 (windows_core::Interface::vtable(self).RemoveScriptDialogOpening)(
561 windows_core::Interface::as_raw(self),
562 token,
563 )
564 .ok()
565 }
566 }
567 pub unsafe fn PermissionRequested<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
568 where
569 P0: windows_core::Param<ICoreWebView2PermissionRequestedEventHandler>,
570 {
571 unsafe {
572 let mut result__ = core::mem::zeroed();
573 (windows_core::Interface::vtable(self).PermissionRequested)(
574 windows_core::Interface::as_raw(self),
575 eventhandler.param().abi(),
576 &mut result__,
577 )
578 .map(|| result__)
579 }
580 }
581 pub unsafe fn RemovePermissionRequested(&self, token: i64) -> windows_core::Result<()> {
582 unsafe {
583 (windows_core::Interface::vtable(self).RemovePermissionRequested)(
584 windows_core::Interface::as_raw(self),
585 token,
586 )
587 .ok()
588 }
589 }
590 pub unsafe fn ProcessFailed<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
591 where
592 P0: windows_core::Param<ICoreWebView2ProcessFailedEventHandler>,
593 {
594 unsafe {
595 let mut result__ = core::mem::zeroed();
596 (windows_core::Interface::vtable(self).ProcessFailed)(
597 windows_core::Interface::as_raw(self),
598 eventhandler.param().abi(),
599 &mut result__,
600 )
601 .map(|| result__)
602 }
603 }
604 pub unsafe fn RemoveProcessFailed(&self, token: i64) -> windows_core::Result<()> {
605 unsafe {
606 (windows_core::Interface::vtable(self).RemoveProcessFailed)(
607 windows_core::Interface::as_raw(self),
608 token,
609 )
610 .ok()
611 }
612 }
613 pub unsafe fn AddScriptToExecuteOnDocumentCreated<P0, P1>(
614 &self,
615 javascript: P0,
616 handler: P1,
617 ) -> windows_core::Result<()>
618 where
619 P0: windows_core::Param<windows_core::PCWSTR>,
620 P1: windows_core::Param<ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler>,
621 {
622 unsafe {
623 (windows_core::Interface::vtable(self).AddScriptToExecuteOnDocumentCreated)(
624 windows_core::Interface::as_raw(self),
625 javascript.param().abi(),
626 handler.param().abi(),
627 )
628 .ok()
629 }
630 }
631 pub unsafe fn RemoveScriptToExecuteOnDocumentCreated<P0>(
632 &self,
633 id: P0,
634 ) -> windows_core::Result<()>
635 where
636 P0: windows_core::Param<windows_core::PCWSTR>,
637 {
638 unsafe {
639 (windows_core::Interface::vtable(self).RemoveScriptToExecuteOnDocumentCreated)(
640 windows_core::Interface::as_raw(self),
641 id.param().abi(),
642 )
643 .ok()
644 }
645 }
646 pub unsafe fn ExecuteScript<P0, P1>(
647 &self,
648 javascript: P0,
649 handler: P1,
650 ) -> windows_core::Result<()>
651 where
652 P0: windows_core::Param<windows_core::PCWSTR>,
653 P1: windows_core::Param<ICoreWebView2ExecuteScriptCompletedHandler>,
654 {
655 unsafe {
656 (windows_core::Interface::vtable(self).ExecuteScript)(
657 windows_core::Interface::as_raw(self),
658 javascript.param().abi(),
659 handler.param().abi(),
660 )
661 .ok()
662 }
663 }
664 pub unsafe fn CapturePreview<P1, P2>(
665 &self,
666 imageformat: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
667 imagestream: P1,
668 handler: P2,
669 ) -> windows_core::Result<()>
670 where
671 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
672 P2: windows_core::Param<ICoreWebView2CapturePreviewCompletedHandler>,
673 {
674 unsafe {
675 (windows_core::Interface::vtable(self).CapturePreview)(
676 windows_core::Interface::as_raw(self),
677 imageformat,
678 imagestream.param().abi(),
679 handler.param().abi(),
680 )
681 .ok()
682 }
683 }
684 pub unsafe fn Reload(&self) -> windows_core::Result<()> {
685 unsafe {
686 (windows_core::Interface::vtable(self).Reload)(windows_core::Interface::as_raw(self))
687 .ok()
688 }
689 }
690 pub unsafe fn PostWebMessageAsJson<P0>(&self, webmessageasjson: P0) -> windows_core::Result<()>
691 where
692 P0: windows_core::Param<windows_core::PCWSTR>,
693 {
694 unsafe {
695 (windows_core::Interface::vtable(self).PostWebMessageAsJson)(
696 windows_core::Interface::as_raw(self),
697 webmessageasjson.param().abi(),
698 )
699 .ok()
700 }
701 }
702 pub unsafe fn PostWebMessageAsString<P0>(
703 &self,
704 webmessageasstring: P0,
705 ) -> windows_core::Result<()>
706 where
707 P0: windows_core::Param<windows_core::PCWSTR>,
708 {
709 unsafe {
710 (windows_core::Interface::vtable(self).PostWebMessageAsString)(
711 windows_core::Interface::as_raw(self),
712 webmessageasstring.param().abi(),
713 )
714 .ok()
715 }
716 }
717 pub unsafe fn WebMessageReceived<P0>(&self, handler: P0) -> windows_core::Result<i64>
718 where
719 P0: windows_core::Param<ICoreWebView2WebMessageReceivedEventHandler>,
720 {
721 unsafe {
722 let mut result__ = core::mem::zeroed();
723 (windows_core::Interface::vtable(self).WebMessageReceived)(
724 windows_core::Interface::as_raw(self),
725 handler.param().abi(),
726 &mut result__,
727 )
728 .map(|| result__)
729 }
730 }
731 pub unsafe fn RemoveWebMessageReceived(&self, token: i64) -> windows_core::Result<()> {
732 unsafe {
733 (windows_core::Interface::vtable(self).RemoveWebMessageReceived)(
734 windows_core::Interface::as_raw(self),
735 token,
736 )
737 .ok()
738 }
739 }
740 pub unsafe fn CallDevToolsProtocolMethod<P0, P1, P2>(
741 &self,
742 methodname: P0,
743 parametersasjson: P1,
744 handler: P2,
745 ) -> windows_core::Result<()>
746 where
747 P0: windows_core::Param<windows_core::PCWSTR>,
748 P1: windows_core::Param<windows_core::PCWSTR>,
749 P2: windows_core::Param<ICoreWebView2CallDevToolsProtocolMethodCompletedHandler>,
750 {
751 unsafe {
752 (windows_core::Interface::vtable(self).CallDevToolsProtocolMethod)(
753 windows_core::Interface::as_raw(self),
754 methodname.param().abi(),
755 parametersasjson.param().abi(),
756 handler.param().abi(),
757 )
758 .ok()
759 }
760 }
761 pub unsafe fn BrowserProcessId(&self) -> windows_core::Result<u32> {
762 unsafe {
763 let mut result__ = core::mem::zeroed();
764 (windows_core::Interface::vtable(self).BrowserProcessId)(
765 windows_core::Interface::as_raw(self),
766 &mut result__,
767 )
768 .map(|| result__)
769 }
770 }
771 pub unsafe fn CanGoBack(&self) -> windows_core::Result<windows_core::BOOL> {
772 unsafe {
773 let mut result__ = core::mem::zeroed();
774 (windows_core::Interface::vtable(self).CanGoBack)(
775 windows_core::Interface::as_raw(self),
776 &mut result__,
777 )
778 .map(|| result__)
779 }
780 }
781 pub unsafe fn CanGoForward(&self) -> windows_core::Result<windows_core::BOOL> {
782 unsafe {
783 let mut result__ = core::mem::zeroed();
784 (windows_core::Interface::vtable(self).CanGoForward)(
785 windows_core::Interface::as_raw(self),
786 &mut result__,
787 )
788 .map(|| result__)
789 }
790 }
791 pub unsafe fn GoBack(&self) -> windows_core::Result<()> {
792 unsafe {
793 (windows_core::Interface::vtable(self).GoBack)(windows_core::Interface::as_raw(self))
794 .ok()
795 }
796 }
797 pub unsafe fn GoForward(&self) -> windows_core::Result<()> {
798 unsafe {
799 (windows_core::Interface::vtable(self).GoForward)(windows_core::Interface::as_raw(self))
800 .ok()
801 }
802 }
803 pub unsafe fn GetDevToolsProtocolEventReceiver<P0>(
804 &self,
805 eventname: P0,
806 ) -> windows_core::Result<ICoreWebView2DevToolsProtocolEventReceiver>
807 where
808 P0: windows_core::Param<windows_core::PCWSTR>,
809 {
810 unsafe {
811 let mut result__ = core::mem::zeroed();
812 (windows_core::Interface::vtable(self).GetDevToolsProtocolEventReceiver)(
813 windows_core::Interface::as_raw(self),
814 eventname.param().abi(),
815 &mut result__,
816 )
817 .and_then(|| windows_core::Type::from_abi(result__))
818 }
819 }
820 pub unsafe fn Stop(&self) -> windows_core::Result<()> {
821 unsafe {
822 (windows_core::Interface::vtable(self).Stop)(windows_core::Interface::as_raw(self)).ok()
823 }
824 }
825 pub unsafe fn NewWindowRequested<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
826 where
827 P0: windows_core::Param<ICoreWebView2NewWindowRequestedEventHandler>,
828 {
829 unsafe {
830 let mut result__ = core::mem::zeroed();
831 (windows_core::Interface::vtable(self).NewWindowRequested)(
832 windows_core::Interface::as_raw(self),
833 eventhandler.param().abi(),
834 &mut result__,
835 )
836 .map(|| result__)
837 }
838 }
839 pub unsafe fn RemoveNewWindowRequested(&self, token: i64) -> windows_core::Result<()> {
840 unsafe {
841 (windows_core::Interface::vtable(self).RemoveNewWindowRequested)(
842 windows_core::Interface::as_raw(self),
843 token,
844 )
845 .ok()
846 }
847 }
848 pub unsafe fn DocumentTitleChanged<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
849 where
850 P0: windows_core::Param<ICoreWebView2DocumentTitleChangedEventHandler>,
851 {
852 unsafe {
853 let mut result__ = core::mem::zeroed();
854 (windows_core::Interface::vtable(self).DocumentTitleChanged)(
855 windows_core::Interface::as_raw(self),
856 eventhandler.param().abi(),
857 &mut result__,
858 )
859 .map(|| result__)
860 }
861 }
862 pub unsafe fn RemoveDocumentTitleChanged(&self, token: i64) -> windows_core::Result<()> {
863 unsafe {
864 (windows_core::Interface::vtable(self).RemoveDocumentTitleChanged)(
865 windows_core::Interface::as_raw(self),
866 token,
867 )
868 .ok()
869 }
870 }
871 pub unsafe fn DocumentTitle(&self) -> windows_core::Result<windows_core::PWSTR> {
872 unsafe {
873 let mut result__ = core::mem::zeroed();
874 (windows_core::Interface::vtable(self).DocumentTitle)(
875 windows_core::Interface::as_raw(self),
876 &mut result__,
877 )
878 .map(|| result__)
879 }
880 }
881 pub unsafe fn AddHostObjectToScript<P0>(
882 &self,
883 name: P0,
884 object: *mut windows::Win32::System::Variant::VARIANT,
885 ) -> windows_core::Result<()>
886 where
887 P0: windows_core::Param<windows_core::PCWSTR>,
888 {
889 unsafe {
890 (windows_core::Interface::vtable(self).AddHostObjectToScript)(
891 windows_core::Interface::as_raw(self),
892 name.param().abi(),
893 core::mem::transmute(object),
894 )
895 .ok()
896 }
897 }
898 pub unsafe fn RemoveHostObjectFromScript<P0>(&self, name: P0) -> windows_core::Result<()>
899 where
900 P0: windows_core::Param<windows_core::PCWSTR>,
901 {
902 unsafe {
903 (windows_core::Interface::vtable(self).RemoveHostObjectFromScript)(
904 windows_core::Interface::as_raw(self),
905 name.param().abi(),
906 )
907 .ok()
908 }
909 }
910 pub unsafe fn OpenDevToolsWindow(&self) -> windows_core::Result<()> {
911 unsafe {
912 (windows_core::Interface::vtable(self).OpenDevToolsWindow)(
913 windows_core::Interface::as_raw(self),
914 )
915 .ok()
916 }
917 }
918 pub unsafe fn ContainsFullScreenElementChanged<P0>(
919 &self,
920 eventhandler: P0,
921 ) -> windows_core::Result<i64>
922 where
923 P0: windows_core::Param<ICoreWebView2ContainsFullScreenElementChangedEventHandler>,
924 {
925 unsafe {
926 let mut result__ = core::mem::zeroed();
927 (windows_core::Interface::vtable(self).ContainsFullScreenElementChanged)(
928 windows_core::Interface::as_raw(self),
929 eventhandler.param().abi(),
930 &mut result__,
931 )
932 .map(|| result__)
933 }
934 }
935 pub unsafe fn RemoveContainsFullScreenElementChanged(
936 &self,
937 token: i64,
938 ) -> windows_core::Result<()> {
939 unsafe {
940 (windows_core::Interface::vtable(self).RemoveContainsFullScreenElementChanged)(
941 windows_core::Interface::as_raw(self),
942 token,
943 )
944 .ok()
945 }
946 }
947 pub unsafe fn ContainsFullScreenElement(&self) -> windows_core::Result<windows_core::BOOL> {
948 unsafe {
949 let mut result__ = core::mem::zeroed();
950 (windows_core::Interface::vtable(self).ContainsFullScreenElement)(
951 windows_core::Interface::as_raw(self),
952 &mut result__,
953 )
954 .map(|| result__)
955 }
956 }
957 pub unsafe fn WebResourceRequested<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
958 where
959 P0: windows_core::Param<ICoreWebView2WebResourceRequestedEventHandler>,
960 {
961 unsafe {
962 let mut result__ = core::mem::zeroed();
963 (windows_core::Interface::vtable(self).WebResourceRequested)(
964 windows_core::Interface::as_raw(self),
965 eventhandler.param().abi(),
966 &mut result__,
967 )
968 .map(|| result__)
969 }
970 }
971 pub unsafe fn RemoveWebResourceRequested(&self, token: i64) -> windows_core::Result<()> {
972 unsafe {
973 (windows_core::Interface::vtable(self).RemoveWebResourceRequested)(
974 windows_core::Interface::as_raw(self),
975 token,
976 )
977 .ok()
978 }
979 }
980 pub unsafe fn AddWebResourceRequestedFilter<P0>(
981 &self,
982 uri: P0,
983 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
984 ) -> windows_core::Result<()>
985 where
986 P0: windows_core::Param<windows_core::PCWSTR>,
987 {
988 unsafe {
989 (windows_core::Interface::vtable(self).AddWebResourceRequestedFilter)(
990 windows_core::Interface::as_raw(self),
991 uri.param().abi(),
992 resourcecontext,
993 )
994 .ok()
995 }
996 }
997 pub unsafe fn RemoveWebResourceRequestedFilter<P0>(
998 &self,
999 uri: P0,
1000 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
1001 ) -> windows_core::Result<()>
1002 where
1003 P0: windows_core::Param<windows_core::PCWSTR>,
1004 {
1005 unsafe {
1006 (windows_core::Interface::vtable(self).RemoveWebResourceRequestedFilter)(
1007 windows_core::Interface::as_raw(self),
1008 uri.param().abi(),
1009 resourcecontext,
1010 )
1011 .ok()
1012 }
1013 }
1014 pub unsafe fn WindowCloseRequested<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
1015 where
1016 P0: windows_core::Param<ICoreWebView2WindowCloseRequestedEventHandler>,
1017 {
1018 unsafe {
1019 let mut result__ = core::mem::zeroed();
1020 (windows_core::Interface::vtable(self).WindowCloseRequested)(
1021 windows_core::Interface::as_raw(self),
1022 eventhandler.param().abi(),
1023 &mut result__,
1024 )
1025 .map(|| result__)
1026 }
1027 }
1028 pub unsafe fn RemoveWindowCloseRequested(&self, token: i64) -> windows_core::Result<()> {
1029 unsafe {
1030 (windows_core::Interface::vtable(self).RemoveWindowCloseRequested)(
1031 windows_core::Interface::as_raw(self),
1032 token,
1033 )
1034 .ok()
1035 }
1036 }
1037}
1038#[repr(C)]
1039#[doc(hidden)]
1040pub struct ICoreWebView2_Vtbl {
1041 pub base__: windows_core::IUnknown_Vtbl,
1042 pub Settings: unsafe extern "system" fn(
1043 *mut core::ffi::c_void,
1044 *mut *mut core::ffi::c_void,
1045 ) -> windows_core::HRESULT,
1046 pub Source: unsafe extern "system" fn(
1047 *mut core::ffi::c_void,
1048 *mut windows_core::PWSTR,
1049 ) -> windows_core::HRESULT,
1050 pub Navigate: unsafe extern "system" fn(
1051 *mut core::ffi::c_void,
1052 windows_core::PCWSTR,
1053 ) -> windows_core::HRESULT,
1054 pub NavigateToString: unsafe extern "system" fn(
1055 *mut core::ffi::c_void,
1056 windows_core::PCWSTR,
1057 ) -> windows_core::HRESULT,
1058 pub NavigationStarting: unsafe extern "system" fn(
1059 *mut core::ffi::c_void,
1060 *mut core::ffi::c_void,
1061 *mut i64,
1062 ) -> windows_core::HRESULT,
1063 pub RemoveNavigationStarting:
1064 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1065 pub ContentLoading: unsafe extern "system" fn(
1066 *mut core::ffi::c_void,
1067 *mut core::ffi::c_void,
1068 *mut i64,
1069 ) -> windows_core::HRESULT,
1070 pub RemoveContentLoading:
1071 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1072 pub SourceChanged: unsafe extern "system" fn(
1073 *mut core::ffi::c_void,
1074 *mut core::ffi::c_void,
1075 *mut i64,
1076 ) -> windows_core::HRESULT,
1077 pub RemoveSourceChanged:
1078 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1079 pub HistoryChanged: unsafe extern "system" fn(
1080 *mut core::ffi::c_void,
1081 *mut core::ffi::c_void,
1082 *mut i64,
1083 ) -> windows_core::HRESULT,
1084 pub RemoveHistoryChanged:
1085 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1086 pub NavigationCompleted: unsafe extern "system" fn(
1087 *mut core::ffi::c_void,
1088 *mut core::ffi::c_void,
1089 *mut i64,
1090 ) -> windows_core::HRESULT,
1091 pub RemoveNavigationCompleted:
1092 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1093 pub FrameNavigationStarting: unsafe extern "system" fn(
1094 *mut core::ffi::c_void,
1095 *mut core::ffi::c_void,
1096 *mut i64,
1097 ) -> windows_core::HRESULT,
1098 pub RemoveFrameNavigationStarting:
1099 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1100 pub FrameNavigationCompleted: unsafe extern "system" fn(
1101 *mut core::ffi::c_void,
1102 *mut core::ffi::c_void,
1103 *mut i64,
1104 ) -> windows_core::HRESULT,
1105 pub RemoveFrameNavigationCompleted:
1106 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1107 pub ScriptDialogOpening: unsafe extern "system" fn(
1108 *mut core::ffi::c_void,
1109 *mut core::ffi::c_void,
1110 *mut i64,
1111 ) -> windows_core::HRESULT,
1112 pub RemoveScriptDialogOpening:
1113 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1114 pub PermissionRequested: unsafe extern "system" fn(
1115 *mut core::ffi::c_void,
1116 *mut core::ffi::c_void,
1117 *mut i64,
1118 ) -> windows_core::HRESULT,
1119 pub RemovePermissionRequested:
1120 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1121 pub ProcessFailed: unsafe extern "system" fn(
1122 *mut core::ffi::c_void,
1123 *mut core::ffi::c_void,
1124 *mut i64,
1125 ) -> windows_core::HRESULT,
1126 pub RemoveProcessFailed:
1127 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1128 pub AddScriptToExecuteOnDocumentCreated: unsafe extern "system" fn(
1129 *mut core::ffi::c_void,
1130 windows_core::PCWSTR,
1131 *mut core::ffi::c_void,
1132 )
1133 -> windows_core::HRESULT,
1134 pub RemoveScriptToExecuteOnDocumentCreated: unsafe extern "system" fn(
1135 *mut core::ffi::c_void,
1136 windows_core::PCWSTR,
1137 )
1138 -> windows_core::HRESULT,
1139 pub ExecuteScript: unsafe extern "system" fn(
1140 *mut core::ffi::c_void,
1141 windows_core::PCWSTR,
1142 *mut core::ffi::c_void,
1143 ) -> windows_core::HRESULT,
1144 pub CapturePreview: unsafe extern "system" fn(
1145 *mut core::ffi::c_void,
1146 COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
1147 *mut core::ffi::c_void,
1148 *mut core::ffi::c_void,
1149 ) -> windows_core::HRESULT,
1150 pub Reload: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1151 pub PostWebMessageAsJson: unsafe extern "system" fn(
1152 *mut core::ffi::c_void,
1153 windows_core::PCWSTR,
1154 ) -> windows_core::HRESULT,
1155 pub PostWebMessageAsString: unsafe extern "system" fn(
1156 *mut core::ffi::c_void,
1157 windows_core::PCWSTR,
1158 ) -> windows_core::HRESULT,
1159 pub WebMessageReceived: unsafe extern "system" fn(
1160 *mut core::ffi::c_void,
1161 *mut core::ffi::c_void,
1162 *mut i64,
1163 ) -> windows_core::HRESULT,
1164 pub RemoveWebMessageReceived:
1165 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1166 pub CallDevToolsProtocolMethod: unsafe extern "system" fn(
1167 *mut core::ffi::c_void,
1168 windows_core::PCWSTR,
1169 windows_core::PCWSTR,
1170 *mut core::ffi::c_void,
1171 ) -> windows_core::HRESULT,
1172 pub BrowserProcessId:
1173 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
1174 pub CanGoBack: unsafe extern "system" fn(
1175 *mut core::ffi::c_void,
1176 *mut windows_core::BOOL,
1177 ) -> windows_core::HRESULT,
1178 pub CanGoForward: unsafe extern "system" fn(
1179 *mut core::ffi::c_void,
1180 *mut windows_core::BOOL,
1181 ) -> windows_core::HRESULT,
1182 pub GoBack: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1183 pub GoForward: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1184 pub GetDevToolsProtocolEventReceiver: unsafe extern "system" fn(
1185 *mut core::ffi::c_void,
1186 windows_core::PCWSTR,
1187 *mut *mut core::ffi::c_void,
1188 ) -> windows_core::HRESULT,
1189 pub Stop: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1190 pub NewWindowRequested: unsafe extern "system" fn(
1191 *mut core::ffi::c_void,
1192 *mut core::ffi::c_void,
1193 *mut i64,
1194 ) -> windows_core::HRESULT,
1195 pub RemoveNewWindowRequested:
1196 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1197 pub DocumentTitleChanged: unsafe extern "system" fn(
1198 *mut core::ffi::c_void,
1199 *mut core::ffi::c_void,
1200 *mut i64,
1201 ) -> windows_core::HRESULT,
1202 pub RemoveDocumentTitleChanged:
1203 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1204 pub DocumentTitle: unsafe extern "system" fn(
1205 *mut core::ffi::c_void,
1206 *mut windows_core::PWSTR,
1207 ) -> windows_core::HRESULT,
1208 pub AddHostObjectToScript: unsafe extern "system" fn(
1209 *mut core::ffi::c_void,
1210 windows_core::PCWSTR,
1211 *mut windows::Win32::System::Variant::VARIANT,
1212 ) -> windows_core::HRESULT,
1213 pub RemoveHostObjectFromScript: unsafe extern "system" fn(
1214 *mut core::ffi::c_void,
1215 windows_core::PCWSTR,
1216 ) -> windows_core::HRESULT,
1217 pub OpenDevToolsWindow:
1218 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
1219 pub ContainsFullScreenElementChanged: unsafe extern "system" fn(
1220 *mut core::ffi::c_void,
1221 *mut core::ffi::c_void,
1222 *mut i64,
1223 ) -> windows_core::HRESULT,
1224 pub RemoveContainsFullScreenElementChanged:
1225 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1226 pub ContainsFullScreenElement: unsafe extern "system" fn(
1227 *mut core::ffi::c_void,
1228 *mut windows_core::BOOL,
1229 ) -> windows_core::HRESULT,
1230 pub WebResourceRequested: unsafe extern "system" fn(
1231 *mut core::ffi::c_void,
1232 *mut core::ffi::c_void,
1233 *mut i64,
1234 ) -> windows_core::HRESULT,
1235 pub RemoveWebResourceRequested:
1236 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1237 pub AddWebResourceRequestedFilter: unsafe extern "system" fn(
1238 *mut core::ffi::c_void,
1239 windows_core::PCWSTR,
1240 COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
1241 ) -> windows_core::HRESULT,
1242 pub RemoveWebResourceRequestedFilter: unsafe extern "system" fn(
1243 *mut core::ffi::c_void,
1244 windows_core::PCWSTR,
1245 COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
1246 ) -> windows_core::HRESULT,
1247 pub WindowCloseRequested: unsafe extern "system" fn(
1248 *mut core::ffi::c_void,
1249 *mut core::ffi::c_void,
1250 *mut i64,
1251 ) -> windows_core::HRESULT,
1252 pub RemoveWindowCloseRequested:
1253 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
1254}
1255pub trait ICoreWebView2_Impl: windows_core::IUnknownImpl {
1256 fn Settings(&self) -> windows_core::Result<ICoreWebView2Settings>;
1257 fn Source(&self) -> windows_core::Result<windows_core::PWSTR>;
1258 fn Navigate(&self, uri: &windows_core::PCWSTR) -> windows_core::Result<()>;
1259 fn NavigateToString(&self, htmlcontent: &windows_core::PCWSTR) -> windows_core::Result<()>;
1260 fn NavigationStarting(
1261 &self,
1262 eventhandler: windows_core::Ref<ICoreWebView2NavigationStartingEventHandler>,
1263 ) -> windows_core::Result<i64>;
1264 fn RemoveNavigationStarting(&self, token: i64) -> windows_core::Result<()>;
1265 fn ContentLoading(
1266 &self,
1267 eventhandler: windows_core::Ref<ICoreWebView2ContentLoadingEventHandler>,
1268 ) -> windows_core::Result<i64>;
1269 fn RemoveContentLoading(&self, token: i64) -> windows_core::Result<()>;
1270 fn SourceChanged(
1271 &self,
1272 eventhandler: windows_core::Ref<ICoreWebView2SourceChangedEventHandler>,
1273 ) -> windows_core::Result<i64>;
1274 fn RemoveSourceChanged(&self, token: i64) -> windows_core::Result<()>;
1275 fn HistoryChanged(
1276 &self,
1277 eventhandler: windows_core::Ref<ICoreWebView2HistoryChangedEventHandler>,
1278 ) -> windows_core::Result<i64>;
1279 fn RemoveHistoryChanged(&self, token: i64) -> windows_core::Result<()>;
1280 fn NavigationCompleted(
1281 &self,
1282 eventhandler: windows_core::Ref<ICoreWebView2NavigationCompletedEventHandler>,
1283 ) -> windows_core::Result<i64>;
1284 fn RemoveNavigationCompleted(&self, token: i64) -> windows_core::Result<()>;
1285 fn FrameNavigationStarting(
1286 &self,
1287 eventhandler: windows_core::Ref<ICoreWebView2NavigationStartingEventHandler>,
1288 ) -> windows_core::Result<i64>;
1289 fn RemoveFrameNavigationStarting(&self, token: i64) -> windows_core::Result<()>;
1290 fn FrameNavigationCompleted(
1291 &self,
1292 eventhandler: windows_core::Ref<ICoreWebView2NavigationCompletedEventHandler>,
1293 ) -> windows_core::Result<i64>;
1294 fn RemoveFrameNavigationCompleted(&self, token: i64) -> windows_core::Result<()>;
1295 fn ScriptDialogOpening(
1296 &self,
1297 eventhandler: windows_core::Ref<ICoreWebView2ScriptDialogOpeningEventHandler>,
1298 ) -> windows_core::Result<i64>;
1299 fn RemoveScriptDialogOpening(&self, token: i64) -> windows_core::Result<()>;
1300 fn PermissionRequested(
1301 &self,
1302 eventhandler: windows_core::Ref<ICoreWebView2PermissionRequestedEventHandler>,
1303 ) -> windows_core::Result<i64>;
1304 fn RemovePermissionRequested(&self, token: i64) -> windows_core::Result<()>;
1305 fn ProcessFailed(
1306 &self,
1307 eventhandler: windows_core::Ref<ICoreWebView2ProcessFailedEventHandler>,
1308 ) -> windows_core::Result<i64>;
1309 fn RemoveProcessFailed(&self, token: i64) -> windows_core::Result<()>;
1310 fn AddScriptToExecuteOnDocumentCreated(
1311 &self,
1312 javascript: &windows_core::PCWSTR,
1313 handler: windows_core::Ref<
1314 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler,
1315 >,
1316 ) -> windows_core::Result<()>;
1317 fn RemoveScriptToExecuteOnDocumentCreated(
1318 &self,
1319 id: &windows_core::PCWSTR,
1320 ) -> windows_core::Result<()>;
1321 fn ExecuteScript(
1322 &self,
1323 javascript: &windows_core::PCWSTR,
1324 handler: windows_core::Ref<ICoreWebView2ExecuteScriptCompletedHandler>,
1325 ) -> windows_core::Result<()>;
1326 fn CapturePreview(
1327 &self,
1328 imageformat: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
1329 imagestream: windows_core::Ref<windows::Win32::System::Com::IStream>,
1330 handler: windows_core::Ref<ICoreWebView2CapturePreviewCompletedHandler>,
1331 ) -> windows_core::Result<()>;
1332 fn Reload(&self) -> windows_core::Result<()>;
1333 fn PostWebMessageAsJson(
1334 &self,
1335 webmessageasjson: &windows_core::PCWSTR,
1336 ) -> windows_core::Result<()>;
1337 fn PostWebMessageAsString(
1338 &self,
1339 webmessageasstring: &windows_core::PCWSTR,
1340 ) -> windows_core::Result<()>;
1341 fn WebMessageReceived(
1342 &self,
1343 handler: windows_core::Ref<ICoreWebView2WebMessageReceivedEventHandler>,
1344 ) -> windows_core::Result<i64>;
1345 fn RemoveWebMessageReceived(&self, token: i64) -> windows_core::Result<()>;
1346 fn CallDevToolsProtocolMethod(
1347 &self,
1348 methodname: &windows_core::PCWSTR,
1349 parametersasjson: &windows_core::PCWSTR,
1350 handler: windows_core::Ref<ICoreWebView2CallDevToolsProtocolMethodCompletedHandler>,
1351 ) -> windows_core::Result<()>;
1352 fn BrowserProcessId(&self) -> windows_core::Result<u32>;
1353 fn CanGoBack(&self) -> windows_core::Result<windows_core::BOOL>;
1354 fn CanGoForward(&self) -> windows_core::Result<windows_core::BOOL>;
1355 fn GoBack(&self) -> windows_core::Result<()>;
1356 fn GoForward(&self) -> windows_core::Result<()>;
1357 fn GetDevToolsProtocolEventReceiver(
1358 &self,
1359 eventname: &windows_core::PCWSTR,
1360 ) -> windows_core::Result<ICoreWebView2DevToolsProtocolEventReceiver>;
1361 fn Stop(&self) -> windows_core::Result<()>;
1362 fn NewWindowRequested(
1363 &self,
1364 eventhandler: windows_core::Ref<ICoreWebView2NewWindowRequestedEventHandler>,
1365 ) -> windows_core::Result<i64>;
1366 fn RemoveNewWindowRequested(&self, token: i64) -> windows_core::Result<()>;
1367 fn DocumentTitleChanged(
1368 &self,
1369 eventhandler: windows_core::Ref<ICoreWebView2DocumentTitleChangedEventHandler>,
1370 ) -> windows_core::Result<i64>;
1371 fn RemoveDocumentTitleChanged(&self, token: i64) -> windows_core::Result<()>;
1372 fn DocumentTitle(&self) -> windows_core::Result<windows_core::PWSTR>;
1373 fn AddHostObjectToScript(
1374 &self,
1375 name: &windows_core::PCWSTR,
1376 object: *mut windows::Win32::System::Variant::VARIANT,
1377 ) -> windows_core::Result<()>;
1378 fn RemoveHostObjectFromScript(&self, name: &windows_core::PCWSTR) -> windows_core::Result<()>;
1379 fn OpenDevToolsWindow(&self) -> windows_core::Result<()>;
1380 fn ContainsFullScreenElementChanged(
1381 &self,
1382 eventhandler: windows_core::Ref<ICoreWebView2ContainsFullScreenElementChangedEventHandler>,
1383 ) -> windows_core::Result<i64>;
1384 fn RemoveContainsFullScreenElementChanged(&self, token: i64) -> windows_core::Result<()>;
1385 fn ContainsFullScreenElement(&self) -> windows_core::Result<windows_core::BOOL>;
1386 fn WebResourceRequested(
1387 &self,
1388 eventhandler: windows_core::Ref<ICoreWebView2WebResourceRequestedEventHandler>,
1389 ) -> windows_core::Result<i64>;
1390 fn RemoveWebResourceRequested(&self, token: i64) -> windows_core::Result<()>;
1391 fn AddWebResourceRequestedFilter(
1392 &self,
1393 uri: &windows_core::PCWSTR,
1394 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
1395 ) -> windows_core::Result<()>;
1396 fn RemoveWebResourceRequestedFilter(
1397 &self,
1398 uri: &windows_core::PCWSTR,
1399 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
1400 ) -> windows_core::Result<()>;
1401 fn WindowCloseRequested(
1402 &self,
1403 eventhandler: windows_core::Ref<ICoreWebView2WindowCloseRequestedEventHandler>,
1404 ) -> windows_core::Result<i64>;
1405 fn RemoveWindowCloseRequested(&self, token: i64) -> windows_core::Result<()>;
1406}
1407impl ICoreWebView2_Vtbl {
1408 pub const fn new<Identity: ICoreWebView2_Impl, const OFFSET: isize>() -> Self {
1409 unsafe extern "system" fn Settings<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
1410 this: *mut core::ffi::c_void,
1411 settings: *mut *mut core::ffi::c_void,
1412 ) -> windows_core::HRESULT {
1413 unsafe {
1414 let this: &Identity =
1415 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1416 match ICoreWebView2_Impl::Settings(this) {
1417 Ok(ok__) => {
1418 settings.write(core::mem::transmute(ok__));
1419 windows_core::HRESULT(0)
1420 }
1421 Err(err) => err.into(),
1422 }
1423 }
1424 }
1425 unsafe extern "system" fn Source<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
1426 this: *mut core::ffi::c_void,
1427 uri: *mut windows_core::PWSTR,
1428 ) -> windows_core::HRESULT {
1429 unsafe {
1430 let this: &Identity =
1431 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1432 match ICoreWebView2_Impl::Source(this) {
1433 Ok(ok__) => {
1434 uri.write(core::mem::transmute(ok__));
1435 windows_core::HRESULT(0)
1436 }
1437 Err(err) => err.into(),
1438 }
1439 }
1440 }
1441 unsafe extern "system" fn Navigate<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
1442 this: *mut core::ffi::c_void,
1443 uri: windows_core::PCWSTR,
1444 ) -> windows_core::HRESULT {
1445 unsafe {
1446 let this: &Identity =
1447 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1448 ICoreWebView2_Impl::Navigate(this, core::mem::transmute(&uri)).into()
1449 }
1450 }
1451 unsafe extern "system" fn NavigateToString<
1452 Identity: ICoreWebView2_Impl,
1453 const OFFSET: isize,
1454 >(
1455 this: *mut core::ffi::c_void,
1456 htmlcontent: windows_core::PCWSTR,
1457 ) -> windows_core::HRESULT {
1458 unsafe {
1459 let this: &Identity =
1460 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1461 ICoreWebView2_Impl::NavigateToString(this, core::mem::transmute(&htmlcontent))
1462 .into()
1463 }
1464 }
1465 unsafe extern "system" fn NavigationStarting<
1466 Identity: ICoreWebView2_Impl,
1467 const OFFSET: isize,
1468 >(
1469 this: *mut core::ffi::c_void,
1470 eventhandler: *mut core::ffi::c_void,
1471 token: *mut i64,
1472 ) -> windows_core::HRESULT {
1473 unsafe {
1474 let this: &Identity =
1475 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1476 match ICoreWebView2_Impl::NavigationStarting(
1477 this,
1478 core::mem::transmute_copy(&eventhandler),
1479 ) {
1480 Ok(ok__) => {
1481 token.write(core::mem::transmute(ok__));
1482 windows_core::HRESULT(0)
1483 }
1484 Err(err) => err.into(),
1485 }
1486 }
1487 }
1488 unsafe extern "system" fn RemoveNavigationStarting<
1489 Identity: ICoreWebView2_Impl,
1490 const OFFSET: isize,
1491 >(
1492 this: *mut core::ffi::c_void,
1493 token: i64,
1494 ) -> windows_core::HRESULT {
1495 unsafe {
1496 let this: &Identity =
1497 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1498 ICoreWebView2_Impl::RemoveNavigationStarting(
1499 this,
1500 core::mem::transmute_copy(&token),
1501 )
1502 .into()
1503 }
1504 }
1505 unsafe extern "system" fn ContentLoading<
1506 Identity: ICoreWebView2_Impl,
1507 const OFFSET: isize,
1508 >(
1509 this: *mut core::ffi::c_void,
1510 eventhandler: *mut core::ffi::c_void,
1511 token: *mut i64,
1512 ) -> windows_core::HRESULT {
1513 unsafe {
1514 let this: &Identity =
1515 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1516 match ICoreWebView2_Impl::ContentLoading(
1517 this,
1518 core::mem::transmute_copy(&eventhandler),
1519 ) {
1520 Ok(ok__) => {
1521 token.write(core::mem::transmute(ok__));
1522 windows_core::HRESULT(0)
1523 }
1524 Err(err) => err.into(),
1525 }
1526 }
1527 }
1528 unsafe extern "system" fn RemoveContentLoading<
1529 Identity: ICoreWebView2_Impl,
1530 const OFFSET: isize,
1531 >(
1532 this: *mut core::ffi::c_void,
1533 token: i64,
1534 ) -> windows_core::HRESULT {
1535 unsafe {
1536 let this: &Identity =
1537 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1538 ICoreWebView2_Impl::RemoveContentLoading(this, core::mem::transmute_copy(&token))
1539 .into()
1540 }
1541 }
1542 unsafe extern "system" fn SourceChanged<
1543 Identity: ICoreWebView2_Impl,
1544 const OFFSET: isize,
1545 >(
1546 this: *mut core::ffi::c_void,
1547 eventhandler: *mut core::ffi::c_void,
1548 token: *mut i64,
1549 ) -> windows_core::HRESULT {
1550 unsafe {
1551 let this: &Identity =
1552 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1553 match ICoreWebView2_Impl::SourceChanged(
1554 this,
1555 core::mem::transmute_copy(&eventhandler),
1556 ) {
1557 Ok(ok__) => {
1558 token.write(core::mem::transmute(ok__));
1559 windows_core::HRESULT(0)
1560 }
1561 Err(err) => err.into(),
1562 }
1563 }
1564 }
1565 unsafe extern "system" fn RemoveSourceChanged<
1566 Identity: ICoreWebView2_Impl,
1567 const OFFSET: isize,
1568 >(
1569 this: *mut core::ffi::c_void,
1570 token: i64,
1571 ) -> windows_core::HRESULT {
1572 unsafe {
1573 let this: &Identity =
1574 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1575 ICoreWebView2_Impl::RemoveSourceChanged(this, core::mem::transmute_copy(&token))
1576 .into()
1577 }
1578 }
1579 unsafe extern "system" fn HistoryChanged<
1580 Identity: ICoreWebView2_Impl,
1581 const OFFSET: isize,
1582 >(
1583 this: *mut core::ffi::c_void,
1584 eventhandler: *mut core::ffi::c_void,
1585 token: *mut i64,
1586 ) -> windows_core::HRESULT {
1587 unsafe {
1588 let this: &Identity =
1589 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1590 match ICoreWebView2_Impl::HistoryChanged(
1591 this,
1592 core::mem::transmute_copy(&eventhandler),
1593 ) {
1594 Ok(ok__) => {
1595 token.write(core::mem::transmute(ok__));
1596 windows_core::HRESULT(0)
1597 }
1598 Err(err) => err.into(),
1599 }
1600 }
1601 }
1602 unsafe extern "system" fn RemoveHistoryChanged<
1603 Identity: ICoreWebView2_Impl,
1604 const OFFSET: isize,
1605 >(
1606 this: *mut core::ffi::c_void,
1607 token: i64,
1608 ) -> windows_core::HRESULT {
1609 unsafe {
1610 let this: &Identity =
1611 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1612 ICoreWebView2_Impl::RemoveHistoryChanged(this, core::mem::transmute_copy(&token))
1613 .into()
1614 }
1615 }
1616 unsafe extern "system" fn NavigationCompleted<
1617 Identity: ICoreWebView2_Impl,
1618 const OFFSET: isize,
1619 >(
1620 this: *mut core::ffi::c_void,
1621 eventhandler: *mut core::ffi::c_void,
1622 token: *mut i64,
1623 ) -> windows_core::HRESULT {
1624 unsafe {
1625 let this: &Identity =
1626 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1627 match ICoreWebView2_Impl::NavigationCompleted(
1628 this,
1629 core::mem::transmute_copy(&eventhandler),
1630 ) {
1631 Ok(ok__) => {
1632 token.write(core::mem::transmute(ok__));
1633 windows_core::HRESULT(0)
1634 }
1635 Err(err) => err.into(),
1636 }
1637 }
1638 }
1639 unsafe extern "system" fn RemoveNavigationCompleted<
1640 Identity: ICoreWebView2_Impl,
1641 const OFFSET: isize,
1642 >(
1643 this: *mut core::ffi::c_void,
1644 token: i64,
1645 ) -> windows_core::HRESULT {
1646 unsafe {
1647 let this: &Identity =
1648 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1649 ICoreWebView2_Impl::RemoveNavigationCompleted(
1650 this,
1651 core::mem::transmute_copy(&token),
1652 )
1653 .into()
1654 }
1655 }
1656 unsafe extern "system" fn FrameNavigationStarting<
1657 Identity: ICoreWebView2_Impl,
1658 const OFFSET: isize,
1659 >(
1660 this: *mut core::ffi::c_void,
1661 eventhandler: *mut core::ffi::c_void,
1662 token: *mut i64,
1663 ) -> windows_core::HRESULT {
1664 unsafe {
1665 let this: &Identity =
1666 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1667 match ICoreWebView2_Impl::FrameNavigationStarting(
1668 this,
1669 core::mem::transmute_copy(&eventhandler),
1670 ) {
1671 Ok(ok__) => {
1672 token.write(core::mem::transmute(ok__));
1673 windows_core::HRESULT(0)
1674 }
1675 Err(err) => err.into(),
1676 }
1677 }
1678 }
1679 unsafe extern "system" fn RemoveFrameNavigationStarting<
1680 Identity: ICoreWebView2_Impl,
1681 const OFFSET: isize,
1682 >(
1683 this: *mut core::ffi::c_void,
1684 token: i64,
1685 ) -> windows_core::HRESULT {
1686 unsafe {
1687 let this: &Identity =
1688 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1689 ICoreWebView2_Impl::RemoveFrameNavigationStarting(
1690 this,
1691 core::mem::transmute_copy(&token),
1692 )
1693 .into()
1694 }
1695 }
1696 unsafe extern "system" fn FrameNavigationCompleted<
1697 Identity: ICoreWebView2_Impl,
1698 const OFFSET: isize,
1699 >(
1700 this: *mut core::ffi::c_void,
1701 eventhandler: *mut core::ffi::c_void,
1702 token: *mut i64,
1703 ) -> windows_core::HRESULT {
1704 unsafe {
1705 let this: &Identity =
1706 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1707 match ICoreWebView2_Impl::FrameNavigationCompleted(
1708 this,
1709 core::mem::transmute_copy(&eventhandler),
1710 ) {
1711 Ok(ok__) => {
1712 token.write(core::mem::transmute(ok__));
1713 windows_core::HRESULT(0)
1714 }
1715 Err(err) => err.into(),
1716 }
1717 }
1718 }
1719 unsafe extern "system" fn RemoveFrameNavigationCompleted<
1720 Identity: ICoreWebView2_Impl,
1721 const OFFSET: isize,
1722 >(
1723 this: *mut core::ffi::c_void,
1724 token: i64,
1725 ) -> windows_core::HRESULT {
1726 unsafe {
1727 let this: &Identity =
1728 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1729 ICoreWebView2_Impl::RemoveFrameNavigationCompleted(
1730 this,
1731 core::mem::transmute_copy(&token),
1732 )
1733 .into()
1734 }
1735 }
1736 unsafe extern "system" fn ScriptDialogOpening<
1737 Identity: ICoreWebView2_Impl,
1738 const OFFSET: isize,
1739 >(
1740 this: *mut core::ffi::c_void,
1741 eventhandler: *mut core::ffi::c_void,
1742 token: *mut i64,
1743 ) -> windows_core::HRESULT {
1744 unsafe {
1745 let this: &Identity =
1746 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1747 match ICoreWebView2_Impl::ScriptDialogOpening(
1748 this,
1749 core::mem::transmute_copy(&eventhandler),
1750 ) {
1751 Ok(ok__) => {
1752 token.write(core::mem::transmute(ok__));
1753 windows_core::HRESULT(0)
1754 }
1755 Err(err) => err.into(),
1756 }
1757 }
1758 }
1759 unsafe extern "system" fn RemoveScriptDialogOpening<
1760 Identity: ICoreWebView2_Impl,
1761 const OFFSET: isize,
1762 >(
1763 this: *mut core::ffi::c_void,
1764 token: i64,
1765 ) -> windows_core::HRESULT {
1766 unsafe {
1767 let this: &Identity =
1768 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1769 ICoreWebView2_Impl::RemoveScriptDialogOpening(
1770 this,
1771 core::mem::transmute_copy(&token),
1772 )
1773 .into()
1774 }
1775 }
1776 unsafe extern "system" fn PermissionRequested<
1777 Identity: ICoreWebView2_Impl,
1778 const OFFSET: isize,
1779 >(
1780 this: *mut core::ffi::c_void,
1781 eventhandler: *mut core::ffi::c_void,
1782 token: *mut i64,
1783 ) -> windows_core::HRESULT {
1784 unsafe {
1785 let this: &Identity =
1786 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1787 match ICoreWebView2_Impl::PermissionRequested(
1788 this,
1789 core::mem::transmute_copy(&eventhandler),
1790 ) {
1791 Ok(ok__) => {
1792 token.write(core::mem::transmute(ok__));
1793 windows_core::HRESULT(0)
1794 }
1795 Err(err) => err.into(),
1796 }
1797 }
1798 }
1799 unsafe extern "system" fn RemovePermissionRequested<
1800 Identity: ICoreWebView2_Impl,
1801 const OFFSET: isize,
1802 >(
1803 this: *mut core::ffi::c_void,
1804 token: i64,
1805 ) -> windows_core::HRESULT {
1806 unsafe {
1807 let this: &Identity =
1808 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1809 ICoreWebView2_Impl::RemovePermissionRequested(
1810 this,
1811 core::mem::transmute_copy(&token),
1812 )
1813 .into()
1814 }
1815 }
1816 unsafe extern "system" fn ProcessFailed<
1817 Identity: ICoreWebView2_Impl,
1818 const OFFSET: isize,
1819 >(
1820 this: *mut core::ffi::c_void,
1821 eventhandler: *mut core::ffi::c_void,
1822 token: *mut i64,
1823 ) -> windows_core::HRESULT {
1824 unsafe {
1825 let this: &Identity =
1826 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1827 match ICoreWebView2_Impl::ProcessFailed(
1828 this,
1829 core::mem::transmute_copy(&eventhandler),
1830 ) {
1831 Ok(ok__) => {
1832 token.write(core::mem::transmute(ok__));
1833 windows_core::HRESULT(0)
1834 }
1835 Err(err) => err.into(),
1836 }
1837 }
1838 }
1839 unsafe extern "system" fn RemoveProcessFailed<
1840 Identity: ICoreWebView2_Impl,
1841 const OFFSET: isize,
1842 >(
1843 this: *mut core::ffi::c_void,
1844 token: i64,
1845 ) -> windows_core::HRESULT {
1846 unsafe {
1847 let this: &Identity =
1848 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1849 ICoreWebView2_Impl::RemoveProcessFailed(this, core::mem::transmute_copy(&token))
1850 .into()
1851 }
1852 }
1853 unsafe extern "system" fn AddScriptToExecuteOnDocumentCreated<
1854 Identity: ICoreWebView2_Impl,
1855 const OFFSET: isize,
1856 >(
1857 this: *mut core::ffi::c_void,
1858 javascript: windows_core::PCWSTR,
1859 handler: *mut core::ffi::c_void,
1860 ) -> windows_core::HRESULT {
1861 unsafe {
1862 let this: &Identity =
1863 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1864 ICoreWebView2_Impl::AddScriptToExecuteOnDocumentCreated(
1865 this,
1866 core::mem::transmute(&javascript),
1867 core::mem::transmute_copy(&handler),
1868 )
1869 .into()
1870 }
1871 }
1872 unsafe extern "system" fn RemoveScriptToExecuteOnDocumentCreated<
1873 Identity: ICoreWebView2_Impl,
1874 const OFFSET: isize,
1875 >(
1876 this: *mut core::ffi::c_void,
1877 id: windows_core::PCWSTR,
1878 ) -> windows_core::HRESULT {
1879 unsafe {
1880 let this: &Identity =
1881 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1882 ICoreWebView2_Impl::RemoveScriptToExecuteOnDocumentCreated(
1883 this,
1884 core::mem::transmute(&id),
1885 )
1886 .into()
1887 }
1888 }
1889 unsafe extern "system" fn ExecuteScript<
1890 Identity: ICoreWebView2_Impl,
1891 const OFFSET: isize,
1892 >(
1893 this: *mut core::ffi::c_void,
1894 javascript: windows_core::PCWSTR,
1895 handler: *mut core::ffi::c_void,
1896 ) -> windows_core::HRESULT {
1897 unsafe {
1898 let this: &Identity =
1899 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1900 ICoreWebView2_Impl::ExecuteScript(
1901 this,
1902 core::mem::transmute(&javascript),
1903 core::mem::transmute_copy(&handler),
1904 )
1905 .into()
1906 }
1907 }
1908 unsafe extern "system" fn CapturePreview<
1909 Identity: ICoreWebView2_Impl,
1910 const OFFSET: isize,
1911 >(
1912 this: *mut core::ffi::c_void,
1913 imageformat: COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT,
1914 imagestream: *mut core::ffi::c_void,
1915 handler: *mut core::ffi::c_void,
1916 ) -> windows_core::HRESULT {
1917 unsafe {
1918 let this: &Identity =
1919 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1920 ICoreWebView2_Impl::CapturePreview(
1921 this,
1922 core::mem::transmute_copy(&imageformat),
1923 core::mem::transmute_copy(&imagestream),
1924 core::mem::transmute_copy(&handler),
1925 )
1926 .into()
1927 }
1928 }
1929 unsafe extern "system" fn Reload<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
1930 this: *mut core::ffi::c_void,
1931 ) -> windows_core::HRESULT {
1932 unsafe {
1933 let this: &Identity =
1934 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1935 ICoreWebView2_Impl::Reload(this).into()
1936 }
1937 }
1938 unsafe extern "system" fn PostWebMessageAsJson<
1939 Identity: ICoreWebView2_Impl,
1940 const OFFSET: isize,
1941 >(
1942 this: *mut core::ffi::c_void,
1943 webmessageasjson: windows_core::PCWSTR,
1944 ) -> windows_core::HRESULT {
1945 unsafe {
1946 let this: &Identity =
1947 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1948 ICoreWebView2_Impl::PostWebMessageAsJson(
1949 this,
1950 core::mem::transmute(&webmessageasjson),
1951 )
1952 .into()
1953 }
1954 }
1955 unsafe extern "system" fn PostWebMessageAsString<
1956 Identity: ICoreWebView2_Impl,
1957 const OFFSET: isize,
1958 >(
1959 this: *mut core::ffi::c_void,
1960 webmessageasstring: windows_core::PCWSTR,
1961 ) -> windows_core::HRESULT {
1962 unsafe {
1963 let this: &Identity =
1964 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1965 ICoreWebView2_Impl::PostWebMessageAsString(
1966 this,
1967 core::mem::transmute(&webmessageasstring),
1968 )
1969 .into()
1970 }
1971 }
1972 unsafe extern "system" fn WebMessageReceived<
1973 Identity: ICoreWebView2_Impl,
1974 const OFFSET: isize,
1975 >(
1976 this: *mut core::ffi::c_void,
1977 handler: *mut core::ffi::c_void,
1978 token: *mut i64,
1979 ) -> windows_core::HRESULT {
1980 unsafe {
1981 let this: &Identity =
1982 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
1983 match ICoreWebView2_Impl::WebMessageReceived(
1984 this,
1985 core::mem::transmute_copy(&handler),
1986 ) {
1987 Ok(ok__) => {
1988 token.write(core::mem::transmute(ok__));
1989 windows_core::HRESULT(0)
1990 }
1991 Err(err) => err.into(),
1992 }
1993 }
1994 }
1995 unsafe extern "system" fn RemoveWebMessageReceived<
1996 Identity: ICoreWebView2_Impl,
1997 const OFFSET: isize,
1998 >(
1999 this: *mut core::ffi::c_void,
2000 token: i64,
2001 ) -> windows_core::HRESULT {
2002 unsafe {
2003 let this: &Identity =
2004 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2005 ICoreWebView2_Impl::RemoveWebMessageReceived(
2006 this,
2007 core::mem::transmute_copy(&token),
2008 )
2009 .into()
2010 }
2011 }
2012 unsafe extern "system" fn CallDevToolsProtocolMethod<
2013 Identity: ICoreWebView2_Impl,
2014 const OFFSET: isize,
2015 >(
2016 this: *mut core::ffi::c_void,
2017 methodname: windows_core::PCWSTR,
2018 parametersasjson: windows_core::PCWSTR,
2019 handler: *mut core::ffi::c_void,
2020 ) -> windows_core::HRESULT {
2021 unsafe {
2022 let this: &Identity =
2023 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2024 ICoreWebView2_Impl::CallDevToolsProtocolMethod(
2025 this,
2026 core::mem::transmute(&methodname),
2027 core::mem::transmute(¶metersasjson),
2028 core::mem::transmute_copy(&handler),
2029 )
2030 .into()
2031 }
2032 }
2033 unsafe extern "system" fn BrowserProcessId<
2034 Identity: ICoreWebView2_Impl,
2035 const OFFSET: isize,
2036 >(
2037 this: *mut core::ffi::c_void,
2038 value: *mut u32,
2039 ) -> windows_core::HRESULT {
2040 unsafe {
2041 let this: &Identity =
2042 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2043 match ICoreWebView2_Impl::BrowserProcessId(this) {
2044 Ok(ok__) => {
2045 value.write(core::mem::transmute(ok__));
2046 windows_core::HRESULT(0)
2047 }
2048 Err(err) => err.into(),
2049 }
2050 }
2051 }
2052 unsafe extern "system" fn CanGoBack<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2053 this: *mut core::ffi::c_void,
2054 cangoback: *mut windows_core::BOOL,
2055 ) -> windows_core::HRESULT {
2056 unsafe {
2057 let this: &Identity =
2058 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2059 match ICoreWebView2_Impl::CanGoBack(this) {
2060 Ok(ok__) => {
2061 cangoback.write(core::mem::transmute(ok__));
2062 windows_core::HRESULT(0)
2063 }
2064 Err(err) => err.into(),
2065 }
2066 }
2067 }
2068 unsafe extern "system" fn CanGoForward<
2069 Identity: ICoreWebView2_Impl,
2070 const OFFSET: isize,
2071 >(
2072 this: *mut core::ffi::c_void,
2073 cangoforward: *mut windows_core::BOOL,
2074 ) -> windows_core::HRESULT {
2075 unsafe {
2076 let this: &Identity =
2077 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2078 match ICoreWebView2_Impl::CanGoForward(this) {
2079 Ok(ok__) => {
2080 cangoforward.write(core::mem::transmute(ok__));
2081 windows_core::HRESULT(0)
2082 }
2083 Err(err) => err.into(),
2084 }
2085 }
2086 }
2087 unsafe extern "system" fn GoBack<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2088 this: *mut core::ffi::c_void,
2089 ) -> windows_core::HRESULT {
2090 unsafe {
2091 let this: &Identity =
2092 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2093 ICoreWebView2_Impl::GoBack(this).into()
2094 }
2095 }
2096 unsafe extern "system" fn GoForward<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2097 this: *mut core::ffi::c_void,
2098 ) -> windows_core::HRESULT {
2099 unsafe {
2100 let this: &Identity =
2101 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2102 ICoreWebView2_Impl::GoForward(this).into()
2103 }
2104 }
2105 unsafe extern "system" fn GetDevToolsProtocolEventReceiver<
2106 Identity: ICoreWebView2_Impl,
2107 const OFFSET: isize,
2108 >(
2109 this: *mut core::ffi::c_void,
2110 eventname: windows_core::PCWSTR,
2111 receiver: *mut *mut core::ffi::c_void,
2112 ) -> windows_core::HRESULT {
2113 unsafe {
2114 let this: &Identity =
2115 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2116 match ICoreWebView2_Impl::GetDevToolsProtocolEventReceiver(
2117 this,
2118 core::mem::transmute(&eventname),
2119 ) {
2120 Ok(ok__) => {
2121 receiver.write(core::mem::transmute(ok__));
2122 windows_core::HRESULT(0)
2123 }
2124 Err(err) => err.into(),
2125 }
2126 }
2127 }
2128 unsafe extern "system" fn Stop<Identity: ICoreWebView2_Impl, const OFFSET: isize>(
2129 this: *mut core::ffi::c_void,
2130 ) -> windows_core::HRESULT {
2131 unsafe {
2132 let this: &Identity =
2133 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2134 ICoreWebView2_Impl::Stop(this).into()
2135 }
2136 }
2137 unsafe extern "system" fn NewWindowRequested<
2138 Identity: ICoreWebView2_Impl,
2139 const OFFSET: isize,
2140 >(
2141 this: *mut core::ffi::c_void,
2142 eventhandler: *mut core::ffi::c_void,
2143 token: *mut i64,
2144 ) -> windows_core::HRESULT {
2145 unsafe {
2146 let this: &Identity =
2147 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2148 match ICoreWebView2_Impl::NewWindowRequested(
2149 this,
2150 core::mem::transmute_copy(&eventhandler),
2151 ) {
2152 Ok(ok__) => {
2153 token.write(core::mem::transmute(ok__));
2154 windows_core::HRESULT(0)
2155 }
2156 Err(err) => err.into(),
2157 }
2158 }
2159 }
2160 unsafe extern "system" fn RemoveNewWindowRequested<
2161 Identity: ICoreWebView2_Impl,
2162 const OFFSET: isize,
2163 >(
2164 this: *mut core::ffi::c_void,
2165 token: i64,
2166 ) -> windows_core::HRESULT {
2167 unsafe {
2168 let this: &Identity =
2169 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2170 ICoreWebView2_Impl::RemoveNewWindowRequested(
2171 this,
2172 core::mem::transmute_copy(&token),
2173 )
2174 .into()
2175 }
2176 }
2177 unsafe extern "system" fn DocumentTitleChanged<
2178 Identity: ICoreWebView2_Impl,
2179 const OFFSET: isize,
2180 >(
2181 this: *mut core::ffi::c_void,
2182 eventhandler: *mut core::ffi::c_void,
2183 token: *mut i64,
2184 ) -> windows_core::HRESULT {
2185 unsafe {
2186 let this: &Identity =
2187 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2188 match ICoreWebView2_Impl::DocumentTitleChanged(
2189 this,
2190 core::mem::transmute_copy(&eventhandler),
2191 ) {
2192 Ok(ok__) => {
2193 token.write(core::mem::transmute(ok__));
2194 windows_core::HRESULT(0)
2195 }
2196 Err(err) => err.into(),
2197 }
2198 }
2199 }
2200 unsafe extern "system" fn RemoveDocumentTitleChanged<
2201 Identity: ICoreWebView2_Impl,
2202 const OFFSET: isize,
2203 >(
2204 this: *mut core::ffi::c_void,
2205 token: i64,
2206 ) -> windows_core::HRESULT {
2207 unsafe {
2208 let this: &Identity =
2209 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2210 ICoreWebView2_Impl::RemoveDocumentTitleChanged(
2211 this,
2212 core::mem::transmute_copy(&token),
2213 )
2214 .into()
2215 }
2216 }
2217 unsafe extern "system" fn DocumentTitle<
2218 Identity: ICoreWebView2_Impl,
2219 const OFFSET: isize,
2220 >(
2221 this: *mut core::ffi::c_void,
2222 title: *mut windows_core::PWSTR,
2223 ) -> windows_core::HRESULT {
2224 unsafe {
2225 let this: &Identity =
2226 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2227 match ICoreWebView2_Impl::DocumentTitle(this) {
2228 Ok(ok__) => {
2229 title.write(core::mem::transmute(ok__));
2230 windows_core::HRESULT(0)
2231 }
2232 Err(err) => err.into(),
2233 }
2234 }
2235 }
2236 unsafe extern "system" fn AddHostObjectToScript<
2237 Identity: ICoreWebView2_Impl,
2238 const OFFSET: isize,
2239 >(
2240 this: *mut core::ffi::c_void,
2241 name: windows_core::PCWSTR,
2242 object: *mut windows::Win32::System::Variant::VARIANT,
2243 ) -> windows_core::HRESULT {
2244 unsafe {
2245 let this: &Identity =
2246 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2247 ICoreWebView2_Impl::AddHostObjectToScript(
2248 this,
2249 core::mem::transmute(&name),
2250 core::mem::transmute_copy(&object),
2251 )
2252 .into()
2253 }
2254 }
2255 unsafe extern "system" fn RemoveHostObjectFromScript<
2256 Identity: ICoreWebView2_Impl,
2257 const OFFSET: isize,
2258 >(
2259 this: *mut core::ffi::c_void,
2260 name: windows_core::PCWSTR,
2261 ) -> windows_core::HRESULT {
2262 unsafe {
2263 let this: &Identity =
2264 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2265 ICoreWebView2_Impl::RemoveHostObjectFromScript(this, core::mem::transmute(&name))
2266 .into()
2267 }
2268 }
2269 unsafe extern "system" fn OpenDevToolsWindow<
2270 Identity: ICoreWebView2_Impl,
2271 const OFFSET: isize,
2272 >(
2273 this: *mut core::ffi::c_void,
2274 ) -> windows_core::HRESULT {
2275 unsafe {
2276 let this: &Identity =
2277 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2278 ICoreWebView2_Impl::OpenDevToolsWindow(this).into()
2279 }
2280 }
2281 unsafe extern "system" fn ContainsFullScreenElementChanged<
2282 Identity: ICoreWebView2_Impl,
2283 const OFFSET: isize,
2284 >(
2285 this: *mut core::ffi::c_void,
2286 eventhandler: *mut core::ffi::c_void,
2287 token: *mut i64,
2288 ) -> windows_core::HRESULT {
2289 unsafe {
2290 let this: &Identity =
2291 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2292 match ICoreWebView2_Impl::ContainsFullScreenElementChanged(
2293 this,
2294 core::mem::transmute_copy(&eventhandler),
2295 ) {
2296 Ok(ok__) => {
2297 token.write(core::mem::transmute(ok__));
2298 windows_core::HRESULT(0)
2299 }
2300 Err(err) => err.into(),
2301 }
2302 }
2303 }
2304 unsafe extern "system" fn RemoveContainsFullScreenElementChanged<
2305 Identity: ICoreWebView2_Impl,
2306 const OFFSET: isize,
2307 >(
2308 this: *mut core::ffi::c_void,
2309 token: i64,
2310 ) -> windows_core::HRESULT {
2311 unsafe {
2312 let this: &Identity =
2313 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2314 ICoreWebView2_Impl::RemoveContainsFullScreenElementChanged(
2315 this,
2316 core::mem::transmute_copy(&token),
2317 )
2318 .into()
2319 }
2320 }
2321 unsafe extern "system" fn ContainsFullScreenElement<
2322 Identity: ICoreWebView2_Impl,
2323 const OFFSET: isize,
2324 >(
2325 this: *mut core::ffi::c_void,
2326 containsfullscreenelement: *mut windows_core::BOOL,
2327 ) -> windows_core::HRESULT {
2328 unsafe {
2329 let this: &Identity =
2330 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2331 match ICoreWebView2_Impl::ContainsFullScreenElement(this) {
2332 Ok(ok__) => {
2333 containsfullscreenelement.write(core::mem::transmute(ok__));
2334 windows_core::HRESULT(0)
2335 }
2336 Err(err) => err.into(),
2337 }
2338 }
2339 }
2340 unsafe extern "system" fn WebResourceRequested<
2341 Identity: ICoreWebView2_Impl,
2342 const OFFSET: isize,
2343 >(
2344 this: *mut core::ffi::c_void,
2345 eventhandler: *mut core::ffi::c_void,
2346 token: *mut i64,
2347 ) -> windows_core::HRESULT {
2348 unsafe {
2349 let this: &Identity =
2350 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2351 match ICoreWebView2_Impl::WebResourceRequested(
2352 this,
2353 core::mem::transmute_copy(&eventhandler),
2354 ) {
2355 Ok(ok__) => {
2356 token.write(core::mem::transmute(ok__));
2357 windows_core::HRESULT(0)
2358 }
2359 Err(err) => err.into(),
2360 }
2361 }
2362 }
2363 unsafe extern "system" fn RemoveWebResourceRequested<
2364 Identity: ICoreWebView2_Impl,
2365 const OFFSET: isize,
2366 >(
2367 this: *mut core::ffi::c_void,
2368 token: i64,
2369 ) -> windows_core::HRESULT {
2370 unsafe {
2371 let this: &Identity =
2372 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2373 ICoreWebView2_Impl::RemoveWebResourceRequested(
2374 this,
2375 core::mem::transmute_copy(&token),
2376 )
2377 .into()
2378 }
2379 }
2380 unsafe extern "system" fn AddWebResourceRequestedFilter<
2381 Identity: ICoreWebView2_Impl,
2382 const OFFSET: isize,
2383 >(
2384 this: *mut core::ffi::c_void,
2385 uri: windows_core::PCWSTR,
2386 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
2387 ) -> windows_core::HRESULT {
2388 unsafe {
2389 let this: &Identity =
2390 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2391 ICoreWebView2_Impl::AddWebResourceRequestedFilter(
2392 this,
2393 core::mem::transmute(&uri),
2394 core::mem::transmute_copy(&resourcecontext),
2395 )
2396 .into()
2397 }
2398 }
2399 unsafe extern "system" fn RemoveWebResourceRequestedFilter<
2400 Identity: ICoreWebView2_Impl,
2401 const OFFSET: isize,
2402 >(
2403 this: *mut core::ffi::c_void,
2404 uri: windows_core::PCWSTR,
2405 resourcecontext: COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
2406 ) -> windows_core::HRESULT {
2407 unsafe {
2408 let this: &Identity =
2409 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2410 ICoreWebView2_Impl::RemoveWebResourceRequestedFilter(
2411 this,
2412 core::mem::transmute(&uri),
2413 core::mem::transmute_copy(&resourcecontext),
2414 )
2415 .into()
2416 }
2417 }
2418 unsafe extern "system" fn WindowCloseRequested<
2419 Identity: ICoreWebView2_Impl,
2420 const OFFSET: isize,
2421 >(
2422 this: *mut core::ffi::c_void,
2423 eventhandler: *mut core::ffi::c_void,
2424 token: *mut i64,
2425 ) -> windows_core::HRESULT {
2426 unsafe {
2427 let this: &Identity =
2428 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2429 match ICoreWebView2_Impl::WindowCloseRequested(
2430 this,
2431 core::mem::transmute_copy(&eventhandler),
2432 ) {
2433 Ok(ok__) => {
2434 token.write(core::mem::transmute(ok__));
2435 windows_core::HRESULT(0)
2436 }
2437 Err(err) => err.into(),
2438 }
2439 }
2440 }
2441 unsafe extern "system" fn RemoveWindowCloseRequested<
2442 Identity: ICoreWebView2_Impl,
2443 const OFFSET: isize,
2444 >(
2445 this: *mut core::ffi::c_void,
2446 token: i64,
2447 ) -> windows_core::HRESULT {
2448 unsafe {
2449 let this: &Identity =
2450 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2451 ICoreWebView2_Impl::RemoveWindowCloseRequested(
2452 this,
2453 core::mem::transmute_copy(&token),
2454 )
2455 .into()
2456 }
2457 }
2458 Self {
2459 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2460 Settings: Settings::<Identity, OFFSET>,
2461 Source: Source::<Identity, OFFSET>,
2462 Navigate: Navigate::<Identity, OFFSET>,
2463 NavigateToString: NavigateToString::<Identity, OFFSET>,
2464 NavigationStarting: NavigationStarting::<Identity, OFFSET>,
2465 RemoveNavigationStarting: RemoveNavigationStarting::<Identity, OFFSET>,
2466 ContentLoading: ContentLoading::<Identity, OFFSET>,
2467 RemoveContentLoading: RemoveContentLoading::<Identity, OFFSET>,
2468 SourceChanged: SourceChanged::<Identity, OFFSET>,
2469 RemoveSourceChanged: RemoveSourceChanged::<Identity, OFFSET>,
2470 HistoryChanged: HistoryChanged::<Identity, OFFSET>,
2471 RemoveHistoryChanged: RemoveHistoryChanged::<Identity, OFFSET>,
2472 NavigationCompleted: NavigationCompleted::<Identity, OFFSET>,
2473 RemoveNavigationCompleted: RemoveNavigationCompleted::<Identity, OFFSET>,
2474 FrameNavigationStarting: FrameNavigationStarting::<Identity, OFFSET>,
2475 RemoveFrameNavigationStarting: RemoveFrameNavigationStarting::<Identity, OFFSET>,
2476 FrameNavigationCompleted: FrameNavigationCompleted::<Identity, OFFSET>,
2477 RemoveFrameNavigationCompleted: RemoveFrameNavigationCompleted::<Identity, OFFSET>,
2478 ScriptDialogOpening: ScriptDialogOpening::<Identity, OFFSET>,
2479 RemoveScriptDialogOpening: RemoveScriptDialogOpening::<Identity, OFFSET>,
2480 PermissionRequested: PermissionRequested::<Identity, OFFSET>,
2481 RemovePermissionRequested: RemovePermissionRequested::<Identity, OFFSET>,
2482 ProcessFailed: ProcessFailed::<Identity, OFFSET>,
2483 RemoveProcessFailed: RemoveProcessFailed::<Identity, OFFSET>,
2484 AddScriptToExecuteOnDocumentCreated: AddScriptToExecuteOnDocumentCreated::<
2485 Identity,
2486 OFFSET,
2487 >,
2488 RemoveScriptToExecuteOnDocumentCreated: RemoveScriptToExecuteOnDocumentCreated::<
2489 Identity,
2490 OFFSET,
2491 >,
2492 ExecuteScript: ExecuteScript::<Identity, OFFSET>,
2493 CapturePreview: CapturePreview::<Identity, OFFSET>,
2494 Reload: Reload::<Identity, OFFSET>,
2495 PostWebMessageAsJson: PostWebMessageAsJson::<Identity, OFFSET>,
2496 PostWebMessageAsString: PostWebMessageAsString::<Identity, OFFSET>,
2497 WebMessageReceived: WebMessageReceived::<Identity, OFFSET>,
2498 RemoveWebMessageReceived: RemoveWebMessageReceived::<Identity, OFFSET>,
2499 CallDevToolsProtocolMethod: CallDevToolsProtocolMethod::<Identity, OFFSET>,
2500 BrowserProcessId: BrowserProcessId::<Identity, OFFSET>,
2501 CanGoBack: CanGoBack::<Identity, OFFSET>,
2502 CanGoForward: CanGoForward::<Identity, OFFSET>,
2503 GoBack: GoBack::<Identity, OFFSET>,
2504 GoForward: GoForward::<Identity, OFFSET>,
2505 GetDevToolsProtocolEventReceiver: GetDevToolsProtocolEventReceiver::<Identity, OFFSET>,
2506 Stop: Stop::<Identity, OFFSET>,
2507 NewWindowRequested: NewWindowRequested::<Identity, OFFSET>,
2508 RemoveNewWindowRequested: RemoveNewWindowRequested::<Identity, OFFSET>,
2509 DocumentTitleChanged: DocumentTitleChanged::<Identity, OFFSET>,
2510 RemoveDocumentTitleChanged: RemoveDocumentTitleChanged::<Identity, OFFSET>,
2511 DocumentTitle: DocumentTitle::<Identity, OFFSET>,
2512 AddHostObjectToScript: AddHostObjectToScript::<Identity, OFFSET>,
2513 RemoveHostObjectFromScript: RemoveHostObjectFromScript::<Identity, OFFSET>,
2514 OpenDevToolsWindow: OpenDevToolsWindow::<Identity, OFFSET>,
2515 ContainsFullScreenElementChanged: ContainsFullScreenElementChanged::<Identity, OFFSET>,
2516 RemoveContainsFullScreenElementChanged: RemoveContainsFullScreenElementChanged::<
2517 Identity,
2518 OFFSET,
2519 >,
2520 ContainsFullScreenElement: ContainsFullScreenElement::<Identity, OFFSET>,
2521 WebResourceRequested: WebResourceRequested::<Identity, OFFSET>,
2522 RemoveWebResourceRequested: RemoveWebResourceRequested::<Identity, OFFSET>,
2523 AddWebResourceRequestedFilter: AddWebResourceRequestedFilter::<Identity, OFFSET>,
2524 RemoveWebResourceRequestedFilter: RemoveWebResourceRequestedFilter::<Identity, OFFSET>,
2525 WindowCloseRequested: WindowCloseRequested::<Identity, OFFSET>,
2526 RemoveWindowCloseRequested: RemoveWindowCloseRequested::<Identity, OFFSET>,
2527 }
2528 }
2529 pub fn matches(iid: &windows_core::GUID) -> bool {
2530 iid == &<ICoreWebView2 as windows_core::Interface>::IID
2531 }
2532}
2533impl windows_core::RuntimeName for ICoreWebView2 {}
2534windows_core::imp::define_interface!(
2535 ICoreWebView2AcceleratorKeyPressedEventArgs,
2536 ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl,
2537 0x9f760f8a_fb79_42be_9990_7b56900fa9c7
2538);
2539windows_core::imp::interface_hierarchy!(
2540 ICoreWebView2AcceleratorKeyPressedEventArgs,
2541 windows_core::IUnknown
2542);
2543impl ICoreWebView2AcceleratorKeyPressedEventArgs {
2544 pub unsafe fn KeyEventKind(&self) -> windows_core::Result<COREWEBVIEW2_KEY_EVENT_KIND> {
2545 unsafe {
2546 let mut result__ = core::mem::zeroed();
2547 (windows_core::Interface::vtable(self).KeyEventKind)(
2548 windows_core::Interface::as_raw(self),
2549 &mut result__,
2550 )
2551 .map(|| result__)
2552 }
2553 }
2554 pub unsafe fn VirtualKey(&self) -> windows_core::Result<u32> {
2555 unsafe {
2556 let mut result__ = core::mem::zeroed();
2557 (windows_core::Interface::vtable(self).VirtualKey)(
2558 windows_core::Interface::as_raw(self),
2559 &mut result__,
2560 )
2561 .map(|| result__)
2562 }
2563 }
2564 pub unsafe fn KeyEventLParam(&self) -> windows_core::Result<i32> {
2565 unsafe {
2566 let mut result__ = core::mem::zeroed();
2567 (windows_core::Interface::vtable(self).KeyEventLParam)(
2568 windows_core::Interface::as_raw(self),
2569 &mut result__,
2570 )
2571 .map(|| result__)
2572 }
2573 }
2574 pub unsafe fn PhysicalKeyStatus(
2575 &self,
2576 physicalkeystatus: *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
2577 ) -> windows_core::Result<()> {
2578 unsafe {
2579 (windows_core::Interface::vtable(self).PhysicalKeyStatus)(
2580 windows_core::Interface::as_raw(self),
2581 physicalkeystatus as _,
2582 )
2583 .ok()
2584 }
2585 }
2586 pub unsafe fn Handled(&self) -> windows_core::Result<windows_core::BOOL> {
2587 unsafe {
2588 let mut result__ = core::mem::zeroed();
2589 (windows_core::Interface::vtable(self).Handled)(
2590 windows_core::Interface::as_raw(self),
2591 &mut result__,
2592 )
2593 .map(|| result__)
2594 }
2595 }
2596 pub unsafe fn SetHandled(&self, handled: bool) -> windows_core::Result<()> {
2597 unsafe {
2598 (windows_core::Interface::vtable(self).SetHandled)(
2599 windows_core::Interface::as_raw(self),
2600 handled.into(),
2601 )
2602 .ok()
2603 }
2604 }
2605}
2606#[repr(C)]
2607#[doc(hidden)]
2608pub struct ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl {
2609 pub base__: windows_core::IUnknown_Vtbl,
2610 pub KeyEventKind: unsafe extern "system" fn(
2611 *mut core::ffi::c_void,
2612 *mut COREWEBVIEW2_KEY_EVENT_KIND,
2613 ) -> windows_core::HRESULT,
2614 pub VirtualKey:
2615 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
2616 pub KeyEventLParam:
2617 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
2618 pub PhysicalKeyStatus: unsafe extern "system" fn(
2619 *mut core::ffi::c_void,
2620 *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
2621 ) -> windows_core::HRESULT,
2622 pub Handled: unsafe extern "system" fn(
2623 *mut core::ffi::c_void,
2624 *mut windows_core::BOOL,
2625 ) -> windows_core::HRESULT,
2626 pub SetHandled: unsafe extern "system" fn(
2627 *mut core::ffi::c_void,
2628 windows_core::BOOL,
2629 ) -> windows_core::HRESULT,
2630}
2631pub trait ICoreWebView2AcceleratorKeyPressedEventArgs_Impl: windows_core::IUnknownImpl {
2632 fn KeyEventKind(&self) -> windows_core::Result<COREWEBVIEW2_KEY_EVENT_KIND>;
2633 fn VirtualKey(&self) -> windows_core::Result<u32>;
2634 fn KeyEventLParam(&self) -> windows_core::Result<i32>;
2635 fn PhysicalKeyStatus(
2636 &self,
2637 physicalkeystatus: *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
2638 ) -> windows_core::Result<()>;
2639 fn Handled(&self) -> windows_core::Result<windows_core::BOOL>;
2640 fn SetHandled(&self, handled: windows_core::BOOL) -> windows_core::Result<()>;
2641}
2642impl ICoreWebView2AcceleratorKeyPressedEventArgs_Vtbl {
2643 pub const fn new<
2644 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
2645 const OFFSET: isize,
2646 >() -> Self {
2647 unsafe extern "system" fn KeyEventKind<
2648 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
2649 const OFFSET: isize,
2650 >(
2651 this: *mut core::ffi::c_void,
2652 keyeventkind: *mut COREWEBVIEW2_KEY_EVENT_KIND,
2653 ) -> windows_core::HRESULT {
2654 unsafe {
2655 let this: &Identity =
2656 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2657 match ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::KeyEventKind(this) {
2658 Ok(ok__) => {
2659 keyeventkind.write(core::mem::transmute(ok__));
2660 windows_core::HRESULT(0)
2661 }
2662 Err(err) => err.into(),
2663 }
2664 }
2665 }
2666 unsafe extern "system" fn VirtualKey<
2667 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
2668 const OFFSET: isize,
2669 >(
2670 this: *mut core::ffi::c_void,
2671 virtualkey: *mut u32,
2672 ) -> windows_core::HRESULT {
2673 unsafe {
2674 let this: &Identity =
2675 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2676 match ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::VirtualKey(this) {
2677 Ok(ok__) => {
2678 virtualkey.write(core::mem::transmute(ok__));
2679 windows_core::HRESULT(0)
2680 }
2681 Err(err) => err.into(),
2682 }
2683 }
2684 }
2685 unsafe extern "system" fn KeyEventLParam<
2686 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
2687 const OFFSET: isize,
2688 >(
2689 this: *mut core::ffi::c_void,
2690 lparam: *mut i32,
2691 ) -> windows_core::HRESULT {
2692 unsafe {
2693 let this: &Identity =
2694 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2695 match ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::KeyEventLParam(this) {
2696 Ok(ok__) => {
2697 lparam.write(core::mem::transmute(ok__));
2698 windows_core::HRESULT(0)
2699 }
2700 Err(err) => err.into(),
2701 }
2702 }
2703 }
2704 unsafe extern "system" fn PhysicalKeyStatus<
2705 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
2706 const OFFSET: isize,
2707 >(
2708 this: *mut core::ffi::c_void,
2709 physicalkeystatus: *mut COREWEBVIEW2_PHYSICAL_KEY_STATUS,
2710 ) -> windows_core::HRESULT {
2711 unsafe {
2712 let this: &Identity =
2713 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2714 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::PhysicalKeyStatus(
2715 this,
2716 core::mem::transmute_copy(&physicalkeystatus),
2717 )
2718 .into()
2719 }
2720 }
2721 unsafe extern "system" fn Handled<
2722 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
2723 const OFFSET: isize,
2724 >(
2725 this: *mut core::ffi::c_void,
2726 handled: *mut windows_core::BOOL,
2727 ) -> windows_core::HRESULT {
2728 unsafe {
2729 let this: &Identity =
2730 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2731 match ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::Handled(this) {
2732 Ok(ok__) => {
2733 handled.write(core::mem::transmute(ok__));
2734 windows_core::HRESULT(0)
2735 }
2736 Err(err) => err.into(),
2737 }
2738 }
2739 }
2740 unsafe extern "system" fn SetHandled<
2741 Identity: ICoreWebView2AcceleratorKeyPressedEventArgs_Impl,
2742 const OFFSET: isize,
2743 >(
2744 this: *mut core::ffi::c_void,
2745 handled: windows_core::BOOL,
2746 ) -> windows_core::HRESULT {
2747 unsafe {
2748 let this: &Identity =
2749 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2750 ICoreWebView2AcceleratorKeyPressedEventArgs_Impl::SetHandled(
2751 this,
2752 core::mem::transmute_copy(&handled),
2753 )
2754 .into()
2755 }
2756 }
2757 Self {
2758 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2759 KeyEventKind: KeyEventKind::<Identity, OFFSET>,
2760 VirtualKey: VirtualKey::<Identity, OFFSET>,
2761 KeyEventLParam: KeyEventLParam::<Identity, OFFSET>,
2762 PhysicalKeyStatus: PhysicalKeyStatus::<Identity, OFFSET>,
2763 Handled: Handled::<Identity, OFFSET>,
2764 SetHandled: SetHandled::<Identity, OFFSET>,
2765 }
2766 }
2767 pub fn matches(iid: &windows_core::GUID) -> bool {
2768 iid == &<ICoreWebView2AcceleratorKeyPressedEventArgs as windows_core::Interface>::IID
2769 }
2770}
2771impl windows_core::RuntimeName for ICoreWebView2AcceleratorKeyPressedEventArgs {}
2772windows_core::imp::define_interface!(
2773 ICoreWebView2AcceleratorKeyPressedEventHandler,
2774 ICoreWebView2AcceleratorKeyPressedEventHandler_Vtbl,
2775 0xb29c7e28_fa79_41a8_8e44_65811c76dcb2
2776);
2777windows_core::imp::interface_hierarchy!(
2778 ICoreWebView2AcceleratorKeyPressedEventHandler,
2779 windows_core::IUnknown
2780);
2781impl ICoreWebView2AcceleratorKeyPressedEventHandler {
2782 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
2783 where
2784 P0: windows_core::Param<ICoreWebView2Controller>,
2785 P1: windows_core::Param<ICoreWebView2AcceleratorKeyPressedEventArgs>,
2786 {
2787 unsafe {
2788 (windows_core::Interface::vtable(self).Invoke)(
2789 windows_core::Interface::as_raw(self),
2790 sender.param().abi(),
2791 args.param().abi(),
2792 )
2793 .ok()
2794 }
2795 }
2796}
2797#[repr(C)]
2798#[doc(hidden)]
2799pub struct ICoreWebView2AcceleratorKeyPressedEventHandler_Vtbl {
2800 pub base__: windows_core::IUnknown_Vtbl,
2801 pub Invoke: unsafe extern "system" fn(
2802 *mut core::ffi::c_void,
2803 *mut core::ffi::c_void,
2804 *mut core::ffi::c_void,
2805 ) -> windows_core::HRESULT,
2806}
2807pub trait ICoreWebView2AcceleratorKeyPressedEventHandler_Impl: windows_core::IUnknownImpl {
2808 fn Invoke(
2809 &self,
2810 sender: windows_core::Ref<ICoreWebView2Controller>,
2811 args: windows_core::Ref<ICoreWebView2AcceleratorKeyPressedEventArgs>,
2812 ) -> windows_core::Result<()>;
2813}
2814impl ICoreWebView2AcceleratorKeyPressedEventHandler_Vtbl {
2815 pub const fn new<
2816 Identity: ICoreWebView2AcceleratorKeyPressedEventHandler_Impl,
2817 const OFFSET: isize,
2818 >() -> Self {
2819 unsafe extern "system" fn Invoke<
2820 Identity: ICoreWebView2AcceleratorKeyPressedEventHandler_Impl,
2821 const OFFSET: isize,
2822 >(
2823 this: *mut core::ffi::c_void,
2824 sender: *mut core::ffi::c_void,
2825 args: *mut core::ffi::c_void,
2826 ) -> windows_core::HRESULT {
2827 unsafe {
2828 let this: &Identity =
2829 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2830 ICoreWebView2AcceleratorKeyPressedEventHandler_Impl::Invoke(
2831 this,
2832 core::mem::transmute_copy(&sender),
2833 core::mem::transmute_copy(&args),
2834 )
2835 .into()
2836 }
2837 }
2838 Self {
2839 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2840 Invoke: Invoke::<Identity, OFFSET>,
2841 }
2842 }
2843 pub fn matches(iid: &windows_core::GUID) -> bool {
2844 iid == &<ICoreWebView2AcceleratorKeyPressedEventHandler as windows_core::Interface>::IID
2845 }
2846}
2847impl windows_core::RuntimeName for ICoreWebView2AcceleratorKeyPressedEventHandler {}
2848windows_core::imp::define_interface!(
2849 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler,
2850 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Vtbl,
2851 0xb99369f3_9b11_47b5_bc6f_8e7895fcea17
2852);
2853windows_core::imp::interface_hierarchy!(
2854 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler,
2855 windows_core::IUnknown
2856);
2857impl ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler {
2858 pub unsafe fn Invoke<P1>(
2859 &self,
2860 errorcode: windows_core::HRESULT,
2861 id: P1,
2862 ) -> windows_core::Result<()>
2863 where
2864 P1: windows_core::Param<windows_core::PCWSTR>,
2865 {
2866 unsafe {
2867 (windows_core::Interface::vtable(self).Invoke)(
2868 windows_core::Interface::as_raw(self),
2869 errorcode,
2870 id.param().abi(),
2871 )
2872 .ok()
2873 }
2874 }
2875}
2876#[repr(C)]
2877#[doc(hidden)]
2878pub struct ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Vtbl {
2879 pub base__: windows_core::IUnknown_Vtbl,
2880 pub Invoke: unsafe extern "system" fn(
2881 *mut core::ffi::c_void,
2882 windows_core::HRESULT,
2883 windows_core::PCWSTR,
2884 ) -> windows_core::HRESULT,
2885}
2886pub trait ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl:
2887 windows_core::IUnknownImpl
2888{
2889 fn Invoke(
2890 &self,
2891 errorcode: windows_core::HRESULT,
2892 id: &windows_core::PCWSTR,
2893 ) -> windows_core::Result<()>;
2894}
2895impl ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Vtbl {
2896 pub const fn new<
2897 Identity: ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl,
2898 const OFFSET: isize,
2899 >() -> Self {
2900 unsafe extern "system" fn Invoke<
2901 Identity: ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl,
2902 const OFFSET: isize,
2903 >(
2904 this: *mut core::ffi::c_void,
2905 errorcode: windows_core::HRESULT,
2906 id: windows_core::PCWSTR,
2907 ) -> windows_core::HRESULT {
2908 unsafe {
2909 let this: &Identity =
2910 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2911 ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Impl::Invoke(
2912 this,
2913 core::mem::transmute_copy(&errorcode),
2914 core::mem::transmute(&id),
2915 )
2916 .into()
2917 }
2918 }
2919 Self {
2920 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2921 Invoke: Invoke::<Identity, OFFSET>,
2922 }
2923 }
2924 pub fn matches(iid: &windows_core::GUID) -> bool {
2925 iid == & < ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler as windows_core::Interface >::IID
2926 }
2927}
2928impl windows_core::RuntimeName
2929 for ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler
2930{
2931}
2932windows_core::imp::define_interface!(
2933 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler,
2934 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Vtbl,
2935 0x5c4889f0_5ef6_4c5a_952c_d8f1b92d0574
2936);
2937windows_core::imp::interface_hierarchy!(
2938 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler,
2939 windows_core::IUnknown
2940);
2941impl ICoreWebView2CallDevToolsProtocolMethodCompletedHandler {
2942 pub unsafe fn Invoke<P1>(
2943 &self,
2944 errorcode: windows_core::HRESULT,
2945 returnobjectasjson: P1,
2946 ) -> windows_core::Result<()>
2947 where
2948 P1: windows_core::Param<windows_core::PCWSTR>,
2949 {
2950 unsafe {
2951 (windows_core::Interface::vtable(self).Invoke)(
2952 windows_core::Interface::as_raw(self),
2953 errorcode,
2954 returnobjectasjson.param().abi(),
2955 )
2956 .ok()
2957 }
2958 }
2959}
2960#[repr(C)]
2961#[doc(hidden)]
2962pub struct ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Vtbl {
2963 pub base__: windows_core::IUnknown_Vtbl,
2964 pub Invoke: unsafe extern "system" fn(
2965 *mut core::ffi::c_void,
2966 windows_core::HRESULT,
2967 windows_core::PCWSTR,
2968 ) -> windows_core::HRESULT,
2969}
2970pub trait ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl:
2971 windows_core::IUnknownImpl
2972{
2973 fn Invoke(
2974 &self,
2975 errorcode: windows_core::HRESULT,
2976 returnobjectasjson: &windows_core::PCWSTR,
2977 ) -> windows_core::Result<()>;
2978}
2979impl ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Vtbl {
2980 pub const fn new<
2981 Identity: ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl,
2982 const OFFSET: isize,
2983 >() -> Self {
2984 unsafe extern "system" fn Invoke<
2985 Identity: ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl,
2986 const OFFSET: isize,
2987 >(
2988 this: *mut core::ffi::c_void,
2989 errorcode: windows_core::HRESULT,
2990 returnobjectasjson: windows_core::PCWSTR,
2991 ) -> windows_core::HRESULT {
2992 unsafe {
2993 let this: &Identity =
2994 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
2995 ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Impl::Invoke(
2996 this,
2997 core::mem::transmute_copy(&errorcode),
2998 core::mem::transmute(&returnobjectasjson),
2999 )
3000 .into()
3001 }
3002 }
3003 Self {
3004 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3005 Invoke: Invoke::<Identity, OFFSET>,
3006 }
3007 }
3008 pub fn matches(iid: &windows_core::GUID) -> bool {
3009 iid == & < ICoreWebView2CallDevToolsProtocolMethodCompletedHandler as windows_core::Interface >::IID
3010 }
3011}
3012impl windows_core::RuntimeName for ICoreWebView2CallDevToolsProtocolMethodCompletedHandler {}
3013windows_core::imp::define_interface!(
3014 ICoreWebView2CapturePreviewCompletedHandler,
3015 ICoreWebView2CapturePreviewCompletedHandler_Vtbl,
3016 0x697e05e9_3d8f_45fa_96f4_8ffe1ededaf5
3017);
3018windows_core::imp::interface_hierarchy!(
3019 ICoreWebView2CapturePreviewCompletedHandler,
3020 windows_core::IUnknown
3021);
3022impl ICoreWebView2CapturePreviewCompletedHandler {
3023 pub unsafe fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()> {
3024 unsafe {
3025 (windows_core::Interface::vtable(self).Invoke)(
3026 windows_core::Interface::as_raw(self),
3027 errorcode,
3028 )
3029 .ok()
3030 }
3031 }
3032}
3033#[repr(C)]
3034#[doc(hidden)]
3035pub struct ICoreWebView2CapturePreviewCompletedHandler_Vtbl {
3036 pub base__: windows_core::IUnknown_Vtbl,
3037 pub Invoke: unsafe extern "system" fn(
3038 *mut core::ffi::c_void,
3039 windows_core::HRESULT,
3040 ) -> windows_core::HRESULT,
3041}
3042pub trait ICoreWebView2CapturePreviewCompletedHandler_Impl: windows_core::IUnknownImpl {
3043 fn Invoke(&self, errorcode: windows_core::HRESULT) -> windows_core::Result<()>;
3044}
3045impl ICoreWebView2CapturePreviewCompletedHandler_Vtbl {
3046 pub const fn new<
3047 Identity: ICoreWebView2CapturePreviewCompletedHandler_Impl,
3048 const OFFSET: isize,
3049 >() -> Self {
3050 unsafe extern "system" fn Invoke<
3051 Identity: ICoreWebView2CapturePreviewCompletedHandler_Impl,
3052 const OFFSET: isize,
3053 >(
3054 this: *mut core::ffi::c_void,
3055 errorcode: windows_core::HRESULT,
3056 ) -> windows_core::HRESULT {
3057 unsafe {
3058 let this: &Identity =
3059 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3060 ICoreWebView2CapturePreviewCompletedHandler_Impl::Invoke(
3061 this,
3062 core::mem::transmute_copy(&errorcode),
3063 )
3064 .into()
3065 }
3066 }
3067 Self {
3068 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3069 Invoke: Invoke::<Identity, OFFSET>,
3070 }
3071 }
3072 pub fn matches(iid: &windows_core::GUID) -> bool {
3073 iid == &<ICoreWebView2CapturePreviewCompletedHandler as windows_core::Interface>::IID
3074 }
3075}
3076impl windows_core::RuntimeName for ICoreWebView2CapturePreviewCompletedHandler {}
3077windows_core::imp::define_interface!(
3078 ICoreWebView2CompositionController,
3079 ICoreWebView2CompositionController_Vtbl,
3080 0x3df9b733_b9ae_4a15_86b4_eb9ee9826469
3081);
3082windows_core::imp::interface_hierarchy!(ICoreWebView2CompositionController, windows_core::IUnknown);
3083impl ICoreWebView2CompositionController {
3084 pub unsafe fn RootVisualTarget(&self) -> windows_core::Result<windows_core::IUnknown> {
3085 unsafe {
3086 let mut result__ = core::mem::zeroed();
3087 (windows_core::Interface::vtable(self).RootVisualTarget)(
3088 windows_core::Interface::as_raw(self),
3089 &mut result__,
3090 )
3091 .and_then(|| windows_core::Type::from_abi(result__))
3092 }
3093 }
3094 pub unsafe fn SetRootVisualTarget<P0>(&self, target: P0) -> windows_core::Result<()>
3095 where
3096 P0: windows_core::Param<windows_core::IUnknown>,
3097 {
3098 unsafe {
3099 (windows_core::Interface::vtable(self).SetRootVisualTarget)(
3100 windows_core::Interface::as_raw(self),
3101 target.param().abi(),
3102 )
3103 .ok()
3104 }
3105 }
3106 pub unsafe fn SendMouseInput(
3107 &self,
3108 eventkind: COREWEBVIEW2_MOUSE_EVENT_KIND,
3109 virtualkeys: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
3110 mousedata: u32,
3111 point: windows::Win32::Foundation::POINT,
3112 ) -> windows_core::Result<()> {
3113 unsafe {
3114 (windows_core::Interface::vtable(self).SendMouseInput)(
3115 windows_core::Interface::as_raw(self),
3116 eventkind,
3117 virtualkeys,
3118 mousedata,
3119 core::mem::transmute(point),
3120 )
3121 .ok()
3122 }
3123 }
3124 pub unsafe fn SendPointerInput<P1>(
3125 &self,
3126 eventkind: COREWEBVIEW2_POINTER_EVENT_KIND,
3127 pointerinfo: P1,
3128 ) -> windows_core::Result<()>
3129 where
3130 P1: windows_core::Param<ICoreWebView2PointerInfo>,
3131 {
3132 unsafe {
3133 (windows_core::Interface::vtable(self).SendPointerInput)(
3134 windows_core::Interface::as_raw(self),
3135 eventkind,
3136 pointerinfo.param().abi(),
3137 )
3138 .ok()
3139 }
3140 }
3141 pub unsafe fn Cursor(
3142 &self,
3143 ) -> windows_core::Result<windows::Win32::UI::WindowsAndMessaging::HCURSOR> {
3144 unsafe {
3145 let mut result__ = core::mem::zeroed();
3146 (windows_core::Interface::vtable(self).Cursor)(
3147 windows_core::Interface::as_raw(self),
3148 &mut result__,
3149 )
3150 .map(|| result__)
3151 }
3152 }
3153 pub unsafe fn SystemCursorId(&self) -> windows_core::Result<u32> {
3154 unsafe {
3155 let mut result__ = core::mem::zeroed();
3156 (windows_core::Interface::vtable(self).SystemCursorId)(
3157 windows_core::Interface::as_raw(self),
3158 &mut result__,
3159 )
3160 .map(|| result__)
3161 }
3162 }
3163 pub unsafe fn CursorChanged<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
3164 where
3165 P0: windows_core::Param<ICoreWebView2CursorChangedEventHandler>,
3166 {
3167 unsafe {
3168 let mut result__ = core::mem::zeroed();
3169 (windows_core::Interface::vtable(self).CursorChanged)(
3170 windows_core::Interface::as_raw(self),
3171 eventhandler.param().abi(),
3172 &mut result__,
3173 )
3174 .map(|| result__)
3175 }
3176 }
3177 pub unsafe fn RemoveCursorChanged(&self, token: i64) -> windows_core::Result<()> {
3178 unsafe {
3179 (windows_core::Interface::vtable(self).RemoveCursorChanged)(
3180 windows_core::Interface::as_raw(self),
3181 token,
3182 )
3183 .ok()
3184 }
3185 }
3186}
3187#[repr(C)]
3188#[doc(hidden)]
3189pub struct ICoreWebView2CompositionController_Vtbl {
3190 pub base__: windows_core::IUnknown_Vtbl,
3191 pub RootVisualTarget: unsafe extern "system" fn(
3192 *mut core::ffi::c_void,
3193 *mut *mut core::ffi::c_void,
3194 ) -> windows_core::HRESULT,
3195 pub SetRootVisualTarget: unsafe extern "system" fn(
3196 *mut core::ffi::c_void,
3197 *mut core::ffi::c_void,
3198 ) -> windows_core::HRESULT,
3199 pub SendMouseInput: unsafe extern "system" fn(
3200 *mut core::ffi::c_void,
3201 COREWEBVIEW2_MOUSE_EVENT_KIND,
3202 COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
3203 u32,
3204 windows::Win32::Foundation::POINT,
3205 ) -> windows_core::HRESULT,
3206 pub SendPointerInput: unsafe extern "system" fn(
3207 *mut core::ffi::c_void,
3208 COREWEBVIEW2_POINTER_EVENT_KIND,
3209 *mut core::ffi::c_void,
3210 ) -> windows_core::HRESULT,
3211 pub Cursor: unsafe extern "system" fn(
3212 *mut core::ffi::c_void,
3213 *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
3214 ) -> windows_core::HRESULT,
3215 pub SystemCursorId:
3216 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
3217 pub CursorChanged: unsafe extern "system" fn(
3218 *mut core::ffi::c_void,
3219 *mut core::ffi::c_void,
3220 *mut i64,
3221 ) -> windows_core::HRESULT,
3222 pub RemoveCursorChanged:
3223 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
3224}
3225pub trait ICoreWebView2CompositionController_Impl: windows_core::IUnknownImpl {
3226 fn RootVisualTarget(&self) -> windows_core::Result<windows_core::IUnknown>;
3227 fn SetRootVisualTarget(
3228 &self,
3229 target: windows_core::Ref<windows_core::IUnknown>,
3230 ) -> windows_core::Result<()>;
3231 fn SendMouseInput(
3232 &self,
3233 eventkind: COREWEBVIEW2_MOUSE_EVENT_KIND,
3234 virtualkeys: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
3235 mousedata: u32,
3236 point: &windows::Win32::Foundation::POINT,
3237 ) -> windows_core::Result<()>;
3238 fn SendPointerInput(
3239 &self,
3240 eventkind: COREWEBVIEW2_POINTER_EVENT_KIND,
3241 pointerinfo: windows_core::Ref<ICoreWebView2PointerInfo>,
3242 ) -> windows_core::Result<()>;
3243 fn Cursor(&self) -> windows_core::Result<windows::Win32::UI::WindowsAndMessaging::HCURSOR>;
3244 fn SystemCursorId(&self) -> windows_core::Result<u32>;
3245 fn CursorChanged(
3246 &self,
3247 eventhandler: windows_core::Ref<ICoreWebView2CursorChangedEventHandler>,
3248 ) -> windows_core::Result<i64>;
3249 fn RemoveCursorChanged(&self, token: i64) -> windows_core::Result<()>;
3250}
3251impl ICoreWebView2CompositionController_Vtbl {
3252 pub const fn new<Identity: ICoreWebView2CompositionController_Impl, const OFFSET: isize>(
3253 ) -> Self {
3254 unsafe extern "system" fn RootVisualTarget<
3255 Identity: ICoreWebView2CompositionController_Impl,
3256 const OFFSET: isize,
3257 >(
3258 this: *mut core::ffi::c_void,
3259 target: *mut *mut core::ffi::c_void,
3260 ) -> windows_core::HRESULT {
3261 unsafe {
3262 let this: &Identity =
3263 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3264 match ICoreWebView2CompositionController_Impl::RootVisualTarget(this) {
3265 Ok(ok__) => {
3266 target.write(core::mem::transmute(ok__));
3267 windows_core::HRESULT(0)
3268 }
3269 Err(err) => err.into(),
3270 }
3271 }
3272 }
3273 unsafe extern "system" fn SetRootVisualTarget<
3274 Identity: ICoreWebView2CompositionController_Impl,
3275 const OFFSET: isize,
3276 >(
3277 this: *mut core::ffi::c_void,
3278 target: *mut core::ffi::c_void,
3279 ) -> windows_core::HRESULT {
3280 unsafe {
3281 let this: &Identity =
3282 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3283 ICoreWebView2CompositionController_Impl::SetRootVisualTarget(
3284 this,
3285 core::mem::transmute_copy(&target),
3286 )
3287 .into()
3288 }
3289 }
3290 unsafe extern "system" fn SendMouseInput<
3291 Identity: ICoreWebView2CompositionController_Impl,
3292 const OFFSET: isize,
3293 >(
3294 this: *mut core::ffi::c_void,
3295 eventkind: COREWEBVIEW2_MOUSE_EVENT_KIND,
3296 virtualkeys: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
3297 mousedata: u32,
3298 point: windows::Win32::Foundation::POINT,
3299 ) -> windows_core::HRESULT {
3300 unsafe {
3301 let this: &Identity =
3302 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3303 ICoreWebView2CompositionController_Impl::SendMouseInput(
3304 this,
3305 core::mem::transmute_copy(&eventkind),
3306 core::mem::transmute_copy(&virtualkeys),
3307 core::mem::transmute_copy(&mousedata),
3308 core::mem::transmute(&point),
3309 )
3310 .into()
3311 }
3312 }
3313 unsafe extern "system" fn SendPointerInput<
3314 Identity: ICoreWebView2CompositionController_Impl,
3315 const OFFSET: isize,
3316 >(
3317 this: *mut core::ffi::c_void,
3318 eventkind: COREWEBVIEW2_POINTER_EVENT_KIND,
3319 pointerinfo: *mut core::ffi::c_void,
3320 ) -> windows_core::HRESULT {
3321 unsafe {
3322 let this: &Identity =
3323 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3324 ICoreWebView2CompositionController_Impl::SendPointerInput(
3325 this,
3326 core::mem::transmute_copy(&eventkind),
3327 core::mem::transmute_copy(&pointerinfo),
3328 )
3329 .into()
3330 }
3331 }
3332 unsafe extern "system" fn Cursor<
3333 Identity: ICoreWebView2CompositionController_Impl,
3334 const OFFSET: isize,
3335 >(
3336 this: *mut core::ffi::c_void,
3337 cursor: *mut windows::Win32::UI::WindowsAndMessaging::HCURSOR,
3338 ) -> windows_core::HRESULT {
3339 unsafe {
3340 let this: &Identity =
3341 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3342 match ICoreWebView2CompositionController_Impl::Cursor(this) {
3343 Ok(ok__) => {
3344 cursor.write(core::mem::transmute(ok__));
3345 windows_core::HRESULT(0)
3346 }
3347 Err(err) => err.into(),
3348 }
3349 }
3350 }
3351 unsafe extern "system" fn SystemCursorId<
3352 Identity: ICoreWebView2CompositionController_Impl,
3353 const OFFSET: isize,
3354 >(
3355 this: *mut core::ffi::c_void,
3356 systemcursorid: *mut u32,
3357 ) -> windows_core::HRESULT {
3358 unsafe {
3359 let this: &Identity =
3360 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3361 match ICoreWebView2CompositionController_Impl::SystemCursorId(this) {
3362 Ok(ok__) => {
3363 systemcursorid.write(core::mem::transmute(ok__));
3364 windows_core::HRESULT(0)
3365 }
3366 Err(err) => err.into(),
3367 }
3368 }
3369 }
3370 unsafe extern "system" fn CursorChanged<
3371 Identity: ICoreWebView2CompositionController_Impl,
3372 const OFFSET: isize,
3373 >(
3374 this: *mut core::ffi::c_void,
3375 eventhandler: *mut core::ffi::c_void,
3376 token: *mut i64,
3377 ) -> windows_core::HRESULT {
3378 unsafe {
3379 let this: &Identity =
3380 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3381 match ICoreWebView2CompositionController_Impl::CursorChanged(
3382 this,
3383 core::mem::transmute_copy(&eventhandler),
3384 ) {
3385 Ok(ok__) => {
3386 token.write(core::mem::transmute(ok__));
3387 windows_core::HRESULT(0)
3388 }
3389 Err(err) => err.into(),
3390 }
3391 }
3392 }
3393 unsafe extern "system" fn RemoveCursorChanged<
3394 Identity: ICoreWebView2CompositionController_Impl,
3395 const OFFSET: isize,
3396 >(
3397 this: *mut core::ffi::c_void,
3398 token: i64,
3399 ) -> windows_core::HRESULT {
3400 unsafe {
3401 let this: &Identity =
3402 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3403 ICoreWebView2CompositionController_Impl::RemoveCursorChanged(
3404 this,
3405 core::mem::transmute_copy(&token),
3406 )
3407 .into()
3408 }
3409 }
3410 Self {
3411 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3412 RootVisualTarget: RootVisualTarget::<Identity, OFFSET>,
3413 SetRootVisualTarget: SetRootVisualTarget::<Identity, OFFSET>,
3414 SendMouseInput: SendMouseInput::<Identity, OFFSET>,
3415 SendPointerInput: SendPointerInput::<Identity, OFFSET>,
3416 Cursor: Cursor::<Identity, OFFSET>,
3417 SystemCursorId: SystemCursorId::<Identity, OFFSET>,
3418 CursorChanged: CursorChanged::<Identity, OFFSET>,
3419 RemoveCursorChanged: RemoveCursorChanged::<Identity, OFFSET>,
3420 }
3421 }
3422 pub fn matches(iid: &windows_core::GUID) -> bool {
3423 iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
3424 }
3425}
3426impl windows_core::RuntimeName for ICoreWebView2CompositionController {}
3427windows_core::imp::define_interface!(
3428 ICoreWebView2CompositionController2,
3429 ICoreWebView2CompositionController2_Vtbl,
3430 0x0b6a3d24_49cb_4806_ba20_b5e0734a7b26
3431);
3432impl core::ops::Deref for ICoreWebView2CompositionController2 {
3433 type Target = ICoreWebView2CompositionController;
3434 fn deref(&self) -> &Self::Target {
3435 unsafe { core::mem::transmute(self) }
3436 }
3437}
3438windows_core::imp::interface_hierarchy!(
3439 ICoreWebView2CompositionController2,
3440 windows_core::IUnknown,
3441 ICoreWebView2CompositionController
3442);
3443impl ICoreWebView2CompositionController2 {
3444 pub unsafe fn UIAProvider(&self) -> windows_core::Result<windows_core::IUnknown> {
3445 unsafe {
3446 let mut result__ = core::mem::zeroed();
3447 (windows_core::Interface::vtable(self).UIAProvider)(
3448 windows_core::Interface::as_raw(self),
3449 &mut result__,
3450 )
3451 .and_then(|| windows_core::Type::from_abi(result__))
3452 }
3453 }
3454}
3455#[repr(C)]
3456#[doc(hidden)]
3457pub struct ICoreWebView2CompositionController2_Vtbl {
3458 pub base__: ICoreWebView2CompositionController_Vtbl,
3459 pub UIAProvider: unsafe extern "system" fn(
3460 *mut core::ffi::c_void,
3461 *mut *mut core::ffi::c_void,
3462 ) -> windows_core::HRESULT,
3463}
3464pub trait ICoreWebView2CompositionController2_Impl:
3465 ICoreWebView2CompositionController_Impl
3466{
3467 fn UIAProvider(&self) -> windows_core::Result<windows_core::IUnknown>;
3468}
3469impl ICoreWebView2CompositionController2_Vtbl {
3470 pub const fn new<Identity: ICoreWebView2CompositionController2_Impl, const OFFSET: isize>(
3471 ) -> Self {
3472 unsafe extern "system" fn UIAProvider<
3473 Identity: ICoreWebView2CompositionController2_Impl,
3474 const OFFSET: isize,
3475 >(
3476 this: *mut core::ffi::c_void,
3477 provider: *mut *mut core::ffi::c_void,
3478 ) -> windows_core::HRESULT {
3479 unsafe {
3480 let this: &Identity =
3481 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3482 match ICoreWebView2CompositionController2_Impl::UIAProvider(this) {
3483 Ok(ok__) => {
3484 provider.write(core::mem::transmute(ok__));
3485 windows_core::HRESULT(0)
3486 }
3487 Err(err) => err.into(),
3488 }
3489 }
3490 }
3491 Self {
3492 base__: ICoreWebView2CompositionController_Vtbl::new::<Identity, OFFSET>(),
3493 UIAProvider: UIAProvider::<Identity, OFFSET>,
3494 }
3495 }
3496 pub fn matches(iid: &windows_core::GUID) -> bool {
3497 iid == &<ICoreWebView2CompositionController2 as windows_core::Interface>::IID
3498 || iid == &<ICoreWebView2CompositionController as windows_core::Interface>::IID
3499 }
3500}
3501impl windows_core::RuntimeName for ICoreWebView2CompositionController2 {}
3502windows_core::imp::define_interface!(
3503 ICoreWebView2CompositionControllerInterop,
3504 ICoreWebView2CompositionControllerInterop_Vtbl,
3505 0x8e9922ce_9c80_42e6_bad7_fcebf291a495
3506);
3507windows_core::imp::interface_hierarchy!(
3508 ICoreWebView2CompositionControllerInterop,
3509 windows_core::IUnknown
3510);
3511impl ICoreWebView2CompositionControllerInterop {
3512 pub unsafe fn UIAProvider(&self) -> windows_core::Result<windows_core::IUnknown> {
3513 unsafe {
3514 let mut result__ = core::mem::zeroed();
3515 (windows_core::Interface::vtable(self).UIAProvider)(
3516 windows_core::Interface::as_raw(self),
3517 &mut result__,
3518 )
3519 .and_then(|| windows_core::Type::from_abi(result__))
3520 }
3521 }
3522 pub unsafe fn RootVisualTarget(&self) -> windows_core::Result<windows_core::IUnknown> {
3523 unsafe {
3524 let mut result__ = core::mem::zeroed();
3525 (windows_core::Interface::vtable(self).RootVisualTarget)(
3526 windows_core::Interface::as_raw(self),
3527 &mut result__,
3528 )
3529 .and_then(|| windows_core::Type::from_abi(result__))
3530 }
3531 }
3532 pub unsafe fn SetRootVisualTarget<P0>(&self, target: P0) -> windows_core::Result<()>
3533 where
3534 P0: windows_core::Param<windows_core::IUnknown>,
3535 {
3536 unsafe {
3537 (windows_core::Interface::vtable(self).SetRootVisualTarget)(
3538 windows_core::Interface::as_raw(self),
3539 target.param().abi(),
3540 )
3541 .ok()
3542 }
3543 }
3544}
3545#[repr(C)]
3546#[doc(hidden)]
3547pub struct ICoreWebView2CompositionControllerInterop_Vtbl {
3548 pub base__: windows_core::IUnknown_Vtbl,
3549 pub UIAProvider: unsafe extern "system" fn(
3550 *mut core::ffi::c_void,
3551 *mut *mut core::ffi::c_void,
3552 ) -> windows_core::HRESULT,
3553 pub RootVisualTarget: unsafe extern "system" fn(
3554 *mut core::ffi::c_void,
3555 *mut *mut core::ffi::c_void,
3556 ) -> windows_core::HRESULT,
3557 pub SetRootVisualTarget: unsafe extern "system" fn(
3558 *mut core::ffi::c_void,
3559 *mut core::ffi::c_void,
3560 ) -> windows_core::HRESULT,
3561}
3562pub trait ICoreWebView2CompositionControllerInterop_Impl: windows_core::IUnknownImpl {
3563 fn UIAProvider(&self) -> windows_core::Result<windows_core::IUnknown>;
3564 fn RootVisualTarget(&self) -> windows_core::Result<windows_core::IUnknown>;
3565 fn SetRootVisualTarget(
3566 &self,
3567 target: windows_core::Ref<windows_core::IUnknown>,
3568 ) -> windows_core::Result<()>;
3569}
3570impl ICoreWebView2CompositionControllerInterop_Vtbl {
3571 pub const fn new<
3572 Identity: ICoreWebView2CompositionControllerInterop_Impl,
3573 const OFFSET: isize,
3574 >() -> Self {
3575 unsafe extern "system" fn UIAProvider<
3576 Identity: ICoreWebView2CompositionControllerInterop_Impl,
3577 const OFFSET: isize,
3578 >(
3579 this: *mut core::ffi::c_void,
3580 provider: *mut *mut core::ffi::c_void,
3581 ) -> windows_core::HRESULT {
3582 unsafe {
3583 let this: &Identity =
3584 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3585 match ICoreWebView2CompositionControllerInterop_Impl::UIAProvider(this) {
3586 Ok(ok__) => {
3587 provider.write(core::mem::transmute(ok__));
3588 windows_core::HRESULT(0)
3589 }
3590 Err(err) => err.into(),
3591 }
3592 }
3593 }
3594 unsafe extern "system" fn RootVisualTarget<
3595 Identity: ICoreWebView2CompositionControllerInterop_Impl,
3596 const OFFSET: isize,
3597 >(
3598 this: *mut core::ffi::c_void,
3599 target: *mut *mut core::ffi::c_void,
3600 ) -> windows_core::HRESULT {
3601 unsafe {
3602 let this: &Identity =
3603 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3604 match ICoreWebView2CompositionControllerInterop_Impl::RootVisualTarget(this) {
3605 Ok(ok__) => {
3606 target.write(core::mem::transmute(ok__));
3607 windows_core::HRESULT(0)
3608 }
3609 Err(err) => err.into(),
3610 }
3611 }
3612 }
3613 unsafe extern "system" fn SetRootVisualTarget<
3614 Identity: ICoreWebView2CompositionControllerInterop_Impl,
3615 const OFFSET: isize,
3616 >(
3617 this: *mut core::ffi::c_void,
3618 target: *mut core::ffi::c_void,
3619 ) -> windows_core::HRESULT {
3620 unsafe {
3621 let this: &Identity =
3622 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3623 ICoreWebView2CompositionControllerInterop_Impl::SetRootVisualTarget(
3624 this,
3625 core::mem::transmute_copy(&target),
3626 )
3627 .into()
3628 }
3629 }
3630 Self {
3631 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3632 UIAProvider: UIAProvider::<Identity, OFFSET>,
3633 RootVisualTarget: RootVisualTarget::<Identity, OFFSET>,
3634 SetRootVisualTarget: SetRootVisualTarget::<Identity, OFFSET>,
3635 }
3636 }
3637 pub fn matches(iid: &windows_core::GUID) -> bool {
3638 iid == &<ICoreWebView2CompositionControllerInterop as windows_core::Interface>::IID
3639 }
3640}
3641impl windows_core::RuntimeName for ICoreWebView2CompositionControllerInterop {}
3642windows_core::imp::define_interface!(
3643 ICoreWebView2ContainsFullScreenElementChangedEventHandler,
3644 ICoreWebView2ContainsFullScreenElementChangedEventHandler_Vtbl,
3645 0xe45d98b1_afef_45be_8baf_6c7728867f73
3646);
3647windows_core::imp::interface_hierarchy!(
3648 ICoreWebView2ContainsFullScreenElementChangedEventHandler,
3649 windows_core::IUnknown
3650);
3651impl ICoreWebView2ContainsFullScreenElementChangedEventHandler {
3652 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
3653 where
3654 P0: windows_core::Param<ICoreWebView2>,
3655 P1: windows_core::Param<windows_core::IUnknown>,
3656 {
3657 unsafe {
3658 (windows_core::Interface::vtable(self).Invoke)(
3659 windows_core::Interface::as_raw(self),
3660 sender.param().abi(),
3661 args.param().abi(),
3662 )
3663 .ok()
3664 }
3665 }
3666}
3667#[repr(C)]
3668#[doc(hidden)]
3669pub struct ICoreWebView2ContainsFullScreenElementChangedEventHandler_Vtbl {
3670 pub base__: windows_core::IUnknown_Vtbl,
3671 pub Invoke: unsafe extern "system" fn(
3672 *mut core::ffi::c_void,
3673 *mut core::ffi::c_void,
3674 *mut core::ffi::c_void,
3675 ) -> windows_core::HRESULT,
3676}
3677pub trait ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl:
3678 windows_core::IUnknownImpl
3679{
3680 fn Invoke(
3681 &self,
3682 sender: windows_core::Ref<ICoreWebView2>,
3683 args: windows_core::Ref<windows_core::IUnknown>,
3684 ) -> windows_core::Result<()>;
3685}
3686impl ICoreWebView2ContainsFullScreenElementChangedEventHandler_Vtbl {
3687 pub const fn new<
3688 Identity: ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl,
3689 const OFFSET: isize,
3690 >() -> Self {
3691 unsafe extern "system" fn Invoke<
3692 Identity: ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl,
3693 const OFFSET: isize,
3694 >(
3695 this: *mut core::ffi::c_void,
3696 sender: *mut core::ffi::c_void,
3697 args: *mut core::ffi::c_void,
3698 ) -> windows_core::HRESULT {
3699 unsafe {
3700 let this: &Identity =
3701 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3702 ICoreWebView2ContainsFullScreenElementChangedEventHandler_Impl::Invoke(
3703 this,
3704 core::mem::transmute_copy(&sender),
3705 core::mem::transmute_copy(&args),
3706 )
3707 .into()
3708 }
3709 }
3710 Self {
3711 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3712 Invoke: Invoke::<Identity, OFFSET>,
3713 }
3714 }
3715 pub fn matches(iid: &windows_core::GUID) -> bool {
3716 iid == & < ICoreWebView2ContainsFullScreenElementChangedEventHandler as windows_core::Interface >::IID
3717 }
3718}
3719impl windows_core::RuntimeName for ICoreWebView2ContainsFullScreenElementChangedEventHandler {}
3720windows_core::imp::define_interface!(
3721 ICoreWebView2ContentLoadingEventArgs,
3722 ICoreWebView2ContentLoadingEventArgs_Vtbl,
3723 0x0c8a1275_9b6b_4901_87ad_70df25bafa6e
3724);
3725windows_core::imp::interface_hierarchy!(
3726 ICoreWebView2ContentLoadingEventArgs,
3727 windows_core::IUnknown
3728);
3729impl ICoreWebView2ContentLoadingEventArgs {
3730 pub unsafe fn IsErrorPage(&self) -> windows_core::Result<windows_core::BOOL> {
3731 unsafe {
3732 let mut result__ = core::mem::zeroed();
3733 (windows_core::Interface::vtable(self).IsErrorPage)(
3734 windows_core::Interface::as_raw(self),
3735 &mut result__,
3736 )
3737 .map(|| result__)
3738 }
3739 }
3740 pub unsafe fn NavigationId(&self) -> windows_core::Result<u64> {
3741 unsafe {
3742 let mut result__ = core::mem::zeroed();
3743 (windows_core::Interface::vtable(self).NavigationId)(
3744 windows_core::Interface::as_raw(self),
3745 &mut result__,
3746 )
3747 .map(|| result__)
3748 }
3749 }
3750}
3751#[repr(C)]
3752#[doc(hidden)]
3753pub struct ICoreWebView2ContentLoadingEventArgs_Vtbl {
3754 pub base__: windows_core::IUnknown_Vtbl,
3755 pub IsErrorPage: unsafe extern "system" fn(
3756 *mut core::ffi::c_void,
3757 *mut windows_core::BOOL,
3758 ) -> windows_core::HRESULT,
3759 pub NavigationId:
3760 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
3761}
3762pub trait ICoreWebView2ContentLoadingEventArgs_Impl: windows_core::IUnknownImpl {
3763 fn IsErrorPage(&self) -> windows_core::Result<windows_core::BOOL>;
3764 fn NavigationId(&self) -> windows_core::Result<u64>;
3765}
3766impl ICoreWebView2ContentLoadingEventArgs_Vtbl {
3767 pub const fn new<Identity: ICoreWebView2ContentLoadingEventArgs_Impl, const OFFSET: isize>(
3768 ) -> Self {
3769 unsafe extern "system" fn IsErrorPage<
3770 Identity: ICoreWebView2ContentLoadingEventArgs_Impl,
3771 const OFFSET: isize,
3772 >(
3773 this: *mut core::ffi::c_void,
3774 iserrorpage: *mut windows_core::BOOL,
3775 ) -> windows_core::HRESULT {
3776 unsafe {
3777 let this: &Identity =
3778 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3779 match ICoreWebView2ContentLoadingEventArgs_Impl::IsErrorPage(this) {
3780 Ok(ok__) => {
3781 iserrorpage.write(core::mem::transmute(ok__));
3782 windows_core::HRESULT(0)
3783 }
3784 Err(err) => err.into(),
3785 }
3786 }
3787 }
3788 unsafe extern "system" fn NavigationId<
3789 Identity: ICoreWebView2ContentLoadingEventArgs_Impl,
3790 const OFFSET: isize,
3791 >(
3792 this: *mut core::ffi::c_void,
3793 navigationid: *mut u64,
3794 ) -> windows_core::HRESULT {
3795 unsafe {
3796 let this: &Identity =
3797 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3798 match ICoreWebView2ContentLoadingEventArgs_Impl::NavigationId(this) {
3799 Ok(ok__) => {
3800 navigationid.write(core::mem::transmute(ok__));
3801 windows_core::HRESULT(0)
3802 }
3803 Err(err) => err.into(),
3804 }
3805 }
3806 }
3807 Self {
3808 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3809 IsErrorPage: IsErrorPage::<Identity, OFFSET>,
3810 NavigationId: NavigationId::<Identity, OFFSET>,
3811 }
3812 }
3813 pub fn matches(iid: &windows_core::GUID) -> bool {
3814 iid == &<ICoreWebView2ContentLoadingEventArgs as windows_core::Interface>::IID
3815 }
3816}
3817impl windows_core::RuntimeName for ICoreWebView2ContentLoadingEventArgs {}
3818windows_core::imp::define_interface!(
3819 ICoreWebView2ContentLoadingEventHandler,
3820 ICoreWebView2ContentLoadingEventHandler_Vtbl,
3821 0x364471e7_f2be_4910_bdba_d72077d51c4b
3822);
3823windows_core::imp::interface_hierarchy!(
3824 ICoreWebView2ContentLoadingEventHandler,
3825 windows_core::IUnknown
3826);
3827impl ICoreWebView2ContentLoadingEventHandler {
3828 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
3829 where
3830 P0: windows_core::Param<ICoreWebView2>,
3831 P1: windows_core::Param<ICoreWebView2ContentLoadingEventArgs>,
3832 {
3833 unsafe {
3834 (windows_core::Interface::vtable(self).Invoke)(
3835 windows_core::Interface::as_raw(self),
3836 sender.param().abi(),
3837 args.param().abi(),
3838 )
3839 .ok()
3840 }
3841 }
3842}
3843#[repr(C)]
3844#[doc(hidden)]
3845pub struct ICoreWebView2ContentLoadingEventHandler_Vtbl {
3846 pub base__: windows_core::IUnknown_Vtbl,
3847 pub Invoke: unsafe extern "system" fn(
3848 *mut core::ffi::c_void,
3849 *mut core::ffi::c_void,
3850 *mut core::ffi::c_void,
3851 ) -> windows_core::HRESULT,
3852}
3853pub trait ICoreWebView2ContentLoadingEventHandler_Impl: windows_core::IUnknownImpl {
3854 fn Invoke(
3855 &self,
3856 sender: windows_core::Ref<ICoreWebView2>,
3857 args: windows_core::Ref<ICoreWebView2ContentLoadingEventArgs>,
3858 ) -> windows_core::Result<()>;
3859}
3860impl ICoreWebView2ContentLoadingEventHandler_Vtbl {
3861 pub const fn new<
3862 Identity: ICoreWebView2ContentLoadingEventHandler_Impl,
3863 const OFFSET: isize,
3864 >() -> Self {
3865 unsafe extern "system" fn Invoke<
3866 Identity: ICoreWebView2ContentLoadingEventHandler_Impl,
3867 const OFFSET: isize,
3868 >(
3869 this: *mut core::ffi::c_void,
3870 sender: *mut core::ffi::c_void,
3871 args: *mut core::ffi::c_void,
3872 ) -> windows_core::HRESULT {
3873 unsafe {
3874 let this: &Identity =
3875 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
3876 ICoreWebView2ContentLoadingEventHandler_Impl::Invoke(
3877 this,
3878 core::mem::transmute_copy(&sender),
3879 core::mem::transmute_copy(&args),
3880 )
3881 .into()
3882 }
3883 }
3884 Self {
3885 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3886 Invoke: Invoke::<Identity, OFFSET>,
3887 }
3888 }
3889 pub fn matches(iid: &windows_core::GUID) -> bool {
3890 iid == &<ICoreWebView2ContentLoadingEventHandler as windows_core::Interface>::IID
3891 }
3892}
3893impl windows_core::RuntimeName for ICoreWebView2ContentLoadingEventHandler {}
3894windows_core::imp::define_interface!(
3895 ICoreWebView2Controller,
3896 ICoreWebView2Controller_Vtbl,
3897 0x4d00c0d1_9434_4eb6_8078_8697a560334f
3898);
3899windows_core::imp::interface_hierarchy!(ICoreWebView2Controller, windows_core::IUnknown);
3900impl ICoreWebView2Controller {
3901 pub unsafe fn IsVisible(&self) -> windows_core::Result<windows_core::BOOL> {
3902 unsafe {
3903 let mut result__ = core::mem::zeroed();
3904 (windows_core::Interface::vtable(self).IsVisible)(
3905 windows_core::Interface::as_raw(self),
3906 &mut result__,
3907 )
3908 .map(|| result__)
3909 }
3910 }
3911 pub unsafe fn SetIsVisible(&self, isvisible: bool) -> windows_core::Result<()> {
3912 unsafe {
3913 (windows_core::Interface::vtable(self).SetIsVisible)(
3914 windows_core::Interface::as_raw(self),
3915 isvisible.into(),
3916 )
3917 .ok()
3918 }
3919 }
3920 pub unsafe fn Bounds(&self) -> windows_core::Result<windows::Win32::Foundation::RECT> {
3921 unsafe {
3922 let mut result__ = core::mem::zeroed();
3923 (windows_core::Interface::vtable(self).Bounds)(
3924 windows_core::Interface::as_raw(self),
3925 &mut result__,
3926 )
3927 .map(|| result__)
3928 }
3929 }
3930 pub unsafe fn SetBounds(
3931 &self,
3932 bounds: windows::Win32::Foundation::RECT,
3933 ) -> windows_core::Result<()> {
3934 unsafe {
3935 (windows_core::Interface::vtable(self).SetBounds)(
3936 windows_core::Interface::as_raw(self),
3937 core::mem::transmute(bounds),
3938 )
3939 .ok()
3940 }
3941 }
3942 pub unsafe fn ZoomFactor(&self) -> windows_core::Result<f64> {
3943 unsafe {
3944 let mut result__ = core::mem::zeroed();
3945 (windows_core::Interface::vtable(self).ZoomFactor)(
3946 windows_core::Interface::as_raw(self),
3947 &mut result__,
3948 )
3949 .map(|| result__)
3950 }
3951 }
3952 pub unsafe fn SetZoomFactor(&self, zoomfactor: f64) -> windows_core::Result<()> {
3953 unsafe {
3954 (windows_core::Interface::vtable(self).SetZoomFactor)(
3955 windows_core::Interface::as_raw(self),
3956 zoomfactor,
3957 )
3958 .ok()
3959 }
3960 }
3961 pub unsafe fn ZoomFactorChanged<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
3962 where
3963 P0: windows_core::Param<ICoreWebView2ZoomFactorChangedEventHandler>,
3964 {
3965 unsafe {
3966 let mut result__ = core::mem::zeroed();
3967 (windows_core::Interface::vtable(self).ZoomFactorChanged)(
3968 windows_core::Interface::as_raw(self),
3969 eventhandler.param().abi(),
3970 &mut result__,
3971 )
3972 .map(|| result__)
3973 }
3974 }
3975 pub unsafe fn RemoveZoomFactorChanged(&self, token: i64) -> windows_core::Result<()> {
3976 unsafe {
3977 (windows_core::Interface::vtable(self).RemoveZoomFactorChanged)(
3978 windows_core::Interface::as_raw(self),
3979 token,
3980 )
3981 .ok()
3982 }
3983 }
3984 pub unsafe fn SetBoundsAndZoomFactor(
3985 &self,
3986 bounds: windows::Win32::Foundation::RECT,
3987 zoomfactor: f64,
3988 ) -> windows_core::Result<()> {
3989 unsafe {
3990 (windows_core::Interface::vtable(self).SetBoundsAndZoomFactor)(
3991 windows_core::Interface::as_raw(self),
3992 core::mem::transmute(bounds),
3993 zoomfactor,
3994 )
3995 .ok()
3996 }
3997 }
3998 pub unsafe fn MoveFocus(
3999 &self,
4000 reason: COREWEBVIEW2_MOVE_FOCUS_REASON,
4001 ) -> windows_core::Result<()> {
4002 unsafe {
4003 (windows_core::Interface::vtable(self).MoveFocus)(
4004 windows_core::Interface::as_raw(self),
4005 reason,
4006 )
4007 .ok()
4008 }
4009 }
4010 pub unsafe fn MoveFocusRequested<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
4011 where
4012 P0: windows_core::Param<ICoreWebView2MoveFocusRequestedEventHandler>,
4013 {
4014 unsafe {
4015 let mut result__ = core::mem::zeroed();
4016 (windows_core::Interface::vtable(self).MoveFocusRequested)(
4017 windows_core::Interface::as_raw(self),
4018 eventhandler.param().abi(),
4019 &mut result__,
4020 )
4021 .map(|| result__)
4022 }
4023 }
4024 pub unsafe fn RemoveMoveFocusRequested(&self, token: i64) -> windows_core::Result<()> {
4025 unsafe {
4026 (windows_core::Interface::vtable(self).RemoveMoveFocusRequested)(
4027 windows_core::Interface::as_raw(self),
4028 token,
4029 )
4030 .ok()
4031 }
4032 }
4033 pub unsafe fn GotFocus<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
4034 where
4035 P0: windows_core::Param<ICoreWebView2FocusChangedEventHandler>,
4036 {
4037 unsafe {
4038 let mut result__ = core::mem::zeroed();
4039 (windows_core::Interface::vtable(self).GotFocus)(
4040 windows_core::Interface::as_raw(self),
4041 eventhandler.param().abi(),
4042 &mut result__,
4043 )
4044 .map(|| result__)
4045 }
4046 }
4047 pub unsafe fn RemoveGotFocus(&self, token: i64) -> windows_core::Result<()> {
4048 unsafe {
4049 (windows_core::Interface::vtable(self).RemoveGotFocus)(
4050 windows_core::Interface::as_raw(self),
4051 token,
4052 )
4053 .ok()
4054 }
4055 }
4056 pub unsafe fn LostFocus<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
4057 where
4058 P0: windows_core::Param<ICoreWebView2FocusChangedEventHandler>,
4059 {
4060 unsafe {
4061 let mut result__ = core::mem::zeroed();
4062 (windows_core::Interface::vtable(self).LostFocus)(
4063 windows_core::Interface::as_raw(self),
4064 eventhandler.param().abi(),
4065 &mut result__,
4066 )
4067 .map(|| result__)
4068 }
4069 }
4070 pub unsafe fn RemoveLostFocus(&self, token: i64) -> windows_core::Result<()> {
4071 unsafe {
4072 (windows_core::Interface::vtable(self).RemoveLostFocus)(
4073 windows_core::Interface::as_raw(self),
4074 token,
4075 )
4076 .ok()
4077 }
4078 }
4079 pub unsafe fn AcceleratorKeyPressed<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
4080 where
4081 P0: windows_core::Param<ICoreWebView2AcceleratorKeyPressedEventHandler>,
4082 {
4083 unsafe {
4084 let mut result__ = core::mem::zeroed();
4085 (windows_core::Interface::vtable(self).AcceleratorKeyPressed)(
4086 windows_core::Interface::as_raw(self),
4087 eventhandler.param().abi(),
4088 &mut result__,
4089 )
4090 .map(|| result__)
4091 }
4092 }
4093 pub unsafe fn RemoveAcceleratorKeyPressed(&self, token: i64) -> windows_core::Result<()> {
4094 unsafe {
4095 (windows_core::Interface::vtable(self).RemoveAcceleratorKeyPressed)(
4096 windows_core::Interface::as_raw(self),
4097 token,
4098 )
4099 .ok()
4100 }
4101 }
4102 pub unsafe fn ParentWindow(&self) -> windows_core::Result<windows::Win32::Foundation::HWND> {
4103 unsafe {
4104 let mut result__ = core::mem::zeroed();
4105 (windows_core::Interface::vtable(self).ParentWindow)(
4106 windows_core::Interface::as_raw(self),
4107 &mut result__,
4108 )
4109 .map(|| result__)
4110 }
4111 }
4112 pub unsafe fn SetParentWindow(
4113 &self,
4114 parentwindow: windows::Win32::Foundation::HWND,
4115 ) -> windows_core::Result<()> {
4116 unsafe {
4117 (windows_core::Interface::vtable(self).SetParentWindow)(
4118 windows_core::Interface::as_raw(self),
4119 parentwindow,
4120 )
4121 .ok()
4122 }
4123 }
4124 pub unsafe fn NotifyParentWindowPositionChanged(&self) -> windows_core::Result<()> {
4125 unsafe {
4126 (windows_core::Interface::vtable(self).NotifyParentWindowPositionChanged)(
4127 windows_core::Interface::as_raw(self),
4128 )
4129 .ok()
4130 }
4131 }
4132 pub unsafe fn Close(&self) -> windows_core::Result<()> {
4133 unsafe {
4134 (windows_core::Interface::vtable(self).Close)(windows_core::Interface::as_raw(self))
4135 .ok()
4136 }
4137 }
4138 pub unsafe fn CoreWebView2(&self) -> windows_core::Result<ICoreWebView2> {
4139 unsafe {
4140 let mut result__ = core::mem::zeroed();
4141 (windows_core::Interface::vtable(self).CoreWebView2)(
4142 windows_core::Interface::as_raw(self),
4143 &mut result__,
4144 )
4145 .and_then(|| windows_core::Type::from_abi(result__))
4146 }
4147 }
4148}
4149#[repr(C)]
4150#[doc(hidden)]
4151pub struct ICoreWebView2Controller_Vtbl {
4152 pub base__: windows_core::IUnknown_Vtbl,
4153 pub IsVisible: unsafe extern "system" fn(
4154 *mut core::ffi::c_void,
4155 *mut windows_core::BOOL,
4156 ) -> windows_core::HRESULT,
4157 pub SetIsVisible: unsafe extern "system" fn(
4158 *mut core::ffi::c_void,
4159 windows_core::BOOL,
4160 ) -> windows_core::HRESULT,
4161 pub Bounds: unsafe extern "system" fn(
4162 *mut core::ffi::c_void,
4163 *mut windows::Win32::Foundation::RECT,
4164 ) -> windows_core::HRESULT,
4165 pub SetBounds: unsafe extern "system" fn(
4166 *mut core::ffi::c_void,
4167 windows::Win32::Foundation::RECT,
4168 ) -> windows_core::HRESULT,
4169 pub ZoomFactor:
4170 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
4171 pub SetZoomFactor:
4172 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
4173 pub ZoomFactorChanged: unsafe extern "system" fn(
4174 *mut core::ffi::c_void,
4175 *mut core::ffi::c_void,
4176 *mut i64,
4177 ) -> windows_core::HRESULT,
4178 pub RemoveZoomFactorChanged:
4179 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
4180 pub SetBoundsAndZoomFactor: unsafe extern "system" fn(
4181 *mut core::ffi::c_void,
4182 windows::Win32::Foundation::RECT,
4183 f64,
4184 ) -> windows_core::HRESULT,
4185 pub MoveFocus: unsafe extern "system" fn(
4186 *mut core::ffi::c_void,
4187 COREWEBVIEW2_MOVE_FOCUS_REASON,
4188 ) -> windows_core::HRESULT,
4189 pub MoveFocusRequested: unsafe extern "system" fn(
4190 *mut core::ffi::c_void,
4191 *mut core::ffi::c_void,
4192 *mut i64,
4193 ) -> windows_core::HRESULT,
4194 pub RemoveMoveFocusRequested:
4195 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
4196 pub GotFocus: unsafe extern "system" fn(
4197 *mut core::ffi::c_void,
4198 *mut core::ffi::c_void,
4199 *mut i64,
4200 ) -> windows_core::HRESULT,
4201 pub RemoveGotFocus:
4202 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
4203 pub LostFocus: unsafe extern "system" fn(
4204 *mut core::ffi::c_void,
4205 *mut core::ffi::c_void,
4206 *mut i64,
4207 ) -> windows_core::HRESULT,
4208 pub RemoveLostFocus:
4209 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
4210 pub AcceleratorKeyPressed: unsafe extern "system" fn(
4211 *mut core::ffi::c_void,
4212 *mut core::ffi::c_void,
4213 *mut i64,
4214 ) -> windows_core::HRESULT,
4215 pub RemoveAcceleratorKeyPressed:
4216 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
4217 pub ParentWindow: unsafe extern "system" fn(
4218 *mut core::ffi::c_void,
4219 *mut windows::Win32::Foundation::HWND,
4220 ) -> windows_core::HRESULT,
4221 pub SetParentWindow: unsafe extern "system" fn(
4222 *mut core::ffi::c_void,
4223 windows::Win32::Foundation::HWND,
4224 ) -> windows_core::HRESULT,
4225 pub NotifyParentWindowPositionChanged:
4226 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
4227 pub Close: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
4228 pub CoreWebView2: unsafe extern "system" fn(
4229 *mut core::ffi::c_void,
4230 *mut *mut core::ffi::c_void,
4231 ) -> windows_core::HRESULT,
4232}
4233pub trait ICoreWebView2Controller_Impl: windows_core::IUnknownImpl {
4234 fn IsVisible(&self) -> windows_core::Result<windows_core::BOOL>;
4235 fn SetIsVisible(&self, isvisible: windows_core::BOOL) -> windows_core::Result<()>;
4236 fn Bounds(&self) -> windows_core::Result<windows::Win32::Foundation::RECT>;
4237 fn SetBounds(&self, bounds: &windows::Win32::Foundation::RECT) -> windows_core::Result<()>;
4238 fn ZoomFactor(&self) -> windows_core::Result<f64>;
4239 fn SetZoomFactor(&self, zoomfactor: f64) -> windows_core::Result<()>;
4240 fn ZoomFactorChanged(
4241 &self,
4242 eventhandler: windows_core::Ref<ICoreWebView2ZoomFactorChangedEventHandler>,
4243 ) -> windows_core::Result<i64>;
4244 fn RemoveZoomFactorChanged(&self, token: i64) -> windows_core::Result<()>;
4245 fn SetBoundsAndZoomFactor(
4246 &self,
4247 bounds: &windows::Win32::Foundation::RECT,
4248 zoomfactor: f64,
4249 ) -> windows_core::Result<()>;
4250 fn MoveFocus(&self, reason: COREWEBVIEW2_MOVE_FOCUS_REASON) -> windows_core::Result<()>;
4251 fn MoveFocusRequested(
4252 &self,
4253 eventhandler: windows_core::Ref<ICoreWebView2MoveFocusRequestedEventHandler>,
4254 ) -> windows_core::Result<i64>;
4255 fn RemoveMoveFocusRequested(&self, token: i64) -> windows_core::Result<()>;
4256 fn GotFocus(
4257 &self,
4258 eventhandler: windows_core::Ref<ICoreWebView2FocusChangedEventHandler>,
4259 ) -> windows_core::Result<i64>;
4260 fn RemoveGotFocus(&self, token: i64) -> windows_core::Result<()>;
4261 fn LostFocus(
4262 &self,
4263 eventhandler: windows_core::Ref<ICoreWebView2FocusChangedEventHandler>,
4264 ) -> windows_core::Result<i64>;
4265 fn RemoveLostFocus(&self, token: i64) -> windows_core::Result<()>;
4266 fn AcceleratorKeyPressed(
4267 &self,
4268 eventhandler: windows_core::Ref<ICoreWebView2AcceleratorKeyPressedEventHandler>,
4269 ) -> windows_core::Result<i64>;
4270 fn RemoveAcceleratorKeyPressed(&self, token: i64) -> windows_core::Result<()>;
4271 fn ParentWindow(&self) -> windows_core::Result<windows::Win32::Foundation::HWND>;
4272 fn SetParentWindow(
4273 &self,
4274 parentwindow: windows::Win32::Foundation::HWND,
4275 ) -> windows_core::Result<()>;
4276 fn NotifyParentWindowPositionChanged(&self) -> windows_core::Result<()>;
4277 fn Close(&self) -> windows_core::Result<()>;
4278 fn CoreWebView2(&self) -> windows_core::Result<ICoreWebView2>;
4279}
4280impl ICoreWebView2Controller_Vtbl {
4281 pub const fn new<Identity: ICoreWebView2Controller_Impl, const OFFSET: isize>() -> Self {
4282 unsafe extern "system" fn IsVisible<
4283 Identity: ICoreWebView2Controller_Impl,
4284 const OFFSET: isize,
4285 >(
4286 this: *mut core::ffi::c_void,
4287 isvisible: *mut windows_core::BOOL,
4288 ) -> windows_core::HRESULT {
4289 unsafe {
4290 let this: &Identity =
4291 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4292 match ICoreWebView2Controller_Impl::IsVisible(this) {
4293 Ok(ok__) => {
4294 isvisible.write(core::mem::transmute(ok__));
4295 windows_core::HRESULT(0)
4296 }
4297 Err(err) => err.into(),
4298 }
4299 }
4300 }
4301 unsafe extern "system" fn SetIsVisible<
4302 Identity: ICoreWebView2Controller_Impl,
4303 const OFFSET: isize,
4304 >(
4305 this: *mut core::ffi::c_void,
4306 isvisible: windows_core::BOOL,
4307 ) -> windows_core::HRESULT {
4308 unsafe {
4309 let this: &Identity =
4310 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4311 ICoreWebView2Controller_Impl::SetIsVisible(
4312 this,
4313 core::mem::transmute_copy(&isvisible),
4314 )
4315 .into()
4316 }
4317 }
4318 unsafe extern "system" fn Bounds<
4319 Identity: ICoreWebView2Controller_Impl,
4320 const OFFSET: isize,
4321 >(
4322 this: *mut core::ffi::c_void,
4323 bounds: *mut windows::Win32::Foundation::RECT,
4324 ) -> windows_core::HRESULT {
4325 unsafe {
4326 let this: &Identity =
4327 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4328 match ICoreWebView2Controller_Impl::Bounds(this) {
4329 Ok(ok__) => {
4330 bounds.write(core::mem::transmute(ok__));
4331 windows_core::HRESULT(0)
4332 }
4333 Err(err) => err.into(),
4334 }
4335 }
4336 }
4337 unsafe extern "system" fn SetBounds<
4338 Identity: ICoreWebView2Controller_Impl,
4339 const OFFSET: isize,
4340 >(
4341 this: *mut core::ffi::c_void,
4342 bounds: windows::Win32::Foundation::RECT,
4343 ) -> windows_core::HRESULT {
4344 unsafe {
4345 let this: &Identity =
4346 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4347 ICoreWebView2Controller_Impl::SetBounds(this, core::mem::transmute(&bounds)).into()
4348 }
4349 }
4350 unsafe extern "system" fn ZoomFactor<
4351 Identity: ICoreWebView2Controller_Impl,
4352 const OFFSET: isize,
4353 >(
4354 this: *mut core::ffi::c_void,
4355 zoomfactor: *mut f64,
4356 ) -> windows_core::HRESULT {
4357 unsafe {
4358 let this: &Identity =
4359 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4360 match ICoreWebView2Controller_Impl::ZoomFactor(this) {
4361 Ok(ok__) => {
4362 zoomfactor.write(core::mem::transmute(ok__));
4363 windows_core::HRESULT(0)
4364 }
4365 Err(err) => err.into(),
4366 }
4367 }
4368 }
4369 unsafe extern "system" fn SetZoomFactor<
4370 Identity: ICoreWebView2Controller_Impl,
4371 const OFFSET: isize,
4372 >(
4373 this: *mut core::ffi::c_void,
4374 zoomfactor: f64,
4375 ) -> windows_core::HRESULT {
4376 unsafe {
4377 let this: &Identity =
4378 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4379 ICoreWebView2Controller_Impl::SetZoomFactor(
4380 this,
4381 core::mem::transmute_copy(&zoomfactor),
4382 )
4383 .into()
4384 }
4385 }
4386 unsafe extern "system" fn ZoomFactorChanged<
4387 Identity: ICoreWebView2Controller_Impl,
4388 const OFFSET: isize,
4389 >(
4390 this: *mut core::ffi::c_void,
4391 eventhandler: *mut core::ffi::c_void,
4392 token: *mut i64,
4393 ) -> windows_core::HRESULT {
4394 unsafe {
4395 let this: &Identity =
4396 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4397 match ICoreWebView2Controller_Impl::ZoomFactorChanged(
4398 this,
4399 core::mem::transmute_copy(&eventhandler),
4400 ) {
4401 Ok(ok__) => {
4402 token.write(core::mem::transmute(ok__));
4403 windows_core::HRESULT(0)
4404 }
4405 Err(err) => err.into(),
4406 }
4407 }
4408 }
4409 unsafe extern "system" fn RemoveZoomFactorChanged<
4410 Identity: ICoreWebView2Controller_Impl,
4411 const OFFSET: isize,
4412 >(
4413 this: *mut core::ffi::c_void,
4414 token: i64,
4415 ) -> windows_core::HRESULT {
4416 unsafe {
4417 let this: &Identity =
4418 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4419 ICoreWebView2Controller_Impl::RemoveZoomFactorChanged(
4420 this,
4421 core::mem::transmute_copy(&token),
4422 )
4423 .into()
4424 }
4425 }
4426 unsafe extern "system" fn SetBoundsAndZoomFactor<
4427 Identity: ICoreWebView2Controller_Impl,
4428 const OFFSET: isize,
4429 >(
4430 this: *mut core::ffi::c_void,
4431 bounds: windows::Win32::Foundation::RECT,
4432 zoomfactor: f64,
4433 ) -> windows_core::HRESULT {
4434 unsafe {
4435 let this: &Identity =
4436 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4437 ICoreWebView2Controller_Impl::SetBoundsAndZoomFactor(
4438 this,
4439 core::mem::transmute(&bounds),
4440 core::mem::transmute_copy(&zoomfactor),
4441 )
4442 .into()
4443 }
4444 }
4445 unsafe extern "system" fn MoveFocus<
4446 Identity: ICoreWebView2Controller_Impl,
4447 const OFFSET: isize,
4448 >(
4449 this: *mut core::ffi::c_void,
4450 reason: COREWEBVIEW2_MOVE_FOCUS_REASON,
4451 ) -> windows_core::HRESULT {
4452 unsafe {
4453 let this: &Identity =
4454 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4455 ICoreWebView2Controller_Impl::MoveFocus(this, core::mem::transmute_copy(&reason))
4456 .into()
4457 }
4458 }
4459 unsafe extern "system" fn MoveFocusRequested<
4460 Identity: ICoreWebView2Controller_Impl,
4461 const OFFSET: isize,
4462 >(
4463 this: *mut core::ffi::c_void,
4464 eventhandler: *mut core::ffi::c_void,
4465 token: *mut i64,
4466 ) -> windows_core::HRESULT {
4467 unsafe {
4468 let this: &Identity =
4469 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4470 match ICoreWebView2Controller_Impl::MoveFocusRequested(
4471 this,
4472 core::mem::transmute_copy(&eventhandler),
4473 ) {
4474 Ok(ok__) => {
4475 token.write(core::mem::transmute(ok__));
4476 windows_core::HRESULT(0)
4477 }
4478 Err(err) => err.into(),
4479 }
4480 }
4481 }
4482 unsafe extern "system" fn RemoveMoveFocusRequested<
4483 Identity: ICoreWebView2Controller_Impl,
4484 const OFFSET: isize,
4485 >(
4486 this: *mut core::ffi::c_void,
4487 token: i64,
4488 ) -> windows_core::HRESULT {
4489 unsafe {
4490 let this: &Identity =
4491 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4492 ICoreWebView2Controller_Impl::RemoveMoveFocusRequested(
4493 this,
4494 core::mem::transmute_copy(&token),
4495 )
4496 .into()
4497 }
4498 }
4499 unsafe extern "system" fn GotFocus<
4500 Identity: ICoreWebView2Controller_Impl,
4501 const OFFSET: isize,
4502 >(
4503 this: *mut core::ffi::c_void,
4504 eventhandler: *mut core::ffi::c_void,
4505 token: *mut i64,
4506 ) -> windows_core::HRESULT {
4507 unsafe {
4508 let this: &Identity =
4509 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4510 match ICoreWebView2Controller_Impl::GotFocus(
4511 this,
4512 core::mem::transmute_copy(&eventhandler),
4513 ) {
4514 Ok(ok__) => {
4515 token.write(core::mem::transmute(ok__));
4516 windows_core::HRESULT(0)
4517 }
4518 Err(err) => err.into(),
4519 }
4520 }
4521 }
4522 unsafe extern "system" fn RemoveGotFocus<
4523 Identity: ICoreWebView2Controller_Impl,
4524 const OFFSET: isize,
4525 >(
4526 this: *mut core::ffi::c_void,
4527 token: i64,
4528 ) -> windows_core::HRESULT {
4529 unsafe {
4530 let this: &Identity =
4531 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4532 ICoreWebView2Controller_Impl::RemoveGotFocus(
4533 this,
4534 core::mem::transmute_copy(&token),
4535 )
4536 .into()
4537 }
4538 }
4539 unsafe extern "system" fn LostFocus<
4540 Identity: ICoreWebView2Controller_Impl,
4541 const OFFSET: isize,
4542 >(
4543 this: *mut core::ffi::c_void,
4544 eventhandler: *mut core::ffi::c_void,
4545 token: *mut i64,
4546 ) -> windows_core::HRESULT {
4547 unsafe {
4548 let this: &Identity =
4549 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4550 match ICoreWebView2Controller_Impl::LostFocus(
4551 this,
4552 core::mem::transmute_copy(&eventhandler),
4553 ) {
4554 Ok(ok__) => {
4555 token.write(core::mem::transmute(ok__));
4556 windows_core::HRESULT(0)
4557 }
4558 Err(err) => err.into(),
4559 }
4560 }
4561 }
4562 unsafe extern "system" fn RemoveLostFocus<
4563 Identity: ICoreWebView2Controller_Impl,
4564 const OFFSET: isize,
4565 >(
4566 this: *mut core::ffi::c_void,
4567 token: i64,
4568 ) -> windows_core::HRESULT {
4569 unsafe {
4570 let this: &Identity =
4571 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4572 ICoreWebView2Controller_Impl::RemoveLostFocus(
4573 this,
4574 core::mem::transmute_copy(&token),
4575 )
4576 .into()
4577 }
4578 }
4579 unsafe extern "system" fn AcceleratorKeyPressed<
4580 Identity: ICoreWebView2Controller_Impl,
4581 const OFFSET: isize,
4582 >(
4583 this: *mut core::ffi::c_void,
4584 eventhandler: *mut core::ffi::c_void,
4585 token: *mut i64,
4586 ) -> windows_core::HRESULT {
4587 unsafe {
4588 let this: &Identity =
4589 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4590 match ICoreWebView2Controller_Impl::AcceleratorKeyPressed(
4591 this,
4592 core::mem::transmute_copy(&eventhandler),
4593 ) {
4594 Ok(ok__) => {
4595 token.write(core::mem::transmute(ok__));
4596 windows_core::HRESULT(0)
4597 }
4598 Err(err) => err.into(),
4599 }
4600 }
4601 }
4602 unsafe extern "system" fn RemoveAcceleratorKeyPressed<
4603 Identity: ICoreWebView2Controller_Impl,
4604 const OFFSET: isize,
4605 >(
4606 this: *mut core::ffi::c_void,
4607 token: i64,
4608 ) -> windows_core::HRESULT {
4609 unsafe {
4610 let this: &Identity =
4611 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4612 ICoreWebView2Controller_Impl::RemoveAcceleratorKeyPressed(
4613 this,
4614 core::mem::transmute_copy(&token),
4615 )
4616 .into()
4617 }
4618 }
4619 unsafe extern "system" fn ParentWindow<
4620 Identity: ICoreWebView2Controller_Impl,
4621 const OFFSET: isize,
4622 >(
4623 this: *mut core::ffi::c_void,
4624 parentwindow: *mut windows::Win32::Foundation::HWND,
4625 ) -> windows_core::HRESULT {
4626 unsafe {
4627 let this: &Identity =
4628 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4629 match ICoreWebView2Controller_Impl::ParentWindow(this) {
4630 Ok(ok__) => {
4631 parentwindow.write(core::mem::transmute(ok__));
4632 windows_core::HRESULT(0)
4633 }
4634 Err(err) => err.into(),
4635 }
4636 }
4637 }
4638 unsafe extern "system" fn SetParentWindow<
4639 Identity: ICoreWebView2Controller_Impl,
4640 const OFFSET: isize,
4641 >(
4642 this: *mut core::ffi::c_void,
4643 parentwindow: windows::Win32::Foundation::HWND,
4644 ) -> windows_core::HRESULT {
4645 unsafe {
4646 let this: &Identity =
4647 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4648 ICoreWebView2Controller_Impl::SetParentWindow(
4649 this,
4650 core::mem::transmute_copy(&parentwindow),
4651 )
4652 .into()
4653 }
4654 }
4655 unsafe extern "system" fn NotifyParentWindowPositionChanged<
4656 Identity: ICoreWebView2Controller_Impl,
4657 const OFFSET: isize,
4658 >(
4659 this: *mut core::ffi::c_void,
4660 ) -> windows_core::HRESULT {
4661 unsafe {
4662 let this: &Identity =
4663 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4664 ICoreWebView2Controller_Impl::NotifyParentWindowPositionChanged(this).into()
4665 }
4666 }
4667 unsafe extern "system" fn Close<
4668 Identity: ICoreWebView2Controller_Impl,
4669 const OFFSET: isize,
4670 >(
4671 this: *mut core::ffi::c_void,
4672 ) -> windows_core::HRESULT {
4673 unsafe {
4674 let this: &Identity =
4675 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4676 ICoreWebView2Controller_Impl::Close(this).into()
4677 }
4678 }
4679 unsafe extern "system" fn CoreWebView2<
4680 Identity: ICoreWebView2Controller_Impl,
4681 const OFFSET: isize,
4682 >(
4683 this: *mut core::ffi::c_void,
4684 corewebview2: *mut *mut core::ffi::c_void,
4685 ) -> windows_core::HRESULT {
4686 unsafe {
4687 let this: &Identity =
4688 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4689 match ICoreWebView2Controller_Impl::CoreWebView2(this) {
4690 Ok(ok__) => {
4691 corewebview2.write(core::mem::transmute(ok__));
4692 windows_core::HRESULT(0)
4693 }
4694 Err(err) => err.into(),
4695 }
4696 }
4697 }
4698 Self {
4699 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4700 IsVisible: IsVisible::<Identity, OFFSET>,
4701 SetIsVisible: SetIsVisible::<Identity, OFFSET>,
4702 Bounds: Bounds::<Identity, OFFSET>,
4703 SetBounds: SetBounds::<Identity, OFFSET>,
4704 ZoomFactor: ZoomFactor::<Identity, OFFSET>,
4705 SetZoomFactor: SetZoomFactor::<Identity, OFFSET>,
4706 ZoomFactorChanged: ZoomFactorChanged::<Identity, OFFSET>,
4707 RemoveZoomFactorChanged: RemoveZoomFactorChanged::<Identity, OFFSET>,
4708 SetBoundsAndZoomFactor: SetBoundsAndZoomFactor::<Identity, OFFSET>,
4709 MoveFocus: MoveFocus::<Identity, OFFSET>,
4710 MoveFocusRequested: MoveFocusRequested::<Identity, OFFSET>,
4711 RemoveMoveFocusRequested: RemoveMoveFocusRequested::<Identity, OFFSET>,
4712 GotFocus: GotFocus::<Identity, OFFSET>,
4713 RemoveGotFocus: RemoveGotFocus::<Identity, OFFSET>,
4714 LostFocus: LostFocus::<Identity, OFFSET>,
4715 RemoveLostFocus: RemoveLostFocus::<Identity, OFFSET>,
4716 AcceleratorKeyPressed: AcceleratorKeyPressed::<Identity, OFFSET>,
4717 RemoveAcceleratorKeyPressed: RemoveAcceleratorKeyPressed::<Identity, OFFSET>,
4718 ParentWindow: ParentWindow::<Identity, OFFSET>,
4719 SetParentWindow: SetParentWindow::<Identity, OFFSET>,
4720 NotifyParentWindowPositionChanged: NotifyParentWindowPositionChanged::<Identity, OFFSET>,
4721 Close: Close::<Identity, OFFSET>,
4722 CoreWebView2: CoreWebView2::<Identity, OFFSET>,
4723 }
4724 }
4725 pub fn matches(iid: &windows_core::GUID) -> bool {
4726 iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
4727 }
4728}
4729impl windows_core::RuntimeName for ICoreWebView2Controller {}
4730windows_core::imp::define_interface!(
4731 ICoreWebView2Controller2,
4732 ICoreWebView2Controller2_Vtbl,
4733 0xc979903e_d4ca_4228_92eb_47ee3fa96eab
4734);
4735impl core::ops::Deref for ICoreWebView2Controller2 {
4736 type Target = ICoreWebView2Controller;
4737 fn deref(&self) -> &Self::Target {
4738 unsafe { core::mem::transmute(self) }
4739 }
4740}
4741windows_core::imp::interface_hierarchy!(
4742 ICoreWebView2Controller2,
4743 windows_core::IUnknown,
4744 ICoreWebView2Controller
4745);
4746impl ICoreWebView2Controller2 {
4747 pub unsafe fn DefaultBackgroundColor(&self) -> windows_core::Result<COREWEBVIEW2_COLOR> {
4748 unsafe {
4749 let mut result__ = core::mem::zeroed();
4750 (windows_core::Interface::vtable(self).DefaultBackgroundColor)(
4751 windows_core::Interface::as_raw(self),
4752 &mut result__,
4753 )
4754 .map(|| result__)
4755 }
4756 }
4757 pub unsafe fn SetDefaultBackgroundColor(
4758 &self,
4759 backgroundcolor: COREWEBVIEW2_COLOR,
4760 ) -> windows_core::Result<()> {
4761 unsafe {
4762 (windows_core::Interface::vtable(self).SetDefaultBackgroundColor)(
4763 windows_core::Interface::as_raw(self),
4764 core::mem::transmute(backgroundcolor),
4765 )
4766 .ok()
4767 }
4768 }
4769}
4770#[repr(C)]
4771#[doc(hidden)]
4772pub struct ICoreWebView2Controller2_Vtbl {
4773 pub base__: ICoreWebView2Controller_Vtbl,
4774 pub DefaultBackgroundColor: unsafe extern "system" fn(
4775 *mut core::ffi::c_void,
4776 *mut COREWEBVIEW2_COLOR,
4777 ) -> windows_core::HRESULT,
4778 pub SetDefaultBackgroundColor: unsafe extern "system" fn(
4779 *mut core::ffi::c_void,
4780 COREWEBVIEW2_COLOR,
4781 ) -> windows_core::HRESULT,
4782}
4783pub trait ICoreWebView2Controller2_Impl: ICoreWebView2Controller_Impl {
4784 fn DefaultBackgroundColor(&self) -> windows_core::Result<COREWEBVIEW2_COLOR>;
4785 fn SetDefaultBackgroundColor(
4786 &self,
4787 backgroundcolor: &COREWEBVIEW2_COLOR,
4788 ) -> windows_core::Result<()>;
4789}
4790impl ICoreWebView2Controller2_Vtbl {
4791 pub const fn new<Identity: ICoreWebView2Controller2_Impl, const OFFSET: isize>() -> Self {
4792 unsafe extern "system" fn DefaultBackgroundColor<
4793 Identity: ICoreWebView2Controller2_Impl,
4794 const OFFSET: isize,
4795 >(
4796 this: *mut core::ffi::c_void,
4797 backgroundcolor: *mut COREWEBVIEW2_COLOR,
4798 ) -> windows_core::HRESULT {
4799 unsafe {
4800 let this: &Identity =
4801 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4802 match ICoreWebView2Controller2_Impl::DefaultBackgroundColor(this) {
4803 Ok(ok__) => {
4804 backgroundcolor.write(core::mem::transmute(ok__));
4805 windows_core::HRESULT(0)
4806 }
4807 Err(err) => err.into(),
4808 }
4809 }
4810 }
4811 unsafe extern "system" fn SetDefaultBackgroundColor<
4812 Identity: ICoreWebView2Controller2_Impl,
4813 const OFFSET: isize,
4814 >(
4815 this: *mut core::ffi::c_void,
4816 backgroundcolor: COREWEBVIEW2_COLOR,
4817 ) -> windows_core::HRESULT {
4818 unsafe {
4819 let this: &Identity =
4820 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
4821 ICoreWebView2Controller2_Impl::SetDefaultBackgroundColor(
4822 this,
4823 core::mem::transmute(&backgroundcolor),
4824 )
4825 .into()
4826 }
4827 }
4828 Self {
4829 base__: ICoreWebView2Controller_Vtbl::new::<Identity, OFFSET>(),
4830 DefaultBackgroundColor: DefaultBackgroundColor::<Identity, OFFSET>,
4831 SetDefaultBackgroundColor: SetDefaultBackgroundColor::<Identity, OFFSET>,
4832 }
4833 }
4834 pub fn matches(iid: &windows_core::GUID) -> bool {
4835 iid == &<ICoreWebView2Controller2 as windows_core::Interface>::IID
4836 || iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
4837 }
4838}
4839impl windows_core::RuntimeName for ICoreWebView2Controller2 {}
4840windows_core::imp::define_interface!(
4841 ICoreWebView2Controller3,
4842 ICoreWebView2Controller3_Vtbl,
4843 0xf9614724_5d2b_41dc_aef7_73d62b51543b
4844);
4845impl core::ops::Deref for ICoreWebView2Controller3 {
4846 type Target = ICoreWebView2Controller2;
4847 fn deref(&self) -> &Self::Target {
4848 unsafe { core::mem::transmute(self) }
4849 }
4850}
4851windows_core::imp::interface_hierarchy!(
4852 ICoreWebView2Controller3,
4853 windows_core::IUnknown,
4854 ICoreWebView2Controller,
4855 ICoreWebView2Controller2
4856);
4857impl ICoreWebView2Controller3 {
4858 pub unsafe fn RasterizationScale(&self) -> windows_core::Result<f64> {
4859 unsafe {
4860 let mut result__ = core::mem::zeroed();
4861 (windows_core::Interface::vtable(self).RasterizationScale)(
4862 windows_core::Interface::as_raw(self),
4863 &mut result__,
4864 )
4865 .map(|| result__)
4866 }
4867 }
4868 pub unsafe fn SetRasterizationScale(&self, scale: f64) -> windows_core::Result<()> {
4869 unsafe {
4870 (windows_core::Interface::vtable(self).SetRasterizationScale)(
4871 windows_core::Interface::as_raw(self),
4872 scale,
4873 )
4874 .ok()
4875 }
4876 }
4877 pub unsafe fn ShouldDetectMonitorScaleChanges(
4878 &self,
4879 ) -> windows_core::Result<windows_core::BOOL> {
4880 unsafe {
4881 let mut result__ = core::mem::zeroed();
4882 (windows_core::Interface::vtable(self).ShouldDetectMonitorScaleChanges)(
4883 windows_core::Interface::as_raw(self),
4884 &mut result__,
4885 )
4886 .map(|| result__)
4887 }
4888 }
4889 pub unsafe fn SetShouldDetectMonitorScaleChanges(
4890 &self,
4891 value: bool,
4892 ) -> windows_core::Result<()> {
4893 unsafe {
4894 (windows_core::Interface::vtable(self).SetShouldDetectMonitorScaleChanges)(
4895 windows_core::Interface::as_raw(self),
4896 value.into(),
4897 )
4898 .ok()
4899 }
4900 }
4901 pub unsafe fn RasterizationScaleChanged<P0>(
4902 &self,
4903 eventhandler: P0,
4904 ) -> windows_core::Result<i64>
4905 where
4906 P0: windows_core::Param<ICoreWebView2RasterizationScaleChangedEventHandler>,
4907 {
4908 unsafe {
4909 let mut result__ = core::mem::zeroed();
4910 (windows_core::Interface::vtable(self).RasterizationScaleChanged)(
4911 windows_core::Interface::as_raw(self),
4912 eventhandler.param().abi(),
4913 &mut result__,
4914 )
4915 .map(|| result__)
4916 }
4917 }
4918 pub unsafe fn RemoveRasterizationScaleChanged(&self, token: i64) -> windows_core::Result<()> {
4919 unsafe {
4920 (windows_core::Interface::vtable(self).RemoveRasterizationScaleChanged)(
4921 windows_core::Interface::as_raw(self),
4922 token,
4923 )
4924 .ok()
4925 }
4926 }
4927 pub unsafe fn BoundsMode(&self) -> windows_core::Result<COREWEBVIEW2_BOUNDS_MODE> {
4928 unsafe {
4929 let mut result__ = core::mem::zeroed();
4930 (windows_core::Interface::vtable(self).BoundsMode)(
4931 windows_core::Interface::as_raw(self),
4932 &mut result__,
4933 )
4934 .map(|| result__)
4935 }
4936 }
4937 pub unsafe fn SetBoundsMode(
4938 &self,
4939 boundsmode: COREWEBVIEW2_BOUNDS_MODE,
4940 ) -> windows_core::Result<()> {
4941 unsafe {
4942 (windows_core::Interface::vtable(self).SetBoundsMode)(
4943 windows_core::Interface::as_raw(self),
4944 boundsmode,
4945 )
4946 .ok()
4947 }
4948 }
4949}
4950#[repr(C)]
4951#[doc(hidden)]
4952pub struct ICoreWebView2Controller3_Vtbl {
4953 pub base__: ICoreWebView2Controller2_Vtbl,
4954 pub RasterizationScale:
4955 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
4956 pub SetRasterizationScale:
4957 unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
4958 pub ShouldDetectMonitorScaleChanges: unsafe extern "system" fn(
4959 *mut core::ffi::c_void,
4960 *mut windows_core::BOOL,
4961 ) -> windows_core::HRESULT,
4962 pub SetShouldDetectMonitorScaleChanges: unsafe extern "system" fn(
4963 *mut core::ffi::c_void,
4964 windows_core::BOOL,
4965 ) -> windows_core::HRESULT,
4966 pub RasterizationScaleChanged: unsafe extern "system" fn(
4967 *mut core::ffi::c_void,
4968 *mut core::ffi::c_void,
4969 *mut i64,
4970 ) -> windows_core::HRESULT,
4971 pub RemoveRasterizationScaleChanged:
4972 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
4973 pub BoundsMode: unsafe extern "system" fn(
4974 *mut core::ffi::c_void,
4975 *mut COREWEBVIEW2_BOUNDS_MODE,
4976 ) -> windows_core::HRESULT,
4977 pub SetBoundsMode: unsafe extern "system" fn(
4978 *mut core::ffi::c_void,
4979 COREWEBVIEW2_BOUNDS_MODE,
4980 ) -> windows_core::HRESULT,
4981}
4982pub trait ICoreWebView2Controller3_Impl: ICoreWebView2Controller2_Impl {
4983 fn RasterizationScale(&self) -> windows_core::Result<f64>;
4984 fn SetRasterizationScale(&self, scale: f64) -> windows_core::Result<()>;
4985 fn ShouldDetectMonitorScaleChanges(&self) -> windows_core::Result<windows_core::BOOL>;
4986 fn SetShouldDetectMonitorScaleChanges(
4987 &self,
4988 value: windows_core::BOOL,
4989 ) -> windows_core::Result<()>;
4990 fn RasterizationScaleChanged(
4991 &self,
4992 eventhandler: windows_core::Ref<ICoreWebView2RasterizationScaleChangedEventHandler>,
4993 ) -> windows_core::Result<i64>;
4994 fn RemoveRasterizationScaleChanged(&self, token: i64) -> windows_core::Result<()>;
4995 fn BoundsMode(&self) -> windows_core::Result<COREWEBVIEW2_BOUNDS_MODE>;
4996 fn SetBoundsMode(&self, boundsmode: COREWEBVIEW2_BOUNDS_MODE) -> windows_core::Result<()>;
4997}
4998impl ICoreWebView2Controller3_Vtbl {
4999 pub const fn new<Identity: ICoreWebView2Controller3_Impl, const OFFSET: isize>() -> Self {
5000 unsafe extern "system" fn RasterizationScale<
5001 Identity: ICoreWebView2Controller3_Impl,
5002 const OFFSET: isize,
5003 >(
5004 this: *mut core::ffi::c_void,
5005 scale: *mut f64,
5006 ) -> windows_core::HRESULT {
5007 unsafe {
5008 let this: &Identity =
5009 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5010 match ICoreWebView2Controller3_Impl::RasterizationScale(this) {
5011 Ok(ok__) => {
5012 scale.write(core::mem::transmute(ok__));
5013 windows_core::HRESULT(0)
5014 }
5015 Err(err) => err.into(),
5016 }
5017 }
5018 }
5019 unsafe extern "system" fn SetRasterizationScale<
5020 Identity: ICoreWebView2Controller3_Impl,
5021 const OFFSET: isize,
5022 >(
5023 this: *mut core::ffi::c_void,
5024 scale: f64,
5025 ) -> windows_core::HRESULT {
5026 unsafe {
5027 let this: &Identity =
5028 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5029 ICoreWebView2Controller3_Impl::SetRasterizationScale(
5030 this,
5031 core::mem::transmute_copy(&scale),
5032 )
5033 .into()
5034 }
5035 }
5036 unsafe extern "system" fn ShouldDetectMonitorScaleChanges<
5037 Identity: ICoreWebView2Controller3_Impl,
5038 const OFFSET: isize,
5039 >(
5040 this: *mut core::ffi::c_void,
5041 value: *mut windows_core::BOOL,
5042 ) -> windows_core::HRESULT {
5043 unsafe {
5044 let this: &Identity =
5045 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5046 match ICoreWebView2Controller3_Impl::ShouldDetectMonitorScaleChanges(this) {
5047 Ok(ok__) => {
5048 value.write(core::mem::transmute(ok__));
5049 windows_core::HRESULT(0)
5050 }
5051 Err(err) => err.into(),
5052 }
5053 }
5054 }
5055 unsafe extern "system" fn SetShouldDetectMonitorScaleChanges<
5056 Identity: ICoreWebView2Controller3_Impl,
5057 const OFFSET: isize,
5058 >(
5059 this: *mut core::ffi::c_void,
5060 value: windows_core::BOOL,
5061 ) -> windows_core::HRESULT {
5062 unsafe {
5063 let this: &Identity =
5064 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5065 ICoreWebView2Controller3_Impl::SetShouldDetectMonitorScaleChanges(
5066 this,
5067 core::mem::transmute_copy(&value),
5068 )
5069 .into()
5070 }
5071 }
5072 unsafe extern "system" fn RasterizationScaleChanged<
5073 Identity: ICoreWebView2Controller3_Impl,
5074 const OFFSET: isize,
5075 >(
5076 this: *mut core::ffi::c_void,
5077 eventhandler: *mut core::ffi::c_void,
5078 token: *mut i64,
5079 ) -> windows_core::HRESULT {
5080 unsafe {
5081 let this: &Identity =
5082 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5083 match ICoreWebView2Controller3_Impl::RasterizationScaleChanged(
5084 this,
5085 core::mem::transmute_copy(&eventhandler),
5086 ) {
5087 Ok(ok__) => {
5088 token.write(core::mem::transmute(ok__));
5089 windows_core::HRESULT(0)
5090 }
5091 Err(err) => err.into(),
5092 }
5093 }
5094 }
5095 unsafe extern "system" fn RemoveRasterizationScaleChanged<
5096 Identity: ICoreWebView2Controller3_Impl,
5097 const OFFSET: isize,
5098 >(
5099 this: *mut core::ffi::c_void,
5100 token: i64,
5101 ) -> windows_core::HRESULT {
5102 unsafe {
5103 let this: &Identity =
5104 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5105 ICoreWebView2Controller3_Impl::RemoveRasterizationScaleChanged(
5106 this,
5107 core::mem::transmute_copy(&token),
5108 )
5109 .into()
5110 }
5111 }
5112 unsafe extern "system" fn BoundsMode<
5113 Identity: ICoreWebView2Controller3_Impl,
5114 const OFFSET: isize,
5115 >(
5116 this: *mut core::ffi::c_void,
5117 boundsmode: *mut COREWEBVIEW2_BOUNDS_MODE,
5118 ) -> windows_core::HRESULT {
5119 unsafe {
5120 let this: &Identity =
5121 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5122 match ICoreWebView2Controller3_Impl::BoundsMode(this) {
5123 Ok(ok__) => {
5124 boundsmode.write(core::mem::transmute(ok__));
5125 windows_core::HRESULT(0)
5126 }
5127 Err(err) => err.into(),
5128 }
5129 }
5130 }
5131 unsafe extern "system" fn SetBoundsMode<
5132 Identity: ICoreWebView2Controller3_Impl,
5133 const OFFSET: isize,
5134 >(
5135 this: *mut core::ffi::c_void,
5136 boundsmode: COREWEBVIEW2_BOUNDS_MODE,
5137 ) -> windows_core::HRESULT {
5138 unsafe {
5139 let this: &Identity =
5140 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5141 ICoreWebView2Controller3_Impl::SetBoundsMode(
5142 this,
5143 core::mem::transmute_copy(&boundsmode),
5144 )
5145 .into()
5146 }
5147 }
5148 Self {
5149 base__: ICoreWebView2Controller2_Vtbl::new::<Identity, OFFSET>(),
5150 RasterizationScale: RasterizationScale::<Identity, OFFSET>,
5151 SetRasterizationScale: SetRasterizationScale::<Identity, OFFSET>,
5152 ShouldDetectMonitorScaleChanges: ShouldDetectMonitorScaleChanges::<Identity, OFFSET>,
5153 SetShouldDetectMonitorScaleChanges: SetShouldDetectMonitorScaleChanges::<
5154 Identity,
5155 OFFSET,
5156 >,
5157 RasterizationScaleChanged: RasterizationScaleChanged::<Identity, OFFSET>,
5158 RemoveRasterizationScaleChanged: RemoveRasterizationScaleChanged::<Identity, OFFSET>,
5159 BoundsMode: BoundsMode::<Identity, OFFSET>,
5160 SetBoundsMode: SetBoundsMode::<Identity, OFFSET>,
5161 }
5162 }
5163 pub fn matches(iid: &windows_core::GUID) -> bool {
5164 iid == &<ICoreWebView2Controller3 as windows_core::Interface>::IID
5165 || iid == &<ICoreWebView2Controller as windows_core::Interface>::IID
5166 || iid == &<ICoreWebView2Controller2 as windows_core::Interface>::IID
5167 }
5168}
5169impl windows_core::RuntimeName for ICoreWebView2Controller3 {}
5170windows_core::imp::define_interface!(
5171 ICoreWebView2Cookie,
5172 ICoreWebView2Cookie_Vtbl,
5173 0xad26d6be_1486_43e6_bf87_a2034006ca21
5174);
5175windows_core::imp::interface_hierarchy!(ICoreWebView2Cookie, windows_core::IUnknown);
5176impl ICoreWebView2Cookie {
5177 pub unsafe fn Name(&self) -> windows_core::Result<windows_core::PWSTR> {
5178 unsafe {
5179 let mut result__ = core::mem::zeroed();
5180 (windows_core::Interface::vtable(self).Name)(
5181 windows_core::Interface::as_raw(self),
5182 &mut result__,
5183 )
5184 .map(|| result__)
5185 }
5186 }
5187 pub unsafe fn Value(&self) -> windows_core::Result<windows_core::PWSTR> {
5188 unsafe {
5189 let mut result__ = core::mem::zeroed();
5190 (windows_core::Interface::vtable(self).Value)(
5191 windows_core::Interface::as_raw(self),
5192 &mut result__,
5193 )
5194 .map(|| result__)
5195 }
5196 }
5197 pub unsafe fn SetValue<P0>(&self, value: P0) -> windows_core::Result<()>
5198 where
5199 P0: windows_core::Param<windows_core::PCWSTR>,
5200 {
5201 unsafe {
5202 (windows_core::Interface::vtable(self).SetValue)(
5203 windows_core::Interface::as_raw(self),
5204 value.param().abi(),
5205 )
5206 .ok()
5207 }
5208 }
5209 pub unsafe fn Domain(&self) -> windows_core::Result<windows_core::PWSTR> {
5210 unsafe {
5211 let mut result__ = core::mem::zeroed();
5212 (windows_core::Interface::vtable(self).Domain)(
5213 windows_core::Interface::as_raw(self),
5214 &mut result__,
5215 )
5216 .map(|| result__)
5217 }
5218 }
5219 pub unsafe fn Path(&self) -> windows_core::Result<windows_core::PWSTR> {
5220 unsafe {
5221 let mut result__ = core::mem::zeroed();
5222 (windows_core::Interface::vtable(self).Path)(
5223 windows_core::Interface::as_raw(self),
5224 &mut result__,
5225 )
5226 .map(|| result__)
5227 }
5228 }
5229 pub unsafe fn Expires(&self) -> windows_core::Result<f64> {
5230 unsafe {
5231 let mut result__ = core::mem::zeroed();
5232 (windows_core::Interface::vtable(self).Expires)(
5233 windows_core::Interface::as_raw(self),
5234 &mut result__,
5235 )
5236 .map(|| result__)
5237 }
5238 }
5239 pub unsafe fn SetExpires(&self, expires: f64) -> windows_core::Result<()> {
5240 unsafe {
5241 (windows_core::Interface::vtable(self).SetExpires)(
5242 windows_core::Interface::as_raw(self),
5243 expires,
5244 )
5245 .ok()
5246 }
5247 }
5248 pub unsafe fn IsHttpOnly(&self) -> windows_core::Result<windows_core::BOOL> {
5249 unsafe {
5250 let mut result__ = core::mem::zeroed();
5251 (windows_core::Interface::vtable(self).IsHttpOnly)(
5252 windows_core::Interface::as_raw(self),
5253 &mut result__,
5254 )
5255 .map(|| result__)
5256 }
5257 }
5258 pub unsafe fn SetIsHttpOnly(&self, ishttponly: bool) -> windows_core::Result<()> {
5259 unsafe {
5260 (windows_core::Interface::vtable(self).SetIsHttpOnly)(
5261 windows_core::Interface::as_raw(self),
5262 ishttponly.into(),
5263 )
5264 .ok()
5265 }
5266 }
5267 pub unsafe fn SameSite(&self) -> windows_core::Result<COREWEBVIEW2_COOKIE_SAME_SITE_KIND> {
5268 unsafe {
5269 let mut result__ = core::mem::zeroed();
5270 (windows_core::Interface::vtable(self).SameSite)(
5271 windows_core::Interface::as_raw(self),
5272 &mut result__,
5273 )
5274 .map(|| result__)
5275 }
5276 }
5277 pub unsafe fn SetSameSite(
5278 &self,
5279 samesite: COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
5280 ) -> windows_core::Result<()> {
5281 unsafe {
5282 (windows_core::Interface::vtable(self).SetSameSite)(
5283 windows_core::Interface::as_raw(self),
5284 samesite,
5285 )
5286 .ok()
5287 }
5288 }
5289 pub unsafe fn IsSecure(&self) -> windows_core::Result<windows_core::BOOL> {
5290 unsafe {
5291 let mut result__ = core::mem::zeroed();
5292 (windows_core::Interface::vtable(self).IsSecure)(
5293 windows_core::Interface::as_raw(self),
5294 &mut result__,
5295 )
5296 .map(|| result__)
5297 }
5298 }
5299 pub unsafe fn SetIsSecure(&self, issecure: bool) -> windows_core::Result<()> {
5300 unsafe {
5301 (windows_core::Interface::vtable(self).SetIsSecure)(
5302 windows_core::Interface::as_raw(self),
5303 issecure.into(),
5304 )
5305 .ok()
5306 }
5307 }
5308 pub unsafe fn IsSession(&self) -> windows_core::Result<windows_core::BOOL> {
5309 unsafe {
5310 let mut result__ = core::mem::zeroed();
5311 (windows_core::Interface::vtable(self).IsSession)(
5312 windows_core::Interface::as_raw(self),
5313 &mut result__,
5314 )
5315 .map(|| result__)
5316 }
5317 }
5318}
5319#[repr(C)]
5320#[doc(hidden)]
5321pub struct ICoreWebView2Cookie_Vtbl {
5322 pub base__: windows_core::IUnknown_Vtbl,
5323 pub Name: unsafe extern "system" fn(
5324 *mut core::ffi::c_void,
5325 *mut windows_core::PWSTR,
5326 ) -> windows_core::HRESULT,
5327 pub Value: unsafe extern "system" fn(
5328 *mut core::ffi::c_void,
5329 *mut windows_core::PWSTR,
5330 ) -> windows_core::HRESULT,
5331 pub SetValue: unsafe extern "system" fn(
5332 *mut core::ffi::c_void,
5333 windows_core::PCWSTR,
5334 ) -> windows_core::HRESULT,
5335 pub Domain: unsafe extern "system" fn(
5336 *mut core::ffi::c_void,
5337 *mut windows_core::PWSTR,
5338 ) -> windows_core::HRESULT,
5339 pub Path: unsafe extern "system" fn(
5340 *mut core::ffi::c_void,
5341 *mut windows_core::PWSTR,
5342 ) -> windows_core::HRESULT,
5343 pub Expires:
5344 unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
5345 pub SetExpires: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
5346 pub IsHttpOnly: unsafe extern "system" fn(
5347 *mut core::ffi::c_void,
5348 *mut windows_core::BOOL,
5349 ) -> windows_core::HRESULT,
5350 pub SetIsHttpOnly: unsafe extern "system" fn(
5351 *mut core::ffi::c_void,
5352 windows_core::BOOL,
5353 ) -> windows_core::HRESULT,
5354 pub SameSite: unsafe extern "system" fn(
5355 *mut core::ffi::c_void,
5356 *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
5357 ) -> windows_core::HRESULT,
5358 pub SetSameSite: unsafe extern "system" fn(
5359 *mut core::ffi::c_void,
5360 COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
5361 ) -> windows_core::HRESULT,
5362 pub IsSecure: unsafe extern "system" fn(
5363 *mut core::ffi::c_void,
5364 *mut windows_core::BOOL,
5365 ) -> windows_core::HRESULT,
5366 pub SetIsSecure: unsafe extern "system" fn(
5367 *mut core::ffi::c_void,
5368 windows_core::BOOL,
5369 ) -> windows_core::HRESULT,
5370 pub IsSession: unsafe extern "system" fn(
5371 *mut core::ffi::c_void,
5372 *mut windows_core::BOOL,
5373 ) -> windows_core::HRESULT,
5374}
5375pub trait ICoreWebView2Cookie_Impl: windows_core::IUnknownImpl {
5376 fn Name(&self) -> windows_core::Result<windows_core::PWSTR>;
5377 fn Value(&self) -> windows_core::Result<windows_core::PWSTR>;
5378 fn SetValue(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
5379 fn Domain(&self) -> windows_core::Result<windows_core::PWSTR>;
5380 fn Path(&self) -> windows_core::Result<windows_core::PWSTR>;
5381 fn Expires(&self) -> windows_core::Result<f64>;
5382 fn SetExpires(&self, expires: f64) -> windows_core::Result<()>;
5383 fn IsHttpOnly(&self) -> windows_core::Result<windows_core::BOOL>;
5384 fn SetIsHttpOnly(&self, ishttponly: windows_core::BOOL) -> windows_core::Result<()>;
5385 fn SameSite(&self) -> windows_core::Result<COREWEBVIEW2_COOKIE_SAME_SITE_KIND>;
5386 fn SetSameSite(&self, samesite: COREWEBVIEW2_COOKIE_SAME_SITE_KIND)
5387 -> windows_core::Result<()>;
5388 fn IsSecure(&self) -> windows_core::Result<windows_core::BOOL>;
5389 fn SetIsSecure(&self, issecure: windows_core::BOOL) -> windows_core::Result<()>;
5390 fn IsSession(&self) -> windows_core::Result<windows_core::BOOL>;
5391}
5392impl ICoreWebView2Cookie_Vtbl {
5393 pub const fn new<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>() -> Self {
5394 unsafe extern "system" fn Name<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>(
5395 this: *mut core::ffi::c_void,
5396 name: *mut windows_core::PWSTR,
5397 ) -> windows_core::HRESULT {
5398 unsafe {
5399 let this: &Identity =
5400 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5401 match ICoreWebView2Cookie_Impl::Name(this) {
5402 Ok(ok__) => {
5403 name.write(core::mem::transmute(ok__));
5404 windows_core::HRESULT(0)
5405 }
5406 Err(err) => err.into(),
5407 }
5408 }
5409 }
5410 unsafe extern "system" fn Value<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>(
5411 this: *mut core::ffi::c_void,
5412 value: *mut windows_core::PWSTR,
5413 ) -> windows_core::HRESULT {
5414 unsafe {
5415 let this: &Identity =
5416 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5417 match ICoreWebView2Cookie_Impl::Value(this) {
5418 Ok(ok__) => {
5419 value.write(core::mem::transmute(ok__));
5420 windows_core::HRESULT(0)
5421 }
5422 Err(err) => err.into(),
5423 }
5424 }
5425 }
5426 unsafe extern "system" fn SetValue<
5427 Identity: ICoreWebView2Cookie_Impl,
5428 const OFFSET: isize,
5429 >(
5430 this: *mut core::ffi::c_void,
5431 value: windows_core::PCWSTR,
5432 ) -> windows_core::HRESULT {
5433 unsafe {
5434 let this: &Identity =
5435 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5436 ICoreWebView2Cookie_Impl::SetValue(this, core::mem::transmute(&value)).into()
5437 }
5438 }
5439 unsafe extern "system" fn Domain<
5440 Identity: ICoreWebView2Cookie_Impl,
5441 const OFFSET: isize,
5442 >(
5443 this: *mut core::ffi::c_void,
5444 domain: *mut windows_core::PWSTR,
5445 ) -> windows_core::HRESULT {
5446 unsafe {
5447 let this: &Identity =
5448 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5449 match ICoreWebView2Cookie_Impl::Domain(this) {
5450 Ok(ok__) => {
5451 domain.write(core::mem::transmute(ok__));
5452 windows_core::HRESULT(0)
5453 }
5454 Err(err) => err.into(),
5455 }
5456 }
5457 }
5458 unsafe extern "system" fn Path<Identity: ICoreWebView2Cookie_Impl, const OFFSET: isize>(
5459 this: *mut core::ffi::c_void,
5460 path: *mut windows_core::PWSTR,
5461 ) -> windows_core::HRESULT {
5462 unsafe {
5463 let this: &Identity =
5464 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5465 match ICoreWebView2Cookie_Impl::Path(this) {
5466 Ok(ok__) => {
5467 path.write(core::mem::transmute(ok__));
5468 windows_core::HRESULT(0)
5469 }
5470 Err(err) => err.into(),
5471 }
5472 }
5473 }
5474 unsafe extern "system" fn Expires<
5475 Identity: ICoreWebView2Cookie_Impl,
5476 const OFFSET: isize,
5477 >(
5478 this: *mut core::ffi::c_void,
5479 expires: *mut f64,
5480 ) -> windows_core::HRESULT {
5481 unsafe {
5482 let this: &Identity =
5483 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5484 match ICoreWebView2Cookie_Impl::Expires(this) {
5485 Ok(ok__) => {
5486 expires.write(core::mem::transmute(ok__));
5487 windows_core::HRESULT(0)
5488 }
5489 Err(err) => err.into(),
5490 }
5491 }
5492 }
5493 unsafe extern "system" fn SetExpires<
5494 Identity: ICoreWebView2Cookie_Impl,
5495 const OFFSET: isize,
5496 >(
5497 this: *mut core::ffi::c_void,
5498 expires: f64,
5499 ) -> windows_core::HRESULT {
5500 unsafe {
5501 let this: &Identity =
5502 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5503 ICoreWebView2Cookie_Impl::SetExpires(this, core::mem::transmute_copy(&expires))
5504 .into()
5505 }
5506 }
5507 unsafe extern "system" fn IsHttpOnly<
5508 Identity: ICoreWebView2Cookie_Impl,
5509 const OFFSET: isize,
5510 >(
5511 this: *mut core::ffi::c_void,
5512 ishttponly: *mut windows_core::BOOL,
5513 ) -> windows_core::HRESULT {
5514 unsafe {
5515 let this: &Identity =
5516 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5517 match ICoreWebView2Cookie_Impl::IsHttpOnly(this) {
5518 Ok(ok__) => {
5519 ishttponly.write(core::mem::transmute(ok__));
5520 windows_core::HRESULT(0)
5521 }
5522 Err(err) => err.into(),
5523 }
5524 }
5525 }
5526 unsafe extern "system" fn SetIsHttpOnly<
5527 Identity: ICoreWebView2Cookie_Impl,
5528 const OFFSET: isize,
5529 >(
5530 this: *mut core::ffi::c_void,
5531 ishttponly: windows_core::BOOL,
5532 ) -> windows_core::HRESULT {
5533 unsafe {
5534 let this: &Identity =
5535 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5536 ICoreWebView2Cookie_Impl::SetIsHttpOnly(
5537 this,
5538 core::mem::transmute_copy(&ishttponly),
5539 )
5540 .into()
5541 }
5542 }
5543 unsafe extern "system" fn SameSite<
5544 Identity: ICoreWebView2Cookie_Impl,
5545 const OFFSET: isize,
5546 >(
5547 this: *mut core::ffi::c_void,
5548 samesite: *mut COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
5549 ) -> windows_core::HRESULT {
5550 unsafe {
5551 let this: &Identity =
5552 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5553 match ICoreWebView2Cookie_Impl::SameSite(this) {
5554 Ok(ok__) => {
5555 samesite.write(core::mem::transmute(ok__));
5556 windows_core::HRESULT(0)
5557 }
5558 Err(err) => err.into(),
5559 }
5560 }
5561 }
5562 unsafe extern "system" fn SetSameSite<
5563 Identity: ICoreWebView2Cookie_Impl,
5564 const OFFSET: isize,
5565 >(
5566 this: *mut core::ffi::c_void,
5567 samesite: COREWEBVIEW2_COOKIE_SAME_SITE_KIND,
5568 ) -> windows_core::HRESULT {
5569 unsafe {
5570 let this: &Identity =
5571 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5572 ICoreWebView2Cookie_Impl::SetSameSite(this, core::mem::transmute_copy(&samesite))
5573 .into()
5574 }
5575 }
5576 unsafe extern "system" fn IsSecure<
5577 Identity: ICoreWebView2Cookie_Impl,
5578 const OFFSET: isize,
5579 >(
5580 this: *mut core::ffi::c_void,
5581 issecure: *mut windows_core::BOOL,
5582 ) -> windows_core::HRESULT {
5583 unsafe {
5584 let this: &Identity =
5585 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5586 match ICoreWebView2Cookie_Impl::IsSecure(this) {
5587 Ok(ok__) => {
5588 issecure.write(core::mem::transmute(ok__));
5589 windows_core::HRESULT(0)
5590 }
5591 Err(err) => err.into(),
5592 }
5593 }
5594 }
5595 unsafe extern "system" fn SetIsSecure<
5596 Identity: ICoreWebView2Cookie_Impl,
5597 const OFFSET: isize,
5598 >(
5599 this: *mut core::ffi::c_void,
5600 issecure: windows_core::BOOL,
5601 ) -> windows_core::HRESULT {
5602 unsafe {
5603 let this: &Identity =
5604 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5605 ICoreWebView2Cookie_Impl::SetIsSecure(this, core::mem::transmute_copy(&issecure))
5606 .into()
5607 }
5608 }
5609 unsafe extern "system" fn IsSession<
5610 Identity: ICoreWebView2Cookie_Impl,
5611 const OFFSET: isize,
5612 >(
5613 this: *mut core::ffi::c_void,
5614 issession: *mut windows_core::BOOL,
5615 ) -> windows_core::HRESULT {
5616 unsafe {
5617 let this: &Identity =
5618 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5619 match ICoreWebView2Cookie_Impl::IsSession(this) {
5620 Ok(ok__) => {
5621 issession.write(core::mem::transmute(ok__));
5622 windows_core::HRESULT(0)
5623 }
5624 Err(err) => err.into(),
5625 }
5626 }
5627 }
5628 Self {
5629 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5630 Name: Name::<Identity, OFFSET>,
5631 Value: Value::<Identity, OFFSET>,
5632 SetValue: SetValue::<Identity, OFFSET>,
5633 Domain: Domain::<Identity, OFFSET>,
5634 Path: Path::<Identity, OFFSET>,
5635 Expires: Expires::<Identity, OFFSET>,
5636 SetExpires: SetExpires::<Identity, OFFSET>,
5637 IsHttpOnly: IsHttpOnly::<Identity, OFFSET>,
5638 SetIsHttpOnly: SetIsHttpOnly::<Identity, OFFSET>,
5639 SameSite: SameSite::<Identity, OFFSET>,
5640 SetSameSite: SetSameSite::<Identity, OFFSET>,
5641 IsSecure: IsSecure::<Identity, OFFSET>,
5642 SetIsSecure: SetIsSecure::<Identity, OFFSET>,
5643 IsSession: IsSession::<Identity, OFFSET>,
5644 }
5645 }
5646 pub fn matches(iid: &windows_core::GUID) -> bool {
5647 iid == &<ICoreWebView2Cookie as windows_core::Interface>::IID
5648 }
5649}
5650impl windows_core::RuntimeName for ICoreWebView2Cookie {}
5651windows_core::imp::define_interface!(
5652 ICoreWebView2CookieList,
5653 ICoreWebView2CookieList_Vtbl,
5654 0xf7f6f714_5d2a_43c6_9503_346ece02d186
5655);
5656windows_core::imp::interface_hierarchy!(ICoreWebView2CookieList, windows_core::IUnknown);
5657impl ICoreWebView2CookieList {
5658 pub unsafe fn Count(&self) -> windows_core::Result<u32> {
5659 unsafe {
5660 let mut result__ = core::mem::zeroed();
5661 (windows_core::Interface::vtable(self).Count)(
5662 windows_core::Interface::as_raw(self),
5663 &mut result__,
5664 )
5665 .map(|| result__)
5666 }
5667 }
5668 pub unsafe fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2Cookie> {
5669 unsafe {
5670 let mut result__ = core::mem::zeroed();
5671 (windows_core::Interface::vtable(self).GetValueAtIndex)(
5672 windows_core::Interface::as_raw(self),
5673 index,
5674 &mut result__,
5675 )
5676 .and_then(|| windows_core::Type::from_abi(result__))
5677 }
5678 }
5679}
5680#[repr(C)]
5681#[doc(hidden)]
5682pub struct ICoreWebView2CookieList_Vtbl {
5683 pub base__: windows_core::IUnknown_Vtbl,
5684 pub Count: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
5685 pub GetValueAtIndex: unsafe extern "system" fn(
5686 *mut core::ffi::c_void,
5687 u32,
5688 *mut *mut core::ffi::c_void,
5689 ) -> windows_core::HRESULT,
5690}
5691pub trait ICoreWebView2CookieList_Impl: windows_core::IUnknownImpl {
5692 fn Count(&self) -> windows_core::Result<u32>;
5693 fn GetValueAtIndex(&self, index: u32) -> windows_core::Result<ICoreWebView2Cookie>;
5694}
5695impl ICoreWebView2CookieList_Vtbl {
5696 pub const fn new<Identity: ICoreWebView2CookieList_Impl, const OFFSET: isize>() -> Self {
5697 unsafe extern "system" fn Count<
5698 Identity: ICoreWebView2CookieList_Impl,
5699 const OFFSET: isize,
5700 >(
5701 this: *mut core::ffi::c_void,
5702 count: *mut u32,
5703 ) -> windows_core::HRESULT {
5704 unsafe {
5705 let this: &Identity =
5706 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5707 match ICoreWebView2CookieList_Impl::Count(this) {
5708 Ok(ok__) => {
5709 count.write(core::mem::transmute(ok__));
5710 windows_core::HRESULT(0)
5711 }
5712 Err(err) => err.into(),
5713 }
5714 }
5715 }
5716 unsafe extern "system" fn GetValueAtIndex<
5717 Identity: ICoreWebView2CookieList_Impl,
5718 const OFFSET: isize,
5719 >(
5720 this: *mut core::ffi::c_void,
5721 index: u32,
5722 cookie: *mut *mut core::ffi::c_void,
5723 ) -> windows_core::HRESULT {
5724 unsafe {
5725 let this: &Identity =
5726 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5727 match ICoreWebView2CookieList_Impl::GetValueAtIndex(
5728 this,
5729 core::mem::transmute_copy(&index),
5730 ) {
5731 Ok(ok__) => {
5732 cookie.write(core::mem::transmute(ok__));
5733 windows_core::HRESULT(0)
5734 }
5735 Err(err) => err.into(),
5736 }
5737 }
5738 }
5739 Self {
5740 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5741 Count: Count::<Identity, OFFSET>,
5742 GetValueAtIndex: GetValueAtIndex::<Identity, OFFSET>,
5743 }
5744 }
5745 pub fn matches(iid: &windows_core::GUID) -> bool {
5746 iid == &<ICoreWebView2CookieList as windows_core::Interface>::IID
5747 }
5748}
5749impl windows_core::RuntimeName for ICoreWebView2CookieList {}
5750windows_core::imp::define_interface!(
5751 ICoreWebView2CookieManager,
5752 ICoreWebView2CookieManager_Vtbl,
5753 0x177cd9e7_b6f5_451a_94a0_5d7a3a4c4141
5754);
5755windows_core::imp::interface_hierarchy!(ICoreWebView2CookieManager, windows_core::IUnknown);
5756impl ICoreWebView2CookieManager {
5757 pub unsafe fn CreateCookie<P0, P1, P2, P3>(
5758 &self,
5759 name: P0,
5760 value: P1,
5761 domain: P2,
5762 path: P3,
5763 ) -> windows_core::Result<ICoreWebView2Cookie>
5764 where
5765 P0: windows_core::Param<windows_core::PCWSTR>,
5766 P1: windows_core::Param<windows_core::PCWSTR>,
5767 P2: windows_core::Param<windows_core::PCWSTR>,
5768 P3: windows_core::Param<windows_core::PCWSTR>,
5769 {
5770 unsafe {
5771 let mut result__ = core::mem::zeroed();
5772 (windows_core::Interface::vtable(self).CreateCookie)(
5773 windows_core::Interface::as_raw(self),
5774 name.param().abi(),
5775 value.param().abi(),
5776 domain.param().abi(),
5777 path.param().abi(),
5778 &mut result__,
5779 )
5780 .and_then(|| windows_core::Type::from_abi(result__))
5781 }
5782 }
5783 pub unsafe fn CopyCookie<P0>(
5784 &self,
5785 cookieparam: P0,
5786 ) -> windows_core::Result<ICoreWebView2Cookie>
5787 where
5788 P0: windows_core::Param<ICoreWebView2Cookie>,
5789 {
5790 unsafe {
5791 let mut result__ = core::mem::zeroed();
5792 (windows_core::Interface::vtable(self).CopyCookie)(
5793 windows_core::Interface::as_raw(self),
5794 cookieparam.param().abi(),
5795 &mut result__,
5796 )
5797 .and_then(|| windows_core::Type::from_abi(result__))
5798 }
5799 }
5800 pub unsafe fn GetCookies<P0, P1>(&self, uri: P0, handler: P1) -> windows_core::Result<()>
5801 where
5802 P0: windows_core::Param<windows_core::PCWSTR>,
5803 P1: windows_core::Param<ICoreWebView2GetCookiesCompletedHandler>,
5804 {
5805 unsafe {
5806 (windows_core::Interface::vtable(self).GetCookies)(
5807 windows_core::Interface::as_raw(self),
5808 uri.param().abi(),
5809 handler.param().abi(),
5810 )
5811 .ok()
5812 }
5813 }
5814 pub unsafe fn AddOrUpdateCookie<P0>(&self, cookie: P0) -> windows_core::Result<()>
5815 where
5816 P0: windows_core::Param<ICoreWebView2Cookie>,
5817 {
5818 unsafe {
5819 (windows_core::Interface::vtable(self).AddOrUpdateCookie)(
5820 windows_core::Interface::as_raw(self),
5821 cookie.param().abi(),
5822 )
5823 .ok()
5824 }
5825 }
5826 pub unsafe fn DeleteCookie<P0>(&self, cookie: P0) -> windows_core::Result<()>
5827 where
5828 P0: windows_core::Param<ICoreWebView2Cookie>,
5829 {
5830 unsafe {
5831 (windows_core::Interface::vtable(self).DeleteCookie)(
5832 windows_core::Interface::as_raw(self),
5833 cookie.param().abi(),
5834 )
5835 .ok()
5836 }
5837 }
5838 pub unsafe fn DeleteCookies<P0, P1>(&self, name: P0, uri: P1) -> windows_core::Result<()>
5839 where
5840 P0: windows_core::Param<windows_core::PCWSTR>,
5841 P1: windows_core::Param<windows_core::PCWSTR>,
5842 {
5843 unsafe {
5844 (windows_core::Interface::vtable(self).DeleteCookies)(
5845 windows_core::Interface::as_raw(self),
5846 name.param().abi(),
5847 uri.param().abi(),
5848 )
5849 .ok()
5850 }
5851 }
5852 pub unsafe fn DeleteCookiesWithDomainAndPath<P0, P1, P2>(
5853 &self,
5854 name: P0,
5855 domain: P1,
5856 path: P2,
5857 ) -> windows_core::Result<()>
5858 where
5859 P0: windows_core::Param<windows_core::PCWSTR>,
5860 P1: windows_core::Param<windows_core::PCWSTR>,
5861 P2: windows_core::Param<windows_core::PCWSTR>,
5862 {
5863 unsafe {
5864 (windows_core::Interface::vtable(self).DeleteCookiesWithDomainAndPath)(
5865 windows_core::Interface::as_raw(self),
5866 name.param().abi(),
5867 domain.param().abi(),
5868 path.param().abi(),
5869 )
5870 .ok()
5871 }
5872 }
5873 pub unsafe fn DeleteAllCookies(&self) -> windows_core::Result<()> {
5874 unsafe {
5875 (windows_core::Interface::vtable(self).DeleteAllCookies)(
5876 windows_core::Interface::as_raw(self),
5877 )
5878 .ok()
5879 }
5880 }
5881}
5882#[repr(C)]
5883#[doc(hidden)]
5884pub struct ICoreWebView2CookieManager_Vtbl {
5885 pub base__: windows_core::IUnknown_Vtbl,
5886 pub CreateCookie: unsafe extern "system" fn(
5887 *mut core::ffi::c_void,
5888 windows_core::PCWSTR,
5889 windows_core::PCWSTR,
5890 windows_core::PCWSTR,
5891 windows_core::PCWSTR,
5892 *mut *mut core::ffi::c_void,
5893 ) -> windows_core::HRESULT,
5894 pub CopyCookie: unsafe extern "system" fn(
5895 *mut core::ffi::c_void,
5896 *mut core::ffi::c_void,
5897 *mut *mut core::ffi::c_void,
5898 ) -> windows_core::HRESULT,
5899 pub GetCookies: unsafe extern "system" fn(
5900 *mut core::ffi::c_void,
5901 windows_core::PCWSTR,
5902 *mut core::ffi::c_void,
5903 ) -> windows_core::HRESULT,
5904 pub AddOrUpdateCookie: unsafe extern "system" fn(
5905 *mut core::ffi::c_void,
5906 *mut core::ffi::c_void,
5907 ) -> windows_core::HRESULT,
5908 pub DeleteCookie: unsafe extern "system" fn(
5909 *mut core::ffi::c_void,
5910 *mut core::ffi::c_void,
5911 ) -> windows_core::HRESULT,
5912 pub DeleteCookies: unsafe extern "system" fn(
5913 *mut core::ffi::c_void,
5914 windows_core::PCWSTR,
5915 windows_core::PCWSTR,
5916 ) -> windows_core::HRESULT,
5917 pub DeleteCookiesWithDomainAndPath: unsafe extern "system" fn(
5918 *mut core::ffi::c_void,
5919 windows_core::PCWSTR,
5920 windows_core::PCWSTR,
5921 windows_core::PCWSTR,
5922 ) -> windows_core::HRESULT,
5923 pub DeleteAllCookies:
5924 unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
5925}
5926pub trait ICoreWebView2CookieManager_Impl: windows_core::IUnknownImpl {
5927 fn CreateCookie(
5928 &self,
5929 name: &windows_core::PCWSTR,
5930 value: &windows_core::PCWSTR,
5931 domain: &windows_core::PCWSTR,
5932 path: &windows_core::PCWSTR,
5933 ) -> windows_core::Result<ICoreWebView2Cookie>;
5934 fn CopyCookie(
5935 &self,
5936 cookieparam: windows_core::Ref<ICoreWebView2Cookie>,
5937 ) -> windows_core::Result<ICoreWebView2Cookie>;
5938 fn GetCookies(
5939 &self,
5940 uri: &windows_core::PCWSTR,
5941 handler: windows_core::Ref<ICoreWebView2GetCookiesCompletedHandler>,
5942 ) -> windows_core::Result<()>;
5943 fn AddOrUpdateCookie(
5944 &self,
5945 cookie: windows_core::Ref<ICoreWebView2Cookie>,
5946 ) -> windows_core::Result<()>;
5947 fn DeleteCookie(
5948 &self,
5949 cookie: windows_core::Ref<ICoreWebView2Cookie>,
5950 ) -> windows_core::Result<()>;
5951 fn DeleteCookies(
5952 &self,
5953 name: &windows_core::PCWSTR,
5954 uri: &windows_core::PCWSTR,
5955 ) -> windows_core::Result<()>;
5956 fn DeleteCookiesWithDomainAndPath(
5957 &self,
5958 name: &windows_core::PCWSTR,
5959 domain: &windows_core::PCWSTR,
5960 path: &windows_core::PCWSTR,
5961 ) -> windows_core::Result<()>;
5962 fn DeleteAllCookies(&self) -> windows_core::Result<()>;
5963}
5964impl ICoreWebView2CookieManager_Vtbl {
5965 pub const fn new<Identity: ICoreWebView2CookieManager_Impl, const OFFSET: isize>() -> Self {
5966 unsafe extern "system" fn CreateCookie<
5967 Identity: ICoreWebView2CookieManager_Impl,
5968 const OFFSET: isize,
5969 >(
5970 this: *mut core::ffi::c_void,
5971 name: windows_core::PCWSTR,
5972 value: windows_core::PCWSTR,
5973 domain: windows_core::PCWSTR,
5974 path: windows_core::PCWSTR,
5975 cookie: *mut *mut core::ffi::c_void,
5976 ) -> windows_core::HRESULT {
5977 unsafe {
5978 let this: &Identity =
5979 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
5980 match ICoreWebView2CookieManager_Impl::CreateCookie(
5981 this,
5982 core::mem::transmute(&name),
5983 core::mem::transmute(&value),
5984 core::mem::transmute(&domain),
5985 core::mem::transmute(&path),
5986 ) {
5987 Ok(ok__) => {
5988 cookie.write(core::mem::transmute(ok__));
5989 windows_core::HRESULT(0)
5990 }
5991 Err(err) => err.into(),
5992 }
5993 }
5994 }
5995 unsafe extern "system" fn CopyCookie<
5996 Identity: ICoreWebView2CookieManager_Impl,
5997 const OFFSET: isize,
5998 >(
5999 this: *mut core::ffi::c_void,
6000 cookieparam: *mut core::ffi::c_void,
6001 cookie: *mut *mut core::ffi::c_void,
6002 ) -> windows_core::HRESULT {
6003 unsafe {
6004 let this: &Identity =
6005 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6006 match ICoreWebView2CookieManager_Impl::CopyCookie(
6007 this,
6008 core::mem::transmute_copy(&cookieparam),
6009 ) {
6010 Ok(ok__) => {
6011 cookie.write(core::mem::transmute(ok__));
6012 windows_core::HRESULT(0)
6013 }
6014 Err(err) => err.into(),
6015 }
6016 }
6017 }
6018 unsafe extern "system" fn GetCookies<
6019 Identity: ICoreWebView2CookieManager_Impl,
6020 const OFFSET: isize,
6021 >(
6022 this: *mut core::ffi::c_void,
6023 uri: windows_core::PCWSTR,
6024 handler: *mut core::ffi::c_void,
6025 ) -> windows_core::HRESULT {
6026 unsafe {
6027 let this: &Identity =
6028 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6029 ICoreWebView2CookieManager_Impl::GetCookies(
6030 this,
6031 core::mem::transmute(&uri),
6032 core::mem::transmute_copy(&handler),
6033 )
6034 .into()
6035 }
6036 }
6037 unsafe extern "system" fn AddOrUpdateCookie<
6038 Identity: ICoreWebView2CookieManager_Impl,
6039 const OFFSET: isize,
6040 >(
6041 this: *mut core::ffi::c_void,
6042 cookie: *mut core::ffi::c_void,
6043 ) -> windows_core::HRESULT {
6044 unsafe {
6045 let this: &Identity =
6046 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6047 ICoreWebView2CookieManager_Impl::AddOrUpdateCookie(
6048 this,
6049 core::mem::transmute_copy(&cookie),
6050 )
6051 .into()
6052 }
6053 }
6054 unsafe extern "system" fn DeleteCookie<
6055 Identity: ICoreWebView2CookieManager_Impl,
6056 const OFFSET: isize,
6057 >(
6058 this: *mut core::ffi::c_void,
6059 cookie: *mut core::ffi::c_void,
6060 ) -> windows_core::HRESULT {
6061 unsafe {
6062 let this: &Identity =
6063 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6064 ICoreWebView2CookieManager_Impl::DeleteCookie(
6065 this,
6066 core::mem::transmute_copy(&cookie),
6067 )
6068 .into()
6069 }
6070 }
6071 unsafe extern "system" fn DeleteCookies<
6072 Identity: ICoreWebView2CookieManager_Impl,
6073 const OFFSET: isize,
6074 >(
6075 this: *mut core::ffi::c_void,
6076 name: windows_core::PCWSTR,
6077 uri: windows_core::PCWSTR,
6078 ) -> windows_core::HRESULT {
6079 unsafe {
6080 let this: &Identity =
6081 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6082 ICoreWebView2CookieManager_Impl::DeleteCookies(
6083 this,
6084 core::mem::transmute(&name),
6085 core::mem::transmute(&uri),
6086 )
6087 .into()
6088 }
6089 }
6090 unsafe extern "system" fn DeleteCookiesWithDomainAndPath<
6091 Identity: ICoreWebView2CookieManager_Impl,
6092 const OFFSET: isize,
6093 >(
6094 this: *mut core::ffi::c_void,
6095 name: windows_core::PCWSTR,
6096 domain: windows_core::PCWSTR,
6097 path: windows_core::PCWSTR,
6098 ) -> windows_core::HRESULT {
6099 unsafe {
6100 let this: &Identity =
6101 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6102 ICoreWebView2CookieManager_Impl::DeleteCookiesWithDomainAndPath(
6103 this,
6104 core::mem::transmute(&name),
6105 core::mem::transmute(&domain),
6106 core::mem::transmute(&path),
6107 )
6108 .into()
6109 }
6110 }
6111 unsafe extern "system" fn DeleteAllCookies<
6112 Identity: ICoreWebView2CookieManager_Impl,
6113 const OFFSET: isize,
6114 >(
6115 this: *mut core::ffi::c_void,
6116 ) -> windows_core::HRESULT {
6117 unsafe {
6118 let this: &Identity =
6119 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6120 ICoreWebView2CookieManager_Impl::DeleteAllCookies(this).into()
6121 }
6122 }
6123 Self {
6124 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6125 CreateCookie: CreateCookie::<Identity, OFFSET>,
6126 CopyCookie: CopyCookie::<Identity, OFFSET>,
6127 GetCookies: GetCookies::<Identity, OFFSET>,
6128 AddOrUpdateCookie: AddOrUpdateCookie::<Identity, OFFSET>,
6129 DeleteCookie: DeleteCookie::<Identity, OFFSET>,
6130 DeleteCookies: DeleteCookies::<Identity, OFFSET>,
6131 DeleteCookiesWithDomainAndPath: DeleteCookiesWithDomainAndPath::<Identity, OFFSET>,
6132 DeleteAllCookies: DeleteAllCookies::<Identity, OFFSET>,
6133 }
6134 }
6135 pub fn matches(iid: &windows_core::GUID) -> bool {
6136 iid == &<ICoreWebView2CookieManager as windows_core::Interface>::IID
6137 }
6138}
6139impl windows_core::RuntimeName for ICoreWebView2CookieManager {}
6140windows_core::imp::define_interface!(
6141 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
6142 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Vtbl,
6143 0x02fab84b_1428_4fb7_ad45_1b2e64736184
6144);
6145windows_core::imp::interface_hierarchy!(
6146 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
6147 windows_core::IUnknown
6148);
6149impl ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler {
6150 pub unsafe fn Invoke<P1>(
6151 &self,
6152 errorcode: windows_core::HRESULT,
6153 webview: P1,
6154 ) -> windows_core::Result<()>
6155 where
6156 P1: windows_core::Param<ICoreWebView2CompositionController>,
6157 {
6158 unsafe {
6159 (windows_core::Interface::vtable(self).Invoke)(
6160 windows_core::Interface::as_raw(self),
6161 errorcode,
6162 webview.param().abi(),
6163 )
6164 .ok()
6165 }
6166 }
6167}
6168#[repr(C)]
6169#[doc(hidden)]
6170pub struct ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Vtbl {
6171 pub base__: windows_core::IUnknown_Vtbl,
6172 pub Invoke: unsafe extern "system" fn(
6173 *mut core::ffi::c_void,
6174 windows_core::HRESULT,
6175 *mut core::ffi::c_void,
6176 ) -> windows_core::HRESULT,
6177}
6178pub trait ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl:
6179 windows_core::IUnknownImpl
6180{
6181 fn Invoke(
6182 &self,
6183 errorcode: windows_core::HRESULT,
6184 webview: windows_core::Ref<ICoreWebView2CompositionController>,
6185 ) -> windows_core::Result<()>;
6186}
6187impl ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Vtbl {
6188 pub const fn new<
6189 Identity: ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl,
6190 const OFFSET: isize,
6191 >() -> Self {
6192 unsafe extern "system" fn Invoke<
6193 Identity: ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl,
6194 const OFFSET: isize,
6195 >(
6196 this: *mut core::ffi::c_void,
6197 errorcode: windows_core::HRESULT,
6198 webview: *mut core::ffi::c_void,
6199 ) -> windows_core::HRESULT {
6200 unsafe {
6201 let this: &Identity =
6202 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6203 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Impl::Invoke(
6204 this,
6205 core::mem::transmute_copy(&errorcode),
6206 core::mem::transmute_copy(&webview),
6207 )
6208 .into()
6209 }
6210 }
6211 Self {
6212 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6213 Invoke: Invoke::<Identity, OFFSET>,
6214 }
6215 }
6216 pub fn matches(iid: &windows_core::GUID) -> bool {
6217 iid == & < ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler as windows_core::Interface >::IID
6218 }
6219}
6220impl windows_core::RuntimeName
6221 for ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler
6222{
6223}
6224windows_core::imp::define_interface!(
6225 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler,
6226 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Vtbl,
6227 0x6c4819f3_c9b7_4260_8127_c9f5bde7f68c
6228);
6229windows_core::imp::interface_hierarchy!(
6230 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler,
6231 windows_core::IUnknown
6232);
6233impl ICoreWebView2CreateCoreWebView2ControllerCompletedHandler {
6234 pub unsafe fn Invoke<P1>(
6235 &self,
6236 errorcode: windows_core::HRESULT,
6237 createdcontroller: P1,
6238 ) -> windows_core::Result<()>
6239 where
6240 P1: windows_core::Param<ICoreWebView2Controller>,
6241 {
6242 unsafe {
6243 (windows_core::Interface::vtable(self).Invoke)(
6244 windows_core::Interface::as_raw(self),
6245 errorcode,
6246 createdcontroller.param().abi(),
6247 )
6248 .ok()
6249 }
6250 }
6251}
6252#[repr(C)]
6253#[doc(hidden)]
6254pub struct ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Vtbl {
6255 pub base__: windows_core::IUnknown_Vtbl,
6256 pub Invoke: unsafe extern "system" fn(
6257 *mut core::ffi::c_void,
6258 windows_core::HRESULT,
6259 *mut core::ffi::c_void,
6260 ) -> windows_core::HRESULT,
6261}
6262pub trait ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl:
6263 windows_core::IUnknownImpl
6264{
6265 fn Invoke(
6266 &self,
6267 errorcode: windows_core::HRESULT,
6268 createdcontroller: windows_core::Ref<ICoreWebView2Controller>,
6269 ) -> windows_core::Result<()>;
6270}
6271impl ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Vtbl {
6272 pub const fn new<
6273 Identity: ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl,
6274 const OFFSET: isize,
6275 >() -> Self {
6276 unsafe extern "system" fn Invoke<
6277 Identity: ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl,
6278 const OFFSET: isize,
6279 >(
6280 this: *mut core::ffi::c_void,
6281 errorcode: windows_core::HRESULT,
6282 createdcontroller: *mut core::ffi::c_void,
6283 ) -> windows_core::HRESULT {
6284 unsafe {
6285 let this: &Identity =
6286 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6287 ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Impl::Invoke(
6288 this,
6289 core::mem::transmute_copy(&errorcode),
6290 core::mem::transmute_copy(&createdcontroller),
6291 )
6292 .into()
6293 }
6294 }
6295 Self {
6296 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6297 Invoke: Invoke::<Identity, OFFSET>,
6298 }
6299 }
6300 pub fn matches(iid: &windows_core::GUID) -> bool {
6301 iid == & < ICoreWebView2CreateCoreWebView2ControllerCompletedHandler as windows_core::Interface >::IID
6302 }
6303}
6304impl windows_core::RuntimeName for ICoreWebView2CreateCoreWebView2ControllerCompletedHandler {}
6305windows_core::imp::define_interface!(
6306 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler,
6307 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Vtbl,
6308 0x4e8a3389_c9d8_4bd2_b6b5_124fee6cc14d
6309);
6310windows_core::imp::interface_hierarchy!(
6311 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler,
6312 windows_core::IUnknown
6313);
6314impl ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler {
6315 pub unsafe fn Invoke<P1>(
6316 &self,
6317 errorcode: windows_core::HRESULT,
6318 createdenvironment: P1,
6319 ) -> windows_core::Result<()>
6320 where
6321 P1: windows_core::Param<ICoreWebView2Environment>,
6322 {
6323 unsafe {
6324 (windows_core::Interface::vtable(self).Invoke)(
6325 windows_core::Interface::as_raw(self),
6326 errorcode,
6327 createdenvironment.param().abi(),
6328 )
6329 .ok()
6330 }
6331 }
6332}
6333#[repr(C)]
6334#[doc(hidden)]
6335pub struct ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Vtbl {
6336 pub base__: windows_core::IUnknown_Vtbl,
6337 pub Invoke: unsafe extern "system" fn(
6338 *mut core::ffi::c_void,
6339 windows_core::HRESULT,
6340 *mut core::ffi::c_void,
6341 ) -> windows_core::HRESULT,
6342}
6343pub trait ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl:
6344 windows_core::IUnknownImpl
6345{
6346 fn Invoke(
6347 &self,
6348 errorcode: windows_core::HRESULT,
6349 createdenvironment: windows_core::Ref<ICoreWebView2Environment>,
6350 ) -> windows_core::Result<()>;
6351}
6352impl ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Vtbl {
6353 pub const fn new<
6354 Identity: ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl,
6355 const OFFSET: isize,
6356 >() -> Self {
6357 unsafe extern "system" fn Invoke<
6358 Identity: ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl,
6359 const OFFSET: isize,
6360 >(
6361 this: *mut core::ffi::c_void,
6362 errorcode: windows_core::HRESULT,
6363 createdenvironment: *mut core::ffi::c_void,
6364 ) -> windows_core::HRESULT {
6365 unsafe {
6366 let this: &Identity =
6367 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6368 ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Impl::Invoke(
6369 this,
6370 core::mem::transmute_copy(&errorcode),
6371 core::mem::transmute_copy(&createdenvironment),
6372 )
6373 .into()
6374 }
6375 }
6376 Self {
6377 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6378 Invoke: Invoke::<Identity, OFFSET>,
6379 }
6380 }
6381 pub fn matches(iid: &windows_core::GUID) -> bool {
6382 iid == & < ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler as windows_core::Interface >::IID
6383 }
6384}
6385impl windows_core::RuntimeName for ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler {}
6386windows_core::imp::define_interface!(
6387 ICoreWebView2CursorChangedEventHandler,
6388 ICoreWebView2CursorChangedEventHandler_Vtbl,
6389 0x9da43ccc_26e1_4dad_b56c_d8961c94c571
6390);
6391windows_core::imp::interface_hierarchy!(
6392 ICoreWebView2CursorChangedEventHandler,
6393 windows_core::IUnknown
6394);
6395impl ICoreWebView2CursorChangedEventHandler {
6396 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
6397 where
6398 P0: windows_core::Param<ICoreWebView2CompositionController>,
6399 P1: windows_core::Param<windows_core::IUnknown>,
6400 {
6401 unsafe {
6402 (windows_core::Interface::vtable(self).Invoke)(
6403 windows_core::Interface::as_raw(self),
6404 sender.param().abi(),
6405 args.param().abi(),
6406 )
6407 .ok()
6408 }
6409 }
6410}
6411#[repr(C)]
6412#[doc(hidden)]
6413pub struct ICoreWebView2CursorChangedEventHandler_Vtbl {
6414 pub base__: windows_core::IUnknown_Vtbl,
6415 pub Invoke: unsafe extern "system" fn(
6416 *mut core::ffi::c_void,
6417 *mut core::ffi::c_void,
6418 *mut core::ffi::c_void,
6419 ) -> windows_core::HRESULT,
6420}
6421pub trait ICoreWebView2CursorChangedEventHandler_Impl: windows_core::IUnknownImpl {
6422 fn Invoke(
6423 &self,
6424 sender: windows_core::Ref<ICoreWebView2CompositionController>,
6425 args: windows_core::Ref<windows_core::IUnknown>,
6426 ) -> windows_core::Result<()>;
6427}
6428impl ICoreWebView2CursorChangedEventHandler_Vtbl {
6429 pub const fn new<Identity: ICoreWebView2CursorChangedEventHandler_Impl, const OFFSET: isize>(
6430 ) -> Self {
6431 unsafe extern "system" fn Invoke<
6432 Identity: ICoreWebView2CursorChangedEventHandler_Impl,
6433 const OFFSET: isize,
6434 >(
6435 this: *mut core::ffi::c_void,
6436 sender: *mut core::ffi::c_void,
6437 args: *mut core::ffi::c_void,
6438 ) -> windows_core::HRESULT {
6439 unsafe {
6440 let this: &Identity =
6441 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6442 ICoreWebView2CursorChangedEventHandler_Impl::Invoke(
6443 this,
6444 core::mem::transmute_copy(&sender),
6445 core::mem::transmute_copy(&args),
6446 )
6447 .into()
6448 }
6449 }
6450 Self {
6451 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6452 Invoke: Invoke::<Identity, OFFSET>,
6453 }
6454 }
6455 pub fn matches(iid: &windows_core::GUID) -> bool {
6456 iid == &<ICoreWebView2CursorChangedEventHandler as windows_core::Interface>::IID
6457 }
6458}
6459impl windows_core::RuntimeName for ICoreWebView2CursorChangedEventHandler {}
6460windows_core::imp::define_interface!(
6461 ICoreWebView2DOMContentLoadedEventArgs,
6462 ICoreWebView2DOMContentLoadedEventArgs_Vtbl,
6463 0x16b1e21a_c503_44f2_84c9_70aba5031283
6464);
6465windows_core::imp::interface_hierarchy!(
6466 ICoreWebView2DOMContentLoadedEventArgs,
6467 windows_core::IUnknown
6468);
6469impl ICoreWebView2DOMContentLoadedEventArgs {
6470 pub unsafe fn NavigationId(&self) -> windows_core::Result<u64> {
6471 unsafe {
6472 let mut result__ = core::mem::zeroed();
6473 (windows_core::Interface::vtable(self).NavigationId)(
6474 windows_core::Interface::as_raw(self),
6475 &mut result__,
6476 )
6477 .map(|| result__)
6478 }
6479 }
6480}
6481#[repr(C)]
6482#[doc(hidden)]
6483pub struct ICoreWebView2DOMContentLoadedEventArgs_Vtbl {
6484 pub base__: windows_core::IUnknown_Vtbl,
6485 pub NavigationId:
6486 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
6487}
6488pub trait ICoreWebView2DOMContentLoadedEventArgs_Impl: windows_core::IUnknownImpl {
6489 fn NavigationId(&self) -> windows_core::Result<u64>;
6490}
6491impl ICoreWebView2DOMContentLoadedEventArgs_Vtbl {
6492 pub const fn new<Identity: ICoreWebView2DOMContentLoadedEventArgs_Impl, const OFFSET: isize>(
6493 ) -> Self {
6494 unsafe extern "system" fn NavigationId<
6495 Identity: ICoreWebView2DOMContentLoadedEventArgs_Impl,
6496 const OFFSET: isize,
6497 >(
6498 this: *mut core::ffi::c_void,
6499 navigationid: *mut u64,
6500 ) -> windows_core::HRESULT {
6501 unsafe {
6502 let this: &Identity =
6503 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6504 match ICoreWebView2DOMContentLoadedEventArgs_Impl::NavigationId(this) {
6505 Ok(ok__) => {
6506 navigationid.write(core::mem::transmute(ok__));
6507 windows_core::HRESULT(0)
6508 }
6509 Err(err) => err.into(),
6510 }
6511 }
6512 }
6513 Self {
6514 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6515 NavigationId: NavigationId::<Identity, OFFSET>,
6516 }
6517 }
6518 pub fn matches(iid: &windows_core::GUID) -> bool {
6519 iid == &<ICoreWebView2DOMContentLoadedEventArgs as windows_core::Interface>::IID
6520 }
6521}
6522impl windows_core::RuntimeName for ICoreWebView2DOMContentLoadedEventArgs {}
6523windows_core::imp::define_interface!(
6524 ICoreWebView2DOMContentLoadedEventHandler,
6525 ICoreWebView2DOMContentLoadedEventHandler_Vtbl,
6526 0x4bac7e9c_199e_49ed_87ed_249303acf019
6527);
6528windows_core::imp::interface_hierarchy!(
6529 ICoreWebView2DOMContentLoadedEventHandler,
6530 windows_core::IUnknown
6531);
6532impl ICoreWebView2DOMContentLoadedEventHandler {
6533 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
6534 where
6535 P0: windows_core::Param<ICoreWebView2>,
6536 P1: windows_core::Param<ICoreWebView2DOMContentLoadedEventArgs>,
6537 {
6538 unsafe {
6539 (windows_core::Interface::vtable(self).Invoke)(
6540 windows_core::Interface::as_raw(self),
6541 sender.param().abi(),
6542 args.param().abi(),
6543 )
6544 .ok()
6545 }
6546 }
6547}
6548#[repr(C)]
6549#[doc(hidden)]
6550pub struct ICoreWebView2DOMContentLoadedEventHandler_Vtbl {
6551 pub base__: windows_core::IUnknown_Vtbl,
6552 pub Invoke: unsafe extern "system" fn(
6553 *mut core::ffi::c_void,
6554 *mut core::ffi::c_void,
6555 *mut core::ffi::c_void,
6556 ) -> windows_core::HRESULT,
6557}
6558pub trait ICoreWebView2DOMContentLoadedEventHandler_Impl: windows_core::IUnknownImpl {
6559 fn Invoke(
6560 &self,
6561 sender: windows_core::Ref<ICoreWebView2>,
6562 args: windows_core::Ref<ICoreWebView2DOMContentLoadedEventArgs>,
6563 ) -> windows_core::Result<()>;
6564}
6565impl ICoreWebView2DOMContentLoadedEventHandler_Vtbl {
6566 pub const fn new<
6567 Identity: ICoreWebView2DOMContentLoadedEventHandler_Impl,
6568 const OFFSET: isize,
6569 >() -> Self {
6570 unsafe extern "system" fn Invoke<
6571 Identity: ICoreWebView2DOMContentLoadedEventHandler_Impl,
6572 const OFFSET: isize,
6573 >(
6574 this: *mut core::ffi::c_void,
6575 sender: *mut core::ffi::c_void,
6576 args: *mut core::ffi::c_void,
6577 ) -> windows_core::HRESULT {
6578 unsafe {
6579 let this: &Identity =
6580 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6581 ICoreWebView2DOMContentLoadedEventHandler_Impl::Invoke(
6582 this,
6583 core::mem::transmute_copy(&sender),
6584 core::mem::transmute_copy(&args),
6585 )
6586 .into()
6587 }
6588 }
6589 Self {
6590 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6591 Invoke: Invoke::<Identity, OFFSET>,
6592 }
6593 }
6594 pub fn matches(iid: &windows_core::GUID) -> bool {
6595 iid == &<ICoreWebView2DOMContentLoadedEventHandler as windows_core::Interface>::IID
6596 }
6597}
6598impl windows_core::RuntimeName for ICoreWebView2DOMContentLoadedEventHandler {}
6599windows_core::imp::define_interface!(
6600 ICoreWebView2Deferral,
6601 ICoreWebView2Deferral_Vtbl,
6602 0xc10e7f7b_b585_46f0_a623_8befbf3e4ee0
6603);
6604windows_core::imp::interface_hierarchy!(ICoreWebView2Deferral, windows_core::IUnknown);
6605impl ICoreWebView2Deferral {
6606 pub unsafe fn Complete(&self) -> windows_core::Result<()> {
6607 unsafe {
6608 (windows_core::Interface::vtable(self).Complete)(windows_core::Interface::as_raw(self))
6609 .ok()
6610 }
6611 }
6612}
6613#[repr(C)]
6614#[doc(hidden)]
6615pub struct ICoreWebView2Deferral_Vtbl {
6616 pub base__: windows_core::IUnknown_Vtbl,
6617 pub Complete: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
6618}
6619pub trait ICoreWebView2Deferral_Impl: windows_core::IUnknownImpl {
6620 fn Complete(&self) -> windows_core::Result<()>;
6621}
6622impl ICoreWebView2Deferral_Vtbl {
6623 pub const fn new<Identity: ICoreWebView2Deferral_Impl, const OFFSET: isize>() -> Self {
6624 unsafe extern "system" fn Complete<
6625 Identity: ICoreWebView2Deferral_Impl,
6626 const OFFSET: isize,
6627 >(
6628 this: *mut core::ffi::c_void,
6629 ) -> windows_core::HRESULT {
6630 unsafe {
6631 let this: &Identity =
6632 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6633 ICoreWebView2Deferral_Impl::Complete(this).into()
6634 }
6635 }
6636 Self {
6637 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6638 Complete: Complete::<Identity, OFFSET>,
6639 }
6640 }
6641 pub fn matches(iid: &windows_core::GUID) -> bool {
6642 iid == &<ICoreWebView2Deferral as windows_core::Interface>::IID
6643 }
6644}
6645impl windows_core::RuntimeName for ICoreWebView2Deferral {}
6646windows_core::imp::define_interface!(
6647 ICoreWebView2DevToolsProtocolEventReceivedEventArgs,
6648 ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl,
6649 0x653c2959_bb3a_4377_8632_b58ada4e66c4
6650);
6651windows_core::imp::interface_hierarchy!(
6652 ICoreWebView2DevToolsProtocolEventReceivedEventArgs,
6653 windows_core::IUnknown
6654);
6655impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs {
6656 pub unsafe fn ParameterObjectAsJson(&self) -> windows_core::Result<windows_core::PWSTR> {
6657 unsafe {
6658 let mut result__ = core::mem::zeroed();
6659 (windows_core::Interface::vtable(self).ParameterObjectAsJson)(
6660 windows_core::Interface::as_raw(self),
6661 &mut result__,
6662 )
6663 .map(|| result__)
6664 }
6665 }
6666}
6667#[repr(C)]
6668#[doc(hidden)]
6669pub struct ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl {
6670 pub base__: windows_core::IUnknown_Vtbl,
6671 pub ParameterObjectAsJson: unsafe extern "system" fn(
6672 *mut core::ffi::c_void,
6673 *mut windows_core::PWSTR,
6674 ) -> windows_core::HRESULT,
6675}
6676pub trait ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl:
6677 windows_core::IUnknownImpl
6678{
6679 fn ParameterObjectAsJson(&self) -> windows_core::Result<windows_core::PWSTR>;
6680}
6681impl ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Vtbl {
6682 pub const fn new<
6683 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl,
6684 const OFFSET: isize,
6685 >() -> Self {
6686 unsafe extern "system" fn ParameterObjectAsJson<
6687 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl,
6688 const OFFSET: isize,
6689 >(
6690 this: *mut core::ffi::c_void,
6691 parameterobjectasjson: *mut windows_core::PWSTR,
6692 ) -> windows_core::HRESULT {
6693 unsafe {
6694 let this: &Identity =
6695 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6696 match ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Impl:: ParameterObjectAsJson ( this , ) { Ok ( ok__ ) => { parameterobjectasjson . write ( core::mem::transmute ( ok__ ) ) ; windows_core::HRESULT ( 0 ) } Err ( err ) => err . into ( ) }
6697 }
6698 }
6699 Self {
6700 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6701 ParameterObjectAsJson: ParameterObjectAsJson::<Identity, OFFSET>,
6702 }
6703 }
6704 pub fn matches(iid: &windows_core::GUID) -> bool {
6705 iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventArgs as windows_core::Interface >::IID
6706 }
6707}
6708impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceivedEventArgs {}
6709windows_core::imp::define_interface!(
6710 ICoreWebView2DevToolsProtocolEventReceivedEventHandler,
6711 ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Vtbl,
6712 0xe2fda4be_5456_406c_a261_3d452138362c
6713);
6714windows_core::imp::interface_hierarchy!(
6715 ICoreWebView2DevToolsProtocolEventReceivedEventHandler,
6716 windows_core::IUnknown
6717);
6718impl ICoreWebView2DevToolsProtocolEventReceivedEventHandler {
6719 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
6720 where
6721 P0: windows_core::Param<ICoreWebView2>,
6722 P1: windows_core::Param<ICoreWebView2DevToolsProtocolEventReceivedEventArgs>,
6723 {
6724 unsafe {
6725 (windows_core::Interface::vtable(self).Invoke)(
6726 windows_core::Interface::as_raw(self),
6727 sender.param().abi(),
6728 args.param().abi(),
6729 )
6730 .ok()
6731 }
6732 }
6733}
6734#[repr(C)]
6735#[doc(hidden)]
6736pub struct ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Vtbl {
6737 pub base__: windows_core::IUnknown_Vtbl,
6738 pub Invoke: unsafe extern "system" fn(
6739 *mut core::ffi::c_void,
6740 *mut core::ffi::c_void,
6741 *mut core::ffi::c_void,
6742 ) -> windows_core::HRESULT,
6743}
6744pub trait ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl:
6745 windows_core::IUnknownImpl
6746{
6747 fn Invoke(
6748 &self,
6749 sender: windows_core::Ref<ICoreWebView2>,
6750 args: windows_core::Ref<ICoreWebView2DevToolsProtocolEventReceivedEventArgs>,
6751 ) -> windows_core::Result<()>;
6752}
6753impl ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Vtbl {
6754 pub const fn new<
6755 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl,
6756 const OFFSET: isize,
6757 >() -> Self {
6758 unsafe extern "system" fn Invoke<
6759 Identity: ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl,
6760 const OFFSET: isize,
6761 >(
6762 this: *mut core::ffi::c_void,
6763 sender: *mut core::ffi::c_void,
6764 args: *mut core::ffi::c_void,
6765 ) -> windows_core::HRESULT {
6766 unsafe {
6767 let this: &Identity =
6768 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6769 ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Impl::Invoke(
6770 this,
6771 core::mem::transmute_copy(&sender),
6772 core::mem::transmute_copy(&args),
6773 )
6774 .into()
6775 }
6776 }
6777 Self {
6778 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6779 Invoke: Invoke::<Identity, OFFSET>,
6780 }
6781 }
6782 pub fn matches(iid: &windows_core::GUID) -> bool {
6783 iid == & < ICoreWebView2DevToolsProtocolEventReceivedEventHandler as windows_core::Interface >::IID
6784 }
6785}
6786impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceivedEventHandler {}
6787windows_core::imp::define_interface!(
6788 ICoreWebView2DevToolsProtocolEventReceiver,
6789 ICoreWebView2DevToolsProtocolEventReceiver_Vtbl,
6790 0xb32ca51a_8371_45e9_9317_af021d080367
6791);
6792windows_core::imp::interface_hierarchy!(
6793 ICoreWebView2DevToolsProtocolEventReceiver,
6794 windows_core::IUnknown
6795);
6796impl ICoreWebView2DevToolsProtocolEventReceiver {
6797 pub unsafe fn DevToolsProtocolEventReceived<P0>(&self, handler: P0) -> windows_core::Result<i64>
6798 where
6799 P0: windows_core::Param<ICoreWebView2DevToolsProtocolEventReceivedEventHandler>,
6800 {
6801 unsafe {
6802 let mut result__ = core::mem::zeroed();
6803 (windows_core::Interface::vtable(self).DevToolsProtocolEventReceived)(
6804 windows_core::Interface::as_raw(self),
6805 handler.param().abi(),
6806 &mut result__,
6807 )
6808 .map(|| result__)
6809 }
6810 }
6811 pub unsafe fn RemoveDevToolsProtocolEventReceived(
6812 &self,
6813 token: i64,
6814 ) -> windows_core::Result<()> {
6815 unsafe {
6816 (windows_core::Interface::vtable(self).RemoveDevToolsProtocolEventReceived)(
6817 windows_core::Interface::as_raw(self),
6818 token,
6819 )
6820 .ok()
6821 }
6822 }
6823}
6824#[repr(C)]
6825#[doc(hidden)]
6826pub struct ICoreWebView2DevToolsProtocolEventReceiver_Vtbl {
6827 pub base__: windows_core::IUnknown_Vtbl,
6828 pub DevToolsProtocolEventReceived: unsafe extern "system" fn(
6829 *mut core::ffi::c_void,
6830 *mut core::ffi::c_void,
6831 *mut i64,
6832 ) -> windows_core::HRESULT,
6833 pub RemoveDevToolsProtocolEventReceived:
6834 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
6835}
6836pub trait ICoreWebView2DevToolsProtocolEventReceiver_Impl: windows_core::IUnknownImpl {
6837 fn DevToolsProtocolEventReceived(
6838 &self,
6839 handler: windows_core::Ref<ICoreWebView2DevToolsProtocolEventReceivedEventHandler>,
6840 ) -> windows_core::Result<i64>;
6841 fn RemoveDevToolsProtocolEventReceived(&self, token: i64) -> windows_core::Result<()>;
6842}
6843impl ICoreWebView2DevToolsProtocolEventReceiver_Vtbl {
6844 pub const fn new<
6845 Identity: ICoreWebView2DevToolsProtocolEventReceiver_Impl,
6846 const OFFSET: isize,
6847 >() -> Self {
6848 unsafe extern "system" fn DevToolsProtocolEventReceived<
6849 Identity: ICoreWebView2DevToolsProtocolEventReceiver_Impl,
6850 const OFFSET: isize,
6851 >(
6852 this: *mut core::ffi::c_void,
6853 handler: *mut core::ffi::c_void,
6854 token: *mut i64,
6855 ) -> windows_core::HRESULT {
6856 unsafe {
6857 let this: &Identity =
6858 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6859 match ICoreWebView2DevToolsProtocolEventReceiver_Impl::DevToolsProtocolEventReceived(
6860 this,
6861 core::mem::transmute_copy(&handler),
6862 ) {
6863 Ok(ok__) => {
6864 token.write(core::mem::transmute(ok__));
6865 windows_core::HRESULT(0)
6866 }
6867 Err(err) => err.into(),
6868 }
6869 }
6870 }
6871 unsafe extern "system" fn RemoveDevToolsProtocolEventReceived<
6872 Identity: ICoreWebView2DevToolsProtocolEventReceiver_Impl,
6873 const OFFSET: isize,
6874 >(
6875 this: *mut core::ffi::c_void,
6876 token: i64,
6877 ) -> windows_core::HRESULT {
6878 unsafe {
6879 let this: &Identity =
6880 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6881 ICoreWebView2DevToolsProtocolEventReceiver_Impl:: RemoveDevToolsProtocolEventReceived ( this , core::mem::transmute_copy ( & token ) , ) . into ( )
6882 }
6883 }
6884 Self {
6885 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6886 DevToolsProtocolEventReceived: DevToolsProtocolEventReceived::<Identity, OFFSET>,
6887 RemoveDevToolsProtocolEventReceived: RemoveDevToolsProtocolEventReceived::<
6888 Identity,
6889 OFFSET,
6890 >,
6891 }
6892 }
6893 pub fn matches(iid: &windows_core::GUID) -> bool {
6894 iid == &<ICoreWebView2DevToolsProtocolEventReceiver as windows_core::Interface>::IID
6895 }
6896}
6897impl windows_core::RuntimeName for ICoreWebView2DevToolsProtocolEventReceiver {}
6898windows_core::imp::define_interface!(
6899 ICoreWebView2DocumentTitleChangedEventHandler,
6900 ICoreWebView2DocumentTitleChangedEventHandler_Vtbl,
6901 0xf5f2b923_953e_4042_9f95_f3a118e1afd4
6902);
6903windows_core::imp::interface_hierarchy!(
6904 ICoreWebView2DocumentTitleChangedEventHandler,
6905 windows_core::IUnknown
6906);
6907impl ICoreWebView2DocumentTitleChangedEventHandler {
6908 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
6909 where
6910 P0: windows_core::Param<ICoreWebView2>,
6911 P1: windows_core::Param<windows_core::IUnknown>,
6912 {
6913 unsafe {
6914 (windows_core::Interface::vtable(self).Invoke)(
6915 windows_core::Interface::as_raw(self),
6916 sender.param().abi(),
6917 args.param().abi(),
6918 )
6919 .ok()
6920 }
6921 }
6922}
6923#[repr(C)]
6924#[doc(hidden)]
6925pub struct ICoreWebView2DocumentTitleChangedEventHandler_Vtbl {
6926 pub base__: windows_core::IUnknown_Vtbl,
6927 pub Invoke: unsafe extern "system" fn(
6928 *mut core::ffi::c_void,
6929 *mut core::ffi::c_void,
6930 *mut core::ffi::c_void,
6931 ) -> windows_core::HRESULT,
6932}
6933pub trait ICoreWebView2DocumentTitleChangedEventHandler_Impl: windows_core::IUnknownImpl {
6934 fn Invoke(
6935 &self,
6936 sender: windows_core::Ref<ICoreWebView2>,
6937 args: windows_core::Ref<windows_core::IUnknown>,
6938 ) -> windows_core::Result<()>;
6939}
6940impl ICoreWebView2DocumentTitleChangedEventHandler_Vtbl {
6941 pub const fn new<
6942 Identity: ICoreWebView2DocumentTitleChangedEventHandler_Impl,
6943 const OFFSET: isize,
6944 >() -> Self {
6945 unsafe extern "system" fn Invoke<
6946 Identity: ICoreWebView2DocumentTitleChangedEventHandler_Impl,
6947 const OFFSET: isize,
6948 >(
6949 this: *mut core::ffi::c_void,
6950 sender: *mut core::ffi::c_void,
6951 args: *mut core::ffi::c_void,
6952 ) -> windows_core::HRESULT {
6953 unsafe {
6954 let this: &Identity =
6955 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
6956 ICoreWebView2DocumentTitleChangedEventHandler_Impl::Invoke(
6957 this,
6958 core::mem::transmute_copy(&sender),
6959 core::mem::transmute_copy(&args),
6960 )
6961 .into()
6962 }
6963 }
6964 Self {
6965 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6966 Invoke: Invoke::<Identity, OFFSET>,
6967 }
6968 }
6969 pub fn matches(iid: &windows_core::GUID) -> bool {
6970 iid == &<ICoreWebView2DocumentTitleChangedEventHandler as windows_core::Interface>::IID
6971 }
6972}
6973impl windows_core::RuntimeName for ICoreWebView2DocumentTitleChangedEventHandler {}
6974windows_core::imp::define_interface!(
6975 ICoreWebView2Environment,
6976 ICoreWebView2Environment_Vtbl,
6977 0xb96d755e_0319_4e92_a296_23436f46a1fc
6978);
6979windows_core::imp::interface_hierarchy!(ICoreWebView2Environment, windows_core::IUnknown);
6980impl ICoreWebView2Environment {
6981 pub unsafe fn CreateCoreWebView2Controller<P1>(
6982 &self,
6983 parentwindow: windows::Win32::Foundation::HWND,
6984 handler: P1,
6985 ) -> windows_core::Result<()>
6986 where
6987 P1: windows_core::Param<ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
6988 {
6989 unsafe {
6990 (windows_core::Interface::vtable(self).CreateCoreWebView2Controller)(
6991 windows_core::Interface::as_raw(self),
6992 parentwindow,
6993 handler.param().abi(),
6994 )
6995 .ok()
6996 }
6997 }
6998 pub unsafe fn CreateWebResourceResponse<P0, P2, P3>(
6999 &self,
7000 content: P0,
7001 statuscode: i32,
7002 reasonphrase: P2,
7003 headers: P3,
7004 ) -> windows_core::Result<ICoreWebView2WebResourceResponse>
7005 where
7006 P0: windows_core::Param<windows::Win32::System::Com::IStream>,
7007 P2: windows_core::Param<windows_core::PCWSTR>,
7008 P3: windows_core::Param<windows_core::PCWSTR>,
7009 {
7010 unsafe {
7011 let mut result__ = core::mem::zeroed();
7012 (windows_core::Interface::vtable(self).CreateWebResourceResponse)(
7013 windows_core::Interface::as_raw(self),
7014 content.param().abi(),
7015 statuscode,
7016 reasonphrase.param().abi(),
7017 headers.param().abi(),
7018 &mut result__,
7019 )
7020 .and_then(|| windows_core::Type::from_abi(result__))
7021 }
7022 }
7023 pub unsafe fn BrowserVersionString(&self) -> windows_core::Result<windows_core::PWSTR> {
7024 unsafe {
7025 let mut result__ = core::mem::zeroed();
7026 (windows_core::Interface::vtable(self).BrowserVersionString)(
7027 windows_core::Interface::as_raw(self),
7028 &mut result__,
7029 )
7030 .map(|| result__)
7031 }
7032 }
7033 pub unsafe fn NewBrowserVersionAvailable<P0>(
7034 &self,
7035 eventhandler: P0,
7036 ) -> windows_core::Result<i64>
7037 where
7038 P0: windows_core::Param<ICoreWebView2NewBrowserVersionAvailableEventHandler>,
7039 {
7040 unsafe {
7041 let mut result__ = core::mem::zeroed();
7042 (windows_core::Interface::vtable(self).NewBrowserVersionAvailable)(
7043 windows_core::Interface::as_raw(self),
7044 eventhandler.param().abi(),
7045 &mut result__,
7046 )
7047 .map(|| result__)
7048 }
7049 }
7050 pub unsafe fn RemoveNewBrowserVersionAvailable(&self, token: i64) -> windows_core::Result<()> {
7051 unsafe {
7052 (windows_core::Interface::vtable(self).RemoveNewBrowserVersionAvailable)(
7053 windows_core::Interface::as_raw(self),
7054 token,
7055 )
7056 .ok()
7057 }
7058 }
7059}
7060#[repr(C)]
7061#[doc(hidden)]
7062pub struct ICoreWebView2Environment_Vtbl {
7063 pub base__: windows_core::IUnknown_Vtbl,
7064 pub CreateCoreWebView2Controller: unsafe extern "system" fn(
7065 *mut core::ffi::c_void,
7066 windows::Win32::Foundation::HWND,
7067 *mut core::ffi::c_void,
7068 ) -> windows_core::HRESULT,
7069 pub CreateWebResourceResponse: unsafe extern "system" fn(
7070 *mut core::ffi::c_void,
7071 *mut core::ffi::c_void,
7072 i32,
7073 windows_core::PCWSTR,
7074 windows_core::PCWSTR,
7075 *mut *mut core::ffi::c_void,
7076 ) -> windows_core::HRESULT,
7077 pub BrowserVersionString: unsafe extern "system" fn(
7078 *mut core::ffi::c_void,
7079 *mut windows_core::PWSTR,
7080 ) -> windows_core::HRESULT,
7081 pub NewBrowserVersionAvailable: unsafe extern "system" fn(
7082 *mut core::ffi::c_void,
7083 *mut core::ffi::c_void,
7084 *mut i64,
7085 ) -> windows_core::HRESULT,
7086 pub RemoveNewBrowserVersionAvailable:
7087 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
7088}
7089pub trait ICoreWebView2Environment_Impl: windows_core::IUnknownImpl {
7090 fn CreateCoreWebView2Controller(
7091 &self,
7092 parentwindow: windows::Win32::Foundation::HWND,
7093 handler: windows_core::Ref<ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>,
7094 ) -> windows_core::Result<()>;
7095 fn CreateWebResourceResponse(
7096 &self,
7097 content: windows_core::Ref<windows::Win32::System::Com::IStream>,
7098 statuscode: i32,
7099 reasonphrase: &windows_core::PCWSTR,
7100 headers: &windows_core::PCWSTR,
7101 ) -> windows_core::Result<ICoreWebView2WebResourceResponse>;
7102 fn BrowserVersionString(&self) -> windows_core::Result<windows_core::PWSTR>;
7103 fn NewBrowserVersionAvailable(
7104 &self,
7105 eventhandler: windows_core::Ref<ICoreWebView2NewBrowserVersionAvailableEventHandler>,
7106 ) -> windows_core::Result<i64>;
7107 fn RemoveNewBrowserVersionAvailable(&self, token: i64) -> windows_core::Result<()>;
7108}
7109impl ICoreWebView2Environment_Vtbl {
7110 pub const fn new<Identity: ICoreWebView2Environment_Impl, const OFFSET: isize>() -> Self {
7111 unsafe extern "system" fn CreateCoreWebView2Controller<
7112 Identity: ICoreWebView2Environment_Impl,
7113 const OFFSET: isize,
7114 >(
7115 this: *mut core::ffi::c_void,
7116 parentwindow: windows::Win32::Foundation::HWND,
7117 handler: *mut core::ffi::c_void,
7118 ) -> windows_core::HRESULT {
7119 unsafe {
7120 let this: &Identity =
7121 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7122 ICoreWebView2Environment_Impl::CreateCoreWebView2Controller(
7123 this,
7124 core::mem::transmute_copy(&parentwindow),
7125 core::mem::transmute_copy(&handler),
7126 )
7127 .into()
7128 }
7129 }
7130 unsafe extern "system" fn CreateWebResourceResponse<
7131 Identity: ICoreWebView2Environment_Impl,
7132 const OFFSET: isize,
7133 >(
7134 this: *mut core::ffi::c_void,
7135 content: *mut core::ffi::c_void,
7136 statuscode: i32,
7137 reasonphrase: windows_core::PCWSTR,
7138 headers: windows_core::PCWSTR,
7139 response: *mut *mut core::ffi::c_void,
7140 ) -> windows_core::HRESULT {
7141 unsafe {
7142 let this: &Identity =
7143 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7144 match ICoreWebView2Environment_Impl::CreateWebResourceResponse(
7145 this,
7146 core::mem::transmute_copy(&content),
7147 core::mem::transmute_copy(&statuscode),
7148 core::mem::transmute(&reasonphrase),
7149 core::mem::transmute(&headers),
7150 ) {
7151 Ok(ok__) => {
7152 response.write(core::mem::transmute(ok__));
7153 windows_core::HRESULT(0)
7154 }
7155 Err(err) => err.into(),
7156 }
7157 }
7158 }
7159 unsafe extern "system" fn BrowserVersionString<
7160 Identity: ICoreWebView2Environment_Impl,
7161 const OFFSET: isize,
7162 >(
7163 this: *mut core::ffi::c_void,
7164 versioninfo: *mut windows_core::PWSTR,
7165 ) -> windows_core::HRESULT {
7166 unsafe {
7167 let this: &Identity =
7168 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7169 match ICoreWebView2Environment_Impl::BrowserVersionString(this) {
7170 Ok(ok__) => {
7171 versioninfo.write(core::mem::transmute(ok__));
7172 windows_core::HRESULT(0)
7173 }
7174 Err(err) => err.into(),
7175 }
7176 }
7177 }
7178 unsafe extern "system" fn NewBrowserVersionAvailable<
7179 Identity: ICoreWebView2Environment_Impl,
7180 const OFFSET: isize,
7181 >(
7182 this: *mut core::ffi::c_void,
7183 eventhandler: *mut core::ffi::c_void,
7184 token: *mut i64,
7185 ) -> windows_core::HRESULT {
7186 unsafe {
7187 let this: &Identity =
7188 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7189 match ICoreWebView2Environment_Impl::NewBrowserVersionAvailable(
7190 this,
7191 core::mem::transmute_copy(&eventhandler),
7192 ) {
7193 Ok(ok__) => {
7194 token.write(core::mem::transmute(ok__));
7195 windows_core::HRESULT(0)
7196 }
7197 Err(err) => err.into(),
7198 }
7199 }
7200 }
7201 unsafe extern "system" fn RemoveNewBrowserVersionAvailable<
7202 Identity: ICoreWebView2Environment_Impl,
7203 const OFFSET: isize,
7204 >(
7205 this: *mut core::ffi::c_void,
7206 token: i64,
7207 ) -> windows_core::HRESULT {
7208 unsafe {
7209 let this: &Identity =
7210 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7211 ICoreWebView2Environment_Impl::RemoveNewBrowserVersionAvailable(
7212 this,
7213 core::mem::transmute_copy(&token),
7214 )
7215 .into()
7216 }
7217 }
7218 Self {
7219 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7220 CreateCoreWebView2Controller: CreateCoreWebView2Controller::<Identity, OFFSET>,
7221 CreateWebResourceResponse: CreateWebResourceResponse::<Identity, OFFSET>,
7222 BrowserVersionString: BrowserVersionString::<Identity, OFFSET>,
7223 NewBrowserVersionAvailable: NewBrowserVersionAvailable::<Identity, OFFSET>,
7224 RemoveNewBrowserVersionAvailable: RemoveNewBrowserVersionAvailable::<Identity, OFFSET>,
7225 }
7226 }
7227 pub fn matches(iid: &windows_core::GUID) -> bool {
7228 iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
7229 }
7230}
7231impl windows_core::RuntimeName for ICoreWebView2Environment {}
7232windows_core::imp::define_interface!(
7233 ICoreWebView2Environment2,
7234 ICoreWebView2Environment2_Vtbl,
7235 0x41f3632b_5ef4_404f_ad82_2d606c5a9a21
7236);
7237impl core::ops::Deref for ICoreWebView2Environment2 {
7238 type Target = ICoreWebView2Environment;
7239 fn deref(&self) -> &Self::Target {
7240 unsafe { core::mem::transmute(self) }
7241 }
7242}
7243windows_core::imp::interface_hierarchy!(
7244 ICoreWebView2Environment2,
7245 windows_core::IUnknown,
7246 ICoreWebView2Environment
7247);
7248impl ICoreWebView2Environment2 {
7249 pub unsafe fn CreateWebResourceRequest<P0, P1, P2, P3>(
7250 &self,
7251 uri: P0,
7252 method: P1,
7253 postdata: P2,
7254 headers: P3,
7255 ) -> windows_core::Result<ICoreWebView2WebResourceRequest>
7256 where
7257 P0: windows_core::Param<windows_core::PCWSTR>,
7258 P1: windows_core::Param<windows_core::PCWSTR>,
7259 P2: windows_core::Param<windows::Win32::System::Com::IStream>,
7260 P3: windows_core::Param<windows_core::PCWSTR>,
7261 {
7262 unsafe {
7263 let mut result__ = core::mem::zeroed();
7264 (windows_core::Interface::vtable(self).CreateWebResourceRequest)(
7265 windows_core::Interface::as_raw(self),
7266 uri.param().abi(),
7267 method.param().abi(),
7268 postdata.param().abi(),
7269 headers.param().abi(),
7270 &mut result__,
7271 )
7272 .and_then(|| windows_core::Type::from_abi(result__))
7273 }
7274 }
7275}
7276#[repr(C)]
7277#[doc(hidden)]
7278pub struct ICoreWebView2Environment2_Vtbl {
7279 pub base__: ICoreWebView2Environment_Vtbl,
7280 pub CreateWebResourceRequest: unsafe extern "system" fn(
7281 *mut core::ffi::c_void,
7282 windows_core::PCWSTR,
7283 windows_core::PCWSTR,
7284 *mut core::ffi::c_void,
7285 windows_core::PCWSTR,
7286 *mut *mut core::ffi::c_void,
7287 ) -> windows_core::HRESULT,
7288}
7289pub trait ICoreWebView2Environment2_Impl: ICoreWebView2Environment_Impl {
7290 fn CreateWebResourceRequest(
7291 &self,
7292 uri: &windows_core::PCWSTR,
7293 method: &windows_core::PCWSTR,
7294 postdata: windows_core::Ref<windows::Win32::System::Com::IStream>,
7295 headers: &windows_core::PCWSTR,
7296 ) -> windows_core::Result<ICoreWebView2WebResourceRequest>;
7297}
7298impl ICoreWebView2Environment2_Vtbl {
7299 pub const fn new<Identity: ICoreWebView2Environment2_Impl, const OFFSET: isize>() -> Self {
7300 unsafe extern "system" fn CreateWebResourceRequest<
7301 Identity: ICoreWebView2Environment2_Impl,
7302 const OFFSET: isize,
7303 >(
7304 this: *mut core::ffi::c_void,
7305 uri: windows_core::PCWSTR,
7306 method: windows_core::PCWSTR,
7307 postdata: *mut core::ffi::c_void,
7308 headers: windows_core::PCWSTR,
7309 request: *mut *mut core::ffi::c_void,
7310 ) -> windows_core::HRESULT {
7311 unsafe {
7312 let this: &Identity =
7313 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7314 match ICoreWebView2Environment2_Impl::CreateWebResourceRequest(
7315 this,
7316 core::mem::transmute(&uri),
7317 core::mem::transmute(&method),
7318 core::mem::transmute_copy(&postdata),
7319 core::mem::transmute(&headers),
7320 ) {
7321 Ok(ok__) => {
7322 request.write(core::mem::transmute(ok__));
7323 windows_core::HRESULT(0)
7324 }
7325 Err(err) => err.into(),
7326 }
7327 }
7328 }
7329 Self {
7330 base__: ICoreWebView2Environment_Vtbl::new::<Identity, OFFSET>(),
7331 CreateWebResourceRequest: CreateWebResourceRequest::<Identity, OFFSET>,
7332 }
7333 }
7334 pub fn matches(iid: &windows_core::GUID) -> bool {
7335 iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
7336 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
7337 }
7338}
7339impl windows_core::RuntimeName for ICoreWebView2Environment2 {}
7340windows_core::imp::define_interface!(
7341 ICoreWebView2Environment3,
7342 ICoreWebView2Environment3_Vtbl,
7343 0x80a22ae3_be7c_4ce2_afe1_5a50056cdeeb
7344);
7345impl core::ops::Deref for ICoreWebView2Environment3 {
7346 type Target = ICoreWebView2Environment2;
7347 fn deref(&self) -> &Self::Target {
7348 unsafe { core::mem::transmute(self) }
7349 }
7350}
7351windows_core::imp::interface_hierarchy!(
7352 ICoreWebView2Environment3,
7353 windows_core::IUnknown,
7354 ICoreWebView2Environment,
7355 ICoreWebView2Environment2
7356);
7357impl ICoreWebView2Environment3 {
7358 pub unsafe fn CreateCoreWebView2CompositionController<P1>(
7359 &self,
7360 parentwindow: windows::Win32::Foundation::HWND,
7361 handler: P1,
7362 ) -> windows_core::Result<()>
7363 where
7364 P1: windows_core::Param<
7365 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
7366 >,
7367 {
7368 unsafe {
7369 (windows_core::Interface::vtable(self).CreateCoreWebView2CompositionController)(
7370 windows_core::Interface::as_raw(self),
7371 parentwindow,
7372 handler.param().abi(),
7373 )
7374 .ok()
7375 }
7376 }
7377 pub unsafe fn CreateCoreWebView2PointerInfo(
7378 &self,
7379 ) -> windows_core::Result<ICoreWebView2PointerInfo> {
7380 unsafe {
7381 let mut result__ = core::mem::zeroed();
7382 (windows_core::Interface::vtable(self).CreateCoreWebView2PointerInfo)(
7383 windows_core::Interface::as_raw(self),
7384 &mut result__,
7385 )
7386 .and_then(|| windows_core::Type::from_abi(result__))
7387 }
7388 }
7389}
7390#[repr(C)]
7391#[doc(hidden)]
7392pub struct ICoreWebView2Environment3_Vtbl {
7393 pub base__: ICoreWebView2Environment2_Vtbl,
7394 pub CreateCoreWebView2CompositionController: unsafe extern "system" fn(
7395 *mut core::ffi::c_void,
7396 windows::Win32::Foundation::HWND,
7397 *mut core::ffi::c_void,
7398 )
7399 -> windows_core::HRESULT,
7400 pub CreateCoreWebView2PointerInfo: unsafe extern "system" fn(
7401 *mut core::ffi::c_void,
7402 *mut *mut core::ffi::c_void,
7403 ) -> windows_core::HRESULT,
7404}
7405pub trait ICoreWebView2Environment3_Impl: ICoreWebView2Environment2_Impl {
7406 fn CreateCoreWebView2CompositionController(
7407 &self,
7408 parentwindow: windows::Win32::Foundation::HWND,
7409 handler: windows_core::Ref<
7410 ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler,
7411 >,
7412 ) -> windows_core::Result<()>;
7413 fn CreateCoreWebView2PointerInfo(&self) -> windows_core::Result<ICoreWebView2PointerInfo>;
7414}
7415impl ICoreWebView2Environment3_Vtbl {
7416 pub const fn new<Identity: ICoreWebView2Environment3_Impl, const OFFSET: isize>() -> Self {
7417 unsafe extern "system" fn CreateCoreWebView2CompositionController<
7418 Identity: ICoreWebView2Environment3_Impl,
7419 const OFFSET: isize,
7420 >(
7421 this: *mut core::ffi::c_void,
7422 parentwindow: windows::Win32::Foundation::HWND,
7423 handler: *mut core::ffi::c_void,
7424 ) -> windows_core::HRESULT {
7425 unsafe {
7426 let this: &Identity =
7427 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7428 ICoreWebView2Environment3_Impl::CreateCoreWebView2CompositionController(
7429 this,
7430 core::mem::transmute_copy(&parentwindow),
7431 core::mem::transmute_copy(&handler),
7432 )
7433 .into()
7434 }
7435 }
7436 unsafe extern "system" fn CreateCoreWebView2PointerInfo<
7437 Identity: ICoreWebView2Environment3_Impl,
7438 const OFFSET: isize,
7439 >(
7440 this: *mut core::ffi::c_void,
7441 pointerinfo: *mut *mut core::ffi::c_void,
7442 ) -> windows_core::HRESULT {
7443 unsafe {
7444 let this: &Identity =
7445 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7446 match ICoreWebView2Environment3_Impl::CreateCoreWebView2PointerInfo(this) {
7447 Ok(ok__) => {
7448 pointerinfo.write(core::mem::transmute(ok__));
7449 windows_core::HRESULT(0)
7450 }
7451 Err(err) => err.into(),
7452 }
7453 }
7454 }
7455 Self {
7456 base__: ICoreWebView2Environment2_Vtbl::new::<Identity, OFFSET>(),
7457 CreateCoreWebView2CompositionController: CreateCoreWebView2CompositionController::<
7458 Identity,
7459 OFFSET,
7460 >,
7461 CreateCoreWebView2PointerInfo: CreateCoreWebView2PointerInfo::<Identity, OFFSET>,
7462 }
7463 }
7464 pub fn matches(iid: &windows_core::GUID) -> bool {
7465 iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
7466 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
7467 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
7468 }
7469}
7470impl windows_core::RuntimeName for ICoreWebView2Environment3 {}
7471windows_core::imp::define_interface!(
7472 ICoreWebView2Environment4,
7473 ICoreWebView2Environment4_Vtbl,
7474 0x20944379_6dcf_41d6_a0a0_abc0fc50de0d
7475);
7476impl core::ops::Deref for ICoreWebView2Environment4 {
7477 type Target = ICoreWebView2Environment3;
7478 fn deref(&self) -> &Self::Target {
7479 unsafe { core::mem::transmute(self) }
7480 }
7481}
7482windows_core::imp::interface_hierarchy!(
7483 ICoreWebView2Environment4,
7484 windows_core::IUnknown,
7485 ICoreWebView2Environment,
7486 ICoreWebView2Environment2,
7487 ICoreWebView2Environment3
7488);
7489impl ICoreWebView2Environment4 {
7490 pub unsafe fn GetProviderForHwnd(
7491 &self,
7492 hwnd: windows::Win32::Foundation::HWND,
7493 ) -> windows_core::Result<windows_core::IUnknown> {
7494 unsafe {
7495 let mut result__ = core::mem::zeroed();
7496 (windows_core::Interface::vtable(self).GetProviderForHwnd)(
7497 windows_core::Interface::as_raw(self),
7498 hwnd,
7499 &mut result__,
7500 )
7501 .and_then(|| windows_core::Type::from_abi(result__))
7502 }
7503 }
7504}
7505#[repr(C)]
7506#[doc(hidden)]
7507pub struct ICoreWebView2Environment4_Vtbl {
7508 pub base__: ICoreWebView2Environment3_Vtbl,
7509 pub GetProviderForHwnd: unsafe extern "system" fn(
7510 *mut core::ffi::c_void,
7511 windows::Win32::Foundation::HWND,
7512 *mut *mut core::ffi::c_void,
7513 ) -> windows_core::HRESULT,
7514}
7515pub trait ICoreWebView2Environment4_Impl: ICoreWebView2Environment3_Impl {
7516 fn GetProviderForHwnd(
7517 &self,
7518 hwnd: windows::Win32::Foundation::HWND,
7519 ) -> windows_core::Result<windows_core::IUnknown>;
7520}
7521impl ICoreWebView2Environment4_Vtbl {
7522 pub const fn new<Identity: ICoreWebView2Environment4_Impl, const OFFSET: isize>() -> Self {
7523 unsafe extern "system" fn GetProviderForHwnd<
7524 Identity: ICoreWebView2Environment4_Impl,
7525 const OFFSET: isize,
7526 >(
7527 this: *mut core::ffi::c_void,
7528 hwnd: windows::Win32::Foundation::HWND,
7529 provider: *mut *mut core::ffi::c_void,
7530 ) -> windows_core::HRESULT {
7531 unsafe {
7532 let this: &Identity =
7533 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7534 match ICoreWebView2Environment4_Impl::GetProviderForHwnd(
7535 this,
7536 core::mem::transmute_copy(&hwnd),
7537 ) {
7538 Ok(ok__) => {
7539 provider.write(core::mem::transmute(ok__));
7540 windows_core::HRESULT(0)
7541 }
7542 Err(err) => err.into(),
7543 }
7544 }
7545 }
7546 Self {
7547 base__: ICoreWebView2Environment3_Vtbl::new::<Identity, OFFSET>(),
7548 GetProviderForHwnd: GetProviderForHwnd::<Identity, OFFSET>,
7549 }
7550 }
7551 pub fn matches(iid: &windows_core::GUID) -> bool {
7552 iid == &<ICoreWebView2Environment4 as windows_core::Interface>::IID
7553 || iid == &<ICoreWebView2Environment as windows_core::Interface>::IID
7554 || iid == &<ICoreWebView2Environment2 as windows_core::Interface>::IID
7555 || iid == &<ICoreWebView2Environment3 as windows_core::Interface>::IID
7556 }
7557}
7558impl windows_core::RuntimeName for ICoreWebView2Environment4 {}
7559windows_core::imp::define_interface!(
7560 ICoreWebView2EnvironmentInterop,
7561 ICoreWebView2EnvironmentInterop_Vtbl,
7562 0xee503a63_c1e2_4fbf_8a4d_824e95f8bb13
7563);
7564windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentInterop, windows_core::IUnknown);
7565impl ICoreWebView2EnvironmentInterop {
7566 pub unsafe fn GetProviderForHwnd(
7567 &self,
7568 hwnd: windows::Win32::Foundation::HWND,
7569 ) -> windows_core::Result<windows_core::IUnknown> {
7570 unsafe {
7571 let mut result__ = core::mem::zeroed();
7572 (windows_core::Interface::vtable(self).GetProviderForHwnd)(
7573 windows_core::Interface::as_raw(self),
7574 hwnd,
7575 &mut result__,
7576 )
7577 .and_then(|| windows_core::Type::from_abi(result__))
7578 }
7579 }
7580}
7581#[repr(C)]
7582#[doc(hidden)]
7583pub struct ICoreWebView2EnvironmentInterop_Vtbl {
7584 pub base__: windows_core::IUnknown_Vtbl,
7585 pub GetProviderForHwnd: unsafe extern "system" fn(
7586 *mut core::ffi::c_void,
7587 windows::Win32::Foundation::HWND,
7588 *mut *mut core::ffi::c_void,
7589 ) -> windows_core::HRESULT,
7590}
7591pub trait ICoreWebView2EnvironmentInterop_Impl: windows_core::IUnknownImpl {
7592 fn GetProviderForHwnd(
7593 &self,
7594 hwnd: windows::Win32::Foundation::HWND,
7595 ) -> windows_core::Result<windows_core::IUnknown>;
7596}
7597impl ICoreWebView2EnvironmentInterop_Vtbl {
7598 pub const fn new<Identity: ICoreWebView2EnvironmentInterop_Impl, const OFFSET: isize>() -> Self
7599 {
7600 unsafe extern "system" fn GetProviderForHwnd<
7601 Identity: ICoreWebView2EnvironmentInterop_Impl,
7602 const OFFSET: isize,
7603 >(
7604 this: *mut core::ffi::c_void,
7605 hwnd: windows::Win32::Foundation::HWND,
7606 provider: *mut *mut core::ffi::c_void,
7607 ) -> windows_core::HRESULT {
7608 unsafe {
7609 let this: &Identity =
7610 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7611 match ICoreWebView2EnvironmentInterop_Impl::GetProviderForHwnd(
7612 this,
7613 core::mem::transmute_copy(&hwnd),
7614 ) {
7615 Ok(ok__) => {
7616 provider.write(core::mem::transmute(ok__));
7617 windows_core::HRESULT(0)
7618 }
7619 Err(err) => err.into(),
7620 }
7621 }
7622 }
7623 Self {
7624 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7625 GetProviderForHwnd: GetProviderForHwnd::<Identity, OFFSET>,
7626 }
7627 }
7628 pub fn matches(iid: &windows_core::GUID) -> bool {
7629 iid == &<ICoreWebView2EnvironmentInterop as windows_core::Interface>::IID
7630 }
7631}
7632impl windows_core::RuntimeName for ICoreWebView2EnvironmentInterop {}
7633windows_core::imp::define_interface!(
7634 ICoreWebView2EnvironmentOptions,
7635 ICoreWebView2EnvironmentOptions_Vtbl,
7636 0x2fde08a8_1e9a_4766_8c05_95a9ceb9d1c5
7637);
7638windows_core::imp::interface_hierarchy!(ICoreWebView2EnvironmentOptions, windows_core::IUnknown);
7639impl ICoreWebView2EnvironmentOptions {
7640 pub unsafe fn AdditionalBrowserArguments(&self) -> windows_core::Result<windows_core::PWSTR> {
7641 unsafe {
7642 let mut result__ = core::mem::zeroed();
7643 (windows_core::Interface::vtable(self).AdditionalBrowserArguments)(
7644 windows_core::Interface::as_raw(self),
7645 &mut result__,
7646 )
7647 .map(|| result__)
7648 }
7649 }
7650 pub unsafe fn SetAdditionalBrowserArguments<P0>(&self, value: P0) -> windows_core::Result<()>
7651 where
7652 P0: windows_core::Param<windows_core::PCWSTR>,
7653 {
7654 unsafe {
7655 (windows_core::Interface::vtable(self).SetAdditionalBrowserArguments)(
7656 windows_core::Interface::as_raw(self),
7657 value.param().abi(),
7658 )
7659 .ok()
7660 }
7661 }
7662 pub unsafe fn Language(&self) -> windows_core::Result<windows_core::PWSTR> {
7663 unsafe {
7664 let mut result__ = core::mem::zeroed();
7665 (windows_core::Interface::vtable(self).Language)(
7666 windows_core::Interface::as_raw(self),
7667 &mut result__,
7668 )
7669 .map(|| result__)
7670 }
7671 }
7672 pub unsafe fn SetLanguage<P0>(&self, value: P0) -> windows_core::Result<()>
7673 where
7674 P0: windows_core::Param<windows_core::PCWSTR>,
7675 {
7676 unsafe {
7677 (windows_core::Interface::vtable(self).SetLanguage)(
7678 windows_core::Interface::as_raw(self),
7679 value.param().abi(),
7680 )
7681 .ok()
7682 }
7683 }
7684 pub unsafe fn TargetCompatibleBrowserVersion(
7685 &self,
7686 ) -> windows_core::Result<windows_core::PWSTR> {
7687 unsafe {
7688 let mut result__ = core::mem::zeroed();
7689 (windows_core::Interface::vtable(self).TargetCompatibleBrowserVersion)(
7690 windows_core::Interface::as_raw(self),
7691 &mut result__,
7692 )
7693 .map(|| result__)
7694 }
7695 }
7696 pub unsafe fn SetTargetCompatibleBrowserVersion<P0>(
7697 &self,
7698 value: P0,
7699 ) -> windows_core::Result<()>
7700 where
7701 P0: windows_core::Param<windows_core::PCWSTR>,
7702 {
7703 unsafe {
7704 (windows_core::Interface::vtable(self).SetTargetCompatibleBrowserVersion)(
7705 windows_core::Interface::as_raw(self),
7706 value.param().abi(),
7707 )
7708 .ok()
7709 }
7710 }
7711 pub unsafe fn AllowSingleSignOnUsingOSPrimaryAccount(
7712 &self,
7713 ) -> windows_core::Result<windows_core::BOOL> {
7714 unsafe {
7715 let mut result__ = core::mem::zeroed();
7716 (windows_core::Interface::vtable(self).AllowSingleSignOnUsingOSPrimaryAccount)(
7717 windows_core::Interface::as_raw(self),
7718 &mut result__,
7719 )
7720 .map(|| result__)
7721 }
7722 }
7723 pub unsafe fn SetAllowSingleSignOnUsingOSPrimaryAccount(
7724 &self,
7725 allow: bool,
7726 ) -> windows_core::Result<()> {
7727 unsafe {
7728 (windows_core::Interface::vtable(self).SetAllowSingleSignOnUsingOSPrimaryAccount)(
7729 windows_core::Interface::as_raw(self),
7730 allow.into(),
7731 )
7732 .ok()
7733 }
7734 }
7735}
7736#[repr(C)]
7737#[doc(hidden)]
7738pub struct ICoreWebView2EnvironmentOptions_Vtbl {
7739 pub base__: windows_core::IUnknown_Vtbl,
7740 pub AdditionalBrowserArguments: unsafe extern "system" fn(
7741 *mut core::ffi::c_void,
7742 *mut windows_core::PWSTR,
7743 ) -> windows_core::HRESULT,
7744 pub SetAdditionalBrowserArguments: unsafe extern "system" fn(
7745 *mut core::ffi::c_void,
7746 windows_core::PCWSTR,
7747 ) -> windows_core::HRESULT,
7748 pub Language: unsafe extern "system" fn(
7749 *mut core::ffi::c_void,
7750 *mut windows_core::PWSTR,
7751 ) -> windows_core::HRESULT,
7752 pub SetLanguage: unsafe extern "system" fn(
7753 *mut core::ffi::c_void,
7754 windows_core::PCWSTR,
7755 ) -> windows_core::HRESULT,
7756 pub TargetCompatibleBrowserVersion: unsafe extern "system" fn(
7757 *mut core::ffi::c_void,
7758 *mut windows_core::PWSTR,
7759 ) -> windows_core::HRESULT,
7760 pub SetTargetCompatibleBrowserVersion: unsafe extern "system" fn(
7761 *mut core::ffi::c_void,
7762 windows_core::PCWSTR,
7763 ) -> windows_core::HRESULT,
7764 pub AllowSingleSignOnUsingOSPrimaryAccount: unsafe extern "system" fn(
7765 *mut core::ffi::c_void,
7766 *mut windows_core::BOOL,
7767 )
7768 -> windows_core::HRESULT,
7769 pub SetAllowSingleSignOnUsingOSPrimaryAccount:
7770 unsafe extern "system" fn(
7771 *mut core::ffi::c_void,
7772 windows_core::BOOL,
7773 ) -> windows_core::HRESULT,
7774}
7775pub trait ICoreWebView2EnvironmentOptions_Impl: windows_core::IUnknownImpl {
7776 fn AdditionalBrowserArguments(&self) -> windows_core::Result<windows_core::PWSTR>;
7777 fn SetAdditionalBrowserArguments(
7778 &self,
7779 value: &windows_core::PCWSTR,
7780 ) -> windows_core::Result<()>;
7781 fn Language(&self) -> windows_core::Result<windows_core::PWSTR>;
7782 fn SetLanguage(&self, value: &windows_core::PCWSTR) -> windows_core::Result<()>;
7783 fn TargetCompatibleBrowserVersion(&self) -> windows_core::Result<windows_core::PWSTR>;
7784 fn SetTargetCompatibleBrowserVersion(
7785 &self,
7786 value: &windows_core::PCWSTR,
7787 ) -> windows_core::Result<()>;
7788 fn AllowSingleSignOnUsingOSPrimaryAccount(&self) -> windows_core::Result<windows_core::BOOL>;
7789 fn SetAllowSingleSignOnUsingOSPrimaryAccount(
7790 &self,
7791 allow: windows_core::BOOL,
7792 ) -> windows_core::Result<()>;
7793}
7794impl ICoreWebView2EnvironmentOptions_Vtbl {
7795 pub const fn new<Identity: ICoreWebView2EnvironmentOptions_Impl, const OFFSET: isize>() -> Self
7796 {
7797 unsafe extern "system" fn AdditionalBrowserArguments<
7798 Identity: ICoreWebView2EnvironmentOptions_Impl,
7799 const OFFSET: isize,
7800 >(
7801 this: *mut core::ffi::c_void,
7802 value: *mut windows_core::PWSTR,
7803 ) -> windows_core::HRESULT {
7804 unsafe {
7805 let this: &Identity =
7806 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7807 match ICoreWebView2EnvironmentOptions_Impl::AdditionalBrowserArguments(this) {
7808 Ok(ok__) => {
7809 value.write(core::mem::transmute(ok__));
7810 windows_core::HRESULT(0)
7811 }
7812 Err(err) => err.into(),
7813 }
7814 }
7815 }
7816 unsafe extern "system" fn SetAdditionalBrowserArguments<
7817 Identity: ICoreWebView2EnvironmentOptions_Impl,
7818 const OFFSET: isize,
7819 >(
7820 this: *mut core::ffi::c_void,
7821 value: windows_core::PCWSTR,
7822 ) -> windows_core::HRESULT {
7823 unsafe {
7824 let this: &Identity =
7825 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7826 ICoreWebView2EnvironmentOptions_Impl::SetAdditionalBrowserArguments(
7827 this,
7828 core::mem::transmute(&value),
7829 )
7830 .into()
7831 }
7832 }
7833 unsafe extern "system" fn Language<
7834 Identity: ICoreWebView2EnvironmentOptions_Impl,
7835 const OFFSET: isize,
7836 >(
7837 this: *mut core::ffi::c_void,
7838 value: *mut windows_core::PWSTR,
7839 ) -> windows_core::HRESULT {
7840 unsafe {
7841 let this: &Identity =
7842 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7843 match ICoreWebView2EnvironmentOptions_Impl::Language(this) {
7844 Ok(ok__) => {
7845 value.write(core::mem::transmute(ok__));
7846 windows_core::HRESULT(0)
7847 }
7848 Err(err) => err.into(),
7849 }
7850 }
7851 }
7852 unsafe extern "system" fn SetLanguage<
7853 Identity: ICoreWebView2EnvironmentOptions_Impl,
7854 const OFFSET: isize,
7855 >(
7856 this: *mut core::ffi::c_void,
7857 value: windows_core::PCWSTR,
7858 ) -> windows_core::HRESULT {
7859 unsafe {
7860 let this: &Identity =
7861 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7862 ICoreWebView2EnvironmentOptions_Impl::SetLanguage(
7863 this,
7864 core::mem::transmute(&value),
7865 )
7866 .into()
7867 }
7868 }
7869 unsafe extern "system" fn TargetCompatibleBrowserVersion<
7870 Identity: ICoreWebView2EnvironmentOptions_Impl,
7871 const OFFSET: isize,
7872 >(
7873 this: *mut core::ffi::c_void,
7874 value: *mut windows_core::PWSTR,
7875 ) -> windows_core::HRESULT {
7876 unsafe {
7877 let this: &Identity =
7878 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7879 match ICoreWebView2EnvironmentOptions_Impl::TargetCompatibleBrowserVersion(this) {
7880 Ok(ok__) => {
7881 value.write(core::mem::transmute(ok__));
7882 windows_core::HRESULT(0)
7883 }
7884 Err(err) => err.into(),
7885 }
7886 }
7887 }
7888 unsafe extern "system" fn SetTargetCompatibleBrowserVersion<
7889 Identity: ICoreWebView2EnvironmentOptions_Impl,
7890 const OFFSET: isize,
7891 >(
7892 this: *mut core::ffi::c_void,
7893 value: windows_core::PCWSTR,
7894 ) -> windows_core::HRESULT {
7895 unsafe {
7896 let this: &Identity =
7897 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7898 ICoreWebView2EnvironmentOptions_Impl::SetTargetCompatibleBrowserVersion(
7899 this,
7900 core::mem::transmute(&value),
7901 )
7902 .into()
7903 }
7904 }
7905 unsafe extern "system" fn AllowSingleSignOnUsingOSPrimaryAccount<
7906 Identity: ICoreWebView2EnvironmentOptions_Impl,
7907 const OFFSET: isize,
7908 >(
7909 this: *mut core::ffi::c_void,
7910 allow: *mut windows_core::BOOL,
7911 ) -> windows_core::HRESULT {
7912 unsafe {
7913 let this: &Identity =
7914 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7915 match ICoreWebView2EnvironmentOptions_Impl::AllowSingleSignOnUsingOSPrimaryAccount(
7916 this,
7917 ) {
7918 Ok(ok__) => {
7919 allow.write(core::mem::transmute(ok__));
7920 windows_core::HRESULT(0)
7921 }
7922 Err(err) => err.into(),
7923 }
7924 }
7925 }
7926 unsafe extern "system" fn SetAllowSingleSignOnUsingOSPrimaryAccount<
7927 Identity: ICoreWebView2EnvironmentOptions_Impl,
7928 const OFFSET: isize,
7929 >(
7930 this: *mut core::ffi::c_void,
7931 allow: windows_core::BOOL,
7932 ) -> windows_core::HRESULT {
7933 unsafe {
7934 let this: &Identity =
7935 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7936 ICoreWebView2EnvironmentOptions_Impl::SetAllowSingleSignOnUsingOSPrimaryAccount(
7937 this,
7938 core::mem::transmute_copy(&allow),
7939 )
7940 .into()
7941 }
7942 }
7943 Self {
7944 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7945 AdditionalBrowserArguments: AdditionalBrowserArguments::<Identity, OFFSET>,
7946 SetAdditionalBrowserArguments: SetAdditionalBrowserArguments::<Identity, OFFSET>,
7947 Language: Language::<Identity, OFFSET>,
7948 SetLanguage: SetLanguage::<Identity, OFFSET>,
7949 TargetCompatibleBrowserVersion: TargetCompatibleBrowserVersion::<Identity, OFFSET>,
7950 SetTargetCompatibleBrowserVersion: SetTargetCompatibleBrowserVersion::<Identity, OFFSET>,
7951 AllowSingleSignOnUsingOSPrimaryAccount: AllowSingleSignOnUsingOSPrimaryAccount::<
7952 Identity,
7953 OFFSET,
7954 >,
7955 SetAllowSingleSignOnUsingOSPrimaryAccount: SetAllowSingleSignOnUsingOSPrimaryAccount::<
7956 Identity,
7957 OFFSET,
7958 >,
7959 }
7960 }
7961 pub fn matches(iid: &windows_core::GUID) -> bool {
7962 iid == &<ICoreWebView2EnvironmentOptions as windows_core::Interface>::IID
7963 }
7964}
7965impl windows_core::RuntimeName for ICoreWebView2EnvironmentOptions {}
7966windows_core::imp::define_interface!(
7967 ICoreWebView2ExecuteScriptCompletedHandler,
7968 ICoreWebView2ExecuteScriptCompletedHandler_Vtbl,
7969 0x49511172_cc67_4bca_9923_137112f4c4cc
7970);
7971windows_core::imp::interface_hierarchy!(
7972 ICoreWebView2ExecuteScriptCompletedHandler,
7973 windows_core::IUnknown
7974);
7975impl ICoreWebView2ExecuteScriptCompletedHandler {
7976 pub unsafe fn Invoke<P1>(
7977 &self,
7978 errorcode: windows_core::HRESULT,
7979 resultobjectasjson: P1,
7980 ) -> windows_core::Result<()>
7981 where
7982 P1: windows_core::Param<windows_core::PCWSTR>,
7983 {
7984 unsafe {
7985 (windows_core::Interface::vtable(self).Invoke)(
7986 windows_core::Interface::as_raw(self),
7987 errorcode,
7988 resultobjectasjson.param().abi(),
7989 )
7990 .ok()
7991 }
7992 }
7993}
7994#[repr(C)]
7995#[doc(hidden)]
7996pub struct ICoreWebView2ExecuteScriptCompletedHandler_Vtbl {
7997 pub base__: windows_core::IUnknown_Vtbl,
7998 pub Invoke: unsafe extern "system" fn(
7999 *mut core::ffi::c_void,
8000 windows_core::HRESULT,
8001 windows_core::PCWSTR,
8002 ) -> windows_core::HRESULT,
8003}
8004pub trait ICoreWebView2ExecuteScriptCompletedHandler_Impl: windows_core::IUnknownImpl {
8005 fn Invoke(
8006 &self,
8007 errorcode: windows_core::HRESULT,
8008 resultobjectasjson: &windows_core::PCWSTR,
8009 ) -> windows_core::Result<()>;
8010}
8011impl ICoreWebView2ExecuteScriptCompletedHandler_Vtbl {
8012 pub const fn new<
8013 Identity: ICoreWebView2ExecuteScriptCompletedHandler_Impl,
8014 const OFFSET: isize,
8015 >() -> Self {
8016 unsafe extern "system" fn Invoke<
8017 Identity: ICoreWebView2ExecuteScriptCompletedHandler_Impl,
8018 const OFFSET: isize,
8019 >(
8020 this: *mut core::ffi::c_void,
8021 errorcode: windows_core::HRESULT,
8022 resultobjectasjson: windows_core::PCWSTR,
8023 ) -> windows_core::HRESULT {
8024 unsafe {
8025 let this: &Identity =
8026 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8027 ICoreWebView2ExecuteScriptCompletedHandler_Impl::Invoke(
8028 this,
8029 core::mem::transmute_copy(&errorcode),
8030 core::mem::transmute(&resultobjectasjson),
8031 )
8032 .into()
8033 }
8034 }
8035 Self {
8036 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8037 Invoke: Invoke::<Identity, OFFSET>,
8038 }
8039 }
8040 pub fn matches(iid: &windows_core::GUID) -> bool {
8041 iid == &<ICoreWebView2ExecuteScriptCompletedHandler as windows_core::Interface>::IID
8042 }
8043}
8044impl windows_core::RuntimeName for ICoreWebView2ExecuteScriptCompletedHandler {}
8045windows_core::imp::define_interface!(
8046 ICoreWebView2FocusChangedEventHandler,
8047 ICoreWebView2FocusChangedEventHandler_Vtbl,
8048 0x05ea24bd_6452_4926_9014_4b82b498135d
8049);
8050windows_core::imp::interface_hierarchy!(
8051 ICoreWebView2FocusChangedEventHandler,
8052 windows_core::IUnknown
8053);
8054impl ICoreWebView2FocusChangedEventHandler {
8055 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
8056 where
8057 P0: windows_core::Param<ICoreWebView2Controller>,
8058 P1: windows_core::Param<windows_core::IUnknown>,
8059 {
8060 unsafe {
8061 (windows_core::Interface::vtable(self).Invoke)(
8062 windows_core::Interface::as_raw(self),
8063 sender.param().abi(),
8064 args.param().abi(),
8065 )
8066 .ok()
8067 }
8068 }
8069}
8070#[repr(C)]
8071#[doc(hidden)]
8072pub struct ICoreWebView2FocusChangedEventHandler_Vtbl {
8073 pub base__: windows_core::IUnknown_Vtbl,
8074 pub Invoke: unsafe extern "system" fn(
8075 *mut core::ffi::c_void,
8076 *mut core::ffi::c_void,
8077 *mut core::ffi::c_void,
8078 ) -> windows_core::HRESULT,
8079}
8080pub trait ICoreWebView2FocusChangedEventHandler_Impl: windows_core::IUnknownImpl {
8081 fn Invoke(
8082 &self,
8083 sender: windows_core::Ref<ICoreWebView2Controller>,
8084 args: windows_core::Ref<windows_core::IUnknown>,
8085 ) -> windows_core::Result<()>;
8086}
8087impl ICoreWebView2FocusChangedEventHandler_Vtbl {
8088 pub const fn new<Identity: ICoreWebView2FocusChangedEventHandler_Impl, const OFFSET: isize>(
8089 ) -> Self {
8090 unsafe extern "system" fn Invoke<
8091 Identity: ICoreWebView2FocusChangedEventHandler_Impl,
8092 const OFFSET: isize,
8093 >(
8094 this: *mut core::ffi::c_void,
8095 sender: *mut core::ffi::c_void,
8096 args: *mut core::ffi::c_void,
8097 ) -> windows_core::HRESULT {
8098 unsafe {
8099 let this: &Identity =
8100 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8101 ICoreWebView2FocusChangedEventHandler_Impl::Invoke(
8102 this,
8103 core::mem::transmute_copy(&sender),
8104 core::mem::transmute_copy(&args),
8105 )
8106 .into()
8107 }
8108 }
8109 Self {
8110 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8111 Invoke: Invoke::<Identity, OFFSET>,
8112 }
8113 }
8114 pub fn matches(iid: &windows_core::GUID) -> bool {
8115 iid == &<ICoreWebView2FocusChangedEventHandler as windows_core::Interface>::IID
8116 }
8117}
8118impl windows_core::RuntimeName for ICoreWebView2FocusChangedEventHandler {}
8119windows_core::imp::define_interface!(
8120 ICoreWebView2FrameInfo,
8121 ICoreWebView2FrameInfo_Vtbl,
8122 0xda86b8a1_bdf3_4f11_9955_528cefa59727
8123);
8124windows_core::imp::interface_hierarchy!(ICoreWebView2FrameInfo, windows_core::IUnknown);
8125impl ICoreWebView2FrameInfo {
8126 pub unsafe fn Name(&self) -> windows_core::Result<windows_core::PWSTR> {
8127 unsafe {
8128 let mut result__ = core::mem::zeroed();
8129 (windows_core::Interface::vtable(self).Name)(
8130 windows_core::Interface::as_raw(self),
8131 &mut result__,
8132 )
8133 .map(|| result__)
8134 }
8135 }
8136 pub unsafe fn Source(&self) -> windows_core::Result<windows_core::PWSTR> {
8137 unsafe {
8138 let mut result__ = core::mem::zeroed();
8139 (windows_core::Interface::vtable(self).Source)(
8140 windows_core::Interface::as_raw(self),
8141 &mut result__,
8142 )
8143 .map(|| result__)
8144 }
8145 }
8146}
8147#[repr(C)]
8148#[doc(hidden)]
8149pub struct ICoreWebView2FrameInfo_Vtbl {
8150 pub base__: windows_core::IUnknown_Vtbl,
8151 pub Name: unsafe extern "system" fn(
8152 *mut core::ffi::c_void,
8153 *mut windows_core::PWSTR,
8154 ) -> windows_core::HRESULT,
8155 pub Source: unsafe extern "system" fn(
8156 *mut core::ffi::c_void,
8157 *mut windows_core::PWSTR,
8158 ) -> windows_core::HRESULT,
8159}
8160pub trait ICoreWebView2FrameInfo_Impl: windows_core::IUnknownImpl {
8161 fn Name(&self) -> windows_core::Result<windows_core::PWSTR>;
8162 fn Source(&self) -> windows_core::Result<windows_core::PWSTR>;
8163}
8164impl ICoreWebView2FrameInfo_Vtbl {
8165 pub const fn new<Identity: ICoreWebView2FrameInfo_Impl, const OFFSET: isize>() -> Self {
8166 unsafe extern "system" fn Name<
8167 Identity: ICoreWebView2FrameInfo_Impl,
8168 const OFFSET: isize,
8169 >(
8170 this: *mut core::ffi::c_void,
8171 name: *mut windows_core::PWSTR,
8172 ) -> windows_core::HRESULT {
8173 unsafe {
8174 let this: &Identity =
8175 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8176 match ICoreWebView2FrameInfo_Impl::Name(this) {
8177 Ok(ok__) => {
8178 name.write(core::mem::transmute(ok__));
8179 windows_core::HRESULT(0)
8180 }
8181 Err(err) => err.into(),
8182 }
8183 }
8184 }
8185 unsafe extern "system" fn Source<
8186 Identity: ICoreWebView2FrameInfo_Impl,
8187 const OFFSET: isize,
8188 >(
8189 this: *mut core::ffi::c_void,
8190 source: *mut windows_core::PWSTR,
8191 ) -> windows_core::HRESULT {
8192 unsafe {
8193 let this: &Identity =
8194 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8195 match ICoreWebView2FrameInfo_Impl::Source(this) {
8196 Ok(ok__) => {
8197 source.write(core::mem::transmute(ok__));
8198 windows_core::HRESULT(0)
8199 }
8200 Err(err) => err.into(),
8201 }
8202 }
8203 }
8204 Self {
8205 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8206 Name: Name::<Identity, OFFSET>,
8207 Source: Source::<Identity, OFFSET>,
8208 }
8209 }
8210 pub fn matches(iid: &windows_core::GUID) -> bool {
8211 iid == &<ICoreWebView2FrameInfo as windows_core::Interface>::IID
8212 }
8213}
8214impl windows_core::RuntimeName for ICoreWebView2FrameInfo {}
8215windows_core::imp::define_interface!(
8216 ICoreWebView2FrameInfoCollection,
8217 ICoreWebView2FrameInfoCollection_Vtbl,
8218 0x8f834154_d38e_4d90_affb_6800a7272839
8219);
8220windows_core::imp::interface_hierarchy!(ICoreWebView2FrameInfoCollection, windows_core::IUnknown);
8221impl ICoreWebView2FrameInfoCollection {
8222 pub unsafe fn GetIterator(
8223 &self,
8224 ) -> windows_core::Result<ICoreWebView2FrameInfoCollectionIterator> {
8225 unsafe {
8226 let mut result__ = core::mem::zeroed();
8227 (windows_core::Interface::vtable(self).GetIterator)(
8228 windows_core::Interface::as_raw(self),
8229 &mut result__,
8230 )
8231 .and_then(|| windows_core::Type::from_abi(result__))
8232 }
8233 }
8234}
8235#[repr(C)]
8236#[doc(hidden)]
8237pub struct ICoreWebView2FrameInfoCollection_Vtbl {
8238 pub base__: windows_core::IUnknown_Vtbl,
8239 pub GetIterator: unsafe extern "system" fn(
8240 *mut core::ffi::c_void,
8241 *mut *mut core::ffi::c_void,
8242 ) -> windows_core::HRESULT,
8243}
8244pub trait ICoreWebView2FrameInfoCollection_Impl: windows_core::IUnknownImpl {
8245 fn GetIterator(&self) -> windows_core::Result<ICoreWebView2FrameInfoCollectionIterator>;
8246}
8247impl ICoreWebView2FrameInfoCollection_Vtbl {
8248 pub const fn new<Identity: ICoreWebView2FrameInfoCollection_Impl, const OFFSET: isize>() -> Self
8249 {
8250 unsafe extern "system" fn GetIterator<
8251 Identity: ICoreWebView2FrameInfoCollection_Impl,
8252 const OFFSET: isize,
8253 >(
8254 this: *mut core::ffi::c_void,
8255 iterator: *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 ICoreWebView2FrameInfoCollection_Impl::GetIterator(this) {
8261 Ok(ok__) => {
8262 iterator.write(core::mem::transmute(ok__));
8263 windows_core::HRESULT(0)
8264 }
8265 Err(err) => err.into(),
8266 }
8267 }
8268 }
8269 Self {
8270 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8271 GetIterator: GetIterator::<Identity, OFFSET>,
8272 }
8273 }
8274 pub fn matches(iid: &windows_core::GUID) -> bool {
8275 iid == &<ICoreWebView2FrameInfoCollection as windows_core::Interface>::IID
8276 }
8277}
8278impl windows_core::RuntimeName for ICoreWebView2FrameInfoCollection {}
8279windows_core::imp::define_interface!(
8280 ICoreWebView2FrameInfoCollectionIterator,
8281 ICoreWebView2FrameInfoCollectionIterator_Vtbl,
8282 0x1bf89e2d_1b2b_4629_b28f_05099b41bb03
8283);
8284windows_core::imp::interface_hierarchy!(
8285 ICoreWebView2FrameInfoCollectionIterator,
8286 windows_core::IUnknown
8287);
8288impl ICoreWebView2FrameInfoCollectionIterator {
8289 pub unsafe fn HasCurrent(&self) -> windows_core::Result<windows_core::BOOL> {
8290 unsafe {
8291 let mut result__ = core::mem::zeroed();
8292 (windows_core::Interface::vtable(self).HasCurrent)(
8293 windows_core::Interface::as_raw(self),
8294 &mut result__,
8295 )
8296 .map(|| result__)
8297 }
8298 }
8299 pub unsafe fn GetCurrent(&self) -> windows_core::Result<ICoreWebView2FrameInfo> {
8300 unsafe {
8301 let mut result__ = core::mem::zeroed();
8302 (windows_core::Interface::vtable(self).GetCurrent)(
8303 windows_core::Interface::as_raw(self),
8304 &mut result__,
8305 )
8306 .and_then(|| windows_core::Type::from_abi(result__))
8307 }
8308 }
8309 pub unsafe fn MoveNext(&self, hasnext: *mut windows_core::BOOL) -> windows_core::Result<()> {
8310 unsafe {
8311 (windows_core::Interface::vtable(self).MoveNext)(
8312 windows_core::Interface::as_raw(self),
8313 hasnext as _,
8314 )
8315 .ok()
8316 }
8317 }
8318}
8319#[repr(C)]
8320#[doc(hidden)]
8321pub struct ICoreWebView2FrameInfoCollectionIterator_Vtbl {
8322 pub base__: windows_core::IUnknown_Vtbl,
8323 pub HasCurrent: unsafe extern "system" fn(
8324 *mut core::ffi::c_void,
8325 *mut windows_core::BOOL,
8326 ) -> windows_core::HRESULT,
8327 pub GetCurrent: unsafe extern "system" fn(
8328 *mut core::ffi::c_void,
8329 *mut *mut core::ffi::c_void,
8330 ) -> windows_core::HRESULT,
8331 pub MoveNext: unsafe extern "system" fn(
8332 *mut core::ffi::c_void,
8333 *mut windows_core::BOOL,
8334 ) -> windows_core::HRESULT,
8335}
8336pub trait ICoreWebView2FrameInfoCollectionIterator_Impl: windows_core::IUnknownImpl {
8337 fn HasCurrent(&self) -> windows_core::Result<windows_core::BOOL>;
8338 fn GetCurrent(&self) -> windows_core::Result<ICoreWebView2FrameInfo>;
8339 fn MoveNext(&self, hasnext: *mut windows_core::BOOL) -> windows_core::Result<()>;
8340}
8341impl ICoreWebView2FrameInfoCollectionIterator_Vtbl {
8342 pub const fn new<
8343 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
8344 const OFFSET: isize,
8345 >() -> Self {
8346 unsafe extern "system" fn HasCurrent<
8347 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
8348 const OFFSET: isize,
8349 >(
8350 this: *mut core::ffi::c_void,
8351 hascurrent: *mut windows_core::BOOL,
8352 ) -> windows_core::HRESULT {
8353 unsafe {
8354 let this: &Identity =
8355 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8356 match ICoreWebView2FrameInfoCollectionIterator_Impl::HasCurrent(this) {
8357 Ok(ok__) => {
8358 hascurrent.write(core::mem::transmute(ok__));
8359 windows_core::HRESULT(0)
8360 }
8361 Err(err) => err.into(),
8362 }
8363 }
8364 }
8365 unsafe extern "system" fn GetCurrent<
8366 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
8367 const OFFSET: isize,
8368 >(
8369 this: *mut core::ffi::c_void,
8370 frameinfo: *mut *mut core::ffi::c_void,
8371 ) -> windows_core::HRESULT {
8372 unsafe {
8373 let this: &Identity =
8374 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8375 match ICoreWebView2FrameInfoCollectionIterator_Impl::GetCurrent(this) {
8376 Ok(ok__) => {
8377 frameinfo.write(core::mem::transmute(ok__));
8378 windows_core::HRESULT(0)
8379 }
8380 Err(err) => err.into(),
8381 }
8382 }
8383 }
8384 unsafe extern "system" fn MoveNext<
8385 Identity: ICoreWebView2FrameInfoCollectionIterator_Impl,
8386 const OFFSET: isize,
8387 >(
8388 this: *mut core::ffi::c_void,
8389 hasnext: *mut windows_core::BOOL,
8390 ) -> windows_core::HRESULT {
8391 unsafe {
8392 let this: &Identity =
8393 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8394 ICoreWebView2FrameInfoCollectionIterator_Impl::MoveNext(
8395 this,
8396 core::mem::transmute_copy(&hasnext),
8397 )
8398 .into()
8399 }
8400 }
8401 Self {
8402 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8403 HasCurrent: HasCurrent::<Identity, OFFSET>,
8404 GetCurrent: GetCurrent::<Identity, OFFSET>,
8405 MoveNext: MoveNext::<Identity, OFFSET>,
8406 }
8407 }
8408 pub fn matches(iid: &windows_core::GUID) -> bool {
8409 iid == &<ICoreWebView2FrameInfoCollectionIterator as windows_core::Interface>::IID
8410 }
8411}
8412impl windows_core::RuntimeName for ICoreWebView2FrameInfoCollectionIterator {}
8413windows_core::imp::define_interface!(
8414 ICoreWebView2GetCookiesCompletedHandler,
8415 ICoreWebView2GetCookiesCompletedHandler_Vtbl,
8416 0x5a4f5069_5c15_47c3_8646_f4de1c116670
8417);
8418windows_core::imp::interface_hierarchy!(
8419 ICoreWebView2GetCookiesCompletedHandler,
8420 windows_core::IUnknown
8421);
8422impl ICoreWebView2GetCookiesCompletedHandler {
8423 pub unsafe fn Invoke<P1>(
8424 &self,
8425 result: windows_core::HRESULT,
8426 cookielist: P1,
8427 ) -> windows_core::Result<()>
8428 where
8429 P1: windows_core::Param<ICoreWebView2CookieList>,
8430 {
8431 unsafe {
8432 (windows_core::Interface::vtable(self).Invoke)(
8433 windows_core::Interface::as_raw(self),
8434 result,
8435 cookielist.param().abi(),
8436 )
8437 .ok()
8438 }
8439 }
8440}
8441#[repr(C)]
8442#[doc(hidden)]
8443pub struct ICoreWebView2GetCookiesCompletedHandler_Vtbl {
8444 pub base__: windows_core::IUnknown_Vtbl,
8445 pub Invoke: unsafe extern "system" fn(
8446 *mut core::ffi::c_void,
8447 windows_core::HRESULT,
8448 *mut core::ffi::c_void,
8449 ) -> windows_core::HRESULT,
8450}
8451pub trait ICoreWebView2GetCookiesCompletedHandler_Impl: windows_core::IUnknownImpl {
8452 fn Invoke(
8453 &self,
8454 result: windows_core::HRESULT,
8455 cookielist: windows_core::Ref<ICoreWebView2CookieList>,
8456 ) -> windows_core::Result<()>;
8457}
8458impl ICoreWebView2GetCookiesCompletedHandler_Vtbl {
8459 pub const fn new<
8460 Identity: ICoreWebView2GetCookiesCompletedHandler_Impl,
8461 const OFFSET: isize,
8462 >() -> Self {
8463 unsafe extern "system" fn Invoke<
8464 Identity: ICoreWebView2GetCookiesCompletedHandler_Impl,
8465 const OFFSET: isize,
8466 >(
8467 this: *mut core::ffi::c_void,
8468 result: windows_core::HRESULT,
8469 cookielist: *mut core::ffi::c_void,
8470 ) -> windows_core::HRESULT {
8471 unsafe {
8472 let this: &Identity =
8473 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8474 ICoreWebView2GetCookiesCompletedHandler_Impl::Invoke(
8475 this,
8476 core::mem::transmute_copy(&result),
8477 core::mem::transmute_copy(&cookielist),
8478 )
8479 .into()
8480 }
8481 }
8482 Self {
8483 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8484 Invoke: Invoke::<Identity, OFFSET>,
8485 }
8486 }
8487 pub fn matches(iid: &windows_core::GUID) -> bool {
8488 iid == &<ICoreWebView2GetCookiesCompletedHandler as windows_core::Interface>::IID
8489 }
8490}
8491impl windows_core::RuntimeName for ICoreWebView2GetCookiesCompletedHandler {}
8492windows_core::imp::define_interface!(
8493 ICoreWebView2HistoryChangedEventHandler,
8494 ICoreWebView2HistoryChangedEventHandler_Vtbl,
8495 0xc79a420c_efd9_4058_9295_3e8b4bcab645
8496);
8497windows_core::imp::interface_hierarchy!(
8498 ICoreWebView2HistoryChangedEventHandler,
8499 windows_core::IUnknown
8500);
8501impl ICoreWebView2HistoryChangedEventHandler {
8502 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
8503 where
8504 P0: windows_core::Param<ICoreWebView2>,
8505 P1: windows_core::Param<windows_core::IUnknown>,
8506 {
8507 unsafe {
8508 (windows_core::Interface::vtable(self).Invoke)(
8509 windows_core::Interface::as_raw(self),
8510 sender.param().abi(),
8511 args.param().abi(),
8512 )
8513 .ok()
8514 }
8515 }
8516}
8517#[repr(C)]
8518#[doc(hidden)]
8519pub struct ICoreWebView2HistoryChangedEventHandler_Vtbl {
8520 pub base__: windows_core::IUnknown_Vtbl,
8521 pub Invoke: unsafe extern "system" fn(
8522 *mut core::ffi::c_void,
8523 *mut core::ffi::c_void,
8524 *mut core::ffi::c_void,
8525 ) -> windows_core::HRESULT,
8526}
8527pub trait ICoreWebView2HistoryChangedEventHandler_Impl: windows_core::IUnknownImpl {
8528 fn Invoke(
8529 &self,
8530 sender: windows_core::Ref<ICoreWebView2>,
8531 args: windows_core::Ref<windows_core::IUnknown>,
8532 ) -> windows_core::Result<()>;
8533}
8534impl ICoreWebView2HistoryChangedEventHandler_Vtbl {
8535 pub const fn new<
8536 Identity: ICoreWebView2HistoryChangedEventHandler_Impl,
8537 const OFFSET: isize,
8538 >() -> Self {
8539 unsafe extern "system" fn Invoke<
8540 Identity: ICoreWebView2HistoryChangedEventHandler_Impl,
8541 const OFFSET: isize,
8542 >(
8543 this: *mut core::ffi::c_void,
8544 sender: *mut core::ffi::c_void,
8545 args: *mut core::ffi::c_void,
8546 ) -> windows_core::HRESULT {
8547 unsafe {
8548 let this: &Identity =
8549 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8550 ICoreWebView2HistoryChangedEventHandler_Impl::Invoke(
8551 this,
8552 core::mem::transmute_copy(&sender),
8553 core::mem::transmute_copy(&args),
8554 )
8555 .into()
8556 }
8557 }
8558 Self {
8559 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8560 Invoke: Invoke::<Identity, OFFSET>,
8561 }
8562 }
8563 pub fn matches(iid: &windows_core::GUID) -> bool {
8564 iid == &<ICoreWebView2HistoryChangedEventHandler as windows_core::Interface>::IID
8565 }
8566}
8567impl windows_core::RuntimeName for ICoreWebView2HistoryChangedEventHandler {}
8568windows_core::imp::define_interface!(
8569 ICoreWebView2HttpHeadersCollectionIterator,
8570 ICoreWebView2HttpHeadersCollectionIterator_Vtbl,
8571 0x0702fc30_f43b_47bb_ab52_a42cb552ad9f
8572);
8573windows_core::imp::interface_hierarchy!(
8574 ICoreWebView2HttpHeadersCollectionIterator,
8575 windows_core::IUnknown
8576);
8577impl ICoreWebView2HttpHeadersCollectionIterator {
8578 pub unsafe fn GetCurrentHeader(
8579 &self,
8580 name: *mut windows_core::PWSTR,
8581 value: *mut windows_core::PWSTR,
8582 ) -> windows_core::Result<()> {
8583 unsafe {
8584 (windows_core::Interface::vtable(self).GetCurrentHeader)(
8585 windows_core::Interface::as_raw(self),
8586 name as _,
8587 value as _,
8588 )
8589 .ok()
8590 }
8591 }
8592 pub unsafe fn HasCurrentHeader(&self) -> windows_core::Result<windows_core::BOOL> {
8593 unsafe {
8594 let mut result__ = core::mem::zeroed();
8595 (windows_core::Interface::vtable(self).HasCurrentHeader)(
8596 windows_core::Interface::as_raw(self),
8597 &mut result__,
8598 )
8599 .map(|| result__)
8600 }
8601 }
8602 pub unsafe fn MoveNext(&self, hasnext: *mut windows_core::BOOL) -> windows_core::Result<()> {
8603 unsafe {
8604 (windows_core::Interface::vtable(self).MoveNext)(
8605 windows_core::Interface::as_raw(self),
8606 hasnext as _,
8607 )
8608 .ok()
8609 }
8610 }
8611}
8612#[repr(C)]
8613#[doc(hidden)]
8614pub struct ICoreWebView2HttpHeadersCollectionIterator_Vtbl {
8615 pub base__: windows_core::IUnknown_Vtbl,
8616 pub GetCurrentHeader: unsafe extern "system" fn(
8617 *mut core::ffi::c_void,
8618 *mut windows_core::PWSTR,
8619 *mut windows_core::PWSTR,
8620 ) -> windows_core::HRESULT,
8621 pub HasCurrentHeader: unsafe extern "system" fn(
8622 *mut core::ffi::c_void,
8623 *mut windows_core::BOOL,
8624 ) -> windows_core::HRESULT,
8625 pub MoveNext: unsafe extern "system" fn(
8626 *mut core::ffi::c_void,
8627 *mut windows_core::BOOL,
8628 ) -> windows_core::HRESULT,
8629}
8630pub trait ICoreWebView2HttpHeadersCollectionIterator_Impl: windows_core::IUnknownImpl {
8631 fn GetCurrentHeader(
8632 &self,
8633 name: *mut windows_core::PWSTR,
8634 value: *mut windows_core::PWSTR,
8635 ) -> windows_core::Result<()>;
8636 fn HasCurrentHeader(&self) -> windows_core::Result<windows_core::BOOL>;
8637 fn MoveNext(&self, hasnext: *mut windows_core::BOOL) -> windows_core::Result<()>;
8638}
8639impl ICoreWebView2HttpHeadersCollectionIterator_Vtbl {
8640 pub const fn new<
8641 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
8642 const OFFSET: isize,
8643 >() -> Self {
8644 unsafe extern "system" fn GetCurrentHeader<
8645 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
8646 const OFFSET: isize,
8647 >(
8648 this: *mut core::ffi::c_void,
8649 name: *mut windows_core::PWSTR,
8650 value: *mut windows_core::PWSTR,
8651 ) -> windows_core::HRESULT {
8652 unsafe {
8653 let this: &Identity =
8654 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8655 ICoreWebView2HttpHeadersCollectionIterator_Impl::GetCurrentHeader(
8656 this,
8657 core::mem::transmute_copy(&name),
8658 core::mem::transmute_copy(&value),
8659 )
8660 .into()
8661 }
8662 }
8663 unsafe extern "system" fn HasCurrentHeader<
8664 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
8665 const OFFSET: isize,
8666 >(
8667 this: *mut core::ffi::c_void,
8668 hascurrent: *mut windows_core::BOOL,
8669 ) -> windows_core::HRESULT {
8670 unsafe {
8671 let this: &Identity =
8672 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8673 match ICoreWebView2HttpHeadersCollectionIterator_Impl::HasCurrentHeader(this) {
8674 Ok(ok__) => {
8675 hascurrent.write(core::mem::transmute(ok__));
8676 windows_core::HRESULT(0)
8677 }
8678 Err(err) => err.into(),
8679 }
8680 }
8681 }
8682 unsafe extern "system" fn MoveNext<
8683 Identity: ICoreWebView2HttpHeadersCollectionIterator_Impl,
8684 const OFFSET: isize,
8685 >(
8686 this: *mut core::ffi::c_void,
8687 hasnext: *mut windows_core::BOOL,
8688 ) -> windows_core::HRESULT {
8689 unsafe {
8690 let this: &Identity =
8691 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8692 ICoreWebView2HttpHeadersCollectionIterator_Impl::MoveNext(
8693 this,
8694 core::mem::transmute_copy(&hasnext),
8695 )
8696 .into()
8697 }
8698 }
8699 Self {
8700 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8701 GetCurrentHeader: GetCurrentHeader::<Identity, OFFSET>,
8702 HasCurrentHeader: HasCurrentHeader::<Identity, OFFSET>,
8703 MoveNext: MoveNext::<Identity, OFFSET>,
8704 }
8705 }
8706 pub fn matches(iid: &windows_core::GUID) -> bool {
8707 iid == &<ICoreWebView2HttpHeadersCollectionIterator as windows_core::Interface>::IID
8708 }
8709}
8710impl windows_core::RuntimeName for ICoreWebView2HttpHeadersCollectionIterator {}
8711windows_core::imp::define_interface!(
8712 ICoreWebView2HttpRequestHeaders,
8713 ICoreWebView2HttpRequestHeaders_Vtbl,
8714 0xe86cac0e_5523_465c_b536_8fb9fc8c8c60
8715);
8716windows_core::imp::interface_hierarchy!(ICoreWebView2HttpRequestHeaders, windows_core::IUnknown);
8717impl ICoreWebView2HttpRequestHeaders {
8718 pub unsafe fn GetHeader<P0>(
8719 &self,
8720 name: P0,
8721 value: *mut windows_core::PWSTR,
8722 ) -> windows_core::Result<()>
8723 where
8724 P0: windows_core::Param<windows_core::PCWSTR>,
8725 {
8726 unsafe {
8727 (windows_core::Interface::vtable(self).GetHeader)(
8728 windows_core::Interface::as_raw(self),
8729 name.param().abi(),
8730 value as _,
8731 )
8732 .ok()
8733 }
8734 }
8735 pub unsafe fn GetHeaders<P0>(
8736 &self,
8737 name: P0,
8738 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>
8739 where
8740 P0: windows_core::Param<windows_core::PCWSTR>,
8741 {
8742 unsafe {
8743 let mut result__ = core::mem::zeroed();
8744 (windows_core::Interface::vtable(self).GetHeaders)(
8745 windows_core::Interface::as_raw(self),
8746 name.param().abi(),
8747 &mut result__,
8748 )
8749 .and_then(|| windows_core::Type::from_abi(result__))
8750 }
8751 }
8752 pub unsafe fn Contains<P0>(
8753 &self,
8754 name: P0,
8755 contains: *mut windows_core::BOOL,
8756 ) -> windows_core::Result<()>
8757 where
8758 P0: windows_core::Param<windows_core::PCWSTR>,
8759 {
8760 unsafe {
8761 (windows_core::Interface::vtable(self).Contains)(
8762 windows_core::Interface::as_raw(self),
8763 name.param().abi(),
8764 contains as _,
8765 )
8766 .ok()
8767 }
8768 }
8769 pub unsafe fn SetHeader<P0, P1>(&self, name: P0, value: P1) -> windows_core::Result<()>
8770 where
8771 P0: windows_core::Param<windows_core::PCWSTR>,
8772 P1: windows_core::Param<windows_core::PCWSTR>,
8773 {
8774 unsafe {
8775 (windows_core::Interface::vtable(self).SetHeader)(
8776 windows_core::Interface::as_raw(self),
8777 name.param().abi(),
8778 value.param().abi(),
8779 )
8780 .ok()
8781 }
8782 }
8783 pub unsafe fn RemoveHeader<P0>(&self, name: P0) -> windows_core::Result<()>
8784 where
8785 P0: windows_core::Param<windows_core::PCWSTR>,
8786 {
8787 unsafe {
8788 (windows_core::Interface::vtable(self).RemoveHeader)(
8789 windows_core::Interface::as_raw(self),
8790 name.param().abi(),
8791 )
8792 .ok()
8793 }
8794 }
8795 pub unsafe fn GetIterator(
8796 &self,
8797 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator> {
8798 unsafe {
8799 let mut result__ = core::mem::zeroed();
8800 (windows_core::Interface::vtable(self).GetIterator)(
8801 windows_core::Interface::as_raw(self),
8802 &mut result__,
8803 )
8804 .and_then(|| windows_core::Type::from_abi(result__))
8805 }
8806 }
8807}
8808#[repr(C)]
8809#[doc(hidden)]
8810pub struct ICoreWebView2HttpRequestHeaders_Vtbl {
8811 pub base__: windows_core::IUnknown_Vtbl,
8812 pub GetHeader: unsafe extern "system" fn(
8813 *mut core::ffi::c_void,
8814 windows_core::PCWSTR,
8815 *mut windows_core::PWSTR,
8816 ) -> windows_core::HRESULT,
8817 pub GetHeaders: unsafe extern "system" fn(
8818 *mut core::ffi::c_void,
8819 windows_core::PCWSTR,
8820 *mut *mut core::ffi::c_void,
8821 ) -> windows_core::HRESULT,
8822 pub Contains: unsafe extern "system" fn(
8823 *mut core::ffi::c_void,
8824 windows_core::PCWSTR,
8825 *mut windows_core::BOOL,
8826 ) -> windows_core::HRESULT,
8827 pub SetHeader: unsafe extern "system" fn(
8828 *mut core::ffi::c_void,
8829 windows_core::PCWSTR,
8830 windows_core::PCWSTR,
8831 ) -> windows_core::HRESULT,
8832 pub RemoveHeader: unsafe extern "system" fn(
8833 *mut core::ffi::c_void,
8834 windows_core::PCWSTR,
8835 ) -> windows_core::HRESULT,
8836 pub GetIterator: unsafe extern "system" fn(
8837 *mut core::ffi::c_void,
8838 *mut *mut core::ffi::c_void,
8839 ) -> windows_core::HRESULT,
8840}
8841pub trait ICoreWebView2HttpRequestHeaders_Impl: windows_core::IUnknownImpl {
8842 fn GetHeader(
8843 &self,
8844 name: &windows_core::PCWSTR,
8845 value: *mut windows_core::PWSTR,
8846 ) -> windows_core::Result<()>;
8847 fn GetHeaders(
8848 &self,
8849 name: &windows_core::PCWSTR,
8850 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
8851 fn Contains(
8852 &self,
8853 name: &windows_core::PCWSTR,
8854 contains: *mut windows_core::BOOL,
8855 ) -> windows_core::Result<()>;
8856 fn SetHeader(
8857 &self,
8858 name: &windows_core::PCWSTR,
8859 value: &windows_core::PCWSTR,
8860 ) -> windows_core::Result<()>;
8861 fn RemoveHeader(&self, name: &windows_core::PCWSTR) -> windows_core::Result<()>;
8862 fn GetIterator(&self) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
8863}
8864impl ICoreWebView2HttpRequestHeaders_Vtbl {
8865 pub const fn new<Identity: ICoreWebView2HttpRequestHeaders_Impl, const OFFSET: isize>() -> Self
8866 {
8867 unsafe extern "system" fn GetHeader<
8868 Identity: ICoreWebView2HttpRequestHeaders_Impl,
8869 const OFFSET: isize,
8870 >(
8871 this: *mut core::ffi::c_void,
8872 name: windows_core::PCWSTR,
8873 value: *mut windows_core::PWSTR,
8874 ) -> windows_core::HRESULT {
8875 unsafe {
8876 let this: &Identity =
8877 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8878 ICoreWebView2HttpRequestHeaders_Impl::GetHeader(
8879 this,
8880 core::mem::transmute(&name),
8881 core::mem::transmute_copy(&value),
8882 )
8883 .into()
8884 }
8885 }
8886 unsafe extern "system" fn GetHeaders<
8887 Identity: ICoreWebView2HttpRequestHeaders_Impl,
8888 const OFFSET: isize,
8889 >(
8890 this: *mut core::ffi::c_void,
8891 name: windows_core::PCWSTR,
8892 iterator: *mut *mut core::ffi::c_void,
8893 ) -> windows_core::HRESULT {
8894 unsafe {
8895 let this: &Identity =
8896 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8897 match ICoreWebView2HttpRequestHeaders_Impl::GetHeaders(
8898 this,
8899 core::mem::transmute(&name),
8900 ) {
8901 Ok(ok__) => {
8902 iterator.write(core::mem::transmute(ok__));
8903 windows_core::HRESULT(0)
8904 }
8905 Err(err) => err.into(),
8906 }
8907 }
8908 }
8909 unsafe extern "system" fn Contains<
8910 Identity: ICoreWebView2HttpRequestHeaders_Impl,
8911 const OFFSET: isize,
8912 >(
8913 this: *mut core::ffi::c_void,
8914 name: windows_core::PCWSTR,
8915 contains: *mut windows_core::BOOL,
8916 ) -> windows_core::HRESULT {
8917 unsafe {
8918 let this: &Identity =
8919 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8920 ICoreWebView2HttpRequestHeaders_Impl::Contains(
8921 this,
8922 core::mem::transmute(&name),
8923 core::mem::transmute_copy(&contains),
8924 )
8925 .into()
8926 }
8927 }
8928 unsafe extern "system" fn SetHeader<
8929 Identity: ICoreWebView2HttpRequestHeaders_Impl,
8930 const OFFSET: isize,
8931 >(
8932 this: *mut core::ffi::c_void,
8933 name: windows_core::PCWSTR,
8934 value: windows_core::PCWSTR,
8935 ) -> windows_core::HRESULT {
8936 unsafe {
8937 let this: &Identity =
8938 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8939 ICoreWebView2HttpRequestHeaders_Impl::SetHeader(
8940 this,
8941 core::mem::transmute(&name),
8942 core::mem::transmute(&value),
8943 )
8944 .into()
8945 }
8946 }
8947 unsafe extern "system" fn RemoveHeader<
8948 Identity: ICoreWebView2HttpRequestHeaders_Impl,
8949 const OFFSET: isize,
8950 >(
8951 this: *mut core::ffi::c_void,
8952 name: windows_core::PCWSTR,
8953 ) -> windows_core::HRESULT {
8954 unsafe {
8955 let this: &Identity =
8956 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8957 ICoreWebView2HttpRequestHeaders_Impl::RemoveHeader(
8958 this,
8959 core::mem::transmute(&name),
8960 )
8961 .into()
8962 }
8963 }
8964 unsafe extern "system" fn GetIterator<
8965 Identity: ICoreWebView2HttpRequestHeaders_Impl,
8966 const OFFSET: isize,
8967 >(
8968 this: *mut core::ffi::c_void,
8969 iterator: *mut *mut core::ffi::c_void,
8970 ) -> windows_core::HRESULT {
8971 unsafe {
8972 let this: &Identity =
8973 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8974 match ICoreWebView2HttpRequestHeaders_Impl::GetIterator(this) {
8975 Ok(ok__) => {
8976 iterator.write(core::mem::transmute(ok__));
8977 windows_core::HRESULT(0)
8978 }
8979 Err(err) => err.into(),
8980 }
8981 }
8982 }
8983 Self {
8984 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8985 GetHeader: GetHeader::<Identity, OFFSET>,
8986 GetHeaders: GetHeaders::<Identity, OFFSET>,
8987 Contains: Contains::<Identity, OFFSET>,
8988 SetHeader: SetHeader::<Identity, OFFSET>,
8989 RemoveHeader: RemoveHeader::<Identity, OFFSET>,
8990 GetIterator: GetIterator::<Identity, OFFSET>,
8991 }
8992 }
8993 pub fn matches(iid: &windows_core::GUID) -> bool {
8994 iid == &<ICoreWebView2HttpRequestHeaders as windows_core::Interface>::IID
8995 }
8996}
8997impl windows_core::RuntimeName for ICoreWebView2HttpRequestHeaders {}
8998windows_core::imp::define_interface!(
8999 ICoreWebView2HttpResponseHeaders,
9000 ICoreWebView2HttpResponseHeaders_Vtbl,
9001 0x03c5ff5a_9b45_4a88_881c_89a9f328619c
9002);
9003windows_core::imp::interface_hierarchy!(ICoreWebView2HttpResponseHeaders, windows_core::IUnknown);
9004impl ICoreWebView2HttpResponseHeaders {
9005 pub unsafe fn AppendHeader<P0, P1>(&self, name: P0, value: P1) -> windows_core::Result<()>
9006 where
9007 P0: windows_core::Param<windows_core::PCWSTR>,
9008 P1: windows_core::Param<windows_core::PCWSTR>,
9009 {
9010 unsafe {
9011 (windows_core::Interface::vtable(self).AppendHeader)(
9012 windows_core::Interface::as_raw(self),
9013 name.param().abi(),
9014 value.param().abi(),
9015 )
9016 .ok()
9017 }
9018 }
9019 pub unsafe fn Contains<P0>(
9020 &self,
9021 name: P0,
9022 contains: *mut windows_core::BOOL,
9023 ) -> windows_core::Result<()>
9024 where
9025 P0: windows_core::Param<windows_core::PCWSTR>,
9026 {
9027 unsafe {
9028 (windows_core::Interface::vtable(self).Contains)(
9029 windows_core::Interface::as_raw(self),
9030 name.param().abi(),
9031 contains as _,
9032 )
9033 .ok()
9034 }
9035 }
9036 pub unsafe fn GetHeader<P0>(
9037 &self,
9038 name: P0,
9039 value: *mut windows_core::PWSTR,
9040 ) -> windows_core::Result<()>
9041 where
9042 P0: windows_core::Param<windows_core::PCWSTR>,
9043 {
9044 unsafe {
9045 (windows_core::Interface::vtable(self).GetHeader)(
9046 windows_core::Interface::as_raw(self),
9047 name.param().abi(),
9048 value as _,
9049 )
9050 .ok()
9051 }
9052 }
9053 pub unsafe fn GetHeaders<P0>(
9054 &self,
9055 name: P0,
9056 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>
9057 where
9058 P0: windows_core::Param<windows_core::PCWSTR>,
9059 {
9060 unsafe {
9061 let mut result__ = core::mem::zeroed();
9062 (windows_core::Interface::vtable(self).GetHeaders)(
9063 windows_core::Interface::as_raw(self),
9064 name.param().abi(),
9065 &mut result__,
9066 )
9067 .and_then(|| windows_core::Type::from_abi(result__))
9068 }
9069 }
9070 pub unsafe fn GetIterator(
9071 &self,
9072 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator> {
9073 unsafe {
9074 let mut result__ = core::mem::zeroed();
9075 (windows_core::Interface::vtable(self).GetIterator)(
9076 windows_core::Interface::as_raw(self),
9077 &mut result__,
9078 )
9079 .and_then(|| windows_core::Type::from_abi(result__))
9080 }
9081 }
9082}
9083#[repr(C)]
9084#[doc(hidden)]
9085pub struct ICoreWebView2HttpResponseHeaders_Vtbl {
9086 pub base__: windows_core::IUnknown_Vtbl,
9087 pub AppendHeader: unsafe extern "system" fn(
9088 *mut core::ffi::c_void,
9089 windows_core::PCWSTR,
9090 windows_core::PCWSTR,
9091 ) -> windows_core::HRESULT,
9092 pub Contains: unsafe extern "system" fn(
9093 *mut core::ffi::c_void,
9094 windows_core::PCWSTR,
9095 *mut windows_core::BOOL,
9096 ) -> windows_core::HRESULT,
9097 pub GetHeader: unsafe extern "system" fn(
9098 *mut core::ffi::c_void,
9099 windows_core::PCWSTR,
9100 *mut windows_core::PWSTR,
9101 ) -> windows_core::HRESULT,
9102 pub GetHeaders: unsafe extern "system" fn(
9103 *mut core::ffi::c_void,
9104 windows_core::PCWSTR,
9105 *mut *mut core::ffi::c_void,
9106 ) -> windows_core::HRESULT,
9107 pub GetIterator: unsafe extern "system" fn(
9108 *mut core::ffi::c_void,
9109 *mut *mut core::ffi::c_void,
9110 ) -> windows_core::HRESULT,
9111}
9112pub trait ICoreWebView2HttpResponseHeaders_Impl: windows_core::IUnknownImpl {
9113 fn AppendHeader(
9114 &self,
9115 name: &windows_core::PCWSTR,
9116 value: &windows_core::PCWSTR,
9117 ) -> windows_core::Result<()>;
9118 fn Contains(
9119 &self,
9120 name: &windows_core::PCWSTR,
9121 contains: *mut windows_core::BOOL,
9122 ) -> windows_core::Result<()>;
9123 fn GetHeader(
9124 &self,
9125 name: &windows_core::PCWSTR,
9126 value: *mut windows_core::PWSTR,
9127 ) -> windows_core::Result<()>;
9128 fn GetHeaders(
9129 &self,
9130 name: &windows_core::PCWSTR,
9131 ) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
9132 fn GetIterator(&self) -> windows_core::Result<ICoreWebView2HttpHeadersCollectionIterator>;
9133}
9134impl ICoreWebView2HttpResponseHeaders_Vtbl {
9135 pub const fn new<Identity: ICoreWebView2HttpResponseHeaders_Impl, const OFFSET: isize>() -> Self
9136 {
9137 unsafe extern "system" fn AppendHeader<
9138 Identity: ICoreWebView2HttpResponseHeaders_Impl,
9139 const OFFSET: isize,
9140 >(
9141 this: *mut core::ffi::c_void,
9142 name: windows_core::PCWSTR,
9143 value: windows_core::PCWSTR,
9144 ) -> windows_core::HRESULT {
9145 unsafe {
9146 let this: &Identity =
9147 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9148 ICoreWebView2HttpResponseHeaders_Impl::AppendHeader(
9149 this,
9150 core::mem::transmute(&name),
9151 core::mem::transmute(&value),
9152 )
9153 .into()
9154 }
9155 }
9156 unsafe extern "system" fn Contains<
9157 Identity: ICoreWebView2HttpResponseHeaders_Impl,
9158 const OFFSET: isize,
9159 >(
9160 this: *mut core::ffi::c_void,
9161 name: windows_core::PCWSTR,
9162 contains: *mut windows_core::BOOL,
9163 ) -> windows_core::HRESULT {
9164 unsafe {
9165 let this: &Identity =
9166 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9167 ICoreWebView2HttpResponseHeaders_Impl::Contains(
9168 this,
9169 core::mem::transmute(&name),
9170 core::mem::transmute_copy(&contains),
9171 )
9172 .into()
9173 }
9174 }
9175 unsafe extern "system" fn GetHeader<
9176 Identity: ICoreWebView2HttpResponseHeaders_Impl,
9177 const OFFSET: isize,
9178 >(
9179 this: *mut core::ffi::c_void,
9180 name: windows_core::PCWSTR,
9181 value: *mut windows_core::PWSTR,
9182 ) -> windows_core::HRESULT {
9183 unsafe {
9184 let this: &Identity =
9185 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9186 ICoreWebView2HttpResponseHeaders_Impl::GetHeader(
9187 this,
9188 core::mem::transmute(&name),
9189 core::mem::transmute_copy(&value),
9190 )
9191 .into()
9192 }
9193 }
9194 unsafe extern "system" fn GetHeaders<
9195 Identity: ICoreWebView2HttpResponseHeaders_Impl,
9196 const OFFSET: isize,
9197 >(
9198 this: *mut core::ffi::c_void,
9199 name: windows_core::PCWSTR,
9200 iterator: *mut *mut core::ffi::c_void,
9201 ) -> windows_core::HRESULT {
9202 unsafe {
9203 let this: &Identity =
9204 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9205 match ICoreWebView2HttpResponseHeaders_Impl::GetHeaders(
9206 this,
9207 core::mem::transmute(&name),
9208 ) {
9209 Ok(ok__) => {
9210 iterator.write(core::mem::transmute(ok__));
9211 windows_core::HRESULT(0)
9212 }
9213 Err(err) => err.into(),
9214 }
9215 }
9216 }
9217 unsafe extern "system" fn GetIterator<
9218 Identity: ICoreWebView2HttpResponseHeaders_Impl,
9219 const OFFSET: isize,
9220 >(
9221 this: *mut core::ffi::c_void,
9222 iterator: *mut *mut core::ffi::c_void,
9223 ) -> windows_core::HRESULT {
9224 unsafe {
9225 let this: &Identity =
9226 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9227 match ICoreWebView2HttpResponseHeaders_Impl::GetIterator(this) {
9228 Ok(ok__) => {
9229 iterator.write(core::mem::transmute(ok__));
9230 windows_core::HRESULT(0)
9231 }
9232 Err(err) => err.into(),
9233 }
9234 }
9235 }
9236 Self {
9237 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
9238 AppendHeader: AppendHeader::<Identity, OFFSET>,
9239 Contains: Contains::<Identity, OFFSET>,
9240 GetHeader: GetHeader::<Identity, OFFSET>,
9241 GetHeaders: GetHeaders::<Identity, OFFSET>,
9242 GetIterator: GetIterator::<Identity, OFFSET>,
9243 }
9244 }
9245 pub fn matches(iid: &windows_core::GUID) -> bool {
9246 iid == &<ICoreWebView2HttpResponseHeaders as windows_core::Interface>::IID
9247 }
9248}
9249impl windows_core::RuntimeName for ICoreWebView2HttpResponseHeaders {}
9250windows_core::imp::define_interface!(
9251 ICoreWebView2Interop,
9252 ICoreWebView2Interop_Vtbl,
9253 0x912b34a7_d10b_49c4_af18_7cb7e604e01a
9254);
9255windows_core::imp::interface_hierarchy!(ICoreWebView2Interop, windows_core::IUnknown);
9256impl ICoreWebView2Interop {
9257 pub unsafe fn AddHostObjectToScript<P0>(
9258 &self,
9259 name: P0,
9260 object: *mut windows::Win32::System::Variant::VARIANT,
9261 ) -> windows_core::Result<()>
9262 where
9263 P0: windows_core::Param<windows_core::PCWSTR>,
9264 {
9265 unsafe {
9266 (windows_core::Interface::vtable(self).AddHostObjectToScript)(
9267 windows_core::Interface::as_raw(self),
9268 name.param().abi(),
9269 core::mem::transmute(object),
9270 )
9271 .ok()
9272 }
9273 }
9274}
9275#[repr(C)]
9276#[doc(hidden)]
9277pub struct ICoreWebView2Interop_Vtbl {
9278 pub base__: windows_core::IUnknown_Vtbl,
9279 pub AddHostObjectToScript: unsafe extern "system" fn(
9280 *mut core::ffi::c_void,
9281 windows_core::PCWSTR,
9282 *mut windows::Win32::System::Variant::VARIANT,
9283 ) -> windows_core::HRESULT,
9284}
9285pub trait ICoreWebView2Interop_Impl: windows_core::IUnknownImpl {
9286 fn AddHostObjectToScript(
9287 &self,
9288 name: &windows_core::PCWSTR,
9289 object: *mut windows::Win32::System::Variant::VARIANT,
9290 ) -> windows_core::Result<()>;
9291}
9292impl ICoreWebView2Interop_Vtbl {
9293 pub const fn new<Identity: ICoreWebView2Interop_Impl, const OFFSET: isize>() -> Self {
9294 unsafe extern "system" fn AddHostObjectToScript<
9295 Identity: ICoreWebView2Interop_Impl,
9296 const OFFSET: isize,
9297 >(
9298 this: *mut core::ffi::c_void,
9299 name: windows_core::PCWSTR,
9300 object: *mut windows::Win32::System::Variant::VARIANT,
9301 ) -> windows_core::HRESULT {
9302 unsafe {
9303 let this: &Identity =
9304 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9305 ICoreWebView2Interop_Impl::AddHostObjectToScript(
9306 this,
9307 core::mem::transmute(&name),
9308 core::mem::transmute_copy(&object),
9309 )
9310 .into()
9311 }
9312 }
9313 Self {
9314 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
9315 AddHostObjectToScript: AddHostObjectToScript::<Identity, OFFSET>,
9316 }
9317 }
9318 pub fn matches(iid: &windows_core::GUID) -> bool {
9319 iid == &<ICoreWebView2Interop as windows_core::Interface>::IID
9320 }
9321}
9322impl windows_core::RuntimeName for ICoreWebView2Interop {}
9323windows_core::imp::define_interface!(
9324 ICoreWebView2MoveFocusRequestedEventArgs,
9325 ICoreWebView2MoveFocusRequestedEventArgs_Vtbl,
9326 0x2d6aa13b_3839_4a15_92fc_d88b3c0d9c9d
9327);
9328windows_core::imp::interface_hierarchy!(
9329 ICoreWebView2MoveFocusRequestedEventArgs,
9330 windows_core::IUnknown
9331);
9332impl ICoreWebView2MoveFocusRequestedEventArgs {
9333 pub unsafe fn Reason(&self) -> windows_core::Result<COREWEBVIEW2_MOVE_FOCUS_REASON> {
9334 unsafe {
9335 let mut result__ = core::mem::zeroed();
9336 (windows_core::Interface::vtable(self).Reason)(
9337 windows_core::Interface::as_raw(self),
9338 &mut result__,
9339 )
9340 .map(|| result__)
9341 }
9342 }
9343 pub unsafe fn Handled(&self) -> windows_core::Result<windows_core::BOOL> {
9344 unsafe {
9345 let mut result__ = core::mem::zeroed();
9346 (windows_core::Interface::vtable(self).Handled)(
9347 windows_core::Interface::as_raw(self),
9348 &mut result__,
9349 )
9350 .map(|| result__)
9351 }
9352 }
9353 pub unsafe fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
9354 unsafe {
9355 (windows_core::Interface::vtable(self).SetHandled)(
9356 windows_core::Interface::as_raw(self),
9357 value.into(),
9358 )
9359 .ok()
9360 }
9361 }
9362}
9363#[repr(C)]
9364#[doc(hidden)]
9365pub struct ICoreWebView2MoveFocusRequestedEventArgs_Vtbl {
9366 pub base__: windows_core::IUnknown_Vtbl,
9367 pub Reason: unsafe extern "system" fn(
9368 *mut core::ffi::c_void,
9369 *mut COREWEBVIEW2_MOVE_FOCUS_REASON,
9370 ) -> windows_core::HRESULT,
9371 pub Handled: unsafe extern "system" fn(
9372 *mut core::ffi::c_void,
9373 *mut windows_core::BOOL,
9374 ) -> windows_core::HRESULT,
9375 pub SetHandled: unsafe extern "system" fn(
9376 *mut core::ffi::c_void,
9377 windows_core::BOOL,
9378 ) -> windows_core::HRESULT,
9379}
9380pub trait ICoreWebView2MoveFocusRequestedEventArgs_Impl: windows_core::IUnknownImpl {
9381 fn Reason(&self) -> windows_core::Result<COREWEBVIEW2_MOVE_FOCUS_REASON>;
9382 fn Handled(&self) -> windows_core::Result<windows_core::BOOL>;
9383 fn SetHandled(&self, value: windows_core::BOOL) -> windows_core::Result<()>;
9384}
9385impl ICoreWebView2MoveFocusRequestedEventArgs_Vtbl {
9386 pub const fn new<
9387 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
9388 const OFFSET: isize,
9389 >() -> Self {
9390 unsafe extern "system" fn Reason<
9391 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
9392 const OFFSET: isize,
9393 >(
9394 this: *mut core::ffi::c_void,
9395 reason: *mut COREWEBVIEW2_MOVE_FOCUS_REASON,
9396 ) -> windows_core::HRESULT {
9397 unsafe {
9398 let this: &Identity =
9399 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9400 match ICoreWebView2MoveFocusRequestedEventArgs_Impl::Reason(this) {
9401 Ok(ok__) => {
9402 reason.write(core::mem::transmute(ok__));
9403 windows_core::HRESULT(0)
9404 }
9405 Err(err) => err.into(),
9406 }
9407 }
9408 }
9409 unsafe extern "system" fn Handled<
9410 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
9411 const OFFSET: isize,
9412 >(
9413 this: *mut core::ffi::c_void,
9414 value: *mut windows_core::BOOL,
9415 ) -> windows_core::HRESULT {
9416 unsafe {
9417 let this: &Identity =
9418 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9419 match ICoreWebView2MoveFocusRequestedEventArgs_Impl::Handled(this) {
9420 Ok(ok__) => {
9421 value.write(core::mem::transmute(ok__));
9422 windows_core::HRESULT(0)
9423 }
9424 Err(err) => err.into(),
9425 }
9426 }
9427 }
9428 unsafe extern "system" fn SetHandled<
9429 Identity: ICoreWebView2MoveFocusRequestedEventArgs_Impl,
9430 const OFFSET: isize,
9431 >(
9432 this: *mut core::ffi::c_void,
9433 value: windows_core::BOOL,
9434 ) -> windows_core::HRESULT {
9435 unsafe {
9436 let this: &Identity =
9437 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9438 ICoreWebView2MoveFocusRequestedEventArgs_Impl::SetHandled(
9439 this,
9440 core::mem::transmute_copy(&value),
9441 )
9442 .into()
9443 }
9444 }
9445 Self {
9446 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
9447 Reason: Reason::<Identity, OFFSET>,
9448 Handled: Handled::<Identity, OFFSET>,
9449 SetHandled: SetHandled::<Identity, OFFSET>,
9450 }
9451 }
9452 pub fn matches(iid: &windows_core::GUID) -> bool {
9453 iid == &<ICoreWebView2MoveFocusRequestedEventArgs as windows_core::Interface>::IID
9454 }
9455}
9456impl windows_core::RuntimeName for ICoreWebView2MoveFocusRequestedEventArgs {}
9457windows_core::imp::define_interface!(
9458 ICoreWebView2MoveFocusRequestedEventHandler,
9459 ICoreWebView2MoveFocusRequestedEventHandler_Vtbl,
9460 0x69035451_6dc7_4cb8_9bce_b2bd70ad289f
9461);
9462windows_core::imp::interface_hierarchy!(
9463 ICoreWebView2MoveFocusRequestedEventHandler,
9464 windows_core::IUnknown
9465);
9466impl ICoreWebView2MoveFocusRequestedEventHandler {
9467 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
9468 where
9469 P0: windows_core::Param<ICoreWebView2Controller>,
9470 P1: windows_core::Param<ICoreWebView2MoveFocusRequestedEventArgs>,
9471 {
9472 unsafe {
9473 (windows_core::Interface::vtable(self).Invoke)(
9474 windows_core::Interface::as_raw(self),
9475 sender.param().abi(),
9476 args.param().abi(),
9477 )
9478 .ok()
9479 }
9480 }
9481}
9482#[repr(C)]
9483#[doc(hidden)]
9484pub struct ICoreWebView2MoveFocusRequestedEventHandler_Vtbl {
9485 pub base__: windows_core::IUnknown_Vtbl,
9486 pub Invoke: unsafe extern "system" fn(
9487 *mut core::ffi::c_void,
9488 *mut core::ffi::c_void,
9489 *mut core::ffi::c_void,
9490 ) -> windows_core::HRESULT,
9491}
9492pub trait ICoreWebView2MoveFocusRequestedEventHandler_Impl: windows_core::IUnknownImpl {
9493 fn Invoke(
9494 &self,
9495 sender: windows_core::Ref<ICoreWebView2Controller>,
9496 args: windows_core::Ref<ICoreWebView2MoveFocusRequestedEventArgs>,
9497 ) -> windows_core::Result<()>;
9498}
9499impl ICoreWebView2MoveFocusRequestedEventHandler_Vtbl {
9500 pub const fn new<
9501 Identity: ICoreWebView2MoveFocusRequestedEventHandler_Impl,
9502 const OFFSET: isize,
9503 >() -> Self {
9504 unsafe extern "system" fn Invoke<
9505 Identity: ICoreWebView2MoveFocusRequestedEventHandler_Impl,
9506 const OFFSET: isize,
9507 >(
9508 this: *mut core::ffi::c_void,
9509 sender: *mut core::ffi::c_void,
9510 args: *mut core::ffi::c_void,
9511 ) -> windows_core::HRESULT {
9512 unsafe {
9513 let this: &Identity =
9514 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9515 ICoreWebView2MoveFocusRequestedEventHandler_Impl::Invoke(
9516 this,
9517 core::mem::transmute_copy(&sender),
9518 core::mem::transmute_copy(&args),
9519 )
9520 .into()
9521 }
9522 }
9523 Self {
9524 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
9525 Invoke: Invoke::<Identity, OFFSET>,
9526 }
9527 }
9528 pub fn matches(iid: &windows_core::GUID) -> bool {
9529 iid == &<ICoreWebView2MoveFocusRequestedEventHandler as windows_core::Interface>::IID
9530 }
9531}
9532impl windows_core::RuntimeName for ICoreWebView2MoveFocusRequestedEventHandler {}
9533windows_core::imp::define_interface!(
9534 ICoreWebView2NavigationCompletedEventArgs,
9535 ICoreWebView2NavigationCompletedEventArgs_Vtbl,
9536 0x30d68b7d_20d9_4752_a9ca_ec8448fbb5c1
9537);
9538windows_core::imp::interface_hierarchy!(
9539 ICoreWebView2NavigationCompletedEventArgs,
9540 windows_core::IUnknown
9541);
9542impl ICoreWebView2NavigationCompletedEventArgs {
9543 pub unsafe fn IsSuccess(&self) -> windows_core::Result<windows_core::BOOL> {
9544 unsafe {
9545 let mut result__ = core::mem::zeroed();
9546 (windows_core::Interface::vtable(self).IsSuccess)(
9547 windows_core::Interface::as_raw(self),
9548 &mut result__,
9549 )
9550 .map(|| result__)
9551 }
9552 }
9553 pub unsafe fn WebErrorStatus(&self) -> windows_core::Result<COREWEBVIEW2_WEB_ERROR_STATUS> {
9554 unsafe {
9555 let mut result__ = core::mem::zeroed();
9556 (windows_core::Interface::vtable(self).WebErrorStatus)(
9557 windows_core::Interface::as_raw(self),
9558 &mut result__,
9559 )
9560 .map(|| result__)
9561 }
9562 }
9563 pub unsafe fn NavigationId(&self) -> windows_core::Result<u64> {
9564 unsafe {
9565 let mut result__ = core::mem::zeroed();
9566 (windows_core::Interface::vtable(self).NavigationId)(
9567 windows_core::Interface::as_raw(self),
9568 &mut result__,
9569 )
9570 .map(|| result__)
9571 }
9572 }
9573}
9574#[repr(C)]
9575#[doc(hidden)]
9576pub struct ICoreWebView2NavigationCompletedEventArgs_Vtbl {
9577 pub base__: windows_core::IUnknown_Vtbl,
9578 pub IsSuccess: unsafe extern "system" fn(
9579 *mut core::ffi::c_void,
9580 *mut windows_core::BOOL,
9581 ) -> windows_core::HRESULT,
9582 pub WebErrorStatus: unsafe extern "system" fn(
9583 *mut core::ffi::c_void,
9584 *mut COREWEBVIEW2_WEB_ERROR_STATUS,
9585 ) -> windows_core::HRESULT,
9586 pub NavigationId:
9587 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
9588}
9589pub trait ICoreWebView2NavigationCompletedEventArgs_Impl: windows_core::IUnknownImpl {
9590 fn IsSuccess(&self) -> windows_core::Result<windows_core::BOOL>;
9591 fn WebErrorStatus(&self) -> windows_core::Result<COREWEBVIEW2_WEB_ERROR_STATUS>;
9592 fn NavigationId(&self) -> windows_core::Result<u64>;
9593}
9594impl ICoreWebView2NavigationCompletedEventArgs_Vtbl {
9595 pub const fn new<
9596 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
9597 const OFFSET: isize,
9598 >() -> Self {
9599 unsafe extern "system" fn IsSuccess<
9600 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
9601 const OFFSET: isize,
9602 >(
9603 this: *mut core::ffi::c_void,
9604 issuccess: *mut windows_core::BOOL,
9605 ) -> windows_core::HRESULT {
9606 unsafe {
9607 let this: &Identity =
9608 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9609 match ICoreWebView2NavigationCompletedEventArgs_Impl::IsSuccess(this) {
9610 Ok(ok__) => {
9611 issuccess.write(core::mem::transmute(ok__));
9612 windows_core::HRESULT(0)
9613 }
9614 Err(err) => err.into(),
9615 }
9616 }
9617 }
9618 unsafe extern "system" fn WebErrorStatus<
9619 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
9620 const OFFSET: isize,
9621 >(
9622 this: *mut core::ffi::c_void,
9623 weberrorstatus: *mut COREWEBVIEW2_WEB_ERROR_STATUS,
9624 ) -> windows_core::HRESULT {
9625 unsafe {
9626 let this: &Identity =
9627 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9628 match ICoreWebView2NavigationCompletedEventArgs_Impl::WebErrorStatus(this) {
9629 Ok(ok__) => {
9630 weberrorstatus.write(core::mem::transmute(ok__));
9631 windows_core::HRESULT(0)
9632 }
9633 Err(err) => err.into(),
9634 }
9635 }
9636 }
9637 unsafe extern "system" fn NavigationId<
9638 Identity: ICoreWebView2NavigationCompletedEventArgs_Impl,
9639 const OFFSET: isize,
9640 >(
9641 this: *mut core::ffi::c_void,
9642 navigationid: *mut u64,
9643 ) -> windows_core::HRESULT {
9644 unsafe {
9645 let this: &Identity =
9646 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9647 match ICoreWebView2NavigationCompletedEventArgs_Impl::NavigationId(this) {
9648 Ok(ok__) => {
9649 navigationid.write(core::mem::transmute(ok__));
9650 windows_core::HRESULT(0)
9651 }
9652 Err(err) => err.into(),
9653 }
9654 }
9655 }
9656 Self {
9657 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
9658 IsSuccess: IsSuccess::<Identity, OFFSET>,
9659 WebErrorStatus: WebErrorStatus::<Identity, OFFSET>,
9660 NavigationId: NavigationId::<Identity, OFFSET>,
9661 }
9662 }
9663 pub fn matches(iid: &windows_core::GUID) -> bool {
9664 iid == &<ICoreWebView2NavigationCompletedEventArgs as windows_core::Interface>::IID
9665 }
9666}
9667impl windows_core::RuntimeName for ICoreWebView2NavigationCompletedEventArgs {}
9668windows_core::imp::define_interface!(
9669 ICoreWebView2NavigationCompletedEventHandler,
9670 ICoreWebView2NavigationCompletedEventHandler_Vtbl,
9671 0xd33a35bf_1c49_4f98_93ab_006e0533fe1c
9672);
9673windows_core::imp::interface_hierarchy!(
9674 ICoreWebView2NavigationCompletedEventHandler,
9675 windows_core::IUnknown
9676);
9677impl ICoreWebView2NavigationCompletedEventHandler {
9678 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
9679 where
9680 P0: windows_core::Param<ICoreWebView2>,
9681 P1: windows_core::Param<ICoreWebView2NavigationCompletedEventArgs>,
9682 {
9683 unsafe {
9684 (windows_core::Interface::vtable(self).Invoke)(
9685 windows_core::Interface::as_raw(self),
9686 sender.param().abi(),
9687 args.param().abi(),
9688 )
9689 .ok()
9690 }
9691 }
9692}
9693#[repr(C)]
9694#[doc(hidden)]
9695pub struct ICoreWebView2NavigationCompletedEventHandler_Vtbl {
9696 pub base__: windows_core::IUnknown_Vtbl,
9697 pub Invoke: unsafe extern "system" fn(
9698 *mut core::ffi::c_void,
9699 *mut core::ffi::c_void,
9700 *mut core::ffi::c_void,
9701 ) -> windows_core::HRESULT,
9702}
9703pub trait ICoreWebView2NavigationCompletedEventHandler_Impl: windows_core::IUnknownImpl {
9704 fn Invoke(
9705 &self,
9706 sender: windows_core::Ref<ICoreWebView2>,
9707 args: windows_core::Ref<ICoreWebView2NavigationCompletedEventArgs>,
9708 ) -> windows_core::Result<()>;
9709}
9710impl ICoreWebView2NavigationCompletedEventHandler_Vtbl {
9711 pub const fn new<
9712 Identity: ICoreWebView2NavigationCompletedEventHandler_Impl,
9713 const OFFSET: isize,
9714 >() -> Self {
9715 unsafe extern "system" fn Invoke<
9716 Identity: ICoreWebView2NavigationCompletedEventHandler_Impl,
9717 const OFFSET: isize,
9718 >(
9719 this: *mut core::ffi::c_void,
9720 sender: *mut core::ffi::c_void,
9721 args: *mut core::ffi::c_void,
9722 ) -> windows_core::HRESULT {
9723 unsafe {
9724 let this: &Identity =
9725 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9726 ICoreWebView2NavigationCompletedEventHandler_Impl::Invoke(
9727 this,
9728 core::mem::transmute_copy(&sender),
9729 core::mem::transmute_copy(&args),
9730 )
9731 .into()
9732 }
9733 }
9734 Self {
9735 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
9736 Invoke: Invoke::<Identity, OFFSET>,
9737 }
9738 }
9739 pub fn matches(iid: &windows_core::GUID) -> bool {
9740 iid == &<ICoreWebView2NavigationCompletedEventHandler as windows_core::Interface>::IID
9741 }
9742}
9743impl windows_core::RuntimeName for ICoreWebView2NavigationCompletedEventHandler {}
9744windows_core::imp::define_interface!(
9745 ICoreWebView2NavigationStartingEventArgs,
9746 ICoreWebView2NavigationStartingEventArgs_Vtbl,
9747 0x5b495469_e119_438a_9b18_7604f25f2e49
9748);
9749windows_core::imp::interface_hierarchy!(
9750 ICoreWebView2NavigationStartingEventArgs,
9751 windows_core::IUnknown
9752);
9753impl ICoreWebView2NavigationStartingEventArgs {
9754 pub unsafe fn Uri(&self) -> windows_core::Result<windows_core::PWSTR> {
9755 unsafe {
9756 let mut result__ = core::mem::zeroed();
9757 (windows_core::Interface::vtable(self).Uri)(
9758 windows_core::Interface::as_raw(self),
9759 &mut result__,
9760 )
9761 .map(|| result__)
9762 }
9763 }
9764 pub unsafe fn IsUserInitiated(&self) -> windows_core::Result<windows_core::BOOL> {
9765 unsafe {
9766 let mut result__ = core::mem::zeroed();
9767 (windows_core::Interface::vtable(self).IsUserInitiated)(
9768 windows_core::Interface::as_raw(self),
9769 &mut result__,
9770 )
9771 .map(|| result__)
9772 }
9773 }
9774 pub unsafe fn IsRedirected(&self) -> windows_core::Result<windows_core::BOOL> {
9775 unsafe {
9776 let mut result__ = core::mem::zeroed();
9777 (windows_core::Interface::vtable(self).IsRedirected)(
9778 windows_core::Interface::as_raw(self),
9779 &mut result__,
9780 )
9781 .map(|| result__)
9782 }
9783 }
9784 pub unsafe fn RequestHeaders(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders> {
9785 unsafe {
9786 let mut result__ = core::mem::zeroed();
9787 (windows_core::Interface::vtable(self).RequestHeaders)(
9788 windows_core::Interface::as_raw(self),
9789 &mut result__,
9790 )
9791 .and_then(|| windows_core::Type::from_abi(result__))
9792 }
9793 }
9794 pub unsafe fn Cancel(&self) -> windows_core::Result<windows_core::BOOL> {
9795 unsafe {
9796 let mut result__ = core::mem::zeroed();
9797 (windows_core::Interface::vtable(self).Cancel)(
9798 windows_core::Interface::as_raw(self),
9799 &mut result__,
9800 )
9801 .map(|| result__)
9802 }
9803 }
9804 pub unsafe fn SetCancel(&self, cancel: bool) -> windows_core::Result<()> {
9805 unsafe {
9806 (windows_core::Interface::vtable(self).SetCancel)(
9807 windows_core::Interface::as_raw(self),
9808 cancel.into(),
9809 )
9810 .ok()
9811 }
9812 }
9813 pub unsafe fn NavigationId(&self) -> windows_core::Result<u64> {
9814 unsafe {
9815 let mut result__ = core::mem::zeroed();
9816 (windows_core::Interface::vtable(self).NavigationId)(
9817 windows_core::Interface::as_raw(self),
9818 &mut result__,
9819 )
9820 .map(|| result__)
9821 }
9822 }
9823}
9824#[repr(C)]
9825#[doc(hidden)]
9826pub struct ICoreWebView2NavigationStartingEventArgs_Vtbl {
9827 pub base__: windows_core::IUnknown_Vtbl,
9828 pub Uri: unsafe extern "system" fn(
9829 *mut core::ffi::c_void,
9830 *mut windows_core::PWSTR,
9831 ) -> windows_core::HRESULT,
9832 pub IsUserInitiated: unsafe extern "system" fn(
9833 *mut core::ffi::c_void,
9834 *mut windows_core::BOOL,
9835 ) -> windows_core::HRESULT,
9836 pub IsRedirected: unsafe extern "system" fn(
9837 *mut core::ffi::c_void,
9838 *mut windows_core::BOOL,
9839 ) -> windows_core::HRESULT,
9840 pub RequestHeaders: unsafe extern "system" fn(
9841 *mut core::ffi::c_void,
9842 *mut *mut core::ffi::c_void,
9843 ) -> windows_core::HRESULT,
9844 pub Cancel: unsafe extern "system" fn(
9845 *mut core::ffi::c_void,
9846 *mut windows_core::BOOL,
9847 ) -> windows_core::HRESULT,
9848 pub SetCancel: unsafe extern "system" fn(
9849 *mut core::ffi::c_void,
9850 windows_core::BOOL,
9851 ) -> windows_core::HRESULT,
9852 pub NavigationId:
9853 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
9854}
9855pub trait ICoreWebView2NavigationStartingEventArgs_Impl: windows_core::IUnknownImpl {
9856 fn Uri(&self) -> windows_core::Result<windows_core::PWSTR>;
9857 fn IsUserInitiated(&self) -> windows_core::Result<windows_core::BOOL>;
9858 fn IsRedirected(&self) -> windows_core::Result<windows_core::BOOL>;
9859 fn RequestHeaders(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders>;
9860 fn Cancel(&self) -> windows_core::Result<windows_core::BOOL>;
9861 fn SetCancel(&self, cancel: windows_core::BOOL) -> windows_core::Result<()>;
9862 fn NavigationId(&self) -> windows_core::Result<u64>;
9863}
9864impl ICoreWebView2NavigationStartingEventArgs_Vtbl {
9865 pub const fn new<
9866 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
9867 const OFFSET: isize,
9868 >() -> Self {
9869 unsafe extern "system" fn Uri<
9870 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
9871 const OFFSET: isize,
9872 >(
9873 this: *mut core::ffi::c_void,
9874 uri: *mut windows_core::PWSTR,
9875 ) -> windows_core::HRESULT {
9876 unsafe {
9877 let this: &Identity =
9878 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9879 match ICoreWebView2NavigationStartingEventArgs_Impl::Uri(this) {
9880 Ok(ok__) => {
9881 uri.write(core::mem::transmute(ok__));
9882 windows_core::HRESULT(0)
9883 }
9884 Err(err) => err.into(),
9885 }
9886 }
9887 }
9888 unsafe extern "system" fn IsUserInitiated<
9889 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
9890 const OFFSET: isize,
9891 >(
9892 this: *mut core::ffi::c_void,
9893 isuserinitiated: *mut windows_core::BOOL,
9894 ) -> windows_core::HRESULT {
9895 unsafe {
9896 let this: &Identity =
9897 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9898 match ICoreWebView2NavigationStartingEventArgs_Impl::IsUserInitiated(this) {
9899 Ok(ok__) => {
9900 isuserinitiated.write(core::mem::transmute(ok__));
9901 windows_core::HRESULT(0)
9902 }
9903 Err(err) => err.into(),
9904 }
9905 }
9906 }
9907 unsafe extern "system" fn IsRedirected<
9908 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
9909 const OFFSET: isize,
9910 >(
9911 this: *mut core::ffi::c_void,
9912 isredirected: *mut windows_core::BOOL,
9913 ) -> windows_core::HRESULT {
9914 unsafe {
9915 let this: &Identity =
9916 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9917 match ICoreWebView2NavigationStartingEventArgs_Impl::IsRedirected(this) {
9918 Ok(ok__) => {
9919 isredirected.write(core::mem::transmute(ok__));
9920 windows_core::HRESULT(0)
9921 }
9922 Err(err) => err.into(),
9923 }
9924 }
9925 }
9926 unsafe extern "system" fn RequestHeaders<
9927 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
9928 const OFFSET: isize,
9929 >(
9930 this: *mut core::ffi::c_void,
9931 requestheaders: *mut *mut core::ffi::c_void,
9932 ) -> windows_core::HRESULT {
9933 unsafe {
9934 let this: &Identity =
9935 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9936 match ICoreWebView2NavigationStartingEventArgs_Impl::RequestHeaders(this) {
9937 Ok(ok__) => {
9938 requestheaders.write(core::mem::transmute(ok__));
9939 windows_core::HRESULT(0)
9940 }
9941 Err(err) => err.into(),
9942 }
9943 }
9944 }
9945 unsafe extern "system" fn Cancel<
9946 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
9947 const OFFSET: isize,
9948 >(
9949 this: *mut core::ffi::c_void,
9950 cancel: *mut windows_core::BOOL,
9951 ) -> windows_core::HRESULT {
9952 unsafe {
9953 let this: &Identity =
9954 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9955 match ICoreWebView2NavigationStartingEventArgs_Impl::Cancel(this) {
9956 Ok(ok__) => {
9957 cancel.write(core::mem::transmute(ok__));
9958 windows_core::HRESULT(0)
9959 }
9960 Err(err) => err.into(),
9961 }
9962 }
9963 }
9964 unsafe extern "system" fn SetCancel<
9965 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
9966 const OFFSET: isize,
9967 >(
9968 this: *mut core::ffi::c_void,
9969 cancel: windows_core::BOOL,
9970 ) -> windows_core::HRESULT {
9971 unsafe {
9972 let this: &Identity =
9973 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9974 ICoreWebView2NavigationStartingEventArgs_Impl::SetCancel(
9975 this,
9976 core::mem::transmute_copy(&cancel),
9977 )
9978 .into()
9979 }
9980 }
9981 unsafe extern "system" fn NavigationId<
9982 Identity: ICoreWebView2NavigationStartingEventArgs_Impl,
9983 const OFFSET: isize,
9984 >(
9985 this: *mut core::ffi::c_void,
9986 navigationid: *mut u64,
9987 ) -> windows_core::HRESULT {
9988 unsafe {
9989 let this: &Identity =
9990 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9991 match ICoreWebView2NavigationStartingEventArgs_Impl::NavigationId(this) {
9992 Ok(ok__) => {
9993 navigationid.write(core::mem::transmute(ok__));
9994 windows_core::HRESULT(0)
9995 }
9996 Err(err) => err.into(),
9997 }
9998 }
9999 }
10000 Self {
10001 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
10002 Uri: Uri::<Identity, OFFSET>,
10003 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
10004 IsRedirected: IsRedirected::<Identity, OFFSET>,
10005 RequestHeaders: RequestHeaders::<Identity, OFFSET>,
10006 Cancel: Cancel::<Identity, OFFSET>,
10007 SetCancel: SetCancel::<Identity, OFFSET>,
10008 NavigationId: NavigationId::<Identity, OFFSET>,
10009 }
10010 }
10011 pub fn matches(iid: &windows_core::GUID) -> bool {
10012 iid == &<ICoreWebView2NavigationStartingEventArgs as windows_core::Interface>::IID
10013 }
10014}
10015impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventArgs {}
10016windows_core::imp::define_interface!(
10017 ICoreWebView2NavigationStartingEventHandler,
10018 ICoreWebView2NavigationStartingEventHandler_Vtbl,
10019 0x9adbe429_f36d_432b_9ddc_f8881fbd76e3
10020);
10021windows_core::imp::interface_hierarchy!(
10022 ICoreWebView2NavigationStartingEventHandler,
10023 windows_core::IUnknown
10024);
10025impl ICoreWebView2NavigationStartingEventHandler {
10026 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
10027 where
10028 P0: windows_core::Param<ICoreWebView2>,
10029 P1: windows_core::Param<ICoreWebView2NavigationStartingEventArgs>,
10030 {
10031 unsafe {
10032 (windows_core::Interface::vtable(self).Invoke)(
10033 windows_core::Interface::as_raw(self),
10034 sender.param().abi(),
10035 args.param().abi(),
10036 )
10037 .ok()
10038 }
10039 }
10040}
10041#[repr(C)]
10042#[doc(hidden)]
10043pub struct ICoreWebView2NavigationStartingEventHandler_Vtbl {
10044 pub base__: windows_core::IUnknown_Vtbl,
10045 pub Invoke: unsafe extern "system" fn(
10046 *mut core::ffi::c_void,
10047 *mut core::ffi::c_void,
10048 *mut core::ffi::c_void,
10049 ) -> windows_core::HRESULT,
10050}
10051pub trait ICoreWebView2NavigationStartingEventHandler_Impl: windows_core::IUnknownImpl {
10052 fn Invoke(
10053 &self,
10054 sender: windows_core::Ref<ICoreWebView2>,
10055 args: windows_core::Ref<ICoreWebView2NavigationStartingEventArgs>,
10056 ) -> windows_core::Result<()>;
10057}
10058impl ICoreWebView2NavigationStartingEventHandler_Vtbl {
10059 pub const fn new<
10060 Identity: ICoreWebView2NavigationStartingEventHandler_Impl,
10061 const OFFSET: isize,
10062 >() -> Self {
10063 unsafe extern "system" fn Invoke<
10064 Identity: ICoreWebView2NavigationStartingEventHandler_Impl,
10065 const OFFSET: isize,
10066 >(
10067 this: *mut core::ffi::c_void,
10068 sender: *mut core::ffi::c_void,
10069 args: *mut core::ffi::c_void,
10070 ) -> windows_core::HRESULT {
10071 unsafe {
10072 let this: &Identity =
10073 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10074 ICoreWebView2NavigationStartingEventHandler_Impl::Invoke(
10075 this,
10076 core::mem::transmute_copy(&sender),
10077 core::mem::transmute_copy(&args),
10078 )
10079 .into()
10080 }
10081 }
10082 Self {
10083 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
10084 Invoke: Invoke::<Identity, OFFSET>,
10085 }
10086 }
10087 pub fn matches(iid: &windows_core::GUID) -> bool {
10088 iid == &<ICoreWebView2NavigationStartingEventHandler as windows_core::Interface>::IID
10089 }
10090}
10091impl windows_core::RuntimeName for ICoreWebView2NavigationStartingEventHandler {}
10092windows_core::imp::define_interface!(
10093 ICoreWebView2NewBrowserVersionAvailableEventHandler,
10094 ICoreWebView2NewBrowserVersionAvailableEventHandler_Vtbl,
10095 0xf9a2976e_d34e_44fc_adee_81b6b57ca914
10096);
10097windows_core::imp::interface_hierarchy!(
10098 ICoreWebView2NewBrowserVersionAvailableEventHandler,
10099 windows_core::IUnknown
10100);
10101impl ICoreWebView2NewBrowserVersionAvailableEventHandler {
10102 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
10103 where
10104 P0: windows_core::Param<ICoreWebView2Environment>,
10105 P1: windows_core::Param<windows_core::IUnknown>,
10106 {
10107 unsafe {
10108 (windows_core::Interface::vtable(self).Invoke)(
10109 windows_core::Interface::as_raw(self),
10110 sender.param().abi(),
10111 args.param().abi(),
10112 )
10113 .ok()
10114 }
10115 }
10116}
10117#[repr(C)]
10118#[doc(hidden)]
10119pub struct ICoreWebView2NewBrowserVersionAvailableEventHandler_Vtbl {
10120 pub base__: windows_core::IUnknown_Vtbl,
10121 pub Invoke: unsafe extern "system" fn(
10122 *mut core::ffi::c_void,
10123 *mut core::ffi::c_void,
10124 *mut core::ffi::c_void,
10125 ) -> windows_core::HRESULT,
10126}
10127pub trait ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl:
10128 windows_core::IUnknownImpl
10129{
10130 fn Invoke(
10131 &self,
10132 sender: windows_core::Ref<ICoreWebView2Environment>,
10133 args: windows_core::Ref<windows_core::IUnknown>,
10134 ) -> windows_core::Result<()>;
10135}
10136impl ICoreWebView2NewBrowserVersionAvailableEventHandler_Vtbl {
10137 pub const fn new<
10138 Identity: ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl,
10139 const OFFSET: isize,
10140 >() -> Self {
10141 unsafe extern "system" fn Invoke<
10142 Identity: ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl,
10143 const OFFSET: isize,
10144 >(
10145 this: *mut core::ffi::c_void,
10146 sender: *mut core::ffi::c_void,
10147 args: *mut core::ffi::c_void,
10148 ) -> windows_core::HRESULT {
10149 unsafe {
10150 let this: &Identity =
10151 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10152 ICoreWebView2NewBrowserVersionAvailableEventHandler_Impl::Invoke(
10153 this,
10154 core::mem::transmute_copy(&sender),
10155 core::mem::transmute_copy(&args),
10156 )
10157 .into()
10158 }
10159 }
10160 Self {
10161 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
10162 Invoke: Invoke::<Identity, OFFSET>,
10163 }
10164 }
10165 pub fn matches(iid: &windows_core::GUID) -> bool {
10166 iid == & < ICoreWebView2NewBrowserVersionAvailableEventHandler as windows_core::Interface >::IID
10167 }
10168}
10169impl windows_core::RuntimeName for ICoreWebView2NewBrowserVersionAvailableEventHandler {}
10170windows_core::imp::define_interface!(
10171 ICoreWebView2NewWindowRequestedEventArgs,
10172 ICoreWebView2NewWindowRequestedEventArgs_Vtbl,
10173 0x34acb11c_fc37_4418_9132_f9c21d1eafb9
10174);
10175windows_core::imp::interface_hierarchy!(
10176 ICoreWebView2NewWindowRequestedEventArgs,
10177 windows_core::IUnknown
10178);
10179impl ICoreWebView2NewWindowRequestedEventArgs {
10180 pub unsafe fn Uri(&self) -> windows_core::Result<windows_core::PWSTR> {
10181 unsafe {
10182 let mut result__ = core::mem::zeroed();
10183 (windows_core::Interface::vtable(self).Uri)(
10184 windows_core::Interface::as_raw(self),
10185 &mut result__,
10186 )
10187 .map(|| result__)
10188 }
10189 }
10190 pub unsafe fn SetNewWindow<P0>(&self, newwindow: P0) -> windows_core::Result<()>
10191 where
10192 P0: windows_core::Param<ICoreWebView2>,
10193 {
10194 unsafe {
10195 (windows_core::Interface::vtable(self).SetNewWindow)(
10196 windows_core::Interface::as_raw(self),
10197 newwindow.param().abi(),
10198 )
10199 .ok()
10200 }
10201 }
10202 pub unsafe fn NewWindow(&self) -> windows_core::Result<ICoreWebView2> {
10203 unsafe {
10204 let mut result__ = core::mem::zeroed();
10205 (windows_core::Interface::vtable(self).NewWindow)(
10206 windows_core::Interface::as_raw(self),
10207 &mut result__,
10208 )
10209 .and_then(|| windows_core::Type::from_abi(result__))
10210 }
10211 }
10212 pub unsafe fn SetHandled(&self, handled: bool) -> windows_core::Result<()> {
10213 unsafe {
10214 (windows_core::Interface::vtable(self).SetHandled)(
10215 windows_core::Interface::as_raw(self),
10216 handled.into(),
10217 )
10218 .ok()
10219 }
10220 }
10221 pub unsafe fn Handled(&self) -> windows_core::Result<windows_core::BOOL> {
10222 unsafe {
10223 let mut result__ = core::mem::zeroed();
10224 (windows_core::Interface::vtable(self).Handled)(
10225 windows_core::Interface::as_raw(self),
10226 &mut result__,
10227 )
10228 .map(|| result__)
10229 }
10230 }
10231 pub unsafe fn IsUserInitiated(&self) -> windows_core::Result<windows_core::BOOL> {
10232 unsafe {
10233 let mut result__ = core::mem::zeroed();
10234 (windows_core::Interface::vtable(self).IsUserInitiated)(
10235 windows_core::Interface::as_raw(self),
10236 &mut result__,
10237 )
10238 .map(|| result__)
10239 }
10240 }
10241 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
10242 unsafe {
10243 let mut result__ = core::mem::zeroed();
10244 (windows_core::Interface::vtable(self).GetDeferral)(
10245 windows_core::Interface::as_raw(self),
10246 &mut result__,
10247 )
10248 .and_then(|| windows_core::Type::from_abi(result__))
10249 }
10250 }
10251 pub unsafe fn WindowFeatures(&self) -> windows_core::Result<ICoreWebView2WindowFeatures> {
10252 unsafe {
10253 let mut result__ = core::mem::zeroed();
10254 (windows_core::Interface::vtable(self).WindowFeatures)(
10255 windows_core::Interface::as_raw(self),
10256 &mut result__,
10257 )
10258 .and_then(|| windows_core::Type::from_abi(result__))
10259 }
10260 }
10261}
10262#[repr(C)]
10263#[doc(hidden)]
10264pub struct ICoreWebView2NewWindowRequestedEventArgs_Vtbl {
10265 pub base__: windows_core::IUnknown_Vtbl,
10266 pub Uri: unsafe extern "system" fn(
10267 *mut core::ffi::c_void,
10268 *mut windows_core::PWSTR,
10269 ) -> windows_core::HRESULT,
10270 pub SetNewWindow: unsafe extern "system" fn(
10271 *mut core::ffi::c_void,
10272 *mut core::ffi::c_void,
10273 ) -> windows_core::HRESULT,
10274 pub NewWindow: unsafe extern "system" fn(
10275 *mut core::ffi::c_void,
10276 *mut *mut core::ffi::c_void,
10277 ) -> windows_core::HRESULT,
10278 pub SetHandled: unsafe extern "system" fn(
10279 *mut core::ffi::c_void,
10280 windows_core::BOOL,
10281 ) -> windows_core::HRESULT,
10282 pub Handled: unsafe extern "system" fn(
10283 *mut core::ffi::c_void,
10284 *mut windows_core::BOOL,
10285 ) -> windows_core::HRESULT,
10286 pub IsUserInitiated: unsafe extern "system" fn(
10287 *mut core::ffi::c_void,
10288 *mut windows_core::BOOL,
10289 ) -> windows_core::HRESULT,
10290 pub GetDeferral: unsafe extern "system" fn(
10291 *mut core::ffi::c_void,
10292 *mut *mut core::ffi::c_void,
10293 ) -> windows_core::HRESULT,
10294 pub WindowFeatures: unsafe extern "system" fn(
10295 *mut core::ffi::c_void,
10296 *mut *mut core::ffi::c_void,
10297 ) -> windows_core::HRESULT,
10298}
10299pub trait ICoreWebView2NewWindowRequestedEventArgs_Impl: windows_core::IUnknownImpl {
10300 fn Uri(&self) -> windows_core::Result<windows_core::PWSTR>;
10301 fn SetNewWindow(&self, newwindow: windows_core::Ref<ICoreWebView2>)
10302 -> windows_core::Result<()>;
10303 fn NewWindow(&self) -> windows_core::Result<ICoreWebView2>;
10304 fn SetHandled(&self, handled: windows_core::BOOL) -> windows_core::Result<()>;
10305 fn Handled(&self) -> windows_core::Result<windows_core::BOOL>;
10306 fn IsUserInitiated(&self) -> windows_core::Result<windows_core::BOOL>;
10307 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
10308 fn WindowFeatures(&self) -> windows_core::Result<ICoreWebView2WindowFeatures>;
10309}
10310impl ICoreWebView2NewWindowRequestedEventArgs_Vtbl {
10311 pub const fn new<
10312 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
10313 const OFFSET: isize,
10314 >() -> Self {
10315 unsafe extern "system" fn Uri<
10316 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
10317 const OFFSET: isize,
10318 >(
10319 this: *mut core::ffi::c_void,
10320 uri: *mut windows_core::PWSTR,
10321 ) -> windows_core::HRESULT {
10322 unsafe {
10323 let this: &Identity =
10324 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10325 match ICoreWebView2NewWindowRequestedEventArgs_Impl::Uri(this) {
10326 Ok(ok__) => {
10327 uri.write(core::mem::transmute(ok__));
10328 windows_core::HRESULT(0)
10329 }
10330 Err(err) => err.into(),
10331 }
10332 }
10333 }
10334 unsafe extern "system" fn SetNewWindow<
10335 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
10336 const OFFSET: isize,
10337 >(
10338 this: *mut core::ffi::c_void,
10339 newwindow: *mut core::ffi::c_void,
10340 ) -> windows_core::HRESULT {
10341 unsafe {
10342 let this: &Identity =
10343 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10344 ICoreWebView2NewWindowRequestedEventArgs_Impl::SetNewWindow(
10345 this,
10346 core::mem::transmute_copy(&newwindow),
10347 )
10348 .into()
10349 }
10350 }
10351 unsafe extern "system" fn NewWindow<
10352 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
10353 const OFFSET: isize,
10354 >(
10355 this: *mut core::ffi::c_void,
10356 newwindow: *mut *mut core::ffi::c_void,
10357 ) -> windows_core::HRESULT {
10358 unsafe {
10359 let this: &Identity =
10360 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10361 match ICoreWebView2NewWindowRequestedEventArgs_Impl::NewWindow(this) {
10362 Ok(ok__) => {
10363 newwindow.write(core::mem::transmute(ok__));
10364 windows_core::HRESULT(0)
10365 }
10366 Err(err) => err.into(),
10367 }
10368 }
10369 }
10370 unsafe extern "system" fn SetHandled<
10371 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
10372 const OFFSET: isize,
10373 >(
10374 this: *mut core::ffi::c_void,
10375 handled: windows_core::BOOL,
10376 ) -> windows_core::HRESULT {
10377 unsafe {
10378 let this: &Identity =
10379 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10380 ICoreWebView2NewWindowRequestedEventArgs_Impl::SetHandled(
10381 this,
10382 core::mem::transmute_copy(&handled),
10383 )
10384 .into()
10385 }
10386 }
10387 unsafe extern "system" fn Handled<
10388 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
10389 const OFFSET: isize,
10390 >(
10391 this: *mut core::ffi::c_void,
10392 handled: *mut windows_core::BOOL,
10393 ) -> windows_core::HRESULT {
10394 unsafe {
10395 let this: &Identity =
10396 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10397 match ICoreWebView2NewWindowRequestedEventArgs_Impl::Handled(this) {
10398 Ok(ok__) => {
10399 handled.write(core::mem::transmute(ok__));
10400 windows_core::HRESULT(0)
10401 }
10402 Err(err) => err.into(),
10403 }
10404 }
10405 }
10406 unsafe extern "system" fn IsUserInitiated<
10407 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
10408 const OFFSET: isize,
10409 >(
10410 this: *mut core::ffi::c_void,
10411 isuserinitiated: *mut windows_core::BOOL,
10412 ) -> windows_core::HRESULT {
10413 unsafe {
10414 let this: &Identity =
10415 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10416 match ICoreWebView2NewWindowRequestedEventArgs_Impl::IsUserInitiated(this) {
10417 Ok(ok__) => {
10418 isuserinitiated.write(core::mem::transmute(ok__));
10419 windows_core::HRESULT(0)
10420 }
10421 Err(err) => err.into(),
10422 }
10423 }
10424 }
10425 unsafe extern "system" fn GetDeferral<
10426 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
10427 const OFFSET: isize,
10428 >(
10429 this: *mut core::ffi::c_void,
10430 deferral: *mut *mut core::ffi::c_void,
10431 ) -> windows_core::HRESULT {
10432 unsafe {
10433 let this: &Identity =
10434 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10435 match ICoreWebView2NewWindowRequestedEventArgs_Impl::GetDeferral(this) {
10436 Ok(ok__) => {
10437 deferral.write(core::mem::transmute(ok__));
10438 windows_core::HRESULT(0)
10439 }
10440 Err(err) => err.into(),
10441 }
10442 }
10443 }
10444 unsafe extern "system" fn WindowFeatures<
10445 Identity: ICoreWebView2NewWindowRequestedEventArgs_Impl,
10446 const OFFSET: isize,
10447 >(
10448 this: *mut core::ffi::c_void,
10449 value: *mut *mut core::ffi::c_void,
10450 ) -> windows_core::HRESULT {
10451 unsafe {
10452 let this: &Identity =
10453 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10454 match ICoreWebView2NewWindowRequestedEventArgs_Impl::WindowFeatures(this) {
10455 Ok(ok__) => {
10456 value.write(core::mem::transmute(ok__));
10457 windows_core::HRESULT(0)
10458 }
10459 Err(err) => err.into(),
10460 }
10461 }
10462 }
10463 Self {
10464 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
10465 Uri: Uri::<Identity, OFFSET>,
10466 SetNewWindow: SetNewWindow::<Identity, OFFSET>,
10467 NewWindow: NewWindow::<Identity, OFFSET>,
10468 SetHandled: SetHandled::<Identity, OFFSET>,
10469 Handled: Handled::<Identity, OFFSET>,
10470 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
10471 GetDeferral: GetDeferral::<Identity, OFFSET>,
10472 WindowFeatures: WindowFeatures::<Identity, OFFSET>,
10473 }
10474 }
10475 pub fn matches(iid: &windows_core::GUID) -> bool {
10476 iid == &<ICoreWebView2NewWindowRequestedEventArgs as windows_core::Interface>::IID
10477 }
10478}
10479impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventArgs {}
10480windows_core::imp::define_interface!(
10481 ICoreWebView2NewWindowRequestedEventHandler,
10482 ICoreWebView2NewWindowRequestedEventHandler_Vtbl,
10483 0xd4c185fe_c81c_4989_97af_2d3fa7ab5651
10484);
10485windows_core::imp::interface_hierarchy!(
10486 ICoreWebView2NewWindowRequestedEventHandler,
10487 windows_core::IUnknown
10488);
10489impl ICoreWebView2NewWindowRequestedEventHandler {
10490 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
10491 where
10492 P0: windows_core::Param<ICoreWebView2>,
10493 P1: windows_core::Param<ICoreWebView2NewWindowRequestedEventArgs>,
10494 {
10495 unsafe {
10496 (windows_core::Interface::vtable(self).Invoke)(
10497 windows_core::Interface::as_raw(self),
10498 sender.param().abi(),
10499 args.param().abi(),
10500 )
10501 .ok()
10502 }
10503 }
10504}
10505#[repr(C)]
10506#[doc(hidden)]
10507pub struct ICoreWebView2NewWindowRequestedEventHandler_Vtbl {
10508 pub base__: windows_core::IUnknown_Vtbl,
10509 pub Invoke: unsafe extern "system" fn(
10510 *mut core::ffi::c_void,
10511 *mut core::ffi::c_void,
10512 *mut core::ffi::c_void,
10513 ) -> windows_core::HRESULT,
10514}
10515pub trait ICoreWebView2NewWindowRequestedEventHandler_Impl: windows_core::IUnknownImpl {
10516 fn Invoke(
10517 &self,
10518 sender: windows_core::Ref<ICoreWebView2>,
10519 args: windows_core::Ref<ICoreWebView2NewWindowRequestedEventArgs>,
10520 ) -> windows_core::Result<()>;
10521}
10522impl ICoreWebView2NewWindowRequestedEventHandler_Vtbl {
10523 pub const fn new<
10524 Identity: ICoreWebView2NewWindowRequestedEventHandler_Impl,
10525 const OFFSET: isize,
10526 >() -> Self {
10527 unsafe extern "system" fn Invoke<
10528 Identity: ICoreWebView2NewWindowRequestedEventHandler_Impl,
10529 const OFFSET: isize,
10530 >(
10531 this: *mut core::ffi::c_void,
10532 sender: *mut core::ffi::c_void,
10533 args: *mut core::ffi::c_void,
10534 ) -> windows_core::HRESULT {
10535 unsafe {
10536 let this: &Identity =
10537 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10538 ICoreWebView2NewWindowRequestedEventHandler_Impl::Invoke(
10539 this,
10540 core::mem::transmute_copy(&sender),
10541 core::mem::transmute_copy(&args),
10542 )
10543 .into()
10544 }
10545 }
10546 Self {
10547 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
10548 Invoke: Invoke::<Identity, OFFSET>,
10549 }
10550 }
10551 pub fn matches(iid: &windows_core::GUID) -> bool {
10552 iid == &<ICoreWebView2NewWindowRequestedEventHandler as windows_core::Interface>::IID
10553 }
10554}
10555impl windows_core::RuntimeName for ICoreWebView2NewWindowRequestedEventHandler {}
10556windows_core::imp::define_interface!(
10557 ICoreWebView2PermissionRequestedEventArgs,
10558 ICoreWebView2PermissionRequestedEventArgs_Vtbl,
10559 0x973ae2ef_ff18_4894_8fb2_3c758f046810
10560);
10561windows_core::imp::interface_hierarchy!(
10562 ICoreWebView2PermissionRequestedEventArgs,
10563 windows_core::IUnknown
10564);
10565impl ICoreWebView2PermissionRequestedEventArgs {
10566 pub unsafe fn Uri(&self) -> windows_core::Result<windows_core::PWSTR> {
10567 unsafe {
10568 let mut result__ = core::mem::zeroed();
10569 (windows_core::Interface::vtable(self).Uri)(
10570 windows_core::Interface::as_raw(self),
10571 &mut result__,
10572 )
10573 .map(|| result__)
10574 }
10575 }
10576 pub unsafe fn PermissionKind(&self) -> windows_core::Result<COREWEBVIEW2_PERMISSION_KIND> {
10577 unsafe {
10578 let mut result__ = core::mem::zeroed();
10579 (windows_core::Interface::vtable(self).PermissionKind)(
10580 windows_core::Interface::as_raw(self),
10581 &mut result__,
10582 )
10583 .map(|| result__)
10584 }
10585 }
10586 pub unsafe fn IsUserInitiated(&self) -> windows_core::Result<windows_core::BOOL> {
10587 unsafe {
10588 let mut result__ = core::mem::zeroed();
10589 (windows_core::Interface::vtable(self).IsUserInitiated)(
10590 windows_core::Interface::as_raw(self),
10591 &mut result__,
10592 )
10593 .map(|| result__)
10594 }
10595 }
10596 pub unsafe fn State(&self) -> windows_core::Result<COREWEBVIEW2_PERMISSION_STATE> {
10597 unsafe {
10598 let mut result__ = core::mem::zeroed();
10599 (windows_core::Interface::vtable(self).State)(
10600 windows_core::Interface::as_raw(self),
10601 &mut result__,
10602 )
10603 .map(|| result__)
10604 }
10605 }
10606 pub unsafe fn SetState(
10607 &self,
10608 state: COREWEBVIEW2_PERMISSION_STATE,
10609 ) -> windows_core::Result<()> {
10610 unsafe {
10611 (windows_core::Interface::vtable(self).SetState)(
10612 windows_core::Interface::as_raw(self),
10613 state,
10614 )
10615 .ok()
10616 }
10617 }
10618 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
10619 unsafe {
10620 let mut result__ = core::mem::zeroed();
10621 (windows_core::Interface::vtable(self).GetDeferral)(
10622 windows_core::Interface::as_raw(self),
10623 &mut result__,
10624 )
10625 .and_then(|| windows_core::Type::from_abi(result__))
10626 }
10627 }
10628}
10629#[repr(C)]
10630#[doc(hidden)]
10631pub struct ICoreWebView2PermissionRequestedEventArgs_Vtbl {
10632 pub base__: windows_core::IUnknown_Vtbl,
10633 pub Uri: unsafe extern "system" fn(
10634 *mut core::ffi::c_void,
10635 *mut windows_core::PWSTR,
10636 ) -> windows_core::HRESULT,
10637 pub PermissionKind: unsafe extern "system" fn(
10638 *mut core::ffi::c_void,
10639 *mut COREWEBVIEW2_PERMISSION_KIND,
10640 ) -> windows_core::HRESULT,
10641 pub IsUserInitiated: unsafe extern "system" fn(
10642 *mut core::ffi::c_void,
10643 *mut windows_core::BOOL,
10644 ) -> windows_core::HRESULT,
10645 pub State: unsafe extern "system" fn(
10646 *mut core::ffi::c_void,
10647 *mut COREWEBVIEW2_PERMISSION_STATE,
10648 ) -> windows_core::HRESULT,
10649 pub SetState: unsafe extern "system" fn(
10650 *mut core::ffi::c_void,
10651 COREWEBVIEW2_PERMISSION_STATE,
10652 ) -> windows_core::HRESULT,
10653 pub GetDeferral: unsafe extern "system" fn(
10654 *mut core::ffi::c_void,
10655 *mut *mut core::ffi::c_void,
10656 ) -> windows_core::HRESULT,
10657}
10658pub trait ICoreWebView2PermissionRequestedEventArgs_Impl: windows_core::IUnknownImpl {
10659 fn Uri(&self) -> windows_core::Result<windows_core::PWSTR>;
10660 fn PermissionKind(&self) -> windows_core::Result<COREWEBVIEW2_PERMISSION_KIND>;
10661 fn IsUserInitiated(&self) -> windows_core::Result<windows_core::BOOL>;
10662 fn State(&self) -> windows_core::Result<COREWEBVIEW2_PERMISSION_STATE>;
10663 fn SetState(&self, state: COREWEBVIEW2_PERMISSION_STATE) -> windows_core::Result<()>;
10664 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
10665}
10666impl ICoreWebView2PermissionRequestedEventArgs_Vtbl {
10667 pub const fn new<
10668 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
10669 const OFFSET: isize,
10670 >() -> Self {
10671 unsafe extern "system" fn Uri<
10672 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
10673 const OFFSET: isize,
10674 >(
10675 this: *mut core::ffi::c_void,
10676 uri: *mut windows_core::PWSTR,
10677 ) -> windows_core::HRESULT {
10678 unsafe {
10679 let this: &Identity =
10680 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10681 match ICoreWebView2PermissionRequestedEventArgs_Impl::Uri(this) {
10682 Ok(ok__) => {
10683 uri.write(core::mem::transmute(ok__));
10684 windows_core::HRESULT(0)
10685 }
10686 Err(err) => err.into(),
10687 }
10688 }
10689 }
10690 unsafe extern "system" fn PermissionKind<
10691 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
10692 const OFFSET: isize,
10693 >(
10694 this: *mut core::ffi::c_void,
10695 permissionkind: *mut COREWEBVIEW2_PERMISSION_KIND,
10696 ) -> windows_core::HRESULT {
10697 unsafe {
10698 let this: &Identity =
10699 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10700 match ICoreWebView2PermissionRequestedEventArgs_Impl::PermissionKind(this) {
10701 Ok(ok__) => {
10702 permissionkind.write(core::mem::transmute(ok__));
10703 windows_core::HRESULT(0)
10704 }
10705 Err(err) => err.into(),
10706 }
10707 }
10708 }
10709 unsafe extern "system" fn IsUserInitiated<
10710 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
10711 const OFFSET: isize,
10712 >(
10713 this: *mut core::ffi::c_void,
10714 isuserinitiated: *mut windows_core::BOOL,
10715 ) -> windows_core::HRESULT {
10716 unsafe {
10717 let this: &Identity =
10718 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10719 match ICoreWebView2PermissionRequestedEventArgs_Impl::IsUserInitiated(this) {
10720 Ok(ok__) => {
10721 isuserinitiated.write(core::mem::transmute(ok__));
10722 windows_core::HRESULT(0)
10723 }
10724 Err(err) => err.into(),
10725 }
10726 }
10727 }
10728 unsafe extern "system" fn State<
10729 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
10730 const OFFSET: isize,
10731 >(
10732 this: *mut core::ffi::c_void,
10733 state: *mut COREWEBVIEW2_PERMISSION_STATE,
10734 ) -> windows_core::HRESULT {
10735 unsafe {
10736 let this: &Identity =
10737 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10738 match ICoreWebView2PermissionRequestedEventArgs_Impl::State(this) {
10739 Ok(ok__) => {
10740 state.write(core::mem::transmute(ok__));
10741 windows_core::HRESULT(0)
10742 }
10743 Err(err) => err.into(),
10744 }
10745 }
10746 }
10747 unsafe extern "system" fn SetState<
10748 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
10749 const OFFSET: isize,
10750 >(
10751 this: *mut core::ffi::c_void,
10752 state: COREWEBVIEW2_PERMISSION_STATE,
10753 ) -> windows_core::HRESULT {
10754 unsafe {
10755 let this: &Identity =
10756 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10757 ICoreWebView2PermissionRequestedEventArgs_Impl::SetState(
10758 this,
10759 core::mem::transmute_copy(&state),
10760 )
10761 .into()
10762 }
10763 }
10764 unsafe extern "system" fn GetDeferral<
10765 Identity: ICoreWebView2PermissionRequestedEventArgs_Impl,
10766 const OFFSET: isize,
10767 >(
10768 this: *mut core::ffi::c_void,
10769 deferral: *mut *mut core::ffi::c_void,
10770 ) -> windows_core::HRESULT {
10771 unsafe {
10772 let this: &Identity =
10773 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10774 match ICoreWebView2PermissionRequestedEventArgs_Impl::GetDeferral(this) {
10775 Ok(ok__) => {
10776 deferral.write(core::mem::transmute(ok__));
10777 windows_core::HRESULT(0)
10778 }
10779 Err(err) => err.into(),
10780 }
10781 }
10782 }
10783 Self {
10784 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
10785 Uri: Uri::<Identity, OFFSET>,
10786 PermissionKind: PermissionKind::<Identity, OFFSET>,
10787 IsUserInitiated: IsUserInitiated::<Identity, OFFSET>,
10788 State: State::<Identity, OFFSET>,
10789 SetState: SetState::<Identity, OFFSET>,
10790 GetDeferral: GetDeferral::<Identity, OFFSET>,
10791 }
10792 }
10793 pub fn matches(iid: &windows_core::GUID) -> bool {
10794 iid == &<ICoreWebView2PermissionRequestedEventArgs as windows_core::Interface>::IID
10795 }
10796}
10797impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventArgs {}
10798windows_core::imp::define_interface!(
10799 ICoreWebView2PermissionRequestedEventHandler,
10800 ICoreWebView2PermissionRequestedEventHandler_Vtbl,
10801 0x15e1c6a3_c72a_4df3_91d7_d097fbec6bfd
10802);
10803windows_core::imp::interface_hierarchy!(
10804 ICoreWebView2PermissionRequestedEventHandler,
10805 windows_core::IUnknown
10806);
10807impl ICoreWebView2PermissionRequestedEventHandler {
10808 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
10809 where
10810 P0: windows_core::Param<ICoreWebView2>,
10811 P1: windows_core::Param<ICoreWebView2PermissionRequestedEventArgs>,
10812 {
10813 unsafe {
10814 (windows_core::Interface::vtable(self).Invoke)(
10815 windows_core::Interface::as_raw(self),
10816 sender.param().abi(),
10817 args.param().abi(),
10818 )
10819 .ok()
10820 }
10821 }
10822}
10823#[repr(C)]
10824#[doc(hidden)]
10825pub struct ICoreWebView2PermissionRequestedEventHandler_Vtbl {
10826 pub base__: windows_core::IUnknown_Vtbl,
10827 pub Invoke: unsafe extern "system" fn(
10828 *mut core::ffi::c_void,
10829 *mut core::ffi::c_void,
10830 *mut core::ffi::c_void,
10831 ) -> windows_core::HRESULT,
10832}
10833pub trait ICoreWebView2PermissionRequestedEventHandler_Impl: windows_core::IUnknownImpl {
10834 fn Invoke(
10835 &self,
10836 sender: windows_core::Ref<ICoreWebView2>,
10837 args: windows_core::Ref<ICoreWebView2PermissionRequestedEventArgs>,
10838 ) -> windows_core::Result<()>;
10839}
10840impl ICoreWebView2PermissionRequestedEventHandler_Vtbl {
10841 pub const fn new<
10842 Identity: ICoreWebView2PermissionRequestedEventHandler_Impl,
10843 const OFFSET: isize,
10844 >() -> Self {
10845 unsafe extern "system" fn Invoke<
10846 Identity: ICoreWebView2PermissionRequestedEventHandler_Impl,
10847 const OFFSET: isize,
10848 >(
10849 this: *mut core::ffi::c_void,
10850 sender: *mut core::ffi::c_void,
10851 args: *mut core::ffi::c_void,
10852 ) -> windows_core::HRESULT {
10853 unsafe {
10854 let this: &Identity =
10855 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10856 ICoreWebView2PermissionRequestedEventHandler_Impl::Invoke(
10857 this,
10858 core::mem::transmute_copy(&sender),
10859 core::mem::transmute_copy(&args),
10860 )
10861 .into()
10862 }
10863 }
10864 Self {
10865 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
10866 Invoke: Invoke::<Identity, OFFSET>,
10867 }
10868 }
10869 pub fn matches(iid: &windows_core::GUID) -> bool {
10870 iid == &<ICoreWebView2PermissionRequestedEventHandler as windows_core::Interface>::IID
10871 }
10872}
10873impl windows_core::RuntimeName for ICoreWebView2PermissionRequestedEventHandler {}
10874windows_core::imp::define_interface!(
10875 ICoreWebView2PointerInfo,
10876 ICoreWebView2PointerInfo_Vtbl,
10877 0xe6995887_d10d_4f5d_9359_4ce46e4f96b9
10878);
10879windows_core::imp::interface_hierarchy!(ICoreWebView2PointerInfo, windows_core::IUnknown);
10880impl ICoreWebView2PointerInfo {
10881 pub unsafe fn PointerKind(&self) -> windows_core::Result<u32> {
10882 unsafe {
10883 let mut result__ = core::mem::zeroed();
10884 (windows_core::Interface::vtable(self).PointerKind)(
10885 windows_core::Interface::as_raw(self),
10886 &mut result__,
10887 )
10888 .map(|| result__)
10889 }
10890 }
10891 pub unsafe fn SetPointerKind(&self, pointerkind: u32) -> windows_core::Result<()> {
10892 unsafe {
10893 (windows_core::Interface::vtable(self).SetPointerKind)(
10894 windows_core::Interface::as_raw(self),
10895 pointerkind,
10896 )
10897 .ok()
10898 }
10899 }
10900 pub unsafe fn PointerId(&self) -> windows_core::Result<u32> {
10901 unsafe {
10902 let mut result__ = core::mem::zeroed();
10903 (windows_core::Interface::vtable(self).PointerId)(
10904 windows_core::Interface::as_raw(self),
10905 &mut result__,
10906 )
10907 .map(|| result__)
10908 }
10909 }
10910 pub unsafe fn SetPointerId(&self, pointerid: u32) -> windows_core::Result<()> {
10911 unsafe {
10912 (windows_core::Interface::vtable(self).SetPointerId)(
10913 windows_core::Interface::as_raw(self),
10914 pointerid,
10915 )
10916 .ok()
10917 }
10918 }
10919 pub unsafe fn FrameId(&self) -> windows_core::Result<u32> {
10920 unsafe {
10921 let mut result__ = core::mem::zeroed();
10922 (windows_core::Interface::vtable(self).FrameId)(
10923 windows_core::Interface::as_raw(self),
10924 &mut result__,
10925 )
10926 .map(|| result__)
10927 }
10928 }
10929 pub unsafe fn SetFrameId(&self, frameid: u32) -> windows_core::Result<()> {
10930 unsafe {
10931 (windows_core::Interface::vtable(self).SetFrameId)(
10932 windows_core::Interface::as_raw(self),
10933 frameid,
10934 )
10935 .ok()
10936 }
10937 }
10938 pub unsafe fn PointerFlags(&self) -> windows_core::Result<u32> {
10939 unsafe {
10940 let mut result__ = core::mem::zeroed();
10941 (windows_core::Interface::vtable(self).PointerFlags)(
10942 windows_core::Interface::as_raw(self),
10943 &mut result__,
10944 )
10945 .map(|| result__)
10946 }
10947 }
10948 pub unsafe fn SetPointerFlags(&self, pointerflags: u32) -> windows_core::Result<()> {
10949 unsafe {
10950 (windows_core::Interface::vtable(self).SetPointerFlags)(
10951 windows_core::Interface::as_raw(self),
10952 pointerflags,
10953 )
10954 .ok()
10955 }
10956 }
10957 pub unsafe fn PointerDeviceRect(
10958 &self,
10959 ) -> windows_core::Result<windows::Win32::Foundation::RECT> {
10960 unsafe {
10961 let mut result__ = core::mem::zeroed();
10962 (windows_core::Interface::vtable(self).PointerDeviceRect)(
10963 windows_core::Interface::as_raw(self),
10964 &mut result__,
10965 )
10966 .map(|| result__)
10967 }
10968 }
10969 pub unsafe fn SetPointerDeviceRect(
10970 &self,
10971 pointerdevicerect: windows::Win32::Foundation::RECT,
10972 ) -> windows_core::Result<()> {
10973 unsafe {
10974 (windows_core::Interface::vtable(self).SetPointerDeviceRect)(
10975 windows_core::Interface::as_raw(self),
10976 core::mem::transmute(pointerdevicerect),
10977 )
10978 .ok()
10979 }
10980 }
10981 pub unsafe fn DisplayRect(&self) -> windows_core::Result<windows::Win32::Foundation::RECT> {
10982 unsafe {
10983 let mut result__ = core::mem::zeroed();
10984 (windows_core::Interface::vtable(self).DisplayRect)(
10985 windows_core::Interface::as_raw(self),
10986 &mut result__,
10987 )
10988 .map(|| result__)
10989 }
10990 }
10991 pub unsafe fn SetDisplayRect(
10992 &self,
10993 displayrect: windows::Win32::Foundation::RECT,
10994 ) -> windows_core::Result<()> {
10995 unsafe {
10996 (windows_core::Interface::vtable(self).SetDisplayRect)(
10997 windows_core::Interface::as_raw(self),
10998 core::mem::transmute(displayrect),
10999 )
11000 .ok()
11001 }
11002 }
11003 pub unsafe fn PixelLocation(&self) -> windows_core::Result<windows::Win32::Foundation::POINT> {
11004 unsafe {
11005 let mut result__ = core::mem::zeroed();
11006 (windows_core::Interface::vtable(self).PixelLocation)(
11007 windows_core::Interface::as_raw(self),
11008 &mut result__,
11009 )
11010 .map(|| result__)
11011 }
11012 }
11013 pub unsafe fn SetPixelLocation(
11014 &self,
11015 pixellocation: windows::Win32::Foundation::POINT,
11016 ) -> windows_core::Result<()> {
11017 unsafe {
11018 (windows_core::Interface::vtable(self).SetPixelLocation)(
11019 windows_core::Interface::as_raw(self),
11020 core::mem::transmute(pixellocation),
11021 )
11022 .ok()
11023 }
11024 }
11025 pub unsafe fn HimetricLocation(
11026 &self,
11027 ) -> windows_core::Result<windows::Win32::Foundation::POINT> {
11028 unsafe {
11029 let mut result__ = core::mem::zeroed();
11030 (windows_core::Interface::vtable(self).HimetricLocation)(
11031 windows_core::Interface::as_raw(self),
11032 &mut result__,
11033 )
11034 .map(|| result__)
11035 }
11036 }
11037 pub unsafe fn SetHimetricLocation(
11038 &self,
11039 himetriclocation: windows::Win32::Foundation::POINT,
11040 ) -> windows_core::Result<()> {
11041 unsafe {
11042 (windows_core::Interface::vtable(self).SetHimetricLocation)(
11043 windows_core::Interface::as_raw(self),
11044 core::mem::transmute(himetriclocation),
11045 )
11046 .ok()
11047 }
11048 }
11049 pub unsafe fn PixelLocationRaw(
11050 &self,
11051 ) -> windows_core::Result<windows::Win32::Foundation::POINT> {
11052 unsafe {
11053 let mut result__ = core::mem::zeroed();
11054 (windows_core::Interface::vtable(self).PixelLocationRaw)(
11055 windows_core::Interface::as_raw(self),
11056 &mut result__,
11057 )
11058 .map(|| result__)
11059 }
11060 }
11061 pub unsafe fn SetPixelLocationRaw(
11062 &self,
11063 pixellocationraw: windows::Win32::Foundation::POINT,
11064 ) -> windows_core::Result<()> {
11065 unsafe {
11066 (windows_core::Interface::vtable(self).SetPixelLocationRaw)(
11067 windows_core::Interface::as_raw(self),
11068 core::mem::transmute(pixellocationraw),
11069 )
11070 .ok()
11071 }
11072 }
11073 pub unsafe fn HimetricLocationRaw(
11074 &self,
11075 ) -> windows_core::Result<windows::Win32::Foundation::POINT> {
11076 unsafe {
11077 let mut result__ = core::mem::zeroed();
11078 (windows_core::Interface::vtable(self).HimetricLocationRaw)(
11079 windows_core::Interface::as_raw(self),
11080 &mut result__,
11081 )
11082 .map(|| result__)
11083 }
11084 }
11085 pub unsafe fn SetHimetricLocationRaw(
11086 &self,
11087 himetriclocationraw: windows::Win32::Foundation::POINT,
11088 ) -> windows_core::Result<()> {
11089 unsafe {
11090 (windows_core::Interface::vtable(self).SetHimetricLocationRaw)(
11091 windows_core::Interface::as_raw(self),
11092 core::mem::transmute(himetriclocationraw),
11093 )
11094 .ok()
11095 }
11096 }
11097 pub unsafe fn Time(&self) -> windows_core::Result<u32> {
11098 unsafe {
11099 let mut result__ = core::mem::zeroed();
11100 (windows_core::Interface::vtable(self).Time)(
11101 windows_core::Interface::as_raw(self),
11102 &mut result__,
11103 )
11104 .map(|| result__)
11105 }
11106 }
11107 pub unsafe fn SetTime(&self, time: u32) -> windows_core::Result<()> {
11108 unsafe {
11109 (windows_core::Interface::vtable(self).SetTime)(
11110 windows_core::Interface::as_raw(self),
11111 time,
11112 )
11113 .ok()
11114 }
11115 }
11116 pub unsafe fn HistoryCount(&self) -> windows_core::Result<u32> {
11117 unsafe {
11118 let mut result__ = core::mem::zeroed();
11119 (windows_core::Interface::vtable(self).HistoryCount)(
11120 windows_core::Interface::as_raw(self),
11121 &mut result__,
11122 )
11123 .map(|| result__)
11124 }
11125 }
11126 pub unsafe fn SetHistoryCount(&self, historycount: u32) -> windows_core::Result<()> {
11127 unsafe {
11128 (windows_core::Interface::vtable(self).SetHistoryCount)(
11129 windows_core::Interface::as_raw(self),
11130 historycount,
11131 )
11132 .ok()
11133 }
11134 }
11135 pub unsafe fn InputData(&self) -> windows_core::Result<i32> {
11136 unsafe {
11137 let mut result__ = core::mem::zeroed();
11138 (windows_core::Interface::vtable(self).InputData)(
11139 windows_core::Interface::as_raw(self),
11140 &mut result__,
11141 )
11142 .map(|| result__)
11143 }
11144 }
11145 pub unsafe fn SetInputData(&self, inputdata: i32) -> windows_core::Result<()> {
11146 unsafe {
11147 (windows_core::Interface::vtable(self).SetInputData)(
11148 windows_core::Interface::as_raw(self),
11149 inputdata,
11150 )
11151 .ok()
11152 }
11153 }
11154 pub unsafe fn KeyStates(&self) -> windows_core::Result<u32> {
11155 unsafe {
11156 let mut result__ = core::mem::zeroed();
11157 (windows_core::Interface::vtable(self).KeyStates)(
11158 windows_core::Interface::as_raw(self),
11159 &mut result__,
11160 )
11161 .map(|| result__)
11162 }
11163 }
11164 pub unsafe fn SetKeyStates(&self, keystates: u32) -> windows_core::Result<()> {
11165 unsafe {
11166 (windows_core::Interface::vtable(self).SetKeyStates)(
11167 windows_core::Interface::as_raw(self),
11168 keystates,
11169 )
11170 .ok()
11171 }
11172 }
11173 pub unsafe fn PerformanceCount(&self) -> windows_core::Result<u64> {
11174 unsafe {
11175 let mut result__ = core::mem::zeroed();
11176 (windows_core::Interface::vtable(self).PerformanceCount)(
11177 windows_core::Interface::as_raw(self),
11178 &mut result__,
11179 )
11180 .map(|| result__)
11181 }
11182 }
11183 pub unsafe fn SetPerformanceCount(&self, performancecount: u64) -> windows_core::Result<()> {
11184 unsafe {
11185 (windows_core::Interface::vtable(self).SetPerformanceCount)(
11186 windows_core::Interface::as_raw(self),
11187 performancecount,
11188 )
11189 .ok()
11190 }
11191 }
11192 pub unsafe fn ButtonChangeKind(&self) -> windows_core::Result<i32> {
11193 unsafe {
11194 let mut result__ = core::mem::zeroed();
11195 (windows_core::Interface::vtable(self).ButtonChangeKind)(
11196 windows_core::Interface::as_raw(self),
11197 &mut result__,
11198 )
11199 .map(|| result__)
11200 }
11201 }
11202 pub unsafe fn SetButtonChangeKind(&self, buttonchangekind: i32) -> windows_core::Result<()> {
11203 unsafe {
11204 (windows_core::Interface::vtable(self).SetButtonChangeKind)(
11205 windows_core::Interface::as_raw(self),
11206 buttonchangekind,
11207 )
11208 .ok()
11209 }
11210 }
11211 pub unsafe fn PenFlags(&self) -> windows_core::Result<u32> {
11212 unsafe {
11213 let mut result__ = core::mem::zeroed();
11214 (windows_core::Interface::vtable(self).PenFlags)(
11215 windows_core::Interface::as_raw(self),
11216 &mut result__,
11217 )
11218 .map(|| result__)
11219 }
11220 }
11221 pub unsafe fn SetPenFlags(&self, penflags: u32) -> windows_core::Result<()> {
11222 unsafe {
11223 (windows_core::Interface::vtable(self).SetPenFlags)(
11224 windows_core::Interface::as_raw(self),
11225 penflags,
11226 )
11227 .ok()
11228 }
11229 }
11230 pub unsafe fn PenMask(&self) -> windows_core::Result<u32> {
11231 unsafe {
11232 let mut result__ = core::mem::zeroed();
11233 (windows_core::Interface::vtable(self).PenMask)(
11234 windows_core::Interface::as_raw(self),
11235 &mut result__,
11236 )
11237 .map(|| result__)
11238 }
11239 }
11240 pub unsafe fn SetPenMask(&self, penmask: u32) -> windows_core::Result<()> {
11241 unsafe {
11242 (windows_core::Interface::vtable(self).SetPenMask)(
11243 windows_core::Interface::as_raw(self),
11244 penmask,
11245 )
11246 .ok()
11247 }
11248 }
11249 pub unsafe fn PenPressure(&self) -> windows_core::Result<u32> {
11250 unsafe {
11251 let mut result__ = core::mem::zeroed();
11252 (windows_core::Interface::vtable(self).PenPressure)(
11253 windows_core::Interface::as_raw(self),
11254 &mut result__,
11255 )
11256 .map(|| result__)
11257 }
11258 }
11259 pub unsafe fn SetPenPressure(&self, penpressure: u32) -> windows_core::Result<()> {
11260 unsafe {
11261 (windows_core::Interface::vtable(self).SetPenPressure)(
11262 windows_core::Interface::as_raw(self),
11263 penpressure,
11264 )
11265 .ok()
11266 }
11267 }
11268 pub unsafe fn PenRotation(&self) -> windows_core::Result<u32> {
11269 unsafe {
11270 let mut result__ = core::mem::zeroed();
11271 (windows_core::Interface::vtable(self).PenRotation)(
11272 windows_core::Interface::as_raw(self),
11273 &mut result__,
11274 )
11275 .map(|| result__)
11276 }
11277 }
11278 pub unsafe fn SetPenRotation(&self, penrotation: u32) -> windows_core::Result<()> {
11279 unsafe {
11280 (windows_core::Interface::vtable(self).SetPenRotation)(
11281 windows_core::Interface::as_raw(self),
11282 penrotation,
11283 )
11284 .ok()
11285 }
11286 }
11287 pub unsafe fn PenTiltX(&self) -> windows_core::Result<i32> {
11288 unsafe {
11289 let mut result__ = core::mem::zeroed();
11290 (windows_core::Interface::vtable(self).PenTiltX)(
11291 windows_core::Interface::as_raw(self),
11292 &mut result__,
11293 )
11294 .map(|| result__)
11295 }
11296 }
11297 pub unsafe fn SetPenTiltX(&self, pentiltx: i32) -> windows_core::Result<()> {
11298 unsafe {
11299 (windows_core::Interface::vtable(self).SetPenTiltX)(
11300 windows_core::Interface::as_raw(self),
11301 pentiltx,
11302 )
11303 .ok()
11304 }
11305 }
11306 pub unsafe fn PenTiltY(&self) -> windows_core::Result<i32> {
11307 unsafe {
11308 let mut result__ = core::mem::zeroed();
11309 (windows_core::Interface::vtable(self).PenTiltY)(
11310 windows_core::Interface::as_raw(self),
11311 &mut result__,
11312 )
11313 .map(|| result__)
11314 }
11315 }
11316 pub unsafe fn SetPenTiltY(&self, pentilty: i32) -> windows_core::Result<()> {
11317 unsafe {
11318 (windows_core::Interface::vtable(self).SetPenTiltY)(
11319 windows_core::Interface::as_raw(self),
11320 pentilty,
11321 )
11322 .ok()
11323 }
11324 }
11325 pub unsafe fn TouchFlags(&self) -> windows_core::Result<u32> {
11326 unsafe {
11327 let mut result__ = core::mem::zeroed();
11328 (windows_core::Interface::vtable(self).TouchFlags)(
11329 windows_core::Interface::as_raw(self),
11330 &mut result__,
11331 )
11332 .map(|| result__)
11333 }
11334 }
11335 pub unsafe fn SetTouchFlags(&self, touchflags: u32) -> windows_core::Result<()> {
11336 unsafe {
11337 (windows_core::Interface::vtable(self).SetTouchFlags)(
11338 windows_core::Interface::as_raw(self),
11339 touchflags,
11340 )
11341 .ok()
11342 }
11343 }
11344 pub unsafe fn TouchMask(&self) -> windows_core::Result<u32> {
11345 unsafe {
11346 let mut result__ = core::mem::zeroed();
11347 (windows_core::Interface::vtable(self).TouchMask)(
11348 windows_core::Interface::as_raw(self),
11349 &mut result__,
11350 )
11351 .map(|| result__)
11352 }
11353 }
11354 pub unsafe fn SetTouchMask(&self, touchmask: u32) -> windows_core::Result<()> {
11355 unsafe {
11356 (windows_core::Interface::vtable(self).SetTouchMask)(
11357 windows_core::Interface::as_raw(self),
11358 touchmask,
11359 )
11360 .ok()
11361 }
11362 }
11363 pub unsafe fn TouchContact(&self) -> windows_core::Result<windows::Win32::Foundation::RECT> {
11364 unsafe {
11365 let mut result__ = core::mem::zeroed();
11366 (windows_core::Interface::vtable(self).TouchContact)(
11367 windows_core::Interface::as_raw(self),
11368 &mut result__,
11369 )
11370 .map(|| result__)
11371 }
11372 }
11373 pub unsafe fn SetTouchContact(
11374 &self,
11375 touchcontact: windows::Win32::Foundation::RECT,
11376 ) -> windows_core::Result<()> {
11377 unsafe {
11378 (windows_core::Interface::vtable(self).SetTouchContact)(
11379 windows_core::Interface::as_raw(self),
11380 core::mem::transmute(touchcontact),
11381 )
11382 .ok()
11383 }
11384 }
11385 pub unsafe fn TouchContactRaw(&self) -> windows_core::Result<windows::Win32::Foundation::RECT> {
11386 unsafe {
11387 let mut result__ = core::mem::zeroed();
11388 (windows_core::Interface::vtable(self).TouchContactRaw)(
11389 windows_core::Interface::as_raw(self),
11390 &mut result__,
11391 )
11392 .map(|| result__)
11393 }
11394 }
11395 pub unsafe fn SetTouchContactRaw(
11396 &self,
11397 touchcontactraw: windows::Win32::Foundation::RECT,
11398 ) -> windows_core::Result<()> {
11399 unsafe {
11400 (windows_core::Interface::vtable(self).SetTouchContactRaw)(
11401 windows_core::Interface::as_raw(self),
11402 core::mem::transmute(touchcontactraw),
11403 )
11404 .ok()
11405 }
11406 }
11407 pub unsafe fn TouchOrientation(&self) -> windows_core::Result<u32> {
11408 unsafe {
11409 let mut result__ = core::mem::zeroed();
11410 (windows_core::Interface::vtable(self).TouchOrientation)(
11411 windows_core::Interface::as_raw(self),
11412 &mut result__,
11413 )
11414 .map(|| result__)
11415 }
11416 }
11417 pub unsafe fn SetTouchOrientation(&self, touchorientation: u32) -> windows_core::Result<()> {
11418 unsafe {
11419 (windows_core::Interface::vtable(self).SetTouchOrientation)(
11420 windows_core::Interface::as_raw(self),
11421 touchorientation,
11422 )
11423 .ok()
11424 }
11425 }
11426 pub unsafe fn TouchPressure(&self) -> windows_core::Result<u32> {
11427 unsafe {
11428 let mut result__ = core::mem::zeroed();
11429 (windows_core::Interface::vtable(self).TouchPressure)(
11430 windows_core::Interface::as_raw(self),
11431 &mut result__,
11432 )
11433 .map(|| result__)
11434 }
11435 }
11436 pub unsafe fn SetTouchPressure(&self, touchpressure: u32) -> windows_core::Result<()> {
11437 unsafe {
11438 (windows_core::Interface::vtable(self).SetTouchPressure)(
11439 windows_core::Interface::as_raw(self),
11440 touchpressure,
11441 )
11442 .ok()
11443 }
11444 }
11445}
11446#[repr(C)]
11447#[doc(hidden)]
11448pub struct ICoreWebView2PointerInfo_Vtbl {
11449 pub base__: windows_core::IUnknown_Vtbl,
11450 pub PointerKind:
11451 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11452 pub SetPointerKind:
11453 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11454 pub PointerId:
11455 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11456 pub SetPointerId:
11457 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11458 pub FrameId:
11459 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11460 pub SetFrameId: unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11461 pub PointerFlags:
11462 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11463 pub SetPointerFlags:
11464 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11465 pub PointerDeviceRect: unsafe extern "system" fn(
11466 *mut core::ffi::c_void,
11467 *mut windows::Win32::Foundation::RECT,
11468 ) -> windows_core::HRESULT,
11469 pub SetPointerDeviceRect: unsafe extern "system" fn(
11470 *mut core::ffi::c_void,
11471 windows::Win32::Foundation::RECT,
11472 ) -> windows_core::HRESULT,
11473 pub DisplayRect: unsafe extern "system" fn(
11474 *mut core::ffi::c_void,
11475 *mut windows::Win32::Foundation::RECT,
11476 ) -> windows_core::HRESULT,
11477 pub SetDisplayRect: unsafe extern "system" fn(
11478 *mut core::ffi::c_void,
11479 windows::Win32::Foundation::RECT,
11480 ) -> windows_core::HRESULT,
11481 pub PixelLocation: unsafe extern "system" fn(
11482 *mut core::ffi::c_void,
11483 *mut windows::Win32::Foundation::POINT,
11484 ) -> windows_core::HRESULT,
11485 pub SetPixelLocation: unsafe extern "system" fn(
11486 *mut core::ffi::c_void,
11487 windows::Win32::Foundation::POINT,
11488 ) -> windows_core::HRESULT,
11489 pub HimetricLocation: unsafe extern "system" fn(
11490 *mut core::ffi::c_void,
11491 *mut windows::Win32::Foundation::POINT,
11492 ) -> windows_core::HRESULT,
11493 pub SetHimetricLocation: unsafe extern "system" fn(
11494 *mut core::ffi::c_void,
11495 windows::Win32::Foundation::POINT,
11496 ) -> windows_core::HRESULT,
11497 pub PixelLocationRaw: unsafe extern "system" fn(
11498 *mut core::ffi::c_void,
11499 *mut windows::Win32::Foundation::POINT,
11500 ) -> windows_core::HRESULT,
11501 pub SetPixelLocationRaw: unsafe extern "system" fn(
11502 *mut core::ffi::c_void,
11503 windows::Win32::Foundation::POINT,
11504 ) -> windows_core::HRESULT,
11505 pub HimetricLocationRaw: unsafe extern "system" fn(
11506 *mut core::ffi::c_void,
11507 *mut windows::Win32::Foundation::POINT,
11508 ) -> windows_core::HRESULT,
11509 pub SetHimetricLocationRaw: unsafe extern "system" fn(
11510 *mut core::ffi::c_void,
11511 windows::Win32::Foundation::POINT,
11512 ) -> windows_core::HRESULT,
11513 pub Time: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11514 pub SetTime: unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11515 pub HistoryCount:
11516 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11517 pub SetHistoryCount:
11518 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11519 pub InputData:
11520 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
11521 pub SetInputData:
11522 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
11523 pub KeyStates:
11524 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11525 pub SetKeyStates:
11526 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11527 pub PerformanceCount:
11528 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
11529 pub SetPerformanceCount:
11530 unsafe extern "system" fn(*mut core::ffi::c_void, u64) -> windows_core::HRESULT,
11531 pub ButtonChangeKind:
11532 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
11533 pub SetButtonChangeKind:
11534 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
11535 pub PenFlags:
11536 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11537 pub SetPenFlags:
11538 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11539 pub PenMask:
11540 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11541 pub SetPenMask: unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11542 pub PenPressure:
11543 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11544 pub SetPenPressure:
11545 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11546 pub PenRotation:
11547 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11548 pub SetPenRotation:
11549 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11550 pub PenTiltX:
11551 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
11552 pub SetPenTiltX:
11553 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
11554 pub PenTiltY:
11555 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
11556 pub SetPenTiltY:
11557 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
11558 pub TouchFlags:
11559 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11560 pub SetTouchFlags:
11561 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11562 pub TouchMask:
11563 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11564 pub SetTouchMask:
11565 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11566 pub TouchContact: unsafe extern "system" fn(
11567 *mut core::ffi::c_void,
11568 *mut windows::Win32::Foundation::RECT,
11569 ) -> windows_core::HRESULT,
11570 pub SetTouchContact: unsafe extern "system" fn(
11571 *mut core::ffi::c_void,
11572 windows::Win32::Foundation::RECT,
11573 ) -> windows_core::HRESULT,
11574 pub TouchContactRaw: unsafe extern "system" fn(
11575 *mut core::ffi::c_void,
11576 *mut windows::Win32::Foundation::RECT,
11577 ) -> windows_core::HRESULT,
11578 pub SetTouchContactRaw: unsafe extern "system" fn(
11579 *mut core::ffi::c_void,
11580 windows::Win32::Foundation::RECT,
11581 ) -> windows_core::HRESULT,
11582 pub TouchOrientation:
11583 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11584 pub SetTouchOrientation:
11585 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11586 pub TouchPressure:
11587 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
11588 pub SetTouchPressure:
11589 unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
11590}
11591pub trait ICoreWebView2PointerInfo_Impl: windows_core::IUnknownImpl {
11592 fn PointerKind(&self) -> windows_core::Result<u32>;
11593 fn SetPointerKind(&self, pointerkind: u32) -> windows_core::Result<()>;
11594 fn PointerId(&self) -> windows_core::Result<u32>;
11595 fn SetPointerId(&self, pointerid: u32) -> windows_core::Result<()>;
11596 fn FrameId(&self) -> windows_core::Result<u32>;
11597 fn SetFrameId(&self, frameid: u32) -> windows_core::Result<()>;
11598 fn PointerFlags(&self) -> windows_core::Result<u32>;
11599 fn SetPointerFlags(&self, pointerflags: u32) -> windows_core::Result<()>;
11600 fn PointerDeviceRect(&self) -> windows_core::Result<windows::Win32::Foundation::RECT>;
11601 fn SetPointerDeviceRect(
11602 &self,
11603 pointerdevicerect: &windows::Win32::Foundation::RECT,
11604 ) -> windows_core::Result<()>;
11605 fn DisplayRect(&self) -> windows_core::Result<windows::Win32::Foundation::RECT>;
11606 fn SetDisplayRect(
11607 &self,
11608 displayrect: &windows::Win32::Foundation::RECT,
11609 ) -> windows_core::Result<()>;
11610 fn PixelLocation(&self) -> windows_core::Result<windows::Win32::Foundation::POINT>;
11611 fn SetPixelLocation(
11612 &self,
11613 pixellocation: &windows::Win32::Foundation::POINT,
11614 ) -> windows_core::Result<()>;
11615 fn HimetricLocation(&self) -> windows_core::Result<windows::Win32::Foundation::POINT>;
11616 fn SetHimetricLocation(
11617 &self,
11618 himetriclocation: &windows::Win32::Foundation::POINT,
11619 ) -> windows_core::Result<()>;
11620 fn PixelLocationRaw(&self) -> windows_core::Result<windows::Win32::Foundation::POINT>;
11621 fn SetPixelLocationRaw(
11622 &self,
11623 pixellocationraw: &windows::Win32::Foundation::POINT,
11624 ) -> windows_core::Result<()>;
11625 fn HimetricLocationRaw(&self) -> windows_core::Result<windows::Win32::Foundation::POINT>;
11626 fn SetHimetricLocationRaw(
11627 &self,
11628 himetriclocationraw: &windows::Win32::Foundation::POINT,
11629 ) -> windows_core::Result<()>;
11630 fn Time(&self) -> windows_core::Result<u32>;
11631 fn SetTime(&self, time: u32) -> windows_core::Result<()>;
11632 fn HistoryCount(&self) -> windows_core::Result<u32>;
11633 fn SetHistoryCount(&self, historycount: u32) -> windows_core::Result<()>;
11634 fn InputData(&self) -> windows_core::Result<i32>;
11635 fn SetInputData(&self, inputdata: i32) -> windows_core::Result<()>;
11636 fn KeyStates(&self) -> windows_core::Result<u32>;
11637 fn SetKeyStates(&self, keystates: u32) -> windows_core::Result<()>;
11638 fn PerformanceCount(&self) -> windows_core::Result<u64>;
11639 fn SetPerformanceCount(&self, performancecount: u64) -> windows_core::Result<()>;
11640 fn ButtonChangeKind(&self) -> windows_core::Result<i32>;
11641 fn SetButtonChangeKind(&self, buttonchangekind: i32) -> windows_core::Result<()>;
11642 fn PenFlags(&self) -> windows_core::Result<u32>;
11643 fn SetPenFlags(&self, penflags: u32) -> windows_core::Result<()>;
11644 fn PenMask(&self) -> windows_core::Result<u32>;
11645 fn SetPenMask(&self, penmask: u32) -> windows_core::Result<()>;
11646 fn PenPressure(&self) -> windows_core::Result<u32>;
11647 fn SetPenPressure(&self, penpressure: u32) -> windows_core::Result<()>;
11648 fn PenRotation(&self) -> windows_core::Result<u32>;
11649 fn SetPenRotation(&self, penrotation: u32) -> windows_core::Result<()>;
11650 fn PenTiltX(&self) -> windows_core::Result<i32>;
11651 fn SetPenTiltX(&self, pentiltx: i32) -> windows_core::Result<()>;
11652 fn PenTiltY(&self) -> windows_core::Result<i32>;
11653 fn SetPenTiltY(&self, pentilty: i32) -> windows_core::Result<()>;
11654 fn TouchFlags(&self) -> windows_core::Result<u32>;
11655 fn SetTouchFlags(&self, touchflags: u32) -> windows_core::Result<()>;
11656 fn TouchMask(&self) -> windows_core::Result<u32>;
11657 fn SetTouchMask(&self, touchmask: u32) -> windows_core::Result<()>;
11658 fn TouchContact(&self) -> windows_core::Result<windows::Win32::Foundation::RECT>;
11659 fn SetTouchContact(
11660 &self,
11661 touchcontact: &windows::Win32::Foundation::RECT,
11662 ) -> windows_core::Result<()>;
11663 fn TouchContactRaw(&self) -> windows_core::Result<windows::Win32::Foundation::RECT>;
11664 fn SetTouchContactRaw(
11665 &self,
11666 touchcontactraw: &windows::Win32::Foundation::RECT,
11667 ) -> windows_core::Result<()>;
11668 fn TouchOrientation(&self) -> windows_core::Result<u32>;
11669 fn SetTouchOrientation(&self, touchorientation: u32) -> windows_core::Result<()>;
11670 fn TouchPressure(&self) -> windows_core::Result<u32>;
11671 fn SetTouchPressure(&self, touchpressure: u32) -> windows_core::Result<()>;
11672}
11673impl ICoreWebView2PointerInfo_Vtbl {
11674 pub const fn new<Identity: ICoreWebView2PointerInfo_Impl, const OFFSET: isize>() -> Self {
11675 unsafe extern "system" fn PointerKind<
11676 Identity: ICoreWebView2PointerInfo_Impl,
11677 const OFFSET: isize,
11678 >(
11679 this: *mut core::ffi::c_void,
11680 pointerkind: *mut u32,
11681 ) -> windows_core::HRESULT {
11682 unsafe {
11683 let this: &Identity =
11684 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11685 match ICoreWebView2PointerInfo_Impl::PointerKind(this) {
11686 Ok(ok__) => {
11687 pointerkind.write(core::mem::transmute(ok__));
11688 windows_core::HRESULT(0)
11689 }
11690 Err(err) => err.into(),
11691 }
11692 }
11693 }
11694 unsafe extern "system" fn SetPointerKind<
11695 Identity: ICoreWebView2PointerInfo_Impl,
11696 const OFFSET: isize,
11697 >(
11698 this: *mut core::ffi::c_void,
11699 pointerkind: u32,
11700 ) -> windows_core::HRESULT {
11701 unsafe {
11702 let this: &Identity =
11703 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11704 ICoreWebView2PointerInfo_Impl::SetPointerKind(
11705 this,
11706 core::mem::transmute_copy(&pointerkind),
11707 )
11708 .into()
11709 }
11710 }
11711 unsafe extern "system" fn PointerId<
11712 Identity: ICoreWebView2PointerInfo_Impl,
11713 const OFFSET: isize,
11714 >(
11715 this: *mut core::ffi::c_void,
11716 pointerid: *mut u32,
11717 ) -> windows_core::HRESULT {
11718 unsafe {
11719 let this: &Identity =
11720 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11721 match ICoreWebView2PointerInfo_Impl::PointerId(this) {
11722 Ok(ok__) => {
11723 pointerid.write(core::mem::transmute(ok__));
11724 windows_core::HRESULT(0)
11725 }
11726 Err(err) => err.into(),
11727 }
11728 }
11729 }
11730 unsafe extern "system" fn SetPointerId<
11731 Identity: ICoreWebView2PointerInfo_Impl,
11732 const OFFSET: isize,
11733 >(
11734 this: *mut core::ffi::c_void,
11735 pointerid: u32,
11736 ) -> windows_core::HRESULT {
11737 unsafe {
11738 let this: &Identity =
11739 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11740 ICoreWebView2PointerInfo_Impl::SetPointerId(
11741 this,
11742 core::mem::transmute_copy(&pointerid),
11743 )
11744 .into()
11745 }
11746 }
11747 unsafe extern "system" fn FrameId<
11748 Identity: ICoreWebView2PointerInfo_Impl,
11749 const OFFSET: isize,
11750 >(
11751 this: *mut core::ffi::c_void,
11752 frameid: *mut u32,
11753 ) -> windows_core::HRESULT {
11754 unsafe {
11755 let this: &Identity =
11756 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11757 match ICoreWebView2PointerInfo_Impl::FrameId(this) {
11758 Ok(ok__) => {
11759 frameid.write(core::mem::transmute(ok__));
11760 windows_core::HRESULT(0)
11761 }
11762 Err(err) => err.into(),
11763 }
11764 }
11765 }
11766 unsafe extern "system" fn SetFrameId<
11767 Identity: ICoreWebView2PointerInfo_Impl,
11768 const OFFSET: isize,
11769 >(
11770 this: *mut core::ffi::c_void,
11771 frameid: u32,
11772 ) -> windows_core::HRESULT {
11773 unsafe {
11774 let this: &Identity =
11775 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11776 ICoreWebView2PointerInfo_Impl::SetFrameId(this, core::mem::transmute_copy(&frameid))
11777 .into()
11778 }
11779 }
11780 unsafe extern "system" fn PointerFlags<
11781 Identity: ICoreWebView2PointerInfo_Impl,
11782 const OFFSET: isize,
11783 >(
11784 this: *mut core::ffi::c_void,
11785 pointerflags: *mut u32,
11786 ) -> windows_core::HRESULT {
11787 unsafe {
11788 let this: &Identity =
11789 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11790 match ICoreWebView2PointerInfo_Impl::PointerFlags(this) {
11791 Ok(ok__) => {
11792 pointerflags.write(core::mem::transmute(ok__));
11793 windows_core::HRESULT(0)
11794 }
11795 Err(err) => err.into(),
11796 }
11797 }
11798 }
11799 unsafe extern "system" fn SetPointerFlags<
11800 Identity: ICoreWebView2PointerInfo_Impl,
11801 const OFFSET: isize,
11802 >(
11803 this: *mut core::ffi::c_void,
11804 pointerflags: u32,
11805 ) -> windows_core::HRESULT {
11806 unsafe {
11807 let this: &Identity =
11808 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11809 ICoreWebView2PointerInfo_Impl::SetPointerFlags(
11810 this,
11811 core::mem::transmute_copy(&pointerflags),
11812 )
11813 .into()
11814 }
11815 }
11816 unsafe extern "system" fn PointerDeviceRect<
11817 Identity: ICoreWebView2PointerInfo_Impl,
11818 const OFFSET: isize,
11819 >(
11820 this: *mut core::ffi::c_void,
11821 pointerdevicerect: *mut windows::Win32::Foundation::RECT,
11822 ) -> windows_core::HRESULT {
11823 unsafe {
11824 let this: &Identity =
11825 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11826 match ICoreWebView2PointerInfo_Impl::PointerDeviceRect(this) {
11827 Ok(ok__) => {
11828 pointerdevicerect.write(core::mem::transmute(ok__));
11829 windows_core::HRESULT(0)
11830 }
11831 Err(err) => err.into(),
11832 }
11833 }
11834 }
11835 unsafe extern "system" fn SetPointerDeviceRect<
11836 Identity: ICoreWebView2PointerInfo_Impl,
11837 const OFFSET: isize,
11838 >(
11839 this: *mut core::ffi::c_void,
11840 pointerdevicerect: windows::Win32::Foundation::RECT,
11841 ) -> windows_core::HRESULT {
11842 unsafe {
11843 let this: &Identity =
11844 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11845 ICoreWebView2PointerInfo_Impl::SetPointerDeviceRect(
11846 this,
11847 core::mem::transmute(&pointerdevicerect),
11848 )
11849 .into()
11850 }
11851 }
11852 unsafe extern "system" fn DisplayRect<
11853 Identity: ICoreWebView2PointerInfo_Impl,
11854 const OFFSET: isize,
11855 >(
11856 this: *mut core::ffi::c_void,
11857 displayrect: *mut windows::Win32::Foundation::RECT,
11858 ) -> windows_core::HRESULT {
11859 unsafe {
11860 let this: &Identity =
11861 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11862 match ICoreWebView2PointerInfo_Impl::DisplayRect(this) {
11863 Ok(ok__) => {
11864 displayrect.write(core::mem::transmute(ok__));
11865 windows_core::HRESULT(0)
11866 }
11867 Err(err) => err.into(),
11868 }
11869 }
11870 }
11871 unsafe extern "system" fn SetDisplayRect<
11872 Identity: ICoreWebView2PointerInfo_Impl,
11873 const OFFSET: isize,
11874 >(
11875 this: *mut core::ffi::c_void,
11876 displayrect: windows::Win32::Foundation::RECT,
11877 ) -> windows_core::HRESULT {
11878 unsafe {
11879 let this: &Identity =
11880 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11881 ICoreWebView2PointerInfo_Impl::SetDisplayRect(
11882 this,
11883 core::mem::transmute(&displayrect),
11884 )
11885 .into()
11886 }
11887 }
11888 unsafe extern "system" fn PixelLocation<
11889 Identity: ICoreWebView2PointerInfo_Impl,
11890 const OFFSET: isize,
11891 >(
11892 this: *mut core::ffi::c_void,
11893 pixellocation: *mut windows::Win32::Foundation::POINT,
11894 ) -> windows_core::HRESULT {
11895 unsafe {
11896 let this: &Identity =
11897 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11898 match ICoreWebView2PointerInfo_Impl::PixelLocation(this) {
11899 Ok(ok__) => {
11900 pixellocation.write(core::mem::transmute(ok__));
11901 windows_core::HRESULT(0)
11902 }
11903 Err(err) => err.into(),
11904 }
11905 }
11906 }
11907 unsafe extern "system" fn SetPixelLocation<
11908 Identity: ICoreWebView2PointerInfo_Impl,
11909 const OFFSET: isize,
11910 >(
11911 this: *mut core::ffi::c_void,
11912 pixellocation: windows::Win32::Foundation::POINT,
11913 ) -> windows_core::HRESULT {
11914 unsafe {
11915 let this: &Identity =
11916 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11917 ICoreWebView2PointerInfo_Impl::SetPixelLocation(
11918 this,
11919 core::mem::transmute(&pixellocation),
11920 )
11921 .into()
11922 }
11923 }
11924 unsafe extern "system" fn HimetricLocation<
11925 Identity: ICoreWebView2PointerInfo_Impl,
11926 const OFFSET: isize,
11927 >(
11928 this: *mut core::ffi::c_void,
11929 himetriclocation: *mut windows::Win32::Foundation::POINT,
11930 ) -> windows_core::HRESULT {
11931 unsafe {
11932 let this: &Identity =
11933 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11934 match ICoreWebView2PointerInfo_Impl::HimetricLocation(this) {
11935 Ok(ok__) => {
11936 himetriclocation.write(core::mem::transmute(ok__));
11937 windows_core::HRESULT(0)
11938 }
11939 Err(err) => err.into(),
11940 }
11941 }
11942 }
11943 unsafe extern "system" fn SetHimetricLocation<
11944 Identity: ICoreWebView2PointerInfo_Impl,
11945 const OFFSET: isize,
11946 >(
11947 this: *mut core::ffi::c_void,
11948 himetriclocation: windows::Win32::Foundation::POINT,
11949 ) -> windows_core::HRESULT {
11950 unsafe {
11951 let this: &Identity =
11952 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11953 ICoreWebView2PointerInfo_Impl::SetHimetricLocation(
11954 this,
11955 core::mem::transmute(&himetriclocation),
11956 )
11957 .into()
11958 }
11959 }
11960 unsafe extern "system" fn PixelLocationRaw<
11961 Identity: ICoreWebView2PointerInfo_Impl,
11962 const OFFSET: isize,
11963 >(
11964 this: *mut core::ffi::c_void,
11965 pixellocationraw: *mut windows::Win32::Foundation::POINT,
11966 ) -> windows_core::HRESULT {
11967 unsafe {
11968 let this: &Identity =
11969 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11970 match ICoreWebView2PointerInfo_Impl::PixelLocationRaw(this) {
11971 Ok(ok__) => {
11972 pixellocationraw.write(core::mem::transmute(ok__));
11973 windows_core::HRESULT(0)
11974 }
11975 Err(err) => err.into(),
11976 }
11977 }
11978 }
11979 unsafe extern "system" fn SetPixelLocationRaw<
11980 Identity: ICoreWebView2PointerInfo_Impl,
11981 const OFFSET: isize,
11982 >(
11983 this: *mut core::ffi::c_void,
11984 pixellocationraw: windows::Win32::Foundation::POINT,
11985 ) -> windows_core::HRESULT {
11986 unsafe {
11987 let this: &Identity =
11988 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11989 ICoreWebView2PointerInfo_Impl::SetPixelLocationRaw(
11990 this,
11991 core::mem::transmute(&pixellocationraw),
11992 )
11993 .into()
11994 }
11995 }
11996 unsafe extern "system" fn HimetricLocationRaw<
11997 Identity: ICoreWebView2PointerInfo_Impl,
11998 const OFFSET: isize,
11999 >(
12000 this: *mut core::ffi::c_void,
12001 himetriclocationraw: *mut windows::Win32::Foundation::POINT,
12002 ) -> windows_core::HRESULT {
12003 unsafe {
12004 let this: &Identity =
12005 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12006 match ICoreWebView2PointerInfo_Impl::HimetricLocationRaw(this) {
12007 Ok(ok__) => {
12008 himetriclocationraw.write(core::mem::transmute(ok__));
12009 windows_core::HRESULT(0)
12010 }
12011 Err(err) => err.into(),
12012 }
12013 }
12014 }
12015 unsafe extern "system" fn SetHimetricLocationRaw<
12016 Identity: ICoreWebView2PointerInfo_Impl,
12017 const OFFSET: isize,
12018 >(
12019 this: *mut core::ffi::c_void,
12020 himetriclocationraw: windows::Win32::Foundation::POINT,
12021 ) -> windows_core::HRESULT {
12022 unsafe {
12023 let this: &Identity =
12024 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12025 ICoreWebView2PointerInfo_Impl::SetHimetricLocationRaw(
12026 this,
12027 core::mem::transmute(&himetriclocationraw),
12028 )
12029 .into()
12030 }
12031 }
12032 unsafe extern "system" fn Time<
12033 Identity: ICoreWebView2PointerInfo_Impl,
12034 const OFFSET: isize,
12035 >(
12036 this: *mut core::ffi::c_void,
12037 time: *mut u32,
12038 ) -> windows_core::HRESULT {
12039 unsafe {
12040 let this: &Identity =
12041 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12042 match ICoreWebView2PointerInfo_Impl::Time(this) {
12043 Ok(ok__) => {
12044 time.write(core::mem::transmute(ok__));
12045 windows_core::HRESULT(0)
12046 }
12047 Err(err) => err.into(),
12048 }
12049 }
12050 }
12051 unsafe extern "system" fn SetTime<
12052 Identity: ICoreWebView2PointerInfo_Impl,
12053 const OFFSET: isize,
12054 >(
12055 this: *mut core::ffi::c_void,
12056 time: u32,
12057 ) -> windows_core::HRESULT {
12058 unsafe {
12059 let this: &Identity =
12060 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12061 ICoreWebView2PointerInfo_Impl::SetTime(this, core::mem::transmute_copy(&time))
12062 .into()
12063 }
12064 }
12065 unsafe extern "system" fn HistoryCount<
12066 Identity: ICoreWebView2PointerInfo_Impl,
12067 const OFFSET: isize,
12068 >(
12069 this: *mut core::ffi::c_void,
12070 historycount: *mut u32,
12071 ) -> windows_core::HRESULT {
12072 unsafe {
12073 let this: &Identity =
12074 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12075 match ICoreWebView2PointerInfo_Impl::HistoryCount(this) {
12076 Ok(ok__) => {
12077 historycount.write(core::mem::transmute(ok__));
12078 windows_core::HRESULT(0)
12079 }
12080 Err(err) => err.into(),
12081 }
12082 }
12083 }
12084 unsafe extern "system" fn SetHistoryCount<
12085 Identity: ICoreWebView2PointerInfo_Impl,
12086 const OFFSET: isize,
12087 >(
12088 this: *mut core::ffi::c_void,
12089 historycount: u32,
12090 ) -> windows_core::HRESULT {
12091 unsafe {
12092 let this: &Identity =
12093 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12094 ICoreWebView2PointerInfo_Impl::SetHistoryCount(
12095 this,
12096 core::mem::transmute_copy(&historycount),
12097 )
12098 .into()
12099 }
12100 }
12101 unsafe extern "system" fn InputData<
12102 Identity: ICoreWebView2PointerInfo_Impl,
12103 const OFFSET: isize,
12104 >(
12105 this: *mut core::ffi::c_void,
12106 inputdata: *mut i32,
12107 ) -> windows_core::HRESULT {
12108 unsafe {
12109 let this: &Identity =
12110 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12111 match ICoreWebView2PointerInfo_Impl::InputData(this) {
12112 Ok(ok__) => {
12113 inputdata.write(core::mem::transmute(ok__));
12114 windows_core::HRESULT(0)
12115 }
12116 Err(err) => err.into(),
12117 }
12118 }
12119 }
12120 unsafe extern "system" fn SetInputData<
12121 Identity: ICoreWebView2PointerInfo_Impl,
12122 const OFFSET: isize,
12123 >(
12124 this: *mut core::ffi::c_void,
12125 inputdata: i32,
12126 ) -> windows_core::HRESULT {
12127 unsafe {
12128 let this: &Identity =
12129 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12130 ICoreWebView2PointerInfo_Impl::SetInputData(
12131 this,
12132 core::mem::transmute_copy(&inputdata),
12133 )
12134 .into()
12135 }
12136 }
12137 unsafe extern "system" fn KeyStates<
12138 Identity: ICoreWebView2PointerInfo_Impl,
12139 const OFFSET: isize,
12140 >(
12141 this: *mut core::ffi::c_void,
12142 keystates: *mut u32,
12143 ) -> windows_core::HRESULT {
12144 unsafe {
12145 let this: &Identity =
12146 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12147 match ICoreWebView2PointerInfo_Impl::KeyStates(this) {
12148 Ok(ok__) => {
12149 keystates.write(core::mem::transmute(ok__));
12150 windows_core::HRESULT(0)
12151 }
12152 Err(err) => err.into(),
12153 }
12154 }
12155 }
12156 unsafe extern "system" fn SetKeyStates<
12157 Identity: ICoreWebView2PointerInfo_Impl,
12158 const OFFSET: isize,
12159 >(
12160 this: *mut core::ffi::c_void,
12161 keystates: u32,
12162 ) -> windows_core::HRESULT {
12163 unsafe {
12164 let this: &Identity =
12165 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12166 ICoreWebView2PointerInfo_Impl::SetKeyStates(
12167 this,
12168 core::mem::transmute_copy(&keystates),
12169 )
12170 .into()
12171 }
12172 }
12173 unsafe extern "system" fn PerformanceCount<
12174 Identity: ICoreWebView2PointerInfo_Impl,
12175 const OFFSET: isize,
12176 >(
12177 this: *mut core::ffi::c_void,
12178 performancecount: *mut u64,
12179 ) -> windows_core::HRESULT {
12180 unsafe {
12181 let this: &Identity =
12182 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12183 match ICoreWebView2PointerInfo_Impl::PerformanceCount(this) {
12184 Ok(ok__) => {
12185 performancecount.write(core::mem::transmute(ok__));
12186 windows_core::HRESULT(0)
12187 }
12188 Err(err) => err.into(),
12189 }
12190 }
12191 }
12192 unsafe extern "system" fn SetPerformanceCount<
12193 Identity: ICoreWebView2PointerInfo_Impl,
12194 const OFFSET: isize,
12195 >(
12196 this: *mut core::ffi::c_void,
12197 performancecount: u64,
12198 ) -> windows_core::HRESULT {
12199 unsafe {
12200 let this: &Identity =
12201 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12202 ICoreWebView2PointerInfo_Impl::SetPerformanceCount(
12203 this,
12204 core::mem::transmute_copy(&performancecount),
12205 )
12206 .into()
12207 }
12208 }
12209 unsafe extern "system" fn ButtonChangeKind<
12210 Identity: ICoreWebView2PointerInfo_Impl,
12211 const OFFSET: isize,
12212 >(
12213 this: *mut core::ffi::c_void,
12214 buttonchangekind: *mut i32,
12215 ) -> windows_core::HRESULT {
12216 unsafe {
12217 let this: &Identity =
12218 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12219 match ICoreWebView2PointerInfo_Impl::ButtonChangeKind(this) {
12220 Ok(ok__) => {
12221 buttonchangekind.write(core::mem::transmute(ok__));
12222 windows_core::HRESULT(0)
12223 }
12224 Err(err) => err.into(),
12225 }
12226 }
12227 }
12228 unsafe extern "system" fn SetButtonChangeKind<
12229 Identity: ICoreWebView2PointerInfo_Impl,
12230 const OFFSET: isize,
12231 >(
12232 this: *mut core::ffi::c_void,
12233 buttonchangekind: i32,
12234 ) -> windows_core::HRESULT {
12235 unsafe {
12236 let this: &Identity =
12237 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12238 ICoreWebView2PointerInfo_Impl::SetButtonChangeKind(
12239 this,
12240 core::mem::transmute_copy(&buttonchangekind),
12241 )
12242 .into()
12243 }
12244 }
12245 unsafe extern "system" fn PenFlags<
12246 Identity: ICoreWebView2PointerInfo_Impl,
12247 const OFFSET: isize,
12248 >(
12249 this: *mut core::ffi::c_void,
12250 penflags: *mut u32,
12251 ) -> windows_core::HRESULT {
12252 unsafe {
12253 let this: &Identity =
12254 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12255 match ICoreWebView2PointerInfo_Impl::PenFlags(this) {
12256 Ok(ok__) => {
12257 penflags.write(core::mem::transmute(ok__));
12258 windows_core::HRESULT(0)
12259 }
12260 Err(err) => err.into(),
12261 }
12262 }
12263 }
12264 unsafe extern "system" fn SetPenFlags<
12265 Identity: ICoreWebView2PointerInfo_Impl,
12266 const OFFSET: isize,
12267 >(
12268 this: *mut core::ffi::c_void,
12269 penflags: u32,
12270 ) -> windows_core::HRESULT {
12271 unsafe {
12272 let this: &Identity =
12273 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12274 ICoreWebView2PointerInfo_Impl::SetPenFlags(
12275 this,
12276 core::mem::transmute_copy(&penflags),
12277 )
12278 .into()
12279 }
12280 }
12281 unsafe extern "system" fn PenMask<
12282 Identity: ICoreWebView2PointerInfo_Impl,
12283 const OFFSET: isize,
12284 >(
12285 this: *mut core::ffi::c_void,
12286 penmask: *mut u32,
12287 ) -> windows_core::HRESULT {
12288 unsafe {
12289 let this: &Identity =
12290 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12291 match ICoreWebView2PointerInfo_Impl::PenMask(this) {
12292 Ok(ok__) => {
12293 penmask.write(core::mem::transmute(ok__));
12294 windows_core::HRESULT(0)
12295 }
12296 Err(err) => err.into(),
12297 }
12298 }
12299 }
12300 unsafe extern "system" fn SetPenMask<
12301 Identity: ICoreWebView2PointerInfo_Impl,
12302 const OFFSET: isize,
12303 >(
12304 this: *mut core::ffi::c_void,
12305 penmask: u32,
12306 ) -> windows_core::HRESULT {
12307 unsafe {
12308 let this: &Identity =
12309 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12310 ICoreWebView2PointerInfo_Impl::SetPenMask(this, core::mem::transmute_copy(&penmask))
12311 .into()
12312 }
12313 }
12314 unsafe extern "system" fn PenPressure<
12315 Identity: ICoreWebView2PointerInfo_Impl,
12316 const OFFSET: isize,
12317 >(
12318 this: *mut core::ffi::c_void,
12319 penpressure: *mut u32,
12320 ) -> windows_core::HRESULT {
12321 unsafe {
12322 let this: &Identity =
12323 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12324 match ICoreWebView2PointerInfo_Impl::PenPressure(this) {
12325 Ok(ok__) => {
12326 penpressure.write(core::mem::transmute(ok__));
12327 windows_core::HRESULT(0)
12328 }
12329 Err(err) => err.into(),
12330 }
12331 }
12332 }
12333 unsafe extern "system" fn SetPenPressure<
12334 Identity: ICoreWebView2PointerInfo_Impl,
12335 const OFFSET: isize,
12336 >(
12337 this: *mut core::ffi::c_void,
12338 penpressure: u32,
12339 ) -> windows_core::HRESULT {
12340 unsafe {
12341 let this: &Identity =
12342 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12343 ICoreWebView2PointerInfo_Impl::SetPenPressure(
12344 this,
12345 core::mem::transmute_copy(&penpressure),
12346 )
12347 .into()
12348 }
12349 }
12350 unsafe extern "system" fn PenRotation<
12351 Identity: ICoreWebView2PointerInfo_Impl,
12352 const OFFSET: isize,
12353 >(
12354 this: *mut core::ffi::c_void,
12355 penrotation: *mut u32,
12356 ) -> windows_core::HRESULT {
12357 unsafe {
12358 let this: &Identity =
12359 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12360 match ICoreWebView2PointerInfo_Impl::PenRotation(this) {
12361 Ok(ok__) => {
12362 penrotation.write(core::mem::transmute(ok__));
12363 windows_core::HRESULT(0)
12364 }
12365 Err(err) => err.into(),
12366 }
12367 }
12368 }
12369 unsafe extern "system" fn SetPenRotation<
12370 Identity: ICoreWebView2PointerInfo_Impl,
12371 const OFFSET: isize,
12372 >(
12373 this: *mut core::ffi::c_void,
12374 penrotation: u32,
12375 ) -> windows_core::HRESULT {
12376 unsafe {
12377 let this: &Identity =
12378 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12379 ICoreWebView2PointerInfo_Impl::SetPenRotation(
12380 this,
12381 core::mem::transmute_copy(&penrotation),
12382 )
12383 .into()
12384 }
12385 }
12386 unsafe extern "system" fn PenTiltX<
12387 Identity: ICoreWebView2PointerInfo_Impl,
12388 const OFFSET: isize,
12389 >(
12390 this: *mut core::ffi::c_void,
12391 pentiltx: *mut i32,
12392 ) -> windows_core::HRESULT {
12393 unsafe {
12394 let this: &Identity =
12395 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12396 match ICoreWebView2PointerInfo_Impl::PenTiltX(this) {
12397 Ok(ok__) => {
12398 pentiltx.write(core::mem::transmute(ok__));
12399 windows_core::HRESULT(0)
12400 }
12401 Err(err) => err.into(),
12402 }
12403 }
12404 }
12405 unsafe extern "system" fn SetPenTiltX<
12406 Identity: ICoreWebView2PointerInfo_Impl,
12407 const OFFSET: isize,
12408 >(
12409 this: *mut core::ffi::c_void,
12410 pentiltx: i32,
12411 ) -> windows_core::HRESULT {
12412 unsafe {
12413 let this: &Identity =
12414 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12415 ICoreWebView2PointerInfo_Impl::SetPenTiltX(
12416 this,
12417 core::mem::transmute_copy(&pentiltx),
12418 )
12419 .into()
12420 }
12421 }
12422 unsafe extern "system" fn PenTiltY<
12423 Identity: ICoreWebView2PointerInfo_Impl,
12424 const OFFSET: isize,
12425 >(
12426 this: *mut core::ffi::c_void,
12427 pentilty: *mut i32,
12428 ) -> windows_core::HRESULT {
12429 unsafe {
12430 let this: &Identity =
12431 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12432 match ICoreWebView2PointerInfo_Impl::PenTiltY(this) {
12433 Ok(ok__) => {
12434 pentilty.write(core::mem::transmute(ok__));
12435 windows_core::HRESULT(0)
12436 }
12437 Err(err) => err.into(),
12438 }
12439 }
12440 }
12441 unsafe extern "system" fn SetPenTiltY<
12442 Identity: ICoreWebView2PointerInfo_Impl,
12443 const OFFSET: isize,
12444 >(
12445 this: *mut core::ffi::c_void,
12446 pentilty: i32,
12447 ) -> windows_core::HRESULT {
12448 unsafe {
12449 let this: &Identity =
12450 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12451 ICoreWebView2PointerInfo_Impl::SetPenTiltY(
12452 this,
12453 core::mem::transmute_copy(&pentilty),
12454 )
12455 .into()
12456 }
12457 }
12458 unsafe extern "system" fn TouchFlags<
12459 Identity: ICoreWebView2PointerInfo_Impl,
12460 const OFFSET: isize,
12461 >(
12462 this: *mut core::ffi::c_void,
12463 touchflags: *mut u32,
12464 ) -> windows_core::HRESULT {
12465 unsafe {
12466 let this: &Identity =
12467 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12468 match ICoreWebView2PointerInfo_Impl::TouchFlags(this) {
12469 Ok(ok__) => {
12470 touchflags.write(core::mem::transmute(ok__));
12471 windows_core::HRESULT(0)
12472 }
12473 Err(err) => err.into(),
12474 }
12475 }
12476 }
12477 unsafe extern "system" fn SetTouchFlags<
12478 Identity: ICoreWebView2PointerInfo_Impl,
12479 const OFFSET: isize,
12480 >(
12481 this: *mut core::ffi::c_void,
12482 touchflags: u32,
12483 ) -> windows_core::HRESULT {
12484 unsafe {
12485 let this: &Identity =
12486 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12487 ICoreWebView2PointerInfo_Impl::SetTouchFlags(
12488 this,
12489 core::mem::transmute_copy(&touchflags),
12490 )
12491 .into()
12492 }
12493 }
12494 unsafe extern "system" fn TouchMask<
12495 Identity: ICoreWebView2PointerInfo_Impl,
12496 const OFFSET: isize,
12497 >(
12498 this: *mut core::ffi::c_void,
12499 touchmask: *mut u32,
12500 ) -> windows_core::HRESULT {
12501 unsafe {
12502 let this: &Identity =
12503 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12504 match ICoreWebView2PointerInfo_Impl::TouchMask(this) {
12505 Ok(ok__) => {
12506 touchmask.write(core::mem::transmute(ok__));
12507 windows_core::HRESULT(0)
12508 }
12509 Err(err) => err.into(),
12510 }
12511 }
12512 }
12513 unsafe extern "system" fn SetTouchMask<
12514 Identity: ICoreWebView2PointerInfo_Impl,
12515 const OFFSET: isize,
12516 >(
12517 this: *mut core::ffi::c_void,
12518 touchmask: u32,
12519 ) -> windows_core::HRESULT {
12520 unsafe {
12521 let this: &Identity =
12522 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12523 ICoreWebView2PointerInfo_Impl::SetTouchMask(
12524 this,
12525 core::mem::transmute_copy(&touchmask),
12526 )
12527 .into()
12528 }
12529 }
12530 unsafe extern "system" fn TouchContact<
12531 Identity: ICoreWebView2PointerInfo_Impl,
12532 const OFFSET: isize,
12533 >(
12534 this: *mut core::ffi::c_void,
12535 touchcontact: *mut windows::Win32::Foundation::RECT,
12536 ) -> windows_core::HRESULT {
12537 unsafe {
12538 let this: &Identity =
12539 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12540 match ICoreWebView2PointerInfo_Impl::TouchContact(this) {
12541 Ok(ok__) => {
12542 touchcontact.write(core::mem::transmute(ok__));
12543 windows_core::HRESULT(0)
12544 }
12545 Err(err) => err.into(),
12546 }
12547 }
12548 }
12549 unsafe extern "system" fn SetTouchContact<
12550 Identity: ICoreWebView2PointerInfo_Impl,
12551 const OFFSET: isize,
12552 >(
12553 this: *mut core::ffi::c_void,
12554 touchcontact: windows::Win32::Foundation::RECT,
12555 ) -> windows_core::HRESULT {
12556 unsafe {
12557 let this: &Identity =
12558 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12559 ICoreWebView2PointerInfo_Impl::SetTouchContact(
12560 this,
12561 core::mem::transmute(&touchcontact),
12562 )
12563 .into()
12564 }
12565 }
12566 unsafe extern "system" fn TouchContactRaw<
12567 Identity: ICoreWebView2PointerInfo_Impl,
12568 const OFFSET: isize,
12569 >(
12570 this: *mut core::ffi::c_void,
12571 touchcontactraw: *mut windows::Win32::Foundation::RECT,
12572 ) -> windows_core::HRESULT {
12573 unsafe {
12574 let this: &Identity =
12575 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12576 match ICoreWebView2PointerInfo_Impl::TouchContactRaw(this) {
12577 Ok(ok__) => {
12578 touchcontactraw.write(core::mem::transmute(ok__));
12579 windows_core::HRESULT(0)
12580 }
12581 Err(err) => err.into(),
12582 }
12583 }
12584 }
12585 unsafe extern "system" fn SetTouchContactRaw<
12586 Identity: ICoreWebView2PointerInfo_Impl,
12587 const OFFSET: isize,
12588 >(
12589 this: *mut core::ffi::c_void,
12590 touchcontactraw: windows::Win32::Foundation::RECT,
12591 ) -> windows_core::HRESULT {
12592 unsafe {
12593 let this: &Identity =
12594 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12595 ICoreWebView2PointerInfo_Impl::SetTouchContactRaw(
12596 this,
12597 core::mem::transmute(&touchcontactraw),
12598 )
12599 .into()
12600 }
12601 }
12602 unsafe extern "system" fn TouchOrientation<
12603 Identity: ICoreWebView2PointerInfo_Impl,
12604 const OFFSET: isize,
12605 >(
12606 this: *mut core::ffi::c_void,
12607 touchorientation: *mut u32,
12608 ) -> windows_core::HRESULT {
12609 unsafe {
12610 let this: &Identity =
12611 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12612 match ICoreWebView2PointerInfo_Impl::TouchOrientation(this) {
12613 Ok(ok__) => {
12614 touchorientation.write(core::mem::transmute(ok__));
12615 windows_core::HRESULT(0)
12616 }
12617 Err(err) => err.into(),
12618 }
12619 }
12620 }
12621 unsafe extern "system" fn SetTouchOrientation<
12622 Identity: ICoreWebView2PointerInfo_Impl,
12623 const OFFSET: isize,
12624 >(
12625 this: *mut core::ffi::c_void,
12626 touchorientation: u32,
12627 ) -> windows_core::HRESULT {
12628 unsafe {
12629 let this: &Identity =
12630 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12631 ICoreWebView2PointerInfo_Impl::SetTouchOrientation(
12632 this,
12633 core::mem::transmute_copy(&touchorientation),
12634 )
12635 .into()
12636 }
12637 }
12638 unsafe extern "system" fn TouchPressure<
12639 Identity: ICoreWebView2PointerInfo_Impl,
12640 const OFFSET: isize,
12641 >(
12642 this: *mut core::ffi::c_void,
12643 touchpressure: *mut u32,
12644 ) -> windows_core::HRESULT {
12645 unsafe {
12646 let this: &Identity =
12647 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12648 match ICoreWebView2PointerInfo_Impl::TouchPressure(this) {
12649 Ok(ok__) => {
12650 touchpressure.write(core::mem::transmute(ok__));
12651 windows_core::HRESULT(0)
12652 }
12653 Err(err) => err.into(),
12654 }
12655 }
12656 }
12657 unsafe extern "system" fn SetTouchPressure<
12658 Identity: ICoreWebView2PointerInfo_Impl,
12659 const OFFSET: isize,
12660 >(
12661 this: *mut core::ffi::c_void,
12662 touchpressure: u32,
12663 ) -> windows_core::HRESULT {
12664 unsafe {
12665 let this: &Identity =
12666 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12667 ICoreWebView2PointerInfo_Impl::SetTouchPressure(
12668 this,
12669 core::mem::transmute_copy(&touchpressure),
12670 )
12671 .into()
12672 }
12673 }
12674 Self {
12675 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12676 PointerKind: PointerKind::<Identity, OFFSET>,
12677 SetPointerKind: SetPointerKind::<Identity, OFFSET>,
12678 PointerId: PointerId::<Identity, OFFSET>,
12679 SetPointerId: SetPointerId::<Identity, OFFSET>,
12680 FrameId: FrameId::<Identity, OFFSET>,
12681 SetFrameId: SetFrameId::<Identity, OFFSET>,
12682 PointerFlags: PointerFlags::<Identity, OFFSET>,
12683 SetPointerFlags: SetPointerFlags::<Identity, OFFSET>,
12684 PointerDeviceRect: PointerDeviceRect::<Identity, OFFSET>,
12685 SetPointerDeviceRect: SetPointerDeviceRect::<Identity, OFFSET>,
12686 DisplayRect: DisplayRect::<Identity, OFFSET>,
12687 SetDisplayRect: SetDisplayRect::<Identity, OFFSET>,
12688 PixelLocation: PixelLocation::<Identity, OFFSET>,
12689 SetPixelLocation: SetPixelLocation::<Identity, OFFSET>,
12690 HimetricLocation: HimetricLocation::<Identity, OFFSET>,
12691 SetHimetricLocation: SetHimetricLocation::<Identity, OFFSET>,
12692 PixelLocationRaw: PixelLocationRaw::<Identity, OFFSET>,
12693 SetPixelLocationRaw: SetPixelLocationRaw::<Identity, OFFSET>,
12694 HimetricLocationRaw: HimetricLocationRaw::<Identity, OFFSET>,
12695 SetHimetricLocationRaw: SetHimetricLocationRaw::<Identity, OFFSET>,
12696 Time: Time::<Identity, OFFSET>,
12697 SetTime: SetTime::<Identity, OFFSET>,
12698 HistoryCount: HistoryCount::<Identity, OFFSET>,
12699 SetHistoryCount: SetHistoryCount::<Identity, OFFSET>,
12700 InputData: InputData::<Identity, OFFSET>,
12701 SetInputData: SetInputData::<Identity, OFFSET>,
12702 KeyStates: KeyStates::<Identity, OFFSET>,
12703 SetKeyStates: SetKeyStates::<Identity, OFFSET>,
12704 PerformanceCount: PerformanceCount::<Identity, OFFSET>,
12705 SetPerformanceCount: SetPerformanceCount::<Identity, OFFSET>,
12706 ButtonChangeKind: ButtonChangeKind::<Identity, OFFSET>,
12707 SetButtonChangeKind: SetButtonChangeKind::<Identity, OFFSET>,
12708 PenFlags: PenFlags::<Identity, OFFSET>,
12709 SetPenFlags: SetPenFlags::<Identity, OFFSET>,
12710 PenMask: PenMask::<Identity, OFFSET>,
12711 SetPenMask: SetPenMask::<Identity, OFFSET>,
12712 PenPressure: PenPressure::<Identity, OFFSET>,
12713 SetPenPressure: SetPenPressure::<Identity, OFFSET>,
12714 PenRotation: PenRotation::<Identity, OFFSET>,
12715 SetPenRotation: SetPenRotation::<Identity, OFFSET>,
12716 PenTiltX: PenTiltX::<Identity, OFFSET>,
12717 SetPenTiltX: SetPenTiltX::<Identity, OFFSET>,
12718 PenTiltY: PenTiltY::<Identity, OFFSET>,
12719 SetPenTiltY: SetPenTiltY::<Identity, OFFSET>,
12720 TouchFlags: TouchFlags::<Identity, OFFSET>,
12721 SetTouchFlags: SetTouchFlags::<Identity, OFFSET>,
12722 TouchMask: TouchMask::<Identity, OFFSET>,
12723 SetTouchMask: SetTouchMask::<Identity, OFFSET>,
12724 TouchContact: TouchContact::<Identity, OFFSET>,
12725 SetTouchContact: SetTouchContact::<Identity, OFFSET>,
12726 TouchContactRaw: TouchContactRaw::<Identity, OFFSET>,
12727 SetTouchContactRaw: SetTouchContactRaw::<Identity, OFFSET>,
12728 TouchOrientation: TouchOrientation::<Identity, OFFSET>,
12729 SetTouchOrientation: SetTouchOrientation::<Identity, OFFSET>,
12730 TouchPressure: TouchPressure::<Identity, OFFSET>,
12731 SetTouchPressure: SetTouchPressure::<Identity, OFFSET>,
12732 }
12733 }
12734 pub fn matches(iid: &windows_core::GUID) -> bool {
12735 iid == &<ICoreWebView2PointerInfo as windows_core::Interface>::IID
12736 }
12737}
12738impl windows_core::RuntimeName for ICoreWebView2PointerInfo {}
12739windows_core::imp::define_interface!(
12740 ICoreWebView2ProcessFailedEventArgs,
12741 ICoreWebView2ProcessFailedEventArgs_Vtbl,
12742 0x8155a9a4_1474_4a86_8cae_151b0fa6b8ca
12743);
12744windows_core::imp::interface_hierarchy!(
12745 ICoreWebView2ProcessFailedEventArgs,
12746 windows_core::IUnknown
12747);
12748impl ICoreWebView2ProcessFailedEventArgs {
12749 pub unsafe fn ProcessFailedKind(
12750 &self,
12751 ) -> windows_core::Result<COREWEBVIEW2_PROCESS_FAILED_KIND> {
12752 unsafe {
12753 let mut result__ = core::mem::zeroed();
12754 (windows_core::Interface::vtable(self).ProcessFailedKind)(
12755 windows_core::Interface::as_raw(self),
12756 &mut result__,
12757 )
12758 .map(|| result__)
12759 }
12760 }
12761}
12762#[repr(C)]
12763#[doc(hidden)]
12764pub struct ICoreWebView2ProcessFailedEventArgs_Vtbl {
12765 pub base__: windows_core::IUnknown_Vtbl,
12766 pub ProcessFailedKind: unsafe extern "system" fn(
12767 *mut core::ffi::c_void,
12768 *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
12769 ) -> windows_core::HRESULT,
12770}
12771pub trait ICoreWebView2ProcessFailedEventArgs_Impl: windows_core::IUnknownImpl {
12772 fn ProcessFailedKind(&self) -> windows_core::Result<COREWEBVIEW2_PROCESS_FAILED_KIND>;
12773}
12774impl ICoreWebView2ProcessFailedEventArgs_Vtbl {
12775 pub const fn new<Identity: ICoreWebView2ProcessFailedEventArgs_Impl, const OFFSET: isize>(
12776 ) -> Self {
12777 unsafe extern "system" fn ProcessFailedKind<
12778 Identity: ICoreWebView2ProcessFailedEventArgs_Impl,
12779 const OFFSET: isize,
12780 >(
12781 this: *mut core::ffi::c_void,
12782 processfailedkind: *mut COREWEBVIEW2_PROCESS_FAILED_KIND,
12783 ) -> windows_core::HRESULT {
12784 unsafe {
12785 let this: &Identity =
12786 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12787 match ICoreWebView2ProcessFailedEventArgs_Impl::ProcessFailedKind(this) {
12788 Ok(ok__) => {
12789 processfailedkind.write(core::mem::transmute(ok__));
12790 windows_core::HRESULT(0)
12791 }
12792 Err(err) => err.into(),
12793 }
12794 }
12795 }
12796 Self {
12797 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
12798 ProcessFailedKind: ProcessFailedKind::<Identity, OFFSET>,
12799 }
12800 }
12801 pub fn matches(iid: &windows_core::GUID) -> bool {
12802 iid == &<ICoreWebView2ProcessFailedEventArgs as windows_core::Interface>::IID
12803 }
12804}
12805impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventArgs {}
12806windows_core::imp::define_interface!(
12807 ICoreWebView2ProcessFailedEventArgs2,
12808 ICoreWebView2ProcessFailedEventArgs2_Vtbl,
12809 0x4dab9422_46fa_4c3e_a5d2_41d2071d3680
12810);
12811impl core::ops::Deref for ICoreWebView2ProcessFailedEventArgs2 {
12812 type Target = ICoreWebView2ProcessFailedEventArgs;
12813 fn deref(&self) -> &Self::Target {
12814 unsafe { core::mem::transmute(self) }
12815 }
12816}
12817windows_core::imp::interface_hierarchy!(
12818 ICoreWebView2ProcessFailedEventArgs2,
12819 windows_core::IUnknown,
12820 ICoreWebView2ProcessFailedEventArgs
12821);
12822impl ICoreWebView2ProcessFailedEventArgs2 {
12823 pub unsafe fn Reason(&self) -> windows_core::Result<COREWEBVIEW2_PROCESS_FAILED_REASON> {
12824 unsafe {
12825 let mut result__ = core::mem::zeroed();
12826 (windows_core::Interface::vtable(self).Reason)(
12827 windows_core::Interface::as_raw(self),
12828 &mut result__,
12829 )
12830 .map(|| result__)
12831 }
12832 }
12833 pub unsafe fn ExitCode(&self) -> windows_core::Result<i32> {
12834 unsafe {
12835 let mut result__ = core::mem::zeroed();
12836 (windows_core::Interface::vtable(self).ExitCode)(
12837 windows_core::Interface::as_raw(self),
12838 &mut result__,
12839 )
12840 .map(|| result__)
12841 }
12842 }
12843 pub unsafe fn ProcessDescription(&self) -> windows_core::Result<windows_core::PWSTR> {
12844 unsafe {
12845 let mut result__ = core::mem::zeroed();
12846 (windows_core::Interface::vtable(self).ProcessDescription)(
12847 windows_core::Interface::as_raw(self),
12848 &mut result__,
12849 )
12850 .map(|| result__)
12851 }
12852 }
12853 pub unsafe fn FrameInfosForFailedProcess(
12854 &self,
12855 ) -> windows_core::Result<ICoreWebView2FrameInfoCollection> {
12856 unsafe {
12857 let mut result__ = core::mem::zeroed();
12858 (windows_core::Interface::vtable(self).FrameInfosForFailedProcess)(
12859 windows_core::Interface::as_raw(self),
12860 &mut result__,
12861 )
12862 .and_then(|| windows_core::Type::from_abi(result__))
12863 }
12864 }
12865}
12866#[repr(C)]
12867#[doc(hidden)]
12868pub struct ICoreWebView2ProcessFailedEventArgs2_Vtbl {
12869 pub base__: ICoreWebView2ProcessFailedEventArgs_Vtbl,
12870 pub Reason: unsafe extern "system" fn(
12871 *mut core::ffi::c_void,
12872 *mut COREWEBVIEW2_PROCESS_FAILED_REASON,
12873 ) -> windows_core::HRESULT,
12874 pub ExitCode:
12875 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
12876 pub ProcessDescription: unsafe extern "system" fn(
12877 *mut core::ffi::c_void,
12878 *mut windows_core::PWSTR,
12879 ) -> windows_core::HRESULT,
12880 pub FrameInfosForFailedProcess: unsafe extern "system" fn(
12881 *mut core::ffi::c_void,
12882 *mut *mut core::ffi::c_void,
12883 ) -> windows_core::HRESULT,
12884}
12885pub trait ICoreWebView2ProcessFailedEventArgs2_Impl:
12886 ICoreWebView2ProcessFailedEventArgs_Impl
12887{
12888 fn Reason(&self) -> windows_core::Result<COREWEBVIEW2_PROCESS_FAILED_REASON>;
12889 fn ExitCode(&self) -> windows_core::Result<i32>;
12890 fn ProcessDescription(&self) -> windows_core::Result<windows_core::PWSTR>;
12891 fn FrameInfosForFailedProcess(&self) -> windows_core::Result<ICoreWebView2FrameInfoCollection>;
12892}
12893impl ICoreWebView2ProcessFailedEventArgs2_Vtbl {
12894 pub const fn new<Identity: ICoreWebView2ProcessFailedEventArgs2_Impl, const OFFSET: isize>(
12895 ) -> Self {
12896 unsafe extern "system" fn Reason<
12897 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
12898 const OFFSET: isize,
12899 >(
12900 this: *mut core::ffi::c_void,
12901 reason: *mut COREWEBVIEW2_PROCESS_FAILED_REASON,
12902 ) -> windows_core::HRESULT {
12903 unsafe {
12904 let this: &Identity =
12905 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12906 match ICoreWebView2ProcessFailedEventArgs2_Impl::Reason(this) {
12907 Ok(ok__) => {
12908 reason.write(core::mem::transmute(ok__));
12909 windows_core::HRESULT(0)
12910 }
12911 Err(err) => err.into(),
12912 }
12913 }
12914 }
12915 unsafe extern "system" fn ExitCode<
12916 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
12917 const OFFSET: isize,
12918 >(
12919 this: *mut core::ffi::c_void,
12920 exitcode: *mut i32,
12921 ) -> windows_core::HRESULT {
12922 unsafe {
12923 let this: &Identity =
12924 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12925 match ICoreWebView2ProcessFailedEventArgs2_Impl::ExitCode(this) {
12926 Ok(ok__) => {
12927 exitcode.write(core::mem::transmute(ok__));
12928 windows_core::HRESULT(0)
12929 }
12930 Err(err) => err.into(),
12931 }
12932 }
12933 }
12934 unsafe extern "system" fn ProcessDescription<
12935 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
12936 const OFFSET: isize,
12937 >(
12938 this: *mut core::ffi::c_void,
12939 processdescription: *mut windows_core::PWSTR,
12940 ) -> windows_core::HRESULT {
12941 unsafe {
12942 let this: &Identity =
12943 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12944 match ICoreWebView2ProcessFailedEventArgs2_Impl::ProcessDescription(this) {
12945 Ok(ok__) => {
12946 processdescription.write(core::mem::transmute(ok__));
12947 windows_core::HRESULT(0)
12948 }
12949 Err(err) => err.into(),
12950 }
12951 }
12952 }
12953 unsafe extern "system" fn FrameInfosForFailedProcess<
12954 Identity: ICoreWebView2ProcessFailedEventArgs2_Impl,
12955 const OFFSET: isize,
12956 >(
12957 this: *mut core::ffi::c_void,
12958 frames: *mut *mut core::ffi::c_void,
12959 ) -> windows_core::HRESULT {
12960 unsafe {
12961 let this: &Identity =
12962 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12963 match ICoreWebView2ProcessFailedEventArgs2_Impl::FrameInfosForFailedProcess(this) {
12964 Ok(ok__) => {
12965 frames.write(core::mem::transmute(ok__));
12966 windows_core::HRESULT(0)
12967 }
12968 Err(err) => err.into(),
12969 }
12970 }
12971 }
12972 Self {
12973 base__: ICoreWebView2ProcessFailedEventArgs_Vtbl::new::<Identity, OFFSET>(),
12974 Reason: Reason::<Identity, OFFSET>,
12975 ExitCode: ExitCode::<Identity, OFFSET>,
12976 ProcessDescription: ProcessDescription::<Identity, OFFSET>,
12977 FrameInfosForFailedProcess: FrameInfosForFailedProcess::<Identity, OFFSET>,
12978 }
12979 }
12980 pub fn matches(iid: &windows_core::GUID) -> bool {
12981 iid == &<ICoreWebView2ProcessFailedEventArgs2 as windows_core::Interface>::IID
12982 || iid == &<ICoreWebView2ProcessFailedEventArgs as windows_core::Interface>::IID
12983 }
12984}
12985impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventArgs2 {}
12986windows_core::imp::define_interface!(
12987 ICoreWebView2ProcessFailedEventHandler,
12988 ICoreWebView2ProcessFailedEventHandler_Vtbl,
12989 0x79e0aea4_990b_42d9_aa1d_0fcc2e5bc7f1
12990);
12991windows_core::imp::interface_hierarchy!(
12992 ICoreWebView2ProcessFailedEventHandler,
12993 windows_core::IUnknown
12994);
12995impl ICoreWebView2ProcessFailedEventHandler {
12996 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
12997 where
12998 P0: windows_core::Param<ICoreWebView2>,
12999 P1: windows_core::Param<ICoreWebView2ProcessFailedEventArgs>,
13000 {
13001 unsafe {
13002 (windows_core::Interface::vtable(self).Invoke)(
13003 windows_core::Interface::as_raw(self),
13004 sender.param().abi(),
13005 args.param().abi(),
13006 )
13007 .ok()
13008 }
13009 }
13010}
13011#[repr(C)]
13012#[doc(hidden)]
13013pub struct ICoreWebView2ProcessFailedEventHandler_Vtbl {
13014 pub base__: windows_core::IUnknown_Vtbl,
13015 pub Invoke: unsafe extern "system" fn(
13016 *mut core::ffi::c_void,
13017 *mut core::ffi::c_void,
13018 *mut core::ffi::c_void,
13019 ) -> windows_core::HRESULT,
13020}
13021pub trait ICoreWebView2ProcessFailedEventHandler_Impl: windows_core::IUnknownImpl {
13022 fn Invoke(
13023 &self,
13024 sender: windows_core::Ref<ICoreWebView2>,
13025 args: windows_core::Ref<ICoreWebView2ProcessFailedEventArgs>,
13026 ) -> windows_core::Result<()>;
13027}
13028impl ICoreWebView2ProcessFailedEventHandler_Vtbl {
13029 pub const fn new<Identity: ICoreWebView2ProcessFailedEventHandler_Impl, const OFFSET: isize>(
13030 ) -> Self {
13031 unsafe extern "system" fn Invoke<
13032 Identity: ICoreWebView2ProcessFailedEventHandler_Impl,
13033 const OFFSET: isize,
13034 >(
13035 this: *mut core::ffi::c_void,
13036 sender: *mut core::ffi::c_void,
13037 args: *mut core::ffi::c_void,
13038 ) -> windows_core::HRESULT {
13039 unsafe {
13040 let this: &Identity =
13041 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13042 ICoreWebView2ProcessFailedEventHandler_Impl::Invoke(
13043 this,
13044 core::mem::transmute_copy(&sender),
13045 core::mem::transmute_copy(&args),
13046 )
13047 .into()
13048 }
13049 }
13050 Self {
13051 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
13052 Invoke: Invoke::<Identity, OFFSET>,
13053 }
13054 }
13055 pub fn matches(iid: &windows_core::GUID) -> bool {
13056 iid == &<ICoreWebView2ProcessFailedEventHandler as windows_core::Interface>::IID
13057 }
13058}
13059impl windows_core::RuntimeName for ICoreWebView2ProcessFailedEventHandler {}
13060windows_core::imp::define_interface!(
13061 ICoreWebView2RasterizationScaleChangedEventHandler,
13062 ICoreWebView2RasterizationScaleChangedEventHandler_Vtbl,
13063 0x9c98c8b1_ac53_427e_a345_3049b5524bbe
13064);
13065windows_core::imp::interface_hierarchy!(
13066 ICoreWebView2RasterizationScaleChangedEventHandler,
13067 windows_core::IUnknown
13068);
13069impl ICoreWebView2RasterizationScaleChangedEventHandler {
13070 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
13071 where
13072 P0: windows_core::Param<ICoreWebView2Controller>,
13073 P1: windows_core::Param<windows_core::IUnknown>,
13074 {
13075 unsafe {
13076 (windows_core::Interface::vtable(self).Invoke)(
13077 windows_core::Interface::as_raw(self),
13078 sender.param().abi(),
13079 args.param().abi(),
13080 )
13081 .ok()
13082 }
13083 }
13084}
13085#[repr(C)]
13086#[doc(hidden)]
13087pub struct ICoreWebView2RasterizationScaleChangedEventHandler_Vtbl {
13088 pub base__: windows_core::IUnknown_Vtbl,
13089 pub Invoke: unsafe extern "system" fn(
13090 *mut core::ffi::c_void,
13091 *mut core::ffi::c_void,
13092 *mut core::ffi::c_void,
13093 ) -> windows_core::HRESULT,
13094}
13095pub trait ICoreWebView2RasterizationScaleChangedEventHandler_Impl:
13096 windows_core::IUnknownImpl
13097{
13098 fn Invoke(
13099 &self,
13100 sender: windows_core::Ref<ICoreWebView2Controller>,
13101 args: windows_core::Ref<windows_core::IUnknown>,
13102 ) -> windows_core::Result<()>;
13103}
13104impl ICoreWebView2RasterizationScaleChangedEventHandler_Vtbl {
13105 pub const fn new<
13106 Identity: ICoreWebView2RasterizationScaleChangedEventHandler_Impl,
13107 const OFFSET: isize,
13108 >() -> Self {
13109 unsafe extern "system" fn Invoke<
13110 Identity: ICoreWebView2RasterizationScaleChangedEventHandler_Impl,
13111 const OFFSET: isize,
13112 >(
13113 this: *mut core::ffi::c_void,
13114 sender: *mut core::ffi::c_void,
13115 args: *mut core::ffi::c_void,
13116 ) -> windows_core::HRESULT {
13117 unsafe {
13118 let this: &Identity =
13119 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13120 ICoreWebView2RasterizationScaleChangedEventHandler_Impl::Invoke(
13121 this,
13122 core::mem::transmute_copy(&sender),
13123 core::mem::transmute_copy(&args),
13124 )
13125 .into()
13126 }
13127 }
13128 Self {
13129 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
13130 Invoke: Invoke::<Identity, OFFSET>,
13131 }
13132 }
13133 pub fn matches(iid: &windows_core::GUID) -> bool {
13134 iid == &<ICoreWebView2RasterizationScaleChangedEventHandler as windows_core::Interface>::IID
13135 }
13136}
13137impl windows_core::RuntimeName for ICoreWebView2RasterizationScaleChangedEventHandler {}
13138windows_core::imp::define_interface!(
13139 ICoreWebView2ScriptDialogOpeningEventArgs,
13140 ICoreWebView2ScriptDialogOpeningEventArgs_Vtbl,
13141 0x7390bb70_abe0_4843_9529_f143b31b03d6
13142);
13143windows_core::imp::interface_hierarchy!(
13144 ICoreWebView2ScriptDialogOpeningEventArgs,
13145 windows_core::IUnknown
13146);
13147impl ICoreWebView2ScriptDialogOpeningEventArgs {
13148 pub unsafe fn Uri(&self) -> windows_core::Result<windows_core::PWSTR> {
13149 unsafe {
13150 let mut result__ = core::mem::zeroed();
13151 (windows_core::Interface::vtable(self).Uri)(
13152 windows_core::Interface::as_raw(self),
13153 &mut result__,
13154 )
13155 .map(|| result__)
13156 }
13157 }
13158 pub unsafe fn Kind(&self) -> windows_core::Result<COREWEBVIEW2_SCRIPT_DIALOG_KIND> {
13159 unsafe {
13160 let mut result__ = core::mem::zeroed();
13161 (windows_core::Interface::vtable(self).Kind)(
13162 windows_core::Interface::as_raw(self),
13163 &mut result__,
13164 )
13165 .map(|| result__)
13166 }
13167 }
13168 pub unsafe fn Message(&self) -> windows_core::Result<windows_core::PWSTR> {
13169 unsafe {
13170 let mut result__ = core::mem::zeroed();
13171 (windows_core::Interface::vtable(self).Message)(
13172 windows_core::Interface::as_raw(self),
13173 &mut result__,
13174 )
13175 .map(|| result__)
13176 }
13177 }
13178 pub unsafe fn Accept(&self) -> windows_core::Result<()> {
13179 unsafe {
13180 (windows_core::Interface::vtable(self).Accept)(windows_core::Interface::as_raw(self))
13181 .ok()
13182 }
13183 }
13184 pub unsafe fn DefaultText(&self) -> windows_core::Result<windows_core::PWSTR> {
13185 unsafe {
13186 let mut result__ = core::mem::zeroed();
13187 (windows_core::Interface::vtable(self).DefaultText)(
13188 windows_core::Interface::as_raw(self),
13189 &mut result__,
13190 )
13191 .map(|| result__)
13192 }
13193 }
13194 pub unsafe fn ResultText(&self) -> windows_core::Result<windows_core::PWSTR> {
13195 unsafe {
13196 let mut result__ = core::mem::zeroed();
13197 (windows_core::Interface::vtable(self).ResultText)(
13198 windows_core::Interface::as_raw(self),
13199 &mut result__,
13200 )
13201 .map(|| result__)
13202 }
13203 }
13204 pub unsafe fn SetResultText<P0>(&self, resulttext: P0) -> windows_core::Result<()>
13205 where
13206 P0: windows_core::Param<windows_core::PCWSTR>,
13207 {
13208 unsafe {
13209 (windows_core::Interface::vtable(self).SetResultText)(
13210 windows_core::Interface::as_raw(self),
13211 resulttext.param().abi(),
13212 )
13213 .ok()
13214 }
13215 }
13216 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
13217 unsafe {
13218 let mut result__ = core::mem::zeroed();
13219 (windows_core::Interface::vtable(self).GetDeferral)(
13220 windows_core::Interface::as_raw(self),
13221 &mut result__,
13222 )
13223 .and_then(|| windows_core::Type::from_abi(result__))
13224 }
13225 }
13226}
13227#[repr(C)]
13228#[doc(hidden)]
13229pub struct ICoreWebView2ScriptDialogOpeningEventArgs_Vtbl {
13230 pub base__: windows_core::IUnknown_Vtbl,
13231 pub Uri: unsafe extern "system" fn(
13232 *mut core::ffi::c_void,
13233 *mut windows_core::PWSTR,
13234 ) -> windows_core::HRESULT,
13235 pub Kind: unsafe extern "system" fn(
13236 *mut core::ffi::c_void,
13237 *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND,
13238 ) -> windows_core::HRESULT,
13239 pub Message: unsafe extern "system" fn(
13240 *mut core::ffi::c_void,
13241 *mut windows_core::PWSTR,
13242 ) -> windows_core::HRESULT,
13243 pub Accept: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
13244 pub DefaultText: unsafe extern "system" fn(
13245 *mut core::ffi::c_void,
13246 *mut windows_core::PWSTR,
13247 ) -> windows_core::HRESULT,
13248 pub ResultText: unsafe extern "system" fn(
13249 *mut core::ffi::c_void,
13250 *mut windows_core::PWSTR,
13251 ) -> windows_core::HRESULT,
13252 pub SetResultText: unsafe extern "system" fn(
13253 *mut core::ffi::c_void,
13254 windows_core::PCWSTR,
13255 ) -> windows_core::HRESULT,
13256 pub GetDeferral: unsafe extern "system" fn(
13257 *mut core::ffi::c_void,
13258 *mut *mut core::ffi::c_void,
13259 ) -> windows_core::HRESULT,
13260}
13261pub trait ICoreWebView2ScriptDialogOpeningEventArgs_Impl: windows_core::IUnknownImpl {
13262 fn Uri(&self) -> windows_core::Result<windows_core::PWSTR>;
13263 fn Kind(&self) -> windows_core::Result<COREWEBVIEW2_SCRIPT_DIALOG_KIND>;
13264 fn Message(&self) -> windows_core::Result<windows_core::PWSTR>;
13265 fn Accept(&self) -> windows_core::Result<()>;
13266 fn DefaultText(&self) -> windows_core::Result<windows_core::PWSTR>;
13267 fn ResultText(&self) -> windows_core::Result<windows_core::PWSTR>;
13268 fn SetResultText(&self, resulttext: &windows_core::PCWSTR) -> windows_core::Result<()>;
13269 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
13270}
13271impl ICoreWebView2ScriptDialogOpeningEventArgs_Vtbl {
13272 pub const fn new<
13273 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
13274 const OFFSET: isize,
13275 >() -> Self {
13276 unsafe extern "system" fn Uri<
13277 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
13278 const OFFSET: isize,
13279 >(
13280 this: *mut core::ffi::c_void,
13281 uri: *mut windows_core::PWSTR,
13282 ) -> windows_core::HRESULT {
13283 unsafe {
13284 let this: &Identity =
13285 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13286 match ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Uri(this) {
13287 Ok(ok__) => {
13288 uri.write(core::mem::transmute(ok__));
13289 windows_core::HRESULT(0)
13290 }
13291 Err(err) => err.into(),
13292 }
13293 }
13294 }
13295 unsafe extern "system" fn Kind<
13296 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
13297 const OFFSET: isize,
13298 >(
13299 this: *mut core::ffi::c_void,
13300 kind: *mut COREWEBVIEW2_SCRIPT_DIALOG_KIND,
13301 ) -> windows_core::HRESULT {
13302 unsafe {
13303 let this: &Identity =
13304 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13305 match ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Kind(this) {
13306 Ok(ok__) => {
13307 kind.write(core::mem::transmute(ok__));
13308 windows_core::HRESULT(0)
13309 }
13310 Err(err) => err.into(),
13311 }
13312 }
13313 }
13314 unsafe extern "system" fn Message<
13315 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
13316 const OFFSET: isize,
13317 >(
13318 this: *mut core::ffi::c_void,
13319 message: *mut windows_core::PWSTR,
13320 ) -> windows_core::HRESULT {
13321 unsafe {
13322 let this: &Identity =
13323 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13324 match ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Message(this) {
13325 Ok(ok__) => {
13326 message.write(core::mem::transmute(ok__));
13327 windows_core::HRESULT(0)
13328 }
13329 Err(err) => err.into(),
13330 }
13331 }
13332 }
13333 unsafe extern "system" fn Accept<
13334 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_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 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::Accept(this).into()
13343 }
13344 }
13345 unsafe extern "system" fn DefaultText<
13346 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
13347 const OFFSET: isize,
13348 >(
13349 this: *mut core::ffi::c_void,
13350 defaulttext: *mut windows_core::PWSTR,
13351 ) -> windows_core::HRESULT {
13352 unsafe {
13353 let this: &Identity =
13354 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13355 match ICoreWebView2ScriptDialogOpeningEventArgs_Impl::DefaultText(this) {
13356 Ok(ok__) => {
13357 defaulttext.write(core::mem::transmute(ok__));
13358 windows_core::HRESULT(0)
13359 }
13360 Err(err) => err.into(),
13361 }
13362 }
13363 }
13364 unsafe extern "system" fn ResultText<
13365 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
13366 const OFFSET: isize,
13367 >(
13368 this: *mut core::ffi::c_void,
13369 resulttext: *mut windows_core::PWSTR,
13370 ) -> windows_core::HRESULT {
13371 unsafe {
13372 let this: &Identity =
13373 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13374 match ICoreWebView2ScriptDialogOpeningEventArgs_Impl::ResultText(this) {
13375 Ok(ok__) => {
13376 resulttext.write(core::mem::transmute(ok__));
13377 windows_core::HRESULT(0)
13378 }
13379 Err(err) => err.into(),
13380 }
13381 }
13382 }
13383 unsafe extern "system" fn SetResultText<
13384 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
13385 const OFFSET: isize,
13386 >(
13387 this: *mut core::ffi::c_void,
13388 resulttext: windows_core::PCWSTR,
13389 ) -> windows_core::HRESULT {
13390 unsafe {
13391 let this: &Identity =
13392 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13393 ICoreWebView2ScriptDialogOpeningEventArgs_Impl::SetResultText(
13394 this,
13395 core::mem::transmute(&resulttext),
13396 )
13397 .into()
13398 }
13399 }
13400 unsafe extern "system" fn GetDeferral<
13401 Identity: ICoreWebView2ScriptDialogOpeningEventArgs_Impl,
13402 const OFFSET: isize,
13403 >(
13404 this: *mut core::ffi::c_void,
13405 deferral: *mut *mut core::ffi::c_void,
13406 ) -> windows_core::HRESULT {
13407 unsafe {
13408 let this: &Identity =
13409 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13410 match ICoreWebView2ScriptDialogOpeningEventArgs_Impl::GetDeferral(this) {
13411 Ok(ok__) => {
13412 deferral.write(core::mem::transmute(ok__));
13413 windows_core::HRESULT(0)
13414 }
13415 Err(err) => err.into(),
13416 }
13417 }
13418 }
13419 Self {
13420 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
13421 Uri: Uri::<Identity, OFFSET>,
13422 Kind: Kind::<Identity, OFFSET>,
13423 Message: Message::<Identity, OFFSET>,
13424 Accept: Accept::<Identity, OFFSET>,
13425 DefaultText: DefaultText::<Identity, OFFSET>,
13426 ResultText: ResultText::<Identity, OFFSET>,
13427 SetResultText: SetResultText::<Identity, OFFSET>,
13428 GetDeferral: GetDeferral::<Identity, OFFSET>,
13429 }
13430 }
13431 pub fn matches(iid: &windows_core::GUID) -> bool {
13432 iid == &<ICoreWebView2ScriptDialogOpeningEventArgs as windows_core::Interface>::IID
13433 }
13434}
13435impl windows_core::RuntimeName for ICoreWebView2ScriptDialogOpeningEventArgs {}
13436windows_core::imp::define_interface!(
13437 ICoreWebView2ScriptDialogOpeningEventHandler,
13438 ICoreWebView2ScriptDialogOpeningEventHandler_Vtbl,
13439 0xef381bf9_afa8_4e37_91c4_8ac48524bdfb
13440);
13441windows_core::imp::interface_hierarchy!(
13442 ICoreWebView2ScriptDialogOpeningEventHandler,
13443 windows_core::IUnknown
13444);
13445impl ICoreWebView2ScriptDialogOpeningEventHandler {
13446 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
13447 where
13448 P0: windows_core::Param<ICoreWebView2>,
13449 P1: windows_core::Param<ICoreWebView2ScriptDialogOpeningEventArgs>,
13450 {
13451 unsafe {
13452 (windows_core::Interface::vtable(self).Invoke)(
13453 windows_core::Interface::as_raw(self),
13454 sender.param().abi(),
13455 args.param().abi(),
13456 )
13457 .ok()
13458 }
13459 }
13460}
13461#[repr(C)]
13462#[doc(hidden)]
13463pub struct ICoreWebView2ScriptDialogOpeningEventHandler_Vtbl {
13464 pub base__: windows_core::IUnknown_Vtbl,
13465 pub Invoke: unsafe extern "system" fn(
13466 *mut core::ffi::c_void,
13467 *mut core::ffi::c_void,
13468 *mut core::ffi::c_void,
13469 ) -> windows_core::HRESULT,
13470}
13471pub trait ICoreWebView2ScriptDialogOpeningEventHandler_Impl: windows_core::IUnknownImpl {
13472 fn Invoke(
13473 &self,
13474 sender: windows_core::Ref<ICoreWebView2>,
13475 args: windows_core::Ref<ICoreWebView2ScriptDialogOpeningEventArgs>,
13476 ) -> windows_core::Result<()>;
13477}
13478impl ICoreWebView2ScriptDialogOpeningEventHandler_Vtbl {
13479 pub const fn new<
13480 Identity: ICoreWebView2ScriptDialogOpeningEventHandler_Impl,
13481 const OFFSET: isize,
13482 >() -> Self {
13483 unsafe extern "system" fn Invoke<
13484 Identity: ICoreWebView2ScriptDialogOpeningEventHandler_Impl,
13485 const OFFSET: isize,
13486 >(
13487 this: *mut core::ffi::c_void,
13488 sender: *mut core::ffi::c_void,
13489 args: *mut core::ffi::c_void,
13490 ) -> windows_core::HRESULT {
13491 unsafe {
13492 let this: &Identity =
13493 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13494 ICoreWebView2ScriptDialogOpeningEventHandler_Impl::Invoke(
13495 this,
13496 core::mem::transmute_copy(&sender),
13497 core::mem::transmute_copy(&args),
13498 )
13499 .into()
13500 }
13501 }
13502 Self {
13503 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
13504 Invoke: Invoke::<Identity, OFFSET>,
13505 }
13506 }
13507 pub fn matches(iid: &windows_core::GUID) -> bool {
13508 iid == &<ICoreWebView2ScriptDialogOpeningEventHandler as windows_core::Interface>::IID
13509 }
13510}
13511impl windows_core::RuntimeName for ICoreWebView2ScriptDialogOpeningEventHandler {}
13512windows_core::imp::define_interface!(
13513 ICoreWebView2Settings,
13514 ICoreWebView2Settings_Vtbl,
13515 0xe562e4f0_d7fa_43ac_8d71_c05150499f00
13516);
13517windows_core::imp::interface_hierarchy!(ICoreWebView2Settings, windows_core::IUnknown);
13518impl ICoreWebView2Settings {
13519 pub unsafe fn IsScriptEnabled(&self) -> windows_core::Result<windows_core::BOOL> {
13520 unsafe {
13521 let mut result__ = core::mem::zeroed();
13522 (windows_core::Interface::vtable(self).IsScriptEnabled)(
13523 windows_core::Interface::as_raw(self),
13524 &mut result__,
13525 )
13526 .map(|| result__)
13527 }
13528 }
13529 pub unsafe fn SetIsScriptEnabled(&self, isscriptenabled: bool) -> windows_core::Result<()> {
13530 unsafe {
13531 (windows_core::Interface::vtable(self).SetIsScriptEnabled)(
13532 windows_core::Interface::as_raw(self),
13533 isscriptenabled.into(),
13534 )
13535 .ok()
13536 }
13537 }
13538 pub unsafe fn IsWebMessageEnabled(&self) -> windows_core::Result<windows_core::BOOL> {
13539 unsafe {
13540 let mut result__ = core::mem::zeroed();
13541 (windows_core::Interface::vtable(self).IsWebMessageEnabled)(
13542 windows_core::Interface::as_raw(self),
13543 &mut result__,
13544 )
13545 .map(|| result__)
13546 }
13547 }
13548 pub unsafe fn SetIsWebMessageEnabled(
13549 &self,
13550 iswebmessageenabled: bool,
13551 ) -> windows_core::Result<()> {
13552 unsafe {
13553 (windows_core::Interface::vtable(self).SetIsWebMessageEnabled)(
13554 windows_core::Interface::as_raw(self),
13555 iswebmessageenabled.into(),
13556 )
13557 .ok()
13558 }
13559 }
13560 pub unsafe fn AreDefaultScriptDialogsEnabled(
13561 &self,
13562 ) -> windows_core::Result<windows_core::BOOL> {
13563 unsafe {
13564 let mut result__ = core::mem::zeroed();
13565 (windows_core::Interface::vtable(self).AreDefaultScriptDialogsEnabled)(
13566 windows_core::Interface::as_raw(self),
13567 &mut result__,
13568 )
13569 .map(|| result__)
13570 }
13571 }
13572 pub unsafe fn SetAreDefaultScriptDialogsEnabled(
13573 &self,
13574 aredefaultscriptdialogsenabled: bool,
13575 ) -> windows_core::Result<()> {
13576 unsafe {
13577 (windows_core::Interface::vtable(self).SetAreDefaultScriptDialogsEnabled)(
13578 windows_core::Interface::as_raw(self),
13579 aredefaultscriptdialogsenabled.into(),
13580 )
13581 .ok()
13582 }
13583 }
13584 pub unsafe fn IsStatusBarEnabled(&self) -> windows_core::Result<windows_core::BOOL> {
13585 unsafe {
13586 let mut result__ = core::mem::zeroed();
13587 (windows_core::Interface::vtable(self).IsStatusBarEnabled)(
13588 windows_core::Interface::as_raw(self),
13589 &mut result__,
13590 )
13591 .map(|| result__)
13592 }
13593 }
13594 pub unsafe fn SetIsStatusBarEnabled(
13595 &self,
13596 isstatusbarenabled: bool,
13597 ) -> windows_core::Result<()> {
13598 unsafe {
13599 (windows_core::Interface::vtable(self).SetIsStatusBarEnabled)(
13600 windows_core::Interface::as_raw(self),
13601 isstatusbarenabled.into(),
13602 )
13603 .ok()
13604 }
13605 }
13606 pub unsafe fn AreDevToolsEnabled(&self) -> windows_core::Result<windows_core::BOOL> {
13607 unsafe {
13608 let mut result__ = core::mem::zeroed();
13609 (windows_core::Interface::vtable(self).AreDevToolsEnabled)(
13610 windows_core::Interface::as_raw(self),
13611 &mut result__,
13612 )
13613 .map(|| result__)
13614 }
13615 }
13616 pub unsafe fn SetAreDevToolsEnabled(
13617 &self,
13618 aredevtoolsenabled: bool,
13619 ) -> windows_core::Result<()> {
13620 unsafe {
13621 (windows_core::Interface::vtable(self).SetAreDevToolsEnabled)(
13622 windows_core::Interface::as_raw(self),
13623 aredevtoolsenabled.into(),
13624 )
13625 .ok()
13626 }
13627 }
13628 pub unsafe fn AreDefaultContextMenusEnabled(&self) -> windows_core::Result<windows_core::BOOL> {
13629 unsafe {
13630 let mut result__ = core::mem::zeroed();
13631 (windows_core::Interface::vtable(self).AreDefaultContextMenusEnabled)(
13632 windows_core::Interface::as_raw(self),
13633 &mut result__,
13634 )
13635 .map(|| result__)
13636 }
13637 }
13638 pub unsafe fn SetAreDefaultContextMenusEnabled(
13639 &self,
13640 enabled: bool,
13641 ) -> windows_core::Result<()> {
13642 unsafe {
13643 (windows_core::Interface::vtable(self).SetAreDefaultContextMenusEnabled)(
13644 windows_core::Interface::as_raw(self),
13645 enabled.into(),
13646 )
13647 .ok()
13648 }
13649 }
13650 pub unsafe fn AreHostObjectsAllowed(&self) -> windows_core::Result<windows_core::BOOL> {
13651 unsafe {
13652 let mut result__ = core::mem::zeroed();
13653 (windows_core::Interface::vtable(self).AreHostObjectsAllowed)(
13654 windows_core::Interface::as_raw(self),
13655 &mut result__,
13656 )
13657 .map(|| result__)
13658 }
13659 }
13660 pub unsafe fn SetAreHostObjectsAllowed(&self, allowed: bool) -> windows_core::Result<()> {
13661 unsafe {
13662 (windows_core::Interface::vtable(self).SetAreHostObjectsAllowed)(
13663 windows_core::Interface::as_raw(self),
13664 allowed.into(),
13665 )
13666 .ok()
13667 }
13668 }
13669 pub unsafe fn IsZoomControlEnabled(&self) -> windows_core::Result<windows_core::BOOL> {
13670 unsafe {
13671 let mut result__ = core::mem::zeroed();
13672 (windows_core::Interface::vtable(self).IsZoomControlEnabled)(
13673 windows_core::Interface::as_raw(self),
13674 &mut result__,
13675 )
13676 .map(|| result__)
13677 }
13678 }
13679 pub unsafe fn SetIsZoomControlEnabled(&self, enabled: bool) -> windows_core::Result<()> {
13680 unsafe {
13681 (windows_core::Interface::vtable(self).SetIsZoomControlEnabled)(
13682 windows_core::Interface::as_raw(self),
13683 enabled.into(),
13684 )
13685 .ok()
13686 }
13687 }
13688 pub unsafe fn IsBuiltInErrorPageEnabled(&self) -> windows_core::Result<windows_core::BOOL> {
13689 unsafe {
13690 let mut result__ = core::mem::zeroed();
13691 (windows_core::Interface::vtable(self).IsBuiltInErrorPageEnabled)(
13692 windows_core::Interface::as_raw(self),
13693 &mut result__,
13694 )
13695 .map(|| result__)
13696 }
13697 }
13698 pub unsafe fn SetIsBuiltInErrorPageEnabled(&self, enabled: bool) -> windows_core::Result<()> {
13699 unsafe {
13700 (windows_core::Interface::vtable(self).SetIsBuiltInErrorPageEnabled)(
13701 windows_core::Interface::as_raw(self),
13702 enabled.into(),
13703 )
13704 .ok()
13705 }
13706 }
13707}
13708#[repr(C)]
13709#[doc(hidden)]
13710pub struct ICoreWebView2Settings_Vtbl {
13711 pub base__: windows_core::IUnknown_Vtbl,
13712 pub IsScriptEnabled: unsafe extern "system" fn(
13713 *mut core::ffi::c_void,
13714 *mut windows_core::BOOL,
13715 ) -> windows_core::HRESULT,
13716 pub SetIsScriptEnabled: unsafe extern "system" fn(
13717 *mut core::ffi::c_void,
13718 windows_core::BOOL,
13719 ) -> windows_core::HRESULT,
13720 pub IsWebMessageEnabled: unsafe extern "system" fn(
13721 *mut core::ffi::c_void,
13722 *mut windows_core::BOOL,
13723 ) -> windows_core::HRESULT,
13724 pub SetIsWebMessageEnabled: unsafe extern "system" fn(
13725 *mut core::ffi::c_void,
13726 windows_core::BOOL,
13727 ) -> windows_core::HRESULT,
13728 pub AreDefaultScriptDialogsEnabled: unsafe extern "system" fn(
13729 *mut core::ffi::c_void,
13730 *mut windows_core::BOOL,
13731 ) -> windows_core::HRESULT,
13732 pub SetAreDefaultScriptDialogsEnabled: unsafe extern "system" fn(
13733 *mut core::ffi::c_void,
13734 windows_core::BOOL,
13735 ) -> windows_core::HRESULT,
13736 pub IsStatusBarEnabled: unsafe extern "system" fn(
13737 *mut core::ffi::c_void,
13738 *mut windows_core::BOOL,
13739 ) -> windows_core::HRESULT,
13740 pub SetIsStatusBarEnabled: unsafe extern "system" fn(
13741 *mut core::ffi::c_void,
13742 windows_core::BOOL,
13743 ) -> windows_core::HRESULT,
13744 pub AreDevToolsEnabled: unsafe extern "system" fn(
13745 *mut core::ffi::c_void,
13746 *mut windows_core::BOOL,
13747 ) -> windows_core::HRESULT,
13748 pub SetAreDevToolsEnabled: unsafe extern "system" fn(
13749 *mut core::ffi::c_void,
13750 windows_core::BOOL,
13751 ) -> windows_core::HRESULT,
13752 pub AreDefaultContextMenusEnabled: unsafe extern "system" fn(
13753 *mut core::ffi::c_void,
13754 *mut windows_core::BOOL,
13755 ) -> windows_core::HRESULT,
13756 pub SetAreDefaultContextMenusEnabled: unsafe extern "system" fn(
13757 *mut core::ffi::c_void,
13758 windows_core::BOOL,
13759 ) -> windows_core::HRESULT,
13760 pub AreHostObjectsAllowed: unsafe extern "system" fn(
13761 *mut core::ffi::c_void,
13762 *mut windows_core::BOOL,
13763 ) -> windows_core::HRESULT,
13764 pub SetAreHostObjectsAllowed: unsafe extern "system" fn(
13765 *mut core::ffi::c_void,
13766 windows_core::BOOL,
13767 ) -> windows_core::HRESULT,
13768 pub IsZoomControlEnabled: unsafe extern "system" fn(
13769 *mut core::ffi::c_void,
13770 *mut windows_core::BOOL,
13771 ) -> windows_core::HRESULT,
13772 pub SetIsZoomControlEnabled: unsafe extern "system" fn(
13773 *mut core::ffi::c_void,
13774 windows_core::BOOL,
13775 ) -> windows_core::HRESULT,
13776 pub IsBuiltInErrorPageEnabled: unsafe extern "system" fn(
13777 *mut core::ffi::c_void,
13778 *mut windows_core::BOOL,
13779 ) -> windows_core::HRESULT,
13780 pub SetIsBuiltInErrorPageEnabled: unsafe extern "system" fn(
13781 *mut core::ffi::c_void,
13782 windows_core::BOOL,
13783 ) -> windows_core::HRESULT,
13784}
13785pub trait ICoreWebView2Settings_Impl: windows_core::IUnknownImpl {
13786 fn IsScriptEnabled(&self) -> windows_core::Result<windows_core::BOOL>;
13787 fn SetIsScriptEnabled(&self, isscriptenabled: windows_core::BOOL) -> windows_core::Result<()>;
13788 fn IsWebMessageEnabled(&self) -> windows_core::Result<windows_core::BOOL>;
13789 fn SetIsWebMessageEnabled(
13790 &self,
13791 iswebmessageenabled: windows_core::BOOL,
13792 ) -> windows_core::Result<()>;
13793 fn AreDefaultScriptDialogsEnabled(&self) -> windows_core::Result<windows_core::BOOL>;
13794 fn SetAreDefaultScriptDialogsEnabled(
13795 &self,
13796 aredefaultscriptdialogsenabled: windows_core::BOOL,
13797 ) -> windows_core::Result<()>;
13798 fn IsStatusBarEnabled(&self) -> windows_core::Result<windows_core::BOOL>;
13799 fn SetIsStatusBarEnabled(
13800 &self,
13801 isstatusbarenabled: windows_core::BOOL,
13802 ) -> windows_core::Result<()>;
13803 fn AreDevToolsEnabled(&self) -> windows_core::Result<windows_core::BOOL>;
13804 fn SetAreDevToolsEnabled(
13805 &self,
13806 aredevtoolsenabled: windows_core::BOOL,
13807 ) -> windows_core::Result<()>;
13808 fn AreDefaultContextMenusEnabled(&self) -> windows_core::Result<windows_core::BOOL>;
13809 fn SetAreDefaultContextMenusEnabled(
13810 &self,
13811 enabled: windows_core::BOOL,
13812 ) -> windows_core::Result<()>;
13813 fn AreHostObjectsAllowed(&self) -> windows_core::Result<windows_core::BOOL>;
13814 fn SetAreHostObjectsAllowed(&self, allowed: windows_core::BOOL) -> windows_core::Result<()>;
13815 fn IsZoomControlEnabled(&self) -> windows_core::Result<windows_core::BOOL>;
13816 fn SetIsZoomControlEnabled(&self, enabled: windows_core::BOOL) -> windows_core::Result<()>;
13817 fn IsBuiltInErrorPageEnabled(&self) -> windows_core::Result<windows_core::BOOL>;
13818 fn SetIsBuiltInErrorPageEnabled(&self, enabled: windows_core::BOOL)
13819 -> windows_core::Result<()>;
13820}
13821impl ICoreWebView2Settings_Vtbl {
13822 pub const fn new<Identity: ICoreWebView2Settings_Impl, const OFFSET: isize>() -> Self {
13823 unsafe extern "system" fn IsScriptEnabled<
13824 Identity: ICoreWebView2Settings_Impl,
13825 const OFFSET: isize,
13826 >(
13827 this: *mut core::ffi::c_void,
13828 isscriptenabled: *mut windows_core::BOOL,
13829 ) -> windows_core::HRESULT {
13830 unsafe {
13831 let this: &Identity =
13832 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13833 match ICoreWebView2Settings_Impl::IsScriptEnabled(this) {
13834 Ok(ok__) => {
13835 isscriptenabled.write(core::mem::transmute(ok__));
13836 windows_core::HRESULT(0)
13837 }
13838 Err(err) => err.into(),
13839 }
13840 }
13841 }
13842 unsafe extern "system" fn SetIsScriptEnabled<
13843 Identity: ICoreWebView2Settings_Impl,
13844 const OFFSET: isize,
13845 >(
13846 this: *mut core::ffi::c_void,
13847 isscriptenabled: windows_core::BOOL,
13848 ) -> windows_core::HRESULT {
13849 unsafe {
13850 let this: &Identity =
13851 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13852 ICoreWebView2Settings_Impl::SetIsScriptEnabled(
13853 this,
13854 core::mem::transmute_copy(&isscriptenabled),
13855 )
13856 .into()
13857 }
13858 }
13859 unsafe extern "system" fn IsWebMessageEnabled<
13860 Identity: ICoreWebView2Settings_Impl,
13861 const OFFSET: isize,
13862 >(
13863 this: *mut core::ffi::c_void,
13864 iswebmessageenabled: *mut windows_core::BOOL,
13865 ) -> windows_core::HRESULT {
13866 unsafe {
13867 let this: &Identity =
13868 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13869 match ICoreWebView2Settings_Impl::IsWebMessageEnabled(this) {
13870 Ok(ok__) => {
13871 iswebmessageenabled.write(core::mem::transmute(ok__));
13872 windows_core::HRESULT(0)
13873 }
13874 Err(err) => err.into(),
13875 }
13876 }
13877 }
13878 unsafe extern "system" fn SetIsWebMessageEnabled<
13879 Identity: ICoreWebView2Settings_Impl,
13880 const OFFSET: isize,
13881 >(
13882 this: *mut core::ffi::c_void,
13883 iswebmessageenabled: windows_core::BOOL,
13884 ) -> windows_core::HRESULT {
13885 unsafe {
13886 let this: &Identity =
13887 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13888 ICoreWebView2Settings_Impl::SetIsWebMessageEnabled(
13889 this,
13890 core::mem::transmute_copy(&iswebmessageenabled),
13891 )
13892 .into()
13893 }
13894 }
13895 unsafe extern "system" fn AreDefaultScriptDialogsEnabled<
13896 Identity: ICoreWebView2Settings_Impl,
13897 const OFFSET: isize,
13898 >(
13899 this: *mut core::ffi::c_void,
13900 aredefaultscriptdialogsenabled: *mut windows_core::BOOL,
13901 ) -> windows_core::HRESULT {
13902 unsafe {
13903 let this: &Identity =
13904 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13905 match ICoreWebView2Settings_Impl::AreDefaultScriptDialogsEnabled(this) {
13906 Ok(ok__) => {
13907 aredefaultscriptdialogsenabled.write(core::mem::transmute(ok__));
13908 windows_core::HRESULT(0)
13909 }
13910 Err(err) => err.into(),
13911 }
13912 }
13913 }
13914 unsafe extern "system" fn SetAreDefaultScriptDialogsEnabled<
13915 Identity: ICoreWebView2Settings_Impl,
13916 const OFFSET: isize,
13917 >(
13918 this: *mut core::ffi::c_void,
13919 aredefaultscriptdialogsenabled: windows_core::BOOL,
13920 ) -> windows_core::HRESULT {
13921 unsafe {
13922 let this: &Identity =
13923 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13924 ICoreWebView2Settings_Impl::SetAreDefaultScriptDialogsEnabled(
13925 this,
13926 core::mem::transmute_copy(&aredefaultscriptdialogsenabled),
13927 )
13928 .into()
13929 }
13930 }
13931 unsafe extern "system" fn IsStatusBarEnabled<
13932 Identity: ICoreWebView2Settings_Impl,
13933 const OFFSET: isize,
13934 >(
13935 this: *mut core::ffi::c_void,
13936 isstatusbarenabled: *mut windows_core::BOOL,
13937 ) -> windows_core::HRESULT {
13938 unsafe {
13939 let this: &Identity =
13940 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13941 match ICoreWebView2Settings_Impl::IsStatusBarEnabled(this) {
13942 Ok(ok__) => {
13943 isstatusbarenabled.write(core::mem::transmute(ok__));
13944 windows_core::HRESULT(0)
13945 }
13946 Err(err) => err.into(),
13947 }
13948 }
13949 }
13950 unsafe extern "system" fn SetIsStatusBarEnabled<
13951 Identity: ICoreWebView2Settings_Impl,
13952 const OFFSET: isize,
13953 >(
13954 this: *mut core::ffi::c_void,
13955 isstatusbarenabled: windows_core::BOOL,
13956 ) -> windows_core::HRESULT {
13957 unsafe {
13958 let this: &Identity =
13959 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13960 ICoreWebView2Settings_Impl::SetIsStatusBarEnabled(
13961 this,
13962 core::mem::transmute_copy(&isstatusbarenabled),
13963 )
13964 .into()
13965 }
13966 }
13967 unsafe extern "system" fn AreDevToolsEnabled<
13968 Identity: ICoreWebView2Settings_Impl,
13969 const OFFSET: isize,
13970 >(
13971 this: *mut core::ffi::c_void,
13972 aredevtoolsenabled: *mut windows_core::BOOL,
13973 ) -> windows_core::HRESULT {
13974 unsafe {
13975 let this: &Identity =
13976 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13977 match ICoreWebView2Settings_Impl::AreDevToolsEnabled(this) {
13978 Ok(ok__) => {
13979 aredevtoolsenabled.write(core::mem::transmute(ok__));
13980 windows_core::HRESULT(0)
13981 }
13982 Err(err) => err.into(),
13983 }
13984 }
13985 }
13986 unsafe extern "system" fn SetAreDevToolsEnabled<
13987 Identity: ICoreWebView2Settings_Impl,
13988 const OFFSET: isize,
13989 >(
13990 this: *mut core::ffi::c_void,
13991 aredevtoolsenabled: windows_core::BOOL,
13992 ) -> windows_core::HRESULT {
13993 unsafe {
13994 let this: &Identity =
13995 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13996 ICoreWebView2Settings_Impl::SetAreDevToolsEnabled(
13997 this,
13998 core::mem::transmute_copy(&aredevtoolsenabled),
13999 )
14000 .into()
14001 }
14002 }
14003 unsafe extern "system" fn AreDefaultContextMenusEnabled<
14004 Identity: ICoreWebView2Settings_Impl,
14005 const OFFSET: isize,
14006 >(
14007 this: *mut core::ffi::c_void,
14008 enabled: *mut windows_core::BOOL,
14009 ) -> windows_core::HRESULT {
14010 unsafe {
14011 let this: &Identity =
14012 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14013 match ICoreWebView2Settings_Impl::AreDefaultContextMenusEnabled(this) {
14014 Ok(ok__) => {
14015 enabled.write(core::mem::transmute(ok__));
14016 windows_core::HRESULT(0)
14017 }
14018 Err(err) => err.into(),
14019 }
14020 }
14021 }
14022 unsafe extern "system" fn SetAreDefaultContextMenusEnabled<
14023 Identity: ICoreWebView2Settings_Impl,
14024 const OFFSET: isize,
14025 >(
14026 this: *mut core::ffi::c_void,
14027 enabled: windows_core::BOOL,
14028 ) -> windows_core::HRESULT {
14029 unsafe {
14030 let this: &Identity =
14031 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14032 ICoreWebView2Settings_Impl::SetAreDefaultContextMenusEnabled(
14033 this,
14034 core::mem::transmute_copy(&enabled),
14035 )
14036 .into()
14037 }
14038 }
14039 unsafe extern "system" fn AreHostObjectsAllowed<
14040 Identity: ICoreWebView2Settings_Impl,
14041 const OFFSET: isize,
14042 >(
14043 this: *mut core::ffi::c_void,
14044 allowed: *mut windows_core::BOOL,
14045 ) -> windows_core::HRESULT {
14046 unsafe {
14047 let this: &Identity =
14048 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14049 match ICoreWebView2Settings_Impl::AreHostObjectsAllowed(this) {
14050 Ok(ok__) => {
14051 allowed.write(core::mem::transmute(ok__));
14052 windows_core::HRESULT(0)
14053 }
14054 Err(err) => err.into(),
14055 }
14056 }
14057 }
14058 unsafe extern "system" fn SetAreHostObjectsAllowed<
14059 Identity: ICoreWebView2Settings_Impl,
14060 const OFFSET: isize,
14061 >(
14062 this: *mut core::ffi::c_void,
14063 allowed: windows_core::BOOL,
14064 ) -> windows_core::HRESULT {
14065 unsafe {
14066 let this: &Identity =
14067 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14068 ICoreWebView2Settings_Impl::SetAreHostObjectsAllowed(
14069 this,
14070 core::mem::transmute_copy(&allowed),
14071 )
14072 .into()
14073 }
14074 }
14075 unsafe extern "system" fn IsZoomControlEnabled<
14076 Identity: ICoreWebView2Settings_Impl,
14077 const OFFSET: isize,
14078 >(
14079 this: *mut core::ffi::c_void,
14080 enabled: *mut windows_core::BOOL,
14081 ) -> windows_core::HRESULT {
14082 unsafe {
14083 let this: &Identity =
14084 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14085 match ICoreWebView2Settings_Impl::IsZoomControlEnabled(this) {
14086 Ok(ok__) => {
14087 enabled.write(core::mem::transmute(ok__));
14088 windows_core::HRESULT(0)
14089 }
14090 Err(err) => err.into(),
14091 }
14092 }
14093 }
14094 unsafe extern "system" fn SetIsZoomControlEnabled<
14095 Identity: ICoreWebView2Settings_Impl,
14096 const OFFSET: isize,
14097 >(
14098 this: *mut core::ffi::c_void,
14099 enabled: windows_core::BOOL,
14100 ) -> windows_core::HRESULT {
14101 unsafe {
14102 let this: &Identity =
14103 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14104 ICoreWebView2Settings_Impl::SetIsZoomControlEnabled(
14105 this,
14106 core::mem::transmute_copy(&enabled),
14107 )
14108 .into()
14109 }
14110 }
14111 unsafe extern "system" fn IsBuiltInErrorPageEnabled<
14112 Identity: ICoreWebView2Settings_Impl,
14113 const OFFSET: isize,
14114 >(
14115 this: *mut core::ffi::c_void,
14116 enabled: *mut windows_core::BOOL,
14117 ) -> windows_core::HRESULT {
14118 unsafe {
14119 let this: &Identity =
14120 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14121 match ICoreWebView2Settings_Impl::IsBuiltInErrorPageEnabled(this) {
14122 Ok(ok__) => {
14123 enabled.write(core::mem::transmute(ok__));
14124 windows_core::HRESULT(0)
14125 }
14126 Err(err) => err.into(),
14127 }
14128 }
14129 }
14130 unsafe extern "system" fn SetIsBuiltInErrorPageEnabled<
14131 Identity: ICoreWebView2Settings_Impl,
14132 const OFFSET: isize,
14133 >(
14134 this: *mut core::ffi::c_void,
14135 enabled: windows_core::BOOL,
14136 ) -> windows_core::HRESULT {
14137 unsafe {
14138 let this: &Identity =
14139 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14140 ICoreWebView2Settings_Impl::SetIsBuiltInErrorPageEnabled(
14141 this,
14142 core::mem::transmute_copy(&enabled),
14143 )
14144 .into()
14145 }
14146 }
14147 Self {
14148 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
14149 IsScriptEnabled: IsScriptEnabled::<Identity, OFFSET>,
14150 SetIsScriptEnabled: SetIsScriptEnabled::<Identity, OFFSET>,
14151 IsWebMessageEnabled: IsWebMessageEnabled::<Identity, OFFSET>,
14152 SetIsWebMessageEnabled: SetIsWebMessageEnabled::<Identity, OFFSET>,
14153 AreDefaultScriptDialogsEnabled: AreDefaultScriptDialogsEnabled::<Identity, OFFSET>,
14154 SetAreDefaultScriptDialogsEnabled: SetAreDefaultScriptDialogsEnabled::<Identity, OFFSET>,
14155 IsStatusBarEnabled: IsStatusBarEnabled::<Identity, OFFSET>,
14156 SetIsStatusBarEnabled: SetIsStatusBarEnabled::<Identity, OFFSET>,
14157 AreDevToolsEnabled: AreDevToolsEnabled::<Identity, OFFSET>,
14158 SetAreDevToolsEnabled: SetAreDevToolsEnabled::<Identity, OFFSET>,
14159 AreDefaultContextMenusEnabled: AreDefaultContextMenusEnabled::<Identity, OFFSET>,
14160 SetAreDefaultContextMenusEnabled: SetAreDefaultContextMenusEnabled::<Identity, OFFSET>,
14161 AreHostObjectsAllowed: AreHostObjectsAllowed::<Identity, OFFSET>,
14162 SetAreHostObjectsAllowed: SetAreHostObjectsAllowed::<Identity, OFFSET>,
14163 IsZoomControlEnabled: IsZoomControlEnabled::<Identity, OFFSET>,
14164 SetIsZoomControlEnabled: SetIsZoomControlEnabled::<Identity, OFFSET>,
14165 IsBuiltInErrorPageEnabled: IsBuiltInErrorPageEnabled::<Identity, OFFSET>,
14166 SetIsBuiltInErrorPageEnabled: SetIsBuiltInErrorPageEnabled::<Identity, OFFSET>,
14167 }
14168 }
14169 pub fn matches(iid: &windows_core::GUID) -> bool {
14170 iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
14171 }
14172}
14173impl windows_core::RuntimeName for ICoreWebView2Settings {}
14174windows_core::imp::define_interface!(
14175 ICoreWebView2Settings2,
14176 ICoreWebView2Settings2_Vtbl,
14177 0xee9a0f68_f46c_4e32_ac23_ef8cac224d2a
14178);
14179impl core::ops::Deref for ICoreWebView2Settings2 {
14180 type Target = ICoreWebView2Settings;
14181 fn deref(&self) -> &Self::Target {
14182 unsafe { core::mem::transmute(self) }
14183 }
14184}
14185windows_core::imp::interface_hierarchy!(
14186 ICoreWebView2Settings2,
14187 windows_core::IUnknown,
14188 ICoreWebView2Settings
14189);
14190impl ICoreWebView2Settings2 {
14191 pub unsafe fn UserAgent(&self) -> windows_core::Result<windows_core::PWSTR> {
14192 unsafe {
14193 let mut result__ = core::mem::zeroed();
14194 (windows_core::Interface::vtable(self).UserAgent)(
14195 windows_core::Interface::as_raw(self),
14196 &mut result__,
14197 )
14198 .map(|| result__)
14199 }
14200 }
14201 pub unsafe fn SetUserAgent<P0>(&self, useragent: P0) -> windows_core::Result<()>
14202 where
14203 P0: windows_core::Param<windows_core::PCWSTR>,
14204 {
14205 unsafe {
14206 (windows_core::Interface::vtable(self).SetUserAgent)(
14207 windows_core::Interface::as_raw(self),
14208 useragent.param().abi(),
14209 )
14210 .ok()
14211 }
14212 }
14213}
14214#[repr(C)]
14215#[doc(hidden)]
14216pub struct ICoreWebView2Settings2_Vtbl {
14217 pub base__: ICoreWebView2Settings_Vtbl,
14218 pub UserAgent: unsafe extern "system" fn(
14219 *mut core::ffi::c_void,
14220 *mut windows_core::PWSTR,
14221 ) -> windows_core::HRESULT,
14222 pub SetUserAgent: unsafe extern "system" fn(
14223 *mut core::ffi::c_void,
14224 windows_core::PCWSTR,
14225 ) -> windows_core::HRESULT,
14226}
14227pub trait ICoreWebView2Settings2_Impl: ICoreWebView2Settings_Impl {
14228 fn UserAgent(&self) -> windows_core::Result<windows_core::PWSTR>;
14229 fn SetUserAgent(&self, useragent: &windows_core::PCWSTR) -> windows_core::Result<()>;
14230}
14231impl ICoreWebView2Settings2_Vtbl {
14232 pub const fn new<Identity: ICoreWebView2Settings2_Impl, const OFFSET: isize>() -> Self {
14233 unsafe extern "system" fn UserAgent<
14234 Identity: ICoreWebView2Settings2_Impl,
14235 const OFFSET: isize,
14236 >(
14237 this: *mut core::ffi::c_void,
14238 useragent: *mut windows_core::PWSTR,
14239 ) -> windows_core::HRESULT {
14240 unsafe {
14241 let this: &Identity =
14242 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14243 match ICoreWebView2Settings2_Impl::UserAgent(this) {
14244 Ok(ok__) => {
14245 useragent.write(core::mem::transmute(ok__));
14246 windows_core::HRESULT(0)
14247 }
14248 Err(err) => err.into(),
14249 }
14250 }
14251 }
14252 unsafe extern "system" fn SetUserAgent<
14253 Identity: ICoreWebView2Settings2_Impl,
14254 const OFFSET: isize,
14255 >(
14256 this: *mut core::ffi::c_void,
14257 useragent: windows_core::PCWSTR,
14258 ) -> windows_core::HRESULT {
14259 unsafe {
14260 let this: &Identity =
14261 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14262 ICoreWebView2Settings2_Impl::SetUserAgent(this, core::mem::transmute(&useragent))
14263 .into()
14264 }
14265 }
14266 Self {
14267 base__: ICoreWebView2Settings_Vtbl::new::<Identity, OFFSET>(),
14268 UserAgent: UserAgent::<Identity, OFFSET>,
14269 SetUserAgent: SetUserAgent::<Identity, OFFSET>,
14270 }
14271 }
14272 pub fn matches(iid: &windows_core::GUID) -> bool {
14273 iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
14274 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
14275 }
14276}
14277impl windows_core::RuntimeName for ICoreWebView2Settings2 {}
14278windows_core::imp::define_interface!(
14279 ICoreWebView2Settings3,
14280 ICoreWebView2Settings3_Vtbl,
14281 0xfdb5ab74_af33_4854_84f0_0a631deb5eba
14282);
14283impl core::ops::Deref for ICoreWebView2Settings3 {
14284 type Target = ICoreWebView2Settings2;
14285 fn deref(&self) -> &Self::Target {
14286 unsafe { core::mem::transmute(self) }
14287 }
14288}
14289windows_core::imp::interface_hierarchy!(
14290 ICoreWebView2Settings3,
14291 windows_core::IUnknown,
14292 ICoreWebView2Settings,
14293 ICoreWebView2Settings2
14294);
14295impl ICoreWebView2Settings3 {
14296 pub unsafe fn AreBrowserAcceleratorKeysEnabled(
14297 &self,
14298 ) -> windows_core::Result<windows_core::BOOL> {
14299 unsafe {
14300 let mut result__ = core::mem::zeroed();
14301 (windows_core::Interface::vtable(self).AreBrowserAcceleratorKeysEnabled)(
14302 windows_core::Interface::as_raw(self),
14303 &mut result__,
14304 )
14305 .map(|| result__)
14306 }
14307 }
14308 pub unsafe fn SetAreBrowserAcceleratorKeysEnabled(
14309 &self,
14310 arebrowseracceleratorkeysenabled: bool,
14311 ) -> windows_core::Result<()> {
14312 unsafe {
14313 (windows_core::Interface::vtable(self).SetAreBrowserAcceleratorKeysEnabled)(
14314 windows_core::Interface::as_raw(self),
14315 arebrowseracceleratorkeysenabled.into(),
14316 )
14317 .ok()
14318 }
14319 }
14320}
14321#[repr(C)]
14322#[doc(hidden)]
14323pub struct ICoreWebView2Settings3_Vtbl {
14324 pub base__: ICoreWebView2Settings2_Vtbl,
14325 pub AreBrowserAcceleratorKeysEnabled: unsafe extern "system" fn(
14326 *mut core::ffi::c_void,
14327 *mut windows_core::BOOL,
14328 ) -> windows_core::HRESULT,
14329 pub SetAreBrowserAcceleratorKeysEnabled: unsafe extern "system" fn(
14330 *mut core::ffi::c_void,
14331 windows_core::BOOL,
14332 )
14333 -> windows_core::HRESULT,
14334}
14335pub trait ICoreWebView2Settings3_Impl: ICoreWebView2Settings2_Impl {
14336 fn AreBrowserAcceleratorKeysEnabled(&self) -> windows_core::Result<windows_core::BOOL>;
14337 fn SetAreBrowserAcceleratorKeysEnabled(
14338 &self,
14339 arebrowseracceleratorkeysenabled: windows_core::BOOL,
14340 ) -> windows_core::Result<()>;
14341}
14342impl ICoreWebView2Settings3_Vtbl {
14343 pub const fn new<Identity: ICoreWebView2Settings3_Impl, const OFFSET: isize>() -> Self {
14344 unsafe extern "system" fn AreBrowserAcceleratorKeysEnabled<
14345 Identity: ICoreWebView2Settings3_Impl,
14346 const OFFSET: isize,
14347 >(
14348 this: *mut core::ffi::c_void,
14349 arebrowseracceleratorkeysenabled: *mut windows_core::BOOL,
14350 ) -> windows_core::HRESULT {
14351 unsafe {
14352 let this: &Identity =
14353 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14354 match ICoreWebView2Settings3_Impl::AreBrowserAcceleratorKeysEnabled(this) {
14355 Ok(ok__) => {
14356 arebrowseracceleratorkeysenabled.write(core::mem::transmute(ok__));
14357 windows_core::HRESULT(0)
14358 }
14359 Err(err) => err.into(),
14360 }
14361 }
14362 }
14363 unsafe extern "system" fn SetAreBrowserAcceleratorKeysEnabled<
14364 Identity: ICoreWebView2Settings3_Impl,
14365 const OFFSET: isize,
14366 >(
14367 this: *mut core::ffi::c_void,
14368 arebrowseracceleratorkeysenabled: windows_core::BOOL,
14369 ) -> windows_core::HRESULT {
14370 unsafe {
14371 let this: &Identity =
14372 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14373 ICoreWebView2Settings3_Impl::SetAreBrowserAcceleratorKeysEnabled(
14374 this,
14375 core::mem::transmute_copy(&arebrowseracceleratorkeysenabled),
14376 )
14377 .into()
14378 }
14379 }
14380 Self {
14381 base__: ICoreWebView2Settings2_Vtbl::new::<Identity, OFFSET>(),
14382 AreBrowserAcceleratorKeysEnabled: AreBrowserAcceleratorKeysEnabled::<Identity, OFFSET>,
14383 SetAreBrowserAcceleratorKeysEnabled: SetAreBrowserAcceleratorKeysEnabled::<
14384 Identity,
14385 OFFSET,
14386 >,
14387 }
14388 }
14389 pub fn matches(iid: &windows_core::GUID) -> bool {
14390 iid == &<ICoreWebView2Settings3 as windows_core::Interface>::IID
14391 || iid == &<ICoreWebView2Settings as windows_core::Interface>::IID
14392 || iid == &<ICoreWebView2Settings2 as windows_core::Interface>::IID
14393 }
14394}
14395impl windows_core::RuntimeName for ICoreWebView2Settings3 {}
14396windows_core::imp::define_interface!(
14397 ICoreWebView2SourceChangedEventArgs,
14398 ICoreWebView2SourceChangedEventArgs_Vtbl,
14399 0x31e0e545_1dba_4266_8914_f63848a1f7d7
14400);
14401windows_core::imp::interface_hierarchy!(
14402 ICoreWebView2SourceChangedEventArgs,
14403 windows_core::IUnknown
14404);
14405impl ICoreWebView2SourceChangedEventArgs {
14406 pub unsafe fn IsNewDocument(&self) -> windows_core::Result<windows_core::BOOL> {
14407 unsafe {
14408 let mut result__ = core::mem::zeroed();
14409 (windows_core::Interface::vtable(self).IsNewDocument)(
14410 windows_core::Interface::as_raw(self),
14411 &mut result__,
14412 )
14413 .map(|| result__)
14414 }
14415 }
14416}
14417#[repr(C)]
14418#[doc(hidden)]
14419pub struct ICoreWebView2SourceChangedEventArgs_Vtbl {
14420 pub base__: windows_core::IUnknown_Vtbl,
14421 pub IsNewDocument: unsafe extern "system" fn(
14422 *mut core::ffi::c_void,
14423 *mut windows_core::BOOL,
14424 ) -> windows_core::HRESULT,
14425}
14426pub trait ICoreWebView2SourceChangedEventArgs_Impl: windows_core::IUnknownImpl {
14427 fn IsNewDocument(&self) -> windows_core::Result<windows_core::BOOL>;
14428}
14429impl ICoreWebView2SourceChangedEventArgs_Vtbl {
14430 pub const fn new<Identity: ICoreWebView2SourceChangedEventArgs_Impl, const OFFSET: isize>(
14431 ) -> Self {
14432 unsafe extern "system" fn IsNewDocument<
14433 Identity: ICoreWebView2SourceChangedEventArgs_Impl,
14434 const OFFSET: isize,
14435 >(
14436 this: *mut core::ffi::c_void,
14437 isnewdocument: *mut windows_core::BOOL,
14438 ) -> windows_core::HRESULT {
14439 unsafe {
14440 let this: &Identity =
14441 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14442 match ICoreWebView2SourceChangedEventArgs_Impl::IsNewDocument(this) {
14443 Ok(ok__) => {
14444 isnewdocument.write(core::mem::transmute(ok__));
14445 windows_core::HRESULT(0)
14446 }
14447 Err(err) => err.into(),
14448 }
14449 }
14450 }
14451 Self {
14452 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
14453 IsNewDocument: IsNewDocument::<Identity, OFFSET>,
14454 }
14455 }
14456 pub fn matches(iid: &windows_core::GUID) -> bool {
14457 iid == &<ICoreWebView2SourceChangedEventArgs as windows_core::Interface>::IID
14458 }
14459}
14460impl windows_core::RuntimeName for ICoreWebView2SourceChangedEventArgs {}
14461windows_core::imp::define_interface!(
14462 ICoreWebView2SourceChangedEventHandler,
14463 ICoreWebView2SourceChangedEventHandler_Vtbl,
14464 0x3c067f9f_5388_4772_8b48_79f7ef1ab37c
14465);
14466windows_core::imp::interface_hierarchy!(
14467 ICoreWebView2SourceChangedEventHandler,
14468 windows_core::IUnknown
14469);
14470impl ICoreWebView2SourceChangedEventHandler {
14471 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
14472 where
14473 P0: windows_core::Param<ICoreWebView2>,
14474 P1: windows_core::Param<ICoreWebView2SourceChangedEventArgs>,
14475 {
14476 unsafe {
14477 (windows_core::Interface::vtable(self).Invoke)(
14478 windows_core::Interface::as_raw(self),
14479 sender.param().abi(),
14480 args.param().abi(),
14481 )
14482 .ok()
14483 }
14484 }
14485}
14486#[repr(C)]
14487#[doc(hidden)]
14488pub struct ICoreWebView2SourceChangedEventHandler_Vtbl {
14489 pub base__: windows_core::IUnknown_Vtbl,
14490 pub Invoke: unsafe extern "system" fn(
14491 *mut core::ffi::c_void,
14492 *mut core::ffi::c_void,
14493 *mut core::ffi::c_void,
14494 ) -> windows_core::HRESULT,
14495}
14496pub trait ICoreWebView2SourceChangedEventHandler_Impl: windows_core::IUnknownImpl {
14497 fn Invoke(
14498 &self,
14499 sender: windows_core::Ref<ICoreWebView2>,
14500 args: windows_core::Ref<ICoreWebView2SourceChangedEventArgs>,
14501 ) -> windows_core::Result<()>;
14502}
14503impl ICoreWebView2SourceChangedEventHandler_Vtbl {
14504 pub const fn new<Identity: ICoreWebView2SourceChangedEventHandler_Impl, const OFFSET: isize>(
14505 ) -> Self {
14506 unsafe extern "system" fn Invoke<
14507 Identity: ICoreWebView2SourceChangedEventHandler_Impl,
14508 const OFFSET: isize,
14509 >(
14510 this: *mut core::ffi::c_void,
14511 sender: *mut core::ffi::c_void,
14512 args: *mut core::ffi::c_void,
14513 ) -> windows_core::HRESULT {
14514 unsafe {
14515 let this: &Identity =
14516 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14517 ICoreWebView2SourceChangedEventHandler_Impl::Invoke(
14518 this,
14519 core::mem::transmute_copy(&sender),
14520 core::mem::transmute_copy(&args),
14521 )
14522 .into()
14523 }
14524 }
14525 Self {
14526 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
14527 Invoke: Invoke::<Identity, OFFSET>,
14528 }
14529 }
14530 pub fn matches(iid: &windows_core::GUID) -> bool {
14531 iid == &<ICoreWebView2SourceChangedEventHandler as windows_core::Interface>::IID
14532 }
14533}
14534impl windows_core::RuntimeName for ICoreWebView2SourceChangedEventHandler {}
14535windows_core::imp::define_interface!(
14536 ICoreWebView2TrySuspendCompletedHandler,
14537 ICoreWebView2TrySuspendCompletedHandler_Vtbl,
14538 0x00f206a7_9d17_4605_91f6_4e8e4de192e3
14539);
14540windows_core::imp::interface_hierarchy!(
14541 ICoreWebView2TrySuspendCompletedHandler,
14542 windows_core::IUnknown
14543);
14544impl ICoreWebView2TrySuspendCompletedHandler {
14545 pub unsafe fn Invoke(
14546 &self,
14547 errorcode: windows_core::HRESULT,
14548 issuccessful: bool,
14549 ) -> windows_core::Result<()> {
14550 unsafe {
14551 (windows_core::Interface::vtable(self).Invoke)(
14552 windows_core::Interface::as_raw(self),
14553 errorcode,
14554 issuccessful.into(),
14555 )
14556 .ok()
14557 }
14558 }
14559}
14560#[repr(C)]
14561#[doc(hidden)]
14562pub struct ICoreWebView2TrySuspendCompletedHandler_Vtbl {
14563 pub base__: windows_core::IUnknown_Vtbl,
14564 pub Invoke: unsafe extern "system" fn(
14565 *mut core::ffi::c_void,
14566 windows_core::HRESULT,
14567 windows_core::BOOL,
14568 ) -> windows_core::HRESULT,
14569}
14570pub trait ICoreWebView2TrySuspendCompletedHandler_Impl: windows_core::IUnknownImpl {
14571 fn Invoke(
14572 &self,
14573 errorcode: windows_core::HRESULT,
14574 issuccessful: windows_core::BOOL,
14575 ) -> windows_core::Result<()>;
14576}
14577impl ICoreWebView2TrySuspendCompletedHandler_Vtbl {
14578 pub const fn new<
14579 Identity: ICoreWebView2TrySuspendCompletedHandler_Impl,
14580 const OFFSET: isize,
14581 >() -> Self {
14582 unsafe extern "system" fn Invoke<
14583 Identity: ICoreWebView2TrySuspendCompletedHandler_Impl,
14584 const OFFSET: isize,
14585 >(
14586 this: *mut core::ffi::c_void,
14587 errorcode: windows_core::HRESULT,
14588 issuccessful: windows_core::BOOL,
14589 ) -> windows_core::HRESULT {
14590 unsafe {
14591 let this: &Identity =
14592 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14593 ICoreWebView2TrySuspendCompletedHandler_Impl::Invoke(
14594 this,
14595 core::mem::transmute_copy(&errorcode),
14596 core::mem::transmute_copy(&issuccessful),
14597 )
14598 .into()
14599 }
14600 }
14601 Self {
14602 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
14603 Invoke: Invoke::<Identity, OFFSET>,
14604 }
14605 }
14606 pub fn matches(iid: &windows_core::GUID) -> bool {
14607 iid == &<ICoreWebView2TrySuspendCompletedHandler as windows_core::Interface>::IID
14608 }
14609}
14610impl windows_core::RuntimeName for ICoreWebView2TrySuspendCompletedHandler {}
14611windows_core::imp::define_interface!(
14612 ICoreWebView2WebMessageReceivedEventArgs,
14613 ICoreWebView2WebMessageReceivedEventArgs_Vtbl,
14614 0x0f99a40c_e962_4207_9e92_e3d542eff849
14615);
14616windows_core::imp::interface_hierarchy!(
14617 ICoreWebView2WebMessageReceivedEventArgs,
14618 windows_core::IUnknown
14619);
14620impl ICoreWebView2WebMessageReceivedEventArgs {
14621 pub unsafe fn Source(&self) -> windows_core::Result<windows_core::PWSTR> {
14622 unsafe {
14623 let mut result__ = core::mem::zeroed();
14624 (windows_core::Interface::vtable(self).Source)(
14625 windows_core::Interface::as_raw(self),
14626 &mut result__,
14627 )
14628 .map(|| result__)
14629 }
14630 }
14631 pub unsafe fn WebMessageAsJson(&self) -> windows_core::Result<windows_core::PWSTR> {
14632 unsafe {
14633 let mut result__ = core::mem::zeroed();
14634 (windows_core::Interface::vtable(self).WebMessageAsJson)(
14635 windows_core::Interface::as_raw(self),
14636 &mut result__,
14637 )
14638 .map(|| result__)
14639 }
14640 }
14641 pub unsafe fn TryGetWebMessageAsString(
14642 &self,
14643 webmessageasstring: *mut windows_core::PWSTR,
14644 ) -> windows_core::Result<()> {
14645 unsafe {
14646 (windows_core::Interface::vtable(self).TryGetWebMessageAsString)(
14647 windows_core::Interface::as_raw(self),
14648 webmessageasstring as _,
14649 )
14650 .ok()
14651 }
14652 }
14653}
14654#[repr(C)]
14655#[doc(hidden)]
14656pub struct ICoreWebView2WebMessageReceivedEventArgs_Vtbl {
14657 pub base__: windows_core::IUnknown_Vtbl,
14658 pub Source: unsafe extern "system" fn(
14659 *mut core::ffi::c_void,
14660 *mut windows_core::PWSTR,
14661 ) -> windows_core::HRESULT,
14662 pub WebMessageAsJson: unsafe extern "system" fn(
14663 *mut core::ffi::c_void,
14664 *mut windows_core::PWSTR,
14665 ) -> windows_core::HRESULT,
14666 pub TryGetWebMessageAsString: unsafe extern "system" fn(
14667 *mut core::ffi::c_void,
14668 *mut windows_core::PWSTR,
14669 ) -> windows_core::HRESULT,
14670}
14671pub trait ICoreWebView2WebMessageReceivedEventArgs_Impl: windows_core::IUnknownImpl {
14672 fn Source(&self) -> windows_core::Result<windows_core::PWSTR>;
14673 fn WebMessageAsJson(&self) -> windows_core::Result<windows_core::PWSTR>;
14674 fn TryGetWebMessageAsString(
14675 &self,
14676 webmessageasstring: *mut windows_core::PWSTR,
14677 ) -> windows_core::Result<()>;
14678}
14679impl ICoreWebView2WebMessageReceivedEventArgs_Vtbl {
14680 pub const fn new<
14681 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
14682 const OFFSET: isize,
14683 >() -> Self {
14684 unsafe extern "system" fn Source<
14685 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
14686 const OFFSET: isize,
14687 >(
14688 this: *mut core::ffi::c_void,
14689 source: *mut windows_core::PWSTR,
14690 ) -> windows_core::HRESULT {
14691 unsafe {
14692 let this: &Identity =
14693 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14694 match ICoreWebView2WebMessageReceivedEventArgs_Impl::Source(this) {
14695 Ok(ok__) => {
14696 source.write(core::mem::transmute(ok__));
14697 windows_core::HRESULT(0)
14698 }
14699 Err(err) => err.into(),
14700 }
14701 }
14702 }
14703 unsafe extern "system" fn WebMessageAsJson<
14704 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
14705 const OFFSET: isize,
14706 >(
14707 this: *mut core::ffi::c_void,
14708 webmessageasjson: *mut windows_core::PWSTR,
14709 ) -> windows_core::HRESULT {
14710 unsafe {
14711 let this: &Identity =
14712 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14713 match ICoreWebView2WebMessageReceivedEventArgs_Impl::WebMessageAsJson(this) {
14714 Ok(ok__) => {
14715 webmessageasjson.write(core::mem::transmute(ok__));
14716 windows_core::HRESULT(0)
14717 }
14718 Err(err) => err.into(),
14719 }
14720 }
14721 }
14722 unsafe extern "system" fn TryGetWebMessageAsString<
14723 Identity: ICoreWebView2WebMessageReceivedEventArgs_Impl,
14724 const OFFSET: isize,
14725 >(
14726 this: *mut core::ffi::c_void,
14727 webmessageasstring: *mut windows_core::PWSTR,
14728 ) -> windows_core::HRESULT {
14729 unsafe {
14730 let this: &Identity =
14731 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14732 ICoreWebView2WebMessageReceivedEventArgs_Impl::TryGetWebMessageAsString(
14733 this,
14734 core::mem::transmute_copy(&webmessageasstring),
14735 )
14736 .into()
14737 }
14738 }
14739 Self {
14740 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
14741 Source: Source::<Identity, OFFSET>,
14742 WebMessageAsJson: WebMessageAsJson::<Identity, OFFSET>,
14743 TryGetWebMessageAsString: TryGetWebMessageAsString::<Identity, OFFSET>,
14744 }
14745 }
14746 pub fn matches(iid: &windows_core::GUID) -> bool {
14747 iid == &<ICoreWebView2WebMessageReceivedEventArgs as windows_core::Interface>::IID
14748 }
14749}
14750impl windows_core::RuntimeName for ICoreWebView2WebMessageReceivedEventArgs {}
14751windows_core::imp::define_interface!(
14752 ICoreWebView2WebMessageReceivedEventHandler,
14753 ICoreWebView2WebMessageReceivedEventHandler_Vtbl,
14754 0x57213f19_00e6_49fa_8e07_898ea01ecbd2
14755);
14756windows_core::imp::interface_hierarchy!(
14757 ICoreWebView2WebMessageReceivedEventHandler,
14758 windows_core::IUnknown
14759);
14760impl ICoreWebView2WebMessageReceivedEventHandler {
14761 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
14762 where
14763 P0: windows_core::Param<ICoreWebView2>,
14764 P1: windows_core::Param<ICoreWebView2WebMessageReceivedEventArgs>,
14765 {
14766 unsafe {
14767 (windows_core::Interface::vtable(self).Invoke)(
14768 windows_core::Interface::as_raw(self),
14769 sender.param().abi(),
14770 args.param().abi(),
14771 )
14772 .ok()
14773 }
14774 }
14775}
14776#[repr(C)]
14777#[doc(hidden)]
14778pub struct ICoreWebView2WebMessageReceivedEventHandler_Vtbl {
14779 pub base__: windows_core::IUnknown_Vtbl,
14780 pub Invoke: unsafe extern "system" fn(
14781 *mut core::ffi::c_void,
14782 *mut core::ffi::c_void,
14783 *mut core::ffi::c_void,
14784 ) -> windows_core::HRESULT,
14785}
14786pub trait ICoreWebView2WebMessageReceivedEventHandler_Impl: windows_core::IUnknownImpl {
14787 fn Invoke(
14788 &self,
14789 sender: windows_core::Ref<ICoreWebView2>,
14790 args: windows_core::Ref<ICoreWebView2WebMessageReceivedEventArgs>,
14791 ) -> windows_core::Result<()>;
14792}
14793impl ICoreWebView2WebMessageReceivedEventHandler_Vtbl {
14794 pub const fn new<
14795 Identity: ICoreWebView2WebMessageReceivedEventHandler_Impl,
14796 const OFFSET: isize,
14797 >() -> Self {
14798 unsafe extern "system" fn Invoke<
14799 Identity: ICoreWebView2WebMessageReceivedEventHandler_Impl,
14800 const OFFSET: isize,
14801 >(
14802 this: *mut core::ffi::c_void,
14803 sender: *mut core::ffi::c_void,
14804 args: *mut core::ffi::c_void,
14805 ) -> windows_core::HRESULT {
14806 unsafe {
14807 let this: &Identity =
14808 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14809 ICoreWebView2WebMessageReceivedEventHandler_Impl::Invoke(
14810 this,
14811 core::mem::transmute_copy(&sender),
14812 core::mem::transmute_copy(&args),
14813 )
14814 .into()
14815 }
14816 }
14817 Self {
14818 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
14819 Invoke: Invoke::<Identity, OFFSET>,
14820 }
14821 }
14822 pub fn matches(iid: &windows_core::GUID) -> bool {
14823 iid == &<ICoreWebView2WebMessageReceivedEventHandler as windows_core::Interface>::IID
14824 }
14825}
14826impl windows_core::RuntimeName for ICoreWebView2WebMessageReceivedEventHandler {}
14827windows_core::imp::define_interface!(
14828 ICoreWebView2WebResourceRequest,
14829 ICoreWebView2WebResourceRequest_Vtbl,
14830 0x97055cd4_512c_4264_8b5f_e3f446cea6a5
14831);
14832windows_core::imp::interface_hierarchy!(ICoreWebView2WebResourceRequest, windows_core::IUnknown);
14833impl ICoreWebView2WebResourceRequest {
14834 pub unsafe fn Uri(&self) -> windows_core::Result<windows_core::PWSTR> {
14835 unsafe {
14836 let mut result__ = core::mem::zeroed();
14837 (windows_core::Interface::vtable(self).Uri)(
14838 windows_core::Interface::as_raw(self),
14839 &mut result__,
14840 )
14841 .map(|| result__)
14842 }
14843 }
14844 pub unsafe fn SetUri<P0>(&self, uri: P0) -> windows_core::Result<()>
14845 where
14846 P0: windows_core::Param<windows_core::PCWSTR>,
14847 {
14848 unsafe {
14849 (windows_core::Interface::vtable(self).SetUri)(
14850 windows_core::Interface::as_raw(self),
14851 uri.param().abi(),
14852 )
14853 .ok()
14854 }
14855 }
14856 pub unsafe fn Method(&self) -> windows_core::Result<windows_core::PWSTR> {
14857 unsafe {
14858 let mut result__ = core::mem::zeroed();
14859 (windows_core::Interface::vtable(self).Method)(
14860 windows_core::Interface::as_raw(self),
14861 &mut result__,
14862 )
14863 .map(|| result__)
14864 }
14865 }
14866 pub unsafe fn SetMethod<P0>(&self, method: P0) -> windows_core::Result<()>
14867 where
14868 P0: windows_core::Param<windows_core::PCWSTR>,
14869 {
14870 unsafe {
14871 (windows_core::Interface::vtable(self).SetMethod)(
14872 windows_core::Interface::as_raw(self),
14873 method.param().abi(),
14874 )
14875 .ok()
14876 }
14877 }
14878 pub unsafe fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
14879 unsafe {
14880 let mut result__ = core::mem::zeroed();
14881 (windows_core::Interface::vtable(self).Content)(
14882 windows_core::Interface::as_raw(self),
14883 &mut result__,
14884 )
14885 .and_then(|| windows_core::Type::from_abi(result__))
14886 }
14887 }
14888 pub unsafe fn SetContent<P0>(&self, content: P0) -> windows_core::Result<()>
14889 where
14890 P0: windows_core::Param<windows::Win32::System::Com::IStream>,
14891 {
14892 unsafe {
14893 (windows_core::Interface::vtable(self).SetContent)(
14894 windows_core::Interface::as_raw(self),
14895 content.param().abi(),
14896 )
14897 .ok()
14898 }
14899 }
14900 pub unsafe fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders> {
14901 unsafe {
14902 let mut result__ = core::mem::zeroed();
14903 (windows_core::Interface::vtable(self).Headers)(
14904 windows_core::Interface::as_raw(self),
14905 &mut result__,
14906 )
14907 .and_then(|| windows_core::Type::from_abi(result__))
14908 }
14909 }
14910}
14911#[repr(C)]
14912#[doc(hidden)]
14913pub struct ICoreWebView2WebResourceRequest_Vtbl {
14914 pub base__: windows_core::IUnknown_Vtbl,
14915 pub Uri: unsafe extern "system" fn(
14916 *mut core::ffi::c_void,
14917 *mut windows_core::PWSTR,
14918 ) -> windows_core::HRESULT,
14919 pub SetUri: unsafe extern "system" fn(
14920 *mut core::ffi::c_void,
14921 windows_core::PCWSTR,
14922 ) -> windows_core::HRESULT,
14923 pub Method: unsafe extern "system" fn(
14924 *mut core::ffi::c_void,
14925 *mut windows_core::PWSTR,
14926 ) -> windows_core::HRESULT,
14927 pub SetMethod: unsafe extern "system" fn(
14928 *mut core::ffi::c_void,
14929 windows_core::PCWSTR,
14930 ) -> windows_core::HRESULT,
14931 pub Content: unsafe extern "system" fn(
14932 *mut core::ffi::c_void,
14933 *mut *mut core::ffi::c_void,
14934 ) -> windows_core::HRESULT,
14935 pub SetContent: unsafe extern "system" fn(
14936 *mut core::ffi::c_void,
14937 *mut core::ffi::c_void,
14938 ) -> windows_core::HRESULT,
14939 pub Headers: unsafe extern "system" fn(
14940 *mut core::ffi::c_void,
14941 *mut *mut core::ffi::c_void,
14942 ) -> windows_core::HRESULT,
14943}
14944pub trait ICoreWebView2WebResourceRequest_Impl: windows_core::IUnknownImpl {
14945 fn Uri(&self) -> windows_core::Result<windows_core::PWSTR>;
14946 fn SetUri(&self, uri: &windows_core::PCWSTR) -> windows_core::Result<()>;
14947 fn Method(&self) -> windows_core::Result<windows_core::PWSTR>;
14948 fn SetMethod(&self, method: &windows_core::PCWSTR) -> windows_core::Result<()>;
14949 fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
14950 fn SetContent(
14951 &self,
14952 content: windows_core::Ref<windows::Win32::System::Com::IStream>,
14953 ) -> windows_core::Result<()>;
14954 fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpRequestHeaders>;
14955}
14956impl ICoreWebView2WebResourceRequest_Vtbl {
14957 pub const fn new<Identity: ICoreWebView2WebResourceRequest_Impl, const OFFSET: isize>() -> Self
14958 {
14959 unsafe extern "system" fn Uri<
14960 Identity: ICoreWebView2WebResourceRequest_Impl,
14961 const OFFSET: isize,
14962 >(
14963 this: *mut core::ffi::c_void,
14964 uri: *mut windows_core::PWSTR,
14965 ) -> windows_core::HRESULT {
14966 unsafe {
14967 let this: &Identity =
14968 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14969 match ICoreWebView2WebResourceRequest_Impl::Uri(this) {
14970 Ok(ok__) => {
14971 uri.write(core::mem::transmute(ok__));
14972 windows_core::HRESULT(0)
14973 }
14974 Err(err) => err.into(),
14975 }
14976 }
14977 }
14978 unsafe extern "system" fn SetUri<
14979 Identity: ICoreWebView2WebResourceRequest_Impl,
14980 const OFFSET: isize,
14981 >(
14982 this: *mut core::ffi::c_void,
14983 uri: windows_core::PCWSTR,
14984 ) -> windows_core::HRESULT {
14985 unsafe {
14986 let this: &Identity =
14987 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
14988 ICoreWebView2WebResourceRequest_Impl::SetUri(this, core::mem::transmute(&uri))
14989 .into()
14990 }
14991 }
14992 unsafe extern "system" fn Method<
14993 Identity: ICoreWebView2WebResourceRequest_Impl,
14994 const OFFSET: isize,
14995 >(
14996 this: *mut core::ffi::c_void,
14997 method: *mut windows_core::PWSTR,
14998 ) -> windows_core::HRESULT {
14999 unsafe {
15000 let this: &Identity =
15001 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15002 match ICoreWebView2WebResourceRequest_Impl::Method(this) {
15003 Ok(ok__) => {
15004 method.write(core::mem::transmute(ok__));
15005 windows_core::HRESULT(0)
15006 }
15007 Err(err) => err.into(),
15008 }
15009 }
15010 }
15011 unsafe extern "system" fn SetMethod<
15012 Identity: ICoreWebView2WebResourceRequest_Impl,
15013 const OFFSET: isize,
15014 >(
15015 this: *mut core::ffi::c_void,
15016 method: windows_core::PCWSTR,
15017 ) -> windows_core::HRESULT {
15018 unsafe {
15019 let this: &Identity =
15020 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15021 ICoreWebView2WebResourceRequest_Impl::SetMethod(this, core::mem::transmute(&method))
15022 .into()
15023 }
15024 }
15025 unsafe extern "system" fn Content<
15026 Identity: ICoreWebView2WebResourceRequest_Impl,
15027 const OFFSET: isize,
15028 >(
15029 this: *mut core::ffi::c_void,
15030 content: *mut *mut core::ffi::c_void,
15031 ) -> windows_core::HRESULT {
15032 unsafe {
15033 let this: &Identity =
15034 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15035 match ICoreWebView2WebResourceRequest_Impl::Content(this) {
15036 Ok(ok__) => {
15037 content.write(core::mem::transmute(ok__));
15038 windows_core::HRESULT(0)
15039 }
15040 Err(err) => err.into(),
15041 }
15042 }
15043 }
15044 unsafe extern "system" fn SetContent<
15045 Identity: ICoreWebView2WebResourceRequest_Impl,
15046 const OFFSET: isize,
15047 >(
15048 this: *mut core::ffi::c_void,
15049 content: *mut core::ffi::c_void,
15050 ) -> windows_core::HRESULT {
15051 unsafe {
15052 let this: &Identity =
15053 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15054 ICoreWebView2WebResourceRequest_Impl::SetContent(
15055 this,
15056 core::mem::transmute_copy(&content),
15057 )
15058 .into()
15059 }
15060 }
15061 unsafe extern "system" fn Headers<
15062 Identity: ICoreWebView2WebResourceRequest_Impl,
15063 const OFFSET: isize,
15064 >(
15065 this: *mut core::ffi::c_void,
15066 headers: *mut *mut core::ffi::c_void,
15067 ) -> windows_core::HRESULT {
15068 unsafe {
15069 let this: &Identity =
15070 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15071 match ICoreWebView2WebResourceRequest_Impl::Headers(this) {
15072 Ok(ok__) => {
15073 headers.write(core::mem::transmute(ok__));
15074 windows_core::HRESULT(0)
15075 }
15076 Err(err) => err.into(),
15077 }
15078 }
15079 }
15080 Self {
15081 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
15082 Uri: Uri::<Identity, OFFSET>,
15083 SetUri: SetUri::<Identity, OFFSET>,
15084 Method: Method::<Identity, OFFSET>,
15085 SetMethod: SetMethod::<Identity, OFFSET>,
15086 Content: Content::<Identity, OFFSET>,
15087 SetContent: SetContent::<Identity, OFFSET>,
15088 Headers: Headers::<Identity, OFFSET>,
15089 }
15090 }
15091 pub fn matches(iid: &windows_core::GUID) -> bool {
15092 iid == &<ICoreWebView2WebResourceRequest as windows_core::Interface>::IID
15093 }
15094}
15095impl windows_core::RuntimeName for ICoreWebView2WebResourceRequest {}
15096windows_core::imp::define_interface!(
15097 ICoreWebView2WebResourceRequestedEventArgs,
15098 ICoreWebView2WebResourceRequestedEventArgs_Vtbl,
15099 0x453e667f_12c7_49d4_be6d_ddbe7956f57a
15100);
15101windows_core::imp::interface_hierarchy!(
15102 ICoreWebView2WebResourceRequestedEventArgs,
15103 windows_core::IUnknown
15104);
15105impl ICoreWebView2WebResourceRequestedEventArgs {
15106 pub unsafe fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest> {
15107 unsafe {
15108 let mut result__ = core::mem::zeroed();
15109 (windows_core::Interface::vtable(self).Request)(
15110 windows_core::Interface::as_raw(self),
15111 &mut result__,
15112 )
15113 .and_then(|| windows_core::Type::from_abi(result__))
15114 }
15115 }
15116 pub unsafe fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponse> {
15117 unsafe {
15118 let mut result__ = core::mem::zeroed();
15119 (windows_core::Interface::vtable(self).Response)(
15120 windows_core::Interface::as_raw(self),
15121 &mut result__,
15122 )
15123 .and_then(|| windows_core::Type::from_abi(result__))
15124 }
15125 }
15126 pub unsafe fn SetResponse<P0>(&self, response: P0) -> windows_core::Result<()>
15127 where
15128 P0: windows_core::Param<ICoreWebView2WebResourceResponse>,
15129 {
15130 unsafe {
15131 (windows_core::Interface::vtable(self).SetResponse)(
15132 windows_core::Interface::as_raw(self),
15133 response.param().abi(),
15134 )
15135 .ok()
15136 }
15137 }
15138 pub unsafe fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral> {
15139 unsafe {
15140 let mut result__ = core::mem::zeroed();
15141 (windows_core::Interface::vtable(self).GetDeferral)(
15142 windows_core::Interface::as_raw(self),
15143 &mut result__,
15144 )
15145 .and_then(|| windows_core::Type::from_abi(result__))
15146 }
15147 }
15148 pub unsafe fn ResourceContext(
15149 &self,
15150 ) -> windows_core::Result<COREWEBVIEW2_WEB_RESOURCE_CONTEXT> {
15151 unsafe {
15152 let mut result__ = core::mem::zeroed();
15153 (windows_core::Interface::vtable(self).ResourceContext)(
15154 windows_core::Interface::as_raw(self),
15155 &mut result__,
15156 )
15157 .map(|| result__)
15158 }
15159 }
15160}
15161#[repr(C)]
15162#[doc(hidden)]
15163pub struct ICoreWebView2WebResourceRequestedEventArgs_Vtbl {
15164 pub base__: windows_core::IUnknown_Vtbl,
15165 pub Request: unsafe extern "system" fn(
15166 *mut core::ffi::c_void,
15167 *mut *mut core::ffi::c_void,
15168 ) -> windows_core::HRESULT,
15169 pub Response: unsafe extern "system" fn(
15170 *mut core::ffi::c_void,
15171 *mut *mut core::ffi::c_void,
15172 ) -> windows_core::HRESULT,
15173 pub SetResponse: unsafe extern "system" fn(
15174 *mut core::ffi::c_void,
15175 *mut core::ffi::c_void,
15176 ) -> windows_core::HRESULT,
15177 pub GetDeferral: unsafe extern "system" fn(
15178 *mut core::ffi::c_void,
15179 *mut *mut core::ffi::c_void,
15180 ) -> windows_core::HRESULT,
15181 pub ResourceContext: unsafe extern "system" fn(
15182 *mut core::ffi::c_void,
15183 *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
15184 ) -> windows_core::HRESULT,
15185}
15186pub trait ICoreWebView2WebResourceRequestedEventArgs_Impl: windows_core::IUnknownImpl {
15187 fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest>;
15188 fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponse>;
15189 fn SetResponse(
15190 &self,
15191 response: windows_core::Ref<ICoreWebView2WebResourceResponse>,
15192 ) -> windows_core::Result<()>;
15193 fn GetDeferral(&self) -> windows_core::Result<ICoreWebView2Deferral>;
15194 fn ResourceContext(&self) -> windows_core::Result<COREWEBVIEW2_WEB_RESOURCE_CONTEXT>;
15195}
15196impl ICoreWebView2WebResourceRequestedEventArgs_Vtbl {
15197 pub const fn new<
15198 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
15199 const OFFSET: isize,
15200 >() -> Self {
15201 unsafe extern "system" fn Request<
15202 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
15203 const OFFSET: isize,
15204 >(
15205 this: *mut core::ffi::c_void,
15206 request: *mut *mut core::ffi::c_void,
15207 ) -> windows_core::HRESULT {
15208 unsafe {
15209 let this: &Identity =
15210 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15211 match ICoreWebView2WebResourceRequestedEventArgs_Impl::Request(this) {
15212 Ok(ok__) => {
15213 request.write(core::mem::transmute(ok__));
15214 windows_core::HRESULT(0)
15215 }
15216 Err(err) => err.into(),
15217 }
15218 }
15219 }
15220 unsafe extern "system" fn Response<
15221 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
15222 const OFFSET: isize,
15223 >(
15224 this: *mut core::ffi::c_void,
15225 response: *mut *mut core::ffi::c_void,
15226 ) -> windows_core::HRESULT {
15227 unsafe {
15228 let this: &Identity =
15229 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15230 match ICoreWebView2WebResourceRequestedEventArgs_Impl::Response(this) {
15231 Ok(ok__) => {
15232 response.write(core::mem::transmute(ok__));
15233 windows_core::HRESULT(0)
15234 }
15235 Err(err) => err.into(),
15236 }
15237 }
15238 }
15239 unsafe extern "system" fn SetResponse<
15240 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
15241 const OFFSET: isize,
15242 >(
15243 this: *mut core::ffi::c_void,
15244 response: *mut core::ffi::c_void,
15245 ) -> windows_core::HRESULT {
15246 unsafe {
15247 let this: &Identity =
15248 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15249 ICoreWebView2WebResourceRequestedEventArgs_Impl::SetResponse(
15250 this,
15251 core::mem::transmute_copy(&response),
15252 )
15253 .into()
15254 }
15255 }
15256 unsafe extern "system" fn GetDeferral<
15257 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
15258 const OFFSET: isize,
15259 >(
15260 this: *mut core::ffi::c_void,
15261 deferral: *mut *mut core::ffi::c_void,
15262 ) -> windows_core::HRESULT {
15263 unsafe {
15264 let this: &Identity =
15265 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15266 match ICoreWebView2WebResourceRequestedEventArgs_Impl::GetDeferral(this) {
15267 Ok(ok__) => {
15268 deferral.write(core::mem::transmute(ok__));
15269 windows_core::HRESULT(0)
15270 }
15271 Err(err) => err.into(),
15272 }
15273 }
15274 }
15275 unsafe extern "system" fn ResourceContext<
15276 Identity: ICoreWebView2WebResourceRequestedEventArgs_Impl,
15277 const OFFSET: isize,
15278 >(
15279 this: *mut core::ffi::c_void,
15280 context: *mut COREWEBVIEW2_WEB_RESOURCE_CONTEXT,
15281 ) -> windows_core::HRESULT {
15282 unsafe {
15283 let this: &Identity =
15284 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15285 match ICoreWebView2WebResourceRequestedEventArgs_Impl::ResourceContext(this) {
15286 Ok(ok__) => {
15287 context.write(core::mem::transmute(ok__));
15288 windows_core::HRESULT(0)
15289 }
15290 Err(err) => err.into(),
15291 }
15292 }
15293 }
15294 Self {
15295 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
15296 Request: Request::<Identity, OFFSET>,
15297 Response: Response::<Identity, OFFSET>,
15298 SetResponse: SetResponse::<Identity, OFFSET>,
15299 GetDeferral: GetDeferral::<Identity, OFFSET>,
15300 ResourceContext: ResourceContext::<Identity, OFFSET>,
15301 }
15302 }
15303 pub fn matches(iid: &windows_core::GUID) -> bool {
15304 iid == &<ICoreWebView2WebResourceRequestedEventArgs as windows_core::Interface>::IID
15305 }
15306}
15307impl windows_core::RuntimeName for ICoreWebView2WebResourceRequestedEventArgs {}
15308windows_core::imp::define_interface!(
15309 ICoreWebView2WebResourceRequestedEventHandler,
15310 ICoreWebView2WebResourceRequestedEventHandler_Vtbl,
15311 0xab00b74c_15f1_4646_80e8_e76341d25d71
15312);
15313windows_core::imp::interface_hierarchy!(
15314 ICoreWebView2WebResourceRequestedEventHandler,
15315 windows_core::IUnknown
15316);
15317impl ICoreWebView2WebResourceRequestedEventHandler {
15318 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
15319 where
15320 P0: windows_core::Param<ICoreWebView2>,
15321 P1: windows_core::Param<ICoreWebView2WebResourceRequestedEventArgs>,
15322 {
15323 unsafe {
15324 (windows_core::Interface::vtable(self).Invoke)(
15325 windows_core::Interface::as_raw(self),
15326 sender.param().abi(),
15327 args.param().abi(),
15328 )
15329 .ok()
15330 }
15331 }
15332}
15333#[repr(C)]
15334#[doc(hidden)]
15335pub struct ICoreWebView2WebResourceRequestedEventHandler_Vtbl {
15336 pub base__: windows_core::IUnknown_Vtbl,
15337 pub Invoke: unsafe extern "system" fn(
15338 *mut core::ffi::c_void,
15339 *mut core::ffi::c_void,
15340 *mut core::ffi::c_void,
15341 ) -> windows_core::HRESULT,
15342}
15343pub trait ICoreWebView2WebResourceRequestedEventHandler_Impl: windows_core::IUnknownImpl {
15344 fn Invoke(
15345 &self,
15346 sender: windows_core::Ref<ICoreWebView2>,
15347 args: windows_core::Ref<ICoreWebView2WebResourceRequestedEventArgs>,
15348 ) -> windows_core::Result<()>;
15349}
15350impl ICoreWebView2WebResourceRequestedEventHandler_Vtbl {
15351 pub const fn new<
15352 Identity: ICoreWebView2WebResourceRequestedEventHandler_Impl,
15353 const OFFSET: isize,
15354 >() -> Self {
15355 unsafe extern "system" fn Invoke<
15356 Identity: ICoreWebView2WebResourceRequestedEventHandler_Impl,
15357 const OFFSET: isize,
15358 >(
15359 this: *mut core::ffi::c_void,
15360 sender: *mut core::ffi::c_void,
15361 args: *mut core::ffi::c_void,
15362 ) -> windows_core::HRESULT {
15363 unsafe {
15364 let this: &Identity =
15365 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15366 ICoreWebView2WebResourceRequestedEventHandler_Impl::Invoke(
15367 this,
15368 core::mem::transmute_copy(&sender),
15369 core::mem::transmute_copy(&args),
15370 )
15371 .into()
15372 }
15373 }
15374 Self {
15375 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
15376 Invoke: Invoke::<Identity, OFFSET>,
15377 }
15378 }
15379 pub fn matches(iid: &windows_core::GUID) -> bool {
15380 iid == &<ICoreWebView2WebResourceRequestedEventHandler as windows_core::Interface>::IID
15381 }
15382}
15383impl windows_core::RuntimeName for ICoreWebView2WebResourceRequestedEventHandler {}
15384windows_core::imp::define_interface!(
15385 ICoreWebView2WebResourceResponse,
15386 ICoreWebView2WebResourceResponse_Vtbl,
15387 0xaafcc94f_fa27_48fd_97df_830ef75aaec9
15388);
15389windows_core::imp::interface_hierarchy!(ICoreWebView2WebResourceResponse, windows_core::IUnknown);
15390impl ICoreWebView2WebResourceResponse {
15391 pub unsafe fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream> {
15392 unsafe {
15393 let mut result__ = core::mem::zeroed();
15394 (windows_core::Interface::vtable(self).Content)(
15395 windows_core::Interface::as_raw(self),
15396 &mut result__,
15397 )
15398 .and_then(|| windows_core::Type::from_abi(result__))
15399 }
15400 }
15401 pub unsafe fn SetContent<P0>(&self, content: P0) -> windows_core::Result<()>
15402 where
15403 P0: windows_core::Param<windows::Win32::System::Com::IStream>,
15404 {
15405 unsafe {
15406 (windows_core::Interface::vtable(self).SetContent)(
15407 windows_core::Interface::as_raw(self),
15408 content.param().abi(),
15409 )
15410 .ok()
15411 }
15412 }
15413 pub unsafe fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders> {
15414 unsafe {
15415 let mut result__ = core::mem::zeroed();
15416 (windows_core::Interface::vtable(self).Headers)(
15417 windows_core::Interface::as_raw(self),
15418 &mut result__,
15419 )
15420 .and_then(|| windows_core::Type::from_abi(result__))
15421 }
15422 }
15423 pub unsafe fn StatusCode(&self) -> windows_core::Result<i32> {
15424 unsafe {
15425 let mut result__ = core::mem::zeroed();
15426 (windows_core::Interface::vtable(self).StatusCode)(
15427 windows_core::Interface::as_raw(self),
15428 &mut result__,
15429 )
15430 .map(|| result__)
15431 }
15432 }
15433 pub unsafe fn SetStatusCode(&self, statuscode: i32) -> windows_core::Result<()> {
15434 unsafe {
15435 (windows_core::Interface::vtable(self).SetStatusCode)(
15436 windows_core::Interface::as_raw(self),
15437 statuscode,
15438 )
15439 .ok()
15440 }
15441 }
15442 pub unsafe fn ReasonPhrase(&self) -> windows_core::Result<windows_core::PWSTR> {
15443 unsafe {
15444 let mut result__ = core::mem::zeroed();
15445 (windows_core::Interface::vtable(self).ReasonPhrase)(
15446 windows_core::Interface::as_raw(self),
15447 &mut result__,
15448 )
15449 .map(|| result__)
15450 }
15451 }
15452 pub unsafe fn SetReasonPhrase<P0>(&self, reasonphrase: P0) -> windows_core::Result<()>
15453 where
15454 P0: windows_core::Param<windows_core::PCWSTR>,
15455 {
15456 unsafe {
15457 (windows_core::Interface::vtable(self).SetReasonPhrase)(
15458 windows_core::Interface::as_raw(self),
15459 reasonphrase.param().abi(),
15460 )
15461 .ok()
15462 }
15463 }
15464}
15465#[repr(C)]
15466#[doc(hidden)]
15467pub struct ICoreWebView2WebResourceResponse_Vtbl {
15468 pub base__: windows_core::IUnknown_Vtbl,
15469 pub Content: unsafe extern "system" fn(
15470 *mut core::ffi::c_void,
15471 *mut *mut core::ffi::c_void,
15472 ) -> windows_core::HRESULT,
15473 pub SetContent: unsafe extern "system" fn(
15474 *mut core::ffi::c_void,
15475 *mut core::ffi::c_void,
15476 ) -> windows_core::HRESULT,
15477 pub Headers: unsafe extern "system" fn(
15478 *mut core::ffi::c_void,
15479 *mut *mut core::ffi::c_void,
15480 ) -> windows_core::HRESULT,
15481 pub StatusCode:
15482 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
15483 pub SetStatusCode:
15484 unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
15485 pub ReasonPhrase: unsafe extern "system" fn(
15486 *mut core::ffi::c_void,
15487 *mut windows_core::PWSTR,
15488 ) -> windows_core::HRESULT,
15489 pub SetReasonPhrase: unsafe extern "system" fn(
15490 *mut core::ffi::c_void,
15491 windows_core::PCWSTR,
15492 ) -> windows_core::HRESULT,
15493}
15494pub trait ICoreWebView2WebResourceResponse_Impl: windows_core::IUnknownImpl {
15495 fn Content(&self) -> windows_core::Result<windows::Win32::System::Com::IStream>;
15496 fn SetContent(
15497 &self,
15498 content: windows_core::Ref<windows::Win32::System::Com::IStream>,
15499 ) -> windows_core::Result<()>;
15500 fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders>;
15501 fn StatusCode(&self) -> windows_core::Result<i32>;
15502 fn SetStatusCode(&self, statuscode: i32) -> windows_core::Result<()>;
15503 fn ReasonPhrase(&self) -> windows_core::Result<windows_core::PWSTR>;
15504 fn SetReasonPhrase(&self, reasonphrase: &windows_core::PCWSTR) -> windows_core::Result<()>;
15505}
15506impl ICoreWebView2WebResourceResponse_Vtbl {
15507 pub const fn new<Identity: ICoreWebView2WebResourceResponse_Impl, const OFFSET: isize>() -> Self
15508 {
15509 unsafe extern "system" fn Content<
15510 Identity: ICoreWebView2WebResourceResponse_Impl,
15511 const OFFSET: isize,
15512 >(
15513 this: *mut core::ffi::c_void,
15514 content: *mut *mut core::ffi::c_void,
15515 ) -> windows_core::HRESULT {
15516 unsafe {
15517 let this: &Identity =
15518 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15519 match ICoreWebView2WebResourceResponse_Impl::Content(this) {
15520 Ok(ok__) => {
15521 content.write(core::mem::transmute(ok__));
15522 windows_core::HRESULT(0)
15523 }
15524 Err(err) => err.into(),
15525 }
15526 }
15527 }
15528 unsafe extern "system" fn SetContent<
15529 Identity: ICoreWebView2WebResourceResponse_Impl,
15530 const OFFSET: isize,
15531 >(
15532 this: *mut core::ffi::c_void,
15533 content: *mut core::ffi::c_void,
15534 ) -> windows_core::HRESULT {
15535 unsafe {
15536 let this: &Identity =
15537 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15538 ICoreWebView2WebResourceResponse_Impl::SetContent(
15539 this,
15540 core::mem::transmute_copy(&content),
15541 )
15542 .into()
15543 }
15544 }
15545 unsafe extern "system" fn Headers<
15546 Identity: ICoreWebView2WebResourceResponse_Impl,
15547 const OFFSET: isize,
15548 >(
15549 this: *mut core::ffi::c_void,
15550 headers: *mut *mut core::ffi::c_void,
15551 ) -> windows_core::HRESULT {
15552 unsafe {
15553 let this: &Identity =
15554 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15555 match ICoreWebView2WebResourceResponse_Impl::Headers(this) {
15556 Ok(ok__) => {
15557 headers.write(core::mem::transmute(ok__));
15558 windows_core::HRESULT(0)
15559 }
15560 Err(err) => err.into(),
15561 }
15562 }
15563 }
15564 unsafe extern "system" fn StatusCode<
15565 Identity: ICoreWebView2WebResourceResponse_Impl,
15566 const OFFSET: isize,
15567 >(
15568 this: *mut core::ffi::c_void,
15569 statuscode: *mut i32,
15570 ) -> windows_core::HRESULT {
15571 unsafe {
15572 let this: &Identity =
15573 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15574 match ICoreWebView2WebResourceResponse_Impl::StatusCode(this) {
15575 Ok(ok__) => {
15576 statuscode.write(core::mem::transmute(ok__));
15577 windows_core::HRESULT(0)
15578 }
15579 Err(err) => err.into(),
15580 }
15581 }
15582 }
15583 unsafe extern "system" fn SetStatusCode<
15584 Identity: ICoreWebView2WebResourceResponse_Impl,
15585 const OFFSET: isize,
15586 >(
15587 this: *mut core::ffi::c_void,
15588 statuscode: i32,
15589 ) -> windows_core::HRESULT {
15590 unsafe {
15591 let this: &Identity =
15592 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15593 ICoreWebView2WebResourceResponse_Impl::SetStatusCode(
15594 this,
15595 core::mem::transmute_copy(&statuscode),
15596 )
15597 .into()
15598 }
15599 }
15600 unsafe extern "system" fn ReasonPhrase<
15601 Identity: ICoreWebView2WebResourceResponse_Impl,
15602 const OFFSET: isize,
15603 >(
15604 this: *mut core::ffi::c_void,
15605 reasonphrase: *mut windows_core::PWSTR,
15606 ) -> windows_core::HRESULT {
15607 unsafe {
15608 let this: &Identity =
15609 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15610 match ICoreWebView2WebResourceResponse_Impl::ReasonPhrase(this) {
15611 Ok(ok__) => {
15612 reasonphrase.write(core::mem::transmute(ok__));
15613 windows_core::HRESULT(0)
15614 }
15615 Err(err) => err.into(),
15616 }
15617 }
15618 }
15619 unsafe extern "system" fn SetReasonPhrase<
15620 Identity: ICoreWebView2WebResourceResponse_Impl,
15621 const OFFSET: isize,
15622 >(
15623 this: *mut core::ffi::c_void,
15624 reasonphrase: windows_core::PCWSTR,
15625 ) -> windows_core::HRESULT {
15626 unsafe {
15627 let this: &Identity =
15628 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15629 ICoreWebView2WebResourceResponse_Impl::SetReasonPhrase(
15630 this,
15631 core::mem::transmute(&reasonphrase),
15632 )
15633 .into()
15634 }
15635 }
15636 Self {
15637 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
15638 Content: Content::<Identity, OFFSET>,
15639 SetContent: SetContent::<Identity, OFFSET>,
15640 Headers: Headers::<Identity, OFFSET>,
15641 StatusCode: StatusCode::<Identity, OFFSET>,
15642 SetStatusCode: SetStatusCode::<Identity, OFFSET>,
15643 ReasonPhrase: ReasonPhrase::<Identity, OFFSET>,
15644 SetReasonPhrase: SetReasonPhrase::<Identity, OFFSET>,
15645 }
15646 }
15647 pub fn matches(iid: &windows_core::GUID) -> bool {
15648 iid == &<ICoreWebView2WebResourceResponse as windows_core::Interface>::IID
15649 }
15650}
15651impl windows_core::RuntimeName for ICoreWebView2WebResourceResponse {}
15652windows_core::imp::define_interface!(
15653 ICoreWebView2WebResourceResponseReceivedEventArgs,
15654 ICoreWebView2WebResourceResponseReceivedEventArgs_Vtbl,
15655 0xd1db483d_6796_4b8b_80fc_13712bb716f4
15656);
15657windows_core::imp::interface_hierarchy!(
15658 ICoreWebView2WebResourceResponseReceivedEventArgs,
15659 windows_core::IUnknown
15660);
15661impl ICoreWebView2WebResourceResponseReceivedEventArgs {
15662 pub unsafe fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest> {
15663 unsafe {
15664 let mut result__ = core::mem::zeroed();
15665 (windows_core::Interface::vtable(self).Request)(
15666 windows_core::Interface::as_raw(self),
15667 &mut result__,
15668 )
15669 .and_then(|| windows_core::Type::from_abi(result__))
15670 }
15671 }
15672 pub unsafe fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponseView> {
15673 unsafe {
15674 let mut result__ = core::mem::zeroed();
15675 (windows_core::Interface::vtable(self).Response)(
15676 windows_core::Interface::as_raw(self),
15677 &mut result__,
15678 )
15679 .and_then(|| windows_core::Type::from_abi(result__))
15680 }
15681 }
15682}
15683#[repr(C)]
15684#[doc(hidden)]
15685pub struct ICoreWebView2WebResourceResponseReceivedEventArgs_Vtbl {
15686 pub base__: windows_core::IUnknown_Vtbl,
15687 pub Request: unsafe extern "system" fn(
15688 *mut core::ffi::c_void,
15689 *mut *mut core::ffi::c_void,
15690 ) -> windows_core::HRESULT,
15691 pub Response: unsafe extern "system" fn(
15692 *mut core::ffi::c_void,
15693 *mut *mut core::ffi::c_void,
15694 ) -> windows_core::HRESULT,
15695}
15696pub trait ICoreWebView2WebResourceResponseReceivedEventArgs_Impl:
15697 windows_core::IUnknownImpl
15698{
15699 fn Request(&self) -> windows_core::Result<ICoreWebView2WebResourceRequest>;
15700 fn Response(&self) -> windows_core::Result<ICoreWebView2WebResourceResponseView>;
15701}
15702impl ICoreWebView2WebResourceResponseReceivedEventArgs_Vtbl {
15703 pub const fn new<
15704 Identity: ICoreWebView2WebResourceResponseReceivedEventArgs_Impl,
15705 const OFFSET: isize,
15706 >() -> Self {
15707 unsafe extern "system" fn Request<
15708 Identity: ICoreWebView2WebResourceResponseReceivedEventArgs_Impl,
15709 const OFFSET: isize,
15710 >(
15711 this: *mut core::ffi::c_void,
15712 request: *mut *mut core::ffi::c_void,
15713 ) -> windows_core::HRESULT {
15714 unsafe {
15715 let this: &Identity =
15716 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15717 match ICoreWebView2WebResourceResponseReceivedEventArgs_Impl::Request(this) {
15718 Ok(ok__) => {
15719 request.write(core::mem::transmute(ok__));
15720 windows_core::HRESULT(0)
15721 }
15722 Err(err) => err.into(),
15723 }
15724 }
15725 }
15726 unsafe extern "system" fn Response<
15727 Identity: ICoreWebView2WebResourceResponseReceivedEventArgs_Impl,
15728 const OFFSET: isize,
15729 >(
15730 this: *mut core::ffi::c_void,
15731 response: *mut *mut core::ffi::c_void,
15732 ) -> windows_core::HRESULT {
15733 unsafe {
15734 let this: &Identity =
15735 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15736 match ICoreWebView2WebResourceResponseReceivedEventArgs_Impl::Response(this) {
15737 Ok(ok__) => {
15738 response.write(core::mem::transmute(ok__));
15739 windows_core::HRESULT(0)
15740 }
15741 Err(err) => err.into(),
15742 }
15743 }
15744 }
15745 Self {
15746 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
15747 Request: Request::<Identity, OFFSET>,
15748 Response: Response::<Identity, OFFSET>,
15749 }
15750 }
15751 pub fn matches(iid: &windows_core::GUID) -> bool {
15752 iid == &<ICoreWebView2WebResourceResponseReceivedEventArgs as windows_core::Interface>::IID
15753 }
15754}
15755impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseReceivedEventArgs {}
15756windows_core::imp::define_interface!(
15757 ICoreWebView2WebResourceResponseReceivedEventHandler,
15758 ICoreWebView2WebResourceResponseReceivedEventHandler_Vtbl,
15759 0x7de9898a_24f5_40c3_a2de_d4f458e69828
15760);
15761windows_core::imp::interface_hierarchy!(
15762 ICoreWebView2WebResourceResponseReceivedEventHandler,
15763 windows_core::IUnknown
15764);
15765impl ICoreWebView2WebResourceResponseReceivedEventHandler {
15766 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
15767 where
15768 P0: windows_core::Param<ICoreWebView2>,
15769 P1: windows_core::Param<ICoreWebView2WebResourceResponseReceivedEventArgs>,
15770 {
15771 unsafe {
15772 (windows_core::Interface::vtable(self).Invoke)(
15773 windows_core::Interface::as_raw(self),
15774 sender.param().abi(),
15775 args.param().abi(),
15776 )
15777 .ok()
15778 }
15779 }
15780}
15781#[repr(C)]
15782#[doc(hidden)]
15783pub struct ICoreWebView2WebResourceResponseReceivedEventHandler_Vtbl {
15784 pub base__: windows_core::IUnknown_Vtbl,
15785 pub Invoke: unsafe extern "system" fn(
15786 *mut core::ffi::c_void,
15787 *mut core::ffi::c_void,
15788 *mut core::ffi::c_void,
15789 ) -> windows_core::HRESULT,
15790}
15791pub trait ICoreWebView2WebResourceResponseReceivedEventHandler_Impl:
15792 windows_core::IUnknownImpl
15793{
15794 fn Invoke(
15795 &self,
15796 sender: windows_core::Ref<ICoreWebView2>,
15797 args: windows_core::Ref<ICoreWebView2WebResourceResponseReceivedEventArgs>,
15798 ) -> windows_core::Result<()>;
15799}
15800impl ICoreWebView2WebResourceResponseReceivedEventHandler_Vtbl {
15801 pub const fn new<
15802 Identity: ICoreWebView2WebResourceResponseReceivedEventHandler_Impl,
15803 const OFFSET: isize,
15804 >() -> Self {
15805 unsafe extern "system" fn Invoke<
15806 Identity: ICoreWebView2WebResourceResponseReceivedEventHandler_Impl,
15807 const OFFSET: isize,
15808 >(
15809 this: *mut core::ffi::c_void,
15810 sender: *mut core::ffi::c_void,
15811 args: *mut core::ffi::c_void,
15812 ) -> windows_core::HRESULT {
15813 unsafe {
15814 let this: &Identity =
15815 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15816 ICoreWebView2WebResourceResponseReceivedEventHandler_Impl::Invoke(
15817 this,
15818 core::mem::transmute_copy(&sender),
15819 core::mem::transmute_copy(&args),
15820 )
15821 .into()
15822 }
15823 }
15824 Self {
15825 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
15826 Invoke: Invoke::<Identity, OFFSET>,
15827 }
15828 }
15829 pub fn matches(iid: &windows_core::GUID) -> bool {
15830 iid == & < ICoreWebView2WebResourceResponseReceivedEventHandler as windows_core::Interface >::IID
15831 }
15832}
15833impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseReceivedEventHandler {}
15834windows_core::imp::define_interface!(
15835 ICoreWebView2WebResourceResponseView,
15836 ICoreWebView2WebResourceResponseView_Vtbl,
15837 0x79701053_7759_4162_8f7d_f1b3f084928d
15838);
15839windows_core::imp::interface_hierarchy!(
15840 ICoreWebView2WebResourceResponseView,
15841 windows_core::IUnknown
15842);
15843impl ICoreWebView2WebResourceResponseView {
15844 pub unsafe fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders> {
15845 unsafe {
15846 let mut result__ = core::mem::zeroed();
15847 (windows_core::Interface::vtable(self).Headers)(
15848 windows_core::Interface::as_raw(self),
15849 &mut result__,
15850 )
15851 .and_then(|| windows_core::Type::from_abi(result__))
15852 }
15853 }
15854 pub unsafe fn StatusCode(&self) -> windows_core::Result<i32> {
15855 unsafe {
15856 let mut result__ = core::mem::zeroed();
15857 (windows_core::Interface::vtable(self).StatusCode)(
15858 windows_core::Interface::as_raw(self),
15859 &mut result__,
15860 )
15861 .map(|| result__)
15862 }
15863 }
15864 pub unsafe fn ReasonPhrase(&self) -> windows_core::Result<windows_core::PWSTR> {
15865 unsafe {
15866 let mut result__ = core::mem::zeroed();
15867 (windows_core::Interface::vtable(self).ReasonPhrase)(
15868 windows_core::Interface::as_raw(self),
15869 &mut result__,
15870 )
15871 .map(|| result__)
15872 }
15873 }
15874 pub unsafe fn GetContent<P0>(&self, handler: P0) -> windows_core::Result<()>
15875 where
15876 P0: windows_core::Param<ICoreWebView2WebResourceResponseViewGetContentCompletedHandler>,
15877 {
15878 unsafe {
15879 (windows_core::Interface::vtable(self).GetContent)(
15880 windows_core::Interface::as_raw(self),
15881 handler.param().abi(),
15882 )
15883 .ok()
15884 }
15885 }
15886}
15887#[repr(C)]
15888#[doc(hidden)]
15889pub struct ICoreWebView2WebResourceResponseView_Vtbl {
15890 pub base__: windows_core::IUnknown_Vtbl,
15891 pub Headers: unsafe extern "system" fn(
15892 *mut core::ffi::c_void,
15893 *mut *mut core::ffi::c_void,
15894 ) -> windows_core::HRESULT,
15895 pub StatusCode:
15896 unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
15897 pub ReasonPhrase: unsafe extern "system" fn(
15898 *mut core::ffi::c_void,
15899 *mut windows_core::PWSTR,
15900 ) -> windows_core::HRESULT,
15901 pub GetContent: unsafe extern "system" fn(
15902 *mut core::ffi::c_void,
15903 *mut core::ffi::c_void,
15904 ) -> windows_core::HRESULT,
15905}
15906pub trait ICoreWebView2WebResourceResponseView_Impl: windows_core::IUnknownImpl {
15907 fn Headers(&self) -> windows_core::Result<ICoreWebView2HttpResponseHeaders>;
15908 fn StatusCode(&self) -> windows_core::Result<i32>;
15909 fn ReasonPhrase(&self) -> windows_core::Result<windows_core::PWSTR>;
15910 fn GetContent(
15911 &self,
15912 handler: windows_core::Ref<ICoreWebView2WebResourceResponseViewGetContentCompletedHandler>,
15913 ) -> windows_core::Result<()>;
15914}
15915impl ICoreWebView2WebResourceResponseView_Vtbl {
15916 pub const fn new<Identity: ICoreWebView2WebResourceResponseView_Impl, const OFFSET: isize>(
15917 ) -> Self {
15918 unsafe extern "system" fn Headers<
15919 Identity: ICoreWebView2WebResourceResponseView_Impl,
15920 const OFFSET: isize,
15921 >(
15922 this: *mut core::ffi::c_void,
15923 headers: *mut *mut core::ffi::c_void,
15924 ) -> windows_core::HRESULT {
15925 unsafe {
15926 let this: &Identity =
15927 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15928 match ICoreWebView2WebResourceResponseView_Impl::Headers(this) {
15929 Ok(ok__) => {
15930 headers.write(core::mem::transmute(ok__));
15931 windows_core::HRESULT(0)
15932 }
15933 Err(err) => err.into(),
15934 }
15935 }
15936 }
15937 unsafe extern "system" fn StatusCode<
15938 Identity: ICoreWebView2WebResourceResponseView_Impl,
15939 const OFFSET: isize,
15940 >(
15941 this: *mut core::ffi::c_void,
15942 statuscode: *mut i32,
15943 ) -> windows_core::HRESULT {
15944 unsafe {
15945 let this: &Identity =
15946 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15947 match ICoreWebView2WebResourceResponseView_Impl::StatusCode(this) {
15948 Ok(ok__) => {
15949 statuscode.write(core::mem::transmute(ok__));
15950 windows_core::HRESULT(0)
15951 }
15952 Err(err) => err.into(),
15953 }
15954 }
15955 }
15956 unsafe extern "system" fn ReasonPhrase<
15957 Identity: ICoreWebView2WebResourceResponseView_Impl,
15958 const OFFSET: isize,
15959 >(
15960 this: *mut core::ffi::c_void,
15961 reasonphrase: *mut windows_core::PWSTR,
15962 ) -> windows_core::HRESULT {
15963 unsafe {
15964 let this: &Identity =
15965 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15966 match ICoreWebView2WebResourceResponseView_Impl::ReasonPhrase(this) {
15967 Ok(ok__) => {
15968 reasonphrase.write(core::mem::transmute(ok__));
15969 windows_core::HRESULT(0)
15970 }
15971 Err(err) => err.into(),
15972 }
15973 }
15974 }
15975 unsafe extern "system" fn GetContent<
15976 Identity: ICoreWebView2WebResourceResponseView_Impl,
15977 const OFFSET: isize,
15978 >(
15979 this: *mut core::ffi::c_void,
15980 handler: *mut core::ffi::c_void,
15981 ) -> windows_core::HRESULT {
15982 unsafe {
15983 let this: &Identity =
15984 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15985 ICoreWebView2WebResourceResponseView_Impl::GetContent(
15986 this,
15987 core::mem::transmute_copy(&handler),
15988 )
15989 .into()
15990 }
15991 }
15992 Self {
15993 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
15994 Headers: Headers::<Identity, OFFSET>,
15995 StatusCode: StatusCode::<Identity, OFFSET>,
15996 ReasonPhrase: ReasonPhrase::<Identity, OFFSET>,
15997 GetContent: GetContent::<Identity, OFFSET>,
15998 }
15999 }
16000 pub fn matches(iid: &windows_core::GUID) -> bool {
16001 iid == &<ICoreWebView2WebResourceResponseView as windows_core::Interface>::IID
16002 }
16003}
16004impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseView {}
16005windows_core::imp::define_interface!(
16006 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler,
16007 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Vtbl,
16008 0x875738e1_9fa2_40e3_8b74_2e8972dd6fe7
16009);
16010windows_core::imp::interface_hierarchy!(
16011 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler,
16012 windows_core::IUnknown
16013);
16014impl ICoreWebView2WebResourceResponseViewGetContentCompletedHandler {
16015 pub unsafe fn Invoke<P1>(
16016 &self,
16017 errorcode: windows_core::HRESULT,
16018 content: P1,
16019 ) -> windows_core::Result<()>
16020 where
16021 P1: windows_core::Param<windows::Win32::System::Com::IStream>,
16022 {
16023 unsafe {
16024 (windows_core::Interface::vtable(self).Invoke)(
16025 windows_core::Interface::as_raw(self),
16026 errorcode,
16027 content.param().abi(),
16028 )
16029 .ok()
16030 }
16031 }
16032}
16033#[repr(C)]
16034#[doc(hidden)]
16035pub struct ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Vtbl {
16036 pub base__: windows_core::IUnknown_Vtbl,
16037 pub Invoke: unsafe extern "system" fn(
16038 *mut core::ffi::c_void,
16039 windows_core::HRESULT,
16040 *mut core::ffi::c_void,
16041 ) -> windows_core::HRESULT,
16042}
16043pub trait ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl:
16044 windows_core::IUnknownImpl
16045{
16046 fn Invoke(
16047 &self,
16048 errorcode: windows_core::HRESULT,
16049 content: windows_core::Ref<windows::Win32::System::Com::IStream>,
16050 ) -> windows_core::Result<()>;
16051}
16052impl ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Vtbl {
16053 pub const fn new<
16054 Identity: ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl,
16055 const OFFSET: isize,
16056 >() -> Self {
16057 unsafe extern "system" fn Invoke<
16058 Identity: ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl,
16059 const OFFSET: isize,
16060 >(
16061 this: *mut core::ffi::c_void,
16062 errorcode: windows_core::HRESULT,
16063 content: *mut core::ffi::c_void,
16064 ) -> windows_core::HRESULT {
16065 unsafe {
16066 let this: &Identity =
16067 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16068 ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Impl::Invoke(
16069 this,
16070 core::mem::transmute_copy(&errorcode),
16071 core::mem::transmute_copy(&content),
16072 )
16073 .into()
16074 }
16075 }
16076 Self {
16077 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16078 Invoke: Invoke::<Identity, OFFSET>,
16079 }
16080 }
16081 pub fn matches(iid: &windows_core::GUID) -> bool {
16082 iid == & < ICoreWebView2WebResourceResponseViewGetContentCompletedHandler as windows_core::Interface >::IID
16083 }
16084}
16085impl windows_core::RuntimeName for ICoreWebView2WebResourceResponseViewGetContentCompletedHandler {}
16086windows_core::imp::define_interface!(
16087 ICoreWebView2WindowCloseRequestedEventHandler,
16088 ICoreWebView2WindowCloseRequestedEventHandler_Vtbl,
16089 0x5c19e9e0_092f_486b_affa_ca8231913039
16090);
16091windows_core::imp::interface_hierarchy!(
16092 ICoreWebView2WindowCloseRequestedEventHandler,
16093 windows_core::IUnknown
16094);
16095impl ICoreWebView2WindowCloseRequestedEventHandler {
16096 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
16097 where
16098 P0: windows_core::Param<ICoreWebView2>,
16099 P1: windows_core::Param<windows_core::IUnknown>,
16100 {
16101 unsafe {
16102 (windows_core::Interface::vtable(self).Invoke)(
16103 windows_core::Interface::as_raw(self),
16104 sender.param().abi(),
16105 args.param().abi(),
16106 )
16107 .ok()
16108 }
16109 }
16110}
16111#[repr(C)]
16112#[doc(hidden)]
16113pub struct ICoreWebView2WindowCloseRequestedEventHandler_Vtbl {
16114 pub base__: windows_core::IUnknown_Vtbl,
16115 pub Invoke: unsafe extern "system" fn(
16116 *mut core::ffi::c_void,
16117 *mut core::ffi::c_void,
16118 *mut core::ffi::c_void,
16119 ) -> windows_core::HRESULT,
16120}
16121pub trait ICoreWebView2WindowCloseRequestedEventHandler_Impl: windows_core::IUnknownImpl {
16122 fn Invoke(
16123 &self,
16124 sender: windows_core::Ref<ICoreWebView2>,
16125 args: windows_core::Ref<windows_core::IUnknown>,
16126 ) -> windows_core::Result<()>;
16127}
16128impl ICoreWebView2WindowCloseRequestedEventHandler_Vtbl {
16129 pub const fn new<
16130 Identity: ICoreWebView2WindowCloseRequestedEventHandler_Impl,
16131 const OFFSET: isize,
16132 >() -> Self {
16133 unsafe extern "system" fn Invoke<
16134 Identity: ICoreWebView2WindowCloseRequestedEventHandler_Impl,
16135 const OFFSET: isize,
16136 >(
16137 this: *mut core::ffi::c_void,
16138 sender: *mut core::ffi::c_void,
16139 args: *mut core::ffi::c_void,
16140 ) -> windows_core::HRESULT {
16141 unsafe {
16142 let this: &Identity =
16143 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16144 ICoreWebView2WindowCloseRequestedEventHandler_Impl::Invoke(
16145 this,
16146 core::mem::transmute_copy(&sender),
16147 core::mem::transmute_copy(&args),
16148 )
16149 .into()
16150 }
16151 }
16152 Self {
16153 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16154 Invoke: Invoke::<Identity, OFFSET>,
16155 }
16156 }
16157 pub fn matches(iid: &windows_core::GUID) -> bool {
16158 iid == &<ICoreWebView2WindowCloseRequestedEventHandler as windows_core::Interface>::IID
16159 }
16160}
16161impl windows_core::RuntimeName for ICoreWebView2WindowCloseRequestedEventHandler {}
16162windows_core::imp::define_interface!(
16163 ICoreWebView2WindowFeatures,
16164 ICoreWebView2WindowFeatures_Vtbl,
16165 0x5eaf559f_b46e_4397_8860_e422f287ff1e
16166);
16167windows_core::imp::interface_hierarchy!(ICoreWebView2WindowFeatures, windows_core::IUnknown);
16168impl ICoreWebView2WindowFeatures {
16169 pub unsafe fn HasPosition(&self) -> windows_core::Result<windows_core::BOOL> {
16170 unsafe {
16171 let mut result__ = core::mem::zeroed();
16172 (windows_core::Interface::vtable(self).HasPosition)(
16173 windows_core::Interface::as_raw(self),
16174 &mut result__,
16175 )
16176 .map(|| result__)
16177 }
16178 }
16179 pub unsafe fn HasSize(&self) -> windows_core::Result<windows_core::BOOL> {
16180 unsafe {
16181 let mut result__ = core::mem::zeroed();
16182 (windows_core::Interface::vtable(self).HasSize)(
16183 windows_core::Interface::as_raw(self),
16184 &mut result__,
16185 )
16186 .map(|| result__)
16187 }
16188 }
16189 pub unsafe fn Left(&self) -> windows_core::Result<u32> {
16190 unsafe {
16191 let mut result__ = core::mem::zeroed();
16192 (windows_core::Interface::vtable(self).Left)(
16193 windows_core::Interface::as_raw(self),
16194 &mut result__,
16195 )
16196 .map(|| result__)
16197 }
16198 }
16199 pub unsafe fn Top(&self) -> windows_core::Result<u32> {
16200 unsafe {
16201 let mut result__ = core::mem::zeroed();
16202 (windows_core::Interface::vtable(self).Top)(
16203 windows_core::Interface::as_raw(self),
16204 &mut result__,
16205 )
16206 .map(|| result__)
16207 }
16208 }
16209 pub unsafe fn Height(&self) -> windows_core::Result<u32> {
16210 unsafe {
16211 let mut result__ = core::mem::zeroed();
16212 (windows_core::Interface::vtable(self).Height)(
16213 windows_core::Interface::as_raw(self),
16214 &mut result__,
16215 )
16216 .map(|| result__)
16217 }
16218 }
16219 pub unsafe fn Width(&self) -> windows_core::Result<u32> {
16220 unsafe {
16221 let mut result__ = core::mem::zeroed();
16222 (windows_core::Interface::vtable(self).Width)(
16223 windows_core::Interface::as_raw(self),
16224 &mut result__,
16225 )
16226 .map(|| result__)
16227 }
16228 }
16229 pub unsafe fn ShouldDisplayMenuBar(&self) -> windows_core::Result<windows_core::BOOL> {
16230 unsafe {
16231 let mut result__ = core::mem::zeroed();
16232 (windows_core::Interface::vtable(self).ShouldDisplayMenuBar)(
16233 windows_core::Interface::as_raw(self),
16234 &mut result__,
16235 )
16236 .map(|| result__)
16237 }
16238 }
16239 pub unsafe fn ShouldDisplayStatus(&self) -> windows_core::Result<windows_core::BOOL> {
16240 unsafe {
16241 let mut result__ = core::mem::zeroed();
16242 (windows_core::Interface::vtable(self).ShouldDisplayStatus)(
16243 windows_core::Interface::as_raw(self),
16244 &mut result__,
16245 )
16246 .map(|| result__)
16247 }
16248 }
16249 pub unsafe fn ShouldDisplayToolbar(&self) -> windows_core::Result<windows_core::BOOL> {
16250 unsafe {
16251 let mut result__ = core::mem::zeroed();
16252 (windows_core::Interface::vtable(self).ShouldDisplayToolbar)(
16253 windows_core::Interface::as_raw(self),
16254 &mut result__,
16255 )
16256 .map(|| result__)
16257 }
16258 }
16259 pub unsafe fn ShouldDisplayScrollBars(&self) -> windows_core::Result<windows_core::BOOL> {
16260 unsafe {
16261 let mut result__ = core::mem::zeroed();
16262 (windows_core::Interface::vtable(self).ShouldDisplayScrollBars)(
16263 windows_core::Interface::as_raw(self),
16264 &mut result__,
16265 )
16266 .map(|| result__)
16267 }
16268 }
16269}
16270#[repr(C)]
16271#[doc(hidden)]
16272pub struct ICoreWebView2WindowFeatures_Vtbl {
16273 pub base__: windows_core::IUnknown_Vtbl,
16274 pub HasPosition: unsafe extern "system" fn(
16275 *mut core::ffi::c_void,
16276 *mut windows_core::BOOL,
16277 ) -> windows_core::HRESULT,
16278 pub HasSize: unsafe extern "system" fn(
16279 *mut core::ffi::c_void,
16280 *mut windows_core::BOOL,
16281 ) -> windows_core::HRESULT,
16282 pub Left: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
16283 pub Top: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
16284 pub Height:
16285 unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
16286 pub Width: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
16287 pub ShouldDisplayMenuBar: unsafe extern "system" fn(
16288 *mut core::ffi::c_void,
16289 *mut windows_core::BOOL,
16290 ) -> windows_core::HRESULT,
16291 pub ShouldDisplayStatus: unsafe extern "system" fn(
16292 *mut core::ffi::c_void,
16293 *mut windows_core::BOOL,
16294 ) -> windows_core::HRESULT,
16295 pub ShouldDisplayToolbar: unsafe extern "system" fn(
16296 *mut core::ffi::c_void,
16297 *mut windows_core::BOOL,
16298 ) -> windows_core::HRESULT,
16299 pub ShouldDisplayScrollBars: unsafe extern "system" fn(
16300 *mut core::ffi::c_void,
16301 *mut windows_core::BOOL,
16302 ) -> windows_core::HRESULT,
16303}
16304pub trait ICoreWebView2WindowFeatures_Impl: windows_core::IUnknownImpl {
16305 fn HasPosition(&self) -> windows_core::Result<windows_core::BOOL>;
16306 fn HasSize(&self) -> windows_core::Result<windows_core::BOOL>;
16307 fn Left(&self) -> windows_core::Result<u32>;
16308 fn Top(&self) -> windows_core::Result<u32>;
16309 fn Height(&self) -> windows_core::Result<u32>;
16310 fn Width(&self) -> windows_core::Result<u32>;
16311 fn ShouldDisplayMenuBar(&self) -> windows_core::Result<windows_core::BOOL>;
16312 fn ShouldDisplayStatus(&self) -> windows_core::Result<windows_core::BOOL>;
16313 fn ShouldDisplayToolbar(&self) -> windows_core::Result<windows_core::BOOL>;
16314 fn ShouldDisplayScrollBars(&self) -> windows_core::Result<windows_core::BOOL>;
16315}
16316impl ICoreWebView2WindowFeatures_Vtbl {
16317 pub const fn new<Identity: ICoreWebView2WindowFeatures_Impl, const OFFSET: isize>() -> Self {
16318 unsafe extern "system" fn HasPosition<
16319 Identity: ICoreWebView2WindowFeatures_Impl,
16320 const OFFSET: isize,
16321 >(
16322 this: *mut core::ffi::c_void,
16323 value: *mut windows_core::BOOL,
16324 ) -> windows_core::HRESULT {
16325 unsafe {
16326 let this: &Identity =
16327 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16328 match ICoreWebView2WindowFeatures_Impl::HasPosition(this) {
16329 Ok(ok__) => {
16330 value.write(core::mem::transmute(ok__));
16331 windows_core::HRESULT(0)
16332 }
16333 Err(err) => err.into(),
16334 }
16335 }
16336 }
16337 unsafe extern "system" fn HasSize<
16338 Identity: ICoreWebView2WindowFeatures_Impl,
16339 const OFFSET: isize,
16340 >(
16341 this: *mut core::ffi::c_void,
16342 value: *mut windows_core::BOOL,
16343 ) -> windows_core::HRESULT {
16344 unsafe {
16345 let this: &Identity =
16346 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16347 match ICoreWebView2WindowFeatures_Impl::HasSize(this) {
16348 Ok(ok__) => {
16349 value.write(core::mem::transmute(ok__));
16350 windows_core::HRESULT(0)
16351 }
16352 Err(err) => err.into(),
16353 }
16354 }
16355 }
16356 unsafe extern "system" fn Left<
16357 Identity: ICoreWebView2WindowFeatures_Impl,
16358 const OFFSET: isize,
16359 >(
16360 this: *mut core::ffi::c_void,
16361 value: *mut u32,
16362 ) -> windows_core::HRESULT {
16363 unsafe {
16364 let this: &Identity =
16365 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16366 match ICoreWebView2WindowFeatures_Impl::Left(this) {
16367 Ok(ok__) => {
16368 value.write(core::mem::transmute(ok__));
16369 windows_core::HRESULT(0)
16370 }
16371 Err(err) => err.into(),
16372 }
16373 }
16374 }
16375 unsafe extern "system" fn Top<
16376 Identity: ICoreWebView2WindowFeatures_Impl,
16377 const OFFSET: isize,
16378 >(
16379 this: *mut core::ffi::c_void,
16380 value: *mut u32,
16381 ) -> windows_core::HRESULT {
16382 unsafe {
16383 let this: &Identity =
16384 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16385 match ICoreWebView2WindowFeatures_Impl::Top(this) {
16386 Ok(ok__) => {
16387 value.write(core::mem::transmute(ok__));
16388 windows_core::HRESULT(0)
16389 }
16390 Err(err) => err.into(),
16391 }
16392 }
16393 }
16394 unsafe extern "system" fn Height<
16395 Identity: ICoreWebView2WindowFeatures_Impl,
16396 const OFFSET: isize,
16397 >(
16398 this: *mut core::ffi::c_void,
16399 value: *mut u32,
16400 ) -> windows_core::HRESULT {
16401 unsafe {
16402 let this: &Identity =
16403 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16404 match ICoreWebView2WindowFeatures_Impl::Height(this) {
16405 Ok(ok__) => {
16406 value.write(core::mem::transmute(ok__));
16407 windows_core::HRESULT(0)
16408 }
16409 Err(err) => err.into(),
16410 }
16411 }
16412 }
16413 unsafe extern "system" fn Width<
16414 Identity: ICoreWebView2WindowFeatures_Impl,
16415 const OFFSET: isize,
16416 >(
16417 this: *mut core::ffi::c_void,
16418 value: *mut u32,
16419 ) -> windows_core::HRESULT {
16420 unsafe {
16421 let this: &Identity =
16422 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16423 match ICoreWebView2WindowFeatures_Impl::Width(this) {
16424 Ok(ok__) => {
16425 value.write(core::mem::transmute(ok__));
16426 windows_core::HRESULT(0)
16427 }
16428 Err(err) => err.into(),
16429 }
16430 }
16431 }
16432 unsafe extern "system" fn ShouldDisplayMenuBar<
16433 Identity: ICoreWebView2WindowFeatures_Impl,
16434 const OFFSET: isize,
16435 >(
16436 this: *mut core::ffi::c_void,
16437 value: *mut windows_core::BOOL,
16438 ) -> windows_core::HRESULT {
16439 unsafe {
16440 let this: &Identity =
16441 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16442 match ICoreWebView2WindowFeatures_Impl::ShouldDisplayMenuBar(this) {
16443 Ok(ok__) => {
16444 value.write(core::mem::transmute(ok__));
16445 windows_core::HRESULT(0)
16446 }
16447 Err(err) => err.into(),
16448 }
16449 }
16450 }
16451 unsafe extern "system" fn ShouldDisplayStatus<
16452 Identity: ICoreWebView2WindowFeatures_Impl,
16453 const OFFSET: isize,
16454 >(
16455 this: *mut core::ffi::c_void,
16456 value: *mut windows_core::BOOL,
16457 ) -> windows_core::HRESULT {
16458 unsafe {
16459 let this: &Identity =
16460 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16461 match ICoreWebView2WindowFeatures_Impl::ShouldDisplayStatus(this) {
16462 Ok(ok__) => {
16463 value.write(core::mem::transmute(ok__));
16464 windows_core::HRESULT(0)
16465 }
16466 Err(err) => err.into(),
16467 }
16468 }
16469 }
16470 unsafe extern "system" fn ShouldDisplayToolbar<
16471 Identity: ICoreWebView2WindowFeatures_Impl,
16472 const OFFSET: isize,
16473 >(
16474 this: *mut core::ffi::c_void,
16475 value: *mut windows_core::BOOL,
16476 ) -> windows_core::HRESULT {
16477 unsafe {
16478 let this: &Identity =
16479 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16480 match ICoreWebView2WindowFeatures_Impl::ShouldDisplayToolbar(this) {
16481 Ok(ok__) => {
16482 value.write(core::mem::transmute(ok__));
16483 windows_core::HRESULT(0)
16484 }
16485 Err(err) => err.into(),
16486 }
16487 }
16488 }
16489 unsafe extern "system" fn ShouldDisplayScrollBars<
16490 Identity: ICoreWebView2WindowFeatures_Impl,
16491 const OFFSET: isize,
16492 >(
16493 this: *mut core::ffi::c_void,
16494 value: *mut windows_core::BOOL,
16495 ) -> windows_core::HRESULT {
16496 unsafe {
16497 let this: &Identity =
16498 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16499 match ICoreWebView2WindowFeatures_Impl::ShouldDisplayScrollBars(this) {
16500 Ok(ok__) => {
16501 value.write(core::mem::transmute(ok__));
16502 windows_core::HRESULT(0)
16503 }
16504 Err(err) => err.into(),
16505 }
16506 }
16507 }
16508 Self {
16509 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16510 HasPosition: HasPosition::<Identity, OFFSET>,
16511 HasSize: HasSize::<Identity, OFFSET>,
16512 Left: Left::<Identity, OFFSET>,
16513 Top: Top::<Identity, OFFSET>,
16514 Height: Height::<Identity, OFFSET>,
16515 Width: Width::<Identity, OFFSET>,
16516 ShouldDisplayMenuBar: ShouldDisplayMenuBar::<Identity, OFFSET>,
16517 ShouldDisplayStatus: ShouldDisplayStatus::<Identity, OFFSET>,
16518 ShouldDisplayToolbar: ShouldDisplayToolbar::<Identity, OFFSET>,
16519 ShouldDisplayScrollBars: ShouldDisplayScrollBars::<Identity, OFFSET>,
16520 }
16521 }
16522 pub fn matches(iid: &windows_core::GUID) -> bool {
16523 iid == &<ICoreWebView2WindowFeatures as windows_core::Interface>::IID
16524 }
16525}
16526impl windows_core::RuntimeName for ICoreWebView2WindowFeatures {}
16527windows_core::imp::define_interface!(
16528 ICoreWebView2ZoomFactorChangedEventHandler,
16529 ICoreWebView2ZoomFactorChangedEventHandler_Vtbl,
16530 0xb52d71d6_c4df_4543_a90c_64a3e60f38cb
16531);
16532windows_core::imp::interface_hierarchy!(
16533 ICoreWebView2ZoomFactorChangedEventHandler,
16534 windows_core::IUnknown
16535);
16536impl ICoreWebView2ZoomFactorChangedEventHandler {
16537 pub unsafe fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
16538 where
16539 P0: windows_core::Param<ICoreWebView2Controller>,
16540 P1: windows_core::Param<windows_core::IUnknown>,
16541 {
16542 unsafe {
16543 (windows_core::Interface::vtable(self).Invoke)(
16544 windows_core::Interface::as_raw(self),
16545 sender.param().abi(),
16546 args.param().abi(),
16547 )
16548 .ok()
16549 }
16550 }
16551}
16552#[repr(C)]
16553#[doc(hidden)]
16554pub struct ICoreWebView2ZoomFactorChangedEventHandler_Vtbl {
16555 pub base__: windows_core::IUnknown_Vtbl,
16556 pub Invoke: unsafe extern "system" fn(
16557 *mut core::ffi::c_void,
16558 *mut core::ffi::c_void,
16559 *mut core::ffi::c_void,
16560 ) -> windows_core::HRESULT,
16561}
16562pub trait ICoreWebView2ZoomFactorChangedEventHandler_Impl: windows_core::IUnknownImpl {
16563 fn Invoke(
16564 &self,
16565 sender: windows_core::Ref<ICoreWebView2Controller>,
16566 args: windows_core::Ref<windows_core::IUnknown>,
16567 ) -> windows_core::Result<()>;
16568}
16569impl ICoreWebView2ZoomFactorChangedEventHandler_Vtbl {
16570 pub const fn new<
16571 Identity: ICoreWebView2ZoomFactorChangedEventHandler_Impl,
16572 const OFFSET: isize,
16573 >() -> Self {
16574 unsafe extern "system" fn Invoke<
16575 Identity: ICoreWebView2ZoomFactorChangedEventHandler_Impl,
16576 const OFFSET: isize,
16577 >(
16578 this: *mut core::ffi::c_void,
16579 sender: *mut core::ffi::c_void,
16580 args: *mut core::ffi::c_void,
16581 ) -> windows_core::HRESULT {
16582 unsafe {
16583 let this: &Identity =
16584 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16585 ICoreWebView2ZoomFactorChangedEventHandler_Impl::Invoke(
16586 this,
16587 core::mem::transmute_copy(&sender),
16588 core::mem::transmute_copy(&args),
16589 )
16590 .into()
16591 }
16592 }
16593 Self {
16594 base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
16595 Invoke: Invoke::<Identity, OFFSET>,
16596 }
16597 }
16598 pub fn matches(iid: &windows_core::GUID) -> bool {
16599 iid == &<ICoreWebView2ZoomFactorChangedEventHandler as windows_core::Interface>::IID
16600 }
16601}
16602impl windows_core::RuntimeName for ICoreWebView2ZoomFactorChangedEventHandler {}
16603windows_core::imp::define_interface!(
16604 ICoreWebView2_2,
16605 ICoreWebView2_2_Vtbl,
16606 0x9e8f0cf8_e670_4b5e_b2bc_73e061e3184c
16607);
16608impl core::ops::Deref for ICoreWebView2_2 {
16609 type Target = ICoreWebView2;
16610 fn deref(&self) -> &Self::Target {
16611 unsafe { core::mem::transmute(self) }
16612 }
16613}
16614windows_core::imp::interface_hierarchy!(ICoreWebView2_2, windows_core::IUnknown, ICoreWebView2);
16615impl ICoreWebView2_2 {
16616 pub unsafe fn WebResourceResponseReceived<P0>(
16617 &self,
16618 eventhandler: P0,
16619 ) -> windows_core::Result<i64>
16620 where
16621 P0: windows_core::Param<ICoreWebView2WebResourceResponseReceivedEventHandler>,
16622 {
16623 unsafe {
16624 let mut result__ = core::mem::zeroed();
16625 (windows_core::Interface::vtable(self).WebResourceResponseReceived)(
16626 windows_core::Interface::as_raw(self),
16627 eventhandler.param().abi(),
16628 &mut result__,
16629 )
16630 .map(|| result__)
16631 }
16632 }
16633 pub unsafe fn RemoveWebResourceResponseReceived(&self, token: i64) -> windows_core::Result<()> {
16634 unsafe {
16635 (windows_core::Interface::vtable(self).RemoveWebResourceResponseReceived)(
16636 windows_core::Interface::as_raw(self),
16637 token,
16638 )
16639 .ok()
16640 }
16641 }
16642 pub unsafe fn NavigateWithWebResourceRequest<P0>(&self, request: P0) -> windows_core::Result<()>
16643 where
16644 P0: windows_core::Param<ICoreWebView2WebResourceRequest>,
16645 {
16646 unsafe {
16647 (windows_core::Interface::vtable(self).NavigateWithWebResourceRequest)(
16648 windows_core::Interface::as_raw(self),
16649 request.param().abi(),
16650 )
16651 .ok()
16652 }
16653 }
16654 pub unsafe fn DOMContentLoaded<P0>(&self, eventhandler: P0) -> windows_core::Result<i64>
16655 where
16656 P0: windows_core::Param<ICoreWebView2DOMContentLoadedEventHandler>,
16657 {
16658 unsafe {
16659 let mut result__ = core::mem::zeroed();
16660 (windows_core::Interface::vtable(self).DOMContentLoaded)(
16661 windows_core::Interface::as_raw(self),
16662 eventhandler.param().abi(),
16663 &mut result__,
16664 )
16665 .map(|| result__)
16666 }
16667 }
16668 pub unsafe fn RemoveDOMContentLoaded(&self, token: i64) -> windows_core::Result<()> {
16669 unsafe {
16670 (windows_core::Interface::vtable(self).RemoveDOMContentLoaded)(
16671 windows_core::Interface::as_raw(self),
16672 token,
16673 )
16674 .ok()
16675 }
16676 }
16677 pub unsafe fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager> {
16678 unsafe {
16679 let mut result__ = core::mem::zeroed();
16680 (windows_core::Interface::vtable(self).CookieManager)(
16681 windows_core::Interface::as_raw(self),
16682 &mut result__,
16683 )
16684 .and_then(|| windows_core::Type::from_abi(result__))
16685 }
16686 }
16687 pub unsafe fn Environment(&self) -> windows_core::Result<ICoreWebView2Environment> {
16688 unsafe {
16689 let mut result__ = core::mem::zeroed();
16690 (windows_core::Interface::vtable(self).Environment)(
16691 windows_core::Interface::as_raw(self),
16692 &mut result__,
16693 )
16694 .and_then(|| windows_core::Type::from_abi(result__))
16695 }
16696 }
16697}
16698#[repr(C)]
16699#[doc(hidden)]
16700pub struct ICoreWebView2_2_Vtbl {
16701 pub base__: ICoreWebView2_Vtbl,
16702 pub WebResourceResponseReceived: unsafe extern "system" fn(
16703 *mut core::ffi::c_void,
16704 *mut core::ffi::c_void,
16705 *mut i64,
16706 ) -> windows_core::HRESULT,
16707 pub RemoveWebResourceResponseReceived:
16708 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
16709 pub NavigateWithWebResourceRequest: unsafe extern "system" fn(
16710 *mut core::ffi::c_void,
16711 *mut core::ffi::c_void,
16712 ) -> windows_core::HRESULT,
16713 pub DOMContentLoaded: unsafe extern "system" fn(
16714 *mut core::ffi::c_void,
16715 *mut core::ffi::c_void,
16716 *mut i64,
16717 ) -> windows_core::HRESULT,
16718 pub RemoveDOMContentLoaded:
16719 unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
16720 pub CookieManager: unsafe extern "system" fn(
16721 *mut core::ffi::c_void,
16722 *mut *mut core::ffi::c_void,
16723 ) -> windows_core::HRESULT,
16724 pub Environment: unsafe extern "system" fn(
16725 *mut core::ffi::c_void,
16726 *mut *mut core::ffi::c_void,
16727 ) -> windows_core::HRESULT,
16728}
16729pub trait ICoreWebView2_2_Impl: ICoreWebView2_Impl {
16730 fn WebResourceResponseReceived(
16731 &self,
16732 eventhandler: windows_core::Ref<ICoreWebView2WebResourceResponseReceivedEventHandler>,
16733 ) -> windows_core::Result<i64>;
16734 fn RemoveWebResourceResponseReceived(&self, token: i64) -> windows_core::Result<()>;
16735 fn NavigateWithWebResourceRequest(
16736 &self,
16737 request: windows_core::Ref<ICoreWebView2WebResourceRequest>,
16738 ) -> windows_core::Result<()>;
16739 fn DOMContentLoaded(
16740 &self,
16741 eventhandler: windows_core::Ref<ICoreWebView2DOMContentLoadedEventHandler>,
16742 ) -> windows_core::Result<i64>;
16743 fn RemoveDOMContentLoaded(&self, token: i64) -> windows_core::Result<()>;
16744 fn CookieManager(&self) -> windows_core::Result<ICoreWebView2CookieManager>;
16745 fn Environment(&self) -> windows_core::Result<ICoreWebView2Environment>;
16746}
16747impl ICoreWebView2_2_Vtbl {
16748 pub const fn new<Identity: ICoreWebView2_2_Impl, const OFFSET: isize>() -> Self {
16749 unsafe extern "system" fn WebResourceResponseReceived<
16750 Identity: ICoreWebView2_2_Impl,
16751 const OFFSET: isize,
16752 >(
16753 this: *mut core::ffi::c_void,
16754 eventhandler: *mut core::ffi::c_void,
16755 token: *mut i64,
16756 ) -> windows_core::HRESULT {
16757 unsafe {
16758 let this: &Identity =
16759 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16760 match ICoreWebView2_2_Impl::WebResourceResponseReceived(
16761 this,
16762 core::mem::transmute_copy(&eventhandler),
16763 ) {
16764 Ok(ok__) => {
16765 token.write(core::mem::transmute(ok__));
16766 windows_core::HRESULT(0)
16767 }
16768 Err(err) => err.into(),
16769 }
16770 }
16771 }
16772 unsafe extern "system" fn RemoveWebResourceResponseReceived<
16773 Identity: ICoreWebView2_2_Impl,
16774 const OFFSET: isize,
16775 >(
16776 this: *mut core::ffi::c_void,
16777 token: i64,
16778 ) -> windows_core::HRESULT {
16779 unsafe {
16780 let this: &Identity =
16781 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16782 ICoreWebView2_2_Impl::RemoveWebResourceResponseReceived(
16783 this,
16784 core::mem::transmute_copy(&token),
16785 )
16786 .into()
16787 }
16788 }
16789 unsafe extern "system" fn NavigateWithWebResourceRequest<
16790 Identity: ICoreWebView2_2_Impl,
16791 const OFFSET: isize,
16792 >(
16793 this: *mut core::ffi::c_void,
16794 request: *mut core::ffi::c_void,
16795 ) -> windows_core::HRESULT {
16796 unsafe {
16797 let this: &Identity =
16798 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16799 ICoreWebView2_2_Impl::NavigateWithWebResourceRequest(
16800 this,
16801 core::mem::transmute_copy(&request),
16802 )
16803 .into()
16804 }
16805 }
16806 unsafe extern "system" fn DOMContentLoaded<
16807 Identity: ICoreWebView2_2_Impl,
16808 const OFFSET: isize,
16809 >(
16810 this: *mut core::ffi::c_void,
16811 eventhandler: *mut core::ffi::c_void,
16812 token: *mut i64,
16813 ) -> windows_core::HRESULT {
16814 unsafe {
16815 let this: &Identity =
16816 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16817 match ICoreWebView2_2_Impl::DOMContentLoaded(
16818 this,
16819 core::mem::transmute_copy(&eventhandler),
16820 ) {
16821 Ok(ok__) => {
16822 token.write(core::mem::transmute(ok__));
16823 windows_core::HRESULT(0)
16824 }
16825 Err(err) => err.into(),
16826 }
16827 }
16828 }
16829 unsafe extern "system" fn RemoveDOMContentLoaded<
16830 Identity: ICoreWebView2_2_Impl,
16831 const OFFSET: isize,
16832 >(
16833 this: *mut core::ffi::c_void,
16834 token: i64,
16835 ) -> windows_core::HRESULT {
16836 unsafe {
16837 let this: &Identity =
16838 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16839 ICoreWebView2_2_Impl::RemoveDOMContentLoaded(
16840 this,
16841 core::mem::transmute_copy(&token),
16842 )
16843 .into()
16844 }
16845 }
16846 unsafe extern "system" fn CookieManager<
16847 Identity: ICoreWebView2_2_Impl,
16848 const OFFSET: isize,
16849 >(
16850 this: *mut core::ffi::c_void,
16851 cookiemanager: *mut *mut core::ffi::c_void,
16852 ) -> windows_core::HRESULT {
16853 unsafe {
16854 let this: &Identity =
16855 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16856 match ICoreWebView2_2_Impl::CookieManager(this) {
16857 Ok(ok__) => {
16858 cookiemanager.write(core::mem::transmute(ok__));
16859 windows_core::HRESULT(0)
16860 }
16861 Err(err) => err.into(),
16862 }
16863 }
16864 }
16865 unsafe extern "system" fn Environment<
16866 Identity: ICoreWebView2_2_Impl,
16867 const OFFSET: isize,
16868 >(
16869 this: *mut core::ffi::c_void,
16870 environment: *mut *mut core::ffi::c_void,
16871 ) -> windows_core::HRESULT {
16872 unsafe {
16873 let this: &Identity =
16874 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16875 match ICoreWebView2_2_Impl::Environment(this) {
16876 Ok(ok__) => {
16877 environment.write(core::mem::transmute(ok__));
16878 windows_core::HRESULT(0)
16879 }
16880 Err(err) => err.into(),
16881 }
16882 }
16883 }
16884 Self {
16885 base__: ICoreWebView2_Vtbl::new::<Identity, OFFSET>(),
16886 WebResourceResponseReceived: WebResourceResponseReceived::<Identity, OFFSET>,
16887 RemoveWebResourceResponseReceived: RemoveWebResourceResponseReceived::<Identity, OFFSET>,
16888 NavigateWithWebResourceRequest: NavigateWithWebResourceRequest::<Identity, OFFSET>,
16889 DOMContentLoaded: DOMContentLoaded::<Identity, OFFSET>,
16890 RemoveDOMContentLoaded: RemoveDOMContentLoaded::<Identity, OFFSET>,
16891 CookieManager: CookieManager::<Identity, OFFSET>,
16892 Environment: Environment::<Identity, OFFSET>,
16893 }
16894 }
16895 pub fn matches(iid: &windows_core::GUID) -> bool {
16896 iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
16897 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
16898 }
16899}
16900impl windows_core::RuntimeName for ICoreWebView2_2 {}
16901windows_core::imp::define_interface!(
16902 ICoreWebView2_3,
16903 ICoreWebView2_3_Vtbl,
16904 0xa0d6df20_3b92_416d_aa0c_437a9c727857
16905);
16906impl core::ops::Deref for ICoreWebView2_3 {
16907 type Target = ICoreWebView2_2;
16908 fn deref(&self) -> &Self::Target {
16909 unsafe { core::mem::transmute(self) }
16910 }
16911}
16912windows_core::imp::interface_hierarchy!(
16913 ICoreWebView2_3,
16914 windows_core::IUnknown,
16915 ICoreWebView2,
16916 ICoreWebView2_2
16917);
16918impl ICoreWebView2_3 {
16919 pub unsafe fn TrySuspend<P0>(&self, handler: P0) -> windows_core::Result<()>
16920 where
16921 P0: windows_core::Param<ICoreWebView2TrySuspendCompletedHandler>,
16922 {
16923 unsafe {
16924 (windows_core::Interface::vtable(self).TrySuspend)(
16925 windows_core::Interface::as_raw(self),
16926 handler.param().abi(),
16927 )
16928 .ok()
16929 }
16930 }
16931 pub unsafe fn Resume(&self) -> windows_core::Result<()> {
16932 unsafe {
16933 (windows_core::Interface::vtable(self).Resume)(windows_core::Interface::as_raw(self))
16934 .ok()
16935 }
16936 }
16937 pub unsafe fn IsSuspended(&self) -> windows_core::Result<windows_core::BOOL> {
16938 unsafe {
16939 let mut result__ = core::mem::zeroed();
16940 (windows_core::Interface::vtable(self).IsSuspended)(
16941 windows_core::Interface::as_raw(self),
16942 &mut result__,
16943 )
16944 .map(|| result__)
16945 }
16946 }
16947 pub unsafe fn SetVirtualHostNameToFolderMapping<P0, P1>(
16948 &self,
16949 hostname: P0,
16950 folderpath: P1,
16951 accesskind: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
16952 ) -> windows_core::Result<()>
16953 where
16954 P0: windows_core::Param<windows_core::PCWSTR>,
16955 P1: windows_core::Param<windows_core::PCWSTR>,
16956 {
16957 unsafe {
16958 (windows_core::Interface::vtable(self).SetVirtualHostNameToFolderMapping)(
16959 windows_core::Interface::as_raw(self),
16960 hostname.param().abi(),
16961 folderpath.param().abi(),
16962 accesskind,
16963 )
16964 .ok()
16965 }
16966 }
16967 pub unsafe fn ClearVirtualHostNameToFolderMapping<P0>(
16968 &self,
16969 hostname: P0,
16970 ) -> windows_core::Result<()>
16971 where
16972 P0: windows_core::Param<windows_core::PCWSTR>,
16973 {
16974 unsafe {
16975 (windows_core::Interface::vtable(self).ClearVirtualHostNameToFolderMapping)(
16976 windows_core::Interface::as_raw(self),
16977 hostname.param().abi(),
16978 )
16979 .ok()
16980 }
16981 }
16982}
16983#[repr(C)]
16984#[doc(hidden)]
16985pub struct ICoreWebView2_3_Vtbl {
16986 pub base__: ICoreWebView2_2_Vtbl,
16987 pub TrySuspend: unsafe extern "system" fn(
16988 *mut core::ffi::c_void,
16989 *mut core::ffi::c_void,
16990 ) -> windows_core::HRESULT,
16991 pub Resume: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
16992 pub IsSuspended: unsafe extern "system" fn(
16993 *mut core::ffi::c_void,
16994 *mut windows_core::BOOL,
16995 ) -> windows_core::HRESULT,
16996 pub SetVirtualHostNameToFolderMapping: unsafe extern "system" fn(
16997 *mut core::ffi::c_void,
16998 windows_core::PCWSTR,
16999 windows_core::PCWSTR,
17000 COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
17001 ) -> windows_core::HRESULT,
17002 pub ClearVirtualHostNameToFolderMapping: unsafe extern "system" fn(
17003 *mut core::ffi::c_void,
17004 windows_core::PCWSTR,
17005 )
17006 -> windows_core::HRESULT,
17007}
17008pub trait ICoreWebView2_3_Impl: ICoreWebView2_2_Impl {
17009 fn TrySuspend(
17010 &self,
17011 handler: windows_core::Ref<ICoreWebView2TrySuspendCompletedHandler>,
17012 ) -> windows_core::Result<()>;
17013 fn Resume(&self) -> windows_core::Result<()>;
17014 fn IsSuspended(&self) -> windows_core::Result<windows_core::BOOL>;
17015 fn SetVirtualHostNameToFolderMapping(
17016 &self,
17017 hostname: &windows_core::PCWSTR,
17018 folderpath: &windows_core::PCWSTR,
17019 accesskind: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
17020 ) -> windows_core::Result<()>;
17021 fn ClearVirtualHostNameToFolderMapping(
17022 &self,
17023 hostname: &windows_core::PCWSTR,
17024 ) -> windows_core::Result<()>;
17025}
17026impl ICoreWebView2_3_Vtbl {
17027 pub const fn new<Identity: ICoreWebView2_3_Impl, const OFFSET: isize>() -> Self {
17028 unsafe extern "system" fn TrySuspend<
17029 Identity: ICoreWebView2_3_Impl,
17030 const OFFSET: isize,
17031 >(
17032 this: *mut core::ffi::c_void,
17033 handler: *mut core::ffi::c_void,
17034 ) -> windows_core::HRESULT {
17035 unsafe {
17036 let this: &Identity =
17037 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17038 ICoreWebView2_3_Impl::TrySuspend(this, core::mem::transmute_copy(&handler)).into()
17039 }
17040 }
17041 unsafe extern "system" fn Resume<Identity: ICoreWebView2_3_Impl, const OFFSET: isize>(
17042 this: *mut core::ffi::c_void,
17043 ) -> windows_core::HRESULT {
17044 unsafe {
17045 let this: &Identity =
17046 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17047 ICoreWebView2_3_Impl::Resume(this).into()
17048 }
17049 }
17050 unsafe extern "system" fn IsSuspended<
17051 Identity: ICoreWebView2_3_Impl,
17052 const OFFSET: isize,
17053 >(
17054 this: *mut core::ffi::c_void,
17055 issuspended: *mut windows_core::BOOL,
17056 ) -> windows_core::HRESULT {
17057 unsafe {
17058 let this: &Identity =
17059 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17060 match ICoreWebView2_3_Impl::IsSuspended(this) {
17061 Ok(ok__) => {
17062 issuspended.write(core::mem::transmute(ok__));
17063 windows_core::HRESULT(0)
17064 }
17065 Err(err) => err.into(),
17066 }
17067 }
17068 }
17069 unsafe extern "system" fn SetVirtualHostNameToFolderMapping<
17070 Identity: ICoreWebView2_3_Impl,
17071 const OFFSET: isize,
17072 >(
17073 this: *mut core::ffi::c_void,
17074 hostname: windows_core::PCWSTR,
17075 folderpath: windows_core::PCWSTR,
17076 accesskind: COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND,
17077 ) -> windows_core::HRESULT {
17078 unsafe {
17079 let this: &Identity =
17080 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17081 ICoreWebView2_3_Impl::SetVirtualHostNameToFolderMapping(
17082 this,
17083 core::mem::transmute(&hostname),
17084 core::mem::transmute(&folderpath),
17085 core::mem::transmute_copy(&accesskind),
17086 )
17087 .into()
17088 }
17089 }
17090 unsafe extern "system" fn ClearVirtualHostNameToFolderMapping<
17091 Identity: ICoreWebView2_3_Impl,
17092 const OFFSET: isize,
17093 >(
17094 this: *mut core::ffi::c_void,
17095 hostname: windows_core::PCWSTR,
17096 ) -> windows_core::HRESULT {
17097 unsafe {
17098 let this: &Identity =
17099 &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17100 ICoreWebView2_3_Impl::ClearVirtualHostNameToFolderMapping(
17101 this,
17102 core::mem::transmute(&hostname),
17103 )
17104 .into()
17105 }
17106 }
17107 Self {
17108 base__: ICoreWebView2_2_Vtbl::new::<Identity, OFFSET>(),
17109 TrySuspend: TrySuspend::<Identity, OFFSET>,
17110 Resume: Resume::<Identity, OFFSET>,
17111 IsSuspended: IsSuspended::<Identity, OFFSET>,
17112 SetVirtualHostNameToFolderMapping: SetVirtualHostNameToFolderMapping::<Identity, OFFSET>,
17113 ClearVirtualHostNameToFolderMapping: ClearVirtualHostNameToFolderMapping::<
17114 Identity,
17115 OFFSET,
17116 >,
17117 }
17118 }
17119 pub fn matches(iid: &windows_core::GUID) -> bool {
17120 iid == &<ICoreWebView2_3 as windows_core::Interface>::IID
17121 || iid == &<ICoreWebView2 as windows_core::Interface>::IID
17122 || iid == &<ICoreWebView2_2 as windows_core::Interface>::IID
17123 }
17124}
17125impl windows_core::RuntimeName for ICoreWebView2_3 {}