public bool GetHIDControlData(out UHWComData ComDataSet) { ComDataSet.SignatureCode = 0; ComDataSet.ControlInputs = 0; ComDataSet.SpeedControl = 0; ShMemFileHandler = OpenFileMapping(FileRights.AllAccess, false, COMLINK_NAME); if (ShMemFileHandler == IntPtr.Zero) { return(false); } IPCMapPntr = MapViewOfFile(ShMemFileHandler, FileRights.AllAccess, 0, 0, 0x100); if (IPCMapPntr == IntPtr.Zero) { return(false); } ComDataSet.SignatureCode = Marshal.ReadByte(IPCMapPntr); ComDataSet.ControlInputs = Marshal.ReadByte(IPCMapPntr, 1); ComDataSet.SpeedControl = Marshal.ReadInt16(IPCMapPntr, 2); CloseHandle(ShMemFileHandler); return(true); }
void Start() { InitSystem(); try { ProcessStartInfo HIDCon = new ProcessStartInfo(); HIDCon.FileName = HIDControllerFile; HIDCon.CreateNoWindow = true; HidConProcess = Process.Start(HIDCon); IsHIDDevAvailable = (HidConProcess != null); HIDDataSet = new UHWComData(); HIDController = new UHWComLink(); if (PropObject != null) { PropObject.GetComponent <UHWPropControl>().IsRotateProp = true; } } catch { IsHIDDevAvailable = false; } }