public bool Initialize() { _initOk = false; try { _deviceCallback = DeviceCallback; _enumerateCallback = EnumerateCallback; if (!File.Exists(@"C:\Program Files\Saitek\DirectOutput\DirectOutput.dll")) { //Did not find Saitek drivers Common.LogError(1, "INFO : No Saitek FIP driver found. FIP support not loaded. (assuming no FIPs are connected)"); return(false); } var retVal = DirectOutputClass.Initialize("ABC"); if (retVal != ReturnValues.S_OK) { Common.LogError(1, "FIPHandler failed to init DirectOutputClass. retval = " + retVal); return(false); } Debug.Print("Init returned: " + retVal); retVal = DirectOutputClass.RegisterDeviceCallback(_deviceCallback); Debug.Print("Register Device Callback returned: " + retVal); retVal = DirectOutputClass.Enumerate(_enumerateCallback); if (retVal != ReturnValues.S_OK) { Common.LogError(1, "FIPHandler failed to Enumerate DirectOutputClass. retval = " + retVal); return(false); } Debug.Print("Enumerate Callback returned: " + retVal); } catch (Exception ex) { Common.LogError(1, ex, "FIPHandler failed to init."); return(false); } _initOk = true; return(true); }
public bool Initialize() { InitOk = false; try { _deviceCallback = DeviceCallback; _enumerateCallback = EnumerateCallback; var key = Registry.LocalMachine.OpenSubKey(DirectOutputKey); var value = key?.GetValue("DirectOutput"); if (value is string) { var retVal = DirectOutputClass.Initialize("fiphwinfo"); if (retVal != ReturnValues.S_OK) { Console.WriteLine("FIPHandler failed to init DirectOutputClass. " + retVal); return(false); } DirectOutputClass.RegisterDeviceCallback(_deviceCallback); retVal = DirectOutputClass.Enumerate(_enumerateCallback); if (retVal != ReturnValues.S_OK) { Console.WriteLine("FIPHandler failed to Enumerate DirectOutputClass. " + retVal); return(false); } } } catch (Exception ex) { Console.WriteLine(ex); return(false); } InitOk = true; Console.WriteLine("Number of devices: " + _fipPanels.Count); numPanels = _fipPanels.Count; return(true); }
public bool Initialize() { InitOk = false; try { _deviceCallback = DeviceCallback; _enumerateCallback = EnumerateCallback; var key = Registry.LocalMachine.OpenSubKey(DirectOutputKey); var value = key?.GetValue("DirectOutput"); if (value is string) { var retVal = DirectOutputClass.Initialize("fiphwinfo"); if (retVal != ReturnValues.S_OK) { App.Log.Error("FIPHandler failed to init DirectOutputClass. " + retVal); return(false); } DirectOutputClass.RegisterDeviceCallback(_deviceCallback); retVal = DirectOutputClass.Enumerate(_enumerateCallback); if (retVal != ReturnValues.S_OK) { App.Log.Error("FIPHandler failed to Enumerate DirectOutputClass. " + retVal); return(false); } } } catch (Exception ex) { App.Log.Error(ex); return(false); } InitOk = true; return(true); }