public void SetDefaultEndPoint(string deviceId, EDataFlow flow, IEnumerable <ERole> roles, uint processId) { Trace.WriteLine($"ExtendedPolicyClient SetDefaultEndPoint {deviceId} [{flow}] {processId}"); try { var stringPtrDeviceId = IntPtr.Zero; if (!string.IsNullOrWhiteSpace(deviceId)) { var str = GenerateDeviceId(deviceId, flow); ComBase.WindowsCreateString(str, (uint)str.Length, out stringPtrDeviceId); } foreach (var eRole in roles) { PolicyConfig.SetPersistedDefaultAudioEndpoint(processId, flow, eRole, stringPtrDeviceId); } } catch (COMException e) when((e.ErrorCode & ErrorConst.COM_ERROR_MASK) == ErrorConst.COM_ERROR_NOT_FOUND) { throw new DeviceNotFoundException($"Can't set default as {deviceId}", e, deviceId); } catch (Exception ex) { Trace.WriteLine($"{ex}"); } }
public static IAudioPolicyConfigFactory Create() { var iid = typeof(IAudioPolicyConfigFactory).GUID; ComBase.RoGetActivationFactory("Windows.Media.Internal.AudioPolicyConfig", ref iid, out object factory); return((IAudioPolicyConfigFactory)factory); }
public static IAudioPolicyConfigFactory Create() { var iid = GuidGenerator.CreateIID(typeof(IAudioPolicyConfigFactory)); using var name = HSTRING.FromString("Windows.Media.Internal.AudioPolicyConfig"); ComBase.RoGetActivationFactory(name, ref iid, out object factory); return(factory.As <IAudioPolicyConfigFactory>()); }
/// <summary> /// 构造函数 /// </summary> /// <param name="x">x偏移</param> /// <param name="y">y偏移</param> /// <param name="globalGUIManager">全局对象</param> /// <param name="comBase">绑定的串口</param> public ComCanvas(double x, double y, GlobalGUIManager globalGUIManager, ComBase comBase) : base(x, y, globalGUIManager) { Width = 30; Height = 10; Background = Brushes.DimGray; Children.Add(GetCircleByOffset(0)); Children.Add(GetCircleByOffset(-PointMargin)); Children.Add(GetCircleByOffset(PointMargin)); DragCanvas.MouseMoveAction += Update; this.ComBase = comBase; }
public void SetDefaultEndPoint(string deviceId, EDataFlow flow, IEnumerable <Role> roles, uint processId) { Trace.WriteLine($"ExtendedPolicyClient SetDefaultEndPoint {deviceId} [{flow}] {processId}"); try { var stringPtrDeviceId = IntPtr.Zero; if (!string.IsNullOrWhiteSpace(deviceId)) { var str = GenerateDeviceId(deviceId, flow); ComBase.WindowsCreateString(str, (uint)str.Length, out stringPtrDeviceId); } foreach (var eRole in roles) { PolicyConfig.SetPersistedDefaultAudioEndpoint(processId, flow, eRole, stringPtrDeviceId); } } catch (Exception ex) { Trace.WriteLine($"{ex}"); } }
/// <summary> /// Build a minimal row from a class (key fields only) /// </summary> public static void BuildMinimalRow(ref DataRow row, Com entity) { ComBase.BuildMinimalRow(ref row, entity); }
public ComLED() { com = new LedVirCom(this); }