Example #1
0
        //=================================================== Settings Stuff ====================== End ==============================
        public void GetAccInfo(StrParam mess)
        {
            if (mess != null)
            {
                StartLoadImgTread(mess.P3, pictureBox2);
                label5.Text = mess.P2;

                jsonAddon = mess.P4;

                walletVal = Convert.ToInt32(SteamSite.GetSweetPrice(Regex.Replace(mess.P2, @"[^\d.,]+", string.Empty)));

                label10.Text = mess.P1;
                ProgressBar1.Visible = false;
                SetButton(loginButton, Strings.Logout, 2);
                buyNowButton.Enabled = true;
                addtoScan.Enabled = true;

                setNotifyText(Strings.NotLogged);
            }
            else
                MessageBox.Show(Strings.ErrAccInfo, Strings.Attention, MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
Example #2
0
        private void MarshalToManaged(ref object Paramater, object OrigParmater, IntPtr PtrParamater, MarshalAsAttribute Marshalling, Type ParamaterType, ICustomMarshaler CustomMarshaler, CharSet charSet, bool IsByRef)
        {
            if (Marshalling == null)
            {
                return;
            }

            switch (Marshalling.Value)
            {
            case UnmanagedType.AnsiBStr:
                try
                {
                    if (ParamaterType == typeof(StringBuilder))
                    {
                        StringBuilder StrParam = (StringBuilder)OrigParmater;

                        if (IsByRef && StrParam == null)
                        {
                            Paramater = StrParam = new StringBuilder();
                        }

                        if (StrParam == null)
                        {
                            break;
                        }

                        if (PtrParamater == IntPtr.Zero)
                        {
                            StrParam.Clear();
                        }
                        else
                        {
                            this.ReadPrefixedStringAnsi(PtrParamater, StrParam);
                        }
                    }
                    else if (IsByRef && ParamaterType == typeof(string))
                    {
                        if (PtrParamater == IntPtr.Zero)
                        {
                            Paramater = null;
                        }
                        else
                        {
                            Paramater = this.ReadPrefixedStringAnsi(PtrParamater);
                        }
                    }
                }
                finally
                {
                    if (PtrParamater != IntPtr.Zero)
                    {
                        this.FreeMemory(PtrParamater);
                    }
                }
                break;

            case UnmanagedType.Bool:
                if (IsByRef)
                {
                    Paramater = Convert.ToUInt32(Paramater) != 0U;
                }

                break;

            case UnmanagedType.BStr:
                try
                {
                    if (ParamaterType == typeof(StringBuilder))
                    {
                        StringBuilder StrParam = (StringBuilder)OrigParmater;

                        if (IsByRef && StrParam == null)
                        {
                            Paramater = StrParam = new StringBuilder();
                        }

                        if (StrParam == null)
                        {
                            break;
                        }

                        if (PtrParamater == IntPtr.Zero)
                        {
                            StrParam.Clear();
                        }
                        else
                        {
                            this.ReadPrefixedStringUni(PtrParamater, StrParam);
                        }
                    }
                    else if (IsByRef && ParamaterType == typeof(string))
                    {
                        if (PtrParamater == IntPtr.Zero)
                        {
                            Paramater = null;
                        }
                        else
                        {
                            Paramater = this.ReadPrefixedStringUni(PtrParamater);
                        }
                    }
                }
                finally
                {
                    if (PtrParamater != IntPtr.Zero)
                    {
                        this.FreeMemory(PtrParamater);
                    }
                }
                break;

            case UnmanagedType.CustomMarshaler:
                if (CustomMarshaler == null)
                {
                    CustomMarshaler = this.CreateCustomMarshaller(Marshalling);
                }

                try
                {
                    if (IsByRef)
                    {
                        Paramater = CustomMarshaler.MarshalNativeToManaged(PtrParamater);
                    }
                }
                finally
                {
                    CustomMarshaler.CleanUpNativeData(PtrParamater);
                }
                break;

            case UnmanagedType.I1:
            case UnmanagedType.I2:
            case UnmanagedType.I4:
            case UnmanagedType.I8:
            case UnmanagedType.SysInt:
            case UnmanagedType.SysUInt:
            case UnmanagedType.U1:
            case UnmanagedType.U2:
            case UnmanagedType.U4:
            case UnmanagedType.U8:
                if (IsByRef)
                {
                    Paramater = StructToStruct(Paramater, ParamaterType);
                }

                break;

            case UnmanagedType.LPArray:
                try
                {
                    if (PtrParamater == IntPtr.Zero)
                    {
                        Paramater = null;
                    }
                    else
                    {
                        Type  ArrElementType = ParamaterType.GetElementType();
                        Array ArrParam;
                        int   ArrLength = 0;

                        if (IsByRef)
                        {
                            ArrLength = Marshalling.SizeConst;
                            Paramater = ArrParam = Array.CreateInstance(ArrElementType, ArrLength);
                        }
                        else
                        {
                            ArrParam = (Array)OrigParmater;

                            if (ArrParam != null)
                            {
                                ArrLength = ArrParam.Length;
                            }
                        }

                        if (ArrLength > 0)
                        {
                            int bSize = ArrLength * Marshal.SizeOf(ArrElementType);
                            Buffer.BlockCopy(this.ReadBytes(PtrParamater, bSize), 0, ArrParam, 0, bSize);
                        }
                    }
                }
                finally
                {
                    if (PtrParamater != IntPtr.Zero)
                    {
                        this.FreeMemory(PtrParamater);
                    }
                }
                break;

            case UnmanagedType.LPStruct:
                try
                {
                    if (IsByRef && PtrParamater != IntPtr.Zero)
                    {
                        Paramater = this.ReadStruct(PtrParamater, ParamaterType);
                    }
                }
                finally
                {
                    if (PtrParamater != IntPtr.Zero)
                    {
                        this.FreeMemory(PtrParamater);
                    }
                }
                break;

            case UnmanagedType.LPStr:
                try
                {
                    if (ParamaterType == typeof(StringBuilder))
                    {
                        StringBuilder StrParam = (StringBuilder)OrigParmater;

                        if (IsByRef && StrParam == null)
                        {
                            Paramater = StrParam = new StringBuilder();
                        }

                        if (StrParam == null)
                        {
                            break;
                        }

                        if (PtrParamater == IntPtr.Zero)
                        {
                            StrParam.Clear();
                        }
                        else
                        {
                            this.ReadStringAnsi(PtrParamater, StrParam);
                        }
                    }
                    else if (IsByRef && ParamaterType == typeof(string))
                    {
                        if (PtrParamater == IntPtr.Zero)
                        {
                            Paramater = null;
                        }
                        else
                        {
                            Paramater = this.ReadStringAnsi(PtrParamater);
                        }
                    }
                }
                finally
                {
                    if (PtrParamater != IntPtr.Zero)
                    {
                        this.FreeMemory(PtrParamater);
                    }
                }
                break;

            case UnmanagedType.LPTStr:
                if (charSet == CharSet.Ansi || charSet == CharSet.None)
                {
                    goto case UnmanagedType.LPStr;
                }
                else if (charSet == CharSet.Auto || charSet == CharSet.Unicode)
                {
                    goto case UnmanagedType.LPWStr;
                }
                else
                {
                    throw new NotSupportedException();
                }

            case UnmanagedType.LPWStr:
                try
                {
                    if (ParamaterType == typeof(StringBuilder))
                    {
                        StringBuilder StrParam = (StringBuilder)OrigParmater;

                        if (IsByRef && StrParam == null)
                        {
                            Paramater = StrParam = new StringBuilder();
                        }

                        if (StrParam == null)
                        {
                            break;
                        }

                        if (PtrParamater == IntPtr.Zero)
                        {
                            StrParam.Clear();
                        }
                        else
                        {
                            this.ReadStringUni(PtrParamater, StrParam);
                        }
                    }
                    else if (IsByRef && ParamaterType == typeof(string))
                    {
                        if (PtrParamater == IntPtr.Zero)
                        {
                            Paramater = null;
                        }
                        else
                        {
                            Paramater = this.ReadStringUni(PtrParamater);
                        }
                    }
                }
                finally
                {
                    if (PtrParamater != IntPtr.Zero)
                    {
                        this.FreeMemory(PtrParamater);
                    }
                }
                break;

            case UnmanagedType.TBStr:
                if (charSet == CharSet.Ansi || charSet == CharSet.None)
                {
                    goto case UnmanagedType.AnsiBStr;
                }
                else if (charSet == CharSet.Auto || charSet == CharSet.Unicode)
                {
                    goto case UnmanagedType.BStr;
                }
                else
                {
                    throw new NotSupportedException();
                }

            case UnmanagedType.VariantBool:
                if (IsByRef)
                {
                    Paramater = Convert.ToInt16(Paramater) == -1;
                }

                break;
            }
        }