private void UpdateFromMem(IntPtr itemPtr) { _gpgme_trust_item titem = new _gpgme_trust_item(); Marshal.PtrToStructure(itemPtr, titem); keyid = Gpgme.PtrToStringAnsi(titem.keyid); switch (titem.type) { case 1: type = TrustItemType.Key; break; case 2: type = TrustItemType.UserId; break; default: throw new GeneralErrorException("Unknown trust item type value of " + titem.type); } level = titem.level; owner_trust = Gpgme.PtrToStringUTF8(titem.owner_trust); validity = Gpgme.PtrToStringAnsi(titem.validity); name = Gpgme.PtrToStringUTF8(titem.name); }