func (f Info) OriginalFilename() string {
	p, _ := f.GetProperty("OriginalFilename")
	return p
}
OriginalFilename returns OriginalFilename property.
package fileversion
import (
	"fmt"
	"syscall"
	"unsafe"
	"golang.org/x/xerrors"
)
type FileVersion struct {
	Major uint16
	Minor uint16
	Patch uint16
	Build uint16
}
func (f FileVersion) String() string {
	return fmt.Sprintf("%d.%d.%d.%d", f.Major, f.Minor, f.Patch, f.Build)
}
type FixedFileInfo struct {
	FileVersion    FileVersion
	ProductVersion FileVersion
	FileFlagsMask  uint32
	FileFlags      uint32
	FileOs         uint32
	FileType       uint32
	FileSubType    uint32
	FileDateMS     uint32
	FileDateLS     uint32
}
type LangID uint16
type CharsetID uint16
type Locale struct {
	LangID    LangID
	CharsetID CharsetID
}
const (
	LangEnglish = LangID(0x049)
	CSAscii   = CharsetID(0x04e4)
	CSUnicode = CharsetID(0x04B0)
	CSUnknown = CharsetID(0x0000)
)
var DefaultLocales = []Locale{
	{
		LangID:    LangEnglish,
		CharsetID: CSAscii,
	},
	{
		LangID:    LangEnglish,
		CharsetID: CSUnicode,
	},
	{
		LangID:    LangEnglish,
		CharsetID: CSUnknown,
	},
}
type Info struct {
	Locales []Locale
	data    []byte
}
func New(path string) (Info, error) {
	info, err := newWithoutLocale(path)
	if err != nil {
		return Info{}, xerrors.Errorf("failed to get VersionInfo: %w", err)
	}
	if locales, err := info.getLocales(); err == nil {
		info.Locales = locales
	} else {
		info.Locales = DefaultLocales
	}
	return info, nil
}
func NewWithLocale(path string, locale Locale) (Info, error) {
	info, err := newWithoutLocale(path)
	if err != nil {
		return Info{}, xerrors.Errorf("failed to get VersionInfo: %w", err)
	}
	info.Locales = []Locale{locale}
	return info, nil
}
func (f Info) CompanyName() string {
	p, _ := f.GetProperty("CompanyName")
	return p
}
func (f Info) FileDescription() string {
	p, _ := f.GetProperty("FileDescription")
	return p
}
func (f Info) FileVersion() string {
	p, _ := f.GetProperty("FileVersion")
	return p
}
func (f Info) InternalName() string {
	p, _ := f.GetProperty("InternalName")
	return p
}
func (f Info) LegalCopyright() string {
	p, _ := f.GetProperty("LegalCopyright")
	return p
}