setupapi: Pass pointers instead of values
This commit is contained in:
parent
cb2bc4b34c
commit
652158ec3c
|
@ -64,7 +64,7 @@ type _SP_DEVINFO_LIST_DETAIL_DATA struct {
|
||||||
RemoteMachineName [SP_MAX_MACHINENAME_LENGTH]uint16
|
RemoteMachineName [SP_MAX_MACHINENAME_LENGTH]uint16
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_data _SP_DEVINFO_LIST_DETAIL_DATA) toGo() *DevInfoListDetailData {
|
func (_data *_SP_DEVINFO_LIST_DETAIL_DATA) toGo() *DevInfoListDetailData {
|
||||||
return &DevInfoListDetailData{
|
return &DevInfoListDetailData{
|
||||||
ClassGUID: _data.ClassGUID,
|
ClassGUID: _data.ClassGUID,
|
||||||
RemoteMachineHandle: _data.RemoteMachineHandle,
|
RemoteMachineHandle: _data.RemoteMachineHandle,
|
||||||
|
@ -137,7 +137,7 @@ type _SP_DEVINSTALL_PARAMS struct {
|
||||||
DriverPath [windows.MAX_PATH]uint16
|
DriverPath [windows.MAX_PATH]uint16
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_data _SP_DEVINSTALL_PARAMS) toGo() *DevInstallParams {
|
func (_data *_SP_DEVINSTALL_PARAMS) toGo() *DevInstallParams {
|
||||||
return &DevInstallParams{
|
return &DevInstallParams{
|
||||||
Flags: _data.Flags,
|
Flags: _data.Flags,
|
||||||
FlagsEx: _data.FlagsEx,
|
FlagsEx: _data.FlagsEx,
|
||||||
|
@ -160,7 +160,7 @@ type DevInstallParams struct {
|
||||||
DriverPath string
|
DriverPath string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (DeviceInstallParams DevInstallParams) toWindows() (_data *_SP_DEVINSTALL_PARAMS, err error) {
|
func (DeviceInstallParams *DevInstallParams) toWindows() (_data *_SP_DEVINSTALL_PARAMS, err error) {
|
||||||
_data = &_SP_DEVINSTALL_PARAMS{
|
_data = &_SP_DEVINSTALL_PARAMS{
|
||||||
Flags: DeviceInstallParams.Flags,
|
Flags: DeviceInstallParams.Flags,
|
||||||
FlagsEx: DeviceInstallParams.FlagsEx,
|
FlagsEx: DeviceInstallParams.FlagsEx,
|
||||||
|
@ -326,7 +326,7 @@ type SP_DRVINFO_DATA struct {
|
||||||
DriverVersion uint64
|
DriverVersion uint64
|
||||||
}
|
}
|
||||||
|
|
||||||
func (data SP_DRVINFO_DATA) ToGo() *DrvInfoData {
|
func (data *SP_DRVINFO_DATA) ToGo() *DrvInfoData {
|
||||||
return &DrvInfoData{
|
return &DrvInfoData{
|
||||||
DriverType: data.DriverType,
|
DriverType: data.DriverType,
|
||||||
Description: windows.UTF16ToString(data.Description[:]),
|
Description: windows.UTF16ToString(data.Description[:]),
|
||||||
|
@ -338,7 +338,7 @@ func (data SP_DRVINFO_DATA) ToGo() *DrvInfoData {
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsNewer method returns true if SP_DRVINFO_DATA date and version is newer than supplied parameters.
|
// IsNewer method returns true if SP_DRVINFO_DATA date and version is newer than supplied parameters.
|
||||||
func (data SP_DRVINFO_DATA) IsNewer(DriverDate windows.Filetime, DriverVersion uint64) bool {
|
func (data *SP_DRVINFO_DATA) IsNewer(DriverDate windows.Filetime, DriverVersion uint64) bool {
|
||||||
if data.DriverDate.HighDateTime > DriverDate.HighDateTime {
|
if data.DriverDate.HighDateTime > DriverDate.HighDateTime {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
@ -373,7 +373,7 @@ type DrvInfoData struct {
|
||||||
DriverVersion uint64
|
DriverVersion uint64
|
||||||
}
|
}
|
||||||
|
|
||||||
func (DriverInfoData DrvInfoData) ToWindows() (data *SP_DRVINFO_DATA, err error) {
|
func (DriverInfoData *DrvInfoData) ToWindows() (data *SP_DRVINFO_DATA, err error) {
|
||||||
data = &SP_DRVINFO_DATA{
|
data = &SP_DRVINFO_DATA{
|
||||||
DriverType: DriverInfoData.DriverType,
|
DriverType: DriverInfoData.DriverType,
|
||||||
DriverDate: DriverInfoData.DriverDate,
|
DriverDate: DriverInfoData.DriverDate,
|
||||||
|
@ -414,7 +414,7 @@ type _SP_DRVINFO_DETAIL_DATA struct {
|
||||||
HardwareID [1]uint16
|
HardwareID [1]uint16
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_data _SP_DRVINFO_DETAIL_DATA) toGo(bufLen uint32) (DriverInfoDetailData *DrvInfoDetailData) {
|
func (_data *_SP_DRVINFO_DETAIL_DATA) toGo(bufLen uint32) (DriverInfoDetailData *DrvInfoDetailData) {
|
||||||
DriverInfoDetailData = &DrvInfoDetailData{
|
DriverInfoDetailData = &DrvInfoDetailData{
|
||||||
InfDate: _data.InfDate,
|
InfDate: _data.InfDate,
|
||||||
SectionName: windows.UTF16ToString(_data.SectionName[:]),
|
SectionName: windows.UTF16ToString(_data.SectionName[:]),
|
||||||
|
@ -443,7 +443,7 @@ func (_data _SP_DRVINFO_DETAIL_DATA) toGo(bufLen uint32) (DriverInfoDetailData *
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_data _SP_DRVINFO_DETAIL_DATA) getBuf(bufLen uint32) []uint16 {
|
func (_data *_SP_DRVINFO_DETAIL_DATA) getBuf(bufLen uint32) []uint16 {
|
||||||
len := (bufLen - uint32(unsafe.Offsetof(_data.HardwareID))) / 2
|
len := (bufLen - uint32(unsafe.Offsetof(_data.HardwareID))) / 2
|
||||||
sl := struct {
|
sl := struct {
|
||||||
addr *uint16
|
addr *uint16
|
||||||
|
@ -464,7 +464,7 @@ type DrvInfoDetailData struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsCompatible method tests if given hardware ID matches the driver or is listed on the compatible ID list.
|
// IsCompatible method tests if given hardware ID matches the driver or is listed on the compatible ID list.
|
||||||
func (DriverInfoDetailData DrvInfoDetailData) IsCompatible(hwid string) bool {
|
func (DriverInfoDetailData *DrvInfoDetailData) IsCompatible(hwid string) bool {
|
||||||
hwidLC := strings.ToLower(hwid)
|
hwidLC := strings.ToLower(hwid)
|
||||||
if strings.ToLower(DriverInfoDetailData.HardwareID) == hwidLC {
|
if strings.ToLower(DriverInfoDetailData.HardwareID) == hwidLC {
|
||||||
return true
|
return true
|
||||||
|
|
Loading…
Reference in a new issue