/// <summary> /// Creates a new instance of DestinationInfo at the specific memory address. /// </summary> /// <param name="baseAddr">Memory address where the DestinationInfo object should be created.</param> public DestinationInfo(IntPtr baseAddr) { lock (syncRoot) { guid = new Guid(MarshalEx.ReadByteArray(baseAddr, 0, 16)); description = MarshalEx.PtrToStringUni(baseAddr, 16, 256); } }
internal static string GetErrorMessage(int ErrNo) { IntPtr pBuffer; int nLen = Win32.Core.FormatMessage(Core.FormatMessageFlags.FromSystem | Core.FormatMessageFlags.AllocateBuffer, 0, ErrNo, 0, out pBuffer, 0, null); if (nLen == 0) //Failed { return(string.Format("Error {0} (0x{0:X})", ErrNo)); } string sMsg = MarshalEx.PtrToStringUni(pBuffer, 0, nLen); MarshalEx.FreeHGlobal(pBuffer); return(sMsg); }