public static ServiceManagerApi.LW_SERVICE_INFO UnmarshalServiceInfo(IntPtr pNativeData) { _LW_SERVICE_INFO _info = (_LW_SERVICE_INFO)Marshal.PtrToStructure(pNativeData, typeof(_LW_SERVICE_INFO)); ServiceManagerApi.LW_SERVICE_INFO info = new ServiceManagerApi.LW_SERVICE_INFO(); info.type = _info.type; info.pwszName = _info.pwszName; info.pwszPath = _info.pwszPath; info.pwszDescription = _info.pwszDescription; info.bAutostart = _info.bAutostart; info.ppwszArgs = ServiceManagerInterop.UnmarshalStringList(_info.ppwszArgs); info.ppwszDependencies = ServiceManagerInterop.UnmarshalStringList(_info.ppwszDependencies); return(info); }
public static IntPtr MarshalServiceInfo(object ManagedObj) { ServiceManagerApi.LW_SERVICE_INFO info = (ServiceManagerApi.LW_SERVICE_INFO)ManagedObj; _LW_SERVICE_INFO _info = new _LW_SERVICE_INFO(); IntPtr infoPtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(_LW_SERVICE_INFO))); _info.pwszName = info.pwszName; _info.pwszPath = info.pwszPath; _info.pwszDescription = info.pwszDescription; _info.bAutostart = info.bAutostart; _info.ppwszArgs = ServiceManagerInterop.MarshalStringList(info.ppwszArgs); _info.ppwszDependencies = ServiceManagerInterop.MarshalStringList(info.ppwszDependencies); Marshal.StructureToPtr(_info, infoPtr, false); return(infoPtr); }
public static IntPtr MarshalServiceInfo(object ManagedObj) { ServiceManagerApi.LW_SERVICE_INFO info = (ServiceManagerApi.LW_SERVICE_INFO) ManagedObj; _LW_SERVICE_INFO _info = new _LW_SERVICE_INFO(); IntPtr infoPtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(_LW_SERVICE_INFO))); _info.pwszName = info.pwszName; _info.pwszPath = info.pwszPath; _info.pwszDescription = info.pwszDescription; _info.bAutostart = info.bAutostart; _info.ppwszArgs = ServiceManagerInterop.MarshalStringList(info.ppwszArgs); _info.ppwszDependencies = ServiceManagerInterop.MarshalStringList(info.ppwszDependencies); Marshal.StructureToPtr(_info, infoPtr, false); return infoPtr; }