rum-goggles/vendor/github.com/jchv/go-winloader/internal/loader/loader.go

26 lines
686 B
Go
Raw Normal View History

2024-02-23 16:39:16 +00:00
package loader
// Module represents a loaded Windows module.
type Module interface {
// Proc returns a procedure by symbol name. Returns nil if the symbol is
// not found.
Proc(name string) Proc
// Ordinal returns a procedure by ordinal.
Ordinal(ordinal uint64) Proc
// Free closes the module and frees the memory. After this, GetProcAddress
// will stop working and procedures will no longer function.
Free() error
}
// Loader represents a named module loader implementation.
type Loader interface {
Load(libname string) (Module, error)
}
// MemLoader represents a memory module loader implementation.
type MemLoader interface {
LoadMem(module []byte) (Module, error)
}