mirror of
https://github.com/cemu-project/DS4Windows.git
synced 2024-12-24 15:41:49 +01:00
Merge branch 'jay' into vigem-udpserver
# Conflicts: # DS4Windows/DS4Control/ScpUtil.cs
This commit is contained in:
commit
bdea569582
@ -166,6 +166,18 @@ namespace DS4Windows
|
|||||||
// Thread.SpinWait(500);
|
// Thread.SpinWait(500);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
if (Global.IsHidGuardianInstalled())
|
||||||
|
{
|
||||||
|
ProcessStartInfo startInfo =
|
||||||
|
new ProcessStartInfo(Global.exepath + "\\HidGuardHelper.exe");
|
||||||
|
startInfo.Verb = "runas";
|
||||||
|
startInfo.Arguments = Process.GetCurrentProcess().Id.ToString();
|
||||||
|
startInfo.WorkingDirectory = Global.exepath;
|
||||||
|
try
|
||||||
|
{ Process tempProc = Process.Start(startInfo); tempProc.Dispose(); }
|
||||||
|
catch { }
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0, arlength = DS4Controllers.Length; i < arlength; i++)
|
for (int i = 0, arlength = DS4Controllers.Length; i < arlength; i++)
|
||||||
{
|
{
|
||||||
processingData[i] = new X360Data();
|
processingData[i] = new X360Data();
|
||||||
|
@ -3077,11 +3077,11 @@ namespace DS4Windows
|
|||||||
|
|
||||||
switch (control)
|
switch (control)
|
||||||
{
|
{
|
||||||
case DS4Controls.LXNeg: result = cState.LX < 127 - 55; break;
|
case DS4Controls.LXNeg: result = cState.LX < 128 - 55; break;
|
||||||
case DS4Controls.LYNeg: result = cState.LY < 127 - 55; break;
|
case DS4Controls.LYNeg: result = cState.LY < 128 - 55; break;
|
||||||
case DS4Controls.RXNeg: result = cState.RX < 127 - 55; break;
|
case DS4Controls.RXNeg: result = cState.RX < 128 - 55; break;
|
||||||
case DS4Controls.RYNeg: result = cState.RY < 127 - 55; break;
|
case DS4Controls.RYNeg: result = cState.RY < 128 - 55; break;
|
||||||
default: result = axisValue > 127 + 55; break;
|
default: result = axisValue > 128 + 55; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (controlType == DS4StateFieldMapping.ControlType.Trigger)
|
else if (controlType == DS4StateFieldMapping.ControlType.Trigger)
|
||||||
@ -3448,7 +3448,7 @@ namespace DS4Windows
|
|||||||
{
|
{
|
||||||
byte result = 0;
|
byte result = 0;
|
||||||
byte trueVal = 0;
|
byte trueVal = 0;
|
||||||
byte falseVal = 127;
|
byte falseVal = 128;
|
||||||
|
|
||||||
if (alt)
|
if (alt)
|
||||||
trueVal = 255;
|
trueVal = 255;
|
||||||
@ -3548,6 +3548,7 @@ namespace DS4Windows
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* TODO: Possibly remove usage of this version of the method */
|
||||||
public static byte getXYAxisMapping(int device, DS4Controls control, DS4State cState, DS4StateExposed eState, Mouse tp, bool alt = false)
|
public static byte getXYAxisMapping(int device, DS4Controls control, DS4State cState, DS4StateExposed eState, Mouse tp, bool alt = false)
|
||||||
{
|
{
|
||||||
byte result = 0;
|
byte result = 0;
|
||||||
@ -3690,74 +3691,6 @@ namespace DS4Windows
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO: Possibly remove usage of this version of the method */
|
|
||||||
//Returns false for any bool,
|
|
||||||
//if control is one of the xy axis returns 127
|
|
||||||
//if its a trigger returns 0
|
|
||||||
public static void resetToDefaultValue(DS4Controls control, DS4State cState)
|
|
||||||
{
|
|
||||||
if (control >= DS4Controls.Square && control <= DS4Controls.Cross)
|
|
||||||
{
|
|
||||||
switch (control)
|
|
||||||
{
|
|
||||||
case DS4Controls.Cross: cState.Cross = false; break;
|
|
||||||
case DS4Controls.Square: cState.Square = false; break;
|
|
||||||
case DS4Controls.Triangle: cState.Triangle = false; break;
|
|
||||||
case DS4Controls.Circle: cState.Circle = false; break;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (control >= DS4Controls.L1 && control <= DS4Controls.R3)
|
|
||||||
{
|
|
||||||
switch (control)
|
|
||||||
{
|
|
||||||
case DS4Controls.L1: cState.L1 = false; break;
|
|
||||||
case DS4Controls.L2: cState.L2 = 0; break;
|
|
||||||
case DS4Controls.L3: cState.L3 = false; break;
|
|
||||||
case DS4Controls.R1: cState.R1 = false; break;
|
|
||||||
case DS4Controls.R2: cState.R2 = 0; break;
|
|
||||||
case DS4Controls.R3: cState.R3 = false; break;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (control >= DS4Controls.DpadUp && control <= DS4Controls.DpadLeft)
|
|
||||||
{
|
|
||||||
switch (control)
|
|
||||||
{
|
|
||||||
case DS4Controls.DpadUp: cState.DpadUp = false; break;
|
|
||||||
case DS4Controls.DpadDown: cState.DpadDown = false; break;
|
|
||||||
case DS4Controls.DpadLeft: cState.DpadLeft = false; break;
|
|
||||||
case DS4Controls.DpadRight: cState.DpadRight = false; break;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (control >= DS4Controls.LXNeg && control <= DS4Controls.RYPos)
|
|
||||||
{
|
|
||||||
switch (control)
|
|
||||||
{
|
|
||||||
case DS4Controls.LXNeg: cState.LX = 127; break;
|
|
||||||
case DS4Controls.LYNeg: cState.LY = 127; break;
|
|
||||||
case DS4Controls.RXNeg: cState.RX = 127; break;
|
|
||||||
case DS4Controls.RYNeg: cState.RY = 127; break;
|
|
||||||
case DS4Controls.LXPos: cState.LX = 127; break;
|
|
||||||
case DS4Controls.LYPos: cState.LY = 127; break;
|
|
||||||
case DS4Controls.RXPos: cState.RX = 127; break;
|
|
||||||
case DS4Controls.RYPos: cState.RY = 127; break;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
switch (control)
|
|
||||||
{
|
|
||||||
case DS4Controls.Share: cState.Share = false; break;
|
|
||||||
case DS4Controls.Options: cState.Options = false; break;
|
|
||||||
case DS4Controls.PS: cState.PS = false; break;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void resetToDefaultValue2(DS4Controls control, DS4State cState,
|
private static void resetToDefaultValue2(DS4Controls control, DS4State cState,
|
||||||
DS4StateFieldMapping fieldMap)
|
DS4StateFieldMapping fieldMap)
|
||||||
{
|
{
|
||||||
@ -3769,9 +3702,9 @@ namespace DS4Windows
|
|||||||
}
|
}
|
||||||
else if (controlType == DS4StateFieldMapping.ControlType.AxisDir)
|
else if (controlType == DS4StateFieldMapping.ControlType.AxisDir)
|
||||||
{
|
{
|
||||||
fieldMap.axisdirs[controlNum] = 127;
|
fieldMap.axisdirs[controlNum] = 128;
|
||||||
int controlRelation = (controlNum % 2 == 0 ? controlNum - 1 : controlNum + 1);
|
int controlRelation = (controlNum % 2 == 0 ? controlNum - 1 : controlNum + 1);
|
||||||
fieldMap.axisdirs[controlRelation] = 127;
|
fieldMap.axisdirs[controlRelation] = 128;
|
||||||
}
|
}
|
||||||
else if (controlType == DS4StateFieldMapping.ControlType.Trigger)
|
else if (controlType == DS4StateFieldMapping.ControlType.Trigger)
|
||||||
{
|
{
|
||||||
|
@ -227,7 +227,7 @@ namespace DS4Windows
|
|||||||
{
|
{
|
||||||
protected static BackingStore m_Config = new BackingStore();
|
protected static BackingStore m_Config = new BackingStore();
|
||||||
protected static Int32 m_IdleTimeout = 600000;
|
protected static Int32 m_IdleTimeout = 600000;
|
||||||
public static string exepath = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName;
|
public static readonly string exepath = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName;
|
||||||
public static string appdatapath;
|
public static string appdatapath;
|
||||||
public static bool firstRun = false;
|
public static bool firstRun = false;
|
||||||
public static bool multisavespots = false;
|
public static bool multisavespots = false;
|
||||||
@ -297,25 +297,28 @@ namespace DS4Windows
|
|||||||
return principal.IsInRole(WindowsBuiltInRole.Administrator);
|
return principal.IsInRole(WindowsBuiltInRole.Administrator);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsScpVBusInstalled()
|
private static bool CheckForSysDevice(string searchHardwareId)
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
Guid sysGuid = Guid.Parse("{4d36e97d-e325-11ce-bfc1-08002be10318}");
|
Guid sysGuid = Guid.Parse("{4d36e97d-e325-11ce-bfc1-08002be10318}");
|
||||||
NativeMethods.SP_DEVINFO_DATA deviceInfoData = new NativeMethods.SP_DEVINFO_DATA();
|
NativeMethods.SP_DEVINFO_DATA deviceInfoData =
|
||||||
deviceInfoData.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(deviceInfoData);
|
new NativeMethods.SP_DEVINFO_DATA();
|
||||||
|
deviceInfoData.cbSize =
|
||||||
|
System.Runtime.InteropServices.Marshal.SizeOf(deviceInfoData);
|
||||||
var dataBuffer = new byte[4096];
|
var dataBuffer = new byte[4096];
|
||||||
ulong propertyType = 0;
|
ulong propertyType = 0;
|
||||||
var requiredSize = 0;
|
var requiredSize = 0;
|
||||||
IntPtr deviceInfoSet = NativeMethods.SetupDiGetClassDevs(ref sysGuid, null, 0, 0);
|
IntPtr deviceInfoSet = NativeMethods.SetupDiGetClassDevs(ref sysGuid, null, 0, 0);
|
||||||
for (int i = 0; !result && NativeMethods.SetupDiEnumDeviceInfo(deviceInfoSet, i, ref deviceInfoData); i++)
|
for (int i = 0; !result && NativeMethods.SetupDiEnumDeviceInfo(deviceInfoSet, i, ref deviceInfoData); i++)
|
||||||
{
|
{
|
||||||
if (NativeMethods.SetupDiGetDeviceProperty(deviceInfoSet, ref deviceInfoData, ref NativeMethods.DEVPKEY_Device_HardwareIds, ref propertyType,
|
if (NativeMethods.SetupDiGetDeviceProperty(deviceInfoSet, ref deviceInfoData,
|
||||||
|
ref NativeMethods.DEVPKEY_Device_HardwareIds, ref propertyType,
|
||||||
dataBuffer, dataBuffer.Length, ref requiredSize, 0))
|
dataBuffer, dataBuffer.Length, ref requiredSize, 0))
|
||||||
{
|
{
|
||||||
string hardwareId = dataBuffer.ToUTF16String();
|
string hardwareId = dataBuffer.ToUTF16String();
|
||||||
//if (hardwareIds.Contains("Virtual Gamepad Emulation Bus"))
|
//if (hardwareIds.Contains("Virtual Gamepad Emulation Bus"))
|
||||||
// result = true;
|
// result = true;
|
||||||
if (hardwareId.Equals(@"Root\ViGEmBus"))
|
if (hardwareId.Equals(searchHardwareId))
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -328,6 +331,16 @@ namespace DS4Windows
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool IsHidGuardianInstalled()
|
||||||
|
{
|
||||||
|
return CheckForSysDevice(@"Root\HidGuardian");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsScpVBusInstalled()
|
||||||
|
{
|
||||||
|
return CheckForSysDevice(@"Root\ViGEmBus");
|
||||||
|
}
|
||||||
|
|
||||||
public static void FindConfigLocation()
|
public static void FindConfigLocation()
|
||||||
{
|
{
|
||||||
if (File.Exists(exepath + "\\Auto Profiles.xml")
|
if (File.Exists(exepath + "\\Auto Profiles.xml")
|
||||||
@ -3458,15 +3471,12 @@ namespace DS4Windows
|
|||||||
else
|
else
|
||||||
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
||||||
|
|
||||||
List<DS4ControlSettings> ds4settingsList = ds4settings[deviceNum];
|
int temp = (int)dc;
|
||||||
for (int i = 0, settingsLen = ds4settingsList.Count; i < settingsLen; i++)
|
if (temp > 0)
|
||||||
{
|
{
|
||||||
DS4ControlSettings dcs = ds4settingsList[i];
|
int index = temp - 1;
|
||||||
if (dcs.control == dc)
|
DS4ControlSettings dcs = ds4settings[deviceNum][index];
|
||||||
{
|
dcs.UpdateSettings(shift, action, exts, kt, trigger);
|
||||||
dcs.UpdateSettings(shift, action, exts, kt, trigger);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3478,19 +3488,15 @@ namespace DS4Windows
|
|||||||
else
|
else
|
||||||
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
||||||
|
|
||||||
List<DS4ControlSettings> ds4settingsList = ds4settings[deviceNum];
|
int temp = (int)dc;
|
||||||
for (int i = 0, settingsLen = ds4settingsList.Count; i < settingsLen; i++)
|
if (temp > 0)
|
||||||
{
|
{
|
||||||
DS4ControlSettings dcs = ds4settingsList[i];
|
int index = temp - 1;
|
||||||
if (dcs.control == dc)
|
DS4ControlSettings dcs = ds4settings[deviceNum][index];
|
||||||
{
|
if (shift)
|
||||||
if (shift)
|
dcs.shiftExtras = exts;
|
||||||
dcs.shiftExtras = exts;
|
else
|
||||||
else
|
dcs.extras = exts;
|
||||||
dcs.extras = exts;
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3502,19 +3508,15 @@ namespace DS4Windows
|
|||||||
else
|
else
|
||||||
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
||||||
|
|
||||||
List<DS4ControlSettings> ds4settingsList = ds4settings[deviceNum];
|
int temp = (int)dc;
|
||||||
for (int i = 0, settingsLen = ds4settingsList.Count; i < settingsLen; i++)
|
if (temp > 0)
|
||||||
{
|
{
|
||||||
DS4ControlSettings dcs = ds4settingsList[i];
|
int index = temp - 1;
|
||||||
if (dcs.control == dc)
|
DS4ControlSettings dcs = ds4settings[deviceNum][index];
|
||||||
{
|
if (shift)
|
||||||
if (shift)
|
dcs.shiftKeyType = keyType;
|
||||||
dcs.shiftKeyType = keyType;
|
else
|
||||||
else
|
dcs.keyType = keyType;
|
||||||
dcs.keyType = keyType;
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3526,16 +3528,18 @@ namespace DS4Windows
|
|||||||
else
|
else
|
||||||
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
||||||
|
|
||||||
List<DS4ControlSettings> ds4settingsList = ds4settings[deviceNum];
|
int temp = (int)dc;
|
||||||
for (int i = 0, settingsLen = ds4settingsList.Count; i < settingsLen; i++)
|
if (temp > 0)
|
||||||
{
|
{
|
||||||
DS4ControlSettings dcs = ds4settingsList[i];
|
int index = temp - 1;
|
||||||
if (dcs.control == dc)
|
DS4ControlSettings dcs = ds4settings[deviceNum][index];
|
||||||
|
if (shift)
|
||||||
{
|
{
|
||||||
if (shift)
|
return dcs.shiftTrigger;
|
||||||
return dcs.shiftAction;
|
}
|
||||||
else
|
else
|
||||||
return dcs.action;
|
{
|
||||||
|
return dcs.action;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3570,17 +3574,15 @@ namespace DS4Windows
|
|||||||
else
|
else
|
||||||
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
||||||
|
|
||||||
List<DS4ControlSettings> ds4settingsList = ds4settings[deviceNum];
|
int temp = (int)dc;
|
||||||
for (int i = 0, settingsLen = ds4settingsList.Count; i < settingsLen; i++)
|
if (temp > 0)
|
||||||
{
|
{
|
||||||
DS4ControlSettings dcs = ds4settingsList[i];
|
int index = temp - 1;
|
||||||
if (dcs.control == dc)
|
DS4ControlSettings dcs = ds4settings[deviceNum][index];
|
||||||
{
|
if (shift)
|
||||||
if (shift)
|
return dcs.shiftExtras;
|
||||||
return dcs.shiftExtras;
|
else
|
||||||
else
|
return dcs.extras;
|
||||||
return dcs.extras;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@ -3594,17 +3596,15 @@ namespace DS4Windows
|
|||||||
else
|
else
|
||||||
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
||||||
|
|
||||||
List<DS4ControlSettings> ds4settingsList = ds4settings[deviceNum];
|
int temp = (int)dc;
|
||||||
for (int i = 0, settingsLen = ds4settingsList.Count; i < settingsLen; i++)
|
if (temp > 0)
|
||||||
{
|
{
|
||||||
DS4ControlSettings dcs = ds4settingsList[i];
|
int index = temp - 1;
|
||||||
if (dcs.control == dc)
|
DS4ControlSettings dcs = ds4settings[deviceNum][index];
|
||||||
{
|
if (shift)
|
||||||
if (shift)
|
return dcs.shiftKeyType;
|
||||||
return dcs.shiftKeyType;
|
else
|
||||||
else
|
return dcs.keyType;
|
||||||
return dcs.keyType;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return DS4KeyType.None;
|
return DS4KeyType.None;
|
||||||
@ -3618,12 +3618,12 @@ namespace DS4Windows
|
|||||||
else
|
else
|
||||||
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
||||||
|
|
||||||
List<DS4ControlSettings> ds4settingsList = ds4settings[deviceNum];
|
int temp = (int)dc;
|
||||||
for (int i = 0, settingsLen = ds4settingsList.Count; i < settingsLen; i++)
|
if (temp > 0)
|
||||||
{
|
{
|
||||||
DS4ControlSettings dcs = ds4settingsList[i];
|
int index = temp - 1;
|
||||||
if (dcs.control == dc)
|
DS4ControlSettings dcs = ds4settings[deviceNum][index];
|
||||||
return dcs.shiftTrigger;
|
return dcs.shiftTrigger;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -3650,12 +3650,12 @@ namespace DS4Windows
|
|||||||
else
|
else
|
||||||
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
dc = (DS4Controls)Enum.Parse(typeof(DS4Controls), buttonName, true);
|
||||||
|
|
||||||
List<DS4ControlSettings> ds4settingsList = ds4settings[deviceNum];
|
int temp = (int)dc;
|
||||||
for (int i = 0, settingsLen = ds4settingsList.Count; i < settingsLen; i++)
|
if (temp > 0)
|
||||||
{
|
{
|
||||||
DS4ControlSettings dcs = ds4settingsList[i];
|
int index = temp - 1;
|
||||||
if (dcs.control == dc)
|
DS4ControlSettings dcs = ds4settings[deviceNum][index];
|
||||||
return dcs;
|
return dcs;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
@ -401,7 +401,7 @@ namespace DS4Windows
|
|||||||
|
|
||||||
if (btnStartStop.Enabled && start)
|
if (btnStartStop.Enabled && start)
|
||||||
{
|
{
|
||||||
TaskRunner.Delay(50).ContinueWith((t) => {
|
TaskRunner.Delay(100).ContinueWith((t) => {
|
||||||
this.BeginInvoke((System.Action)(() => BtnStartStop_Clicked()));
|
this.BeginInvoke((System.Action)(() => BtnStartStop_Clicked()));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -450,11 +450,11 @@ namespace DS4Windows
|
|||||||
|
|
||||||
if (isExclusive)
|
if (isExclusive)
|
||||||
{
|
{
|
||||||
hidHandle = NativeMethods.CreateFile(devicePathName, NativeMethods.GENERIC_READ | NativeMethods.GENERIC_WRITE, 0, IntPtr.Zero, NativeMethods.OpenExisting, 0x20000000 | 0x80000000 | NativeMethods.FILE_FLAG_OVERLAPPED, 0);
|
hidHandle = NativeMethods.CreateFile(devicePathName, NativeMethods.GENERIC_READ | NativeMethods.GENERIC_WRITE, 0, IntPtr.Zero, NativeMethods.OpenExisting, 0x20000000 | 0x80000000 | 0x100 | NativeMethods.FILE_FLAG_OVERLAPPED, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
hidHandle = NativeMethods.CreateFile(devicePathName, NativeMethods.GENERIC_READ | NativeMethods.GENERIC_WRITE, NativeMethods.FILE_SHARE_READ | NativeMethods.FILE_SHARE_WRITE, IntPtr.Zero, NativeMethods.OpenExisting, 0x20000000 | 0x80000000 | NativeMethods.FILE_FLAG_OVERLAPPED, 0);
|
hidHandle = NativeMethods.CreateFile(devicePathName, NativeMethods.GENERIC_READ | NativeMethods.GENERIC_WRITE, NativeMethods.FILE_SHARE_READ | NativeMethods.FILE_SHARE_WRITE, IntPtr.Zero, NativeMethods.OpenExisting, 0x20000000 | 0x80000000 | 0x100 | NativeMethods.FILE_FLAG_OVERLAPPED, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return hidHandle;
|
return hidHandle;
|
||||||
|
@ -33,7 +33,7 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.6.7")]
|
[assembly: AssemblyVersion("1.6.8")]
|
||||||
[assembly: AssemblyFileVersion("1.6.7")]
|
[assembly: AssemblyFileVersion("1.6.8")]
|
||||||
[assembly: NeutralResourcesLanguage("en")]
|
[assembly: NeutralResourcesLanguage("en")]
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
1.6.7
|
1.6.8
|
||||||
|
Loading…
Reference in New Issue
Block a user