返回 DeepSeek-Reasonix
create_env_native.go
根目录 / desktop / third_party / go-webview2 / pkg / edge / create_env_native.go
1 //go:build windows && native_webview2loader
2
3 package edge
4
5 import (
6 "fmt"
7 "syscall"
8 "unsafe"
9
10 "github.com/wailsapp/go-webview2/webviewloader"
11
12 "golang.org/x/sys/windows"
13 )
14
15 func createCoreWebView2EnvironmentWithOptions(browserExecutableFolder, userDataFolder string, environmentCompletedHandle *iCoreWebView2CreateCoreWebView2EnvironmentCompletedHandler, additionalBrowserArgs string) error {
16 browserPathPtr, err := windows.UTF16PtrFromString(browserExecutableFolder)
17 if err != nil {
18 return fmt.Errorf("Error calling UTF16PtrFromString for %s: %v", browserExecutableFolder, err)
19 }
20
21 userPathPtr, err := windows.UTF16PtrFromString(userDataFolder)
22 if err != nil {
23 return fmt.Errorf("Error calling UTF16PtrFromString for %s: %v", userDataFolder, err)
24 }
25
26 hr, err := webviewloader.CreateCoreWebView2EnvironmentWithOptions(
27 browserPathPtr,
28 userPathPtr,
29 uintptr(unsafe.Pointer(environmentCompletedHandle)),
30 additionalBrowserArgs,
31 )
32 if err != nil {
33 return fmt.Errorf("Error calling CreateCoreWebView2EnvironmentWithOptions: %v", err)
34 }
35
36 if hr != 0 {
37 return syscall.Errno(hr)
38 }
39
40 return nil
41 }
42
42 lines GO