load_windows.go raw

   1  // SPDX-License-Identifier: Apache-2.0
   2  // SPDX-FileCopyrightText: 2024 The Ebitengine Authors
   3  
   4  package load
   5  
   6  import (
   7  	"syscall"
   8  )
   9  
  10  func OpenLibrary(name string) (uintptr, error) {
  11  	handle, err := syscall.LoadLibrary(name)
  12  	return uintptr(handle), err
  13  }
  14  
  15  func CloseLibrary(handle uintptr) error {
  16  	return syscall.FreeLibrary(syscall.Handle(handle))
  17  }
  18  
  19  func OpenSymbol(lib uintptr, name string) (uintptr, error) {
  20  	return syscall.GetProcAddress(syscall.Handle(lib), name)
  21  }
  22