public static bool AMDeviceSetValue(IntPtr device, string domain, string name, object value) { bool flag = true; IntPtr ptr = CoreFoundation.StringToCFString(domain); IntPtr cfsKey = CoreFoundation.StringToCFString(name); IntPtr cfsValue = CoreFoundation.CFTypeFromManagedType(value); if (AMDeviceSetValue_Int(device, ptr, cfsKey, cfsValue) != (int)kAMDError.kAMDSuccess) { flag = false; } if (ptr != IntPtr.Zero) { CoreFoundation.CFRelease(ptr); } if (cfsKey != IntPtr.Zero) { CoreFoundation.CFRelease(cfsKey); } if (cfsValue != IntPtr.Zero) { CoreFoundation.CFRelease(cfsValue); } return(flag); }
public static bool AMDeviceRemoveValue(IntPtr device, string domain, string name) { bool flag = true; try { IntPtr ptr = CoreFoundation.StringToCFString(domain); IntPtr cfsKey = CoreFoundation.StringToCFString(name); if (AMDeviceRemoveValue_UInt32(device, ptr, cfsKey) != 0) { flag = false; } if (ptr != IntPtr.Zero) { CoreFoundation.CFRelease(ptr); } if (cfsKey != IntPtr.Zero) { CoreFoundation.CFRelease(cfsKey); } } catch (Exception exception) { } return(flag); }
public static object AMDeviceCopyValue(IntPtr device, string domain, string name) { object obj2 = string.Empty; IntPtr ptr = CoreFoundation.StringToCFString(domain); IntPtr cfstring = CoreFoundation.StringToCFString(name); IntPtr srcRef = AMDeviceCopyValue_Int(device, ptr, cfstring); if (ptr != IntPtr.Zero) { CoreFoundation.CFRelease(ptr); } if (cfstring != IntPtr.Zero) { CoreFoundation.CFRelease(cfstring); } if (srcRef != IntPtr.Zero) { obj2 = RuntimeHelpers.GetObjectValue(CoreFoundation.ManagedTypeFromCFType(ref srcRef)); CoreFoundation.CFRelease(srcRef); } return(obj2); }
/// <summary> /// 开启Socket服务 /// </summary> /// <param name="serviceName">服务名</param> /// <param name="serviceSocket">Socket链接</param> /// <returns></returns> private bool StartSocketService(string serviceName, ref int serviceSocket) { if (serviceSocket > 0) //已经开启服务 { return(true); } if (!isConnected) { if (Connect() != (int)kAMDError.kAMDSuccess) { Console.WriteLine("StartService()执行Connect()失败"); return(false); } } bool openSession = false; if (!isSessionOpen) { var kAMDSuccess = StartSession(); if (kAMDSuccess == kAMDError.kAMDSuccess) { openSession = true; } else { return(false); } } var result = false; var zero = IntPtr.Zero; if (MobileDevice.AMDeviceSecureStartService(DevicePtr, CoreFoundation.StringToCFString(serviceName), IntPtr.Zero, ref zero) == (int)kAMDError.kAMDSuccess) { serviceSocket = MobileDevice.AMDServiceConnectionGetSocket(zero); if (serviceSocket > 0) { SocketContext = zero; DeviceSecureIOContext = MobileDevice.AMDServiceConnectionGetSecureIOContext(zero); } result = true; } else if (MobileDevice.AMDeviceStartService(DevicePtr, CoreFoundation.StringToCFString(serviceName), ref serviceSocket, IntPtr.Zero) == (int)kAMDError.kAMDSuccess) { result = true; } if (openSession) { StopSession(); } return(result); }
public static IntPtr ATHostConnectionCreateWithLibrary(string strPrefsValue, string strUUID) { IntPtr hPrefsValue = CoreFoundation.StringToCFString(strPrefsValue); IntPtr hUUID = CoreFoundation.StringToCFString(strUUID); IntPtr ptr3 = ATHostConnectionCreateWithLibrary_IntPtr(hPrefsValue, hUUID, 0); CoreFoundation.CFRelease(hUUID); CoreFoundation.CFRelease(hPrefsValue); return(ptr3); }
public static IntPtr ATCFMessageCreate(int sesssion, string strMessageType, Dictionary <object, object> dictParams) { IntPtr hMessageType = CoreFoundation.StringToCFString(strMessageType); IntPtr hParams = CoreFoundation.CFTypeFromManagedType(dictParams); IntPtr ptr3 = ATCFMessageCreate_IntPtr(sesssion, hMessageType, hParams); CoreFoundation.CFRelease(hMessageType); CoreFoundation.CFRelease(hParams); return(ptr3); }
public static IntPtr CFStringMakeConstantString(string s) { return(CoreFoundation.StringToCFString(s)); }